@mavea/mavea 1.0.18 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/CHANGELOG.md +59 -3
  2. package/README.md +5 -0
  3. package/dist/.vite/manifest.json +680 -514
  4. package/dist/assets/AnnotationLayer-IiuYsoSa.js +0 -0
  5. package/dist/assets/{AppCommandPalette-DKBglbNo.js → AppCommandPalette-Dm3SedPO.js} +1 -1
  6. package/dist/assets/CanvasSkeleton-CcHXJqdq.js +2 -0
  7. package/dist/assets/{CheckLogRail-Btg7Linv.js → CheckLogRail-BU_rmAFH.js} +1 -1
  8. package/dist/assets/{CommandPalette-DagPdSGZ.js → CommandPalette-E3reEqYR.js} +1 -1
  9. package/dist/assets/{ConversationVideoStudio-EPw6H4lE.js → ConversationVideoStudio-DEZBpJUz.js} +1 -1
  10. package/dist/assets/CourseLessonReader-Bpt-DkJo.js +2 -0
  11. package/dist/assets/{CourseRail-Dx9IIbTZ.js → CourseRail-C8MJG-zf.js} +1 -1
  12. package/dist/assets/{CoursesApp-CzUGaYWZ.js → CoursesApp-DFVkhP2f.js} +2 -2
  13. package/dist/assets/{DashPresent-DXwesMIr.js → DashPresent-DwWDtjrU.js} +1 -1
  14. package/dist/assets/DashboardDetail-D4wkiTux.js +2 -0
  15. package/dist/assets/DashboardLoopGate-B5UBPsvU.js +2 -0
  16. package/dist/assets/DashboardLoopRuntime-CAnZX234.js +1 -0
  17. package/dist/assets/{DashboardSettings-CmZWG3US.js → DashboardSettings-eMhHliVh.js} +1 -1
  18. package/dist/assets/DashboardsApp-BwFtTdWa.js +2 -0
  19. package/dist/assets/{DeepZoomApp-CwqKpjo7.js → DeepZoomApp-CxdcUeFJ.js} +1 -1
  20. package/dist/assets/{DelegatePanel-Bi1qPgGG.js → DelegatePanel-B0kIu8Et.js} +1 -1
  21. package/dist/assets/DemoGallery-B__X0_H3.js +1 -0
  22. package/dist/assets/{DropSelect-C3g0PjuN.js → DropSelect-C3uYlej-.js} +1 -1
  23. package/dist/assets/ExportModal-CDGlhpdH.js +2 -0
  24. package/dist/assets/ExtractionPreview-CloJnrQi.js +18 -0
  25. package/dist/assets/{FeatureUseNotice-BhljPjUv.js → FeatureUseNotice-CwHstxBh.js} +1 -1
  26. package/dist/assets/{FlagshipCommandPalette-DyNsP8k3.js → FlagshipCommandPalette-CHsD5BSH.js} +1 -1
  27. package/dist/assets/{FlagshipShowcase-DHpGPlca.js → FlagshipShowcase-D53Q_4m0.js} +1 -1
  28. package/dist/assets/{FlashcardsApp-Cm50X3Hl.js → FlashcardsApp-CnLfEnDH.js} +1 -1
  29. package/dist/assets/{GalleryApp-BFop9Eu7.js → GalleryApp-2Ffc6CY6.js} +1 -1
  30. package/dist/assets/{HonestByDesign-HeTTCiis.js → HonestByDesign-5jIu2ZC8.js} +1 -1
  31. package/dist/assets/{HowItWorks-gAuUl7VQ.js → HowItWorks-BiJF84EM.js} +1 -1
  32. package/dist/assets/{LegalApp-jOlpLQSV.js → LegalApp-zC-rvTww.js} +1 -1
  33. package/dist/assets/{LegalMarkdownDocument-RSNiyAu0.js → LegalMarkdownDocument-CJ-gRHdX.js} +1 -1
  34. package/dist/assets/{LegalPageShell-Cr90l1I2.js → LegalPageShell-Dyd4Uh3r.js} +1 -1
  35. package/dist/assets/{LibraryOverlay-DEQ5GuIs.js → LibraryOverlay-_xpWdhLN.js} +1 -1
  36. package/dist/assets/{LiveApp-Bl7WBgqJ.css → LiveApp-BNae3fDZ.css} +1 -1
  37. package/dist/assets/LiveApp-DjcJQURO.js +78 -0
  38. package/dist/assets/{LiveSettings-jn26sH4v.js → LiveSettings-BceODlOb.js} +3 -3
  39. package/dist/assets/{MindMapViewerDrawer-CDDzzpFi.js → MindMapViewerDrawer-BuDodC0s.js} +1 -1
  40. package/dist/assets/{MindShape-BeZFay7O.js → MindShape-CBcCC7hP.js} +1 -1
  41. package/dist/assets/PinToDashboard-DBIXvhlF.js +1 -0
  42. package/dist/assets/PlanReview-DUQ7OMvV.js +1 -0
  43. package/dist/assets/PresentationDeck-C518t9pP.js +1 -0
  44. package/dist/assets/PrismApp-DRLl8841.js +2 -0
  45. package/dist/assets/PrismAskController-QRwxRP8D.js +37 -0
  46. package/dist/assets/{PrismBriefingPlayer-BoB_PCTT.js → PrismBriefingPlayer-Kyb8Vs_w.js} +2 -2
  47. package/dist/assets/PrismOverlay-Bj7tCu5Q.js +105 -0
  48. package/dist/assets/{PrismWorkbench-f0rLNBxb.js → PrismWorkbench-BCnhkp-S.js} +1 -1
  49. package/dist/assets/{PrivacyApp-CFs0PM5C.js → PrivacyApp-DHSRr8wq.js} +1 -1
  50. package/dist/assets/{ReplayCard-BkJbY0-I.js → ReplayCard-CKo5reXy.js} +2 -2
  51. package/dist/assets/{ReplayOverlay-Dm_k7FBA.js → ReplayOverlay-DqAwLshS.js} +1 -1
  52. package/dist/assets/{RewindOverlay-BSDbLgcN.js → RewindOverlay-CkJIETE0.js} +1 -1
  53. package/dist/assets/RippleApp-C76VTaZK.js +2 -0
  54. package/dist/assets/{RippleAskController-CywVzqUA.js → RippleAskController-CdlMlRH8.js} +2 -2
  55. package/dist/assets/{RippleOverlay-DVxfWEQ8.js → RippleOverlay-Mvz3CXhD.js} +2 -2
  56. package/dist/assets/{SeeDontRead-Ct4PY63d.js → SeeDontRead-BkySmnP3.js} +1 -1
  57. package/dist/assets/{ShareModal-BILPvqjZ.js → ShareModal-Cl3ryjgK.js} +2 -2
  58. package/dist/assets/{ShipCourse-DGj9BbRM.js → ShipCourse-Cy5ldKLE.js} +1 -1
  59. package/dist/assets/{SignatureLoop-CfM-rTXb.js → SignatureLoop-Cdkifjb8.js} +1 -1
  60. package/dist/assets/SynthesisApp-C5udWwng.js +2 -0
  61. package/dist/assets/{SynthesisOverlay-Dunk_JWD.js → SynthesisOverlay-1o-CJsyX.js} +1 -1
  62. package/dist/assets/{TermsApp-BUQa48cB.js → TermsApp-DIAESAZs.js} +1 -1
  63. package/dist/assets/TopicCanvas-DkzJORfl.js +2 -0
  64. package/dist/assets/{TourPrism-zt1LIaLd.js → TourPrism-Bxp--s0i.js} +1 -1
  65. package/dist/assets/{TrackerTile-sYD2MM_4.js → TrackerTile-CyPD0A6b.js} +2 -2
  66. package/dist/assets/{TwoSurfaces-CLOIlVvY.js → TwoSurfaces-C_0XBpwA.js} +1 -1
  67. package/dist/assets/WhyMachineOverlay-QDSZx5Y7.js +1 -0
  68. package/dist/assets/WorldOverlay-DRdBQMnb.css +1 -0
  69. package/dist/assets/WorldOverlay-DorHCLzw.js +1 -0
  70. package/dist/assets/{WowFeatures-CNVwRlf0.js → WowFeatures-DNEeO2pr.js} +1 -1
  71. package/dist/assets/{ZoomDeck-DNgyW7Nm.js → ZoomDeck-qdlPe_yl.js} +1 -1
  72. package/dist/assets/{annotationAuto-C9weSF2k.js → annotationAuto-BmKrZ3hU.js} +1 -1
  73. package/dist/assets/{annotationReel-va1i-lKs.js → annotationReel-K2FYv-3B.js} +1 -1
  74. package/dist/assets/{backup-D--1WRte.js → backup-PaRBwjJy.js} +1 -1
  75. package/dist/assets/{blockTypes-CgNGx27_.js → blockTypes-DUDdP3pB.js} +1 -1
  76. package/dist/assets/canvas-BlkTFnVo.js +1 -0
  77. package/dist/assets/{capture-BBxyt5SN.js → capture-CL9ENM-c.js} +1 -1
  78. package/dist/assets/confirmAdd-CZPBG1xe.js +1 -0
  79. package/dist/assets/csv-DAqzYXUs.js +5 -0
  80. package/dist/assets/{dashboardEvents-BDKxoLch.js → dashboardEvents-D-wLCp1A.js} +1 -1
  81. package/dist/assets/dashboards-CdzGklae.css +1 -0
  82. package/dist/assets/display-BrieMea1.js +1 -0
  83. package/dist/assets/emphasize-BqCIst-B.js +1 -0
  84. package/dist/assets/engine-2U7mvPIl.js +1 -0
  85. package/dist/assets/engine-BF8FqSbi.css +1 -0
  86. package/dist/assets/explode-qQ7Fzt6V.js +15 -0
  87. package/dist/assets/{generate-CemSUZ8A.js → generate-C9vOL1C2.js} +3 -3
  88. package/dist/assets/generateBeats-DpDpBcgV.js +1 -0
  89. package/dist/assets/{generateCourse-BIBbw-ZJ.js → generateCourse-DU281tDE.js} +1 -1
  90. package/dist/assets/{generateLive-BsXn4Y_d.js → generateLive-_x2tWkBH.js} +18 -18
  91. package/dist/assets/{index-D1SPhBGd.js → index-CfcUMOBf.js} +4 -4
  92. package/dist/assets/index-D4FIsool.css +1 -0
  93. package/dist/assets/{kokoro-C6P0LV4L.js → kokoro-CdL8Kl48.js} +1 -1
  94. package/dist/assets/{liveSchema-B8OByCPH.js → liveSchema-B4bQtO88.js} +22 -21
  95. package/dist/assets/{model-BsQ5ixwB.js → model-DxwoIVpo.js} +1 -1
  96. package/dist/assets/nextFrame-12y0UrAd.js +1 -0
  97. package/dist/assets/notes-CUeZ1cYu.js +1 -0
  98. package/dist/assets/{number-DXgzss0v.js → number-Bmf7DqLj.js} +1 -1
  99. package/dist/assets/officeDoc-GU6Cssjf.js +3 -0
  100. package/dist/assets/openWorld-BHTJM39n.js +1 -0
  101. package/dist/assets/{pen-D9UT-ioQ.js → pen-BAEq0JnM.js} +1 -1
  102. package/dist/assets/{perfProbe-BxyiHsI2.js → perfProbe-3Ip5n0yx.js} +1 -1
  103. package/dist/assets/{pin-qQrH_dBi.js → pin-BwWjjqmt.js} +1 -1
  104. package/dist/assets/{planTracker-CjnznF7v.js → planTracker-BI9z_0gW.js} +1 -1
  105. package/dist/assets/portal-BJzn-Tgn.js +1 -0
  106. package/dist/assets/{prewarm-CAZcnT4x.js → prewarm-CheeUP2L.js} +1 -1
  107. package/dist/assets/providers-B2OCzEo1.js +1 -0
  108. package/dist/assets/{quietHours-_i5Uqz7z.js → quietHours-DCMczU9R.js} +1 -1
  109. package/dist/assets/ready-Ba6nk9O1.js +1 -0
  110. package/dist/assets/{ready-4lPJes2S.js → ready-DZY1bETr.js} +1 -1
  111. package/dist/assets/receipts-ClyzFFGD.js +1 -0
  112. package/dist/assets/{registry-CtvKPLd7.js → registry-BM9FDQxO.js} +1 -1
  113. package/dist/assets/{registry-BzH7mEl7.js → registry-BRbEINOV.js} +1 -1
  114. package/dist/assets/{registry-COkvZrNA.css → registry-BZuT2Epw.css} +1 -1
  115. package/dist/assets/{registry-NbNNn_ra.js → registry-ChQGee7C.js} +1 -1
  116. package/dist/assets/registry-D4Xdd7dO.js +1 -0
  117. package/dist/assets/{registry-CkScyZGa.js → registry-D_4_HlMg.js} +1 -1
  118. package/dist/assets/registry-DuP_q42N.js +1 -0
  119. package/dist/assets/{relate-DHPSGB7a.js → relate-BXcg3Ioz.js} +1 -1
  120. package/dist/assets/{replay-zh4xVk5G.js → replay-rSsGKjEc.js} +1 -1
  121. package/dist/assets/{run-ByCJN-29.js → run-CkaYNX89.js} +1 -1
  122. package/dist/assets/{run-BdDyp6Xv.js → run-aj7robML.js} +2 -2
  123. package/dist/assets/{run-DiPX83_J.js → run-ndUTOxjM.js} +1 -1
  124. package/dist/assets/seed-DN4mRJp-.js +1 -0
  125. package/dist/assets/shapes-C5fjibEc.js +42 -0
  126. package/dist/assets/{spokenText-D3iS8fuI.js → spokenText-C88IQJ0M.js} +1 -1
  127. package/dist/assets/store-B39HvB_l.js +1 -0
  128. package/dist/assets/theme-7IrMJ70_.js +1 -0
  129. package/dist/assets/types-C42I77wh.js +1 -0
  130. package/dist/assets/useDashboardLoop-B_YA5jLs.js +5 -0
  131. package/dist/assets/useDashboards-GafZIADI.js +1 -0
  132. package/dist/assets/useLiveConfig-DWz7BRdk.js +1 -0
  133. package/dist/assets/useSpatialCanvas-CfmZOXXP.js +1 -0
  134. package/dist/assets/{useStudy-B5874Bcg.js → useStudy-CFIuakaM.js} +1 -1
  135. package/dist/assets/validate-CnG23_8J.js +1 -0
  136. package/dist/assets/walkSync-AAocUygp.js +1 -0
  137. package/dist/index.html +13 -12
  138. package/package.json +2 -1
  139. package/dist/assets/AnnotationLayer-DHHGgh8x.js +0 -2
  140. package/dist/assets/CanvasSkeleton-Bx0s36b_.js +0 -2
  141. package/dist/assets/CourseLessonReader-DeAuL1tO.js +0 -2
  142. package/dist/assets/DashboardDetail-CJzB85NC.js +0 -2
  143. package/dist/assets/DashboardLoopRuntime-CEnUpS-I.js +0 -1
  144. package/dist/assets/DashboardsApp-wCgs98G0.js +0 -2
  145. package/dist/assets/DemoGallery-Cg0ykVpG.js +0 -1
  146. package/dist/assets/ExportModal-rxndDhoO.js +0 -2
  147. package/dist/assets/ExtractionPreview-ChRAimKr.js +0 -18
  148. package/dist/assets/LiveApp-CUoQgVo1.js +0 -62
  149. package/dist/assets/PinToDashboard-CSqwDBLD.js +0 -1
  150. package/dist/assets/PlanReview-ChZeUHQO.js +0 -1
  151. package/dist/assets/PresentationDeck-Dj9MQVZC.js +0 -1
  152. package/dist/assets/PrismApp-Dfs6eAuR.js +0 -2
  153. package/dist/assets/PrismAskController-CSsCkRC8.js +0 -37
  154. package/dist/assets/PrismOverlay-CGtr7lBl.js +0 -109
  155. package/dist/assets/RippleApp-DW1rpKHe.js +0 -2
  156. package/dist/assets/SynthesisApp-C43ZO6Ew.js +0 -2
  157. package/dist/assets/TopicCanvas-DR26Swr_.js +0 -2
  158. package/dist/assets/WhyMachineOverlay-Nll4Wco-.js +0 -1
  159. package/dist/assets/canvas-DIs20T9l.js +0 -1
  160. package/dist/assets/confirmAdd-BDNV8RqF.js +0 -1
  161. package/dist/assets/dashboards-Dy4MTJQ5.css +0 -1
  162. package/dist/assets/explode-fgkkWz8o.js +0 -13
  163. package/dist/assets/generateBeats-aqKTlSN2.js +0 -1
  164. package/dist/assets/index-B69GkoTc.css +0 -1
  165. package/dist/assets/notes-U6gRKVHk.js +0 -1
  166. package/dist/assets/officeDoc-Dn8jw1fG.js +0 -3
  167. package/dist/assets/portal-t0bsUEg2.js +0 -1
  168. package/dist/assets/providers-DdJWf_PE.js +0 -1
  169. package/dist/assets/ready-LSwk88I-.js +0 -1
  170. package/dist/assets/registry-CueC1vq1.js +0 -1
  171. package/dist/assets/registry-CxUmdwDk.js +0 -1
  172. package/dist/assets/shapes-DI0LQC8n.js +0 -1
  173. package/dist/assets/store-DpmbKVs7.js +0 -1
  174. package/dist/assets/theme-f0mztBcq.js +0 -1
  175. package/dist/assets/useDashboardLoop-DuckIfJX.js +0 -5
  176. package/dist/assets/useDashboards-BMcuCWoz.js +0 -1
  177. package/dist/assets/useLiveConfig-9eJ7EM3B.js +0 -1
  178. package/dist/assets/useSpatialCanvas-CtVsYmp8.js +0 -1
  179. /package/dist/assets/{registry-DLyrLfe-2.js → registry-DLyrLfe-.js} +0 -0
