@mavea/mavea 1.0.11 → 1.0.13

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 (158) hide show
  1. package/CHANGELOG.md +18 -1
  2. package/README.md +33 -164
  3. package/dist/.vite/manifest.json +606 -606
  4. package/dist/assets/{AppCommandPalette-DzUPm-Qa.js → AppCommandPalette-D_g8-7C0.js} +1 -1
  5. package/dist/assets/{BlockEmpty-Dp9IPo4S.js → BlockEmpty-Ddhgr5pu.js} +1 -1
  6. package/dist/assets/{BriefingPlayer-CTab7H0c.js → BriefingPlayer-D-QhLgXI.js} +1 -1
  7. package/dist/assets/{CanvasSkeleton-BCq4yAAN.js → CanvasSkeleton-BIiOmCMG.js} +2 -2
  8. package/dist/assets/{CheckLogRail-DbGJtneK.js → CheckLogRail-ZrDqyjQ7.js} +1 -1
  9. package/dist/assets/{CodeOutput-DjsCJAel.js → CodeOutput-D7sVg1Nr.js} +1 -1
  10. package/dist/assets/{CommandPalette-Cq9mDWiI.js → CommandPalette-DNa2q8E_.js} +1 -1
  11. package/dist/assets/{CourseLessonReader-Dz8IhHEw.js → CourseLessonReader-BIpGjcJk.js} +2 -2
  12. package/dist/assets/{CourseRail-DjK_L3eD.js → CourseRail-CQaotzN0.js} +1 -1
  13. package/dist/assets/{CoursesApp-Dv4yt63y.js → CoursesApp-q3kZJmu1.js} +2 -2
  14. package/dist/assets/{CrossExamPanel-DJCn13Aa.js → CrossExamPanel-BIJslibV.js} +1 -1
  15. package/dist/assets/{DashPresent-pfOEJGzV.js → DashPresent-DGSE0vYM.js} +1 -1
  16. package/dist/assets/{DashboardDetail-BSZ3CgcK.js → DashboardDetail-BpaLNg8R.js} +2 -2
  17. package/dist/assets/DashboardLoopRuntime-14yzj-xx.js +1 -0
  18. package/dist/assets/{DashboardOverview-DpJ2BDNu.js → DashboardOverview-8x3OxX2i.js} +1 -1
  19. package/dist/assets/{DashboardSettings-C1rC3iTs.js → DashboardSettings-f_zxcs5j.js} +1 -1
  20. package/dist/assets/{DashboardsApp-DeBWrYDk.js → DashboardsApp-mvMbGmp0.js} +2 -2
  21. package/dist/assets/{DeepZoomApp-B91oHx2Y.js → DeepZoomApp-E7bDmzuL.js} +1 -1
  22. package/dist/assets/{DelegatePanel-bFmfn9-D.js → DelegatePanel-pwRk9pFf.js} +1 -1
  23. package/dist/assets/{DemoGallery-fYIVdHQV.js → DemoGallery-DDzX8Z7I.js} +1 -1
  24. package/dist/assets/{DropSelect-DbxAWKQn.js → DropSelect-BMZYAX6q.js} +1 -1
  25. package/dist/assets/{ExportModal-HczU1Zg1.js → ExportModal-CTMJaU1l.js} +2 -2
  26. package/dist/assets/{ExtractionPreview-BfjJci-N.js → ExtractionPreview-C9wq7CrK.js} +1 -1
  27. package/dist/assets/{FlagshipCTA-CTb5P2Ix.js → FlagshipCTA-DPNSflKv.js} +1 -1
  28. package/dist/assets/{FlagshipCommandPalette-DLkDmsF-.js → FlagshipCommandPalette-55zqyPFm.js} +1 -1
  29. package/dist/assets/{FlagshipShowcase-CrFSCHHX.js → FlagshipShowcase-BWpoPWOn.js} +1 -1
  30. package/dist/assets/{FlashcardsApp-CV777TGC.js → FlashcardsApp-apCj3I17.js} +1 -1
  31. package/dist/assets/{ForecastPanel-BfAngk8l.js → ForecastPanel-CMRD-UKn.js} +1 -1
  32. package/dist/assets/{GalleryApp-DLssAAhN.js → GalleryApp-CcsbirLT.js} +1 -1
  33. package/dist/assets/{HonestByDesign-B0o03QVw.js → HonestByDesign-DU4qmc61.js} +1 -1
  34. package/dist/assets/{HowItWorks-DfUsQ2xD.js → HowItWorks-CkZXftN-.js} +1 -1
  35. package/dist/assets/{LegalApp-CnFE80Ja.js → LegalApp-BmZpqH-6.js} +1 -1
  36. package/dist/assets/{LegalMarkdownDocument-BidNcrNj.js → LegalMarkdownDocument-CcbAfubz.js} +1 -1
  37. package/dist/assets/{LegalPageShell-CFktFKTK.js → LegalPageShell-raMATqhx.js} +1 -1
  38. package/dist/assets/{LeverPanel-DgfX7mTL.js → LeverPanel-DVUgGcYW.js} +1 -1
  39. package/dist/assets/{Library-CAnmN5YL.js → Library-D725dNcx.js} +1 -1
  40. package/dist/assets/{LibraryOverlay-D7Gg_GIv.js → LibraryOverlay-D7PzQIpH.js} +1 -1
  41. package/dist/assets/LiveApp-B8Jw1Q0h.js +61 -0
  42. package/dist/assets/{LiveApp-COz1ZZp9.css → LiveApp-DQhDk2ma.css} +1 -1
  43. package/dist/assets/{LiveSettings-5UCN5UWM.js → LiveSettings-BQ06gZB7.js} +3 -3
  44. package/dist/assets/{MindMapViewerDrawer-DoXy6hCD.js → MindMapViewerDrawer-CIMuABKE.js} +1 -1
  45. package/dist/assets/{MindShape-BJCnqyTi.js → MindShape-0KPrv0CF.js} +1 -1
  46. package/dist/assets/MindShape-Bel2yDqO.css +1 -0
  47. package/dist/assets/{PinToDashboard-Dq77a2iP.js → PinToDashboard-ML4NFCAU.js} +1 -1
  48. package/dist/assets/{PlanReview-DvxM1675.js → PlanReview-CbJ_7Ld1.js} +1 -1
  49. package/dist/assets/{Presence-LNSqCz8N.js → Presence-B_zDfiE7.js} +1 -1
  50. package/dist/assets/{PresentationDeck-8kT0cMtk.js → PresentationDeck-Tm3PUdh5.js} +1 -1
  51. package/dist/assets/{PrismApp-Jf4pIAkh.js → PrismApp-Bc-6PO_P.js} +2 -2
  52. package/dist/assets/{PrismAskController-QXSoZBNb.js → PrismAskController-OwqFx5Pk.js} +1 -1
  53. package/dist/assets/{PrismBriefingPlayer-edFfwMNP.js → PrismBriefingPlayer-Bu_ZxYdh.js} +2 -2
  54. package/dist/assets/{PrismOverlay-CYItOpax.js → PrismOverlay-UTsJ8R5d.js} +4 -4
  55. package/dist/assets/{PrivacyApp-Dqz_BgOS.js → PrivacyApp-BLXan6dm.js} +1 -1
  56. package/dist/assets/{Recap-Ba2qZ2lX.js → Recap-5rYrcMCC.js} +1 -1
  57. package/dist/assets/{ReelJelly-9SCjNeHq.js → ReelJelly-Dg3XGB0c.js} +1 -1
  58. package/dist/assets/{RehearsalPanel-CtYKPl6O.js → RehearsalPanel-CM4466Os.js} +3 -3
  59. package/dist/assets/{ReplayCard-MSWq-Mxr.js → ReplayCard-wMIMlorH.js} +2 -2
  60. package/dist/assets/{ReplayOverlay-ChDrwMLh.js → ReplayOverlay-BomkTonB.js} +1 -1
  61. package/dist/assets/{RewindOverlay-CM9d5xhh.js → RewindOverlay-Izf89nG9.js} +1 -1
  62. package/dist/assets/{RippleApp-B7G_jg05.js → RippleApp-8QSIEjTX.js} +2 -2
  63. package/dist/assets/{RippleAskController-CJjt7VG8.js → RippleAskController-Cd86GrKs.js} +1 -1
  64. package/dist/assets/{RippleOverlay-Cfu3ZVL1.js → RippleOverlay-SCrXZTqz.js} +2 -2
  65. package/dist/assets/{SeeDontRead-DHhwv6RU.js → SeeDontRead-Bp8qsF20.js} +1 -1
  66. package/dist/assets/ShareModal-C-sD-aia.js +32 -0
  67. package/dist/assets/{ShareModal-C8S7ySls.css → ShareModal-PobtP7AJ.css} +1 -1
  68. package/dist/assets/{ShipCascade-B6kVuilv.js → ShipCascade-Cq_I4c_v.js} +1 -1
  69. package/dist/assets/{ShipCourse-CerQYrsy.js → ShipCourse-CzsJyMnT.js} +1 -1
  70. package/dist/assets/{ShipHotspots-DOmWYgHH.js → ShipHotspots-OMjPhQWP.js} +1 -1
  71. package/dist/assets/{ShipIncident-D0lvmytD.js → ShipIncident-Cqn6ZmKz.js} +1 -1
  72. package/dist/assets/{ShipMigration-D70LbiJk.js → ShipMigration-5_ZWn7K9.js} +1 -1
  73. package/dist/assets/{ShipOnboarding-B_0dp9a-.js → ShipOnboarding-Yr8oKgmQ.js} +1 -1
  74. package/dist/assets/{ShipRead-Cp2s7bSL.js → ShipRead-Bnw7mnv3.js} +1 -1
  75. package/dist/assets/{ShipRollout-Bw9pvbSM.js → ShipRollout-ECsDrqAd.js} +1 -1
  76. package/dist/assets/{ShipSuggestions-eHLjOJL5.js → ShipSuggestions-C6oDw2F8.js} +1 -1
  77. package/dist/assets/{ShipWorkspace-DwdoBSix.js → ShipWorkspace-BT6gZrqd.js} +1 -1
  78. package/dist/assets/{SignatureLoop-Bl43npTM.js → SignatureLoop-D7sibSnc.js} +1 -1
  79. package/dist/assets/{SynthesisApp-BkOWv_pc.js → SynthesisApp-B768x2r_.js} +2 -2
  80. package/dist/assets/{SynthesisOverlay-CHlVL7sT.js → SynthesisOverlay-Ds0MhZLQ.js} +1 -1
  81. package/dist/assets/{TermsApp-PakIMrh0.js → TermsApp-Da8FeMj3.js} +1 -1
  82. package/dist/assets/{TopicCanvas-wmAsICUd.js → TopicCanvas-D64O3lvD.js} +2 -2
  83. package/dist/assets/{TourPrism-VQqowXpY.js → TourPrism-CTf1G-Vv.js} +1 -1
  84. package/dist/assets/{TrackerTile-C1mU8Zxj.js → TrackerTile-DeujTCk-.js} +2 -2
  85. package/dist/assets/{TwoSurfaces-SNT4AVzV.js → TwoSurfaces-kyK2yqm0.js} +1 -1
  86. package/dist/assets/{UnderstoodPanel-BkwhDLhW.js → UnderstoodPanel-Dgwk_Cuj.js} +1 -1
  87. package/dist/assets/{WhyMachineOverlay-DgYhqU53.js → WhyMachineOverlay-C4eQC0lg.js} +1 -1
  88. package/dist/assets/{WowFeatures-Cky9THxT.js → WowFeatures-CaBZ5WPM.js} +1 -1
  89. package/dist/assets/{ZoomDeck-BXwcRCO_.js → ZoomDeck-DnCtbhx1.js} +1 -1
  90. package/dist/assets/{alternateFinishes-Cn5LyQ0-.js → alternateFinishes-FSV_gA1A.js} +1 -1
  91. package/dist/assets/{annotationAuto-L2AxlJ2F.js → annotationAuto-x_dV8z65.js} +1 -1
  92. package/dist/assets/annotationReel-SeXzv0P-.js +1 -0
  93. package/dist/assets/{backup-Cw4GBHBV.js → backup-0zODkqi-.js} +1 -1
  94. package/dist/assets/canvas-uhcwigAL.js +1 -0
  95. package/dist/assets/{catalog-2srqP2Jf.js → catalog-Car_1ocN.js} +1 -1
  96. package/dist/assets/{dashboardEvents-S4Y2aOP_.js → dashboardEvents-BqcPN-K8.js} +2 -2
  97. package/dist/assets/{dist-BJbBdhc0.js → dist-BTg4yEWr.js} +1 -1
  98. package/dist/assets/{fit-C3MkNFdn.js → fit-I3tuibfX.js} +1 -1
  99. package/dist/assets/{generateLive-Ci8kqPD9.js → generateLive-Dk24OxVt.js} +1 -1
  100. package/dist/assets/{index-DWHIOldG.js → index-CWqRe4-B.js} +3 -3
  101. package/dist/assets/{jspdf.es.min-CfZM9xhl.js → jspdf.es.min-wkD3BzGZ.js} +1 -1
  102. package/dist/assets/kokoro-B-3GqktX.js +1 -0
  103. package/dist/assets/{lib-C9jT-CD8.js → lib-CwruVYU_.js} +1 -1
  104. package/dist/assets/{liveSchema-Dw4t_k7M.js → liveSchema-CCpVMy0H.js} +1 -1
  105. package/dist/assets/{motion-QSGW_vc_.js → motion-CURfDtdH.js} +1 -1
  106. package/dist/assets/{notes-D21K92Wx.js → notes-BG5QP-Dj.js} +1 -1
  107. package/dist/assets/{pdf-BP_vXBKO.js → pdf-x4qTBJIZ.js} +1 -1
  108. package/dist/assets/{perfProbe-DFw7brPU.js → perfProbe-BFwfpxJt.js} +1 -1
  109. package/dist/assets/{pin-BzDcIYD4.js → pin-DRN5H7py.js} +1 -1
  110. package/dist/assets/{portal-n6TW0FuE.js → portal-BYHo9LOD.js} +1 -1
  111. package/dist/assets/{pptxgen.es-GleD8us4.js → pptxgen.es-DGywGiaX.js} +1 -1
  112. package/dist/assets/{prewarm-CehIIttc.js → prewarm-CQNCE4Uq.js} +1 -1
  113. package/dist/assets/{quietHours-Brg4oaDf.js → quietHours-CKjQ2pGY.js} +1 -1
  114. package/dist/assets/{registry-CoCl26Tl.js → registry-1BWL6SXY.js} +1 -1
  115. package/dist/assets/registry-5a-E7vEN.css +1 -0
  116. package/dist/assets/{registry-mmGDT0wn.js → registry-9S6KiKjR.js} +1 -1
  117. package/dist/assets/{registry-BE1QBNKm.js → registry-BZQeYzgv.js} +1 -1
  118. package/dist/assets/{registry-CG5W7Xs6.js → registry-Bc6_RQ8l.js} +1 -1
  119. package/dist/assets/{registry-_mqmf4_W.js → registry-BklPTZre.js} +1 -1
  120. package/dist/assets/{registry-ia68k5sK.js → registry-Bl3NkU-0.js} +1 -1
  121. package/dist/assets/{registry-NNLA0NQi.js → registry-BpBiRe-o.js} +1 -1
  122. package/dist/assets/{registry-h3m1zDGt.js → registry-Bpx4VBWb.js} +1 -1
  123. package/dist/assets/{registry-BvEfWbB0.js → registry-BueBIP-N.js} +1 -1
  124. package/dist/assets/{registry-eQ4cE0zj.js → registry-CNr6L-3z.js} +1 -1
  125. package/dist/assets/{registry-CrpEXqNF.js → registry-CfTTYQrE.js} +1 -1
  126. package/dist/assets/{registry-CePhqBU6.js → registry-CqfjqOX5.js} +2 -2
  127. package/dist/assets/{registry-D86iln18.js → registry-D84Bs-bD.js} +1 -1
  128. package/dist/assets/{registry-DgIia4dY.js → registry-DBsjgIxw.js} +1 -1
  129. package/dist/assets/{registry-vPwth4BB.js → registry-DEgW3zel.js} +1 -1
  130. package/dist/assets/{registry-BPpjU0S5.js → registry-DFmFBfRz.js} +1 -1
  131. package/dist/assets/{registry-Cpr0zSyk.js → registry-DrqQbf_n.js} +1 -1
  132. package/dist/assets/{registry-VKh9QiDf.js → registry-Dw42uggW.js} +1 -1
  133. package/dist/assets/{registry-HB-VAc6H.js → registry-GLjcQX0n.js} +1 -1
  134. package/dist/assets/{registry-BYn3Bcie.js → registry-Z3TIPbYJ.js} +1 -1
  135. package/dist/assets/{registry-ChG5tFfx.js → registry-_T6pLDPG.js} +2 -2
  136. package/dist/assets/{registry-VS55xdsN.js → registry-aUZZeh27.js} +1 -1
  137. package/dist/assets/{registry-CFU0k7VB.js → registry-cPmSqaRu.js} +1 -1
  138. package/dist/assets/{relate-DDWak0Tv.js → relate-yq30L3hZ.js} +1 -1
  139. package/dist/assets/{shikiHighlight-SWupBCFg.js → shikiHighlight-BgZoQAHs.js} +1 -1
  140. package/dist/assets/src-B-t8Mww-.js +2 -0
  141. package/dist/assets/{useDashboardLoop-BSBGTrE2.js → useDashboardLoop-mGmJwv27.js} +3 -3
  142. package/dist/assets/{useLiveConfig-Cc4IKgOd.js → useLiveConfig-vMyjo2gV.js} +1 -1
  143. package/dist/assets/{useSpatialCanvas-D3nfHkST.js → useSpatialCanvas-CEXy6ZC2.js} +1 -1
  144. package/dist/assets/{useSpotlightWalk-gVilFhpa.js → useSpotlightWalk-B9XJ6OLK.js} +1 -1
  145. package/dist/assets/{useSrsCards-BhFfq4vc.js → useSrsCards-Vc6B2_he.js} +1 -1
  146. package/dist/assets/{useStudy-DRNarubG.js → useStudy-6QnY-Fw_.js} +1 -1
  147. package/dist/assets/{useZoomGesture-BdeFOm7j.js → useZoomGesture-BONUz5cE.js} +1 -1
  148. package/dist/index.html +1 -1
  149. package/package.json +1 -1
  150. package/dist/assets/DashboardLoopRuntime-DfnDIGFz.js +0 -1
  151. package/dist/assets/LiveApp-DmU3RMfZ.js +0 -61
  152. package/dist/assets/MindShape-Ca3MXEgK.css +0 -1
  153. package/dist/assets/ShareModal-d_o2hebL.js +0 -32
  154. package/dist/assets/annotationReel-DdHNp2IH.js +0 -1
  155. package/dist/assets/canvas-BwR8ltlj.js +0 -1
  156. package/dist/assets/kokoro-Da60jB7C.js +0 -1
  157. package/dist/assets/registry-CtbuZWYz.css +0 -1
  158. package/dist/assets/src-DbgF7cRH.js +0 -2
@@ -1 +1 @@
1
- import{r as e}from"./chunk-BVpWp9h4.js";import{t}from"./react-BQSORdFI.js";import{t as n}from"./jsx-runtime-DaSxXjOY.js";import{ht as r}from"./index-DWHIOldG.js";import{n as i}from"./icons-CHVz6kv_.js";import{t as a}from"./richText-BkxJhl9N.js";import{i as o}from"./scale-Bcgfo6Hp.js";import{t as s}from"./BlockEmpty-Dp9IPo4S.js";import{a as c,i as l,o as u}from"./lib-C9jT-CD8.js";import{n as d}from"./motion-QSGW_vc_.js";import{t as f}from"./registry-types-DMuK0vJ6.js";import{n as p,t as m}from"./fitText-CDFmCQzl.js";import{t as h}from"./MindShape-BJCnqyTi.js";var g=t(),_=n(),v=e=>typeof e==`number`?String(e):e;function y(e,t){return e?e.swapped?.includes(t)?`swapped`:e.compare?.includes(t)?`compared`:e.highlight?.includes(t)?`highlight`:`none`:`none`}var b=[900,350,100],x=[`1×`,`2×`,`8×`];function S(e){return e?{"o-1":`O(1)`,"o-logn":`O(log n)`,"o-n":`O(n)`,"o-nlogn":`O(n log n)`,"o-n2":`O(n²)`,"o-2n":`O(2ⁿ)`}[e]??e:``}function C({title:e,icon:t=`layers`,iconColor:n=`var(--presence)`,values:r,steps:o,complexity:s,autoPlay:c,caption:l,footer:u,delay:d}){let f=i[t]||i.layers,p=Math.max(1,o.length),[m,h]=(0,g.useState)(0),[C,w]=(0,g.useState)(c??!1),[T,E]=(0,g.useState)(1),D=(0,g.useRef)(m);D.current=m;let O=o[Math.min(m,o.length-1)],k=(0,g.useRef)(typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches);(0,g.useEffect)(()=>{if(!C)return;let e=setInterval(()=>{let e=D.current+1;if(e>=o.length){w(!1);return}h(e)},b[T]);return()=>clearInterval(e)},[C,o.length,T]);let A=(0,g.useCallback)(e=>{w(!1),h(Math.min(o.length-1,Math.max(0,e)))},[o.length]),j=(0,g.useCallback)(()=>{k.current||w(e=>(!e&&m>=o.length-1&&h(0),!e))},[m,o.length]),M=(0,g.useMemo)(()=>{let e=O?.pointer;return e?Object.entries(e).filter(([,e])=>Number.isFinite(e)&&e>=0&&e<r.length).sort((e,t)=>e[1]-t[1]||e[0].localeCompare(t[0])).map(([e,t])=>({label:e,index:t})):[]},[O,r.length]),N=(0,g.useMemo)(()=>{let e=new Map;for(let t of M){let n=e.get(t.index)??[];n.push(t.label),e.set(t.index,n)}return e},[M]),P=M.length>0;return(0,_.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(d||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(f,{className:`ic`,style:{color:n}}),e,s&&(0,_.jsx)(`span`,{className:`dg-at-complexity`,title:`Time complexity: ${S(s)}`,children:S(s)})]}),(0,_.jsx)(`p`,{className:`dg-at-caption`,"aria-live":`polite`,children:O?.caption??``}),(0,_.jsx)(`div`,{className:`dg-at-row`,role:`group`,"aria-label":`array`,children:r.map((e,t)=>{let n=y(O,t),r=N.get(t);return(0,_.jsxs)(`div`,{className:`dg-at-cell-wrap`,children:[(0,_.jsx)(`div`,{className:`dg-at-cell role-${n}`,children:v(e)}),(0,_.jsx)(`div`,{className:`dg-at-idx`,children:t}),P&&(0,_.jsx)(`div`,{className:`dg-at-ptr-slot`,children:r&&(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)(`span`,{className:`dg-at-ptr-caret`,"aria-hidden":`true`}),(0,_.jsx)(`span`,{className:`dg-at-ptr-labels`,children:r.join(` · `)})]})})]},t)})}),(0,_.jsxs)(`div`,{className:`dg-at-controls`,children:[(0,_.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>A(m-1),disabled:m===0,"aria-label":`previous step`,children:[(0,_.jsx)(i.chevL,{className:`ic`}),` Prev`]}),!k.current&&(0,_.jsx)(`button`,{type:`button`,className:`dg-at-btn dg-at-play`+(C?` playing`:``),onClick:j,"aria-label":C?`pause`:`play`,children:C?(0,_.jsx)(i.pause,{className:`ic`}):(0,_.jsx)(i.play,{className:`ic`})}),!k.current&&(0,_.jsx)(`button`,{type:`button`,className:`dg-at-btn dg-at-speed`,onClick:()=>E(e=>(e+1)%3),"aria-label":`speed: ${x[T]}`,children:x[T]}),(0,_.jsx)(`div`,{className:`dg-at-progress`,"aria-hidden":`true`,children:o.map((e,t)=>(0,_.jsx)(`span`,{className:`dg-at-dot`+(t===m?` on`:t<m?` done`:``)},t))}),(0,_.jsxs)(`span`,{className:`dg-at-count`,children:[Math.min(m+1,p),` / `,p]}),(0,_.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>A(m+1),disabled:m>=o.length-1,"aria-label":`next step`,children:[`Next `,(0,_.jsx)(i.chevR,{className:`ic`})]})]}),O?.ops&&(0,_.jsxs)(`div`,{className:`dg-at-ops`,children:[O.ops.comparisons!==void 0&&(0,_.jsxs)(`span`,{children:[O.ops.comparisons,` cmp`]}),O.ops.comparisons!==void 0&&O.ops.swaps!==void 0&&(0,_.jsx)(`span`,{className:`dg-at-ops-sep`,children:`·`}),O.ops.swaps!==void 0&&(0,_.jsxs)(`span`,{children:[O.ops.swaps,` swap`]})]}),l&&(0,_.jsx)(`p`,{className:`dg-at-cap`,children:l}),u&&(0,_.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(u)})]})}var w={support:`var(--insight)`,objection:`var(--warning)`,qualifier:`var(--text-muted)`},T={support:`+ For`,objection:`− Against`,qualifier:`~ Qualifier`};function E({title:e,icon:t=`proof`,iconColor:n=`var(--presence)`,claim:r,premises:o,verdict:s,footer:c,delay:l}){let u=i[t]||i.proof,d=o.filter(e=>e.type===`support`),f=o.filter(e=>e.type===`objection`),p=o.filter(e=>e.type===`qualifier`);return(0,_.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(l||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`am-claim`,children:r}),(0,_.jsxs)(`div`,{className:`am-columns`,children:[(0,_.jsxs)(`div`,{className:`am-col am-col--support`,children:[d.length>0&&(0,_.jsx)(`div`,{className:`am-col-label`,style:{color:w.support},children:T.support}),d.map((e,t)=>(0,_.jsxs)(`div`,{className:`am-premise am-premise--support`,children:[(0,_.jsx)(`span`,{className:`am-premise-rail`,style:{background:w.support}}),(0,_.jsxs)(`div`,{className:`am-premise-body`,children:[(0,_.jsx)(`span`,{className:`am-premise-text`,children:e.text}),e.sub&&(0,_.jsx)(`span`,{className:`am-premise-sub`,children:e.sub})]})]},t))]}),(0,_.jsxs)(`div`,{className:`am-col am-col--objection`,children:[f.length>0&&(0,_.jsx)(`div`,{className:`am-col-label`,style:{color:w.objection},children:T.objection}),f.map((e,t)=>(0,_.jsxs)(`div`,{className:`am-premise am-premise--objection`,children:[(0,_.jsx)(`span`,{className:`am-premise-rail`,style:{background:w.objection}}),(0,_.jsxs)(`div`,{className:`am-premise-body`,children:[(0,_.jsx)(`span`,{className:`am-premise-text`,children:e.text}),e.sub&&(0,_.jsx)(`span`,{className:`am-premise-sub`,children:e.sub})]})]},t))]})]}),p.length>0&&(0,_.jsxs)(`div`,{className:`am-qualifiers`,children:[(0,_.jsx)(`div`,{className:`am-col-label`,style:{color:w.qualifier},children:T.qualifier}),p.map((e,t)=>(0,_.jsxs)(`div`,{className:`am-premise am-premise--qualifier`,children:[(0,_.jsx)(`span`,{className:`am-premise-rail`,style:{background:w.qualifier}}),(0,_.jsxs)(`div`,{className:`am-premise-body`,children:[(0,_.jsx)(`span`,{className:`am-premise-text`,children:e.text}),e.sub&&(0,_.jsx)(`span`,{className:`am-premise-sub`,children:e.sub})]})]},t))]}),s&&(0,_.jsxs)(`div`,{className:`am-verdict`,children:[(0,_.jsx)(i.check,{className:`ic`,style:{width:13,height:13}}),s]}),c&&(0,_.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(c)})]})}var D=16,O=44,k=60,A=24,j=6;function M(e){return e<=2?11:e<=3?9:e<=4?8:7}function N(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function P(e,t,n){let r=0,i=new Map,a=new Map;function o(t,n){let s=e.get(t);s&&(s.left&&o(s.left,n+1),i.set(t,r++),a.set(t,n),s.right&&o(s.right,n+1))}o(t,0);let s=r,c=Math.max(0,...a.values()),l=Math.max(120,s*O+A*2),u=(c+1)*k+A*2,d=[];for(let[t,r]of i){let i=a.get(t)??0,o=e.get(t);d.push({id:t,value:o.value,x:A+r*O+O/2,y:A+i*k+D,state:n[t]??`default`,left:o.left,right:o.right})}return{nodes:d,W:l,H:u}}var ee={default:`color-mix(in oklab, var(--surface-elevated) 100%, transparent)`,visiting:`color-mix(in oklab, var(--presence) 22%, transparent)`,visited:`color-mix(in oklab, var(--text-faint) 14%, transparent)`,found:`color-mix(in oklab, var(--insight) 22%, transparent)`,highlight:`color-mix(in oklab, var(--warning) 22%, transparent)`},te={default:`var(--grid-line)`,visiting:`var(--presence)`,visited:`var(--text-faint)`,found:`var(--insight)`,highlight:`var(--warning)`},ne={default:`var(--text-primary)`,visiting:`var(--presence)`,visited:`var(--text-faint)`,found:`var(--insight)`,highlight:`var(--warning)`};function re({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,nodes:r,root:o,steps:s,caption:c,footer:l,delay:u}){let d=i[t]??i.share,[f,p]=(0,g.useState)(0),m=Math.min(f,(s?.length??1)-1),h=s?.[m],v=(0,g.useMemo)(()=>h?h.states:{},[h]),y=(0,g.useMemo)(()=>{let e=new Map;for(let t of r)e.set(t.id,t);return e},[r]),{nodes:b,W:x,H:S}=(0,g.useMemo)(()=>P(y,o,v),[y,o,v]),C=(0,g.useMemo)(()=>{let e=new Map;for(let t of b)e.set(t.id,{x:t.x,y:t.y});return e},[b]),w=s?.length??0,T=e=>p(Math.min(w-1,Math.max(0,e)));return(0,_.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u??0)+`ms`},children:[e&&(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),h&&(0,_.jsx)(`p`,{className:`dg-at-caption`,"aria-live":`polite`,children:h.caption}),(0,_.jsxs)(`svg`,{viewBox:`0 0 ${x} ${S}`,width:`100%`,className:`dg-bt-svg`,"aria-label":e??`binary tree`,role:`img`,style:{overflow:`visible`},children:[b.map(e=>(0,_.jsxs)(`g`,{children:[e.left&&(()=>{let t=C.get(e.left);return t?(0,_.jsx)(`line`,{x1:e.x,y1:e.y,x2:t.x,y2:t.y,className:`dg-bt-edge`},`e-${e.id}-l`):null})(),e.right&&(()=>{let t=C.get(e.right);return t?(0,_.jsx)(`line`,{x1:e.x,y1:e.y,x2:t.x,y2:t.y,className:`dg-bt-edge`},`e-${e.id}-r`):null})()]},`edges-${e.id}`)),b.map(e=>(0,_.jsxs)(`g`,{transform:`translate(${e.x} ${e.y})`,children:[(0,_.jsx)(`circle`,{r:D,fill:ee[e.state],stroke:te[e.state],strokeWidth:e.state==="default"?1.5:2,className:`dg-bt-node`}),(0,_.jsxs)(`text`,{textAnchor:`middle`,dominantBaseline:`central`,fontSize:M(e.value.toString().length),fontWeight:`600`,fill:ne[e.state],className:`dg-bt-label`,children:[e.value.toString().length>j&&(0,_.jsx)(`title`,{children:e.value}),N(e.value.toString(),j)]})]},`node-${e.id}`))]}),h&&(h.frontier!==void 0||h.result!==void 0)&&(0,_.jsxs)(`div`,{className:`dg-bt-panels`,children:[h.frontier!==void 0&&(0,_.jsxs)(`div`,{className:`dg-bt-panel`,children:[(0,_.jsx)(`span`,{className:`dg-bt-panel-label`,children:`Frontier`}),(0,_.jsx)(`div`,{className:`dg-bt-chips`,children:h.frontier.length===0?(0,_.jsx)(`span`,{className:`dg-bt-chip dg-bt-chip-empty`,children:`∅`}):h.frontier.map((e,t)=>(0,_.jsx)(`span`,{className:`dg-bt-chip`,children:e},t))})]}),h.result!==void 0&&(0,_.jsxs)(`div`,{className:`dg-bt-panel`,children:[(0,_.jsx)(`span`,{className:`dg-bt-panel-label`,children:`Result`}),(0,_.jsx)(`div`,{className:`dg-bt-chips`,children:h.result.length===0?(0,_.jsx)(`span`,{className:`dg-bt-chip dg-bt-chip-empty`,children:`—`}):h.result.map((e,t)=>(0,_.jsx)(`span`,{className:`dg-bt-chip dg-bt-chip-result`,children:e},t))})]})]}),s&&s.length>0&&(0,_.jsxs)(`div`,{className:`dg-at-controls`,children:[(0,_.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>T(m-1),disabled:m===0,"aria-label":`previous step`,children:[(0,_.jsx)(i.chevL,{className:`ic`}),` Prev`]}),(0,_.jsx)(`div`,{className:`dg-at-progress`,"aria-hidden":`true`,children:s.map((e,t)=>(0,_.jsx)(`span`,{className:`dg-at-dot`+(t===m?` on`:t<m?` done`:``)},t))}),(0,_.jsxs)(`span`,{className:`dg-at-count`,children:[m+1,` / `,w]}),(0,_.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>T(m+1),disabled:m>=w-1,"aria-label":`next step`,children:[`Next `,(0,_.jsx)(i.chevR,{className:`ic`})]})]}),c&&(0,_.jsx)(`p`,{className:`dg-at-cap`,children:c}),l&&(0,_.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(l)})]})}var F=r(),I=1e3,ie=I/2,ae=I/2,oe=60,se=30,ce={ally:`var(--insight)`,rival:`var(--warning)`,family:`var(--presence-soft)`,love:`var(--presence)`,mentor:`var(--insight-soft)`,betrays:`var(--danger)`,other:`var(--text-muted)`},le={ally:`Ally`,rival:`Rival`,family:`Family`,love:`Love`,mentor:`Mentor`,betrays:`Betrays`,other:`Linked`},ue=new Set([`mentor`,`betrays`]),de=new Set([`mentor`,`betrays`,`other`]),fe=[`var(--presence)`,`var(--insight)`,`var(--warning)`,`var(--danger)`,`var(--presence-soft)`,`var(--insight-soft)`];function pe(e,t,n){return Math.min(n,Math.max(t,e))}function me(e){return e&&e in ce?e:`other`}function he(e,t,n,r){let i=Math.atan2(n-e.cy,t-e.cx),a=r?1:-1;return{x:e.cx+a*Math.cos(i)*(e.rx+4),y:e.cy+a*Math.sin(i)*(e.ry+4)}}function ge({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,nodes:r,links:o,caption:s,footer:c,delay:l}){let u=i[t]||i.share,d=(0,g.useId)().replace(/:/g,``),{placed:f,factions:p}=(0,g.useMemo)(()=>{let e=(r??[]).filter(e=>e&&e.id&&e.name),t=[];for(let n of e){let e=n.faction?.trim();e&&!t.includes(e)&&t.push(e)}let n=new Map(t.map((e,t)=>[e,fe[t%fe.length]])),i=e=>e.faction?.trim()||``,a=[...e].sort((e,n)=>(i(e)?t.indexOf(i(e)):t.length)-(i(n)?t.indexOf(i(n)):t.length)),o=a.length,s=I/2-se-oe/2,c=o<=1?0:Math.min(s,s-90+Math.max(0,o-10)*10),l=pe((o>1?2*c*Math.sin(Math.PI/o):I)*.84,104,200);return{placed:a.map((e,t)=>{let r=-Math.PI/2+t/Math.max(1,o)*Math.PI*2;return{...e,cx:ie+Math.cos(r)*c,cy:ae+Math.sin(r)*c,color:n.get(i(e))||`var(--line-strong)`,rx:l/2,ry:oe/2}}),factions:t.map(e=>({name:e,color:n.get(e)}))}},[r]),m=(0,g.useMemo)(()=>new Map(f.map(e=>[e.id,e])),[f]),h=(0,g.useMemo)(()=>(o??[]).map(e=>({link:e,a:m.get(e.from),b:m.get(e.to),kind:me(e.kind)})).filter(e=>!!(e.a&&e.b&&e.a!==e.b)),[o,m]),v=(0,g.useMemo)(()=>[...new Set(h.filter(e=>ue.has(e.kind)).map(e=>e.kind))],[h]),y=(0,g.useMemo)(()=>[...new Set(h.map(e=>e.kind))],[h]);return(0,_.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(l||0)+`ms`},children:[e&&(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),f.length===0?(0,_.jsx)(`p`,{className:`cast-empty`,children:`No cast to map yet.`}):(0,_.jsx)(`div`,{className:`cast-stage`,children:(0,_.jsxs)(`svg`,{className:`cast-svg`,viewBox:`0 0 ${I} ${I}`,preserveAspectRatio:`xMidYMid meet`,role:`img`,"aria-label":e||`Relationship map`,children:[(0,_.jsx)(`defs`,{children:v.map(e=>(0,_.jsx)(`marker`,{id:`cast-arrow-${d}-${e}`,viewBox:`0 0 10 10`,refX:`8`,refY:`5`,markerWidth:`7`,markerHeight:`7`,orient:`auto-start-reverse`,children:(0,_.jsx)(`path`,{d:`M0 0 L10 5 L0 10 z`,fill:ce[e]})},e))}),h.map((e,t)=>(0,_.jsx)(_e,{edge:e,uid:d},t)),f.map(e=>(0,_.jsx)(be,{node:e},e.id))]})}),(y.length>0||p.length>0)&&(0,_.jsxs)(`div`,{className:`cast-legend`,children:[y.map(e=>(0,_.jsxs)(`span`,{className:`cast-legend-item`,children:[(0,_.jsx)(`span`,{className:`cast-swatch cast-swatch--line${de.has(e)?` is-dashed`:``}`,style:{color:ce[e]}}),le[e]]},`k-${e}`)),p.map(e=>(0,_.jsxs)(`span`,{className:`cast-legend-item`,children:[(0,_.jsx)(`span`,{className:`cast-swatch`,style:{background:e.color}}),e.name]},`f-${e.name}`))]}),s&&(0,_.jsx)(`p`,{className:`cast-caption`,children:s}),c&&(0,_.jsx)(`div`,{className:`cast-foot`,dangerouslySetInnerHTML:a(c)})]})}function _e(e){let t=(0,F.c)(38),{edge:n,uid:r}=e,{a:i,b:a,kind:o,link:s}=n,c,l,u,d,f,p,m,h,g,v,y;if(t[0]!==i||t[1]!==a||t[2]!==o||t[3]!==r){let e=he(i,a.cx,a.cy,!0),n=he(a,i.cx,i.cy,!1),s=(e.x+n.x)/2,_=(e.y+n.y)/2,b=n.x-e.x,x=n.y-e.y,S;t[15]!==b||t[16]!==x?(S=Math.hypot(b,x)||1,t[15]=b,t[16]=x,t[17]=S):S=t[17];let C=S,w=Math.min(64,C*.14);l=s-x/C*w,u=_+b/C*w,d=ce[o];let T;t[18]!==o||t[19]!==r?(T=ue.has(o)?`url(#cast-arrow-${r}-${o})`:void 0,t[18]=o,t[19]=r,t[20]=T):T=t[20],c=T,y=`cast-edge`,f=e.x.toFixed(1),p=e.y.toFixed(1),t[21]===l?m=t[22]:(m=l.toFixed(1),t[21]=l,t[22]=m),t[23]===u?h=t[24]:(h=u.toFixed(1),t[23]=u,t[24]=h),g=n.x.toFixed(1),v=n.y.toFixed(1),t[0]=i,t[1]=a,t[2]=o,t[3]=r,t[4]=c,t[5]=l,t[6]=u,t[7]=d,t[8]=f,t[9]=p,t[10]=m,t[11]=h,t[12]=g,t[13]=v,t[14]=y}else c=t[4],l=t[5],u=t[6],d=t[7],f=t[8],p=t[9],m=t[10],h=t[11],g=t[12],v=t[13],y=t[14];let b=`M ${f} ${p} Q ${m} ${h} ${g} ${v}`,x=de.has(o)?`8 7`:void 0,S;t[25]!==c||t[26]!==d||t[27]!==b||t[28]!==x?(S=(0,_.jsx)(`path`,{d:b,fill:`none`,stroke:d,strokeWidth:2.4,strokeDasharray:x,markerEnd:c,opacity:.82}),t[25]=c,t[26]=d,t[27]=b,t[28]=x,t[29]=S):S=t[29];let C;t[30]!==l||t[31]!==u||t[32]!==s.label?(C=s.label&&(0,_.jsxs)(`g`,{transform:`translate(${l.toFixed(1)}, ${u.toFixed(1)})`,children:[(0,_.jsx)(`rect`,{className:`cast-edge-lbl-bg`,x:-xe(s.label)/2,y:-11,width:xe(s.label),height:20,rx:6}),(0,_.jsx)(`text`,{className:`cast-edge-lbl`,x:0,y:0,textAnchor:`middle`,dominantBaseline:`middle`,children:Ce(s.label,16)})]}),t[30]=l,t[31]=u,t[32]=s.label,t[33]=C):C=t[33];let w;return t[34]!==S||t[35]!==C||t[36]!==y?(w=(0,_.jsxs)(`g`,{className:y,children:[S,C]}),t[34]=S,t[35]=C,t[36]=y,t[37]=w):w=t[37],w}var ve=27,ye=21;function be(e){let t=(0,F.c)(59),{node:n}=e,r=!!n.role,i=n.rx*2,a;t[0]===i?a=t[1]:(a=Math.round(i/11),t[0]=i,t[1]=a);let o=Math.min(r?15:13,Math.max(6,a)),s;t[2]===i?s=t[3]:(s=Math.round(i/8),t[2]=i,t[3]=s);let c=Math.min(22,Math.max(8,s)),l,u,d,f,p,m,h,g,v,y;if(t[4]!==r||t[5]!==n.color||t[6]!==n.cx||t[7]!==n.cy||t[8]!==n.name||t[9]!==n.rx||t[10]!==n.ry||t[11]!==o){l=Se(n.name,o,r?1:2);let e=l.length*ve+(r?ye:0);y=n.cy-e/2+ve*.74,g=`cast-node`;let i=n.cx-n.rx,a=n.cy-n.ry,s=n.rx*2,c=n.ry*2,b;t[22]===n.color?b=t[23]:(b={stroke:n.color},t[22]=n.color,t[23]=b),t[24]!==i||t[25]!==a||t[26]!==s||t[27]!==c||t[28]!==b?(v=(0,_.jsx)(`rect`,{x:i,y:a,width:s,height:c,rx:14,className:`cast-chip`,style:b}),t[24]=i,t[25]=a,t[26]=s,t[27]=c,t[28]=b,t[29]=v):v=t[29];let x=n.cx-n.rx,S=n.cy-n.ry+8,C=n.ry*2-16;t[30]!==n.color||t[31]!==x||t[32]!==S||t[33]!==C?(u=(0,_.jsx)(`rect`,{x,y:S,width:4,height:C,rx:2,fill:n.color}),t[30]=n.color,t[31]=x,t[32]=S,t[33]=C,t[34]=u):u=t[34],d=`cast-name`,f=n.cx,p=`middle`,t[35]===n.name?m=t[36]:(m=(0,_.jsx)(`title`,{children:n.name}),t[35]=n.name,t[36]=m);let w;t[37]!==n.cx||t[38]!==y?(w=(e,t)=>(0,_.jsx)(`tspan`,{x:n.cx,y:y+t*ve,children:e},t),t[37]=n.cx,t[38]=y,t[39]=w):w=t[39],h=l.map(w),t[4]=r,t[5]=n.color,t[6]=n.cx,t[7]=n.cy,t[8]=n.name,t[9]=n.rx,t[10]=n.ry,t[11]=o,t[12]=l,t[13]=u,t[14]=d,t[15]=f,t[16]=p,t[17]=m,t[18]=h,t[19]=g,t[20]=v,t[21]=y}else l=t[12],u=t[13],d=t[14],f=t[15],p=t[16],m=t[17],h=t[18],g=t[19],v=t[20],y=t[21];let b;t[40]!==d||t[41]!==f||t[42]!==p||t[43]!==m||t[44]!==h?(b=(0,_.jsxs)(`text`,{className:d,x:f,textAnchor:p,children:[m,h]}),t[40]=d,t[41]=f,t[42]=p,t[43]=m,t[44]=h,t[45]=b):b=t[45];let x;t[46]!==r||t[47]!==l||t[48]!==n.cx||t[49]!==n.role||t[50]!==c||t[51]!==y?(x=r&&(0,_.jsx)(`text`,{className:`cast-role`,x:n.cx,y:y+l.length*ve+2,textAnchor:`middle`,children:Ce(n.role,c)}),t[46]=r,t[47]=l,t[48]=n.cx,t[49]=n.role,t[50]=c,t[51]=y,t[52]=x):x=t[52];let S;return t[53]!==u||t[54]!==b||t[55]!==x||t[56]!==g||t[57]!==v?(S=(0,_.jsxs)(`g`,{className:g,children:[v,u,b,x]}),t[53]=u,t[54]=b,t[55]=x,t[56]=g,t[57]=v,t[58]=S):S=t[58],S}function xe(e){return Math.min(e.length,16)*9+14}function Se(e,t,n){let r=e.split(/\s+/).filter(Boolean),i=[],a=``,o=!1;for(let e of r){let r=a?`${a} ${e}`:e;if(r.length<=t||!a)a=r;else if(i.push(a),a=e,i.length===n){o=!0,a=``;break}}if(a&&i.length<n&&i.push(a),i.length){let e=i.length-1,n=i[e];n.length>t&&(n=n.slice(0,t-1).trimEnd()),(o||i[e].length>t)&&(n=n.replace(/[…\s]*$/,``)+`…`),i[e]=n}return i.length?i:[``]}function Ce(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}var we=720,Te=18,Ee=34,De=18,Oe=190,ke=46,Ae=14,je=16,Me=168,Ne=64,Pe=210,Fe=13,Ie=24,Le=Te,Re=we-Te-Oe,ze=(we-Me)/2,Be=360,Ve={short:`var(--insight)`,long:`var(--warning)`},He={short:`Short-term`,long:`Long-term`};function Ue(e){let t=e=>e===`short`?0:e===`long`?2:1,n=e.map((e,t)=>({item:e,i:t})).sort((e,n)=>t(e.item.term)-t(n.item.term)||e.i-n.i).map(e=>e.item);return n.map((e,r)=>({item:e,gap:r>0&&t(n[r-1].term)!==t(e.term)}))}function We({title:e,icon:t=`layers`,iconColor:n=`var(--presence)`,event:r,causes:s,consequences:c,causesLabel:l=`Causes`,consequencesLabel:u=`Consequences`,footer:d,delay:f}){let p=i[t]||i.layers,{vbH:m,leftPlaced:h,rightPlaced:v,eventY:y,eventCY:b}=(0,g.useMemo)(()=>{let e=Ue(s??[]),t=Ue(c??[]),n=e=>e.length===0?0:e.length*ke+(e.length-1)*Ae+e.filter(e=>e.gap).length*je,r=n(e),i=n(t),a=Math.max(Pe,Math.max(r,i,Ne)+Ee+De),l=(e,t)=>{let r=n(e),i=Ee+(a-Ee-De-r)/2,s=[];for(let{item:n,gap:r}of e){r&&(i+=je);let e=Math.max(0,Math.min(1,n.weight??.5));s.push({link:n,x:t,y:i,cy:i+ke/2,color:n.term?Ve[n.term]:`var(--text-secondary)`,sw:o([0,1],[1.6,6])(e),op:o([0,1],[.3,.92])(e)}),i+=60}return s},u=l(e,Le),d=l(t,Re),f=Ee+(a-Ee-De-Ne)/2;return{vbH:a,leftPlaced:u,rightPlaced:d,eventY:f,eventCY:f+Ne/2}},[s,c]),x=(e,t,n,r)=>{let i=(e+n)/2;return`M ${e.toFixed(1)},${t.toFixed(1)} C ${i.toFixed(1)},${t.toFixed(1)} ${i.toFixed(1)},${r.toFixed(1)} ${n.toFixed(1)},${r.toFixed(1)}`},S=e=>e.map((e,t)=>{let n=Ge(e.link.label),r=e.cy-(n.length-1)*Fe/2;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`rect`,{x:e.x,y:e.y,width:Oe,height:ke,rx:10,className:`cau-node`,style:{stroke:e.color}}),(0,_.jsx)(`rect`,{x:e.x,y:e.y,width:4,height:ke,rx:2,fill:e.color}),e.link.term&&(0,_.jsx)(`circle`,{cx:e.x+Oe-11,cy:e.y+11,r:3.5,fill:e.color,className:`cau-term-dot`,children:(0,_.jsx)(`title`,{children:He[e.link.term]})}),(0,_.jsxs)(`text`,{x:e.x+14,className:`cau-node-lbl`,dominantBaseline:`middle`,children:[(0,_.jsx)(`title`,{children:e.link.label}),n.map((t,n)=>(0,_.jsx)(`tspan`,{x:e.x+14,y:r+n*Fe,children:t},n))]})]},t)});return(0,_.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(f||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(p,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`cau-wrap`,children:(0,_.jsxs)(`svg`,{viewBox:`0 0 ${we} ${m}`,className:`cau-svg`,role:`img`,"aria-label":e,preserveAspectRatio:`xMidYMid meet`,children:[(0,_.jsx)(`defs`,{children:(0,_.jsx)(`marker`,{id:`cau-arrow`,markerWidth:`8`,markerHeight:`8`,refX:`6`,refY:`4`,orient:`auto`,markerUnits:`userSpaceOnUse`,children:(0,_.jsx)(`path`,{d:`M1,1 L6,4 L1,7`,className:`cau-arrowhead`})})}),(0,_.jsxs)(`text`,{x:32,y:18,className:`cau-col-hdr`,textAnchor:`start`,children:[l,` →`]}),(0,_.jsx)(`text`,{x:Be,y:18,className:`cau-col-hdr cau-col-hdr--event`,textAnchor:`middle`,children:`Event`}),(0,_.jsxs)(`text`,{x:688,y:18,className:`cau-col-hdr`,textAnchor:`end`,children:[`→ `,u]}),h.map((e,t)=>(0,_.jsx)(`path`,{d:x(e.x+Oe,e.cy,ze,b),className:`cau-link`,style:{stroke:e.color,strokeWidth:e.sw,opacity:e.op},markerEnd:`url(#cau-arrow)`},`lc${t}`)),v.map((e,t)=>(0,_.jsx)(`path`,{d:x(444,b,e.x,e.cy),className:`cau-link`,style:{stroke:e.color,strokeWidth:e.sw,opacity:e.op},markerEnd:`url(#cau-arrow)`},`rc${t}`)),(0,_.jsx)(`rect`,{x:ze,y,width:Me,height:Ne,rx:12,className:`cau-event`}),(0,_.jsx)(`text`,{x:Be,y:b,className:`cau-event-lbl`,textAnchor:`middle`,children:Ke(r.label).map((e,t,n)=>(0,_.jsx)(`tspan`,{x:Be,dy:t===0?`${-((n.length-1)*.55)}em`:`1.1em`,children:e},t))}),S(h),S(v)]})}),qe(s,c)&&(0,_.jsxs)(`div`,{className:`cau-legend`,children:[(0,_.jsxs)(`span`,{className:`cau-legend-item`,children:[(0,_.jsx)(`span`,{className:`cau-swatch`,style:{background:Ve.short}}),` Short-term`]}),(0,_.jsxs)(`span`,{className:`cau-legend-item`,children:[(0,_.jsx)(`span`,{className:`cau-swatch`,style:{background:Ve.long}}),` Long-term`]}),(0,_.jsx)(`span`,{className:`cau-legend-item cau-legend-item--weight`,children:`line weight = strength`})]}),d&&(0,_.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(d)})]})}function Ge(e,t=Ie,n=2){let r=e.trim().split(/\s+/).filter(Boolean),i=[],a=``,o=!1;for(let e of r){let r=a?`${a} ${e}`:e;if(r.length<=t||!a)a=r;else if(i.push(a),a=e,i.length===n){o=!0,a=``;break}}if(a&&i.length<n&&i.push(a),i.length){let e=i.length-1,n=i[e];n.length>t&&(n=n.slice(0,t-1).trimEnd()),(o||i[e].length>t)&&(n=n.replace(/[…\s]*$/,``)+`…`),i[e]=n}return i.length?i:[e]}function Ke(e){let t=e.trim().split(/\s+/);if(t.length<=2||e.length<=16)return[e];let n=1,r=1/0;for(let e=1;e<t.length;e++){let i=t.slice(0,e).join(` `).length,a=t.slice(e).join(` `).length,o=Math.abs(i-a);o<r&&(r=o,n=e)}return[t.slice(0,n).join(` `),t.slice(n).join(` `)]}function qe(e,t){return[...e??[],...t??[]].some(e=>e.term===`short`||e.term===`long`)}function Je(e){switch(e){case`battery`:return(0,_.jsxs)(`g`,{className:`dg-cir-glyph`,children:[(0,_.jsx)(`line`,{x1:-2.5,y1:-5,x2:-2.5,y2:5,strokeWidth:1.4}),(0,_.jsx)(`line`,{x1:2.5,y1:-2.5,x2:2.5,y2:2.5,strokeWidth:1.4}),(0,_.jsx)(`line`,{x1:-7,y1:0,x2:-2.5,y2:0}),(0,_.jsx)(`line`,{x1:2.5,y1:0,x2:7,y2:0})]});case`resistor`:return(0,_.jsxs)(`g`,{className:`dg-cir-glyph`,children:[(0,_.jsx)(`line`,{x1:-7,y1:0,x2:-5,y2:0}),(0,_.jsx)(`polyline`,{points:`-5,0 -4,-3 -2,3 0,-3 2,3 4,-3 5,0`,fill:`none`}),(0,_.jsx)(`line`,{x1:5,y1:0,x2:7,y2:0})]});case`capacitor`:return(0,_.jsxs)(`g`,{className:`dg-cir-glyph`,children:[(0,_.jsx)(`line`,{x1:-7,y1:0,x2:-1.5,y2:0}),(0,_.jsx)(`line`,{x1:-1.5,y1:-4,x2:-1.5,y2:4}),(0,_.jsx)(`line`,{x1:1.5,y1:-4,x2:1.5,y2:4}),(0,_.jsx)(`line`,{x1:1.5,y1:0,x2:7,y2:0})]});case`bulb`:return(0,_.jsxs)(`g`,{className:`dg-cir-glyph`,children:[(0,_.jsx)(`line`,{x1:-7,y1:0,x2:-5,y2:0}),(0,_.jsx)(`circle`,{cx:0,cy:0,r:5,fill:`none`}),(0,_.jsx)(`line`,{x1:-3.5,y1:-3.5,x2:3.5,y2:3.5}),(0,_.jsx)(`line`,{x1:-3.5,y1:3.5,x2:3.5,y2:-3.5}),(0,_.jsx)(`line`,{x1:5,y1:0,x2:7,y2:0})]});case`switch`:return(0,_.jsxs)(`g`,{className:`dg-cir-glyph`,children:[(0,_.jsx)(`line`,{x1:-7,y1:0,x2:-4,y2:0}),(0,_.jsx)(`circle`,{cx:-4,cy:0,r:1}),(0,_.jsx)(`line`,{x1:-4,y1:0,x2:4,y2:-4}),(0,_.jsx)(`circle`,{cx:4,cy:0,r:1}),(0,_.jsx)(`line`,{x1:4,y1:0,x2:7,y2:0})]});case`ground`:return(0,_.jsxs)(`g`,{className:`dg-cir-glyph`,children:[(0,_.jsx)(`line`,{x1:0,y1:-7,x2:0,y2:0}),(0,_.jsx)(`line`,{x1:-5,y1:0,x2:5,y2:0,strokeWidth:1.4}),(0,_.jsx)(`line`,{x1:-3,y1:2.5,x2:3,y2:2.5}),(0,_.jsx)(`line`,{x1:-1.5,y1:5,x2:1.5,y2:5})]});default:return(0,_.jsx)(`circle`,{cx:0,cy:0,r:1.6,className:`dg-cir-node`})}}var Ye={battery:-5,resistor:-3,capacitor:-4,bulb:-5,switch:-4,ground:-7,node:-1.6},Xe=3;function Ze(e){return(Ye[e]??Ye.node)-Xe}var Qe=14;function $e(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function et({title:e,icon:t=`spark`,iconColor:n=`var(--presence)`,components:r,wires:o,footer:s,delay:c}){let l=i[t]||i.spark||i.share,u=e=>r.find(t=>t.id===e);return(0,_.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(c||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`dg-cir`,children:(0,_.jsxs)(`svg`,{viewBox:`-10 -15 120 130`,className:`dg-cir-svg`,role:`img`,"aria-label":e,children:[o.map((e,t)=>{let n=u(e.from),r=u(e.to);return!n||!r?null:(0,_.jsx)(`polyline`,{points:`${n.x},${n.y} ${r.x},${n.y} ${r.x},${r.y}`,className:`dg-cir-wire`,fill:`none`},t)}),r.map(e=>(0,_.jsxs)(`g`,{transform:`translate(${e.x} ${e.y})`,children:[Je(e.kind),e.label&&(0,_.jsxs)(`text`,{x:0,y:Ze(e.kind),className:`dg-cir-lbl`,textAnchor:`middle`,children:[e.label.length>Qe&&(0,_.jsx)(`title`,{children:e.label}),$e(e.label,Qe)]})]},e.id))]})}),s&&(0,_.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(s)})]})}var tt=1e3,nt=200,rt=40,it=78,at=46,ot=24,st=4,ct=15,lt=11,ut=12,dt=nt-20,ft=new Set([`interface`,`abstract`,`enum`]),pt=new Set([`inheritance`,`implements`,`composition`,`aggregation`,`association`,`dependency`]);function mt(e){return(Array.isArray(e)?e:typeof e==`string`&&e?[e]:[]).map(e=>{if(typeof e==`string`)return e;if(e&&typeof e==`object`){let t=e,n=t.text??t.name??t.label;return typeof n==`string`?n:``}return``}).filter(Boolean)}function ht(e){return Array.isArray(e)?e.map((e,t)=>{if(typeof e==`string`)return{name:e,fields:[],methods:[]};if(!e||typeof e!=`object`)return null;let n=e;return{name:typeof n.name==`string`&&n.name?n.name:`Class${t+1}`,stereotype:typeof n.stereotype==`string`&&ft.has(n.stereotype)?n.stereotype:void 0,fields:mt(n.fields),methods:mt(n.methods)}}).filter(e=>e!==null):[]}function gt(e){return Array.isArray(e)?e.map(e=>{if(!e||typeof e!=`object`)return null;let t=e;if(typeof t.from!=`string`||typeof t.to!=`string`||!t.from||!t.to)return null;let n=pt.has(t.kind)?t.kind:`association`,r=typeof t.label==`string`&&t.label?t.label:void 0;return{from:t.from,to:t.to,kind:n,label:r}}).filter(e=>e!==null):[]}function _t(e){let t=p(e,{maxWidth:dt,fontSize:ut,minFontSize:9,maxLines:2,lineHeight:1.25});return{fit:t,h:t.lines.length*t.lineHeightPx+3}}function vt(e,t){let n=new Map;for(let t of e)n.set(t.name,0);let r=t.filter(e=>e.kind===`inheritance`||e.kind===`implements`);for(let t=0;t<e.length;t++){let t=!1;for(let i of r){if(!n.has(i.from)||!n.has(i.to))continue;let r=(n.get(i.to)??0)+1;r>(n.get(i.from)??0)&&r<e.length&&(n.set(i.from,r),t=!0)}if(!t)break}return n}function yt(e,t,n){let r=t-e.cx,i=n-e.cy,a=Math.hypot(r,i)||1,o=r/a,s=i/a,c=e.w/2+4,l=e.h/2+4,u=Math.max(Math.abs(o)/c,Math.abs(s)/l),d=Math.min(u>0?1/u:c,a*.4);return{x:e.cx+o*d,y:e.cy+s*d}}var bt={interface:`color-mix(in oklab, var(--insight) 14%, var(--surface-elevated-2))`,abstract:`color-mix(in oklab, var(--presence) 12%, var(--surface-elevated-2))`,enum:`color-mix(in oklab, var(--warning) 14%, var(--surface-elevated-2))`,none:`var(--surface-elevated-2)`},xt={inheritance:13,implements:13,composition:17,aggregation:17,association:0,dependency:0};function St(e){let t=(0,F.c)(8),{kind:n,x:r,y:i,angle:a}=e,o=`translate(${r} ${i}) rotate(${a})`;switch(n){case`inheritance`:case`implements`:{let e;return t[0]===o?e=t[1]:(e=(0,_.jsx)(`path`,{d:`M0 0 L-14 -8 L-14 8 Z`,className:`ucd-tri`,transform:o}),t[0]=o,t[1]=e),e}case`composition`:{let e;return t[2]===o?e=t[3]:(e=(0,_.jsx)(`path`,{d:`M0 0 L-9 -6 L-18 0 L-9 6 Z`,className:`ucd-di ucd-di-fill`,transform:o}),t[2]=o,t[3]=e),e}case`aggregation`:{let e;return t[4]===o?e=t[5]:(e=(0,_.jsx)(`path`,{d:`M0 0 L-9 -6 L-18 0 L-9 6 Z`,className:`ucd-di`,transform:o}),t[4]=o,t[5]=e),e}case`dependency`:{let e;return t[6]===o?e=t[7]:(e=(0,_.jsx)(`path`,{d:`M-11 -7 L0 0 L-11 7`,className:`ucd-open`,transform:o}),t[6]=o,t[7]=e),e}default:return null}}function Ct({title:e,icon:t=`layers`,iconColor:n=`var(--presence)`,classes:r,relations:o,footer:c,delay:l}){let u=i[t]||i.layers,d=(0,g.useMemo)(()=>ht(r),[r]),f=(0,g.useMemo)(()=>gt(o),[o]),{placed:m,byName:h,vbH:v}=(0,g.useMemo)(()=>{let e=d.map(e=>{let t=p(e.name,{maxWidth:dt,fontSize:ct,minFontSize:11,maxLines:2,lineHeight:1.2,bold:!0}),n=10+(e.stereotype?15:0)+t.lines.length*t.lineHeightPx+8,r=e.fields.map(_t),i=e.methods.map(_t),a=r.length?7+r.reduce((e,t)=>e+t.h,0)+5:10,o=i.length?7+i.reduce((e,t)=>e+t.h,0)+5:10;return{cls:e,x:0,y:0,w:nt,h:n+a+o,cx:0,cy:0,nameFit:t,headerH:n,fieldFits:r,fieldsH:a,methodFits:i,methodsH:o}}),t=vt(d,f),n=new Map;for(let r of e){let e=t.get(r.cls.name)??0;n.has(e)||n.set(e,[]),n.get(e).push(r)}let r=ot;for(let e of[...n.keys()].sort((e,t)=>e-t)){let t=n.get(e);for(let e=0;e<t.length;e+=st){let n=t.slice(e,e+st),i=(tt-(n.length*nt+(n.length-1)*rt))/2,a=0;for(let e of n)e.x=i,e.y=r,e.cx=i+e.w/2,e.cy=r+e.h/2,i+=240,a=Math.max(a,e.h);r+=a+at}r+=it-at}return{placed:e,byName:new Map(e.map(e=>[e.cls.name,e])),vbH:Math.max(200,r-it+ot)}},[d,f]);return(0,_.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(l||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),m.length===0?(0,_.jsx)(s,{message:`No classes to diagram`}):(0,_.jsx)(`div`,{className:`dg-stage ucd-stage`,children:(0,_.jsxs)(`svg`,{viewBox:`0 0 ${tt} ${v}`,className:`dg-svg`,role:`img`,"aria-label":e,children:[f.map((e,t)=>{let n=h.get(e.from),r=h.get(e.to);if(!n||!r||n===r)return null;let i=yt(n,r.cx,r.cy),a=yt(r,n.cx,n.cy),o=Math.atan2(a.y-i.y,a.x-i.x)*180/Math.PI,s=e.kind===`implements`||e.kind===`dependency`,c=e.kind===`composition`||e.kind===`aggregation`,l=xt[e.kind],u=Math.hypot(a.x-i.x,a.y-i.y)||1,d=(a.x-i.x)/u,f=(a.y-i.y)/u;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`line`,{className:`ucd-edge`,x1:c?i.x+d*l:i.x,y1:c?i.y+f*l:i.y,x2:c?a.x:a.x-d*l,y2:c?a.y:a.y-f*l,strokeDasharray:s?`6 5`:void 0}),c?(0,_.jsx)(St,{kind:e.kind,x:i.x,y:i.y,angle:o+180}):(0,_.jsx)(St,{kind:e.kind,x:a.x,y:a.y,angle:o})]},`r${t}`)}),m.map((e,t)=>{let n=bt[e.cls.stereotype??`none`],r=e.y+10+(e.cls.stereotype?15:0),i=e.y+e.headerH,a=i+e.fieldsH,o=i+7,s=a+7;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`rect`,{x:e.x,y:e.y,width:e.w,height:e.h,rx:5,className:`ucd-box`}),(0,_.jsx)(`path`,{d:`M ${e.x} ${e.y+e.headerH} v ${-e.headerH+5} a 5 5 0 0 1 5 -5 h ${e.w-10} a 5 5 0 0 1 5 5 v ${e.headerH-5} z`,className:`ucd-header`,style:{fill:n}}),(0,_.jsx)(`line`,{x1:e.x,y1:i,x2:e.x+e.w,y2:i,className:`ucd-sep`}),(0,_.jsx)(`line`,{x1:e.x,y1:a,x2:e.x+e.w,y2:a,className:`ucd-sep`}),e.cls.stereotype&&(0,_.jsx)(`text`,{x:e.cx,y:e.y+10+5,className:`ucd-stereo`,textAnchor:`middle`,dominantBaseline:`middle`,fontSize:lt,children:`«${e.cls.stereotype}»`}),(0,_.jsx)(`text`,{className:e.cls.stereotype===`abstract`?`ucd-name ucd-italic`:`ucd-name`,textAnchor:`middle`,fontSize:e.nameFit.fontSize,children:e.nameFit.lines.map((t,n)=>(0,_.jsx)(`tspan`,{x:e.cx,y:r+(n+.5)*e.nameFit.lineHeightPx,dominantBaseline:`middle`,children:t},n))}),e.fieldFits.map((t,n)=>{let r=o;return o+=t.h,(0,_.jsx)(`text`,{className:`ucd-member`,fontSize:t.fit.fontSize,children:t.fit.lines.map((n,i)=>(0,_.jsx)(`tspan`,{x:e.x+10,y:r+(i+.5)*t.fit.lineHeightPx,dominantBaseline:`middle`,children:n},i))},`f${n}`)}),e.methodFits.map((t,n)=>{let r=s;return s+=t.h,(0,_.jsx)(`text`,{className:`ucd-member`,fontSize:t.fit.fontSize,children:t.fit.lines.map((n,i)=>(0,_.jsx)(`tspan`,{x:e.x+10,y:r+(i+.5)*t.fit.lineHeightPx,dominantBaseline:`middle`,children:n},i))},`m${n}`)})]},`${e.cls.name}-${t}`)}),f.map((e,t)=>{if(!e.label)return null;let n=h.get(e.from),r=h.get(e.to);if(!n||!r||n===r)return null;let i=yt(n,r.cx,r.cy),a=yt(r,n.cx,n.cy),o=p(e.label,{maxWidth:170,fontSize:14,minFontSize:10,maxLines:2,lineHeight:1.15,bold:!0}),s=(i.x+a.x)/2,c=(i.y+a.y)/2-7-(o.lines.length-1)*o.lineHeightPx/2;return(0,_.jsx)(`text`,{className:`dg-edge-label`,textAnchor:`middle`,fontSize:o.fontSize,children:o.lines.map((e,t)=>(0,_.jsx)(`tspan`,{x:s,y:c+t*o.lineHeightPx,dominantBaseline:`middle`,children:e},t))},`l${t}`)})]})}),c&&(0,_.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(c)})]})}var wt=1e3,Tt=130,Et=40,Dt=260,Ot=170,kt=78,At=64,jt=74,Mt=148,Nt=250,L=24,Pt=46,Ft=18;function It(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function Lt(e){return Number.isFinite(e)?Math.min(1,Math.max(0,e/100)):.5}function Rt(e){return Math.min(Nt,Math.max(Mt,46+e.length*11))}function zt(e,t){let n=new Map;for(let t of e)n.set(t.id,0);let r=t.filter(e=>!e.feedback);for(let t=0;t<e.length;t++){let t=!1;for(let i of r){if(!n.has(i.from)||!n.has(i.to))continue;let r=(n.get(i.from)??0)+1;r>(n.get(i.to)??0)&&r<e.length&&(n.set(i.to,r),t=!0)}if(!t)break}return n}function Bt(e,t){let n=zt(e,t),r=Math.max(0,...e.map(e=>n.get(e.id)??0)),i=wt-Tt*2,a=new Map;for(let t of e){if(t.x!==void 0&&t.y!==void 0)continue;let e=n.get(t.id)??0;a.has(e)||a.set(e,[]),a.get(e).push(t)}let o=e.map(e=>{let t=e.kind===`sum`?`sum`:`block`,o=typeof e.label==`string`&&e.label?e.label:t===`sum`?`Σ`:`Block`,s=t===`sum`?L:Rt(o)/2,c=t===`sum`?L:jt/2;if(Number.isFinite(e.x)&&Number.isFinite(e.y))return{id:e.id,label:o,kind:t,cx:Tt+Lt(e.x)*i,cy:Et+Lt(e.y)*Dt,halfW:s,halfH:c};let l=n.get(e.id)??0,u=a.get(l)??[e],d=u.indexOf(e),f=u.length,p=f>5?kt*4/(f-1):kt,m=(f-1)/2,h=r===0?wt/2:Tt+l/r*i,g=Ot+(d-m)*p;return{id:e.id,label:o,kind:t,cx:h,cy:g,halfW:s,halfH:c}}),s=t.filter(e=>e.feedback).length,c=o.length?Math.min(...o.map(e=>e.cy-e.halfH-(e.kind===`sum`?30:0))):Et,l=c<0?-c+20:0;for(let e of o)e.cy+=l;return{placed:o,vbH:(o.length?Math.max(...o.map(e=>e.cy+e.halfH)):207)+s*At+Pt}}function Vt(e,t){let n=t.cx-e.cx,r=t.cy-e.cy,i=Math.atan2(r,n);return{x:t.cx-Math.cos(i)*(t.halfW+4),y:t.cy-Math.sin(i)*(t.halfH+4)}}function Ht(e,t){let n=t.cx-e.cx,r=t.cy-e.cy,i=Math.atan2(r,n);return{x:e.cx+Math.cos(i)*(e.halfW+4),y:e.cy+Math.sin(i)*(e.halfH+4)}}function Ut(e,t){let n=Math.hypot(t.x,t.y)||1,r=t.x/n,i=t.y/n,a=e.halfH+20;return{x:e.cx-r*a,y:e.cy-i*a}}function Wt({title:e,icon:t=`sliders`,iconColor:n=`var(--presence)`,blocks:r,wires:o,footer:s,delay:c}){let l=i[t]||i.sliders,u=`cbd-arrow-${(0,g.useId)().replace(/:/g,``)}`,d=(0,g.useMemo)(()=>Array.isArray(r)?r:[],[r]),f=(0,g.useMemo)(()=>Array.isArray(o)?o:[],[o]),{placed:p,vbH:m}=(0,g.useMemo)(()=>Bt(d,f),[d,f]),h=(0,g.useMemo)(()=>new Map(p.map(e=>[e.id,e])),[p]),v=(0,g.useMemo)(()=>{let e=f.map((e,t)=>({w:e,i:t,span:Math.abs((h.get(e.to)?.cx??0)-(h.get(e.from)?.cx??0))})).filter(e=>e.w.feedback&&h.has(e.w.from)&&h.has(e.w.to)).sort((e,t)=>e.span-t.span),t=new Map;return e.forEach((e,n)=>t.set(e.i,n+1)),t},[f,h]);return(0,_.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(c||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`dg-cbd-stage`,children:(0,_.jsxs)(`svg`,{className:`dg-cbd-svg`,viewBox:`0 0 ${wt} ${m}`,preserveAspectRatio:`xMidYMid meet`,role:`img`,"aria-label":e,children:[(0,_.jsx)(`defs`,{children:(0,_.jsx)(`marker`,{id:u,viewBox:`0 0 10 10`,refX:`8`,refY:`5`,markerWidth:`7`,markerHeight:`7`,orient:`auto-start-reverse`,children:(0,_.jsx)(`path`,{d:`M0 0 L10 5 L0 10 z`,className:`dg-cbd-arrowhead`})})}),f.map((e,t)=>{let n=h.get(e.from),r=h.get(e.to);if(!n||!r)return null;let i=r.kind===`sum`?e.sign===`minus`?`−`:`+`:null;if(e.feedback){let e=v.get(t)??1,a=m-Pt-(v.size-e)*At,o=n.cy+n.halfH,s=r.cy+r.halfH,c=`${n.cx},${o} ${n.cx},${a} ${r.cx},${a} ${r.cx},${s+6}`,l=i&&(0,_.jsx)(`text`,{x:r.cx+16,y:s+20,className:`dg-cbd-sign`,textAnchor:`start`,dominantBaseline:`middle`,children:i});return(0,_.jsxs)(`g`,{className:`dg-cbd-wire`,children:[(0,_.jsx)(`polyline`,{points:c,fill:`none`,markerEnd:`url(#${u})`}),l]},`w${t}`)}let a=Ht(n,r),o=Vt(n,r),s=i?Ut(r,{x:o.x-a.x,y:o.y-a.y}):null,c=s?s.x>r.cx+2?`start`:s.x<r.cx-2?`end`:`middle`:`middle`;return(0,_.jsxs)(`g`,{className:`dg-cbd-wire`,children:[(0,_.jsx)(`line`,{x1:a.x,y1:a.y,x2:o.x,y2:o.y,markerEnd:`url(#${u})`}),s&&(0,_.jsx)(`text`,{x:s.x,y:s.y,className:`dg-cbd-sign`,textAnchor:c,dominantBaseline:`middle`,children:i})]},`w${t}`)}),p.map(e=>e.kind===`sum`?(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`circle`,{cx:e.cx,cy:e.cy,r:L,className:`dg-cbd-sum`}),(0,_.jsx)(`line`,{x1:e.cx-L*.4,y1:e.cy,x2:e.cx+L*.4,y2:e.cy,className:`dg-cbd-sum-cross`}),(0,_.jsx)(`line`,{x1:e.cx,y1:e.cy-L*.4,x2:e.cx,y2:e.cy+L*.4,className:`dg-cbd-sum-cross`}),(0,_.jsxs)(`text`,{x:e.cx,y:e.cy-L-12,className:`dg-cbd-sum-label`,textAnchor:`middle`,children:[e.label.length>Ft&&(0,_.jsx)(`title`,{children:e.label}),It(e.label,Ft)]})]},e.id):(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`rect`,{x:e.cx-e.halfW,y:e.cy-e.halfH,width:e.halfW*2,height:e.halfH*2,rx:10,className:`dg-cbd-box`}),(0,_.jsxs)(`text`,{x:e.cx,y:e.cy,className:`dg-cbd-label`,textAnchor:`middle`,dominantBaseline:`middle`,children:[e.label.length>Ft&&(0,_.jsx)(`title`,{children:e.label}),It(e.label,Ft)]})]},e.id))]})}),s&&(0,_.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(s)})]})}var Gt=138,Kt=40,qt=30,Jt=2*346,Yt=400,Xt=Jt/2,Zt=Yt/2,Qt=.26,$t=22,en=9;function tn(e){let t=Math.max(1,e.length);return e.map((e,n)=>{let r=-Math.PI/2+n/t*Math.PI*2;return{stage:e,cx:Xt+Math.cos(r)*Gt,cy:Zt+Math.sin(r)*Gt,ang:r,left:Math.cos(r)<-.001}})}function nn(e,t){let n=Gt+t;return{x:Xt+Math.cos(e)*n,y:Zt+Math.sin(e)*n}}function rn({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,stages:r,caption:o,footer:s,delay:c}){let l=i[t]??i.share,u=(0,g.useId)().replace(/:/g,``),d=tn(r),f=d.length;return(0,_.jsxs)(`div`,{className:`card reveal dg-cw-card`,style:{"--delay":(c??0)+`ms`},children:[e&&(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`dg-cw-stage`,children:(0,_.jsxs)(`svg`,{className:`dg-cw-svg`,viewBox:`0 0 ${Jt} ${Yt}`,preserveAspectRatio:`xMidYMid meet`,role:`img`,"aria-label":e??`Cycle`,children:[(0,_.jsx)(`defs`,{children:(0,_.jsx)(`marker`,{id:`dg-cw-arrow-${u}`,viewBox:`0 0 10 10`,refX:`7`,refY:`5`,markerWidth:en,markerHeight:en,orient:`auto-start-reverse`,children:(0,_.jsx)(`path`,{d:`M0 0 L10 5 L0 10 z`,className:`dg-cw-arrowfill`})})}),(0,_.jsx)(`circle`,{className:`dg-cw-ring`,cx:Xt,cy:Zt,r:Gt}),d.map((e,t)=>{let n=d[(t+1)%f];return f<2?null:(0,_.jsx)(an,{from:e,to:n,uid:u},`c${t}`)}),d.map((e,t)=>(0,_.jsx)(on,{placed:e,index:t},`n${t}`))]})}),o&&(0,_.jsx)(`p`,{className:`dg-cw-cap`,children:o}),s&&(0,_.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(s)})]})}function an(e){let t=(0,F.c)(7),{from:n,to:r,uid:i}=e,a=r.ang-n.ang;for(;a<=-Math.PI;)a+=Math.PI*2;for(;a>Math.PI;)a-=Math.PI*2;let o=a>=0?1:-1,s=n.ang+Qt*o,c;t[0]===s?c=t[1]:(c=nn(s,$t),t[0]=s,t[1]=c);let l=c,u=r.ang-Qt*o,d;t[2]===u?d=t[3]:(d=nn(u,$t),t[2]=u,t[3]=d);let f=d,p=+(Math.abs(a)-Qt*2>Math.PI),m=+(o>0),h=`M ${l.x} ${l.y} A 160 160 0 ${p} ${m} ${f.x} ${f.y}`,g=`url(#dg-cw-arrow-${i})`,v;return t[4]!==h||t[5]!==g?(v=(0,_.jsx)(`path`,{className:`dg-cw-link`,d:h,markerEnd:g}),t[4]=h,t[5]=g,t[6]=v):v=t[6],v}function on(e){let t=(0,F.c)(23),{placed:n,index:r}=e,{stage:a,cx:o,cy:s,left:c}=n,l=a.icon?i[a.icon]:void 0,u=o+(c?-50:50),d=c?`end`:`start`,f;if(t[0]!==l||t[1]!==d||t[2]!==o||t[3]!==s||t[4]!==r||t[5]!==u||t[6]!==a.caption||t[7]!==a.label){let e=sn(a.label,16,2),n=a.caption?sn(a.caption,22,2):[],i=s-((e.length-1)*16+(n.length?15+(n.length-1)*14:0))/2+4,c=i+(e.length-1)*16+15,p;t[9]!==o||t[10]!==s?(p=(0,_.jsx)(`circle`,{className:`dg-cw-disc`,cx:o,cy:s,r:Kt}),t[9]=o,t[10]=s,t[11]=p):p=t[11];let m;t[12]!==l||t[13]!==o||t[14]!==s||t[15]!==r?(m=l?(0,_.jsx)(l,{x:o-qt/2,y:s-qt/2,width:qt,height:qt,className:`dg-cw-glyph`}):(0,_.jsx)(`text`,{className:`dg-cw-num`,x:o,y:s,textAnchor:`middle`,dominantBaseline:`central`,children:r+1}),t[12]=l,t[13]=o,t[14]=s,t[15]=r,t[16]=m):m=t[16];let h;t[17]!==i||t[18]!==u?(h=(e,t)=>(0,_.jsx)(`tspan`,{x:u,y:i+t*16,children:e},t),t[17]=i,t[18]=u,t[19]=h):h=t[19];let g=e.map(h),v;t[20]!==d||t[21]!==g?(v=(0,_.jsx)(`text`,{className:`dg-cw-label`,textAnchor:d,children:g}),t[20]=d,t[21]=g,t[22]=v):v=t[22],f=(0,_.jsxs)(`g`,{className:`dg-cw-node`,children:[p,m,v,n.length>0&&(0,_.jsx)(`text`,{className:`dg-cw-cap-lbl`,textAnchor:d,children:n.map((e,t)=>(0,_.jsx)(`tspan`,{x:u,y:c+t*14,children:e},t))})]}),t[0]=l,t[1]=d,t[2]=o,t[3]=s,t[4]=r,t[5]=u,t[6]=a.caption,t[7]=a.label,t[8]=f}else f=t[8];return f}function sn(e,t,n){let r=e.split(/\s+/).filter(Boolean),i=[],a=``,o=!1;for(let e=0;e<r.length;e++){let s=r[e],c=a?`${a} ${s}`:s;if(c.length<=t||!a)a=c;else if(i.push(a),a=s,i.length===n){o=!0,a=``;break}}if(a&&i.length<n&&i.push(a),i.length){let e=i.length-1,n=i[e];n.length>t&&(n=n.slice(0,t-1).trimEnd()),(o||i[e].length>t)&&(n=n.replace(/[…\s]*$/,``)+`…`),i[e]=n}return i.length?i:[``]}var cn=1e3,ln=186,un=130,R=113,dn=74,fn=320,pn=226,mn=720,hn=70,gn=-30,_n={source:`color-mix(in oklab, var(--presence) 18%, var(--surface-elevated-2))`,transform:`color-mix(in oklab, var(--presence) 10%, var(--surface-elevated-2))`,store:`color-mix(in oklab, var(--presence-soft) 20%, var(--surface-elevated-2))`,sink:`color-mix(in oklab, var(--insight) 16%, var(--surface-elevated-2))`},vn={source:`var(--presence)`,transform:`var(--line-strong)`,store:`var(--presence-soft)`,sink:`var(--insight)`},yn=17,bn=20;function xn(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function Sn(e,t){let n=new Map;for(let t of e)n.set(t.id,0);for(let r=0;r<e.length;r++){let r=!1;for(let i of t){if(!n.has(i.from)||!n.has(i.to))continue;let t=(n.get(i.from)??0)+1;t>(n.get(i.to)??0)&&t<e.length&&(n.set(i.to,t),r=!0)}if(!r)break}return n}function Cn(e,t){if(e.length===0)return fn;let n=Sn(e,t),r=new Map;for(let t of e){let e=n.get(t.id)??0;r.set(e,(r.get(e)??0)+1)}let i=r.size>0?Math.max(...r.values()):1,a=i*un+Math.max(0,i-1)*dn;return Math.max(fn,a+R*2)}function wn(e,t){if(e.length===0)return cn;let n=Sn(e,t),r=new Set(e.map(e=>n.get(e.id)??0)).size;return Math.max(cn,Math.max(1,r-1)*pn+R*2)}function Tn(e,t,n,r){let i=n-R*2,a=r-R*2,o=e=>R+e*i,s=e=>R+e*a,c=e.map(e=>Number.isFinite(e.x)&&Number.isFinite(e.y)?{...e,cx:o(En(e.x)),cy:s(En(e.y))}:{...e,cx:0,cy:0}),l=new Map(c.map(e=>[e.id,e])),u=e.filter(e=>!(Number.isFinite(e.x)&&Number.isFinite(e.y))),d=Sn(u,t),f=new Map;for(let e of u){let t=d.get(e.id)??0;f.has(t)||f.set(t,[]),f.get(t).push(e)}let p=[...f.keys()].sort((e,t)=>e-t),m=Math.max(1,p.length-1);return p.forEach((e,t)=>{let i=f.get(e),a=p.length===1?n/2:o(t/m);i.forEach((e,t)=>{let n=l.get(e.id);n.cx=a,n.cy=i.length===1?r/2:s((t+.5)/i.length)})}),c}function En(e){return Math.min(1,Math.max(0,e))}function Dn(e,t){let n=(Math.hypot(t.cx-e.cx,t.cy-e.cy)||1)*.4;return{rx:Math.min(99,n),ry:Math.min(71,n)}}function On(e,t){let n=t.cx-e.cx,r=t.cy-e.cy,i=Math.atan2(r,n),{rx:a,ry:o}=Dn(e,t);return{x:t.cx-Math.cos(i)*a,y:t.cy-Math.sin(i)*o}}function kn(e,t){let n=t.cx-e.cx,r=t.cy-e.cy,i=Math.atan2(r,n),{rx:a,ry:o}=Dn(e,t);return{x:e.cx+Math.cos(i)*a,y:e.cy+Math.sin(i)*o}}function An(e){return e===`store`?(0,_.jsxs)(`g`,{className:`dp-icon`,transform:`translate(0 -2)`,children:[(0,_.jsx)(`line`,{x1:-9,y1:-4,x2:9,y2:-4}),(0,_.jsx)(`line`,{x1:-9,y1:0,x2:9,y2:0}),(0,_.jsx)(`line`,{x1:-9,y1:4,x2:9,y2:4})]}):(0,_.jsxs)(`g`,{className:`dp-icon`,transform:`translate(0 -2)`,children:[(0,_.jsx)(`line`,{x1:-10,y1:0,x2:7,y2:0}),(0,_.jsx)(`path`,{d:`M 1 -6 L 11 0 L 1 6`,fill:`none`})]})}function jn(e,t,n){let r={fill:t,stroke:n,strokeWidth:2.2};switch(e){case`source`:return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`rect`,{x:-75,y:-70/2,width:ln-36,height:hn,rx:14,...r}),(0,_.jsxs)(`g`,{className:`dp-icon`,transform:`translate(-2 -2)`,children:[(0,_.jsx)(`line`,{x1:-16,y1:0,x2:6,y2:0}),(0,_.jsx)(`path`,{d:`M 0 -6 L 8 0 L 0 6`,fill:`none`})]})]});case`sink`:case`store`:{let t=hn/2-13;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`path`,{d:`M -58 -22 A 58 13 0 0 1 58 -22 L 58 ${t} A 58 13 0 0 1 -58 ${t} Z`,...r}),(0,_.jsx)(`path`,{d:`M -58 -22 A 58 13 0 0 0 58 -22`,fill:`none`,stroke:n,strokeWidth:1.6}),An(e)]})}default:return(0,_.jsx)(`polygon`,{points:Array.from({length:6},(e,t)=>{let n=Math.PI/3*t;return`${Math.cos(n)*66},${Math.sin(n)*40}`}).join(` `),...r})}}function Mn({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,stages:r,edges:o,footer:s,delay:c}){let l=i[t]||i.share,u=(0,g.useId)().replace(/:/g,``),d=(0,g.useMemo)(()=>Array.isArray(r)?r:[],[r]),f=(0,g.useMemo)(()=>Array.isArray(o)?o:[],[o]),p=(0,g.useMemo)(()=>wn(d,f),[d,f]),m=(0,g.useMemo)(()=>Cn(d,f),[d,f]),h=(0,g.useMemo)(()=>Tn(d,f,p,m),[d,f,p,m]),v=(0,g.useMemo)(()=>new Map(h.map(e=>[e.id,e])),[h]),y=Math.round(mn*p/cn),b=(0,g.useMemo)(()=>f.map((e,t)=>{let n=v.get(e?.from),r=v.get(e?.to);return!n||!r?null:{key:t,s:kn(n,r),t:On(n,r),label:typeof e.label==`string`?e.label:``}}).filter(e=>e!==null),[f,v]);return(0,_.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(c||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`dg-stage dp-stage`,style:{maxWidth:y},children:(0,_.jsxs)(`svg`,{className:`dg-svg`,viewBox:`0 0 ${p} ${m}`,preserveAspectRatio:`xMidYMid meet`,role:`img`,"aria-label":e,children:[(0,_.jsx)(`defs`,{children:(0,_.jsx)(`marker`,{id:`dp-arrow-${u}`,viewBox:`0 0 10 10`,refX:`8`,refY:`5`,markerWidth:`7`,markerHeight:`7`,orient:`auto-start-reverse`,children:(0,_.jsx)(`path`,{d:`M0 0 L10 5 L0 10 z`,className:`dp-arrowhead`})})}),b.map(({key:e,s:t,t:n})=>(0,_.jsx)(`g`,{className:`dp-edge`,children:(0,_.jsx)(`line`,{x1:t.x,y1:t.y,x2:n.x,y2:n.y,markerEnd:`url(#dp-arrow-${u})`})},e)),h.map((e,t)=>{let n=e.cy+gn,r=typeof e.label==`string`&&e.label?e.label:e.id||`Stage`,i=e.kind??`transform`;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`g`,{transform:`translate(${e.cx} ${n})`,children:jn(i,_n[i]??_n.transform,vn[i]??vn.transform)}),(0,_.jsxs)(`text`,{x:e.cx,y:n+hn/2+24,className:`dp-label`,textAnchor:`middle`,children:[r.length>yn&&(0,_.jsx)(`title`,{children:r}),xn(r,yn)]}),e.sub&&(0,_.jsxs)(`text`,{x:e.cx,y:n+hn/2+44,className:`dp-sub`,textAnchor:`middle`,children:[e.sub.length>bn&&(0,_.jsx)(`title`,{children:e.sub}),xn(e.sub,bn)]})]},e.id??t)}),b.map(({key:e,s:t,t:n,label:r})=>r?(0,_.jsx)(`text`,{x:(t.x+n.x)/2,y:(t.y+n.y)/2-8,className:`dg-edge-label`,textAnchor:`middle`,children:xn(r,26)},e):null)]})}),s&&(0,_.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(s)})]})}var z=46,B=14,Nn=58,Pn=40,Fn=34,In=17,Ln=46,Rn=64,V=e=>typeof e==`number`?String(e):e,zn=7.4,Bn=Math.max(2,Math.floor(In*2*.86/zn)),Vn=Math.max(2,Math.floor(Nn*.62*.82/zn));function Hn(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function Un(e){let t=new Map;for(let n of e)t.set(n.id,n);let n=new Set;for(let t of e)t.left&&n.add(t.left),t.right&&n.add(t.right);return{byId:t,rootId:e.find(e=>!n.has(e.id))?.id??e[0]?.id}}function Wn(e){let t=new Map;return e.forEach((n,r)=>{if(n==null)return;let i=`n${r}`,a=2*r+1,o=2*r+2,s=a<e.length&&e[a]!==null&&e[a]!==void 0,c=o<e.length&&e[o]!==null&&e[o]!==void 0;t.set(i,{id:i,value:V(n),left:s?`n${a}`:void 0,right:c?`n${o}`:void 0})}),{byId:t,rootId:t.has(`n0`)?`n0`:void 0}}function Gn(e,t){let n=[];if(!t||!e.has(t))return{placed:n,slots:0,maxDepth:0};let r=0,i=0,a=new Set,o=(t,s,c)=>{let l=e.get(t);if(!l||a.has(t))return;a.add(t),l.left&&o(l.left,s+1,t);let u=31+r*Ln,d=31+s*Rn;r+=1,i=Math.max(i,s),n.push({id:t,value:V(l.value),x:u,y:d,depth:s,parentId:c}),l.right&&o(l.right,s+1,t)};return o(t,0),{placed:n,slots:r,maxDepth:i}}function Kn(e,t,n){let r=Math.max(1,e.length),i=t.length?22:4,a=B*2+r*z,o=i+z+22,s=i;return{vbW:a,vbH:o,svg:(0,_.jsxs)(_.Fragment,{children:[e.map((e,t)=>{let r=B+t*z;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`rect`,{x:r,y:s,width:z,height:z,rx:4,className:`dst-cell`+(n===t?` on`:``)}),(0,_.jsx)(`text`,{x:r+z/2,y:s+z/2+4,className:`dst-val`,textAnchor:`middle`,children:V(e.value)}),(0,_.jsx)(`text`,{x:r+z/2,y:s+z+14,className:`dst-idx`,textAnchor:`middle`,children:t})]},t)}),t.map((e,t)=>{if(e.index<0||e.index>=r)return null;let n=B+e.index*z+z/2;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`text`,{x:n,y:s-12,className:`dst-ptr`,textAnchor:`middle`,children:e.label}),(0,_.jsx)(`path`,{d:`M ${n} ${s-9} L ${n-3} ${s-4} L ${n+3} ${s-4} Z`,className:`dst-ptr-tip`})]},`p${t}`)})]})}}function qn(e,t,n){let r=Math.max(1,e.length),i=B*2+r*92+Fn,a=Nn*.62;return{vbW:i,vbH:86,svg:(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)(`text`,{x:B,y:24,className:`dst-tag`,textAnchor:`start`,children:`head`}),e.map((e,r)=>{let i=B+r*92,o=t===r,s=(i+a+Nn)/2,c=V(e.value);return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`rect`,{x:i,y:28,width:Nn,height:Pn,rx:5,className:`dst-cell`+(o?` on`:``)}),(0,_.jsx)(`line`,{x1:i+a,y1:28,x2:i+a,y2:68,className:`dst-divide`}),(0,_.jsxs)(`text`,{x:i+a/2,y:52,className:`dst-val`,textAnchor:`middle`,children:[c.length>Vn&&(0,_.jsx)(`title`,{children:c}),Hn(c,Vn)]}),(0,_.jsx)(`circle`,{cx:s,cy:48,r:2.6,className:`dst-dot`}),(0,_.jsx)(`line`,{x1:s,y1:48,x2:i+92-4,y2:48,className:`dst-edge`,markerEnd:n})]},r)}),(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`rect`,{x:B+r*92,y:32,width:Fn,height:Pn-8,rx:4,className:`dst-null`}),(0,_.jsx)(`text`,{x:B+r*92+Fn/2,y:51.5,className:`dst-null-lbl`,textAnchor:`middle`,children:`null`})]})]})}}function Jn(e,t){let n=Math.max(1,e.length),r=z*1.9;return{vbW:159.39999999999998,vbH:B*2+n*z,svg:(0,_.jsx)(_.Fragment,{children:e.map((i,a)=>{let o=B+(n-1-a)*z,s=t===a,c=a===e.length-1;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`rect`,{x:58,y:o,width:r,height:z,rx:4,className:`dst-cell`+(s?` on`:``)}),(0,_.jsx)(`text`,{x:101.69999999999999,y:o+z/2+4,className:`dst-val`,textAnchor:`middle`,children:V(i.value)}),c&&(0,_.jsx)(`text`,{x:50,y:o+z/2+3.5,className:`dst-ptr`,textAnchor:`end`,children:`top`})]},a)})})}}function Yn(e,t){let n=Math.max(1,e.length),r=z*1.25;return{vbW:B*2+n*r,vbH:72,svg:(0,_.jsx)(_.Fragment,{children:e.map((n,i)=>{let a=B+i*r,o=t===i,s=i===0,c=i===e.length-1;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`rect`,{x:a,y:22,width:r,height:z,rx:4,className:`dst-cell`+(o?` on`:``)}),(0,_.jsx)(`text`,{x:a+r/2,y:49,className:`dst-val`,textAnchor:`middle`,children:V(n.value)}),s&&(0,_.jsx)(`text`,{x:a+r/2,y:14,className:`dst-ptr`,textAnchor:`middle`,children:`front`}),c&&!s&&(0,_.jsx)(`text`,{x:a+r/2,y:14,className:`dst-ptr`,textAnchor:`middle`,children:`rear`})]},i)})})}}function Xn(e,t,n,r){let i=B*2+Math.max(1,t)*Ln,a=B*2+(n+1)*Rn-(Rn-2*In),o=new Map(e.map(e=>[e.id,e]));return{vbW:i,vbH:a,svg:(0,_.jsxs)(_.Fragment,{children:[e.map(e=>e.parentId&&o.has(e.parentId)?(0,_.jsx)(`line`,{x1:o.get(e.parentId).x,y1:o.get(e.parentId).y,x2:e.x,y2:e.y,className:`dst-edge`},`e${e.id}`):null),e.map(e=>{let t=r===e.id;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`circle`,{cx:e.x,cy:e.y,r:In,className:`dst-node`+(t?` on`:``)}),(0,_.jsxs)(`text`,{x:e.x,y:e.y+4,className:`dst-val`,textAnchor:`middle`,children:[e.value.length>Bn&&(0,_.jsx)(`title`,{children:e.value}),Hn(e.value,Bn)]})]},e.id)})]})}}var Zn={array:`layers`,linkedlist:`link`,stack:`layers`,queue:`layers`,tree:`share`,bst:`share`,heap:`share`};function Qn({title:e,icon:t,iconColor:n=`var(--presence)`,kind:r,cells:o=[],nodes:s,level:c,pointers:l=[],highlight:u,footer:d,delay:f}){let p=i[t??Zn[r]]||i.layers,m=`dst-arrow-${(0,g.useId)().replace(/:/g,``)}`,h=`url(#${m})`,v=(0,g.useMemo)(()=>{let e=o.map(e=>typeof e==`object`&&e?e:{value:e}),t=typeof u==`number`?u:void 0;if(r===`array`)return Kn(e,l,t);if(r===`linkedlist`)return qn(e,t,h);if(r===`stack`)return Jn(e,t);if(r===`queue`)return Yn(e,t);let{byId:n,rootId:i}=s&&s.length?Un(s):Wn(c??e.map(e=>e.value)),{placed:a,slots:d,maxDepth:f}=Gn(n,i);return Xn(a,d,f,typeof u==`string`?u:void 0)},[r,o,s,c,l,u,h]),y=r===`linkedlist`;return(0,_.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(f||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(p,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`dst-wrap`,children:(0,_.jsxs)(`svg`,{viewBox:`0 0 ${v.vbW} ${v.vbH}`,className:`dst-svg`,role:`img`,"aria-label":e,children:[y&&(0,_.jsx)(`defs`,{children:(0,_.jsx)(`marker`,{id:m,markerWidth:`7`,markerHeight:`7`,refX:`6`,refY:`3.5`,orient:`auto`,children:(0,_.jsx)(`path`,{d:`M0,0 L7,3.5 L0,7 Z`,className:`dst-arrowhead`})})}),v.svg]})}),d&&(0,_.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(d)})]})}var $n=1e3,H=108,er=92,tr=46,nr=300,rr=212,ir=640,ar={default:`var(--surface-elevated-2)`,start:`color-mix(in oklab, var(--presence) 18%, var(--surface-elevated-2))`,accent:`color-mix(in oklab, var(--presence) 16%, var(--surface-elevated-2))`,good:`color-mix(in oklab, var(--insight) 16%, var(--surface-elevated-2))`,warn:`color-mix(in oklab, var(--warning) 16%, var(--surface-elevated-2))`,muted:`var(--surface-glass)`},or={default:`var(--line)`,start:`var(--presence)`,accent:`var(--presence-soft)`,good:`var(--insight)`,warn:`var(--warning)`,muted:`var(--line)`},sr={default:`var(--text-muted)`,accent:`var(--presence)`,good:`var(--insight)`,warn:`var(--warning)`,muted:`var(--grid-line)`};function cr(e,t){let n=new Map;for(let t of e)n.set(t.id,0);let r=new Map;for(let e of t)r.has(e.from)||r.set(e.from,[]),r.get(e.from).push(e.to);for(let r=0;r<e.length;r++){let r=!1;for(let i of t){let t=(n.get(i.from)??0)+1;t>(n.get(i.to)??0)&&t<e.length&&(n.set(i.to,t),r=!0)}if(!r)break}return n}function lr(e,t,n){let r=e.length;if(r===0)return nr;if(n===`cycle`)return $n;let i;if(n===`layered`){let n=cr(e,t),r=new Map;for(let t of e){let e=n.get(t.id)??0;r.set(e,(r.get(e)??0)+1)}i=r.size>0?Math.max(...r.values()):1}else i=Math.ceil(r/Math.ceil(Math.sqrt(r)));let a=tr*2*i+Math.max(0,i-1)*60;return Math.max(nr,a+H*2)}function ur(e,t,n){let r=e.length;if(r===0||n===`cycle`)return $n;let i;if(n===`layered`){let n=cr(e,t);i=new Set(e.map(e=>n.get(e.id)??0)).size}else i=Math.ceil(Math.sqrt(r));let a=n===`layered`?Math.max(1,i-1):i;return Math.max($n,a*rr+H*2)}function dr(e,t,n,r,i){let a=r-H*2,o=i-H*2,s=e=>H+e*a,c=e=>H+e*o,l=e.filter(e=>!(Number.isFinite(e.x)&&Number.isFinite(e.y))),u=e.map(e=>Number.isFinite(e.x)&&Number.isFinite(e.y)?{...e,cx:s(fr(e.x)),cy:c(fr(e.y))}:{...e,cx:0,cy:0}),d=new Map(u.map(e=>[e.id,e]));if(n===`cycle`){let e=Math.min(a,o)/2,t=r/2,n=i/2;return l.forEach((r,i)=>{let a=-Math.PI/2+i/Math.max(1,l.length)*Math.PI*2,o=d.get(r.id);o.cx=t+Math.cos(a)*e,o.cy=n+Math.sin(a)*e}),u}if(n===`layered`){let e=cr(l,t),n=new Map;for(let t of l){let r=e.get(t.id)??0;n.has(r)||n.set(r,[]),n.get(r).push(t)}let a=[...n.keys()].sort((e,t)=>e-t),o=Math.max(1,a.length-1);return a.forEach((e,t)=>{let l=n.get(e),u=a.length===1?r/2:s(t/o);l.forEach((e,t)=>{let n=d.get(e.id);n.cx=u,n.cy=l.length===1?i/2:c((t+.5)/l.length)})}),u}let f=Math.ceil(Math.sqrt(l.length)),p=Math.max(1,Math.ceil(l.length/f));return l.forEach((e,t)=>{let n=t%f,a=Math.floor(t/f),o=d.get(e.id);o.cx=f===1?r/2:s((n+.5)/f),o.cy=p===1?i/2:c((a+.5)/p)}),u}function fr(e){return Math.min(1,Math.max(0,e))}function pr(e,t){let n=(Math.hypot(t.cx-e.cx,t.cy-e.cy)||1)*.4;return{rx:Math.min(98,n),ry:Math.min(52,n)}}function mr(e,t){let n=t.cx-e.cx,r=t.cy-e.cy,i=Math.atan2(r,n),{rx:a,ry:o}=pr(e,t);return{x:t.cx-Math.cos(i)*a,y:t.cy-Math.sin(i)*o}}function hr(e,t){let n=t.cx-e.cx,r=t.cy-e.cy,i=Math.atan2(r,n),{rx:a,ry:o}=pr(e,t);return{x:e.cx+Math.cos(i)*a,y:e.cy+Math.sin(i)*o}}function gr({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,layout:r=`free`,nodes:o,edges:s,footer:c,delay:l}){let u=i[t]||i.share,d=(0,g.useId)().replace(/:/g,``),f=(0,g.useMemo)(()=>ur(o,s,r),[o,s,r]),p=(0,g.useMemo)(()=>lr(o,s,r),[o,s,r]),m=(0,g.useMemo)(()=>dr(o,s,r,f,p),[o,s,r,f,p]),h=(0,g.useMemo)(()=>new Map(m.map(e=>[e.id,e])),[m]),v=Math.round(ir*f/$n),y=(0,g.useMemo)(()=>{let e=new Set;for(let t of s)h.has(t.from)&&h.has(t.to)&&e.add(t.kind??`default`);return[...e]},[s,h]);return(0,_.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(l||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`dg-stage`,style:{maxWidth:v},children:(0,_.jsxs)(`svg`,{className:`dg-svg`,viewBox:`0 0 ${f} ${p}`,preserveAspectRatio:`xMidYMid meet`,role:`img`,"aria-label":e,children:[(0,_.jsx)(`defs`,{children:y.map(e=>(0,_.jsx)(`marker`,{id:`dg-arrow-${d}-${e}`,viewBox:`0 0 10 10`,refX:`8`,refY:`5`,markerWidth:`7`,markerHeight:`7`,orient:`auto-start-reverse`,children:(0,_.jsx)(`path`,{d:`M0 0 L10 5 L0 10 z`,fill:sr[e]})},e))}),s.map((e,t)=>{let n=h.get(e.from),r=h.get(e.to);return!n||!r?null:(0,_.jsx)(_r,{a:n,b:r,edge:e,uid:d},t)}),m.map(e=>(0,_.jsx)(Sr,{node:e},e.id))]})}),c&&(0,_.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(c)})]})}function _r(e){let t=(0,F.c)(22),{a:n,b:r,edge:i,uid:a}=e,o=i.kind??`default`,s=sr[o],c;t[0]!==n||t[1]!==r?(c=hr(n,r),t[0]=n,t[1]=r,t[2]=c):c=t[2];let l=c,u;t[3]!==n||t[4]!==r?(u=mr(n,r),t[3]=n,t[4]=r,t[5]=u):u=t[5];let d=u,f=(l.x+d.x)/2,p=(l.y+d.y)/2,m=d.x-l.x,h=d.y-l.y,g;t[6]!==m||t[7]!==h?(g=Math.hypot(m,h)||1,t[6]=m,t[7]=h,t[8]=g):g=t[8];let v=g,y=Math.min(60,v*.12),b=f-h/v*y,x=p+m/v*y,S=`url(#dg-arrow-${a}-${o})`,C=`M ${l.x} ${l.y} Q ${b} ${x} ${d.x} ${d.y}`,w=i.dashed?`7 7`:void 0,T=i.bidirectional?S:void 0,E;t[9]!==S||t[10]!==s||t[11]!==C||t[12]!==w||t[13]!==T?(E=(0,_.jsx)(`path`,{d:C,fill:`none`,stroke:s,strokeWidth:2.2,strokeDasharray:w,markerEnd:S,markerStart:T,opacity:.85}),t[9]=S,t[10]=s,t[11]=C,t[12]=w,t[13]=T,t[14]=E):E=t[14];let D;t[15]!==b||t[16]!==x||t[17]!==i.label?(D=i.label&&(0,_.jsx)(vr,{label:i.label,cx:b,cy:x}),t[15]=b,t[16]=x,t[17]=i.label,t[18]=D):D=t[18];let O;return t[19]!==E||t[20]!==D?(O=(0,_.jsxs)(`g`,{className:`dg-edge`,children:[E,D]}),t[19]=E,t[20]=D,t[21]=O):O=t[21],O}function vr(e){let t=(0,F.c)(14),{label:n,cx:r,cy:i}=e,a,o,s,c,l;if(t[0]!==r||t[1]!==i||t[2]!==n){let e=p(n,{maxWidth:220,fontSize:15,minFontSize:11,maxLines:2,lineHeight:1.15,bold:!0}),u=i-(e.lines.length-1)*e.lineHeightPx/2;a=`dg-edge-label`,o=r,s=`middle`,c=e.fontSize,l=e.lines.map((t,n)=>(0,_.jsx)(`tspan`,{x:r,y:u+n*e.lineHeightPx,dominantBaseline:`middle`,children:t},n)),t[0]=r,t[1]=i,t[2]=n,t[3]=a,t[4]=o,t[5]=s,t[6]=c,t[7]=l}else a=t[3],o=t[4],s=t[5],c=t[6],l=t[7];let u;return t[8]!==a||t[9]!==o||t[10]!==s||t[11]!==c||t[12]!==l?(u=(0,_.jsx)(`text`,{className:a,x:o,textAnchor:s,fontSize:c,children:l}),t[8]=a,t[9]=o,t[10]=s,t[11]=c,t[12]=l,t[13]=u):u=t[13],u}var yr=164,br=80,xr=.74;function Sr(e){let t=(0,F.c)(18),{node:n}=e,r=n.kind??`default`,i;if(t[0]!==r||t[1]!==n.cx||t[2]!==n.cy||t[3]!==n.label||t[4]!==n.sub){let e=n.sub?.trim(),a=e?p(e,{maxWidth:yr,fontSize:15,minFontSize:11,maxLines:2,lineHeight:1.2}):null,o=a?a.lines.length*a.lineHeightPx:0,s=p(n.label,{maxWidth:yr,fontSize:19,minFontSize:12,maxHeight:br-o,maxLines:e?2:3,lineHeight:1.16,bold:!0}),c=s.lines.length*s.lineHeightPx,l=n.cy-(c+o)/2,u=e?`${n.label} — ${e}`:n.label,d;t[6]===u?d=t[7]:(d=(0,_.jsx)(`title`,{children:u}),t[6]=u,t[7]=d);let f=ar[r],m=or[r],h=r==="default"||r===`muted`?1.4:2,g;t[8]!==n.cx||t[9]!==n.cy||t[10]!==f||t[11]!==m||t[12]!==h?(g=(0,_.jsx)(`ellipse`,{cx:n.cx,cy:n.cy,rx:er,ry:tr,fill:f,stroke:m,strokeWidth:h}),t[8]=n.cx,t[9]=n.cy,t[10]=f,t[11]=m,t[12]=h,t[13]=g):g=t[13];let v=n.cx,y=s.fontSize,b=s.lines.map((e,t)=>(0,_.jsx)(`tspan`,{x:n.cx,y:l+t*s.lineHeightPx+s.fontSize*xr,children:e},t)),x;t[14]!==s||t[15]!==n.cx||t[16]!==b?(x=(0,_.jsx)(`text`,{className:`dg-node-label`,x:v,textAnchor:`middle`,fontSize:y,children:b}),t[14]=s,t[15]=n.cx,t[16]=b,t[17]=x):x=t[17],i=(0,_.jsxs)(`g`,{className:`dg-node`,children:[d,g,x,a&&(0,_.jsx)(`text`,{className:`dg-node-sub`,x:n.cx,textAnchor:`middle`,fontSize:a.fontSize,children:a.lines.map((e,t)=>(0,_.jsx)(`tspan`,{x:n.cx,y:l+c+t*a.lineHeightPx+a.fontSize*xr,children:e},t))})]}),t[0]=r,t[1]=n.cx,t[2]=n.cy,t[3]=n.label,t[4]=n.sub,t[5]=i}else i=t[5];return i}var U=44,Cr=48,wr=36,Tr=12,Er=12,Dr=10,Or=6,kr=5;function Ar(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function jr(e,t){return`${e},${t}`}function Mr({title:e,icon:t=`table`,iconColor:n=`var(--presence)`,rows:r,cols:o,cells:s,steps:c,highlight:l,path:u,recurrence:d,footer:f,delay:p}){let m=i[t]??i.table,[h,v]=(0,g.useState)(0),y=c?.length??0,b=Math.min(h,Math.max(0,y-1)),x=c?.[b],S=e=>v(Math.min(y-1,Math.max(0,e))),{vbW:C,vbH:w,clampedRows:T,clampedCols:E,clampedCells:D,pathSet:O,hlKey:k,depSet:A}=(0,g.useMemo)(()=>{let e=r.slice(0,Dr),t=o.slice(0,Er),n=e.length,i=t.length,a=s.slice(0,n).map(e=>e.slice(0,i)),c=72+i*U,d=60+n*U,f=new Set;for(let[e,t]of u??[])e<n&&t<i&&f.add(jr(e,t));let p=x?.current??l,m=p&&p[0]<n&&p[1]<i?jr(p[0],p[1]):null,h=new Set;for(let[e,t]of x?.deps??[]){let r=jr(e,t);e<n&&t<i&&r!==m&&h.add(r)}return{vbW:c,vbH:d,clampedRows:e,clampedCols:t,clampedCells:a,pathSet:f,hlKey:m,depSet:h}},[r,o,s,l,u,x]),j=E.length,M=T.length,N=e=>60+e*U,P=e=>48+e*U;return(0,_.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(p??0)+`ms`},children:[e&&(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(m,{className:`ic`,style:{color:n}}),` `,e]}),d&&(0,_.jsx)(`div`,{className:`dp-recurrence`,children:(0,_.jsx)(`code`,{children:d})}),x?.caption&&(0,_.jsx)(`p`,{className:`dg-at-caption`,"aria-live":`polite`,children:x.caption}),(0,_.jsx)(`div`,{className:`dp-wrap`,children:(0,_.jsxs)(`svg`,{viewBox:`0 0 ${C} ${w}`,className:`dp-svg`,role:`img`,"aria-label":e??`DP table`,children:[(0,_.jsx)(`rect`,{x:Tr,y:Tr,width:Cr,height:wr,className:`dp-corner`}),E.map((e,t)=>(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`rect`,{x:N(t),y:Tr,width:U,height:wr,className:`dp-header`}),(0,_.jsxs)(`text`,{x:N(t)+U/2,y:35,textAnchor:`middle`,className:`dp-hdr-val`,children:[e.length>Or&&(0,_.jsx)(`title`,{children:e}),Ar(e,Or)]})]},`ch-${t}`)),T.map((e,t)=>(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`rect`,{x:Tr,y:P(t),width:Cr,height:U,className:`dp-header`}),(0,_.jsxs)(`text`,{x:36,y:P(t)+U/2+5,textAnchor:`middle`,className:`dp-hdr-val`,children:[e.length>Or&&(0,_.jsx)(`title`,{children:e}),Ar(e,Or)]})]},`rh-${t}`)),Array.from({length:M},(e,t)=>Array.from({length:j},(e,n)=>{let r=jr(t,n),i=r===k,a=A.has(r),o=!i&&!a&&O.has(r),s=D[t]?.[n],c=s==null?``:String(s),l=`dp-cell`;return i?l+=` dp-active`:a?l+=` dp-dep`:o&&(l+=` dp-path`),(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`rect`,{x:N(n),y:P(t),width:U,height:U,className:l}),s!=null&&(0,_.jsxs)(`text`,{x:N(n)+U/2,y:P(t)+U/2+5,textAnchor:`middle`,className:`dp-val`+(i?` dp-val-active`:a?` dp-val-dep`:o?` dp-val-path`:``),children:[c.length>kr&&(0,_.jsx)(`title`,{children:c}),Ar(c,kr)]})]},r)}))]})}),c&&c.length>0&&(0,_.jsxs)(`div`,{className:`dg-at-controls`,children:[(0,_.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>S(b-1),disabled:b===0,"aria-label":`previous step`,children:[(0,_.jsx)(i.chevL,{className:`ic`}),` Prev`]}),(0,_.jsx)(`div`,{className:`dg-at-progress`,"aria-hidden":`true`,children:c.map((e,t)=>(0,_.jsx)(`span`,{className:`dg-at-dot`+(t===b?` on`:t<b?` done`:``)},t))}),(0,_.jsxs)(`span`,{className:`dg-at-count`,children:[b+1,` / `,y]}),(0,_.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>S(b+1),disabled:b>=y-1,"aria-label":`next step`,children:[`Next `,(0,_.jsx)(i.chevR,{className:`ic`})]})]}),f&&(0,_.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(f)})]})}function Nr({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,entities:r,relationships:o,footer:s,delay:c}){let l=i[t]||i.share,u=(0,g.useMemo)(()=>r.map((e,t)=>({...e,gx:e.x===void 0?t%2+1:void 0,gy:e.y===void 0?Math.floor(t/2)+1:void 0})),[r]),d=(0,g.useMemo)(()=>new Map(r.map(e=>[e.id,e])),[r]),f=e=>e===`many`?`∞`:`1`;return(0,_.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(c||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`dg-er`,children:u.map(e=>(0,_.jsxs)(`div`,{className:`dg-er-entity`,style:e.gx?{gridColumn:e.gx,gridRow:e.gy}:void 0,children:[(0,_.jsx)(`div`,{className:`dg-er-name`,children:e.label}),(0,_.jsx)(`ul`,{className:`dg-er-fields`,children:e.fields.map((e,t)=>(0,_.jsxs)(`li`,{className:`dg-er-field`+(e.key?` k-`+e.key:``),children:[e.key&&(0,_.jsx)(`span`,{className:`dg-er-key`,children:e.key.toUpperCase()}),(0,_.jsx)(`span`,{className:`dg-er-fname`,children:e.name}),e.type&&(0,_.jsx)(`span`,{className:`dg-er-ftype`,children:e.type})]},t))})]},e.id))}),o.length>0&&(0,_.jsx)(`ul`,{className:`dg-er-rels`,children:o.map((e,t)=>{let n=d.get(e.from),r=d.get(e.to);return(0,_.jsxs)(`li`,{className:`dg-er-rel`,children:[(0,_.jsx)(`b`,{children:n?.label??e.from}),(0,_.jsx)(`span`,{className:`dg-er-card`,children:f(e.fromCard)}),(0,_.jsx)(`span`,{className:`dg-er-line`}),(0,_.jsx)(`span`,{className:`dg-er-card`,children:f(e.toCard)}),(0,_.jsx)(`b`,{children:r?.label??e.to}),e.label&&(0,_.jsx)(`span`,{className:`dg-er-rlbl`,children:e.label})]},t)})}),s&&(0,_.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(s)})]})}var Pr=1e3,Fr=18,Ir=152,Lr=84,Rr=8,zr=.577,Br=15,Vr=12.5,Hr=[`var(--presence)`,`var(--insight)`,`var(--warning)`,`var(--presence-deep)`];function Ur(e){return Array.isArray(e)?e.map(e=>{if(typeof e==`string`)return{label:e,causes:[]};if(!e||typeof e!=`object`)return null;let t=e,n=typeof t.label==`string`&&t.label?t.label:``,r=(Array.isArray(t.causes)?t.causes:[]).map(e=>{if(typeof e==`string`)return e;if(e&&typeof e==`object`){let t=e,n=t.text??t.label??t.cause??t.name;return typeof n==`string`?n:``}return``}).filter(Boolean);return n||r.length?{label:n||`—`,causes:r}:null}).filter(e=>e!==null).slice(0,Rr):[]}function Wr({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,effect:r,categories:o,footer:c,delay:l}){let u=i[t]||i.share,d=(0,g.useId)().replace(/:/g,``),f=(0,g.useMemo)(()=>Ur(o),[o]),m=(0,g.useMemo)(()=>{if(!f.length)return null;let e=Math.max(0,...f.map(e=>e.causes.length)),t=Math.min(240,Math.max(96,40+e*32)),n=t*zr,r=t*2+110,i=r/2,a=Pr-Fr-Ir-10,o=Math.max(1,Math.ceil(f.length/2)),s=(a-44-n)/o;return{ribH:t,ribDx:n,H:r,spineY:i,spineX1:44,spineX2:a,twigLen:Math.min(150,Math.max(70,s*.72)),ribs:f.map((e,r)=>{let a=Math.floor(r/2),o=r%2==0,c=44+n+s*(a+.62);return{cat:e,top:o,jx:c,tipX:c-n,tipY:o?i-t:i+t,accent:Hr[r%Hr.length]}})}},[f]),h=(0,g.useMemo)(()=>p(typeof r==`string`&&r?r:`—`,{maxWidth:Ir-22,fontSize:16,minFontSize:11,maxLines:3,lineHeight:1.2,bold:!0}),[r]);return(0,_.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(l||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),m?(0,_.jsx)(`div`,{className:`dg-stage fsb-stage`,children:(0,_.jsxs)(`svg`,{viewBox:`0 0 ${Pr} ${m.H}`,className:`dg-svg`,role:`img`,"aria-label":e,children:[(0,_.jsx)(`defs`,{children:(0,_.jsx)(`marker`,{id:`fsb-arrow-${d}`,viewBox:`0 0 10 10`,refX:`8`,refY:`5`,markerWidth:`7`,markerHeight:`7`,orient:`auto`,children:(0,_.jsx)(`path`,{d:`M0 0 L10 5 L0 10 z`,className:`fsb-arrowhead`})})}),(0,_.jsx)(`polygon`,{className:`fsb-tail`,points:`${Fr},${m.spineY-13} ${Fr},${m.spineY+13} 44,${m.spineY}`}),(0,_.jsx)(`line`,{className:`fsb-spine`,x1:m.spineX1,y1:m.spineY,x2:m.spineX2,y2:m.spineY,markerEnd:`url(#fsb-arrow-${d})`}),(0,_.jsx)(`rect`,{className:`fsb-head`,x:m.spineX2+10,y:m.spineY-Lr/2,width:Ir,height:Lr,rx:12}),(0,_.jsx)(`text`,{className:`fsb-effect`,textAnchor:`middle`,fontSize:h.fontSize,children:h.lines.map((e,t)=>(0,_.jsx)(`tspan`,{x:m.spineX2+10+Ir/2,y:m.spineY-(h.lines.length-1)*h.lineHeightPx/2+t*h.lineHeightPx,dominantBaseline:`middle`,children:e},t))}),m.ribs.map((e,t)=>{let n=e.cat.causes.length,r=m.ribH/(n+1)>=30?2:1,i=p(e.cat.label,{maxWidth:132,fontSize:Br,minFontSize:11,maxLines:2,lineHeight:1.15,bold:!0}),a=i.lines.length*i.lineHeightPx,o=e.top?e.tipY-10-a+i.lineHeightPx/2:e.tipY+10+i.lineHeightPx/2;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`line`,{className:`fsb-rib`,x1:e.jx,y1:m.spineY,x2:e.tipX,y2:e.tipY,style:{stroke:e.accent}}),(0,_.jsx)(`text`,{className:`fsb-cat`,textAnchor:`middle`,fontSize:i.fontSize,style:{fill:e.accent},children:i.lines.map((t,n)=>(0,_.jsx)(`tspan`,{x:e.tipX,y:o+n*i.lineHeightPx,dominantBaseline:`middle`,children:t},n))}),e.cat.causes.map((t,i)=>{let a=(n-i)/(n+1),o=e.jx-m.ribDx*a,s=e.top?m.spineY-m.ribH*a:m.spineY+m.ribH*a,c=Math.max(22,o-m.twigLen),l=p(t,{maxWidth:Math.max(40,o-c-10),fontSize:Vr,minFontSize:9,maxLines:r,lineHeight:1.15}),u=t=>e.top?s-4-(l.lines.length-1-t+.5)*l.lineHeightPx:s+4+(t+.5)*l.lineHeightPx;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`line`,{className:`fsb-twig`,x1:o,y1:s,x2:c,y2:s}),(0,_.jsx)(`text`,{className:`fsb-cause`,textAnchor:`end`,fontSize:l.fontSize,children:l.lines.map((e,t)=>(0,_.jsx)(`tspan`,{x:o-8,y:u(t),dominantBaseline:`middle`,children:e},t))})]},i)})]},t)})]})}):(0,_.jsx)(s,{message:`No cause categories to draw`}),c&&(0,_.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(c)})]})}var Gr=512,W=Gr/2,Kr=Gr/2,qr=62,Jr=152,Yr=178,Xr=16,Zr=15,Qr=12,$r=16,ei=8;function ti(e,t){let n=t>0?t*Qr+4:0;return Xr+e*Zr+n+$r+ei}var ni={newEntrants:{dx:0,dy:-1},suppliers:{dx:-1,dy:0},buyers:{dx:1,dy:0},substitutes:{dx:0,dy:1}},ri=[`newEntrants`,`suppliers`,`buyers`,`substitutes`],ii={newEntrants:`Threat of new entrants`,suppliers:`Supplier power`,buyers:`Buyer power`,substitutes:`Threat of substitutes`},G={low:`var(--text-faint)`,medium:`var(--warning)`,high:`var(--danger)`},ai={low:2,medium:3.5,high:5.5},oi={low:`Low`,medium:`Medium`,high:`High`},si=new Set([`low`,`medium`,`high`]);function ci(e){return si.has(e)?e:`medium`}function li(e,t,n){let r=e.trim().split(/\s+/).filter(Boolean),i=[],a=``,o=!1;for(let e of r){let r=a?`${a} ${e}`:e;if(r.length<=t||!a)a=r;else if(i.push(a),a=e,i.length===n){o=!0,a=``;break}}if(a&&i.length<n&&i.push(a),i.length){let e=i.length-1,n=i[e];n.length>t&&(n=n.slice(0,t-1).trimEnd()),(o||i[e].length>t)&&(n=n.replace(/[…\s]*$/,``)+`…`),i[e]=n}return i.length?i:[``]}function ui({title:e,icon:t=`chart`,iconColor:n=`var(--warning)`,industry:r,forces:o,footer:s,delay:c}){let l=i[t]||i.chart,u=Array.isArray(o)?o:[],d=new Map;for(let e of u){if(!e||typeof e!=`object`)continue;let t=e.id;typeof t==`string`&&!d.has(t)&&d.set(t,e)}let f=d.get(`rivalry`),p=f&&si.has(f.strength)?ci(f.strength):null,m=ri.map(e=>{let t=d.get(e);if(!t||typeof t.label!=`string`||!t.label.trim())return null;let{dx:n,dy:r}=ni[e],i=ci(t.strength),a=li(t.label,19,2),o=typeof t.note==`string`?t.note.trim():``,s=o?li(o,24,2):[],c=ti(a.length,s.length),l=W+n*Yr,u=Kr+r*Yr;return{id:e,entry:t,strength:i,dx:n,dy:r,boxCx:l,boxCy:u,h:c,labelLines:a,noteLines:s,hub:{x:W+n*qr,y:Kr+r*qr},rim:{x:l-Jr/2*n,y:u-c/2*r}}}).filter(e=>e!==null),h=li((r||`this market`).trim(),15,1)[0];return(0,_.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(c||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`dg-stage ff-stage`,children:(0,_.jsxs)(`svg`,{viewBox:`0 0 ${Gr} ${Gr}`,className:`dg-svg`,role:`img`,"aria-label":e,preserveAspectRatio:`xMidYMid meet`,children:[m.map(e=>(0,_.jsx)(`line`,{x1:e.hub.x,y1:e.hub.y,x2:e.rim.x,y2:e.rim.y,className:`ff-link`,style:{stroke:G[e.strength],strokeWidth:ai[e.strength]}},`c-${e.id}`)),(0,_.jsx)(`circle`,{cx:W,cy:Kr,r:qr,className:`ff-hub`,style:p?{stroke:G[p]}:void 0}),(0,_.jsx)(`text`,{x:W,y:Kr-12,textAnchor:`middle`,className:`ff-hub-title`,children:`Industry`}),(0,_.jsx)(`text`,{x:W,y:262,textAnchor:`middle`,className:`ff-hub-title`,children:`Rivalry`}),(0,_.jsx)(`text`,{x:W,y:282,textAnchor:`middle`,className:`ff-hub-sub`,children:h}),p&&(0,_.jsx)(`text`,{x:W,y:298,textAnchor:`middle`,className:`ff-strength`,style:{fill:G[p]},children:oi[p]}),m.map(e=>{let t=e.boxCx-Jr/2,n=e.boxCy-e.h/2,r=n+Xr+Zr-4;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`rect`,{x:t,y:n,width:Jr,height:e.h,rx:12,className:`ff-box`,style:{stroke:G[e.strength]}}),(0,_.jsx)(`rect`,{x:t,y:n,width:4,height:e.h,rx:2,fill:G[e.strength]}),(0,_.jsx)(`text`,{x:e.boxCx,y:n+15,textAnchor:`middle`,className:`ff-slot-lbl`,children:ii[e.id]}),(0,_.jsx)(`text`,{textAnchor:`middle`,className:`ff-box-lbl`,children:e.labelLines.map((t,n)=>(0,_.jsx)(`tspan`,{x:e.boxCx,y:r+n*Zr,children:t},n))}),e.noteLines.length>0&&(0,_.jsx)(`text`,{textAnchor:`middle`,className:`ff-box-note`,children:e.noteLines.map((t,n)=>(0,_.jsx)(`tspan`,{x:e.boxCx,y:r+e.labelLines.length*Zr+3+n*Qr,children:t},n))}),(0,_.jsx)(`text`,{x:t+Jr-10,y:n+e.h-9,textAnchor:`end`,className:`ff-strength`,style:{fill:G[e.strength]},children:oi[e.strength]})]},e.id)})]})}),s&&(0,_.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(s)})]})}var di=520,fi=24,pi=16,mi=16,hi=di-fi*2,gi=22,_i=16,vi=14,yi=13,bi=56,xi=46,Si=15,Ci=8;function wi(e,t,n){let r=e.trim().split(/\s+/).filter(Boolean),i=[],a=``,o=!1;for(let e of r){let r=a?`${a} ${e}`:e;if(r.length<=t||!a)a=r;else if(i.push(a),a=e,i.length===n){o=!0,a=``;break}}if(a&&i.length<n&&i.push(a),i.length){let e=i.length-1,n=i[e];n.length>t&&(n=n.slice(0,t-1).trimEnd()),(o||i[e].length>t)&&(n=n.replace(/[…\s]*$/,``)+`…`),i[e]=n}return i.length?i:[``]}function Ti(e,t){let n=e?e*yi+4:0,r=t*_i;return Math.max(bi,36+n+r)}function Ei({title:e,icon:t=`eye`,iconColor:n=`var(--presence)`,problem:r,whys:o,rootCause:s,footer:c,delay:l}){let u=i[t]||i.eye,d=typeof s==`string`?s.trim():``,{rows:f,vbH:p}=(0,g.useMemo)(()=>{let e=[],t=pi,n=wi(typeof r==`string`?r:``,xi,3),i=Ti(0,n.length);e.push({kind:`problem`,badge:`Problem`,questionLines:[],answerLines:n,h:i,y:t}),t+=i+gi;let a=(Array.isArray(o)?o:[]).filter(e=>!!e&&typeof e==`object`&&typeof e.answer==`string`&&e.answer.trim()!==``),s=a.length-1;if(a.forEach((n,r)=>{let i=r===s&&!d,a=typeof n.question==`string`?n.question.trim():``,o=a?wi(a,xi,2):[],c=wi(n.answer,xi,3),l=Ti(o.length,c.length);e.push({kind:i?`root`:`why`,badge:`Why ${r+1}`,questionLines:o,answerLines:c,h:l,y:t}),t+=l+gi}),d){let n=wi(d,xi,3),r=Ti(0,n.length);e.push({kind:`root`,badge:`Root cause`,questionLines:[],answerLines:n,h:r,y:t}),t+=r+gi}return{rows:e,vbH:Math.max(120,t-gi+mi)}},[r,o,d]);return(0,_.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(l||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`dg-stage fwy-stage`,children:(0,_.jsxs)(`svg`,{viewBox:`0 0 ${di} ${p}`,className:`dg-svg`,role:`img`,"aria-label":e,preserveAspectRatio:`xMidYMid meet`,children:[(0,_.jsx)(`defs`,{children:(0,_.jsx)(`marker`,{id:`fwy-arrow`,viewBox:`0 0 10 10`,refX:`6`,refY:`5`,markerWidth:`6`,markerHeight:`6`,orient:`auto-start-reverse`,children:(0,_.jsx)(`path`,{d:`M0 0 L10 5 L0 10 z`,className:`fwy-arrowhead`})})}),f.slice(1).map((e,t)=>{let n=f[t],r=di/2;return(0,_.jsx)(`line`,{x1:r,y1:n.y+n.h,x2:r,y2:e.y-5,className:`fwy-link`,markerEnd:`url(#fwy-arrow)`},`link-${t}`)}),f.map((e,t)=>{let n=e.y+Si,r=e.y+vi+9+Ci,i=e.questionLines.length>0?r+e.questionLines.length*yi+4:r;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`rect`,{x:fi,y:e.y,width:hi,height:e.h,rx:12,className:`fwy-card fwy-card--${e.kind}`}),(0,_.jsx)(`rect`,{x:fi,y:e.y,width:4,height:e.h,rx:2,className:`fwy-rail fwy-rail--${e.kind}`}),(0,_.jsx)(`text`,{x:40,y:n,className:`fwy-badge fwy-badge--${e.kind}`,children:e.badge}),e.questionLines.length>0&&(0,_.jsx)(`text`,{className:`fwy-question`,children:e.questionLines.map((e,t)=>(0,_.jsx)(`tspan`,{x:40,y:r+t*yi,children:e},t))}),(0,_.jsx)(`text`,{className:`fwy-answer fwy-answer--${e.kind}`,children:e.answerLines.map((e,t)=>(0,_.jsx)(`tspan`,{x:40,y:i+t*_i,children:e},t))})]},t)})]})}),c&&(0,_.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(c)})]})}var Di=640,Oi=20,ki=20,Ai=20,ji=92,Mi=22,Ni=13,Pi=116;function Fi(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function Ii(e,t,n){let r=e.trim().split(/\s+/).filter(Boolean),i=[],a=``,o=!1;for(let e of r){let r=a?`${a} ${e}`:e;if(r.length<=t||!a)a=r;else if(i.push(a),a=e,i.length===n){o=!0,a=``;break}}if(a&&i.length<n&&i.push(a),i.length){let e=i.length-1,n=i[e];n.length>t&&(n=n.slice(0,t-1).trimEnd()),(o||i[e].length>t)&&(n=n.replace(/[…\s]*$/,``)+`…`),i[e]=n}return i.length?i:[``]}function Li({title:e,icon:t=`globe`,iconColor:n=`var(--insight)`,tiers:r,organisms:o,links:s,footer:c,delay:l}){let u=i[t]||i.globe,d=(0,g.useMemo)(()=>Array.isArray(r)?r.filter(e=>typeof e==`string`):[],[r]),{placed:f,byId:p}=(0,g.useMemo)(()=>{let e=Math.max(0,d.length-1),t=new Map;(Array.isArray(o)?o:[]).forEach((n,r)=>{if(!n||typeof n!=`object`)return;let i=typeof n.label==`string`?n.label.trim():``;if(!i)return;let a=typeof n.id==`string`&&n.id.trim()?n.id.trim():`org-${r}`,o=Number.isFinite(n.tier)?Math.min(e,Math.max(0,Math.round(n.tier))):0,s=t.get(o)??[];s.push({id:a,label:i,tier:o}),t.set(o,s)});let n=Di-Pi-Oi,r=[];for(let[i,a]of t){let t=ki+(e-i)*ji+ji/2;a.forEach((e,i)=>{let o=Pi+(i+.5)/a.length*n;r.push({...e,cx:o,cy:t})})}return{placed:r,byId:new Map(r.map(e=>[e.id,e]))}},[o,d.length]),m=(0,g.useMemo)(()=>(Array.isArray(s)?s:[]).map(e=>{if(!e||typeof e!=`object`)return null;let t=e,n=p.get(typeof t.from==`string`?t.from:``),r=p.get(typeof t.to==`string`?t.to:``);return!n||!r||n.id===r.id?null:{from:n,to:r}}).filter(e=>e!==null),[s,p]),h=Math.max(160,d.length*ji+ki+Ai),v=Math.max(0,d.length-1);return f.length===0?(0,_.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(l||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`p`,{className:`fwb-empty`,children:`No organisms to diagram.`})]}):(0,_.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(l||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`dg-stage fwb-stage`,children:(0,_.jsxs)(`svg`,{viewBox:`0 0 ${Di} ${h}`,className:`dg-svg`,role:`img`,"aria-label":e,preserveAspectRatio:`xMidYMid meet`,children:[(0,_.jsx)(`defs`,{children:(0,_.jsx)(`marker`,{id:`fwb-arrow`,viewBox:`0 0 10 10`,refX:`7`,refY:`5`,markerWidth:`6`,markerHeight:`6`,orient:`auto-start-reverse`,children:(0,_.jsx)(`path`,{d:`M0 0 L10 5 L0 10 z`,className:`fwb-arrowhead`})})}),d.map((e,t)=>{let n=ki+(v-t)*ji,r=Ii(e,14,2),i=n+ji/2-(r.length-1)*12/2+4;return(0,_.jsxs)(`g`,{children:[t>0&&(0,_.jsx)(`line`,{x1:Oi,y1:n,x2:Di-Oi,y2:n,className:`fwb-tier-line`}),(0,_.jsx)(`text`,{x:Oi,className:`fwb-tier-lbl`,children:r.map((e,t)=>(0,_.jsx)(`tspan`,{x:Oi,y:i+t*12,children:e},t))})]},t)}),(0,_.jsx)(`line`,{x1:Pi-12,y1:ki,x2:Pi-12,y2:h-Ai,className:`fwb-gutter-line`}),m.map((e,t)=>{let n=e.to.cx-e.from.cx,r=e.to.cy-e.from.cy,i=Math.hypot(n,r)||1,a=Math.min(40,i*.22),o=(e.from.cx+e.to.cx)/2-r/i*a,s=(e.from.cy+e.to.cy)/2+n/i*a,c=Math.atan2(s-e.from.cy,o-e.from.cx),l=Math.atan2(s-e.to.cy,o-e.to.cx),u=e.from.cx+Math.cos(c)*Mi,d=e.from.cy+Math.sin(c)*Mi,f=e.to.cx+Math.cos(l)*30,p=e.to.cy+Math.sin(l)*30;return(0,_.jsx)(`path`,{d:`M ${u.toFixed(1)} ${d.toFixed(1)} Q ${o.toFixed(1)} ${s.toFixed(1)} ${f.toFixed(1)} ${p.toFixed(1)}`,className:`fwb-link`,markerEnd:`url(#fwb-arrow)`},t)}),f.map(e=>(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`circle`,{cx:e.cx,cy:e.cy,r:Mi,className:`fwb-node`}),(0,_.jsxs)(`text`,{x:e.cx,y:e.cy+Mi+14,textAnchor:`middle`,className:`fwb-node-lbl`,children:[e.label.length>Ni&&(0,_.jsx)(`title`,{children:e.label}),Fi(e.label,Ni)]})]},e.id))]})}),c&&(0,_.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(c)})]})}var Ri=340,zi=280,Bi=22,Vi=12,Hi=Math.max(3,Math.floor(Bi*2*.82/6.4));function Ui(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function Wi(e){let t=Math.min(e.length,Vi);return e.slice(0,t).map((e,n)=>{let r=e.x===void 0?Ri/2+120*Math.cos(2*Math.PI*n/t-Math.PI/2):e.x/100*Ri,i=e.y===void 0?zi/2+100*Math.sin(2*Math.PI*n/t-Math.PI/2):e.y/100*zi;return{id:e.id,label:e.label??e.id,cx:r,cy:i}})}function Gi({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,nodes:r,edges:o,steps:s,algorithm:c=`bfs`,footer:l,delay:u}){let d=i[t]??i.share,f=`gt-arrow-${(0,g.useId)().replace(/:/g,``)}`,p=`url(#${f})`,[m,h]=(0,g.useState)(0),v=s[Math.min(m,s.length-1)],y=e=>h(Math.min(s.length-1,Math.max(0,e))),b=(0,g.useMemo)(()=>Wi(r),[r]),x=(0,g.useMemo)(()=>new Map(b.map(e=>[e.id,e])),[b]),S=e=>v?v.current===e?`current`:v.frontier?.includes(e)?`frontier`:v.visited?.includes(e)?`visited`:`none`:`none`,C=o.some(e=>e.directed);return(0,_.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u??0)+`ms`},children:[e&&(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`p`,{className:`dg-at-caption`,"aria-live":`polite`,children:v?.caption??``}),(0,_.jsx)(`div`,{className:`gt-stage`,children:(0,_.jsxs)(`svg`,{viewBox:`0 0 ${Ri} ${zi}`,className:`gt-svg`,role:`img`,"aria-label":e??`Graph traversal`,children:[(0,_.jsx)(`defs`,{children:(0,_.jsx)(`marker`,{id:f,markerWidth:`8`,markerHeight:`8`,refX:`7`,refY:`4`,orient:`auto`,children:(0,_.jsx)(`path`,{d:`M0,0 L8,4 L0,8 Z`,className:`gt-arrowhead`})})}),o.map((e,t)=>{let n=x.get(e.from),r=x.get(e.to);if(!n||!r)return null;let i=r.cx-n.cx,a=r.cy-n.cy,o=Math.sqrt(i*i+a*a)||1,s=n.cx+i/o*24,c=n.cy+a/o*24,l=r.cx-i/o*28,u=r.cy-a/o*28,d=(s+l)/2,f=(c+u)/2;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`line`,{x1:s,y1:c,x2:l,y2:u,className:`gt-edge`,markerEnd:e.directed||C?p:void 0}),e.weight!==void 0&&(0,_.jsx)(`text`,{x:d,y:f-6,textAnchor:`middle`,className:`gt-weight`,children:e.weight})]},`e${t}`)}),b.map(e=>{let t=S(e.id);return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`circle`,{cx:e.cx,cy:e.cy,r:Bi,className:`gt-node gt-node-${t}`}),(0,_.jsxs)(`text`,{x:e.cx,y:e.cy+5,textAnchor:`middle`,className:`gt-label gt-label-${t}`,children:[e.label.length>Hi&&(0,_.jsx)(`title`,{children:e.label}),Ui(e.label,Hi)]})]},e.id)})]})}),v&&(0,_.jsxs)(`div`,{className:`gt-state-panel`,children:[(0,_.jsxs)(`div`,{className:`gt-state-row`,children:[(0,_.jsxs)(`span`,{className:`gt-state-key`,children:[c===`bfs`?`Queue`:`Stack`,`:`]}),(0,_.jsx)(`div`,{className:`gt-chips`,children:v.frontier&&v.frontier.length>0?v.frontier.map(e=>(0,_.jsx)(`span`,{className:`gt-chip gt-chip-frontier`,children:x.get(e)?.label??e},e)):(0,_.jsx)(`span`,{className:`gt-chip-empty`,children:`—`})})]}),(0,_.jsxs)(`div`,{className:`gt-state-row`,children:[(0,_.jsx)(`span`,{className:`gt-state-key`,children:`Visited:`}),(0,_.jsx)(`div`,{className:`gt-chips`,children:v.visited&&v.visited.length>0?v.visited.map(e=>(0,_.jsx)(`span`,{className:`gt-chip gt-chip-visited`,children:x.get(e)?.label??e},e)):(0,_.jsx)(`span`,{className:`gt-chip-empty`,children:`—`})})]})]}),(0,_.jsxs)(`div`,{className:`dg-at-controls`,children:[(0,_.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>y(m-1),disabled:m===0,"aria-label":`previous step`,children:[(0,_.jsx)(i.chevL,{className:`ic`}),` Prev`]}),(0,_.jsx)(`div`,{className:`dg-at-progress`,"aria-hidden":`true`,children:s.map((e,t)=>(0,_.jsx)(`span`,{className:`dg-at-dot`+(t===m?` on`:t<m?` done`:``)},t))}),(0,_.jsxs)(`span`,{className:`dg-at-count`,children:[Math.min(m+1,s.length),` / `,s.length]}),(0,_.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>y(m+1),disabled:m>=s.length-1,"aria-label":`next step`,children:[`Next `,(0,_.jsx)(i.chevR,{className:`ic`})]})]}),l&&(0,_.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(l)})]})}var Ki=68,qi=36,Ji=4,K=96,Yi=32,Xi=8,Zi=28,Qi=16,$i=8,ea=6;function ta(e,t){if(t<=0)return 0;if(typeof e==`number`)return(e%t+t)%t;let n=0;for(let t=0;t<e.length;t++)n=n*31+e.charCodeAt(t)&2147483647;return(n%t+t)%t}function na({title:e,icon:t=`layers`,iconColor:n=`var(--presence)`,size:r,entries:o,hashFn:s,highlight:c,footer:l,delay:u}){let d=i[t]??i.layers,f=`ht-arrow-${(0,g.useId)().replace(/:/g,``)}`,p=`url(#${f})`,m=Math.min(Math.max(1,Math.floor(r)),$i),h=(0,g.useMemo)(()=>{let e=Array.from({length:m},()=>[]);for(let t of o){let n=t.bucket===void 0?ta(t.key,m):Math.max(0,Math.min(m-1,t.bucket));e[n].length<ea&&e[n].push({key:t.key,value:t.value})}return e},[o,m]),v=92+Math.max(0,...h.map(e=>e.length))*104+Zi+Xi+Qi,y=Qi+m*40-Ji+Qi,b=e=>Qi+e*40,x=e=>b(e)+qi/2,S=e=>92+e*104,C=e=>b(e)+(qi-Yi)/2;return(0,_.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u??0)+`ms`},children:[e&&(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),s&&(0,_.jsx)(`div`,{className:`ht-hashfn`,children:s}),(0,_.jsx)(`div`,{className:`ht-wrap`,children:(0,_.jsxs)(`svg`,{viewBox:`0 0 ${v} ${y}`,className:`ht-svg`,role:`img`,"aria-label":e??`Hash table`,children:[(0,_.jsx)(`defs`,{children:(0,_.jsx)(`marker`,{id:f,markerWidth:`7`,markerHeight:`7`,refX:`6`,refY:`3.5`,orient:`auto`,children:(0,_.jsx)(`path`,{d:`M0,0 L7,3.5 L0,7 Z`,className:`ht-arrowhead`})})}),h.map((e,t)=>{let n=Qi,r=b(t),i=x(t);return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`rect`,{x:n,y:r,width:Ki,height:qi,className:`ht-bucket`}),(0,_.jsxs)(`text`,{x:50,y:r+qi/2+5,textAnchor:`middle`,className:`ht-bucket-idx`,children:[`[`,t,`]`]}),e.map((e,n)=>{let r=S(n),a=C(t),o=a+Yi/2,s=`ht-node`+(c!==void 0&&String(e.key)===String(c)?` ht-active`:``),l=e.value===void 0?String(e.key):`${e.key}: ${e.value}`,u=l.length>10?10:12,d=l.length>13;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`line`,{x1:n===0?84:S(n-1)+K,y1:i,x2:r-2,y2:o,className:`ht-chain`,markerEnd:p}),(0,_.jsx)(`rect`,{x:r,y:a,width:K,height:Yi,rx:4,className:s}),(0,_.jsx)(`text`,{x:r+K/2,y:a+Yi/2+5,textAnchor:`middle`,className:`ht-node-text`,style:{fontSize:u},...d?{textLength:K-12,lengthAdjust:`spacingAndGlyphs`}:{},children:l})]},`node-${t}-${n}`)}),(()=>{let n=e.length===0?92:S(e.length-1)+K+Xi,r=x(t)-9;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`line`,{x1:e.length===0?84:S(e.length-1)+K,y1:i,x2:n-2,y2:i,className:`ht-chain`,markerEnd:p}),(0,_.jsx)(`rect`,{x:n,y:r,width:Zi,height:18,rx:3,className:`ht-null`}),(0,_.jsx)(`text`,{x:n+Zi/2,y:r+13,textAnchor:`middle`,className:`ht-null-text`,children:`∅`})]},`null-${t}`)})()]},`bucket-${t}`)})]})}),l&&(0,_.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(l)})]})}var ra=34,ia=26,aa=22,oa=18,sa=22,ca=16;function la(e,t){let n=t.length>0&&t.every(e=>e===1),r=t.some(e=>e===1),i=t.reduce((e,t)=>e+t,0)%2==1;switch(e){case`AND`:return+!!n;case`NAND`:return+!n;case`OR`:return+!!r;case`NOR`:return+!r;case`XOR`:return+!!i;case`XNOR`:return+!i;case`NOT`:return t[0]===1?0:1;default:return 0}}function ua(e){let t=e===`NOT`||e===`NAND`||e===`NOR`||e===`XNOR`,n=e===`NAND`?`AND`:e===`NOR`?`OR`:e===`XNOR`?`XOR`:e,r=aa/2,i=oa/2,a;return a=n===`AND`||e===`NOT`?e===`NOT`?(0,_.jsx)(`polygon`,{points:`-11,-9 -11,${i} ${r-2},0`,fill:`none`}):(0,_.jsx)(`path`,{d:`M -11,-9 L 0,-9 A ${i},${i} 0 0 1 0,${i} L -11,${i} Z`,fill:`none`}):(0,_.jsxs)(_.Fragment,{children:[(n===`XOR`||e===`XOR`)&&(0,_.jsx)(`path`,{d:`M -14,-9 Q -9,0 -14,${i}`,fill:`none`}),(0,_.jsx)(`path`,{d:`${`M -11,-9 Q -6,0 -11,${i}`} Q -2,${i} ${r-1},0 Q -2,-9 -11,-9 Z`,fill:`none`})]}),(0,_.jsxs)(`g`,{className:`dg-lg-gate-body`,children:[a,t&&(0,_.jsx)(`circle`,{cx:12.4,cy:0,r:1.6,fill:`none`,className:`dg-lg-bubble`})]})}var da=e=>e===1?`dg-lg-wire on`:`dg-lg-wire`,fa=3.1,pa=10;function ma(e){return e.length>pa?e.slice(0,pa-1).trimEnd()+`…`:e}function ha({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,inputs:r,gates:o,output:s,truth:c,caption:l,footer:u,delay:d}){let f=i[t]||i.share,p=`dg-lg-${(0,g.useId)().replace(/:/g,``)}`,{placed:m,viewW:h,viewH:v,outValue:y,outY:b,outLabel:x,outX:S}=(0,g.useMemo)(()=>{let e=new Map,t=new Map(o.map(e=>[e.id,e]));r.forEach((t,n)=>{e.set(t.id,{id:t.id,x:sa,y:ca+n*ia,value:t.value??0})});let n=new Map,i=new Set,a=e=>{if(n.has(e))return n.get(e);let r=t.get(e);if(!r||i.has(e))return 0;i.add(e);let o=1+Math.max(0,...r.inputs.map(e=>a(e)));return i.delete(e),n.set(e,o),o},c=0;for(let e of o)c=Math.max(c,a(e.id));let l=new Map;for(let e of o){let t=a(e.id);l.has(t)||l.set(t,[]),l.get(t).push(e)}for(let t=1;t<=c;t++)(l.get(t)??[]).forEach((n,r)=>{let i=n.inputs.map(t=>e.get(t)?.value??0),a=la(n.kind,i);e.set(n.id,{id:n.id,x:sa+t*ra,y:ca+r*ia+t%2*4,value:a})});let u=Math.max(r.length,...[...l.values()].map(e=>e.length),1),d=ma(s?.label??`Y`),f=d.length*fa/2,p=sa+(c+1)*ra+14,m=p+Math.max(0,f-6),h=ca*2+u*ia,g=p-8,_=s?e.get(s.from):void 0;return{placed:e,viewW:m,viewH:h,outValue:_?.value??0,outY:_?.y??ca,outLabel:d,outX:g}},[r,o,s]),C=r.map(e=>e.value??0).join(``),w=c?.findIndex(e=>e.row.join(``)===C)??-1;return(0,_.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(d||0)+`ms`},children:[e&&(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(f,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsxs)(`div`,{className:`dg-lg`+(c&&c.length?` has-truth`:``),children:[(0,_.jsx)(`div`,{className:`dg-lg-circuit`,children:(0,_.jsxs)(`svg`,{viewBox:`0 0 ${h} ${v}`,className:`dg-lg-svg`,role:`img`,"aria-label":e||`logic circuit`,children:[(0,_.jsx)(`defs`,{children:(0,_.jsx)(`marker`,{id:p,markerWidth:`5`,markerHeight:`5`,refX:`4`,refY:`2.5`,orient:`auto`,children:(0,_.jsx)(`path`,{d:`M0,0 L5,2.5 L0,5 Z`,className:`dg-lg-arrowhead`})})}),o.map(e=>{let t=m.get(e.id);if(!t)return null;let n=e.kind===`NOT`?1:e.inputs.length;return e.inputs.slice(0,n).map((r,i)=>{let a=m.get(r);if(!a)return null;let o=t.y+(i-(n-1)/2)*(oa/Math.max(2,n+.5)),s=t.x-aa/2;return(0,_.jsx)(`polyline`,{points:`${a.x+3},${a.y} ${(a.x+s)/2},${a.y} ${(a.x+s)/2},${o} ${s},${o}`,className:da(a.value),fill:`none`},`${e.id}-${r}-${i}`)})}),s&&m.get(s.from)&&(()=>{let e=m.get(s.from),t=S;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`polyline`,{points:`${e.x+aa/2+2},${e.y} ${t},${e.y} ${t},${b}`,className:da(y),fill:`none`,markerEnd:`url(#${p})`}),(0,_.jsx)(`text`,{x:t,y:b-4,className:`dg-lg-pin`,textAnchor:`middle`,children:x}),(0,_.jsx)(`text`,{x:t,y:b+9,className:`dg-lg-bit`+(y?` on`:``),textAnchor:`middle`,children:y})]})})(),r.map(e=>{let t=m.get(e.id);if(!t)return null;let n=e.value??0;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`text`,{x:t.x-16,y:t.y+3,className:`dg-lg-in-lbl`,textAnchor:`start`,children:e.label}),(0,_.jsx)(`circle`,{cx:t.x,cy:t.y,r:3.4,className:`dg-lg-pad`+(n?` on`:``)}),(0,_.jsx)(`text`,{x:t.x,y:t.y+2.4,className:`dg-lg-bit`+(n?` on`:``),textAnchor:`middle`,children:n})]},e.id)}),o.map(e=>{let t=m.get(e.id);return t?(0,_.jsxs)(`g`,{transform:`translate(${t.x} ${t.y})`,children:[ua(e.kind),(0,_.jsx)(`text`,{x:0,y:15,className:`dg-lg-glbl`,textAnchor:`middle`,children:e.kind})]},e.id):null})]})}),c&&c.length>0&&(0,_.jsx)(`div`,{className:`dg-lg-truth-wrap`,children:(0,_.jsxs)(`table`,{className:`dg-lg-truth`,children:[(0,_.jsx)(`thead`,{children:(0,_.jsxs)(`tr`,{children:[r.map(e=>(0,_.jsx)(`th`,{children:e.label},e.id)),(0,_.jsx)(`th`,{className:`dg-lg-out-col`,children:s?.label??`Y`})]})}),(0,_.jsx)(`tbody`,{children:c.map((e,t)=>(0,_.jsxs)(`tr`,{className:t===w?`on`:void 0,children:[e.row.map((e,t)=>(0,_.jsx)(`td`,{className:e?`bit on`:`bit`,children:e},t)),(0,_.jsx)(`td`,{className:`bit dg-lg-out-col`+(e.out?` on`:``),children:e.out})]},t))})]})})]}),l&&(0,_.jsx)(`p`,{className:`dg-lg-cap`,children:l}),u&&(0,_.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(u)})]})}var ga=1e3,_a=90,va=26,ya=62,ba=300,xa=9,Sa=10,Ca=13,wa=13,Ta=16;function Ea(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function Da(e){let t=typeof e==`number`?e:Number(e);return Number.isFinite(t)&&t>0?Math.round(t):0}function Oa(e,t){return t<=0?212:ya+(e+.5)/t*ba}function ka({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,layers:r,connections:o=`dense`,highlight:s,footer:c,delay:l}){let u=i[t]||i.share,d=(0,g.useMemo)(()=>Array.isArray(r)?r:[],[r]),f=(0,g.useMemo)(()=>{let e=d.length;return d.map((t,n)=>{let r=Da(t?.units),i=r>xa,a=i?xa-1:r;return{layer:t,colX:e<=1?ga/2:_a+n/(e-1)*(ga-_a*2),realCount:a,totalUnits:r,hasMore:i,moreCount:i?r-a:0}})},[d]),p=e=>e.realCount+ +!!e.hasMore,m=(0,g.useMemo)(()=>{if(!s||!Number.isInteger(s.layer)||!Number.isInteger(s.unit))return null;let e=f[s.layer];return!e||s.unit<0||s.unit>=e.realCount?null:{layer:s.layer,unit:s.unit}},[s,f]),h=(e,t)=>!!m&&m.layer===e&&m.unit===t,v=(0,g.useMemo)(()=>{let e=[];for(let t=0;t<f.length-1;t++){let n=f[t],r=f[t+1],i=p(n),a=p(r);for(let s=0;s<n.realCount;s++){let c=Oa(s,i);for(let i=0;i<r.realCount;i++){if(o===`sparse`&&Math.abs(s-i)>1)continue;let l=Oa(i,a),u=h(t,s)||h(t+1,i);e.push({x1:n.colX,y1:c,x2:r.colX,y2:l,hi:u})}}}return e.sort((e,t)=>Number(e.hi)-Number(t.hi))},[f,o,m]);return(0,_.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(l||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`dg-stage nn-stage`,children:(0,_.jsxs)(`svg`,{viewBox:`0 0 ${ga} 426`,className:`dg-svg`,role:`img`,"aria-label":e,children:[v.map((e,t)=>(0,_.jsx)(`line`,{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,className:e.hi?`nn-edge nn-edge-hi`:`nn-edge`},t)),f.map((e,t)=>{let n=typeof e.layer?.name==`string`&&e.layer.name?e.layer.name:`Layer ${t+1}`,r=p(e);return(0,_.jsxs)(`g`,{children:[(0,_.jsxs)(`text`,{x:e.colX,y:va,className:`nn-name`,textAnchor:`middle`,children:[n.length>wa&&(0,_.jsx)(`title`,{children:n}),Ea(n,wa)]}),Array.from({length:e.realCount},(n,i)=>(0,_.jsx)(`circle`,{cx:e.colX,cy:Oa(i,r),r:Sa,className:h(t,i)?`nn-node nn-node-hi`:`nn-node`},i)),e.hasMore&&(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`circle`,{cx:e.colX,cy:Oa(e.realCount,r),r:Ca,className:`nn-more-dot`}),(0,_.jsxs)(`text`,{x:e.colX,y:Oa(e.realCount,r)+4,className:`nn-more-label`,textAnchor:`middle`,children:[`+`,e.moreCount]})]}),(0,_.jsxs)(`text`,{x:e.colX,y:388,className:`nn-meta`,textAnchor:`middle`,children:[e.totalUnits,` unit`,e.totalUnits===1?``:`s`]}),e.layer?.activation&&(0,_.jsx)(`text`,{x:e.colX,y:406,className:`nn-meta nn-act`,textAnchor:`middle`,children:Ea(e.layer.activation,Ta)})]},t)})]})}),c&&(0,_.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(c)})]})}var Aa=100,ja=60;function Ma(e){switch(e){case`tank`:return(0,_.jsxs)(`g`,{className:`dg-pip-glyph`,children:[(0,_.jsx)(`rect`,{x:-7,y:-8,width:14,height:16,rx:3,fill:`none`}),(0,_.jsx)(`line`,{x1:-7,y1:3,x2:7,y2:3,className:`dg-pip-fluid`})]});case`pump`:return(0,_.jsxs)(`g`,{className:`dg-pip-glyph`,children:[(0,_.jsx)(`circle`,{cx:0,cy:0,r:7,fill:`none`}),(0,_.jsx)(`line`,{x1:0,y1:0,x2:6,y2:0}),(0,_.jsx)(`line`,{x1:0,y1:0,x2:-3.5,y2:5.5}),(0,_.jsx)(`line`,{x1:0,y1:0,x2:-3.5,y2:-5.5})]});case`valve`:return(0,_.jsxs)(`g`,{className:`dg-pip-glyph`,children:[(0,_.jsx)(`polygon`,{points:`-6,-5 -6,5 0,0`,fill:`none`}),(0,_.jsx)(`polygon`,{points:`6,-5 6,5 0,0`,fill:`none`})]});case`heater`:return(0,_.jsxs)(`g`,{className:`dg-pip-glyph`,children:[(0,_.jsx)(`rect`,{x:-8,y:-6,width:16,height:12,rx:2,fill:`none`}),(0,_.jsx)(`path`,{d:`M -6,0 q 1.5,-4 3,0 t 3,0 t 3,0`,fill:`none`})]});case`filter`:return(0,_.jsxs)(`g`,{className:`dg-pip-glyph`,children:[(0,_.jsx)(`polygon`,{points:`-6,-6 6,-6 0,7`,fill:`none`}),(0,_.jsx)(`line`,{x1:-3.4,y1:-2,x2:3.4,y2:-2,className:`dg-pip-fluid`})]});case`sensor`:return(0,_.jsxs)(`g`,{className:`dg-pip-glyph`,children:[(0,_.jsx)(`circle`,{cx:0,cy:0,r:6.5,fill:`none`}),(0,_.jsx)(`line`,{x1:-6.5,y1:0,x2:6.5,y2:0,className:`dg-pip-thin`})]});case`fitting`:return(0,_.jsx)(`g`,{className:`dg-pip-glyph`,children:(0,_.jsx)(`circle`,{cx:0,cy:0,r:2.4,className:`dg-pip-fill`})});default:return(0,_.jsx)(`g`,{className:`dg-pip-glyph`,children:(0,_.jsx)(`rect`,{x:-7,y:-2.6,width:14,height:5.2,rx:1.4,fill:`none`})})}}function Na({title:e,icon:t=`sliders`,iconColor:n=`var(--insight)`,components:r,lines:o,caption:s,footer:c,delay:l}){let u=i[t]||i.sliders,d=`dg-pip-arrow-${(0,g.useId)().replace(/:/g,``)}`,f=`url(#${d})`,p=(0,g.useMemo)(()=>{let e=Math.max(1,r.length),t=Math.min(e,Math.ceil(Math.sqrt(e)*1.5)),n=Math.ceil(e/t),i=Aa/(t+1),a=ja/(n+1),o={};return r.forEach((e,n)=>{if(e.x!==void 0&&e.y!==void 0)o[e.id]={x:e.x,y:e.y};else{let r=Math.floor(n/t),s=n%t;o[e.id]={x:i*(s+1),y:a*(r+1)}}}),o},[r]);return(0,_.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(l||0)+`ms`},children:[e&&(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`dg-pip`,children:(0,_.jsxs)(`svg`,{viewBox:`-8 -9 116 80`,className:`dg-pip-svg`,role:`img`,"aria-label":e||`piping schematic`,children:[(0,_.jsx)(`defs`,{children:(0,_.jsx)(`marker`,{id:d,markerWidth:`6`,markerHeight:`6`,refX:`4.5`,refY:`3`,orient:`auto`,children:(0,_.jsx)(`path`,{d:`M0,0 L6,3 L0,6 Z`,className:`dg-pip-arrowhead`})})}),o.map((e,t)=>{let n=p[e.from],r=p[e.to];if(!n||!r)return null;let i=r.x,a=n.y;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`polyline`,{points:`${n.x},${n.y} ${i},${a} ${r.x},${r.y}`,className:`dg-pip-line`,fill:`none`,markerEnd:e.flow?f:void 0}),e.size&&(0,_.jsx)(`text`,{x:(n.x+i)/2,y:a-1.8,className:`dg-pip-size`,textAnchor:`middle`,children:e.size})]},t)}),r.map(e=>{let t=p[e.id];return t?(0,_.jsxs)(`g`,{transform:`translate(${t.x} ${t.y})`,children:[Ma(e.kind),e.label&&(0,_.jsx)(`text`,{x:0,y:13.5,className:`dg-pip-lbl`,textAnchor:`middle`,children:e.label})]},e.id):null})]})}),s&&(0,_.jsx)(`p`,{className:`dg-pip-cap`,children:s}),c&&(0,_.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(c)})]})}var Pa=100,Fa=100,q=72,Ia=q-7,La=79,Ra=88,za=102,Ba=11,Va={gene:`var(--presence)`,promoter:`var(--insight)`,terminator:`var(--warning)`,marker:`var(--danger)`},Ha=11;function Ua(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function Wa(e,t){return!Number.isFinite(e)||t<=0?0:(e%t+t)%t}function Ga(e,t){return Wa(e,t)/t*360}function J(e,t){let n=(e-90)*Math.PI/180;return{x:Pa+t*Math.cos(n),y:Fa+t*Math.sin(n)}}function Ka(e){let t=[...e].sort((e,t)=>e.deg-t.deg),n=[],r=null;for(let e of t){let t=r===null||Math.abs(e.deg-r)>=Ba;n.push({...e,r:t?Ra:za}),t&&(r=e.deg)}return n}function qa(e,t=0){return typeof e==`number`&&Number.isFinite(e)?e:t}function Ja({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,sizeBp:r,features:o,sites:s,origin:c,footer:l,delay:u}){let d=i[t]||i.share,f=`pm-arrow-${(0,g.useId)().replace(/:/g,``)}`,p=Number.isFinite(r)&&r>0?r:1,m=(0,g.useMemo)(()=>Array.isArray(o)?o:[],[o]),h=(0,g.useMemo)(()=>Array.isArray(s)?s:[],[s]),v=(0,g.useMemo)(()=>m.map((e,t)=>{let n=Ga(qa(e.startBp),p),r=Ga(qa(e.endBp),p),i=((r-n)%360+360)%360,a=+(i>180),o=J(n,q),s=J(r,q),c=e.kind===`promoter`||e.kind===`terminator`||e.kind===`marker`?e.kind:`gene`,l=typeof e.name==`string`&&e.name?e.name:`Feature ${t+1}`,u=(n+i/2)%360;return{key:`f${t}`,s:o,t:s,large:a,color:Va[c],name:l,midDeg:u,strand:e.strand}}),[m,p]),y=(0,g.useMemo)(()=>h.map((e,t)=>{let n=Ga(qa(e.posBp),p),r=typeof e.name==`string`&&e.name?e.name:`Site ${t+1}`;return{key:`s${t}`,deg:n,name:r,cutsOnce:!!e.cutsOnce}}),[h,p]),b=!!c&&typeof c.name==`string`&&c.name,x=b?Ga(qa(c.posBp),p):0,S=(0,g.useMemo)(()=>Ka([...v.map(e=>({key:e.key,deg:e.midDeg,text:e.name,color:e.color,bold:!0})),...y.map(e=>({key:e.key,deg:e.deg,text:e.name,color:`var(--text-secondary)`,bold:e.cutsOnce})),...b?[{key:`origin`,deg:x,text:c.name,color:`var(--presence)`,bold:!0}]:[]]),[v,y,b,x,c]);return(0,_.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`pm-wrap`,children:(0,_.jsxs)(`svg`,{viewBox:`-20 0 240 200`,className:`pm-svg`,role:`img`,"aria-label":e,children:[(0,_.jsx)(`defs`,{children:(0,_.jsx)(`marker`,{id:f,viewBox:`0 0 10 10`,refX:`7`,refY:`5`,markerWidth:`4.4`,markerHeight:`4.4`,orient:`auto-start-reverse`,children:(0,_.jsx)(`path`,{d:`M0 0 L10 5 L0 10 z`,className:`pm-arrowhead`})})}),(0,_.jsx)(`circle`,{cx:Pa,cy:Fa,r:q,className:`pm-backbone`}),v.map(e=>(0,_.jsx)(`path`,{d:`M ${e.s.x} ${e.s.y} A ${q} ${q} 0 ${e.large} 1 ${e.t.x} ${e.t.y}`,fill:`none`,stroke:e.color,className:`pm-feature`,markerEnd:e.strand===`plus`?`url(#${f})`:void 0,markerStart:e.strand===`minus`?`url(#${f})`:void 0},e.key)),y.map(e=>{let t=J(e.deg,Ia),n=J(e.deg,La);return(0,_.jsx)(`line`,{x1:t.x,y1:t.y,x2:n.x,y2:n.y,className:e.cutsOnce?`pm-tick pm-tick-unique`:`pm-tick`},e.key)}),b&&(()=>{let e=J(x,q);return(0,_.jsx)(`circle`,{cx:e.x,cy:e.y,r:3.2,className:`pm-origin-dot`,"data-mark":`point`})})(),S.map(e=>{let t=J(e.deg,e.r),n=(t.x-Pa)/(e.r||1),r=n>.2?`start`:n<-.2?`end`:`middle`,i=Ua(e.text,Ha);return(0,_.jsxs)(`text`,{x:t.x,y:t.y,textAnchor:r,dominantBaseline:`middle`,className:e.bold?`pm-label pm-label-bold`:`pm-label`,fill:e.color,children:[i!==e.text&&(0,_.jsx)(`title`,{children:e.text}),i]},e.key)}),(0,_.jsx)(`text`,{x:Pa,y:Fa-3,className:`pm-center-size`,textAnchor:`middle`,children:Math.round(p).toLocaleString()}),(0,_.jsx)(`text`,{x:Pa,y:110,className:`pm-center-unit`,textAnchor:`middle`,children:`bp`})]})}),l&&(0,_.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:a(l)})]})}var Ya=20,Xa=54,Za=70,Qa=26,$a=8,eo=63;function to(e){return e<=2?13:e<=3?11:e<=4?9:8}function no(e){let t=0;function n(e,r){if(t>=eo||r>$a||!e||typeof e!=`object`||Array.isArray(e))return null;let i=e;if(!Number.isFinite(i.value)||i.value<=0)return null;t++;let a=Array.isArray(i.children)?i.children.map(e=>n(e,r+1)).filter(e=>e!==null):[];return{value:Math.round(i.value),isPrime:i.isPrime===!0,children:a}}return n(e,0)}function ro(e){let t=0,n=0,r=[],i=[];function a(e,o){if(n=Math.max(n,o),e.children.length===0){let n={value:e.value,isPrime:e.isPrime,isLeaf:!0,slot:t,depth:o};return t++,r.push(n),n}let s=e.children.map(e=>a(e,o+1)),c=s.reduce((e,t)=>e+t.slot,0)/s.length,l={value:e.value,isPrime:e.isPrime,isLeaf:!1,slot:c,depth:o};r.push(l);for(let e of s)i.push({parent:l,child:e});return l}return a(e,0),{nodes:r,edges:i,leafCount:Math.max(1,t),maxDepth:n}}var io={0:`⁰`,1:`¹`,2:`²`,3:`³`,4:`⁴`,5:`⁵`,6:`⁶`,7:`⁷`,8:`⁸`,9:`⁹`};function ao(e){return String(e).split(``).map(e=>io[e]??``).join(``)}function oo(e){let t=new Map;for(let n of e)t.set(n,(t.get(n)??0)+1);return[...t.entries()].sort((e,t)=>e[0]-t[0]).map(([e,t])=>t>1?`${e}${ao(t)}`:`${e}`).join(` × `)}function so({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,number:r,nodes:o,footer:s,delay:c}){let l=i[t]||i.share,u=(0,g.useMemo)(()=>no(Array.isArray(o)&&o.length>0?o[0]:null),[o]),d=(0,g.useMemo)(()=>u?ro(u):null,[u]),f=(0,g.useMemo)(()=>{if(!d||!Number.isFinite(r))return null;let e=d.nodes.filter(e=>e.isLeaf).map(e=>e.value);return e.length===0?null:`${Math.round(r)} = ${oo(e)}`},[d,r]);if(!u||!d)return(0,_.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(c||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`p`,{className:`pft-empty`,children:`No factor tree to diagram.`})]});let p=Math.max(120,d.leafCount*Xa+Qa*2),m=(d.maxDepth+1)*Za+Qa*2,h=e=>Qa+(e+.5)*Xa,v=e=>Qa+e*Za+Ya;return(0,_.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(c||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`dg-stage pft-stage`,children:(0,_.jsxs)(`svg`,{viewBox:`0 0 ${p} ${m}`,className:`dg-svg`,role:`img`,"aria-label":e,preserveAspectRatio:`xMidYMid meet`,children:[d.edges.map((e,t)=>(0,_.jsx)(`line`,{x1:h(e.parent.slot),y1:v(e.parent.depth),x2:h(e.child.slot),y2:v(e.child.depth),className:`pft-edge`},t)),d.nodes.map((e,t)=>{let n=h(e.slot),r=v(e.depth),i=e.value.toString().length;return(0,_.jsxs)(`g`,{transform:`translate(${n} ${r})`,children:[e.isPrime&&(0,_.jsx)(`circle`,{r:24,className:`pft-ring`}),(0,_.jsx)(`circle`,{r:Ya,className:e.isPrime?`pft-node pft-node--prime`:`pft-node`}),(0,_.jsx)(`text`,{textAnchor:`middle`,dominantBaseline:`central`,fontSize:to(i),className:`pft-node-lbl`,children:e.value})]},t)})]})}),f&&(0,_.jsx)(`p`,{className:`pft-cap`,children:f}),s&&(0,_.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(s)})]})}var co=[`var(--presence)`,`var(--insight)`,`var(--warning)`];function lo(e){if(e===0)return`0`;if(e===1)return`1`;let t=e.toPrecision(3);return parseFloat(t).toString()}function uo(e,t){return`P = ${lo(e*t)}`}var fo=560,po=60,mo=200,ho=390,go=fo-10,Y=18,_o=52;function vo(e){let t=e.map(e=>Math.max(1,e.children?.length??0)),n=t.reduce((e,t)=>e+t,0),r=Math.max(180,n*_o+60),i=(r-60)/n,a=0,o=e.map((e,n)=>{let r=t[n],o=co[n%co.length],s=(e.children??[]).map((t,r)=>({y:30+(a+r+.5)*i,branch:e,leaf:t,branchIdx:n,leafIdx:r,color:o})),c=s.length>0?s.reduce((e,t)=>e+t.y,0)/s.length:30+(a+.5)*i;return a+=r,{y:c,branch:e,branchIdx:n,color:o,leaves:s}});return{vbH:r,rootY:r/2,branchPositions:o}}function yo({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,branches:r,note:a,delay:o}){let s=i[t]??i.chart,{vbH:c,rootY:l,branchPositions:u}=vo(r),d=u.some(e=>e.leaves.length>0);return(0,_.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(o??0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(s,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`dg-pt-scroll`,children:(0,_.jsxs)(`svg`,{className:`dg-pt-svg`,viewBox:`0 0 ${fo} ${c}`,width:`100%`,"aria-label":e,role:`img`,children:[(0,_.jsx)(`circle`,{cx:po,cy:l,r:Y,className:`dg-pt-node dg-pt-node--root`}),(0,_.jsx)(`text`,{x:po,y:l+.5,textAnchor:`middle`,dominantBaseline:`middle`,className:`dg-pt-node-lbl`,children:`Start`}),u.map(({y:e,branch:t,branchIdx:n,color:r,leaves:i})=>(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`line`,{x1:78,y1:l,x2:mo-Y,y2:e,className:`dg-pt-edge`,stroke:r}),(0,_.jsx)(`text`,{x:(278-Y)/2,y:(l+e)/2-7,textAnchor:`middle`,className:`dg-pt-edge-lbl`,children:lo(t.prob)}),(0,_.jsx)(`circle`,{cx:mo,cy:e,r:Y,className:`dg-pt-node`,stroke:r}),(0,_.jsx)(`text`,{x:mo,y:e+.5,textAnchor:`middle`,dominantBaseline:`middle`,className:`dg-pt-node-lbl`,children:t.label.length>8?t.label.slice(0,7)+`…`:t.label}),i.length===0&&(0,_.jsx)(`text`,{x:226,y:e+.5,dominantBaseline:`middle`,className:`dg-pt-outcome-lbl`,fill:r,children:uo(1,t.prob)}),i.map(({y:n,leaf:i,leafIdx:a})=>(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`line`,{x1:218,y1:e,x2:ho-Y,y2:n,className:`dg-pt-edge`,stroke:r}),(0,_.jsx)(`text`,{x:(608-Y)/2,y:(e+n)/2-7,textAnchor:`middle`,className:`dg-pt-edge-lbl`,children:lo(i.prob)}),(0,_.jsx)(`circle`,{cx:ho,cy:n,r:Y,className:`dg-pt-node dg-pt-node--leaf`,stroke:r}),(0,_.jsx)(`text`,{x:ho,y:n+.5,textAnchor:`middle`,dominantBaseline:`middle`,className:`dg-pt-node-lbl`,children:i.label.length>8?i.label.slice(0,7)+`…`:i.label}),(0,_.jsx)(`text`,{x:go,y:n+.5,textAnchor:`end`,dominantBaseline:`middle`,className:`dg-pt-outcome-lbl`,fill:r,children:i.outcome??uo(t.prob,i.prob)})]},a))]},n)),(0,_.jsx)(`text`,{x:mo,y:12,textAnchor:`middle`,className:`dg-pt-col-hdr`,children:`Event A`}),d&&(0,_.jsx)(`text`,{x:ho,y:12,textAnchor:`middle`,className:`dg-pt-col-hdr`,children:`Event B`}),d&&(0,_.jsx)(`text`,{x:go,y:12,textAnchor:`end`,dominantBaseline:`auto`,className:`dg-pt-col-hdr`,children:`Outcome`})]})}),a&&(0,_.jsx)(`p`,{className:`dg-pt-note`,children:a})]})}var bo=16,xo=200,So=30,Co=62,wo=24,To=12,Eo=18,Do=32,Oo=12;function ko(e){return Array.isArray(e)?e.map((e,t)=>{if(typeof e==`string`)return{id:`s${t}`,statement:e,from:[]};if(!e||typeof e!=`object`)return{id:`s${t}`,statement:``,from:[]};let n=e;return{id:typeof n.id==`string`&&n.id?n.id:`s${t}`,statement:typeof n.statement==`string`?n.statement:``,rule:typeof n.rule==`string`&&n.rule?n.rule:void 0,from:Array.isArray(n.from)?n.from.filter(e=>typeof e==`string`&&e.length>0):typeof n.from==`string`&&n.from?[n.from]:[]}}):[]}function Ao({title:e,icon:t=`proof`,iconColor:n=`var(--presence)`,steps:r,conclusionId:o,footer:c,delay:l}){let u=i[t]||i.proof,{placed:d,width:f,height:h}=(0,g.useMemo)(()=>{let e=ko(r),t=new Map(e.map(e=>[e.id,e])),n=new Set(e.flatMap(e=>e.from)),i=o&&t.get(o)||[...e].reverse().find(e=>!n.has(e.id))||e[e.length-1];if(!i)return{placed:[],width:0,height:0};let a=0,s=(e,n,r)=>{let i=t.get(e);if(!i||n.has(e)||r>Oo)return null;n.add(e);let o=i.from.map(e=>s(e,n,r+1)).filter(e=>e!==null);n.delete(e),a=Math.max(a,r);let c=o.length===0&&/^\s*\[.*\]\s*$/.test(i.statement),l=p(i.statement||`·`,{maxWidth:xo,fontSize:bo,minFontSize:11,maxLines:2,lineHeight:1.15}),u=Math.max(26,...l.lines.map(e=>m(e,l.fontSize))),d=o.reduce((e,t)=>e+t.subW,0)+So*(o.length-1);return{step:i,children:o,fit:l,assumption:c,w:u,subW:o.length?Math.max(u,d):u,depth:r}},c=s(i.id,new Set,0);if(!c)return{placed:[],width:0,height:0};let l=[],u=(e,t)=>{let n=t+e.subW/2,r=Do+(a-e.depth)*Co,i;if(e.children.length){let a=e.children.reduce((e,t)=>e+t.subW,0)+So*(e.children.length-1),o=t+(e.subW-a)/2,s=e.children.map(e=>{let t=u(e,o);return o+=e.subW+So,t}),c=[n-e.w/2,...s.map(e=>e.cx-e.node.w/2)],l=[n+e.w/2,...s.map(e=>e.cx+e.node.w/2)];i={x1:Math.min(...c)-8,x2:Math.max(...l)+8,y:r-wo}}let o={node:e,cx:n,cy:r,bar:i};return l.push(o),o};u(c,Eo);let d=Eo+c.subW;for(let e of l)e.bar&&e.node.step.rule&&(d=Math.max(d,e.bar.x2+8+m(e.node.step.rule,To)));return{placed:l,width:d+Eo,height:Do+a*Co+34}},[r,o]);return(0,_.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(l||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),d.length===0?(0,_.jsx)(s,{message:`No proof steps to draw`}):(0,_.jsx)(`div`,{className:`dg-stage prf-stage`,children:(0,_.jsx)(`svg`,{viewBox:`0 0 ${f} ${h}`,className:`dg-svg prf-svg`,style:{maxWidth:f},role:`img`,"aria-label":e,children:d.map((e,t)=>{let{fit:n}=e.node,r=e.cy-(n.lines.length-1)*n.lineHeightPx/2;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`text`,{className:e.node.assumption?`prf-stmt prf-assume`:`prf-stmt`,textAnchor:`middle`,fontSize:n.fontSize,children:n.lines.map((t,i)=>(0,_.jsx)(`tspan`,{x:e.cx,y:r+i*n.lineHeightPx,dominantBaseline:`middle`,children:t},i))}),e.bar&&(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)(`line`,{className:`prf-bar`,x1:e.bar.x1,y1:e.bar.y,x2:e.bar.x2,y2:e.bar.y}),e.node.step.rule&&(0,_.jsx)(`text`,{className:`prf-rule`,x:e.bar.x2+8,y:e.bar.y,dominantBaseline:`middle`,fontSize:To,children:e.node.step.rule})]})]},t)})})}),c&&(0,_.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(c)})]})}var jo=100,Mo=4,No=7,Po=13,Fo=11,Io=4.2,Lo=5,Ro=.62;function zo(e,t){return e.length>t?e.slice(0,Math.max(1,t-1)).trimEnd()+`…`:e}function Bo(e,t){return Math.max(2,Math.floor(e*.92/(t*Ro)))}function Vo({title:e,icon:t=`layers`,iconColor:n=`var(--presence)`,layers:r,packet:o,caption:s,footer:c,delay:l}){let u=i[t]??i.layers,[d,f]=(0,g.useState)(null),p=(0,g.useMemo)(()=>{let e=o??[],t=e.length;if(t===0)return null;let n=Math.max(No,Math.min(Po,(jo-Mo*2)/2/Math.max(1,t))),r=Math.min(Fo,n-2);return e.map((e,i)=>{let a=Mo+i*n,o=Math.max(0,jo-a*2),s=i===t-1,c=Bo(o,s?Lo:Io);return{key:`${e.header}-${i}`,header:e.header,layer:e.layer,x:a,y:a,size:o,labelH:r,inner:s,maxChars:c,depth:i}})},[o]);return(0,_.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(l??0)+`ms`},children:[e&&(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsxs)(`div`,{className:`pst-grid`+(p?``:` pst-grid--solo`),children:[(0,_.jsx)(`ol`,{className:`pst-stack`,"aria-label":`Protocol layers, top to bottom`,children:r.map((e,t)=>(0,_.jsxs)(`li`,{className:`pst-band`+(d===e.name?` on`:``),style:{"--pst-i":t},onMouseEnter:()=>f(e.name),onMouseLeave:()=>f(null),children:[(0,_.jsx)(`span`,{className:`pst-band-num`,children:r.length-t}),(0,_.jsxs)(`div`,{className:`pst-band-body`,children:[(0,_.jsx)(`span`,{className:`pst-band-name`,children:e.name}),e.role&&(0,_.jsx)(`span`,{className:`pst-band-role`,children:e.role}),e.protocols&&e.protocols.length>0&&(0,_.jsx)(`span`,{className:`pst-chips`,children:e.protocols.map((e,t)=>(0,_.jsx)(`span`,{className:`pst-chip`,children:e},e+t))})]})]},e.name+t))}),p&&(0,_.jsxs)(`figure`,{className:`pst-encaps`,children:[(0,_.jsx)(`figcaption`,{className:`pst-encaps-cap`,children:`Encapsulation`}),(0,_.jsx)(`svg`,{viewBox:`0 0 ${jo} ${jo}`,className:`pst-encaps-svg`,role:`img`,"aria-label":`Packet encapsulation: each layer wraps the one inside it`,children:p.map(e=>{let t=e.layer!=null&&d===e.layer;return(0,_.jsxs)(`g`,{className:`pst-box`+(e.inner?` pst-box--inner`:``)+(t?` on`:``),onMouseEnter:()=>e.layer&&f(e.layer),onMouseLeave:()=>f(null),children:[(0,_.jsx)(`rect`,{x:e.x,y:e.y,width:e.size,height:e.size,rx:2.4}),e.inner?(0,_.jsxs)(`text`,{x:e.x+e.size/2,y:e.y+e.size/2,className:`pst-box-lbl pst-box-lbl--inner`,textAnchor:`middle`,dominantBaseline:`middle`,children:[e.header.length>e.maxChars&&(0,_.jsx)(`title`,{children:e.header}),zo(e.header,e.maxChars)]}):(0,_.jsxs)(`text`,{x:e.x+e.size/2,y:e.y+e.labelH/2+1,className:`pst-box-lbl`,textAnchor:`middle`,dominantBaseline:`middle`,children:[e.header.length>e.maxChars&&(0,_.jsx)(`title`,{children:e.header}),zo(e.header,e.maxChars)]})]},e.key)})}),(0,_.jsxs)(`div`,{className:`pst-flow-note`,children:[(0,_.jsx)(`span`,{className:`pst-flow-arrow`,"aria-hidden":`true`,children:`↓`}),`header added per layer on the way down`]})]})]}),s&&(0,_.jsx)(`p`,{className:`pst-caption`,children:s}),c&&(0,_.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(c)})]})}var Ho=30,Uo=35,Wo=92,Go=108,Ko=220,qo=96,Jo=40,Yo=13;function Xo(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function Zo(e,t){if(t>40||!e||typeof e!=`object`)return{call:typeof e==`string`&&e?e:`call()`};let n=e;return{call:typeof n.call==`string`&&n.call?n.call:`call()`,result:typeof n.result==`string`||typeof n.result==`number`?n.result:void 0,children:Array.isArray(n.children)?n.children.map(e=>Zo(e,t+1)):void 0}}function Qo(e){return!e.children||e.children.length===0}function $o(e){let t=0,n=0,r=(e,i)=>{n=Math.max(n,i);let a=Uo+i*Wo;if(Qo(e)){let n=Ho+t*Go+Go/2;return t+=1,{node:e,x:n,y:a,children:[]}}let o=e.children.map(e=>r(e,i+1));return{node:e,x:(o[0].x+o[o.length-1].x)/2,y:a,children:o}};return{placed:r(e,0),width:Math.max(Ko,t*Go+Ho*2),height:Uo+n*Wo+Jo+30}}function es(e,t=[]){t.push(e);for(let n of e.children)es(n,t);return t}function ts({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,root:r,footer:o,delay:s}){let c=i[t]||i.share,{nodes:l,width:u,height:d}=(0,g.useMemo)(()=>{let{placed:e,width:t,height:n}=$o(Zo(r,0));return{nodes:es(e),width:t,height:n}},[r]);return(0,_.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(s||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(c,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`dg-stage rt-stage`,children:(0,_.jsxs)(`svg`,{viewBox:`0 0 ${u} ${d}`,className:`dg-svg`,role:`img`,"aria-label":e,children:[l.map((e,t)=>e.children.map((n,r)=>(0,_.jsx)(`line`,{x1:e.x,y1:e.y+Jo/2,x2:n.x,y2:n.y-Jo/2,className:`rt-edge`},`e${t}-${r}`))),l.map((e,t)=>{let n=e.node.call;return(0,_.jsxs)(`g`,{transform:`translate(${e.x} ${e.y})`,children:[(0,_.jsx)(`rect`,{x:-96/2,y:-40/2,width:qo,height:Jo,rx:9,className:`rt-box`}),(0,_.jsxs)(`text`,{className:`rt-call`,textAnchor:`middle`,dominantBaseline:`middle`,children:[n.length>Yo&&(0,_.jsx)(`title`,{children:n}),Xo(n,Yo)]}),e.node.result!==void 0&&(0,_.jsxs)(`g`,{transform:`translate(${qo/2-6} ${-40/2-4})`,children:[(0,_.jsx)(`rect`,{x:-20,y:-11,width:40,height:22,rx:11,className:`rt-badge`}),(0,_.jsx)(`text`,{className:`rt-badge-text`,textAnchor:`middle`,dominantBaseline:`middle`,children:Xo(`→${e.node.result}`,8)})]})]},`n${t}`)})]})}),o&&(0,_.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(o)})]})}var ns=10,rs=38,is=132,as=400,os=112,ss=26,cs=16,ls=6.4,us=8,ds=12;function fs(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function ps({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,actors:r,messages:o,footer:s,delay:c}){let l=i[t]||i.share,u=`dg-seq-arrow-${(0,g.useId)().replace(/:/g,``)}`,d=`url(#${u})`,f=(0,g.useRef)(null),[p,m]=(0,g.useState)(0);(0,g.useLayoutEffect)(()=>{let e=f.current;if(!e||typeof ResizeObserver>`u`)return;let t=new ResizeObserver(t=>{let n=t[0]?.contentRect.width??e.offsetWidth;m(e=>Math.abs(e-n)<1?e:n)});return t.observe(e),()=>t.disconnect()},[]);let{lanes:h,width:v,height:y}=(0,g.useMemo)(()=>{let e=Math.max(1,r.length),t=p>0?Math.min(as,Math.max(is,p/e)):is,n=e*t,i=r.map((e,n)=>(n+.5)*t),a={};return r.forEach((e,t)=>a[e.id]=i[t]),{lanes:{x:i,map:a},width:n,height:44+o.length*rs+14}},[r,o.length,p]);return(0,_.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(c||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`dg-seq`,ref:f,children:(0,_.jsxs)(`svg`,{viewBox:`0 0 ${v} ${y}`,className:`dg-seq-svg`,style:{maxWidth:`${v}px`},preserveAspectRatio:`xMidYMin meet`,role:`img`,"aria-label":e,children:[r.map((e,t)=>(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`line`,{x1:h.x[t],y1:44,x2:h.x[t],y2:y-8,className:`dg-seq-life`}),(0,_.jsx)(`rect`,{x:h.x[t]-os/2,y:ns,width:os,height:ss,rx:5,className:`dg-seq-actorbox`}),(0,_.jsxs)(`text`,{x:h.x[t],y:27,className:`dg-seq-actor`,textAnchor:`middle`,children:[e.label.length>cs&&(0,_.jsx)(`title`,{children:e.label}),fs(e.label,cs)]})]},e.id)),o.map((e,t)=>{let n=44+t*rs+20,r=h.map[e.from]??0,i=h.map[e.to]??r;if(e.self)return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`path`,{d:`M ${r} ${n} h 16 v 12 h -16`,className:`dg-seq-msg`+(e.reply?` reply`:``),fill:`none`,markerEnd:d}),(0,_.jsxs)(`text`,{x:r+22,y:n-3,className:`dg-seq-lbl`,textAnchor:`start`,children:[e.label.length>ds&&(0,_.jsx)(`title`,{children:e.label}),fs(e.label,ds)]})]},t);let a=i>=r?1:-1,o=Math.max(us,Math.floor((Math.abs(i-r)-24)/ls));return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`line`,{x1:r,y1:n,x2:i-a*5,y2:n,className:`dg-seq-msg`+(e.reply?` reply`:``),markerEnd:d}),(0,_.jsxs)(`text`,{x:(r+i)/2,y:n-5,className:`dg-seq-lbl`,textAnchor:`middle`,children:[e.label.length>o&&(0,_.jsx)(`title`,{children:e.label}),fs(e.label,o)]})]},t)}),(0,_.jsx)(`defs`,{children:(0,_.jsx)(`marker`,{id:u,markerWidth:`7`,markerHeight:`7`,refX:`5.5`,refY:`3`,orient:`auto`,children:(0,_.jsx)(`path`,{d:`M0,0 L6,3 L0,6 Z`,className:`dg-seq-arrowhead`})})})]})}),s&&(0,_.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(s)})]})}var ms=[600,250,80],hs=[`1×`,`2×`,`4×`];function gs(e,t){return e?e.sorted?.includes(t)?`sorted`:e.pivot===t?`pivot`:e.compared?.includes(t)?`compared`:e.swapped?.includes(t)?`swapped`:`default`:`default`}function _s(e){return e?{"o-1":`O(1)`,"o-logn":`O(log n)`,"o-n":`O(n)`,"o-nlogn":`O(n log n)`,"o-n2":`O(n²)`,"o-2n":`O(2ⁿ)`}[e]??e:``}function vs({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,algorithm:r,complexity:o,values:s,steps:c,footer:l,delay:u}){let d=i[t]??i.chart,f=c.length,[p,m]=(0,g.useState)(0),[h,v]=(0,g.useState)(!1),[y,b]=(0,g.useState)(1),x=(0,g.useRef)(null),S=c[Math.min(p,f-1)],C=S?.values??s,w=Math.max(1,...C.map(e=>Math.abs(e))),T=c.slice(0,p+1).reduce((e,t)=>({cmp:e.cmp+ +!!t.compared?.length,swap:e.swap+ +!!t.swapped?.length}),{cmp:0,swap:0}),E=(0,g.useCallback)(e=>m(Math.min(f-1,Math.max(0,e))),[f]);return(0,g.useEffect)(()=>{if(!h){x.current&&clearTimeout(x.current);return}if(p>=f-1){v(!1);return}return x.current=setTimeout(()=>m(e=>Math.min(f-1,e+1)),ms[y]),()=>{x.current&&clearTimeout(x.current)}},[h,p,f,y]),(0,_.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u??0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`dg-sv-header`,children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,style:{marginBottom:0},children:[(0,_.jsx)(d,{className:`ic`,style:{color:n}}),e??r]}),(0,_.jsxs)(`div`,{className:`dg-sv-badges`,children:[o&&(0,_.jsx)(`span`,{className:`dg-sv-badge`,children:_s(o)}),(0,_.jsxs)(`span`,{className:`dg-sv-badge dg-sv-ops`,children:[T.cmp,` cmp · `,T.swap,` swap`]})]})]}),(0,_.jsx)(`p`,{className:`dg-at-caption`,"aria-live":`polite`,children:S?.caption??``}),(0,_.jsx)(`div`,{className:`dg-sv-bars`,"aria-label":`sorting visualization`,role:`img`,children:C.map((e,t)=>{let n=gs(S,t),r=Math.round(Math.abs(e)/w*100);return(0,_.jsxs)(`div`,{className:`dg-sv-bar-wrap`,children:[(0,_.jsx)(`div`,{className:`dg-sv-bar role-${n}`,style:{height:`${r}%`},"aria-label":String(e)}),C.length<=16&&(0,_.jsx)(`span`,{className:`dg-sv-val`,style:{display:`inline-block`,maxWidth:`100%`,overflow:`hidden`,textOverflow:`ellipsis`},children:e})]},t)})}),(0,_.jsxs)(`div`,{className:`dg-at-controls`,children:[(0,_.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>{v(!1),E(p-1)},disabled:p===0,"aria-label":`previous step`,children:[(0,_.jsx)(i.chevL,{className:`ic`}),` Prev`]}),(0,_.jsx)(`button`,{type:`button`,className:`dg-at-btn dg-sv-play`,onClick:()=>{p>=f-1?(m(0),v(!0)):v(e=>!e)},"aria-label":h?`pause`:`play`,children:h?`⏸`:p>=f-1?`↺`:`▶`}),(0,_.jsxs)(`div`,{className:`dg-at-progress`,"aria-hidden":`true`,children:[c.length<=30&&c.map((e,t)=>(0,_.jsx)(`span`,{className:`dg-at-dot`+(t===p?` on`:t<p?` done`:``)},t)),c.length>30&&(0,_.jsxs)(`span`,{className:`dg-sv-step-count`,children:[p+1,` / `,f]})]}),(0,_.jsx)(`button`,{type:`button`,className:`dg-at-btn dg-sv-speed`,onClick:()=>b(e=>(e+1)%3),"aria-label":`speed: ${hs[y]}`,children:hs[y]}),(0,_.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>{v(!1),E(p+1)},disabled:p>=f-1,"aria-label":`next step`,children:[`Next `,(0,_.jsx)(i.chevR,{className:`ic`})]})]}),l&&(0,_.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(l)})]})}var ys=22,bs=52,xs=20,Ss=[700,280,80],Cs=[`1×`,`2×`,`8×`];function ws({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,algorithm:r,steps:o,footer:s,delay:c}){let l=i[t]??i.share,u=Math.max(1,o.length),[d,f]=(0,g.useState)(0),[p,m]=(0,g.useState)(!1),[h,v]=(0,g.useState)(1),y=(0,g.useRef)(d);y.current=d;let b=(0,g.useRef)(typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches),x=(0,g.useCallback)(e=>{m(!1),f(Math.min(u-1,Math.max(0,e)))},[u]),S=(0,g.useCallback)(()=>{b.current||m(e=>(!e&&y.current>=u-1&&f(0),!e))},[u]);(0,g.useEffect)(()=>{if(!p)return;let e=setInterval(()=>{let e=y.current+1;if(e>=u){m(!1);return}f(e)},Ss[h]);return()=>clearInterval(e)},[p,u,h]);let C=o[Math.min(d,u-1)],w=C?.grid??[],T=Math.min(xs,w.length),E=Math.min(xs,w[0]?.length??0),D=w.slice(0,T).reduce((e,t)=>e+t.slice(0,E).filter(e=>e.state===`queued`).length,0),O=w.slice(0,T).reduce((e,t)=>e+t.slice(0,E).filter(e=>e.state===`visited`||e.state===`path`).length,0),k=w.some(e=>e.some(e=>e.value!==void 0));return(0,_.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(c??0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(l,{className:`ic`,style:{color:n}}),e??(r?`${r} on a Grid`:`Grid Trace`),r&&(0,_.jsx)(`span`,{className:`gt2-algo-badge`,children:r})]}),(0,_.jsx)(`p`,{className:`dg-at-caption`,"aria-live":`polite`,children:C?.caption??``}),(0,_.jsx)(`div`,{className:`gt2-grid`,style:{"--gt2-cols":E,"--gt2-cell":`clamp(${ys}px, calc((100% - 8px) / ${E}), ${bs}px)`},role:`img`,"aria-label":e??`grid`,children:w.slice(0,T).map((e,t)=>e.slice(0,E).map((e,n)=>(0,_.jsx)(`div`,{className:`gt2-cell gt2-${e.state}`,title:`[${t},${n}]${e.value===void 0?``:` = ${e.value}`}`,children:k&&e.value!==void 0&&(0,_.jsx)(`span`,{className:`gt2-cell-val`,children:e.value})},`${t}-${n}`)))}),(0,_.jsxs)(`div`,{className:`gt2-stats`,children:[(0,_.jsxs)(`span`,{className:`gt2-stat`,children:[(0,_.jsx)(`span`,{className:`gt2-dot gt2-dot-queued`}),D,` queued`]}),(0,_.jsxs)(`span`,{className:`gt2-stat`,children:[(0,_.jsx)(`span`,{className:`gt2-dot gt2-dot-visited`}),O,` visited`]})]}),(0,_.jsxs)(`div`,{className:`dg-at-controls`,children:[(0,_.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>x(d-1),disabled:d===0,"aria-label":`previous step`,children:[(0,_.jsx)(i.chevL,{className:`ic`}),` Prev`]}),!b.current&&(0,_.jsx)(`button`,{type:`button`,className:`dg-at-btn dg-at-play`+(p?` playing`:``),onClick:S,"aria-label":p?`pause`:`play`,children:p?(0,_.jsx)(i.pause,{className:`ic`}):(0,_.jsx)(i.play,{className:`ic`})}),!b.current&&(0,_.jsx)(`button`,{type:`button`,className:`dg-at-btn dg-at-speed`,onClick:()=>v(e=>(e+1)%3),"aria-label":`speed: ${Cs[h]}`,children:Cs[h]}),(0,_.jsx)(`div`,{className:`dg-at-progress`,"aria-hidden":`true`,children:u<=30&&o.map((e,t)=>(0,_.jsx)(`span`,{className:`dg-at-dot`+(t===d?` on`:t<d?` done`:``)},t))}),(0,_.jsxs)(`span`,{className:`dg-at-count`,children:[d+1,` / `,u]}),(0,_.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>x(d+1),disabled:d>=u-1,"aria-label":`next step`,children:[`Next `,(0,_.jsx)(i.chevR,{className:`ic`})]})]}),s&&(0,_.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(s)})]})}var Ts=100;function Es({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,states:r,transitions:a,footer:o,delay:s}){let d=i[t]||i.share,[f,p]=(0,g.useState)(null),m=`dg-sm-arrow-${(0,g.useId)().replace(/:/g,``)}`,h=`url(#${m})`,v=(0,g.useMemo)(()=>{let e=u(Math.max(1,r.length),Ts/2,Ts/2),t={};return r.forEach((n,r)=>{t[n.id]=n.x!==void 0&&n.y!==void 0?{x:n.x,y:n.y}:e[r]}),t},[r]),y=l(r.length),b=(0,g.useMemo)(()=>c(a,v,y),[a,v,y]),x=(0,g.useMemo)(()=>{let e=r.map(e=>v[e.id]).filter(Boolean);if(e.length===0)return`0 0 ${Ts} ${Ts}`;let t=y+16,n=e.map(e=>e.x),i=e.map(e=>e.y),a=Math.min(...n)-t,o=Math.min(...i)-t;return`${a} ${o} ${Math.max(...n)+t-a} ${Math.max(...i)+t-o}`},[r,v,y]);return(0,_.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(s||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`dg-sm`,onMouseLeave:()=>p(null),children:(0,_.jsxs)(`svg`,{viewBox:x,className:`dg-sm-svg`,role:`img`,"aria-label":e,children:[(0,_.jsx)(`defs`,{children:(0,_.jsx)(`marker`,{id:m,markerWidth:`6`,markerHeight:`6`,refX:`5`,refY:`3`,orient:`auto`,children:(0,_.jsx)(`path`,{d:`M0,0 L6,3 L0,6 Z`,className:`dg-sm-arrowhead`})})}),b.map(e=>(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`path`,{d:e.d,className:`dg-sm-edge`,fill:`none`,markerEnd:h}),e.label&&(0,_.jsx)(`text`,{x:e.lx,y:e.ly,className:`dg-sm-elbl`,textAnchor:e.labelAnchor,children:e.label})]},e.key)),r.map(e=>{let t=v[e.id];return t?(0,_.jsxs)(`g`,{onMouseEnter:()=>p(e.id),className:`dg-sm-state`+(f===e.id?` on`:``),children:[e.start&&(0,_.jsx)(`line`,{x1:t.x-y-7,y1:t.y,x2:t.x-y,y2:t.y,className:`dg-sm-edge`,markerEnd:h}),(0,_.jsx)(`circle`,{cx:t.x,cy:t.y,r:y,className:`dg-sm-circ`}),e.final&&(0,_.jsx)(`circle`,{cx:t.x,cy:t.y,r:y-2.4,className:`dg-sm-circ-inner`}),(0,_.jsx)(`text`,{x:t.x,y:t.y+2.4,className:`dg-sm-lbl`,textAnchor:`middle`,children:e.label})]},e.id):null})]})}),o&&(0,_.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},children:o})]})}var Ds=1e3,Os=88,ks=44,As=104,js=300,Ms={start:`color-mix(in oklab, var(--presence) 16%, var(--surface-elevated-2))`,intermediate:`var(--surface-elevated-2)`,target:`color-mix(in oklab, var(--insight) 18%, var(--surface-elevated-2))`},Ns={start:`var(--presence)`,intermediate:`var(--line-strong)`,target:`var(--insight)`};function Ps(e){return e===`start`||e===`target`?e:`intermediate`}function Fs(e,t){let n=new Map;for(let t of e)n.set(t.id,0);for(let r=0;r<e.length;r++){let r=!1;for(let i of t){if(!n.has(i.from)||!n.has(i.to))continue;let[t,a]=i.direction===`retro`?[i.to,i.from]:[i.from,i.to],o=(n.get(t)??0)+1;o>(n.get(a)??0)&&o<e.length&&(n.set(a,o),r=!0)}if(!r)break}return n}function Is(e,t){if(e.length===0)return js;let n=Fs(e,t),r=new Map;for(let t of e){let e=n.get(t.id)??0;r.set(e,(r.get(e)??0)+1)}let i=r.size>0?Math.max(...r.values()):1,a=ks*2*i+Math.max(0,i-1)*80;return Math.max(js,a+As*2)}function Ls(e,t,n){let r=Ds-As*2,i=n-As*2,a=e=>As+e*r,o=e=>As+e*i,s=e.map(e=>({...e,cx:0,cy:0})),c=new Map(s.map(e=>[e.id,e])),l=Fs(e,t),u=new Map;for(let t of e){let e=l.get(t.id)??0;u.has(e)||u.set(e,[]),u.get(e).push(t)}let d=[...u.keys()].sort((e,t)=>e-t),f=Math.max(1,d.length-1);return d.forEach((e,t)=>{let r=u.get(e),i=d.length===1?Ds/2:a(t/f);r.forEach((e,t)=>{let a=c.get(e.id);a.cx=i,a.cy=r.length===1?n/2:o((t+.5)/r.length)})}),s}function Rs(e,t){let n=t.cx-e.cx,r=t.cy-e.cy,i=Math.atan2(r,n);return{x:t.cx-Math.cos(i)*94,y:t.cy-Math.sin(i)*50}}function zs(e,t){let n=t.cx-e.cx,r=t.cy-e.cy,i=Math.atan2(r,n);return{x:e.cx+Math.cos(i)*94,y:e.cy+Math.sin(i)*50}}function Bs(e,t,n){let r=e.split(/\s+/).filter(Boolean),i=[],a=``,o=!1;for(let e of r){let r=a?`${a} ${e}`:e;if(r.length<=t||!a)a=r;else if(i.push(a),a=e,i.length===n){o=!0,a=``;break}}if(a&&i.length<n&&i.push(a),i.length){let e=i.length-1,n=i[e];n.length>t&&(n=n.slice(0,t-1).trimEnd()),(o||i[e].length>t)&&(n=n.replace(/[…\s]*$/,``)+`…`),i[e]=n}return i.length?i:[``]}function Vs(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}var Hs=21,Us=24;function Ws(e){let t=(0,F.c)(40),{node:n}=e,r;t[0]===n.role?r=t[1]:(r=Ps(n.role),t[0]=n.role,t[1]=r);let i=r,a=typeof n.label==`string`&&n.label?n.label:n.id||`Compound`,o=typeof n.smiles==`string`&&!!n.smiles,s,c,l,u,d,f,p,m;if(t[2]!==o||t[3]!==a||t[4]!==n.cx||t[5]!==n.cy||t[6]!==i){s=Bs(a,16,o?1:2);let e=s.length*Hs;m=n.cy-e/2+Hs*.72-(o?9:0),f=`sr-node`;let r=Ms[i],h=Ns[i],g=i===`intermediate`?1.4:2;t[15]!==n.cx||t[16]!==n.cy||t[17]!==g||t[18]!==r||t[19]!==h?(p=(0,_.jsx)(`ellipse`,{cx:n.cx,cy:n.cy,rx:Os,ry:ks,fill:r,stroke:h,strokeWidth:g}),t[15]=n.cx,t[16]=n.cy,t[17]=g,t[18]=r,t[19]=h,t[20]=p):p=t[20],c=`sr-label`,l=n.cx,u=`middle`;let v;t[21]!==n.cx||t[22]!==m?(v=(e,t)=>(0,_.jsx)(`tspan`,{x:n.cx,y:m+t*Hs,children:e},t),t[21]=n.cx,t[22]=m,t[23]=v):v=t[23],d=s.map(v),t[2]=o,t[3]=a,t[4]=n.cx,t[5]=n.cy,t[6]=i,t[7]=s,t[8]=c,t[9]=l,t[10]=u,t[11]=d,t[12]=f,t[13]=p,t[14]=m}else s=t[7],c=t[8],l=t[9],u=t[10],d=t[11],f=t[12],p=t[13],m=t[14];let h;t[24]!==c||t[25]!==l||t[26]!==u||t[27]!==d?(h=(0,_.jsx)(`text`,{className:c,x:l,textAnchor:u,children:d}),t[24]=c,t[25]=l,t[26]=u,t[27]=d,t[28]=h):h=t[28];let g;t[29]!==o||t[30]!==s||t[31]!==n.cx||t[32]!==n.smiles||t[33]!==m?(g=o&&(0,_.jsx)(`text`,{className:`sr-smiles`,x:n.cx,y:m+s.length*Hs+4,textAnchor:`middle`,children:Vs(n.smiles,Us)}),t[29]=o,t[30]=s,t[31]=n.cx,t[32]=n.smiles,t[33]=m,t[34]=g):g=t[34];let v;return t[35]!==f||t[36]!==p||t[37]!==h||t[38]!==g?(v=(0,_.jsxs)(`g`,{className:f,children:[p,h,g]}),t[35]=f,t[36]=p,t[37]=h,t[38]=g,t[39]=v):v=t[39],v}function Gs(e){let t=(0,F.c)(33),{a:n,b:r,edge:i,forwardArrow:a,retroArrow:o}=e,s=i.direction===`retro`,c;t[0]!==n||t[1]!==r?(c=zs(n,r),t[0]=n,t[1]=r,t[2]=c):c=t[2];let l=c,u;t[3]!==n||t[4]!==r?(u=Rs(n,r),t[3]=n,t[4]=r,t[5]=u):u=t[5];let d=u,f=(l.x+d.x)/2,p=(l.y+d.y)/2,m=d.x-l.x,h=d.y-l.y,g;t[6]!==m||t[7]!==h?(g=Math.hypot(m,h)||1,t[6]=m,t[7]=h,t[8]=g):g=t[8];let v=g,y=Math.min(36,v*.05),b=f-h/v*y,x=p+m/v*y,S;t[9]!==i.conditions||t[10]!==i.reagents?(S=[i.reagents,i.conditions].filter(Ks),t[9]=i.conditions,t[10]=i.reagents,t[11]=S):S=t[11];let C=S.join(`, `),w;t[12]===i.yieldPct?w=t[13]:(w=Number.isFinite(i.yieldPct),t[12]=i.yieldPct,t[13]=w);let T=w,E;t[14]!==i.yieldPct||t[15]!==T?(E=T?`${Math.round(Math.max(0,Math.min(100,i.yieldPct)))}%`:``,t[14]=i.yieldPct,t[15]=T,t[16]=E):E=t[16];let D=E,O=`M ${l.x} ${l.y} Q ${b} ${x} ${d.x} ${d.y}`,k=s?`sr-line sr-line-retro`:`sr-line`,A=`url(#${s?o:a})`,j;t[17]!==O||t[18]!==k||t[19]!==A?(j=(0,_.jsx)(`path`,{d:O,fill:`none`,className:k,markerEnd:A}),t[17]=O,t[18]=k,t[19]=A,t[20]=j):j=t[20];let M;t[21]!==C||t[22]!==b||t[23]!==x?(M=C&&(0,_.jsx)(`text`,{className:`dg-edge-label`,x:b,y:x-12,textAnchor:`middle`,children:Vs(C,28)}),t[21]=C,t[22]=b,t[23]=x,t[24]=M):M=t[24];let N;t[25]!==b||t[26]!==x||t[27]!==D?(N=D&&(0,_.jsx)(`text`,{className:`sr-yield`,x:b,y:x+22,textAnchor:`middle`,children:D}),t[25]=b,t[26]=x,t[27]=D,t[28]=N):N=t[28];let P;return t[29]!==j||t[30]!==M||t[31]!==N?(P=(0,_.jsxs)(`g`,{className:`sr-edge`,children:[j,M,N]}),t[29]=j,t[30]=M,t[31]=N,t[32]=P):P=t[32],P}function Ks(e){return typeof e==`string`&&e}function qs({title:e,icon:t=`spark`,iconColor:n=`var(--presence)`,nodes:r,edges:o,footer:s,delay:c}){let l=i[t]||i.spark,u=(0,g.useId)().replace(/:/g,``),d=`sr-arrow-fwd-${u}`,f=`sr-arrow-retro-${u}`,p=(0,g.useMemo)(()=>Array.isArray(r)?r:[],[r]),m=(0,g.useMemo)(()=>Array.isArray(o)?o:[],[o]),h=(0,g.useMemo)(()=>Is(p,m),[p,m]),v=(0,g.useMemo)(()=>Ls(p,m,h),[p,m,h]),y=(0,g.useMemo)(()=>new Map(v.map(e=>[e.id,e])),[v]);return(0,_.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(c||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`dg-stage sr-stage`,children:(0,_.jsxs)(`svg`,{className:`dg-svg`,viewBox:`0 0 ${Ds} ${h}`,preserveAspectRatio:`xMidYMid meet`,role:`img`,"aria-label":e,children:[(0,_.jsxs)(`defs`,{children:[(0,_.jsx)(`marker`,{id:d,viewBox:`0 0 10 10`,refX:`8`,refY:`5`,markerWidth:`7`,markerHeight:`7`,orient:`auto-start-reverse`,children:(0,_.jsx)(`path`,{d:`M0 0 L10 5 L0 10 z`,className:`sr-arrowhead-fwd`})}),(0,_.jsx)(`marker`,{id:f,viewBox:`0 0 10 10`,refX:`8`,refY:`5`,markerWidth:`7`,markerHeight:`7`,orient:`auto-start-reverse`,children:(0,_.jsx)(`path`,{d:`M0 0 L10 5 L0 10 z`,className:`sr-arrowhead-retro`})})]}),m.map((e,t)=>{let n=y.get(e.from),r=y.get(e.to);return!n||!r?null:(0,_.jsx)(Gs,{a:n,b:r,edge:e,forwardArrow:d,retroArrow:f},t)}),v.map(e=>(0,_.jsx)(Ws,{node:e},e.id))]})}),s&&(0,_.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(s)})]})}var Js=1e3,Ys=186,Xs=130,X=113,Zs=74,Qs=320,$s=226,ec=720,tc=70,nc=-30,rc={client:`var(--surface-elevated-2)`,loadbalancer:`color-mix(in oklab, var(--presence) 16%, var(--surface-elevated-2))`,service:`var(--surface-elevated-2)`,database:`color-mix(in oklab, var(--insight) 16%, var(--surface-elevated-2))`,cache:`color-mix(in oklab, var(--warning) 16%, var(--surface-elevated-2))`,queue:`color-mix(in oklab, var(--presence-soft) 22%, var(--surface-elevated-2))`,gateway:`color-mix(in oklab, var(--presence) 12%, var(--surface-elevated-2))`,cdn:`color-mix(in oklab, var(--insight) 10%, var(--surface-elevated-2))`},ic={client:`var(--line-strong)`,loadbalancer:`var(--presence)`,service:`var(--line-strong)`,database:`var(--insight)`,cache:`var(--warning)`,queue:`var(--presence-soft)`,gateway:`var(--presence)`,cdn:`var(--insight)`},ac=17,oc=20;function sc(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function cc(e,t){let n=new Map;for(let t of e)n.set(t.id,0);for(let r=0;r<e.length;r++){let r=!1;for(let i of t){if(!n.has(i.from)||!n.has(i.to))continue;let t=(n.get(i.from)??0)+1;t>(n.get(i.to)??0)&&t<e.length&&(n.set(i.to,t),r=!0)}if(!r)break}return n}function lc(e,t){if(e.length===0)return Qs;let n=cc(e,t),r=new Map;for(let t of e){let e=n.get(t.id)??0;r.set(e,(r.get(e)??0)+1)}let i=r.size>0?Math.max(...r.values()):1,a=i*Xs+Math.max(0,i-1)*Zs;return Math.max(Qs,a+X*2)}function uc(e,t){if(e.length===0)return Js;let n=cc(e,t),r=new Set(e.map(e=>n.get(e.id)??0)).size;return Math.max(Js,Math.max(1,r-1)*$s+X*2)}function dc(e,t,n,r){let i=n-X*2,a=r-X*2,o=e=>X+e*i,s=e=>X+e*a,c=e.map(e=>Number.isFinite(e.x)&&Number.isFinite(e.y)?{...e,cx:o(fc(e.x)),cy:s(fc(e.y))}:{...e,cx:0,cy:0}),l=new Map(c.map(e=>[e.id,e])),u=e.filter(e=>!(Number.isFinite(e.x)&&Number.isFinite(e.y))),d=cc(u,t),f=new Map;for(let e of u){let t=d.get(e.id)??0;f.has(t)||f.set(t,[]),f.get(t).push(e)}let p=[...f.keys()].sort((e,t)=>e-t),m=Math.max(1,p.length-1);return p.forEach((e,t)=>{let i=f.get(e),a=p.length===1?n/2:o(t/m);i.forEach((e,t)=>{let n=l.get(e.id);n.cx=a,n.cy=i.length===1?r/2:s((t+.5)/i.length)})}),c}function fc(e){return Math.min(1,Math.max(0,e))}function pc(e,t){let n=(Math.hypot(t.cx-e.cx,t.cy-e.cy)||1)*.4;return{rx:Math.min(99,n),ry:Math.min(71,n)}}function mc(e,t){let n=t.cx-e.cx,r=t.cy-e.cy,i=Math.atan2(r,n),{rx:a,ry:o}=pc(e,t);return{x:t.cx-Math.cos(i)*a,y:t.cy-Math.sin(i)*o}}function hc(e,t){let n=t.cx-e.cx,r=t.cy-e.cy,i=Math.atan2(r,n),{rx:a,ry:o}=pc(e,t);return{x:e.cx+Math.cos(i)*a,y:e.cy+Math.sin(i)*o}}function gc(e){switch(e){case`client`:return(0,_.jsxs)(`g`,{className:`sa-icon`,children:[(0,_.jsx)(`rect`,{x:-9,y:-7,width:18,height:12,rx:1.6}),(0,_.jsx)(`line`,{x1:-4,y1:8,x2:4,y2:8}),(0,_.jsx)(`line`,{x1:0,y1:5,x2:0,y2:8})]});case`gateway`:return(0,_.jsxs)(`g`,{className:`sa-icon`,children:[(0,_.jsx)(`line`,{x1:-7,y1:-8,x2:-7,y2:8}),(0,_.jsx)(`line`,{x1:7,y1:-8,x2:7,y2:8}),(0,_.jsx)(`path`,{d:`M -8 0 L 5 0 L 5 -3.4 L 10 0 L 5 3.4 L 5 0`,className:`sa-icon-fill`})]});case`cdn`:return(0,_.jsxs)(`g`,{className:`sa-icon`,children:[(0,_.jsx)(`line`,{x1:0,y1:-8,x2:-7,y2:6}),(0,_.jsx)(`line`,{x1:0,y1:-8,x2:7,y2:6}),(0,_.jsx)(`line`,{x1:-7,y1:6,x2:7,y2:6}),(0,_.jsx)(`circle`,{cx:0,cy:-8,r:1.8,className:`sa-icon-fill`}),(0,_.jsx)(`circle`,{cx:-7,cy:6,r:1.8,className:`sa-icon-fill`}),(0,_.jsx)(`circle`,{cx:7,cy:6,r:1.8,className:`sa-icon-fill`})]});default:return(0,_.jsxs)(`g`,{className:`sa-icon`,children:[(0,_.jsx)(`rect`,{x:-9,y:-8,width:18,height:16,rx:2}),(0,_.jsx)(`line`,{x1:-9,y1:0,x2:9,y2:0}),(0,_.jsx)(`circle`,{cx:-5,cy:-4,r:1,className:`sa-icon-fill`}),(0,_.jsx)(`circle`,{cx:-5,cy:4,r:1,className:`sa-icon-fill`})]})}}function _c(e,t,n){let r={fill:t,stroke:n,strokeWidth:2.2};switch(e){case`database`:{let e=tc/2-13;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`path`,{d:`M -58 -22 A 58 13 0 0 1 58 -22 L 58 ${e} A 58 13 0 0 1 -58 ${e} Z`,...r}),(0,_.jsx)(`path`,{d:`M -58 -22 A 58 13 0 0 0 58 -22`,fill:`none`,stroke:n,strokeWidth:1.6})]})}case`queue`:return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`rect`,{x:-36,y:-42/2-14,width:100,height:42,rx:8,fill:t,stroke:n,strokeWidth:1.4,opacity:.55}),(0,_.jsx)(`rect`,{x:-43,y:-42/2-7,width:100,height:42,rx:8,fill:t,stroke:n,strokeWidth:1.4,opacity:.78}),(0,_.jsx)(`rect`,{x:-100/2,y:-42/2,width:100,height:42,rx:8,...r})]});case`cache`:return(0,_.jsx)(`rect`,{x:-62/2,y:-62/2,width:62,height:62,rx:14,transform:`rotate(45)`,...r});case`loadbalancer`:return(0,_.jsx)(`polygon`,{points:Array.from({length:6},(e,t)=>{let n=Math.PI/3*t;return`${Math.cos(n)*66},${Math.sin(n)*40}`}).join(` `),...r});default:return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`rect`,{x:-75,y:-70/2,width:Ys-36,height:tc,rx:14,...r}),(0,_.jsx)(`g`,{transform:`translate(0 -6)`,children:gc(e)})]})}}function vc({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,nodes:r,edges:o,footer:s,delay:c}){let l=i[t]||i.share,u=(0,g.useId)().replace(/:/g,``),d=(0,g.useMemo)(()=>Array.isArray(r)?r:[],[r]),f=(0,g.useMemo)(()=>Array.isArray(o)?o:[],[o]),p=(0,g.useMemo)(()=>uc(d,f),[d,f]),m=(0,g.useMemo)(()=>lc(d,f),[d,f]),h=(0,g.useMemo)(()=>dc(d,f,p,m),[d,f,p,m]),v=(0,g.useMemo)(()=>new Map(h.map(e=>[e.id,e])),[h]),y=Math.round(ec*p/Js);return(0,_.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(c||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`dg-stage sa-stage`,style:{maxWidth:y},children:(0,_.jsxs)(`svg`,{className:`dg-svg`,viewBox:`0 0 ${p} ${m}`,preserveAspectRatio:`xMidYMid meet`,role:`img`,"aria-label":e,children:[(0,_.jsx)(`defs`,{children:(0,_.jsx)(`marker`,{id:`sa-arrow-${u}`,viewBox:`0 0 10 10`,refX:`8`,refY:`5`,markerWidth:`7`,markerHeight:`7`,orient:`auto-start-reverse`,children:(0,_.jsx)(`path`,{d:`M0 0 L10 5 L0 10 z`,className:`sa-arrowhead`})})}),f.map((e,t)=>{let n=v.get(e.from),r=v.get(e.to);if(!n||!r)return null;let i=hc(n,r),a=mc(n,r);return(0,_.jsx)(`line`,{className:`sa-edge`,x1:i.x,y1:i.y,x2:a.x,y2:a.y,markerEnd:`url(#sa-arrow-${u})`},t)}),h.map(e=>{let t=e.cy+nc,n=typeof e.label==`string`&&e.label?e.label:e.id||`Node`;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`g`,{transform:`translate(${e.cx} ${t})`,children:_c(e.kind,rc[e.kind]??rc.service,ic[e.kind]??ic.service)}),(0,_.jsxs)(`text`,{x:e.cx,y:t+tc/2+24,className:`sa-label`,textAnchor:`middle`,children:[n.length>ac&&(0,_.jsx)(`title`,{children:n}),sc(n,ac)]}),e.sub&&(0,_.jsx)(`text`,{x:e.cx,y:t+tc/2+44,className:`sa-sub`,textAnchor:`middle`,children:sc(e.sub,oc)})]},e.id)}),f.map((e,t)=>{let n=v.get(e.from),r=v.get(e.to);if(!n||!r)return null;let i=hc(n,r),a=mc(n,r),o=(i.x+a.x)/2,s=(i.y+a.y)/2,c=[e.label,e.protocol].filter(e=>typeof e==`string`&&e).join(` · `);return c?(0,_.jsx)(`text`,{x:o,y:s-8,className:`dg-edge-label`,textAnchor:`middle`,children:sc(c,26)},t):null})]})}),s&&(0,_.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(s)})]})}var yc=156,bc=40,xc=10,Z=14,Sc=20,Cc=22,wc=20,Tc=4,Ec=4,Dc=new Set([`process`,`datastore`,`external-entity`]);function Oc(e){return Dc.has(e)?e:`process`}var kc=new Set([`spoofing`,`tampering`,`repudiation`,`info-disclosure`,`dos`,`elevation`]),Ac={spoofing:`Spoofing`,tampering:`Tampering`,repudiation:`Repudiation`,"info-disclosure":`Info disclosure`,dos:`Denial of service`,elevation:`Elevation of privilege`},jc={spoofing:`S`,tampering:`T`,repudiation:`R`,"info-disclosure":`I`,dos:`D`,elevation:`E`},Mc=16;function Nc(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function Pc(e){return e>0?e*bc+(e-1)*xc:bc}function Fc(e){let t=(0,F.c)(3),{kind:n}=e;switch(n){case`datastore`:{let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,_.jsxs)(`g`,{className:`tm-glyph`,children:[(0,_.jsx)(`line`,{x1:-6,y1:-4,x2:6,y2:-4}),(0,_.jsx)(`line`,{x1:-6,y1:4,x2:6,y2:4})]}),t[0]=e):e=t[0],e}case`external-entity`:{let e;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,_.jsx)(`g`,{className:`tm-glyph`,children:(0,_.jsx)(`rect`,{x:-6,y:-6,width:12,height:12})}),t[1]=e):e=t[1],e}default:{let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,_.jsx)(`g`,{className:`tm-glyph`,children:(0,_.jsx)(`circle`,{r:6})}),t[2]=e):e=t[2],e}}}function Ic({title:e,icon:t=`shield`,iconColor:n=`var(--presence)`,assets:r,boundaries:o,threats:s,footer:c,delay:l}){let u=i[t]||i.shield,d=(0,g.useMemo)(()=>(Array.isArray(r)?r:[]).map((e,t)=>{if(!e||typeof e!=`object`)return null;let n=e,r=typeof n.name==`string`?n.name.trim():``;return r?{id:typeof n.id==`string`&&n.id.trim()?n.id.trim():`asset-${t}`,name:r,kind:Oc(n.kind)}:null}).filter(e=>e!==null),[r]),f=(0,g.useMemo)(()=>(Array.isArray(s)?s:[]).map((e,t)=>{if(!e||typeof e!=`object`)return null;let n=e,r=typeof n.assetId==`string`?n.assetId.trim():``;return r?{key:t,assetId:r,stride:kc.has(n.stride)?n.stride:void 0,mitigation:typeof n.mitigation==`string`?n.mitigation.trim():``,status:n.status===`mitigated`?`mitigated`:`open`}:null}).filter(e=>e!==null),[s]),p=(0,g.useMemo)(()=>new Map(d.map(e=>[e.id,e])),[d]),m=(0,g.useMemo)(()=>{let e=new Set(d.map(e=>e.id));return(Array.isArray(o)?o:[]).map((t,n)=>{if(!t||typeof t!=`object`)return null;let r=typeof t.label==`string`?t.label.trim():``;return r?{label:r,contains:(Array.isArray(t.contains)?t.contains:[]).filter(t=>typeof t==`string`&&e.has(t)),key:n}:null}).filter(e=>e!==null)},[o,d]),h=(0,g.useMemo)(()=>{if(m.length===0)return d.length>0?[{key:`all`,label:null,dashed:!1,assets:d}]:[];let e=new Map;m.forEach((t,n)=>{for(let r of new Set(t.contains)){let t=e.get(r);t?t.push(n):e.set(r,[n])}});let t=m.map(e=>({key:`b-${e.key}`,label:e.label,dashed:!0,assets:[]}));for(let n of d)for(let r of e.get(n.id)??[])t[r].assets.push(n);let n=d.filter(t=>!e.has(t.id));return n.length>0&&t.push({key:`unassigned`,label:`Unboundaried`,dashed:!1,assets:n}),t},[m,d]),{placedLanes:v,chips:y,vbW:b,vbH:x}=(0,g.useMemo)(()=>{let e=Math.max(1,Math.min(Tc,h.length)),t=[];for(let n=0;n<h.length;n+=e)t.push(h.slice(n,n+e));let n=[],r=[],i=wc;for(let e of t){let t=0;for(let n of e){let e=(n.label?Sc:0)+Z*2+Pc(n.assets.length);t=Math.max(t,e)}e.forEach((e,t)=>{let a=e.label?Sc:0,o=a+Z*2+Pc(e.assets.length),s=wc+t*206;n.push({...e,x:s,y:i,w:184,h:o}),e.assets.forEach((e,t)=>{r.push({asset:e,x:s+Z,y:i+a+Z+t*50})})}),i+=t+Cc}return{placedLanes:n,chips:r,vbW:wc*2+e*184+Math.max(0,e-1)*Cc,vbH:Math.max(140,i-Cc+wc)}},[h]),S=(0,g.useMemo)(()=>{let e=new Map;for(let t of f){if(!p.has(t.assetId))continue;let n=e.get(t.assetId)??[];n.push(t),e.set(t.assetId,n)}return e},[f,p]);return(0,_.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(l||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),y.length===0?(0,_.jsx)(`p`,{className:`tm-empty`,children:`No assets to diagram.`}):(0,_.jsx)(`div`,{className:`dg-stage tm-stage`,children:(0,_.jsxs)(`svg`,{viewBox:`0 0 ${b} ${x}`,className:`dg-svg`,role:`img`,"aria-label":e,preserveAspectRatio:`xMidYMid meet`,children:[v.map(e=>(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`rect`,{x:e.x,y:e.y,width:e.w,height:e.h,rx:12,className:e.dashed?`tm-boundary`:`tm-lane-plain`}),e.label&&(0,_.jsx)(`text`,{x:e.x+Z,y:e.y+15,className:`tm-lane-lbl`,children:Nc(e.label,22)}),e.assets.length===0&&(0,_.jsx)(`text`,{x:e.x+e.w/2,y:e.y+e.h/2+4,textAnchor:`middle`,className:`tm-lane-empty`,children:`No assets`})]},e.key)),y.map(e=>{let t=e.x,n=e.y,r=S.get(e.asset.id)??[],i=r.slice(0,Ec),a=r.length-i.length;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`rect`,{x:t,y:n,width:yc,height:bc,rx:9,className:`tm-chip`}),(0,_.jsx)(`g`,{transform:`translate(${t+17} ${n+bc/2})`,children:(0,_.jsx)(Fc,{kind:e.asset.kind})}),(0,_.jsxs)(`text`,{x:t+32,y:n+bc/2+4,className:`tm-chip-lbl`,children:[e.asset.name.length>Mc&&(0,_.jsx)(`title`,{children:e.asset.name}),Nc(e.asset.name,Mc)]}),i.map((e,r)=>(0,_.jsx)(`circle`,{cx:t+yc-9-r*10,cy:n+8,r:3.4,className:e.status===`open`?`tm-mark tm-mark--open`:`tm-mark`,children:(0,_.jsx)(`title`,{children:(e.stride?Ac[e.stride]:`Threat`)+(e.status===`open`?` · open`:` · mitigated`)})},e.key)),a>0&&(0,_.jsxs)(`text`,{x:t+yc-9-i.length*10,y:n+11,textAnchor:`end`,className:`tm-mark-more`,children:[`+`,a]})]},e.asset.id)})]})}),f.length>0&&(0,_.jsx)(`div`,{className:`tm-register`,children:f.map(e=>{let t=p.get(e.assetId);return(0,_.jsxs)(`div`,{className:`tm-row`,children:[(0,_.jsxs)(`div`,{className:`tm-row-head`,children:[(0,_.jsx)(`span`,{className:`tm-row-stride`,title:e.stride?Ac[e.stride]:void 0,children:e.stride?jc[e.stride]:`?`}),(0,_.jsx)(`span`,{className:`tm-row-asset`,children:t?t.name:`Unknown asset`}),(0,_.jsx)(`span`,{className:`tm-row-cat`,children:e.stride?Ac[e.stride]:`Unspecified`}),(0,_.jsx)(`span`,{className:e.status===`open`?`tm-row-status tm-row-status--open`:`tm-row-status tm-row-status--mitigated`,children:e.status===`open`?`Open`:`Mitigated`})]}),(0,_.jsx)(`span`,{className:`tm-row-mitigation`,children:e.mitigation||`—`})]},e.key)})}),c&&(0,_.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(c)})]})}function Lc(e){let t=(0,F.c)(16),{kind:n,name:r,conn:i,text:a}=e,o=`toul-role toul-role--${n}`,s;t[0]===n?s=t[1]:(s={gridArea:n},t[0]=n,t[1]=s);let c;t[2]===i?c=t[3]:(c=i&&(0,_.jsx)(`span`,{className:`toul-role-conn`,children:i}),t[2]=i,t[3]=c);let l;t[4]===r?l=t[5]:(l=(0,_.jsx)(`span`,{className:`toul-role-name`,children:r}),t[4]=r,t[5]=l);let u;t[6]!==c||t[7]!==l?(u=(0,_.jsxs)(`div`,{className:`toul-role-head`,children:[c,l]}),t[6]=c,t[7]=l,t[8]=u):u=t[8];let d;t[9]===a?d=t[10]:(d=(0,_.jsx)(`p`,{className:`toul-role-text`,children:a}),t[9]=a,t[10]=d);let f;return t[11]!==o||t[12]!==s||t[13]!==u||t[14]!==d?(f=(0,_.jsxs)(`div`,{className:o,style:s,children:[u,d]}),t[11]=o,t[12]=s,t[13]=u,t[14]=d,t[15]=f):f=t[15],f}function Rc({title:e,icon:t=`proof`,iconColor:n=`var(--presence)`,claim:r,grounds:o,warrant:s,backing:c,qualifier:l,rebuttal:u,footer:d,delay:f}){let p=i[t]||i.proof;return(0,_.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(f||0)+`ms`},children:[e&&(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(p,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`toul`,children:(0,_.jsxs)(`div`,{className:`toul-grid`,children:[o&&(0,_.jsx)(Lc,{kind:`grounds`,name:`Grounds`,text:o}),s&&(0,_.jsx)(Lc,{kind:`warrant`,name:`Warrant`,conn:`Since`,text:s}),c&&(0,_.jsx)(Lc,{kind:`backing`,name:`Backing`,conn:`On account of`,text:c}),(0,_.jsxs)(`div`,{className:`toul-bridge`,style:{gridArea:`bridge`},"aria-hidden":`true`,children:[(0,_.jsx)(`span`,{className:`toul-so`,children:`so`}),l&&(0,_.jsx)(`span`,{className:`toul-qual`,children:l}),(0,_.jsx)(`span`,{className:`toul-arrow`})]}),r&&(0,_.jsx)(Lc,{kind:`claim`,name:`Claim`,text:r}),u&&(0,_.jsx)(Lc,{kind:`rebuttal`,name:`Rebuttal`,conn:`Unless`,text:u})]})}),d&&(0,_.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(d)})]})}var Q=170,$=24,zc=$*2,Bc=48,Vc=18,Hc=22,Uc=15,Wc=16;function Gc(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function Kc(e,t){if(e.length===0||t.length===0)return{placed:[],connectors:[],columnX:[],W:0,H:0};let n=Math.max(e.length,Math.max(...t.map(e=>e.round))+1),r=new Map;for(let e of t){let t=Math.max(0,Math.round(e.round)),n=r.get(t);n?n.push(e):r.set(t,[e])}for(let e of r.values())e.sort((e,t)=>e.slot-t.slot);let i=e=>40+e*66+zc/2,a=new Map;for(let e of r.get(0)??[])a.set(e.id,i(e.slot));for(let e=1;e<n;e++){let t=new Map((r.get(e-1)??[]).map(e=>[e.slot,e]));for(let n of r.get(e)??[]){let e=t.get(n.slot*2),r=t.get(n.slot*2+1),o=e?a.get(e.id):void 0,s=r?a.get(r.id):void 0,c=o!==void 0&&s!==void 0?(o+s)/2:o??s??i(n.slot);a.set(n.id,c)}}let o=Array.from({length:n},(e,t)=>Vc+t*218),s=[];for(let e=0;e<n;e++)for(let t of r.get(e)??[])s.push({...t,x:o[e],y:a.get(t.id)});let c=[];for(let e=1;e<n;e++){let t=new Map((r.get(e-1)??[]).map(e=>[e.slot,e])),n=o[e-1]+Q,i=n+Bc/2,s=o[e];for(let o of r.get(e)??[]){let e=t.get(o.slot*2),r=t.get(o.slot*2+1),l=a.get(o.id);if(e&&r){let t=a.get(e.id),u=a.get(r.id);c.push({key:`feed-${o.id}`,d:`M ${n} ${t} H ${i} V ${u} H ${n}`}),c.push({key:`stub-${o.id}`,d:`M ${i} ${l} H ${s}`})}else if(e||r){let t=a.get((e??r).id);c.push({key:`feed-${o.id}`,d:`M ${n} ${t} H ${i} V ${l} H ${s}`})}}}let l=Math.max(...s.map(e=>e.y))+zc/2+Vc;return{placed:s,connectors:c,columnX:o,W:Vc+n*Q+(n-1)*Bc+Vc,H:l}}function qc(e){let t=(0,F.c)(4),{d:n,delay:r}=e,i=(0,g.useRef)(null),a;t[0]===r?a=t[1]:(a={delay:r},t[0]=r,t[1]=a),d(i,a);let o;return t[2]===n?o=t[3]:(o=(0,_.jsx)(`path`,{ref:i,d:n,className:`dg-tb-connector`}),t[2]=n,t[3]=o),o}function Jc(e){let t=(0,F.c)(16),{name:n,score:r,rowY:i,isWinner:a,isDecided:o}=e,s=n??(o?`BYE`:`TBD`),c=`dg-tb-name`+(n?a?` dg-tb-name-winner`:o?` dg-tb-name-loser`:``:` dg-tb-name-tbd`),l=`dg-tb-score`+(a?` dg-tb-score-winner`:o?` dg-tb-score-loser`:``),u;t[0]===n?u=t[1]:(u=n&&n.length>Uc&&(0,_.jsx)(`title`,{children:n}),t[0]=n,t[1]=u);let d;t[2]===s?d=t[3]:(d=Gc(s,Uc),t[2]=s,t[3]=d);let f;t[4]!==c||t[5]!==i||t[6]!==u||t[7]!==d?(f=(0,_.jsxs)(`text`,{x:12,y:i,dominantBaseline:`central`,className:c,children:[u,d]}),t[4]=c,t[5]=i,t[6]=u,t[7]=d,t[8]=f):f=t[8];let p;t[9]!==i||t[10]!==r||t[11]!==l?(p=r!==void 0&&(0,_.jsx)(`text`,{x:Q-12,y:i,dominantBaseline:`central`,textAnchor:`end`,className:l,children:r}),t[9]=i,t[10]=r,t[11]=l,t[12]=p):p=t[12];let m;return t[13]!==f||t[14]!==p?(m=(0,_.jsxs)(_.Fragment,{children:[f,p]}),t[13]=f,t[14]=p,t[15]=m):m=t[15],m}function Yc({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,rounds:r,matchups:o,double:s=!1,footer:c,delay:l}){let u=i[t]??i.share,d=(0,g.useMemo)(()=>Kc(r,o),[r,o]);return d.placed.length===0?(0,_.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(l??0)+`ms`},children:[e&&(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`p`,{className:`dg-tb-empty`,children:`No matchups yet.`})]}):(0,_.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(l??0)+`ms`},children:[e&&(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(u,{className:`ic`,style:{color:n}}),` `,e,s&&(0,_.jsx)(`span`,{className:`dg-tb-note`,children:`single-elimination view`})]}),(0,_.jsx)(`div`,{className:`dg-tb-wrap`,children:(0,_.jsxs)(`svg`,{viewBox:`0 0 ${d.W} ${d.H}`,width:`100%`,className:`dg-tb-svg`,role:`img`,"aria-label":e??`tournament bracket`,children:[r.map((e,t)=>d.columnX[t]===void 0?null:(0,_.jsxs)(`text`,{x:d.columnX[t]+Q/2,y:Hc-7,textAnchor:`middle`,className:`dg-tb-round-label`,children:[e.length>Wc&&(0,_.jsx)(`title`,{children:e}),Gc(e,Wc)]},`hdr-${t}`)),d.connectors.map((e,t)=>(0,_.jsx)(qc,{d:e.d,delay:t*45},e.key)),d.placed.map((e,t)=>{let n=e.winner!==void 0,r=e.y-zc/2;return(0,_.jsx)(`g`,{transform:`translate(${e.x} ${r})`,children:(0,_.jsxs)(`g`,{className:`dg-tb-box m-stagger-item m-fade-rise`,style:{"--i":t},children:[(0,_.jsx)(`rect`,{width:Q,height:zc,rx:7,className:`dg-tb-box-bg`}),n&&e.winner===`a`&&(0,_.jsx)(`rect`,{x:1,y:1,width:Q-2,height:$-1,rx:6,className:`dg-tb-row-winner`}),n&&e.winner===`b`&&(0,_.jsx)(`rect`,{x:1,y:$,width:Q-2,height:$-1,rx:6,className:`dg-tb-row-winner`}),(0,_.jsx)(`line`,{x1:0,y1:$,x2:Q,y2:$,className:`dg-tb-divider`}),(0,_.jsx)(Jc,{name:e.a,score:e.scoreA,rowY:$/2,isWinner:n&&e.winner===`a`,isDecided:n}),(0,_.jsx)(Jc,{name:e.b,score:e.scoreB,rowY:36,isWinner:n&&e.winner===`b`,isDecided:n})]})},e.id)})]})}),c&&(0,_.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(c)})]})}var Xc=14,Zc=44,Qc=58,$c=20,el=10,tl=6;function nl(e){let t=0,n={char:``,id:`n0`,children:new Map,isEnd:!1};for(let r of e.slice(0,el)){let e=r.slice(0,tl),i=n;for(let n of e)i.children.has(n)||(t+=1,i.children.set(n,{char:n,id:`n${t}`,children:new Map,isEnd:!1})),i=i.children.get(n);i.isEnd=!0}return n}function rl(e){if(e.children.size===0)return 1;let t=0;for(let n of e.children.values())t+=rl(n);return t}function il(e){let t=[],n=Math.max(1,rl(e)),r=0,i=0,a=(e,n,o,s)=>{if(e.children.size===0){let a=34+i*Zc,c=34+n*Qc;t.push({id:e.id,char:e.char,x:a,y:c,isEnd:e.isEnd,parentId:o,edgeChar:s}),r=Math.max(r,n),i+=1;return}let c=i;for(let[t,r]of e.children)a(r,n+1,e.id,t);let l=34+(c+(i-1))/2*Zc,u=34+n*Qc;t.push({id:e.id,char:e.char,x:l,y:u,isEnd:e.isEnd,parentId:o,edgeChar:s}),r=Math.max(r,n)};return a(e,0,void 0,``),{placed:t,totalSlots:n,maxDepth:r}}function al({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,words:r,highlight:o,footer:s,delay:c}){let l=i[t]??i.share,{placed:u,totalSlots:d,maxDepth:f}=(0,g.useMemo)(()=>il(nl(r)),[r]),p=(0,g.useMemo)(()=>{if(!o)return new Set;let e=nl(r),t=new Set;t.add(e.id);let n=e;for(let e of o.slice(0,tl)){let r=n.children.get(e);if(!r)break;t.add(r.id),n=r}return t},[r,o]),m=(0,g.useMemo)(()=>new Map(u.map(e=>[e.id,e])),[u]),h=$c*2+Math.max(1,d)*Zc,v=$c*2+(f+1)*Qc;return(0,_.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(c??0)+`ms`},children:[e&&(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`tri-wrap`,children:(0,_.jsxs)(`svg`,{viewBox:`0 0 ${h} ${v}`,className:`tri-svg`,role:`img`,"aria-label":e??`Trie diagram`,children:[u.map(e=>{if(!e.parentId)return null;let t=m.get(e.parentId);if(!t)return null;let n=p.has(e.id)&&p.has(e.parentId),r=(t.x+e.x)/2,i=(t.y+e.y)/2;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`line`,{x1:t.x,y1:t.y,x2:e.x,y2:e.y,className:`tri-edge`+(n?` tri-edge-active`:``)}),(0,_.jsx)(`text`,{x:r,y:i,textAnchor:`middle`,dominantBaseline:`middle`,className:`tri-edge-label`+(n?` tri-edge-label-active`:``),children:e.edgeChar})]},`edge-${e.id}`)}),u.map(e=>{let t=p.has(e.id),n=!e.parentId;return(0,_.jsxs)(`g`,{children:[e.isEnd&&(0,_.jsx)(`circle`,{cx:e.x,cy:e.y,r:19,className:`tri-node-end-ring`+(t?` tri-node-end-ring-active`:``)}),(0,_.jsx)(`circle`,{cx:e.x,cy:e.y,r:Xc,className:`tri-node`+(t?` tri-node-active`:``)+(n?` tri-node-root`:``)}),!n&&(0,_.jsx)(`text`,{x:e.x,y:e.y+5,textAnchor:`middle`,className:`tri-label`+(t?` tri-label-active`:``),children:e.char})]},`node-${e.id}`)})]})}),s&&(0,_.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(s)})]})}var ol=100,sl=64,cl={hot:`c-hot`,neutral:`c-neutral`,ground:`c-ground`,traveler:`c-traveler`};function ll(e){switch(e){case`breaker`:return(0,_.jsxs)(`g`,{className:`dg-wir-glyph`,children:[(0,_.jsx)(`rect`,{x:-6,y:-7,width:12,height:14,rx:1.6,fill:`none`}),(0,_.jsx)(`line`,{x1:-3.5,y1:-3.5,x2:3.5,y2:-1}),(0,_.jsx)(`circle`,{cx:0,cy:3.5,r:1,className:`dg-wir-fill`})]});case`switch`:return(0,_.jsxs)(`g`,{className:`dg-wir-glyph`,children:[(0,_.jsx)(`circle`,{cx:-5,cy:0,r:1.1,className:`dg-wir-fill`}),(0,_.jsx)(`circle`,{cx:5,cy:0,r:1.1,className:`dg-wir-fill`}),(0,_.jsx)(`line`,{x1:-5,y1:0,x2:4,y2:-5})]});case`switch3way`:return(0,_.jsxs)(`g`,{className:`dg-wir-glyph`,children:[(0,_.jsx)(`circle`,{cx:-5,cy:0,r:1.1,className:`dg-wir-fill`}),(0,_.jsx)(`circle`,{cx:5,cy:-3,r:1.1,className:`dg-wir-fill`}),(0,_.jsx)(`circle`,{cx:5,cy:3,r:1.1,className:`dg-wir-fill`}),(0,_.jsx)(`line`,{x1:-5,y1:0,x2:4,y2:-4})]});case`outlet`:return(0,_.jsxs)(`g`,{className:`dg-wir-glyph`,children:[(0,_.jsx)(`circle`,{cx:0,cy:0,r:6,fill:`none`}),(0,_.jsx)(`line`,{x1:-2.2,y1:-2.6,x2:-2.2,y2:1.4}),(0,_.jsx)(`line`,{x1:2.2,y1:-2.6,x2:2.2,y2:1.4}),(0,_.jsx)(`line`,{x1:0,y1:3,x2:0,y2:4.4})]});case`gfci`:return(0,_.jsxs)(`g`,{className:`dg-wir-glyph`,children:[(0,_.jsx)(`rect`,{x:-6,y:-7,width:12,height:14,rx:1.6,fill:`none`}),(0,_.jsx)(`circle`,{cx:0,cy:-2.4,r:1.5,fill:`none`}),(0,_.jsx)(`circle`,{cx:0,cy:3,r:1.5,fill:`none`}),(0,_.jsx)(`text`,{x:7.5,y:-4,className:`dg-wir-tick`,children:`G`})]});case`light`:return(0,_.jsxs)(`g`,{className:`dg-wir-glyph`,children:[(0,_.jsx)(`circle`,{cx:0,cy:0,r:6,fill:`none`}),(0,_.jsx)(`line`,{x1:-4.2,y1:-4.2,x2:4.2,y2:4.2}),(0,_.jsx)(`line`,{x1:-4.2,y1:4.2,x2:4.2,y2:-4.2})]});case`panel`:return(0,_.jsxs)(`g`,{className:`dg-wir-glyph`,children:[(0,_.jsx)(`rect`,{x:-7,y:-8,width:14,height:16,rx:1.6,fill:`none`}),(0,_.jsx)(`line`,{x1:-7,y1:-2,x2:7,y2:-2}),(0,_.jsx)(`line`,{x1:-7,y1:2.5,x2:7,y2:2.5}),(0,_.jsx)(`line`,{x1:0,y1:-8,x2:0,y2:8})]});case`motor`:return(0,_.jsxs)(`g`,{className:`dg-wir-glyph`,children:[(0,_.jsx)(`circle`,{cx:0,cy:0,r:6.5,fill:`none`}),(0,_.jsx)(`text`,{x:0,y:2.6,className:`dg-wir-mark`,textAnchor:`middle`,children:`M`})]});case`ground`:return(0,_.jsxs)(`g`,{className:`dg-wir-glyph`,children:[(0,_.jsx)(`line`,{x1:0,y1:-7,x2:0,y2:0}),(0,_.jsx)(`line`,{x1:-5,y1:0,x2:5,y2:0,strokeWidth:1.4}),(0,_.jsx)(`line`,{x1:-3,y1:2.6,x2:3,y2:2.6}),(0,_.jsx)(`line`,{x1:-1.4,y1:5,x2:1.4,y2:5})]});default:return(0,_.jsx)(`circle`,{cx:0,cy:0,r:2.2,className:`dg-wir-fill`})}}function ul({title:e,icon:t=`spark`,iconColor:n=`var(--presence)`,nodes:r,wires:o,caption:s,footer:c,delay:l}){let u=i[t]||i.spark,d=(0,g.useMemo)(()=>{let e=Math.max(1,r.length),t=Math.min(e,Math.ceil(Math.sqrt(e)*1.4)),n=Math.ceil(e/t),i=ol/(t+1),a=sl/(n+1),o={};return r.forEach((e,n)=>{if(e.x!==void 0&&e.y!==void 0)o[e.id]={x:e.x,y:e.y};else{let r=Math.floor(n/t),s=n%t;o[e.id]={x:i*(s+1),y:a*(r+1)}}}),o},[r]);return(0,_.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(l||0)+`ms`},children:[e&&(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`dg-wir`,children:(0,_.jsxs)(`svg`,{viewBox:`-8 -10 116 86`,className:`dg-wir-svg`,role:`img`,"aria-label":e||`wiring diagram`,children:[o.map((e,t)=>{let n=d[e.from],r=d[e.to];if(!n||!r)return null;let i=cl[e.conductor??`hot`],a=r.x,o=n.y;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`polyline`,{points:`${n.x},${n.y} ${a},${o} ${r.x},${r.y}`,className:`dg-wir-wire ${i}`,fill:`none`}),e.gauge&&(0,_.jsx)(`text`,{x:(n.x+a)/2,y:o-1.6,className:`dg-wir-gauge`,textAnchor:`middle`,children:e.gauge})]},t)}),r.map(e=>{let t=d[e.id];return t?(0,_.jsxs)(`g`,{transform:`translate(${t.x} ${t.y})`,children:[ll(e.kind),e.label&&(0,_.jsx)(`text`,{x:0,y:13,className:`dg-wir-lbl`,textAnchor:`middle`,children:e.label})]},e.id):null})]})}),(0,_.jsx)(pl,{wires:o}),s&&(0,_.jsx)(`p`,{className:`dg-wir-cap`,children:s}),c&&(0,_.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(c)})]})}var dl={hot:`Hot`,neutral:`Neutral`,ground:`Ground`,traveler:`Traveler`},fl=[`hot`,`neutral`,`ground`,`traveler`];function pl(e){let t=(0,F.c)(9),{wires:n}=e,r;t[0]===n?r=t[1]:(r=new Set(n.map(hl)),t[0]=n,t[1]=r);let i=r,a,o,s;if(t[2]!==i){s=Symbol.for(`react.early_return_sentinel`);bb0:{let e=fl.filter(e=>i.has(e));if(e.length<2){s=null;break bb0}a=`dg-wir-legend`,o=e.map(ml)}t[2]=i,t[3]=a,t[4]=o,t[5]=s}else a=t[3],o=t[4],s=t[5];if(s!==Symbol.for(`react.early_return_sentinel`))return s;let c;return t[6]!==a||t[7]!==o?(c=(0,_.jsx)(`div`,{className:a,children:o}),t[6]=a,t[7]=o,t[8]=c):c=t[8],c}function ml(e){return(0,_.jsxs)(`span`,{className:`dg-wir-legend-item`,children:[(0,_.jsx)(`span`,{className:`dg-wir-swatch ${cl[e]}`}),dl[e]]},e)}function hl(e){return e.conductor??`hot`}var gl=e({diagramsRegistry:()=>_l}),_l={algorithmtrace:f(C),argumentmap:f(E),binarytree:f(re),castmap:f(ge),causationchain:f(We),circuitdiagram:f(et),classdiagram:f(Ct),controlblockdiagram:f(Wt),cyclewheel:f(rn),datapipeline:f(Mn),datastructure:f(Qn),diagramflow:f(gr),dptable:f(Mr),erdiagram:f(Nr),fishbone:f(Wr),fiveforces:f(ui),fivewhychain:f(Ei),foodweb:f(Li),graphtrace:f(Gi),hashtable:f(na),logicgates:f(ha),mindshape:f(h),nnarchitecture:f(ka),pipingschematic:f(Na),plasmidmap:f(Ja),primefactortree:f(so),probabilitytree:f(yo),prooftree:f(Ao),protocolstack:f(Vo),recursiontree:f(ts),sequencediagram:f(ps),sortingviz:f(vs),gridtrace:f(ws),statemachine:f(Es),synthesisroute:f(qs),sysarchdiagram:f(vc),threatmodel:f(Ic),toulmin:f(Rc),tournamentbracket:f(Yc),trie:f(al),wiringdiagram:f(ul)};export{gl as n,_l as t};
1
+ import{r as e}from"./chunk-BVpWp9h4.js";import{t}from"./react-BQSORdFI.js";import{t as n}from"./jsx-runtime-DaSxXjOY.js";import{ht as r}from"./index-CWqRe4-B.js";import{n as i}from"./icons-CHVz6kv_.js";import{t as a}from"./richText-BkxJhl9N.js";import{i as o}from"./scale-Bcgfo6Hp.js";import{t as s}from"./BlockEmpty-Ddhgr5pu.js";import{a as c,i as l,o as u}from"./lib-CwruVYU_.js";import{n as d}from"./motion-CURfDtdH.js";import{t as f}from"./registry-types-DMuK0vJ6.js";import{n as p,t as m}from"./fitText-CDFmCQzl.js";import{t as h}from"./MindShape-0KPrv0CF.js";var g=t(),_=n(),v=e=>typeof e==`number`?String(e):e;function y(e,t){return e?e.swapped?.includes(t)?`swapped`:e.compare?.includes(t)?`compared`:e.highlight?.includes(t)?`highlight`:`none`:`none`}var b=[900,350,100],x=[`1×`,`2×`,`8×`];function S(e){return e?{"o-1":`O(1)`,"o-logn":`O(log n)`,"o-n":`O(n)`,"o-nlogn":`O(n log n)`,"o-n2":`O(n²)`,"o-2n":`O(2ⁿ)`}[e]??e:``}function C({title:e,icon:t=`layers`,iconColor:n=`var(--presence)`,values:r,steps:o,complexity:s,autoPlay:c,caption:l,footer:u,delay:d}){let f=i[t]||i.layers,p=Math.max(1,o.length),[m,h]=(0,g.useState)(0),[C,w]=(0,g.useState)(c??!1),[T,E]=(0,g.useState)(1),D=(0,g.useRef)(m);D.current=m;let O=o[Math.min(m,o.length-1)],k=(0,g.useRef)(typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches);(0,g.useEffect)(()=>{if(!C)return;let e=setInterval(()=>{let e=D.current+1;if(e>=o.length){w(!1);return}h(e)},b[T]);return()=>clearInterval(e)},[C,o.length,T]);let A=(0,g.useCallback)(e=>{w(!1),h(Math.min(o.length-1,Math.max(0,e)))},[o.length]),j=(0,g.useCallback)(()=>{k.current||w(e=>(!e&&m>=o.length-1&&h(0),!e))},[m,o.length]),M=(0,g.useMemo)(()=>{let e=O?.pointer;return e?Object.entries(e).filter(([,e])=>Number.isFinite(e)&&e>=0&&e<r.length).sort((e,t)=>e[1]-t[1]||e[0].localeCompare(t[0])).map(([e,t])=>({label:e,index:t})):[]},[O,r.length]),N=(0,g.useMemo)(()=>{let e=new Map;for(let t of M){let n=e.get(t.index)??[];n.push(t.label),e.set(t.index,n)}return e},[M]),P=M.length>0;return(0,_.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(d||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(f,{className:`ic`,style:{color:n}}),e,s&&(0,_.jsx)(`span`,{className:`dg-at-complexity`,title:`Time complexity: ${S(s)}`,children:S(s)})]}),(0,_.jsx)(`p`,{className:`dg-at-caption`,"aria-live":`polite`,children:O?.caption??``}),(0,_.jsx)(`div`,{className:`dg-at-row`,role:`group`,"aria-label":`array`,children:r.map((e,t)=>{let n=y(O,t),r=N.get(t);return(0,_.jsxs)(`div`,{className:`dg-at-cell-wrap`,children:[(0,_.jsx)(`div`,{className:`dg-at-cell role-${n}`,children:v(e)}),(0,_.jsx)(`div`,{className:`dg-at-idx`,children:t}),P&&(0,_.jsx)(`div`,{className:`dg-at-ptr-slot`,children:r&&(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)(`span`,{className:`dg-at-ptr-caret`,"aria-hidden":`true`}),(0,_.jsx)(`span`,{className:`dg-at-ptr-labels`,children:r.join(` · `)})]})})]},t)})}),(0,_.jsxs)(`div`,{className:`dg-at-controls`,children:[(0,_.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>A(m-1),disabled:m===0,"aria-label":`previous step`,children:[(0,_.jsx)(i.chevL,{className:`ic`}),` Prev`]}),!k.current&&(0,_.jsx)(`button`,{type:`button`,className:`dg-at-btn dg-at-play`+(C?` playing`:``),onClick:j,"aria-label":C?`pause`:`play`,children:C?(0,_.jsx)(i.pause,{className:`ic`}):(0,_.jsx)(i.play,{className:`ic`})}),!k.current&&(0,_.jsx)(`button`,{type:`button`,className:`dg-at-btn dg-at-speed`,onClick:()=>E(e=>(e+1)%3),"aria-label":`speed: ${x[T]}`,children:x[T]}),(0,_.jsx)(`div`,{className:`dg-at-progress`,"aria-hidden":`true`,children:o.map((e,t)=>(0,_.jsx)(`span`,{className:`dg-at-dot`+(t===m?` on`:t<m?` done`:``)},t))}),(0,_.jsxs)(`span`,{className:`dg-at-count`,children:[Math.min(m+1,p),` / `,p]}),(0,_.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>A(m+1),disabled:m>=o.length-1,"aria-label":`next step`,children:[`Next `,(0,_.jsx)(i.chevR,{className:`ic`})]})]}),O?.ops&&(0,_.jsxs)(`div`,{className:`dg-at-ops`,children:[O.ops.comparisons!==void 0&&(0,_.jsxs)(`span`,{children:[O.ops.comparisons,` cmp`]}),O.ops.comparisons!==void 0&&O.ops.swaps!==void 0&&(0,_.jsx)(`span`,{className:`dg-at-ops-sep`,children:`·`}),O.ops.swaps!==void 0&&(0,_.jsxs)(`span`,{children:[O.ops.swaps,` swap`]})]}),l&&(0,_.jsx)(`p`,{className:`dg-at-cap`,children:l}),u&&(0,_.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(u)})]})}var w={support:`var(--insight)`,objection:`var(--warning)`,qualifier:`var(--text-muted)`},T={support:`+ For`,objection:`− Against`,qualifier:`~ Qualifier`};function E({title:e,icon:t=`proof`,iconColor:n=`var(--presence)`,claim:r,premises:o,verdict:s,footer:c,delay:l}){let u=i[t]||i.proof,d=o.filter(e=>e.type===`support`),f=o.filter(e=>e.type===`objection`),p=o.filter(e=>e.type===`qualifier`);return(0,_.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(l||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`am-claim`,children:r}),(0,_.jsxs)(`div`,{className:`am-columns`,children:[(0,_.jsxs)(`div`,{className:`am-col am-col--support`,children:[d.length>0&&(0,_.jsx)(`div`,{className:`am-col-label`,style:{color:w.support},children:T.support}),d.map((e,t)=>(0,_.jsxs)(`div`,{className:`am-premise am-premise--support`,children:[(0,_.jsx)(`span`,{className:`am-premise-rail`,style:{background:w.support}}),(0,_.jsxs)(`div`,{className:`am-premise-body`,children:[(0,_.jsx)(`span`,{className:`am-premise-text`,children:e.text}),e.sub&&(0,_.jsx)(`span`,{className:`am-premise-sub`,children:e.sub})]})]},t))]}),(0,_.jsxs)(`div`,{className:`am-col am-col--objection`,children:[f.length>0&&(0,_.jsx)(`div`,{className:`am-col-label`,style:{color:w.objection},children:T.objection}),f.map((e,t)=>(0,_.jsxs)(`div`,{className:`am-premise am-premise--objection`,children:[(0,_.jsx)(`span`,{className:`am-premise-rail`,style:{background:w.objection}}),(0,_.jsxs)(`div`,{className:`am-premise-body`,children:[(0,_.jsx)(`span`,{className:`am-premise-text`,children:e.text}),e.sub&&(0,_.jsx)(`span`,{className:`am-premise-sub`,children:e.sub})]})]},t))]})]}),p.length>0&&(0,_.jsxs)(`div`,{className:`am-qualifiers`,children:[(0,_.jsx)(`div`,{className:`am-col-label`,style:{color:w.qualifier},children:T.qualifier}),p.map((e,t)=>(0,_.jsxs)(`div`,{className:`am-premise am-premise--qualifier`,children:[(0,_.jsx)(`span`,{className:`am-premise-rail`,style:{background:w.qualifier}}),(0,_.jsxs)(`div`,{className:`am-premise-body`,children:[(0,_.jsx)(`span`,{className:`am-premise-text`,children:e.text}),e.sub&&(0,_.jsx)(`span`,{className:`am-premise-sub`,children:e.sub})]})]},t))]}),s&&(0,_.jsxs)(`div`,{className:`am-verdict`,children:[(0,_.jsx)(i.check,{className:`ic`,style:{width:13,height:13}}),s]}),c&&(0,_.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(c)})]})}var D=16,O=44,k=60,A=24,j=6;function M(e){return e<=2?11:e<=3?9:e<=4?8:7}function N(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function P(e,t,n){let r=0,i=new Map,a=new Map;function o(t,n){let s=e.get(t);s&&(s.left&&o(s.left,n+1),i.set(t,r++),a.set(t,n),s.right&&o(s.right,n+1))}o(t,0);let s=r,c=Math.max(0,...a.values()),l=Math.max(120,s*O+A*2),u=(c+1)*k+A*2,d=[];for(let[t,r]of i){let i=a.get(t)??0,o=e.get(t);d.push({id:t,value:o.value,x:A+r*O+O/2,y:A+i*k+D,state:n[t]??`default`,left:o.left,right:o.right})}return{nodes:d,W:l,H:u}}var ee={default:`color-mix(in oklab, var(--surface-elevated) 100%, transparent)`,visiting:`color-mix(in oklab, var(--presence) 22%, transparent)`,visited:`color-mix(in oklab, var(--text-faint) 14%, transparent)`,found:`color-mix(in oklab, var(--insight) 22%, transparent)`,highlight:`color-mix(in oklab, var(--warning) 22%, transparent)`},te={default:`var(--grid-line)`,visiting:`var(--presence)`,visited:`var(--text-faint)`,found:`var(--insight)`,highlight:`var(--warning)`},ne={default:`var(--text-primary)`,visiting:`var(--presence)`,visited:`var(--text-faint)`,found:`var(--insight)`,highlight:`var(--warning)`};function re({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,nodes:r,root:o,steps:s,caption:c,footer:l,delay:u}){let d=i[t]??i.share,[f,p]=(0,g.useState)(0),m=Math.min(f,(s?.length??1)-1),h=s?.[m],v=(0,g.useMemo)(()=>h?h.states:{},[h]),y=(0,g.useMemo)(()=>{let e=new Map;for(let t of r)e.set(t.id,t);return e},[r]),{nodes:b,W:x,H:S}=(0,g.useMemo)(()=>P(y,o,v),[y,o,v]),C=(0,g.useMemo)(()=>{let e=new Map;for(let t of b)e.set(t.id,{x:t.x,y:t.y});return e},[b]),w=s?.length??0,T=e=>p(Math.min(w-1,Math.max(0,e)));return(0,_.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u??0)+`ms`},children:[e&&(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),h&&(0,_.jsx)(`p`,{className:`dg-at-caption`,"aria-live":`polite`,children:h.caption}),(0,_.jsxs)(`svg`,{viewBox:`0 0 ${x} ${S}`,width:`100%`,className:`dg-bt-svg`,"aria-label":e??`binary tree`,role:`img`,style:{overflow:`visible`},children:[b.map(e=>(0,_.jsxs)(`g`,{children:[e.left&&(()=>{let t=C.get(e.left);return t?(0,_.jsx)(`line`,{x1:e.x,y1:e.y,x2:t.x,y2:t.y,className:`dg-bt-edge`},`e-${e.id}-l`):null})(),e.right&&(()=>{let t=C.get(e.right);return t?(0,_.jsx)(`line`,{x1:e.x,y1:e.y,x2:t.x,y2:t.y,className:`dg-bt-edge`},`e-${e.id}-r`):null})()]},`edges-${e.id}`)),b.map(e=>(0,_.jsxs)(`g`,{transform:`translate(${e.x} ${e.y})`,children:[(0,_.jsx)(`circle`,{r:D,fill:ee[e.state],stroke:te[e.state],strokeWidth:e.state==="default"?1.5:2,className:`dg-bt-node`}),(0,_.jsxs)(`text`,{textAnchor:`middle`,dominantBaseline:`central`,fontSize:M(e.value.toString().length),fontWeight:`600`,fill:ne[e.state],className:`dg-bt-label`,children:[e.value.toString().length>j&&(0,_.jsx)(`title`,{children:e.value}),N(e.value.toString(),j)]})]},`node-${e.id}`))]}),h&&(h.frontier!==void 0||h.result!==void 0)&&(0,_.jsxs)(`div`,{className:`dg-bt-panels`,children:[h.frontier!==void 0&&(0,_.jsxs)(`div`,{className:`dg-bt-panel`,children:[(0,_.jsx)(`span`,{className:`dg-bt-panel-label`,children:`Frontier`}),(0,_.jsx)(`div`,{className:`dg-bt-chips`,children:h.frontier.length===0?(0,_.jsx)(`span`,{className:`dg-bt-chip dg-bt-chip-empty`,children:`∅`}):h.frontier.map((e,t)=>(0,_.jsx)(`span`,{className:`dg-bt-chip`,children:e},t))})]}),h.result!==void 0&&(0,_.jsxs)(`div`,{className:`dg-bt-panel`,children:[(0,_.jsx)(`span`,{className:`dg-bt-panel-label`,children:`Result`}),(0,_.jsx)(`div`,{className:`dg-bt-chips`,children:h.result.length===0?(0,_.jsx)(`span`,{className:`dg-bt-chip dg-bt-chip-empty`,children:`—`}):h.result.map((e,t)=>(0,_.jsx)(`span`,{className:`dg-bt-chip dg-bt-chip-result`,children:e},t))})]})]}),s&&s.length>0&&(0,_.jsxs)(`div`,{className:`dg-at-controls`,children:[(0,_.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>T(m-1),disabled:m===0,"aria-label":`previous step`,children:[(0,_.jsx)(i.chevL,{className:`ic`}),` Prev`]}),(0,_.jsx)(`div`,{className:`dg-at-progress`,"aria-hidden":`true`,children:s.map((e,t)=>(0,_.jsx)(`span`,{className:`dg-at-dot`+(t===m?` on`:t<m?` done`:``)},t))}),(0,_.jsxs)(`span`,{className:`dg-at-count`,children:[m+1,` / `,w]}),(0,_.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>T(m+1),disabled:m>=w-1,"aria-label":`next step`,children:[`Next `,(0,_.jsx)(i.chevR,{className:`ic`})]})]}),c&&(0,_.jsx)(`p`,{className:`dg-at-cap`,children:c}),l&&(0,_.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(l)})]})}var F=r(),I=1e3,ie=I/2,ae=I/2,oe=60,se=30,ce={ally:`var(--insight)`,rival:`var(--warning)`,family:`var(--presence-soft)`,love:`var(--presence)`,mentor:`var(--insight-soft)`,betrays:`var(--danger)`,other:`var(--text-muted)`},le={ally:`Ally`,rival:`Rival`,family:`Family`,love:`Love`,mentor:`Mentor`,betrays:`Betrays`,other:`Linked`},ue=new Set([`mentor`,`betrays`]),de=new Set([`mentor`,`betrays`,`other`]),fe=[`var(--presence)`,`var(--insight)`,`var(--warning)`,`var(--danger)`,`var(--presence-soft)`,`var(--insight-soft)`];function pe(e,t,n){return Math.min(n,Math.max(t,e))}function me(e){return e&&e in ce?e:`other`}function he(e,t,n,r){let i=Math.atan2(n-e.cy,t-e.cx),a=r?1:-1;return{x:e.cx+a*Math.cos(i)*(e.rx+4),y:e.cy+a*Math.sin(i)*(e.ry+4)}}function ge({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,nodes:r,links:o,caption:s,footer:c,delay:l}){let u=i[t]||i.share,d=(0,g.useId)().replace(/:/g,``),{placed:f,factions:p}=(0,g.useMemo)(()=>{let e=(r??[]).filter(e=>e&&e.id&&e.name),t=[];for(let n of e){let e=n.faction?.trim();e&&!t.includes(e)&&t.push(e)}let n=new Map(t.map((e,t)=>[e,fe[t%fe.length]])),i=e=>e.faction?.trim()||``,a=[...e].sort((e,n)=>(i(e)?t.indexOf(i(e)):t.length)-(i(n)?t.indexOf(i(n)):t.length)),o=a.length,s=I/2-se-oe/2,c=o<=1?0:Math.min(s,s-90+Math.max(0,o-10)*10),l=pe((o>1?2*c*Math.sin(Math.PI/o):I)*.84,104,200);return{placed:a.map((e,t)=>{let r=-Math.PI/2+t/Math.max(1,o)*Math.PI*2;return{...e,cx:ie+Math.cos(r)*c,cy:ae+Math.sin(r)*c,color:n.get(i(e))||`var(--line-strong)`,rx:l/2,ry:oe/2}}),factions:t.map(e=>({name:e,color:n.get(e)}))}},[r]),m=(0,g.useMemo)(()=>new Map(f.map(e=>[e.id,e])),[f]),h=(0,g.useMemo)(()=>(o??[]).map(e=>({link:e,a:m.get(e.from),b:m.get(e.to),kind:me(e.kind)})).filter(e=>!!(e.a&&e.b&&e.a!==e.b)),[o,m]),v=(0,g.useMemo)(()=>[...new Set(h.filter(e=>ue.has(e.kind)).map(e=>e.kind))],[h]),y=(0,g.useMemo)(()=>[...new Set(h.map(e=>e.kind))],[h]);return(0,_.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(l||0)+`ms`},children:[e&&(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),f.length===0?(0,_.jsx)(`p`,{className:`cast-empty`,children:`No cast to map yet.`}):(0,_.jsx)(`div`,{className:`cast-stage`,children:(0,_.jsxs)(`svg`,{className:`cast-svg`,viewBox:`0 0 ${I} ${I}`,preserveAspectRatio:`xMidYMid meet`,role:`img`,"aria-label":e||`Relationship map`,children:[(0,_.jsx)(`defs`,{children:v.map(e=>(0,_.jsx)(`marker`,{id:`cast-arrow-${d}-${e}`,viewBox:`0 0 10 10`,refX:`8`,refY:`5`,markerWidth:`7`,markerHeight:`7`,orient:`auto-start-reverse`,children:(0,_.jsx)(`path`,{d:`M0 0 L10 5 L0 10 z`,fill:ce[e]})},e))}),h.map((e,t)=>(0,_.jsx)(_e,{edge:e,uid:d},t)),f.map(e=>(0,_.jsx)(be,{node:e},e.id))]})}),(y.length>0||p.length>0)&&(0,_.jsxs)(`div`,{className:`cast-legend`,children:[y.map(e=>(0,_.jsxs)(`span`,{className:`cast-legend-item`,children:[(0,_.jsx)(`span`,{className:`cast-swatch cast-swatch--line${de.has(e)?` is-dashed`:``}`,style:{color:ce[e]}}),le[e]]},`k-${e}`)),p.map(e=>(0,_.jsxs)(`span`,{className:`cast-legend-item`,children:[(0,_.jsx)(`span`,{className:`cast-swatch`,style:{background:e.color}}),e.name]},`f-${e.name}`))]}),s&&(0,_.jsx)(`p`,{className:`cast-caption`,children:s}),c&&(0,_.jsx)(`div`,{className:`cast-foot`,dangerouslySetInnerHTML:a(c)})]})}function _e(e){let t=(0,F.c)(38),{edge:n,uid:r}=e,{a:i,b:a,kind:o,link:s}=n,c,l,u,d,f,p,m,h,g,v,y;if(t[0]!==i||t[1]!==a||t[2]!==o||t[3]!==r){let e=he(i,a.cx,a.cy,!0),n=he(a,i.cx,i.cy,!1),s=(e.x+n.x)/2,_=(e.y+n.y)/2,b=n.x-e.x,x=n.y-e.y,S;t[15]!==b||t[16]!==x?(S=Math.hypot(b,x)||1,t[15]=b,t[16]=x,t[17]=S):S=t[17];let C=S,w=Math.min(64,C*.14);l=s-x/C*w,u=_+b/C*w,d=ce[o];let T;t[18]!==o||t[19]!==r?(T=ue.has(o)?`url(#cast-arrow-${r}-${o})`:void 0,t[18]=o,t[19]=r,t[20]=T):T=t[20],c=T,y=`cast-edge`,f=e.x.toFixed(1),p=e.y.toFixed(1),t[21]===l?m=t[22]:(m=l.toFixed(1),t[21]=l,t[22]=m),t[23]===u?h=t[24]:(h=u.toFixed(1),t[23]=u,t[24]=h),g=n.x.toFixed(1),v=n.y.toFixed(1),t[0]=i,t[1]=a,t[2]=o,t[3]=r,t[4]=c,t[5]=l,t[6]=u,t[7]=d,t[8]=f,t[9]=p,t[10]=m,t[11]=h,t[12]=g,t[13]=v,t[14]=y}else c=t[4],l=t[5],u=t[6],d=t[7],f=t[8],p=t[9],m=t[10],h=t[11],g=t[12],v=t[13],y=t[14];let b=`M ${f} ${p} Q ${m} ${h} ${g} ${v}`,x=de.has(o)?`8 7`:void 0,S;t[25]!==c||t[26]!==d||t[27]!==b||t[28]!==x?(S=(0,_.jsx)(`path`,{d:b,fill:`none`,stroke:d,strokeWidth:2.4,strokeDasharray:x,markerEnd:c,opacity:.82}),t[25]=c,t[26]=d,t[27]=b,t[28]=x,t[29]=S):S=t[29];let C;t[30]!==l||t[31]!==u||t[32]!==s.label?(C=s.label&&(0,_.jsxs)(`g`,{transform:`translate(${l.toFixed(1)}, ${u.toFixed(1)})`,children:[(0,_.jsx)(`rect`,{className:`cast-edge-lbl-bg`,x:-xe(s.label)/2,y:-11,width:xe(s.label),height:20,rx:6}),(0,_.jsx)(`text`,{className:`cast-edge-lbl`,x:0,y:0,textAnchor:`middle`,dominantBaseline:`middle`,children:Ce(s.label,16)})]}),t[30]=l,t[31]=u,t[32]=s.label,t[33]=C):C=t[33];let w;return t[34]!==S||t[35]!==C||t[36]!==y?(w=(0,_.jsxs)(`g`,{className:y,children:[S,C]}),t[34]=S,t[35]=C,t[36]=y,t[37]=w):w=t[37],w}var ve=27,ye=21;function be(e){let t=(0,F.c)(59),{node:n}=e,r=!!n.role,i=n.rx*2,a;t[0]===i?a=t[1]:(a=Math.round(i/11),t[0]=i,t[1]=a);let o=Math.min(r?15:13,Math.max(6,a)),s;t[2]===i?s=t[3]:(s=Math.round(i/8),t[2]=i,t[3]=s);let c=Math.min(22,Math.max(8,s)),l,u,d,f,p,m,h,g,v,y;if(t[4]!==r||t[5]!==n.color||t[6]!==n.cx||t[7]!==n.cy||t[8]!==n.name||t[9]!==n.rx||t[10]!==n.ry||t[11]!==o){l=Se(n.name,o,r?1:2);let e=l.length*ve+(r?ye:0);y=n.cy-e/2+ve*.74,g=`cast-node`;let i=n.cx-n.rx,a=n.cy-n.ry,s=n.rx*2,c=n.ry*2,b;t[22]===n.color?b=t[23]:(b={stroke:n.color},t[22]=n.color,t[23]=b),t[24]!==i||t[25]!==a||t[26]!==s||t[27]!==c||t[28]!==b?(v=(0,_.jsx)(`rect`,{x:i,y:a,width:s,height:c,rx:14,className:`cast-chip`,style:b}),t[24]=i,t[25]=a,t[26]=s,t[27]=c,t[28]=b,t[29]=v):v=t[29];let x=n.cx-n.rx,S=n.cy-n.ry+8,C=n.ry*2-16;t[30]!==n.color||t[31]!==x||t[32]!==S||t[33]!==C?(u=(0,_.jsx)(`rect`,{x,y:S,width:4,height:C,rx:2,fill:n.color}),t[30]=n.color,t[31]=x,t[32]=S,t[33]=C,t[34]=u):u=t[34],d=`cast-name`,f=n.cx,p=`middle`,t[35]===n.name?m=t[36]:(m=(0,_.jsx)(`title`,{children:n.name}),t[35]=n.name,t[36]=m);let w;t[37]!==n.cx||t[38]!==y?(w=(e,t)=>(0,_.jsx)(`tspan`,{x:n.cx,y:y+t*ve,children:e},t),t[37]=n.cx,t[38]=y,t[39]=w):w=t[39],h=l.map(w),t[4]=r,t[5]=n.color,t[6]=n.cx,t[7]=n.cy,t[8]=n.name,t[9]=n.rx,t[10]=n.ry,t[11]=o,t[12]=l,t[13]=u,t[14]=d,t[15]=f,t[16]=p,t[17]=m,t[18]=h,t[19]=g,t[20]=v,t[21]=y}else l=t[12],u=t[13],d=t[14],f=t[15],p=t[16],m=t[17],h=t[18],g=t[19],v=t[20],y=t[21];let b;t[40]!==d||t[41]!==f||t[42]!==p||t[43]!==m||t[44]!==h?(b=(0,_.jsxs)(`text`,{className:d,x:f,textAnchor:p,children:[m,h]}),t[40]=d,t[41]=f,t[42]=p,t[43]=m,t[44]=h,t[45]=b):b=t[45];let x;t[46]!==r||t[47]!==l||t[48]!==n.cx||t[49]!==n.role||t[50]!==c||t[51]!==y?(x=r&&(0,_.jsx)(`text`,{className:`cast-role`,x:n.cx,y:y+l.length*ve+2,textAnchor:`middle`,children:Ce(n.role,c)}),t[46]=r,t[47]=l,t[48]=n.cx,t[49]=n.role,t[50]=c,t[51]=y,t[52]=x):x=t[52];let S;return t[53]!==u||t[54]!==b||t[55]!==x||t[56]!==g||t[57]!==v?(S=(0,_.jsxs)(`g`,{className:g,children:[v,u,b,x]}),t[53]=u,t[54]=b,t[55]=x,t[56]=g,t[57]=v,t[58]=S):S=t[58],S}function xe(e){return Math.min(e.length,16)*9+14}function Se(e,t,n){let r=e.split(/\s+/).filter(Boolean),i=[],a=``,o=!1;for(let e of r){let r=a?`${a} ${e}`:e;if(r.length<=t||!a)a=r;else if(i.push(a),a=e,i.length===n){o=!0,a=``;break}}if(a&&i.length<n&&i.push(a),i.length){let e=i.length-1,n=i[e];n.length>t&&(n=n.slice(0,t-1).trimEnd()),(o||i[e].length>t)&&(n=n.replace(/[…\s]*$/,``)+`…`),i[e]=n}return i.length?i:[``]}function Ce(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}var we=720,Te=18,Ee=34,De=18,Oe=190,ke=46,Ae=14,je=16,Me=168,Ne=64,Pe=210,Fe=13,Ie=24,Le=Te,Re=we-Te-Oe,ze=(we-Me)/2,Be=360,Ve={short:`var(--insight)`,long:`var(--warning)`},He={short:`Short-term`,long:`Long-term`};function Ue(e){let t=e=>e===`short`?0:e===`long`?2:1,n=e.map((e,t)=>({item:e,i:t})).sort((e,n)=>t(e.item.term)-t(n.item.term)||e.i-n.i).map(e=>e.item);return n.map((e,r)=>({item:e,gap:r>0&&t(n[r-1].term)!==t(e.term)}))}function We({title:e,icon:t=`layers`,iconColor:n=`var(--presence)`,event:r,causes:s,consequences:c,causesLabel:l=`Causes`,consequencesLabel:u=`Consequences`,footer:d,delay:f}){let p=i[t]||i.layers,{vbH:m,leftPlaced:h,rightPlaced:v,eventY:y,eventCY:b}=(0,g.useMemo)(()=>{let e=Ue(s??[]),t=Ue(c??[]),n=e=>e.length===0?0:e.length*ke+(e.length-1)*Ae+e.filter(e=>e.gap).length*je,r=n(e),i=n(t),a=Math.max(Pe,Math.max(r,i,Ne)+Ee+De),l=(e,t)=>{let r=n(e),i=Ee+(a-Ee-De-r)/2,s=[];for(let{item:n,gap:r}of e){r&&(i+=je);let e=Math.max(0,Math.min(1,n.weight??.5));s.push({link:n,x:t,y:i,cy:i+ke/2,color:n.term?Ve[n.term]:`var(--text-secondary)`,sw:o([0,1],[1.6,6])(e),op:o([0,1],[.3,.92])(e)}),i+=60}return s},u=l(e,Le),d=l(t,Re),f=Ee+(a-Ee-De-Ne)/2;return{vbH:a,leftPlaced:u,rightPlaced:d,eventY:f,eventCY:f+Ne/2}},[s,c]),x=(e,t,n,r)=>{let i=(e+n)/2;return`M ${e.toFixed(1)},${t.toFixed(1)} C ${i.toFixed(1)},${t.toFixed(1)} ${i.toFixed(1)},${r.toFixed(1)} ${n.toFixed(1)},${r.toFixed(1)}`},S=e=>e.map((e,t)=>{let n=Ge(e.link.label),r=e.cy-(n.length-1)*Fe/2;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`rect`,{x:e.x,y:e.y,width:Oe,height:ke,rx:10,className:`cau-node`,style:{stroke:e.color}}),(0,_.jsx)(`rect`,{x:e.x,y:e.y,width:4,height:ke,rx:2,fill:e.color}),e.link.term&&(0,_.jsx)(`circle`,{cx:e.x+Oe-11,cy:e.y+11,r:3.5,fill:e.color,className:`cau-term-dot`,children:(0,_.jsx)(`title`,{children:He[e.link.term]})}),(0,_.jsxs)(`text`,{x:e.x+14,className:`cau-node-lbl`,dominantBaseline:`middle`,children:[(0,_.jsx)(`title`,{children:e.link.label}),n.map((t,n)=>(0,_.jsx)(`tspan`,{x:e.x+14,y:r+n*Fe,children:t},n))]})]},t)});return(0,_.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(f||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(p,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`cau-wrap`,children:(0,_.jsxs)(`svg`,{viewBox:`0 0 ${we} ${m}`,className:`cau-svg`,role:`img`,"aria-label":e,preserveAspectRatio:`xMidYMid meet`,children:[(0,_.jsx)(`defs`,{children:(0,_.jsx)(`marker`,{id:`cau-arrow`,markerWidth:`8`,markerHeight:`8`,refX:`6`,refY:`4`,orient:`auto`,markerUnits:`userSpaceOnUse`,children:(0,_.jsx)(`path`,{d:`M1,1 L6,4 L1,7`,className:`cau-arrowhead`})})}),(0,_.jsxs)(`text`,{x:32,y:18,className:`cau-col-hdr`,textAnchor:`start`,children:[l,` →`]}),(0,_.jsx)(`text`,{x:Be,y:18,className:`cau-col-hdr cau-col-hdr--event`,textAnchor:`middle`,children:`Event`}),(0,_.jsxs)(`text`,{x:688,y:18,className:`cau-col-hdr`,textAnchor:`end`,children:[`→ `,u]}),h.map((e,t)=>(0,_.jsx)(`path`,{d:x(e.x+Oe,e.cy,ze,b),className:`cau-link`,style:{stroke:e.color,strokeWidth:e.sw,opacity:e.op},markerEnd:`url(#cau-arrow)`},`lc${t}`)),v.map((e,t)=>(0,_.jsx)(`path`,{d:x(444,b,e.x,e.cy),className:`cau-link`,style:{stroke:e.color,strokeWidth:e.sw,opacity:e.op},markerEnd:`url(#cau-arrow)`},`rc${t}`)),(0,_.jsx)(`rect`,{x:ze,y,width:Me,height:Ne,rx:12,className:`cau-event`}),(0,_.jsx)(`text`,{x:Be,y:b,className:`cau-event-lbl`,textAnchor:`middle`,children:Ke(r.label).map((e,t,n)=>(0,_.jsx)(`tspan`,{x:Be,dy:t===0?`${-((n.length-1)*.55)}em`:`1.1em`,children:e},t))}),S(h),S(v)]})}),qe(s,c)&&(0,_.jsxs)(`div`,{className:`cau-legend`,children:[(0,_.jsxs)(`span`,{className:`cau-legend-item`,children:[(0,_.jsx)(`span`,{className:`cau-swatch`,style:{background:Ve.short}}),` Short-term`]}),(0,_.jsxs)(`span`,{className:`cau-legend-item`,children:[(0,_.jsx)(`span`,{className:`cau-swatch`,style:{background:Ve.long}}),` Long-term`]}),(0,_.jsx)(`span`,{className:`cau-legend-item cau-legend-item--weight`,children:`line weight = strength`})]}),d&&(0,_.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(d)})]})}function Ge(e,t=Ie,n=2){let r=e.trim().split(/\s+/).filter(Boolean),i=[],a=``,o=!1;for(let e of r){let r=a?`${a} ${e}`:e;if(r.length<=t||!a)a=r;else if(i.push(a),a=e,i.length===n){o=!0,a=``;break}}if(a&&i.length<n&&i.push(a),i.length){let e=i.length-1,n=i[e];n.length>t&&(n=n.slice(0,t-1).trimEnd()),(o||i[e].length>t)&&(n=n.replace(/[…\s]*$/,``)+`…`),i[e]=n}return i.length?i:[e]}function Ke(e){let t=e.trim().split(/\s+/);if(t.length<=2||e.length<=16)return[e];let n=1,r=1/0;for(let e=1;e<t.length;e++){let i=t.slice(0,e).join(` `).length,a=t.slice(e).join(` `).length,o=Math.abs(i-a);o<r&&(r=o,n=e)}return[t.slice(0,n).join(` `),t.slice(n).join(` `)]}function qe(e,t){return[...e??[],...t??[]].some(e=>e.term===`short`||e.term===`long`)}function Je(e){switch(e){case`battery`:return(0,_.jsxs)(`g`,{className:`dg-cir-glyph`,children:[(0,_.jsx)(`line`,{x1:-2.5,y1:-5,x2:-2.5,y2:5,strokeWidth:1.4}),(0,_.jsx)(`line`,{x1:2.5,y1:-2.5,x2:2.5,y2:2.5,strokeWidth:1.4}),(0,_.jsx)(`line`,{x1:-7,y1:0,x2:-2.5,y2:0}),(0,_.jsx)(`line`,{x1:2.5,y1:0,x2:7,y2:0})]});case`resistor`:return(0,_.jsxs)(`g`,{className:`dg-cir-glyph`,children:[(0,_.jsx)(`line`,{x1:-7,y1:0,x2:-5,y2:0}),(0,_.jsx)(`polyline`,{points:`-5,0 -4,-3 -2,3 0,-3 2,3 4,-3 5,0`,fill:`none`}),(0,_.jsx)(`line`,{x1:5,y1:0,x2:7,y2:0})]});case`capacitor`:return(0,_.jsxs)(`g`,{className:`dg-cir-glyph`,children:[(0,_.jsx)(`line`,{x1:-7,y1:0,x2:-1.5,y2:0}),(0,_.jsx)(`line`,{x1:-1.5,y1:-4,x2:-1.5,y2:4}),(0,_.jsx)(`line`,{x1:1.5,y1:-4,x2:1.5,y2:4}),(0,_.jsx)(`line`,{x1:1.5,y1:0,x2:7,y2:0})]});case`bulb`:return(0,_.jsxs)(`g`,{className:`dg-cir-glyph`,children:[(0,_.jsx)(`line`,{x1:-7,y1:0,x2:-5,y2:0}),(0,_.jsx)(`circle`,{cx:0,cy:0,r:5,fill:`none`}),(0,_.jsx)(`line`,{x1:-3.5,y1:-3.5,x2:3.5,y2:3.5}),(0,_.jsx)(`line`,{x1:-3.5,y1:3.5,x2:3.5,y2:-3.5}),(0,_.jsx)(`line`,{x1:5,y1:0,x2:7,y2:0})]});case`switch`:return(0,_.jsxs)(`g`,{className:`dg-cir-glyph`,children:[(0,_.jsx)(`line`,{x1:-7,y1:0,x2:-4,y2:0}),(0,_.jsx)(`circle`,{cx:-4,cy:0,r:1}),(0,_.jsx)(`line`,{x1:-4,y1:0,x2:4,y2:-4}),(0,_.jsx)(`circle`,{cx:4,cy:0,r:1}),(0,_.jsx)(`line`,{x1:4,y1:0,x2:7,y2:0})]});case`ground`:return(0,_.jsxs)(`g`,{className:`dg-cir-glyph`,children:[(0,_.jsx)(`line`,{x1:0,y1:-7,x2:0,y2:0}),(0,_.jsx)(`line`,{x1:-5,y1:0,x2:5,y2:0,strokeWidth:1.4}),(0,_.jsx)(`line`,{x1:-3,y1:2.5,x2:3,y2:2.5}),(0,_.jsx)(`line`,{x1:-1.5,y1:5,x2:1.5,y2:5})]});default:return(0,_.jsx)(`circle`,{cx:0,cy:0,r:1.6,className:`dg-cir-node`})}}var Ye={battery:-5,resistor:-3,capacitor:-4,bulb:-5,switch:-4,ground:-7,node:-1.6},Xe=3;function Ze(e){return(Ye[e]??Ye.node)-Xe}var Qe=14;function $e(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function et({title:e,icon:t=`spark`,iconColor:n=`var(--presence)`,components:r,wires:o,footer:s,delay:c}){let l=i[t]||i.spark||i.share,u=e=>r.find(t=>t.id===e);return(0,_.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(c||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`dg-cir`,children:(0,_.jsxs)(`svg`,{viewBox:`-10 -15 120 130`,className:`dg-cir-svg`,role:`img`,"aria-label":e,children:[o.map((e,t)=>{let n=u(e.from),r=u(e.to);return!n||!r?null:(0,_.jsx)(`polyline`,{points:`${n.x},${n.y} ${r.x},${n.y} ${r.x},${r.y}`,className:`dg-cir-wire`,fill:`none`},t)}),r.map(e=>(0,_.jsxs)(`g`,{transform:`translate(${e.x} ${e.y})`,children:[Je(e.kind),e.label&&(0,_.jsxs)(`text`,{x:0,y:Ze(e.kind),className:`dg-cir-lbl`,textAnchor:`middle`,children:[e.label.length>Qe&&(0,_.jsx)(`title`,{children:e.label}),$e(e.label,Qe)]})]},e.id))]})}),s&&(0,_.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(s)})]})}var tt=1e3,nt=200,rt=40,it=78,at=46,ot=24,st=4,ct=15,lt=11,ut=12,dt=nt-20,ft=new Set([`interface`,`abstract`,`enum`]),pt=new Set([`inheritance`,`implements`,`composition`,`aggregation`,`association`,`dependency`]);function mt(e){return(Array.isArray(e)?e:typeof e==`string`&&e?[e]:[]).map(e=>{if(typeof e==`string`)return e;if(e&&typeof e==`object`){let t=e,n=t.text??t.name??t.label;return typeof n==`string`?n:``}return``}).filter(Boolean)}function ht(e){return Array.isArray(e)?e.map((e,t)=>{if(typeof e==`string`)return{name:e,fields:[],methods:[]};if(!e||typeof e!=`object`)return null;let n=e;return{name:typeof n.name==`string`&&n.name?n.name:`Class${t+1}`,stereotype:typeof n.stereotype==`string`&&ft.has(n.stereotype)?n.stereotype:void 0,fields:mt(n.fields),methods:mt(n.methods)}}).filter(e=>e!==null):[]}function gt(e){return Array.isArray(e)?e.map(e=>{if(!e||typeof e!=`object`)return null;let t=e;if(typeof t.from!=`string`||typeof t.to!=`string`||!t.from||!t.to)return null;let n=pt.has(t.kind)?t.kind:`association`,r=typeof t.label==`string`&&t.label?t.label:void 0;return{from:t.from,to:t.to,kind:n,label:r}}).filter(e=>e!==null):[]}function _t(e){let t=p(e,{maxWidth:dt,fontSize:ut,minFontSize:9,maxLines:2,lineHeight:1.25});return{fit:t,h:t.lines.length*t.lineHeightPx+3}}function vt(e,t){let n=new Map;for(let t of e)n.set(t.name,0);let r=t.filter(e=>e.kind===`inheritance`||e.kind===`implements`);for(let t=0;t<e.length;t++){let t=!1;for(let i of r){if(!n.has(i.from)||!n.has(i.to))continue;let r=(n.get(i.to)??0)+1;r>(n.get(i.from)??0)&&r<e.length&&(n.set(i.from,r),t=!0)}if(!t)break}return n}function yt(e,t,n){let r=t-e.cx,i=n-e.cy,a=Math.hypot(r,i)||1,o=r/a,s=i/a,c=e.w/2+4,l=e.h/2+4,u=Math.max(Math.abs(o)/c,Math.abs(s)/l),d=Math.min(u>0?1/u:c,a*.4);return{x:e.cx+o*d,y:e.cy+s*d}}var bt={interface:`color-mix(in oklab, var(--insight) 14%, var(--surface-elevated-2))`,abstract:`color-mix(in oklab, var(--presence) 12%, var(--surface-elevated-2))`,enum:`color-mix(in oklab, var(--warning) 14%, var(--surface-elevated-2))`,none:`var(--surface-elevated-2)`},xt={inheritance:13,implements:13,composition:17,aggregation:17,association:0,dependency:0};function St(e){let t=(0,F.c)(8),{kind:n,x:r,y:i,angle:a}=e,o=`translate(${r} ${i}) rotate(${a})`;switch(n){case`inheritance`:case`implements`:{let e;return t[0]===o?e=t[1]:(e=(0,_.jsx)(`path`,{d:`M0 0 L-14 -8 L-14 8 Z`,className:`ucd-tri`,transform:o}),t[0]=o,t[1]=e),e}case`composition`:{let e;return t[2]===o?e=t[3]:(e=(0,_.jsx)(`path`,{d:`M0 0 L-9 -6 L-18 0 L-9 6 Z`,className:`ucd-di ucd-di-fill`,transform:o}),t[2]=o,t[3]=e),e}case`aggregation`:{let e;return t[4]===o?e=t[5]:(e=(0,_.jsx)(`path`,{d:`M0 0 L-9 -6 L-18 0 L-9 6 Z`,className:`ucd-di`,transform:o}),t[4]=o,t[5]=e),e}case`dependency`:{let e;return t[6]===o?e=t[7]:(e=(0,_.jsx)(`path`,{d:`M-11 -7 L0 0 L-11 7`,className:`ucd-open`,transform:o}),t[6]=o,t[7]=e),e}default:return null}}function Ct({title:e,icon:t=`layers`,iconColor:n=`var(--presence)`,classes:r,relations:o,footer:c,delay:l}){let u=i[t]||i.layers,d=(0,g.useMemo)(()=>ht(r),[r]),f=(0,g.useMemo)(()=>gt(o),[o]),{placed:m,byName:h,vbH:v}=(0,g.useMemo)(()=>{let e=d.map(e=>{let t=p(e.name,{maxWidth:dt,fontSize:ct,minFontSize:11,maxLines:2,lineHeight:1.2,bold:!0}),n=10+(e.stereotype?15:0)+t.lines.length*t.lineHeightPx+8,r=e.fields.map(_t),i=e.methods.map(_t),a=r.length?7+r.reduce((e,t)=>e+t.h,0)+5:10,o=i.length?7+i.reduce((e,t)=>e+t.h,0)+5:10;return{cls:e,x:0,y:0,w:nt,h:n+a+o,cx:0,cy:0,nameFit:t,headerH:n,fieldFits:r,fieldsH:a,methodFits:i,methodsH:o}}),t=vt(d,f),n=new Map;for(let r of e){let e=t.get(r.cls.name)??0;n.has(e)||n.set(e,[]),n.get(e).push(r)}let r=ot;for(let e of[...n.keys()].sort((e,t)=>e-t)){let t=n.get(e);for(let e=0;e<t.length;e+=st){let n=t.slice(e,e+st),i=(tt-(n.length*nt+(n.length-1)*rt))/2,a=0;for(let e of n)e.x=i,e.y=r,e.cx=i+e.w/2,e.cy=r+e.h/2,i+=240,a=Math.max(a,e.h);r+=a+at}r+=it-at}return{placed:e,byName:new Map(e.map(e=>[e.cls.name,e])),vbH:Math.max(200,r-it+ot)}},[d,f]);return(0,_.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(l||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),m.length===0?(0,_.jsx)(s,{message:`No classes to diagram`}):(0,_.jsx)(`div`,{className:`dg-stage ucd-stage`,children:(0,_.jsxs)(`svg`,{viewBox:`0 0 ${tt} ${v}`,className:`dg-svg`,role:`img`,"aria-label":e,children:[f.map((e,t)=>{let n=h.get(e.from),r=h.get(e.to);if(!n||!r||n===r)return null;let i=yt(n,r.cx,r.cy),a=yt(r,n.cx,n.cy),o=Math.atan2(a.y-i.y,a.x-i.x)*180/Math.PI,s=e.kind===`implements`||e.kind===`dependency`,c=e.kind===`composition`||e.kind===`aggregation`,l=xt[e.kind],u=Math.hypot(a.x-i.x,a.y-i.y)||1,d=(a.x-i.x)/u,f=(a.y-i.y)/u;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`line`,{className:`ucd-edge`,x1:c?i.x+d*l:i.x,y1:c?i.y+f*l:i.y,x2:c?a.x:a.x-d*l,y2:c?a.y:a.y-f*l,strokeDasharray:s?`6 5`:void 0}),c?(0,_.jsx)(St,{kind:e.kind,x:i.x,y:i.y,angle:o+180}):(0,_.jsx)(St,{kind:e.kind,x:a.x,y:a.y,angle:o})]},`r${t}`)}),m.map((e,t)=>{let n=bt[e.cls.stereotype??`none`],r=e.y+10+(e.cls.stereotype?15:0),i=e.y+e.headerH,a=i+e.fieldsH,o=i+7,s=a+7;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`rect`,{x:e.x,y:e.y,width:e.w,height:e.h,rx:5,className:`ucd-box`}),(0,_.jsx)(`path`,{d:`M ${e.x} ${e.y+e.headerH} v ${-e.headerH+5} a 5 5 0 0 1 5 -5 h ${e.w-10} a 5 5 0 0 1 5 5 v ${e.headerH-5} z`,className:`ucd-header`,style:{fill:n}}),(0,_.jsx)(`line`,{x1:e.x,y1:i,x2:e.x+e.w,y2:i,className:`ucd-sep`}),(0,_.jsx)(`line`,{x1:e.x,y1:a,x2:e.x+e.w,y2:a,className:`ucd-sep`}),e.cls.stereotype&&(0,_.jsx)(`text`,{x:e.cx,y:e.y+10+5,className:`ucd-stereo`,textAnchor:`middle`,dominantBaseline:`middle`,fontSize:lt,children:`«${e.cls.stereotype}»`}),(0,_.jsx)(`text`,{className:e.cls.stereotype===`abstract`?`ucd-name ucd-italic`:`ucd-name`,textAnchor:`middle`,fontSize:e.nameFit.fontSize,children:e.nameFit.lines.map((t,n)=>(0,_.jsx)(`tspan`,{x:e.cx,y:r+(n+.5)*e.nameFit.lineHeightPx,dominantBaseline:`middle`,children:t},n))}),e.fieldFits.map((t,n)=>{let r=o;return o+=t.h,(0,_.jsx)(`text`,{className:`ucd-member`,fontSize:t.fit.fontSize,children:t.fit.lines.map((n,i)=>(0,_.jsx)(`tspan`,{x:e.x+10,y:r+(i+.5)*t.fit.lineHeightPx,dominantBaseline:`middle`,children:n},i))},`f${n}`)}),e.methodFits.map((t,n)=>{let r=s;return s+=t.h,(0,_.jsx)(`text`,{className:`ucd-member`,fontSize:t.fit.fontSize,children:t.fit.lines.map((n,i)=>(0,_.jsx)(`tspan`,{x:e.x+10,y:r+(i+.5)*t.fit.lineHeightPx,dominantBaseline:`middle`,children:n},i))},`m${n}`)})]},`${e.cls.name}-${t}`)}),f.map((e,t)=>{if(!e.label)return null;let n=h.get(e.from),r=h.get(e.to);if(!n||!r||n===r)return null;let i=yt(n,r.cx,r.cy),a=yt(r,n.cx,n.cy),o=p(e.label,{maxWidth:170,fontSize:14,minFontSize:10,maxLines:2,lineHeight:1.15,bold:!0}),s=(i.x+a.x)/2,c=(i.y+a.y)/2-7-(o.lines.length-1)*o.lineHeightPx/2;return(0,_.jsx)(`text`,{className:`dg-edge-label`,textAnchor:`middle`,fontSize:o.fontSize,children:o.lines.map((e,t)=>(0,_.jsx)(`tspan`,{x:s,y:c+t*o.lineHeightPx,dominantBaseline:`middle`,children:e},t))},`l${t}`)})]})}),c&&(0,_.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(c)})]})}var wt=1e3,Tt=130,Et=40,Dt=260,Ot=170,kt=78,At=64,jt=74,Mt=148,Nt=250,L=24,Pt=46,Ft=18;function It(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function Lt(e){return Number.isFinite(e)?Math.min(1,Math.max(0,e/100)):.5}function Rt(e){return Math.min(Nt,Math.max(Mt,46+e.length*11))}function zt(e,t){let n=new Map;for(let t of e)n.set(t.id,0);let r=t.filter(e=>!e.feedback);for(let t=0;t<e.length;t++){let t=!1;for(let i of r){if(!n.has(i.from)||!n.has(i.to))continue;let r=(n.get(i.from)??0)+1;r>(n.get(i.to)??0)&&r<e.length&&(n.set(i.to,r),t=!0)}if(!t)break}return n}function Bt(e,t){let n=zt(e,t),r=Math.max(0,...e.map(e=>n.get(e.id)??0)),i=wt-Tt*2,a=new Map;for(let t of e){if(t.x!==void 0&&t.y!==void 0)continue;let e=n.get(t.id)??0;a.has(e)||a.set(e,[]),a.get(e).push(t)}let o=e.map(e=>{let t=e.kind===`sum`?`sum`:`block`,o=typeof e.label==`string`&&e.label?e.label:t===`sum`?`Σ`:`Block`,s=t===`sum`?L:Rt(o)/2,c=t===`sum`?L:jt/2;if(Number.isFinite(e.x)&&Number.isFinite(e.y))return{id:e.id,label:o,kind:t,cx:Tt+Lt(e.x)*i,cy:Et+Lt(e.y)*Dt,halfW:s,halfH:c};let l=n.get(e.id)??0,u=a.get(l)??[e],d=u.indexOf(e),f=u.length,p=f>5?kt*4/(f-1):kt,m=(f-1)/2,h=r===0?wt/2:Tt+l/r*i,g=Ot+(d-m)*p;return{id:e.id,label:o,kind:t,cx:h,cy:g,halfW:s,halfH:c}}),s=t.filter(e=>e.feedback).length,c=o.length?Math.min(...o.map(e=>e.cy-e.halfH-(e.kind===`sum`?30:0))):Et,l=c<0?-c+20:0;for(let e of o)e.cy+=l;return{placed:o,vbH:(o.length?Math.max(...o.map(e=>e.cy+e.halfH)):207)+s*At+Pt}}function Vt(e,t){let n=t.cx-e.cx,r=t.cy-e.cy,i=Math.atan2(r,n);return{x:t.cx-Math.cos(i)*(t.halfW+4),y:t.cy-Math.sin(i)*(t.halfH+4)}}function Ht(e,t){let n=t.cx-e.cx,r=t.cy-e.cy,i=Math.atan2(r,n);return{x:e.cx+Math.cos(i)*(e.halfW+4),y:e.cy+Math.sin(i)*(e.halfH+4)}}function Ut(e,t){let n=Math.hypot(t.x,t.y)||1,r=t.x/n,i=t.y/n,a=e.halfH+20;return{x:e.cx-r*a,y:e.cy-i*a}}function Wt({title:e,icon:t=`sliders`,iconColor:n=`var(--presence)`,blocks:r,wires:o,footer:s,delay:c}){let l=i[t]||i.sliders,u=`cbd-arrow-${(0,g.useId)().replace(/:/g,``)}`,d=(0,g.useMemo)(()=>Array.isArray(r)?r:[],[r]),f=(0,g.useMemo)(()=>Array.isArray(o)?o:[],[o]),{placed:p,vbH:m}=(0,g.useMemo)(()=>Bt(d,f),[d,f]),h=(0,g.useMemo)(()=>new Map(p.map(e=>[e.id,e])),[p]),v=(0,g.useMemo)(()=>{let e=f.map((e,t)=>({w:e,i:t,span:Math.abs((h.get(e.to)?.cx??0)-(h.get(e.from)?.cx??0))})).filter(e=>e.w.feedback&&h.has(e.w.from)&&h.has(e.w.to)).sort((e,t)=>e.span-t.span),t=new Map;return e.forEach((e,n)=>t.set(e.i,n+1)),t},[f,h]);return(0,_.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(c||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`dg-cbd-stage`,children:(0,_.jsxs)(`svg`,{className:`dg-cbd-svg`,viewBox:`0 0 ${wt} ${m}`,preserveAspectRatio:`xMidYMid meet`,role:`img`,"aria-label":e,children:[(0,_.jsx)(`defs`,{children:(0,_.jsx)(`marker`,{id:u,viewBox:`0 0 10 10`,refX:`8`,refY:`5`,markerWidth:`7`,markerHeight:`7`,orient:`auto-start-reverse`,children:(0,_.jsx)(`path`,{d:`M0 0 L10 5 L0 10 z`,className:`dg-cbd-arrowhead`})})}),f.map((e,t)=>{let n=h.get(e.from),r=h.get(e.to);if(!n||!r)return null;let i=r.kind===`sum`?e.sign===`minus`?`−`:`+`:null;if(e.feedback){let e=v.get(t)??1,a=m-Pt-(v.size-e)*At,o=n.cy+n.halfH,s=r.cy+r.halfH,c=`${n.cx},${o} ${n.cx},${a} ${r.cx},${a} ${r.cx},${s+6}`,l=i&&(0,_.jsx)(`text`,{x:r.cx+16,y:s+20,className:`dg-cbd-sign`,textAnchor:`start`,dominantBaseline:`middle`,children:i});return(0,_.jsxs)(`g`,{className:`dg-cbd-wire`,children:[(0,_.jsx)(`polyline`,{points:c,fill:`none`,markerEnd:`url(#${u})`}),l]},`w${t}`)}let a=Ht(n,r),o=Vt(n,r),s=i?Ut(r,{x:o.x-a.x,y:o.y-a.y}):null,c=s?s.x>r.cx+2?`start`:s.x<r.cx-2?`end`:`middle`:`middle`;return(0,_.jsxs)(`g`,{className:`dg-cbd-wire`,children:[(0,_.jsx)(`line`,{x1:a.x,y1:a.y,x2:o.x,y2:o.y,markerEnd:`url(#${u})`}),s&&(0,_.jsx)(`text`,{x:s.x,y:s.y,className:`dg-cbd-sign`,textAnchor:c,dominantBaseline:`middle`,children:i})]},`w${t}`)}),p.map(e=>e.kind===`sum`?(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`circle`,{cx:e.cx,cy:e.cy,r:L,className:`dg-cbd-sum`}),(0,_.jsx)(`line`,{x1:e.cx-L*.4,y1:e.cy,x2:e.cx+L*.4,y2:e.cy,className:`dg-cbd-sum-cross`}),(0,_.jsx)(`line`,{x1:e.cx,y1:e.cy-L*.4,x2:e.cx,y2:e.cy+L*.4,className:`dg-cbd-sum-cross`}),(0,_.jsxs)(`text`,{x:e.cx,y:e.cy-L-12,className:`dg-cbd-sum-label`,textAnchor:`middle`,children:[e.label.length>Ft&&(0,_.jsx)(`title`,{children:e.label}),It(e.label,Ft)]})]},e.id):(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`rect`,{x:e.cx-e.halfW,y:e.cy-e.halfH,width:e.halfW*2,height:e.halfH*2,rx:10,className:`dg-cbd-box`}),(0,_.jsxs)(`text`,{x:e.cx,y:e.cy,className:`dg-cbd-label`,textAnchor:`middle`,dominantBaseline:`middle`,children:[e.label.length>Ft&&(0,_.jsx)(`title`,{children:e.label}),It(e.label,Ft)]})]},e.id))]})}),s&&(0,_.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(s)})]})}var Gt=138,Kt=40,qt=30,Jt=2*346,Yt=400,Xt=Jt/2,Zt=Yt/2,Qt=.26,$t=22,en=9;function tn(e){let t=Math.max(1,e.length);return e.map((e,n)=>{let r=-Math.PI/2+n/t*Math.PI*2;return{stage:e,cx:Xt+Math.cos(r)*Gt,cy:Zt+Math.sin(r)*Gt,ang:r,left:Math.cos(r)<-.001}})}function nn(e,t){let n=Gt+t;return{x:Xt+Math.cos(e)*n,y:Zt+Math.sin(e)*n}}function rn({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,stages:r,caption:o,footer:s,delay:c}){let l=i[t]??i.share,u=(0,g.useId)().replace(/:/g,``),d=tn(r),f=d.length;return(0,_.jsxs)(`div`,{className:`card reveal dg-cw-card`,style:{"--delay":(c??0)+`ms`},children:[e&&(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`dg-cw-stage`,children:(0,_.jsxs)(`svg`,{className:`dg-cw-svg`,viewBox:`0 0 ${Jt} ${Yt}`,preserveAspectRatio:`xMidYMid meet`,role:`img`,"aria-label":e??`Cycle`,children:[(0,_.jsx)(`defs`,{children:(0,_.jsx)(`marker`,{id:`dg-cw-arrow-${u}`,viewBox:`0 0 10 10`,refX:`7`,refY:`5`,markerWidth:en,markerHeight:en,orient:`auto-start-reverse`,children:(0,_.jsx)(`path`,{d:`M0 0 L10 5 L0 10 z`,className:`dg-cw-arrowfill`})})}),(0,_.jsx)(`circle`,{className:`dg-cw-ring`,cx:Xt,cy:Zt,r:Gt}),d.map((e,t)=>{let n=d[(t+1)%f];return f<2?null:(0,_.jsx)(an,{from:e,to:n,uid:u},`c${t}`)}),d.map((e,t)=>(0,_.jsx)(on,{placed:e,index:t},`n${t}`))]})}),o&&(0,_.jsx)(`p`,{className:`dg-cw-cap`,children:o}),s&&(0,_.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(s)})]})}function an(e){let t=(0,F.c)(7),{from:n,to:r,uid:i}=e,a=r.ang-n.ang;for(;a<=-Math.PI;)a+=Math.PI*2;for(;a>Math.PI;)a-=Math.PI*2;let o=a>=0?1:-1,s=n.ang+Qt*o,c;t[0]===s?c=t[1]:(c=nn(s,$t),t[0]=s,t[1]=c);let l=c,u=r.ang-Qt*o,d;t[2]===u?d=t[3]:(d=nn(u,$t),t[2]=u,t[3]=d);let f=d,p=+(Math.abs(a)-Qt*2>Math.PI),m=+(o>0),h=`M ${l.x} ${l.y} A 160 160 0 ${p} ${m} ${f.x} ${f.y}`,g=`url(#dg-cw-arrow-${i})`,v;return t[4]!==h||t[5]!==g?(v=(0,_.jsx)(`path`,{className:`dg-cw-link`,d:h,markerEnd:g}),t[4]=h,t[5]=g,t[6]=v):v=t[6],v}function on(e){let t=(0,F.c)(23),{placed:n,index:r}=e,{stage:a,cx:o,cy:s,left:c}=n,l=a.icon?i[a.icon]:void 0,u=o+(c?-50:50),d=c?`end`:`start`,f;if(t[0]!==l||t[1]!==d||t[2]!==o||t[3]!==s||t[4]!==r||t[5]!==u||t[6]!==a.caption||t[7]!==a.label){let e=sn(a.label,16,2),n=a.caption?sn(a.caption,22,2):[],i=s-((e.length-1)*16+(n.length?15+(n.length-1)*14:0))/2+4,c=i+(e.length-1)*16+15,p;t[9]!==o||t[10]!==s?(p=(0,_.jsx)(`circle`,{className:`dg-cw-disc`,cx:o,cy:s,r:Kt}),t[9]=o,t[10]=s,t[11]=p):p=t[11];let m;t[12]!==l||t[13]!==o||t[14]!==s||t[15]!==r?(m=l?(0,_.jsx)(l,{x:o-qt/2,y:s-qt/2,width:qt,height:qt,className:`dg-cw-glyph`}):(0,_.jsx)(`text`,{className:`dg-cw-num`,x:o,y:s,textAnchor:`middle`,dominantBaseline:`central`,children:r+1}),t[12]=l,t[13]=o,t[14]=s,t[15]=r,t[16]=m):m=t[16];let h;t[17]!==i||t[18]!==u?(h=(e,t)=>(0,_.jsx)(`tspan`,{x:u,y:i+t*16,children:e},t),t[17]=i,t[18]=u,t[19]=h):h=t[19];let g=e.map(h),v;t[20]!==d||t[21]!==g?(v=(0,_.jsx)(`text`,{className:`dg-cw-label`,textAnchor:d,children:g}),t[20]=d,t[21]=g,t[22]=v):v=t[22],f=(0,_.jsxs)(`g`,{className:`dg-cw-node`,children:[p,m,v,n.length>0&&(0,_.jsx)(`text`,{className:`dg-cw-cap-lbl`,textAnchor:d,children:n.map((e,t)=>(0,_.jsx)(`tspan`,{x:u,y:c+t*14,children:e},t))})]}),t[0]=l,t[1]=d,t[2]=o,t[3]=s,t[4]=r,t[5]=u,t[6]=a.caption,t[7]=a.label,t[8]=f}else f=t[8];return f}function sn(e,t,n){let r=e.split(/\s+/).filter(Boolean),i=[],a=``,o=!1;for(let e=0;e<r.length;e++){let s=r[e],c=a?`${a} ${s}`:s;if(c.length<=t||!a)a=c;else if(i.push(a),a=s,i.length===n){o=!0,a=``;break}}if(a&&i.length<n&&i.push(a),i.length){let e=i.length-1,n=i[e];n.length>t&&(n=n.slice(0,t-1).trimEnd()),(o||i[e].length>t)&&(n=n.replace(/[…\s]*$/,``)+`…`),i[e]=n}return i.length?i:[``]}var cn=1e3,ln=186,un=130,R=113,dn=74,fn=320,pn=226,mn=720,hn=70,gn=-30,_n={source:`color-mix(in oklab, var(--presence) 18%, var(--surface-elevated-2))`,transform:`color-mix(in oklab, var(--presence) 10%, var(--surface-elevated-2))`,store:`color-mix(in oklab, var(--presence-soft) 20%, var(--surface-elevated-2))`,sink:`color-mix(in oklab, var(--insight) 16%, var(--surface-elevated-2))`},vn={source:`var(--presence)`,transform:`var(--line-strong)`,store:`var(--presence-soft)`,sink:`var(--insight)`},yn=17,bn=20;function xn(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function Sn(e,t){let n=new Map;for(let t of e)n.set(t.id,0);for(let r=0;r<e.length;r++){let r=!1;for(let i of t){if(!n.has(i.from)||!n.has(i.to))continue;let t=(n.get(i.from)??0)+1;t>(n.get(i.to)??0)&&t<e.length&&(n.set(i.to,t),r=!0)}if(!r)break}return n}function Cn(e,t){if(e.length===0)return fn;let n=Sn(e,t),r=new Map;for(let t of e){let e=n.get(t.id)??0;r.set(e,(r.get(e)??0)+1)}let i=r.size>0?Math.max(...r.values()):1,a=i*un+Math.max(0,i-1)*dn;return Math.max(fn,a+R*2)}function wn(e,t){if(e.length===0)return cn;let n=Sn(e,t),r=new Set(e.map(e=>n.get(e.id)??0)).size;return Math.max(cn,Math.max(1,r-1)*pn+R*2)}function Tn(e,t,n,r){let i=n-R*2,a=r-R*2,o=e=>R+e*i,s=e=>R+e*a,c=e.map(e=>Number.isFinite(e.x)&&Number.isFinite(e.y)?{...e,cx:o(En(e.x)),cy:s(En(e.y))}:{...e,cx:0,cy:0}),l=new Map(c.map(e=>[e.id,e])),u=e.filter(e=>!(Number.isFinite(e.x)&&Number.isFinite(e.y))),d=Sn(u,t),f=new Map;for(let e of u){let t=d.get(e.id)??0;f.has(t)||f.set(t,[]),f.get(t).push(e)}let p=[...f.keys()].sort((e,t)=>e-t),m=Math.max(1,p.length-1);return p.forEach((e,t)=>{let i=f.get(e),a=p.length===1?n/2:o(t/m);i.forEach((e,t)=>{let n=l.get(e.id);n.cx=a,n.cy=i.length===1?r/2:s((t+.5)/i.length)})}),c}function En(e){return Math.min(1,Math.max(0,e))}function Dn(e,t){let n=(Math.hypot(t.cx-e.cx,t.cy-e.cy)||1)*.4;return{rx:Math.min(99,n),ry:Math.min(71,n)}}function On(e,t){let n=t.cx-e.cx,r=t.cy-e.cy,i=Math.atan2(r,n),{rx:a,ry:o}=Dn(e,t);return{x:t.cx-Math.cos(i)*a,y:t.cy-Math.sin(i)*o}}function kn(e,t){let n=t.cx-e.cx,r=t.cy-e.cy,i=Math.atan2(r,n),{rx:a,ry:o}=Dn(e,t);return{x:e.cx+Math.cos(i)*a,y:e.cy+Math.sin(i)*o}}function An(e){return e===`store`?(0,_.jsxs)(`g`,{className:`dp-icon`,transform:`translate(0 -2)`,children:[(0,_.jsx)(`line`,{x1:-9,y1:-4,x2:9,y2:-4}),(0,_.jsx)(`line`,{x1:-9,y1:0,x2:9,y2:0}),(0,_.jsx)(`line`,{x1:-9,y1:4,x2:9,y2:4})]}):(0,_.jsxs)(`g`,{className:`dp-icon`,transform:`translate(0 -2)`,children:[(0,_.jsx)(`line`,{x1:-10,y1:0,x2:7,y2:0}),(0,_.jsx)(`path`,{d:`M 1 -6 L 11 0 L 1 6`,fill:`none`})]})}function jn(e,t,n){let r={fill:t,stroke:n,strokeWidth:2.2};switch(e){case`source`:return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`rect`,{x:-75,y:-70/2,width:ln-36,height:hn,rx:14,...r}),(0,_.jsxs)(`g`,{className:`dp-icon`,transform:`translate(-2 -2)`,children:[(0,_.jsx)(`line`,{x1:-16,y1:0,x2:6,y2:0}),(0,_.jsx)(`path`,{d:`M 0 -6 L 8 0 L 0 6`,fill:`none`})]})]});case`sink`:case`store`:{let t=hn/2-13;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`path`,{d:`M -58 -22 A 58 13 0 0 1 58 -22 L 58 ${t} A 58 13 0 0 1 -58 ${t} Z`,...r}),(0,_.jsx)(`path`,{d:`M -58 -22 A 58 13 0 0 0 58 -22`,fill:`none`,stroke:n,strokeWidth:1.6}),An(e)]})}default:return(0,_.jsx)(`polygon`,{points:Array.from({length:6},(e,t)=>{let n=Math.PI/3*t;return`${Math.cos(n)*66},${Math.sin(n)*40}`}).join(` `),...r})}}function Mn({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,stages:r,edges:o,footer:s,delay:c}){let l=i[t]||i.share,u=(0,g.useId)().replace(/:/g,``),d=(0,g.useMemo)(()=>Array.isArray(r)?r:[],[r]),f=(0,g.useMemo)(()=>Array.isArray(o)?o:[],[o]),p=(0,g.useMemo)(()=>wn(d,f),[d,f]),m=(0,g.useMemo)(()=>Cn(d,f),[d,f]),h=(0,g.useMemo)(()=>Tn(d,f,p,m),[d,f,p,m]),v=(0,g.useMemo)(()=>new Map(h.map(e=>[e.id,e])),[h]),y=Math.round(mn*p/cn),b=(0,g.useMemo)(()=>f.map((e,t)=>{let n=v.get(e?.from),r=v.get(e?.to);return!n||!r?null:{key:t,s:kn(n,r),t:On(n,r),label:typeof e.label==`string`?e.label:``}}).filter(e=>e!==null),[f,v]);return(0,_.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(c||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`dg-stage dp-stage`,style:{maxWidth:y},children:(0,_.jsxs)(`svg`,{className:`dg-svg`,viewBox:`0 0 ${p} ${m}`,preserveAspectRatio:`xMidYMid meet`,role:`img`,"aria-label":e,children:[(0,_.jsx)(`defs`,{children:(0,_.jsx)(`marker`,{id:`dp-arrow-${u}`,viewBox:`0 0 10 10`,refX:`8`,refY:`5`,markerWidth:`7`,markerHeight:`7`,orient:`auto-start-reverse`,children:(0,_.jsx)(`path`,{d:`M0 0 L10 5 L0 10 z`,className:`dp-arrowhead`})})}),b.map(({key:e,s:t,t:n})=>(0,_.jsx)(`g`,{className:`dp-edge`,children:(0,_.jsx)(`line`,{x1:t.x,y1:t.y,x2:n.x,y2:n.y,markerEnd:`url(#dp-arrow-${u})`})},e)),h.map((e,t)=>{let n=e.cy+gn,r=typeof e.label==`string`&&e.label?e.label:e.id||`Stage`,i=e.kind??`transform`;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`g`,{transform:`translate(${e.cx} ${n})`,children:jn(i,_n[i]??_n.transform,vn[i]??vn.transform)}),(0,_.jsxs)(`text`,{x:e.cx,y:n+hn/2+24,className:`dp-label`,textAnchor:`middle`,children:[r.length>yn&&(0,_.jsx)(`title`,{children:r}),xn(r,yn)]}),e.sub&&(0,_.jsxs)(`text`,{x:e.cx,y:n+hn/2+44,className:`dp-sub`,textAnchor:`middle`,children:[e.sub.length>bn&&(0,_.jsx)(`title`,{children:e.sub}),xn(e.sub,bn)]})]},e.id??t)}),b.map(({key:e,s:t,t:n,label:r})=>r?(0,_.jsx)(`text`,{x:(t.x+n.x)/2,y:(t.y+n.y)/2-8,className:`dg-edge-label`,textAnchor:`middle`,children:xn(r,26)},e):null)]})}),s&&(0,_.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(s)})]})}var z=46,B=14,Nn=58,Pn=40,Fn=34,In=17,Ln=46,Rn=64,V=e=>typeof e==`number`?String(e):e,zn=7.4,Bn=Math.max(2,Math.floor(In*2*.86/zn)),Vn=Math.max(2,Math.floor(Nn*.62*.82/zn));function Hn(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function Un(e){let t=new Map;for(let n of e)t.set(n.id,n);let n=new Set;for(let t of e)t.left&&n.add(t.left),t.right&&n.add(t.right);return{byId:t,rootId:e.find(e=>!n.has(e.id))?.id??e[0]?.id}}function Wn(e){let t=new Map;return e.forEach((n,r)=>{if(n==null)return;let i=`n${r}`,a=2*r+1,o=2*r+2,s=a<e.length&&e[a]!==null&&e[a]!==void 0,c=o<e.length&&e[o]!==null&&e[o]!==void 0;t.set(i,{id:i,value:V(n),left:s?`n${a}`:void 0,right:c?`n${o}`:void 0})}),{byId:t,rootId:t.has(`n0`)?`n0`:void 0}}function Gn(e,t){let n=[];if(!t||!e.has(t))return{placed:n,slots:0,maxDepth:0};let r=0,i=0,a=new Set,o=(t,s,c)=>{let l=e.get(t);if(!l||a.has(t))return;a.add(t),l.left&&o(l.left,s+1,t);let u=31+r*Ln,d=31+s*Rn;r+=1,i=Math.max(i,s),n.push({id:t,value:V(l.value),x:u,y:d,depth:s,parentId:c}),l.right&&o(l.right,s+1,t)};return o(t,0),{placed:n,slots:r,maxDepth:i}}function Kn(e,t,n){let r=Math.max(1,e.length),i=t.length?22:4,a=B*2+r*z,o=i+z+22,s=i;return{vbW:a,vbH:o,svg:(0,_.jsxs)(_.Fragment,{children:[e.map((e,t)=>{let r=B+t*z;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`rect`,{x:r,y:s,width:z,height:z,rx:4,className:`dst-cell`+(n===t?` on`:``)}),(0,_.jsx)(`text`,{x:r+z/2,y:s+z/2+4,className:`dst-val`,textAnchor:`middle`,children:V(e.value)}),(0,_.jsx)(`text`,{x:r+z/2,y:s+z+14,className:`dst-idx`,textAnchor:`middle`,children:t})]},t)}),t.map((e,t)=>{if(e.index<0||e.index>=r)return null;let n=B+e.index*z+z/2;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`text`,{x:n,y:s-12,className:`dst-ptr`,textAnchor:`middle`,children:e.label}),(0,_.jsx)(`path`,{d:`M ${n} ${s-9} L ${n-3} ${s-4} L ${n+3} ${s-4} Z`,className:`dst-ptr-tip`})]},`p${t}`)})]})}}function qn(e,t,n){let r=Math.max(1,e.length),i=B*2+r*92+Fn,a=Nn*.62;return{vbW:i,vbH:86,svg:(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)(`text`,{x:B,y:24,className:`dst-tag`,textAnchor:`start`,children:`head`}),e.map((e,r)=>{let i=B+r*92,o=t===r,s=(i+a+Nn)/2,c=V(e.value);return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`rect`,{x:i,y:28,width:Nn,height:Pn,rx:5,className:`dst-cell`+(o?` on`:``)}),(0,_.jsx)(`line`,{x1:i+a,y1:28,x2:i+a,y2:68,className:`dst-divide`}),(0,_.jsxs)(`text`,{x:i+a/2,y:52,className:`dst-val`,textAnchor:`middle`,children:[c.length>Vn&&(0,_.jsx)(`title`,{children:c}),Hn(c,Vn)]}),(0,_.jsx)(`circle`,{cx:s,cy:48,r:2.6,className:`dst-dot`}),(0,_.jsx)(`line`,{x1:s,y1:48,x2:i+92-4,y2:48,className:`dst-edge`,markerEnd:n})]},r)}),(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`rect`,{x:B+r*92,y:32,width:Fn,height:Pn-8,rx:4,className:`dst-null`}),(0,_.jsx)(`text`,{x:B+r*92+Fn/2,y:51.5,className:`dst-null-lbl`,textAnchor:`middle`,children:`null`})]})]})}}function Jn(e,t){let n=Math.max(1,e.length),r=z*1.9;return{vbW:159.39999999999998,vbH:B*2+n*z,svg:(0,_.jsx)(_.Fragment,{children:e.map((i,a)=>{let o=B+(n-1-a)*z,s=t===a,c=a===e.length-1;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`rect`,{x:58,y:o,width:r,height:z,rx:4,className:`dst-cell`+(s?` on`:``)}),(0,_.jsx)(`text`,{x:101.69999999999999,y:o+z/2+4,className:`dst-val`,textAnchor:`middle`,children:V(i.value)}),c&&(0,_.jsx)(`text`,{x:50,y:o+z/2+3.5,className:`dst-ptr`,textAnchor:`end`,children:`top`})]},a)})})}}function Yn(e,t){let n=Math.max(1,e.length),r=z*1.25;return{vbW:B*2+n*r,vbH:72,svg:(0,_.jsx)(_.Fragment,{children:e.map((n,i)=>{let a=B+i*r,o=t===i,s=i===0,c=i===e.length-1;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`rect`,{x:a,y:22,width:r,height:z,rx:4,className:`dst-cell`+(o?` on`:``)}),(0,_.jsx)(`text`,{x:a+r/2,y:49,className:`dst-val`,textAnchor:`middle`,children:V(n.value)}),s&&(0,_.jsx)(`text`,{x:a+r/2,y:14,className:`dst-ptr`,textAnchor:`middle`,children:`front`}),c&&!s&&(0,_.jsx)(`text`,{x:a+r/2,y:14,className:`dst-ptr`,textAnchor:`middle`,children:`rear`})]},i)})})}}function Xn(e,t,n,r){let i=B*2+Math.max(1,t)*Ln,a=B*2+(n+1)*Rn-(Rn-2*In),o=new Map(e.map(e=>[e.id,e]));return{vbW:i,vbH:a,svg:(0,_.jsxs)(_.Fragment,{children:[e.map(e=>e.parentId&&o.has(e.parentId)?(0,_.jsx)(`line`,{x1:o.get(e.parentId).x,y1:o.get(e.parentId).y,x2:e.x,y2:e.y,className:`dst-edge`},`e${e.id}`):null),e.map(e=>{let t=r===e.id;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`circle`,{cx:e.x,cy:e.y,r:In,className:`dst-node`+(t?` on`:``)}),(0,_.jsxs)(`text`,{x:e.x,y:e.y+4,className:`dst-val`,textAnchor:`middle`,children:[e.value.length>Bn&&(0,_.jsx)(`title`,{children:e.value}),Hn(e.value,Bn)]})]},e.id)})]})}}var Zn={array:`layers`,linkedlist:`link`,stack:`layers`,queue:`layers`,tree:`share`,bst:`share`,heap:`share`};function Qn({title:e,icon:t,iconColor:n=`var(--presence)`,kind:r,cells:o=[],nodes:s,level:c,pointers:l=[],highlight:u,footer:d,delay:f}){let p=i[t??Zn[r]]||i.layers,m=`dst-arrow-${(0,g.useId)().replace(/:/g,``)}`,h=`url(#${m})`,v=(0,g.useMemo)(()=>{let e=o.map(e=>typeof e==`object`&&e?e:{value:e}),t=typeof u==`number`?u:void 0;if(r===`array`)return Kn(e,l,t);if(r===`linkedlist`)return qn(e,t,h);if(r===`stack`)return Jn(e,t);if(r===`queue`)return Yn(e,t);let{byId:n,rootId:i}=s&&s.length?Un(s):Wn(c??e.map(e=>e.value)),{placed:a,slots:d,maxDepth:f}=Gn(n,i);return Xn(a,d,f,typeof u==`string`?u:void 0)},[r,o,s,c,l,u,h]),y=r===`linkedlist`;return(0,_.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(f||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(p,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`dst-wrap`,children:(0,_.jsxs)(`svg`,{viewBox:`0 0 ${v.vbW} ${v.vbH}`,className:`dst-svg`,role:`img`,"aria-label":e,children:[y&&(0,_.jsx)(`defs`,{children:(0,_.jsx)(`marker`,{id:m,markerWidth:`7`,markerHeight:`7`,refX:`6`,refY:`3.5`,orient:`auto`,children:(0,_.jsx)(`path`,{d:`M0,0 L7,3.5 L0,7 Z`,className:`dst-arrowhead`})})}),v.svg]})}),d&&(0,_.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(d)})]})}var $n=1e3,H=108,er=92,tr=46,nr=300,rr=212,ir=640,ar={default:`var(--surface-elevated-2)`,start:`color-mix(in oklab, var(--presence) 18%, var(--surface-elevated-2))`,accent:`color-mix(in oklab, var(--presence) 16%, var(--surface-elevated-2))`,good:`color-mix(in oklab, var(--insight) 16%, var(--surface-elevated-2))`,warn:`color-mix(in oklab, var(--warning) 16%, var(--surface-elevated-2))`,muted:`var(--surface-glass)`},or={default:`var(--line)`,start:`var(--presence)`,accent:`var(--presence-soft)`,good:`var(--insight)`,warn:`var(--warning)`,muted:`var(--line)`},sr={default:`var(--text-muted)`,accent:`var(--presence)`,good:`var(--insight)`,warn:`var(--warning)`,muted:`var(--grid-line)`};function cr(e,t){let n=new Map;for(let t of e)n.set(t.id,0);let r=new Map;for(let e of t)r.has(e.from)||r.set(e.from,[]),r.get(e.from).push(e.to);for(let r=0;r<e.length;r++){let r=!1;for(let i of t){let t=(n.get(i.from)??0)+1;t>(n.get(i.to)??0)&&t<e.length&&(n.set(i.to,t),r=!0)}if(!r)break}return n}function lr(e,t,n){let r=e.length;if(r===0)return nr;if(n===`cycle`)return $n;let i;if(n===`layered`){let n=cr(e,t),r=new Map;for(let t of e){let e=n.get(t.id)??0;r.set(e,(r.get(e)??0)+1)}i=r.size>0?Math.max(...r.values()):1}else i=Math.ceil(r/Math.ceil(Math.sqrt(r)));let a=tr*2*i+Math.max(0,i-1)*60;return Math.max(nr,a+H*2)}function ur(e,t,n){let r=e.length;if(r===0||n===`cycle`)return $n;let i;if(n===`layered`){let n=cr(e,t);i=new Set(e.map(e=>n.get(e.id)??0)).size}else i=Math.ceil(Math.sqrt(r));let a=n===`layered`?Math.max(1,i-1):i;return Math.max($n,a*rr+H*2)}function dr(e,t,n,r,i){let a=r-H*2,o=i-H*2,s=e=>H+e*a,c=e=>H+e*o,l=e.filter(e=>!(Number.isFinite(e.x)&&Number.isFinite(e.y))),u=e.map(e=>Number.isFinite(e.x)&&Number.isFinite(e.y)?{...e,cx:s(fr(e.x)),cy:c(fr(e.y))}:{...e,cx:0,cy:0}),d=new Map(u.map(e=>[e.id,e]));if(n===`cycle`){let e=Math.min(a,o)/2,t=r/2,n=i/2;return l.forEach((r,i)=>{let a=-Math.PI/2+i/Math.max(1,l.length)*Math.PI*2,o=d.get(r.id);o.cx=t+Math.cos(a)*e,o.cy=n+Math.sin(a)*e}),u}if(n===`layered`){let e=cr(l,t),n=new Map;for(let t of l){let r=e.get(t.id)??0;n.has(r)||n.set(r,[]),n.get(r).push(t)}let a=[...n.keys()].sort((e,t)=>e-t),o=Math.max(1,a.length-1);return a.forEach((e,t)=>{let l=n.get(e),u=a.length===1?r/2:s(t/o);l.forEach((e,t)=>{let n=d.get(e.id);n.cx=u,n.cy=l.length===1?i/2:c((t+.5)/l.length)})}),u}let f=Math.ceil(Math.sqrt(l.length)),p=Math.max(1,Math.ceil(l.length/f));return l.forEach((e,t)=>{let n=t%f,a=Math.floor(t/f),o=d.get(e.id);o.cx=f===1?r/2:s((n+.5)/f),o.cy=p===1?i/2:c((a+.5)/p)}),u}function fr(e){return Math.min(1,Math.max(0,e))}function pr(e,t){let n=(Math.hypot(t.cx-e.cx,t.cy-e.cy)||1)*.4;return{rx:Math.min(98,n),ry:Math.min(52,n)}}function mr(e,t){let n=t.cx-e.cx,r=t.cy-e.cy,i=Math.atan2(r,n),{rx:a,ry:o}=pr(e,t);return{x:t.cx-Math.cos(i)*a,y:t.cy-Math.sin(i)*o}}function hr(e,t){let n=t.cx-e.cx,r=t.cy-e.cy,i=Math.atan2(r,n),{rx:a,ry:o}=pr(e,t);return{x:e.cx+Math.cos(i)*a,y:e.cy+Math.sin(i)*o}}function gr({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,layout:r=`free`,nodes:o,edges:s,footer:c,delay:l}){let u=i[t]||i.share,d=(0,g.useId)().replace(/:/g,``),f=(0,g.useMemo)(()=>ur(o,s,r),[o,s,r]),p=(0,g.useMemo)(()=>lr(o,s,r),[o,s,r]),m=(0,g.useMemo)(()=>dr(o,s,r,f,p),[o,s,r,f,p]),h=(0,g.useMemo)(()=>new Map(m.map(e=>[e.id,e])),[m]),v=Math.round(ir*f/$n),y=(0,g.useMemo)(()=>{let e=new Set;for(let t of s)h.has(t.from)&&h.has(t.to)&&e.add(t.kind??`default`);return[...e]},[s,h]);return(0,_.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(l||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`dg-stage`,style:{maxWidth:v},children:(0,_.jsxs)(`svg`,{className:`dg-svg`,viewBox:`0 0 ${f} ${p}`,preserveAspectRatio:`xMidYMid meet`,role:`img`,"aria-label":e,children:[(0,_.jsx)(`defs`,{children:y.map(e=>(0,_.jsx)(`marker`,{id:`dg-arrow-${d}-${e}`,viewBox:`0 0 10 10`,refX:`8`,refY:`5`,markerWidth:`7`,markerHeight:`7`,orient:`auto-start-reverse`,children:(0,_.jsx)(`path`,{d:`M0 0 L10 5 L0 10 z`,fill:sr[e]})},e))}),s.map((e,t)=>{let n=h.get(e.from),r=h.get(e.to);return!n||!r?null:(0,_.jsx)(_r,{a:n,b:r,edge:e,uid:d},t)}),m.map(e=>(0,_.jsx)(Sr,{node:e},e.id))]})}),c&&(0,_.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(c)})]})}function _r(e){let t=(0,F.c)(22),{a:n,b:r,edge:i,uid:a}=e,o=i.kind??`default`,s=sr[o],c;t[0]!==n||t[1]!==r?(c=hr(n,r),t[0]=n,t[1]=r,t[2]=c):c=t[2];let l=c,u;t[3]!==n||t[4]!==r?(u=mr(n,r),t[3]=n,t[4]=r,t[5]=u):u=t[5];let d=u,f=(l.x+d.x)/2,p=(l.y+d.y)/2,m=d.x-l.x,h=d.y-l.y,g;t[6]!==m||t[7]!==h?(g=Math.hypot(m,h)||1,t[6]=m,t[7]=h,t[8]=g):g=t[8];let v=g,y=Math.min(60,v*.12),b=f-h/v*y,x=p+m/v*y,S=`url(#dg-arrow-${a}-${o})`,C=`M ${l.x} ${l.y} Q ${b} ${x} ${d.x} ${d.y}`,w=i.dashed?`7 7`:void 0,T=i.bidirectional?S:void 0,E;t[9]!==S||t[10]!==s||t[11]!==C||t[12]!==w||t[13]!==T?(E=(0,_.jsx)(`path`,{d:C,fill:`none`,stroke:s,strokeWidth:2.2,strokeDasharray:w,markerEnd:S,markerStart:T,opacity:.85}),t[9]=S,t[10]=s,t[11]=C,t[12]=w,t[13]=T,t[14]=E):E=t[14];let D;t[15]!==b||t[16]!==x||t[17]!==i.label?(D=i.label&&(0,_.jsx)(vr,{label:i.label,cx:b,cy:x}),t[15]=b,t[16]=x,t[17]=i.label,t[18]=D):D=t[18];let O;return t[19]!==E||t[20]!==D?(O=(0,_.jsxs)(`g`,{className:`dg-edge`,children:[E,D]}),t[19]=E,t[20]=D,t[21]=O):O=t[21],O}function vr(e){let t=(0,F.c)(14),{label:n,cx:r,cy:i}=e,a,o,s,c,l;if(t[0]!==r||t[1]!==i||t[2]!==n){let e=p(n,{maxWidth:220,fontSize:15,minFontSize:11,maxLines:2,lineHeight:1.15,bold:!0}),u=i-(e.lines.length-1)*e.lineHeightPx/2;a=`dg-edge-label`,o=r,s=`middle`,c=e.fontSize,l=e.lines.map((t,n)=>(0,_.jsx)(`tspan`,{x:r,y:u+n*e.lineHeightPx,dominantBaseline:`middle`,children:t},n)),t[0]=r,t[1]=i,t[2]=n,t[3]=a,t[4]=o,t[5]=s,t[6]=c,t[7]=l}else a=t[3],o=t[4],s=t[5],c=t[6],l=t[7];let u;return t[8]!==a||t[9]!==o||t[10]!==s||t[11]!==c||t[12]!==l?(u=(0,_.jsx)(`text`,{className:a,x:o,textAnchor:s,fontSize:c,children:l}),t[8]=a,t[9]=o,t[10]=s,t[11]=c,t[12]=l,t[13]=u):u=t[13],u}var yr=164,br=80,xr=.74;function Sr(e){let t=(0,F.c)(18),{node:n}=e,r=n.kind??`default`,i;if(t[0]!==r||t[1]!==n.cx||t[2]!==n.cy||t[3]!==n.label||t[4]!==n.sub){let e=n.sub?.trim(),a=e?p(e,{maxWidth:yr,fontSize:15,minFontSize:11,maxLines:2,lineHeight:1.2}):null,o=a?a.lines.length*a.lineHeightPx:0,s=p(n.label,{maxWidth:yr,fontSize:19,minFontSize:12,maxHeight:br-o,maxLines:e?2:3,lineHeight:1.16,bold:!0}),c=s.lines.length*s.lineHeightPx,l=n.cy-(c+o)/2,u=e?`${n.label} — ${e}`:n.label,d;t[6]===u?d=t[7]:(d=(0,_.jsx)(`title`,{children:u}),t[6]=u,t[7]=d);let f=ar[r],m=or[r],h=r==="default"||r===`muted`?1.4:2,g;t[8]!==n.cx||t[9]!==n.cy||t[10]!==f||t[11]!==m||t[12]!==h?(g=(0,_.jsx)(`ellipse`,{cx:n.cx,cy:n.cy,rx:er,ry:tr,fill:f,stroke:m,strokeWidth:h}),t[8]=n.cx,t[9]=n.cy,t[10]=f,t[11]=m,t[12]=h,t[13]=g):g=t[13];let v=n.cx,y=s.fontSize,b=s.lines.map((e,t)=>(0,_.jsx)(`tspan`,{x:n.cx,y:l+t*s.lineHeightPx+s.fontSize*xr,children:e},t)),x;t[14]!==s||t[15]!==n.cx||t[16]!==b?(x=(0,_.jsx)(`text`,{className:`dg-node-label`,x:v,textAnchor:`middle`,fontSize:y,children:b}),t[14]=s,t[15]=n.cx,t[16]=b,t[17]=x):x=t[17],i=(0,_.jsxs)(`g`,{className:`dg-node`,children:[d,g,x,a&&(0,_.jsx)(`text`,{className:`dg-node-sub`,x:n.cx,textAnchor:`middle`,fontSize:a.fontSize,children:a.lines.map((e,t)=>(0,_.jsx)(`tspan`,{x:n.cx,y:l+c+t*a.lineHeightPx+a.fontSize*xr,children:e},t))})]}),t[0]=r,t[1]=n.cx,t[2]=n.cy,t[3]=n.label,t[4]=n.sub,t[5]=i}else i=t[5];return i}var U=44,Cr=48,wr=36,Tr=12,Er=12,Dr=10,Or=6,kr=5;function Ar(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function jr(e,t){return`${e},${t}`}function Mr({title:e,icon:t=`table`,iconColor:n=`var(--presence)`,rows:r,cols:o,cells:s,steps:c,highlight:l,path:u,recurrence:d,footer:f,delay:p}){let m=i[t]??i.table,[h,v]=(0,g.useState)(0),y=c?.length??0,b=Math.min(h,Math.max(0,y-1)),x=c?.[b],S=e=>v(Math.min(y-1,Math.max(0,e))),{vbW:C,vbH:w,clampedRows:T,clampedCols:E,clampedCells:D,pathSet:O,hlKey:k,depSet:A}=(0,g.useMemo)(()=>{let e=r.slice(0,Dr),t=o.slice(0,Er),n=e.length,i=t.length,a=s.slice(0,n).map(e=>e.slice(0,i)),c=72+i*U,d=60+n*U,f=new Set;for(let[e,t]of u??[])e<n&&t<i&&f.add(jr(e,t));let p=x?.current??l,m=p&&p[0]<n&&p[1]<i?jr(p[0],p[1]):null,h=new Set;for(let[e,t]of x?.deps??[]){let r=jr(e,t);e<n&&t<i&&r!==m&&h.add(r)}return{vbW:c,vbH:d,clampedRows:e,clampedCols:t,clampedCells:a,pathSet:f,hlKey:m,depSet:h}},[r,o,s,l,u,x]),j=E.length,M=T.length,N=e=>60+e*U,P=e=>48+e*U;return(0,_.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(p??0)+`ms`},children:[e&&(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(m,{className:`ic`,style:{color:n}}),` `,e]}),d&&(0,_.jsx)(`div`,{className:`dp-recurrence`,children:(0,_.jsx)(`code`,{children:d})}),x?.caption&&(0,_.jsx)(`p`,{className:`dg-at-caption`,"aria-live":`polite`,children:x.caption}),(0,_.jsx)(`div`,{className:`dp-wrap`,children:(0,_.jsxs)(`svg`,{viewBox:`0 0 ${C} ${w}`,className:`dp-svg`,role:`img`,"aria-label":e??`DP table`,children:[(0,_.jsx)(`rect`,{x:Tr,y:Tr,width:Cr,height:wr,className:`dp-corner`}),E.map((e,t)=>(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`rect`,{x:N(t),y:Tr,width:U,height:wr,className:`dp-header`}),(0,_.jsxs)(`text`,{x:N(t)+U/2,y:35,textAnchor:`middle`,className:`dp-hdr-val`,children:[e.length>Or&&(0,_.jsx)(`title`,{children:e}),Ar(e,Or)]})]},`ch-${t}`)),T.map((e,t)=>(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`rect`,{x:Tr,y:P(t),width:Cr,height:U,className:`dp-header`}),(0,_.jsxs)(`text`,{x:36,y:P(t)+U/2+5,textAnchor:`middle`,className:`dp-hdr-val`,children:[e.length>Or&&(0,_.jsx)(`title`,{children:e}),Ar(e,Or)]})]},`rh-${t}`)),Array.from({length:M},(e,t)=>Array.from({length:j},(e,n)=>{let r=jr(t,n),i=r===k,a=A.has(r),o=!i&&!a&&O.has(r),s=D[t]?.[n],c=s==null?``:String(s),l=`dp-cell`;return i?l+=` dp-active`:a?l+=` dp-dep`:o&&(l+=` dp-path`),(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`rect`,{x:N(n),y:P(t),width:U,height:U,className:l}),s!=null&&(0,_.jsxs)(`text`,{x:N(n)+U/2,y:P(t)+U/2+5,textAnchor:`middle`,className:`dp-val`+(i?` dp-val-active`:a?` dp-val-dep`:o?` dp-val-path`:``),children:[c.length>kr&&(0,_.jsx)(`title`,{children:c}),Ar(c,kr)]})]},r)}))]})}),c&&c.length>0&&(0,_.jsxs)(`div`,{className:`dg-at-controls`,children:[(0,_.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>S(b-1),disabled:b===0,"aria-label":`previous step`,children:[(0,_.jsx)(i.chevL,{className:`ic`}),` Prev`]}),(0,_.jsx)(`div`,{className:`dg-at-progress`,"aria-hidden":`true`,children:c.map((e,t)=>(0,_.jsx)(`span`,{className:`dg-at-dot`+(t===b?` on`:t<b?` done`:``)},t))}),(0,_.jsxs)(`span`,{className:`dg-at-count`,children:[b+1,` / `,y]}),(0,_.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>S(b+1),disabled:b>=y-1,"aria-label":`next step`,children:[`Next `,(0,_.jsx)(i.chevR,{className:`ic`})]})]}),f&&(0,_.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(f)})]})}function Nr({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,entities:r,relationships:o,footer:s,delay:c}){let l=i[t]||i.share,u=(0,g.useMemo)(()=>r.map((e,t)=>({...e,gx:e.x===void 0?t%2+1:void 0,gy:e.y===void 0?Math.floor(t/2)+1:void 0})),[r]),d=(0,g.useMemo)(()=>new Map(r.map(e=>[e.id,e])),[r]),f=e=>e===`many`?`∞`:`1`;return(0,_.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(c||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`dg-er`,children:u.map(e=>(0,_.jsxs)(`div`,{className:`dg-er-entity`,style:e.gx?{gridColumn:e.gx,gridRow:e.gy}:void 0,children:[(0,_.jsx)(`div`,{className:`dg-er-name`,children:e.label}),(0,_.jsx)(`ul`,{className:`dg-er-fields`,children:e.fields.map((e,t)=>(0,_.jsxs)(`li`,{className:`dg-er-field`+(e.key?` k-`+e.key:``),children:[e.key&&(0,_.jsx)(`span`,{className:`dg-er-key`,children:e.key.toUpperCase()}),(0,_.jsx)(`span`,{className:`dg-er-fname`,children:e.name}),e.type&&(0,_.jsx)(`span`,{className:`dg-er-ftype`,children:e.type})]},t))})]},e.id))}),o.length>0&&(0,_.jsx)(`ul`,{className:`dg-er-rels`,children:o.map((e,t)=>{let n=d.get(e.from),r=d.get(e.to);return(0,_.jsxs)(`li`,{className:`dg-er-rel`,children:[(0,_.jsx)(`b`,{children:n?.label??e.from}),(0,_.jsx)(`span`,{className:`dg-er-card`,children:f(e.fromCard)}),(0,_.jsx)(`span`,{className:`dg-er-line`}),(0,_.jsx)(`span`,{className:`dg-er-card`,children:f(e.toCard)}),(0,_.jsx)(`b`,{children:r?.label??e.to}),e.label&&(0,_.jsx)(`span`,{className:`dg-er-rlbl`,children:e.label})]},t)})}),s&&(0,_.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(s)})]})}var Pr=1e3,Fr=18,Ir=152,Lr=84,Rr=8,zr=.577,Br=15,Vr=12.5,Hr=[`var(--presence)`,`var(--insight)`,`var(--warning)`,`var(--presence-deep)`];function Ur(e){return Array.isArray(e)?e.map(e=>{if(typeof e==`string`)return{label:e,causes:[]};if(!e||typeof e!=`object`)return null;let t=e,n=typeof t.label==`string`&&t.label?t.label:``,r=(Array.isArray(t.causes)?t.causes:[]).map(e=>{if(typeof e==`string`)return e;if(e&&typeof e==`object`){let t=e,n=t.text??t.label??t.cause??t.name;return typeof n==`string`?n:``}return``}).filter(Boolean);return n||r.length?{label:n||`—`,causes:r}:null}).filter(e=>e!==null).slice(0,Rr):[]}function Wr({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,effect:r,categories:o,footer:c,delay:l}){let u=i[t]||i.share,d=(0,g.useId)().replace(/:/g,``),f=(0,g.useMemo)(()=>Ur(o),[o]),m=(0,g.useMemo)(()=>{if(!f.length)return null;let e=Math.max(0,...f.map(e=>e.causes.length)),t=Math.min(240,Math.max(96,40+e*32)),n=t*zr,r=t*2+110,i=r/2,a=Pr-Fr-Ir-10,o=Math.max(1,Math.ceil(f.length/2)),s=(a-44-n)/o;return{ribH:t,ribDx:n,H:r,spineY:i,spineX1:44,spineX2:a,twigLen:Math.min(150,Math.max(70,s*.72)),ribs:f.map((e,r)=>{let a=Math.floor(r/2),o=r%2==0,c=44+n+s*(a+.62);return{cat:e,top:o,jx:c,tipX:c-n,tipY:o?i-t:i+t,accent:Hr[r%Hr.length]}})}},[f]),h=(0,g.useMemo)(()=>p(typeof r==`string`&&r?r:`—`,{maxWidth:Ir-22,fontSize:16,minFontSize:11,maxLines:3,lineHeight:1.2,bold:!0}),[r]);return(0,_.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(l||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),m?(0,_.jsx)(`div`,{className:`dg-stage fsb-stage`,children:(0,_.jsxs)(`svg`,{viewBox:`0 0 ${Pr} ${m.H}`,className:`dg-svg`,role:`img`,"aria-label":e,children:[(0,_.jsx)(`defs`,{children:(0,_.jsx)(`marker`,{id:`fsb-arrow-${d}`,viewBox:`0 0 10 10`,refX:`8`,refY:`5`,markerWidth:`7`,markerHeight:`7`,orient:`auto`,children:(0,_.jsx)(`path`,{d:`M0 0 L10 5 L0 10 z`,className:`fsb-arrowhead`})})}),(0,_.jsx)(`polygon`,{className:`fsb-tail`,points:`${Fr},${m.spineY-13} ${Fr},${m.spineY+13} 44,${m.spineY}`}),(0,_.jsx)(`line`,{className:`fsb-spine`,x1:m.spineX1,y1:m.spineY,x2:m.spineX2,y2:m.spineY,markerEnd:`url(#fsb-arrow-${d})`}),(0,_.jsx)(`rect`,{className:`fsb-head`,x:m.spineX2+10,y:m.spineY-Lr/2,width:Ir,height:Lr,rx:12}),(0,_.jsx)(`text`,{className:`fsb-effect`,textAnchor:`middle`,fontSize:h.fontSize,children:h.lines.map((e,t)=>(0,_.jsx)(`tspan`,{x:m.spineX2+10+Ir/2,y:m.spineY-(h.lines.length-1)*h.lineHeightPx/2+t*h.lineHeightPx,dominantBaseline:`middle`,children:e},t))}),m.ribs.map((e,t)=>{let n=e.cat.causes.length,r=m.ribH/(n+1)>=30?2:1,i=p(e.cat.label,{maxWidth:132,fontSize:Br,minFontSize:11,maxLines:2,lineHeight:1.15,bold:!0}),a=i.lines.length*i.lineHeightPx,o=e.top?e.tipY-10-a+i.lineHeightPx/2:e.tipY+10+i.lineHeightPx/2;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`line`,{className:`fsb-rib`,x1:e.jx,y1:m.spineY,x2:e.tipX,y2:e.tipY,style:{stroke:e.accent}}),(0,_.jsx)(`text`,{className:`fsb-cat`,textAnchor:`middle`,fontSize:i.fontSize,style:{fill:e.accent},children:i.lines.map((t,n)=>(0,_.jsx)(`tspan`,{x:e.tipX,y:o+n*i.lineHeightPx,dominantBaseline:`middle`,children:t},n))}),e.cat.causes.map((t,i)=>{let a=(n-i)/(n+1),o=e.jx-m.ribDx*a,s=e.top?m.spineY-m.ribH*a:m.spineY+m.ribH*a,c=Math.max(22,o-m.twigLen),l=p(t,{maxWidth:Math.max(40,o-c-10),fontSize:Vr,minFontSize:9,maxLines:r,lineHeight:1.15}),u=t=>e.top?s-4-(l.lines.length-1-t+.5)*l.lineHeightPx:s+4+(t+.5)*l.lineHeightPx;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`line`,{className:`fsb-twig`,x1:o,y1:s,x2:c,y2:s}),(0,_.jsx)(`text`,{className:`fsb-cause`,textAnchor:`end`,fontSize:l.fontSize,children:l.lines.map((e,t)=>(0,_.jsx)(`tspan`,{x:o-8,y:u(t),dominantBaseline:`middle`,children:e},t))})]},i)})]},t)})]})}):(0,_.jsx)(s,{message:`No cause categories to draw`}),c&&(0,_.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(c)})]})}var Gr=512,W=Gr/2,Kr=Gr/2,qr=62,Jr=152,Yr=178,Xr=16,Zr=15,Qr=12,$r=16,ei=8;function ti(e,t){let n=t>0?t*Qr+4:0;return Xr+e*Zr+n+$r+ei}var ni={newEntrants:{dx:0,dy:-1},suppliers:{dx:-1,dy:0},buyers:{dx:1,dy:0},substitutes:{dx:0,dy:1}},ri=[`newEntrants`,`suppliers`,`buyers`,`substitutes`],ii={newEntrants:`Threat of new entrants`,suppliers:`Supplier power`,buyers:`Buyer power`,substitutes:`Threat of substitutes`},G={low:`var(--text-faint)`,medium:`var(--warning)`,high:`var(--danger)`},ai={low:2,medium:3.5,high:5.5},oi={low:`Low`,medium:`Medium`,high:`High`},si=new Set([`low`,`medium`,`high`]);function ci(e){return si.has(e)?e:`medium`}function li(e,t,n){let r=e.trim().split(/\s+/).filter(Boolean),i=[],a=``,o=!1;for(let e of r){let r=a?`${a} ${e}`:e;if(r.length<=t||!a)a=r;else if(i.push(a),a=e,i.length===n){o=!0,a=``;break}}if(a&&i.length<n&&i.push(a),i.length){let e=i.length-1,n=i[e];n.length>t&&(n=n.slice(0,t-1).trimEnd()),(o||i[e].length>t)&&(n=n.replace(/[…\s]*$/,``)+`…`),i[e]=n}return i.length?i:[``]}function ui({title:e,icon:t=`chart`,iconColor:n=`var(--warning)`,industry:r,forces:o,footer:s,delay:c}){let l=i[t]||i.chart,u=Array.isArray(o)?o:[],d=new Map;for(let e of u){if(!e||typeof e!=`object`)continue;let t=e.id;typeof t==`string`&&!d.has(t)&&d.set(t,e)}let f=d.get(`rivalry`),p=f&&si.has(f.strength)?ci(f.strength):null,m=ri.map(e=>{let t=d.get(e);if(!t||typeof t.label!=`string`||!t.label.trim())return null;let{dx:n,dy:r}=ni[e],i=ci(t.strength),a=li(t.label,19,2),o=typeof t.note==`string`?t.note.trim():``,s=o?li(o,24,2):[],c=ti(a.length,s.length),l=W+n*Yr,u=Kr+r*Yr;return{id:e,entry:t,strength:i,dx:n,dy:r,boxCx:l,boxCy:u,h:c,labelLines:a,noteLines:s,hub:{x:W+n*qr,y:Kr+r*qr},rim:{x:l-Jr/2*n,y:u-c/2*r}}}).filter(e=>e!==null),h=li((r||`this market`).trim(),15,1)[0];return(0,_.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(c||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`dg-stage ff-stage`,children:(0,_.jsxs)(`svg`,{viewBox:`0 0 ${Gr} ${Gr}`,className:`dg-svg`,role:`img`,"aria-label":e,preserveAspectRatio:`xMidYMid meet`,children:[m.map(e=>(0,_.jsx)(`line`,{x1:e.hub.x,y1:e.hub.y,x2:e.rim.x,y2:e.rim.y,className:`ff-link`,style:{stroke:G[e.strength],strokeWidth:ai[e.strength]}},`c-${e.id}`)),(0,_.jsx)(`circle`,{cx:W,cy:Kr,r:qr,className:`ff-hub`,style:p?{stroke:G[p]}:void 0}),(0,_.jsx)(`text`,{x:W,y:Kr-12,textAnchor:`middle`,className:`ff-hub-title`,children:`Industry`}),(0,_.jsx)(`text`,{x:W,y:262,textAnchor:`middle`,className:`ff-hub-title`,children:`Rivalry`}),(0,_.jsx)(`text`,{x:W,y:282,textAnchor:`middle`,className:`ff-hub-sub`,children:h}),p&&(0,_.jsx)(`text`,{x:W,y:298,textAnchor:`middle`,className:`ff-strength`,style:{fill:G[p]},children:oi[p]}),m.map(e=>{let t=e.boxCx-Jr/2,n=e.boxCy-e.h/2,r=n+Xr+Zr-4;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`rect`,{x:t,y:n,width:Jr,height:e.h,rx:12,className:`ff-box`,style:{stroke:G[e.strength]}}),(0,_.jsx)(`rect`,{x:t,y:n,width:4,height:e.h,rx:2,fill:G[e.strength]}),(0,_.jsx)(`text`,{x:e.boxCx,y:n+15,textAnchor:`middle`,className:`ff-slot-lbl`,children:ii[e.id]}),(0,_.jsx)(`text`,{textAnchor:`middle`,className:`ff-box-lbl`,children:e.labelLines.map((t,n)=>(0,_.jsx)(`tspan`,{x:e.boxCx,y:r+n*Zr,children:t},n))}),e.noteLines.length>0&&(0,_.jsx)(`text`,{textAnchor:`middle`,className:`ff-box-note`,children:e.noteLines.map((t,n)=>(0,_.jsx)(`tspan`,{x:e.boxCx,y:r+e.labelLines.length*Zr+3+n*Qr,children:t},n))}),(0,_.jsx)(`text`,{x:t+Jr-10,y:n+e.h-9,textAnchor:`end`,className:`ff-strength`,style:{fill:G[e.strength]},children:oi[e.strength]})]},e.id)})]})}),s&&(0,_.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(s)})]})}var di=520,fi=24,pi=16,mi=16,hi=di-fi*2,gi=22,_i=16,vi=14,yi=13,bi=56,xi=46,Si=15,Ci=8;function wi(e,t,n){let r=e.trim().split(/\s+/).filter(Boolean),i=[],a=``,o=!1;for(let e of r){let r=a?`${a} ${e}`:e;if(r.length<=t||!a)a=r;else if(i.push(a),a=e,i.length===n){o=!0,a=``;break}}if(a&&i.length<n&&i.push(a),i.length){let e=i.length-1,n=i[e];n.length>t&&(n=n.slice(0,t-1).trimEnd()),(o||i[e].length>t)&&(n=n.replace(/[…\s]*$/,``)+`…`),i[e]=n}return i.length?i:[``]}function Ti(e,t){let n=e?e*yi+4:0,r=t*_i;return Math.max(bi,36+n+r)}function Ei({title:e,icon:t=`eye`,iconColor:n=`var(--presence)`,problem:r,whys:o,rootCause:s,footer:c,delay:l}){let u=i[t]||i.eye,d=typeof s==`string`?s.trim():``,{rows:f,vbH:p}=(0,g.useMemo)(()=>{let e=[],t=pi,n=wi(typeof r==`string`?r:``,xi,3),i=Ti(0,n.length);e.push({kind:`problem`,badge:`Problem`,questionLines:[],answerLines:n,h:i,y:t}),t+=i+gi;let a=(Array.isArray(o)?o:[]).filter(e=>!!e&&typeof e==`object`&&typeof e.answer==`string`&&e.answer.trim()!==``),s=a.length-1;if(a.forEach((n,r)=>{let i=r===s&&!d,a=typeof n.question==`string`?n.question.trim():``,o=a?wi(a,xi,2):[],c=wi(n.answer,xi,3),l=Ti(o.length,c.length);e.push({kind:i?`root`:`why`,badge:`Why ${r+1}`,questionLines:o,answerLines:c,h:l,y:t}),t+=l+gi}),d){let n=wi(d,xi,3),r=Ti(0,n.length);e.push({kind:`root`,badge:`Root cause`,questionLines:[],answerLines:n,h:r,y:t}),t+=r+gi}return{rows:e,vbH:Math.max(120,t-gi+mi)}},[r,o,d]);return(0,_.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(l||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`dg-stage fwy-stage`,children:(0,_.jsxs)(`svg`,{viewBox:`0 0 ${di} ${p}`,className:`dg-svg`,role:`img`,"aria-label":e,preserveAspectRatio:`xMidYMid meet`,children:[(0,_.jsx)(`defs`,{children:(0,_.jsx)(`marker`,{id:`fwy-arrow`,viewBox:`0 0 10 10`,refX:`6`,refY:`5`,markerWidth:`6`,markerHeight:`6`,orient:`auto-start-reverse`,children:(0,_.jsx)(`path`,{d:`M0 0 L10 5 L0 10 z`,className:`fwy-arrowhead`})})}),f.slice(1).map((e,t)=>{let n=f[t],r=di/2;return(0,_.jsx)(`line`,{x1:r,y1:n.y+n.h,x2:r,y2:e.y-5,className:`fwy-link`,markerEnd:`url(#fwy-arrow)`},`link-${t}`)}),f.map((e,t)=>{let n=e.y+Si,r=e.y+vi+9+Ci,i=e.questionLines.length>0?r+e.questionLines.length*yi+4:r;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`rect`,{x:fi,y:e.y,width:hi,height:e.h,rx:12,className:`fwy-card fwy-card--${e.kind}`}),(0,_.jsx)(`rect`,{x:fi,y:e.y,width:4,height:e.h,rx:2,className:`fwy-rail fwy-rail--${e.kind}`}),(0,_.jsx)(`text`,{x:40,y:n,className:`fwy-badge fwy-badge--${e.kind}`,children:e.badge}),e.questionLines.length>0&&(0,_.jsx)(`text`,{className:`fwy-question`,children:e.questionLines.map((e,t)=>(0,_.jsx)(`tspan`,{x:40,y:r+t*yi,children:e},t))}),(0,_.jsx)(`text`,{className:`fwy-answer fwy-answer--${e.kind}`,children:e.answerLines.map((e,t)=>(0,_.jsx)(`tspan`,{x:40,y:i+t*_i,children:e},t))})]},t)})]})}),c&&(0,_.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(c)})]})}var Di=640,Oi=20,ki=20,Ai=20,ji=92,Mi=22,Ni=13,Pi=116;function Fi(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function Ii(e,t,n){let r=e.trim().split(/\s+/).filter(Boolean),i=[],a=``,o=!1;for(let e of r){let r=a?`${a} ${e}`:e;if(r.length<=t||!a)a=r;else if(i.push(a),a=e,i.length===n){o=!0,a=``;break}}if(a&&i.length<n&&i.push(a),i.length){let e=i.length-1,n=i[e];n.length>t&&(n=n.slice(0,t-1).trimEnd()),(o||i[e].length>t)&&(n=n.replace(/[…\s]*$/,``)+`…`),i[e]=n}return i.length?i:[``]}function Li({title:e,icon:t=`globe`,iconColor:n=`var(--insight)`,tiers:r,organisms:o,links:s,footer:c,delay:l}){let u=i[t]||i.globe,d=(0,g.useMemo)(()=>Array.isArray(r)?r.filter(e=>typeof e==`string`):[],[r]),{placed:f,byId:p}=(0,g.useMemo)(()=>{let e=Math.max(0,d.length-1),t=new Map;(Array.isArray(o)?o:[]).forEach((n,r)=>{if(!n||typeof n!=`object`)return;let i=typeof n.label==`string`?n.label.trim():``;if(!i)return;let a=typeof n.id==`string`&&n.id.trim()?n.id.trim():`org-${r}`,o=Number.isFinite(n.tier)?Math.min(e,Math.max(0,Math.round(n.tier))):0,s=t.get(o)??[];s.push({id:a,label:i,tier:o}),t.set(o,s)});let n=Di-Pi-Oi,r=[];for(let[i,a]of t){let t=ki+(e-i)*ji+ji/2;a.forEach((e,i)=>{let o=Pi+(i+.5)/a.length*n;r.push({...e,cx:o,cy:t})})}return{placed:r,byId:new Map(r.map(e=>[e.id,e]))}},[o,d.length]),m=(0,g.useMemo)(()=>(Array.isArray(s)?s:[]).map(e=>{if(!e||typeof e!=`object`)return null;let t=e,n=p.get(typeof t.from==`string`?t.from:``),r=p.get(typeof t.to==`string`?t.to:``);return!n||!r||n.id===r.id?null:{from:n,to:r}}).filter(e=>e!==null),[s,p]),h=Math.max(160,d.length*ji+ki+Ai),v=Math.max(0,d.length-1);return f.length===0?(0,_.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(l||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`p`,{className:`fwb-empty`,children:`No organisms to diagram.`})]}):(0,_.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(l||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`dg-stage fwb-stage`,children:(0,_.jsxs)(`svg`,{viewBox:`0 0 ${Di} ${h}`,className:`dg-svg`,role:`img`,"aria-label":e,preserveAspectRatio:`xMidYMid meet`,children:[(0,_.jsx)(`defs`,{children:(0,_.jsx)(`marker`,{id:`fwb-arrow`,viewBox:`0 0 10 10`,refX:`7`,refY:`5`,markerWidth:`6`,markerHeight:`6`,orient:`auto-start-reverse`,children:(0,_.jsx)(`path`,{d:`M0 0 L10 5 L0 10 z`,className:`fwb-arrowhead`})})}),d.map((e,t)=>{let n=ki+(v-t)*ji,r=Ii(e,14,2),i=n+ji/2-(r.length-1)*12/2+4;return(0,_.jsxs)(`g`,{children:[t>0&&(0,_.jsx)(`line`,{x1:Oi,y1:n,x2:Di-Oi,y2:n,className:`fwb-tier-line`}),(0,_.jsx)(`text`,{x:Oi,className:`fwb-tier-lbl`,children:r.map((e,t)=>(0,_.jsx)(`tspan`,{x:Oi,y:i+t*12,children:e},t))})]},t)}),(0,_.jsx)(`line`,{x1:Pi-12,y1:ki,x2:Pi-12,y2:h-Ai,className:`fwb-gutter-line`}),m.map((e,t)=>{let n=e.to.cx-e.from.cx,r=e.to.cy-e.from.cy,i=Math.hypot(n,r)||1,a=Math.min(40,i*.22),o=(e.from.cx+e.to.cx)/2-r/i*a,s=(e.from.cy+e.to.cy)/2+n/i*a,c=Math.atan2(s-e.from.cy,o-e.from.cx),l=Math.atan2(s-e.to.cy,o-e.to.cx),u=e.from.cx+Math.cos(c)*Mi,d=e.from.cy+Math.sin(c)*Mi,f=e.to.cx+Math.cos(l)*30,p=e.to.cy+Math.sin(l)*30;return(0,_.jsx)(`path`,{d:`M ${u.toFixed(1)} ${d.toFixed(1)} Q ${o.toFixed(1)} ${s.toFixed(1)} ${f.toFixed(1)} ${p.toFixed(1)}`,className:`fwb-link`,markerEnd:`url(#fwb-arrow)`},t)}),f.map(e=>(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`circle`,{cx:e.cx,cy:e.cy,r:Mi,className:`fwb-node`}),(0,_.jsxs)(`text`,{x:e.cx,y:e.cy+Mi+14,textAnchor:`middle`,className:`fwb-node-lbl`,children:[e.label.length>Ni&&(0,_.jsx)(`title`,{children:e.label}),Fi(e.label,Ni)]})]},e.id))]})}),c&&(0,_.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(c)})]})}var Ri=340,zi=280,Bi=22,Vi=12,Hi=Math.max(3,Math.floor(Bi*2*.82/6.4));function Ui(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function Wi(e){let t=Math.min(e.length,Vi);return e.slice(0,t).map((e,n)=>{let r=e.x===void 0?Ri/2+120*Math.cos(2*Math.PI*n/t-Math.PI/2):e.x/100*Ri,i=e.y===void 0?zi/2+100*Math.sin(2*Math.PI*n/t-Math.PI/2):e.y/100*zi;return{id:e.id,label:e.label??e.id,cx:r,cy:i}})}function Gi({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,nodes:r,edges:o,steps:s,algorithm:c=`bfs`,footer:l,delay:u}){let d=i[t]??i.share,f=`gt-arrow-${(0,g.useId)().replace(/:/g,``)}`,p=`url(#${f})`,[m,h]=(0,g.useState)(0),v=s[Math.min(m,s.length-1)],y=e=>h(Math.min(s.length-1,Math.max(0,e))),b=(0,g.useMemo)(()=>Wi(r),[r]),x=(0,g.useMemo)(()=>new Map(b.map(e=>[e.id,e])),[b]),S=e=>v?v.current===e?`current`:v.frontier?.includes(e)?`frontier`:v.visited?.includes(e)?`visited`:`none`:`none`,C=o.some(e=>e.directed);return(0,_.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u??0)+`ms`},children:[e&&(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`p`,{className:`dg-at-caption`,"aria-live":`polite`,children:v?.caption??``}),(0,_.jsx)(`div`,{className:`gt-stage`,children:(0,_.jsxs)(`svg`,{viewBox:`0 0 ${Ri} ${zi}`,className:`gt-svg`,role:`img`,"aria-label":e??`Graph traversal`,children:[(0,_.jsx)(`defs`,{children:(0,_.jsx)(`marker`,{id:f,markerWidth:`8`,markerHeight:`8`,refX:`7`,refY:`4`,orient:`auto`,children:(0,_.jsx)(`path`,{d:`M0,0 L8,4 L0,8 Z`,className:`gt-arrowhead`})})}),o.map((e,t)=>{let n=x.get(e.from),r=x.get(e.to);if(!n||!r)return null;let i=r.cx-n.cx,a=r.cy-n.cy,o=Math.sqrt(i*i+a*a)||1,s=n.cx+i/o*24,c=n.cy+a/o*24,l=r.cx-i/o*28,u=r.cy-a/o*28,d=(s+l)/2,f=(c+u)/2;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`line`,{x1:s,y1:c,x2:l,y2:u,className:`gt-edge`,markerEnd:e.directed||C?p:void 0}),e.weight!==void 0&&(0,_.jsx)(`text`,{x:d,y:f-6,textAnchor:`middle`,className:`gt-weight`,children:e.weight})]},`e${t}`)}),b.map(e=>{let t=S(e.id);return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`circle`,{cx:e.cx,cy:e.cy,r:Bi,className:`gt-node gt-node-${t}`}),(0,_.jsxs)(`text`,{x:e.cx,y:e.cy+5,textAnchor:`middle`,className:`gt-label gt-label-${t}`,children:[e.label.length>Hi&&(0,_.jsx)(`title`,{children:e.label}),Ui(e.label,Hi)]})]},e.id)})]})}),v&&(0,_.jsxs)(`div`,{className:`gt-state-panel`,children:[(0,_.jsxs)(`div`,{className:`gt-state-row`,children:[(0,_.jsxs)(`span`,{className:`gt-state-key`,children:[c===`bfs`?`Queue`:`Stack`,`:`]}),(0,_.jsx)(`div`,{className:`gt-chips`,children:v.frontier&&v.frontier.length>0?v.frontier.map(e=>(0,_.jsx)(`span`,{className:`gt-chip gt-chip-frontier`,children:x.get(e)?.label??e},e)):(0,_.jsx)(`span`,{className:`gt-chip-empty`,children:`—`})})]}),(0,_.jsxs)(`div`,{className:`gt-state-row`,children:[(0,_.jsx)(`span`,{className:`gt-state-key`,children:`Visited:`}),(0,_.jsx)(`div`,{className:`gt-chips`,children:v.visited&&v.visited.length>0?v.visited.map(e=>(0,_.jsx)(`span`,{className:`gt-chip gt-chip-visited`,children:x.get(e)?.label??e},e)):(0,_.jsx)(`span`,{className:`gt-chip-empty`,children:`—`})})]})]}),(0,_.jsxs)(`div`,{className:`dg-at-controls`,children:[(0,_.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>y(m-1),disabled:m===0,"aria-label":`previous step`,children:[(0,_.jsx)(i.chevL,{className:`ic`}),` Prev`]}),(0,_.jsx)(`div`,{className:`dg-at-progress`,"aria-hidden":`true`,children:s.map((e,t)=>(0,_.jsx)(`span`,{className:`dg-at-dot`+(t===m?` on`:t<m?` done`:``)},t))}),(0,_.jsxs)(`span`,{className:`dg-at-count`,children:[Math.min(m+1,s.length),` / `,s.length]}),(0,_.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>y(m+1),disabled:m>=s.length-1,"aria-label":`next step`,children:[`Next `,(0,_.jsx)(i.chevR,{className:`ic`})]})]}),l&&(0,_.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(l)})]})}var Ki=68,qi=36,Ji=4,K=96,Yi=32,Xi=8,Zi=28,Qi=16,$i=8,ea=6;function ta(e,t){if(t<=0)return 0;if(typeof e==`number`)return(e%t+t)%t;let n=0;for(let t=0;t<e.length;t++)n=n*31+e.charCodeAt(t)&2147483647;return(n%t+t)%t}function na({title:e,icon:t=`layers`,iconColor:n=`var(--presence)`,size:r,entries:o,hashFn:s,highlight:c,footer:l,delay:u}){let d=i[t]??i.layers,f=`ht-arrow-${(0,g.useId)().replace(/:/g,``)}`,p=`url(#${f})`,m=Math.min(Math.max(1,Math.floor(r)),$i),h=(0,g.useMemo)(()=>{let e=Array.from({length:m},()=>[]);for(let t of o){let n=t.bucket===void 0?ta(t.key,m):Math.max(0,Math.min(m-1,t.bucket));e[n].length<ea&&e[n].push({key:t.key,value:t.value})}return e},[o,m]),v=92+Math.max(0,...h.map(e=>e.length))*104+Zi+Xi+Qi,y=Qi+m*40-Ji+Qi,b=e=>Qi+e*40,x=e=>b(e)+qi/2,S=e=>92+e*104,C=e=>b(e)+(qi-Yi)/2;return(0,_.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u??0)+`ms`},children:[e&&(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),s&&(0,_.jsx)(`div`,{className:`ht-hashfn`,children:s}),(0,_.jsx)(`div`,{className:`ht-wrap`,children:(0,_.jsxs)(`svg`,{viewBox:`0 0 ${v} ${y}`,className:`ht-svg`,role:`img`,"aria-label":e??`Hash table`,children:[(0,_.jsx)(`defs`,{children:(0,_.jsx)(`marker`,{id:f,markerWidth:`7`,markerHeight:`7`,refX:`6`,refY:`3.5`,orient:`auto`,children:(0,_.jsx)(`path`,{d:`M0,0 L7,3.5 L0,7 Z`,className:`ht-arrowhead`})})}),h.map((e,t)=>{let n=Qi,r=b(t),i=x(t);return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`rect`,{x:n,y:r,width:Ki,height:qi,className:`ht-bucket`}),(0,_.jsxs)(`text`,{x:50,y:r+qi/2+5,textAnchor:`middle`,className:`ht-bucket-idx`,children:[`[`,t,`]`]}),e.map((e,n)=>{let r=S(n),a=C(t),o=a+Yi/2,s=`ht-node`+(c!==void 0&&String(e.key)===String(c)?` ht-active`:``),l=e.value===void 0?String(e.key):`${e.key}: ${e.value}`,u=l.length>10?10:12,d=l.length>13;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`line`,{x1:n===0?84:S(n-1)+K,y1:i,x2:r-2,y2:o,className:`ht-chain`,markerEnd:p}),(0,_.jsx)(`rect`,{x:r,y:a,width:K,height:Yi,rx:4,className:s}),(0,_.jsx)(`text`,{x:r+K/2,y:a+Yi/2+5,textAnchor:`middle`,className:`ht-node-text`,style:{fontSize:u},...d?{textLength:K-12,lengthAdjust:`spacingAndGlyphs`}:{},children:l})]},`node-${t}-${n}`)}),(()=>{let n=e.length===0?92:S(e.length-1)+K+Xi,r=x(t)-9;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`line`,{x1:e.length===0?84:S(e.length-1)+K,y1:i,x2:n-2,y2:i,className:`ht-chain`,markerEnd:p}),(0,_.jsx)(`rect`,{x:n,y:r,width:Zi,height:18,rx:3,className:`ht-null`}),(0,_.jsx)(`text`,{x:n+Zi/2,y:r+13,textAnchor:`middle`,className:`ht-null-text`,children:`∅`})]},`null-${t}`)})()]},`bucket-${t}`)})]})}),l&&(0,_.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(l)})]})}var ra=34,ia=26,aa=22,oa=18,sa=22,ca=16;function la(e,t){let n=t.length>0&&t.every(e=>e===1),r=t.some(e=>e===1),i=t.reduce((e,t)=>e+t,0)%2==1;switch(e){case`AND`:return+!!n;case`NAND`:return+!n;case`OR`:return+!!r;case`NOR`:return+!r;case`XOR`:return+!!i;case`XNOR`:return+!i;case`NOT`:return t[0]===1?0:1;default:return 0}}function ua(e){let t=e===`NOT`||e===`NAND`||e===`NOR`||e===`XNOR`,n=e===`NAND`?`AND`:e===`NOR`?`OR`:e===`XNOR`?`XOR`:e,r=aa/2,i=oa/2,a;return a=n===`AND`||e===`NOT`?e===`NOT`?(0,_.jsx)(`polygon`,{points:`-11,-9 -11,${i} ${r-2},0`,fill:`none`}):(0,_.jsx)(`path`,{d:`M -11,-9 L 0,-9 A ${i},${i} 0 0 1 0,${i} L -11,${i} Z`,fill:`none`}):(0,_.jsxs)(_.Fragment,{children:[(n===`XOR`||e===`XOR`)&&(0,_.jsx)(`path`,{d:`M -14,-9 Q -9,0 -14,${i}`,fill:`none`}),(0,_.jsx)(`path`,{d:`${`M -11,-9 Q -6,0 -11,${i}`} Q -2,${i} ${r-1},0 Q -2,-9 -11,-9 Z`,fill:`none`})]}),(0,_.jsxs)(`g`,{className:`dg-lg-gate-body`,children:[a,t&&(0,_.jsx)(`circle`,{cx:12.4,cy:0,r:1.6,fill:`none`,className:`dg-lg-bubble`})]})}var da=e=>e===1?`dg-lg-wire on`:`dg-lg-wire`,fa=3.1,pa=10;function ma(e){return e.length>pa?e.slice(0,pa-1).trimEnd()+`…`:e}function ha({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,inputs:r,gates:o,output:s,truth:c,caption:l,footer:u,delay:d}){let f=i[t]||i.share,p=`dg-lg-${(0,g.useId)().replace(/:/g,``)}`,{placed:m,viewW:h,viewH:v,outValue:y,outY:b,outLabel:x,outX:S}=(0,g.useMemo)(()=>{let e=new Map,t=new Map(o.map(e=>[e.id,e]));r.forEach((t,n)=>{e.set(t.id,{id:t.id,x:sa,y:ca+n*ia,value:t.value??0})});let n=new Map,i=new Set,a=e=>{if(n.has(e))return n.get(e);let r=t.get(e);if(!r||i.has(e))return 0;i.add(e);let o=1+Math.max(0,...r.inputs.map(e=>a(e)));return i.delete(e),n.set(e,o),o},c=0;for(let e of o)c=Math.max(c,a(e.id));let l=new Map;for(let e of o){let t=a(e.id);l.has(t)||l.set(t,[]),l.get(t).push(e)}for(let t=1;t<=c;t++)(l.get(t)??[]).forEach((n,r)=>{let i=n.inputs.map(t=>e.get(t)?.value??0),a=la(n.kind,i);e.set(n.id,{id:n.id,x:sa+t*ra,y:ca+r*ia+t%2*4,value:a})});let u=Math.max(r.length,...[...l.values()].map(e=>e.length),1),d=ma(s?.label??`Y`),f=d.length*fa/2,p=sa+(c+1)*ra+14,m=p+Math.max(0,f-6),h=ca*2+u*ia,g=p-8,_=s?e.get(s.from):void 0;return{placed:e,viewW:m,viewH:h,outValue:_?.value??0,outY:_?.y??ca,outLabel:d,outX:g}},[r,o,s]),C=r.map(e=>e.value??0).join(``),w=c?.findIndex(e=>e.row.join(``)===C)??-1;return(0,_.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(d||0)+`ms`},children:[e&&(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(f,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsxs)(`div`,{className:`dg-lg`+(c&&c.length?` has-truth`:``),children:[(0,_.jsx)(`div`,{className:`dg-lg-circuit`,children:(0,_.jsxs)(`svg`,{viewBox:`0 0 ${h} ${v}`,className:`dg-lg-svg`,role:`img`,"aria-label":e||`logic circuit`,children:[(0,_.jsx)(`defs`,{children:(0,_.jsx)(`marker`,{id:p,markerWidth:`5`,markerHeight:`5`,refX:`4`,refY:`2.5`,orient:`auto`,children:(0,_.jsx)(`path`,{d:`M0,0 L5,2.5 L0,5 Z`,className:`dg-lg-arrowhead`})})}),o.map(e=>{let t=m.get(e.id);if(!t)return null;let n=e.kind===`NOT`?1:e.inputs.length;return e.inputs.slice(0,n).map((r,i)=>{let a=m.get(r);if(!a)return null;let o=t.y+(i-(n-1)/2)*(oa/Math.max(2,n+.5)),s=t.x-aa/2;return(0,_.jsx)(`polyline`,{points:`${a.x+3},${a.y} ${(a.x+s)/2},${a.y} ${(a.x+s)/2},${o} ${s},${o}`,className:da(a.value),fill:`none`},`${e.id}-${r}-${i}`)})}),s&&m.get(s.from)&&(()=>{let e=m.get(s.from),t=S;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`polyline`,{points:`${e.x+aa/2+2},${e.y} ${t},${e.y} ${t},${b}`,className:da(y),fill:`none`,markerEnd:`url(#${p})`}),(0,_.jsx)(`text`,{x:t,y:b-4,className:`dg-lg-pin`,textAnchor:`middle`,children:x}),(0,_.jsx)(`text`,{x:t,y:b+9,className:`dg-lg-bit`+(y?` on`:``),textAnchor:`middle`,children:y})]})})(),r.map(e=>{let t=m.get(e.id);if(!t)return null;let n=e.value??0;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`text`,{x:t.x-16,y:t.y+3,className:`dg-lg-in-lbl`,textAnchor:`start`,children:e.label}),(0,_.jsx)(`circle`,{cx:t.x,cy:t.y,r:3.4,className:`dg-lg-pad`+(n?` on`:``)}),(0,_.jsx)(`text`,{x:t.x,y:t.y+2.4,className:`dg-lg-bit`+(n?` on`:``),textAnchor:`middle`,children:n})]},e.id)}),o.map(e=>{let t=m.get(e.id);return t?(0,_.jsxs)(`g`,{transform:`translate(${t.x} ${t.y})`,children:[ua(e.kind),(0,_.jsx)(`text`,{x:0,y:15,className:`dg-lg-glbl`,textAnchor:`middle`,children:e.kind})]},e.id):null})]})}),c&&c.length>0&&(0,_.jsx)(`div`,{className:`dg-lg-truth-wrap`,children:(0,_.jsxs)(`table`,{className:`dg-lg-truth`,children:[(0,_.jsx)(`thead`,{children:(0,_.jsxs)(`tr`,{children:[r.map(e=>(0,_.jsx)(`th`,{children:e.label},e.id)),(0,_.jsx)(`th`,{className:`dg-lg-out-col`,children:s?.label??`Y`})]})}),(0,_.jsx)(`tbody`,{children:c.map((e,t)=>(0,_.jsxs)(`tr`,{className:t===w?`on`:void 0,children:[e.row.map((e,t)=>(0,_.jsx)(`td`,{className:e?`bit on`:`bit`,children:e},t)),(0,_.jsx)(`td`,{className:`bit dg-lg-out-col`+(e.out?` on`:``),children:e.out})]},t))})]})})]}),l&&(0,_.jsx)(`p`,{className:`dg-lg-cap`,children:l}),u&&(0,_.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(u)})]})}var ga=1e3,_a=90,va=26,ya=62,ba=300,xa=9,Sa=10,Ca=13,wa=13,Ta=16;function Ea(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function Da(e){let t=typeof e==`number`?e:Number(e);return Number.isFinite(t)&&t>0?Math.round(t):0}function Oa(e,t){return t<=0?212:ya+(e+.5)/t*ba}function ka({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,layers:r,connections:o=`dense`,highlight:s,footer:c,delay:l}){let u=i[t]||i.share,d=(0,g.useMemo)(()=>Array.isArray(r)?r:[],[r]),f=(0,g.useMemo)(()=>{let e=d.length;return d.map((t,n)=>{let r=Da(t?.units),i=r>xa,a=i?xa-1:r;return{layer:t,colX:e<=1?ga/2:_a+n/(e-1)*(ga-_a*2),realCount:a,totalUnits:r,hasMore:i,moreCount:i?r-a:0}})},[d]),p=e=>e.realCount+ +!!e.hasMore,m=(0,g.useMemo)(()=>{if(!s||!Number.isInteger(s.layer)||!Number.isInteger(s.unit))return null;let e=f[s.layer];return!e||s.unit<0||s.unit>=e.realCount?null:{layer:s.layer,unit:s.unit}},[s,f]),h=(e,t)=>!!m&&m.layer===e&&m.unit===t,v=(0,g.useMemo)(()=>{let e=[];for(let t=0;t<f.length-1;t++){let n=f[t],r=f[t+1],i=p(n),a=p(r);for(let s=0;s<n.realCount;s++){let c=Oa(s,i);for(let i=0;i<r.realCount;i++){if(o===`sparse`&&Math.abs(s-i)>1)continue;let l=Oa(i,a),u=h(t,s)||h(t+1,i);e.push({x1:n.colX,y1:c,x2:r.colX,y2:l,hi:u})}}}return e.sort((e,t)=>Number(e.hi)-Number(t.hi))},[f,o,m]);return(0,_.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(l||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`dg-stage nn-stage`,children:(0,_.jsxs)(`svg`,{viewBox:`0 0 ${ga} 426`,className:`dg-svg`,role:`img`,"aria-label":e,children:[v.map((e,t)=>(0,_.jsx)(`line`,{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,className:e.hi?`nn-edge nn-edge-hi`:`nn-edge`},t)),f.map((e,t)=>{let n=typeof e.layer?.name==`string`&&e.layer.name?e.layer.name:`Layer ${t+1}`,r=p(e);return(0,_.jsxs)(`g`,{children:[(0,_.jsxs)(`text`,{x:e.colX,y:va,className:`nn-name`,textAnchor:`middle`,children:[n.length>wa&&(0,_.jsx)(`title`,{children:n}),Ea(n,wa)]}),Array.from({length:e.realCount},(n,i)=>(0,_.jsx)(`circle`,{cx:e.colX,cy:Oa(i,r),r:Sa,className:h(t,i)?`nn-node nn-node-hi`:`nn-node`},i)),e.hasMore&&(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`circle`,{cx:e.colX,cy:Oa(e.realCount,r),r:Ca,className:`nn-more-dot`}),(0,_.jsxs)(`text`,{x:e.colX,y:Oa(e.realCount,r)+4,className:`nn-more-label`,textAnchor:`middle`,children:[`+`,e.moreCount]})]}),(0,_.jsxs)(`text`,{x:e.colX,y:388,className:`nn-meta`,textAnchor:`middle`,children:[e.totalUnits,` unit`,e.totalUnits===1?``:`s`]}),e.layer?.activation&&(0,_.jsx)(`text`,{x:e.colX,y:406,className:`nn-meta nn-act`,textAnchor:`middle`,children:Ea(e.layer.activation,Ta)})]},t)})]})}),c&&(0,_.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(c)})]})}var Aa=100,ja=60;function Ma(e){switch(e){case`tank`:return(0,_.jsxs)(`g`,{className:`dg-pip-glyph`,children:[(0,_.jsx)(`rect`,{x:-7,y:-8,width:14,height:16,rx:3,fill:`none`}),(0,_.jsx)(`line`,{x1:-7,y1:3,x2:7,y2:3,className:`dg-pip-fluid`})]});case`pump`:return(0,_.jsxs)(`g`,{className:`dg-pip-glyph`,children:[(0,_.jsx)(`circle`,{cx:0,cy:0,r:7,fill:`none`}),(0,_.jsx)(`line`,{x1:0,y1:0,x2:6,y2:0}),(0,_.jsx)(`line`,{x1:0,y1:0,x2:-3.5,y2:5.5}),(0,_.jsx)(`line`,{x1:0,y1:0,x2:-3.5,y2:-5.5})]});case`valve`:return(0,_.jsxs)(`g`,{className:`dg-pip-glyph`,children:[(0,_.jsx)(`polygon`,{points:`-6,-5 -6,5 0,0`,fill:`none`}),(0,_.jsx)(`polygon`,{points:`6,-5 6,5 0,0`,fill:`none`})]});case`heater`:return(0,_.jsxs)(`g`,{className:`dg-pip-glyph`,children:[(0,_.jsx)(`rect`,{x:-8,y:-6,width:16,height:12,rx:2,fill:`none`}),(0,_.jsx)(`path`,{d:`M -6,0 q 1.5,-4 3,0 t 3,0 t 3,0`,fill:`none`})]});case`filter`:return(0,_.jsxs)(`g`,{className:`dg-pip-glyph`,children:[(0,_.jsx)(`polygon`,{points:`-6,-6 6,-6 0,7`,fill:`none`}),(0,_.jsx)(`line`,{x1:-3.4,y1:-2,x2:3.4,y2:-2,className:`dg-pip-fluid`})]});case`sensor`:return(0,_.jsxs)(`g`,{className:`dg-pip-glyph`,children:[(0,_.jsx)(`circle`,{cx:0,cy:0,r:6.5,fill:`none`}),(0,_.jsx)(`line`,{x1:-6.5,y1:0,x2:6.5,y2:0,className:`dg-pip-thin`})]});case`fitting`:return(0,_.jsx)(`g`,{className:`dg-pip-glyph`,children:(0,_.jsx)(`circle`,{cx:0,cy:0,r:2.4,className:`dg-pip-fill`})});default:return(0,_.jsx)(`g`,{className:`dg-pip-glyph`,children:(0,_.jsx)(`rect`,{x:-7,y:-2.6,width:14,height:5.2,rx:1.4,fill:`none`})})}}function Na({title:e,icon:t=`sliders`,iconColor:n=`var(--insight)`,components:r,lines:o,caption:s,footer:c,delay:l}){let u=i[t]||i.sliders,d=`dg-pip-arrow-${(0,g.useId)().replace(/:/g,``)}`,f=`url(#${d})`,p=(0,g.useMemo)(()=>{let e=Math.max(1,r.length),t=Math.min(e,Math.ceil(Math.sqrt(e)*1.5)),n=Math.ceil(e/t),i=Aa/(t+1),a=ja/(n+1),o={};return r.forEach((e,n)=>{if(e.x!==void 0&&e.y!==void 0)o[e.id]={x:e.x,y:e.y};else{let r=Math.floor(n/t),s=n%t;o[e.id]={x:i*(s+1),y:a*(r+1)}}}),o},[r]);return(0,_.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(l||0)+`ms`},children:[e&&(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`dg-pip`,children:(0,_.jsxs)(`svg`,{viewBox:`-8 -9 116 80`,className:`dg-pip-svg`,role:`img`,"aria-label":e||`piping schematic`,children:[(0,_.jsx)(`defs`,{children:(0,_.jsx)(`marker`,{id:d,markerWidth:`6`,markerHeight:`6`,refX:`4.5`,refY:`3`,orient:`auto`,children:(0,_.jsx)(`path`,{d:`M0,0 L6,3 L0,6 Z`,className:`dg-pip-arrowhead`})})}),o.map((e,t)=>{let n=p[e.from],r=p[e.to];if(!n||!r)return null;let i=r.x,a=n.y;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`polyline`,{points:`${n.x},${n.y} ${i},${a} ${r.x},${r.y}`,className:`dg-pip-line`,fill:`none`,markerEnd:e.flow?f:void 0}),e.size&&(0,_.jsx)(`text`,{x:(n.x+i)/2,y:a-1.8,className:`dg-pip-size`,textAnchor:`middle`,children:e.size})]},t)}),r.map(e=>{let t=p[e.id];return t?(0,_.jsxs)(`g`,{transform:`translate(${t.x} ${t.y})`,children:[Ma(e.kind),e.label&&(0,_.jsx)(`text`,{x:0,y:13.5,className:`dg-pip-lbl`,textAnchor:`middle`,children:e.label})]},e.id):null})]})}),s&&(0,_.jsx)(`p`,{className:`dg-pip-cap`,children:s}),c&&(0,_.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(c)})]})}var Pa=100,Fa=100,q=72,Ia=q-7,La=79,Ra=88,za=102,Ba=11,Va={gene:`var(--presence)`,promoter:`var(--insight)`,terminator:`var(--warning)`,marker:`var(--danger)`},Ha=11;function Ua(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function Wa(e,t){return!Number.isFinite(e)||t<=0?0:(e%t+t)%t}function Ga(e,t){return Wa(e,t)/t*360}function J(e,t){let n=(e-90)*Math.PI/180;return{x:Pa+t*Math.cos(n),y:Fa+t*Math.sin(n)}}function Ka(e){let t=[...e].sort((e,t)=>e.deg-t.deg),n=[],r=null;for(let e of t){let t=r===null||Math.abs(e.deg-r)>=Ba;n.push({...e,r:t?Ra:za}),t&&(r=e.deg)}return n}function qa(e,t=0){return typeof e==`number`&&Number.isFinite(e)?e:t}function Ja({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,sizeBp:r,features:o,sites:s,origin:c,footer:l,delay:u}){let d=i[t]||i.share,f=`pm-arrow-${(0,g.useId)().replace(/:/g,``)}`,p=Number.isFinite(r)&&r>0?r:1,m=(0,g.useMemo)(()=>Array.isArray(o)?o:[],[o]),h=(0,g.useMemo)(()=>Array.isArray(s)?s:[],[s]),v=(0,g.useMemo)(()=>m.map((e,t)=>{let n=Ga(qa(e.startBp),p),r=Ga(qa(e.endBp),p),i=((r-n)%360+360)%360,a=+(i>180),o=J(n,q),s=J(r,q),c=e.kind===`promoter`||e.kind===`terminator`||e.kind===`marker`?e.kind:`gene`,l=typeof e.name==`string`&&e.name?e.name:`Feature ${t+1}`,u=(n+i/2)%360;return{key:`f${t}`,s:o,t:s,large:a,color:Va[c],name:l,midDeg:u,strand:e.strand}}),[m,p]),y=(0,g.useMemo)(()=>h.map((e,t)=>{let n=Ga(qa(e.posBp),p),r=typeof e.name==`string`&&e.name?e.name:`Site ${t+1}`;return{key:`s${t}`,deg:n,name:r,cutsOnce:!!e.cutsOnce}}),[h,p]),b=!!c&&typeof c.name==`string`&&c.name,x=b?Ga(qa(c.posBp),p):0,S=(0,g.useMemo)(()=>Ka([...v.map(e=>({key:e.key,deg:e.midDeg,text:e.name,color:e.color,bold:!0})),...y.map(e=>({key:e.key,deg:e.deg,text:e.name,color:`var(--text-secondary)`,bold:e.cutsOnce})),...b?[{key:`origin`,deg:x,text:c.name,color:`var(--presence)`,bold:!0}]:[]]),[v,y,b,x,c]);return(0,_.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`pm-wrap`,children:(0,_.jsxs)(`svg`,{viewBox:`-20 0 240 200`,className:`pm-svg`,role:`img`,"aria-label":e,children:[(0,_.jsx)(`defs`,{children:(0,_.jsx)(`marker`,{id:f,viewBox:`0 0 10 10`,refX:`7`,refY:`5`,markerWidth:`4.4`,markerHeight:`4.4`,orient:`auto-start-reverse`,children:(0,_.jsx)(`path`,{d:`M0 0 L10 5 L0 10 z`,className:`pm-arrowhead`})})}),(0,_.jsx)(`circle`,{cx:Pa,cy:Fa,r:q,className:`pm-backbone`}),v.map(e=>(0,_.jsx)(`path`,{d:`M ${e.s.x} ${e.s.y} A ${q} ${q} 0 ${e.large} 1 ${e.t.x} ${e.t.y}`,fill:`none`,stroke:e.color,className:`pm-feature`,markerEnd:e.strand===`plus`?`url(#${f})`:void 0,markerStart:e.strand===`minus`?`url(#${f})`:void 0},e.key)),y.map(e=>{let t=J(e.deg,Ia),n=J(e.deg,La);return(0,_.jsx)(`line`,{x1:t.x,y1:t.y,x2:n.x,y2:n.y,className:e.cutsOnce?`pm-tick pm-tick-unique`:`pm-tick`},e.key)}),b&&(()=>{let e=J(x,q);return(0,_.jsx)(`circle`,{cx:e.x,cy:e.y,r:3.2,className:`pm-origin-dot`,"data-mark":`point`})})(),S.map(e=>{let t=J(e.deg,e.r),n=(t.x-Pa)/(e.r||1),r=n>.2?`start`:n<-.2?`end`:`middle`,i=Ua(e.text,Ha);return(0,_.jsxs)(`text`,{x:t.x,y:t.y,textAnchor:r,dominantBaseline:`middle`,className:e.bold?`pm-label pm-label-bold`:`pm-label`,fill:e.color,children:[i!==e.text&&(0,_.jsx)(`title`,{children:e.text}),i]},e.key)}),(0,_.jsx)(`text`,{x:Pa,y:Fa-3,className:`pm-center-size`,textAnchor:`middle`,children:Math.round(p).toLocaleString()}),(0,_.jsx)(`text`,{x:Pa,y:110,className:`pm-center-unit`,textAnchor:`middle`,children:`bp`})]})}),l&&(0,_.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:a(l)})]})}var Ya=20,Xa=54,Za=70,Qa=26,$a=8,eo=63;function to(e){return e<=2?13:e<=3?11:e<=4?9:8}function no(e){let t=0;function n(e,r){if(t>=eo||r>$a||!e||typeof e!=`object`||Array.isArray(e))return null;let i=e;if(!Number.isFinite(i.value)||i.value<=0)return null;t++;let a=Array.isArray(i.children)?i.children.map(e=>n(e,r+1)).filter(e=>e!==null):[];return{value:Math.round(i.value),isPrime:i.isPrime===!0,children:a}}return n(e,0)}function ro(e){let t=0,n=0,r=[],i=[];function a(e,o){if(n=Math.max(n,o),e.children.length===0){let n={value:e.value,isPrime:e.isPrime,isLeaf:!0,slot:t,depth:o};return t++,r.push(n),n}let s=e.children.map(e=>a(e,o+1)),c=s.reduce((e,t)=>e+t.slot,0)/s.length,l={value:e.value,isPrime:e.isPrime,isLeaf:!1,slot:c,depth:o};r.push(l);for(let e of s)i.push({parent:l,child:e});return l}return a(e,0),{nodes:r,edges:i,leafCount:Math.max(1,t),maxDepth:n}}var io={0:`⁰`,1:`¹`,2:`²`,3:`³`,4:`⁴`,5:`⁵`,6:`⁶`,7:`⁷`,8:`⁸`,9:`⁹`};function ao(e){return String(e).split(``).map(e=>io[e]??``).join(``)}function oo(e){let t=new Map;for(let n of e)t.set(n,(t.get(n)??0)+1);return[...t.entries()].sort((e,t)=>e[0]-t[0]).map(([e,t])=>t>1?`${e}${ao(t)}`:`${e}`).join(` × `)}function so({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,number:r,nodes:o,footer:s,delay:c}){let l=i[t]||i.share,u=(0,g.useMemo)(()=>no(Array.isArray(o)&&o.length>0?o[0]:null),[o]),d=(0,g.useMemo)(()=>u?ro(u):null,[u]),f=(0,g.useMemo)(()=>{if(!d||!Number.isFinite(r))return null;let e=d.nodes.filter(e=>e.isLeaf).map(e=>e.value);return e.length===0?null:`${Math.round(r)} = ${oo(e)}`},[d,r]);if(!u||!d)return(0,_.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(c||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`p`,{className:`pft-empty`,children:`No factor tree to diagram.`})]});let p=Math.max(120,d.leafCount*Xa+Qa*2),m=(d.maxDepth+1)*Za+Qa*2,h=e=>Qa+(e+.5)*Xa,v=e=>Qa+e*Za+Ya;return(0,_.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(c||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`dg-stage pft-stage`,children:(0,_.jsxs)(`svg`,{viewBox:`0 0 ${p} ${m}`,className:`dg-svg`,role:`img`,"aria-label":e,preserveAspectRatio:`xMidYMid meet`,children:[d.edges.map((e,t)=>(0,_.jsx)(`line`,{x1:h(e.parent.slot),y1:v(e.parent.depth),x2:h(e.child.slot),y2:v(e.child.depth),className:`pft-edge`},t)),d.nodes.map((e,t)=>{let n=h(e.slot),r=v(e.depth),i=e.value.toString().length;return(0,_.jsxs)(`g`,{transform:`translate(${n} ${r})`,children:[e.isPrime&&(0,_.jsx)(`circle`,{r:24,className:`pft-ring`}),(0,_.jsx)(`circle`,{r:Ya,className:e.isPrime?`pft-node pft-node--prime`:`pft-node`}),(0,_.jsx)(`text`,{textAnchor:`middle`,dominantBaseline:`central`,fontSize:to(i),className:`pft-node-lbl`,children:e.value})]},t)})]})}),f&&(0,_.jsx)(`p`,{className:`pft-cap`,children:f}),s&&(0,_.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(s)})]})}var co=[`var(--presence)`,`var(--insight)`,`var(--warning)`];function lo(e){if(e===0)return`0`;if(e===1)return`1`;let t=e.toPrecision(3);return parseFloat(t).toString()}function uo(e,t){return`P = ${lo(e*t)}`}var fo=560,po=60,mo=200,ho=390,go=fo-10,Y=18,_o=52;function vo(e){let t=e.map(e=>Math.max(1,e.children?.length??0)),n=t.reduce((e,t)=>e+t,0),r=Math.max(180,n*_o+60),i=(r-60)/n,a=0,o=e.map((e,n)=>{let r=t[n],o=co[n%co.length],s=(e.children??[]).map((t,r)=>({y:30+(a+r+.5)*i,branch:e,leaf:t,branchIdx:n,leafIdx:r,color:o})),c=s.length>0?s.reduce((e,t)=>e+t.y,0)/s.length:30+(a+.5)*i;return a+=r,{y:c,branch:e,branchIdx:n,color:o,leaves:s}});return{vbH:r,rootY:r/2,branchPositions:o}}function yo({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,branches:r,note:a,delay:o}){let s=i[t]??i.chart,{vbH:c,rootY:l,branchPositions:u}=vo(r),d=u.some(e=>e.leaves.length>0);return(0,_.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(o??0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(s,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`dg-pt-scroll`,children:(0,_.jsxs)(`svg`,{className:`dg-pt-svg`,viewBox:`0 0 ${fo} ${c}`,width:`100%`,"aria-label":e,role:`img`,children:[(0,_.jsx)(`circle`,{cx:po,cy:l,r:Y,className:`dg-pt-node dg-pt-node--root`}),(0,_.jsx)(`text`,{x:po,y:l+.5,textAnchor:`middle`,dominantBaseline:`middle`,className:`dg-pt-node-lbl`,children:`Start`}),u.map(({y:e,branch:t,branchIdx:n,color:r,leaves:i})=>(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`line`,{x1:78,y1:l,x2:mo-Y,y2:e,className:`dg-pt-edge`,stroke:r}),(0,_.jsx)(`text`,{x:(278-Y)/2,y:(l+e)/2-7,textAnchor:`middle`,className:`dg-pt-edge-lbl`,children:lo(t.prob)}),(0,_.jsx)(`circle`,{cx:mo,cy:e,r:Y,className:`dg-pt-node`,stroke:r}),(0,_.jsx)(`text`,{x:mo,y:e+.5,textAnchor:`middle`,dominantBaseline:`middle`,className:`dg-pt-node-lbl`,children:t.label.length>8?t.label.slice(0,7)+`…`:t.label}),i.length===0&&(0,_.jsx)(`text`,{x:226,y:e+.5,dominantBaseline:`middle`,className:`dg-pt-outcome-lbl`,fill:r,children:uo(1,t.prob)}),i.map(({y:n,leaf:i,leafIdx:a})=>(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`line`,{x1:218,y1:e,x2:ho-Y,y2:n,className:`dg-pt-edge`,stroke:r}),(0,_.jsx)(`text`,{x:(608-Y)/2,y:(e+n)/2-7,textAnchor:`middle`,className:`dg-pt-edge-lbl`,children:lo(i.prob)}),(0,_.jsx)(`circle`,{cx:ho,cy:n,r:Y,className:`dg-pt-node dg-pt-node--leaf`,stroke:r}),(0,_.jsx)(`text`,{x:ho,y:n+.5,textAnchor:`middle`,dominantBaseline:`middle`,className:`dg-pt-node-lbl`,children:i.label.length>8?i.label.slice(0,7)+`…`:i.label}),(0,_.jsx)(`text`,{x:go,y:n+.5,textAnchor:`end`,dominantBaseline:`middle`,className:`dg-pt-outcome-lbl`,fill:r,children:i.outcome??uo(t.prob,i.prob)})]},a))]},n)),(0,_.jsx)(`text`,{x:mo,y:12,textAnchor:`middle`,className:`dg-pt-col-hdr`,children:`Event A`}),d&&(0,_.jsx)(`text`,{x:ho,y:12,textAnchor:`middle`,className:`dg-pt-col-hdr`,children:`Event B`}),d&&(0,_.jsx)(`text`,{x:go,y:12,textAnchor:`end`,dominantBaseline:`auto`,className:`dg-pt-col-hdr`,children:`Outcome`})]})}),a&&(0,_.jsx)(`p`,{className:`dg-pt-note`,children:a})]})}var bo=16,xo=200,So=30,Co=62,wo=24,To=12,Eo=18,Do=32,Oo=12;function ko(e){return Array.isArray(e)?e.map((e,t)=>{if(typeof e==`string`)return{id:`s${t}`,statement:e,from:[]};if(!e||typeof e!=`object`)return{id:`s${t}`,statement:``,from:[]};let n=e;return{id:typeof n.id==`string`&&n.id?n.id:`s${t}`,statement:typeof n.statement==`string`?n.statement:``,rule:typeof n.rule==`string`&&n.rule?n.rule:void 0,from:Array.isArray(n.from)?n.from.filter(e=>typeof e==`string`&&e.length>0):typeof n.from==`string`&&n.from?[n.from]:[]}}):[]}function Ao({title:e,icon:t=`proof`,iconColor:n=`var(--presence)`,steps:r,conclusionId:o,footer:c,delay:l}){let u=i[t]||i.proof,{placed:d,width:f,height:h}=(0,g.useMemo)(()=>{let e=ko(r),t=new Map(e.map(e=>[e.id,e])),n=new Set(e.flatMap(e=>e.from)),i=o&&t.get(o)||[...e].reverse().find(e=>!n.has(e.id))||e[e.length-1];if(!i)return{placed:[],width:0,height:0};let a=0,s=(e,n,r)=>{let i=t.get(e);if(!i||n.has(e)||r>Oo)return null;n.add(e);let o=i.from.map(e=>s(e,n,r+1)).filter(e=>e!==null);n.delete(e),a=Math.max(a,r);let c=o.length===0&&/^\s*\[.*\]\s*$/.test(i.statement),l=p(i.statement||`·`,{maxWidth:xo,fontSize:bo,minFontSize:11,maxLines:2,lineHeight:1.15}),u=Math.max(26,...l.lines.map(e=>m(e,l.fontSize))),d=o.reduce((e,t)=>e+t.subW,0)+So*(o.length-1);return{step:i,children:o,fit:l,assumption:c,w:u,subW:o.length?Math.max(u,d):u,depth:r}},c=s(i.id,new Set,0);if(!c)return{placed:[],width:0,height:0};let l=[],u=(e,t)=>{let n=t+e.subW/2,r=Do+(a-e.depth)*Co,i;if(e.children.length){let a=e.children.reduce((e,t)=>e+t.subW,0)+So*(e.children.length-1),o=t+(e.subW-a)/2,s=e.children.map(e=>{let t=u(e,o);return o+=e.subW+So,t}),c=[n-e.w/2,...s.map(e=>e.cx-e.node.w/2)],l=[n+e.w/2,...s.map(e=>e.cx+e.node.w/2)];i={x1:Math.min(...c)-8,x2:Math.max(...l)+8,y:r-wo}}let o={node:e,cx:n,cy:r,bar:i};return l.push(o),o};u(c,Eo);let d=Eo+c.subW;for(let e of l)e.bar&&e.node.step.rule&&(d=Math.max(d,e.bar.x2+8+m(e.node.step.rule,To)));return{placed:l,width:d+Eo,height:Do+a*Co+34}},[r,o]);return(0,_.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(l||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),d.length===0?(0,_.jsx)(s,{message:`No proof steps to draw`}):(0,_.jsx)(`div`,{className:`dg-stage prf-stage`,children:(0,_.jsx)(`svg`,{viewBox:`0 0 ${f} ${h}`,className:`dg-svg prf-svg`,style:{maxWidth:f},role:`img`,"aria-label":e,children:d.map((e,t)=>{let{fit:n}=e.node,r=e.cy-(n.lines.length-1)*n.lineHeightPx/2;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`text`,{className:e.node.assumption?`prf-stmt prf-assume`:`prf-stmt`,textAnchor:`middle`,fontSize:n.fontSize,children:n.lines.map((t,i)=>(0,_.jsx)(`tspan`,{x:e.cx,y:r+i*n.lineHeightPx,dominantBaseline:`middle`,children:t},i))}),e.bar&&(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)(`line`,{className:`prf-bar`,x1:e.bar.x1,y1:e.bar.y,x2:e.bar.x2,y2:e.bar.y}),e.node.step.rule&&(0,_.jsx)(`text`,{className:`prf-rule`,x:e.bar.x2+8,y:e.bar.y,dominantBaseline:`middle`,fontSize:To,children:e.node.step.rule})]})]},t)})})}),c&&(0,_.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(c)})]})}var jo=100,Mo=4,No=7,Po=13,Fo=11,Io=4.2,Lo=5,Ro=.62;function zo(e,t){return e.length>t?e.slice(0,Math.max(1,t-1)).trimEnd()+`…`:e}function Bo(e,t){return Math.max(2,Math.floor(e*.92/(t*Ro)))}function Vo({title:e,icon:t=`layers`,iconColor:n=`var(--presence)`,layers:r,packet:o,caption:s,footer:c,delay:l}){let u=i[t]??i.layers,[d,f]=(0,g.useState)(null),p=(0,g.useMemo)(()=>{let e=o??[],t=e.length;if(t===0)return null;let n=Math.max(No,Math.min(Po,(jo-Mo*2)/2/Math.max(1,t))),r=Math.min(Fo,n-2);return e.map((e,i)=>{let a=Mo+i*n,o=Math.max(0,jo-a*2),s=i===t-1,c=Bo(o,s?Lo:Io);return{key:`${e.header}-${i}`,header:e.header,layer:e.layer,x:a,y:a,size:o,labelH:r,inner:s,maxChars:c,depth:i}})},[o]);return(0,_.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(l??0)+`ms`},children:[e&&(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsxs)(`div`,{className:`pst-grid`+(p?``:` pst-grid--solo`),children:[(0,_.jsx)(`ol`,{className:`pst-stack`,"aria-label":`Protocol layers, top to bottom`,children:r.map((e,t)=>(0,_.jsxs)(`li`,{className:`pst-band`+(d===e.name?` on`:``),style:{"--pst-i":t},onMouseEnter:()=>f(e.name),onMouseLeave:()=>f(null),children:[(0,_.jsx)(`span`,{className:`pst-band-num`,children:r.length-t}),(0,_.jsxs)(`div`,{className:`pst-band-body`,children:[(0,_.jsx)(`span`,{className:`pst-band-name`,children:e.name}),e.role&&(0,_.jsx)(`span`,{className:`pst-band-role`,children:e.role}),e.protocols&&e.protocols.length>0&&(0,_.jsx)(`span`,{className:`pst-chips`,children:e.protocols.map((e,t)=>(0,_.jsx)(`span`,{className:`pst-chip`,children:e},e+t))})]})]},e.name+t))}),p&&(0,_.jsxs)(`figure`,{className:`pst-encaps`,children:[(0,_.jsx)(`figcaption`,{className:`pst-encaps-cap`,children:`Encapsulation`}),(0,_.jsx)(`svg`,{viewBox:`0 0 ${jo} ${jo}`,className:`pst-encaps-svg`,role:`img`,"aria-label":`Packet encapsulation: each layer wraps the one inside it`,children:p.map(e=>{let t=e.layer!=null&&d===e.layer;return(0,_.jsxs)(`g`,{className:`pst-box`+(e.inner?` pst-box--inner`:``)+(t?` on`:``),onMouseEnter:()=>e.layer&&f(e.layer),onMouseLeave:()=>f(null),children:[(0,_.jsx)(`rect`,{x:e.x,y:e.y,width:e.size,height:e.size,rx:2.4}),e.inner?(0,_.jsxs)(`text`,{x:e.x+e.size/2,y:e.y+e.size/2,className:`pst-box-lbl pst-box-lbl--inner`,textAnchor:`middle`,dominantBaseline:`middle`,children:[e.header.length>e.maxChars&&(0,_.jsx)(`title`,{children:e.header}),zo(e.header,e.maxChars)]}):(0,_.jsxs)(`text`,{x:e.x+e.size/2,y:e.y+e.labelH/2+1,className:`pst-box-lbl`,textAnchor:`middle`,dominantBaseline:`middle`,children:[e.header.length>e.maxChars&&(0,_.jsx)(`title`,{children:e.header}),zo(e.header,e.maxChars)]})]},e.key)})}),(0,_.jsxs)(`div`,{className:`pst-flow-note`,children:[(0,_.jsx)(`span`,{className:`pst-flow-arrow`,"aria-hidden":`true`,children:`↓`}),`header added per layer on the way down`]})]})]}),s&&(0,_.jsx)(`p`,{className:`pst-caption`,children:s}),c&&(0,_.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(c)})]})}var Ho=30,Uo=35,Wo=92,Go=108,Ko=220,qo=96,Jo=40,Yo=13;function Xo(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function Zo(e,t){if(t>40||!e||typeof e!=`object`)return{call:typeof e==`string`&&e?e:`call()`};let n=e;return{call:typeof n.call==`string`&&n.call?n.call:`call()`,result:typeof n.result==`string`||typeof n.result==`number`?n.result:void 0,children:Array.isArray(n.children)?n.children.map(e=>Zo(e,t+1)):void 0}}function Qo(e){return!e.children||e.children.length===0}function $o(e){let t=0,n=0,r=(e,i)=>{n=Math.max(n,i);let a=Uo+i*Wo;if(Qo(e)){let n=Ho+t*Go+Go/2;return t+=1,{node:e,x:n,y:a,children:[]}}let o=e.children.map(e=>r(e,i+1));return{node:e,x:(o[0].x+o[o.length-1].x)/2,y:a,children:o}};return{placed:r(e,0),width:Math.max(Ko,t*Go+Ho*2),height:Uo+n*Wo+Jo+30}}function es(e,t=[]){t.push(e);for(let n of e.children)es(n,t);return t}function ts({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,root:r,footer:o,delay:s}){let c=i[t]||i.share,{nodes:l,width:u,height:d}=(0,g.useMemo)(()=>{let{placed:e,width:t,height:n}=$o(Zo(r,0));return{nodes:es(e),width:t,height:n}},[r]);return(0,_.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(s||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(c,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`dg-stage rt-stage`,children:(0,_.jsxs)(`svg`,{viewBox:`0 0 ${u} ${d}`,className:`dg-svg`,role:`img`,"aria-label":e,children:[l.map((e,t)=>e.children.map((n,r)=>(0,_.jsx)(`line`,{x1:e.x,y1:e.y+Jo/2,x2:n.x,y2:n.y-Jo/2,className:`rt-edge`},`e${t}-${r}`))),l.map((e,t)=>{let n=e.node.call;return(0,_.jsxs)(`g`,{transform:`translate(${e.x} ${e.y})`,children:[(0,_.jsx)(`rect`,{x:-96/2,y:-40/2,width:qo,height:Jo,rx:9,className:`rt-box`}),(0,_.jsxs)(`text`,{className:`rt-call`,textAnchor:`middle`,dominantBaseline:`middle`,children:[n.length>Yo&&(0,_.jsx)(`title`,{children:n}),Xo(n,Yo)]}),e.node.result!==void 0&&(0,_.jsxs)(`g`,{transform:`translate(${qo/2-6} ${-40/2-4})`,children:[(0,_.jsx)(`rect`,{x:-20,y:-11,width:40,height:22,rx:11,className:`rt-badge`}),(0,_.jsx)(`text`,{className:`rt-badge-text`,textAnchor:`middle`,dominantBaseline:`middle`,children:Xo(`→${e.node.result}`,8)})]})]},`n${t}`)})]})}),o&&(0,_.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(o)})]})}var ns=10,rs=38,is=132,as=400,os=112,ss=26,cs=16,ls=6.4,us=8,ds=12;function fs(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function ps({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,actors:r,messages:o,footer:s,delay:c}){let l=i[t]||i.share,u=`dg-seq-arrow-${(0,g.useId)().replace(/:/g,``)}`,d=`url(#${u})`,f=(0,g.useRef)(null),[p,m]=(0,g.useState)(0);(0,g.useLayoutEffect)(()=>{let e=f.current;if(!e||typeof ResizeObserver>`u`)return;let t=new ResizeObserver(t=>{let n=t[0]?.contentRect.width??e.offsetWidth;m(e=>Math.abs(e-n)<1?e:n)});return t.observe(e),()=>t.disconnect()},[]);let{lanes:h,width:v,height:y}=(0,g.useMemo)(()=>{let e=Math.max(1,r.length),t=p>0?Math.min(as,Math.max(is,p/e)):is,n=e*t,i=r.map((e,n)=>(n+.5)*t),a={};return r.forEach((e,t)=>a[e.id]=i[t]),{lanes:{x:i,map:a},width:n,height:44+o.length*rs+14}},[r,o.length,p]);return(0,_.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(c||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`dg-seq`,ref:f,children:(0,_.jsxs)(`svg`,{viewBox:`0 0 ${v} ${y}`,className:`dg-seq-svg`,style:{maxWidth:`${v}px`},preserveAspectRatio:`xMidYMin meet`,role:`img`,"aria-label":e,children:[r.map((e,t)=>(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`line`,{x1:h.x[t],y1:44,x2:h.x[t],y2:y-8,className:`dg-seq-life`}),(0,_.jsx)(`rect`,{x:h.x[t]-os/2,y:ns,width:os,height:ss,rx:5,className:`dg-seq-actorbox`}),(0,_.jsxs)(`text`,{x:h.x[t],y:27,className:`dg-seq-actor`,textAnchor:`middle`,children:[e.label.length>cs&&(0,_.jsx)(`title`,{children:e.label}),fs(e.label,cs)]})]},e.id)),o.map((e,t)=>{let n=44+t*rs+20,r=h.map[e.from]??0,i=h.map[e.to]??r;if(e.self)return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`path`,{d:`M ${r} ${n} h 16 v 12 h -16`,className:`dg-seq-msg`+(e.reply?` reply`:``),fill:`none`,markerEnd:d}),(0,_.jsxs)(`text`,{x:r+22,y:n-3,className:`dg-seq-lbl`,textAnchor:`start`,children:[e.label.length>ds&&(0,_.jsx)(`title`,{children:e.label}),fs(e.label,ds)]})]},t);let a=i>=r?1:-1,o=Math.max(us,Math.floor((Math.abs(i-r)-24)/ls));return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`line`,{x1:r,y1:n,x2:i-a*5,y2:n,className:`dg-seq-msg`+(e.reply?` reply`:``),markerEnd:d}),(0,_.jsxs)(`text`,{x:(r+i)/2,y:n-5,className:`dg-seq-lbl`,textAnchor:`middle`,children:[e.label.length>o&&(0,_.jsx)(`title`,{children:e.label}),fs(e.label,o)]})]},t)}),(0,_.jsx)(`defs`,{children:(0,_.jsx)(`marker`,{id:u,markerWidth:`7`,markerHeight:`7`,refX:`5.5`,refY:`3`,orient:`auto`,children:(0,_.jsx)(`path`,{d:`M0,0 L6,3 L0,6 Z`,className:`dg-seq-arrowhead`})})})]})}),s&&(0,_.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(s)})]})}var ms=[600,250,80],hs=[`1×`,`2×`,`4×`];function gs(e,t){return e?e.sorted?.includes(t)?`sorted`:e.pivot===t?`pivot`:e.compared?.includes(t)?`compared`:e.swapped?.includes(t)?`swapped`:`default`:`default`}function _s(e){return e?{"o-1":`O(1)`,"o-logn":`O(log n)`,"o-n":`O(n)`,"o-nlogn":`O(n log n)`,"o-n2":`O(n²)`,"o-2n":`O(2ⁿ)`}[e]??e:``}function vs({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,algorithm:r,complexity:o,values:s,steps:c,footer:l,delay:u}){let d=i[t]??i.chart,f=c.length,[p,m]=(0,g.useState)(0),[h,v]=(0,g.useState)(!1),[y,b]=(0,g.useState)(1),x=(0,g.useRef)(null),S=c[Math.min(p,f-1)],C=S?.values??s,w=Math.max(1,...C.map(e=>Math.abs(e))),T=c.slice(0,p+1).reduce((e,t)=>({cmp:e.cmp+ +!!t.compared?.length,swap:e.swap+ +!!t.swapped?.length}),{cmp:0,swap:0}),E=(0,g.useCallback)(e=>m(Math.min(f-1,Math.max(0,e))),[f]);return(0,g.useEffect)(()=>{if(!h){x.current&&clearTimeout(x.current);return}if(p>=f-1){v(!1);return}return x.current=setTimeout(()=>m(e=>Math.min(f-1,e+1)),ms[y]),()=>{x.current&&clearTimeout(x.current)}},[h,p,f,y]),(0,_.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u??0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`dg-sv-header`,children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,style:{marginBottom:0},children:[(0,_.jsx)(d,{className:`ic`,style:{color:n}}),e??r]}),(0,_.jsxs)(`div`,{className:`dg-sv-badges`,children:[o&&(0,_.jsx)(`span`,{className:`dg-sv-badge`,children:_s(o)}),(0,_.jsxs)(`span`,{className:`dg-sv-badge dg-sv-ops`,children:[T.cmp,` cmp · `,T.swap,` swap`]})]})]}),(0,_.jsx)(`p`,{className:`dg-at-caption`,"aria-live":`polite`,children:S?.caption??``}),(0,_.jsx)(`div`,{className:`dg-sv-bars`,"aria-label":`sorting visualization`,role:`img`,children:C.map((e,t)=>{let n=gs(S,t),r=Math.round(Math.abs(e)/w*100);return(0,_.jsxs)(`div`,{className:`dg-sv-bar-wrap`,children:[(0,_.jsx)(`div`,{className:`dg-sv-bar role-${n}`,style:{height:`${r}%`},"aria-label":String(e)}),C.length<=16&&(0,_.jsx)(`span`,{className:`dg-sv-val`,style:{display:`inline-block`,maxWidth:`100%`,overflow:`hidden`,textOverflow:`ellipsis`},children:e})]},t)})}),(0,_.jsxs)(`div`,{className:`dg-at-controls`,children:[(0,_.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>{v(!1),E(p-1)},disabled:p===0,"aria-label":`previous step`,children:[(0,_.jsx)(i.chevL,{className:`ic`}),` Prev`]}),(0,_.jsx)(`button`,{type:`button`,className:`dg-at-btn dg-sv-play`,onClick:()=>{p>=f-1?(m(0),v(!0)):v(e=>!e)},"aria-label":h?`pause`:`play`,children:h?`⏸`:p>=f-1?`↺`:`▶`}),(0,_.jsxs)(`div`,{className:`dg-at-progress`,"aria-hidden":`true`,children:[c.length<=30&&c.map((e,t)=>(0,_.jsx)(`span`,{className:`dg-at-dot`+(t===p?` on`:t<p?` done`:``)},t)),c.length>30&&(0,_.jsxs)(`span`,{className:`dg-sv-step-count`,children:[p+1,` / `,f]})]}),(0,_.jsx)(`button`,{type:`button`,className:`dg-at-btn dg-sv-speed`,onClick:()=>b(e=>(e+1)%3),"aria-label":`speed: ${hs[y]}`,children:hs[y]}),(0,_.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>{v(!1),E(p+1)},disabled:p>=f-1,"aria-label":`next step`,children:[`Next `,(0,_.jsx)(i.chevR,{className:`ic`})]})]}),l&&(0,_.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(l)})]})}var ys=22,bs=52,xs=20,Ss=[700,280,80],Cs=[`1×`,`2×`,`8×`];function ws({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,algorithm:r,steps:o,footer:s,delay:c}){let l=i[t]??i.share,u=Math.max(1,o.length),[d,f]=(0,g.useState)(0),[p,m]=(0,g.useState)(!1),[h,v]=(0,g.useState)(1),y=(0,g.useRef)(d);y.current=d;let b=(0,g.useRef)(typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches),x=(0,g.useCallback)(e=>{m(!1),f(Math.min(u-1,Math.max(0,e)))},[u]),S=(0,g.useCallback)(()=>{b.current||m(e=>(!e&&y.current>=u-1&&f(0),!e))},[u]);(0,g.useEffect)(()=>{if(!p)return;let e=setInterval(()=>{let e=y.current+1;if(e>=u){m(!1);return}f(e)},Ss[h]);return()=>clearInterval(e)},[p,u,h]);let C=o[Math.min(d,u-1)],w=C?.grid??[],T=Math.min(xs,w.length),E=Math.min(xs,w[0]?.length??0),D=w.slice(0,T).reduce((e,t)=>e+t.slice(0,E).filter(e=>e.state===`queued`).length,0),O=w.slice(0,T).reduce((e,t)=>e+t.slice(0,E).filter(e=>e.state===`visited`||e.state===`path`).length,0),k=w.some(e=>e.some(e=>e.value!==void 0));return(0,_.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(c??0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(l,{className:`ic`,style:{color:n}}),e??(r?`${r} on a Grid`:`Grid Trace`),r&&(0,_.jsx)(`span`,{className:`gt2-algo-badge`,children:r})]}),(0,_.jsx)(`p`,{className:`dg-at-caption`,"aria-live":`polite`,children:C?.caption??``}),(0,_.jsx)(`div`,{className:`gt2-grid`,style:{"--gt2-cols":E,"--gt2-cell":`clamp(${ys}px, calc((100% - 8px) / ${E}), ${bs}px)`},role:`img`,"aria-label":e??`grid`,children:w.slice(0,T).map((e,t)=>e.slice(0,E).map((e,n)=>(0,_.jsx)(`div`,{className:`gt2-cell gt2-${e.state}`,title:`[${t},${n}]${e.value===void 0?``:` = ${e.value}`}`,children:k&&e.value!==void 0&&(0,_.jsx)(`span`,{className:`gt2-cell-val`,children:e.value})},`${t}-${n}`)))}),(0,_.jsxs)(`div`,{className:`gt2-stats`,children:[(0,_.jsxs)(`span`,{className:`gt2-stat`,children:[(0,_.jsx)(`span`,{className:`gt2-dot gt2-dot-queued`}),D,` queued`]}),(0,_.jsxs)(`span`,{className:`gt2-stat`,children:[(0,_.jsx)(`span`,{className:`gt2-dot gt2-dot-visited`}),O,` visited`]})]}),(0,_.jsxs)(`div`,{className:`dg-at-controls`,children:[(0,_.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>x(d-1),disabled:d===0,"aria-label":`previous step`,children:[(0,_.jsx)(i.chevL,{className:`ic`}),` Prev`]}),!b.current&&(0,_.jsx)(`button`,{type:`button`,className:`dg-at-btn dg-at-play`+(p?` playing`:``),onClick:S,"aria-label":p?`pause`:`play`,children:p?(0,_.jsx)(i.pause,{className:`ic`}):(0,_.jsx)(i.play,{className:`ic`})}),!b.current&&(0,_.jsx)(`button`,{type:`button`,className:`dg-at-btn dg-at-speed`,onClick:()=>v(e=>(e+1)%3),"aria-label":`speed: ${Cs[h]}`,children:Cs[h]}),(0,_.jsx)(`div`,{className:`dg-at-progress`,"aria-hidden":`true`,children:u<=30&&o.map((e,t)=>(0,_.jsx)(`span`,{className:`dg-at-dot`+(t===d?` on`:t<d?` done`:``)},t))}),(0,_.jsxs)(`span`,{className:`dg-at-count`,children:[d+1,` / `,u]}),(0,_.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>x(d+1),disabled:d>=u-1,"aria-label":`next step`,children:[`Next `,(0,_.jsx)(i.chevR,{className:`ic`})]})]}),s&&(0,_.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(s)})]})}var Ts=100;function Es({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,states:r,transitions:a,footer:o,delay:s}){let d=i[t]||i.share,[f,p]=(0,g.useState)(null),m=`dg-sm-arrow-${(0,g.useId)().replace(/:/g,``)}`,h=`url(#${m})`,v=(0,g.useMemo)(()=>{let e=u(Math.max(1,r.length),Ts/2,Ts/2),t={};return r.forEach((n,r)=>{t[n.id]=n.x!==void 0&&n.y!==void 0?{x:n.x,y:n.y}:e[r]}),t},[r]),y=l(r.length),b=(0,g.useMemo)(()=>c(a,v,y),[a,v,y]),x=(0,g.useMemo)(()=>{let e=r.map(e=>v[e.id]).filter(Boolean);if(e.length===0)return`0 0 ${Ts} ${Ts}`;let t=y+16,n=e.map(e=>e.x),i=e.map(e=>e.y),a=Math.min(...n)-t,o=Math.min(...i)-t;return`${a} ${o} ${Math.max(...n)+t-a} ${Math.max(...i)+t-o}`},[r,v,y]);return(0,_.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(s||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`dg-sm`,onMouseLeave:()=>p(null),children:(0,_.jsxs)(`svg`,{viewBox:x,className:`dg-sm-svg`,role:`img`,"aria-label":e,children:[(0,_.jsx)(`defs`,{children:(0,_.jsx)(`marker`,{id:m,markerWidth:`6`,markerHeight:`6`,refX:`5`,refY:`3`,orient:`auto`,children:(0,_.jsx)(`path`,{d:`M0,0 L6,3 L0,6 Z`,className:`dg-sm-arrowhead`})})}),b.map(e=>(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`path`,{d:e.d,className:`dg-sm-edge`,fill:`none`,markerEnd:h}),e.label&&(0,_.jsx)(`text`,{x:e.lx,y:e.ly,className:`dg-sm-elbl`,textAnchor:e.labelAnchor,children:e.label})]},e.key)),r.map(e=>{let t=v[e.id];return t?(0,_.jsxs)(`g`,{onMouseEnter:()=>p(e.id),className:`dg-sm-state`+(f===e.id?` on`:``),children:[e.start&&(0,_.jsx)(`line`,{x1:t.x-y-7,y1:t.y,x2:t.x-y,y2:t.y,className:`dg-sm-edge`,markerEnd:h}),(0,_.jsx)(`circle`,{cx:t.x,cy:t.y,r:y,className:`dg-sm-circ`}),e.final&&(0,_.jsx)(`circle`,{cx:t.x,cy:t.y,r:y-2.4,className:`dg-sm-circ-inner`}),(0,_.jsx)(`text`,{x:t.x,y:t.y+2.4,className:`dg-sm-lbl`,textAnchor:`middle`,children:e.label})]},e.id):null})]})}),o&&(0,_.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},children:o})]})}var Ds=1e3,Os=88,ks=44,As=104,js=300,Ms={start:`color-mix(in oklab, var(--presence) 16%, var(--surface-elevated-2))`,intermediate:`var(--surface-elevated-2)`,target:`color-mix(in oklab, var(--insight) 18%, var(--surface-elevated-2))`},Ns={start:`var(--presence)`,intermediate:`var(--line-strong)`,target:`var(--insight)`};function Ps(e){return e===`start`||e===`target`?e:`intermediate`}function Fs(e,t){let n=new Map;for(let t of e)n.set(t.id,0);for(let r=0;r<e.length;r++){let r=!1;for(let i of t){if(!n.has(i.from)||!n.has(i.to))continue;let[t,a]=i.direction===`retro`?[i.to,i.from]:[i.from,i.to],o=(n.get(t)??0)+1;o>(n.get(a)??0)&&o<e.length&&(n.set(a,o),r=!0)}if(!r)break}return n}function Is(e,t){if(e.length===0)return js;let n=Fs(e,t),r=new Map;for(let t of e){let e=n.get(t.id)??0;r.set(e,(r.get(e)??0)+1)}let i=r.size>0?Math.max(...r.values()):1,a=ks*2*i+Math.max(0,i-1)*80;return Math.max(js,a+As*2)}function Ls(e,t,n){let r=Ds-As*2,i=n-As*2,a=e=>As+e*r,o=e=>As+e*i,s=e.map(e=>({...e,cx:0,cy:0})),c=new Map(s.map(e=>[e.id,e])),l=Fs(e,t),u=new Map;for(let t of e){let e=l.get(t.id)??0;u.has(e)||u.set(e,[]),u.get(e).push(t)}let d=[...u.keys()].sort((e,t)=>e-t),f=Math.max(1,d.length-1);return d.forEach((e,t)=>{let r=u.get(e),i=d.length===1?Ds/2:a(t/f);r.forEach((e,t)=>{let a=c.get(e.id);a.cx=i,a.cy=r.length===1?n/2:o((t+.5)/r.length)})}),s}function Rs(e,t){let n=t.cx-e.cx,r=t.cy-e.cy,i=Math.atan2(r,n);return{x:t.cx-Math.cos(i)*94,y:t.cy-Math.sin(i)*50}}function zs(e,t){let n=t.cx-e.cx,r=t.cy-e.cy,i=Math.atan2(r,n);return{x:e.cx+Math.cos(i)*94,y:e.cy+Math.sin(i)*50}}function Bs(e,t,n){let r=e.split(/\s+/).filter(Boolean),i=[],a=``,o=!1;for(let e of r){let r=a?`${a} ${e}`:e;if(r.length<=t||!a)a=r;else if(i.push(a),a=e,i.length===n){o=!0,a=``;break}}if(a&&i.length<n&&i.push(a),i.length){let e=i.length-1,n=i[e];n.length>t&&(n=n.slice(0,t-1).trimEnd()),(o||i[e].length>t)&&(n=n.replace(/[…\s]*$/,``)+`…`),i[e]=n}return i.length?i:[``]}function Vs(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}var Hs=21,Us=24;function Ws(e){let t=(0,F.c)(40),{node:n}=e,r;t[0]===n.role?r=t[1]:(r=Ps(n.role),t[0]=n.role,t[1]=r);let i=r,a=typeof n.label==`string`&&n.label?n.label:n.id||`Compound`,o=typeof n.smiles==`string`&&!!n.smiles,s,c,l,u,d,f,p,m;if(t[2]!==o||t[3]!==a||t[4]!==n.cx||t[5]!==n.cy||t[6]!==i){s=Bs(a,16,o?1:2);let e=s.length*Hs;m=n.cy-e/2+Hs*.72-(o?9:0),f=`sr-node`;let r=Ms[i],h=Ns[i],g=i===`intermediate`?1.4:2;t[15]!==n.cx||t[16]!==n.cy||t[17]!==g||t[18]!==r||t[19]!==h?(p=(0,_.jsx)(`ellipse`,{cx:n.cx,cy:n.cy,rx:Os,ry:ks,fill:r,stroke:h,strokeWidth:g}),t[15]=n.cx,t[16]=n.cy,t[17]=g,t[18]=r,t[19]=h,t[20]=p):p=t[20],c=`sr-label`,l=n.cx,u=`middle`;let v;t[21]!==n.cx||t[22]!==m?(v=(e,t)=>(0,_.jsx)(`tspan`,{x:n.cx,y:m+t*Hs,children:e},t),t[21]=n.cx,t[22]=m,t[23]=v):v=t[23],d=s.map(v),t[2]=o,t[3]=a,t[4]=n.cx,t[5]=n.cy,t[6]=i,t[7]=s,t[8]=c,t[9]=l,t[10]=u,t[11]=d,t[12]=f,t[13]=p,t[14]=m}else s=t[7],c=t[8],l=t[9],u=t[10],d=t[11],f=t[12],p=t[13],m=t[14];let h;t[24]!==c||t[25]!==l||t[26]!==u||t[27]!==d?(h=(0,_.jsx)(`text`,{className:c,x:l,textAnchor:u,children:d}),t[24]=c,t[25]=l,t[26]=u,t[27]=d,t[28]=h):h=t[28];let g;t[29]!==o||t[30]!==s||t[31]!==n.cx||t[32]!==n.smiles||t[33]!==m?(g=o&&(0,_.jsx)(`text`,{className:`sr-smiles`,x:n.cx,y:m+s.length*Hs+4,textAnchor:`middle`,children:Vs(n.smiles,Us)}),t[29]=o,t[30]=s,t[31]=n.cx,t[32]=n.smiles,t[33]=m,t[34]=g):g=t[34];let v;return t[35]!==f||t[36]!==p||t[37]!==h||t[38]!==g?(v=(0,_.jsxs)(`g`,{className:f,children:[p,h,g]}),t[35]=f,t[36]=p,t[37]=h,t[38]=g,t[39]=v):v=t[39],v}function Gs(e){let t=(0,F.c)(33),{a:n,b:r,edge:i,forwardArrow:a,retroArrow:o}=e,s=i.direction===`retro`,c;t[0]!==n||t[1]!==r?(c=zs(n,r),t[0]=n,t[1]=r,t[2]=c):c=t[2];let l=c,u;t[3]!==n||t[4]!==r?(u=Rs(n,r),t[3]=n,t[4]=r,t[5]=u):u=t[5];let d=u,f=(l.x+d.x)/2,p=(l.y+d.y)/2,m=d.x-l.x,h=d.y-l.y,g;t[6]!==m||t[7]!==h?(g=Math.hypot(m,h)||1,t[6]=m,t[7]=h,t[8]=g):g=t[8];let v=g,y=Math.min(36,v*.05),b=f-h/v*y,x=p+m/v*y,S;t[9]!==i.conditions||t[10]!==i.reagents?(S=[i.reagents,i.conditions].filter(Ks),t[9]=i.conditions,t[10]=i.reagents,t[11]=S):S=t[11];let C=S.join(`, `),w;t[12]===i.yieldPct?w=t[13]:(w=Number.isFinite(i.yieldPct),t[12]=i.yieldPct,t[13]=w);let T=w,E;t[14]!==i.yieldPct||t[15]!==T?(E=T?`${Math.round(Math.max(0,Math.min(100,i.yieldPct)))}%`:``,t[14]=i.yieldPct,t[15]=T,t[16]=E):E=t[16];let D=E,O=`M ${l.x} ${l.y} Q ${b} ${x} ${d.x} ${d.y}`,k=s?`sr-line sr-line-retro`:`sr-line`,A=`url(#${s?o:a})`,j;t[17]!==O||t[18]!==k||t[19]!==A?(j=(0,_.jsx)(`path`,{d:O,fill:`none`,className:k,markerEnd:A}),t[17]=O,t[18]=k,t[19]=A,t[20]=j):j=t[20];let M;t[21]!==C||t[22]!==b||t[23]!==x?(M=C&&(0,_.jsx)(`text`,{className:`dg-edge-label`,x:b,y:x-12,textAnchor:`middle`,children:Vs(C,28)}),t[21]=C,t[22]=b,t[23]=x,t[24]=M):M=t[24];let N;t[25]!==b||t[26]!==x||t[27]!==D?(N=D&&(0,_.jsx)(`text`,{className:`sr-yield`,x:b,y:x+22,textAnchor:`middle`,children:D}),t[25]=b,t[26]=x,t[27]=D,t[28]=N):N=t[28];let P;return t[29]!==j||t[30]!==M||t[31]!==N?(P=(0,_.jsxs)(`g`,{className:`sr-edge`,children:[j,M,N]}),t[29]=j,t[30]=M,t[31]=N,t[32]=P):P=t[32],P}function Ks(e){return typeof e==`string`&&e}function qs({title:e,icon:t=`spark`,iconColor:n=`var(--presence)`,nodes:r,edges:o,footer:s,delay:c}){let l=i[t]||i.spark,u=(0,g.useId)().replace(/:/g,``),d=`sr-arrow-fwd-${u}`,f=`sr-arrow-retro-${u}`,p=(0,g.useMemo)(()=>Array.isArray(r)?r:[],[r]),m=(0,g.useMemo)(()=>Array.isArray(o)?o:[],[o]),h=(0,g.useMemo)(()=>Is(p,m),[p,m]),v=(0,g.useMemo)(()=>Ls(p,m,h),[p,m,h]),y=(0,g.useMemo)(()=>new Map(v.map(e=>[e.id,e])),[v]);return(0,_.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(c||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`dg-stage sr-stage`,children:(0,_.jsxs)(`svg`,{className:`dg-svg`,viewBox:`0 0 ${Ds} ${h}`,preserveAspectRatio:`xMidYMid meet`,role:`img`,"aria-label":e,children:[(0,_.jsxs)(`defs`,{children:[(0,_.jsx)(`marker`,{id:d,viewBox:`0 0 10 10`,refX:`8`,refY:`5`,markerWidth:`7`,markerHeight:`7`,orient:`auto-start-reverse`,children:(0,_.jsx)(`path`,{d:`M0 0 L10 5 L0 10 z`,className:`sr-arrowhead-fwd`})}),(0,_.jsx)(`marker`,{id:f,viewBox:`0 0 10 10`,refX:`8`,refY:`5`,markerWidth:`7`,markerHeight:`7`,orient:`auto-start-reverse`,children:(0,_.jsx)(`path`,{d:`M0 0 L10 5 L0 10 z`,className:`sr-arrowhead-retro`})})]}),m.map((e,t)=>{let n=y.get(e.from),r=y.get(e.to);return!n||!r?null:(0,_.jsx)(Gs,{a:n,b:r,edge:e,forwardArrow:d,retroArrow:f},t)}),v.map(e=>(0,_.jsx)(Ws,{node:e},e.id))]})}),s&&(0,_.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(s)})]})}var Js=1e3,Ys=186,Xs=130,X=113,Zs=74,Qs=320,$s=226,ec=720,tc=70,nc=-30,rc={client:`var(--surface-elevated-2)`,loadbalancer:`color-mix(in oklab, var(--presence) 16%, var(--surface-elevated-2))`,service:`var(--surface-elevated-2)`,database:`color-mix(in oklab, var(--insight) 16%, var(--surface-elevated-2))`,cache:`color-mix(in oklab, var(--warning) 16%, var(--surface-elevated-2))`,queue:`color-mix(in oklab, var(--presence-soft) 22%, var(--surface-elevated-2))`,gateway:`color-mix(in oklab, var(--presence) 12%, var(--surface-elevated-2))`,cdn:`color-mix(in oklab, var(--insight) 10%, var(--surface-elevated-2))`},ic={client:`var(--line-strong)`,loadbalancer:`var(--presence)`,service:`var(--line-strong)`,database:`var(--insight)`,cache:`var(--warning)`,queue:`var(--presence-soft)`,gateway:`var(--presence)`,cdn:`var(--insight)`},ac=17,oc=20;function sc(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function cc(e,t){let n=new Map;for(let t of e)n.set(t.id,0);for(let r=0;r<e.length;r++){let r=!1;for(let i of t){if(!n.has(i.from)||!n.has(i.to))continue;let t=(n.get(i.from)??0)+1;t>(n.get(i.to)??0)&&t<e.length&&(n.set(i.to,t),r=!0)}if(!r)break}return n}function lc(e,t){if(e.length===0)return Qs;let n=cc(e,t),r=new Map;for(let t of e){let e=n.get(t.id)??0;r.set(e,(r.get(e)??0)+1)}let i=r.size>0?Math.max(...r.values()):1,a=i*Xs+Math.max(0,i-1)*Zs;return Math.max(Qs,a+X*2)}function uc(e,t){if(e.length===0)return Js;let n=cc(e,t),r=new Set(e.map(e=>n.get(e.id)??0)).size;return Math.max(Js,Math.max(1,r-1)*$s+X*2)}function dc(e,t,n,r){let i=n-X*2,a=r-X*2,o=e=>X+e*i,s=e=>X+e*a,c=e.map(e=>Number.isFinite(e.x)&&Number.isFinite(e.y)?{...e,cx:o(fc(e.x)),cy:s(fc(e.y))}:{...e,cx:0,cy:0}),l=new Map(c.map(e=>[e.id,e])),u=e.filter(e=>!(Number.isFinite(e.x)&&Number.isFinite(e.y))),d=cc(u,t),f=new Map;for(let e of u){let t=d.get(e.id)??0;f.has(t)||f.set(t,[]),f.get(t).push(e)}let p=[...f.keys()].sort((e,t)=>e-t),m=Math.max(1,p.length-1);return p.forEach((e,t)=>{let i=f.get(e),a=p.length===1?n/2:o(t/m);i.forEach((e,t)=>{let n=l.get(e.id);n.cx=a,n.cy=i.length===1?r/2:s((t+.5)/i.length)})}),c}function fc(e){return Math.min(1,Math.max(0,e))}function pc(e,t){let n=(Math.hypot(t.cx-e.cx,t.cy-e.cy)||1)*.4;return{rx:Math.min(99,n),ry:Math.min(71,n)}}function mc(e,t){let n=t.cx-e.cx,r=t.cy-e.cy,i=Math.atan2(r,n),{rx:a,ry:o}=pc(e,t);return{x:t.cx-Math.cos(i)*a,y:t.cy-Math.sin(i)*o}}function hc(e,t){let n=t.cx-e.cx,r=t.cy-e.cy,i=Math.atan2(r,n),{rx:a,ry:o}=pc(e,t);return{x:e.cx+Math.cos(i)*a,y:e.cy+Math.sin(i)*o}}function gc(e){switch(e){case`client`:return(0,_.jsxs)(`g`,{className:`sa-icon`,children:[(0,_.jsx)(`rect`,{x:-9,y:-7,width:18,height:12,rx:1.6}),(0,_.jsx)(`line`,{x1:-4,y1:8,x2:4,y2:8}),(0,_.jsx)(`line`,{x1:0,y1:5,x2:0,y2:8})]});case`gateway`:return(0,_.jsxs)(`g`,{className:`sa-icon`,children:[(0,_.jsx)(`line`,{x1:-7,y1:-8,x2:-7,y2:8}),(0,_.jsx)(`line`,{x1:7,y1:-8,x2:7,y2:8}),(0,_.jsx)(`path`,{d:`M -8 0 L 5 0 L 5 -3.4 L 10 0 L 5 3.4 L 5 0`,className:`sa-icon-fill`})]});case`cdn`:return(0,_.jsxs)(`g`,{className:`sa-icon`,children:[(0,_.jsx)(`line`,{x1:0,y1:-8,x2:-7,y2:6}),(0,_.jsx)(`line`,{x1:0,y1:-8,x2:7,y2:6}),(0,_.jsx)(`line`,{x1:-7,y1:6,x2:7,y2:6}),(0,_.jsx)(`circle`,{cx:0,cy:-8,r:1.8,className:`sa-icon-fill`}),(0,_.jsx)(`circle`,{cx:-7,cy:6,r:1.8,className:`sa-icon-fill`}),(0,_.jsx)(`circle`,{cx:7,cy:6,r:1.8,className:`sa-icon-fill`})]});default:return(0,_.jsxs)(`g`,{className:`sa-icon`,children:[(0,_.jsx)(`rect`,{x:-9,y:-8,width:18,height:16,rx:2}),(0,_.jsx)(`line`,{x1:-9,y1:0,x2:9,y2:0}),(0,_.jsx)(`circle`,{cx:-5,cy:-4,r:1,className:`sa-icon-fill`}),(0,_.jsx)(`circle`,{cx:-5,cy:4,r:1,className:`sa-icon-fill`})]})}}function _c(e,t,n){let r={fill:t,stroke:n,strokeWidth:2.2};switch(e){case`database`:{let e=tc/2-13;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`path`,{d:`M -58 -22 A 58 13 0 0 1 58 -22 L 58 ${e} A 58 13 0 0 1 -58 ${e} Z`,...r}),(0,_.jsx)(`path`,{d:`M -58 -22 A 58 13 0 0 0 58 -22`,fill:`none`,stroke:n,strokeWidth:1.6})]})}case`queue`:return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`rect`,{x:-36,y:-42/2-14,width:100,height:42,rx:8,fill:t,stroke:n,strokeWidth:1.4,opacity:.55}),(0,_.jsx)(`rect`,{x:-43,y:-42/2-7,width:100,height:42,rx:8,fill:t,stroke:n,strokeWidth:1.4,opacity:.78}),(0,_.jsx)(`rect`,{x:-100/2,y:-42/2,width:100,height:42,rx:8,...r})]});case`cache`:return(0,_.jsx)(`rect`,{x:-62/2,y:-62/2,width:62,height:62,rx:14,transform:`rotate(45)`,...r});case`loadbalancer`:return(0,_.jsx)(`polygon`,{points:Array.from({length:6},(e,t)=>{let n=Math.PI/3*t;return`${Math.cos(n)*66},${Math.sin(n)*40}`}).join(` `),...r});default:return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`rect`,{x:-75,y:-70/2,width:Ys-36,height:tc,rx:14,...r}),(0,_.jsx)(`g`,{transform:`translate(0 -6)`,children:gc(e)})]})}}function vc({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,nodes:r,edges:o,footer:s,delay:c}){let l=i[t]||i.share,u=(0,g.useId)().replace(/:/g,``),d=(0,g.useMemo)(()=>Array.isArray(r)?r:[],[r]),f=(0,g.useMemo)(()=>Array.isArray(o)?o:[],[o]),p=(0,g.useMemo)(()=>uc(d,f),[d,f]),m=(0,g.useMemo)(()=>lc(d,f),[d,f]),h=(0,g.useMemo)(()=>dc(d,f,p,m),[d,f,p,m]),v=(0,g.useMemo)(()=>new Map(h.map(e=>[e.id,e])),[h]),y=Math.round(ec*p/Js);return(0,_.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(c||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`dg-stage sa-stage`,style:{maxWidth:y},children:(0,_.jsxs)(`svg`,{className:`dg-svg`,viewBox:`0 0 ${p} ${m}`,preserveAspectRatio:`xMidYMid meet`,role:`img`,"aria-label":e,children:[(0,_.jsx)(`defs`,{children:(0,_.jsx)(`marker`,{id:`sa-arrow-${u}`,viewBox:`0 0 10 10`,refX:`8`,refY:`5`,markerWidth:`7`,markerHeight:`7`,orient:`auto-start-reverse`,children:(0,_.jsx)(`path`,{d:`M0 0 L10 5 L0 10 z`,className:`sa-arrowhead`})})}),f.map((e,t)=>{let n=v.get(e.from),r=v.get(e.to);if(!n||!r)return null;let i=hc(n,r),a=mc(n,r);return(0,_.jsx)(`line`,{className:`sa-edge`,x1:i.x,y1:i.y,x2:a.x,y2:a.y,markerEnd:`url(#sa-arrow-${u})`},t)}),h.map(e=>{let t=e.cy+nc,n=typeof e.label==`string`&&e.label?e.label:e.id||`Node`;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`g`,{transform:`translate(${e.cx} ${t})`,children:_c(e.kind,rc[e.kind]??rc.service,ic[e.kind]??ic.service)}),(0,_.jsxs)(`text`,{x:e.cx,y:t+tc/2+24,className:`sa-label`,textAnchor:`middle`,children:[n.length>ac&&(0,_.jsx)(`title`,{children:n}),sc(n,ac)]}),e.sub&&(0,_.jsx)(`text`,{x:e.cx,y:t+tc/2+44,className:`sa-sub`,textAnchor:`middle`,children:sc(e.sub,oc)})]},e.id)}),f.map((e,t)=>{let n=v.get(e.from),r=v.get(e.to);if(!n||!r)return null;let i=hc(n,r),a=mc(n,r),o=(i.x+a.x)/2,s=(i.y+a.y)/2,c=[e.label,e.protocol].filter(e=>typeof e==`string`&&e).join(` · `);return c?(0,_.jsx)(`text`,{x:o,y:s-8,className:`dg-edge-label`,textAnchor:`middle`,children:sc(c,26)},t):null})]})}),s&&(0,_.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(s)})]})}var yc=156,bc=40,xc=10,Z=14,Sc=20,Cc=22,wc=20,Tc=4,Ec=4,Dc=new Set([`process`,`datastore`,`external-entity`]);function Oc(e){return Dc.has(e)?e:`process`}var kc=new Set([`spoofing`,`tampering`,`repudiation`,`info-disclosure`,`dos`,`elevation`]),Ac={spoofing:`Spoofing`,tampering:`Tampering`,repudiation:`Repudiation`,"info-disclosure":`Info disclosure`,dos:`Denial of service`,elevation:`Elevation of privilege`},jc={spoofing:`S`,tampering:`T`,repudiation:`R`,"info-disclosure":`I`,dos:`D`,elevation:`E`},Mc=16;function Nc(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function Pc(e){return e>0?e*bc+(e-1)*xc:bc}function Fc(e){let t=(0,F.c)(3),{kind:n}=e;switch(n){case`datastore`:{let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,_.jsxs)(`g`,{className:`tm-glyph`,children:[(0,_.jsx)(`line`,{x1:-6,y1:-4,x2:6,y2:-4}),(0,_.jsx)(`line`,{x1:-6,y1:4,x2:6,y2:4})]}),t[0]=e):e=t[0],e}case`external-entity`:{let e;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,_.jsx)(`g`,{className:`tm-glyph`,children:(0,_.jsx)(`rect`,{x:-6,y:-6,width:12,height:12})}),t[1]=e):e=t[1],e}default:{let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,_.jsx)(`g`,{className:`tm-glyph`,children:(0,_.jsx)(`circle`,{r:6})}),t[2]=e):e=t[2],e}}}function Ic({title:e,icon:t=`shield`,iconColor:n=`var(--presence)`,assets:r,boundaries:o,threats:s,footer:c,delay:l}){let u=i[t]||i.shield,d=(0,g.useMemo)(()=>(Array.isArray(r)?r:[]).map((e,t)=>{if(!e||typeof e!=`object`)return null;let n=e,r=typeof n.name==`string`?n.name.trim():``;return r?{id:typeof n.id==`string`&&n.id.trim()?n.id.trim():`asset-${t}`,name:r,kind:Oc(n.kind)}:null}).filter(e=>e!==null),[r]),f=(0,g.useMemo)(()=>(Array.isArray(s)?s:[]).map((e,t)=>{if(!e||typeof e!=`object`)return null;let n=e,r=typeof n.assetId==`string`?n.assetId.trim():``;return r?{key:t,assetId:r,stride:kc.has(n.stride)?n.stride:void 0,mitigation:typeof n.mitigation==`string`?n.mitigation.trim():``,status:n.status===`mitigated`?`mitigated`:`open`}:null}).filter(e=>e!==null),[s]),p=(0,g.useMemo)(()=>new Map(d.map(e=>[e.id,e])),[d]),m=(0,g.useMemo)(()=>{let e=new Set(d.map(e=>e.id));return(Array.isArray(o)?o:[]).map((t,n)=>{if(!t||typeof t!=`object`)return null;let r=typeof t.label==`string`?t.label.trim():``;return r?{label:r,contains:(Array.isArray(t.contains)?t.contains:[]).filter(t=>typeof t==`string`&&e.has(t)),key:n}:null}).filter(e=>e!==null)},[o,d]),h=(0,g.useMemo)(()=>{if(m.length===0)return d.length>0?[{key:`all`,label:null,dashed:!1,assets:d}]:[];let e=new Map;m.forEach((t,n)=>{for(let r of new Set(t.contains)){let t=e.get(r);t?t.push(n):e.set(r,[n])}});let t=m.map(e=>({key:`b-${e.key}`,label:e.label,dashed:!0,assets:[]}));for(let n of d)for(let r of e.get(n.id)??[])t[r].assets.push(n);let n=d.filter(t=>!e.has(t.id));return n.length>0&&t.push({key:`unassigned`,label:`Unboundaried`,dashed:!1,assets:n}),t},[m,d]),{placedLanes:v,chips:y,vbW:b,vbH:x}=(0,g.useMemo)(()=>{let e=Math.max(1,Math.min(Tc,h.length)),t=[];for(let n=0;n<h.length;n+=e)t.push(h.slice(n,n+e));let n=[],r=[],i=wc;for(let e of t){let t=0;for(let n of e){let e=(n.label?Sc:0)+Z*2+Pc(n.assets.length);t=Math.max(t,e)}e.forEach((e,t)=>{let a=e.label?Sc:0,o=a+Z*2+Pc(e.assets.length),s=wc+t*206;n.push({...e,x:s,y:i,w:184,h:o}),e.assets.forEach((e,t)=>{r.push({asset:e,x:s+Z,y:i+a+Z+t*50})})}),i+=t+Cc}return{placedLanes:n,chips:r,vbW:wc*2+e*184+Math.max(0,e-1)*Cc,vbH:Math.max(140,i-Cc+wc)}},[h]),S=(0,g.useMemo)(()=>{let e=new Map;for(let t of f){if(!p.has(t.assetId))continue;let n=e.get(t.assetId)??[];n.push(t),e.set(t.assetId,n)}return e},[f,p]);return(0,_.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(l||0)+`ms`},children:[(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),y.length===0?(0,_.jsx)(`p`,{className:`tm-empty`,children:`No assets to diagram.`}):(0,_.jsx)(`div`,{className:`dg-stage tm-stage`,children:(0,_.jsxs)(`svg`,{viewBox:`0 0 ${b} ${x}`,className:`dg-svg`,role:`img`,"aria-label":e,preserveAspectRatio:`xMidYMid meet`,children:[v.map(e=>(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`rect`,{x:e.x,y:e.y,width:e.w,height:e.h,rx:12,className:e.dashed?`tm-boundary`:`tm-lane-plain`}),e.label&&(0,_.jsx)(`text`,{x:e.x+Z,y:e.y+15,className:`tm-lane-lbl`,children:Nc(e.label,22)}),e.assets.length===0&&(0,_.jsx)(`text`,{x:e.x+e.w/2,y:e.y+e.h/2+4,textAnchor:`middle`,className:`tm-lane-empty`,children:`No assets`})]},e.key)),y.map(e=>{let t=e.x,n=e.y,r=S.get(e.asset.id)??[],i=r.slice(0,Ec),a=r.length-i.length;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`rect`,{x:t,y:n,width:yc,height:bc,rx:9,className:`tm-chip`}),(0,_.jsx)(`g`,{transform:`translate(${t+17} ${n+bc/2})`,children:(0,_.jsx)(Fc,{kind:e.asset.kind})}),(0,_.jsxs)(`text`,{x:t+32,y:n+bc/2+4,className:`tm-chip-lbl`,children:[e.asset.name.length>Mc&&(0,_.jsx)(`title`,{children:e.asset.name}),Nc(e.asset.name,Mc)]}),i.map((e,r)=>(0,_.jsx)(`circle`,{cx:t+yc-9-r*10,cy:n+8,r:3.4,className:e.status===`open`?`tm-mark tm-mark--open`:`tm-mark`,children:(0,_.jsx)(`title`,{children:(e.stride?Ac[e.stride]:`Threat`)+(e.status===`open`?` · open`:` · mitigated`)})},e.key)),a>0&&(0,_.jsxs)(`text`,{x:t+yc-9-i.length*10,y:n+11,textAnchor:`end`,className:`tm-mark-more`,children:[`+`,a]})]},e.asset.id)})]})}),f.length>0&&(0,_.jsx)(`div`,{className:`tm-register`,children:f.map(e=>{let t=p.get(e.assetId);return(0,_.jsxs)(`div`,{className:`tm-row`,children:[(0,_.jsxs)(`div`,{className:`tm-row-head`,children:[(0,_.jsx)(`span`,{className:`tm-row-stride`,title:e.stride?Ac[e.stride]:void 0,children:e.stride?jc[e.stride]:`?`}),(0,_.jsx)(`span`,{className:`tm-row-asset`,children:t?t.name:`Unknown asset`}),(0,_.jsx)(`span`,{className:`tm-row-cat`,children:e.stride?Ac[e.stride]:`Unspecified`}),(0,_.jsx)(`span`,{className:e.status===`open`?`tm-row-status tm-row-status--open`:`tm-row-status tm-row-status--mitigated`,children:e.status===`open`?`Open`:`Mitigated`})]}),(0,_.jsx)(`span`,{className:`tm-row-mitigation`,children:e.mitigation||`—`})]},e.key)})}),c&&(0,_.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(c)})]})}function Lc(e){let t=(0,F.c)(16),{kind:n,name:r,conn:i,text:a}=e,o=`toul-role toul-role--${n}`,s;t[0]===n?s=t[1]:(s={gridArea:n},t[0]=n,t[1]=s);let c;t[2]===i?c=t[3]:(c=i&&(0,_.jsx)(`span`,{className:`toul-role-conn`,children:i}),t[2]=i,t[3]=c);let l;t[4]===r?l=t[5]:(l=(0,_.jsx)(`span`,{className:`toul-role-name`,children:r}),t[4]=r,t[5]=l);let u;t[6]!==c||t[7]!==l?(u=(0,_.jsxs)(`div`,{className:`toul-role-head`,children:[c,l]}),t[6]=c,t[7]=l,t[8]=u):u=t[8];let d;t[9]===a?d=t[10]:(d=(0,_.jsx)(`p`,{className:`toul-role-text`,children:a}),t[9]=a,t[10]=d);let f;return t[11]!==o||t[12]!==s||t[13]!==u||t[14]!==d?(f=(0,_.jsxs)(`div`,{className:o,style:s,children:[u,d]}),t[11]=o,t[12]=s,t[13]=u,t[14]=d,t[15]=f):f=t[15],f}function Rc({title:e,icon:t=`proof`,iconColor:n=`var(--presence)`,claim:r,grounds:o,warrant:s,backing:c,qualifier:l,rebuttal:u,footer:d,delay:f}){let p=i[t]||i.proof;return(0,_.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(f||0)+`ms`},children:[e&&(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(p,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`toul`,children:(0,_.jsxs)(`div`,{className:`toul-grid`,children:[o&&(0,_.jsx)(Lc,{kind:`grounds`,name:`Grounds`,text:o}),s&&(0,_.jsx)(Lc,{kind:`warrant`,name:`Warrant`,conn:`Since`,text:s}),c&&(0,_.jsx)(Lc,{kind:`backing`,name:`Backing`,conn:`On account of`,text:c}),(0,_.jsxs)(`div`,{className:`toul-bridge`,style:{gridArea:`bridge`},"aria-hidden":`true`,children:[(0,_.jsx)(`span`,{className:`toul-so`,children:`so`}),l&&(0,_.jsx)(`span`,{className:`toul-qual`,children:l}),(0,_.jsx)(`span`,{className:`toul-arrow`})]}),r&&(0,_.jsx)(Lc,{kind:`claim`,name:`Claim`,text:r}),u&&(0,_.jsx)(Lc,{kind:`rebuttal`,name:`Rebuttal`,conn:`Unless`,text:u})]})}),d&&(0,_.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(d)})]})}var Q=170,$=24,zc=$*2,Bc=48,Vc=18,Hc=22,Uc=15,Wc=16;function Gc(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function Kc(e,t){if(e.length===0||t.length===0)return{placed:[],connectors:[],columnX:[],W:0,H:0};let n=Math.max(e.length,Math.max(...t.map(e=>e.round))+1),r=new Map;for(let e of t){let t=Math.max(0,Math.round(e.round)),n=r.get(t);n?n.push(e):r.set(t,[e])}for(let e of r.values())e.sort((e,t)=>e.slot-t.slot);let i=e=>40+e*66+zc/2,a=new Map;for(let e of r.get(0)??[])a.set(e.id,i(e.slot));for(let e=1;e<n;e++){let t=new Map((r.get(e-1)??[]).map(e=>[e.slot,e]));for(let n of r.get(e)??[]){let e=t.get(n.slot*2),r=t.get(n.slot*2+1),o=e?a.get(e.id):void 0,s=r?a.get(r.id):void 0,c=o!==void 0&&s!==void 0?(o+s)/2:o??s??i(n.slot);a.set(n.id,c)}}let o=Array.from({length:n},(e,t)=>Vc+t*218),s=[];for(let e=0;e<n;e++)for(let t of r.get(e)??[])s.push({...t,x:o[e],y:a.get(t.id)});let c=[];for(let e=1;e<n;e++){let t=new Map((r.get(e-1)??[]).map(e=>[e.slot,e])),n=o[e-1]+Q,i=n+Bc/2,s=o[e];for(let o of r.get(e)??[]){let e=t.get(o.slot*2),r=t.get(o.slot*2+1),l=a.get(o.id);if(e&&r){let t=a.get(e.id),u=a.get(r.id);c.push({key:`feed-${o.id}`,d:`M ${n} ${t} H ${i} V ${u} H ${n}`}),c.push({key:`stub-${o.id}`,d:`M ${i} ${l} H ${s}`})}else if(e||r){let t=a.get((e??r).id);c.push({key:`feed-${o.id}`,d:`M ${n} ${t} H ${i} V ${l} H ${s}`})}}}let l=Math.max(...s.map(e=>e.y))+zc/2+Vc;return{placed:s,connectors:c,columnX:o,W:Vc+n*Q+(n-1)*Bc+Vc,H:l}}function qc(e){let t=(0,F.c)(4),{d:n,delay:r}=e,i=(0,g.useRef)(null),a;t[0]===r?a=t[1]:(a={delay:r},t[0]=r,t[1]=a),d(i,a);let o;return t[2]===n?o=t[3]:(o=(0,_.jsx)(`path`,{ref:i,d:n,className:`dg-tb-connector`}),t[2]=n,t[3]=o),o}function Jc(e){let t=(0,F.c)(16),{name:n,score:r,rowY:i,isWinner:a,isDecided:o}=e,s=n??(o?`BYE`:`TBD`),c=`dg-tb-name`+(n?a?` dg-tb-name-winner`:o?` dg-tb-name-loser`:``:` dg-tb-name-tbd`),l=`dg-tb-score`+(a?` dg-tb-score-winner`:o?` dg-tb-score-loser`:``),u;t[0]===n?u=t[1]:(u=n&&n.length>Uc&&(0,_.jsx)(`title`,{children:n}),t[0]=n,t[1]=u);let d;t[2]===s?d=t[3]:(d=Gc(s,Uc),t[2]=s,t[3]=d);let f;t[4]!==c||t[5]!==i||t[6]!==u||t[7]!==d?(f=(0,_.jsxs)(`text`,{x:12,y:i,dominantBaseline:`central`,className:c,children:[u,d]}),t[4]=c,t[5]=i,t[6]=u,t[7]=d,t[8]=f):f=t[8];let p;t[9]!==i||t[10]!==r||t[11]!==l?(p=r!==void 0&&(0,_.jsx)(`text`,{x:Q-12,y:i,dominantBaseline:`central`,textAnchor:`end`,className:l,children:r}),t[9]=i,t[10]=r,t[11]=l,t[12]=p):p=t[12];let m;return t[13]!==f||t[14]!==p?(m=(0,_.jsxs)(_.Fragment,{children:[f,p]}),t[13]=f,t[14]=p,t[15]=m):m=t[15],m}function Yc({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,rounds:r,matchups:o,double:s=!1,footer:c,delay:l}){let u=i[t]??i.share,d=(0,g.useMemo)(()=>Kc(r,o),[r,o]);return d.placed.length===0?(0,_.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(l??0)+`ms`},children:[e&&(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`p`,{className:`dg-tb-empty`,children:`No matchups yet.`})]}):(0,_.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(l??0)+`ms`},children:[e&&(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(u,{className:`ic`,style:{color:n}}),` `,e,s&&(0,_.jsx)(`span`,{className:`dg-tb-note`,children:`single-elimination view`})]}),(0,_.jsx)(`div`,{className:`dg-tb-wrap`,children:(0,_.jsxs)(`svg`,{viewBox:`0 0 ${d.W} ${d.H}`,width:`100%`,className:`dg-tb-svg`,role:`img`,"aria-label":e??`tournament bracket`,children:[r.map((e,t)=>d.columnX[t]===void 0?null:(0,_.jsxs)(`text`,{x:d.columnX[t]+Q/2,y:Hc-7,textAnchor:`middle`,className:`dg-tb-round-label`,children:[e.length>Wc&&(0,_.jsx)(`title`,{children:e}),Gc(e,Wc)]},`hdr-${t}`)),d.connectors.map((e,t)=>(0,_.jsx)(qc,{d:e.d,delay:t*45},e.key)),d.placed.map((e,t)=>{let n=e.winner!==void 0,r=e.y-zc/2;return(0,_.jsx)(`g`,{transform:`translate(${e.x} ${r})`,children:(0,_.jsxs)(`g`,{className:`dg-tb-box m-stagger-item m-fade-rise`,style:{"--i":t},children:[(0,_.jsx)(`rect`,{width:Q,height:zc,rx:7,className:`dg-tb-box-bg`}),n&&e.winner===`a`&&(0,_.jsx)(`rect`,{x:1,y:1,width:Q-2,height:$-1,rx:6,className:`dg-tb-row-winner`}),n&&e.winner===`b`&&(0,_.jsx)(`rect`,{x:1,y:$,width:Q-2,height:$-1,rx:6,className:`dg-tb-row-winner`}),(0,_.jsx)(`line`,{x1:0,y1:$,x2:Q,y2:$,className:`dg-tb-divider`}),(0,_.jsx)(Jc,{name:e.a,score:e.scoreA,rowY:$/2,isWinner:n&&e.winner===`a`,isDecided:n}),(0,_.jsx)(Jc,{name:e.b,score:e.scoreB,rowY:36,isWinner:n&&e.winner===`b`,isDecided:n})]})},e.id)})]})}),c&&(0,_.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(c)})]})}var Xc=14,Zc=44,Qc=58,$c=20,el=10,tl=6;function nl(e){let t=0,n={char:``,id:`n0`,children:new Map,isEnd:!1};for(let r of e.slice(0,el)){let e=r.slice(0,tl),i=n;for(let n of e)i.children.has(n)||(t+=1,i.children.set(n,{char:n,id:`n${t}`,children:new Map,isEnd:!1})),i=i.children.get(n);i.isEnd=!0}return n}function rl(e){if(e.children.size===0)return 1;let t=0;for(let n of e.children.values())t+=rl(n);return t}function il(e){let t=[],n=Math.max(1,rl(e)),r=0,i=0,a=(e,n,o,s)=>{if(e.children.size===0){let a=34+i*Zc,c=34+n*Qc;t.push({id:e.id,char:e.char,x:a,y:c,isEnd:e.isEnd,parentId:o,edgeChar:s}),r=Math.max(r,n),i+=1;return}let c=i;for(let[t,r]of e.children)a(r,n+1,e.id,t);let l=34+(c+(i-1))/2*Zc,u=34+n*Qc;t.push({id:e.id,char:e.char,x:l,y:u,isEnd:e.isEnd,parentId:o,edgeChar:s}),r=Math.max(r,n)};return a(e,0,void 0,``),{placed:t,totalSlots:n,maxDepth:r}}function al({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,words:r,highlight:o,footer:s,delay:c}){let l=i[t]??i.share,{placed:u,totalSlots:d,maxDepth:f}=(0,g.useMemo)(()=>il(nl(r)),[r]),p=(0,g.useMemo)(()=>{if(!o)return new Set;let e=nl(r),t=new Set;t.add(e.id);let n=e;for(let e of o.slice(0,tl)){let r=n.children.get(e);if(!r)break;t.add(r.id),n=r}return t},[r,o]),m=(0,g.useMemo)(()=>new Map(u.map(e=>[e.id,e])),[u]),h=$c*2+Math.max(1,d)*Zc,v=$c*2+(f+1)*Qc;return(0,_.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(c??0)+`ms`},children:[e&&(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`tri-wrap`,children:(0,_.jsxs)(`svg`,{viewBox:`0 0 ${h} ${v}`,className:`tri-svg`,role:`img`,"aria-label":e??`Trie diagram`,children:[u.map(e=>{if(!e.parentId)return null;let t=m.get(e.parentId);if(!t)return null;let n=p.has(e.id)&&p.has(e.parentId),r=(t.x+e.x)/2,i=(t.y+e.y)/2;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`line`,{x1:t.x,y1:t.y,x2:e.x,y2:e.y,className:`tri-edge`+(n?` tri-edge-active`:``)}),(0,_.jsx)(`text`,{x:r,y:i,textAnchor:`middle`,dominantBaseline:`middle`,className:`tri-edge-label`+(n?` tri-edge-label-active`:``),children:e.edgeChar})]},`edge-${e.id}`)}),u.map(e=>{let t=p.has(e.id),n=!e.parentId;return(0,_.jsxs)(`g`,{children:[e.isEnd&&(0,_.jsx)(`circle`,{cx:e.x,cy:e.y,r:19,className:`tri-node-end-ring`+(t?` tri-node-end-ring-active`:``)}),(0,_.jsx)(`circle`,{cx:e.x,cy:e.y,r:Xc,className:`tri-node`+(t?` tri-node-active`:``)+(n?` tri-node-root`:``)}),!n&&(0,_.jsx)(`text`,{x:e.x,y:e.y+5,textAnchor:`middle`,className:`tri-label`+(t?` tri-label-active`:``),children:e.char})]},`node-${e.id}`)})]})}),s&&(0,_.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(s)})]})}var ol=100,sl=64,cl={hot:`c-hot`,neutral:`c-neutral`,ground:`c-ground`,traveler:`c-traveler`};function ll(e){switch(e){case`breaker`:return(0,_.jsxs)(`g`,{className:`dg-wir-glyph`,children:[(0,_.jsx)(`rect`,{x:-6,y:-7,width:12,height:14,rx:1.6,fill:`none`}),(0,_.jsx)(`line`,{x1:-3.5,y1:-3.5,x2:3.5,y2:-1}),(0,_.jsx)(`circle`,{cx:0,cy:3.5,r:1,className:`dg-wir-fill`})]});case`switch`:return(0,_.jsxs)(`g`,{className:`dg-wir-glyph`,children:[(0,_.jsx)(`circle`,{cx:-5,cy:0,r:1.1,className:`dg-wir-fill`}),(0,_.jsx)(`circle`,{cx:5,cy:0,r:1.1,className:`dg-wir-fill`}),(0,_.jsx)(`line`,{x1:-5,y1:0,x2:4,y2:-5})]});case`switch3way`:return(0,_.jsxs)(`g`,{className:`dg-wir-glyph`,children:[(0,_.jsx)(`circle`,{cx:-5,cy:0,r:1.1,className:`dg-wir-fill`}),(0,_.jsx)(`circle`,{cx:5,cy:-3,r:1.1,className:`dg-wir-fill`}),(0,_.jsx)(`circle`,{cx:5,cy:3,r:1.1,className:`dg-wir-fill`}),(0,_.jsx)(`line`,{x1:-5,y1:0,x2:4,y2:-4})]});case`outlet`:return(0,_.jsxs)(`g`,{className:`dg-wir-glyph`,children:[(0,_.jsx)(`circle`,{cx:0,cy:0,r:6,fill:`none`}),(0,_.jsx)(`line`,{x1:-2.2,y1:-2.6,x2:-2.2,y2:1.4}),(0,_.jsx)(`line`,{x1:2.2,y1:-2.6,x2:2.2,y2:1.4}),(0,_.jsx)(`line`,{x1:0,y1:3,x2:0,y2:4.4})]});case`gfci`:return(0,_.jsxs)(`g`,{className:`dg-wir-glyph`,children:[(0,_.jsx)(`rect`,{x:-6,y:-7,width:12,height:14,rx:1.6,fill:`none`}),(0,_.jsx)(`circle`,{cx:0,cy:-2.4,r:1.5,fill:`none`}),(0,_.jsx)(`circle`,{cx:0,cy:3,r:1.5,fill:`none`}),(0,_.jsx)(`text`,{x:7.5,y:-4,className:`dg-wir-tick`,children:`G`})]});case`light`:return(0,_.jsxs)(`g`,{className:`dg-wir-glyph`,children:[(0,_.jsx)(`circle`,{cx:0,cy:0,r:6,fill:`none`}),(0,_.jsx)(`line`,{x1:-4.2,y1:-4.2,x2:4.2,y2:4.2}),(0,_.jsx)(`line`,{x1:-4.2,y1:4.2,x2:4.2,y2:-4.2})]});case`panel`:return(0,_.jsxs)(`g`,{className:`dg-wir-glyph`,children:[(0,_.jsx)(`rect`,{x:-7,y:-8,width:14,height:16,rx:1.6,fill:`none`}),(0,_.jsx)(`line`,{x1:-7,y1:-2,x2:7,y2:-2}),(0,_.jsx)(`line`,{x1:-7,y1:2.5,x2:7,y2:2.5}),(0,_.jsx)(`line`,{x1:0,y1:-8,x2:0,y2:8})]});case`motor`:return(0,_.jsxs)(`g`,{className:`dg-wir-glyph`,children:[(0,_.jsx)(`circle`,{cx:0,cy:0,r:6.5,fill:`none`}),(0,_.jsx)(`text`,{x:0,y:2.6,className:`dg-wir-mark`,textAnchor:`middle`,children:`M`})]});case`ground`:return(0,_.jsxs)(`g`,{className:`dg-wir-glyph`,children:[(0,_.jsx)(`line`,{x1:0,y1:-7,x2:0,y2:0}),(0,_.jsx)(`line`,{x1:-5,y1:0,x2:5,y2:0,strokeWidth:1.4}),(0,_.jsx)(`line`,{x1:-3,y1:2.6,x2:3,y2:2.6}),(0,_.jsx)(`line`,{x1:-1.4,y1:5,x2:1.4,y2:5})]});default:return(0,_.jsx)(`circle`,{cx:0,cy:0,r:2.2,className:`dg-wir-fill`})}}function ul({title:e,icon:t=`spark`,iconColor:n=`var(--presence)`,nodes:r,wires:o,caption:s,footer:c,delay:l}){let u=i[t]||i.spark,d=(0,g.useMemo)(()=>{let e=Math.max(1,r.length),t=Math.min(e,Math.ceil(Math.sqrt(e)*1.4)),n=Math.ceil(e/t),i=ol/(t+1),a=sl/(n+1),o={};return r.forEach((e,n)=>{if(e.x!==void 0&&e.y!==void 0)o[e.id]={x:e.x,y:e.y};else{let r=Math.floor(n/t),s=n%t;o[e.id]={x:i*(s+1),y:a*(r+1)}}}),o},[r]);return(0,_.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(l||0)+`ms`},children:[e&&(0,_.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,_.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,_.jsx)(`div`,{className:`dg-wir`,children:(0,_.jsxs)(`svg`,{viewBox:`-8 -10 116 86`,className:`dg-wir-svg`,role:`img`,"aria-label":e||`wiring diagram`,children:[o.map((e,t)=>{let n=d[e.from],r=d[e.to];if(!n||!r)return null;let i=cl[e.conductor??`hot`],a=r.x,o=n.y;return(0,_.jsxs)(`g`,{children:[(0,_.jsx)(`polyline`,{points:`${n.x},${n.y} ${a},${o} ${r.x},${r.y}`,className:`dg-wir-wire ${i}`,fill:`none`}),e.gauge&&(0,_.jsx)(`text`,{x:(n.x+a)/2,y:o-1.6,className:`dg-wir-gauge`,textAnchor:`middle`,children:e.gauge})]},t)}),r.map(e=>{let t=d[e.id];return t?(0,_.jsxs)(`g`,{transform:`translate(${t.x} ${t.y})`,children:[ll(e.kind),e.label&&(0,_.jsx)(`text`,{x:0,y:13,className:`dg-wir-lbl`,textAnchor:`middle`,children:e.label})]},e.id):null})]})}),(0,_.jsx)(pl,{wires:o}),s&&(0,_.jsx)(`p`,{className:`dg-wir-cap`,children:s}),c&&(0,_.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(c)})]})}var dl={hot:`Hot`,neutral:`Neutral`,ground:`Ground`,traveler:`Traveler`},fl=[`hot`,`neutral`,`ground`,`traveler`];function pl(e){let t=(0,F.c)(9),{wires:n}=e,r;t[0]===n?r=t[1]:(r=new Set(n.map(hl)),t[0]=n,t[1]=r);let i=r,a,o,s;if(t[2]!==i){s=Symbol.for(`react.early_return_sentinel`);bb0:{let e=fl.filter(e=>i.has(e));if(e.length<2){s=null;break bb0}a=`dg-wir-legend`,o=e.map(ml)}t[2]=i,t[3]=a,t[4]=o,t[5]=s}else a=t[3],o=t[4],s=t[5];if(s!==Symbol.for(`react.early_return_sentinel`))return s;let c;return t[6]!==a||t[7]!==o?(c=(0,_.jsx)(`div`,{className:a,children:o}),t[6]=a,t[7]=o,t[8]=c):c=t[8],c}function ml(e){return(0,_.jsxs)(`span`,{className:`dg-wir-legend-item`,children:[(0,_.jsx)(`span`,{className:`dg-wir-swatch ${cl[e]}`}),dl[e]]},e)}function hl(e){return e.conductor??`hot`}var gl=e({diagramsRegistry:()=>_l}),_l={algorithmtrace:f(C),argumentmap:f(E),binarytree:f(re),castmap:f(ge),causationchain:f(We),circuitdiagram:f(et),classdiagram:f(Ct),controlblockdiagram:f(Wt),cyclewheel:f(rn),datapipeline:f(Mn),datastructure:f(Qn),diagramflow:f(gr),dptable:f(Mr),erdiagram:f(Nr),fishbone:f(Wr),fiveforces:f(ui),fivewhychain:f(Ei),foodweb:f(Li),graphtrace:f(Gi),hashtable:f(na),logicgates:f(ha),mindshape:f(h),nnarchitecture:f(ka),pipingschematic:f(Na),plasmidmap:f(Ja),primefactortree:f(so),probabilitytree:f(yo),prooftree:f(Ao),protocolstack:f(Vo),recursiontree:f(ts),sequencediagram:f(ps),sortingviz:f(vs),gridtrace:f(ws),statemachine:f(Es),synthesisroute:f(qs),sysarchdiagram:f(vc),threatmodel:f(Ic),toulmin:f(Rc),tournamentbracket:f(Yc),trie:f(al),wiringdiagram:f(ul)};export{gl as n,_l as t};