@@ -1 +0,0 @@
1
- import{a as e,i as t,n,o as r,r as i,s as a,t as o}from"./http-Lar_UMKb.js";import{t as s}from"./blockTypes-CgNGx27_.js";import"./info-CiqHR5cs.js";import{g as c,m as l}from"./attachments-BW-vki-E.js";var u=[...s];function d(e=u,t){return{type:`object`,properties:{narration:{type:`string`,description:`ONE warm spoken sentence. Emit this FIRST so it can be spoken immediately.`},title:{type:`string`,description:`A short headline for the answer.`},sub:{type:`string`,description:`One short supporting line.`},blocks:{type:`array`,minItems:t===`brief`?1:3,maxItems:18,items:{type:`object`,properties:{type:{type:`string`,enum:[...e]},props:{type:`object`,description:`Fields for this block type.`}},required:[`type`,`props`]}},track:{type:`object`,description:`OMIT unless this answer is a rare ongoing metric worth a living dashboard.`,properties:{score:{type:`number`,description:`0–100: how worth-tracking-over-time this is.`},reason:{type:`string`,description:`Short why, e.g. "weekly burn rate, ongoing".`}},required:[`score`,`reason`]},sources:{type:`array`,description:`OMIT unless this turn used web-search results. Real source URLs actually relied on — never invented.`,items:{type:`object`,properties:{title:{type:`string`},url:{type:`string`}},required:[`title`,`url`]}}},required:[`narration`,`title`,`sub`,`blocks`]}}function f(e){return e.length?`\n\n[The user attached ${e.map(e=>`"${e.name}"`).join(`, `)}, which this model can't read directly. Answer from the question text, and say if you'd need its contents.]`:``}function p(e,t){if(!t?.length)return e;let n=[],r=[];for(let e of t)l(e)?n.push({type:`image`,source:{type:`base64`,media_type:e.mime,data:e.data}}):c(e)?n.push({type:`document`,source:{type:`base64`,media_type:e.mime,data:e.data}}):r.push(e);return n.push({type:`text`,text:e+f(r)}),n}function m(e,t){if(!t?.length)return e;let n=t.filter(l),r=t.filter(e=>!l(e));if(!n.length)return e+f(r);let i=n.map(e=>({type:`image_url`,image_url:{url:`data:${e.mime};base64,${e.data}`}}));return i.push({type:`text`,text:e+f(r)}),i}function h(e,t){let n=(t??[]).filter(l),r=(t??[]).filter(e=>!l(e)),i=n.map(e=>({type:`input_image`,detail:`auto`,image_url:`data:${e.mime};base64,${e.data}`}));return i.push({type:`input_text`,text:e+f(r)}),i}function g(e,t){if(!t?.length)return[{text:e}];let n=[],r=[];for(let e of t)l(e)||c(e)?n.push({inlineData:{mimeType:e.mime,data:e.data}}):r.push(e);return n.push({text:e+f(r)}),n}function _(e,t){return t?.length?e+f(t):e}var v=`/llm/anthropic`,y=`/v1/messages`,b=`/v1/models`,x=`2023-06-01`,S=6e4,C=4e3;function w(e){return{"Content-Type":`application/json`,"x-api-key":e.apiKey??``,"anthropic-version":x,"anthropic-dangerous-direct-browser-access":`true`}}function T(e){return/haiku/i.test(e)?`web_search_20250305`:`web_search_20260209`}var E={id:`anthropic`,capabilities:{constrainedDecoding:!0,streaming:!0,vision:!0,contextWindow:2e5,strengthTier:`frontier`,nativeWebSearch:!0},async probe(e){try{let t=e.baseUrl??v,r=await n(`${t}${b}`,{method:`GET`,headers:w(e)},C);if(!r.ok)return{ok:!1,model:!1,statusCode:r.status};let i=await n(`${t}${y}`,{method:`POST`,headers:w(e),body:JSON.stringify({model:e.model,max_tokens:1,messages:[{role:`user`,content:`ping`}]})},C);return{ok:i.ok,model:i.ok,statusCode:i.status}}catch{return{ok:!1,model:!1}}},async warm(e){try{let t=e.baseUrl??v;await n(`${t}${b}`,{method:`GET`,headers:w(e)},C)}catch{}},async generate(o,s,c){let l=s.baseUrl??v,u=o.systemBase??o.system,f=o.systemBase?o.system.slice(u.length).trimStart():``,m=[{type:`text`,text:u,cache_control:{type:`ephemeral`}},...f?[{type:`text`,text:f}]:[]],h=o.thinkingLevel===`medium`||o.thinkingLevel===`high`,g=o.format===void 0&&!!o.blockTypes?.length,_=o.format===void 0?g?d(o.blockTypes,o.complexity):null:o.format,b=!!o.tools?.webSearch,x=await n(`${l}${y}`,{method:`POST`,headers:w(s),body:JSON.stringify({model:s.model,max_tokens:o.maxTokens??1024,temperature:h?1:o.temperature??.3,...h?{thinking:{type:`adaptive`,display:`summarized`}}:{},system:m,messages:[...o.history,{role:`user`,content:p(o.user,o.attachments)}],..._?{output_config:{format:{type:`json_schema`,schema:_}}}:{},...b?{tools:[{type:T(s.model),name:`web_search`,max_uses:5}]}:{},stream:!0})},S,o.signal);if(!x.ok)throw Error(`anthropic ${x.status}${await e(x)}`);let C=``,E,D=new Map;await r(x,e=>{let n=t(e),r=a(n.type);if(r===`content_block_delta`){let e=t(n.delta),r=a(e.text);r&&(C+=r,c?.(r));let i=t(e.citation),o=a(i.url);o&&!D.has(o)&&D.set(o,{title:a(i.title)||o,url:o})}else if(r===`message_start`){let e=t(t(n.message).usage);E={input:i(e.input_tokens)+i(e.cache_read_input_tokens)+i(e.cache_creation_input_tokens),output:i(e.output_tokens),cachedInput:i(e.cache_read_input_tokens)}}else if(r===`message_delta`){let e=t(n.usage);e.output_tokens!==void 0&&(E={input:E?.input??0,cachedInput:E?.cachedInput??0,output:i(e.output_tokens)})}});let O=D.size?[...D.values()]:void 0;try{return{raw:JSON.parse(C),...O?{sources:O}:{},...E?{usage:E}:{}}}catch{return{raw:C,...O?{sources:O}:{},...E?{usage:E}:{}}}}},D=6e4,O=4e3,k=18e4;function A(e){return/(?:^|\/)(?:o[1-9]|gpt-5)/i.test(e)}function j(e,t){let n=t.code,r=typeof n==`number`?n:Number(a(n))||void 0,i=a(t.type),o=typeof n==`string`?n:``,s=a(t.message)||`request failed`,c=`${i} ${o} ${s}`;return`${e} ${r??(/invalid.?api.?key|unauthorized|authentication/i.test(c)?401:/insufficient.?quota|resource.?exhausted|rate.?limit/i.test(c)?429:void 0)??``} ${s}`.trim()}function M(s){let{id:c,proxyBase:l,apiBase:u=``,capabilities:d,extraHeaders:f,extraBody:p,webSearchTool:h,modelListExhaustive:g=!0,cacheSystemPrefix:v=!1}=s,y=`${u}/v1/chat/completions`,b=`${u}/v1/models`;function x(e){return{"Content-Type":`application/json`,Authorization:`Bearer ${e.apiKey??``}`,...f}}return{id:c,capabilities:d,async probe(e){try{let r=e.baseUrl??l,i=await n(`${r}${b}`,{method:`GET`,headers:x(e)},O);if(!i.ok)return{ok:!1,model:!1,statusCode:i.status};let s=await i.json(),c=o(t(s).data).map(e=>a(t(e).id)),u=c.length===0||c.includes(e.model);return{ok:!0,model:!g||u}}catch{return{ok:!1,model:!1}}},async generate(s,u,f){let g=u.baseUrl??l,b=h&&s.tools?.webSearch?h():void 0,S=A(u.model),C=s.systemBase,w=!!C&&s.system.startsWith(C),T=w?C:s.system,E=w?s.system.slice(C.length).trim():``,O=v&&w?{role:`system`,content:[{type:`text`,text:T,cache_control:{type:`ephemeral`}}]}:{role:`system`,content:T},M=e=>E?Array.isArray(e)?[{type:`text`,text:E},...e]:`${E}\n\n${e}`:e,N=new AbortController,P=setTimeout(()=>N.abort(),k),F=s.signal?AbortSignal.any([s.signal,N.signal]):N.signal;try{let l=await n(`${g}${y}`,{method:`POST`,headers:x(u),body:JSON.stringify({...p??{},model:u.model,...S?{max_completion_tokens:Math.max(s.maxTokens??1024,1500),reasoning_effort:`low`}:{max_tokens:s.maxTokens??1024,temperature:s.temperature??.3},response_format:{type:`json_object`},stream:!0,stream_options:{include_usage:!0},...b?{tools:[b]}:{},messages:[O,...s.history,{role:`user`,content:d.vision?M(m(s.user,s.attachments)):M(_(s.user,s.attachments))}]})},D,F);if(!l.ok)throw Error(`${c} ${l.status}${await e(l)}`);let h=``,v,C=!1,w=new Map,T;try{await r(l,e=>{let n=t(e);if(n.error)return T=j(c,t(n.error)),!0;let r=t(n.usage);if((r.prompt_tokens!==void 0||r.completion_tokens!==void 0)&&(v={input:i(r.prompt_tokens),output:i(r.completion_tokens),cachedInput:i(t(r.prompt_tokens_details).cached_tokens)},C)||C)return!0;let s=t(o(n.choices)[0]),l=t(s.delta),u=a(l.content);u&&(h+=u,f?.(u));let d=a(l.reasoning)||a(l.reasoning_content);if(d&&f?.(d,{reasoning:!0}),b)for(let e of o(l.annotations)){let n=t(e);if(a(n.type)===`url_citation`){let e=t(n.url_citation),r=a(e.url);r&&!w.has(r)&&w.set(r,{url:r,title:a(e.title)||r})}}if(a(s.finish_reason))return C=!0,v?!0:void 0})}catch(e){if(!C||!h)throw e}if(T)throw Error(T);let E=w.size?[...w.values()]:void 0;return{raw:h,...E?{sources:E}:{},...v?{usage:v}:{}}}finally{clearTimeout(P)}}}}var N=6e4,P=4e3,F=3;function I(e,t){let n=Number(e.headers.get(`retry-after`));return Number.isFinite(n)&&n>0?Math.min(n*1e3,1e4):Math.min(800*2**t,8e3)}function L(e,t){return new Promise((n,r)=>{if(t?.aborted)return r(new DOMException(`Aborted`,`AbortError`));let i=setTimeout(n,e);t?.addEventListener(`abort`,()=>{clearTimeout(i),r(new DOMException(`Aborted`,`AbortError`))},{once:!0})})}async function R(e){try{let t=await e.json(),n=typeof t.error?.message==`string`?t.error.message:``,r=typeof t.error?.param==`string`?` (param: ${t.error.param})`:``;return n?` — ${n.slice(0,200)}${r}`:``}catch{return``}}function z(e){let{id:s,proxyBase:c,apiBase:l=``,capabilities:u,extraHeaders:f,webSearchTool:p}=e,m=`${l}/v1/responses`,g=`${l}/v1/models`;function _(e){return{"Content-Type":`application/json`,Authorization:`Bearer ${e.apiKey??``}`,...f}}return{id:s,capabilities:u,async probe(e){try{let r=e.baseUrl??c,i=await n(`${r}${g}`,{method:`GET`,headers:_(e)},P);if(!i.ok){let e=i.status;if(s===`grok`&&e===400)try{(await i.clone().json()).code===`invalid-argument`&&(e=401)}catch{}return{ok:!1,model:!1,statusCode:e}}let l=await i.json(),u=o(t(l).data).map(e=>a(t(e).id));return{ok:!0,model:u.length===0||u.includes(e.model)}}catch{return{ok:!1,model:!1}}},async generate(e,l,f){let g=l.baseUrl??c,v=p&&e.tools?.webSearch?p():void 0,y=A(l.model),b=e.history.map(e=>({role:e.role,content:e.content})),x=u.vision?h(e.user,e.attachments):[{type:`input_text`,text:e.user}],S=e.systemBase,C=S&&e.system.startsWith(S)?S:e.system,w=S&&e.system.startsWith(S)?e.system.slice(S.length).trim():``,T=w?[{type:`input_text`,text:w},...x]:x,E=e.format===void 0&&!!e.blockTypes?.length,D=e.format===void 0?E?d(e.blockTypes,e.complexity):null:e.format,O=v?D?{type:`json_schema`,name:E?`live_canvas`:`live_json`,schema:D,strict:!1}:{type:`text`}:{type:`json_object`},k=O.type===`text`?[]:[{role:`system`,content:`Respond in JSON.`}],M=v&&!E?e.thinkingLevel===`high`?`high`:`medium`:`low`,P={method:`POST`,headers:_(l),body:JSON.stringify({model:l.model,...s===`openai`?{store:!1}:{},instructions:C,input:[...k,...b,{role:`user`,content:T}],text:{format:O},max_output_tokens:y?Math.max(e.maxTokens??1024,1500):e.maxTokens??1024,...y?{reasoning:{effort:M}}:{temperature:e.temperature??.3},stream:!0,...v?{tools:[v]}:{}})},z;for(let t=0;z=await n(`${g}${m}`,P,N,e.signal),!z.ok;t++){if(z.status===429&&t<F&&!e.signal?.aborted){await L(I(z,t),e.signal);continue}throw Error(`${s} ${z.status}${await R(z)}`)}let B=``,V=new Map,H,U;if(await r(z,e=>{let n=t(e),r=a(n.type),c=t(t(n.response).error),l=t(n.error),u=Object.keys(c).length?c:l;if(Object.keys(u).length)return U=j(s,u),!0;if(r===`response.output_text.delta`){let e=a(n.delta);e&&(B+=e,f?.(e));return}if(r===`response.incomplete`){if(!B){let e=a(t(t(n.response).incomplete_details).reason);return U=e===`max_output_tokens`?`${s}: the model used its entire output budget on reasoning and never wrote an answer — raise maxTokens`:`${s}: the model stopped before writing an answer${e?` (${e})`:``}`,!0}return}if(r===`response.completed`){let e=t(n.response);for(let n of o(e.output)){let e=t(n);if(a(e.type)===`message`)for(let n of o(e.content))for(let e of o(t(n).annotations)){let n=t(e);if(a(n.type)!==`url_citation`)continue;let r=a(n.url);r&&!V.has(r)&&V.set(r,{url:r,title:a(n.title)||r})}}let r=t(e.usage);(r.input_tokens!==void 0||r.output_tokens!==void 0)&&(H={input:i(r.input_tokens),output:i(r.output_tokens),cachedInput:i(t(r.input_tokens_details).cached_tokens)});return}}),U)throw Error(U);let W=V.size?[...V.values()]:void 0;return{raw:B,...W?{sources:W}:{},...H?{usage:H}:{}}}}}var B=z({id:`openai`,proxyBase:`/llm/openai`,webSearchTool:()=>({type:`web_search`}),capabilities:{constrainedDecoding:!0,streaming:!0,vision:!0,contextWindow:128e3,strengthTier:`frontier`,nativeWebSearch:!0}}),V=`/llm/gemini`,H=`/v1beta`,U=6e4,W=4e3;function G(e){return{"Content-Type":`application/json`,"x-goog-api-key":e.apiKey??``}}async function K(e){try{let t=await e.json(),n=typeof t.error?.status==`string`?t.error.status:``,r=typeof t.error?.message==`string`?t.error.message:``,i=n&&r?`${n}: ${r.slice(0,160)}`:n||r.slice(0,160);return i?` — ${i}`:``}catch{return``}}function q(e){if(e)return{thinkingLevel:e.toUpperCase()}}function J(e){let t=[];return e.tools?.webSearch&&t.push({google_search:{}}),e.tools?.urlContext&&t.push({url_context:{}}),t.length?t:void 0}function Y(e,n){let r=t(e.groundingMetadata);for(let e of o(r.groundingChunks)){let r=t(t(e).web),i=a(r.uri);!i||n.has(i)||n.set(i,{title:a(r.title)||i,url:i})}}var X={anthropic:E,gemini:{id:`gemini`,capabilities:{constrainedDecoding:!0,streaming:!0,vision:!0,contextWindow:1e6,strengthTier:`frontier`,nativeWebSearch:!0},async probe(e){try{let r=e.baseUrl??V,i=await n(`${r}${H}/models`,{method:`GET`,headers:G(e)},W);if(!i.ok)return{ok:!1,model:!1,statusCode:i.status};let s=await i.json(),c=o(t(s).models).map(e=>a(t(e).name).replace(/^models\//,``));return{ok:!0,model:c.length===0||c.includes(e.model)}}catch{return{ok:!1,model:!1}}},async generate(e,s,c){let l=`${s.baseUrl??V}${H}/models/${encodeURIComponent(s.model)}:streamGenerateContent?alt=sse`,u=e.systemBase,d=e.system,f=``;u&&e.system.startsWith(u)&&(d=u,f=e.system.slice(u.length).trim());let p=g(e.user,e.attachments),m=[...e.history.map(e=>({role:e.role===`assistant`?`model`:`user`,parts:[{text:e.content}]})),{role:`user`,parts:f?[{text:f},...p]:p}],h={temperature:e.temperature??.3,maxOutputTokens:e.maxTokens??1024,responseMimeType:`application/json`},_=q(e.thinkingLevel);_&&(h.thinkingConfig=_);let v=J(e),y=await n(l,{method:`POST`,headers:G(s),body:JSON.stringify({systemInstruction:{parts:[{text:d}]},contents:m,generationConfig:h,...v?{tools:v}:{}})},U,e.signal);if(!y.ok)throw Error(`gemini ${y.status}${await K(y)}`);let b=``,x=new Map,S;await r(y,e=>{let n=t(o(t(e).candidates)[0]),r=o(t(n.content).parts);for(let e of r){let n=a(t(e).text);n&&(b+=n,c?.(n))}Y(n,x);let s=t(e).usageMetadata;s&&(S={input:i(t(s).promptTokenCount),output:i(t(s).candidatesTokenCount),cachedInput:i(t(s).cachedContentTokenCount)})});let C={raw:b};return x.size&&(C.sources=[...x.values()]),S&&(C.usage=S),C}},openai:B,openrouter:M({id:`openrouter`,proxyBase:`/llm/openrouter`,apiBase:`/api`,extraHeaders:{"HTTP-Referer":`https://github.com/TryMaveaAI/mavea`,"X-Title":`Mavéa`},extraBody:{transforms:[`middle-out`]},cacheSystemPrefix:!0,modelListExhaustive:!1,webSearchTool:()=>({type:`openrouter:web_search`,parameters:{engine:`auto`,max_results:5,search_context_size:`medium`}}),capabilities:{constrainedDecoding:!0,streaming:!0,vision:!0,contextWindow:128e3,strengthTier:`frontier`,nativeWebSearch:!0}}),grok:z({id:`grok`,proxyBase:`/llm/grok`,webSearchTool:()=>({type:`web_search`}),capabilities:{constrainedDecoding:!0,streaming:!0,vision:!0,contextWindow:5e5,strengthTier:`frontier`,nativeWebSearch:!0}})};function Z(e){return X[e]}export{A as n,Z as t};
@@ -1 +0,0 @@
1
- function e(){return new Promise(e=>{if(typeof requestAnimationFrame!=`function`){setTimeout(e,0);return}let t=!1,n=()=>{t||(t=!0,cancelAnimationFrame(r),clearTimeout(i),e())},r=requestAnimationFrame(n),i=setTimeout(n,50)})}async function t(e,t){let n;try{return await Promise.race([e,new Promise(e=>{n=setTimeout(e,t)})])}finally{n!==void 0&&clearTimeout(n)}}async function n(e,n){let r=Array.from(e.querySelectorAll(`img`));r.length&&await Promise.allSettled(r.map(e=>e.complete&&e.naturalWidth>0?Promise.resolve():t(typeof e.decode==`function`?e.decode():new Promise((t,n)=>{e.addEventListener(`load`,()=>t(),{once:!0}),e.addEventListener(`error`,()=>n(Error(`img`)),{once:!0})}),n)))}function r(e){return e.querySelector(`.geo-map[aria-busy="true"]`)!==null}async function i(i,a={}){if(typeof document>`u`)return;let o=a.timeoutMs??5e3,s=a.perImageMs??3e3;typeof document.fonts?.ready?.then==`function`&&await t(document.fonts.ready,Math.min(o,3e3));let c=Date.now()+o,l=-1,u=0;for(;Date.now()<c;){await e();let t=r(i),n=i.scrollHeight;if(n===l&&!t){if(u+=1,u>=2)break}else u=0,l=n;if(n===0&&!t)break}await n(i,s)}export{t as n,e as r,i as t};
@@ -1 +0,0 @@
1
- var e=[`Your world`,`This session`,`While listening`,`Setup`],t=[{id:`atlas`,label:`Atlas`,blurb:`Kept conversations and topics, as a place you can wander`,group:`Your world`,surface:`live`,tourChapter:`atlas`,keywords:[`map`,`history`,`everything`,`concepts`]},{id:`memory`,label:`What Mavéa remembers`,blurb:`See, edit, or forget the facts stored about you on this device`,group:`Your world`,surface:`live`,tourChapter:`memory`,keywords:[`memory`,`remember`,`forget`,`facts`,`about me`,`personal`,`privacy`]},{id:`library`,label:`Past conversations`,blurb:`Reopen a canvas you built before`,group:`Your world`,surface:`live`,tourChapter:`library`,keywords:[`library`,`past`,`history`,`saved`,`resume`,`previous`,`conversations`]},{id:`deepzoom`,label:`Deep Zoom`,blurb:`Telescope any topic from the big picture down to the finest detail`,group:`Your world`,surface:`both`,tourChapter:`deepzoom`,keywords:[`zoom`,`telescope`,`powers of ten`,`scale`,`detail`,`deeper`,`magnify`]},{id:`pdf-world`,label:`Prism`,blurb:`Split a PDF, Office doc, or data file (CSV, text, JSON) into a map of its grounded claims — or compare several`,group:`Your world`,surface:`live`,tourChapter:`prism`,keywords:`prism.pdf.explode.split.document.word.docx.powerpoint.pptx.slides.excel.xlsx.spreadsheet.sheets.google docs.csv.tsv.text.txt.markdown.json.data.code.paper.claims.contradictions.compare.comparison.world`.split(`.`)},{id:`synthesis`,label:`Synthesis`,blurb:`Fuse a pile of documents into one map — agreements, contradictions, gaps`,group:`Your world`,surface:`live`,tourChapter:`synthesis`,keywords:[`synthesis`,`synthesize`,`fuse`,`merge`,`combine`,`many documents`,`multiple documents`,`literature review`,`cross-reference`,`corpus`]},{id:`ripple`,label:`Ripple`,blurb:`Model a code change’s blast radius — likely impact, risks, and a proposed ship order`,group:`Your world`,surface:`both`,tourChapter:`ripple`,keywords:[`ripple`,`pr`,`pull request`,`review`,`diff`,`code review`,`blast radius`,`impact`,`ship`,`merge`,`rollout`,`cascade`,`breaking change`,`migration`,`onboarding`,`codebase`,`repo`]},{id:`delegate`,label:`Rehearse`,blurb:`Practice a hard conversation — take the seat yourself, or send your Mavéa to scout it`,group:`Your world`,surface:`live`,tourChapter:`delegate`,keywords:[`negotiate`,`negotiation`,`deal`,`raise`,`salary`,`haggle`,`bargain`,`offer`,`counteroffer`,`prep`,`scout`,`boundaries`,`delegate`,`table`,`rehearse`,`practice`,`role play`,`interview`,`prepare`]},{id:`review`,label:`Study`,blurb:`Go through your flashcards — on a schedule if you want one`,group:`Your world`,surface:`live`,tourChapter:`review`,keywords:[`srs`,`flashcards`,`study`,`remember`,`spaced`,`due`,`flip`,`pile`,`anki`]},{id:`flashcards`,label:`Manage flashcards`,blurb:`See, organise, and edit your study deck (decks, tags, study)`,group:`Your world`,surface:`live`,tourChapter:`manage-flashcards`,keywords:[`flashcards`,`cards`,`deck`,`tag`,`manage`,`anki`,`study`]},{id:`courses`,label:`Courses`,blurb:`Turn a topic into a structured syllabus — a lesson at a time, at your pace`,group:`Your world`,surface:`live`,tourChapter:`course`,keywords:[`course`,`courses`,`lesson`,`syllabus`,`learn`,`teach`,`curriculum`,`class`]},{id:`dashboards`,label:`Living dashboards`,blurb:`Open dashboards that refresh on schedule while Mavéa is running`,group:`Your world`,surface:`both`,tourChapter:`dashboards`,keywords:[`dashboard`,`dashboards`,`track`,`metrics`,`watch`]},{id:`recap`,label:`Recap`,blurb:`What we've covered so far this session`,group:`This session`,surface:`live`,tourChapter:`recap`,keywords:[`summary`,`so far`,`covered`]},{id:`zoom-deck`,label:`Chapter view`,blurb:`Pull back from the cards to the shape of the whole session`,group:`This session`,surface:`live`,tourChapter:`zoom-deck`,keywords:[`zoom`,`chapters`,`pinch`,`altitude`,`overview`,`pull back`,`whole night`]},{id:`present`,label:`Present`,blurb:`Fill the room — the chrome falls away, the mic stays live`,group:`This session`,surface:`live`,tourChapter:`present`,keywords:[`presentation`,`full screen`,`room`,`talk`]},{id:`track`,label:`Track this`,blurb:`Turn this conversation into a dashboard that refreshes while Mavéa is running`,group:`This session`,surface:`live`,tourChapter:`track`,keywords:[`dashboard`,`watch`,`monitor`,`keep`]},{id:`share`,label:`Video`,blurb:`Share a moment, a topic, or the whole conversation`,group:`This session`,surface:`live`,tourChapter:`share`,keywords:[`share`,`video`,`reel`,`conversation`,`export`,`publish`]},{id:`export`,label:`Export`,blurb:`Print this or save it as a PDF`,group:`This session`,surface:`live`,tourChapter:`export`,keywords:[`pdf`,`print`,`save`,`download`]},{id:`board`,label:`Board view`,blurb:`Spread this answer's cards on a spatial board you can wander`,group:`This session`,surface:`live`,tourChapter:`canvas`,keywords:[`board`,`spatial`,`canvas`,`spread`,`arrange`,`wander`,`map`]},{id:`focus`,label:`Focus mode`,blurb:`One card at a time, with a filmstrip of the rest`,group:`This session`,surface:`live`,tourChapter:`focus`,keywords:[`focus`,`one card`,`filmstrip`,`zoom`]},{id:`ink`,label:`Highlight to ask`,blurb:`Mark any part of an answer to ask Mavéa about it`,group:`This session`,surface:`live`,tourChapter:`highlight`,keywords:[`ink`,`draw`,`highlight`,`annotate`,`mark`,`ask`]},{id:`blanks`,label:`The Blank Space`,blurb:`An answer can leave a glowing hole for a value only you know — type it, say it, or drop a card in`,group:`This session`,surface:`live`,tourChapter:`blanks`,keywords:[`blank`,`blanks`,`fill`,`fill in`,`fill in my numbers`,`your numbers`,`hole`,`slot`,`placeholder`]},{id:`watch-me-think`,label:`Watch me think`,blurb:`Talk for a minute — Mavéa draws a live map of your thinking`,group:`While listening`,surface:`live`,tourChapter:`think`,keywords:[`mind map`,`mindshape`,`think`,`ramble`,`map`,`thinking`]},{id:`just-listen`,label:`Just listen`,blurb:`Bank recognized speech without answering — sort it later`,group:`While listening`,surface:`live`,tourChapter:`just-listen`,keywords:[`listen`,`bank`,`think out loud`,`notes`]},{id:`whisper`,label:`Whisper mode`,blurb:`Ultra-quiet voice for when you can't make a sound — opens its Quiet-hours setting`,group:`While listening`,surface:`live`,tourChapter:`whisper`,keywords:[`quiet`,`whisper`,`night`,`silent`]},{id:`ghost`,label:`Ghost answers`,blurb:`Mavéa quietly drafts what it would say — starts Just listen, where the drafts appear`,group:`While listening`,surface:`live`,tourChapter:`ghost`,keywords:[`ghost`,`draft`,`preview`,`alternative`]},{id:`settings`,label:`Model settings`,blurb:`Connect a provider and tune how Mavéa answers`,group:`Setup`,surface:`live`,tourChapter:`settings`,keywords:[`settings`,`model`,`provider`,`api key`,`config`]},{id:`morning-brief`,label:`Morning brief`,blurb:`Open the day with what's changed — off by default; opens the switch that turns it on`,group:`Setup`,surface:`live`,tourChapter:`morning-brief`,keywords:[`brief`,`briefing`,`morning`,`daily`,`catch up`,`start of day`]},{id:`how`,label:`How Mavéa works`,blurb:`A quick tour of the basics`,group:`Setup`,surface:`both`,keywords:[`help`,`tour`,`how`,`guide`,`onboarding`]}];function n(e){return[e.label,e.blurb,e.group,...e.keywords??[]].join(` `).toLowerCase()}export{e as n,n as r,t};
@@ -1 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{t as n}from"./compiler-runtime-qQQXpJgv.js";import{t as r}from"./jsx-runtime-DeHZSEgm.js";import{n as i}from"./icons-gLFQTv74.js";import{t as a}from"./richText-BkxJhl9N.js";import{i as o}from"./scale-Bcgfo6Hp.js";import{t as s}from"./BlockEmpty-B82uCse8.js";import"./lib-B7OE1ZQQ.js";import{n as c}from"./motion-DxHSlPN6.js";import{t as l}from"./registry-types-D3q_LrlV.js";import{n as u,t as d}from"./fitText-DQ2omSN0.js";import{t as f}from"./MindShape-BeZFay7O.js";var p=9,m=3.5,h=4;function g(e,t,n){let r=new Set(e.map(e=>`${e.from}→${e.to}`));return e.map((e,i)=>{let a=t[e.from],o=t[e.to],s=`edge-${i}-${e.from}-${e.to}`;if(e.self||e.from===e.to){if(!a)return y(s,e);let t=a.x,r=a.y-n-10,i=`M ${a.x-4} ${a.y-n} a 7 7 0 1 1 8 0`;return{key:s,from:e.from,to:e.to,label:e.label,d:i,lx:t,ly:r,labelOffset:0,labelAnchor:`middle`,isCurved:!1}}if(!a||!o)return y(s,e);let c=o.x-a.x,l=o.y-a.y,u=Math.hypot(c,l)||1,d=c/u,f=l/u,g=a.x+d*n,_=a.y+f*n,v=o.x-d*(n+2),b=o.y-f*(n+2);if(!r.has(`${e.to}→${e.from}`)){let t=(g+v)/2,n=(_+b)/2,r=`M ${g} ${_} L ${v} ${b}`,i=-f,a=d;return a>0&&(i=-i,a=-a),{key:s,from:e.from,to:e.to,label:e.label,d:r,lx:t+i*m,ly:n+a*m,labelOffset:m,labelAnchor:`middle`,isCurved:!1}}let x=-f,S=d,C=(a.x+o.x)/2,w=(a.y+o.y)/2,T=C+x*p,E=w+S*p,D=`M ${g} ${_} Q ${T} ${E} ${v} ${b}`,O=(g+2*T+v)/4,k=(_+2*E+b)/4,A=x>.4?`start`:x<-.4?`end`:`middle`;return{key:s,from:e.from,to:e.to,label:e.label,d:D,lx:O+x*h,ly:k+S*h,labelOffset:h,labelAnchor:A,isCurved:!0}})}function _(e,t=50,n=50,r=32){let i=e<=4?r:r+(e-4)*3,a=e===2?Math.PI:-Math.PI/2;return Array.from({length:e},(r,o)=>{let s=o/e*2*Math.PI+a;return{x:t+i*Math.cos(s),y:n+i*Math.sin(s)}})}function v(e){return e<=4?11:e<=7?9:e<=10?7.5:6.5}function y(e,t){return{key:e,from:t.from,to:t.to,label:t.label,d:`M 50 50 L 50 50`,lx:50,ly:50,labelOffset:0,labelAnchor:`middle`,isCurved:!1}}var b=t(),x=r(),S=e=>typeof e==`number`?String(e):e;function C(e,t){return e?e.swapped?.includes(t)?`swapped`:e.compare?.includes(t)?`compared`:e.highlight?.includes(t)?`highlight`:`none`:`none`}var w=[900,350,100],T=[`1×`,`2×`,`8×`];function E(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 D({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,b.useState)(0),[g,_]=(0,b.useState)(c??!1),[v,y]=(0,b.useState)(1),D=(0,b.useRef)(m);D.current=m;let O=o[Math.min(m,o.length-1)],k=(0,b.useRef)(typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches);(0,b.useEffect)(()=>{if(!g)return;let e=setInterval(()=>{let e=D.current+1;if(e>=o.length){_(!1);return}h(e)},w[v]);return()=>clearInterval(e)},[g,o.length,v]);let A=(0,b.useCallback)(e=>{_(!1),h(Math.min(o.length-1,Math.max(0,e)))},[o.length]),j=(0,b.useCallback)(()=>{k.current||_(e=>(!e&&m>=o.length-1&&h(0),!e))},[m,o.length]),M=(0,b.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,b.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,x.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(d||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(f,{className:`ic`,style:{color:n}}),e,s&&(0,x.jsx)(`span`,{className:`dg-at-complexity`,title:`Time complexity: ${E(s)}`,children:E(s)})]}),(0,x.jsx)(`p`,{className:`dg-at-caption`,"aria-live":`polite`,children:O?.caption??``}),(0,x.jsx)(`div`,{className:`dg-at-row`,role:`group`,"aria-label":`array`,children:r.map((e,t)=>{let n=C(O,t),r=N.get(t);return(0,x.jsxs)(`div`,{className:`dg-at-cell-wrap`,children:[(0,x.jsx)(`div`,{className:`dg-at-cell role-${n}`,children:S(e)}),(0,x.jsx)(`div`,{className:`dg-at-idx`,children:t}),P&&(0,x.jsx)(`div`,{className:`dg-at-ptr-slot`,children:r&&(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`span`,{className:`dg-at-ptr-caret`,"aria-hidden":`true`}),(0,x.jsx)(`span`,{className:`dg-at-ptr-labels`,children:r.join(` · `)})]})})]},t)})}),(0,x.jsxs)(`div`,{className:`dg-at-controls`,children:[(0,x.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>A(m-1),disabled:m===0,"aria-label":`previous step`,children:[(0,x.jsx)(i.chevL,{className:`ic`}),` Prev`]}),!k.current&&(0,x.jsx)(`button`,{type:`button`,className:`dg-at-btn dg-at-play`+(g?` playing`:``),onClick:j,"aria-label":g?`pause`:`play`,children:g?(0,x.jsx)(i.pause,{className:`ic`}):(0,x.jsx)(i.play,{className:`ic`})}),!k.current&&(0,x.jsx)(`button`,{type:`button`,className:`dg-at-btn dg-at-speed`,onClick:()=>y(e=>(e+1)%3),"aria-label":`speed: ${T[v]}`,children:T[v]}),(0,x.jsx)(`div`,{className:`dg-at-progress`,"aria-hidden":`true`,children:o.map((e,t)=>(0,x.jsx)(`span`,{className:`dg-at-dot`+(t===m?` on`:t<m?` done`:``)},t))}),(0,x.jsxs)(`span`,{className:`dg-at-count`,children:[Math.min(m+1,p),` / `,p]}),(0,x.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>A(m+1),disabled:m>=o.length-1,"aria-label":`next step`,children:[`Next `,(0,x.jsx)(i.chevR,{className:`ic`})]})]}),O?.ops&&(0,x.jsxs)(`div`,{className:`dg-at-ops`,children:[O.ops.comparisons!==void 0&&(0,x.jsxs)(`span`,{children:[O.ops.comparisons,` cmp`]}),O.ops.comparisons!==void 0&&O.ops.swaps!==void 0&&(0,x.jsx)(`span`,{className:`dg-at-ops-sep`,children:`·`}),O.ops.swaps!==void 0&&(0,x.jsxs)(`span`,{children:[O.ops.swaps,` swap`]})]}),l&&(0,x.jsx)(`p`,{className:`dg-at-cap`,children:l}),u&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(u)})]})}var O=11;function k(e){return typeof e==`string`&&e.trim().length>0}function A(e){let t=Array.isArray(e)?e:[],n=[];for(let e of t)!e||!k(e.familiar)||!k(e.target)||n.push({familiar:e.familiar,target:e.target,note:k(e.note)?e.note:void 0,loose:!!e.loose});return n}function j({title:e,icon:t=`link`,iconColor:n=`var(--presence)`,familiar:r,target:o,pairs:c,breaksDown:l,caption:u,footer:d,delay:f}){let p=i[t]||i.link,m=A(c),h=(Array.isArray(l)?l:[]).filter(k),g=m.some(e=>e.loose),_=k(r)?r:``,v=k(o)?o:``,y=k(u)?u:``,b=d!=null&&String(d).trim()!==``;return(0,x.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(f||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(p,{className:`ic`,style:{color:n}}),` `,e]}),m.length>0&&(0,x.jsxs)(`div`,{className:`ana`,children:[(0,x.jsxs)(`div`,{className:`ana-heads`,children:[(0,x.jsxs)(`div`,{className:`ana-head ana-head--familiar`,children:[(0,x.jsx)(`span`,{className:`ana-head-role`,children:`Known`}),_&&(0,x.jsx)(`span`,{className:`ana-head-name`,children:_})]}),(0,x.jsx)(`div`,{className:`ana-head-joint`,children:`maps onto`}),(0,x.jsxs)(`div`,{className:`ana-head ana-head--target`,children:[(0,x.jsx)(`span`,{className:`ana-head-role`,children:`New`}),v&&(0,x.jsx)(`span`,{className:`ana-head-name`,children:v})]})]}),(0,x.jsx)(`div`,{className:`ana-rows`,children:m.map((e,t)=>(0,x.jsxs)(`div`,{className:`ana-row m-stagger-item m-fade-rise`,style:{"--i":Math.min(t,O)},children:[(0,x.jsx)(`div`,{className:`ana-side ana-side--familiar`,children:e.familiar}),(0,x.jsx)(`div`,{className:e.loose?`ana-link ana-link--loose`:`ana-link`,children:(0,x.jsxs)(`span`,{className:`ana-rail`,children:[(0,x.jsx)(`span`,{className:`ana-rail-dot`}),(0,x.jsx)(`span`,{className:`ana-rail-line`}),e.note&&(0,x.jsx)(`span`,{className:`ana-note`,children:e.note}),(0,x.jsx)(`span`,{className:`ana-rail-line`}),(0,x.jsx)(`span`,{className:`ana-rail-head`})]})}),(0,x.jsx)(`div`,{className:`ana-side ana-side--target`,children:e.target})]},t))}),g&&(0,x.jsx)(`div`,{className:`ana-legend`,children:`Dashed — the match is only approximate`})]}),h.length>0&&(0,x.jsxs)(`div`,{className:`ana-limits`,children:[(0,x.jsxs)(`div`,{className:`ana-limits-head`,children:[(0,x.jsx)(i.alert,{className:`ic`,style:{width:13,height:13}}),`Where the analogy breaks down`]}),(0,x.jsx)(`ul`,{className:`ana-limits-list`,children:h.map((e,t)=>(0,x.jsx)(`li`,{children:e},t))})]}),y&&(0,x.jsx)(`p`,{className:`ana-caption`,children:y}),m.length===0&&h.length===0&&!y&&!b&&(0,x.jsx)(s,{message:`No correspondences to map`}),b&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(d)})]})}var M={support:`var(--insight)`,objection:`var(--warning)`,qualifier:`var(--text-muted)`},N={support:`+ For`,objection:`− Against`,qualifier:`~ Qualifier`};function P({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,x.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(l||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`am-claim`,children:r}),(0,x.jsxs)(`div`,{className:`am-columns`,children:[(0,x.jsxs)(`div`,{className:`am-col am-col--support`,children:[d.length>0&&(0,x.jsx)(`div`,{className:`am-col-label`,style:{color:M.support},children:N.support}),d.map((e,t)=>(0,x.jsxs)(`div`,{className:`am-premise am-premise--support`,children:[(0,x.jsx)(`span`,{className:`am-premise-rail`,style:{background:M.support}}),(0,x.jsxs)(`div`,{className:`am-premise-body`,children:[(0,x.jsx)(`span`,{className:`am-premise-text`,children:e.text}),e.sub&&(0,x.jsx)(`span`,{className:`am-premise-sub`,children:e.sub})]})]},t))]}),(0,x.jsxs)(`div`,{className:`am-col am-col--objection`,children:[f.length>0&&(0,x.jsx)(`div`,{className:`am-col-label`,style:{color:M.objection},children:N.objection}),f.map((e,t)=>(0,x.jsxs)(`div`,{className:`am-premise am-premise--objection`,children:[(0,x.jsx)(`span`,{className:`am-premise-rail`,style:{background:M.objection}}),(0,x.jsxs)(`div`,{className:`am-premise-body`,children:[(0,x.jsx)(`span`,{className:`am-premise-text`,children:e.text}),e.sub&&(0,x.jsx)(`span`,{className:`am-premise-sub`,children:e.sub})]})]},t))]})]}),p.length>0&&(0,x.jsxs)(`div`,{className:`am-qualifiers`,children:[(0,x.jsx)(`div`,{className:`am-col-label`,style:{color:M.qualifier},children:N.qualifier}),p.map((e,t)=>(0,x.jsxs)(`div`,{className:`am-premise am-premise--qualifier`,children:[(0,x.jsx)(`span`,{className:`am-premise-rail`,style:{background:M.qualifier}}),(0,x.jsxs)(`div`,{className:`am-premise-body`,children:[(0,x.jsx)(`span`,{className:`am-premise-text`,children:e.text}),e.sub&&(0,x.jsx)(`span`,{className:`am-premise-sub`,children:e.sub})]})]},t))]}),s&&(0,x.jsxs)(`div`,{className:`am-verdict`,children:[(0,x.jsx)(i.check,{className:`ic`,style:{width:13,height:13}}),s]}),c&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(c)})]})}var ee=16,te=44,ne=60,re=24,ie=6;function ae(e){return e<=2?11:e<=3?9:e<=4?8:7}function oe(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function se(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*te+48),u=(c+1)*ne+48,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:re+r*te+te/2,y:re+i*ne+ee,state:n[t]??`default`,left:o.left,right:o.right})}return{nodes:d,W:l,H:u}}var ce={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)`},le={default:`var(--grid-line)`,visiting:`var(--presence)`,visited:`var(--text-faint)`,found:`var(--insight)`,highlight:`var(--warning)`},ue={default:`var(--text-primary)`,visiting:`var(--presence)`,visited:`var(--text-faint)`,found:`var(--insight)`,highlight:`var(--warning)`};function de({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,b.useState)(0),m=Math.min(f,(s?.length??1)-1),h=s?.[m],g=(0,b.useMemo)(()=>h?h.states:{},[h]),_=(0,b.useMemo)(()=>{let e=new Map;for(let t of r)e.set(t.id,t);return e},[r]),{nodes:v,W:y,H:S}=(0,b.useMemo)(()=>se(_,o,g),[_,o,g]),C=(0,b.useMemo)(()=>{let e=new Map;for(let t of v)e.set(t.id,{x:t.x,y:t.y});return e},[v]),w=s?.length??0,T=e=>p(Math.min(w-1,Math.max(0,e)));return(0,x.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u??0)+`ms`},children:[e&&(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),h&&(0,x.jsx)(`p`,{className:`dg-at-caption`,"aria-live":`polite`,children:h.caption}),(0,x.jsxs)(`svg`,{viewBox:`0 0 ${y} ${S}`,width:`100%`,className:`dg-bt-svg`,"aria-label":e??`binary tree`,role:`img`,style:{overflow:`visible`},children:[v.map(e=>(0,x.jsxs)(`g`,{children:[e.left&&(()=>{let t=C.get(e.left);return t?(0,x.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,x.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}`)),v.map(e=>(0,x.jsxs)(`g`,{transform:`translate(${e.x} ${e.y})`,children:[(0,x.jsx)(`circle`,{r:ee,fill:ce[e.state],stroke:le[e.state],strokeWidth:e.state==="default"?1.5:2,className:`dg-bt-node`}),(0,x.jsxs)(`text`,{textAnchor:`middle`,dominantBaseline:`central`,fontSize:ae(e.value.toString().length),fontWeight:`600`,fill:ue[e.state],className:`dg-bt-label`,children:[e.value.toString().length>ie&&(0,x.jsx)(`title`,{children:e.value}),oe(e.value.toString(),ie)]})]},`node-${e.id}`))]}),h&&(h.frontier!==void 0||h.result!==void 0)&&(0,x.jsxs)(`div`,{className:`dg-bt-panels`,children:[h.frontier!==void 0&&(0,x.jsxs)(`div`,{className:`dg-bt-panel`,children:[(0,x.jsx)(`span`,{className:`dg-bt-panel-label`,children:`Frontier`}),(0,x.jsx)(`div`,{className:`dg-bt-chips`,children:h.frontier.length===0?(0,x.jsx)(`span`,{className:`dg-bt-chip dg-bt-chip-empty`,children:`∅`}):h.frontier.map((e,t)=>(0,x.jsx)(`span`,{className:`dg-bt-chip`,children:e},t))})]}),h.result!==void 0&&(0,x.jsxs)(`div`,{className:`dg-bt-panel`,children:[(0,x.jsx)(`span`,{className:`dg-bt-panel-label`,children:`Result`}),(0,x.jsx)(`div`,{className:`dg-bt-chips`,children:h.result.length===0?(0,x.jsx)(`span`,{className:`dg-bt-chip dg-bt-chip-empty`,children:`—`}):h.result.map((e,t)=>(0,x.jsx)(`span`,{className:`dg-bt-chip dg-bt-chip-result`,children:e},t))})]})]}),s&&s.length>0&&(0,x.jsxs)(`div`,{className:`dg-at-controls`,children:[(0,x.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>T(m-1),disabled:m===0,"aria-label":`previous step`,children:[(0,x.jsx)(i.chevL,{className:`ic`}),` Prev`]}),(0,x.jsx)(`div`,{className:`dg-at-progress`,"aria-hidden":`true`,children:s.map((e,t)=>(0,x.jsx)(`span`,{className:`dg-at-dot`+(t===m?` on`:t<m?` done`:``)},t))}),(0,x.jsxs)(`span`,{className:`dg-at-count`,children:[m+1,` / `,w]}),(0,x.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>T(m+1),disabled:m>=w-1,"aria-label":`next step`,children:[`Next `,(0,x.jsx)(i.chevR,{className:`ic`})]})]}),c&&(0,x.jsx)(`p`,{className:`dg-at-cap`,children:c}),l&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(l)})]})}var F=n(),I=1e3,fe=I/2,pe=I/2,me=60,he=30,ge={ally:`var(--insight)`,rival:`var(--warning)`,family:`var(--presence-soft)`,love:`var(--presence)`,mentor:`var(--insight-soft)`,betrays:`var(--danger)`,other:`var(--text-muted)`},_e={ally:`Ally`,rival:`Rival`,family:`Family`,love:`Love`,mentor:`Mentor`,betrays:`Betrays`,other:`Linked`},ve=new Set([`mentor`,`betrays`]),ye=new Set([`mentor`,`betrays`,`other`]),be=[`var(--presence)`,`var(--insight)`,`var(--warning)`,`var(--danger)`,`var(--presence-soft)`,`var(--insight-soft)`];function xe(e,t,n){return Math.min(n,Math.max(t,e))}function Se(e){return e&&e in ge?e:`other`}function Ce(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 we({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,b.useId)().replace(/:/g,``),{placed:f,factions:p}=(0,b.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,be[t%be.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=o<=1?0:Math.min(I/2-he-me/2,350+Math.max(0,o-10)*10),c=xe((o>1?2*s*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:fe+Math.cos(r)*s,cy:pe+Math.sin(r)*s,color:n.get(i(e))||`var(--line-strong)`,rx:c/2,ry:me/2}}),factions:t.map(e=>({name:e,color:n.get(e)}))}},[r]),m=(0,b.useMemo)(()=>new Map(f.map(e=>[e.id,e])),[f]),h=(0,b.useMemo)(()=>(o??[]).map(e=>({link:e,a:m.get(e.from),b:m.get(e.to),kind:Se(e.kind)})).filter(e=>!!(e.a&&e.b&&e.a!==e.b)),[o,m]),g=(0,b.useMemo)(()=>[...new Set(h.filter(e=>ve.has(e.kind)).map(e=>e.kind))],[h]),_=(0,b.useMemo)(()=>[...new Set(h.map(e=>e.kind))],[h]);return(0,x.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(l||0)+`ms`},children:[e&&(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),f.length===0?(0,x.jsx)(`p`,{className:`cast-empty`,children:`No cast to map yet.`}):(0,x.jsx)(`div`,{className:`cast-stage`,children:(0,x.jsxs)(`svg`,{className:`cast-svg`,viewBox:`0 0 ${I} ${I}`,preserveAspectRatio:`xMidYMid meet`,role:`img`,"aria-label":e||`Relationship map`,children:[(0,x.jsx)(`defs`,{children:g.map(e=>(0,x.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,x.jsx)(`path`,{d:`M0 0 L10 5 L0 10 z`,fill:ge[e]})},e))}),h.map((e,t)=>(0,x.jsx)(Te,{edge:e,uid:d},t)),f.map(e=>(0,x.jsx)(Oe,{node:e},e.id))]})}),(_.length>0||p.length>0)&&(0,x.jsxs)(`div`,{className:`cast-legend`,children:[_.map(e=>(0,x.jsxs)(`span`,{className:`cast-legend-item`,children:[(0,x.jsx)(`span`,{className:`cast-swatch cast-swatch--line${ye.has(e)?` is-dashed`:``}`,style:{color:ge[e]}}),_e[e]]},`k-${e}`)),p.map(e=>(0,x.jsxs)(`span`,{className:`cast-legend-item`,children:[(0,x.jsx)(`span`,{className:`cast-swatch`,style:{background:e.color}}),e.name]},`f-${e.name}`))]}),s&&(0,x.jsx)(`p`,{className:`cast-caption`,children:s}),c&&(0,x.jsx)(`div`,{className:`cast-foot`,dangerouslySetInnerHTML:a(c)})]})}function Te(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;if(t[0]!==i||t[1]!==a||t[2]!==o||t[3]!==r){let e=Ce(i,a.cx,a.cy,!0),n=Ce(a,i.cx,i.cy,!1),s=(e.x+n.x)/2,y=(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=y+b/C*w,d=ge[o];let T;t[18]!==o||t[19]!==r?(T=ve.has(o)?`url(#cast-arrow-${r}-${o})`:void 0,t[18]=o,t[19]=r,t[20]=T):T=t[20],c=T,v=`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),_=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]=_,t[14]=v}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],_=t[13],v=t[14];let y=`M ${f} ${p} Q ${m} ${h} ${g} ${_}`,b=ye.has(o)?`8 7`:void 0,S;t[25]!==c||t[26]!==d||t[27]!==y||t[28]!==b?(S=(0,x.jsx)(`path`,{d:y,fill:`none`,stroke:d,strokeWidth:2.4,strokeDasharray:b,markerEnd:c,opacity:.82}),t[25]=c,t[26]=d,t[27]=y,t[28]=b,t[29]=S):S=t[29];let C;t[30]!==l||t[31]!==u||t[32]!==s.label?(C=s.label&&(0,x.jsxs)(`g`,{transform:`translate(${l.toFixed(1)}, ${(u-16).toFixed(1)})`,children:[(0,x.jsx)(`rect`,{className:`cast-edge-lbl-bg`,x:-ke(s.label)/2,y:-11,width:ke(s.label),height:20,rx:6}),(0,x.jsx)(`text`,{className:`cast-edge-lbl`,x:0,y:0,textAnchor:`middle`,dominantBaseline:`middle`,children:je(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]!==v?(w=(0,x.jsxs)(`g`,{className:v,children:[S,C]}),t[34]=S,t[35]=C,t[36]=v,t[37]=w):w=t[37],w}var Ee=27,De=21;function Oe(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;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=Ae(n.name,o,r?1:2);let e=l.length*Ee+(r?De:0);v=n.cy-e/2+Ee*.74,g=`cast-node`;let i=n.cx-n.rx,a=n.cy-n.ry,s=n.rx*2,c=n.ry*2,y;t[22]===n.color?y=t[23]:(y={stroke:n.color},t[22]=n.color,t[23]=y),t[24]!==i||t[25]!==a||t[26]!==s||t[27]!==c||t[28]!==y?(_=(0,x.jsx)(`rect`,{x:i,y:a,width:s,height:c,rx:14,className:`cast-chip`,style:y}),t[24]=i,t[25]=a,t[26]=s,t[27]=c,t[28]=y,t[29]=_):_=t[29];let b=n.cx-n.rx,S=n.cy-n.ry+8,C=n.ry*2-16;t[30]!==n.color||t[31]!==b||t[32]!==S||t[33]!==C?(u=(0,x.jsx)(`rect`,{x:b,y:S,width:4,height:C,rx:2,fill:n.color}),t[30]=n.color,t[31]=b,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,x.jsx)(`title`,{children:n.name}),t[35]=n.name,t[36]=m);let w;t[37]!==n.cx||t[38]!==v?(w=(e,t)=>(0,x.jsx)(`tspan`,{x:n.cx,y:v+t*Ee,children:e},t),t[37]=n.cx,t[38]=v,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]=_,t[21]=v}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],_=t[20],v=t[21];let y;t[40]!==d||t[41]!==f||t[42]!==p||t[43]!==m||t[44]!==h?(y=(0,x.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]=y):y=t[45];let b;t[46]!==r||t[47]!==l||t[48]!==n.cx||t[49]!==n.role||t[50]!==c||t[51]!==v?(b=r&&(0,x.jsx)(`text`,{className:`cast-role`,x:n.cx,y:v+l.length*Ee+2,textAnchor:`middle`,children:je(n.role,c)}),t[46]=r,t[47]=l,t[48]=n.cx,t[49]=n.role,t[50]=c,t[51]=v,t[52]=b):b=t[52];let S;return t[53]!==u||t[54]!==y||t[55]!==b||t[56]!==g||t[57]!==_?(S=(0,x.jsxs)(`g`,{className:g,children:[_,u,y,b]}),t[53]=u,t[54]=y,t[55]=b,t[56]=g,t[57]=_,t[58]=S):S=t[58],S}function ke(e){return Math.min(e.length,16)*9+14}function Ae(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 je(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}var Me=720,Ne=18,L=34,Pe=18,Fe=190,Ie=46,Le=14,Re=16,ze=168,Be=64,Ve=210,He=13,Ue=24,We=Ne,Ge=512,Ke=276,qe=360,Je={short:`var(--insight)`,long:`var(--warning)`},Ye={short:`Short-term`,long:`Long-term`};function Xe(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 Ze({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:g,eventY:_,eventCY:v}=(0,b.useMemo)(()=>{let e=Xe(s??[]),t=Xe(c??[]),n=e=>e.length===0?0:e.length*Ie+(e.length-1)*Le+e.filter(e=>e.gap).length*Re,r=n(e),i=n(t),a=Math.max(Ve,Math.max(r,i,Be)+L+Pe),l=(e,t)=>{let r=n(e),i=L+(a-L-Pe-r)/2,s=[];for(let{item:n,gap:r}of e){r&&(i+=Re);let e=Math.max(0,Math.min(1,n.weight??.5));s.push({link:n,x:t,y:i,cy:i+Ie/2,color:n.term?Je[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,We),d=l(t,Ge),f=L+(a-L-Pe-Be)/2;return{vbH:a,leftPlaced:u,rightPlaced:d,eventY:f,eventCY:f+Be/2}},[s,c]),y=(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=Qe(e.link.label),r=e.cy-(n.length-1)*He/2;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`rect`,{x:e.x,y:e.y,width:Fe,height:Ie,rx:10,className:`cau-node`,style:{stroke:e.color}}),(0,x.jsx)(`rect`,{x:e.x,y:e.y,width:4,height:Ie,rx:2,fill:e.color}),e.link.term&&(0,x.jsx)(`circle`,{cx:e.x+Fe-11,cy:e.y+11,r:3.5,fill:e.color,className:`cau-term-dot`,children:(0,x.jsx)(`title`,{children:Ye[e.link.term]})}),(0,x.jsxs)(`text`,{x:e.x+14,className:`cau-node-lbl`,dominantBaseline:`middle`,children:[(0,x.jsx)(`title`,{children:e.link.label}),n.map((t,n)=>(0,x.jsx)(`tspan`,{x:e.x+14,y:r+n*He,children:t},n))]})]},t)});return(0,x.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(f||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(p,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`cau-wrap`,children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${Me} ${m}`,className:`cau-svg`,role:`img`,"aria-label":e,preserveAspectRatio:`xMidYMid meet`,children:[(0,x.jsx)(`defs`,{children:(0,x.jsx)(`marker`,{id:`cau-arrow`,markerWidth:`8`,markerHeight:`8`,refX:`6`,refY:`4`,orient:`auto`,markerUnits:`userSpaceOnUse`,children:(0,x.jsx)(`path`,{d:`M1,1 L6,4 L1,7`,className:`cau-arrowhead`})})}),(0,x.jsxs)(`text`,{x:32,y:18,className:`cau-col-hdr`,textAnchor:`start`,children:[l,` →`]}),(0,x.jsx)(`text`,{x:qe,y:18,className:`cau-col-hdr cau-col-hdr--event`,textAnchor:`middle`,children:`Event`}),(0,x.jsxs)(`text`,{x:688,y:18,className:`cau-col-hdr`,textAnchor:`end`,children:[`→ `,u]}),h.map((e,t)=>(0,x.jsx)(`path`,{d:y(e.x+Fe,e.cy,Ke,v),className:`cau-link`,style:{stroke:e.color,strokeWidth:e.sw,opacity:e.op},markerEnd:`url(#cau-arrow)`},`lc${t}`)),g.map((e,t)=>(0,x.jsx)(`path`,{d:y(444,v,e.x,e.cy),className:`cau-link`,style:{stroke:e.color,strokeWidth:e.sw,opacity:e.op},markerEnd:`url(#cau-arrow)`},`rc${t}`)),(0,x.jsx)(`rect`,{x:Ke,y:_,width:ze,height:Be,rx:12,className:`cau-event`}),(0,x.jsx)(`text`,{x:qe,y:v,className:`cau-event-lbl`,textAnchor:`middle`,children:$e(r.label).map((e,t,n)=>(0,x.jsx)(`tspan`,{x:qe,dy:t===0?`${-((n.length-1)*.55)}em`:`1.1em`,children:e},t))}),S(h),S(g)]})}),et(s,c)&&(0,x.jsxs)(`div`,{className:`cau-legend`,children:[(0,x.jsxs)(`span`,{className:`cau-legend-item`,children:[(0,x.jsx)(`span`,{className:`cau-swatch`,style:{background:Je.short}}),` Short-term`]}),(0,x.jsxs)(`span`,{className:`cau-legend-item`,children:[(0,x.jsx)(`span`,{className:`cau-swatch`,style:{background:Je.long}}),` Long-term`]}),(0,x.jsx)(`span`,{className:`cau-legend-item cau-legend-item--weight`,children:`line weight = strength`})]}),d&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(d)})]})}function Qe(e,t=Ue,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 $e(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 et(e,t){return[...e??[],...t??[]].some(e=>e.term===`short`||e.term===`long`)}function tt(e){switch(e){case`battery`:return(0,x.jsxs)(`g`,{className:`dg-cir-glyph`,children:[(0,x.jsx)(`line`,{x1:-2.5,y1:-5,x2:-2.5,y2:5,strokeWidth:1.4}),(0,x.jsx)(`line`,{x1:2.5,y1:-2.5,x2:2.5,y2:2.5,strokeWidth:1.4}),(0,x.jsx)(`line`,{x1:-7,y1:0,x2:-2.5,y2:0}),(0,x.jsx)(`line`,{x1:2.5,y1:0,x2:7,y2:0})]});case`resistor`:return(0,x.jsxs)(`g`,{className:`dg-cir-glyph`,children:[(0,x.jsx)(`line`,{x1:-7,y1:0,x2:-5,y2:0}),(0,x.jsx)(`polyline`,{points:`-5,0 -4,-3 -2,3 0,-3 2,3 4,-3 5,0`,fill:`none`}),(0,x.jsx)(`line`,{x1:5,y1:0,x2:7,y2:0})]});case`capacitor`:return(0,x.jsxs)(`g`,{className:`dg-cir-glyph`,children:[(0,x.jsx)(`line`,{x1:-7,y1:0,x2:-1.5,y2:0}),(0,x.jsx)(`line`,{x1:-1.5,y1:-4,x2:-1.5,y2:4}),(0,x.jsx)(`line`,{x1:1.5,y1:-4,x2:1.5,y2:4}),(0,x.jsx)(`line`,{x1:1.5,y1:0,x2:7,y2:0})]});case`bulb`:return(0,x.jsxs)(`g`,{className:`dg-cir-glyph`,children:[(0,x.jsx)(`line`,{x1:-7,y1:0,x2:-5,y2:0}),(0,x.jsx)(`circle`,{cx:0,cy:0,r:5,fill:`none`}),(0,x.jsx)(`line`,{x1:-3.5,y1:-3.5,x2:3.5,y2:3.5}),(0,x.jsx)(`line`,{x1:-3.5,y1:3.5,x2:3.5,y2:-3.5}),(0,x.jsx)(`line`,{x1:5,y1:0,x2:7,y2:0})]});case`switch`:return(0,x.jsxs)(`g`,{className:`dg-cir-glyph`,children:[(0,x.jsx)(`line`,{x1:-7,y1:0,x2:-4,y2:0}),(0,x.jsx)(`circle`,{cx:-4,cy:0,r:1}),(0,x.jsx)(`line`,{x1:-4,y1:0,x2:4,y2:-4}),(0,x.jsx)(`circle`,{cx:4,cy:0,r:1}),(0,x.jsx)(`line`,{x1:4,y1:0,x2:7,y2:0})]});case`ground`:return(0,x.jsxs)(`g`,{className:`dg-cir-glyph`,children:[(0,x.jsx)(`line`,{x1:0,y1:-7,x2:0,y2:0}),(0,x.jsx)(`line`,{x1:-5,y1:0,x2:5,y2:0,strokeWidth:1.4}),(0,x.jsx)(`line`,{x1:-3,y1:2.5,x2:3,y2:2.5}),(0,x.jsx)(`line`,{x1:-1.5,y1:5,x2:1.5,y2:5})]});default:return(0,x.jsx)(`circle`,{cx:0,cy:0,r:1.6,className:`dg-cir-node`})}}var nt={battery:-5,resistor:-3,capacitor:-4,bulb:-5,switch:-4,ground:-7,node:-1.6},rt=3;function it(e){return(nt[e]??nt.node)-rt}var at=14;function ot(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function st({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,x.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(c||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`dg-cir`,children:(0,x.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,x.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,x.jsxs)(`g`,{transform:`translate(${e.x} ${e.y})`,children:[tt(e.kind),e.label&&(0,x.jsxs)(`text`,{x:0,y:it(e.kind),className:`dg-cir-lbl`,textAnchor:`middle`,children:[e.label.length>at&&(0,x.jsx)(`title`,{children:e.label}),ot(e.label,at)]})]},e.id))]})}),s&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(s)})]})}var ct=1e3,lt=200,ut=40,dt=78,ft=46,pt=24,mt=4,ht=15,gt=13,_t=17,vt=12,yt=12,bt=180,xt=new Set([`interface`,`abstract`,`enum`]),St=new Set([`inheritance`,`implements`,`composition`,`aggregation`,`association`,`dependency`]);function Ct(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 wt(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`&&xt.has(n.stereotype)?n.stereotype:void 0,fields:Ct(n.fields),methods:Ct(n.methods)}}).filter(e=>e!==null):[]}function Tt(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=St.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 Et(e){let t=u(e,{maxWidth:bt,fontSize:vt,minFontSize:yt,maxLines:2,lineHeight:1.25});return{fit:t,h:t.lines.length*t.lineHeightPx+3}}function Dt(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 Ot(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 kt={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)`},At={inheritance:13,implements:13,composition:17,aggregation:17,association:0,dependency:0};function jt(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,x.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,x.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,x.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,x.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 Mt({title:e,icon:t=`layers`,iconColor:n=`var(--presence)`,classes:r,relations:o,footer:c,delay:l}){let d=i[t]||i.layers,f=(0,b.useMemo)(()=>wt(r),[r]),p=(0,b.useMemo)(()=>Tt(o),[o]),{placed:m,byName:h,vbH:g}=(0,b.useMemo)(()=>{let e=f.map(e=>{let t=u(e.name,{maxWidth:bt,fontSize:ht,minFontSize:yt,maxLines:2,lineHeight:1.2,bold:!0}),n=10+(e.stereotype?_t:0)+t.lines.length*t.lineHeightPx+8,r=e.fields.map(Et),i=e.methods.map(Et),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:lt,h:n+a+o,cx:0,cy:0,nameFit:t,headerH:n,fieldFits:r,fieldsH:a,methodFits:i,methodsH:o}}),t=Dt(f,p),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=pt;for(let e of[...n.keys()].sort((e,t)=>e-t)){let t=n.get(e);for(let e=0;e<t.length;e+=mt){let n=t.slice(e,e+mt),i=(ct-(n.length*lt+(n.length-1)*ut))/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+ft}r+=32}return{placed:e,byName:new Map(e.map(e=>[e.cls.name,e])),vbH:Math.max(200,r-dt+pt)}},[f,p]);return(0,x.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(l||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),m.length===0?(0,x.jsx)(s,{message:`No classes to diagram`}):(0,x.jsx)(`div`,{className:`dg-stage ucd-stage`,children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${ct} ${g}`,className:`dg-svg`,role:`img`,"aria-label":e,children:[p.map((e,t)=>{let n=h.get(e.from),r=h.get(e.to);if(!n||!r||n===r)return null;let i=Ot(n,r.cx,r.cy),a=Ot(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=At[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,p=c?i.x+d*l:i.x,m=c?i.y+f*l:i.y,g=c?a.x:a.x-d*l,_=c?a.y:a.y-f*l;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{className:`ucd-edge`,x1:p,y1:m,x2:g,y2:_,strokeDasharray:s?`6 5`:void 0}),c?(0,x.jsx)(jt,{kind:e.kind,x:i.x,y:i.y,angle:o+180}):(0,x.jsx)(jt,{kind:e.kind,x:a.x,y:a.y,angle:o})]},`r${t}`)}),m.map((e,t)=>{let n=kt[e.cls.stereotype??`none`],r=e.y+10+(e.cls.stereotype?_t:0),i=e.y+e.headerH,a=i+e.fieldsH,o=i+7,s=a+7;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`rect`,{x:e.x,y:e.y,width:e.w,height:e.h,rx:5,className:`ucd-box`}),(0,x.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,x.jsx)(`line`,{x1:e.x,y1:i,x2:e.x+e.w,y2:i,className:`ucd-sep`}),(0,x.jsx)(`line`,{x1:e.x,y1:a,x2:e.x+e.w,y2:a,className:`ucd-sep`}),e.cls.stereotype&&(0,x.jsx)(`text`,{x:e.cx,y:e.y+10+_t/2,className:`ucd-stereo`,textAnchor:`middle`,dominantBaseline:`middle`,fontSize:gt,children:`«${e.cls.stereotype}»`}),(0,x.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,x.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,x.jsx)(`text`,{className:`ucd-member`,fontSize:t.fit.fontSize,children:t.fit.lines.map((n,i)=>(0,x.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,x.jsx)(`text`,{className:`ucd-member`,fontSize:t.fit.fontSize,children:t.fit.lines.map((n,i)=>(0,x.jsx)(`tspan`,{x:e.x+10,y:r+(i+.5)*t.fit.lineHeightPx,dominantBaseline:`middle`,children:n},i))},`m${n}`)})]},`${e.cls.name}-${t}`)}),p.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=Ot(n,r.cx,r.cy),a=Ot(r,n.cx,n.cy),o=u(e.label,{maxWidth:170,fontSize:14,minFontSize:yt,maxLines:2,lineHeight:1.15,bold:!0}),s=(i.x+a.x)/2,c=(i.y+a.y)/2-14-(o.lines.length-1)*o.lineHeightPx/2;return(0,x.jsx)(`text`,{className:`dg-edge-label`,textAnchor:`middle`,fontSize:o.fontSize,children:o.lines.map((e,t)=>(0,x.jsx)(`tspan`,{x:s,y:c+t*o.lineHeightPx,dominantBaseline:`middle`,children:e},t))},`l${t}`)})]})}),c&&(0,x.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(c)})]})}var Nt=1e3,Pt=130,Ft=40,It=260,Lt=170,Rt=78,zt=64,Bt=74,Vt=148,Ht=250,R=24,Ut=46,Wt=18;function Gt(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function Kt(e){return Number.isFinite(e)?Math.min(1,Math.max(0,e/100)):.5}function qt(e){return Math.min(Ht,Math.max(Vt,46+e.length*11))}function Jt(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 Yt(e,t){let n=Jt(e,t),r=Math.max(0,...e.map(e=>n.get(e.id)??0)),i=new Map;for(let t of e){if(t.x!==void 0&&t.y!==void 0)continue;let e=n.get(t.id)??0;i.has(e)||i.set(e,[]),i.get(e).push(t)}let a=e.map(e=>{let t=e.kind===`sum`?`sum`:`block`,a=typeof e.label==`string`&&e.label?e.label:t===`sum`?`Σ`:`Block`,o=t===`sum`?R:qt(a)/2,s=t===`sum`?R:Bt/2;if(Number.isFinite(e.x)&&Number.isFinite(e.y))return{id:e.id,label:a,kind:t,cx:Pt+Kt(e.x)*740,cy:Ft+Kt(e.y)*It,halfW:o,halfH:s};let c=n.get(e.id)??0,l=i.get(c)??[e],u=l.indexOf(e),d=l.length,f=d>5?312/(d-1):Rt,p=(d-1)/2,m=r===0?Nt/2:Pt+c/r*740,h=Lt+(u-p)*f;return{id:e.id,label:a,kind:t,cx:m,cy:h,halfW:o,halfH:s}}),o=t.filter(e=>e.feedback).length,s=a.length?Math.min(...a.map(e=>e.cy-e.halfH-(e.kind===`sum`?30:0))):Ft,c=s<0?-s+20:0;for(let e of a)e.cy+=c;return{placed:a,vbH:(a.length?Math.max(...a.map(e=>e.cy+e.halfH)):207)+o*zt+Ut}}function Xt(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 Zt(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 Qt(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 $t({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,b.useId)().replace(/:/g,``)}`,d=(0,b.useMemo)(()=>Array.isArray(r)?r:[],[r]),f=(0,b.useMemo)(()=>Array.isArray(o)?o:[],[o]),{placed:p,vbH:m}=(0,b.useMemo)(()=>Yt(d,f),[d,f]),h=(0,b.useMemo)(()=>new Map(p.map(e=>[e.id,e])),[p]),g=(0,b.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,x.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(c||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`dg-cbd-stage`,children:(0,x.jsxs)(`svg`,{className:`dg-cbd-svg`,viewBox:`0 0 ${Nt} ${m}`,preserveAspectRatio:`xMidYMid meet`,role:`img`,"aria-label":e,children:[(0,x.jsx)(`defs`,{children:(0,x.jsx)(`marker`,{id:u,viewBox:`0 0 10 10`,refX:`8`,refY:`5`,markerWidth:`7`,markerHeight:`7`,orient:`auto-start-reverse`,children:(0,x.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=g.get(t)??1,a=m-Ut-(g.size-e)*zt,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,x.jsx)(`text`,{x:r.cx+16,y:s+20,className:`dg-cbd-sign`,textAnchor:`start`,dominantBaseline:`middle`,children:i});return(0,x.jsxs)(`g`,{className:`dg-cbd-wire`,children:[(0,x.jsx)(`polyline`,{points:c,fill:`none`,markerEnd:`url(#${u})`}),l]},`w${t}`)}let a=Zt(n,r),o=Xt(n,r),s=i?Qt(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,x.jsxs)(`g`,{className:`dg-cbd-wire`,children:[(0,x.jsx)(`line`,{x1:a.x,y1:a.y,x2:o.x,y2:o.y,markerEnd:`url(#${u})`}),s&&(0,x.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,x.jsxs)(`g`,{children:[(0,x.jsx)(`circle`,{cx:e.cx,cy:e.cy,r:R,className:`dg-cbd-sum`}),(0,x.jsx)(`line`,{x1:e.cx-R*.4,y1:e.cy,x2:e.cx+R*.4,y2:e.cy,className:`dg-cbd-sum-cross`}),(0,x.jsx)(`line`,{x1:e.cx,y1:e.cy-R*.4,x2:e.cx,y2:e.cy+R*.4,className:`dg-cbd-sum-cross`}),(0,x.jsxs)(`text`,{x:e.cx,y:e.cy-R-12,className:`dg-cbd-sum-label`,textAnchor:`middle`,children:[e.label.length>Wt&&(0,x.jsx)(`title`,{children:e.label}),Gt(e.label,Wt)]})]},e.id):(0,x.jsxs)(`g`,{children:[(0,x.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,x.jsxs)(`text`,{x:e.cx,y:e.cy,className:`dg-cbd-label`,textAnchor:`middle`,dominantBaseline:`middle`,children:[e.label.length>Wt&&(0,x.jsx)(`title`,{children:e.label}),Gt(e.label,Wt)]})]},e.id))]})}),s&&(0,x.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(s)})]})}var en=138,tn=40,nn=30,rn=692,an=400,on=rn/2,sn=an/2,cn=.26,ln=22,un=9;function dn(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:on+Math.cos(r)*en,cy:sn+Math.sin(r)*en,ang:r,left:Math.cos(r)<-.001}})}function fn(e,t){let n=en+t;return{x:on+Math.cos(e)*n,y:sn+Math.sin(e)*n}}function pn({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,b.useId)().replace(/:/g,``),d=dn(r),f=d.length;return(0,x.jsxs)(`div`,{className:`card reveal dg-cw-card`,style:{"--delay":(c??0)+`ms`},children:[e&&(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`dg-cw-stage`,children:(0,x.jsxs)(`svg`,{className:`dg-cw-svg`,viewBox:`0 0 ${rn} ${an}`,preserveAspectRatio:`xMidYMid meet`,role:`img`,"aria-label":e??`Cycle`,children:[(0,x.jsx)(`defs`,{children:(0,x.jsx)(`marker`,{id:`dg-cw-arrow-${u}`,viewBox:`0 0 10 10`,refX:`7`,refY:`5`,markerWidth:un,markerHeight:un,orient:`auto-start-reverse`,children:(0,x.jsx)(`path`,{d:`M0 0 L10 5 L0 10 z`,className:`dg-cw-arrowfill`})})}),(0,x.jsx)(`circle`,{className:`dg-cw-ring`,cx:on,cy:sn,r:en}),d.map((e,t)=>{let n=d[(t+1)%f];return f<2?null:(0,x.jsx)(mn,{from:e,to:n,uid:u},`c${t}`)}),d.map((e,t)=>(0,x.jsx)(hn,{placed:e,index:t},`n${t}`))]})}),o&&(0,x.jsx)(`p`,{className:`dg-cw-cap`,children:o}),s&&(0,x.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(s)})]})}function mn(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+cn*o,c;t[0]===s?c=t[1]:(c=fn(s,ln),t[0]=s,t[1]=c);let l=c,u=r.ang-cn*o,d;t[2]===u?d=t[3]:(d=fn(u,ln),t[2]=u,t[3]=d);let f=d,p=+(Math.abs(a)-cn*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})`,_;return t[4]!==h||t[5]!==g?(_=(0,x.jsx)(`path`,{className:`dg-cw-link`,d:h,markerEnd:g}),t[4]=h,t[5]=g,t[6]=_):_=t[6],_}function hn(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=gn(a.label,16,2),n=a.caption?gn(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,x.jsx)(`circle`,{className:`dg-cw-disc`,cx:o,cy:s,r:tn}),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,x.jsx)(l,{x:o-nn/2,y:s-nn/2,width:nn,height:nn,className:`dg-cw-glyph`}):(0,x.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,x.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),_;t[20]!==d||t[21]!==g?(_=(0,x.jsx)(`text`,{className:`dg-cw-label`,textAnchor:d,children:g}),t[20]=d,t[21]=g,t[22]=_):_=t[22],f=(0,x.jsxs)(`g`,{className:`dg-cw-node`,children:[p,m,_,n.length>0&&(0,x.jsx)(`text`,{className:`dg-cw-cap-lbl`,textAnchor:d,children:n.map((e,t)=>(0,x.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 gn(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 _n=1e3,vn=130,yn=113,bn=74,xn=320,Sn=226,Cn=720,wn=70,Tn=-30,En={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))`},Dn={source:`var(--presence)`,transform:`var(--line-strong)`,store:`var(--presence-soft)`,sink:`var(--insight)`},On=17,kn=20;function An(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function jn(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 Mn(e,t){if(e.length===0)return xn;let n=jn(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*vn+Math.max(0,i-1)*bn;return Math.max(xn,a+226)}function Nn(e,t){if(e.length===0)return _n;let n=jn(e,t),r=new Set(e.map(e=>n.get(e.id)??0)).size;return Math.max(_n,Math.max(1,r-1)*Sn+226)}function Pn(e,t,n,r){let i=n-226,a=r-226,o=e=>yn+e*i,s=e=>yn+e*a,c=e.map(e=>Number.isFinite(e.x)&&Number.isFinite(e.y)?{...e,cx:o(Fn(e.x)),cy:s(Fn(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=jn(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 Fn(e){return Math.min(1,Math.max(0,e))}function In(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 Ln(e,t){let n=t.cx-e.cx,r=t.cy-e.cy,i=Math.atan2(r,n),{rx:a,ry:o}=In(e,t);return{x:t.cx-Math.cos(i)*a,y:t.cy-Math.sin(i)*o}}function Rn(e,t){let n=t.cx-e.cx,r=t.cy-e.cy,i=Math.atan2(r,n),{rx:a,ry:o}=In(e,t);return{x:e.cx+Math.cos(i)*a,y:e.cy+Math.sin(i)*o}}function zn(e){return e===`store`?(0,x.jsxs)(`g`,{className:`dp-icon`,transform:`translate(0 -2)`,children:[(0,x.jsx)(`line`,{x1:-9,y1:-4,x2:9,y2:-4}),(0,x.jsx)(`line`,{x1:-9,y1:0,x2:9,y2:0}),(0,x.jsx)(`line`,{x1:-9,y1:4,x2:9,y2:4})]}):(0,x.jsxs)(`g`,{className:`dp-icon`,transform:`translate(0 -2)`,children:[(0,x.jsx)(`line`,{x1:-10,y1:0,x2:7,y2:0}),(0,x.jsx)(`path`,{d:`M 1 -6 L 11 0 L 1 6`,fill:`none`})]})}function Bn(e,t,n){let r={fill:t,stroke:n,strokeWidth:2.2};switch(e){case`source`:return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`rect`,{x:-75,y:-35,width:150,height:wn,rx:14,...r}),(0,x.jsxs)(`g`,{className:`dp-icon`,transform:`translate(-2 -2)`,children:[(0,x.jsx)(`line`,{x1:-16,y1:0,x2:6,y2:0}),(0,x.jsx)(`path`,{d:`M 0 -6 L 8 0 L 0 6`,fill:`none`})]})]});case`sink`:case`store`:{let t=wn/2-13;return(0,x.jsxs)(`g`,{children:[(0,x.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,x.jsx)(`path`,{d:`M -58 -22 A 58 13 0 0 0 58 -22`,fill:`none`,stroke:n,strokeWidth:1.6}),zn(e)]})}default:{let e=Array.from({length:6},(e,t)=>{let n=Math.PI/3*t;return`${Math.cos(n)*66},${Math.sin(n)*40}`}).join(` `);return(0,x.jsx)(`polygon`,{points:e,...r})}}}function Vn({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,b.useId)().replace(/:/g,``),d=(0,b.useMemo)(()=>Array.isArray(r)?r:[],[r]),f=(0,b.useMemo)(()=>Array.isArray(o)?o:[],[o]),p=(0,b.useMemo)(()=>Nn(d,f),[d,f]),m=(0,b.useMemo)(()=>Mn(d,f),[d,f]),h=(0,b.useMemo)(()=>Pn(d,f,p,m),[d,f,p,m]),g=(0,b.useMemo)(()=>new Map(h.map(e=>[e.id,e])),[h]),_=Math.round(Cn*p/_n),v=(0,b.useMemo)(()=>f.map((e,t)=>{let n=g.get(e?.from),r=g.get(e?.to);return!n||!r?null:{key:t,s:Rn(n,r),t:Ln(n,r),label:typeof e.label==`string`?e.label:``}}).filter(e=>e!==null),[f,g]);return(0,x.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(c||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`dg-stage dp-stage`,style:{maxWidth:_},children:(0,x.jsxs)(`svg`,{className:`dg-svg`,viewBox:`0 0 ${p} ${m}`,preserveAspectRatio:`xMidYMid meet`,role:`img`,"aria-label":e,children:[(0,x.jsx)(`defs`,{children:(0,x.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,x.jsx)(`path`,{d:`M0 0 L10 5 L0 10 z`,className:`dp-arrowhead`})})}),v.map(({key:e,s:t,t:n})=>(0,x.jsx)(`g`,{className:`dp-edge`,children:(0,x.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+Tn,r=typeof e.label==`string`&&e.label?e.label:e.id||`Stage`,i=e.kind??`transform`;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`g`,{transform:`translate(${e.cx} ${n})`,children:Bn(i,En[i]??En.transform,Dn[i]??Dn.transform)}),(0,x.jsxs)(`text`,{x:e.cx,y:n+wn/2+24,className:`dp-label`,textAnchor:`middle`,children:[r.length>On&&(0,x.jsx)(`title`,{children:r}),An(r,On)]}),e.sub&&(0,x.jsxs)(`text`,{x:e.cx,y:n+wn/2+44,className:`dp-sub`,textAnchor:`middle`,children:[e.sub.length>kn&&(0,x.jsx)(`title`,{children:e.sub}),An(e.sub,kn)]})]},e.id??t)}),v.map(({key:e,s:t,t:n,label:r})=>{if(!r)return null;let i=(t.x+n.x)/2,a=(t.y+n.y)/2;return(0,x.jsx)(`text`,{x:i,y:a-8,className:`dg-edge-label`,textAnchor:`middle`,children:An(r,26)},e)})]})}),s&&(0,x.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(s)})]})}var z=46,B=14,Hn=58,Un=40,Wn=34,Gn=17,Kn=46,qn=64,V=e=>typeof e==`number`?String(e):e,Jn=7.4,Yn=Math.max(2,Math.floor(29.24/Jn)),Xn=Math.max(2,Math.floor(Hn*.62*.82/Jn));function Zn(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function Qn(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 $n(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 er(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*Kn,d=31+s*qn;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 tr(e,t,n){let r=Math.max(1,e.length),i=t.length?22:4,a=28+r*z,o=i+z+22,s=i;return{vbW:a,vbH:o,svg:(0,x.jsxs)(x.Fragment,{children:[e.map((e,t)=>{let r=B+t*z;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`rect`,{x:r,y:s,width:z,height:z,rx:4,className:`dst-cell`+(n===t?` on`:``)}),(0,x.jsx)(`text`,{x:r+z/2,y:s+z/2+4,className:`dst-val`,textAnchor:`middle`,children:V(e.value)}),(0,x.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,x.jsxs)(`g`,{children:[(0,x.jsx)(`text`,{x:n,y:s-12,className:`dst-ptr`,textAnchor:`middle`,children:e.label}),(0,x.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 nr(e,t,n){let r=Math.max(1,e.length),i=28+r*92+Wn,a=Hn*.62;return{vbW:i,vbH:86,svg:(0,x.jsxs)(x.Fragment,{children:[(0,x.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+Hn)/2,c=V(e.value);return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`rect`,{x:i,y:28,width:Hn,height:Un,rx:5,className:`dst-cell`+(o?` on`:``)}),(0,x.jsx)(`line`,{x1:i+a,y1:28,x2:i+a,y2:68,className:`dst-divide`}),(0,x.jsxs)(`text`,{x:i+a/2,y:52,className:`dst-val`,textAnchor:`middle`,children:[c.length>Xn&&(0,x.jsx)(`title`,{children:c}),Zn(c,Xn)]}),(0,x.jsx)(`circle`,{cx:s,cy:48,r:2.6,className:`dst-dot`}),(0,x.jsx)(`line`,{x1:s,y1:48,x2:i+92-4,y2:48,className:`dst-edge`,markerEnd:n})]},r)}),(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`rect`,{x:B+r*92,y:32,width:Wn,height:32,rx:4,className:`dst-null`}),(0,x.jsx)(`text`,{x:B+r*92+Wn/2,y:51.5,className:`dst-null-lbl`,textAnchor:`middle`,children:`null`})]})]})}}function rr(e,t){let n=Math.max(1,e.length),r=z*1.9;return{vbW:159.39999999999998,vbH:28+n*z,svg:(0,x.jsx)(x.Fragment,{children:e.map((i,a)=>{let o=B+(n-1-a)*z,s=t===a,c=a===e.length-1;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`rect`,{x:58,y:o,width:r,height:z,rx:4,className:`dst-cell`+(s?` on`:``)}),(0,x.jsx)(`text`,{x:101.69999999999999,y:o+z/2+4,className:`dst-val`,textAnchor:`middle`,children:V(i.value)}),c&&(0,x.jsx)(`text`,{x:50,y:o+z/2+3.5,className:`dst-ptr`,textAnchor:`end`,children:`top`})]},a)})})}}function ir(e,t){let n=Math.max(1,e.length),r=z*1.25;return{vbW:28+n*r,vbH:72,svg:(0,x.jsx)(x.Fragment,{children:e.map((n,i)=>{let a=B+i*r,o=t===i,s=i===0,c=i===e.length-1;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`rect`,{x:a,y:22,width:r,height:z,rx:4,className:`dst-cell`+(o?` on`:``)}),(0,x.jsx)(`text`,{x:a+r/2,y:49,className:`dst-val`,textAnchor:`middle`,children:V(n.value)}),s&&(0,x.jsx)(`text`,{x:a+r/2,y:14,className:`dst-ptr`,textAnchor:`middle`,children:`front`}),c&&!s&&(0,x.jsx)(`text`,{x:a+r/2,y:14,className:`dst-ptr`,textAnchor:`middle`,children:`rear`})]},i)})})}}function ar(e,t,n,r){let i=28+Math.max(1,t)*Kn,a=28+(n+1)*qn-30,o=new Map(e.map(e=>[e.id,e]));return{vbW:i,vbH:a,svg:(0,x.jsxs)(x.Fragment,{children:[e.map(e=>e.parentId&&o.has(e.parentId)?(0,x.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,x.jsxs)(`g`,{children:[(0,x.jsx)(`circle`,{cx:e.x,cy:e.y,r:Gn,className:`dst-node`+(t?` on`:``)}),(0,x.jsxs)(`text`,{x:e.x,y:e.y+4,className:`dst-val`,textAnchor:`middle`,children:[e.value.length>Yn&&(0,x.jsx)(`title`,{children:e.value}),Zn(e.value,Yn)]})]},e.id)})]})}}var or={array:`layers`,linkedlist:`link`,stack:`layers`,queue:`layers`,tree:`share`,bst:`share`,heap:`share`};function sr({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??or[r]]||i.layers,m=`dst-arrow-${(0,b.useId)().replace(/:/g,``)}`,h=`url(#${m})`,g=(0,b.useMemo)(()=>{let e=o.map(e=>typeof e==`object`&&e?e:{value:e}),t=typeof u==`number`?u:void 0;if(r===`array`)return tr(e,l,t);if(r===`linkedlist`)return nr(e,t,h);if(r===`stack`)return rr(e,t);if(r===`queue`)return ir(e,t);let{byId:n,rootId:i}=s&&s.length?Qn(s):$n(c??e.map(e=>e.value)),{placed:a,slots:d,maxDepth:f}=er(n,i);return ar(a,d,f,typeof u==`string`?u:void 0)},[r,o,s,c,l,u,h]),_=r===`linkedlist`;return(0,x.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(f||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(p,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`dst-wrap`,children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${g.vbW} ${g.vbH}`,className:`dst-svg`,role:`img`,"aria-label":e,children:[_&&(0,x.jsx)(`defs`,{children:(0,x.jsx)(`marker`,{id:m,markerWidth:`7`,markerHeight:`7`,refX:`6`,refY:`3.5`,orient:`auto`,children:(0,x.jsx)(`path`,{d:`M0,0 L7,3.5 L0,7 Z`,className:`dst-arrowhead`})})}),g.svg]})}),d&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(d)})]})}var cr=1e3,lr=108,ur=92,dr=46,fr=300,pr=212,mr=640,hr={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)`},gr={default:`var(--line)`,start:`var(--presence)`,accent:`var(--presence-soft)`,good:`var(--insight)`,warn:`var(--warning)`,muted:`var(--line)`},_r={default:`var(--text-muted)`,accent:`var(--presence)`,good:`var(--insight)`,warn:`var(--warning)`,muted:`var(--grid-line)`};function vr(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 yr(e,t,n){let r=e.length;if(r===0)return fr;if(n===`cycle`)return cr;let i;if(n===`layered`){let n=vr(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=i*92+Math.max(0,i-1)*60;return Math.max(fr,a+216)}function br(e,t,n){let r=e.length;if(r===0||n===`cycle`)return cr;let i;if(n===`layered`){let n=vr(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(cr,a*pr+216)}function xr(e,t,n,r,i){let a=r-216,o=i-216,s=e=>lr+e*a,c=e=>lr+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(Sr(e.x)),cy:c(Sr(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=vr(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 Sr(e){return Math.min(1,Math.max(0,e))}function Cr(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 wr(e,t){let n=t.cx-e.cx,r=t.cy-e.cy,i=Math.atan2(r,n),{rx:a,ry:o}=Cr(e,t);return{x:t.cx-Math.cos(i)*a,y:t.cy-Math.sin(i)*o}}function Tr(e,t){let n=t.cx-e.cx,r=t.cy-e.cy,i=Math.atan2(r,n),{rx:a,ry:o}=Cr(e,t);return{x:e.cx+Math.cos(i)*a,y:e.cy+Math.sin(i)*o}}function Er({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,b.useId)().replace(/:/g,``),f=(0,b.useMemo)(()=>br(o,s,r),[o,s,r]),p=(0,b.useMemo)(()=>yr(o,s,r),[o,s,r]),m=(0,b.useMemo)(()=>xr(o,s,r,f,p),[o,s,r,f,p]),h=(0,b.useMemo)(()=>new Map(m.map(e=>[e.id,e])),[m]),g=Math.round(mr*f/cr),_=(0,b.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,x.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(l||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`dg-stage`,style:{maxWidth:g},children:(0,x.jsxs)(`svg`,{className:`dg-svg`,viewBox:`0 0 ${f} ${p}`,preserveAspectRatio:`xMidYMid meet`,role:`img`,"aria-label":e,children:[(0,x.jsx)(`defs`,{children:_.map(e=>(0,x.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,x.jsx)(`path`,{d:`M0 0 L10 5 L0 10 z`,fill:_r[e]})},e))}),s.map((e,t)=>{let n=h.get(e.from),r=h.get(e.to);return!n||!r?null:(0,x.jsx)(Dr,{a:n,b:r,edge:e,uid:d},t)}),m.map(e=>(0,x.jsx)(Mr,{node:e},e.id))]})}),c&&(0,x.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(c)})]})}function Dr(e){let t=(0,F.c)(22),{a:n,b:r,edge:i,uid:a}=e,o=i.kind??`default`,s=_r[o],c;t[0]!==n||t[1]!==r?(c=Tr(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=wr(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 _=g,v=Math.min(60,_*.12),y=f-h/_*v,b=p+m/_*v,S=`url(#dg-arrow-${a}-${o})`,C=`M ${l.x} ${l.y} Q ${y} ${b} ${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,x.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]!==y||t[16]!==b||t[17]!==i.label?(D=i.label&&(0,x.jsx)(Or,{label:i.label,cx:y,cy:b}),t[15]=y,t[16]=b,t[17]=i.label,t[18]=D):D=t[18];let O;return t[19]!==E||t[20]!==D?(O=(0,x.jsxs)(`g`,{className:`dg-edge`,children:[E,D]}),t[19]=E,t[20]=D,t[21]=O):O=t[21],O}function Or(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=u(n,{maxWidth:220,fontSize:15,minFontSize:11,maxLines:2,lineHeight:1.15,bold:!0}),d=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,x.jsx)(`tspan`,{x:r,y:d+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 d;return t[8]!==a||t[9]!==o||t[10]!==s||t[11]!==c||t[12]!==l?(d=(0,x.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]=d):d=t[13],d}var kr=164,Ar=80,jr=.74;function Mr(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?u(e,{maxWidth:kr,fontSize:15,minFontSize:11,maxLines:2,lineHeight:1.2}):null,o=a?a.lines.length*a.lineHeightPx:0,s=u(n.label,{maxWidth:kr,fontSize:19,minFontSize:12,maxHeight:Ar-o,maxLines:e?2:3,lineHeight:1.16,bold:!0}),c=s.lines.length*s.lineHeightPx,l=n.cy-(c+o)/2,d=e?`${n.label} — ${e}`:n.label,f;t[6]===d?f=t[7]:(f=(0,x.jsx)(`title`,{children:d}),t[6]=d,t[7]=f);let p=hr[r],m=gr[r],h=r==="default"||r===`muted`?1.4:2,g;t[8]!==n.cx||t[9]!==n.cy||t[10]!==p||t[11]!==m||t[12]!==h?(g=(0,x.jsx)(`ellipse`,{cx:n.cx,cy:n.cy,rx:ur,ry:dr,fill:p,stroke:m,strokeWidth:h}),t[8]=n.cx,t[9]=n.cy,t[10]=p,t[11]=m,t[12]=h,t[13]=g):g=t[13];let _=n.cx,v=s.fontSize,y=s.lines.map((e,t)=>(0,x.jsx)(`tspan`,{x:n.cx,y:l+t*s.lineHeightPx+s.fontSize*jr,children:e},t)),b;t[14]!==s||t[15]!==n.cx||t[16]!==y?(b=(0,x.jsx)(`text`,{className:`dg-node-label`,x:_,textAnchor:`middle`,fontSize:v,children:y}),t[14]=s,t[15]=n.cx,t[16]=y,t[17]=b):b=t[17],i=(0,x.jsxs)(`g`,{className:`dg-node`,children:[f,g,b,a&&(0,x.jsx)(`text`,{className:`dg-node-sub`,x:n.cx,textAnchor:`middle`,fontSize:a.fontSize,children:a.lines.map((e,t)=>(0,x.jsx)(`tspan`,{x:n.cx,y:l+c+t*a.lineHeightPx+a.fontSize*jr,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 H=44,Nr=48,Pr=36,Fr=12,Ir=12,Lr=10,Rr=6,zr=5;function Br(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function Vr(e,t){return`${e},${t}`}function Hr({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,g]=(0,b.useState)(0),_=c?.length??0,v=Math.min(h,Math.max(0,_-1)),y=c?.[v],S=e=>g(Math.min(_-1,Math.max(0,e))),{vbW:C,vbH:w,clampedRows:T,clampedCols:E,clampedCells:D,pathSet:O,hlKey:k,depSet:A}=(0,b.useMemo)(()=>{let e=r.slice(0,Lr),t=o.slice(0,Ir),n=e.length,i=t.length,a=s.slice(0,n).map(e=>e.slice(0,i)),c=72+i*H,d=60+n*H,f=new Set;for(let[e,t]of u??[])e<n&&t<i&&f.add(Vr(e,t));let p=y?.current??l,m=p&&p[0]<n&&p[1]<i?Vr(p[0],p[1]):null,h=new Set;for(let[e,t]of y?.deps??[]){let r=Vr(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,y]),j=E.length,M=T.length,N=e=>60+e*H,P=e=>48+e*H;return(0,x.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(p??0)+`ms`},children:[e&&(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(m,{className:`ic`,style:{color:n}}),` `,e]}),d&&(0,x.jsx)(`div`,{className:`dp-recurrence`,children:(0,x.jsx)(`code`,{children:d})}),y?.caption&&(0,x.jsx)(`p`,{className:`dg-at-caption`,"aria-live":`polite`,children:y.caption}),(0,x.jsx)(`div`,{className:`dp-wrap`,children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${C} ${w}`,className:`dp-svg`,role:`img`,"aria-label":e??`DP table`,children:[(0,x.jsx)(`rect`,{x:Fr,y:Fr,width:Nr,height:Pr,className:`dp-corner`}),E.map((e,t)=>(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`rect`,{x:N(t),y:Fr,width:H,height:Pr,className:`dp-header`}),(0,x.jsxs)(`text`,{x:N(t)+H/2,y:35,textAnchor:`middle`,className:`dp-hdr-val`,children:[e.length>Rr&&(0,x.jsx)(`title`,{children:e}),Br(e,Rr)]})]},`ch-${t}`)),T.map((e,t)=>(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`rect`,{x:Fr,y:P(t),width:Nr,height:H,className:`dp-header`}),(0,x.jsxs)(`text`,{x:36,y:P(t)+H/2+5,textAnchor:`middle`,className:`dp-hdr-val`,children:[e.length>Rr&&(0,x.jsx)(`title`,{children:e}),Br(e,Rr)]})]},`rh-${t}`)),Array.from({length:M},(e,t)=>Array.from({length:j},(e,n)=>{let r=Vr(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,x.jsxs)(`g`,{children:[(0,x.jsx)(`rect`,{x:N(n),y:P(t),width:H,height:H,className:l}),s!=null&&(0,x.jsxs)(`text`,{x:N(n)+H/2,y:P(t)+H/2+5,textAnchor:`middle`,className:`dp-val`+(i?` dp-val-active`:a?` dp-val-dep`:o?` dp-val-path`:``),children:[c.length>zr&&(0,x.jsx)(`title`,{children:c}),Br(c,zr)]})]},r)}))]})}),c&&c.length>0&&(0,x.jsxs)(`div`,{className:`dg-at-controls`,children:[(0,x.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>S(v-1),disabled:v===0,"aria-label":`previous step`,children:[(0,x.jsx)(i.chevL,{className:`ic`}),` Prev`]}),(0,x.jsx)(`div`,{className:`dg-at-progress`,"aria-hidden":`true`,children:c.map((e,t)=>(0,x.jsx)(`span`,{className:`dg-at-dot`+(t===v?` on`:t<v?` done`:``)},t))}),(0,x.jsxs)(`span`,{className:`dg-at-count`,children:[v+1,` / `,_]}),(0,x.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>S(v+1),disabled:v>=_-1,"aria-label":`next step`,children:[`Next `,(0,x.jsx)(i.chevR,{className:`ic`})]})]}),f&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(f)})]})}function Ur({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,b.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,b.useMemo)(()=>new Map(r.map(e=>[e.id,e])),[r]),f=e=>e===`many`?`∞`:`1`;return(0,x.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(c||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`dg-er`,children:u.map(e=>(0,x.jsxs)(`div`,{className:`dg-er-entity`,style:e.gx?{gridColumn:e.gx,gridRow:e.gy}:void 0,children:[(0,x.jsx)(`div`,{className:`dg-er-name`,children:e.label}),(0,x.jsx)(`ul`,{className:`dg-er-fields`,children:e.fields.map((e,t)=>(0,x.jsxs)(`li`,{className:`dg-er-field`+(e.key?` k-`+e.key:``),children:[e.key&&(0,x.jsx)(`span`,{className:`dg-er-key`,children:e.key.toUpperCase()}),(0,x.jsx)(`span`,{className:`dg-er-fname`,children:e.name}),e.type&&(0,x.jsx)(`span`,{className:`dg-er-ftype`,children:e.type})]},t))})]},e.id))}),o.length>0&&(0,x.jsx)(`ul`,{className:`dg-er-rels`,children:o.map((e,t)=>{let n=d.get(e.from),r=d.get(e.to);return(0,x.jsxs)(`li`,{className:`dg-er-rel`,children:[(0,x.jsx)(`b`,{children:n?.label??e.from}),(0,x.jsx)(`span`,{className:`dg-er-card`,children:f(e.fromCard)}),(0,x.jsx)(`span`,{className:`dg-er-line`}),(0,x.jsx)(`span`,{className:`dg-er-card`,children:f(e.toCard)}),(0,x.jsx)(`b`,{children:r?.label??e.to}),e.label&&(0,x.jsx)(`span`,{className:`dg-er-rlbl`,children:e.label})]},t)})}),s&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(s)})]})}var Wr=1e3,Gr=18,Kr=152,qr=84,Jr=8,Yr=.577,Xr=15,Zr=12.5,Qr=[`var(--presence)`,`var(--insight)`,`var(--warning)`,`var(--presence-deep)`];function $r(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,Jr):[]}function ei({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,effect:r,categories:o,footer:c,delay:l}){let d=i[t]||i.share,f=(0,b.useId)().replace(/:/g,``),p=(0,b.useMemo)(()=>$r(o),[o]),m=(0,b.useMemo)(()=>{if(!p.length)return null;let e=Math.max(0,...p.map(e=>e.causes.length)),t=Math.min(240,Math.max(96,40+e*32)),n=t*Yr,r=t*2+110,i=r/2,a=Math.max(1,Math.ceil(p.length/2)),o=(776-n)/a;return{ribH:t,ribDx:n,H:r,spineY:i,spineX1:44,spineX2:820,twigLen:Math.min(150,Math.max(70,o*.72)),ribs:p.map((e,r)=>{let a=Math.floor(r/2),s=r%2==0,c=44+n+o*(a+.62);return{cat:e,top:s,jx:c,tipX:c-n,tipY:s?i-t:i+t,accent:Qr[r%Qr.length]}})}},[p]),h=(0,b.useMemo)(()=>u(typeof r==`string`&&r?r:`—`,{maxWidth:130,fontSize:16,minFontSize:11,maxLines:3,lineHeight:1.2,bold:!0}),[r]);return(0,x.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(l||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),m?(0,x.jsx)(`div`,{className:`dg-stage fsb-stage`,children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${Wr} ${m.H}`,className:`dg-svg`,role:`img`,"aria-label":e,children:[(0,x.jsx)(`defs`,{children:(0,x.jsx)(`marker`,{id:`fsb-arrow-${f}`,viewBox:`0 0 10 10`,refX:`8`,refY:`5`,markerWidth:`7`,markerHeight:`7`,orient:`auto`,children:(0,x.jsx)(`path`,{d:`M0 0 L10 5 L0 10 z`,className:`fsb-arrowhead`})})}),(0,x.jsx)(`polygon`,{className:`fsb-tail`,points:`${Gr},${m.spineY-13} ${Gr},${m.spineY+13} 44,${m.spineY}`}),(0,x.jsx)(`line`,{className:`fsb-spine`,x1:m.spineX1,y1:m.spineY,x2:m.spineX2,y2:m.spineY,markerEnd:`url(#fsb-arrow-${f})`}),(0,x.jsx)(`rect`,{className:`fsb-head`,x:m.spineX2+10,y:m.spineY-qr/2,width:Kr,height:qr,rx:12}),(0,x.jsx)(`text`,{className:`fsb-effect`,textAnchor:`middle`,fontSize:h.fontSize,children:h.lines.map((e,t)=>(0,x.jsx)(`tspan`,{x:m.spineX2+10+Kr/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=u(e.cat.label,{maxWidth:132,fontSize:Xr,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,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{className:`fsb-rib`,x1:e.jx,y1:m.spineY,x2:e.tipX,y2:e.tipY,style:{stroke:e.accent}}),(0,x.jsx)(`text`,{className:`fsb-cat`,textAnchor:`middle`,fontSize:i.fontSize,style:{fill:e.accent},children:i.lines.map((t,n)=>(0,x.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=u(t,{maxWidth:Math.max(40,o-c-10),fontSize:Zr,minFontSize:9,maxLines:r,lineHeight:1.15}),d=t=>e.top?s-4-(l.lines.length-1-t+.5)*l.lineHeightPx:s+4+(t+.5)*l.lineHeightPx;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{className:`fsb-twig`,x1:o,y1:s,x2:c,y2:s}),(0,x.jsx)(`text`,{className:`fsb-cause`,textAnchor:`end`,fontSize:l.fontSize,children:l.lines.map((e,t)=>(0,x.jsx)(`tspan`,{x:o-8,y:d(t),dominantBaseline:`middle`,children:e},t))})]},i)})]},t)})]})}):(0,x.jsx)(s,{message:`No cause categories to draw`}),c&&(0,x.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(c)})]})}var ti=512,ni=62,ri=240,ii=160,ai=25,oi=22,si=20,ci=25,li=10,ui=2,di=3;function fi(e,t){let n=t>0?t*si+4:0;return ai+e*oi+n+ci+li}var pi=fi(ui,di),mi=26,hi=168,gi=pi+mi,_i=(gi+pi/2+9)*2,U=ti/2,W=_i/2,vi={label:22,note:25},yi={label:14,note:16},bi=12,xi={newEntrants:{dx:0,dy:-1},suppliers:{dx:-1,dy:0},buyers:{dx:1,dy:0},substitutes:{dx:0,dy:1}},Si=[`newEntrants`,`suppliers`,`buyers`,`substitutes`],Ci={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)`},wi={low:2,medium:3.5,high:5.5},Ti={low:`Low`,medium:`Medium`,high:`High`},Ei=new Set([`low`,`medium`,`high`]);function Di(e){return Ei.has(e)?e:`medium`}function Oi(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 ki({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&&Ei.has(f.strength)?Di(f.strength):null,m=Si.map(e=>{let t=d.get(e);if(!t||typeof t.label!=`string`||!t.label.trim())return null;let{dx:n,dy:r}=xi[e],i=Di(t.strength),a=n!==0,o=a?ii:ri,s=a?yi:vi,c=Oi(t.label,s.label,ui),l=typeof t.note==`string`?t.note.trim():``,u=l?Oi(l,s.note,di):[],f=fi(c.length,u.length),p=U+n*hi,m=W+r*gi;return{id:e,entry:t,strength:i,dx:n,dy:r,boxCx:p,boxCy:m,w:o,h:f,labelLines:c,noteLines:u,hub:{x:U+n*ni,y:W+r*ni},rim:{x:p-o/2*n,y:m-f/2*r}}}).filter(e=>e!==null),h=Oi((r||`this market`).trim(),bi,1)[0];return(0,x.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(c||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`dg-stage ff-stage`,children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${ti} ${_i}`,className:`dg-svg`,role:`img`,"aria-label":e,preserveAspectRatio:`xMidYMid meet`,children:[m.map(e=>(0,x.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:wi[e.strength]}},`c-${e.id}`)),(0,x.jsx)(`circle`,{cx:U,cy:W,r:ni,className:`ff-hub`,style:p?{stroke:G[p]}:void 0}),(0,x.jsx)(`text`,{x:U,y:W-22,textAnchor:`middle`,className:`ff-hub-title`,children:`Industry`}),(0,x.jsx)(`text`,{x:U,y:W-1,textAnchor:`middle`,className:`ff-hub-title`,children:`Rivalry`}),(0,x.jsx)(`text`,{x:U,y:W+19,textAnchor:`middle`,className:`ff-hub-sub`,children:h}),p&&(0,x.jsx)(`text`,{x:U,y:W+38,textAnchor:`middle`,className:`ff-strength`,style:{fill:G[p]},children:Ti[p]}),m.map(e=>{let t=e.boxCx-e.w/2,n=e.boxCy-e.h/2,r=n+ai+oi-4;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`rect`,{x:t,y:n,width:e.w,height:e.h,rx:12,className:`ff-box`,style:{stroke:G[e.strength]}}),(0,x.jsx)(`rect`,{x:t,y:n,width:4,height:e.h,rx:2,fill:G[e.strength]}),(0,x.jsx)(`text`,{x:e.boxCx,y:n+19,textAnchor:`middle`,className:`ff-slot-lbl`,children:Ci[e.id]}),(0,x.jsx)(`text`,{textAnchor:`middle`,className:`ff-box-lbl`,children:e.labelLines.map((t,n)=>(0,x.jsx)(`tspan`,{x:e.boxCx,y:r+n*oi,children:t},n))}),e.noteLines.length>0&&(0,x.jsx)(`text`,{textAnchor:`middle`,className:`ff-box-note`,children:e.noteLines.map((t,n)=>(0,x.jsx)(`tspan`,{x:e.boxCx,y:r+e.labelLines.length*oi+3+n*si,children:t},n))}),(0,x.jsx)(`text`,{x:t+e.w-12,y:n+e.h-li-2,textAnchor:`end`,className:`ff-strength`,style:{fill:G[e.strength]},children:Ti[e.strength]})]},e.id)})]})}),s&&(0,x.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(s)})]})}var Ai=520,ji=24,Mi=18,Ni=18,Pi=472,Fi=26,Ii=23,Li=18,Ri=22,zi=78,Bi=40,Vi=23,Hi=13,Ui=16;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 Gi(e,t){let n=e?e*Ri+4:0,r=t*Ii;return Math.max(zi,52+n+r)}function Ki({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,b.useMemo)(()=>{let e=[],t=Mi,n=Wi(typeof r==`string`?r:``,Bi,3),i=Gi(0,n.length);e.push({kind:`problem`,badge:`Problem`,questionLines:[],answerLines:n,h:i,y:t}),t+=i+Fi;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,Bi,2):[],c=Wi(n.answer,Bi,3),l=Gi(o.length,c.length);e.push({kind:i?`root`:`why`,badge:`Why ${r+1}`,questionLines:o,answerLines:c,h:l,y:t}),t+=l+Fi}),d){let n=Wi(d,Bi,3),r=Gi(0,n.length);e.push({kind:`root`,badge:`Root cause`,questionLines:[],answerLines:n,h:r,y:t}),t+=r+Fi}return{rows:e,vbH:Math.max(120,t-Fi+Ni)}},[r,o,d]);return(0,x.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(l||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`dg-stage fwy-stage`,children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${Ai} ${p}`,className:`dg-svg`,role:`img`,"aria-label":e,preserveAspectRatio:`xMidYMid meet`,children:[(0,x.jsx)(`defs`,{children:(0,x.jsx)(`marker`,{id:`fwy-arrow`,viewBox:`0 0 10 10`,refX:`6`,refY:`5`,markerWidth:`6`,markerHeight:`6`,orient:`auto-start-reverse`,children:(0,x.jsx)(`path`,{d:`M0 0 L10 5 L0 10 z`,className:`fwy-arrowhead`})})}),f.slice(1).map((e,t)=>{let n=f[t],r=Ai/2;return(0,x.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+Vi,r=e.y+Li+Hi+Ui,i=e.questionLines.length>0?r+e.questionLines.length*Ri+4:r;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`rect`,{x:ji,y:e.y,width:Pi,height:e.h,rx:12,className:`fwy-card fwy-card--${e.kind}`}),(0,x.jsx)(`rect`,{x:ji,y:e.y,width:4,height:e.h,rx:2,className:`fwy-rail fwy-rail--${e.kind}`}),(0,x.jsx)(`text`,{x:42,y:n,className:`fwy-badge fwy-badge--${e.kind}`,children:e.badge}),e.questionLines.length>0&&(0,x.jsx)(`text`,{className:`fwy-question`,children:e.questionLines.map((e,t)=>(0,x.jsx)(`tspan`,{x:42,y:r+t*Ri,children:e},t))}),(0,x.jsx)(`text`,{className:`fwy-answer fwy-answer--${e.kind}`,children:e.answerLines.map((e,t)=>(0,x.jsx)(`tspan`,{x:42,y:i+t*Ii,children:e},t))})]},t)})]})}),c&&(0,x.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(c)})]})}var qi=640,Ji=20,Yi=20,Xi=20,K=92,Zi=22,Qi=13,$i=116;function ea(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function ta(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 na({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,b.useMemo)(()=>Array.isArray(r)?r.filter(e=>typeof e==`string`):[],[r]),{placed:f,byId:p}=(0,b.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=[];for(let[r,i]of t){let t=Yi+(e-r)*K+K/2;i.forEach((e,r)=>{let a=$i+(r+.5)/i.length*504;n.push({...e,cx:a,cy:t})})}return{placed:n,byId:new Map(n.map(e=>[e.id,e]))}},[o,d.length]),m=(0,b.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*K+Yi+Xi),g=Math.max(0,d.length-1);return f.length===0?(0,x.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(l||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`p`,{className:`fwb-empty`,children:`No organisms to diagram.`})]}):(0,x.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(l||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`dg-stage fwb-stage`,children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${qi} ${h}`,className:`dg-svg`,role:`img`,"aria-label":e,preserveAspectRatio:`xMidYMid meet`,children:[(0,x.jsx)(`defs`,{children:(0,x.jsx)(`marker`,{id:`fwb-arrow`,viewBox:`0 0 10 10`,refX:`7`,refY:`5`,markerWidth:`6`,markerHeight:`6`,orient:`auto-start-reverse`,children:(0,x.jsx)(`path`,{d:`M0 0 L10 5 L0 10 z`,className:`fwb-arrowhead`})})}),d.map((e,t)=>{let n=Yi+(g-t)*K,r=ta(e,14,2),i=n+K/2-(r.length-1)*12/2+4;return(0,x.jsxs)(`g`,{children:[t>0&&(0,x.jsx)(`line`,{x1:Ji,y1:n,x2:620,y2:n,className:`fwb-tier-line`}),(0,x.jsx)(`text`,{x:Ji,className:`fwb-tier-lbl`,children:r.map((e,t)=>(0,x.jsx)(`tspan`,{x:Ji,y:i+t*12,children:e},t))})]},t)}),(0,x.jsx)(`line`,{x1:104,y1:Yi,x2:104,y2:h-Xi,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)*Zi,d=e.from.cy+Math.sin(c)*Zi,f=e.to.cx+Math.cos(l)*30,p=e.to.cy+Math.sin(l)*30;return(0,x.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,x.jsxs)(`g`,{children:[(0,x.jsx)(`circle`,{cx:e.cx,cy:e.cy,r:Zi,className:`fwb-node`}),(0,x.jsxs)(`text`,{x:e.cx,y:e.cy+Zi+14,textAnchor:`middle`,className:`fwb-node-lbl`,children:[e.label.length>Qi&&(0,x.jsx)(`title`,{children:e.label}),ea(e.label,Qi)]})]},e.id))]})}),c&&(0,x.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(c)})]})}var ra=340,ia=280,aa=22,oa=12,sa=5;function ca(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function la(e){let t=Math.min(e.length,oa);return e.slice(0,t).map((e,n)=>{let r=e.x===void 0?ra/2+120*Math.cos(2*Math.PI*n/t-Math.PI/2):e.x/100*ra,i=e.y===void 0?ia/2+100*Math.sin(2*Math.PI*n/t-Math.PI/2):e.y/100*ia;return{id:e.id,label:e.label??e.id,cx:r,cy:i}})}function ua({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,b.useId)().replace(/:/g,``)}`,p=`url(#${f})`,[m,h]=(0,b.useState)(0),g=s[Math.min(m,s.length-1)],_=e=>h(Math.min(s.length-1,Math.max(0,e))),v=(0,b.useMemo)(()=>la(r),[r]),y=(0,b.useMemo)(()=>new Map(v.map(e=>[e.id,e])),[v]),S=e=>g?g.current===e?`current`:g.frontier?.includes(e)?`frontier`:g.visited?.includes(e)?`visited`:`none`:`none`,C=o.some(e=>e.directed);return(0,x.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u??0)+`ms`},children:[e&&(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`p`,{className:`dg-at-caption`,"aria-live":`polite`,children:g?.caption??``}),(0,x.jsx)(`div`,{className:`gt-stage`,children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${ra} ${ia}`,className:`gt-svg`,role:`img`,"aria-label":e??`Graph traversal`,children:[(0,x.jsx)(`defs`,{children:(0,x.jsx)(`marker`,{id:f,markerWidth:`8`,markerHeight:`8`,refX:`7`,refY:`4`,orient:`auto`,children:(0,x.jsx)(`path`,{d:`M0,0 L8,4 L0,8 Z`,className:`gt-arrowhead`})})}),o.map((e,t)=>{let n=y.get(e.from),r=y.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,x.jsxs)(`g`,{children:[(0,x.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,x.jsx)(`text`,{x:d,y:f-6,textAnchor:`middle`,className:`gt-weight`,children:e.weight})]},`e${t}`)}),v.map(e=>{let t=S(e.id);return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`circle`,{cx:e.cx,cy:e.cy,r:aa,className:`gt-node gt-node-${t}`}),(0,x.jsxs)(`text`,{x:e.cx,y:e.cy+5,textAnchor:`middle`,className:`gt-label gt-label-${t}`,children:[e.label.length>sa&&(0,x.jsx)(`title`,{children:e.label}),ca(e.label,sa)]})]},e.id)})]})}),g&&(0,x.jsxs)(`div`,{className:`gt-state-panel`,children:[(0,x.jsxs)(`div`,{className:`gt-state-row`,children:[(0,x.jsxs)(`span`,{className:`gt-state-key`,children:[c===`bfs`?`Queue`:`Stack`,`:`]}),(0,x.jsx)(`div`,{className:`gt-chips`,children:g.frontier&&g.frontier.length>0?g.frontier.map(e=>(0,x.jsx)(`span`,{className:`gt-chip gt-chip-frontier`,children:y.get(e)?.label??e},e)):(0,x.jsx)(`span`,{className:`gt-chip-empty`,children:`—`})})]}),(0,x.jsxs)(`div`,{className:`gt-state-row`,children:[(0,x.jsx)(`span`,{className:`gt-state-key`,children:`Visited:`}),(0,x.jsx)(`div`,{className:`gt-chips`,children:g.visited&&g.visited.length>0?g.visited.map(e=>(0,x.jsx)(`span`,{className:`gt-chip gt-chip-visited`,children:y.get(e)?.label??e},e)):(0,x.jsx)(`span`,{className:`gt-chip-empty`,children:`—`})})]})]}),(0,x.jsxs)(`div`,{className:`dg-at-controls`,children:[(0,x.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>_(m-1),disabled:m===0,"aria-label":`previous step`,children:[(0,x.jsx)(i.chevL,{className:`ic`}),` Prev`]}),(0,x.jsx)(`div`,{className:`dg-at-progress`,"aria-hidden":`true`,children:s.map((e,t)=>(0,x.jsx)(`span`,{className:`dg-at-dot`+(t===m?` on`:t<m?` done`:``)},t))}),(0,x.jsxs)(`span`,{className:`dg-at-count`,children:[Math.min(m+1,s.length),` / `,s.length]}),(0,x.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>_(m+1),disabled:m>=s.length-1,"aria-label":`next step`,children:[`Next `,(0,x.jsx)(i.chevR,{className:`ic`})]})]}),l&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(l)})]})}var da=68,fa=36,pa=4,q=96,ma=32,ha=8,ga=28,J=16,_a=8,va=6;function ya(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 ba({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,b.useId)().replace(/:/g,``)}`,p=`url(#${f})`,m=Math.min(Math.max(1,Math.floor(r)),_a),h=(0,b.useMemo)(()=>{let e=Array.from({length:m},()=>[]);for(let t of o){let n=t.bucket===void 0?ya(t.key,m):Math.max(0,Math.min(m-1,t.bucket));e[n].length<va&&e[n].push({key:t.key,value:t.value})}return e},[o,m]),g=92+Math.max(0,...h.map(e=>e.length))*104+ga+ha+J,_=J+m*40-pa+J,v=e=>J+e*40,y=e=>v(e)+fa/2,S=e=>92+e*104,C=e=>v(e)+2;return(0,x.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u??0)+`ms`},children:[e&&(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),s&&(0,x.jsx)(`div`,{className:`ht-hashfn`,children:s}),(0,x.jsx)(`div`,{className:`ht-wrap`,children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${g} ${_}`,className:`ht-svg`,role:`img`,"aria-label":e??`Hash table`,children:[(0,x.jsx)(`defs`,{children:(0,x.jsx)(`marker`,{id:f,markerWidth:`7`,markerHeight:`7`,refX:`6`,refY:`3.5`,orient:`auto`,children:(0,x.jsx)(`path`,{d:`M0,0 L7,3.5 L0,7 Z`,className:`ht-arrowhead`})})}),h.map((e,t)=>{let n=J,r=v(t),i=y(t);return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`rect`,{x:n,y:r,width:da,height:fa,className:`ht-bucket`}),(0,x.jsxs)(`text`,{x:50,y:r+fa/2+5,textAnchor:`middle`,className:`ht-bucket-idx`,children:[`[`,t,`]`]}),e.map((e,n)=>{let r=S(n),a=C(t),o=a+ma/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,f=n===0?84:S(n-1)+q;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:f,y1:i,x2:r-2,y2:o,className:`ht-chain`,markerEnd:p}),(0,x.jsx)(`rect`,{x:r,y:a,width:q,height:ma,rx:4,className:s}),(0,x.jsx)(`text`,{x:r+q/2,y:a+ma/2+5,textAnchor:`middle`,className:`ht-node-text`,style:{fontSize:u},...d?{textLength:84,lengthAdjust:`spacingAndGlyphs`}:{},children:l})]},`node-${t}-${n}`)}),(()=>{let n=e.length===0?92:S(e.length-1)+q+ha,r=y(t)-9,a=e.length===0?84:S(e.length-1)+q;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:a,y1:i,x2:n-2,y2:i,className:`ht-chain`,markerEnd:p}),(0,x.jsx)(`rect`,{x:n,y:r,width:ga,height:18,rx:3,className:`ht-null`}),(0,x.jsx)(`text`,{x:n+ga/2,y:r+13,textAnchor:`middle`,className:`ht-null-text`,children:`∅`})]},`null-${t}`)})()]},`bucket-${t}`)})]})}),l&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(l)})]})}var xa=34,Sa=26,Ca=22,wa=18,Ta=22,Ea=16;function Da(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 Oa(e){let t=e===`NOT`||e===`NAND`||e===`NOR`||e===`XNOR`,n=e===`NAND`?`AND`:e===`NOR`?`OR`:e===`XNOR`?`XOR`:e,r=wa/2,i;return i=n===`AND`||e===`NOT`?e===`NOT`?(0,x.jsx)(`polygon`,{points:`-11,-9 -11,${r} 9,0`,fill:`none`}):(0,x.jsx)(`path`,{d:`M -11,-9 L 0,-9 A ${r},${r} 0 0 1 0,${r} L -11,${r} Z`,fill:`none`}):(0,x.jsxs)(x.Fragment,{children:[(n===`XOR`||e===`XOR`)&&(0,x.jsx)(`path`,{d:`M -14,-9 Q -9,0 -14,${r}`,fill:`none`}),(0,x.jsx)(`path`,{d:`${`M -11,-9 Q -6,0 -11,${r}`} Q -2,${r} 10,0 Q -2,-9 -11,-9 Z`,fill:`none`})]}),(0,x.jsxs)(`g`,{className:`dg-lg-gate-body`,children:[i,t&&(0,x.jsx)(`circle`,{cx:12.4,cy:0,r:1.6,fill:`none`,className:`dg-lg-bubble`})]})}var ka=e=>e===1?`dg-lg-wire on`:`dg-lg-wire`,Aa=3.1,ja=10;function Ma(e){return e.length>ja?e.slice(0,9).trimEnd()+`…`:e}function Na({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,b.useId)().replace(/:/g,``)}`,{placed:m,viewW:h,viewH:g,outValue:_,outY:v,outLabel:y,outX:S}=(0,b.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:Ta,y:Ea+n*Sa,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=Da(n.kind,i);e.set(n.id,{id:n.id,x:Ta+t*xa,y:Ea+r*Sa+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*Aa/2,p=Ta+(c+1)*xa+14,m=p+Math.max(0,f-6),h=32+u*Sa,g=p-8,_=s?e.get(s.from):void 0;return{placed:e,viewW:m,viewH:h,outValue:_?.value??0,outY:_?.y??Ea,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,x.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(d||0)+`ms`},children:[e&&(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(f,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsxs)(`div`,{className:`dg-lg`+(c&&c.length?` has-truth`:``),children:[(0,x.jsx)(`div`,{className:`dg-lg-circuit`,children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${h} ${g}`,className:`dg-lg-svg`,role:`img`,"aria-label":e||`logic circuit`,children:[(0,x.jsx)(`defs`,{children:(0,x.jsx)(`marker`,{id:p,markerWidth:`5`,markerHeight:`5`,refX:`4`,refY:`2.5`,orient:`auto`,children:(0,x.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)*(wa/Math.max(2,n+.5)),s=t.x-Ca/2;return(0,x.jsx)(`polyline`,{points:`${a.x+3},${a.y} ${(a.x+s)/2},${a.y} ${(a.x+s)/2},${o} ${s},${o}`,className:ka(a.value),fill:`none`},`${e.id}-${r}-${i}`)})}),s&&m.get(s.from)&&(()=>{let e=m.get(s.from),t=S;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`polyline`,{points:`${e.x+Ca/2+2},${e.y} ${t},${e.y} ${t},${v}`,className:ka(_),fill:`none`,markerEnd:`url(#${p})`}),(0,x.jsx)(`text`,{x:t,y:v-4,className:`dg-lg-pin`,textAnchor:`middle`,children:y}),(0,x.jsx)(`text`,{x:t,y:v+9,className:`dg-lg-bit`+(_?` on`:``),textAnchor:`middle`,children:_})]})})(),r.map(e=>{let t=m.get(e.id);if(!t)return null;let n=e.value??0;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`text`,{x:t.x-16,y:t.y+3,className:`dg-lg-in-lbl`,textAnchor:`start`,children:e.label}),(0,x.jsx)(`circle`,{cx:t.x,cy:t.y,r:3.4,className:`dg-lg-pad`+(n?` on`:``)}),(0,x.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,x.jsxs)(`g`,{transform:`translate(${t.x} ${t.y})`,children:[Oa(e.kind),(0,x.jsx)(`text`,{x:0,y:15,className:`dg-lg-glbl`,textAnchor:`middle`,children:e.kind})]},e.id):null})]})}),c&&c.length>0&&(0,x.jsx)(`div`,{className:`dg-lg-truth-wrap`,children:(0,x.jsxs)(`table`,{className:`dg-lg-truth`,children:[(0,x.jsx)(`thead`,{children:(0,x.jsxs)(`tr`,{children:[r.map(e=>(0,x.jsx)(`th`,{children:e.label},e.id)),(0,x.jsx)(`th`,{className:`dg-lg-out-col`,children:s?.label??`Y`})]})}),(0,x.jsx)(`tbody`,{children:c.map((e,t)=>(0,x.jsxs)(`tr`,{className:t===w?`on`:void 0,children:[e.row.map((e,t)=>(0,x.jsx)(`td`,{className:e?`bit on`:`bit`,children:e},t)),(0,x.jsx)(`td`,{className:`bit dg-lg-out-col`+(e.out?` on`:``),children:e.out})]},t))})]})})]}),l&&(0,x.jsx)(`p`,{className:`dg-lg-cap`,children:l}),u&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(u)})]})}var Pa=1e3,Fa=90,Ia=26,La=62,Ra=300,za=9,Ba=10,Va=13,Ha=14,Ua=.62,Wa=13,Ga=16;function Ka(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function qa(e){let t=typeof e==`number`?e:Number(e);return Number.isFinite(t)&&t>0?Math.round(t):0}function Ja(e,t){return t<=0?212:La+(e+.5)/t*Ra}function Ya({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,b.useMemo)(()=>Array.isArray(r)?r:[],[r]),f=(0,b.useMemo)(()=>{let e=d.length;return d.map((t,n)=>{let r=qa(t?.units),i=r>za,a=i?8:r;return{layer:t,colX:e<=1?Pa/2:Fa+n/(e-1)*820,realCount:a,totalUnits:r,hasMore:i,moreCount:i?r-a:0}})},[d]),p=e=>e.realCount+ +!!e.hasMore,m=(0,b.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,g=(0,b.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=Ja(s,i);for(let i=0;i<r.realCount;i++){if(o===`sparse`&&Math.abs(s-i)>1)continue;let l=Ja(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,x.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(l||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`dg-stage nn-stage`,children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${Pa} 426`,className:`dg-svg`,role:`img`,"aria-label":e,children:[g.map((e,t)=>(0,x.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),i=`+${e.moreCount}`,a=i.length*Ha*Ua+12,o=Ja(e.realCount,r);return(0,x.jsxs)(`g`,{children:[(0,x.jsxs)(`text`,{x:e.colX,y:Ia,className:`nn-name`,textAnchor:`middle`,children:[n.length>Wa&&(0,x.jsx)(`title`,{children:n}),Ka(n,Wa)]}),Array.from({length:e.realCount},(n,i)=>(0,x.jsx)(`circle`,{cx:e.colX,cy:Ja(i,r),r:Ba,className:h(t,i)?`nn-node nn-node-hi`:`nn-node`},i)),e.hasMore&&(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`rect`,{x:e.colX-a/2,y:o-Va,width:a,height:26,rx:Va,className:`nn-more-pill`}),(0,x.jsx)(`text`,{x:e.colX,y:o,className:`nn-more-label`,textAnchor:`middle`,dominantBaseline:`middle`,children:i})]}),(0,x.jsxs)(`text`,{x:e.colX,y:388,className:`nn-meta`,textAnchor:`middle`,children:[e.totalUnits,` unit`,e.totalUnits===1?``:`s`]}),e.layer?.activation&&(0,x.jsx)(`text`,{x:e.colX,y:406,className:`nn-meta nn-act`,textAnchor:`middle`,children:Ka(e.layer.activation,Ga)})]},t)})]})}),c&&(0,x.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(c)})]})}var Xa=100,Za=60;function Qa(e){switch(e){case`tank`:return(0,x.jsxs)(`g`,{className:`dg-pip-glyph`,children:[(0,x.jsx)(`rect`,{x:-7,y:-8,width:14,height:16,rx:3,fill:`none`}),(0,x.jsx)(`line`,{x1:-7,y1:3,x2:7,y2:3,className:`dg-pip-fluid`})]});case`pump`:return(0,x.jsxs)(`g`,{className:`dg-pip-glyph`,children:[(0,x.jsx)(`circle`,{cx:0,cy:0,r:7,fill:`none`}),(0,x.jsx)(`line`,{x1:0,y1:0,x2:6,y2:0}),(0,x.jsx)(`line`,{x1:0,y1:0,x2:-3.5,y2:5.5}),(0,x.jsx)(`line`,{x1:0,y1:0,x2:-3.5,y2:-5.5})]});case`valve`:return(0,x.jsxs)(`g`,{className:`dg-pip-glyph`,children:[(0,x.jsx)(`polygon`,{points:`-6,-5 -6,5 0,0`,fill:`none`}),(0,x.jsx)(`polygon`,{points:`6,-5 6,5 0,0`,fill:`none`})]});case`heater`:return(0,x.jsxs)(`g`,{className:`dg-pip-glyph`,children:[(0,x.jsx)(`rect`,{x:-8,y:-6,width:16,height:12,rx:2,fill:`none`}),(0,x.jsx)(`path`,{d:`M -6,0 q 1.5,-4 3,0 t 3,0 t 3,0`,fill:`none`})]});case`filter`:return(0,x.jsxs)(`g`,{className:`dg-pip-glyph`,children:[(0,x.jsx)(`polygon`,{points:`-6,-6 6,-6 0,7`,fill:`none`}),(0,x.jsx)(`line`,{x1:-3.4,y1:-2,x2:3.4,y2:-2,className:`dg-pip-fluid`})]});case`sensor`:return(0,x.jsxs)(`g`,{className:`dg-pip-glyph`,children:[(0,x.jsx)(`circle`,{cx:0,cy:0,r:6.5,fill:`none`}),(0,x.jsx)(`line`,{x1:-6.5,y1:0,x2:6.5,y2:0,className:`dg-pip-thin`})]});case`fitting`:return(0,x.jsx)(`g`,{className:`dg-pip-glyph`,children:(0,x.jsx)(`circle`,{cx:0,cy:0,r:2.4,className:`dg-pip-fill`})});default:return(0,x.jsx)(`g`,{className:`dg-pip-glyph`,children:(0,x.jsx)(`rect`,{x:-7,y:-2.6,width:14,height:5.2,rx:1.4,fill:`none`})})}}function $a({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,b.useId)().replace(/:/g,``)}`,f=`url(#${d})`,p=(0,b.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=Xa/(t+1),a=Za/(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,x.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(l||0)+`ms`},children:[e&&(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`dg-pip`,children:(0,x.jsxs)(`svg`,{viewBox:`-8 -9 116 80`,className:`dg-pip-svg`,role:`img`,"aria-label":e||`piping schematic`,children:[(0,x.jsx)(`defs`,{children:(0,x.jsx)(`marker`,{id:d,markerWidth:`6`,markerHeight:`6`,refX:`4.5`,refY:`3`,orient:`auto`,children:(0,x.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,x.jsxs)(`g`,{children:[(0,x.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,x.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,x.jsxs)(`g`,{transform:`translate(${t.x} ${t.y})`,children:[Qa(e.kind),e.label&&(0,x.jsx)(`text`,{x:0,y:13.5,className:`dg-pip-lbl`,textAnchor:`middle`,children:e.label})]},e.id):null})]})}),s&&(0,x.jsx)(`p`,{className:`dg-pip-cap`,children:s}),c&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(c)})]})}var Y=100,eo=100,X=72,to=65,no=79,ro=[88,102],io=11,ao={gene:`var(--presence)`,promoter:`var(--insight)`,terminator:`var(--warning)`,marker:`var(--danger)`},oo=13;function so(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function co(e,t){return!Number.isFinite(e)||t<=0?0:(e%t+t)%t}function lo(e,t){return co(e,t)/t*360}function Z(e,t){let n=(e-90)*Math.PI/180;return{x:Y+t*Math.cos(n),y:eo+t*Math.sin(n)}}function uo(e){let t=[...e].sort((e,t)=>e.deg-t.deg),n=ro.map(()=>-1/0);return t.map(e=>{let t=n.findIndex(t=>e.deg-t>=io);return t===-1&&(t=n.indexOf(Math.min(...n))),n[t]=e.deg,{...e,r:ro[t]}})}function fo(e,t=0){return typeof e==`number`&&Number.isFinite(e)?e:t}function po({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,b.useId)().replace(/:/g,``)}`,p=Number.isFinite(r)&&r>0?r:1,m=(0,b.useMemo)(()=>Array.isArray(o)?o:[],[o]),h=(0,b.useMemo)(()=>Array.isArray(s)?s:[],[s]),g=(0,b.useMemo)(()=>m.map((e,t)=>{let n=lo(fo(e.startBp),p),r=lo(fo(e.endBp),p),i=((r-n)%360+360)%360,a=+(i>180),o=Z(n,X),s=Z(r,X),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:ao[c],name:l,midDeg:u,strand:e.strand}}),[m,p]),_=(0,b.useMemo)(()=>h.map((e,t)=>{let n=lo(fo(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]),v=!!c&&typeof c.name==`string`&&c.name,y=v?lo(fo(c.posBp),p):0,S=(0,b.useMemo)(()=>uo([...g.map(e=>({key:e.key,deg:e.midDeg,text:e.name,color:e.color,bold:!0})),..._.map(e=>({key:e.key,deg:e.deg,text:e.name,color:`var(--text-secondary)`,bold:e.cutsOnce})),...v?[{key:`origin`,deg:y,text:c.name,color:`var(--presence)`,bold:!0}]:[]]),[g,_,v,y,c]);return(0,x.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`pm-wrap`,children:(0,x.jsxs)(`svg`,{viewBox:`-45 -8 290 216`,className:`pm-svg`,role:`img`,"aria-label":e,children:[(0,x.jsx)(`defs`,{children:(0,x.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,x.jsx)(`path`,{d:`M0 0 L10 5 L0 10 z`,className:`pm-arrowhead`})})}),(0,x.jsx)(`circle`,{cx:Y,cy:eo,r:X,className:`pm-backbone`}),g.map(e=>(0,x.jsx)(`path`,{d:`M ${e.s.x} ${e.s.y} A ${X} ${X} 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)),_.map(e=>{let t=Z(e.deg,to),n=Z(e.deg,no);return(0,x.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)}),v&&(()=>{let e=Z(y,X);return(0,x.jsx)(`circle`,{cx:e.x,cy:e.y,r:3.2,className:`pm-origin-dot`,"data-mark":`point`})})(),S.map(e=>{let t=Z(e.deg,e.r),n=(t.x-Y)/(e.r||1),r=n>.2?`start`:n<-.2?`end`:`middle`,i=so(e.text,oo);return(0,x.jsxs)(`g`,{children:[i!==e.text&&(0,x.jsx)(`title`,{children:e.text}),(0,x.jsx)(`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.key)}),(0,x.jsx)(`text`,{x:Y,y:97,className:`pm-center-size`,textAnchor:`middle`,children:Math.round(p).toLocaleString()}),(0,x.jsx)(`text`,{x:Y,y:110,className:`pm-center-unit`,textAnchor:`middle`,children:`bp`})]})}),l&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:a(l)})]})}var mo=20,ho=54,go=70,_o=26,vo=8,yo=63;function bo(e){return e<=2?13:e<=3?11:e<=4?9:8}function xo(e){let t=0;function n(e,r){if(t>=yo||r>vo||!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 So(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 Co={0:`⁰`,1:`¹`,2:`²`,3:`³`,4:`⁴`,5:`⁵`,6:`⁶`,7:`⁷`,8:`⁸`,9:`⁹`};function wo(e){return String(e).split(``).map(e=>Co[e]??``).join(``)}function To(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}${wo(t)}`:`${e}`).join(` × `)}function Eo({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,b.useMemo)(()=>xo(Array.isArray(o)&&o.length>0?o[0]:null),[o]),d=(0,b.useMemo)(()=>u?So(u):null,[u]),f=(0,b.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)} = ${To(e)}`},[d,r]);if(!u||!d)return(0,x.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(c||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`p`,{className:`pft-empty`,children:`No factor tree to diagram.`})]});let p=Math.max(120,d.leafCount*ho+52),m=(d.maxDepth+1)*go+52,h=e=>_o+(e+.5)*ho,g=e=>_o+e*go+mo;return(0,x.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(c||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`dg-stage pft-stage`,children:(0,x.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,x.jsx)(`line`,{x1:h(e.parent.slot),y1:g(e.parent.depth),x2:h(e.child.slot),y2:g(e.child.depth),className:`pft-edge`},t)),d.nodes.map((e,t)=>{let n=h(e.slot),r=g(e.depth),i=e.value.toString().length;return(0,x.jsxs)(`g`,{transform:`translate(${n} ${r})`,children:[e.isPrime&&(0,x.jsx)(`circle`,{r:24,className:`pft-ring`}),(0,x.jsx)(`circle`,{r:mo,className:e.isPrime?`pft-node pft-node--prime`:`pft-node`}),(0,x.jsx)(`text`,{textAnchor:`middle`,dominantBaseline:`central`,fontSize:bo(i),className:`pft-node-lbl`,children:e.value})]},t)})]})}),f&&(0,x.jsx)(`p`,{className:`pft-cap`,children:f}),s&&(0,x.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(s)})]})}var Do=[`var(--presence)`,`var(--insight)`,`var(--warning)`];function Oo(e){if(e===0)return`0`;if(e===1)return`1`;let t=e.toPrecision(3);return parseFloat(t).toString()}function ko(e,t){return`P = ${Oo(e*t)}`}var Ao=560,jo=60,Mo=200,No=390,Po=550,Fo=26,Io=60,Lo=10,Ro=10,zo=.62;function Bo(e,t){return Math.max(3,Math.floor(e/(t*zo)))}var Vo=Bo(44.72,Lo),Ho=Bo(128,Ro),Uo=Bo(316,Ro);function Wo(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function Go(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*Io+60),i=(r-60)/n,a=0,o=e.map((e,n)=>{let r=t[n],o=Do[n%Do.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 Ko({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}=Go(r),d=u.some(e=>e.leaves.length>0);return(0,x.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(o??0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(s,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`dg-pt-scroll`,children:(0,x.jsxs)(`svg`,{className:`dg-pt-svg`,viewBox:`0 0 ${Ao} ${c}`,"aria-label":e,role:`img`,children:[(0,x.jsx)(`circle`,{cx:jo,cy:l,r:Fo,className:`dg-pt-node dg-pt-node--root`}),(0,x.jsx)(`text`,{x:jo,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,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:86,y1:l,x2:174,y2:e,className:`dg-pt-edge`,stroke:r}),(0,x.jsx)(`text`,{x:130,y:(l+e)/2-8,textAnchor:`middle`,className:`dg-pt-edge-lbl`,children:Oo(t.prob)}),(0,x.jsx)(`circle`,{cx:Mo,cy:e,r:Fo,className:`dg-pt-node`,stroke:r}),(0,x.jsxs)(`text`,{x:Mo,y:e+.5,textAnchor:`middle`,dominantBaseline:`middle`,className:`dg-pt-node-lbl`,children:[t.label.length>Vo&&(0,x.jsx)(`title`,{children:t.label}),Wo(t.label,Vo)]}),i.length===0&&(0,x.jsx)(`text`,{x:234,y:e+.5,dominantBaseline:`middle`,className:`dg-pt-outcome-lbl`,fill:r,children:Wo(ko(1,t.prob),Uo)}),i.map(({y:n,leaf:i,leafIdx:a})=>{let o=i.outcome??ko(t.prob,i.prob),s=Wo(o,Ho);return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:226,y1:e,x2:364,y2:n,className:`dg-pt-edge`,stroke:r}),(0,x.jsx)(`text`,{x:295,y:(e+n)/2-8,textAnchor:`middle`,className:`dg-pt-edge-lbl`,children:Oo(i.prob)}),(0,x.jsx)(`circle`,{cx:No,cy:n,r:Fo,className:`dg-pt-node dg-pt-node--leaf`,stroke:r}),(0,x.jsxs)(`text`,{x:No,y:n+.5,textAnchor:`middle`,dominantBaseline:`middle`,className:`dg-pt-node-lbl`,children:[i.label.length>Vo&&(0,x.jsx)(`title`,{children:i.label}),Wo(i.label,Vo)]}),(0,x.jsxs)(`text`,{x:Po,y:n+.5,textAnchor:`end`,dominantBaseline:`middle`,className:`dg-pt-outcome-lbl`,fill:r,children:[s!==o&&(0,x.jsx)(`title`,{children:o}),s]})]},a)})]},n)),(0,x.jsx)(`text`,{x:Mo,y:12,textAnchor:`middle`,className:`dg-pt-col-hdr`,children:`Event A`}),d&&(0,x.jsx)(`text`,{x:No,y:12,textAnchor:`middle`,className:`dg-pt-col-hdr`,children:`Event B`}),d&&(0,x.jsx)(`text`,{x:Po,y:12,textAnchor:`end`,dominantBaseline:`auto`,className:`dg-pt-col-hdr`,children:`Outcome`})]})}),a&&(0,x.jsx)(`p`,{className:`dg-pt-note`,children:a})]})}var qo=16,Jo=200,Yo=30,Xo=62,Zo=24,Qo=12,$o=18,es=32,ts=12;function ns(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 rs({title:e,icon:t=`proof`,iconColor:n=`var(--presence)`,steps:r,conclusionId:o,footer:c,delay:l}){let f=i[t]||i.proof,{placed:p,width:m,height:h}=(0,b.useMemo)(()=>{let e=ns(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>ts)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=u(i.statement||`·`,{maxWidth:Jo,fontSize:qo,minFontSize:11,maxLines:2,lineHeight:1.15}),f=Math.max(26,...l.lines.map(e=>d(e,l.fontSize))),p=o.reduce((e,t)=>e+t.subW,0)+Yo*(o.length-1);return{step:i,children:o,fit:l,assumption:c,w:f,subW:o.length?Math.max(f,p):f,depth:r}},c=s(i.id,new Set,0);if(!c)return{placed:[],width:0,height:0};let l=[],f=(e,t)=>{let n=t+e.subW/2,r=es+(a-e.depth)*Xo,i;if(e.children.length){let a=e.children.reduce((e,t)=>e+t.subW,0)+Yo*(e.children.length-1),o=t+(e.subW-a)/2,s=e.children.map(e=>{let t=f(e,o);return o+=e.subW+Yo,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-Zo}}let o={node:e,cx:n,cy:r,bar:i};return l.push(o),o};f(c,$o);let p=$o+c.subW;for(let e of l)e.bar&&e.node.step.rule&&(p=Math.max(p,e.bar.x2+8+d(e.node.step.rule,Qo)));return{placed:l,width:p+$o,height:es+a*Xo+34}},[r,o]);return(0,x.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(l||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(f,{className:`ic`,style:{color:n}}),` `,e]}),p.length===0?(0,x.jsx)(s,{message:`No proof steps to draw`}):(0,x.jsx)(`div`,{className:`dg-stage prf-stage`,children:(0,x.jsx)(`svg`,{viewBox:`0 0 ${m} ${h}`,className:`dg-svg prf-svg`,style:{maxWidth:m},role:`img`,"aria-label":e,children:p.map((e,t)=>{let{fit:n}=e.node,r=e.cy-(n.lines.length-1)*n.lineHeightPx/2;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`text`,{className:e.node.assumption?`prf-stmt prf-assume`:`prf-stmt`,textAnchor:`middle`,fontSize:n.fontSize,children:n.lines.map((t,i)=>(0,x.jsx)(`tspan`,{x:e.cx,y:r+i*n.lineHeightPx,dominantBaseline:`middle`,children:t},i))}),e.bar&&(0,x.jsxs)(x.Fragment,{children:[(0,x.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,x.jsx)(`text`,{className:`prf-rule`,x:e.bar.x2+8,y:e.bar.y,dominantBaseline:`middle`,fontSize:Qo,children:e.node.step.rule})]})]},t)})})}),c&&(0,x.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(c)})]})}var is=100,as=4,os=13,ss=11,cs=4.2,ls=5,us=.62;function ds(e,t){return e.length>t?e.slice(0,Math.max(1,t-1)).trimEnd()+`…`:e}function fs(e,t){return Math.max(2,Math.floor(e*.92/(t*us)))}function ps({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,b.useState)(null),p=(0,b.useMemo)(()=>{let e=o??[],t=e.length;if(t===0)return null;let n=Math.min(os,29/Math.max(1,t-1)),r=Math.max(2,Math.min(ss,n-2));return e.map((e,i)=>{let a=as+i*n,o=Math.max(0,is-a*2),s=i===t-1,c=fs(o,s?ls:cs);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,x.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(l??0)+`ms`},children:[e&&(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsxs)(`div`,{className:`pst-grid`+(p?``:` pst-grid--solo`),children:[(0,x.jsx)(`ol`,{className:`pst-stack`,"aria-label":`Protocol layers, top to bottom`,children:r.map((e,t)=>{let n=d===e.name;return(0,x.jsxs)(`li`,{className:`pst-band`+(n?` on`:``),style:{"--pst-i":t},onMouseEnter:()=>f(e.name),onMouseLeave:()=>f(null),children:[(0,x.jsx)(`span`,{className:`pst-band-num`,children:r.length-t}),(0,x.jsxs)(`div`,{className:`pst-band-body`,children:[(0,x.jsx)(`span`,{className:`pst-band-name`,children:e.name}),e.role&&(0,x.jsx)(`span`,{className:`pst-band-role`,children:e.role}),e.protocols&&e.protocols.length>0&&(0,x.jsx)(`span`,{className:`pst-chips`,children:e.protocols.map((e,t)=>(0,x.jsx)(`span`,{className:`pst-chip`,children:e},e+t))})]})]},e.name+t)})}),p&&(0,x.jsxs)(`figure`,{className:`pst-encaps`,children:[(0,x.jsx)(`figcaption`,{className:`pst-encaps-cap`,children:`Encapsulation`}),(0,x.jsx)(`svg`,{viewBox:`0 0 ${is} ${is}`,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,x.jsxs)(`g`,{className:`pst-box`+(e.inner?` pst-box--inner`:``)+(t?` on`:``),onMouseEnter:()=>e.layer&&f(e.layer),onMouseLeave:()=>f(null),children:[e.header.length>e.maxChars&&(0,x.jsx)(`title`,{children:e.header}),(0,x.jsx)(`rect`,{x:e.x,y:e.y,width:e.size,height:e.size,rx:2.4}),(0,x.jsx)(`text`,{x:e.x+e.size/2,y:e.inner?e.y+e.size/2:e.y+e.labelH/2+1,className:e.inner?`pst-box-lbl pst-box-lbl--inner`:`pst-box-lbl`,textAnchor:`middle`,dominantBaseline:`middle`,children:ds(e.header,e.maxChars)})]},e.key)})}),(0,x.jsxs)(`div`,{className:`pst-flow-note`,children:[(0,x.jsx)(`span`,{className:`pst-flow-arrow`,"aria-hidden":`true`,children:`↓`}),`header added per layer on the way down`]})]})]}),s&&(0,x.jsx)(`p`,{className:`pst-caption`,children:s}),c&&(0,x.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(c)})]})}var ms=30,hs=35,gs=92,_s=108,vs=220,ys=96,bs=40,xs=13;function Ss(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function Cs(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=>Cs(e,t+1)):void 0}}function ws(e){return!e.children||e.children.length===0}function Ts(e){let t=0,n=0,r=(e,i)=>{n=Math.max(n,i);let a=hs+i*gs;if(ws(e)){let n=ms+t*_s+_s/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(vs,t*_s+60),height:hs+n*gs+bs+30}}function Es(e,t=[]){t.push(e);for(let n of e.children)Es(n,t);return t}function Ds({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,b.useMemo)(()=>{let{placed:e,width:t,height:n}=Ts(Cs(r,0));return{nodes:Es(e),width:t,height:n}},[r]);return(0,x.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(s||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(c,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`dg-stage rt-stage`,children:(0,x.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,x.jsx)(`line`,{x1:e.x,y1:e.y+bs/2,x2:n.x,y2:n.y-bs/2,className:`rt-edge`},`e${t}-${r}`))),l.map((e,t)=>{let n=e.node.call;return(0,x.jsxs)(`g`,{transform:`translate(${e.x} ${e.y})`,children:[(0,x.jsx)(`rect`,{x:-48,y:-20,width:ys,height:bs,rx:9,className:`rt-box`}),(0,x.jsxs)(`text`,{className:`rt-call`,textAnchor:`middle`,dominantBaseline:`middle`,children:[n.length>xs&&(0,x.jsx)(`title`,{children:n}),Ss(n,xs)]}),e.node.result!==void 0&&(0,x.jsxs)(`g`,{transform:`translate(${ys/2-6} -24)`,children:[(0,x.jsx)(`rect`,{x:-20,y:-11,width:40,height:22,rx:11,className:`rt-badge`}),(0,x.jsx)(`text`,{className:`rt-badge-text`,textAnchor:`middle`,dominantBaseline:`middle`,children:Ss(`→${e.node.result}`,8)})]})]},`n${t}`)})]})}),o&&(0,x.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(o)})]})}var Os=10,ks=38,As=132,js=400,Ms=112,Ns=26,Ps=16,Fs=6.4,Is=8,Ls=12;function Rs(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function zs({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,b.useId)().replace(/:/g,``)}`,d=`url(#${u})`,f=(0,b.useRef)(null),[p,m]=(0,b.useState)(0);(0,b.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:g,height:_}=(0,b.useMemo)(()=>{let e=Math.max(1,r.length),t=p>0?Math.min(js,Math.max(As,p/e)):As,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*ks+14}},[r,o.length,p]);return(0,x.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(c||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`dg-seq`,ref:f,children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${g} ${_}`,className:`dg-seq-svg`,style:{maxWidth:`${g}px`},preserveAspectRatio:`xMidYMin meet`,role:`img`,"aria-label":e,children:[r.map((e,t)=>(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:h.x[t],y1:44,x2:h.x[t],y2:_-8,className:`dg-seq-life`}),(0,x.jsx)(`rect`,{x:h.x[t]-Ms/2,y:Os,width:Ms,height:Ns,rx:5,className:`dg-seq-actorbox`}),(0,x.jsxs)(`text`,{x:h.x[t],y:27,className:`dg-seq-actor`,textAnchor:`middle`,children:[e.label.length>Ps&&(0,x.jsx)(`title`,{children:e.label}),Rs(e.label,Ps)]})]},e.id)),o.map((e,t)=>{let n=44+t*ks+20,r=h.map[e.from]??0,i=h.map[e.to]??r;if(e.self)return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`path`,{d:`M ${r} ${n} h 16 v 12 h -16`,className:`dg-seq-msg`+(e.reply?` reply`:``),fill:`none`,markerEnd:d}),(0,x.jsxs)(`text`,{x:r+22,y:n-3,className:`dg-seq-lbl`,textAnchor:`start`,children:[e.label.length>Ls&&(0,x.jsx)(`title`,{children:e.label}),Rs(e.label,Ls)]})]},t);let a=i>=r?1:-1,o=Math.max(Is,Math.floor((Math.abs(i-r)-24)/Fs));return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:r,y1:n,x2:i-a*5,y2:n,className:`dg-seq-msg`+(e.reply?` reply`:``),markerEnd:d}),(0,x.jsxs)(`text`,{x:(r+i)/2,y:n-5,className:`dg-seq-lbl`,textAnchor:`middle`,children:[e.label.length>o&&(0,x.jsx)(`title`,{children:e.label}),Rs(e.label,o)]})]},t)}),(0,x.jsx)(`defs`,{children:(0,x.jsx)(`marker`,{id:u,markerWidth:`7`,markerHeight:`7`,refX:`5.5`,refY:`3`,orient:`auto`,children:(0,x.jsx)(`path`,{d:`M0,0 L6,3 L0,6 Z`,className:`dg-seq-arrowhead`})})})]})}),s&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(s)})]})}var Bs=[600,250,80],Vs=[`1×`,`2×`,`4×`];function Hs(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 Us(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 Ws({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,b.useState)(0),[h,g]=(0,b.useState)(!1),[_,v]=(0,b.useState)(1),y=(0,b.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,b.useCallback)(e=>m(Math.min(f-1,Math.max(0,e))),[f]);return(0,b.useEffect)(()=>{if(!h){y.current&&clearTimeout(y.current);return}if(p>=f-1){g(!1);return}return y.current=setTimeout(()=>m(e=>Math.min(f-1,e+1)),Bs[_]),()=>{y.current&&clearTimeout(y.current)}},[h,p,f,_]),(0,x.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u??0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`dg-sv-header`,children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,style:{marginBottom:0},children:[(0,x.jsx)(d,{className:`ic`,style:{color:n}}),e??r]}),(0,x.jsxs)(`div`,{className:`dg-sv-badges`,children:[o&&(0,x.jsx)(`span`,{className:`dg-sv-badge`,children:Us(o)}),(0,x.jsxs)(`span`,{className:`dg-sv-badge dg-sv-ops`,children:[T.cmp,` cmp · `,T.swap,` swap`]})]})]}),(0,x.jsx)(`p`,{className:`dg-at-caption`,"aria-live":`polite`,children:S?.caption??``}),(0,x.jsx)(`div`,{className:`dg-sv-bars`,"aria-label":`sorting visualization`,role:`img`,children:C.map((e,t)=>{let n=Hs(S,t),r=Math.round(Math.abs(e)/w*100);return(0,x.jsxs)(`div`,{className:`dg-sv-bar-wrap`,children:[(0,x.jsx)(`div`,{className:`dg-sv-bar role-${n}`,style:{height:`${r}%`},"aria-label":String(e)}),C.length<=16&&(0,x.jsx)(`span`,{className:`dg-sv-val`,style:{display:`inline-block`,maxWidth:`100%`,overflow:`hidden`,textOverflow:`ellipsis`},children:e})]},t)})}),(0,x.jsxs)(`div`,{className:`dg-at-controls`,children:[(0,x.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>{g(!1),E(p-1)},disabled:p===0,"aria-label":`previous step`,children:[(0,x.jsx)(i.chevL,{className:`ic`}),` Prev`]}),(0,x.jsx)(`button`,{type:`button`,className:`dg-at-btn dg-sv-play`,onClick:()=>{p>=f-1?(m(0),g(!0)):g(e=>!e)},"aria-label":h?`pause`:`play`,children:h?`⏸`:p>=f-1?`↺`:`▶`}),(0,x.jsxs)(`div`,{className:`dg-at-progress`,"aria-hidden":`true`,children:[c.length<=30&&c.map((e,t)=>(0,x.jsx)(`span`,{className:`dg-at-dot`+(t===p?` on`:t<p?` done`:``)},t)),c.length>30&&(0,x.jsxs)(`span`,{className:`dg-sv-step-count`,children:[p+1,` / `,f]})]}),(0,x.jsx)(`button`,{type:`button`,className:`dg-at-btn dg-sv-speed`,onClick:()=>v(e=>(e+1)%3),"aria-label":`speed: ${Vs[_]}`,children:Vs[_]}),(0,x.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>{g(!1),E(p+1)},disabled:p>=f-1,"aria-label":`next step`,children:[`Next `,(0,x.jsx)(i.chevR,{className:`ic`})]})]}),l&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(l)})]})}var Gs=22,Ks=52,qs=20,Js=[700,280,80],Ys=[`1×`,`2×`,`8×`];function Xs({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,b.useState)(0),[p,m]=(0,b.useState)(!1),[h,g]=(0,b.useState)(1),_=(0,b.useRef)(d);_.current=d;let v=(0,b.useRef)(typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches),y=(0,b.useCallback)(e=>{m(!1),f(Math.min(u-1,Math.max(0,e)))},[u]),S=(0,b.useCallback)(()=>{v.current||m(e=>(!e&&_.current>=u-1&&f(0),!e))},[u]);(0,b.useEffect)(()=>{if(!p)return;let e=setInterval(()=>{let e=_.current+1;if(e>=u){m(!1);return}f(e)},Js[h]);return()=>clearInterval(e)},[p,u,h]);let C=o[Math.min(d,u-1)],w=C?.grid??[],T=Math.min(qs,w.length),E=Math.min(qs,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,x.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(c??0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(l,{className:`ic`,style:{color:n}}),e??(r?`${r} on a Grid`:`Grid Trace`),r&&(0,x.jsx)(`span`,{className:`gt2-algo-badge`,children:r})]}),(0,x.jsx)(`p`,{className:`dg-at-caption`,"aria-live":`polite`,children:C?.caption??``}),(0,x.jsx)(`div`,{className:`gt2-grid`,style:{"--gt2-cols":E,"--gt2-cell":`clamp(${Gs}px, calc((100% - 8px) / ${E}), ${Ks}px)`},role:`img`,"aria-label":e??`grid`,children:w.slice(0,T).map((e,t)=>e.slice(0,E).map((e,n)=>(0,x.jsx)(`div`,{className:`gt2-cell gt2-${e.state}`,title:`[${t},${n}]${e.value===void 0?``:` = ${e.value}`}`,children:k&&e.value!==void 0&&(0,x.jsx)(`span`,{className:`gt2-cell-val`,children:e.value})},`${t}-${n}`)))}),(0,x.jsxs)(`div`,{className:`gt2-stats`,children:[(0,x.jsxs)(`span`,{className:`gt2-stat`,children:[(0,x.jsx)(`span`,{className:`gt2-dot gt2-dot-queued`}),D,` queued`]}),(0,x.jsxs)(`span`,{className:`gt2-stat`,children:[(0,x.jsx)(`span`,{className:`gt2-dot gt2-dot-visited`}),O,` visited`]})]}),(0,x.jsxs)(`div`,{className:`dg-at-controls`,children:[(0,x.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>y(d-1),disabled:d===0,"aria-label":`previous step`,children:[(0,x.jsx)(i.chevL,{className:`ic`}),` Prev`]}),!v.current&&(0,x.jsx)(`button`,{type:`button`,className:`dg-at-btn dg-at-play`+(p?` playing`:``),onClick:S,"aria-label":p?`pause`:`play`,children:p?(0,x.jsx)(i.pause,{className:`ic`}):(0,x.jsx)(i.play,{className:`ic`})}),!v.current&&(0,x.jsx)(`button`,{type:`button`,className:`dg-at-btn dg-at-speed`,onClick:()=>g(e=>(e+1)%3),"aria-label":`speed: ${Ys[h]}`,children:Ys[h]}),(0,x.jsx)(`div`,{className:`dg-at-progress`,"aria-hidden":`true`,children:u<=30&&o.map((e,t)=>(0,x.jsx)(`span`,{className:`dg-at-dot`+(t===d?` on`:t<d?` done`:``)},t))}),(0,x.jsxs)(`span`,{className:`dg-at-count`,children:[d+1,` / `,u]}),(0,x.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>y(d+1),disabled:d>=u-1,"aria-label":`next step`,children:[`Next `,(0,x.jsx)(i.chevR,{className:`ic`})]})]}),s&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(s)})]})}var Zs=100;function Qs({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,states:r,transitions:a,footer:o,delay:s}){let c=i[t]||i.share,[l,u]=(0,b.useState)(null),d=`dg-sm-arrow-${(0,b.useId)().replace(/:/g,``)}`,f=`url(#${d})`,p=(0,b.useMemo)(()=>{let e=_(Math.max(1,r.length),Zs/2,Zs/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]),m=v(r.length),h=(0,b.useMemo)(()=>g(a,p,m),[a,p,m]),y=(0,b.useMemo)(()=>{let e=r.map(e=>p[e.id]).filter(Boolean);if(e.length===0)return`0 0 ${Zs} ${Zs}`;let t=m+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,p,m]);return(0,x.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(s||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(c,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`dg-sm`,onMouseLeave:()=>u(null),children:(0,x.jsxs)(`svg`,{viewBox:y,className:`dg-sm-svg`,role:`img`,"aria-label":e,children:[(0,x.jsx)(`defs`,{children:(0,x.jsx)(`marker`,{id:d,markerWidth:`6`,markerHeight:`6`,refX:`5`,refY:`3`,orient:`auto`,children:(0,x.jsx)(`path`,{d:`M0,0 L6,3 L0,6 Z`,className:`dg-sm-arrowhead`})})}),h.map(e=>(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`path`,{d:e.d,className:`dg-sm-edge`,fill:`none`,markerEnd:f}),e.label&&(0,x.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=p[e.id];return t?(0,x.jsxs)(`g`,{onMouseEnter:()=>u(e.id),className:`dg-sm-state`+(l===e.id?` on`:``),children:[e.start&&(0,x.jsx)(`line`,{x1:t.x-m-7,y1:t.y,x2:t.x-m,y2:t.y,className:`dg-sm-edge`,markerEnd:f}),(0,x.jsx)(`circle`,{cx:t.x,cy:t.y,r:m,className:`dg-sm-circ`}),e.final&&(0,x.jsx)(`circle`,{cx:t.x,cy:t.y,r:m-2.4,className:`dg-sm-circ-inner`}),(0,x.jsx)(`text`,{x:t.x,y:t.y+2.4,className:`dg-sm-lbl`,textAnchor:`middle`,children:e.label})]},e.id):null})]})}),o&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},children:o})]})}var $s=1e3,ec=96,tc=44,nc=112,rc=300,ic={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))`},ac={start:`var(--presence)`,intermediate:`var(--line-strong)`,target:`var(--insight)`};function oc(e){return e===`start`||e===`target`?e:`intermediate`}function sc(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 cc(e,t){if(e.length===0)return rc;let n=sc(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*88+Math.max(0,i-1)*80;return Math.max(rc,a+224)}function lc(e,t,n){let r=n-224,i=e=>nc+e*776,a=e=>nc+e*r,o=e.map(e=>({...e,cx:0,cy:0})),s=new Map(o.map(e=>[e.id,e])),c=sc(e,t),l=new Map;for(let t of e){let e=c.get(t.id)??0;l.has(e)||l.set(e,[]),l.get(e).push(t)}let u=[...l.keys()].sort((e,t)=>e-t),d=Math.max(1,u.length-1);return u.forEach((e,t)=>{let r=l.get(e),o=u.length===1?$s/2:i(t/d);r.forEach((e,t)=>{let i=s.get(e.id);i.cx=o,i.cy=r.length===1?n/2:a((t+.5)/r.length)})}),o}function uc(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)*102,y:t.cy-Math.sin(i)*50}}function dc(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)*102,y:e.cy+Math.sin(i)*50}}function fc(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 pc(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}var mc=21,hc=12,gc=.6,_c=20,vc=Math.max(4,Math.floor(ec*Math.sqrt(1-(_c/tc)**2)*2*.94/(hc*gc)));function yc(e){let t=(0,F.c)(37),{node:n}=e,r;t[0]===n.role?r=t[1]:(r=oc(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;if(t[2]!==o||t[3]!==a||t[4]!==n.cx||t[5]!==n.cy||t[6]!==i){let e=fc(a,16,o?1:2),r=e.length*mc,p=n.cy-r/2+mc*.72-(o?9:0);d=`sr-node`;let m=ic[i],h=ac[i],g=i===`intermediate`?1.4:2;t[13]!==n.cx||t[14]!==n.cy||t[15]!==g||t[16]!==m||t[17]!==h?(f=(0,x.jsx)(`ellipse`,{cx:n.cx,cy:n.cy,rx:ec,ry:tc,fill:m,stroke:h,strokeWidth:g}),t[13]=n.cx,t[14]=n.cy,t[15]=g,t[16]=m,t[17]=h,t[18]=f):f=t[18],s=`sr-label`,c=n.cx,l=`middle`;let _;t[19]!==n.cx||t[20]!==p?(_=(e,t)=>(0,x.jsx)(`tspan`,{x:n.cx,y:p+t*mc,children:e},t),t[19]=n.cx,t[20]=p,t[21]=_):_=t[21],u=e.map(_),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}else s=t[7],c=t[8],l=t[9],u=t[10],d=t[11],f=t[12];let p;t[22]!==s||t[23]!==c||t[24]!==l||t[25]!==u?(p=(0,x.jsx)(`text`,{className:s,x:c,textAnchor:l,children:u}),t[22]=s,t[23]=c,t[24]=l,t[25]=u,t[26]=p):p=t[26];let m;t[27]!==o||t[28]!==n.cx||t[29]!==n.cy||t[30]!==n.smiles?(m=o&&(0,x.jsx)(`text`,{className:`sr-smiles`,x:n.cx,y:n.cy+_c,textAnchor:`middle`,children:pc(n.smiles,vc)}),t[27]=o,t[28]=n.cx,t[29]=n.cy,t[30]=n.smiles,t[31]=m):m=t[31];let h;return t[32]!==d||t[33]!==f||t[34]!==p||t[35]!==m?(h=(0,x.jsxs)(`g`,{className:d,children:[f,p,m]}),t[32]=d,t[33]=f,t[34]=p,t[35]=m,t[36]=h):h=t[36],h}function bc(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=dc(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=uc(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 _=g,v=Math.min(36,_*.05),y=f-h/_*v,b=p+m/_*v,S;t[9]!==i.conditions||t[10]!==i.reagents?(S=[i.reagents,i.conditions].filter(xc),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 ${y} ${b} ${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,x.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]!==y||t[23]!==b?(M=C&&(0,x.jsx)(`text`,{className:`dg-edge-label`,x:y,y:b-12,textAnchor:`middle`,children:pc(C,28)}),t[21]=C,t[22]=y,t[23]=b,t[24]=M):M=t[24];let N;t[25]!==y||t[26]!==b||t[27]!==D?(N=D&&(0,x.jsx)(`text`,{className:`sr-yield`,x:y,y:b+22,textAnchor:`middle`,children:D}),t[25]=y,t[26]=b,t[27]=D,t[28]=N):N=t[28];let P;return t[29]!==j||t[30]!==M||t[31]!==N?(P=(0,x.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 xc(e){return typeof e==`string`&&e}function Sc({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,b.useId)().replace(/:/g,``),d=`sr-arrow-fwd-${u}`,f=`sr-arrow-retro-${u}`,p=(0,b.useMemo)(()=>Array.isArray(r)?r:[],[r]),m=(0,b.useMemo)(()=>Array.isArray(o)?o:[],[o]),h=(0,b.useMemo)(()=>cc(p,m),[p,m]),g=(0,b.useMemo)(()=>lc(p,m,h),[p,m,h]),_=(0,b.useMemo)(()=>new Map(g.map(e=>[e.id,e])),[g]);return(0,x.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(c||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`dg-stage sr-stage`,children:(0,x.jsxs)(`svg`,{className:`dg-svg`,viewBox:`0 0 ${$s} ${h}`,preserveAspectRatio:`xMidYMid meet`,role:`img`,"aria-label":e,children:[(0,x.jsxs)(`defs`,{children:[(0,x.jsx)(`marker`,{id:d,viewBox:`0 0 10 10`,refX:`8`,refY:`5`,markerWidth:`7`,markerHeight:`7`,orient:`auto-start-reverse`,children:(0,x.jsx)(`path`,{d:`M0 0 L10 5 L0 10 z`,className:`sr-arrowhead-fwd`})}),(0,x.jsx)(`marker`,{id:f,viewBox:`0 0 10 10`,refX:`8`,refY:`5`,markerWidth:`7`,markerHeight:`7`,orient:`auto-start-reverse`,children:(0,x.jsx)(`path`,{d:`M0 0 L10 5 L0 10 z`,className:`sr-arrowhead-retro`})})]}),m.map((e,t)=>{let n=_.get(e.from),r=_.get(e.to);return!n||!r?null:(0,x.jsx)(bc,{a:n,b:r,edge:e,forwardArrow:d,retroArrow:f},t)}),g.map(e=>(0,x.jsx)(yc,{node:e},e.id))]})}),s&&(0,x.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(s)})]})}var Cc=1e3,wc=130,Tc=113,Ec=74,Dc=320,Oc=226,kc=720,Ac=70,jc=-30,Mc={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))`},Nc={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)`},Pc=17,Fc=20;function Ic(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function Lc(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 Rc(e,t){if(e.length===0)return Dc;let n=Lc(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*wc+Math.max(0,i-1)*Ec;return Math.max(Dc,a+226)}function zc(e,t){if(e.length===0)return Cc;let n=Lc(e,t),r=new Set(e.map(e=>n.get(e.id)??0)).size;return Math.max(Cc,Math.max(1,r-1)*Oc+226)}function Bc(e,t,n,r){let i=n-226,a=r-226,o=e=>Tc+e*i,s=e=>Tc+e*a,c=e.map(e=>Number.isFinite(e.x)&&Number.isFinite(e.y)?{...e,cx:o(Vc(e.x)),cy:s(Vc(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=Lc(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 Vc(e){return Math.min(1,Math.max(0,e))}function Hc(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 Uc(e,t){let n=t.cx-e.cx,r=t.cy-e.cy,i=Math.atan2(r,n),{rx:a,ry:o}=Hc(e,t);return{x:t.cx-Math.cos(i)*a,y:t.cy-Math.sin(i)*o}}function Wc(e,t){let n=t.cx-e.cx,r=t.cy-e.cy,i=Math.atan2(r,n),{rx:a,ry:o}=Hc(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,x.jsxs)(`g`,{className:`sa-icon`,children:[(0,x.jsx)(`rect`,{x:-9,y:-7,width:18,height:12,rx:1.6}),(0,x.jsx)(`line`,{x1:-4,y1:8,x2:4,y2:8}),(0,x.jsx)(`line`,{x1:0,y1:5,x2:0,y2:8})]});case`gateway`:return(0,x.jsxs)(`g`,{className:`sa-icon`,children:[(0,x.jsx)(`line`,{x1:-7,y1:-8,x2:-7,y2:8}),(0,x.jsx)(`line`,{x1:7,y1:-8,x2:7,y2:8}),(0,x.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,x.jsxs)(`g`,{className:`sa-icon`,children:[(0,x.jsx)(`line`,{x1:0,y1:-8,x2:-7,y2:6}),(0,x.jsx)(`line`,{x1:0,y1:-8,x2:7,y2:6}),(0,x.jsx)(`line`,{x1:-7,y1:6,x2:7,y2:6}),(0,x.jsx)(`circle`,{cx:0,cy:-8,r:1.8,className:`sa-icon-fill`}),(0,x.jsx)(`circle`,{cx:-7,cy:6,r:1.8,className:`sa-icon-fill`}),(0,x.jsx)(`circle`,{cx:7,cy:6,r:1.8,className:`sa-icon-fill`})]});default:return(0,x.jsxs)(`g`,{className:`sa-icon`,children:[(0,x.jsx)(`rect`,{x:-9,y:-8,width:18,height:16,rx:2}),(0,x.jsx)(`line`,{x1:-9,y1:0,x2:9,y2:0}),(0,x.jsx)(`circle`,{cx:-5,cy:-4,r:1,className:`sa-icon-fill`}),(0,x.jsx)(`circle`,{cx:-5,cy:4,r:1,className:`sa-icon-fill`})]})}}function Kc(e,t,n){let r={fill:t,stroke:n,strokeWidth:2.2};switch(e){case`database`:{let e=Ac/2-13;return(0,x.jsxs)(`g`,{children:[(0,x.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,x.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,x.jsxs)(`g`,{children:[(0,x.jsx)(`rect`,{x:-36,y:-35,width:100,height:42,rx:8,fill:t,stroke:n,strokeWidth:1.4,opacity:.55}),(0,x.jsx)(`rect`,{x:-43,y:-28,width:100,height:42,rx:8,fill:t,stroke:n,strokeWidth:1.4,opacity:.78}),(0,x.jsx)(`rect`,{x:-50,y:-21,width:100,height:42,rx:8,...r})]});case`cache`:return(0,x.jsx)(`rect`,{x:-31,y:-31,width:62,height:62,rx:14,transform:`rotate(45)`,...r});case`loadbalancer`:{let e=Array.from({length:6},(e,t)=>{let n=Math.PI/3*t;return`${Math.cos(n)*66},${Math.sin(n)*40}`}).join(` `);return(0,x.jsx)(`polygon`,{points:e,...r})}default:return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`rect`,{x:-75,y:-35,width:150,height:Ac,rx:14,...r}),(0,x.jsx)(`g`,{transform:`translate(0 -6)`,children:Gc(e)})]})}}function qc({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,b.useId)().replace(/:/g,``),d=(0,b.useMemo)(()=>Array.isArray(r)?r:[],[r]),f=(0,b.useMemo)(()=>Array.isArray(o)?o:[],[o]),p=(0,b.useMemo)(()=>zc(d,f),[d,f]),m=(0,b.useMemo)(()=>Rc(d,f),[d,f]),h=(0,b.useMemo)(()=>Bc(d,f,p,m),[d,f,p,m]),g=(0,b.useMemo)(()=>new Map(h.map(e=>[e.id,e])),[h]),_=Math.round(kc*p/Cc);return(0,x.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(c||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`dg-stage sa-stage`,style:{maxWidth:_},children:(0,x.jsxs)(`svg`,{className:`dg-svg`,viewBox:`0 0 ${p} ${m}`,preserveAspectRatio:`xMidYMid meet`,role:`img`,"aria-label":e,children:[(0,x.jsx)(`defs`,{children:(0,x.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,x.jsx)(`path`,{d:`M0 0 L10 5 L0 10 z`,className:`sa-arrowhead`})})}),f.map((e,t)=>{let n=g.get(e.from),r=g.get(e.to);if(!n||!r)return null;let i=Wc(n,r),a=Uc(n,r);return(0,x.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+jc,n=typeof e.label==`string`&&e.label?e.label:e.id||`Node`;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`g`,{transform:`translate(${e.cx} ${t})`,children:Kc(e.kind,Mc[e.kind]??Mc.service,Nc[e.kind]??Nc.service)}),(0,x.jsxs)(`text`,{x:e.cx,y:t+Ac/2+24,className:`sa-label`,textAnchor:`middle`,children:[n.length>Pc&&(0,x.jsx)(`title`,{children:n}),Ic(n,Pc)]}),e.sub&&(0,x.jsx)(`text`,{x:e.cx,y:t+Ac/2+44,className:`sa-sub`,textAnchor:`middle`,children:Ic(e.sub,Fc)})]},e.id)}),f.map((e,t)=>{let n=g.get(e.from),r=g.get(e.to);if(!n||!r)return null;let i=Wc(n,r),a=Uc(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,x.jsx)(`text`,{x:o,y:s-34,className:`dg-edge-label`,textAnchor:`middle`,children:Ic(c,26)},t):null})]})}),s&&(0,x.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(s)})]})}var Jc=156,Q=40,Yc=10,Xc=14,Zc=20,Qc=22,$c=20,el=4,tl=4,nl=new Set([`process`,`datastore`,`external-entity`]);function rl(e){return nl.has(e)?e:`process`}var il=new Set([`spoofing`,`tampering`,`repudiation`,`info-disclosure`,`dos`,`elevation`]),al={spoofing:`Spoofing`,tampering:`Tampering`,repudiation:`Repudiation`,"info-disclosure":`Info disclosure`,dos:`Denial of service`,elevation:`Elevation of privilege`},ol={spoofing:`S`,tampering:`T`,repudiation:`R`,"info-disclosure":`I`,dos:`D`,elevation:`E`},sl=16;function cl(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function ll(e){return e>0?e*Q+(e-1)*Yc:Q}function ul(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,x.jsxs)(`g`,{className:`tm-glyph`,children:[(0,x.jsx)(`line`,{x1:-6,y1:-4,x2:6,y2:-4}),(0,x.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,x.jsx)(`g`,{className:`tm-glyph`,children:(0,x.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,x.jsx)(`g`,{className:`tm-glyph`,children:(0,x.jsx)(`circle`,{r:6})}),t[2]=e):e=t[2],e}}}function dl({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,b.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:rl(n.kind)}:null}).filter(e=>e!==null),[r]),f=(0,b.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:il.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,b.useMemo)(()=>new Map(d.map(e=>[e.id,e])),[d]),m=(0,b.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,b.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:g,chips:_,vbW:v,vbH:y}=(0,b.useMemo)(()=>{let e=Math.max(1,Math.min(el,h.length)),t=[];for(let n=0;n<h.length;n+=e)t.push(h.slice(n,n+e));let n=[],r=[],i=$c;for(let e of t){let t=0;for(let n of e){let e=(n.label?Zc:0)+28+ll(n.assets.length);t=Math.max(t,e)}e.forEach((e,t)=>{let a=e.label?Zc:0,o=a+28+ll(e.assets.length),s=$c+t*206;n.push({...e,x:s,y:i,w:184,h:o}),e.assets.forEach((e,t)=>{r.push({asset:e,x:s+Xc,y:i+a+Xc+t*50})})}),i+=t+Qc}return{placedLanes:n,chips:r,vbW:40+e*184+Math.max(0,e-1)*Qc,vbH:Math.max(140,i-Qc+$c)}},[h]),S=(0,b.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,x.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(l||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),_.length===0?(0,x.jsx)(`p`,{className:`tm-empty`,children:`No assets to diagram.`}):(0,x.jsx)(`div`,{className:`dg-stage tm-stage`,children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${v} ${y}`,className:`dg-svg`,role:`img`,"aria-label":e,preserveAspectRatio:`xMidYMid meet`,children:[g.map(e=>(0,x.jsxs)(`g`,{children:[(0,x.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,x.jsx)(`text`,{x:e.x+Xc,y:e.y+15,className:`tm-lane-lbl`,children:cl(e.label,22)}),e.assets.length===0&&(0,x.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)),_.map(e=>{let t=e.x,n=e.y,r=S.get(e.asset.id)??[],i=r.slice(0,tl),a=r.length-i.length;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`rect`,{x:t,y:n,width:Jc,height:Q,rx:9,className:`tm-chip`}),(0,x.jsx)(`g`,{transform:`translate(${t+17} ${n+Q/2})`,children:(0,x.jsx)(ul,{kind:e.asset.kind})}),(0,x.jsxs)(`text`,{x:t+32,y:n+Q/2+4,className:`tm-chip-lbl`,children:[e.asset.name.length>sl&&(0,x.jsx)(`title`,{children:e.asset.name}),cl(e.asset.name,sl)]}),i.map((e,r)=>(0,x.jsx)(`circle`,{cx:t+Jc-9-r*10,cy:n+8,r:3.4,className:e.status===`open`?`tm-mark tm-mark--open`:`tm-mark`,children:(0,x.jsx)(`title`,{children:(e.stride?al[e.stride]:`Threat`)+(e.status===`open`?` · open`:` · mitigated`)})},e.key)),a>0&&(0,x.jsxs)(`text`,{x:t+Jc-9-i.length*10,y:n+11,textAnchor:`end`,className:`tm-mark-more`,children:[`+`,a]})]},e.asset.id)})]})}),f.length>0&&(0,x.jsx)(`div`,{className:`tm-register`,children:f.map(e=>{let t=p.get(e.assetId);return(0,x.jsxs)(`div`,{className:`tm-row`,children:[(0,x.jsxs)(`div`,{className:`tm-row-head`,children:[(0,x.jsx)(`span`,{className:`tm-row-stride`,title:e.stride?al[e.stride]:void 0,children:e.stride?ol[e.stride]:`?`}),(0,x.jsx)(`span`,{className:`tm-row-asset`,children:t?t.name:`Unknown asset`}),(0,x.jsx)(`span`,{className:`tm-row-cat`,children:e.stride?al[e.stride]:`Unspecified`}),(0,x.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,x.jsx)(`span`,{className:`tm-row-mitigation`,children:e.mitigation||`—`})]},e.key)})}),c&&(0,x.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(c)})]})}function $(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,x.jsx)(`span`,{className:`toul-role-conn`,children:i}),t[2]=i,t[3]=c);let l;t[4]===r?l=t[5]:(l=(0,x.jsx)(`span`,{className:`toul-role-name`,children:r}),t[4]=r,t[5]=l);let u;t[6]!==c||t[7]!==l?(u=(0,x.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,x.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,x.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 fl({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,x.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(f||0)+`ms`},children:[e&&(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(p,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`toul`,children:(0,x.jsxs)(`div`,{className:`toul-grid`,children:[o&&(0,x.jsx)($,{kind:`grounds`,name:`Grounds`,text:o}),s&&(0,x.jsx)($,{kind:`warrant`,name:`Warrant`,conn:`Since`,text:s}),c&&(0,x.jsx)($,{kind:`backing`,name:`Backing`,conn:`On account of`,text:c}),(0,x.jsxs)(`div`,{className:`toul-bridge`,style:{gridArea:`bridge`},"aria-hidden":`true`,children:[(0,x.jsx)(`span`,{className:`toul-so`,children:`so`}),l&&(0,x.jsx)(`span`,{className:`toul-qual`,children:l}),(0,x.jsx)(`span`,{className:`toul-arrow`})]}),r&&(0,x.jsx)($,{kind:`claim`,name:`Claim`,text:r}),u&&(0,x.jsx)($,{kind:`rebuttal`,name:`Rebuttal`,conn:`Unless`,text:u})]})}),d&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(d)})]})}var pl=170,ml=24,hl=48,gl=48,_l=18,vl=15,yl=16;function bl(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function xl(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+hl/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)=>_l+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]+pl,i=n+gl/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))+hl/2+_l;return{placed:s,connectors:c,columnX:o,W:_l+n*pl+(n-1)*gl+_l,H:l}}function Sl(e){let t=(0,F.c)(4),{d:n,delay:r}=e,i=(0,b.useRef)(null),a;t[0]===r?a=t[1]:(a={delay:r},t[0]=r,t[1]=a),c(i,a);let o;return t[2]===n?o=t[3]:(o=(0,x.jsx)(`path`,{ref:i,d:n,className:`dg-tb-connector`}),t[2]=n,t[3]=o),o}function Cl(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>vl&&(0,x.jsx)(`title`,{children:n}),t[0]=n,t[1]=u);let d;t[2]===s?d=t[3]:(d=bl(s,vl),t[2]=s,t[3]=d);let f;t[4]!==c||t[5]!==i||t[6]!==u||t[7]!==d?(f=(0,x.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,x.jsx)(`text`,{x:158,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,x.jsxs)(x.Fragment,{children:[f,p]}),t[13]=f,t[14]=p,t[15]=m):m=t[15],m}function wl({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,b.useMemo)(()=>xl(r,o),[r,o]);return d.placed.length===0?(0,x.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(l??0)+`ms`},children:[e&&(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`p`,{className:`dg-tb-empty`,children:`No matchups yet.`})]}):(0,x.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(l??0)+`ms`},children:[e&&(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(u,{className:`ic`,style:{color:n}}),` `,e,s&&(0,x.jsx)(`span`,{className:`dg-tb-note`,children:`single-elimination view`})]}),(0,x.jsx)(`div`,{className:`dg-tb-wrap`,children:(0,x.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,x.jsxs)(`text`,{x:d.columnX[t]+pl/2,y:15,textAnchor:`middle`,className:`dg-tb-round-label`,children:[e.length>yl&&(0,x.jsx)(`title`,{children:e}),bl(e,yl)]},`hdr-${t}`)),d.connectors.map((e,t)=>(0,x.jsx)(Sl,{d:e.d,delay:t*45},e.key)),d.placed.map((e,t)=>{let n=e.winner!==void 0,r=e.y-hl/2;return(0,x.jsx)(`g`,{transform:`translate(${e.x} ${r})`,children:(0,x.jsxs)(`g`,{className:`dg-tb-box m-stagger-item m-fade-rise`,style:{"--i":t},children:[(0,x.jsx)(`rect`,{width:pl,height:hl,rx:7,className:`dg-tb-box-bg`}),n&&e.winner===`a`&&(0,x.jsx)(`rect`,{x:1,y:1,width:168,height:23,rx:6,className:`dg-tb-row-winner`}),n&&e.winner===`b`&&(0,x.jsx)(`rect`,{x:1,y:ml,width:168,height:23,rx:6,className:`dg-tb-row-winner`}),(0,x.jsx)(`line`,{x1:0,y1:ml,x2:pl,y2:ml,className:`dg-tb-divider`}),(0,x.jsx)(Cl,{name:e.a,score:e.scoreA,rowY:ml/2,isWinner:n&&e.winner===`a`,isDecided:n}),(0,x.jsx)(Cl,{name:e.b,score:e.scoreB,rowY:36,isWinner:n&&e.winner===`b`,isDecided:n})]})},e.id)})]})}),c&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(c)})]})}var Tl=14,El=44,Dl=58,Ol=10,kl=6;function Al(e){let t=0,n={char:``,id:`n0`,children:new Map,isEnd:!1};for(let r of e.slice(0,Ol)){let e=r.slice(0,kl),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 jl(e){if(e.children.size===0)return 1;let t=0;for(let n of e.children.values())t+=jl(n);return t}function Ml(e){let t=[],n=Math.max(1,jl(e)),r=0,i=0,a=(e,n,o,s)=>{if(e.children.size===0){let a=34+i*El,c=34+n*Dl;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*El,u=34+n*Dl;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 Nl({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,b.useMemo)(()=>Ml(Al(r)),[r]),p=(0,b.useMemo)(()=>{if(!o)return new Set;let e=Al(r),t=new Set;t.add(e.id);let n=e;for(let e of o.slice(0,kl)){let r=n.children.get(e);if(!r)break;t.add(r.id),n=r}return t},[r,o]),m=(0,b.useMemo)(()=>new Map(u.map(e=>[e.id,e])),[u]),h=40+Math.max(1,d)*El,g=40+(f+1)*Dl;return(0,x.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(c??0)+`ms`},children:[e&&(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`tri-wrap`,children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${h} ${g}`,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,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:t.x,y1:t.y,x2:e.x,y2:e.y,className:`tri-edge`+(n?` tri-edge-active`:``)}),(0,x.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,x.jsxs)(`g`,{children:[e.isEnd&&(0,x.jsx)(`circle`,{cx:e.x,cy:e.y,r:19,className:`tri-node-end-ring`+(t?` tri-node-end-ring-active`:``)}),(0,x.jsx)(`circle`,{cx:e.x,cy:e.y,r:Tl,className:`tri-node`+(t?` tri-node-active`:``)+(n?` tri-node-root`:``)}),!n&&(0,x.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,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(s)})]})}var Pl=100,Fl=64,Il={hot:`c-hot`,neutral:`c-neutral`,ground:`c-ground`,traveler:`c-traveler`};function Ll(e){switch(e){case`breaker`:return(0,x.jsxs)(`g`,{className:`dg-wir-glyph`,children:[(0,x.jsx)(`rect`,{x:-6,y:-7,width:12,height:14,rx:1.6,fill:`none`}),(0,x.jsx)(`line`,{x1:-3.5,y1:-3.5,x2:3.5,y2:-1}),(0,x.jsx)(`circle`,{cx:0,cy:3.5,r:1,className:`dg-wir-fill`})]});case`switch`:return(0,x.jsxs)(`g`,{className:`dg-wir-glyph`,children:[(0,x.jsx)(`circle`,{cx:-5,cy:0,r:1.1,className:`dg-wir-fill`}),(0,x.jsx)(`circle`,{cx:5,cy:0,r:1.1,className:`dg-wir-fill`}),(0,x.jsx)(`line`,{x1:-5,y1:0,x2:4,y2:-5})]});case`switch3way`:return(0,x.jsxs)(`g`,{className:`dg-wir-glyph`,children:[(0,x.jsx)(`circle`,{cx:-5,cy:0,r:1.1,className:`dg-wir-fill`}),(0,x.jsx)(`circle`,{cx:5,cy:-3,r:1.1,className:`dg-wir-fill`}),(0,x.jsx)(`circle`,{cx:5,cy:3,r:1.1,className:`dg-wir-fill`}),(0,x.jsx)(`line`,{x1:-5,y1:0,x2:4,y2:-4})]});case`outlet`:return(0,x.jsxs)(`g`,{className:`dg-wir-glyph`,children:[(0,x.jsx)(`circle`,{cx:0,cy:0,r:6,fill:`none`}),(0,x.jsx)(`line`,{x1:-2.2,y1:-2.6,x2:-2.2,y2:1.4}),(0,x.jsx)(`line`,{x1:2.2,y1:-2.6,x2:2.2,y2:1.4}),(0,x.jsx)(`line`,{x1:0,y1:3,x2:0,y2:4.4})]});case`gfci`:return(0,x.jsxs)(`g`,{className:`dg-wir-glyph`,children:[(0,x.jsx)(`rect`,{x:-6,y:-7,width:12,height:14,rx:1.6,fill:`none`}),(0,x.jsx)(`circle`,{cx:0,cy:-2.4,r:1.5,fill:`none`}),(0,x.jsx)(`circle`,{cx:0,cy:3,r:1.5,fill:`none`}),(0,x.jsx)(`text`,{x:7.5,y:-4,className:`dg-wir-tick`,children:`G`})]});case`light`:return(0,x.jsxs)(`g`,{className:`dg-wir-glyph`,children:[(0,x.jsx)(`circle`,{cx:0,cy:0,r:6,fill:`none`}),(0,x.jsx)(`line`,{x1:-4.2,y1:-4.2,x2:4.2,y2:4.2}),(0,x.jsx)(`line`,{x1:-4.2,y1:4.2,x2:4.2,y2:-4.2})]});case`panel`:return(0,x.jsxs)(`g`,{className:`dg-wir-glyph`,children:[(0,x.jsx)(`rect`,{x:-7,y:-8,width:14,height:16,rx:1.6,fill:`none`}),(0,x.jsx)(`line`,{x1:-7,y1:-2,x2:7,y2:-2}),(0,x.jsx)(`line`,{x1:-7,y1:2.5,x2:7,y2:2.5}),(0,x.jsx)(`line`,{x1:0,y1:-8,x2:0,y2:8})]});case`motor`:return(0,x.jsxs)(`g`,{className:`dg-wir-glyph`,children:[(0,x.jsx)(`circle`,{cx:0,cy:0,r:6.5,fill:`none`}),(0,x.jsx)(`text`,{x:0,y:2.6,className:`dg-wir-mark`,textAnchor:`middle`,children:`M`})]});case`ground`:return(0,x.jsxs)(`g`,{className:`dg-wir-glyph`,children:[(0,x.jsx)(`line`,{x1:0,y1:-7,x2:0,y2:0}),(0,x.jsx)(`line`,{x1:-5,y1:0,x2:5,y2:0,strokeWidth:1.4}),(0,x.jsx)(`line`,{x1:-3,y1:2.6,x2:3,y2:2.6}),(0,x.jsx)(`line`,{x1:-1.4,y1:5,x2:1.4,y2:5})]});default:return(0,x.jsx)(`circle`,{cx:0,cy:0,r:2.2,className:`dg-wir-fill`})}}function Rl({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,b.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=Pl/(t+1),a=Fl/(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,x.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(l||0)+`ms`},children:[e&&(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`dg-wir`,children:(0,x.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=Il[e.conductor??`hot`],a=r.x,o=n.y;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`polyline`,{points:`${n.x},${n.y} ${a},${o} ${r.x},${r.y}`,className:`dg-wir-wire ${i}`,fill:`none`}),e.gauge&&(0,x.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,x.jsxs)(`g`,{transform:`translate(${t.x} ${t.y})`,children:[Ll(e.kind),e.label&&(0,x.jsx)(`text`,{x:0,y:13,className:`dg-wir-lbl`,textAnchor:`middle`,children:e.label})]},e.id):null})]})}),(0,x.jsx)(Vl,{wires:o}),s&&(0,x.jsx)(`p`,{className:`dg-wir-cap`,children:s}),c&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(c)})]})}var zl={hot:`Hot`,neutral:`Neutral`,ground:`Ground`,traveler:`Traveler`},Bl=[`hot`,`neutral`,`ground`,`traveler`];function Vl(e){let t=(0,F.c)(9),{wires:n}=e,r;t[0]===n?r=t[1]:(r=new Set(n.map(Ul)),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=Bl.filter(e=>i.has(e));if(e.length<2){s=null;break bb0}a=`dg-wir-legend`,o=e.map(Hl)}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,x.jsx)(`div`,{className:a,children:o}),t[6]=a,t[7]=o,t[8]=c):c=t[8],c}function Hl(e){return(0,x.jsxs)(`span`,{className:`dg-wir-legend-item`,children:[(0,x.jsx)(`span`,{className:`dg-wir-swatch ${Il[e]}`}),zl[e]]},e)}function Ul(e){return e.conductor??`hot`}var Wl=e({diagramsRegistry:()=>Gl}),Gl={algorithmtrace:l(D),analogymap:l(j),argumentmap:l(P),binarytree:l(de),castmap:l(we),causationchain:l(Ze),circuitdiagram:l(st),classdiagram:l(Mt),controlblockdiagram:l($t),cyclewheel:l(pn),datapipeline:l(Vn),datastructure:l(sr),diagramflow:l(Er),dptable:l(Hr),erdiagram:l(Ur),fishbone:l(ei),fiveforces:l(ki),fivewhychain:l(Ki),foodweb:l(na),graphtrace:l(ua),hashtable:l(ba),logicgates:l(Na),mindshape:l(f),nnarchitecture:l(Ya),pipingschematic:l($a),plasmidmap:l(po),primefactortree:l(Eo),probabilitytree:l(Ko),prooftree:l(rs),protocolstack:l(ps),recursiontree:l(Ds),sequencediagram:l(zs),sortingviz:l(Ws),gridtrace:l(Xs),statemachine:l(Qs),synthesisroute:l(Sc),sysarchdiagram:l(qc),threatmodel:l(dl),toulmin:l(fl),tournamentbracket:l(wl),trie:l(Nl),wiringdiagram:l(Rl)};export{Wl as n,Gl as t};
@@ -1 +0,0 @@
1
- var e=null,t=!1,n=!1,r=0,i=new Map;function a(){if(!(e||n)){if(typeof Worker>`u`){n=!0;return}try{e=new Worker(new URL(`/assets/worker-D7eK-Ya8.js`,``+import.meta.url),{type:`module`}),e.onmessage=e=>{let r=e.data;if(r.type===`ready`)t=!0;else if(r.type===`error`)n=!0,o();else if(r.type===`result`){let e=i.get(r.id);i.delete(r.id),e?.kind===`fit`&&e.resolve(r.fits)}else if(r.type===`embedded`){let e=i.get(r.id);i.delete(r.id),e?.kind===`embed`&&e.resolve(r.vec.length?r.vec:null)}},e.onerror=()=>{n=!0,o()},e.postMessage({type:`init`,base:u,modelId:l})}catch{n=!0}}}function o(){for(let e of i.values())e.resolve(null);i.clear();try{e?.terminate()}catch{}e=null,t=!1}function s(n,o=80){if(a(),!t||!e)return Promise.resolve(null);let s=++r;return new Promise(t=>{let r=setTimeout(()=>{i.delete(s),t(null)},o);i.set(s,{kind:`fit`,resolve:e=>{clearTimeout(r),t(e?new Map(e):null)}}),e.postMessage({type:`fit`,id:s,query:n})})}function c(n,o=80){if(a(),!t||!e)return Promise.resolve(null);let s=++r;return new Promise(t=>{let r=setTimeout(()=>{i.delete(s),t(null)},o);i.set(s,{kind:`embed`,resolve:e=>{clearTimeout(r),t(e)}}),e.postMessage({type:`embed`,id:s,text:n})})}var l=`minishlab/potion-base-8M`,u=`/semantic/`,d=/\b(poems?|haikus?|limericks?|sonnets?|ballads?|rhymes?|riddles?|puns?|jokes?|knock[- ]?knock|tongue[- ]?twisters?|lullab(?:y|ies)|raps?)\b/i,f=/\b(write|compose|make(?:\s+me|\s+up)?|tell(?:\s+me)?\s+(?:a|an)|sing|invent|create|generate|come up with)\b[^.?!]{0,40}\b(story|stories|song|lyrics?|tale|fable|fiction|script|screenplay|verse|jingle)\b/i;function p(e){let t=e.toLowerCase();return d.test(t)||f.test(t)}var m=e=>!p(e),h=/\b(just (?:tell me|give me|the answer)|in one line|one[- ]liner|in a (?:sentence|word|line)|in a few words|brief(?:ly)?|tl;?dr|short (?:version|answer)|keep it (?:short|brief)|quick (?:answer|version|recap|rundown|summary)|in short|the short version|bottom line|in a nutshell|the gist)\b/,g=/\b(tell me about|explain|overview|how (?:do|does|to|can|is|are|did|would|should)|why|guide|walk\s?(?:me\s)?through|break\s?down|breakdown|deep\s?dive|everything|compare|comparison|versus|vs\.?|pros and cons|plan|itinerary|roadmap|review|analy[sz]e|dashboard|trends?|history of|all about|summary of)\b/,_=/\b(teach (?:me|us)|help me (?:understand|learn|grasp|wrap my head around)|walk me through|crash course|get (?:me |us )?up to speed|bring me up to speed|from scratch|(?:the )?(?:basics|fundamentals|essentials|core concepts|key concepts) of|study (?:for|guide|plan)|prep(?:are)? (?:me |us )?for (?:my |an? |the |our )?(?:\w+ )?(?:interview|exam|test|quiz|midterm|final|cert\w*)|(?:interview|exam) prep|tutorial|lesson on|learn (?:about |how )?[a-z]+)\b/,v=[/^[\s\d().,+\-*/^%×÷=]+\??$/,/\bwhat(?:'s| is| are| was)?\s*[\d().,\s+\-*/^%×÷]+\s*\??$/,/\b(calculate|compute|solve)\b/,/\b\d+(?:\.\d+)?\s*%\s*of\s+\d/,/\bconvert\b/,/\bhow many\s+\w+\s+(?:in|are in|per)\b/,/\b\d+\s*[a-z]+\s+(?:in|to)\s+[a-z]+\b/,/\b(define|definition of)\b/,/\bwhat does\s+.+\s+mean\b/,/\bcapital of\b/];function y(e){let t=e.toLowerCase().trim();if(!t)return`rich`;let n=h.test(t);return _.test(t)||g.test(t)?n?`brief`:`rich`:v.some(e=>e.test(t))?`lean`:n?`brief`:`rich`}function b(e){return _.test(e.toLowerCase())}var x=/\b(deriv\w*|prove|proof|theorem|integral|derivative|equation|algebra|calculus|optimi[sz]e|trade-?offs?|step[-\s]?by[-\s]?step|reason\w* through|figure out|work out|why (?:does|is|are|do)|analy[sz]e|compare\b.*\bvs\b|root cause|debug|diagnose|strategy|plan\b.*\b(?:budget|trip|itinerary|migration))\b/;function S(e){return x.test(e.toLowerCase())}function C(e,t){return e===`lean`?`minimal`:t?`low`:`minimal`}var w=[`minimal`,`low`,`medium`,`high`];function T(e,t){let n=w.indexOf(e);return w[Math.min(w.length-1,Math.max(0,n+t))]}function E(e,t,n=`fast`){let r=S(t);return e===`lean`&&!r?`minimal`:T(C(e,r),n===`thorough`?2:+(n===`balanced`))}var D=.1,O=.3,k=.75;function A(e,t,n){return t.creative?k:e===`lean`||S(n)||t.troubleshoot?D:O}var j=140,M=320;function N(e,t){if(e.length<=t)return e;let n=e.slice(0,t-1),r=[...n.matchAll(/[.!?](?=\s|$)/g)].at(-1);if(r&&r.index!==void 0&&r.index>t*.3)return n.slice(0,r.index+1);let i=n.lastIndexOf(` `);return(i>t*.6?n.slice(0,i):n).trimEnd()+`…`}function P(e,t){let n=t===`lean`||t===`brief`?j:M;return N(e.trim(),n)}function F(e){return e===`lean`||e===`brief`?j:M}var I=`OUTPUT ORDER — emit the "narration" field FIRST in the JSON, before "title", "sub", and "blocks", and write it as complete sentences. It is spoken aloud the moment it streams, so it must lead.`;function L(e){return e===`lean`||e===`brief`?`SPOKEN LINE ("narration") — keep it to ONE short sentence (≈${F(e)} characters). Right to the point.`:`SPOKEN LINE ("narration") — at most two or three short sentences (≈${F(`rich`)} characters), like a person talking. The visuals carry the detail; never narrate the whole canvas.`}var R=[{key:`decision`,test:/\b(should i|should we|worth it|is it worth|which (?:one|should|is better)|do i (?:need|have to)|ought i|better to|or should i)\b/},{key:`comparison`,test:/\b(vs\.?|versus|compare\w*|comparison|pros and cons|trade-?offs?|better than|which is better)\b/},{key:`risk`,test:/\b(risk\w*|danger\w*|downside|what could go wrong|threat\w*|is it safe|safe to|consequenc\w*|backfire|red flags?|pitfalls?)\b/},{key:`planning`,test:/\b(roadmap|schedule|timeline|milestone\w*|strateg\w*|prepare for|get ready|launch|plan (?:to|for|a|my|out)|over the next \d+|in \d+ (?:weeks?|months?|days?))\b/},{key:`troubleshoot`,test:/\b(troubleshoot|debug|not working|isn'?t working|won'?t \w+|broken|\berror\b|\bbug\b|fix\b|stopped working|fail(?:s|ing|ed)?|why (?:is|does|won'?t|isn'?t|can'?t))\b/},{key:`learning`,test:/\b(explain|how does|how do .* work|what is|what are|teach me|help me understand|learn\b|tell me about|why does|the difference between|concept of|crash course|walk me through|for (?:my|an?|the|our) (?:\w+ )?(?:interview|exam|test|midterm|final)|study for)\b/},{key:`creative`,test:/\b(brainstorm|ideas? for|come up with|imagine|invent|design a|creative|name (?:my|a|some|ideas)|suggest (?:some )?\w+ (?:names|ideas))\b/},{key:`whatIf`,test:/\b(what (?:if|happens if|would happen)|if i (?:do|don'?t|take|stay|leave|wait)|either way|both (?:paths|options|ways)|play(?:ed)? out|scenario\w*|down the road|in (?:each|both) cases?|stay or (?:go|leave|take)|futures?\b)\b/},{key:`reflection`,test:/\b(my (?:friend|partner|relationship|boyfriend|girlfriend|marriage|spouse|boss|family|mom|dad|kid)|feel(?:ing)?\b|emotionally|am i (?:wrong|right|overreacting|the problem)|should i feel|drain(?:s|ing|ed)?|toxic|healthy (?:relationship|friendship)|cope\b|burn(?:t|ed)?\s?out|overwhelm\w*|anxious|lonely)\b/},{key:`highStakes`,test:/\b(quit (?:my|the|this) (?:job|career)|get married|getting married|divorce|buy a (?:house|home)|mortgage|life savings|career change|drop out|move (?:abroad|across|countr|to another)|surgery|diagnos\w*|lawsuit|\bsue\b|custody|life-?changing)\b/},{key:`serious`,test:/\b(grief|grieving|death|dying|depress\w*|suicid\w*|self-?harm|abuse|trauma|addiction|crisis|terminal|miscarriage)\b/}],z=[{domain:`health`,test:/\b(health\w*|symptom\w*|doctor|medic\w*|diagnos\w*|disease|surgery|mental health|therap\w*|depress\w*|anxiety)\b/},{domain:`legal`,test:/\b(legal|lawyer|attorney|lawsuit|\bsue\b|court|custody|rights\b|contract\b)\b/},{domain:`money`,test:/\b(money|budget|invest\w*|savings|\bdebt\b|loan|mortgage|finance\w*|retire\w*|taxe?s?\b|salary)\b/},{domain:`career`,test:/\b(job\b|career|\bwork\b|boss|promotion|freelanc\w*|resume|interview|fired|laid off|quit)\b/},{domain:`relationship`,test:/\b(relationship|friend\w*|partner|boyfriend|girlfriend|marriage|spouse|dating|breakup|family)\b/},{domain:`travel`,test:/\b(travel|trip|vacation|flight|hotel|itinerary|destination|visit\b)\b/},{domain:`tech`,test:/\b(code|coding|software|\bapp\b|\bapi\b|database|server|deploy|programming|website|algorithm)\b/},{domain:`learning`,test:/\b(study|course|exam|tutorial|homework|\bclass\b|lesson|curriculum)\b/}];function B(e){if(!e)return``;for(let t=e.length-1;t>=0;t--)if(e[t].role===`user`)return e[t].content;return``}function V(e,t){let n=e.toLowerCase(),r=B(t).toLowerCase(),i=r?`${n} ${r}`:n,a={decision:!1,comparison:!1,risk:!1,planning:!1,troubleshoot:!1,learning:!1,creative:!1,whatIf:!1,reflection:!1,highStakes:!1,serious:!1};for(let e of R)e.test.test(i)&&(a[e.key]=!0);(a.highStakes||a.reflection)&&(a.serious=!0);for(let e of z)if(e.test.test(i)){a.domain=e.domain;break}return a}function H(e){let t=new Set;return e.decision&&t.add(`decide`),e.comparison&&(t.add(`compare`),t.add(`decide`)),e.risk&&t.add(`decide`),e.planning&&(t.add(`plan`),t.add(`howto`)),e.troubleshoot&&(t.add(`howto`),t.add(`explain`)),e.learning&&(t.add(`explain`),t.add(`reference`)),e.creative&&t.add(`draft`),e.whatIf&&t.add(`decide`),e.reflection&&(t.add(`reflect`),t.add(`comfort`)),[...t]}var U=[{shape:`composition`,weight:1,test:/\b(budget|allocat\w*|split|breakdown|where\s+(?:\w+\s+)?(?:my\s+|the\s+)?(?:money|time|spend\w*|budget)|(?:money|time|spend\w*)\s+goes?|portion|share|mix|composition|makeup|made up of|percent\w*|proportion|divid\w*)\b/},{shape:`series`,weight:1,test:/\b(trend\w*|over time|growth|history|historical|month\w*|week\w*|dai\w*|quarter\w*|year\w*|forecast|projection|trajectory|since|past \d+)\b/},{shape:`comparison`,weight:1,test:/\b(vs\.?|versus|compare\w*|comparison|better|which (?:one|should|is)|either|or should|pros and cons|trade-?offs?|options?|best|top \d+|worth it|should i (?:buy|get|pick|choose|use)|recommend\w*)\b/},{shape:`ranking`,weight:1,test:/\b(rank\w*|leaderboard|top \d+|best|worst|most|least|highest|lowest|fastest|biggest|smallest|standings)\b/},{shape:`status`,weight:1,test:/\b(progress|on track|readiness|ready|status|health\w*|complete\w*|how (?:far|close)|goal|target|score|rating|grade)\b/},{shape:`sequence`,weight:1,test:/\b(steps?|how (?:do|to)|process|guide|walk\s?through|plan|schedule|roadmap|sequence|order|first.*then|itinerary|timeline)\b/},{shape:`flow`,weight:.8,test:/\b(funnel|pipeline|workflow|conversion|stages?|flow|drop-?off|state\s?machine|feedback\s?loops?|decision\s?tree|control\s?flow)\b/},{shape:`geo`,weight:1,test:/\b(map|where is|near\w*|location|route|directions?|cities|country|countries|region|travel|trip|drive)\b/},{shape:`list`,weight:.8,test:/\b(list|tips?|checklist|things to|ways to|ideas|reasons|items|bullet\w*)\b/},{shape:`distribution`,weight:1,test:/\b(distribution|spread|histogram|range|variance|outliers?|percentile|frequency|how (?:often|spread))\b/},{shape:`relationship`,weight:1,test:/\b(correlat\w*|relationship between|scatter|vs.*axis|impact of|affect\w*|driver\w*)\b/},{shape:`structure`,weight:1,test:/\b(molecul\w*|chemical structure|molecular structure|skeletal (?:formula|structure)|lewis structure|smiles|functional group|benzene)\b/},{shape:`tabular`,weight:.9,test:/\b(table|rows?|columns?|spreadsheet|records|dataset|grid of|matrix)\b/},{shape:`media`,weight:1,test:/\b(image\w*|photos?|gallery|pictures?|visual\w*|video|watch|before and after|screenshot)\b/},{shape:`text`,weight:.8,test:/\b(quote\w*|testimonial\w*|said|opinions?|reviews?|feedback|explain|defin\w*|definition|what is|tell me about|meaning of|translate\w*|vocabulary)\b/},{shape:`code`,weight:1.1,test:/\b(code|coding|programming|software|function|algorithm\w*|recursi\w*|data structures?|linked lists?|binary (?:tree|search)|hash\s?(?:map|table)|big-?o|time complexity|syntax|compil\w*|debug\w*|refactor\w*|regex|sql|snippet|pseudo\s?code|api)\b/},{shape:`scalar`,weight:.7,test:/\b(how (?:many|much)|number of|total|count|metric|stat\w*|kpi|figure)\b/},{shape:`keyvalue`,weight:.7,test:/\b(stats|metrics|numbers|key figures|at a glance|summary of|overview)\b/},{shape:`selection`,weight:.9,test:/\b(choose|pick|select|decide|configure|settings|sign\s?up|form|filter|adjust|set up)\b/},{shape:`hierarchy`,weight:.9,test:/\b(hierarch\w*|tree|nested|org\s?chart|structure of|breakdown of .* into|parent|sub-?categor\w*)\b/}],W=[{test:/\b(pdf|white\s?paper|the paper|the document|the report|the contract|the article|the spec|the manual|the filing|the brief|full text|read (?:it|the\b))\b/,types:[`pdfreader`,`docview`]},{test:/\b(images?|photos?|pictures?|gallery|pics?|snapshots?)\b/,types:[`gallery`]},{test:/\b(maps?|where is|located|directions?|on a map|near (?:the|downtown|campus)|walking distance|walkable|nearby|neighborhood|what'?s around|close to (?:downtown|the))\b/,types:[`geomap`]},{test:/\b(code|snippet|implementation|source code|pseudo\s?code)\b/,types:[`codeblock`]},{test:/\b(dialogue\w*|a scene\b|conversation between|exchange between|speakers?|write a (?:script|scene|transcript))\b/,types:[`dialogue`]},{test:/\b(defin\w*|etymology\b|what does .{1,30} mean|look up\b|vocabulary\b|word for\b)\b/,types:[`dictionary`]},{test:/\b(variant\w*|alternativ\w*|\d+ (?:version\w*|option\w*|draft\w*)|rewrit\w*|different (?:tone\w*|style\w*|version\w*))\b/,types:[`variants`]},{test:/\b(?:make|say|write|phrase|word|put) (?:it|this|that|the \w{2,14}) (?:more |a bit |a little |much |way )?(?:firm|soft|warm|blunt|gentl|harsh|kind|stern|polit|casual|formal|direct|punchi|short|long|terse|friendl)\w*\b|\b(?:firmer|softer|warmer|blunter|gentler|harsher|sterner|punchier|shorter|longer|friendlier) (?:version|tone|wording|take|draft|phrasing)\b|\bexplain (?:it|this|that) (?:for|to) (?:an? )?(?:exec|executive|engineer|beginner|expert|layperson)\b|\b(?:at|in) (?:different|two|three|several) (?:levels?|tones?|registers?|reading levels?)\b|\bfor (?:different|two|three|several) audiences\b/,types:[`variantswitch`]},{test:/\b(translat\w+|in (?:french|spanish|japanese|german|chinese|portuguese|italian|korean|arabic|russian|hindi|dutch|swedish|polish|turkish|vietnamese|thai|hebrew|greek|latin)|from (?:english|spanish|french|japanese|german|chinese) (?:to|into))\b/,types:[`translation`]},{test:/\b(rank (?:the )?top \d+|top \d+ (?:ranked|ranking)|leaderboard\b|ranked list\b|best \d+ .{1,30} rank\w*)\b/,types:[`bracketbar`]},{test:/\b(?:as|in|into) (?:a |an )?(?:data )?table\b|\b(?:make|build|draw|create|show|give|put|render|format)\b(?:[\w\s]{0,12})?\btable\b|\btabular\b|\bspreadsheet\b/,types:[`datatable`]},{test:/\b(?:draw|make|show|give|create|build)\b(?:[\w\s]{0,12})?\b(?:flow\s?chart|flow\s?diagram|diagram)\b|\bdiagram (?:this|it|of|the)\b|\bflow\s?chart\b|\bas an? [\w\s]{0,20}?diagram\b|\bstate\s?machine\b/,types:[`diagramflow`]},{test:/\b(?:as|make|draw|show|give|build|on)\b(?:[\w\s]{0,12})?\btime\s?line\b|\btime\s?line of\b/,types:[`timeline`]},{test:/\bcheck\s?list\b/,types:[`checklist`]},{test:/\bstep[-\s]?by[-\s]?step\b|\b(?:numbered|ordered) steps\b|\bwalk me through (?:the )?steps\b/,types:[`howtosteps`,`checklist`]},{test:/\bcompare\b|\bcomparison\b|\b\w+ (?:vs\.?|versus) \w+\b|\bdifference between\b|\bside[-\s]?by[-\s]?side\b/,types:[`compare`]},{test:/\bdifferences? between (?:an? |the )?\w+ and (?:an? |the )?\w+\b|\bhow (?:is|are|does|do) (?:an? |the )?\w+ (?:and (?:an? |the )?\w+ )?differ\w*\b|\bconfus\w+ (?:with|between|for)\b|\b(?:commonly|easily|often) confused\b|\bmix\w* (?:them|these two|those two|the two) up\b|\b(?:them|these two|those two|the two) (?:mixed|confused)\b|\btell\b[^.?!]{0,30}\bapart\b|\bwhich (?:one )?is which\b|\bare\b[^.?!]{1,40}\bthe same thing\b|\bwhen (?:to|do i|should i) use\b[^.?!]{1,30}\b(?:vs\.?|versus|instead of)\b/,types:[`distinctioncard`]},{test:/\bquiz\b|\btest me on\b|\bpractice questions\b/,types:[`quiz`]},{test:/\b(?:quiz|test|grill|drill) me\b|\btest my knowledge\b|\b(?:mock|practice|sample) (?:exam|test)\b|\b\d+[-\s]question\b|\b\d+ (?:practice|review|exam|multiple[-\s]choice|short[-\s]answer) questions?\b|\b(?:ask|give|write|make|generate) me \d+ questions\b|\bexam prep\b/,types:[`quizsession`]},{test:/\bflash\s?cards?\b/,types:[`flashcard`]},{test:/\b(?:100\s?%\s?)?stacked\s+(?:bar|column)s?(?:\s+(?:chart|graph))?\b|\bstacked\s+(?:chart|graph)\b|\b100\s?%\s?stacked\b/,types:[`stackedbars`]},{test:/\b(?:write|draft|compose|give me|make me) (?:me )?(?:an? |the )?(?:\w+[- ]){0,2}(?:essays?|articles?|blog posts?|op-?eds?)\b|\b(?:essays?|blog posts?) (?:about|on|arguing)\b|\b(?:cover letter|personal statement|statement of purpose|college essay)\b|\bin prose\b|\blong[-\s]?form\b|\b(?:wedding|best man'?s?|maid of honou?r|retirement|graduation|farewell) (?:toast|speech)\b|\b(?:few|couple(?: of)?|several|\d+) paragraphs\b|\bwrite (?:it|this) out in full\b/,types:[`longread`]},{test:/\bbrainstorm\w*\b|\b(?:ideas|suggestions) (?:for|on|about)\b|\b(?:some|any|other|more|fresh|a few) (?:ideas|suggestions|names)\b|\b(?:give|list|need|want) (?:me |us )?\d+ (?:ideas|suggestions|names)\b|\bgive me ideas\b|\bideas on how\b|\bwhat (?:should|could) (?:i|we) (?:call|name) (?:it|this|my|our|the)\b|\bname (?:ideas|suggestions)\b|\bwhat could (?:i|we) do about\b|\bpossible (?:approaches|angles|directions)\b|\bcome up with (?:some |a few |\d+ )?(?:ideas|names|concepts|angles|titles)\b/,types:[`ideaboard`]},{test:/\bdo(?:'|’)?s and don(?:'|’)?ts\b|\bwhat not to (?:say|do|wear|bring|ask|write|post)\b|\bwhat (?:should|do) i (?:say|do)\b[^.?!]{0,4}\b(?:when|if|at|during)\b|\bwhat (?:should|do) i avoid\b|\b(?:screw|mess|blow|botch) (?:this|it|that) up\b|\betiquette\b|\b(?:common|rookie|beginner|classic|typical) mistakes?\b|\bthings to avoid\b/,types:[`dosdonts`]},{test:/\banalog(?:y|ies) for\b|\bmetaphors? for\b|\b(?:an?|another|any|the) (?:\w+ ){0,2}analog(?:y|ies)\b|\bby analogy\b|\beli ?5\b|\blike i(?:'|’)?m (?:five|5)\b|\bfor a (?:five|5)[-\s]?year[-\s]?old\b|\b(?:explain|describe)\b[^.?!]{0,40}\blike\s+an?\b/,types:[`analogymap`]},{test:/\b(recipe\b|how to (?:make|cook|bake) |step\w*-?by\w*-?step .{0,20}(?:recipe|cook)|(?:dinner|lunch|breakfast|dessert|cookie|pasta|chicken|beef|vegan|gluten.free) recipe\b)\b/,types:[`recipecard`]},{test:/\b(workout plan|training plan|exercise plan|gym (?:program|plan|routine)|fitness (?:plan|program|routine)|sets? and reps?|push.?pull.?legs?|strength (?:program|plan)|build muscle (?:plan|program)|weekly (?:workout|training|gym) (?:plan|program|schedule))\b/,types:[`workoutplan`]},{test:/\b(macro(?:nutrient)?s?\b|(?:calorie|nutrition(?:al)?) (?:breakdown|facts?|info|content)|grams? of (?:protein|carbs?|fat)|protein.*carb\w*.*fat|caloric breakdown)\b/,types:[`macrobreakdown`]},{test:/\b(medication (?:schedule|reminder|timing)|dosing schedule|pill (?:schedule|reminder)|when (?:to|should i|do i) take .{0,30}(?:pill\w*|drug|medication|meds?|tablet\w*|dose\w*)|what time .{0,20}(?:take|dose) .{0,20}(?:pill\w*|medication|meds?)|drug dosage (?:schedule|timing))\b/,types:[`medicationschedule`]},{test:/\b(chord diagram|guitar chord\b|(?:how to (?:play|finger)|fingering for) .{0,20}chord|barre chord|power chord|open chord|chord shape\w*)\b/,types:[`chorddiagram`]},{test:/\b((?:baby|child|toddler|infant) (?:milestone\w*|developmental? milestone\w*)|developmental? milestone\w*|\d+[- ]month[- ]old milestone\w*|\d+[- ]year[- ]old milestone\w*|when (?:should|do) (?:babies|kids|toddlers|infants)\b)\b/,types:[`developmentmilestone`]},{test:/\b(argument map\b|arguments? (?:for and against\b|supporting and opposing)|philosophical argument\b|claim(?:s?) (?:and|with) (?:evidence|support\w*|objection\w*)|debate the (?:claim|motion|topic)\b|case for and against\b)\b/,types:[`argumentmap`]},{test:/\b((?:soccer|football|basketball|baseball|tennis) (?:formation\b|lineup\b|position\w*|play diagram|tactic\w*)|4-3-3\b|4-4-2\b|3-5-2\b|4-2-3-1\b|3-4-3\b|defensive (?:shift\b|formation\b)|starting (?:eleven\b|xi\b|lineup\b))\b/,types:[`sportspitch`]},{test:/\b(floor\s?plan\b|room layout\b|apartment layout\b|(?:house|home|office) (?:layout\b|floor plan)|room arrangement\b|furniture layout\b)\b/,types:[`floorplan`]},{test:/\b(medical (?:history|timeline|chronolog\w*)|clinical (?:history|course|timeline)|patient (?:history|chronolog\w*)|diagnosis timeline\b|treatment (?:history|timeline)|symptom (?:progression|history|chronolog\w*))\b/,types:[`clinicaltimeline`]},{test:/\b(research (?:finding\w*|result\w*|summary|paper summary)|what (?:does|did) (?:the research|studies|the study|the science) (?:say|show|find|reveal)\b|scientific (?:consensus|evidence|finding\w*)|meta-?analysis\b|randomized (?:controlled )?trial\b|clinical (?:evidence|finding\w*|trial\w*))\b/,types:[`researchsummary`]},{test:/\b(hourly itinerary|hour.?by.?hour|itinerary (?:for|of)\b|trip itinerary|travel itinerary|daily itinerary|day.?by.?day (?:plan|schedule|itinerary)|morning (?:to|through) (?:evening|night)|full day (?:plan|schedule|itinerary)|schedule (?:for|of) (?:my |a |the )?(?:trip|day|visit))\b/,types:[`agenda`]}];function G(e){let t=e.toLowerCase(),n=[];for(let e of W)e.test.test(t)&&n.push(...e.types);return[...new Set(n)]}var K={datatable:`a data table`,diagramflow:`a flow diagram`,timeline:`a timeline`,codeblock:`a code block`,geomap:`a map`,gallery:`an image gallery`,pdfreader:`the document`,docview:`the document`,checklist:`a checklist`,howtosteps:`a step-by-step`,compare:`a side-by-side comparison`,quiz:`a quiz`,flashcard:`flashcards`,dictionary:`a definition`,recipecard:`a recipe`,dialogue:`a scripted dialogue`,variants:`variations`,translation:`a translation`,bracketbar:`a ranking`,stackedbars:`a stacked bar chart`,distinctioncard:`a distinction between the terms`,longread:`a long-form written piece`,ideaboard:`a board of ideas`,dosdonts:`a do's-and-don'ts list`,variantswitch:`the same content at several settings`,quizsession:`a graded quiz run`,analogymap:`an analogy`};function q(e){return K[e]??`a ${e}`}function J(e){return e.length?`FORMAT REQUEST — the user explicitly asked for their answer in a specific FORM: ${[...new Set(e.map(q))].join(`, `)}. Make that the LEAD block (position 0 or 1), built fully and completely; the rest of the canvas supports it. Never answer in a different shape than the one they named.`:``}function Y(e){if(!e)return``;for(let t=e.length-1;t>=0;t--)if(e[t].role===`user`)return e[t].content;return``}function X(e,t){let n=e.toLowerCase(),r=Y(t).toLowerCase(),i={};for(let e of U){let t=0;e.test.test(n)&&(t+=e.weight),r&&e.test.test(r)&&(t+=e.weight*.4),t>0&&(i[e.shape]=(i[e.shape]??0)+t)}return i}export{a as _,H as a,F as c,E as d,y as f,s as g,c as h,V as i,L as l,m,X as n,I as o,b as p,J as r,P as s,G as t,A as u};
@@ -1 +0,0 @@
1
- import{t as e}from"./friendlyAsk-BBdRZIar.js";import{n as t,t as n}from"./contentVault-xfUwSJ3i.js";var r={"15min":15,hourly:60,"6h":360,daily:1440,manual:1/0},i={daily:1440,weekly:10080,"on-change":1/0,manual:1/0};function a(e,t){return Number.isFinite(t)?e+t*6e4:2**53-1}function o(e){return e===`manual`?0:Math.round(43200/r[e])}function s(e,t){let n=e.window;if(n){if(t<n.startAt)return n.startAt;if(t>n.endAt)return 2**53-1}return a(t,r[e.data])}var c=`mavea-dashboards-v1`,l=c,u=`${c}:quota`,d=24,f=4096,p=60,m=null,h=0;function g(){try{let e=globalThis.crypto;if(e?.randomUUID)return e.randomUUID()}catch{}return h+=1,`dash-${h.toString(36)}-${Math.floor(Math.random()*1e9).toString(36)}`}function ee(e){let t=JSON.stringify(e,(e,t)=>typeof t==`string`&&t.length>f&&t.startsWith(`data:`)?``:t);return JSON.parse(t)}function _(e){return!!e&&typeof e==`object`}function v(e,t){return typeof e==`number`&&Number.isFinite(e)?e:t}function y(e,t=``){return typeof e==`string`?e:t}function b(e){return e===`5min`?`15min`:y(e,`manual`)}function te(e){if(!_(e))return null;let t=e.at,n=e.value;return typeof t!=`number`||!Number.isFinite(t)||typeof n!=`number`||!Number.isFinite(n)?null:{at:t,value:n}}function x(e){if(!_(e))return null;let t=(Array.isArray(e.history)?e.history:[]).map(te).filter(e=>e!==null).slice(-60);return{...e,history:t.length?t:void 0}}function S(e){if(!_(e))return;let t=e.startAt,n=e.endAt;if(!(typeof t!=`number`||!Number.isFinite(t))&&!(typeof n!=`number`||!Number.isFinite(n)||n<=t))return{label:y(e.label),startAt:t,endAt:n,origin:e.origin===`search`?`search`:`user`}}function C(e){if(!(!_(e)||typeof e.text!=`string`||!e.text))return{text:e.text,at:v(e.at,0)}}function w(e){if(!Array.isArray(e))return[];let t=[];for(let n of e){if(!_(n)||typeof n.expected!=`string`||!n.expected)continue;let e=n.result;(e===`hit`||e===`miss`||e===`unclear`)&&t.push({at:v(n.at,0),expected:n.expected,result:e,...typeof n.note==`string`&&n.note?{note:n.note}:{}})}return t.slice(-20)}function T(e,t){if(!e.window||t<=e.window.endAt)return e;let{window:n,...r}=e;return r}var E=new Set([`thesis`,`alignmentgauge`,`standingalerts`,`sourceslineage`]);function D(e,t,n){let r=n||t;return r?e.map(e=>{if(e.refreshQuery?.trim()||e.metricId||E.has(e.block.type))return e;let t=e.block.props?.title,n=typeof t==`string`&&t.trim()?`${r} — ${t.trim()}`:r;return{...e,refreshQuery:n}}):e}function O(t){if(!_(t))return null;let n=y(t.id);if(!n)return null;let r=_(t.thesis)?t.thesis:null,i=Array.isArray(t.widgets)?t.widgets.filter(e=>_(e)&&_(e.block)):[],a=_(t.cadence)?t.cadence:{},o=_(t.alerts)?t.alerts:{},s=k(t.lastVerdict),c=y(t.title,`Untitled`),l=e(y(t.question)),u=S(a.window),d=C(t.prediction),f=w(t.predictionHistory);return{id:n,title:c,question:l,thesis:{text:y(r?.text),saidAt:v(r?.saidAt,0)},tripwires:Array.isArray(t.tripwires)?t.tripwires:[],metrics:Array.isArray(t.metrics)?t.metrics.map(x).filter(e=>e!==null):[],sources:Array.isArray(t.sources)?t.sources:[],widgets:D(i.slice(0,12),c,l),cadence:{data:b(a.data),ai:y(a.ai,`manual`),...u?{window:u}:{}},smartTrigger:typeof t.smartTrigger!=`boolean`||t.smartTrigger,alerts:{inApp:o.inApp!==!1,push:o.push===!0},...typeof t.topic==`string`&&t.topic?{topic:t.topic}:{},createdAt:v(t.createdAt,0),updatedAt:v(t.updatedAt,0),...typeof t.lastTouchedByUserAt==`number`&&Number.isFinite(t.lastTouchedByUserAt)?{lastTouchedByUserAt:t.lastTouchedByUserAt}:{},nextDataAt:v(t.nextDataAt,0),nextAiAt:v(t.nextAiAt,2**53-1),...typeof t.oneShotAt==`number`&&Number.isFinite(t.oneShotAt)?{oneShotAt:t.oneShotAt,oneShotLabel:y(t.oneShotLabel)}:{},...d?{prediction:d}:{},...f.length?{predictionHistory:f}:{},lastRefreshedAt:typeof t.lastRefreshedAt==`number`&&Number.isFinite(t.lastRefreshedAt)?t.lastRefreshedAt:null,...t.lastDataOutcome===`updated`||t.lastDataOutcome===`no-change`||t.lastDataOutcome===`unverified`?{lastDataOutcome:t.lastDataOutcome}:{},...s?{lastVerdict:s}:{},...typeof t.lastVerdictAttemptAt==`number`&&Number.isFinite(t.lastVerdictAttemptAt)?{lastVerdictAttemptAt:t.lastVerdictAttemptAt}:{},...typeof t.lastVerdictError==`string`&&t.lastVerdictError?{lastVerdictError:t.lastVerdictError}:{}}}function k(e){return!_(e)||typeof e.text!=`string`||!e.text?null:{text:e.text,at:v(e.at,0),grounded:e.grounded===!0,...Array.isArray(e.sources)?{sources:e.sources}:{},...typeof e.tripwireId==`string`?{tripwireId:e.tripwireId}:{}}}var A=!1,j=0;function M(e){return Array.isArray(e)?e.map(O).filter(e=>e!==null):[]}async function N(e){let n=++j;try{if(typeof localStorage>`u`)return;let r=await t(e);if(n!==j)return;localStorage.setItem(c,r)}catch(e){let t=e;if(t&&(t.name===`QuotaExceededError`||t.name===`NS_ERROR_DOM_QUOTA_REACHED`||t.code===22||t.code===1014))try{typeof window<`u`&&typeof CustomEvent==`function`&&window.dispatchEvent(new CustomEvent(u))}catch{}}}function P(){try{if(typeof localStorage>`u`)return[];let e=localStorage.getItem(c);if(!e)return[];let t=M(JSON.parse(e));return t.length&&N(t),t}catch{return[]}}async function F(){try{if(typeof localStorage>`u`)return;let e=localStorage.getItem(c);if(!e)return;try{JSON.parse(e);return}catch{}let t=M(await n(e));if(A)return;m=t,A=!0,typeof window<`u`&&typeof CustomEvent==`function`&&window.dispatchEvent(new CustomEvent(l,{detail:t}))}catch{}}var I=F();function L(){return I}function R(){return m??=P(),m}function z(){m=null,A=!1,I=F()}function B(e){return e.length<=d?e:[...e].sort((e,t)=>(t.lastTouchedByUserAt??t.updatedAt)-(e.lastTouchedByUserAt??e.updatedAt)).slice(0,d)}function V(e){let t=M(e);m=t,A=!0,N(t);try{typeof window<`u`&&typeof CustomEvent==`function`&&window.dispatchEvent(new CustomEvent(l,{detail:t}))}catch{}}function H(e,t,n=Date.now(),r={}){let i=!1,a=R().map(a=>a.id===e?(i=!0,{...t(a),updatedAt:n,...r.userTouch?{lastTouchedByUserAt:n}:{}}):a);i&&V(a)}var U=null,W=null;function G(){let e=R();return(W!==e||U===null)&&(U=[...e].sort((e,t)=>t.updatedAt-e.updatedAt),W=e),U}function K(e){return R().find(t=>t.id===e)??null}function q(e){V(B([ee({...e,lastTouchedByUserAt:e.lastTouchedByUserAt??e.updatedAt}),...R().filter(t=>t.id!==e.id)]))}function J(e){let t=M(e);if(!t.length)return 0;let n=new Map(R().map(e=>[e.id,e]));for(let e of t){let t=n.get(e.id);(!t||e.updatedAt>=t.updatedAt)&&n.set(e.id,e)}return V(B([...n.values()])),t.length}function Y(e){let t=e.now??Date.now();return{id:g(),title:e.title||`Untitled dashboard`,question:e.question??``,thesis:{text:``,saidAt:t},tripwires:[],metrics:[],sources:[{kind:`ORIGIN`,conversationId:`pin`,title:e.title||`Pinned cards`,contributed:`Started by pinning a card.`,at:t}],widgets:[],cadence:{data:`manual`,ai:`manual`},smartTrigger:!1,alerts:{inApp:!0,push:!1},...e.topic?{topic:e.topic}:{},createdAt:t,updatedAt:t,nextDataAt:2**53-1,nextAiAt:2**53-1,lastRefreshedAt:null}}function X(e,t=`pin`,n){let r=new Set([`chart`,`plot`,`dualaxis`,`bars`,`timeline`,`breakdown`,`table`]);return{id:`w-pin-`+Math.random().toString(36).slice(2,9),block:e,span:r.has(e.type)?2:1,fromSource:t,...n?.trim()?{refreshQuery:n.trim()}:{}}}function Z(e,t){H(e,e=>({...e,...t}),void 0,{userTouch:!0})}function ne(e,t,n=Date.now()){H(e,e=>{let r={...e.cadence,...t};return{...e,cadence:r,...t.data===void 0?{}:{nextDataAt:s(r,n)},...t.ai===void 0?{}:{nextAiAt:a(n,i[r.ai])}}},n,{userTouch:!0})}function re(e){let t=R().filter(t=>t.id!==e);t.length!==R().length&&V(t)}function ie(e,t,n){H(e,e=>({...e,widgets:e.widgets.map(e=>e.id===t?{...e,span:n}:e)}),void 0,{userTouch:!0})}function ae(e,t){H(e,e=>({...e,widgets:e.widgets.filter(e=>e.id!==t)}),void 0,{userTouch:!0})}function oe(e,t,n={}){let r=Array.isArray(t)?t:[t];r.length!==0&&H(e,e=>{let t=Math.max(0,Math.min(n.at??e.widgets.length,e.widgets.length)),i=[...e.widgets.slice(0,t),...r,...e.widgets.slice(t)],a=i;if(i.length>12){let e=i.filter(e=>!E.has(e.block.type)),t=i.length-12;if(e.length>=t){let n=new Set(e.slice(-t).map(e=>e.id));a=i.filter(e=>!n.has(e.id))}else a=i.slice(0,12)}return{...e,widgets:a,...n.source?{sources:[...e.sources,n.source].slice(-le)}:{}}},void 0,{userTouch:!0})}function se(e,t,n){let r=n.trim();if(!r||t.length===0)return;let i=new Set(t);H(e,e=>({...e,widgets:e.widgets.map(e=>i.has(e.id)?{...e,refreshQuery:r}:e)}))}function ce(e,t){H(e,e=>{let n=new Map(e.widgets.map(e=>[e.id,e])),r=t.map(e=>n.get(e)).filter(e=>!!e),i=new Set(r.map(e=>e.id)),a=e.widgets.filter(e=>!i.has(e.id));return{...e,widgets:[...r,...a]}},void 0,{userTouch:!0})}var le=24;function ue(e,t){H(e,e=>({...e,metrics:[...e.metrics,...t.metrics].slice(0,12),tripwires:[...e.tripwires,...t.tripwires].slice(0,12),widgets:[...e.widgets,...t.widgets].slice(0,12),sources:[...e.sources,t.source].slice(-24)}),void 0,{userTouch:!0})}function Q(e,t,n){if(n===null)return e;let r=[...e??[],{at:t,value:n}];return r.length>p?r.slice(-60):r}function de(e,t,n,r,i,a=Date.now()){H(e,e=>({...e,metrics:e.metrics.map(e=>e.id===t?{...e,lastValue:n,lastRaw:r,origin:i,asOf:a,history:Q(e.history,a,n)}:e)}),a,{userTouch:i===`user`})}function fe(e,t,n=Date.now()){H(e,e=>({...e,tripwires:t}),n)}function $(e,t,n=Date.now()){H(e,e=>({...e,lastVerdict:t,lastVerdictAttemptAt:n,lastVerdictError:void 0}),n)}function pe(e,t,n){H(e,e=>({...e,lastVerdictAttemptAt:t,lastVerdictError:n}),t)}function me(e,t){H(e,e=>({...e,nextDataAt:t,...e.oneShotAt!==void 0&&e.oneShotAt<t?{oneShotAt:t}:{}}))}function he(e,t=Date.now()){H(e,e=>e.oneShotAt===void 0?{...e,oneShotAt:t,oneShotLabel:`first check`}:e)}function ge(e,t=Date.now()){H(e,e=>({...e,nextAiAt:a(t,i[e.cadence.ai])}))}function _e(e,t,n=Date.now()){H(e,e=>{let r=t?{...e.cadence,window:t}:{...e.cadence,window:void 0};return{...e,cadence:r,nextDataAt:s(r,n)}},n,{userTouch:t?.origin===`user`})}function ve(e,t=Date.now()){H(e,e=>({...e,oneShotAt:void 0,oneShotLabel:void 0}),t)}var ye=3e5;function be(e,t,n=Date.now()){H(e,e=>{let r=new Map((t.values??[]).map(e=>[e.metricId,e])),i=new Map((t.blocks??[]).map(e=>[e.widgetId,e.block])),a=e.prediction,o=e.predictionHistory;if(t.grade&&a){let e={at:n,expected:a.text,result:t.grade.result,...t.grade.note?{note:t.grade.note}:{}};o=[...o??[],e].slice(-20),a=void 0}t.expects?.trim()&&(a={text:t.expects.trim(),at:n});let c=T(e.cadence,n),l=s(c,n),u=t.outcome===`unverified`&&e.lastDataOutcome!==`unverified`&&l!==2**53-1&&(!c.window||n>=c.window.startAt)?Math.min(l,n+ye):l;return{...e,cadence:c,metrics:e.metrics.map(e=>{let t=r.get(e.id);return t?{...e,lastValue:t.value,lastRaw:t.raw,origin:t.origin,asOf:n,history:Q(e.history,n,t.value)}:e}),widgets:e.widgets.map(e=>{let t=i.get(e.id);return t?{...e,block:t}:e}),...t.tripwires?{tripwires:t.tripwires}:{},...t.consumedOneShot?{oneShotAt:void 0,oneShotLabel:void 0}:{},nextDataAt:u,lastRefreshedAt:n,lastDataOutcome:t.outcome,prediction:a,predictionHistory:o}},n)}export{i as A,se as C,de as D,Z as E,o as M,s as N,fe as O,a as P,ce as S,ne as T,g as _,X as a,_e as b,he as c,G as d,z as f,J as g,pe as h,be as i,r as j,L as k,ue as l,me as m,q as n,ve as o,ge as p,oe as r,Y as s,l as t,K as u,re as v,ie as w,$ as x,ae as y};
@@ -1 +0,0 @@
1
- var e=`dark`;function t(){if(typeof localStorage>`u`)return e;try{return localStorage.getItem(`mavea-theme`)===`light`?`light`:e}catch{return e}}function n(e){try{localStorage.setItem(`mavea-theme`,e)}catch{}}function r(e,t=document){t.documentElement.dataset.theme=e}export{t as n,n as r,r as t};