@mavea/mavea 1.2.1 → 2.0.1

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 (393) hide show
  1. package/CHANGELOG.md +107 -0
  2. package/PRIVACY.md +1 -0
  3. package/README.md +14 -6
  4. package/TERMS.md +1 -1
  5. package/THIRD-PARTY.txt +13 -5
  6. package/bin/mavea.mjs +181 -8
  7. package/dist/.vite/manifest.json +1459 -847
  8. package/dist/assets/AnnotationLayer-BsAcAd59.js +0 -0
  9. package/dist/assets/{AppCommandPalette-CgDUWU08.js → AppCommandPalette-Cucwjk5N.js} +1 -1
  10. package/dist/assets/AtlasView-B7yObdf8.css +1 -0
  11. package/dist/assets/{AtlasView-B82UfrEX.js → AtlasView-DO_p0TdZ.js} +1 -1
  12. package/dist/assets/BriefingPlayer-DHV4vMga.css +1 -0
  13. package/dist/assets/{CadenceCard-P4teI7Se.js → CadenceCard-DxceyiPA.js} +1 -1
  14. package/dist/assets/{CanvasSkeleton-CRGWlafo.js → CanvasSkeleton-BmGjJHUQ.js} +1 -1
  15. package/dist/assets/CanvasSkeleton-DYASkTjW.css +1 -0
  16. package/dist/assets/CardEditor-CiAfT78z.css +1 -0
  17. package/dist/assets/{CardEditor-DABIhGdQ.js → CardEditor-D4slxmIM.js} +1 -1
  18. package/dist/assets/{CheckLogRail-DO7sbZwC.js → CheckLogRail-vq2lZ7a5.js} +1 -1
  19. package/dist/assets/ConversationVideoStudio-CSO3jHXD.css +1 -0
  20. package/dist/assets/ConversationVideoStudio-Df892wqs.js +1 -0
  21. package/dist/assets/CourseLessonReader-DKQimh2S.js +2 -0
  22. package/dist/assets/{CourseRail-DXt3bzjU.js → CourseRail-BQmUsG6v.js} +1 -1
  23. package/dist/assets/CoursesApp-LeqL6dWT.js +2 -0
  24. package/dist/assets/CrossExamPanel-BafTqkbf.css +1 -0
  25. package/dist/assets/{DashPresent-B6MP1i_4.js → DashPresent-DZcRdu6R.js} +1 -1
  26. package/dist/assets/DashboardDetail-2XL-J4rS.js +2 -0
  27. package/dist/assets/DashboardLoopGate-B95S4oKR.js +2 -0
  28. package/dist/assets/DashboardLoopRuntime-Wzk85QXi.js +1 -0
  29. package/dist/assets/{DashboardSettings-CE0B2y2y.js → DashboardSettings-DJon1Q4o.js} +1 -1
  30. package/dist/assets/DashboardsApp-ZGuT2QBi.js +2 -0
  31. package/dist/assets/{DeepZoomApp-UEPtylG7.js → DeepZoomApp-CPOsar8c.js} +1 -1
  32. package/dist/assets/DeepZoomApp-CVwmnRGN.css +1 -0
  33. package/dist/assets/DelegatePanel-BkTtUMSl.js +33 -0
  34. package/dist/assets/DelegatePanel-D17XvWYd.css +1 -0
  35. package/dist/assets/DemoGallery-BcQ9yz2u.js +1 -0
  36. package/dist/assets/{DropSelect-DilESAgA.css → DropSelect-B4lqCEjw.css} +1 -1
  37. package/dist/assets/{DropSelect-QcBm3N4D.js → DropSelect-GKioj__f.js} +1 -1
  38. package/dist/assets/{ExportModal-Ya0VBbxa.js → ExportModal-1pWr-c7I.js} +1 -1
  39. package/dist/assets/{ExtractionPreview-BFrmqKDo.js → ExtractionPreview-TKyfEqwM.js} +1 -1
  40. package/dist/assets/{FeatureUseNotice-Dc3GNBvy.js → FeatureUseNotice-pQe4YHgJ.js} +1 -1
  41. package/dist/assets/{FlagshipCommandPalette-B1yHwI6V.js → FlagshipCommandPalette-D1pv3hfZ.js} +1 -1
  42. package/dist/assets/FlagshipShowcase-CCFFcaL7.js +1 -0
  43. package/dist/assets/{FlashcardsApp-DteNeHpz.js → FlashcardsApp-Dbe-8UkQ.js} +1 -1
  44. package/dist/assets/ForecastPanel-Cq_yDhNQ.css +1 -0
  45. package/dist/assets/GalleryApp-CCLYcEqn.js +1 -0
  46. package/dist/assets/{HonestByDesign-DZltb3Ss.js → HonestByDesign-ByOR1sRQ.js} +1 -1
  47. package/dist/assets/{HowItWorks-D-hgfN6a.js → HowItWorks-Dllc30ph.js} +1 -1
  48. package/dist/assets/{LegalApp-ChzcKiY0.js → LegalApp-CpblxmmB.js} +1 -1
  49. package/dist/assets/{LegalMarkdownDocument-j6UHhPnp.js → LegalMarkdownDocument-CmxHsXlb.js} +1 -1
  50. package/dist/assets/{LegalPageShell-Wcsviye1.js → LegalPageShell-CDD6D6T_.js} +1 -1
  51. package/dist/assets/LeverPanel-HOEwIr8k.css +1 -0
  52. package/dist/assets/{Library-DmdzY2se.js → Library-CVj7R6F4.js} +1 -1
  53. package/dist/assets/LibraryOverlay-BkPYm0Bs.css +1 -0
  54. package/dist/assets/{LibraryOverlay-YHBrdVKo.js → LibraryOverlay-CHmubwG3.js} +1 -1
  55. package/dist/assets/LiveApp-CSbjhgzM.js +79 -0
  56. package/dist/assets/LiveApp-CziqEsOb.css +1 -0
  57. package/dist/assets/LiveSettings-B4T6x41n.js +6 -0
  58. package/dist/assets/LiveSettings-Dho0OxlM.css +1 -0
  59. package/dist/assets/{MindMapViewerDrawer-DI_S7fRZ.js → MindMapViewerDrawer-BLRBWsTz.js} +1 -1
  60. package/dist/assets/MindShape-CaDuLyGa.js +1 -0
  61. package/dist/assets/MindShape-CozR9W8M.css +1 -0
  62. package/dist/assets/{PinToDashboard-BCiWaSg8.js → PinToDashboard-ChK2Ou73.js} +1 -1
  63. package/dist/assets/{PlanReview-BIERfK1t.js → PlanReview-Dg6VE0xF.js} +1 -1
  64. package/dist/assets/PresentationDeck-oEd6TXdN.js +1 -0
  65. package/dist/assets/PrismApp-Bju264hL.js +2 -0
  66. package/dist/assets/PrismAskController-68gbUO5u.css +1 -0
  67. package/dist/assets/{PrismAskController-Bt0k9hAA.js → PrismAskController-C4MuB8om.js} +1 -1
  68. package/dist/assets/{PrismBriefingPlayer-DLAPs6eZ.js → PrismBriefingPlayer-BY0RREUu.js} +2 -2
  69. package/dist/assets/PrismOverlay-BwnF4BEn.css +1 -0
  70. package/dist/assets/{PrismOverlay-DJDGPGxo.js → PrismOverlay-DOWyOUVW.js} +4 -4
  71. package/dist/assets/{PrismWorkbench-DHLvpguj.js → PrismWorkbench-9RonO2uv.js} +1 -1
  72. package/dist/assets/{PrivacyApp-uMjq2z14.js → PrivacyApp-CBPMqUEA.js} +2 -1
  73. package/dist/assets/{Recap-T9DtFaEk.js → Recap-BOl3SUh0.js} +1 -1
  74. package/dist/assets/Recap-D3NlzM1p.css +1 -0
  75. package/dist/assets/{ReplayCard-F7U3LYAg.js → ReplayCard-BnX73r9n.js} +2 -2
  76. package/dist/assets/{ReplayOverlay-BTldvkU7.js → ReplayOverlay-B-Ok0mEs.js} +1 -1
  77. package/dist/assets/{RewindOverlay-CousnxXo.js → RewindOverlay-BO7YgDsW.js} +1 -1
  78. package/dist/assets/RippleApp-BnIUhIA0.js +2 -0
  79. package/dist/assets/{RippleAskController-9SxpZnHX.js → RippleAskController-BzdwYcYY.js} +1 -1
  80. package/dist/assets/RippleOverlay-B3hg2KMN.css +1 -0
  81. package/dist/assets/RippleOverlay-C9W7uVOp.js +6 -0
  82. package/dist/assets/SeeDontRead-ByW9HnOj.js +1 -0
  83. package/dist/assets/ShareModal-I_sxHKLv.css +1 -0
  84. package/dist/assets/ShareModal-Mo-dkgAZ.js +2 -0
  85. package/dist/assets/{ShipCourse-Up9gRR07.js → ShipCourse-CT_F9oJH.js} +1 -1
  86. package/dist/assets/{SignatureLoop-Cq790dMw.js → SignatureLoop-DejFTZ-Y.js} +1 -1
  87. package/dist/assets/SrsReview-DmBcJCMa.css +1 -0
  88. package/dist/assets/{SrsReview-DhWNYYv7.js → SrsReview-Gr6Y0QTQ.js} +1 -1
  89. package/dist/assets/{SynthesisApp-4ZPLZgmJ.js → SynthesisApp-6W04mrMU.js} +2 -2
  90. package/dist/assets/{SynthesisOverlay-iesJ0hEt.js → SynthesisOverlay-DDyFFiO8.js} +1 -1
  91. package/dist/assets/{TermsApp-DL2hFKsv.js → TermsApp-ZzlhrXhd.js} +2 -2
  92. package/dist/assets/TopicCanvas-CkqP92SC.js +2 -0
  93. package/dist/assets/TopicCanvas-DWTm611H.css +1 -0
  94. package/dist/assets/{TourPrism-kInUOv-M.js → TourPrism-Cng4h9Ly.js} +1 -1
  95. package/dist/assets/{TrackerTile-BryDo0sm.js → TrackerTile-DuUsFQTj.js} +2 -2
  96. package/dist/assets/{TwoSurfaces-Cmj95ofx.js → TwoSurfaces-BeYMvVuX.js} +1 -1
  97. package/dist/assets/WhyMachineOverlay-Rav-cuMm.css +1 -0
  98. package/dist/assets/WorldOverlay-DeVpS8HE.js +2 -0
  99. package/dist/assets/{WowFeatures-DDICbxl_.js → WowFeatures-D58JgpLg.js} +1 -1
  100. package/dist/assets/{ZoomDeck-CKOjYS9z.js → ZoomDeck-CPG2XQhr.js} +1 -1
  101. package/dist/assets/ZoomDeck-DdLNsrHV.css +1 -0
  102. package/dist/assets/{annotationAuto-CDv6Es44.js → annotationAuto-B2UdfJNj.js} +1 -1
  103. package/dist/assets/{backup-ZrlVatXc.js → backup-CtEvuZoL.js} +1 -1
  104. package/dist/assets/canvas-Ct-O9Jok.js +1 -0
  105. package/dist/assets/capture-CgaD86-q.js +2 -0
  106. package/dist/assets/{catalog-Db9GWM6N.js → catalog-DfIYAG3v.js} +1 -1
  107. package/dist/assets/{chapters-Dqm4iLDa.js → chapters-CIvdCeBC.js} +1 -1
  108. package/dist/assets/{confirmAdd-DkmbWaSk.js → confirmAdd-CxWIORcu.js} +1 -1
  109. package/dist/assets/{dashboardEvents-D-XVj666.js → dashboardEvents-D1OP4ARB.js} +1 -1
  110. package/dist/assets/dashboards-Cvs28p3Z.css +1 -0
  111. package/dist/assets/deepen-BhP9OmH3.js +11 -0
  112. package/dist/assets/deepenStore-BWLLzLCY.js +1 -0
  113. package/dist/assets/effort-Bqti44UZ.js +39 -0
  114. package/dist/assets/{explode-BgZIWY9m.js → explode-CPnvJiTg.js} +1 -1
  115. package/dist/assets/{fitText-DQ2omSN0.js → fitText-DHbmSS-q.js} +1 -1
  116. package/dist/assets/{generate-Dl2EJ_SR.js → generate-COfYQFmT.js} +4 -4
  117. package/dist/assets/{generateBeats-DtptFLlG.js → generateBeats-CtffeoEa.js} +1 -1
  118. package/dist/assets/{generateCourse-C9qvaJRo.js → generateCourse-BldPpgdh.js} +1 -1
  119. package/dist/assets/generateLive-D5M8v38b.js +24 -0
  120. package/dist/assets/homeTarget-CwFsJYwb.js +1 -0
  121. package/dist/assets/index-BIUYTk1W.css +1 -0
  122. package/dist/assets/index-CdUH6Eo9.js +22 -0
  123. package/dist/assets/kokoro-D15HDMcP.js +1 -0
  124. package/dist/assets/ledger-BssK9Pv2.js +1 -0
  125. package/dist/assets/{lib-DMAxsZKm.css → lib-DP9Kuxqk.css} +1 -1
  126. package/dist/assets/{liveSchema-B4bQtO88.js → liveSchema-B8Y9HZxd.js} +2 -2
  127. package/dist/assets/{loader-DCA6Njbf.js → loader-ChcXMM9W.js} +2 -2
  128. package/dist/assets/localBudget-CxLP6bjE.js +1 -0
  129. package/dist/assets/{mastery-CUfDeuqO.js → mastery-DB5qpRAy.js} +1 -1
  130. package/dist/assets/{media-BvwzACIX.js → media-VLRh6CX2.js} +2 -2
  131. package/dist/assets/{model-BFRTN9Eh.js → model-CAewjw45.js} +1 -1
  132. package/dist/assets/{neighborhoods-D7QjURnE.js → neighborhoods-CqECCmo8.js} +1 -1
  133. package/dist/assets/{notes-B6eX5XWk.js → notes-BG5pIVAJ.js} +1 -1
  134. package/dist/assets/pen-DtEW1xf4.js +24 -0
  135. package/dist/assets/{perfProbe-CE7hsUEo.js → perfProbe-DaLsQQBb.js} +1 -1
  136. package/dist/assets/pin-BXyyKnci.css +1 -0
  137. package/dist/assets/{pin-BZuh1acO.js → pin-BcKMUOiV.js} +1 -1
  138. package/dist/assets/{planTracker-KKAtTBWs.js → planTracker-BwoKEftp.js} +1 -1
  139. package/dist/assets/portal-BIN_aqvw.js +1 -0
  140. package/dist/assets/{prewarm-uKxmzjjd.js → prewarm-CyvSJKv4.js} +1 -1
  141. package/dist/assets/providers-0DthJW_I.js +1 -0
  142. package/dist/assets/quietHours-D1nboK5q.js +1 -0
  143. package/dist/assets/{ready-jtAUOb62.js → ready-yBSGJubb.js} +1 -1
  144. package/dist/assets/{registry-BFrgx1tE.js → registry-B53EEn8S.js} +1 -1
  145. package/dist/assets/{registry-CPiwQhAm.js → registry-BDXwUn3i.js} +1 -1
  146. package/dist/assets/{registry-Dwbh-GWu.js → registry-BFQQpjO2.js} +1 -1
  147. package/dist/assets/{registry-B0GIHERt.js → registry-BQzvA61G.js} +1 -1
  148. package/dist/assets/{registry-D8O0apUT.js → registry-BdHj_oIs.js} +1 -1
  149. package/dist/assets/{registry-Dru0JcTa.css → registry-BgWzEkxc.css} +1 -1
  150. package/dist/assets/{registry-Vp8VuMV0.js → registry-Bl2qfp5V.js} +1 -1
  151. package/dist/assets/{registry-1wlTAh5b.js → registry-C8FuGbOr.js} +1 -1
  152. package/dist/assets/{registry-C28gYnVq.js → registry-CE1T0z9x.js} +1 -1
  153. package/dist/assets/{registry-ZOWzhOHk.css → registry-CGB0jkFI.css} +1 -1
  154. package/dist/assets/{registry-4mMEt1Xy.css → registry-CIcGBgtK.css} +1 -1
  155. package/dist/assets/{registry-DtV2UjBx.js → registry-CcHxIYQN.js} +1 -1
  156. package/dist/assets/{registry-BFbfXK-W.js → registry-Cgo4C0ux.js} +1 -1
  157. package/dist/assets/registry-CwRTUk0R.js +1 -0
  158. package/dist/assets/{registry-6DGRAB1m.js → registry-DPBJYRmC.js} +1 -1
  159. package/dist/assets/registry-Dbe9TQPw.css +1 -0
  160. package/dist/assets/registry-DdVZGvkL.js +48 -0
  161. package/dist/assets/{registry-B2QzCuWH.js → registry-DdgeK4fY.js} +1 -1
  162. package/dist/assets/registry-Diyud3DF.js +1 -0
  163. package/dist/assets/registry-DjvftnY2.css +1 -0
  164. package/dist/assets/registry-Dt0wu9rC.js +2 -0
  165. package/dist/assets/registry-QbArAJKB.js +1 -0
  166. package/dist/assets/registry-dmR14XnY.css +1 -0
  167. package/dist/assets/registry-g2sBcIrf.css +1 -0
  168. package/dist/assets/{registry-CcOO8UZr.js → registry-qRfnKTt4.js} +1 -1
  169. package/dist/assets/{relate-UW-sUlJH.js → relate-CqYpFpsO.js} +1 -1
  170. package/dist/assets/{replay-B5TkHPri.js → replay-NognvQfM.js} +1 -1
  171. package/dist/assets/route-CMdTFx0P.js +1 -0
  172. package/dist/assets/{run-Df10YPyB.js → run-CuHaB8wF.js} +1 -1
  173. package/dist/assets/{run-gmqUaxcL.js → run-CwMSPOps.js} +1 -1
  174. package/dist/assets/{run-DlvA3l28.js → run-DCQrxgHA.js} +1 -1
  175. package/dist/assets/select-Dp-OeZfq.js +3 -0
  176. package/dist/assets/shapes-BwoDrn09.js +1 -0
  177. package/dist/assets/shard000-Bx6Nmt0m.js +1 -0
  178. package/dist/assets/shard001-CL6O9SLr.js +1 -0
  179. package/dist/assets/shard002-vLQ0Ss-O.js +1 -0
  180. package/dist/assets/shard003-kKZdpzuh.js +1 -0
  181. package/dist/assets/shard004-CdVohAu1.js +1 -0
  182. package/dist/assets/shard005-CMzF_uJB.js +1 -0
  183. package/dist/assets/shard006-DQoDWuoN.js +1 -0
  184. package/dist/assets/shard007-Ck0N0IUk.js +1 -0
  185. package/dist/assets/shard008-Dt395x0Q.js +1 -0
  186. package/dist/assets/shard009-D_z8Lhqh.js +1 -0
  187. package/dist/assets/shard010-CQfR6lnk.js +1 -0
  188. package/dist/assets/shard011-l-w2t2Ie.js +1 -0
  189. package/dist/assets/shard012-BTw_UO1C.js +1 -0
  190. package/dist/assets/shard013-D8ZjKKYb.js +1 -0
  191. package/dist/assets/shard014-Cth_76It.js +1 -0
  192. package/dist/assets/shard015-DdYJVsHx.js +1 -0
  193. package/dist/assets/shard016-BdlBf9uZ.js +1 -0
  194. package/dist/assets/shard017-C3HTxh6t.js +1 -0
  195. package/dist/assets/shard018-Mf4wvqVk.js +1 -0
  196. package/dist/assets/shard019-Dpcy1Arx.js +1 -0
  197. package/dist/assets/shard020-BNvKfQld.js +1 -0
  198. package/dist/assets/shard021-D0kpI_PQ.js +1 -0
  199. package/dist/assets/shard022-Cjms7kAe.js +1 -0
  200. package/dist/assets/shard023-Bdwci7fy.js +1 -0
  201. package/dist/assets/shard024-BBoyPtpP.js +1 -0
  202. package/dist/assets/shard025-lMGpgN_0.js +3 -0
  203. package/dist/assets/shard026-Bp3UVI4_.js +1 -0
  204. package/dist/assets/shard027-C4HTpdeT.js +1 -0
  205. package/dist/assets/shard028-BsFTH3Sf.js +1 -0
  206. package/dist/assets/shard029-B3dEcXPy.js +1 -0
  207. package/dist/assets/shard030-DWwA-fNs.js +5 -0
  208. package/dist/assets/shard031-RhqA_0nH.js +1 -0
  209. package/dist/assets/shard032-BlZdG1Yi.js +1 -0
  210. package/dist/assets/shard033-Dmx2lOjI.js +1 -0
  211. package/dist/assets/shard034-BLOFKJT4.js +1 -0
  212. package/dist/assets/shard035-DMXdH733.js +1 -0
  213. package/dist/assets/shard036-DzOiEn23.js +1 -0
  214. package/dist/assets/shard037-BcHfVaYM.js +1 -0
  215. package/dist/assets/shard038-KozOx-Jh.js +1 -0
  216. package/dist/assets/shard039-apdILQwC.js +1 -0
  217. package/dist/assets/shard040-BrNXGaBi.js +1 -0
  218. package/dist/assets/shard041-D6eq9h1u.js +4 -0
  219. package/dist/assets/shard042-M-L34DbY.js +1 -0
  220. package/dist/assets/shard043-Ct6_C2pN.js +1 -0
  221. package/dist/assets/shard044-Bo0iaVHx.js +1 -0
  222. package/dist/assets/shard045-9ccZ4Y_N.js +1 -0
  223. package/dist/assets/shard046-eXoP478L.js +1 -0
  224. package/dist/assets/shard047-N56r6Lsz.js +1 -0
  225. package/dist/assets/shard048-BeKX7cI8.js +1 -0
  226. package/dist/assets/shard049-hPaNN2sL.js +1 -0
  227. package/dist/assets/shard050-B-YpP0B6.js +1 -0
  228. package/dist/assets/shard051-Bww5_KB2.js +1 -0
  229. package/dist/assets/shard052-DErwF8Df.js +1 -0
  230. package/dist/assets/shard053-C-qGH4jz.js +1 -0
  231. package/dist/assets/shard054-CNzJxw2V.js +1 -0
  232. package/dist/assets/shard054-kcSxZrSj.js +1 -0
  233. package/dist/assets/shard055-CsETBTqa.js +1 -0
  234. package/dist/assets/shard056-CdBR4qTC.js +1 -0
  235. package/dist/assets/shard057-yRUG8B9e.js +1 -0
  236. package/dist/assets/shard058-DeDAnECG.js +1 -0
  237. package/dist/assets/shard059-Dh6jbDnW.js +1 -0
  238. package/dist/assets/shard060-B5kpWrhW.js +1 -0
  239. package/dist/assets/shard061-BTnj5LZA.js +1 -0
  240. package/dist/assets/shard062-DC7LTaNc.js +1 -0
  241. package/dist/assets/shard063-C8SIGCfd.js +1 -0
  242. package/dist/assets/shard064-DLyASocW.js +1 -0
  243. package/dist/assets/shard065-Cy_yV4ry.js +1 -0
  244. package/dist/assets/shard066-BmjVQqFX.js +1 -0
  245. package/dist/assets/shard067-uZUJsqtF.js +1 -0
  246. package/dist/assets/shard068-CXVjyJU4.js +1 -0
  247. package/dist/assets/shard069-CyfmjAm-.js +4 -0
  248. package/dist/assets/shard070-CxN3xiuY.js +12 -0
  249. package/dist/assets/shard071-CP1WrYC-.js +1 -0
  250. package/dist/assets/shard072-D6L5Yr05.js +1 -0
  251. package/dist/assets/shard073-DFEzkwg2.js +1 -0
  252. package/dist/assets/shard074-BSv3rvRL.js +1 -0
  253. package/dist/assets/shard075-Bt0OjGVd.js +1 -0
  254. package/dist/assets/shard076-DZHs0uzd.js +1 -0
  255. package/dist/assets/{share-kW3pZ027.js → share--tpc1nLE.js} +1 -1
  256. package/dist/assets/speed-BOytg6bC.js +1 -0
  257. package/dist/assets/store-B2Rpbqgg.js +1 -0
  258. package/dist/assets/store-Ba9vzL4H.js +1 -0
  259. package/dist/assets/store-BwyOArJl.js +1 -0
  260. package/dist/assets/store-ruEsXJjU.js +1 -0
  261. package/dist/assets/streamParse-BX0bAppQ.js +2 -0
  262. package/dist/assets/{templates-DHeyJ32F.css → templates-BIkAr4YH.css} +1 -1
  263. package/dist/assets/{theme-7IrMJ70_.js → theme-D5D55hZi.js} +1 -1
  264. package/dist/assets/{threads-Cu2t3070.js → threads-DNfxMTwx.js} +1 -1
  265. package/dist/assets/{useDashboardLoop-BoVNM-pT.js → useDashboardLoop-C3iCNS8X.js} +3 -3
  266. package/dist/assets/{useDashboards-SRk8LqHe.js → useDashboards-lgQnk2Al.js} +1 -1
  267. package/dist/assets/useFocusTrap-CJmpNZv2.js +1 -0
  268. package/dist/assets/useInView-DsTvv7L_.js +1 -0
  269. package/dist/assets/useInterval-DDgFrel2.js +1 -0
  270. package/dist/assets/{useLiveConfig-Cpy0_E_-.js → useLiveConfig-B4CmBiAK.js} +1 -1
  271. package/dist/assets/useStudy-CwCIyiTb.js +1 -0
  272. package/dist/assets/{walkSync-CT8kmbzY.js → walkSync-DC9iE0BX.js} +1 -1
  273. package/dist/demo-assets/CREDITS.md +94 -50
  274. package/dist/demo-assets/images/arnel-lighthouse.avif +0 -0
  275. package/dist/demo-assets/images/cliff-fields.avif +0 -0
  276. package/dist/demo-assets/images/crater-panorama.avif +0 -0
  277. package/dist/demo-assets/images/furnas-lake.avif +0 -0
  278. package/dist/demo-assets/images/green-coast-raw.avif +0 -0
  279. package/dist/demo-assets/images/green-coast.avif +0 -0
  280. package/dist/demo-assets/images/island-coast-poster.avif +0 -0
  281. package/dist/demo-assets/images/nordeste-town.avif +0 -0
  282. package/dist/demo-assets/images/sea-cliffs.avif +0 -0
  283. package/dist/demo-assets/images/sete-cidades.avif +0 -0
  284. package/dist/demo-assets/images/tea-terraces.avif +0 -0
  285. package/dist/demo-assets/pdf/cfd-primer.pdf +0 -0
  286. package/dist/demo-assets/video/island-coast.webm +0 -0
  287. package/dist/fonts/fonts.css +18 -0
  288. package/dist/index.html +38 -10
  289. package/dist/legal/PRIVACY.md +1 -0
  290. package/dist/legal/TERMS.md +1 -1
  291. package/dist/legal/THIRD-PARTY.txt +13 -5
  292. package/package.json +3 -2
  293. package/dist/assets/AnnotationLayer-8JABh1Dm.js +0 -0
  294. package/dist/assets/AtlasView-B5fkQhO6.css +0 -1
  295. package/dist/assets/BriefingPlayer-TpFZB77N.css +0 -1
  296. package/dist/assets/CanvasSkeleton-iy6DBvde.css +0 -1
  297. package/dist/assets/CardEditor-BY1bZiV6.css +0 -1
  298. package/dist/assets/ConversationVideoStudio-CIAMxElj.css +0 -1
  299. package/dist/assets/ConversationVideoStudio-tpqQQnOs.js +0 -1
  300. package/dist/assets/CourseLessonReader-PFJn-4tj.js +0 -2
  301. package/dist/assets/CoursesApp-5pnHYJR8.js +0 -2
  302. package/dist/assets/CrossExamPanel-CZ0ShGma.css +0 -1
  303. package/dist/assets/DashboardDetail-DYFghZ4p.js +0 -2
  304. package/dist/assets/DashboardLoopGate-C0blM1w9.js +0 -2
  305. package/dist/assets/DashboardLoopRuntime-C9R-z9-o.js +0 -1
  306. package/dist/assets/DashboardsApp-Dh_jh1dF.js +0 -2
  307. package/dist/assets/DeepZoomApp-fRXCJHHZ.css +0 -1
  308. package/dist/assets/DelegatePanel-Cf85-0qE.css +0 -1
  309. package/dist/assets/DelegatePanel-DKWsRY9I.js +0 -33
  310. package/dist/assets/DemoGallery-CkuqAXje.js +0 -1
  311. package/dist/assets/FlagshipShowcase-BHAlRDAE.js +0 -1
  312. package/dist/assets/ForecastPanel-Da2ZBUrE.css +0 -1
  313. package/dist/assets/GalleryApp-DziLKFJZ.js +0 -1
  314. package/dist/assets/LeverPanel-DhpJY76O.css +0 -1
  315. package/dist/assets/LibraryOverlay-CnKWDMG_.css +0 -1
  316. package/dist/assets/LiveApp-C-OPBybd.css +0 -1
  317. package/dist/assets/LiveApp-D6vkyhZb.js +0 -79
  318. package/dist/assets/LiveSettings-C9cKOrSb.js +0 -6
  319. package/dist/assets/LiveSettings-CmgrMqvK.css +0 -1
  320. package/dist/assets/MindShape-C_Bo9hW9.js +0 -1
  321. package/dist/assets/MindShape-CaPeUo-a.css +0 -1
  322. package/dist/assets/PresentationDeck-BW_7qecK.js +0 -1
  323. package/dist/assets/PrismApp-BY71jJvW.js +0 -2
  324. package/dist/assets/PrismAskController-DBoxQSJR.css +0 -1
  325. package/dist/assets/PrismOverlay-BTfAicBt.css +0 -1
  326. package/dist/assets/Recap-DCiiWNiV.css +0 -1
  327. package/dist/assets/RippleApp-DZw8op-E.js +0 -2
  328. package/dist/assets/RippleOverlay-D7ItTvS-.js +0 -6
  329. package/dist/assets/RippleOverlay-_iiZsQVZ.css +0 -1
  330. package/dist/assets/SeeDontRead-DmmtWAzn.js +0 -1
  331. package/dist/assets/ShareModal-9jSn52Mw.js +0 -2
  332. package/dist/assets/ShareModal-D1QuQEko.css +0 -1
  333. package/dist/assets/SrsReview-B1B2VekR.css +0 -1
  334. package/dist/assets/TopicCanvas-DozfZFto.js +0 -2
  335. package/dist/assets/TopicCanvas-uRuHi99s.css +0 -1
  336. package/dist/assets/WhyMachineOverlay-BZk3PVTl.css +0 -1
  337. package/dist/assets/WorldOverlay-yhxq328s.js +0 -2
  338. package/dist/assets/ZoomDeck-B2SjNwY7.css +0 -1
  339. package/dist/assets/canvas-vqIFVmtP.js +0 -1
  340. package/dist/assets/capture-9OrAc1p2.js +0 -2
  341. package/dist/assets/dashboards-C1u2ks-d.css +0 -1
  342. package/dist/assets/generateLive-B6purd69.js +0 -51
  343. package/dist/assets/homeTarget-CsO8nY7z.js +0 -1
  344. package/dist/assets/index-DrzNHwlO.css +0 -1
  345. package/dist/assets/index-zIa6h_8b.js +0 -22
  346. package/dist/assets/kokoro-B3oG_8sd.js +0 -1
  347. package/dist/assets/layout-CEoNLr-w.js +0 -1
  348. package/dist/assets/pageVisibility-BxUVsw7Z.js +0 -1
  349. package/dist/assets/pen-DNMslo3e.js +0 -24
  350. package/dist/assets/pin-D-4Zjiik.css +0 -1
  351. package/dist/assets/portal-k_BMgWND.js +0 -1
  352. package/dist/assets/providers-BovElgRL.js +0 -1
  353. package/dist/assets/quietHours-DI1ayIIq.js +0 -1
  354. package/dist/assets/registry-BSX3aFUw.js +0 -1
  355. package/dist/assets/registry-Bv1f5UU4.js +0 -2
  356. package/dist/assets/registry-Cse2wF7x.css +0 -1
  357. package/dist/assets/registry-Dye5m3qt.css +0 -1
  358. package/dist/assets/registry-GeSy4i7R.css +0 -1
  359. package/dist/assets/registry-WHd1PwU3.js +0 -1
  360. package/dist/assets/registry-Xl8mAnKq.js +0 -1
  361. package/dist/assets/registry-tkd3UhWn.css +0 -1
  362. package/dist/assets/registry-w4R6c89s.js +0 -48
  363. package/dist/assets/shapes-Cx5SCKgj.js +0 -39
  364. package/dist/assets/shard054-BoC-LNYu.js +0 -1
  365. package/dist/assets/speed-K5_Ebj-8.js +0 -1
  366. package/dist/assets/store-BfHRbVKz.js +0 -1
  367. package/dist/assets/store-CsjDEADX.js +0 -1
  368. package/dist/assets/store-DpObYU1u.js +0 -1
  369. package/dist/assets/store-gohr8YVT.js +0 -1
  370. package/dist/assets/streamParse-B-Gjwa9T.js +0 -2
  371. package/dist/assets/useFocusTrap-DBtkeyRy.js +0 -1
  372. package/dist/assets/useInView-CXTOAEV3.js +0 -1
  373. package/dist/assets/useStudy-5CsF_L-s.js +0 -1
  374. package/dist/demo-assets/images/basalt-cliffs.jpg +0 -0
  375. package/dist/demo-assets/images/capelinhos.jpg +0 -0
  376. package/dist/demo-assets/images/cliff-fields.jpg +0 -0
  377. package/dist/demo-assets/images/crater-panorama.jpg +0 -0
  378. package/dist/demo-assets/images/furnas-lake.jpg +0 -0
  379. package/dist/demo-assets/images/green-coast.jpg +0 -0
  380. package/dist/demo-assets/images/overcast-coast.jpg +0 -0
  381. package/dist/demo-assets/images/patchwork-fields.jpg +0 -0
  382. package/dist/demo-assets/images/ponta-delgada.jpg +0 -0
  383. package/dist/demo-assets/images/sete-cidades.jpg +0 -0
  384. package/dist/demo-assets/images/village-street.jpg +0 -0
  385. package/dist/demo-assets/video/azores-film.webm +0 -0
  386. /package/dist/assets/{BriefingPlayer-C0D_2ILa.js → BriefingPlayer-74mRKyjl.js} +0 -0
  387. /package/dist/assets/{CrossExamPanel-CdIYUu-B.js → CrossExamPanel-BfeGr5iw.js} +0 -0
  388. /package/dist/assets/{ForecastPanel-zPUh2ClQ.js → ForecastPanel-OfW39WGS.js} +0 -0
  389. /package/dist/assets/{LeverPanel-D1SNRGdm.js → LeverPanel-vco5UK2U.js} +0 -0
  390. /package/dist/assets/{WhyMachineOverlay-ks9-rRiL.js → WhyMachineOverlay-D2K7y8SA.js} +0 -0
  391. /package/dist/assets/{lib-B7OE1ZQQ.js → lib-u95BsX_B.js} +0 -0
  392. /package/dist/assets/{registry-7poQfBaM.js → registry-C4Yh05pk.js} +0 -0
  393. /package/dist/assets/{registry-Daypk4uR.js → registry-S3j4OpCH.js} +0 -0
@@ -1,48 +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,t as a}from"./preload-helper-CiWYd9n-.js";import{n as o}from"./icons-gLFQTv74.js";import{t as s}from"./richText-BkxJhl9N.js";import{n as c,r as l}from"./format-q0LwBjID.js";import{r as u,t as d}from"./safeImageUrl-BINWXOTz.js";import{t as f}from"./useValidatedImage-BQi2c66o.js";import{r as p,t as m}from"./scale-Bcgfo6Hp.js";import{t as h}from"./BlockEmpty-B82uCse8.js";import"./lib-B7OE1ZQQ.js";import{t as g}from"./registry-types-D3q_LrlV.js";import{n as _,t as v}from"./fitText-DQ2omSN0.js";import{t as y}from"./useTimeout-Cm4yzted.js";import{t as b}from"./safeCssColor-di93BXgG.js";var x=t(),S=r(),C={chess:8,checkers:8,go:19,hex:8,grid:8},w=100,T=6;function E({title:e,icon:t=`layers`,iconColor:n=`var(--presence)`,board:r=`chess`,size:i,pieces:a,highlights:c,moves:l,caption:u,footer:d,delay:f}){let p=o[t]||o.layers,m=(0,x.useId)().replace(/:/g,``),h=C[r]?r:`chess`,g=Math.max(2,Math.min(25,Math.round(i??C[h]))),_=h===`go`,v=88/(_?g-1||1:g),y=e=>T+(_?e*v:(e+.5)*v),b=e=>T+(_?e*v:(e+.5)*v),E=v*(_?.4:.38),D=Math.max(.18,v*.03);return(0,S.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(f||0)+`ms`},children:[e&&(0,S.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,S.jsx)(p,{className:`ic`,style:{color:n}}),` `,e]}),(0,S.jsx)(`div`,{className:`gb-wrap`,children:(0,S.jsxs)(`svg`,{viewBox:`0 0 ${w} ${w}`,className:`gb-svg`,role:`img`,"aria-label":e,children:[(0,S.jsx)(`rect`,{x:T,y:T,width:88,height:88,className:`gb-frame`}),(h===`chess`||h===`checkers`)&&Array.from({length:g*g},(e,t)=>{let n=Math.floor(t/g),r=t%g;return(n+r)%2==0?null:(0,S.jsx)(`rect`,{x:T+r*v,y:T+n*v,width:v,height:v,className:`gb-dark`},`sq-${t}`)}),(h===`go`||h===`grid`||h===`hex`)&&Array.from({length:_?g:g+1},(e,t)=>{let n=T+t*v;return(0,S.jsxs)(`g`,{children:[(0,S.jsx)(`line`,{x1:n,y1:T,x2:n,y2:94,className:`gb-grid`}),(0,S.jsx)(`line`,{x1:T,y1:n,x2:94,y2:n,className:`gb-grid`})]},`ln-${t}`)}),h===`hex`&&Array.from({length:g*g},(e,t)=>{let n=Math.floor(t/g),r=t%g,i=n%2*v*.5,a=T+(r+.5)*v+i;return a>94?null:(0,S.jsx)(`circle`,{cx:a,cy:T+(n+.5)*v,r:v*.06,className:`gb-hexdot`},`hx-${t}`)}),h===`go`&&g===19&&[3,9,15].flatMap(e=>[3,9,15].map(t=>(0,S.jsx)(`circle`,{cx:y(t),cy:b(e),r:v*.09,className:`gb-star`},`star-${e}-${t}`))),c?.map((e,t)=>_?(0,S.jsx)(`circle`,{cx:y(e.col),cy:b(e.row),r:E*1.25,className:`gb-hl-dot`},`hl-${t}`):(0,S.jsx)(`rect`,{x:T+e.col*v,y:T+e.row*v,width:v,height:v,className:`gb-hl`},`hl-${t}`)),a.map((e,t)=>{let n=y(e.col),r=b(e.row),i=e.glyph||e.label||``;return(0,S.jsxs)(`g`,{className:`gb-piece side-${e.side===`b`?`b`:`a`}`,children:[(0,S.jsx)(`circle`,{cx:n,cy:r,r:E,className:`gb-disc`,strokeWidth:D}),i&&(0,S.jsx)(`text`,{x:n,y:r,textAnchor:`middle`,dominantBaseline:`central`,className:`gb-glyph`,style:{fontSize:E*1.15},children:i})]},`pc-${t}`)}),(0,S.jsx)(`defs`,{children:(0,S.jsx)(`marker`,{id:`gb-arr-${m}`,markerWidth:`5`,markerHeight:`5`,refX:`3.5`,refY:`2.5`,orient:`auto`,children:(0,S.jsx)(`path`,{d:`M0,0 L0,5 L5,2.5 Z`,className:`gb-arrhead`})})}),l?.map((e,t)=>(0,S.jsx)(`line`,{x1:y(e.from[1]),y1:b(e.from[0]),x2:y(e.to[1]),y2:b(e.to[0]),className:`gb-move`,strokeWidth:Math.max(.6,v*.08),markerEnd:`url(#gb-arr-${m})`},`mv-${t}`))]})}),u&&(0,S.jsx)(`div`,{className:`gb-caption`,children:u}),d&&(0,S.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:s(d)})]})}var D=.6;function O(e,t,n){let r=Math.max(3,Math.floor(t/(n*D)));return e.length>r?e.slice(0,r-1).trimEnd()+`…`:e}var k=[`color-mix(in oklab, var(--presence) 13%, transparent)`,`color-mix(in oklab, var(--insight) 13%, transparent)`,`color-mix(in oklab, var(--warning) 15%, transparent)`,`color-mix(in oklab, var(--presence) 7%, transparent)`,`color-mix(in oklab, var(--insight) 7%, transparent)`],A=[`var(--presence)`,`var(--insight)`,`var(--warning)`,`var(--presence-soft)`,`var(--insight-soft)`];function j({title:e,icon:t=`edit`,iconColor:n=`var(--presence)`,fabric:r,pieces:i,unit:a=`cm`,caption:c,footer:u,delay:d}){let f=o[t]||o.edit,p=(0,x.useId)().replace(/:/g,``),m=Math.max(1,r.w),h=Math.max(1,r.h),g=Math.max(m,h)*.04,_=m+g*2,v=h+g*2,y=i.reduce((e,t)=>e+Math.max(0,Math.min(t.w,m-t.x))*Math.max(0,Math.min(t.h,h-t.y))*Math.max(1,t.qty??1),0),b=Math.min(100,Math.round(y/(m*h)*100));return(0,S.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(d||0)+`ms`},children:[e&&(0,S.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,S.jsx)(f,{className:`ic`,style:{color:n}}),` `,e]}),(0,S.jsx)(`div`,{className:`pat-figwrap`,children:(0,S.jsxs)(`svg`,{viewBox:`0 0 ${_} ${v}`,className:`pat-svg`,role:`img`,"aria-label":e,children:[(0,S.jsx)(`defs`,{children:(0,S.jsx)(`marker`,{id:`pat-grain-${p}`,markerWidth:`6`,markerHeight:`6`,refX:`3`,refY:`3`,orient:`auto`,children:(0,S.jsx)(`path`,{d:`M0,3 L5,0.5 L4,3 L5,5.5 Z`,className:`pat-grain-head`})})}),(0,S.jsx)(`rect`,{x:g,y:g,width:m,height:h,className:`pat-fabric`}),(0,S.jsx)(`line`,{x1:g,y1:g,x2:g,y2:g+h,className:`pat-foldedge`,strokeWidth:Math.max(.4,m*.006)}),(0,S.jsx)(`text`,{className:`pat-foldlabel`,transform:`translate(${g+m*.022},${g+h/2}) rotate(-90)`,children:(0,S.jsx)(`tspan`,{x:0,y:0,children:`FOLD`})}),r.label&&(0,S.jsx)(`text`,{x:g+m-1,y:g-g*.35,textAnchor:`end`,className:`pat-fabriclabel`,children:r.label}),i.map((e,t)=>{let n=A[t%A.length],r=k[t%k.length],i=g+e.x,a=g+e.y,o=i+e.w/2,s=a+e.h/2,c=e.h*.14,l=Math.min(e.w,e.h)<Math.max(m,h)*.1,u=Math.max(1,e.qty??1);return(0,S.jsxs)(`g`,{children:[(0,S.jsx)(`rect`,{x:i,y:a,width:e.w,height:e.h,rx:Math.min(1.5,m*.005),fill:r,stroke:n,strokeWidth:m*.004,strokeDasharray:e.fold?void 0:`${m*.012} ${m*.008}`}),e.fold&&(0,S.jsx)(`line`,{x1:i,y1:a,x2:i,y2:a+e.h,className:`pat-onfold`,strokeWidth:m*.006}),(0,S.jsx)(`line`,{x1:o,y1:a+c,x2:o,y2:a+e.h-c,className:`pat-grain`,strokeWidth:Math.max(.3,m*.0035),markerStart:`url(#pat-grain-${p})`,markerEnd:`url(#pat-grain-${p})`}),!l&&(()=>{let t=Math.max(m*.026,2.4),n=O(e.label,e.w-t,t),r=n!==e.label;return(0,S.jsxs)(`text`,{x:o,y:s,textAnchor:`middle`,dominantBaseline:`middle`,className:`pat-piece-lbl`,style:{fontSize:t},children:[r&&(0,S.jsx)(`title`,{children:e.label}),(0,S.jsx)(`tspan`,{x:o,dy:`-0.5em`,children:n}),(u>1||e.fold)&&(0,S.jsx)(`tspan`,{x:o,dy:`1.4em`,className:`pat-piece-sub`,children:e.fold?`cut 1 on fold`:`cut ${u}`})]})})()]},t)})]})}),(0,S.jsxs)(`div`,{className:`pat-stats`,children:[(0,S.jsxs)(`div`,{className:`pat-stat`,children:[(0,S.jsx)(`span`,{className:`pat-stat-k`,children:`Fabric`}),(0,S.jsxs)(`span`,{className:`pat-stat-v`,children:[l(m),` × `,l(h),` `,a]})]}),(0,S.jsxs)(`div`,{className:`pat-stat`,children:[(0,S.jsx)(`span`,{className:`pat-stat-k`,children:`Yield`}),(0,S.jsxs)(`span`,{className:`pat-stat-v pat-yield`,"data-low":b<55?``:void 0,children:[b,`%`]})]})]}),c&&(0,S.jsx)(`div`,{className:`pat-caption`,children:c}),u&&(0,S.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:s(u)})]})}function M({title:e,icon:t=`image`,iconColor:n=`var(--presence)`,src:r,candidates:i,alt:a,caption:s,footer:c,delay:l,blockId:u,onUnrenderable:d}){let p=o[t]||o.image,m=f([r,...i??[]]),h=m.state===`checking`?`loading`:m.state===`ready`?`ready`:`error`,g=a||s||e||`Photograph`,_=c||s,v=h===`error`,y=!!(e||_||a);if((0,x.useEffect)(()=>{v&&!y&&u&&d?.(u)},[v,y,u,d]),v&&!y)return null;let b={"--delay":(l||0)+`ms`};return v?(0,S.jsxs)(`div`,{className:`card reveal me-photo-card`,style:b,children:[e&&(0,S.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,S.jsx)(p,{className:`ic`,style:{color:n}}),` `,e]}),(0,S.jsx)(`div`,{className:`insight-summary`,children:_||g})]}):(0,S.jsxs)(`div`,{className:`card reveal`,style:b,children:[e&&(0,S.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,S.jsx)(p,{className:`ic`,style:{color:n}}),` `,e]}),(0,S.jsxs)(`div`,{className:`me-photo`+(h===`ready`?` ready`:``),children:[m.src?(0,S.jsx)(`img`,{className:`me-photo-img`,src:m.src,alt:g,loading:`lazy`,decoding:`async`,referrerPolicy:`no-referrer`}):null,h===`loading`&&(0,S.jsx)(`div`,{className:`me-photo-shimmer`,"aria-hidden":`true`})]}),_&&(0,S.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},children:_})]})}var N=n();function P({title:e,icon:t=`image`,iconColor:n=`var(--presence)`,shapes:r,labels:i,ratio:a=1.6,footer:c,delay:l}){let u=o[t]||o.image,d=`med-diag-arrow-${(0,x.useId)().replace(/:/g,``)}`,f=Math.round(100/Math.max(.4,a)*10)/10,p=e=>e>20?2.1:e>10?2:1.9,m=i.reduce((e,t)=>{let n=t.side??`right`,r=t.text.length*p(t.text.length);return n===`top`?(e.top=Math.max(e.top,7-t.y+2.5),e.x0=Math.min(e.x0,t.x-r/2),e.x1=Math.max(e.x1,t.x+r/2)):n===`bottom`?(e.bottom=Math.max(e.bottom,t.y+7+2.5-f),e.x0=Math.min(e.x0,t.x-r/2),e.x1=Math.max(e.x1,t.x+r/2)):n===`left`?e.x0=Math.min(e.x0,t.x-7-r-1):e.x1=Math.max(e.x1,t.x+7+r+1),e},{x0:0,x1:100,top:0,bottom:0}),h=Math.min(0,Math.round(m.x0*10)/10),g=Math.round(-Math.max(0,m.top)*10)/10,_=Math.round((Math.max(100,m.x1)-h)*10)/10,v=Math.round((f+Math.max(0,m.bottom)-g)*10)/10;return(0,S.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(l||0)+`ms`},children:[(0,S.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,S.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,S.jsx)(`div`,{className:`med-diag`,children:(0,S.jsxs)(`svg`,{viewBox:`${h} ${g} ${_} ${v}`,className:`med-diag-svg`,role:`img`,children:[(0,S.jsx)(`defs`,{children:(0,S.jsx)(`marker`,{id:d,viewBox:`0 0 10 10`,refX:`8`,refY:`5`,markerWidth:`6`,markerHeight:`6`,orient:`auto-start-reverse`,children:(0,S.jsx)(`path`,{d:`M0,0 L10,5 L0,10 z`,fill:`context-stroke`})})}),r.map((e,t)=>(0,S.jsx)(F,{s:e,arrowId:d},t)),i.map((e,t)=>{let n=e.side??`right`,r=n===`left`?e.x-7:n===`right`?e.x+7:e.x,i=n===`top`?e.y-7:n===`bottom`?e.y+7:e.y,a=n===`left`?`end`:n===`right`?`start`:`middle`,o=e.color||`var(--text-secondary)`;return(0,S.jsxs)(`g`,{children:[(0,S.jsx)(`line`,{x1:e.x,y1:e.y,x2:r,y2:i,className:`med-diag-lead`}),(0,S.jsx)(`circle`,{cx:e.x,cy:e.y,r:1.1,fill:o,...t===0?{"data-mark":`point`}:{}}),(0,S.jsx)(`text`,{x:r+(n===`right`?1:n===`left`?-1:0),y:i+1.1,textAnchor:a,className:`med-diag-lbl`,fill:o,children:e.text})]},`l${t}`)})]})}),c&&(0,S.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:s(c)})]})}function F(e){let t=(0,N.c)(28),{s:n,arrowId:r}=e,i=n.color||`var(--text-muted)`,a=n.fill||`none`;switch(n.kind){case`circle`:{let e;return t[0]!==a||t[1]!==n.cx||t[2]!==n.cy||t[3]!==n.r||t[4]!==i?(e=(0,S.jsx)(`circle`,{cx:n.cx,cy:n.cy,r:n.r,stroke:i,strokeWidth:.7,fill:a}),t[0]=a,t[1]=n.cx,t[2]=n.cy,t[3]=n.r,t[4]=i,t[5]=e):e=t[5],e}case`rect`:{let e;return t[6]!==a||t[7]!==n.h||t[8]!==n.w||t[9]!==n.x||t[10]!==n.y||t[11]!==i?(e=(0,S.jsx)(`rect`,{x:n.x,y:n.y,width:n.w,height:n.h,rx:1.5,stroke:i,strokeWidth:.7,fill:a}),t[6]=a,t[7]=n.h,t[8]=n.w,t[9]=n.x,t[10]=n.y,t[11]=i,t[12]=e):e=t[12],e}case`line`:{let e=n.arrow?`url(#${r})`:void 0,a;return t[13]!==n.x1||t[14]!==n.x2||t[15]!==n.y1||t[16]!==n.y2||t[17]!==i||t[18]!==e?(a=(0,S.jsx)(`line`,{x1:n.x1,y1:n.y1,x2:n.x2,y2:n.y2,stroke:i,strokeWidth:.7,strokeLinecap:`round`,markerEnd:e}),t[13]=n.x1,t[14]=n.x2,t[15]=n.y1,t[16]=n.y2,t[17]=i,t[18]=e,t[19]=a):a=t[19],a}case`polygon`:{let e;return t[20]!==a||t[21]!==n.points||t[22]!==i?(e=(0,S.jsx)(`polygon`,{points:n.points,stroke:i,strokeWidth:.7,fill:a}),t[20]=a,t[21]=n.points,t[22]=i,t[23]=e):e=t[23],e}case`path`:{let e;return t[24]!==a||t[25]!==n.d||t[26]!==i?(e=(0,S.jsx)(`path`,{d:n.d,stroke:i,strokeWidth:.7,fill:a}),t[24]=a,t[25]=n.d,t[26]=i,t[27]=e):e=t[27],e}default:return null}}var I={header:{col:12,rows:1},hero:{col:12,rows:3},nav:{col:12,rows:1},image:{col:6,rows:2},text:{col:6,rows:2},button:{col:3,rows:1},card:{col:4,rows:2},list:{col:6,rows:2},footer:{col:12,rows:1},input:{col:6,rows:1}};function L(e,t){return Math.min(t,Math.max(1,Math.round(e)))||1}function ee(e){switch(e){case`header`:case`nav`:return(0,S.jsxs)(`div`,{className:`wf-bar`,children:[(0,S.jsx)(`span`,{className:`wf-dot`}),(0,S.jsx)(`span`,{className:`wf-spacer`}),(0,S.jsx)(`span`,{className:`wf-link`}),(0,S.jsx)(`span`,{className:`wf-link`}),(0,S.jsx)(`span`,{className:`wf-link`})]});case`hero`:return(0,S.jsxs)(`div`,{className:`wf-hero`,children:[(0,S.jsx)(`span`,{className:`wf-line wf-w70 wf-tall`}),(0,S.jsx)(`span`,{className:`wf-line wf-w50`}),(0,S.jsx)(`span`,{className:`wf-pill`})]});case`image`:return(0,S.jsxs)(`div`,{className:`wf-image`,"aria-hidden":!0,children:[(0,S.jsxs)(`svg`,{viewBox:`0 0 100 100`,preserveAspectRatio:`none`,className:`wf-image-x`,children:[(0,S.jsx)(`line`,{x1:`0`,y1:`0`,x2:`100`,y2:`100`}),(0,S.jsx)(`line`,{x1:`100`,y1:`0`,x2:`0`,y2:`100`})]}),(0,S.jsx)(o.image,{className:`wf-image-ic`})]});case`text`:return(0,S.jsxs)(`div`,{className:`wf-text`,children:[(0,S.jsx)(`span`,{className:`wf-line wf-w90`}),(0,S.jsx)(`span`,{className:`wf-line wf-w100`}),(0,S.jsx)(`span`,{className:`wf-line wf-w80`}),(0,S.jsx)(`span`,{className:`wf-line wf-w60`})]});case`button`:return(0,S.jsx)(`span`,{className:`wf-pill wf-pill-solid`});case`card`:return(0,S.jsxs)(`div`,{className:`wf-card`,children:[(0,S.jsx)(`span`,{className:`wf-thumb`}),(0,S.jsx)(`span`,{className:`wf-line wf-w70 wf-strong`}),(0,S.jsx)(`span`,{className:`wf-line wf-w90`}),(0,S.jsx)(`span`,{className:`wf-line wf-w50`})]});case`list`:return(0,S.jsx)(`div`,{className:`wf-list`,children:[0,1,2].map(e=>(0,S.jsxs)(`span`,{className:`wf-row`,children:[(0,S.jsx)(`span`,{className:`wf-row-dot`}),(0,S.jsx)(`span`,{className:`wf-line wf-w80`})]},e))});case`footer`:return(0,S.jsx)(`div`,{className:`wf-foot`,children:[0,1,2].map(e=>(0,S.jsxs)(`span`,{className:`wf-foot-col`,children:[(0,S.jsx)(`span`,{className:`wf-line wf-w60 wf-strong`}),(0,S.jsx)(`span`,{className:`wf-line wf-w90`}),(0,S.jsx)(`span`,{className:`wf-line wf-w70`})]},e))});case`input`:return(0,S.jsxs)(`div`,{className:`wf-input`,children:[(0,S.jsx)(`span`,{className:`wf-line wf-w40`}),(0,S.jsx)(`span`,{className:`wf-input-cta`})]})}}function te({title:e,icon:t,iconColor:n=`var(--presence-soft)`,regions:r,cols:i=12,caption:a,footer:c,delay:l}){let u=L(i,12),d=t&&o[t]||o.screen,f=Array.isArray(r)?r:[];return(0,S.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(l??0)+`ms`},children:[e&&(0,S.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,S.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,S.jsx)(`div`,{className:`wireframe`,style:{"--wf-cols":u},role:`img`,"aria-label":e?e+` wireframe`:`page wireframe`,children:f.map((e,t)=>{let n=I[e.kind]??I.card,r=L(e.col??n.col,u),i=Math.min(6,Math.max(1,Math.round(e.rows??n.rows)))||1;return(0,S.jsxs)(`div`,{className:`wf-region wf-`+e.kind,style:{gridColumn:`span `+r,"--wf-rows":i},children:[(0,S.jsx)(`div`,{className:`wf-fill`,children:ee(e.kind)}),e.label&&(0,S.jsx)(`span`,{className:`wf-label`,children:e.label})]},t)})}),a&&(0,S.jsx)(`div`,{className:`wf-caption`,dangerouslySetInnerHTML:s(a)}),c&&(0,S.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:s(c)})]})}var ne=e=>Math.max(3,Math.min(97,e)),re={heart:{outline:(0,S.jsx)(`path`,{d:`M50 88 C26 70 12 54 12 37 C12 24 22 15 33 15 C42 15 48 21 50 27 C52 21 58 15 67 15 C78 15 88 24 88 37 C88 54 74 70 50 88 Z`}),detail:(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(`path`,{className:`an-vessel`,d:`M42 18 C40 9 36 6 31 6`}),(0,S.jsx)(`path`,{className:`an-vessel`,d:`M52 18 C53 8 58 5 63 6`}),(0,S.jsx)(`path`,{className:`an-vessel`,d:`M59 20 C64 12 70 11 73 14`}),(0,S.jsx)(`path`,{className:`an-septum`,d:`M50 27 L50 84`}),(0,S.jsx)(`path`,{className:`an-septum`,d:`M50 50 C62 48 70 54 72 62`}),(0,S.jsx)(`path`,{className:`an-septum`,d:`M50 50 C38 48 30 54 28 62`})]})},kidney:{outline:(0,S.jsx)(`path`,{d:`M62 14 C78 14 86 30 86 50 C86 72 76 88 60 88 C50 88 46 80 44 70 C42 62 38 60 34 60 C24 60 18 70 18 50 C18 28 30 14 50 14 C55 14 58 14 62 14 Z`}),detail:(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(`path`,{className:`an-cavity`,d:`M40 50 C46 46 52 46 56 50 C60 54 60 60 56 64 C52 68 46 68 40 64`}),(0,S.jsx)(`path`,{className:`an-vessel`,d:`M40 50 C32 50 26 54 22 58`}),(0,S.jsx)(`path`,{className:`an-vessel`,d:`M48 66 C48 76 50 84 52 90`})]})},nephron:{outline:(0,S.jsx)(`path`,{d:`M22 18 C12 18 8 28 16 34 C8 40 12 50 22 48`}),detail:(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(`circle`,{className:`an-cavity`,cx:`20`,cy:`32`,r:`9`}),(0,S.jsx)(`circle`,{className:`an-node`,cx:`20`,cy:`32`,r:`5`}),(0,S.jsx)(`path`,{className:`an-tube`,d:`M28 30 C40 26 44 36 38 42 C32 48 44 52 50 46 C58 38 62 52 56 60 C50 68 60 72 66 64 C74 54 80 64 78 74 L78 92`}),(0,S.jsx)(`path`,{className:`an-tube an-tube-dn`,d:`M78 74 C72 78 66 76 64 70`})]})},brain:{outline:(0,S.jsx)(`path`,{d:`M30 22 C22 18 12 24 14 34 C8 38 8 48 14 52 C12 60 18 68 26 66 C30 74 42 76 48 70 C54 76 66 74 70 66 C80 68 86 58 82 50 C90 44 88 32 80 30 C82 20 70 14 62 20 C56 14 42 14 38 22 C36 21 33 21 30 22 Z`}),detail:(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(`path`,{className:`an-fold`,d:`M48 18 L48 70`}),(0,S.jsx)(`path`,{className:`an-fold`,d:`M26 34 C34 32 36 40 30 44 C36 46 34 54 28 54`}),(0,S.jsx)(`path`,{className:`an-fold`,d:`M68 34 C60 32 58 40 64 44 C58 46 60 54 66 54`}),(0,S.jsx)(`path`,{className:`an-fold`,d:`M40 30 C44 36 44 44 40 50`}),(0,S.jsx)(`path`,{className:`an-fold`,d:`M56 30 C52 36 52 44 56 50`}),(0,S.jsx)(`path`,{className:`an-vessel`,d:`M44 70 C44 82 44 88 42 92`}),(0,S.jsx)(`path`,{className:`an-vessel`,d:`M52 70 C52 82 52 88 54 92`})]})},lung:{outline:(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(`path`,{d:`M44 22 C44 40 42 58 36 74 C30 88 18 86 14 74 C10 60 14 40 26 26 C32 19 40 18 44 22 Z`}),(0,S.jsx)(`path`,{d:`M56 22 C56 40 58 58 64 74 C70 88 82 86 86 74 C90 60 86 40 74 26 C68 19 60 18 56 22 Z`})]}),detail:(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(`path`,{className:`an-tube`,d:`M50 8 L50 30`}),(0,S.jsx)(`path`,{className:`an-tube`,d:`M50 30 C44 32 40 38 36 46`}),(0,S.jsx)(`path`,{className:`an-tube`,d:`M50 30 C56 32 60 38 64 46`}),(0,S.jsx)(`path`,{className:`an-tube an-tube-dn`,d:`M36 46 C32 52 30 58 28 64`}),(0,S.jsx)(`path`,{className:`an-tube an-tube-dn`,d:`M64 46 C68 52 70 58 72 64`})]})},eye:{outline:(0,S.jsx)(`path`,{d:`M8 50 C24 28 76 28 92 50 C76 72 24 72 8 50 Z`}),detail:(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(`circle`,{className:`an-cavity`,cx:`50`,cy:`50`,r:`20`}),(0,S.jsx)(`circle`,{className:`an-node`,cx:`50`,cy:`50`,r:`9`}),(0,S.jsx)(`circle`,{className:`an-glint`,cx:`44`,cy:`44`,r:`3`}),(0,S.jsx)(`path`,{className:`an-vessel`,d:`M14 50 C20 46 26 45 30 45`}),(0,S.jsx)(`path`,{className:`an-vessel`,d:`M86 50 C80 54 74 55 70 55`})]})},ear:{outline:(0,S.jsx)(`path`,{d:`M62 12 C40 8 24 24 24 46 C24 64 32 78 30 88 C28 94 34 96 40 92 C46 88 44 78 50 74 C58 68 60 58 54 54 C48 50 52 42 58 44 C66 46 72 38 70 28 C69 20 67 14 62 12 Z`}),detail:(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(`path`,{className:`an-fold`,d:`M58 20 C46 18 36 28 36 42 C36 52 40 58 40 64`}),(0,S.jsx)(`path`,{className:`an-cavity`,d:`M50 40 C44 40 42 48 48 50 C54 52 56 44 50 40 Z`}),(0,S.jsx)(`path`,{className:`an-tube`,d:`M48 50 C40 54 36 60 34 66`})]})},neuron:{outline:(0,S.jsx)(`circle`,{cx:`42`,cy:`50`,r:`14`}),detail:(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(`circle`,{className:`an-node`,cx:`42`,cy:`50`,r:`5`}),(0,S.jsx)(`path`,{className:`an-tube`,d:`M30 42 C20 34 14 32 8 30`}),(0,S.jsx)(`path`,{className:`an-tube`,d:`M30 50 C20 50 14 52 8 54`}),(0,S.jsx)(`path`,{className:`an-tube`,d:`M32 60 C24 66 18 70 12 74`}),(0,S.jsx)(`path`,{className:`an-axon`,d:`M56 50 L82 50`}),(0,S.jsx)(`path`,{className:`an-tube an-tube-dn`,d:`M82 50 C88 44 92 44 96 42`}),(0,S.jsx)(`path`,{className:`an-tube an-tube-dn`,d:`M82 50 C88 56 92 56 96 58`}),(0,S.jsx)(`path`,{className:`an-tube an-tube-dn`,d:`M82 50 L96 50`})]})},skeleton:{outline:(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(`path`,{d:`M50 8 C58 8 62 16 62 22 C62 28 58 32 50 32 C42 32 38 28 38 22 C38 16 42 8 50 8 Z`}),(0,S.jsx)(`path`,{d:`M50 32 L50 66`}),(0,S.jsx)(`path`,{d:`M46 70 C46 66 54 66 54 70 L58 88 C58 92 42 92 42 88 Z`})]}),detail:(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(`path`,{className:`an-bone`,d:`M50 38 C40 40 30 44 26 50`}),(0,S.jsx)(`path`,{className:`an-bone`,d:`M50 38 C60 40 70 44 74 50`}),(0,S.jsx)(`path`,{className:`an-bone`,d:`M50 46 C40 48 32 52 28 58`}),(0,S.jsx)(`path`,{className:`an-bone`,d:`M50 46 C60 48 68 52 72 58`}),(0,S.jsx)(`path`,{className:`an-bone`,d:`M50 54 C42 56 36 60 32 66`}),(0,S.jsx)(`path`,{className:`an-bone`,d:`M50 54 C58 56 64 60 68 66`}),(0,S.jsx)(`path`,{className:`an-bone`,d:`M44 36 L56 36 M44 44 L56 44 M44 52 L56 52`})]})},stomach:{outline:(0,S.jsx)(`path`,{d:`M30 14 C30 22 32 28 36 34 C42 42 44 54 44 64 C44 78 54 88 66 88 C80 88 86 76 84 64 C82 52 74 46 66 44 C58 42 54 36 54 28 C54 22 52 18 48 16 C42 13 34 12 30 14 Z`}),detail:(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(`path`,{className:`an-tube`,d:`M40 6 C36 6 32 9 30 14`}),(0,S.jsx)(`path`,{className:`an-tube an-tube-dn`,d:`M82 70 C90 70 94 78 94 86`}),(0,S.jsx)(`path`,{className:`an-fold`,d:`M48 40 C56 44 60 52 60 62`}),(0,S.jsx)(`path`,{className:`an-fold`,d:`M44 50 C52 54 56 62 56 70`}),(0,S.jsx)(`path`,{className:`an-fold`,d:`M52 62 C60 66 64 72 64 78`})]})},liver:{outline:(0,S.jsx)(`path`,{d:`M10 38 C10 30 18 26 30 26 C50 26 70 28 86 34 C92 36 92 44 88 50 C80 62 62 70 42 70 C24 70 12 60 10 48 C10 45 10 41 10 38 Z`}),detail:(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(`path`,{className:`an-septum`,d:`M52 28 L52 66`}),(0,S.jsx)(`path`,{className:`an-cavity`,d:`M40 62 C40 70 36 76 32 76 C28 76 26 70 30 64`}),(0,S.jsx)(`path`,{className:`an-vessel`,d:`M52 50 C44 52 38 56 34 60`}),(0,S.jsx)(`path`,{className:`an-vessel`,d:`M52 50 C62 52 70 54 76 56`})]})}};function ie({title:e,icon:t=`spark`,iconColor:n=`var(--danger)`,organ:r,pins:i,view:a,caption:c,footer:l,delay:u}){let d=o[t]||o.spark,[f,p]=(0,x.useState)(0),m=re[r]??re.heart;return(0,S.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u||0)+`ms`},children:[e&&(0,S.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,S.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,S.jsxs)(`div`,{className:`an-wrap`,children:[(0,S.jsxs)(`div`,{className:`an-figbox`,children:[a&&(0,S.jsx)(`span`,{className:`an-view`,children:a}),(0,S.jsxs)(`svg`,{viewBox:`0 0 100 100`,className:`an-svg`,role:`img`,"aria-label":e||r,children:[(0,S.jsx)(`g`,{className:`an-organ`,children:m.outline}),m.detail&&(0,S.jsx)(`g`,{className:`an-organ-detail`,children:m.detail}),i.map((e,t)=>{let n=t===f,r=ne(e.x),i=ne(e.y);return(0,S.jsxs)(`g`,{className:`an-pin`+(n?` on`:``),onMouseEnter:()=>p(t),onClick:()=>p(t),children:[n&&(0,S.jsx)(`circle`,{cx:r,cy:i,r:5.4,className:`an-pin-halo`}),(0,S.jsx)(`circle`,{cx:r,cy:i,r:3.4,className:`an-pin-dot`,...t===0?{"data-mark":`point`}:{}}),(0,S.jsx)(`text`,{x:r,y:i,className:`an-pin-num`,children:t+1})]},t)})]})]}),(0,S.jsx)(`div`,{className:`an-list`,children:i.map((e,t)=>(0,S.jsxs)(`button`,{className:`an-row`+(t===f?` on`:``),onMouseEnter:()=>p(t),onClick:()=>p(t),children:[(0,S.jsx)(`span`,{className:`an-rownum`,children:t+1}),(0,S.jsxs)(`span`,{className:`an-rowbody`,children:[(0,S.jsx)(`span`,{className:`an-rowtitle`,children:e.label}),e.note&&(0,S.jsx)(`span`,{className:`an-rownote`,children:e.note})]})]},t))})]}),c&&(0,S.jsx)(`div`,{className:`an-caption`,children:c}),l&&(0,S.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:s(l)})]})}var ae=[{axis:`aperture`,label:`Aperture`,x:50,y:16,trade:`depth of field`,accent:`var(--presence)`},{axis:`shutter`,label:`Shutter`,x:16,y:78,trade:`motion`,accent:`var(--insight)`},{axis:`iso`,label:`ISO`,x:84,y:78,trade:`noise`,accent:`var(--warning)`}];function oe({title:e,icon:t=`image`,iconColor:n=`var(--presence)`,aperture:r,shutter:i,iso:a,ev:c,effects:l,caption:u,footer:d,delay:f}){let p=o[t]||o.image,m={aperture:r,shutter:i,iso:`ISO ${a}`},h=e=>l?.find(t=>t.axis===e)?.note;return(0,S.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(f||0)+`ms`},children:[e&&(0,S.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,S.jsx)(p,{className:`ic`,style:{color:n}}),` `,e]}),(0,S.jsx)(`div`,{className:`ex-figwrap`,children:(0,S.jsxs)(`svg`,{viewBox:`0 0 100 96`,className:`ex-svg`,role:`img`,"aria-label":e,children:[(0,S.jsx)(`polygon`,{points:ae.map(e=>`${e.x},${e.y}`).join(` `),className:`ex-tri`}),ae.map((e,t)=>{let n=ae[(t+1)%ae.length],r=(e.x+n.x)/2,i=(e.y+n.y)/2;return(0,S.jsx)(`line`,{x1:e.x,y1:e.y,x2:r,y2:i,className:`ex-edge`,markerEnd:`url(#ex-arrow)`},`e${t}`)}),(0,S.jsx)(`defs`,{children:(0,S.jsx)(`marker`,{id:`ex-arrow`,viewBox:`0 0 10 10`,refX:`8`,refY:`5`,markerWidth:`5`,markerHeight:`5`,orient:`auto`,children:(0,S.jsx)(`path`,{d:`M0,0 L10,5 L0,10 z`,fill:`context-stroke`})})}),(0,S.jsx)(`circle`,{cx:50,cy:57,r:13,className:`ex-ev`}),(0,S.jsx)(`text`,{x:50,y:54,className:`ex-ev-k`,children:`EXPOSURE`}),(0,S.jsx)(`text`,{x:50,y:62,className:`ex-ev-v`,children:c||`balanced`}),ae.map((e,t)=>(0,S.jsxs)(`g`,{style:{"--cc":e.accent},children:[(0,S.jsx)(`circle`,{cx:e.x,cy:e.y,r:4,className:`ex-node`,...t===0?{"data-mark":`point`}:{}}),(0,S.jsx)(`text`,{x:e.x,y:e.y-7,className:`ex-node-k`,children:e.label.toUpperCase()}),(0,S.jsx)(`text`,{x:e.x,y:e.y+(e.y<40?-14:11),className:`ex-node-v`,children:m[e.axis]})]},e.axis))]})}),(0,S.jsx)(`div`,{className:`ex-cues`,children:ae.map(e=>{let t=h(e.axis);return(0,S.jsxs)(`div`,{className:`ex-cue`,style:{"--cc":e.accent},children:[(0,S.jsx)(`span`,{className:`ex-cue-dot`}),(0,S.jsxs)(`span`,{className:`ex-cue-body`,children:[(0,S.jsx)(`span`,{className:`ex-cue-k`,children:e.trade}),(0,S.jsx)(`span`,{className:`ex-cue-v`,children:t||m[e.axis]})]})]},e.axis)})}),u&&(0,S.jsx)(`div`,{className:`ex-caption`,children:u}),d&&(0,S.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:s(d)})]})}var se=50,ce=50,le=44,R=30,ue={complementary:[0,180],analogous:[0,30,-30],triad:[0,120,240],split:[0,150,210],tetrad:[0,90,180,270]},de=e=>(e%360+360)%360;function fe(e,t){let n=(de(e)-90)*(Math.PI/180);return[se+t*Math.cos(n),ce+t*Math.sin(n)]}function pe(e,t){let[n,r]=fe(e,le),[i,a]=fe(t,le),[o,s]=fe(t,R),[c,l]=fe(e,R),u=+(t-e>180);return`M${n} ${r} A${le} ${le} 0 ${u} 1 ${i} ${a} L${o} ${s} A${R} ${R} 0 ${u} 0 ${c} ${l} Z`}function me(e){let t=de(e)/360,n=.6479999999999999,r=n*(1-Math.abs(t*6%2-1)),i=Math.floor(t*6)%6,[a,o,s]=[[n,r,0],[r,n,0],[0,n,r],[0,r,n],[r,0,n],[n,0,r]][i],c=e=>Math.round((e+.2260000000000001)*255).toString(16).padStart(2,`0`);return`#${c(a)}${c(o)}${c(s)}`}function he({title:e,icon:t=`spark`,iconColor:n=`var(--presence)`,baseHue:r,harmony:i=`complementary`,swatches:a,caption:c,footer:l,delay:u}){let d=o[t]||o.spark,f=ue[i]??ue.complementary,p=a&&a.length>0?a:f.map((e,t)=>({hue:de(r+e),hex:me(r+e),role:t===0?`base`:`accent`})),m=p.map(e=>de(e.hue));return(0,S.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u||0)+`ms`},children:[e&&(0,S.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,S.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,S.jsxs)(`div`,{className:`cw-wrap`,children:[(0,S.jsx)(`div`,{className:`cw-figbox`,children:(0,S.jsxs)(`svg`,{viewBox:`0 0 100 100`,className:`cw-svg`,role:`img`,"aria-label":e,children:[Array.from({length:60},(e,t)=>(0,S.jsx)(`path`,{d:pe(t*6,(t+1)*6),fill:me(t*6)},t)),(0,S.jsx)(`circle`,{cx:se,cy:ce,r:R,className:`cw-hub`}),m.map((e,t)=>{let[n,r]=fe(e,R),[i,a]=fe(e,48),o=p[t]?.hex??me(e),s=t===0;return(0,S.jsxs)(`g`,{children:[(0,S.jsx)(`line`,{x1:se,y1:ce,x2:n,y2:r,className:`cw-spoke`}),(0,S.jsx)(`circle`,{cx:i,cy:a,r:s?4:3,className:`cw-marker`+(s?` base`:``),fill:o,...s?{"data-mark":`point`}:{}})]},`m${t}`)}),(0,S.jsx)(`circle`,{cx:se,cy:ce,r:2.4,className:`cw-center`})]})}),(0,S.jsxs)(`div`,{className:`cw-list`,children:[(0,S.jsx)(`div`,{className:`cw-harmony`,children:i}),p.map((e,t)=>(0,S.jsxs)(`div`,{className:`cw-chip`,children:[(0,S.jsx)(`span`,{className:`cw-chip-sw`,style:{background:e.hex}}),(0,S.jsxs)(`span`,{className:`cw-chip-body`,children:[(0,S.jsx)(`span`,{className:`cw-chip-hex tab-num`,children:e.hex}),e.role&&(0,S.jsx)(`span`,{className:`cw-chip-role`,children:e.role})]})]},t))]})]}),c&&(0,S.jsx)(`div`,{className:`cw-caption`,children:c}),l&&(0,S.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:s(l)})]})}var z=160,B=100,ge=e=>e/100*z,_e=e=>e/100*B,ve=(e,t,n)=>Math.max(t,Math.min(n,e)),ye=2.6;function be(e,t){let n=Math.max(3,Math.floor((t-5)/ye));return e.length>n?e.slice(0,n-1).trimEnd()+`…`:e}function xe(e){switch(e){case`leadinglines`:{let e=2/3*z,t=1/3*B;return(0,S.jsxs)(`g`,{className:`art-guide`,children:[(0,S.jsx)(`line`,{x1:0,y1:B,x2:e,y2:t}),(0,S.jsx)(`line`,{x1:z,y1:B,x2:e,y2:t}),(0,S.jsx)(`line`,{x1:0,y1:0,x2:e,y2:t}),(0,S.jsx)(`circle`,{cx:e,cy:t,r:3.2,className:`art-guide-node`})]})}case`goldenratio`:{let e=1.618,t=z/e,n=B/e,r=61.11248454882572,i=t-61.11248454882572/e;return(0,S.jsxs)(`g`,{className:`art-guide`,children:[(0,S.jsx)(`line`,{x1:t,y1:0,x2:t,y2:B}),(0,S.jsx)(`line`,{x1:0,y1:n,x2:z,y2:n}),(0,S.jsx)(`path`,{d:`M${z} ${n} A${r} ${r} 0 0 1 ${t} ${B} A${t} ${t} 0 0 1 0 ${n} A${i} ${i} 0 0 1 37.77038600051033 ${B-i*e}`,className:`art-guide-arc`}),(0,S.jsx)(`circle`,{cx:t,cy:n,r:3.2,className:`art-guide-node`})]})}case`symmetry`:{let e=z/2;return(0,S.jsxs)(`g`,{className:`art-guide`,children:[(0,S.jsx)(`line`,{x1:e,y1:0,x2:e,y2:B,className:`art-guide-axis`}),[.3,.5,.7].map((e,t)=>(0,S.jsxs)(`g`,{children:[(0,S.jsx)(`line`,{x1:58,y1:B*e,x2:68,y2:B*e}),(0,S.jsx)(`line`,{x1:92,y1:B*e,x2:102,y2:B*e})]},t))]})}default:{let e=[z/3,320/3],t=[B/3,200/3];return(0,S.jsxs)(`g`,{className:`art-guide`,children:[e.map((e,t)=>(0,S.jsx)(`line`,{x1:e,y1:0,x2:e,y2:B},`c${t}`)),t.map((e,t)=>(0,S.jsx)(`line`,{x1:0,y1:e,x2:z,y2:e},`r${t}`)),e.flatMap(e=>t.map(t=>[e,t])).map(([e,t],n)=>(0,S.jsx)(`circle`,{cx:e,cy:t,r:2.4,className:`art-guide-node`},`p${n}`))]})}}}function Se({title:e,icon:t=`image`,iconColor:n=`var(--presence)`,overlay:r=`thirds`,regions:i,palette:a,notes:c,caption:l,footer:u,delay:d}){let f=o[t]||o.image;return(0,S.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(d||0)+`ms`},children:[e&&(0,S.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,S.jsx)(f,{className:`ic`,style:{color:n}}),` `,e]}),(0,S.jsx)(`div`,{className:`art-figwrap`,children:(0,S.jsxs)(`svg`,{viewBox:`0 0 ${z} ${B}`,className:`art-svg`,role:`img`,"aria-label":e,children:[(0,S.jsx)(`defs`,{children:(0,S.jsxs)(`linearGradient`,{id:`art-field`,x1:`0`,y1:`0`,x2:`1`,y2:`1`,children:[(0,S.jsx)(`stop`,{offset:`0%`,stopColor:`color-mix(in oklab, var(--presence) 22%, var(--surface-elevated))`}),(0,S.jsx)(`stop`,{offset:`55%`,stopColor:`var(--surface-elevated)`}),(0,S.jsx)(`stop`,{offset:`100%`,stopColor:`color-mix(in oklab, var(--insight) 20%, var(--surface-elevated))`})]})}),(0,S.jsx)(`rect`,{x:0,y:0,width:z,height:B,fill:`url(#art-field)`}),xe(r),(i??[]).map((e,t)=>{let n=ge(ve(e.x,0,100)),r=_e(ve(e.y,0,100)),i=Math.min(ge(e.w),z-n),a=Math.min(_e(e.h),B-r);return(0,S.jsxs)(`g`,{className:`art-region`,children:[(0,S.jsx)(`rect`,{x:n,y:r,width:i,height:a,rx:2,className:`art-region-box`,...t===0?{"data-mark":`box`}:{}}),(0,S.jsxs)(`text`,{x:n+2.5,y:r+6.5,className:`art-region-lbl`,children:[be(e.label,i)!==e.label&&(0,S.jsx)(`title`,{children:e.label}),be(e.label,i)]})]},t)})]})}),a&&a.length>0&&(0,S.jsx)(`div`,{className:`art-palette`,children:a.map((e,t)=>(0,S.jsxs)(`div`,{className:`art-pal-chip`,title:e.hex,children:[(0,S.jsx)(`span`,{className:`art-pal-sw`,style:{background:e.hex}}),(0,S.jsxs)(`span`,{className:`art-pal-meta`,children:[(0,S.jsx)(`span`,{className:`art-pal-hex tab-num`,children:e.hex}),e.role&&(0,S.jsx)(`span`,{className:`art-pal-role`,children:e.role})]})]},t))}),c&&c.length>0&&(0,S.jsx)(`div`,{className:`art-notes`,children:c.map((e,t)=>(0,S.jsxs)(`div`,{className:`art-note`,children:[(0,S.jsx)(`span`,{className:`art-note-k`,children:e.label}),(0,S.jsx)(`span`,{className:`art-note-v`,children:e.text})]},t))}),l&&(0,S.jsx)(`div`,{className:`art-caption`,children:l}),u&&(0,S.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:s(u)})]})}var Ce=[`var(--presence)`,`var(--insight)`,`var(--warning)`,`var(--presence-soft)`,`var(--insight-soft)`];function we(e){return(e.clips??[]).reduce((e,t)=>Math.max(e,t.start+Math.max(0,t.len)),0)}function Te({title:e,icon:t=`sliders`,iconColor:n=`var(--presence)`,tracks:r,bars:i,caption:a,footer:c,delay:l}){let u=o[t]||o.sliders,d=Math.max(4,i??(r.reduce((e,t)=>Math.max(e,we(t)),0)||4)),f=d<=16?1:Math.ceil(d/12),p=[];for(let e=0;e<=d;e+=f)p.push(e);return(0,S.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(l||0)+`ms`},children:[e&&(0,S.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,S.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,S.jsxs)(`div`,{className:`mx-board`,children:[(0,S.jsxs)(`div`,{className:`mx-ruler`,children:[(0,S.jsx)(`span`,{className:`mx-ruler-head`}),(0,S.jsx)(`div`,{className:`mx-ruler-track`,children:p.map(e=>(0,S.jsx)(`span`,{className:`mx-ruler-tick`,style:{left:e/d*100+`%`},children:e+1},e))})]}),r.map((e,t)=>{let n=e.color||Ce[t%Ce.length],r=Math.max(0,Math.min(100,e.volume??80)),i=Math.max(-100,Math.min(100,e.pan??0)),a=(i+100)/2,o=i===0?`C`:(i<0?`L`:`R`)+Math.round(Math.abs(i));return(0,S.jsxs)(`div`,{className:`mx-lane`+(e.mute?` muted`:``)+(e.solo?` soloed`:``),style:{"--cc":n},children:[(0,S.jsxs)(`div`,{className:`mx-head`,children:[(0,S.jsxs)(`div`,{className:`mx-head-top`,children:[(0,S.jsx)(`span`,{className:`mx-name`,children:e.name}),(0,S.jsxs)(`span`,{className:`mx-flags`,children:[(0,S.jsx)(`span`,{className:`mx-flag m`+(e.mute?` on`:``),children:`M`}),(0,S.jsx)(`span`,{className:`mx-flag s`+(e.solo?` on`:``),children:`S`})]})]}),(0,S.jsxs)(`div`,{className:`mx-controls`,children:[(0,S.jsx)(`span`,{className:`mx-vol`,title:`Volume ${r}`,children:(0,S.jsx)(`span`,{className:`mx-vol-fill`,style:{width:r+`%`}})}),(0,S.jsxs)(`span`,{className:`mx-pan`,title:`Pan ${o}`,children:[(0,S.jsx)(`span`,{className:`mx-pan-mid`}),(0,S.jsx)(`span`,{className:`mx-pan-thumb`,style:{left:a+`%`}})]}),(0,S.jsx)(`span`,{className:`mx-pan-lbl tab-num`,children:o})]})]}),(0,S.jsxs)(`div`,{className:`mx-timeline`,children:[p.map(e=>(0,S.jsx)(`span`,{className:`mx-grid`,style:{left:e/d*100+`%`},"aria-hidden":!0},e)),(e.clips??[]).map((e,n)=>{let r=Math.max(0,e.start)/d*100,i=Math.max(0,Math.min(e.len,d-e.start))/d*100;return(0,S.jsx)(`span`,{className:`mx-clip`,style:{left:r+`%`,width:i+`%`},title:e.label,...t===0&&n===0?{"data-mark":`box`}:{},children:e.label&&(0,S.jsx)(`span`,{className:`mx-clip-lbl`,children:e.label})},n)})]})]},t)})]}),a&&(0,S.jsx)(`div`,{className:`mx-caption`,children:a}),c&&(0,S.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:s(c)})]})}function Ee({title:e,icon:t=`image`,iconColor:n=`var(--presence)`,before:r,after:i,position:a=50,footer:s,delay:c}){let l=o[t]||o.image,[u,f]=(0,x.useState)(Math.max(2,Math.min(98,a))),[p,m]=(0,x.useState)(!1),h=(0,x.useRef)(null),g=d(r.src),_=d(i.src),v=e=>{let t=h.current;if(!t)return;let n=t.getBoundingClientRect(),r=(e-n.left)/n.width*100;f(Math.max(2,Math.min(98,r)))},y=e=>{m(!0),e.target.setPointerCapture?.(e.pointerId),v(e.clientX)},C=e=>{p&&v(e.clientX)},w=()=>m(!1);return(0,S.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(c||0)+`ms`},children:[(0,S.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,S.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,S.jsxs)(`div`,{className:`me-ba`+(p?` dragging`:``),ref:h,onPointerMove:C,onPointerUp:w,onPointerLeave:w,children:[(0,S.jsxs)(`div`,{className:`me-ba-plate`,style:{background:`linear-gradient(135deg, ${b(i.from,`var(--presence-deep)`)}, ${b(i.to,`var(--presence-soft)`)})`},children:[_&&(0,S.jsx)(`img`,{className:`me-img-fill`,src:_,alt:``,decoding:`async`,onError:e=>{e.currentTarget.style.display=`none`}}),(0,S.jsx)(`span`,{className:`me-ba-tag right`,children:i.label})]}),(0,S.jsxs)(`div`,{className:`me-ba-plate me-ba-before`,style:{background:`linear-gradient(135deg, ${b(r.from,`var(--presence-deep)`)}, ${b(r.to,`var(--presence-soft)`)})`,clipPath:`inset(0 ${100-u}% 0 0)`},children:[g&&(0,S.jsx)(`img`,{className:`me-img-fill`,src:g,alt:``,decoding:`async`,onError:e=>{e.currentTarget.style.display=`none`}}),(0,S.jsx)(`span`,{className:`me-ba-tag left`,children:r.label})]}),(0,S.jsx)(`div`,{className:`me-ba-divider`,style:{left:u+`%`},"data-interactive":!0,onPointerDown:y,children:(0,S.jsxs)(`span`,{className:`me-ba-handle`,children:[(0,S.jsx)(o.chevR,{className:`me-ba-arrow flip`}),(0,S.jsx)(o.chevR,{className:`me-ba-arrow`})]})})]}),(0,S.jsxs)(`div`,{className:`me-ba-caps`,children:[(0,S.jsx)(`span`,{className:`faint`,children:r.caption||`Before`}),(0,S.jsxs)(`span`,{className:`tab-num me-ba-pct`,children:[Math.round(u),`%`]}),(0,S.jsx)(`span`,{className:`faint`,children:i.caption||`After`})]}),(0,S.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},children:s||(0,S.jsx)(`span`,{className:`faint`,children:`Drag the divider to wipe between the two versions`})})]})}function De({title:e,icon:t=`image`,iconColor:n=`var(--presence)`,slides:r,start:i=0,footer:a,delay:s}){let c=o[t]||o.image,l=r.length,[u,f]=(0,x.useState)(Math.max(0,Math.min(l-1,i))),[p,m]=(0,x.useState)(0),h=(0,x.useRef)(null),g=e=>f(l>0?(e+l)%l:0),_=e=>{h.current=e.clientX,e.target.setPointerCapture?.(e.pointerId)},v=e=>{h.current!=null&&m(e.clientX-h.current)},y=()=>{Math.abs(p)>48&&g(u+(p<0?1:-1)),h.current=null,m(0)};return(0,S.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(s||0)+`ms`},children:[(0,S.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,S.jsx)(c,{className:`ic`,style:{color:n}}),` `,e]}),(0,S.jsxs)(`div`,{className:`me-carousel`,children:[(0,S.jsx)(`div`,{className:`me-car-track`,style:{transform:`translateX(calc(${-u*100}% + ${p}px))`},"data-interactive":!0,onPointerDown:_,onPointerMove:v,onPointerUp:y,onPointerLeave:y,children:r.map((e,t)=>{let n=d(e.src);return(0,S.jsxs)(`div`,{className:`me-car-slide`,children:[(0,S.jsxs)(`div`,{className:`me-car-img`,style:{background:`linear-gradient(135deg, ${b(e.from,`var(--presence-deep)`)}, ${b(e.to,`var(--presence-soft)`)})`},...t===0?{"data-mark":`circle`}:{},children:[n&&(0,S.jsx)(`img`,{className:`me-img-fill`,src:n,alt:``,loading:`lazy`,decoding:`async`,onError:e=>{e.currentTarget.style.display=`none`}}),e.tag&&(0,S.jsx)(`span`,{className:`me-car-tag`,children:e.tag}),(0,S.jsx)(`span`,{className:`me-car-label`,children:e.label})]}),e.caption&&(0,S.jsx)(`div`,{className:`me-car-cap`,children:e.caption})]},t)})}),(0,S.jsx)(`button`,{className:`me-car-arrow left`,onClick:()=>g(u-1),"aria-label":`Previous`,children:(0,S.jsx)(o.chevR,{className:`flip`})}),(0,S.jsx)(`button`,{className:`me-car-arrow right`,onClick:()=>g(u+1),"aria-label":`Next`,children:(0,S.jsx)(o.chevR,{})})]}),(0,S.jsxs)(`div`,{className:`me-car-dots`,children:[r.map((e,t)=>(0,S.jsx)(`button`,{className:`me-dot`+(t===u?` on`:``),onClick:()=>f(t),"aria-label":`Slide ${t+1}`},t)),(0,S.jsxs)(`span`,{className:`tab-num me-car-count`,children:[u+1,`/`,l]})]}),a&&(0,S.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},children:a})]})}var Oe=e=>Math.max(2,Math.min(98,e));function ke({title:e,icon:t=`image`,iconColor:n=`var(--presence)`,image:r,callouts:i,footer:a,delay:s}){let c=o[t]||o.image,[l,u]=(0,x.useState)(0),f=d(r.src);return(0,S.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(s||0)+`ms`},children:[(0,S.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,S.jsx)(c,{className:`ic`,style:{color:n}}),` `,e]}),(0,S.jsxs)(`div`,{className:`me-ico-wrap`,children:[(0,S.jsxs)(`div`,{className:`me-ico-img`,style:{background:`linear-gradient(135deg, ${b(r.from,`var(--presence-deep)`)}, ${b(r.to,`var(--presence-soft)`)})`},children:[f&&(0,S.jsx)(`img`,{className:`me-img-fill`,src:f,alt:``,loading:`lazy`,decoding:`async`,onError:e=>{e.currentTarget.style.display=`none`}}),r.label&&(0,S.jsx)(`span`,{className:`me-ico-imglabel`,children:r.label}),i.map((e,t)=>{let n=e.color||`var(--presence)`;return(0,S.jsx)(`button`,{className:`me-ico-pin`+(t===l?` on`:``),style:{left:Oe(e.x)+`%`,top:Oe(e.y)+`%`,"--cc":n},onMouseEnter:()=>u(t),onClick:()=>u(t),"aria-label":e.label,...t===0?{"data-mark":`circle`}:{},children:(0,S.jsx)(`span`,{className:`me-ico-num`,children:t+1})},t)})]}),(0,S.jsx)(`div`,{className:`me-ico-list`,children:i.map((e,t)=>{let n=e.color||`var(--presence)`;return(0,S.jsxs)(`button`,{className:`me-ico-row`+(t===l?` on`:``),style:{"--cc":n},onMouseEnter:()=>u(t),onClick:()=>u(t),children:[(0,S.jsx)(`span`,{className:`me-ico-rownum`,children:t+1}),(0,S.jsxs)(`span`,{className:`me-ico-rowbody`,children:[(0,S.jsx)(`span`,{className:`me-ico-rowtitle`,children:e.label}),e.detail&&(0,S.jsx)(`span`,{className:`me-ico-rowdetail`,children:e.detail})]})]},t)})})]}),a&&(0,S.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},children:a})]})}function Ae(e,t){let n=(t||`0:00`).split(`:`).map(e=>parseInt(e,10)||0),r=n.length===2?n[0]*60+n[1]:n[0],i=Math.round(r*e/100);return`${Math.floor(i/60)}:${String(i%60).padStart(2,`0`)}`}function je({title:e,icon:t=`speaker`,iconColor:n=`var(--presence)`,bars:r,durationLabel:i=`3:24`,color:a=`var(--presence)`,position:s=32,markers:c=[],footer:l,delay:u}){let d=o[t]||o.speaker,[f,p]=(0,x.useState)(Math.max(0,Math.min(100,s))),[m,h]=(0,x.useState)(!0),[g,_]=(0,x.useState)(!1),v=(0,x.useRef)(null),y=e=>{let t=v.current;if(!t)return;let n=t.getBoundingClientRect();p(Math.max(0,Math.min(100,(e-n.left)/n.width*100)))};return(0,S.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u||0)+`ms`},children:[(0,S.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,S.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,S.jsxs)(`div`,{className:`me-wave-row`,children:[(0,S.jsx)(`button`,{className:`me-wave-play`+(m?` on`:``),style:{"--cc":a},onClick:()=>h(e=>!e),"aria-label":m?`Pause`:`Play`,children:m?(0,S.jsxs)(`span`,{className:`me-wave-pause`,children:[(0,S.jsx)(`i`,{}),(0,S.jsx)(`i`,{})]}):(0,S.jsx)(o.play,{})}),(0,S.jsxs)(`div`,{className:`me-wave`+(g?` dragging`:``),ref:v,"data-interactive":!0,onPointerDown:e=>{_(!0),e.target.setPointerCapture?.(e.pointerId),y(e.clientX)},onPointerMove:e=>g&&y(e.clientX),onPointerUp:()=>_(!1),onPointerLeave:()=>_(!1),children:[r.map((e,t)=>{let n=(r.length>1?t/(r.length-1)*100:0)<=f;return(0,S.jsx)(`span`,{className:`me-wave-bar`,style:{height:Math.max(8,e*100)+`%`,background:n?a:`var(--track)`}},t)}),c.map((e,t)=>(0,S.jsx)(`span`,{className:`me-wave-marker`,style:{left:e.at+`%`},title:e.label,...t===0?{"data-mark":`point`}:{}},t)),(0,S.jsx)(`span`,{className:`me-wave-head`,style:{left:f+`%`,"--cc":a}})]}),(0,S.jsxs)(`span`,{className:`tab-num me-wave-time`,children:[Ae(f,i),` `,(0,S.jsxs)(`span`,{className:`faint`,children:[`/ `,i]})]})]}),(0,S.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},children:l||(0,S.jsx)(`span`,{className:`faint`,children:`Click or drag the waveform to scrub`})})]})}function Me({title:e,icon:t=`play`,iconColor:n=`var(--presence)`,thumb:r,video:i,poster:a,durationLabel:s=`12:40`,chapters:c,active:l=0,footer:f,delay:p}){let m=o[t]||o.play,h=d(a),g=u(i),[_,v]=(0,x.useState)(Math.max(0,Math.min(c.length-1,l))),[y,C]=(0,x.useState)(!1),w=(0,x.useRef)(null),T=e=>Math.max(0,Math.min(100,c[e]?.at??0)),E=T(_),D=e=>{v(e);let t=w.current;t&&t.duration&&(t.currentTime=T(e)/100*t.duration)};return(0,S.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(p||0)+`ms`},children:[(0,S.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,S.jsx)(m,{className:`ic`,style:{color:n}}),` `,e]}),(0,S.jsxs)(`div`,{className:`me-vid`,children:[g?(0,S.jsx)(`video`,{ref:w,className:`me-vid-real`,src:g,poster:h,controls:!0,preload:`metadata`,playsInline:!0,children:(0,S.jsx)(`track`,{kind:`captions`,srcLang:`en`,label:`English`,src:`data:text/vtt,WEBVTT`})}):(0,S.jsxs)(`div`,{className:`me-vid-thumb`,style:{background:`linear-gradient(135deg, ${b(r.from,`var(--presence-deep)`)}, ${b(r.to,`var(--presence-soft)`)})`},children:[r.label&&(0,S.jsx)(`span`,{className:`me-vid-overlaylabel`,children:r.label}),(0,S.jsx)(`span`,{className:`me-vid-dur tab-num`,children:s}),(0,S.jsx)(`button`,{className:`me-vid-playbtn`+(y?` playing`:``),onClick:()=>C(e=>!e),"aria-label":y?`Pause`:`Play`,children:y?(0,S.jsxs)(`span`,{className:`me-vid-pause`,children:[(0,S.jsx)(`i`,{}),(0,S.jsx)(`i`,{})]}):(0,S.jsx)(o.play,{})}),(0,S.jsxs)(`div`,{className:`me-vid-scrub`,children:[(0,S.jsx)(`span`,{className:`me-vid-scrub-fill`,style:{width:E+`%`}}),c.map((e,t)=>(0,S.jsx)(`span`,{className:`me-vid-tick`+(t===_?` on`:``),style:{left:T(t)+`%`}},t))]})]}),c.length>0&&(0,S.jsx)(`div`,{className:`me-vid-chapters`,role:`listbox`,"aria-label":`Chapters`,tabIndex:0,onKeyDown:e=>{e.key===`ArrowDown`||e.key===`ArrowRight`?(e.preventDefault(),D(Math.min(c.length-1,_+1))):(e.key===`ArrowUp`||e.key===`ArrowLeft`)&&(e.preventDefault(),D(Math.max(0,_-1)))},children:c.map((e,t)=>(0,S.jsxs)(`button`,{className:`me-vid-chap`+(t===_?` on`:``),onClick:()=>D(t),role:`option`,"aria-selected":t===_,children:[(0,S.jsx)(`span`,{className:`me-vid-chaptime tab-num`,children:e.time}),(0,S.jsx)(`span`,{className:`me-vid-chaptitle`,...t===_?{"data-mark":`underline`}:{},children:e.title}),t===_&&(0,S.jsx)(o.play,{className:`me-vid-chapnow`})]},t))})]}),(f||c.length>0)&&(0,S.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},children:f||(0,S.jsxs)(`span`,{children:[`Now at`,` `,(0,S.jsx)(`strong`,{style:{color:`var(--text-primary)`},children:c[_]?.title})]})})]})}var Ne=`/assets/maplibre-gl-worker-DZ7nj4vd.js`;i();async function Pe(){let e=await a(()=>import(`./maplibre-gl-CrDadnl3.js`),[]).catch(()=>null);return e?.Map?(e.setWorkerUrl(Ne),e.getWorkerCount()!==1&&e.setWorkerCount(1),e):null}var Fe=`https://www.openstreetmap.org/copyright`;function Ie(){let e=(0,N.c)(3),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,S.jsx)(`a`,{href:`https://openfreemap.org/`,target:`_blank`,rel:`noopener noreferrer`,children:`OpenFreeMap`}),e[0]=t):t=e[0];let n;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,S.jsx)(`a`,{href:`https://openmaptiles.org/`,target:`_blank`,rel:`noopener noreferrer`,children:`OpenMapTiles`}),e[1]=n):n=e[1];let r;return e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,S.jsxs)(`p`,{className:`geo-map-credit`,"aria-label":`Map attribution`,children:[`Map:`,` `,t,` `,`· ©`,` `,n,` `,`· Data © OpenStreetMap contributors (ODbL) ·`,` `,(0,S.jsx)(`a`,{href:Fe,target:`_blank`,rel:`noopener noreferrer`,children:Fe})]}),e[2]=r):r=e[2],r}var Le=e=>`https://tiles.openfreemap.org/styles/${e?`positron`:`dark`}`,Re=e=>{let t=e?.closest(`.figure-embed`);return t?t.getAttribute(`data-theme-mode`)!==`dark`:typeof document<`u`&&document.documentElement.getAttribute(`data-theme`)===`light`},ze=new Set([`residential`,`commercial`,`industrial`,`mixed`,`open-space`]),Be={residential:`var(--presence)`,commercial:`var(--warning)`,industrial:`var(--danger)`,mixed:`var(--presence-soft)`,"open-space":`var(--insight)`},Ve={residential:`Residential`,commercial:`Commercial`,industrial:`Industrial`,mixed:`Mixed use`,"open-space":`Open space`};function He(e){return Array.isArray(e)?e.map(e=>{let t=(Array.isArray(e?.coords)?e.coords:[]).filter(e=>Array.isArray(e)&&e.length===2&&Number.isFinite(e[0])&&Number.isFinite(e[1])&&Math.abs(e[0])<=90&&Math.abs(e[1])<=180);if(t.length<3)return null;let n=ze.has(e?.category)?e.category:`mixed`;return{coords:t,category:n,label:typeof e?.label==`string`&&e.label.trim()?e.label.trim():Ve[n]}}).filter(e=>e!==null):[]}function Ue(e,t){let n=/^var\((--[^)]+)\)$/.exec(t)?.[1];return n?getComputedStyle(e).getPropertyValue(n).trim()||`transparent`:t}function We(e,t){let n=document.createElement(`div`);n.className=`geo-pop`;let r=document.createElement(`b`);if(r.textContent=e,n.append(r),t){let e=document.createElement(`div`);e.className=`geo-pop-d`,e.textContent=t,n.append(e)}return n}function Ge({title:e,icon:t=`globe`,iconColor:n=`var(--presence)`,markers:r,zoom:i,zones:a,footer:s,delay:c}){let l=o[t]||o.globe,u=(0,x.useRef)(null),[d,f]=(0,x.useState)(!1),[p,m]=(0,x.useState)(!1),h=(0,x.useMemo)(()=>(r||[]).filter(e=>Number.isFinite(e.lat)&&Number.isFinite(e.lng)&&Math.abs(e.lat)<=90&&Math.abs(e.lng)<=180),[r]),g=(0,x.useMemo)(()=>He(a),[a]),_=g.reduce((e,t)=>(e.includes(t.category)||e.push(t.category),e),[]);(0,x.useEffect)(()=>{if(!u.current||!h.length)return;let e=!1,t=null,n=[],r=null;f(!1);let a=0,o=()=>{window.clearTimeout(a),a=0,e||f(!0)};return a=window.setTimeout(o,8e3),(async()=>{let s=await Pe();if(e||!u.current)return;if(!s){window.clearTimeout(a),m(!0);return}t=new s.Map({container:u.current,style:Le(Re(u.current)),center:[h[0].lng,h[0].lat],zoom:i??13,attributionControl:{compact:!1},scrollZoom:!1,dragRotate:!1,pitchWithRotate:!1,fadeDuration:0,maxTileCacheSize:48,canvasContextAttributes:{preserveDrawingBuffer:!0,powerPreference:`low-power`}}),t.on(`styledata`,()=>{if(!t||!u.current||!t.isStyleLoaded()||t.getSource(`mavea-zones`))return;let e=g.map((e,t)=>({type:`Feature`,id:t,properties:{label:e.label,category:Ve[e.category],color:Ue(u.current,Be[e.category])},geometry:{type:`Polygon`,coordinates:[[...e.coords.map(([e,t])=>[t,e]),[e.coords[0][1],e.coords[0][0]]]]}}));t.addSource(`mavea-zones`,{type:`geojson`,data:{type:`FeatureCollection`,features:e}}),t.addLayer({id:`mavea-zones-fill`,type:`fill`,source:`mavea-zones`,paint:{"fill-color":[`get`,`color`],"fill-opacity":.22}}),t.addLayer({id:`mavea-zones-line`,type:`line`,source:`mavea-zones`,paint:{"line-color":[`get`,`color`],"line-width":1.5}})}),t.on(`idle`,o),n=h.map((e,n)=>{let r=document.createElement(`span`);r.className=`geo-pin`,r.style.setProperty(`--geo-c`,b(e.color)),r.textContent=String(n+1),r.setAttribute(`role`,`button`),r.setAttribute(`aria-label`,e.name);let i=We(e.name,e.detail),a=document.createElement(`a`);return a.className=`geo-pop-a`,a.href=`https://www.google.com/maps/search/?api=1&query=${e.lat},${e.lng}`,a.target=`_blank`,a.rel=`noopener noreferrer`,a.textContent=`Open in Google Maps ↗`,i.append(a),new s.Marker({element:r}).setLngLat([e.lng,e.lat]).setPopup(new s.Popup({offset:18}).setDOMContent(i)).addTo(t)});let c=new s.LngLatBounds;for(let e of h)c.extend([e.lng,e.lat]);for(let e of g)for(let[t,n]of e.coords)c.extend([n,t]);h.length+g.flatMap(e=>e.coords).length>1&&t.fitBounds(c,{padding:34,duration:0});let l=Le(Re(u.current));r=new MutationObserver(()=>{let e=Le(Re(u.current));!t||e===l||(l=e,f(!1),window.clearTimeout(a),a=window.setTimeout(o,8e3),t.setStyle(e))}),r.observe(document.documentElement,{attributes:!0,attributeFilter:[`data-theme`]})})(),()=>{e=!0,window.clearTimeout(a),r?.disconnect();for(let e of n)e.remove();n=[],t?.remove()}},[h,g,i]);let v=h.length>0&&!p;return(0,S.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(c||0)+`ms`},children:[(0,S.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,S.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),p?(0,S.jsx)(`div`,{className:`geo-map geo-map-empty faint`,children:`Map couldn’t load.`}):h.length?(0,S.jsx)(`div`,{ref:u,className:`geo-map`,"data-tiles":d?`ready`:`loading`,"aria-busy":!d}):(0,S.jsx)(`div`,{className:`geo-map geo-map-empty faint`,children:`No locations to map.`}),v&&(0,S.jsx)(Ie,{}),v&&_.length>0&&(0,S.jsx)(`div`,{className:`geo-zone-legend`,children:_.map(e=>(0,S.jsxs)(`span`,{className:`geo-zone-chip`,children:[(0,S.jsx)(`span`,{className:`geo-zone-swatch`,style:{background:Be[e]}}),Ve[e]]},e))}),(s||v)&&(0,S.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},children:s||(0,S.jsxs)(`span`,{className:`faint`,children:[`Real map · `,h.length,` location`,h.length===1?``:`s`,` · drag to explore`]})})]})}function Ke({title:e,icon:t=`image`,iconColor:n=`var(--presence)`,items:r,footer:i,delay:a}){let s=o[t]||o.image,[c,l]=(0,x.useState)(null),u=r.length,f=e=>l(u>0?(e%u+u)%u:null),p=c==null?null:r[c],m=p?d(p.src):void 0;return(0,S.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(a||0)+`ms`},children:[(0,S.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,S.jsx)(s,{className:`ic`,style:{color:n}}),` `,e]}),(0,S.jsx)(`div`,{className:`me-lb-grid`,children:r.map((e,t)=>{let n=d(e.src);return(0,S.jsxs)(`button`,{className:`me-lb-thumb`,style:{background:`linear-gradient(135deg, ${b(e.from,`var(--presence-deep)`)}, ${b(e.to,`var(--presence-soft)`)})`},onClick:()=>l(t),"aria-label":e.label,children:[n&&(0,S.jsx)(`img`,{className:`me-img-fill`,src:n,alt:``,loading:`lazy`,decoding:`async`,onError:e=>{e.currentTarget.style.display=`none`}}),(0,S.jsx)(`span`,{className:`me-lb-thumblabel`,children:e.label}),(0,S.jsx)(`span`,{className:`me-lb-expand`,children:(0,S.jsx)(o.external,{})})]},t)})}),p&&c!=null&&(0,S.jsx)(`div`,{className:`me-lb-modal`,onClick:()=>l(null),role:`button`,tabIndex:0,"aria-label":`Close`,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),l(null))},children:(0,S.jsxs)(`div`,{className:`me-lb-stage`,role:`presentation`,onClick:e=>e.stopPropagation(),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&e.stopPropagation()},children:[(0,S.jsxs)(`div`,{className:`me-lb-hero`,style:{background:`linear-gradient(135deg, ${b(p.from,`var(--presence-deep)`)}, ${b(p.to,`var(--presence-soft)`)})`},children:[m&&(0,S.jsx)(`img`,{className:`me-img-fill`,src:m,alt:``,loading:`lazy`,decoding:`async`,onError:e=>{e.currentTarget.style.display=`none`}}),(0,S.jsx)(`span`,{className:`me-lb-herolabel`,children:p.label})]}),(0,S.jsxs)(`div`,{className:`me-lb-bar`,children:[(0,S.jsxs)(`div`,{className:`me-lb-meta`,children:[(0,S.jsx)(`span`,{className:`me-lb-metatitle`,children:p.label}),p.caption&&(0,S.jsx)(`span`,{className:`me-lb-metacap faint`,children:p.caption})]}),(0,S.jsxs)(`span`,{className:`tab-num faint`,children:[c+1,` / `,u]})]}),(0,S.jsx)(`button`,{className:`me-lb-nav left`,onClick:()=>f(c-1),"aria-label":`Previous`,children:(0,S.jsx)(o.chevR,{className:`flip`})}),(0,S.jsx)(`button`,{className:`me-lb-nav right`,onClick:()=>f(c+1),"aria-label":`Next`,children:(0,S.jsx)(o.chevR,{})}),(0,S.jsx)(`button`,{className:`me-lb-close`,onClick:()=>l(null),"aria-label":`Close`,children:(0,S.jsx)(o.x,{})})]})}),(0,S.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},children:i||(0,S.jsxs)(`span`,{className:`faint`,children:[`Click any thumbnail to open the lightbox · `,u,` images`]})})]})}function qe(e){let t={gridColumn:`span ${e.span===2?2:1}`,gridRow:`span ${e.rows===2?2:1}`};return e.kind===`image`?t.background=`linear-gradient(135deg, ${b(e.from)}, ${b(e.to,`var(--presence-soft)`)})`:e.kind===`color`&&(t.background=b(e.swatch)),t}function Je({title:e,icon:t=`layers`,iconColor:n=`var(--presence)`,tiles:r,footer:i,delay:a}){let s=o[t]||o.layers,[c,l]=(0,x.useState)(null);return(0,S.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(a||0)+`ms`},children:[(0,S.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,S.jsx)(s,{className:`ic`,style:{color:n}}),` `,e]}),(0,S.jsx)(`div`,{className:`me-mood`,children:r.map((e,t)=>{let n=d(e.src);return(0,S.jsxs)(`div`,{className:`me-mood-tile k-`+e.kind+(c===t?` lift`:``)+(c!=null&&c!==t?` fade`:``),style:qe(e),onMouseEnter:()=>l(t),onMouseLeave:()=>l(null),children:[e.kind===`image`&&n&&(0,S.jsx)(`img`,{className:`me-img-fill`,src:n,alt:``,loading:`lazy`,decoding:`async`,onError:e=>{e.currentTarget.style.display=`none`}}),e.kind===`text`&&(0,S.jsx)(`span`,{className:`me-mood-text`,children:e.text||e.label}),e.kind===`color`&&(0,S.jsx)(`span`,{className:`me-mood-hex tab-num`,children:e.hex||``}),e.kind===`image`&&e.label&&(0,S.jsx)(`span`,{className:`me-mood-imglabel`,children:e.label})]},t)})}),i&&(0,S.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},children:i})]})}function Ye({title:e,icon:t=`image`,iconColor:n=`var(--presence)`,swatches:r,footer:i,delay:a}){let s=o[t]||o.image,[c,l]=(0,x.useState)(null),[u,d]=(0,x.useState)(null);y(()=>l(null),c===null?null:900),y(()=>d(null),u?1400:null);let f=(e,t)=>{l(e);let n=window;typeof n.toast==`function`?n.toast(`Copied ${t}`):(navigator.clipboard?.writeText(t).catch(()=>{}),d(`Copied ${t}`))};return(0,S.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(a||0)+`ms`},children:[(0,S.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,S.jsx)(s,{className:`ic`,style:{color:n}}),` `,e]}),(0,S.jsx)(`div`,{className:`me-pal`,children:r.map((e,t)=>(0,S.jsxs)(`button`,{className:`me-pal-swatch`+(e.light?` light`:``)+(c===t?` copied`:``),style:{background:e.hex},onClick:()=>f(t,e.hex),title:`Copy ${e.hex}`,children:[(0,S.jsxs)(`span`,{className:`me-pal-top`,children:[e.contrast&&(0,S.jsx)(`span`,{className:`me-pal-contrast`,children:e.contrast}),(0,S.jsx)(`span`,{className:`me-pal-copyicon`,children:c===t?(0,S.jsx)(o.check,{}):(0,S.jsx)(o.layers,{})})]}),(0,S.jsxs)(`span`,{className:`me-pal-meta`,children:[(0,S.jsx)(`span`,{className:`me-pal-name`,children:e.name}),(0,S.jsx)(`span`,{className:`me-pal-hex tab-num`,children:c===t?`Copied`:e.hex})]})]},t))}),u&&(0,S.jsxs)(`div`,{className:`me-pal-toast`,children:[(0,S.jsx)(o.check,{}),` `,u]}),(0,S.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},children:i||(0,S.jsx)(`span`,{className:`faint`,children:`Click a swatch to copy its hex`})})]})}var Xe=6e3,Ze=80,Qe=20,$e=new Set(`svg.g.defs.title.desc.path.rect.circle.ellipse.line.polyline.polygon.text.tspan.textpath.lineargradient.radialgradient.stop.clippath.mask.pattern.marker.symbol.use.filter.fegaussianblur.feoffset.feblend.fecolormatrix.fecomposite.feflood.femerge.femergenode.femorphology.fedropshadow.fecomponenttransfer.fefuncr.fefuncg.fefuncb.fefunca.fedisplacementmap.feturbulence.fetile.fespecularlighting.fediffuselighting.fepointlight.fespotlight.fedistantlight`.split(`.`)),et=new Set([`href`,`xlink:href`,`src`]),tt=/url\(\s*['"]?\s*(?!#)/i,nt=/javascript:/i,rt=/expression\s*\(|@import|behavior\s*:|-moz-binding/i,it=new Set([`fill`,`stroke`,`stop-color`,`flood-color`,`lighting-color`]),at=new Set([`var(--presence)`,`var(--insight)`,`var(--warning)`,`var(--danger)`,`var(--text-primary)`,`var(--text-secondary)`,`var(--text-muted)`,`var(--surface-card)`]),ot=new Set([`none`,`currentcolor`,`transparent`,`context-fill`,`context-stroke`]),st=/^url\(#[\w-]+\)$/,ct=/\b(?:fill|stroke|color|stop-color)\s*:\s*(?!var\(--)[^;]+/i,lt=9.5,ut=640,dt=440,ft=16,pt=/^\s*([\d.]+)(?:px)?\s*$/,mt=/^\s*font-size\s*:/i;function ht(e){let t=e.trim();return at.has(t)||ot.has(t.toLowerCase())||st.test(t)}function gt(e,t){if(e===`fill`){let e=t.localName.toLowerCase();return e===`text`||e===`tspan`?`var(--text-primary)`:`var(--surface-card)`}return`var(--text-secondary)`}function _t(e){let t=e?.split(`;`).find(e=>mt.test(e));return t?t.slice(t.indexOf(`:`)+1):null}function vt(e){for(let t=e;t;t=t.parentElement){let e=_t(t.getAttribute(`style`))??t.getAttribute(`font-size`);if(e==null)continue;let n=pt.exec(e);return n?Number(n[1]):null}return ft}function yt(e,t,n){let r=lt*Math.max(t/ut,n/dt);for(let t of Array.from(e.querySelectorAll(`text, tspan`))){let e=vt(t);if(e===null||e>=r)continue;t.setAttribute(`font-size`,String(Math.round(r*100)/100));let n=t.getAttribute(`style`);if(n===null)continue;let i=n.split(`;`).filter(e=>e.trim()&&!mt.test(e));i.length?t.setAttribute(`style`,i.join(`;`)):t.removeAttribute(`style`)}}function bt(e){if(typeof e!=`string`)return null;let t=e.trim();if(!t||t.length>Xe||/<!doctype|<!entity/i.test(t)||typeof DOMParser>`u`||typeof XMLSerializer>`u`)return null;let n;try{n=new DOMParser().parseFromString(t,`image/svg+xml`)}catch{return null}if(n.getElementsByTagName(`parsererror`).length>0)return null;let r=n.documentElement;if(!r||r.localName.toLowerCase()!==`svg`||(xt(r),r.getElementsByTagName(`*`).length>Ze)||r.getElementsByTagName(`text`).length>Qe)return null;let i=r.getAttribute(`viewBox`);if(!i)return null;let a=i.trim().split(/[\s,]+/).map(Number);if(a.length!==4||a.some(e=>!Number.isFinite(e))||a[2]<=0||a[3]<=0)return null;yt(r,a[2],a[3]),r.removeAttribute(`width`),r.removeAttribute(`height`),r.setAttribute(`width`,`100%`),r.getAttribute(`xmlns`)||r.setAttribute(`xmlns`,`http://www.w3.org/2000/svg`);try{return new XMLSerializer().serializeToString(r)}catch{return null}}function xt(e){for(let t of Array.from(e.attributes)){let n=t.name.toLowerCase(),r=t.value;if(n.startsWith(`on`)){e.removeAttribute(t.name);continue}if(et.has(n)||n.endsWith(`:href`)){r.trim().startsWith(`#`)||e.removeAttribute(t.name);continue}if(it.has(n)){ht(r)||e.setAttribute(t.name,gt(n,e));continue}if(n===`style`){(tt.test(r)||nt.test(r)||rt.test(r)||ct.test(r))&&e.removeAttribute(t.name);continue}(nt.test(r)||tt.test(r))&&e.removeAttribute(t.name)}for(let t of Array.from(e.childNodes)){let n=t.nodeType;if(n===1){let e=t;$e.has(e.localName.toLowerCase())?xt(e):e.remove()}else(n===7||n===8)&&e.removeChild(t)}}function St({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,svg:r,caption:i,footer:a,delay:c}){let l=o[t]||o.sparkle,u=(0,x.useMemo)(()=>bt(r),[r]);return(0,S.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(c||0)+`ms`},children:[(0,S.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,S.jsx)(l,{className:`ic`,style:{color:n}}),(0,S.jsx)(`span`,{className:`svgb-title`,children:e}),(0,S.jsxs)(`span`,{className:`svgb-badge`,children:[(0,S.jsx)(o.sparkle,{}),` Generated`]})]}),u===null?(0,S.jsx)(`p`,{className:`svgb-err`,children:`Couldn’t render this illustration.`}):(0,S.jsx)(`div`,{className:`svgb-wrap`,children:(0,S.jsx)(`div`,{className:`svgb-inner`,role:`img`,"aria-label":e,dangerouslySetInnerHTML:{__html:u}})}),i&&(0,S.jsx)(`p`,{className:`svgb-caption`,children:i}),u!==null&&(0,S.jsxs)(`p`,{className:`svgb-disclaimer`,role:`note`,children:[(0,S.jsx)(o.alert,{"aria-hidden":`true`}),(0,S.jsxs)(`span`,{children:[(0,S.jsx)(`strong`,{children:`AI-generated visual.`}),` It may be inaccurate or entirely wrong, including its labels, scale, relationships, or depictions. Verify important details with authoritative sources; do not treat it as evidence.`]})]}),a&&(0,S.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:s(a)})]})}var Ct={soccer:{viewBox:`0 0 100 65`,bg:`#2d7a3a`,aspectRatio:65/100,markings:`
2
- <rect x="0" y="0" width="100" height="65" fill="#2d7a3a"/>
3
- <rect x="1" y="1" width="98" height="63" fill="none" stroke="rgba(255,255,255,0.7)" stroke-width="0.6"/>
4
- <line x1="50" y1="1" x2="50" y2="64" stroke="rgba(255,255,255,0.5)" stroke-width="0.5"/>
5
- <circle cx="50" cy="32.5" r="9.15" fill="none" stroke="rgba(255,255,255,0.5)" stroke-width="0.5"/>
6
- <circle cx="50" cy="32.5" r="0.5" fill="rgba(255,255,255,0.7)"/>
7
- <rect x="1" y="20.25" width="16" height="24.5" fill="none" stroke="rgba(255,255,255,0.5)" stroke-width="0.5"/>
8
- <rect x="83" y="20.25" width="16" height="24.5" fill="none" stroke="rgba(255,255,255,0.5)" stroke-width="0.5"/>
9
- <rect x="1" y="26.5" width="5.5" height="12" fill="none" stroke="rgba(255,255,255,0.4)" stroke-width="0.4"/>
10
- <rect x="93.5" y="26.5" width="5.5" height="12" fill="none" stroke="rgba(255,255,255,0.4)" stroke-width="0.4"/>
11
- `},basketball:{viewBox:`0 0 100 55`,bg:`#c45c2a`,aspectRatio:55/100,markings:`
12
- <rect x="0" y="0" width="100" height="55" fill="#c45c2a"/>
13
- <rect x="1" y="1" width="98" height="53" fill="none" stroke="rgba(255,255,255,0.7)" stroke-width="0.6"/>
14
- <line x1="50" y1="1" x2="50" y2="54" stroke="rgba(255,255,255,0.5)" stroke-width="0.5"/>
15
- <circle cx="50" cy="27.5" r="6" fill="none" stroke="rgba(255,255,255,0.5)" stroke-width="0.5"/>
16
- <circle cx="50" cy="27.5" r="0.5" fill="rgba(255,255,255,0.7)"/>
17
- <rect x="1" y="12" width="19" height="31" fill="none" stroke="rgba(255,255,255,0.5)" stroke-width="0.5"/>
18
- <rect x="80" y="12" width="19" height="31" fill="none" stroke="rgba(255,255,255,0.5)" stroke-width="0.5"/>
19
- <circle cx="19" cy="27.5" r="6" fill="none" stroke="rgba(255,255,255,0.4)" stroke-width="0.4" stroke-dasharray="2,2"/>
20
- <circle cx="81" cy="27.5" r="6" fill="none" stroke="rgba(255,255,255,0.4)" stroke-width="0.4" stroke-dasharray="2,2"/>
21
- `},football:{viewBox:`0 0 100 55`,bg:`#3d7a44`,aspectRatio:55/100,markings:`
22
- <rect x="0" y="0" width="100" height="55" fill="#3d7a44"/>
23
- <rect x="1" y="1" width="98" height="53" fill="none" stroke="rgba(255,255,255,0.7)" stroke-width="0.6"/>
24
- <rect x="1" y="1" width="10" height="53" fill="rgba(255,255,255,0.06)"/>
25
- <rect x="89" y="1" width="10" height="53" fill="rgba(255,255,255,0.06)"/>
26
- ${Array.from({length:10},(e,t)=>`<line x1="${11+t*8}" y1="1" x2="${11+t*8}" y2="54" stroke="rgba(255,255,255,0.35)" stroke-width="0.4"/>`).join(``)}
27
- <line x1="50" y1="1" x2="50" y2="54" stroke="rgba(255,255,255,0.5)" stroke-width="0.6"/>
28
- `},tennis:{viewBox:`0 0 100 55`,bg:`#6aaa55`,aspectRatio:55/100,markings:`
29
- <rect x="0" y="0" width="100" height="55" fill="#6aaa55"/>
30
- <rect x="5" y="5" width="90" height="45" fill="none" stroke="rgba(255,255,255,0.8)" stroke-width="0.7"/>
31
- <line x1="50" y1="5" x2="50" y2="50" stroke="rgba(255,255,255,0.7)" stroke-width="0.6"/>
32
- <line x1="5" y1="27.5" x2="95" y2="27.5" stroke="rgba(255,255,255,0.7)" stroke-width="0.6"/>
33
- <rect x="5" y="13.5" width="90" height="28" fill="none" stroke="rgba(255,255,255,0.5)" stroke-width="0.4"/>
34
- <line x1="50" y1="1" x2="50" y2="5" stroke="rgba(255,255,255,0.7)" stroke-width="0.6"/>
35
- <line x1="50" y1="50" x2="50" y2="54" stroke="rgba(255,255,255,0.7)" stroke-width="0.6"/>
36
- `},baseball:{viewBox:`0 0 100 90`,bg:`#5a8a3a`,aspectRatio:90/100,markings:`
37
- <rect x="0" y="0" width="100" height="90" fill="#5a8a3a"/>
38
- <path d="M50 85 L5 85 L5 40 Q50 5 95 40 L95 85 Z" fill="rgba(200,160,80,0.3)" stroke="rgba(255,255,255,0.5)" stroke-width="0.5"/>
39
- <rect x="42" y="77" width="16" height="8" fill="rgba(200,160,80,0.5)" stroke="rgba(255,255,255,0.5)" stroke-width="0.4"/>
40
- <circle cx="50" cy="50" r="3" fill="rgba(255,255,255,0.6)"/>
41
- <circle cx="20" cy="60" r="3" fill="rgba(255,255,255,0.6)"/>
42
- <circle cx="80" cy="60" r="3" fill="rgba(255,255,255,0.6)"/>
43
- <circle cx="50" cy="30" r="3" fill="rgba(255,255,255,0.6)"/>
44
- <line x1="50" y1="50" x2="20" y2="60" stroke="rgba(255,255,255,0.3)" stroke-width="0.4"/>
45
- <line x1="20" y1="60" x2="50" y2="30" stroke="rgba(255,255,255,0.3)" stroke-width="0.4"/>
46
- <line x1="50" y1="30" x2="80" y2="60" stroke="rgba(255,255,255,0.3)" stroke-width="0.4"/>
47
- <line x1="80" y1="60" x2="50" y2="50" stroke="rgba(255,255,255,0.3)" stroke-width="0.4"/>
48
- `}},wt={pass:`#fff`,run:`#ffdd55`,shot:`#ff6644`};function Tt(e){let t=Math.max(0,e.length-2);return Math.max(1.6,2.8-t*.6)}var Et=1.1,Dt=22;function Ot(e){let t=Math.max(3,Math.floor(Dt/Et));return e.length>t?e.slice(0,19).trimEnd()+`…`:e}function kt({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,sport:r,positions:i,plays:a,footer:c,delay:l}){let u=o[t]||o.chart,d=(0,x.useId)().replace(/:/g,``),f=Ct[r]??Ct.soccer;return(0,S.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(l||0)+`ms`},children:[(0,S.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,S.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,S.jsx)(`div`,{className:`sp-wrap`,children:(0,S.jsxs)(`svg`,{viewBox:f.viewBox,width:`100%`,style:{display:`block`,borderRadius:6,overflow:`hidden`},"aria-hidden":`true`,children:[(0,S.jsx)(`g`,{dangerouslySetInnerHTML:{__html:f.markings}}),a?.map((e,t)=>{let[n,r]=e.from,[i,a]=e.to,o=wt[e.kind??`pass`],s=e.kind===`run`?`2,2`:void 0,c=e.kind===`shot`?1.2:.8;return(0,S.jsxs)(`g`,{children:[(0,S.jsx)(`defs`,{children:(0,S.jsx)(`marker`,{id:`sp-arr-${d}-${t}`,markerWidth:`4`,markerHeight:`4`,refX:`3`,refY:`2`,orient:`auto`,children:(0,S.jsx)(`path`,{d:`M0,0 L0,4 L4,2 Z`,fill:o})})}),(0,S.jsx)(`line`,{x1:n,y1:r,x2:i,y2:a,stroke:o,strokeWidth:c,strokeDasharray:s,markerEnd:`url(#sp-arr-${d}-${t})`,strokeOpacity:.85})]},t)}),i?.map((e,t)=>(0,S.jsxs)(`g`,{children:[(0,S.jsx)(`circle`,{cx:e.x,cy:e.y,r:`3.5`,fill:`rgba(255,255,255,0.9)`,stroke:`rgba(0,0,0,0.4)`,strokeWidth:`0.5`}),(0,S.jsxs)(`text`,{x:e.x,y:e.y+.5,textAnchor:`middle`,dominantBaseline:`middle`,fontSize:Tt(e.label),fontWeight:`700`,fill:`#1a1a1a`,children:[e.label,e.label.length>2&&(0,S.jsx)(`title`,{children:e.label})]}),e.name&&(0,S.jsxs)(`text`,{x:e.x,y:e.y+6,textAnchor:`middle`,fontSize:`2`,fill:`rgba(255,255,255,0.8)`,children:[Ot(e.name),e.name.length>Ot(e.name).length&&(0,S.jsx)(`title`,{children:e.name})]})]},t))]})}),c&&(0,S.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:s(c)})]})}var At=[`rgba(var(--presence-rgb,99,102,241),0.08)`,`rgba(var(--insight-rgb,16,185,129),0.06)`,`rgba(var(--warning-rgb,245,158,11),0.06)`,`rgba(99,102,241,0.04)`,`rgba(16,185,129,0.04)`,`rgba(245,158,11,0.04)`],jt=.62;function Mt(e,t,n){let r=Math.max(3,Math.floor(t/(n*jt)));return e.length>r?e.slice(0,r-1).trimEnd()+`…`:e}var Nt=2.4;function Pt({title:e,icon:t=`layers`,iconColor:n=`var(--presence)`,rooms:r,scale:i,footer:a,delay:c}){let l=o[t]||o.layers;return(0,S.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(c||0)+`ms`},children:[(0,S.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,S.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,S.jsx)(`div`,{className:`fp-wrap`,children:(0,S.jsxs)(`svg`,{viewBox:`0 0 100 100`,width:`100%`,style:{display:`block`,borderRadius:6,overflow:`hidden`},"aria-label":e,children:[(0,S.jsx)(`rect`,{width:`100`,height:`100`,fill:`var(--surface-glass, #f8f8f8)`}),r.map((e,t)=>{let n=At[t%At.length],r=e.x+e.w/2,i=e.y+e.h/2,a=Math.max(0,e.w-2),o=Math.min(e.w,e.h)<14?2.5:3,s=Mt(e.name,a,o),c=s!==e.name,l=e.note&&Mt(e.note,a,Nt);return(0,S.jsxs)(`g`,{children:[(0,S.jsx)(`rect`,{className:`fp-room-rect`,x:e.x,y:e.y,width:e.w,height:e.h,fill:n,stroke:`var(--line, #ccc)`,strokeWidth:`0.8`}),(0,S.jsxs)(`text`,{className:`fp-room-name`,x:r,y:i-(e.note?1.5:0),textAnchor:`middle`,dominantBaseline:`middle`,fontSize:o,fontWeight:`600`,fill:`var(--text-primary, #111)`,children:[c&&(0,S.jsx)(`title`,{children:e.name}),s]}),e.note&&(0,S.jsxs)(`text`,{className:`fp-room-note`,x:r,y:i+4,textAnchor:`middle`,dominantBaseline:`middle`,fontSize:Nt,fill:`var(--text-muted, #888)`,children:[l!==e.note&&(0,S.jsx)(`title`,{children:e.note}),l]})]},t)})]})}),i&&(0,S.jsx)(`div`,{className:`fp-scale`,children:i}),a&&(0,S.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:s(a)})]})}function Ft({title:e,icon:t=`play`,iconColor:n=`var(--presence)`,cover:r,year:i,runtime:a,rating:c,score:l,genres:u,logline:f,providers:p,footer:m,delay:h}){let g=o[t]||o.play,_=b(r?.from,`var(--presence-deep)`),v=b(r?.to,`var(--presence-soft)`),y=d(r?.src),x=typeof l==`number`?Math.max(0,Math.min(100,Math.round(l))):null,C=x==null?`var(--text-muted)`:x>=75?`var(--insight)`:x>=55?`var(--warning)`:`var(--text-muted)`,w=[i,a,c].filter(Boolean),T=u??[],E=p??[];return(0,S.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(h||0)+`ms`},children:[(0,S.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,S.jsx)(g,{className:`ic`,style:{color:n}}),` `,e]}),(0,S.jsxs)(`div`,{className:`mc-body`,children:[(0,S.jsxs)(`div`,{className:`mc-cover`,style:{background:`linear-gradient(150deg, ${_}, ${v})`},children:[y&&(0,S.jsx)(`img`,{className:`me-img-fill`,src:y,alt:``,loading:`lazy`,decoding:`async`,referrerPolicy:`no-referrer`,onError:e=>{e.currentTarget.style.display=`none`}}),x!=null&&(0,S.jsxs)(`span`,{className:`mc-score`,style:{"--mc-sc":C},children:[(0,S.jsx)(`span`,{className:`mc-score-val tab-num`,children:x}),(0,S.jsx)(`span`,{className:`mc-score-unit`,children:`/100`})]})]}),(0,S.jsxs)(`div`,{className:`mc-main`,children:[w.length>0&&(0,S.jsx)(`div`,{className:`mc-meta`,children:w.map((e,t)=>(0,S.jsx)(`span`,{className:`mc-chip`,children:e},t))}),f&&(0,S.jsx)(`p`,{className:`mc-logline`,children:f}),T.length>0&&(0,S.jsx)(`div`,{className:`mc-genres`,children:T.map((e,t)=>(0,S.jsx)(`span`,{className:`mc-genre`,children:e},t))}),E.length>0&&(0,S.jsxs)(`div`,{className:`mc-where`,children:[(0,S.jsxs)(`span`,{className:`mc-where-h`,children:[(0,S.jsx)(o.play,{className:`ic mc-where-ic`}),` Where to watch`]}),(0,S.jsx)(`div`,{className:`mc-providers`,children:E.map((e,t)=>(0,S.jsx)(`span`,{className:`mc-provider`,children:e},t))})]})]})]}),m&&(0,S.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:s(m)})]})}var It=200,Lt=130;function Rt({title:e,icon:t=`edit`,iconColor:n=`var(--presence)`,outline:r,dimensions:i,tolerance:a,titleBlock:c,caption:l,footer:u,delay:d}){let f=o[t]||o.edit,p=`med-dim-arrow-${(0,x.useId)().replace(/:/g,``)}`,h=[],g=[];for(let e of r)h.push(e.x),g.push(e.y);for(let e of i)h.push(e.from[0],e.to[0]),g.push(e.from[1],e.to[1]);let _=m(h),v=m(g),[y,b]=_??[0,1],[C,w]=v??[0,1],T=b-y||1,E=w-C||1,D=Math.min(140/T,70/E),O=T*D,k=E*D,A=(It-O)/2,j=(Lt-k)/2,M=e=>A+(e-y)*D,N=e=>j+(w-e)*D,P=r.length>=3?r.map((e,t)=>`${t===0?`M`:`L`}${M(e.x)},${N(e.y)}`).join(` `)+` Z`:``;return(0,S.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(d||0)+`ms`},children:[e&&(0,S.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,S.jsx)(f,{className:`ic`,style:{color:n}}),` `,e]}),(0,S.jsx)(`div`,{className:`dim-wrap`,children:(0,S.jsxs)(`svg`,{viewBox:`0 0 ${It} ${Lt}`,className:`dim-svg`,role:`img`,"aria-label":e,children:[(0,S.jsx)(`defs`,{children:(0,S.jsx)(`marker`,{id:p,viewBox:`0 0 10 10`,refX:`9`,refY:`5`,markerWidth:`7`,markerHeight:`7`,orient:`auto-start-reverse`,children:(0,S.jsx)(`path`,{d:`M0,0 L10,5 L0,10 z`,fill:`context-stroke`})})}),(0,S.jsx)(`path`,{d:P,className:`dim-part`,"data-mark":`circle`}),i.map((e,t)=>(0,S.jsx)(zt,{d:e,tx:M,ty:N,k:D,arrowId:p},t))]})}),(c||a)&&(0,S.jsxs)(`div`,{className:`dim-block`,children:[c?.part&&(0,S.jsxs)(`div`,{className:`dim-block-cell`,children:[(0,S.jsx)(`span`,{className:`dim-block-k`,children:`Part`}),(0,S.jsx)(`span`,{className:`dim-block-v`,children:c.part})]}),c?.scale&&(0,S.jsxs)(`div`,{className:`dim-block-cell`,children:[(0,S.jsx)(`span`,{className:`dim-block-k`,children:`Scale`}),(0,S.jsx)(`span`,{className:`dim-block-v`,children:c.scale})]}),c?.units&&(0,S.jsxs)(`div`,{className:`dim-block-cell`,children:[(0,S.jsx)(`span`,{className:`dim-block-k`,children:`Units`}),(0,S.jsx)(`span`,{className:`dim-block-v`,children:c.units})]}),a&&(0,S.jsxs)(`div`,{className:`dim-block-cell dim-block-tol`,children:[(0,S.jsx)(`span`,{className:`dim-block-k`,children:`Tol`}),(0,S.jsx)(`span`,{className:`dim-block-v`,children:a})]})]}),l&&(0,S.jsx)(`div`,{className:`dim-caption`,children:l}),u&&(0,S.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:s(u)})]})}function zt(e){let t=(0,N.c)(66),{d:n,tx:r,ty:i,k:a,arrowId:o}=e,[s,c]=n.from,[l,u]=n.to,d=Math.abs(l-s)>=Math.abs(u-c),f=(n.offset??10)*a,p;t[0]!==s||t[1]!==r?(p=r(s),t[0]=s,t[1]=r,t[2]=p):p=t[2];let m;t[3]!==c||t[4]!==i?(m=i(c),t[3]=c,t[4]=i,t[5]=m):m=t[5];let h;t[6]!==p||t[7]!==m?(h={x:p,y:m},t[6]=p,t[7]=m,t[8]=h):h=t[8];let g=h,_;t[9]!==l||t[10]!==r?(_=r(l),t[9]=l,t[10]=r,t[11]=_):_=t[11];let v;t[12]!==u||t[13]!==i?(v=i(u),t[12]=u,t[13]=i,t[14]=v):v=t[14];let y;t[15]!==_||t[16]!==v?(y={x:_,y:v},t[15]=_,t[16]=v,t[17]=y):y=t[17];let b=y,x,C,w;if(d){let e;t[18]===f?e=t[19]:(e=Math.abs(f),t[18]=f,t[19]=e);let n=-e,r=Math.min(g.y,b.y)+n,i;t[20]!==g.x||t[21]!==r?(i={x:g.x,y:r},t[20]=g.x,t[21]=r,t[22]=i):i=t[22],x=i;let a=Math.min(g.y,b.y)+n,o;t[23]!==b.x||t[24]!==a?(o={x:b.x,y:a},t[23]=b.x,t[24]=a,t[25]=o):o=t[25],C=o;let s=(x.x+C.x)/2,c=x.y-2,l;t[26]!==s||t[27]!==c?(l={x:s,y:c},t[26]=s,t[27]=c,t[28]=l):l=t[28],w=l}else{let e=Math.abs(f),n=Math.max(g.x,b.x)+e,r;t[29]!==g.y||t[30]!==n?(r={x:n,y:g.y},t[29]=g.y,t[30]=n,t[31]=r):r=t[31],x=r;let i=Math.max(g.x,b.x)+e,a;t[32]!==b.y||t[33]!==i?(a={x:i,y:b.y},t[32]=b.y,t[33]=i,t[34]=a):a=t[34],C=a;let o=x.x+3,s=(x.y+C.y)/2,c;t[35]!==o||t[36]!==s?(c={x:o,y:s},t[35]=o,t[36]=s,t[37]=c):c=t[37],w=c}let T=n.label.length*3/2,E=d?`middle`:`start`,D=w.x;d?D=Math.min(Math.max(w.x,T+2),It-T-2):w.x+n.label.length*3>198&&(D=x.x-3);let O=!d&&D!==w.x?`end`:E,k;t[38]!==x.x||t[39]!==x.y||t[40]!==g.x||t[41]!==g.y?(k=(0,S.jsx)(`line`,{x1:g.x,y1:g.y,x2:x.x,y2:x.y,className:`dim-ext`}),t[38]=x.x,t[39]=x.y,t[40]=g.x,t[41]=g.y,t[42]=k):k=t[42];let A;t[43]!==C.x||t[44]!==C.y||t[45]!==b.x||t[46]!==b.y?(A=(0,S.jsx)(`line`,{x1:b.x,y1:b.y,x2:C.x,y2:C.y,className:`dim-ext`}),t[43]=C.x,t[44]=C.y,t[45]=b.x,t[46]=b.y,t[47]=A):A=t[47];let j=`url(#${o})`,M=`url(#${o})`,P;t[48]!==x.x||t[49]!==x.y||t[50]!==C.x||t[51]!==C.y||t[52]!==M||t[53]!==j?(P=(0,S.jsx)(`line`,{x1:x.x,y1:x.y,x2:C.x,y2:C.y,className:`dim-line`,markerStart:j,markerEnd:M}),t[48]=x.x,t[49]=x.y,t[50]=C.x,t[51]=C.y,t[52]=M,t[53]=j,t[54]=P):P=t[54];let F=d?`auto`:`middle`,I;t[55]!==n.label||t[56]!==O||t[57]!==w.y||t[58]!==F||t[59]!==D?(I=(0,S.jsx)(`text`,{x:D,y:w.y,className:`dim-text`,textAnchor:O,dominantBaseline:F,children:n.label}),t[55]=n.label,t[56]=O,t[57]=w.y,t[58]=F,t[59]=D,t[60]=I):I=t[60];let L;return t[61]!==P||t[62]!==I||t[63]!==k||t[64]!==A?(L=(0,S.jsxs)(`g`,{children:[k,A,P,I]}),t[61]=P,t[62]=I,t[63]=k,t[64]=A,t[65]=L):L=t[65],L}var Bt=100,Vt=150;function Ht({title:e,icon:t=`layers`,iconColor:n=`var(--presence)`,parts:r,axis:i=`vertical`,caption:a,footer:c,delay:l}){let u=o[t]||o.layers,d=i===`diagonal`,f=Math.max(1,r.length),p=f>1?122/(f-1):0,m=d?36:50,h=d?26/Math.max(1,f-1):0,g=d?34:46,_=Math.min(16,(p||24)*.62),v=Math.max(3.2,Math.min(6.4,(p||24)*.4));return(0,S.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(l||0)+`ms`},children:[e&&(0,S.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,S.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,S.jsxs)(`div`,{className:`exp-wrap`,children:[(0,S.jsx)(`div`,{className:`exp-fig`,children:(0,S.jsxs)(`svg`,{viewBox:`0 0 ${Bt} ${Vt}`,className:`exp-svg`,role:`img`,"aria-label":e,children:[(0,S.jsx)(`line`,{x1:m+0,y1:14,x2:m+h*(f-1),y2:136,className:`exp-axis`}),r.map((e,t)=>{let n=14+p*t,r=m+h*t,i=r-g/2,a=n-_/2;return(0,S.jsxs)(`g`,{children:[(0,S.jsx)(`line`,{x1:r,y1:n,x2:i-6,y2:n,className:`exp-leader`}),(0,S.jsx)(`rect`,{x:i,y:a,width:g,height:_,rx:2,className:`exp-plate`,...t===0?{"data-mark":`circle`}:{}}),(0,S.jsx)(`line`,{x1:i,y1:a+_*.34,x2:i+g,y2:a+_*.34,className:`exp-plate-line`}),(0,S.jsx)(`circle`,{cx:r,cy:n,r:1.4,className:`exp-node`}),(0,S.jsx)(`circle`,{cx:i-11,cy:n,r:v,className:`exp-balloon`}),(0,S.jsx)(`text`,{x:i-11,y:n,className:`exp-balloon-num`,style:{fontSize:Math.min(6,v*.94)},children:e.n})]},t)})]})}),(0,S.jsx)(`ol`,{className:`exp-list`,children:r.map((e,t)=>(0,S.jsxs)(`li`,{className:`exp-row`,children:[(0,S.jsx)(`span`,{className:`exp-row-n`,children:e.n}),(0,S.jsx)(`span`,{className:`exp-row-name`,children:e.name}),e.qty!=null&&e.qty>1&&(0,S.jsxs)(`span`,{className:`exp-row-qty`,children:[`×`,e.qty]})]},t))})]}),a&&(0,S.jsx)(`div`,{className:`exp-caption`,children:a}),c&&(0,S.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:s(c)})]})}var Ut={fillet:`Fillet joint (tee)`,groove:`V-groove joint`,lap:`Lap joint`,butt:`Butt joint`,tee:`Tee joint`},Wt=6,Gt=.8,Kt=134,qt=30,Jt=46,Yt=.3,Xt=118;function Zt(e){let t=Wt*Gt,n=Math.max(2,Math.floor((Jt*.7-2)/t)),r=e.length>n?e.slice(0,5).trimEnd()+`…`:e,i=r.length*t,a=Math.min(Jt,Math.max(qt,(i+2)/.7)),o=Kt-a;return{text:r,full:e,x:o,textX:o+a*Yt+i/2}}function Qt({title:e,icon:t=`edit`,iconColor:n=`var(--presence)`,joint:r,side:i=`arrow`,size:a,length:c,pitch:l,process:u,caption:d,footer:f,delay:p}){let m=o[t]||o.edit,h=`wld-ah-${(0,x.useId)().replace(/:/g,``)}`,g=c&&l?`${c}-${l}`:c??``,_=i===`arrow`||i===`both`,v=i===`other`||i===`both`,y=u?Zt(u):null;return(0,S.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(p||0)+`ms`},children:[e&&(0,S.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,S.jsx)(m,{className:`ic`,style:{color:n}}),` `,e]}),(0,S.jsx)(`div`,{className:`wld-wrap`,children:(0,S.jsxs)(`div`,{className:`wld-grid`,children:[(0,S.jsxs)(`div`,{className:`wld-cell`,children:[(0,S.jsx)(`svg`,{viewBox:`0 0 100 80`,className:`wld-svg`,role:`img`,"aria-label":Ut[r],children:(0,S.jsx)($t,{joint:r})}),(0,S.jsx)(`div`,{className:`wld-cap`,children:Ut[r]})]}),(0,S.jsxs)(`div`,{className:`wld-cell`,children:[(0,S.jsxs)(`svg`,{viewBox:`0 0 140 80`,className:`wld-svg`,role:`img`,"aria-label":`AWS weld symbol`,children:[(0,S.jsx)(`defs`,{children:(0,S.jsx)(`marker`,{id:h,viewBox:`0 0 10 10`,refX:`8`,refY:`5`,markerWidth:`6`,markerHeight:`6`,orient:`auto-start-reverse`,children:(0,S.jsx)(`path`,{d:`M0,0 L10,5 L0,10 z`,fill:`context-stroke`})})}),(0,S.jsx)(`line`,{x1:`6`,y1:`64`,x2:`34`,y2:`40`,className:`wld-arrow`,markerEnd:`url(#${h})`}),(0,S.jsx)(`line`,{x1:`34`,y1:`40`,x2:y?y.x:Xt,y2:`40`,className:`wld-ref`,"data-mark":`line`}),y&&(0,S.jsxs)(S.Fragment,{children:[(0,S.jsx)(`line`,{x1:y.x,y1:`40`,x2:Kt,y2:29,className:`wld-ref`}),(0,S.jsx)(`line`,{x1:y.x,y1:`40`,x2:Kt,y2:51,className:`wld-ref`}),(0,S.jsxs)(`text`,{x:y.textX,y:`40`,className:`wld-process`,style:{fontSize:Wt},children:[y.text!==y.full&&(0,S.jsx)(`title`,{children:y.full}),y.text]})]}),_&&(0,S.jsx)(en,{joint:r,side:`below`}),v&&(0,S.jsx)(en,{joint:r,side:`above`}),a&&(0,S.jsx)(`text`,{x:`44`,y:_?56:30,className:`wld-dim`,children:a}),g&&(0,S.jsx)(`text`,{x:`78`,y:_?56:30,className:`wld-dim`,children:g})]}),(0,S.jsx)(`div`,{className:`wld-cap`,children:`AWS weld symbol`})]})]})}),(0,S.jsxs)(`ul`,{className:`wld-legend`,children:[(0,S.jsxs)(`li`,{children:[(0,S.jsx)(`span`,{className:`wld-leg-key`,children:`Arrow`}),(0,S.jsx)(`span`,{className:`wld-leg-val`,children:`points to the joint`})]}),(0,S.jsxs)(`li`,{children:[(0,S.jsx)(`span`,{className:`wld-leg-key`,children:`Reference line`}),(0,S.jsx)(`span`,{className:`wld-leg-val`,children:`below = arrow side, above = other side`})]}),a&&(0,S.jsxs)(`li`,{children:[(0,S.jsx)(`span`,{className:`wld-leg-key`,children:`Size`}),(0,S.jsxs)(`span`,{className:`wld-leg-val`,children:[a,` weld leg / throat`]})]}),g&&(0,S.jsxs)(`li`,{children:[(0,S.jsx)(`span`,{className:`wld-leg-key`,children:`Length-pitch`}),(0,S.jsx)(`span`,{className:`wld-leg-val`,children:c&&l?`${c} long, every ${l} (intermittent)`:`${c} long`})]}),u&&(0,S.jsxs)(`li`,{children:[(0,S.jsx)(`span`,{className:`wld-leg-key`,children:`Tail`}),(0,S.jsxs)(`span`,{className:`wld-leg-val`,children:[u,` process`]})]})]}),d&&(0,S.jsx)(`div`,{className:`wld-caption`,children:d}),f&&(0,S.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:s(f)})]})}function $t(e){let t=(0,N.c)(4),{joint:n}=e;switch(n){case`fillet`:case`tee`:{let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,S.jsxs)(`g`,{children:[(0,S.jsx)(`rect`,{x:`44`,y:`8`,width:`12`,height:`44`,className:`wld-metal`}),(0,S.jsx)(`rect`,{x:`14`,y:`52`,width:`72`,height:`14`,className:`wld-metal`}),(0,S.jsx)(`path`,{d:`M44,52 L44,38 L30,52 Z`,className:`wld-weld`}),(0,S.jsx)(`path`,{d:`M56,52 L56,38 L70,52 Z`,className:`wld-weld`})]}),t[0]=e):e=t[0],e}case`lap`:{let e;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,S.jsxs)(`g`,{children:[(0,S.jsx)(`rect`,{x:`14`,y:`30`,width:`50`,height:`13`,className:`wld-metal`}),(0,S.jsx)(`rect`,{x:`40`,y:`43`,width:`46`,height:`13`,className:`wld-metal`}),(0,S.jsx)(`path`,{d:`M64,30 L64,43 L51,43 Z`,className:`wld-weld`})]}),t[1]=e):e=t[1],e}case`groove`:{let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,S.jsxs)(`g`,{children:[(0,S.jsx)(`path`,{d:`M14,30 L44,30 L50,52 L14,52 Z`,className:`wld-metal`}),(0,S.jsx)(`path`,{d:`M86,30 L56,30 L50,52 L86,52 Z`,className:`wld-metal`}),(0,S.jsx)(`path`,{d:`M44,30 L56,30 L50,52 Z`,className:`wld-weld`})]}),t[2]=e):e=t[2],e}default:{let e;return t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,S.jsxs)(`g`,{children:[(0,S.jsx)(`rect`,{x:`14`,y:`34`,width:`33`,height:`14`,className:`wld-metal`}),(0,S.jsx)(`rect`,{x:`53`,y:`34`,width:`33`,height:`14`,className:`wld-metal`}),(0,S.jsx)(`rect`,{x:`47`,y:`32`,width:`6`,height:`18`,className:`wld-weld`})]}),t[3]=e):e=t[3],e}}}function en(e){let t=(0,N.c)(4),{joint:n,side:r}=e,i=9*(r===`below`?1:-1);if(n===`groove`||n===`butt`){let e=`M57,40 L64,${40+i} L71,40`,n;return t[0]===e?n=t[1]:(n=(0,S.jsx)(`path`,{d:e,className:`wld-glyph`,fill:`none`}),t[0]=e,t[1]=n),n}let a=`M57,40 L57,${40+i} L69,40 Z`,o;return t[2]===a?o=t[3]:(o=(0,S.jsx)(`path`,{d:a,className:`wld-glyph`}),t[2]=a,t[3]=o),o}var tn=[`color-mix(in oklab, var(--presence) 14%, transparent)`,`color-mix(in oklab, var(--insight) 14%, transparent)`,`color-mix(in oklab, var(--warning) 16%, transparent)`,`color-mix(in oklab, var(--presence) 8%, transparent)`,`color-mix(in oklab, var(--insight) 8%, transparent)`],nn=[`var(--presence)`,`var(--insight)`,`var(--warning)`,`var(--presence-soft)`,`var(--insight-soft)`],rn=.6;function an(e,t,n){let r=Math.max(3,Math.floor(t/(n*rn)));return e.length>r?e.slice(0,r-1).trimEnd()+`…`:e}var on=.028,sn=.026,cn=.008;function ln({title:e,icon:t=`layers`,iconColor:n=`var(--presence)`,stock:r,parts:i,unit:a=`mm`,caption:c,footer:u,delay:d}){let f=o[t]||o.layers,p=Math.max(1,r.w),m=Math.max(1,r.h),h=un(i,p,m),g=h.reduce((e,t)=>e+t.w*t.h,0),_=p*m,v=Math.round(g/_*100),y=p*cn,b=p*sn,x=r.label?b*1.4:y,C=p+y*2,w=m+x+y,T=p*on;return(0,S.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(d||0)+`ms`},children:[e&&(0,S.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,S.jsx)(f,{className:`ic`,style:{color:n}}),` `,e]}),(0,S.jsxs)(`div`,{className:`cut-grid`,children:[(0,S.jsxs)(`div`,{className:`cut-tablewrap`,children:[(0,S.jsxs)(`table`,{className:`cut-table`,children:[(0,S.jsx)(`thead`,{children:(0,S.jsxs)(`tr`,{children:[(0,S.jsx)(`th`,{children:`Part`}),(0,S.jsx)(`th`,{className:`cut-num`,children:`Size`}),(0,S.jsx)(`th`,{className:`cut-num`,children:`Qty`})]})}),(0,S.jsx)(`tbody`,{children:i.map((e,t)=>(0,S.jsxs)(`tr`,{children:[(0,S.jsxs)(`td`,{children:[(0,S.jsx)(`span`,{className:`cut-swatch`,style:{background:nn[t%nn.length]}}),(0,S.jsx)(`span`,{className:`cut-label`,children:e.label})]}),(0,S.jsxs)(`td`,{className:`cut-num cut-mono`,children:[l(e.w),` × `,l(e.h)]}),(0,S.jsx)(`td`,{className:`cut-num cut-mono`,children:e.qty})]},t))})]}),(0,S.jsxs)(`div`,{className:`cut-stats`,children:[(0,S.jsxs)(`div`,{className:`cut-stat`,children:[(0,S.jsx)(`span`,{className:`cut-stat-k`,children:`Sheet`}),(0,S.jsxs)(`span`,{className:`cut-stat-v`,children:[l(p),` × `,l(m),` `,a]})]}),(0,S.jsxs)(`div`,{className:`cut-stat`,children:[(0,S.jsx)(`span`,{className:`cut-stat-k`,children:`Yield`}),(0,S.jsxs)(`span`,{className:`cut-stat-v cut-yield`,"data-low":v<60?``:void 0,children:[v,`%`]})]})]})]}),(0,S.jsx)(`div`,{className:`cut-figwrap`,children:(0,S.jsxs)(`svg`,{viewBox:`0 0 ${C} ${w}`,className:`cut-svg`,role:`img`,"aria-label":e,children:[(0,S.jsx)(`rect`,{x:y,y:x,width:p,height:m,className:`cut-sheet`}),h.map((e,t)=>{let n=nn[e.ci%nn.length],r=tn[e.ci%tn.length],i=Math.min(e.w,e.h)<p*.12;return(0,S.jsxs)(`g`,{children:[(0,S.jsx)(`rect`,{x:y+e.x,y:x+e.y,width:e.w,height:e.h,rx:p*.006,fill:r,stroke:n,strokeWidth:p*.0028,...t===0?{"data-mark":`circle`}:{}}),!i&&(()=>{let t=an(e.label,e.w-T*.5,T),n=t!==e.label;return(0,S.jsxs)(`text`,{x:y+e.x+e.w/2,y:x+e.y+e.h/2,textAnchor:`middle`,dominantBaseline:`middle`,className:`cut-piece-lbl`,style:{fontSize:T},children:[n&&(0,S.jsx)(`title`,{children:e.label}),t]})})()]},t)}),r.label&&(()=>{let e=an(r.label,p,b);return(0,S.jsxs)(`text`,{x:y,y:x-b*.3,className:`cut-sheet-lbl`,style:{fontSize:b},children:[e!==r.label&&(0,S.jsx)(`title`,{children:r.label}),e]})})()]})})]}),c&&(0,S.jsx)(`div`,{className:`cut-caption`,children:c}),u&&(0,S.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:s(u)})]})}function un(e,t,n){let r=[],i=t*.008,a=0,o=0,s=0;return e.forEach((e,c)=>{let l=Math.max(1,e.qty);for(let u=0;u<l;u++){if(e.x!=null&&e.y!=null&&u===0){r.push({label:e.label,x:e.x,y:e.y,w:e.w,h:e.h,ci:c}),a=e.x+e.w+i,o=e.y,s=e.h;continue}a+e.w>t&&(a=0,o+=s+i,s=0),!(o+e.h>n||e.w>t)&&(r.push({label:e.label,x:a,y:o,w:e.w,h:e.h,ci:c}),a+=e.w+i,s=Math.max(s,e.h))}}),r}var dn=.9,fn=.56;function pn(e,t,n){let r=Math.max(2,Math.floor(t/(n*fn)));return e.length>r?e.slice(0,r-1).trimEnd()+`…`:e}var mn=[`color-mix(in oklab, var(--presence) 16%, transparent)`,`color-mix(in oklab, var(--insight) 16%, transparent)`,`color-mix(in oklab, var(--warning) 18%, transparent)`,`color-mix(in oklab, var(--presence) 9%, transparent)`,`color-mix(in oklab, var(--insight) 9%, transparent)`],hn=[`var(--presence)`,`var(--insight)`,`var(--warning)`,`var(--presence-soft)`,`var(--insight-soft)`];function gn({title:e,icon:t=`layers`,iconColor:n=`var(--presence)`,room:r,items:i,clearances:a,caption:c,footer:u,delay:d}){let f=o[t]||o.layers,m=r.unit??`m`,h=Math.max(1,r.w),g=Math.max(1,r.d),_=Math.max(h,g)*.06,v=h+_*2,y=g+_*2,b=p(Math.max(h,g),4);return(0,S.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(d||0)+`ms`},children:[e&&(0,S.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,S.jsx)(f,{className:`ic`,style:{color:n}}),` `,e]}),(0,S.jsx)(`div`,{className:`spf-figwrap`,children:(0,S.jsxs)(`svg`,{viewBox:`0 0 ${v} ${y}`,className:`spf-svg`,role:`img`,"aria-label":e,children:[(0,S.jsx)(`rect`,{x:_,y:_,width:h,height:g,className:`spf-room`,strokeWidth:Math.max(h,g)*.012}),i.map((e,t)=>{let n=mn[t%mn.length],r=hn[t%hn.length],i=_+e.x+e.w/2,a=_+e.y+e.d/2,o=e.rot??0,s=v*.027,c=Math.min(s,e.w*.84/Math.max(e.label.length*.52,1)),l=Math.min(e.w,e.d)>Math.max(h,g)*.12,u=pn(e.label,e.w*.84,c),d=u!==e.label;return(0,S.jsxs)(`g`,{transform:`rotate(${o} ${i} ${a})`,children:[(0,S.jsx)(`rect`,{x:_+e.x,y:_+e.y,width:e.w,height:e.d,rx:Math.min(e.w,e.d)*.08,fill:n,stroke:r,strokeWidth:Math.max(h,g)*.005,...t===0?{"data-mark":`circle`}:{}}),l&&(0,S.jsxs)(`text`,{x:i,y:a,textAnchor:`middle`,dominantBaseline:`middle`,className:`spf-item-lbl`,style:{fontSize:c},children:[d&&(0,S.jsx)(`title`,{children:e.label}),u]})]},t)}),(0,S.jsxs)(`g`,{className:`spf-ruler`,children:[(0,S.jsx)(`line`,{x1:_,y1:y-_*.4,x2:_+b,y2:y-_*.4,strokeWidth:Math.max(h,g)*.006}),(0,S.jsx)(`line`,{x1:_,y1:y-_*.4-_*.25,x2:_,y2:y-_*.4+_*.25,strokeWidth:Math.max(h,g)*.006}),(0,S.jsx)(`line`,{x1:_+b,y1:y-_*.4-_*.25,x2:_+b,y2:y-_*.4+_*.25,strokeWidth:Math.max(h,g)*.006}),(0,S.jsxs)(`text`,{x:_+b/2,y:y-_*.4-_*.35,textAnchor:`middle`,className:`spf-ruler-lbl`,style:{fontSize:v*.026},children:[l(b),` `,m]})]})]})}),(0,S.jsx)(`div`,{className:`spf-dims`,children:(0,S.jsxs)(`span`,{className:`spf-dim`,children:[`Room `,l(h),` × `,l(g),` `,m]})}),a&&a.length>0&&(0,S.jsx)(`div`,{className:`spf-clear`,children:a.map((e,t)=>{let n=e.gap<=dn;return(0,S.jsxs)(`div`,{className:`spf-clear-row`+(n?` tight`:``),children:[(0,S.jsx)(`span`,{className:`spf-clear-dot`}),(0,S.jsx)(`span`,{className:`spf-clear-label`,children:e.label}),(0,S.jsxs)(`span`,{className:`spf-clear-gap`,children:[l(e.gap),` `,m]}),n&&(0,S.jsx)(`span`,{className:`spf-clear-flag`,children:`tight`})]},t)})}),c&&(0,S.jsx)(`div`,{className:`spf-caption`,children:c}),u&&(0,S.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:s(u)})]})}var _n=e=>`https://tiles.openfreemap.org/styles/${e?`positron`:`dark`}`,vn=e=>{let t=e?.closest(`.figure-embed`);return t?t.getAttribute(`data-theme-mode`)!==`dark`:typeof document<`u`&&document.documentElement.getAttribute(`data-theme`)===`light`};function yn(e,t,n){let r=document.createElement(`div`);r.className=`geo-pop`;let i=document.createElement(`b`);if(i.textContent=`${e+1}. ${t}`,r.append(i),n){let e=document.createElement(`div`);e.className=`geo-pop-d`,e.textContent=n,r.append(e)}return r}function bn(e,t){return getComputedStyle(e).getPropertyValue(t).trim()||`transparent`}function xn({title:e,icon:t=`walk`,iconColor:n=`var(--presence)`,center:r,zoom:i,waypoints:a,distanceKm:c,elevationGainM:u,caption:d,footer:f,delay:p}){let m=o[t]||o.walk,h=(0,x.useRef)(null),[g,_]=(0,x.useState)(!1),[v,y]=(0,x.useState)(!1),b=(0,x.useMemo)(()=>(a||[]).filter(e=>Number.isFinite(e.lat)&&Number.isFinite(e.lng)&&Math.abs(e.lat)<=90&&Math.abs(e.lng)<=180),[a]);(0,x.useEffect)(()=>{if(!h.current||!b.length)return;let e=!1,t=null,n=[],a=null;_(!1);let o=0,s=()=>{window.clearTimeout(o),o=0,e||_(!0)};return o=window.setTimeout(s,8e3),(async()=>{let c=await Pe();if(e||!h.current)return;if(!c){window.clearTimeout(o),y(!0);return}let l=r&&Number.isFinite(r[0])&&Number.isFinite(r[1])&&Math.abs(r[0])<=90&&Math.abs(r[1])<=180?r:[b[0].lat,b[0].lng];t=new c.Map({container:h.current,style:_n(vn(h.current)),center:[l[1],l[0]],zoom:i??14,attributionControl:{compact:!1},scrollZoom:!1,dragRotate:!1,pitchWithRotate:!1,fadeDuration:0,maxTileCacheSize:48,canvasContextAttributes:{preserveDrawingBuffer:!0,powerPreference:`low-power`}});let u={type:`Feature`,properties:{},geometry:{type:`LineString`,coordinates:b.map(e=>[e.lng,e.lat])}};if(t.on(`styledata`,()=>{!t||!h.current||b.length<2||!t.isStyleLoaded()||t.getSource(`mavea-route`)||(t.addSource(`mavea-route`,{type:`geojson`,data:u}),t.addLayer({id:`mavea-route-line`,type:`line`,source:`mavea-route`,paint:{"line-color":bn(h.current,`--presence`),"line-width":4,"line-opacity":.85},layout:{"line-join":`round`,"line-cap":`round`}}))}),t.on(`idle`,s),n=b.map((e,n)=>{let r=document.createElement(`span`);r.className=`geo-pin mr-pin`,r.textContent=String(n+1),r.setAttribute(`role`,`button`),r.setAttribute(`aria-label`,`Stop ${n+1}: ${e.label}`);let i=yn(n,e.label,e.leg),a=document.createElement(`a`);return a.className=`geo-pop-a`,a.href=`https://www.google.com/maps/search/?api=1&query=${e.lat},${e.lng}`,a.target=`_blank`,a.rel=`noopener noreferrer`,a.textContent=`Open in Google Maps ↗`,i.append(a),new c.Marker({element:r}).setLngLat([e.lng,e.lat]).setPopup(new c.Popup({offset:18}).setDOMContent(i)).addTo(t)}),b.length>1){let e=new c.LngLatBounds;for(let t of b)e.extend([t.lng,t.lat]);t.fitBounds(e,{padding:36,duration:0})}let d=_n(vn(h.current));a=new MutationObserver(()=>{let e=_n(vn(h.current));!t||e===d||(d=e,_(!1),window.clearTimeout(o),o=window.setTimeout(s,8e3),t.setStyle(e))}),a.observe(document.documentElement,{attributes:!0,attributeFilter:[`data-theme`]})})(),()=>{e=!0,window.clearTimeout(o),a?.disconnect();for(let e of n)e.remove();n=[],t?.remove()}},[b,i,r]);let C=c!==void 0||u!==void 0,w=b.length>0&&!v;return(0,S.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(p||0)+`ms`},children:[e&&(0,S.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,S.jsx)(m,{className:`ic`,style:{color:n}}),` `,e]}),v?(0,S.jsx)(`div`,{className:`geo-map geo-map-empty faint`,children:`Map couldn’t load.`}):b.length?(0,S.jsx)(`div`,{ref:h,className:`geo-map mr-map`,"data-tiles":g?`ready`:`loading`,"aria-busy":!g}):(0,S.jsx)(`div`,{className:`geo-map geo-map-empty faint`,children:`No route to map.`}),w&&(0,S.jsx)(Ie,{}),C&&(0,S.jsxs)(`div`,{className:`mr-summary`,children:[c!==void 0&&Number.isFinite(c)&&(0,S.jsxs)(`div`,{className:`mr-stat`,children:[(0,S.jsx)(`span`,{className:`mr-stat-v`,children:l(c,{unit:`km`})}),(0,S.jsx)(`span`,{className:`mr-stat-k`,children:`distance`})]}),u!==void 0&&Number.isFinite(u)&&(0,S.jsxs)(`div`,{className:`mr-stat`,children:[(0,S.jsx)(`span`,{className:`mr-stat-v`,children:l(u,{unit:`m`})}),(0,S.jsx)(`span`,{className:`mr-stat-k`,children:`elevation gain`})]}),(0,S.jsxs)(`div`,{className:`mr-stat`,children:[(0,S.jsx)(`span`,{className:`mr-stat-v`,children:b.length}),(0,S.jsxs)(`span`,{className:`mr-stat-k`,children:[`stop`,b.length===1?``:`s`]})]})]}),b.length>0&&(0,S.jsx)(`ol`,{className:`mr-list`,children:b.map((e,t)=>(0,S.jsxs)(`li`,{className:`mr-row`,children:[(0,S.jsx)(`span`,{className:`mr-row-n`,children:t+1}),(0,S.jsxs)(`div`,{className:`mr-row-body`,children:[(0,S.jsx)(`span`,{className:`mr-row-label`,children:e.label}),e.leg&&(0,S.jsx)(`span`,{className:`mr-row-leg`,children:e.leg})]})]},t))}),d&&(0,S.jsx)(`p`,{className:`mr-caption`,children:d}),f&&(0,S.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:s(f)})]})}var V=50,Sn=50,H=42;function Cn(e,t){let n=Math.min(1,Math.max(0,e)),r=H*Math.abs(1-2*n),i=+!!t;return`M ${V} 8 A ${H} ${H} 0 0 ${i} ${V} 92 A ${r} ${H} 0 0 ${n>.5?i:1-i} ${V} 8 Z`}function wn(e){let t=(0,N.c)(9),{night:n,gradId:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,S.jsx)(`circle`,{cx:V,cy:Sn,r:H,className:`mp-dark`}),t[0]=i):i=t[0];let a;t[1]===n.illumination?a=t[2]:(a=Cn(n.illumination,!0),t[1]=n.illumination,t[2]=a);let o=`url(#${r})`,s;t[3]!==a||t[4]!==o?(s=(0,S.jsx)(`path`,{d:a,fill:o,className:`mp-lit`}),t[3]=a,t[4]=o,t[5]=s):s=t[5];let c;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,S.jsx)(`circle`,{cx:V,cy:Sn,r:H,className:`mp-rim`}),t[6]=c):c=t[6];let l;return t[7]===s?l=t[8]:(l=(0,S.jsxs)(`svg`,{viewBox:`0 0 100 100`,className:`mp-mini-svg`,role:`img`,"aria-hidden":!0,children:[i,s,c]}),t[7]=s,t[8]=l),l}function Tn({title:e,icon:t=`moon`,iconColor:n=`var(--presence)`,illumination:r,waxing:i=!0,phaseName:a,date:l,upcoming:u,caption:d,footer:f,delay:p}){let m=o[t]||o.moon,h=(0,x.useId)().replace(/:/g,``),g=`mp-lit-${h}`,_=`mp-mini-${h}`,v=Math.min(1,Math.max(0,Number.isFinite(r)?r:0)),y=(u||[]).filter(e=>Number.isFinite(e.illumination)).slice(0,7);return(0,S.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(p||0)+`ms`},children:[e&&(0,S.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,S.jsx)(m,{className:`ic`,style:{color:n}}),` `,e]}),(0,S.jsxs)(`div`,{className:`mp-main`,children:[(0,S.jsx)(`div`,{className:`mp-diskwrap`,children:(0,S.jsxs)(`svg`,{viewBox:`0 0 100 100`,className:`mp-svg`,role:`img`,"aria-label":a||`Moon phase`,children:[(0,S.jsxs)(`defs`,{children:[(0,S.jsxs)(`radialGradient`,{id:g,cx:`42%`,cy:`38%`,r:`72%`,children:[(0,S.jsx)(`stop`,{offset:`0%`,stopColor:`var(--mp-glow-hi)`}),(0,S.jsx)(`stop`,{offset:`70%`,stopColor:`var(--mp-glow)`}),(0,S.jsx)(`stop`,{offset:`100%`,stopColor:`var(--mp-glow-lo)`})]}),(0,S.jsxs)(`radialGradient`,{id:_,cx:`42%`,cy:`38%`,r:`72%`,children:[(0,S.jsx)(`stop`,{offset:`0%`,stopColor:`var(--mp-glow-hi)`}),(0,S.jsx)(`stop`,{offset:`100%`,stopColor:`var(--mp-glow)`})]})]}),(0,S.jsx)(`circle`,{cx:V,cy:Sn,r:H,className:`mp-dark`}),(0,S.jsx)(`path`,{d:Cn(v,i),fill:`url(#${g})`,className:`mp-lit`,"data-mark":`point`}),(0,S.jsx)(`circle`,{cx:V,cy:Sn,r:H,className:`mp-rim`})]})}),(0,S.jsxs)(`div`,{className:`mp-info`,children:[a&&(0,S.jsx)(`div`,{className:`mp-phase`,children:a}),(0,S.jsxs)(`div`,{className:`mp-illum`,children:[(0,S.jsx)(`span`,{className:`mp-illum-v`,children:c(v)}),(0,S.jsx)(`span`,{className:`mp-illum-k`,children:`illuminated`})]}),(0,S.jsx)(`div`,{className:`mp-side`,children:i?`Waxing · growing`:`Waning · shrinking`}),l&&(0,S.jsx)(`div`,{className:`mp-date`,children:l})]})]}),y.length>0&&(0,S.jsx)(`div`,{className:`mp-upcoming`,children:y.map((e,t)=>(0,S.jsxs)(`div`,{className:`mp-night`,children:[(0,S.jsx)(wn,{night:e,gradId:_}),(0,S.jsx)(`span`,{className:`mp-night-date`,children:e.date}),(0,S.jsx)(`span`,{className:`mp-night-pct`,children:c(e.illumination)})]},t))}),d&&(0,S.jsx)(`p`,{className:`mp-caption`,children:d}),f&&(0,S.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:s(f)})]})}var U=100,W=100,En=92,G=e=>U+(e-.5)*2*88,K=e=>W+(e-.5)*2*88,Dn=e=>Math.max(.7,Math.min(2.8,2.6-(Number.isFinite(e)?e:3)*.36)),On=e=>{let t=G(e.x)-U,n=K(e.y)-W;return Number.isFinite(e.x)&&Number.isFinite(e.y)&&t*t+n*n<=8464},kn=e=>e>U?`end`:`start`,An=(e,t)=>e>U?-t:t;function jn({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,stars:r,constellations:i,planets:a,caption:c,footer:l,delay:u}){let d=o[t]||o.sparkle,f=`sky-clip-${(0,x.useId)().replace(/:/g,``)}`,p=(r||[]).filter(On),m=(a||[]).filter(On);return(0,S.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u||0)+`ms`},children:[e&&(0,S.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,S.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,S.jsx)(`div`,{className:`sky-wrap`,children:(0,S.jsxs)(`svg`,{viewBox:`0 0 200 200`,className:`sky-svg`,role:`img`,"aria-label":e||`Night sky`,children:[(0,S.jsxs)(`defs`,{children:[(0,S.jsxs)(`radialGradient`,{id:`${f}-bg`,cx:`50%`,cy:`42%`,r:`62%`,children:[(0,S.jsx)(`stop`,{offset:`0%`,stopColor:`var(--sky-zenith)`}),(0,S.jsx)(`stop`,{offset:`100%`,stopColor:`var(--sky-horizon)`})]}),(0,S.jsx)(`clipPath`,{id:f,children:(0,S.jsx)(`circle`,{cx:U,cy:W,r:En})})]}),(0,S.jsx)(`circle`,{cx:U,cy:W,r:En,fill:`url(#${f}-bg)`,className:`sky-dome`}),(0,S.jsxs)(`g`,{clipPath:`url(#${f})`,className:`sky-grid`,children:[(0,S.jsx)(`circle`,{cx:U,cy:W,r:En*.66}),(0,S.jsx)(`circle`,{cx:U,cy:W,r:En*.33}),(0,S.jsx)(`line`,{x1:U,y1:8,x2:U,y2:192}),(0,S.jsx)(`line`,{x1:8,y1:W,x2:192,y2:W})]}),(0,S.jsx)(`g`,{clipPath:`url(#${f})`,children:(i||[]).map((e,t)=>(e.lines||[]).map(([e,n],i)=>{let a=r?.[e],o=r?.[n];return!a||!o||!On(a)||!On(o)?null:(0,S.jsx)(`line`,{x1:G(a.x),y1:K(a.y),x2:G(o.x),y2:K(o.y),className:`sky-line`},`${t}-${i}`)}))}),(0,S.jsx)(`g`,{clipPath:`url(#${f})`,children:p.map((e,t)=>{let n=Dn(e.mag);return(0,S.jsxs)(`g`,{children:[n>1.8&&(0,S.jsx)(`circle`,{cx:G(e.x),cy:K(e.y),r:n*2.4,className:`sky-glow`}),(0,S.jsx)(`circle`,{cx:G(e.x),cy:K(e.y),r:n,className:`sky-star`,...t===0?{"data-mark":`point`}:{}})]},t)})}),m.map((e,t)=>{let n=G(e.x);return(0,S.jsxs)(`g`,{className:`sky-planet`,children:[(0,S.jsx)(`circle`,{cx:n,cy:K(e.y),r:2.4,className:`sky-planet-dot`}),(0,S.jsx)(`text`,{x:n+An(n,4),y:K(e.y)+1.2,textAnchor:kn(n),className:`sky-planet-lbl`,children:e.name})]},`p${t}`)}),p.map((e,t)=>{if(!e.name)return null;let n=G(e.x);return(0,S.jsx)(`text`,{x:n+An(n,3.2),y:K(e.y)-2.4,textAnchor:kn(n),className:`sky-star-lbl`,children:e.name},`l${t}`)}),(0,S.jsx)(`text`,{x:U,y:15,className:`sky-card`,children:`N`}),(0,S.jsx)(`text`,{x:U,y:189,className:`sky-card`,children:`S`}),(0,S.jsx)(`text`,{x:12,y:102.5,className:`sky-card`,children:`W`}),(0,S.jsx)(`text`,{x:188,y:102.5,className:`sky-card`,children:`E`})]})}),c&&(0,S.jsx)(`p`,{className:`sky-caption`,children:c}),l&&(0,S.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:s(l)})]})}var Mn=100,Nn=100,Pn=26,Fn=e=>2.6+(Number.isFinite(e)?Math.min(5,Math.max(1,e)):2)*1.2,In=[-58,122,28,208,-126,74,160,320],Ln=9;function Rn(e){return e.length>Ln?e.slice(0,8).trimEnd()+`…`:e}function zn({title:e,icon:t=`globe`,iconColor:n=`var(--presence)`,center:r,bodies:i,toScale:a=!1,caption:c,footer:l,delay:u}){let d=o[t]||o.globe,f=`orb-star-${(0,x.useId)().replace(/:/g,``)}`,p=(i||[]).filter(e=>Number.isFinite(e.orbitRadius)&&e.orbitRadius>0).slice().sort((e,t)=>e.orbitRadius-t.orbitRadius),m=p.map(e=>e.orbitRadius),h=m.length?Math.min(...m):0,g=(m.length?Math.max(...m):1)-h||1,_=e=>{let t=(e-h)/g;return a?t:Math.sqrt(t)},v=p.map((e,t)=>{let n=p.length===1?59:Pn+_(e.orbitRadius)*66,r=(In[t%In.length]-90)*Math.PI/180;return{...e,ring:n,x:Mn+n*Math.cos(r),y:Nn+n*Math.sin(r),r:Fn(e.size)}});return(0,S.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u||0)+`ms`},children:[e&&(0,S.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,S.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,S.jsx)(`div`,{className:`orb-wrap`,children:(0,S.jsxs)(`svg`,{viewBox:`0 0 200 200`,className:`orb-svg`,role:`img`,"aria-label":e||r,children:[(0,S.jsx)(`defs`,{children:(0,S.jsxs)(`radialGradient`,{id:f,cx:`50%`,cy:`50%`,r:`50%`,children:[(0,S.jsx)(`stop`,{offset:`0%`,stopColor:`var(--orb-star-hi)`}),(0,S.jsx)(`stop`,{offset:`100%`,stopColor:`var(--orb-star)`})]})}),v.map((e,t)=>(0,S.jsx)(`circle`,{cx:Mn,cy:Nn,r:e.ring,className:`orb-ring`},`ring${t}`)),(0,S.jsx)(`circle`,{cx:Mn,cy:Nn,r:11,fill:`url(#${f})`,className:`orb-center`}),(0,S.jsx)(`text`,{x:Mn,y:100.6,className:`orb-center-lbl`,children:r}),v.map((e,t)=>{let n=e.color||`var(--presence)`,r=(e.x-Mn)/(e.ring||1),i=(e.y-Nn)/(e.ring||1),a=e.x+r*(e.r+4),o=e.y+i*(e.r+4),s=r>.25?`start`:r<-.25?`end`:`middle`,c=[e.distance,e.period].filter(Boolean).join(` · `),l=Rn(e.name);return(0,S.jsxs)(`g`,{children:[(0,S.jsx)(`circle`,{cx:e.x,cy:e.y,r:e.r,fill:n,className:`orb-body`,...t===0?{"data-mark":`point`}:{}}),(0,S.jsxs)(`text`,{x:a,y:o-(c?1.4:-1.4),textAnchor:s,className:`orb-body-lbl`,children:[l,l!==e.name&&(0,S.jsx)(`title`,{children:e.name})]}),c&&(0,S.jsx)(`text`,{x:a,y:o+4.2,textAnchor:s,className:`orb-body-annot`,children:c})]},`b${t}`)})]})}),c&&(0,S.jsx)(`p`,{className:`orb-caption`,children:c}),l&&(0,S.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:s(l)})]})}var Bn=50,Vn=50,Hn=44,Un=[`primary`,`secondary`,`tertiary`],Wn=new Set(Un),Gn={primary:[30,Hn],secondary:[20,30],tertiary:[12,20]};function Kn(e){return e.intensity&&Wn.has(e.intensity)?e.intensity:`primary`}var qn=[{label:`joy`},{label:`trust`},{label:`fear`},{label:`surprise`},{label:`sadness`},{label:`disgust`},{label:`anger`},{label:`anticipation`}],Jn={joy:`var(--warning)`,trust:`var(--insight)`,fear:`var(--text-muted)`,surprise:`var(--insight-soft)`,sadness:`var(--presence-deep)`,disgust:`var(--presence)`,anger:`var(--danger)`,anticipation:`var(--warning-soft)`},Yn=[`var(--presence)`,`var(--insight)`,`var(--warning)`,`var(--danger)`,`var(--presence-deep)`,`var(--insight-soft)`,`var(--warning-soft)`,`var(--text-muted)`,`var(--presence-soft)`],Xn=e=>(e%360+360)%360;function Zn(e,t){let n=(Xn(e)-90)*(Math.PI/180);return[Bn+t*Math.cos(n),Vn+t*Math.sin(n)]}function Qn(e,t,n,r){let[i,a]=Zn(e,r),[o,s]=Zn(t,r),[c,l]=Zn(t,n),[u,d]=Zn(e,n),f=+(t-e>180);return`M${i} ${a} A${r} ${r} 0 ${f} 1 ${o} ${s} L${c} ${l} A${n} ${n} 0 ${f} 0 ${u} ${d} Z`}function $n(e,t){return e.color?e.color:Jn[e.label.trim().toLowerCase()]??Yn[t%Yn.length]}function er({title:e,icon:t=`spark`,iconColor:n=`var(--presence)`,segments:r,highlight:i,caption:a,footer:c,delay:l}){let u=o[t]||o.spark,d=r&&r.length>0?r:qn,f=i?.trim().toLowerCase(),p={primary:[],secondary:[],tertiary:[]};d.forEach((e,t)=>p[Kn(e)].push({seg:e,i:t}));let m=Un.filter(e=>p[e].length>0),h=m.length?Gn[m[m.length-1]][0]:Gn.primary[0],g=m.flatMap(e=>{let t=p[e],[n,r]=Gn[e],i=t.length,a=i===1?359.98:360/i;return t.map(({seg:t,i},o)=>{let s=t.angle??o*a;return{seg:t,tier:e,color:$n(t,i),isHot:f!=null&&t.label.trim().toLowerCase()===f,mid:s,d:Qn(s-a/2,s+a/2,n,r),markerR:r+4}})}),_=g.find(e=>e.isHot),v=_?{x:Zn(_.mid,_.markerR)[0],y:Zn(_.mid,_.markerR)[1],color:_.color}:null;return(0,S.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(l||0)+`ms`},children:[e&&(0,S.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,S.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,S.jsxs)(`div`,{className:`ew-wrap`,children:[(0,S.jsx)(`div`,{className:`ew-figbox`,children:(0,S.jsxs)(`svg`,{viewBox:`0 0 100 100`,className:`ew-svg`,role:`img`,"aria-label":e||`Feeling wheel`,children:[g.map((e,t)=>(0,S.jsx)(`path`,{d:e.d,fill:e.color,className:`ew-wedge m-stagger-item m-scale-in`+(e.isHot?` hot`:``),style:{"--i":t}},t)),(0,S.jsx)(`circle`,{cx:Bn,cy:Vn,r:h,className:`ew-hub`}),v&&(0,S.jsx)(`circle`,{cx:v.x,cy:v.y,r:4,className:`ew-marker`,fill:v.color,"data-mark":`point`})]})}),(0,S.jsx)(`div`,{className:`ew-list`,children:g.map((e,t)=>(0,S.jsxs)(`div`,{className:`ew-chip`+(e.isHot?` hot`:``)+` m-stagger-item m-fade-rise`,style:{"--i":t},children:[(0,S.jsx)(`span`,{className:`ew-chip-sw`,style:{background:e.color}}),(0,S.jsxs)(`span`,{className:`ew-chip-body`,children:[(0,S.jsx)(`span`,{className:`ew-chip-label`,children:e.seg.label}),e.tier!==`primary`&&(0,S.jsx)(`span`,{className:`ew-chip-tier`,children:e.tier})]})]},t))})]}),a&&(0,S.jsx)(`div`,{className:`ew-caption`,children:a}),c&&(0,S.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:s(c)})]})}var tr=[[`var(--presence-deep)`,`var(--presence-soft)`],[`var(--insight)`,`var(--presence)`],[`var(--warning)`,`var(--presence-deep)`],[`var(--text-muted)`,`var(--insight-soft)`]];function nr(e){return typeof e==`string`?e.trim():``}function rr(e){let t=(0,N.c)(17),{metric:n}=e,r=n?.value,i;t[0]===r?i=t[1]:(i=nr(r),t[0]=r,t[1]=i);let a=i;if(!a)return null;let o=n?.label,s;t[2]===o?s=t[3]:(s=nr(o),t[2]=o,t[3]=s);let c=s,l=n?.delta,u;t[4]===l?u=t[5]:(u=nr(l),t[4]=l,t[5]=u);let d=u,f=n?.deltaDir===`good`||n?.deltaDir===`bad`?n.deltaDir:``,p;t[6]===c?p=t[7]:(p=c&&(0,S.jsx)(`span`,{className:`crt-metric-label`,children:c}),t[6]=c,t[7]=p);let m;t[8]===a?m=t[9]:(m=(0,S.jsx)(`span`,{className:`crt-metric-value tab-num`,children:a}),t[8]=a,t[9]=m);let h;t[10]!==d||t[11]!==f?(h=d&&(0,S.jsx)(`span`,{className:`crt-metric-delta`+(f?` `+f:``),children:d}),t[10]=d,t[11]=f,t[12]=h):h=t[12];let g;return t[13]!==p||t[14]!==m||t[15]!==h?(g=(0,S.jsxs)(`span`,{className:`crt-metric`,children:[p,m,h]}),t[13]=p,t[14]=m,t[15]=h,t[16]=g):g=t[16],g}function ir({variant:e,index:t,isWinner:n}){let r=nr(e?.label)||`Variant ${t+1}`,i=nr(e?.headline),a=d(nr(e?.src)),s=Array.isArray(e?.metrics)?e.metrics:[],[c,l]=tr[t%tr.length];return(0,S.jsxs)(`div`,{className:`crt-card m-stagger-item m-fade-rise`+(n?` winner`:``),style:{"--i":t},children:[n&&(0,S.jsxs)(`span`,{className:`crt-ribbon`,children:[(0,S.jsx)(o.check,{className:`ic`}),` Winner`]}),(0,S.jsxs)(`div`,{className:`crt-media`,style:{background:`linear-gradient(135deg, ${c}, ${l})`},children:[a&&(0,S.jsx)(`img`,{className:`me-img-fill`,src:a,alt:``,loading:`lazy`,decoding:`async`,onError:e=>{e.currentTarget.style.display=`none`}}),i&&(0,S.jsx)(`span`,{className:`crt-headline`,children:i})]}),(0,S.jsx)(`div`,{className:`crt-cardlabel`,children:r}),s.length>0&&(0,S.jsx)(`div`,{className:`crt-metrics`,children:s.map((e,t)=>(0,S.jsx)(rr,{metric:e},t))})]})}function ar({title:e,icon:t=`image`,iconColor:n=`var(--presence)`,variants:r,winner:i,footer:a,delay:c}){let l=o[t]||o.image,u=Array.isArray(r)?r:[],d=Number.isInteger(i)&&i>=0&&i<u.length?i:null;return(0,S.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(c||0)+`ms`},children:[(0,S.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,S.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),u.length?(0,S.jsx)(`div`,{className:`crt-grid`,children:u.map((e,t)=>(0,S.jsx)(ir,{variant:e,index:t,isWinner:t===d},t))}):(0,S.jsx)(h,{message:`No creative variants to compare`}),a&&(0,S.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:s(a)})]})}function or(e){return typeof e==`string`?e.trim():``}function sr(e){let t=(0,N.c)(22),{spec:n}=e,r=n?.name,i;t[0]===r?i=t[1]:(i=or(r),t[0]=r,t[1]=i);let a=i,o=n?.sample,s;t[2]===o?s=t[3]:(s=or(o),t[2]=o,t[3]=s);let c=s,l=n?.weight,u;t[4]===l?u=t[5]:(u=or(l),t[4]=l,t[5]=u);let d=u;if(!a&&!c)return null;let f=a||`Untitled`,p;t[6]===f?p=t[7]:(p=(0,S.jsx)(`span`,{className:`brg-type-name`,children:f}),t[6]=f,t[7]=p);let m;t[8]===c?m=t[9]:(m=c&&(0,S.jsx)(`span`,{className:`brg-type-family faint`,children:c}),t[8]=c,t[9]=m);let h;t[10]===d?h=t[11]:(h=d&&(0,S.jsx)(`span`,{className:`brg-type-weight`,children:d}),t[10]=d,t[11]=h);let g;t[12]!==h||t[13]!==p||t[14]!==m?(g=(0,S.jsxs)(`div`,{className:`brg-type-meta`,children:[p,m,h]}),t[12]=h,t[13]=p,t[14]=m,t[15]=g):g=t[15];let _=c||`inherit`,v=d||void 0,y;t[16]!==_||t[17]!==v?(y=(0,S.jsx)(`div`,{className:`brg-type-preview`,style:{fontFamily:_,fontWeight:v},children:`Aa Bb Cc 123`}),t[16]=_,t[17]=v,t[18]=y):y=t[18];let b;return t[19]!==g||t[20]!==y?(b=(0,S.jsxs)(`div`,{className:`brg-type-row`,children:[g,y]}),t[19]=g,t[20]=y,t[21]=b):b=t[21],b}function cr({title:e,icon:t=`doc`,iconColor:n=`var(--presence)`,colors:r,typography:i,voiceNotes:a,footer:c,delay:l}){let u=o[t]||o.doc,[d,f]=(0,x.useState)(null),[p,m]=(0,x.useState)(null);y(()=>f(null),d===null?null:900),y(()=>m(null),p?1400:null);let g=Array.isArray(r)?r:[],_=Array.isArray(i)?i:[],v=Array.isArray(a)?a.filter(e=>typeof e==`string`&&e.trim().length>0):[],b=(e,t)=>{f(e);let n=window;typeof n.toast==`function`?n.toast(`Copied ${t}`):(navigator.clipboard?.writeText(t).catch(()=>{}),m(`Copied ${t}`))};return(0,S.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(l||0)+`ms`},children:[(0,S.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,S.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),g.length?(0,S.jsx)(`div`,{className:`me-pal`,children:g.map((e,t)=>{let n=or(e?.hex),r=or(e?.name)||`Color ${t+1}`;return(0,S.jsxs)(`button`,{className:`me-pal-swatch`+(e?.light?` light`:``)+(d===t?` copied`:``),style:{background:n||`var(--surface-glass-strong)`},onClick:()=>n&&b(t,n),disabled:!n,title:n?`Copy ${n}`:r,children:[(0,S.jsxs)(`span`,{className:`me-pal-top`,children:[e?.contrast&&(0,S.jsx)(`span`,{className:`me-pal-contrast`,children:e.contrast}),(0,S.jsx)(`span`,{className:`me-pal-copyicon`,children:d===t?(0,S.jsx)(o.check,{}):(0,S.jsx)(o.layers,{})})]}),(0,S.jsxs)(`span`,{className:`me-pal-meta`,children:[(0,S.jsx)(`span`,{className:`me-pal-name`,children:r}),(0,S.jsx)(`span`,{className:`me-pal-hex tab-num`,children:d===t?`Copied`:n||`—`})]})]},t)})}):(0,S.jsx)(h,{message:`No brand colors to show`}),p&&(0,S.jsxs)(`div`,{className:`me-pal-toast`,children:[(0,S.jsx)(o.check,{}),` `,p]}),_.length>0&&(0,S.jsx)(`div`,{className:`brg-type-stack`,children:_.map((e,t)=>(0,S.jsx)(sr,{spec:e},t))}),v.length>0&&(0,S.jsx)(`ul`,{className:`brg-voice`,children:v.map((e,t)=>(0,S.jsx)(`li`,{className:`brg-voice-item`,children:e},t))}),c&&(0,S.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:s(c)})]})}var lr=200,ur=140,dr=[`var(--warning)`,`var(--presence)`,`var(--insight)`,`var(--danger)`],fr=[`var(--danger)`,`var(--warning-soft)`,`var(--presence-soft)`];function pr(e){return Array.isArray(e)&&e.length===2&&Number.isFinite(e[0])&&Number.isFinite(e[1])}function mr(e){return Array.isArray(e)?e.filter(pr):[]}function hr(e,t,n){return Math.min(n,Math.max(t,e))}function gr(e){let t=e.length;if(t===0)return[0,0];let n=0,r=0;for(let[t,i]of e)n+=t,r+=i;return[n/t,r/t]}function _r(e,t){let[n,r]=gr(e);return e.map(([e,i])=>{let a=e-n,o=i-r,s=Math.hypot(a,o)||1e-6,c=hr(s-t,s*.08,s*3)/s;return[n+a*c,r+o*c]})}function vr({title:e,icon:t=`layers`,iconColor:n=`var(--presence)`,boundary:r,structureFootprint:i,setbackLines:a,easements:c,footer:u,delay:d}){let f=o[t]||o.layers,p=(0,x.useId)().replace(/:/g,``),g=mr(r),_=mr(i),v=(Array.isArray(c)?c:[]).map(e=>{let t=mr(e?.path);return t.length<3?null:{path:t,label:typeof e?.label==`string`?e.label.trim():``}}).filter(e=>e!==null),y=(Array.isArray(a)?a:[]).map(e=>{if(!Number.isFinite(e?.offset))return null;let t=typeof e?.label==`string`?e.label.trim():``;return{offset:Math.max(0,e.offset),label:t}}).filter(e=>e!==null);if(g.length<3)return(0,S.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(d||0)+`ms`},children:[e&&(0,S.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,S.jsx)(f,{className:`ic`,style:{color:n}}),` `,e]}),(0,S.jsx)(h,{message:`No property boundary to draw`})]});let b=[],C=[];for(let[e,t]of g)b.push(e),C.push(t);for(let[e,t]of _)b.push(e),C.push(t);for(let e of v)for(let[t,n]of e.path)b.push(t),C.push(n);let w=m(b),T=m(C),[E,D]=w??[0,1],[O,k]=T??[0,1],A=D-E||1,j=k-O||1,M=Math.min(168/A,108/j),N=A*M,P=j*M,F=(lr-N)/2,I=(ur-P)/2,L=e=>F+(e-E)*M,ee=e=>I+(e-O)*M,te=e=>e.map(([e,t])=>`${L(e)},${ee(t)}`).join(` `),[ne,re]=gr(g);return(0,S.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(d||0)+`ms`},children:[e&&(0,S.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,S.jsx)(f,{className:`ic`,style:{color:n}}),` `,e]}),(0,S.jsx)(`div`,{className:`splan-wrap`,children:(0,S.jsxs)(`svg`,{viewBox:`0 0 ${lr} ${ur}`,className:`splan-svg`,role:`img`,"aria-label":e,children:[(0,S.jsx)(`defs`,{children:v.map((e,t)=>{let n=fr[t%fr.length];return(0,S.jsx)(`pattern`,{id:`splan-hatch-${p}-${t}`,width:`4.5`,height:`4.5`,patternUnits:`userSpaceOnUse`,patternTransform:`rotate(45)`,children:(0,S.jsx)(`line`,{x1:`0`,y1:`0`,x2:`0`,y2:`4.5`,stroke:n,strokeWidth:`1.1`})},t)})}),(0,S.jsx)(`rect`,{x:F-2,y:I-2,width:N+4,height:P+4,fill:`var(--surface-glass)`,rx:2}),y.map((e,t)=>{let n=_r(g,e.offset),r=n[t%n.length],[i,a]=[r[0]-ne,r[1]-re],o=Math.hypot(i,a)||1e-6,s=r[0]+i/o*(o*.12),c=r[1]+a/o*(o*.12),l=dr[t%dr.length];return(0,S.jsxs)(`g`,{children:[(0,S.jsx)(`polygon`,{points:te(n),fill:`none`,stroke:l,strokeWidth:.7,strokeDasharray:`3.2 2.2`}),(0,S.jsx)(`circle`,{cx:L(s),cy:ee(c),r:4.2,className:`splan-badge`,fill:l}),(0,S.jsx)(`text`,{x:L(s),y:ee(c),textAnchor:`middle`,dominantBaseline:`middle`,className:`splan-badge-text`,children:`S${t+1}`})]},t)}),v.map((e,t)=>{let[n,r]=gr(e.path),i=fr[t%fr.length];return(0,S.jsxs)(`g`,{children:[(0,S.jsx)(`polygon`,{points:te(e.path),fill:`url(#splan-hatch-${p}-${t})`,fillOpacity:.55,stroke:i,strokeWidth:.6,strokeDasharray:`1.8 1.4`}),(0,S.jsx)(`circle`,{cx:L(n),cy:ee(r),r:4.2,className:`splan-badge`,fill:i}),(0,S.jsx)(`text`,{x:L(n),y:ee(r),textAnchor:`middle`,dominantBaseline:`middle`,className:`splan-badge-text`,children:`E${t+1}`})]},t)}),_.length>=3&&(0,S.jsx)(`polygon`,{points:te(_),className:`splan-structure`}),(0,S.jsx)(`polygon`,{points:te(g),className:`splan-boundary`,"data-mark":`circle`})]})}),(y.length>0||v.length>0)&&(0,S.jsxs)(`div`,{className:`splan-legend`,children:[y.map((e,t)=>(0,S.jsxs)(`div`,{className:`splan-legend-row`,children:[(0,S.jsx)(`span`,{className:`splan-legend-dot`,style:{background:dr[t%dr.length]}}),(0,S.jsx)(`span`,{className:`splan-legend-label`,children:e.label||`Setback ${t+1}`}),(0,S.jsx)(`span`,{className:`splan-legend-val tab-num`,children:l(e.offset)})]},`s${t}`)),v.map((e,t)=>(0,S.jsxs)(`div`,{className:`splan-legend-row`,children:[(0,S.jsx)(`span`,{className:`splan-legend-dot hatched`,style:{background:fr[t%fr.length]}}),(0,S.jsx)(`span`,{className:`splan-legend-label`,children:e.label||`Easement ${t+1}`})]},`e${t}`))]}),u&&(0,S.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:s(u)})]})}function yr(e,t){let n=(0,N.c)(2),[r,i]=(0,x.useState)(e),[a,o]=(0,x.useState)(t);Object.is(a,t)||(o(t),i(e));let s;return n[0]===r?s=n[1]:(s=[r,i],n[0]=r,n[1]=s),s}function br(e){let t=1779033703^e.length;for(let n=0;n<e.length;n++)t=Math.imul(t^e.charCodeAt(n),3432918353),t=t<<13|t>>>19;return t>>>0}function xr(e){let t=e>>>0;return()=>{t=t+1831565813|0;let e=Math.imul(t^t>>>15,1|t);return e=e+Math.imul(e^e>>>7,61|e)^e,((e^e>>>14)>>>0)/4294967296}}var Sr=[82,15,28,43,127,22,20,61,70,2,8,40,24,67,75,19,1,60,63,91,28,10,24,2,20,1],Cr=Sr.reduce((e,t)=>e+t,0);function wr(e){let t=e()*Cr;for(let e=0;e<26;e++)if(t-=Sr[e],t<=0)return String.fromCharCode(65+e);return`E`}var Tr=[[0,1],[1,0],[1,1],[-1,1],[0,-1],[-1,0],[-1,-1],[1,-1]];function Er(e,t,n,r,i,a,o){for(let s=0;s<n.length;s++){let c=e[(r+a*s)*t+(i+o*s)];if(c!==``&&c!==n[s])return!1}return!0}function Dr(e,t,n,r,i,a,o){for(let s=0;s<n.length;s++)e[(r+a*s)*t+(i+o*s)]=n[s]}function Or(e,t,n){let r=n<0?t-1:0,i=n>0?e-t:e-1;return{lo:r,span:Math.max(1,i-r+1)}}function kr(e,t,n){let r=e.reduce((e,t)=>Math.max(e,t.length),0),i=Number.isFinite(t)?Math.round(t):r+2,a=Math.min(15,Math.max(8,i)),o=Array(a*a).fill(``),s=xr(br(n)),c=[],l=[],u=[...e].sort((e,t)=>t.length-e.length);for(let e of u){if(e.length>a){l.push(e);continue}let t=!1;for(let n=0;n<240&&!t;n++){let[n,r]=Tr[Math.floor(s()*Tr.length)%Tr.length],i=Or(a,e.length,n),l=Or(a,e.length,r),u=i.lo+Math.floor(s()*i.span),d=l.lo+Math.floor(s()*l.span);Er(o,a,e,u,d,n,r)&&(Dr(o,a,e,u,d,n,r),c.push({word:e,row:u,col:d,dr:n,dc:r}),t=!0)}if(!t){let n=a*a,r=Math.floor(s()*n);outer:for(let i=0;i<n;i++){let s=(i+r)%n,l=Math.floor(s/a),u=s%a;for(let[n,r]of Tr){let i=l+n*(e.length-1),s=u+r*(e.length-1);if(!(i<0||i>=a||s<0||s>=a)&&Er(o,a,e,l,u,n,r)){Dr(o,a,e,l,u,n,r),c.push({word:e,row:l,col:u,dr:n,dc:r}),t=!0;break outer}}}t||l.push(e)}}for(let e=0;e<o.length;e++)o[e]===``&&(o[e]=wr(s));return{n:a,letters:o,placed:c,skipped:l}}function Ar(e){return(typeof e==`string`?e:e&&typeof e==`object`?String(e.text??e.word??e.label??``):``).toUpperCase().replace(/[^A-Z]/g,``)}var jr=[`var(--presence)`,`var(--insight)`,`var(--warning)`,`var(--presence-deep)`,`var(--insight-soft)`],q=10;function Mr({title:e,icon:t=`search`,iconColor:n=`var(--presence)`,words:r,size:i,seed:a,footer:c,delay:l}){let u=o[t]||o.search,d=(0,x.useMemo)(()=>{let e=Array.isArray(r)?r:[],t=new Set,n=[];for(let r of e){let e=Ar(r);if(e&&!t.has(e)&&(t.add(e),n.push(e)),n.length>=18)break}return n},[r]),f=(0,x.useMemo)(()=>kr(d,i,typeof a==`string`&&a?a:d.join(`|`)),[d,i,a]),[p,m]=yr([],f.letters.join(``)+f.placed.length),g=new Set(p),_=f.placed.length>0&&p.length>=f.placed.length;if(d.length===0||f.placed.length===0)return(0,S.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(l||0)+`ms`},children:[e&&(0,S.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,S.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,S.jsx)(h,{message:`No words to hide`,hint:d.length?`None of the words fit this grid`:void 0})]});let{n:v,letters:y,placed:b,skipped:C}=f,w=v*q,T=e=>jr[Math.max(0,b.findIndex(t=>t.word===e))%jr.length],E=e=>{m(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])};return(0,S.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(l||0)+`ms`},children:[e&&(0,S.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,S.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,S.jsxs)(`div`,{className:`wsr-wrap`,children:[(0,S.jsx)(`div`,{className:`wsr-gridbox`,children:(0,S.jsxs)(`svg`,{viewBox:`0 0 ${w} ${w}`,className:`wsr-svg`,role:`img`,"aria-label":e||`Word search grid`,children:[Array.from({length:v+1},(e,t)=>(0,S.jsxs)(`g`,{children:[(0,S.jsx)(`line`,{x1:t*q,y1:0,x2:t*q,y2:w,className:`wsr-grid`}),(0,S.jsx)(`line`,{x1:0,y1:t*q,x2:w,y2:t*q,className:`wsr-grid`})]},t)),b.map(e=>g.has(e.word)?(0,S.jsx)(`line`,{x1:(e.col+.5)*q,y1:(e.row+.5)*q,x2:(e.col+e.dc*(e.word.length-1)+.5)*q,y2:(e.row+e.dr*(e.word.length-1)+.5)*q,className:`wsr-hit`,style:{stroke:T(e.word)},strokeWidth:q*.82},e.word):null),y.map((e,t)=>(0,S.jsx)(`text`,{x:t%v*q+q/2,y:Math.floor(t/v)*q+q/2,className:`wsr-letter`,textAnchor:`middle`,dominantBaseline:`central`,children:e},t))]})}),(0,S.jsxs)(`div`,{className:`wsr-side`,children:[(0,S.jsx)(`div`,{className:`wsr-words`,children:d.filter(e=>b.some(t=>t.word===e)).map(e=>{let t=g.has(e);return(0,S.jsxs)(`button`,{type:`button`,className:`wsr-word`+(t?` on`:``),"aria-pressed":t,onClick:()=>E(e),children:[(0,S.jsx)(`span`,{className:`wsr-dot`,style:{background:T(e)},"aria-hidden":!0}),e]},e)})}),(0,S.jsx)(`button`,{type:`button`,className:`wsr-reveal`,onClick:()=>m(_?[]:b.map(e=>e.word)),children:_?`Hide all`:`Reveal all`}),C.length>0&&(0,S.jsxs)(`div`,{className:`wsr-skip`,children:[`Didn’t fit this grid: `,C.join(`, `)]})]})]}),c&&(0,S.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:s(c)})]})}var Nr=250,Pr=350,Fr=Nr/2,Ir=Pr/2,Lr={diamonds:`M0 -46 L32 0 L0 46 L-32 0 Z`,hearts:`M0 42 C-28 18 -42 2 -42 -14 C-42 -30 -30 -40 -18 -40 C-10 -40 -3 -35 0 -27 C3 -35 10 -40 18 -40 C30 -40 42 -30 42 -14 C42 2 28 18 0 42 Z`,spades:`M0 -44 C-24 -16 -40 -4 -40 12 C-40 26 -29 34 -19 34 C-12 34 -6 31 -2 25 C-4 36 -8 42 -14 47 L14 47 C8 42 4 36 2 25 C6 31 12 34 19 34 C29 34 40 26 40 12 C40 -4 24 -16 0 -44 Z`},Rr=new Set([`hearts`,`diamonds`]),zr=new Set([`spades`,`hearts`,`diamonds`,`clubs`]);function Br(e){let t=(0,N.c)(11),{x:n,y:r,s:i,suit:a,flip:o}=e,s=`translate(${n},${r}) scale(${i/100})${o?` rotate(180)`:``}`;if(a===`clubs`){let e,n,r,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,S.jsx)(`circle`,{cx:0,cy:-22,r:18}),n=(0,S.jsx)(`circle`,{cx:-17,cy:4,r:18}),r=(0,S.jsx)(`circle`,{cx:17,cy:4,r:18}),i=(0,S.jsx)(`path`,{d:`M-2 6 C-3 22 -7 34 -13 44 L13 44 C7 34 3 22 2 6 Z`}),t[0]=e,t[1]=n,t[2]=r,t[3]=i):(e=t[0],n=t[1],r=t[2],i=t[3]);let a;return t[4]===s?a=t[5]:(a=(0,S.jsxs)(`g`,{transform:s,children:[e,n,r,i]}),t[4]=s,t[5]=a),a}let c=Lr[a]??Lr.spades,l;t[6]===c?l=t[7]:(l=(0,S.jsx)(`path`,{d:c}),t[6]=c,t[7]=l);let u;return t[8]!==l||t[9]!==s?(u=(0,S.jsx)(`g`,{transform:s,children:l}),t[8]=l,t[9]=s,t[10]=u):u=t[10],u}var J=55,Vr={2:[[0,-100],[0,100]],3:[[0,-100],[0,0],[0,100]],4:[[-55,-100],[J,-100],[-55,100],[J,100]],5:[[-55,-100],[J,-100],[0,0],[-55,100],[J,100]],6:[[-55,-100],[J,-100],[-55,0],[J,0],[-55,100],[J,100]],7:[[-55,-100],[J,-100],[0,-50],[-55,0],[J,0],[-55,100],[J,100]],8:[[-55,-100],[J,-100],[0,-50],[-55,0],[J,0],[0,50],[-55,100],[J,100]],9:[[-55,-100],[J,-100],[-55,-33],[J,-33],[0,0],[-55,33],[J,33],[-55,100],[J,100]],10:[[-55,-100],[J,-100],[0,-66],[-55,-33],[J,-33],[-55,33],[J,33],[0,66],[-55,100],[J,100]]};function Hr(e){let t=(0,N.c)(58),{card:n,backId:r}=e,i=n.suit&&zr.has(n.suit)?n.suit:`spades`,a;t[0]===n.rank?a=t[1]:(a=String(n.rank??``).trim().slice(0,3)||`?`,t[0]=n.rank,t[1]=a);let o=a,s=Rr.has(i);if(n.faceDown){let e;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,S.jsx)(`rect`,{x:3,y:3,width:244,height:344,rx:18,className:`pcd-face`}),t[2]=e):e=t[2];let n=`url(#${r})`,i;return t[3]===n?i=t[4]:(i=(0,S.jsxs)(`svg`,{viewBox:`0 0 ${Nr} ${Pr}`,className:`pcd-svg`,role:`img`,"aria-label":`Face-down card`,children:[e,(0,S.jsx)(`rect`,{x:16,y:16,width:218,height:318,rx:10,className:`pcd-back`,fill:n})]}),t[3]=n,t[4]=i),i}let c=Vr[o],l=!c,u=o.length>2?30:o.length===2?38:46,d=s?`pcd-red`:`pcd-blk`,f;t[5]===u?f=t[6]:(f={fontSize:u},t[5]=u,t[6]=f);let p;t[7]!==o||t[8]!==f?(p=(0,S.jsx)(`text`,{x:30,y:30,className:`pcd-rank`,style:f,children:o}),t[7]=o,t[8]=f,t[9]=p):p=t[9];let m;t[10]===i?m=t[11]:(m=(0,S.jsx)(Br,{x:30,y:78,s:34,suit:i}),t[10]=i,t[11]=m);let h;t[12]!==d||t[13]!==p||t[14]!==m?(h=(0,S.jsxs)(`g`,{className:d,children:[p,m]}),t[12]=d,t[13]=p,t[14]=m,t[15]=h):h=t[15];let g=h,_;if(o===`A`){let e=s?`pcd-red`:`pcd-blk`,n;t[16]===i?n=t[17]:(n=(0,S.jsx)(Br,{x:Fr,y:Ir,s:120,suit:i}),t[16]=i,t[17]=n);let r;t[18]!==e||t[19]!==n?(r=(0,S.jsx)(`g`,{className:e,children:n}),t[18]=e,t[19]=n,t[20]=r):r=t[20],_=r}else if(l){let e=s?`pcd-red`:`pcd-blk`,n;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,S.jsx)(`rect`,{x:54,y:70,width:142,height:210,rx:8,className:`pcd-frame`}),t[21]=n):n=t[21];let r=o.length>1?58:86,a;t[22]===r?a=t[23]:(a={fontSize:r},t[22]=r,t[23]=a);let c;t[24]!==o||t[25]!==a?(c=(0,S.jsx)(`text`,{x:Fr,y:149,className:`pcd-court`,style:a,children:o}),t[24]=o,t[25]=a,t[26]=c):c=t[26];let l;t[27]===i?l=t[28]:(l=(0,S.jsx)(Br,{x:Fr,y:227,s:54,suit:i}),t[27]=i,t[28]=l);let u;t[29]!==c||t[30]!==l||t[31]!==e?(u=(0,S.jsxs)(`g`,{className:e,children:[n,c,l]}),t[29]=c,t[30]=l,t[31]=e,t[32]=u):u=t[32],_=u}else{let e=s?`pcd-red`:`pcd-blk`,n;if(t[33]!==c||t[34]!==i){let e;t[36]===i?e=t[37]:(e=(e,t)=>{let[n,r]=e;return(0,S.jsx)(Br,{x:Fr+n,y:Ir+r*.92,s:48,suit:i,flip:r>0},t)},t[36]=i,t[37]=e),n=c.map(e),t[33]=c,t[34]=i,t[35]=n}else n=t[35];let r;t[38]!==e||t[39]!==n?(r=(0,S.jsx)(`g`,{className:e,children:n}),t[38]=e,t[39]=n,t[40]=r):r=t[40],_=r}let v=`${o} of ${i}`,y;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,S.jsx)(`rect`,{x:3,y:3,width:244,height:344,rx:18,className:`pcd-face`}),t[41]=y):y=t[41];let b=s?`pcd-red`:`pcd-blk`,x;t[42]===u?x=t[43]:(x={fontSize:u},t[42]=u,t[43]=x);let C;t[44]!==o||t[45]!==x?(C=(0,S.jsx)(`text`,{x:30,y:30,className:`pcd-rank`,style:x,children:o}),t[44]=o,t[45]=x,t[46]=C):C=t[46];let w;t[47]===i?w=t[48]:(w=(0,S.jsx)(Br,{x:30,y:78,s:34,suit:i}),t[47]=i,t[48]=w);let T;t[49]!==C||t[50]!==w||t[51]!==b?(T=(0,S.jsxs)(`g`,{transform:`rotate(180 ${Fr} ${Ir})`,className:b,children:[C,w]}),t[49]=C,t[50]=w,t[51]=b,t[52]=T):T=t[52];let E;return t[53]!==_||t[54]!==g||t[55]!==T||t[56]!==v?(E=(0,S.jsxs)(`svg`,{viewBox:`0 0 ${Nr} ${Pr}`,className:`pcd-svg`,role:`img`,"aria-label":v,children:[y,g,T,_]}),t[53]=_,t[54]=g,t[55]=T,t[56]=v,t[57]=E):E=t[57],E}function Ur(e){let t=Math.min(58,320/Math.max(1,e-1)),n=1+(e-1)*t/100;return{widthPct:Math.min(24,94/n),stepPct:t,stepDeg:Math.min(8,44/Math.max(1,e-1))}}var Wr=26;function Gr({group:e,backId:t}){let n=Array.isArray(e.cards)?e.cards.filter(e=>e&&typeof e==`object`):[],r=n.slice(0,Wr),i=n.length-r.length,a=e.layout===`fan`||e.layout===`stack`?e.layout:`row`,o=r.length,s;if(o===0)s=(0,S.jsx)(`div`,{className:`pcd-none`,children:`No cards`});else if(a===`fan`){let{widthPct:e,stepPct:n,stepDeg:i}=Ur(o),a=(o-1)/2;s=(0,S.jsx)(`div`,{className:`pcd-fan`,children:r.map((r,o)=>(0,S.jsx)(`div`,{className:`pcd-fancard`,style:{width:`${e}%`,transform:`translateX(${(o-a)*n}%) rotate(${(o-a)*i}deg) translateY(${Math.abs(o-a)*Math.abs(o-a)*i*.16}px)`},children:(0,S.jsx)(Hr,{card:r,backId:t})},o))})}else if(a===`stack`){let e=Math.min(o,7);s=(0,S.jsxs)(`div`,{className:`pcd-stackrow`,children:[(0,S.jsx)(`div`,{className:`pcd-stack`,children:r.slice(0,e).map((e,n)=>(0,S.jsx)(`div`,{className:`pcd-stackcard`,style:{transform:`translate(${n*4}%, ${n*3}%)`},children:(0,S.jsx)(Hr,{card:e,backId:t})},n))}),o>1&&(0,S.jsxs)(`span`,{className:`pcd-count tab-num`,children:[`×`,o]})]})}else s=(0,S.jsx)(`div`,{className:`pcd-row`,children:r.map((e,n)=>(0,S.jsx)(`div`,{className:`pcd-rowcard`,style:{"--pcd-n":o},children:(0,S.jsx)(Hr,{card:e,backId:t})},n))});return(0,S.jsxs)(`div`,{className:`pcd-group`,children:[e.label&&(0,S.jsx)(`div`,{className:`pcd-glabel`,children:e.label}),s,i>0&&(0,S.jsxs)(`div`,{className:`pcd-more`,children:[`+`,i,` more`]})]})}function Kr({title:e,icon:t=`layers`,iconColor:n=`var(--presence)`,groups:r,note:i,footer:a,delay:c}){let l=o[t]||o.layers,u=`pcd-back-${(0,x.useId)().replace(/:/g,``)}`,d=Array.isArray(r)?r.filter(e=>e&&typeof e==`object`):[],f=d.some(e=>Array.isArray(e.cards)&&e.cards.length>0);return(0,S.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(c||0)+`ms`},children:[e&&(0,S.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,S.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),f?(0,S.jsxs)(`div`,{className:`pcd-wrap`,children:[(0,S.jsx)(`svg`,{width:`0`,height:`0`,className:`pcd-defs`,"aria-hidden":!0,focusable:`false`,children:(0,S.jsx)(`defs`,{children:(0,S.jsxs)(`pattern`,{id:u,patternUnits:`userSpaceOnUse`,width:`26`,height:`26`,children:[(0,S.jsx)(`rect`,{width:`26`,height:`26`,className:`pcd-backfill`}),(0,S.jsx)(`path`,{d:`M0 26 L26 0 M-6 6 L6 -6 M20 32 L32 20`,className:`pcd-backline`}),(0,S.jsx)(`path`,{d:`M0 0 L26 26 M20 -6 L32 6 M-6 20 L6 32`,className:`pcd-backline`})]})})}),d.map((e,t)=>(0,S.jsx)(Gr,{group:e,backId:u},t))]}):(0,S.jsx)(h,{message:`No cards to show`}),i&&(0,S.jsx)(`div`,{className:`pcd-note`,children:i}),a&&(0,S.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:s(a)})]})}var Y=10,X=14,qr=60,Jr=60,Yr={k:`knit on RS · purl on WS`,p:`purl on RS · knit on WS`,yo:`yarn over`,k2tog:`knit 2 together (right-leaning decrease)`,ssk:`slip, slip, knit (left-leaning decrease)`,c4f:`cable 4 front (left cross)`,c4b:`cable 4 back (right cross)`,sl:`slip stitch purlwise`,bo:`bind off`,co:`cast on`,mb:`make bobble`};function Xr(e,t,n){let r=Y/2;switch(e){case`k`:return null;case`p`:return(0,S.jsx)(`circle`,{cx:t+r,cy:n+r,r:1.15,className:`stc-fill`});case`yo`:return(0,S.jsx)(`circle`,{cx:t+r,cy:n+r,r:2.7,className:`stc-stroke`});case`k2tog`:return(0,S.jsx)(`path`,{d:`M${t+2.2} ${n+7.8} L${t+7.8} ${n+2.2}`,className:`stc-stroke`});case`ssk`:return(0,S.jsx)(`path`,{d:`M${t+2.2} ${n+2.2} L${t+7.8} ${n+7.8}`,className:`stc-stroke`});case`sl`:return(0,S.jsx)(`path`,{d:`M${t+2.6} ${n+3} L${t+5} ${n+7.4} L${t+7.4} ${n+3}`,className:`stc-stroke`});case`c4f`:return(0,S.jsxs)(`g`,{className:`stc-stroke`,children:[(0,S.jsx)(`path`,{d:`M${t+1.6} ${n+8.4} L${t+8.4} ${n+1.6}`}),(0,S.jsx)(`path`,{d:`M${t+1.6} ${n+1.6} L${t+3.7} ${n+3.7} M${t+6.3} ${n+6.3} L${t+8.4} ${n+8.4}`})]});case`c4b`:return(0,S.jsxs)(`g`,{className:`stc-stroke`,children:[(0,S.jsx)(`path`,{d:`M${t+1.6} ${n+1.6} L${t+8.4} ${n+8.4}`}),(0,S.jsx)(`path`,{d:`M${t+1.6} ${n+8.4} L${t+3.7} ${n+6.3} M${t+6.3} ${n+3.7} L${t+8.4} ${n+1.6}`})]});case`bo`:return(0,S.jsx)(`path`,{d:`M${t+2} ${n+r} L${t+8} ${n+r}`,className:`stc-stroke stc-heavy`});case`co`:return(0,S.jsx)(`path`,{d:`M${t+5} ${n+2.6} L${t+7.9} ${n+7.4} L${t+2.1} ${n+7.4} Z`,className:`stc-stroke`});case`mb`:return(0,S.jsxs)(`g`,{children:[(0,S.jsx)(`circle`,{cx:t+r,cy:n+r,r:2.7,className:`stc-stroke`}),(0,S.jsx)(`circle`,{cx:t+r,cy:n+r,r:1,className:`stc-fill`})]});default:{let i=3.6;for(;i>1.8&&v(e,i)>8.4;)i-=.2;let a=v(e,i)>8.4;return(0,S.jsx)(`text`,{x:t+r,y:n+r,className:`stc-cellText`,style:{fontSize:i},...a?{textLength:8.4,lengthAdjust:`spacingAndGlyphs`}:{},children:e})}}}function Zr(e){if(typeof e==`string`)return e.trim();if(e&&typeof e==`object`){let t=e,n=t.text??t.key??t.stitch??t.label;if(typeof n==`string`)return n.trim()}return``}function Qr(e){if(typeof e==`string`)return e.split(/\s+/).filter(Boolean);if(!e||typeof e!=`object`)return[];let t=e.stitches;return Array.isArray(t)?t.flatMap(e=>Zr(e).split(/\s+/)).filter(Boolean):typeof t==`string`?t.split(/\s+/).filter(Boolean):[]}function $r({title:e,icon:t=`edit`,iconColor:n=`var(--presence)`,rows:r,legend:i,gauge:a,caption:c,footer:l,delay:u}){let d=o[t]||o.edit,f=(Array.isArray(r)?r:[]).map((e,t)=>{let n=e&&typeof e==`object`?e:{},r=typeof n.number==`number`&&Number.isFinite(n.number)?Math.round(n.number):t+1;return{num:r,side:n.side===`WS`?`WS`:n.side===`RS`?`RS`:r%2==0?`WS`:`RS`,stitches:Qr(e).slice(0,Jr)}}).filter(e=>e.stitches.length>0).slice(0,qr);if(f.length===0)return(0,S.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u||0)+`ms`},children:[e&&(0,S.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,S.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,S.jsx)(h,{message:`No chart rows to draw`})]});let p=f.reduce((e,t)=>Math.max(e,t.stitches.length),0),m=p*Y,g=f.length*Y,_=m+28,v=g+4,y=new Map;for(let e of Array.isArray(i)?i:[])e&&typeof e==`object`&&typeof e.key==`string`&&typeof e.meaning==`string`&&y.set(e.key.trim(),e.meaning);let b=[];for(let e of f)for(let t of e.stitches)b.includes(t)||b.push(t);return(0,S.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u||0)+`ms`},children:[e&&(0,S.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,S.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,S.jsx)(`div`,{className:`stc-figwrap`,children:(0,S.jsxs)(`svg`,{viewBox:`0 0 ${_} ${v}`,className:`stc-svg`,role:`img`,"aria-label":e||`Stitch chart`,children:[(0,S.jsx)(`rect`,{x:X,y:2,width:m,height:g,className:`stc-frame`}),Array.from({length:p-1},(e,t)=>(0,S.jsx)(`line`,{x1:X+(t+1)*Y,y1:2,x2:X+(t+1)*Y,y2:2+g,className:`stc-grid`},`v${t}`)),Array.from({length:f.length-1},(e,t)=>(0,S.jsx)(`line`,{x1:X,y1:2+(t+1)*Y,x2:X+m,y2:2+(t+1)*Y,className:`stc-grid`},`h${t}`)),f.map((e,t)=>{let n=2+(f.length-1-t)*Y,r=e.side===`RS`;return(0,S.jsxs)(`g`,{children:[e.stitches.map((e,t)=>{let i=X+(r?p-1-t:t)*Y;return(0,S.jsx)(`g`,{children:Xr(e,i,n)},t)}),(0,S.jsx)(`text`,{x:r?X+m+3:11,y:n+Y/2,className:`stc-rownum`+(r?` rs`:` ws`),children:e.num})]},t)})]})}),(0,S.jsx)(`div`,{className:`stc-legend`,children:b.map(e=>(0,S.jsxs)(`span`,{className:`stc-legchip`,children:[(0,S.jsxs)(`svg`,{viewBox:`0 0 10 10`,className:`stc-legswatch`,"aria-hidden":!0,children:[(0,S.jsx)(`rect`,{x:.4,y:.4,width:9.2,height:9.2,className:`stc-frame`}),Xr(e,0,0)]}),(0,S.jsx)(`span`,{className:`stc-legkey`,children:e}),(0,S.jsx)(`span`,{className:`stc-legmeaning`,children:y.get(e)??Yr[e]??`pattern stitch`})]},e))}),a&&(0,S.jsxs)(`div`,{className:`stc-gauge`,children:[(0,S.jsx)(`span`,{className:`stc-gauge-k`,children:`Gauge`}),(0,S.jsx)(`span`,{className:`stc-gauge-v`,children:a})]}),c&&(0,S.jsx)(`div`,{className:`stc-caption`,children:c}),l&&(0,S.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:s(l)})]})}var ei={c:0,d:2,e:4,f:5,g:7,a:9,b:11},ti=new Set([1,3,6,8,10]),ni=/^([a-gA-G])([#♯b♭]?)(-?\d{1,2})$/;function ri(e){if(typeof e==`number`&&Number.isFinite(e)){let t=Math.round(e);return t>=0&&t<=127?t:null}if(typeof e!=`string`)return null;let t=e.trim();if(!t)return null;if(/^\d{1,3}$/.test(t)){let e=Number(t);return e>=0&&e<=127?e:null}let n=ni.exec(t);if(!n)return null;let r=ei[n[1].toLowerCase()],i=n[2]===`#`||n[2]===`♯`?1:n[2]===`b`||n[2]===`♭`?-1:0,a=(Number(n[3])+1)*12+r+i;return a>=0&&a<=127?a:null}var ii=[`C`,`C#`,`D`,`D#`,`E`,`F`,`F#`,`G`,`G#`,`A`,`A#`,`B`];function ai(e){return`${ii[e%12]}${Math.floor(e/12)-1}`}var Z=44,Q=14,$=4,oi=6,si=26,ci=128;function li({title:e,icon:t=`play`,iconColor:n=`var(--presence)`,notes:r,beatsPerBar:i,tempo:a,caption:c,footer:l,delay:u}){let d=o[t]||o.play,f=e=>typeof e==`number`?e:typeof e==`string`&&e.trim()?Number(e):NaN,p=Array.isArray(r)?r:[],m=Math.max(0,p.length-96),g=[];for(let e of p.slice(0,96)){if(!e||typeof e!=`object`){m++;continue}let t=ri(e.pitch),n=f(e.start),r=Number.isFinite(n)?Math.max(0,n):NaN,i=f(e.duration);if(t===null||!Number.isFinite(r)||!(i>0)||r>=ci){m++;continue}let a=typeof e.velocity==`number`&&Number.isFinite(e.velocity)?Math.min(1,Math.max(0,e.velocity)):.75;g.push({midi:t,start:r,dur:Math.min(i,ci-r),vel:a,label:typeof e.label==`string`&&e.label.trim()?e.label.trim():void 0})}if(g.length===0)return(0,S.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u||0)+`ms`},children:[e&&(0,S.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,S.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,S.jsx)(h,{message:`No playable notes`,hint:m?`${m} malformed note${m===1?``:`s`} skipped`:void 0})]});let v=Math.min(16,Math.max(1,Math.round(Number(i)||4))),y=Math.max(0,Math.min(...g.map(e=>e.midi))-1),b=Math.min(127,Math.max(...g.map(e=>e.midi))+1);for(;b-y+1<8&&(y>0||b<127);)y>0&&y--,b-y+1<8&&b<127&&b++;let x=b-y+1,C=g.reduce((e,t)=>Math.max(e,t.start+t.dur),0),w=Math.max(1,Math.ceil(Math.ceil(Math.max(1,C))/v)),T=w*v,E=Z+T*24+oi,D=$+x*Q+si,O=e=>$+(b-e)*Q,k=w<=16?1:Math.ceil(w/12);return(0,S.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u||0)+`ms`},children:[e&&(0,S.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,S.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,S.jsxs)(`div`,{className:`pnr-meta`,children:[a&&(0,S.jsx)(`span`,{className:`pnr-chip`,children:a}),(0,S.jsxs)(`span`,{className:`pnr-chip`,children:[v,` beats/bar`]}),(0,S.jsxs)(`span`,{className:`pnr-chip pnr-chip-dim`,children:[ai(y+1),`–`,ai(b-1)]})]}),(0,S.jsx)(`div`,{className:`pnr-figwrap`,children:(0,S.jsxs)(`svg`,{viewBox:`0 0 ${E} ${D}`,className:`pnr-svg`,role:`img`,"aria-label":e||`Piano roll`,children:[Array.from({length:x},(e,t)=>{let n=b-t;return ti.has(n%12)?(0,S.jsx)(`rect`,{x:Z,y:$+t*Q,width:T*24,height:Q,className:`pnr-blackband`},n):null}),Array.from({length:T+1},(e,t)=>(0,S.jsx)(`line`,{x1:Z+t*24,y1:$,x2:Z+t*24,y2:$+x*Q,className:t%v===0?`pnr-barline`:`pnr-beatline`},t)),Array.from({length:x+1},(e,t)=>(0,S.jsx)(`line`,{x1:Z,y1:$+t*Q,x2:Z+T*24,y2:$+t*Q,className:`pnr-rowline`},t)),Array.from({length:x},(e,t)=>{let n=b-t,r=ti.has(n%12),i=$+t*Q;return(0,S.jsxs)(`g`,{children:[(0,S.jsx)(`rect`,{x:2,y:i+.5,width:38,height:13,rx:2,className:r?`pnr-key-black`:`pnr-key-white`}),n%12==0&&(0,S.jsx)(`text`,{x:34,y:i+Q/2,className:`pnr-octave`,children:ai(n)})]},n)}),g.map((e,t)=>{let n=Z+e.start*24,r=Math.max(2.5,e.dur*24-1.2),i=O(e.midi)+1.6,a=e.label??ai(e.midi),o=r>=16?_(a,{maxWidth:r-7,fontSize:7.5,minFontSize:5.5,maxLines:1}):null,s=o&&o.lines.length===1?o:null;return(0,S.jsxs)(`g`,{children:[(0,S.jsx)(`rect`,{x:n,y:i,width:r,height:10.8,rx:2.4,className:`pnr-note`,fill:`color-mix(in oklab, var(--presence) ${Math.round(30+e.vel*55)}%, transparent)`,children:(0,S.jsx)(`title`,{children:`${ai(e.midi)} · beat ${Math.round((e.start+1)*100)/100} · ${Math.round(e.dur*100)/100} beat${e.dur===1?``:`s`}`})}),s&&(0,S.jsx)(`text`,{x:n+3.5,y:i+10.8/2,className:`pnr-notelabel`,style:{fontSize:s.fontSize},children:s.lines[0]})]},t)}),Array.from({length:w},(e,t)=>t%k===0?(0,S.jsx)(`text`,{x:Z+t*v*24+3,y:$+x*Q+12,className:`pnr-barnum tab-num`,children:t+1},t):null)]})}),m>0&&(0,S.jsxs)(`div`,{className:`pnr-skip`,children:[m,` note`,m===1?``:`s`,` skipped (unpitched or out of range)`]}),c&&(0,S.jsx)(`div`,{className:`pnr-caption`,children:c}),l&&(0,S.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:s(l)})]})}var ui=e({mediaRegistry:()=>di}),di={gameboard:g(E),patternpiece:g(j),photo:(e,t)=>(0,S.jsx)(M,{...e,delay:t.delay,blockId:t.blockId,onUnrenderable:t.onUnrenderable}),diagram:g(P),wireframe:g(te),anatomyfigure:g(ie),exposuretriangle:g(oe),colorwheel:g(he),artanalysis:g(Se),mixerboard:g(Te),beforeafter:g(Ee),carousel:g(De),imagecallouts:g(ke),waveform:g(je),videoembed:g(Me),geomap:g(Ge),lightbox:g(Ke),moodboard:g(Je),palette:g(Ye),svgblock:g(St),sportspitch:g(kt),floorplan:g(Pt),mediacard:g(Ft),dimensiondrawing:g(Rt),explodedview:g(Ht),weldsymbol:g(Qt),cutlist:g(ln),spacefit:g(gn),maproute:g(xn),moonphase:g(Tn),skychart:g(jn),orbitdiagram:g(zn),emotionwheel:g(er),creativetest:g(ar),brandguide:g(cr),siteplan:g(vr),zoningmap:g(Ge),wordsearch:g(Mr),playingcards:g(Kr),stitchchart:g($r),pianoroll:g(li)};export{ui as n,di as t};
@@ -1,39 +0,0 @@
1
- import{s as e}from"./spokenText-C88IQJ0M.js";import{d as t,h as n,v as r,y as i}from"./attachments-BW-vki-E.js";import{t as a}from"./providers-BovElgRL.js";import{n as o}from"./speed-K5_Ebj-8.js";import{i as s,n as c,r as l,t as u}from"./cache-CvbSI-pr.js";import{a as d,d as f,i as p,l as m,o as h,r as g,u as _}from"./validate-sGUCmPAs.js";import{n as v}from"./number-zqlPMliA.js";import{a as ee,c as y,i as b,l as x,n as te,o as ne,r as re,s as S}from"./officeDoc-GU6Cssjf.js";import{n as ie,r as ae,t as oe}from"./csv-DAqzYXUs.js";import"./search-ZN7v_P5B.js";var C=null,w=!1,T=!1,E=0,D=new Map;function O(){if(!(C||T)){if(typeof Worker>`u`){T=!0;return}try{C=new Worker(new URL(`/assets/worker-D7eK-Ya8.js`,``+import.meta.url),{type:`module`}),C.onmessage=e=>{let t=e.data;if(t.type===`ready`)w=!0;else if(t.type===`error`)T=!0,k();else if(t.type===`result`){let e=D.get(t.id);D.delete(t.id),e?.kind===`fit`&&e.resolve(t.fits)}else if(t.type===`embedded`){let e=D.get(t.id);D.delete(t.id),e?.kind===`embed`&&e.resolve(t.vec.length?t.vec:null)}},C.onerror=()=>{T=!0,k()},C.postMessage({type:`init`,base:ue,modelId:le})}catch{T=!0}}}function k(){for(let e of D.values())e.resolve(null);D.clear();try{C?.terminate()}catch{}C=null,w=!1}function se(e,t=80){if(O(),!w||!C)return Promise.resolve(null);let n=++E;return new Promise(r=>{let i=setTimeout(()=>{D.delete(n),r(null)},t);D.set(n,{kind:`fit`,resolve:e=>{clearTimeout(i),r(e?new Map(e):null)}}),C.postMessage({type:`fit`,id:n,query:e})})}function ce(e,t=80){if(O(),!w||!C)return Promise.resolve(null);let n=++E;return new Promise(r=>{let i=setTimeout(()=>{D.delete(n),r(null)},t);D.set(n,{kind:`embed`,resolve:e=>{clearTimeout(i),r(e)}}),C.postMessage({type:`embed`,id:n,text:e})})}var le=`minishlab/potion-base-8M`,ue=`/semantic/`,de=/\b(poems?|haikus?|limericks?|sonnets?|ballads?|rhymes?|riddles?|puns?|jokes?|knock[- ]?knock|tongue[- ]?twisters?|lullab(?:y|ies)|raps?)\b/i,fe=/\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 pe(e){let t=e.toLowerCase();return de.test(t)||fe.test(t)}var me=e=>!pe(e),A=`HARD HONESTY RULES:
2
- - A node "value", a series point, or an edge "weight" (a 0..1 share of the outcome it explains) may ONLY be given when you can quote it VERBATIM from SOURCES — put that exact sentence in "quote" and set "tier":"T2" (or "T1" if it came from the user's own attached data). The weights of the edges INTO the outcome should sum to ≤ 1.
3
- - If a cause, link, or figure comes from general knowledge with NO source sentence, set "tier":"T0" and OMIT value/weight/series/quote. Never invent a number, a percentage, or a citation.
4
- - If SOURCES is empty, EVERY node and edge is "T0" with no numbers — a qualitative structure only.
5
- - Every point of a "series" needs its OWN verbatim quote containing that point's digits. A series you cannot quote point-by-point must be omitted entirely, never smoothed or estimated.
6
- - "sign" is 1 (reinforces) or -1 (dampens). "role" is "root" | "mechanism" | "outcome". "depth" grows from roots (0) to the outcome. Edges may only join TOP-LEVEL nodes — "children" are a breakdown of one node, never causal actors.
7
- - Node "id" is a short stable slug of the label (lowercase, hyphens: "cheap-credit"), because a later turn has to be able to name the same node again.
8
- - "date" is WHEN a cause happened, as a plain string: a year ("1986"), an ISO date ("1986-01-28"), or an ISO timestamp. Give one for every node you can place in time, even in an all-T0 world with no numbers anywhere, because it is what lets the reader lay the same causes out on a timeline. Omit it only when you would be guessing at the year. Where a source sentence states the date, make that the node's "quote" — a date the sources back is shown as established, and one only you know is shown as your own.
9
- - "domain" is the sphere a node belongs to, one of: economy | policy | technology | science | environment | society | health | conflict. It is a description, not a claim, so it needs no source — but OMIT it when no single sphere fits, and never stretch one to cover a node.`,j=`Shape: {"title":"the question, verbatim","outcomeId":"<id of the outcome node>","nodes":[{"id":"","label":"","role":"","depth":0,"domain":"","date":"1986-01-28","tier":"T0","value":0,"unit":"","quote":"","detail":"","series":{"tier":"T0","unit":"","points":[{"t":"2008","value":0,"quote":""}]},"children":[{"id":"","label":"","tier":"T0"}]}],"edges":[{"from":"","to":"","verb":"","weight":0,"sign":1,"tier":"T0","quote":"","relation":""}],"provenance":{"illustrative":false}}`,M=`You are Mavéa's causal world-builder. Given a causal question and SOURCES, build the web that explains it: root causes → mechanisms → the outcome, each node carrying whatever the sources actually prove about it. Return ONLY compact JSON, no prose.
10
-
11
- ${A}
12
- ${j}`,N=`You are Mavéa's causal world-builder, EXTENDING a world that already exists. The user asked a follow-up about the SAME web. Return ONLY compact JSON, no prose.
13
-
14
- ECHO THE IDS: every node you re-describe MUST reuse its EXISTING id, verbatim, from the roster you are given — that is the only way your answer lands on the world the user is looking at. Only a genuinely new cause gets a new slug id. Re-state "title" exactly as given.
15
- A DELTA, NOT A WORLD: return ONLY the nodes the follow-up actually touches, and only the edges you are adding — every node you leave out keeps exactly what it already has. Re-listing the unchanged web wastes the reader's money and risks overwriting facts that are already proven.
16
- Answer the follow-up by ENRICHING the nodes it is about (add a "series", a "children" breakdown, a "detail" sentence, a missing edge) — do not rebuild the web from scratch and do not rename anything.
17
-
18
- ${A}
19
- ${j}`,P={type:`object`,properties:{quote:{type:`string`},url:{type:`string`},host:{type:`string`},date:{type:`string`}},required:[`quote`]},F={type:`object`,properties:{tier:{type:`string`,enum:[`T0`,`T1`,`T2`,`T3`]},unit:{type:`string`},quote:{type:`string`},points:{type:`array`,items:{type:`object`,properties:{t:{type:`string`},value:{type:`number`},quote:{type:`string`}},required:[`t`,`value`]}}},required:[`tier`,`points`]},I={type:`object`,properties:{id:{type:`string`},label:{type:`string`},domain:{type:`string`,enum:[...h]},tier:{type:`string`,enum:[`T0`,`T1`,`T2`,`T3`]},value:{type:`number`},unit:{type:`string`},quote:{type:`string`}},required:[`id`,`label`]},L={type:`object`,properties:{title:{type:`string`},outcomeId:{type:`string`},nodes:{type:`array`,minItems:2,items:{type:`object`,properties:{id:{type:`string`},label:{type:`string`},role:{type:`string`,enum:[`root`,`mechanism`,`outcome`]},depth:{type:`number`},domain:{type:`string`,enum:[...h]},date:{type:`string`},tier:{type:`string`,enum:[`T0`,`T1`,`T2`,`T3`]},value:{type:`number`},unit:{type:`string`},quote:{type:`string`},detail:{type:`string`},series:F,children:{type:`array`,items:I}},required:[`id`,`label`,`role`]}},edges:{type:`array`,items:{type:`object`,properties:{from:{type:`string`},to:{type:`string`},verb:{type:`string`},weight:{type:`number`},sign:{type:`number`},tier:{type:`string`,enum:[`T0`,`T1`,`T2`,`T3`]},quote:{type:`string`},relation:{type:`string`},receipts:{type:`array`,items:P},counter:P},required:[`from`,`to`,`sign`]}},provenance:{type:`object`,properties:{illustrative:{type:`boolean`}}}},required:[`title`,`nodes`,`edges`]};function R(e){let t={slow:5,standard:8}[o(e)]??12;return{maxTokens:400+t*300,nodeCap:t}}var z=`(none — use only general knowledge; mark EVERY node and edge "T0" with no numbers and no series)`;function B(e){return e.text.trim()?e.text.trim().slice(0,6e3):z}function he(e,t,n){return`QUESTION: ${e.trim()}
20
-
21
- SOURCES:
22
- ${B(t)}
23
-
24
- Build the causal world (${n} nodes max). Quote SOURCES verbatim for any number, series point or weight; otherwise T0 with no numbers. DATE every cause you can place in time — a year is enough, and this is not a number needing a source. Reply as compact JSON on one line.`}function ge(e){return e.nodes.map(e=>`${e.id} = ${e.label}`).join(`
25
- `)}function _e(e,t,n,r){return`TITLE (re-state verbatim): ${e.title}
26
-
27
- EXISTING NODES — reuse these ids exactly:
28
- ${ge(e)}
29
-
30
- FOLLOW-UP: ${t.trim()}
31
-
32
- SOURCES:
33
- ${B(n)}
34
-
35
- Answer the follow-up on THIS world with a DELTA — only the nodes it changes (${r} nodes max, existing ids echoed), never the whole web again. Quote SOURCES verbatim for any number, series point or weight; otherwise T0 with no numbers. DATE every cause you can place in time — a year is enough, and this is not a number needing a source. Reply as compact JSON on one line.`}async function V(e,t,n,r,i,o){let s;try{s=(await a(n.provider).generate({system:e,history:[],user:t,maxTokens:r,thinkingLevel:`minimal`,format:L,...o?{signal:o}:{}},n)).raw}catch{return null}return o?.aborted?null:g(s,i)}var H=new Map;function ve(e,t,n){return s(`world:${e}\0${t.text}`,n.provider)}function ye(e,t,n,r){let i=ve(e,t,n),a=H.get(i);if(a)return a;let o=be(i,e,t,n,r);for(H.set(i,o);H.size>16;){let e=H.keys().next().value;if(e===void 0||e===i)break;H.delete(e)}return o.then(e=>{e||H.delete(i)},()=>H.delete(i)),o}async function be(e,t,n,r,i){try{let t=await u(e);if(t)return t}catch{}let{maxTokens:a,nodeCap:o}=R(r.model??r.provider),s=await V(M,he(t,n,o),r,a,n,i);if(s)try{await c(e,s)}catch{}return s}var xe=.5;async function Se(e,t,n,r,i){let{maxTokens:a,nodeCap:o}=R(r.model??r.provider),s=await V(N,_e(e,t,n,o),r,a,n,i);return!s||d(e,s)<xe?null:p(e,s)}function Ce(e,t){let n=[],r=/<c\b([^>]*?)(?:\/>|>([\s\S]*?)<\/c>)/g,i;for(;(i=r.exec(e))!==null;){let e=i[1],r=/\br="([A-Z]+\d+)"/.exec(e)?.[1];if(!r)continue;let a=re(r);if(!a)continue;let o=ne(e,i[2]??``,t);o!==``&&n.push({col:a.col,row:a.row,addr:r,text:o})}return n}async function we(e){let t;try{t=await x(S(e))}catch{return null}if(!t)return null;let n=t.get(`xl/sharedStrings.xml`),r=n?ee(y(n)):[],i=[...t.keys()].filter(e=>/^xl\/worksheets\/sheet\d+\.xml$/.test(e)).sort((e,t)=>Number(e.match(/(\d+)\.xml$/)[1])-Number(t.match(/(\d+)\.xml$/)[1]));if(i.length===0)return null;let a=t.get(`xl/workbook.xml`),o=a?/<sheet[^>]*name="([^"]+)"/.exec(y(a))?.[1]??`Sheet1`:`Sheet1`,s=Ce(y(t.get(i[0])),r);if(s.length===0)return null;let c=[...new Set(s.map(e=>e.row))].sort((e,t)=>e-t),l=c[0],u=s.filter(e=>e.row===l).sort((e,t)=>e.col-t.col),d=u.map(e=>e.col),f=u.map((e,t)=>e.text||`col${t+1}`),p=new Map(s.map(e=>[`${e.col}:${e.row}`,e.text])),m=c.filter(e=>e>l),h=m.length,g=m.slice(0,ie),_=[],v=[];for(let e of g)_.push(d.map(t=>p.get(`${t}:${e}`)??``)),v.push(d.map(t=>`${b(t)}${e}`));return{headers:f,rows:_,addrs:v,sheet:o,sourceRowCount:h,truncated:h>_.length}}var U=/^\d{4}-\d{2}-\d{2}([ T]\d{2}:\d{2}(:\d{2})?)?$|^\d{1,2}[/-]\d{1,2}[/-]\d{2,4}$/,W=/^(true|false|yes|no)$/i;function G(e){let t=e.trim();if(!t)return null;let n=v(t);if(!n)return null;let r=n.kind===`pct`?`%`:/^[$€£]/.test(t)?t[0]:void 0;return{value:n.value,...r?{unit:r}:{}}}function Te(e){let t=e.trim();return t?G(t)?`number`:U.test(t)?`date`:W.test(t)?`boolean`:`text`:`empty`}function Ee(e,t,n){let r=n.filter(e=>e.trim()!==``);if(r.length===0)return{key:e,label:t,type:`empty`,values:n.map(()=>null),raw:n,parsedFraction:0};let i=r.slice(0,ae),a={number:0,date:0,boolean:0,text:0,empty:0};for(let e of i)a[Te(e)]+=1;let o=i.length,s=`text`;a.number/o>=.7?s=`number`:a.date/o>=.7?s=`date`:a.boolean/o>=.7&&(s=`boolean`);let c=0,l,u=n.map(e=>{let t=e.trim();if(!t)return null;if(s===`number`){let e=G(t);return e?(c+=1,e.unit&&!l&&(l=e.unit),e.value):null}return s===`boolean`?W.test(t)?(c+=1,/^(true|yes)$/i.test(t)):null:s===`date`?U.test(t)?(c+=1,t):null:(c+=1,t)});return{key:e,label:t,type:s,values:u,raw:n,parsedFraction:r.length?c/r.length:0,...l?{unit:l}:{}}}function De(e,t,n){let r=e.toLowerCase().replace(/[^a-z0-9]+/g,`_`).replace(/^_+|_+$/g,``)||`col${t+1}`,i=r,a=2;for(;n.has(i);)i=`${r}_${a++}`;return n.add(i),i}function Oe(e){let t=new Set;return e.headers.map((n,r)=>{let i=e.rows.map(e=>e[r]??``),a=Ee(De(n,r,t),n,i);return e.addrs&&(a.addrs=e.rows.map((t,n)=>e.addrs[n]?.[r]??``)),a})}async function ke(e,n){let r,a;if(i(e))a=`xlsx`,r=await we(e.data);else if(t(e)){a=`csv`;try{r=oe(new TextDecoder(`utf-8`).decode(S(e.data)))}catch{r=null}}else return{reason:`Not a CSV or Excel file.`};if(!r||r.headers.length===0)return{reason:`Could not read a table from ${e.name}.`};let o=Oe(r);return{dataset:{id:l(`${e.name}:${e.data.slice(0,2e5)}`),file:e.name,...r.sheet?{sheet:r.sheet}:{},columns:o,rowCount:r.rows.length,sourceRowCount:r.sourceRowCount,truncated:r.truncated,origin:a,parsedAt:n}}}var Ae=200;function je(e){let t=[`${e.file}: ${e.columns.map(e=>e.label).join(`, `)}`],n=Math.min(e.rowCount,Ae);for(let r=0;r<n;r+=1)t.push(e.columns.map(e=>`${e.label} ${e.raw[r]??``}`.trim()).join(` | `));return t.join(`
36
- `)}async function Me(e){let a=[];for(let o of e)try{if(t(o)||i(o)){let{dataset:e}=await ke(o,0);e&&a.push(je(e))}else if(r(o))a.push(new TextDecoder(`utf-8`).decode(S(o.data)));else if(n(o)){let e=await te(o);e&&a.push(e.join(`
37
- `))}}catch{}return a.join(`
38
-
39
- `)}var Ne=8e3,K=new Map;function Pe(e,t){for(K.delete(e),K.set(e,t);K.size>2;){let e=K.keys().next().value;if(e===void 0)break;K.delete(e)}}async function Fe(e){let t=K.get(e);if(!t)return m;let n=await Promise.all(t.attachments.map(async e=>({source:{kind:`file`,title:e.name},text:await Me([e])})));return _([...n,...t.sources.map(f)],Ne)}var Ie=/\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/,Le=/\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/,q=/\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/,Re=[/^[\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 ze(e){let t=e.toLowerCase().trim();if(!t)return`rich`;let n=Ie.test(t);return q.test(t)||Le.test(t)?n?`brief`:`rich`:Re.some(e=>e.test(t))?`lean`:n?`brief`:`rich`}function Be(e){return q.test(e.toLowerCase())}var Ve=/\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 J(e){return Ve.test(e.toLowerCase())}function He(e,t){return e===`lean`?`minimal`:t?`low`:`minimal`}var Y=[`minimal`,`low`,`medium`,`high`];function Ue(e,t){let n=Y.indexOf(e);return Y[Math.min(Y.length-1,Math.max(0,n+t))]}function We(e,t,n=`fast`){let r=J(t);return e===`lean`&&!r?`minimal`:Ue(He(e,r),n===`thorough`?2:+(n===`balanced`))}var Ge=.1,Ke=.3,qe=.75;function Je(e,t,n){return t.creative?qe:e===`lean`||J(n)||t.troubleshoot?Ge:Ke}var X=140,Z=320;function Ye(t,n){let r=n===`lean`||n===`brief`?X:Z;return e(t.trim(),r)}function Q(e){return e===`lean`||e===`brief`?X:Z}var Xe=`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 Ze(e){return e===`lean`||e===`brief`?`SPOKEN LINE ("narration") — keep it to ONE short sentence (≈${Q(e)} characters). Right to the point.`:`SPOKEN LINE ("narration") — at most two or three short sentences (≈${Q(`rich`)} characters), like a person talking. The visuals carry the detail; never narrate the whole canvas.`}var $=[{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/}],Qe=[{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 $e(e){if(!e)return``;for(let t=e.length-1;t>=0;t--)if(e[t].role===`user`)return e[t].content;return``}function et(e,t){let n=e.toLowerCase(),r=$e(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 $)e.test.test(i)&&(a[e.key]=!0);(a.highStakes||a.reflection)&&(a.serious=!0);for(let e of Qe)if(e.test.test(i)){a.domain=e.domain;break}return a}function tt(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 nt=[{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/}],rt=[{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 it(e){let t=e.toLowerCase(),n=[];for(let e of rt)e.test.test(t)&&n.push(...e.types);return[...new Set(n)]}var at={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 ot(e){return at[e]??`a ${e}`}function st(e){return e.length?`FORMAT REQUEST — the user explicitly asked for their answer in a specific FORM: ${[...new Set(e.map(ot))].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 ct(e){if(!e)return``;for(let t=e.length-1;t>=0;t--)if(e[t].role===`user`)return e[t].content;return``}function lt(e,t){let n=e.toLowerCase(),r=ct(t).toLowerCase(),i={};for(let e of nt){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{ye as _,tt as a,se as b,Q as c,We as d,ze as f,Se as g,Fe as h,et as i,Ze as l,Pe as m,lt as n,Xe as o,Be as p,st as r,Ye as s,it as t,Je as u,me as v,O as x,ce as y};
@@ -1 +0,0 @@
1
- var e={videoembed:{blurb:`Video player with chapter markers and chapter-list navigation.`,optional:[`icon`,`iconColor`,`durationLabel`,`active`,`footer`]},geomap:{blurb:`A REAL interactive map (OpenStreetMap tiles) for actual places. Give each marker real {lat, lng} coordinates (decimal degrees), a name, and an optional detail. When the answer spans several places or segments (a multi-day trip, a multi-stop route), emit ONE map PER segment — each plotting that segment’s own stops — not a single overview, unless an overview is what was asked. This is the only map type — always use it for any real-world location. For a zoning/land-use ask specifically, prefer zoningmap, which teaches the zone-polygon shape more directly.`,optional:[`icon`,`iconColor`,`zoom`,`zones`,`footer`],itemShapes:[{prop:`zones`,text:`label`,textAliases:[`name`,`title`]}],propHints:{"zones[].coords":`the zone boundary as real [lat, lng] pairs (decimal degrees), at least 3 points`,"zones[].category":`'residential'|'commercial'|'industrial'|'mixed'|'open-space'`}},lightbox:{blurb:`Inline gallery grid with full-screen lightbox on tap.`,optional:[`icon`,`iconColor`,`footer`]},moodboard:{blurb:`Masonry layout of images, color swatches, and text blocks.`,optional:[`icon`,`iconColor`,`footer`],propHints:{"tiles[].kind":`'image'|'color'|'text'`}},palette:{blurb:`An actual COLOR palette — swatches with hex codes and WCAG contrast verdicts (brand/design palettes). Never as a generic category, tag, or option list — use chipset or badgeset.`,optional:[`icon`,`iconColor`,`footer`],itemShapes:[{prop:`swatches`,text:`name`,textAliases:[`label`,`title`]}]},mediacard:{blurb:`A poster-forward detail card for ONE recommended title (film/show/book/game): cover art, year/runtime/rating chips, a 0–100 score badge, a spoiler-safe logline, genre tags, and "where to watch" provider chips. Give a real cover.src when you have one; otherwise it falls back to the cover.from/to gradient. Pick this for a single "what should I watch/read next" pick — use carousel or lightbox for a gallery of several.`,optional:[`icon`,`iconColor`,`year`,`runtime`,`rating`,`score`,`genres`,`logline`,`providers`,`footer`],stringItems:[`genres`,`providers`],propHints:{score:`a number 0–100 (aggregate/critic score); omit if unknown rather than guessing`,"cover.src":`real poster/cover image URL; omit to show the from/to gradient placeholder`,"cover.from":`gradient start, e.g. var(--presence-deep)`,"cover.to":`gradient end, e.g. var(--presence-soft)`}},diagram:{blurb:`Labeled vector diagram with shapes (circles, rects, lines, polygons, paths) and annotated callout labels—for anatomy, physics, geography, engineering schematics.`,optional:[`icon`,`iconColor`,`ratio`,`footer`],propHints:{"shapes[].kind":`'circle'|'rect'|'line'|'polygon'|'path'`}},svgblock:{blurb:`Tier-3 escape hatch: model-drawn SVG for a visual no native component covers (a molecule, a circuit, a geometric figure, a custom infographic). Strictly sanitized on render; design tokens (var(--presence) etc.) work via CSS inheritance, so it is light/dark-aware. Use ONLY when diagram/geometrycanvas/vectorspace/reactionmechanism/molecularstructure/etc. do not apply.`,optional:[`icon`,`iconColor`,`caption`,`footer`],propHints:{svg:`Complete <svg> with a viewBox (e.g. viewBox="0 0 400 300") and NO width/height attributes. Colors: ONLY var(--presence/--insight/--warning/--danger/--text-primary/--text-secondary/--text-muted/--surface-card) — never hex. Allowed elements: path, rect, circle, ellipse, line, polyline, polygon, text, tspan, g, defs, linearGradient/radialGradient/stop, clipPath, mask, pattern, marker, use(#id). Forbidden: script, style, foreignObject, image, a, event handlers, animation, and any external/javascript:/data: URL — all are stripped on render.`,caption:`Optional plain-text label shown below the SVG.`}}};export{e as D};
@@ -1 +0,0 @@
1
- var e=`mavea.live.modelSpeed.v1`;function t(){try{let t=localStorage.getItem(e);return t?JSON.parse(t):{}}catch{return{}}}function n(t){try{localStorage.setItem(e,JSON.stringify(t))}catch{}}function r(e,r,i){if(!e||i<400||r<200)return;let a=r/4/(i/1e3);if(!Number.isFinite(a)||a<=0)return;let o=t(),s=o[e];o[e]={tps:s?s.tps*.6+a*.4:a,n:(s?.n??0)+1},n(o)}function i(e){let n=t()[e];return!n||n.n<2?`standard`:n.tps<28?`slow`:n.tps>75?`fast`:`standard`}export{i as n,r as t};
@@ -1 +0,0 @@
1
- var e=`mavea-course-v1`,t=e,n=`mavea-course-frames-v1`,r=`mavea-course-checkpoints-v1`,i=60,a=15e4,o=4096,s=.6;function c(e){return typeof e==`string`&&e.trim().length>0}function l(e){return Array.isArray(e)?e.filter(c).map(e=>e.trim()):[]}function u(e){if(!Array.isArray(e))return;let t=e.map(e=>{if(!e||typeof e!=`object`)return null;let t=e;return!c(t.question)||!c(t.answer)?null:{question:t.question.trim(),answer:t.answer.trim()}}).filter(e=>e!==null);return t.length?t:void 0}function d(e){if(!e||typeof e!=`object`)return null;let t=e;if(!c(t.id)||!c(t.title)||!c(t.goal))return null;let n=l(t.objectives);if(!n.length)return null;let r=u(t.checkpoint);return{id:t.id.trim(),title:t.title.trim(),goal:t.goal.trim(),objectives:n,concepts:l(t.concepts),...typeof t.minutes==`number`&&Number.isFinite(t.minutes)&&t.minutes>0?{minutes:Math.round(t.minutes)}:{},...r?{checkpoint:r}:{}}}var f=new Set([`beginner`,`intermediate`,`expert`]);function p(e){if(!e||typeof e!=`object`)return null;let t=e;if(!c(t.id)||!c(t.topic)||!c(t.title))return null;let n=Array.isArray(t.lessons)?t.lessons.map(d).filter(e=>e!==null):[];return n.length<3?null:{id:t.id.trim(),topic:t.topic.trim(),title:t.title.trim(),lessons:n,createdAt:typeof t.createdAt==`number`&&Number.isFinite(t.createdAt)?t.createdAt:0,model:typeof t.model==`string`?t.model:``,...c(t.subtitle)?{subtitle:t.subtitle.trim()}:{},...typeof t.level==`string`&&f.has(t.level)?{level:t.level}:{}}}function m(e){if(!e||typeof e!=`object`)return;let t=e,n=typeof t.total==`number`&&t.total>=0?Math.round(t.total):0;if(!n)return;let r=typeof t.correct==`number`&&t.correct>=0?Math.round(t.correct):0,i=Array.isArray(t.missedFronts)?t.missedFronts.filter(c):[];return{total:n,correct:Math.min(r,n),missedFronts:i,at:typeof t.at==`number`&&Number.isFinite(t.at)?t.at:0}}function h(e){if(!e||typeof e!=`object`)return null;let t=e,n=m(t.checkpoint);return{status:t.status===`done`?`done`:`todo`,...n?{checkpoint:n}:{},lastAt:typeof t.lastAt==`number`&&Number.isFinite(t.lastAt)?t.lastAt:0}}function g(e){return{courseId:e,current:0,lessons:{}}}function _(e,t){if(!t||typeof t!=`object`)return g(e);let n=t,r=typeof n.current==`number`&&n.current>=0?Math.round(n.current):0,i={};if(n.lessons&&typeof n.lessons==`object`)for(let[e,t]of Object.entries(n.lessons)){let n=h(t);n&&(i[e]=n)}return{courseId:e,current:r,lessons:i}}function v(e){let t={courses:[],progress:{}};if(!e||typeof e!=`object`)return t;let n=e,r=Array.isArray(n.courses)?n.courses.map(p).filter(e=>e!==null).slice(0,i):[],a=new Set(r.map(e=>e.id)),o={};if(n.progress&&typeof n.progress==`object`)for(let[e,t]of Object.entries(n.progress))a.has(e)&&(o[e]=_(e,t));return{courses:r,progress:o}}var y=null,b=0;function x(){try{if(typeof localStorage>`u`)return{courses:[],progress:{}};let t=localStorage.getItem(e);return t?v(JSON.parse(t)):{courses:[],progress:{}}}catch{return{courses:[],progress:{}}}}function S(){return y||=x(),y}function C(n){y=n,b+=1;try{typeof localStorage<`u`&&localStorage.setItem(e,JSON.stringify(n))}catch{}try{typeof window<`u`&&typeof CustomEvent==`function`&&window.dispatchEvent(new CustomEvent(t,{detail:n}))}catch{}}function w(){b+=1;try{typeof window<`u`&&typeof CustomEvent==`function`&&window.dispatchEvent(new CustomEvent(t))}catch{}}function T(){return b}function E(e){return typeof window>`u`?()=>{}:(window.addEventListener(t,e),()=>window.removeEventListener(t,e))}var D=null;function O(e){return!!e&&typeof e==`object`&&Array.isArray(e.blocks)}function k(e){return e===`replace`||e===`augment`||e===`refine`}function A(e,t){if(!e||typeof e!=`object`)return null;let n=e;if(![`circle`,`underline`,`point`,`highlight`,`rising`,`falling`,`bracket`,`note`,`connect`].includes(n.kind)||typeof n.at!=`string`||!n.at)return null;let r={kind:n.kind,at:n.at};if(typeof n.to==`string`&&n.to&&(r.to=n.to),typeof n.label==`string`&&n.label&&(r.label=n.label),r.kind===`note`&&!r.label)return null;if((n.color===`key`||n.color===`cool`)&&(r.color=n.color),r.kind===`connect`){let e=typeof n.onIndex==`number`?Math.round(n.onIndex):-1;if(!r.to||e<0||e>=t)return null;r.onIndex=e}return r}function j(e,t){if(!Array.isArray(e))return[];let n=[];for(let r of e){if(!r||typeof r!=`object`)continue;let e=r;if(typeof e.index!=`number`)continue;let i={index:e.index,...typeof e.say==`string`?{say:e.say}:{},...typeof e.saySpoken==`string`?{saySpoken:e.saySpoken}:{}},a=A(e.mark,t);if(a&&(i.mark=a),Array.isArray(e.marks)){let n=e.marks.map(e=>A(e,t)).filter(e=>e!==null);n.length&&(i.marks=n)}n.push(i)}return n}function M(e){if(!e||typeof e!=`object`)return null;let t=e;return!O(t.spec)||t.spec.blocks.length===0||typeof t.question!=`string`?null:{question:t.question,narration:typeof t.narration==`string`?t.narration:``,...typeof t.spoken==`string`?{spoken:t.spoken}:{},mode:k(t.mode)?t.mode:`replace`,...typeof t.topicShift==`boolean`?{topicShift:t.topicShift}:{},tour:j(t.tour,t.spec.blocks.length),spec:t.spec,at:typeof t.at==`number`&&Number.isFinite(t.at)?t.at:0}}function N(e){if(!e||typeof e!=`object`)return null;let t=e;if(!c(t.key)||!c(t.courseId)||!c(t.lessonId))return null;let n=M(t.frame);return n?{key:t.key.trim(),courseId:t.courseId.trim(),lessonId:t.lessonId.trim(),frame:n,at:typeof t.at==`number`&&Number.isFinite(t.at)?t.at:0}:null}function P(e){let t=JSON.stringify(e,(e,t)=>typeof t==`string`&&t.length>o&&t.startsWith(`data:`)?``:t);return JSON.parse(t)}function F(e,t){return`${e}::${t}`}function I(){try{if(typeof localStorage>`u`)return[];let e=localStorage.getItem(n);if(!e)return[];let t=JSON.parse(e);return(Array.isArray(t.entries)?t.entries.map(N).filter(e=>e!==null):[]).slice(-16)}catch{return[]}}function L(){return D||=I(),D}function R(e){D=e;try{typeof localStorage<`u`&&localStorage.setItem(n,JSON.stringify({entries:e}))}catch{}}function z(e){try{let t=L(),n=t.filter(t=>e.has(t.courseId));n.length!==t.length&&R(n)}catch{}}var B=null;function V(e){if(!e||typeof e!=`object`)return null;let t=e;if(!c(t.key)||!c(t.courseId)||!c(t.lessonId))return null;let n=u(t.questions);return n?{key:t.key.trim(),courseId:t.courseId.trim(),lessonId:t.lessonId.trim(),questions:n,at:typeof t.at==`number`&&Number.isFinite(t.at)?t.at:0}:null}function H(){try{if(typeof localStorage>`u`)return[];let e=localStorage.getItem(r);if(!e)return[];let t=JSON.parse(e);return(Array.isArray(t.entries)?t.entries.map(V).filter(e=>e!==null):[]).slice(-200)}catch{return[]}}function U(){return B||=H(),B}function W(e){B=e;try{typeof localStorage<`u`&&localStorage.setItem(r,JSON.stringify({entries:e}))}catch{}}function G(e){try{let t=U(),n=t.filter(t=>e.has(t.courseId));n.length!==t.length&&W(n)}catch{}}function K(){return[...S().courses].sort((e,t)=>t.createdAt-e.createdAt)}function q(e){return S().courses.find(t=>t.id===e)}function J(e){return S().progress[e]??g(e)}function Y(e,t){let n=v({courses:e,progress:t});if(!n.courses.length)return 0;let r=S(),i=new Map(r.courses.map(e=>[e.id,e])),a={...r.progress};for(let e of n.courses){let t=i.get(e.id);(!t||e.createdAt>=t.createdAt)&&(i.set(e.id,e),n.progress[e.id]&&(a[e.id]=n.progress[e.id]))}return C(v({courses:[...i.values()],progress:a})),n.courses.length}function X(e){return e.total>0&&e.correct/e.total>=s}function Z(e,t){try{let n=F(e,t),r=L(),i=r.findIndex(e=>e.key===n);if(i<0)return;let a=r.slice(0,i).concat(r.slice(i+1)),o={...r[i],at:Date.now()};return R([...a,o]),o.frame}catch{return}}function Q(e,t){try{let n=F(e,t),r=U(),i=r.findIndex(e=>e.key===n);if(i<0)return;let a=r.slice(0,i).concat(r.slice(i+1)),o={...r[i],at:Date.now()};return W([...a,o]),o.questions}catch{return}}function $(e,t){try{let n=F(e,t),r=U(),i=r.findIndex(e=>e.key===n);return i<0?void 0:r[i].questions}catch{return}}function ee(e){try{let t=S(),n=[e,...t.courses.filter(t=>t.id!==e.id)].slice(0,i),r=new Set(n.map(e=>e.id)),a={};for(let[e,n]of Object.entries(t.progress))r.has(e)&&(a[e]=n);a[e.id]||(a[e.id]=g(e.id)),C({courses:n,progress:a}),z(r),G(r)}catch{}}function te(e){try{let t=S(),n=t.courses.filter(t=>t.id!==e),r={...t.progress};delete r[e],C({courses:n,progress:r});let i=new Set(n.map(e=>e.id));z(i),G(i)}catch{}}function ne(e,t){try{let n=S(),r=n.progress[e]??g(e),i={...n.progress,[e]:{...r,current:Math.max(0,Math.round(t))}};C({...n,progress:i})}catch{}}function re(e,t,n,r=Date.now()){try{let i=S(),a=i.progress[e]??g(e),o=a.lessons[t]?.status===`done`||X(n)?`done`:`todo`,s={...a.lessons,[t]:{status:o,checkpoint:n,lastAt:r}};C({...i,progress:{...i.progress,[e]:{...a,lessons:s}}})}catch{}}function ie(e,t,n){try{let r=P(n),i=F(e,t),o={key:i,courseId:e,lessonId:t,frame:r,at:Date.now()};if(JSON.stringify(o).length>a)return;R([...L().filter(e=>e.key!==i),o].slice(-16))}catch{}}function ae(e,t,n){try{if(!n.length)return;let r=F(e,t),i={key:r,courseId:e,lessonId:t,questions:n,at:Date.now()};W([...U().filter(e=>e.key!==r),i].slice(-200)),w()}catch{}}export{E as _,Z as a,K as c,X as d,$ as f,ne as g,ee as h,Q as i,J as l,te as m,ae as n,q as o,re as p,ie as r,T as s,t,Y as u};
@@ -1 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./friendlyAsk-BBdRZIar.js";import{n,t as r}from"./contentVault-xfUwSJ3i.js";var i={"15min":15,hourly:60,"6h":360,daily:1440,manual:1/0},a={daily:1440,weekly:10080,"on-change":1/0,manual:1/0};function o(e,t){return Number.isFinite(t)?e+t*6e4:2**53-1}function s(e){return e===`manual`?0:Math.round(43200/i[e])}function c(e,t){let n=e.window;if(n){if(t<n.startAt)return n.startAt;if(t>n.endAt)return 2**53-1}return o(t,i[e.data])}var l=`mavea-dash-opens-v1`,u=2592e6;function d(e){return!!e&&typeof e==`object`}function f(e,t){if(!d(e))return{};let n=t-u,r={};for(let[t,i]of Object.entries(e)){if(!t||!Array.isArray(i))continue;let e=i.filter(e=>typeof e==`number`&&Number.isFinite(e)&&e>=n).slice(-30);e.length&&(r[t]=e)}return r}var p;function ee(e){try{if(typeof localStorage>`u`)return{};let t=localStorage.getItem(l);return t?f(JSON.parse(t),e):{}}catch{return{}}}function m(e=Date.now()){return p??=ee(e),p}function h(e){p=e;try{typeof localStorage<`u`&&localStorage.setItem(l,JSON.stringify(e))}catch{}}function te(e,t=Date.now()){if(!e)return;let n=m(t),r=[...n[e]??[],t].filter(e=>e>=t-u).slice(-30);h({...n,[e]:r})}function ne(e,t,n=Date.now()){return(m(n)[e]??[]).filter(e=>e>=t).length}function g(e){let t=m(),n={};for(let[r,i]of Object.entries(t))e.has(r)&&(n[r]=i);h(n)}var re=12,_=new Map,ie=0,v=new Set;function y(){for(let e of v)e()}function ae(e){return v.add(e),()=>v.delete(e)}function oe(e,t=Date.now()){ie+=1;let n={id:`run-${ie}`,dashboardId:e,startedAt:t,steps:[{name:`scheduled`,ok:!0,at:t}]},r=_.get(e)??[];return _.set(e,[n,...r].slice(0,re)),y(),n}function se(e,t,n,r={}){e&&(e.steps.push({name:t,ok:n,at:r.at??Date.now(),...r.count===void 0?{}:{count:r.count},...r.detail?{detail:r.detail}:{}}),y())}function ce(e,t){e&&(e.endedAt=t.at??Date.now(),t.outcome&&(e.outcome=t.outcome),t.failure&&(e.failure=t.failure),t.attempts!==void 0&&(e.attempts=t.attempts),y())}var le=[];function ue(e){return _.get(e)??le}function de(e){e===void 0?_.clear():_.delete(e),y()}var fe=`mavea-dashboards`,b=`observations`,pe=1,me=200;function x(){return typeof indexedDB<`u`}var S=null;function C(){return S||(S=new Promise((e,t)=>{let n=indexedDB.open(fe,pe);n.onupgradeneeded=()=>{let e=n.result;if(!e.objectStoreNames.contains(b)){let t=e.createObjectStore(b,{keyPath:`id`});t.createIndex(`byTarget`,[`dashboardId`,`targetId`,`observedAt`]),t.createIndex(`byDashboard`,`dashboardId`)}},n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error??Error(`indexedDB open failed`))}),S.catch(()=>{S=null}),S)}function w(e){return new Promise((t,n)=>{e.oncomplete=()=>t(),e.onerror=()=>n(e.error??Error(`indexedDB transaction failed`)),e.onabort=()=>n(e.error??Error(`indexedDB transaction aborted`))})}async function he(e,t,r,i=Date.now(),a){if(x())try{let o=await n({data:r,...a?.length?{receipts:a}:{}}),s=(await C()).transaction(b,`readwrite`),c=s.objectStore(b),l={id:`${e}:${t}:${i}`,dashboardId:e,targetId:t,observedAt:i,payload:o};c.put(l),await w(s),await ge(e,t)}catch{}}async function ge(e,t){try{let n=(await C()).transaction(b,`readwrite`),r=n.objectStore(b).index(`byTarget`),i=IDBKeyRange.bound([e,t,0],[e,t,1/0]),a=[];await new Promise((e,t)=>{let n=r.openKeyCursor(i,`next`);n.onsuccess=()=>{let t=n.result;if(!t)return e();a.push(t.primaryKey),t.continue()},n.onerror=()=>t(n.error??Error(`cursor failed`))});let o=a.length-me;if(o>0){let e=n.objectStore(b);for(let t of a.slice(0,o))e.delete(t)}await w(n)}catch{}}async function _e(e){if(x())try{let t=(await C()).transaction(b,`readwrite`),n=t.objectStore(b).index(`byDashboard`),r=t.objectStore(b);await new Promise((t,i)=>{let a=n.openKeyCursor(IDBKeyRange.only(e));a.onsuccess=()=>{let e=a.result;if(!e)return t();r.delete(e.primaryKey),e.continue()},a.onerror=()=>i(a.error??Error(`cursor failed`))}),await w(t)}catch{}}function T(e){return e.state?e.state:e.lastRefreshedAt===null?{status:`pending`}:e.lastDataOutcome===`unverified`?{status:`degraded`,lastSuccessAt:e.lastRefreshedAt,failure:{kind:`ungrounded`},lastAttemptAt:e.lastRefreshedAt}:{status:`active`,lastSuccessAt:e.lastRefreshedAt}}function E(e){return{status:`active`,lastSuccessAt:e}}function D(e,t,n){let r=e.status===`active`||e.status===`degraded`?e.lastSuccessAt:void 0;return r===void 0?{status:`pending`,failure:t,lastAttemptAt:n}:{status:`degraded`,lastSuccessAt:r,failure:t,lastAttemptAt:n}}function ve(e){switch(e.kind){case`auth`:return`Your model rejected the key — reconnect it in Live, then check again.`;case`rate-limit`:return`Your model provider is rate-limiting right now. This retries itself shortly.`;case`network`:return`Couldn't reach your model. This retries itself once the connection is back.`;case`no-model`:return`No model is connected yet — connect one in Live and this starts checking.`;case`ungrounded`:return`No live source backed this up — the model may not have searched. Try a stronger model in Settings, or reword what to track.`;case`provider-unavailable`:return`Your model provider is unavailable right now. This retries itself shortly.`}}function ye(e){switch(e){case`no-model`:return{kind:`no-model`};case`unverified`:return{kind:`ungrounded`};case`failed`:return{kind:`network`};default:return null}}var be=e({DASHBOARDS_EVENT:()=>k,DASHBOARDS_QUOTA_EVENT:()=>A,MAX_METRICS:()=>12,MAX_WIDGETS:()=>12,addDashboard:()=>He,addWidget:()=>$e,appendSource:()=>rt,applyRefreshResult:()=>yt,blockToWidget:()=>Ge,clearDashboards:()=>Ye,clearOneShot:()=>_t,createBlankDashboard:()=>We,ensureFirstCheck:()=>pt,foldInto:()=>$,getDashboard:()=>Ve,getDashboards:()=>Be,hasDroppedWrite:()=>Ee,invalidate:()=>J,markAiRefreshed:()=>mt,markDataRefreshed:()=>ut,markDataRetry:()=>ft,markTrackerFailure:()=>dt,markVerdictFailed:()=>lt,mergeDashboards:()=>Ue,newDashboardId:()=>N,removeDashboard:()=>Je,removeWidget:()=>Qe,reorderWidgets:()=>Xe,setCadenceWindow:()=>ht,setOneShot:()=>gt,setVerdict:()=>ct,setWidgetOrder:()=>tt,setWidgetRefreshQuery:()=>et,setWidgetSpan:()=>Ze,updateCadence:()=>qe,updateDashboard:()=>Ke,updateMetricValue:()=>ot,updateTripwireStates:()=>st,whenDashboardsHydrated:()=>K}),O=`mavea-dashboards-v1`,k=O,A=`${O}:quota`,j=24,xe=12,Se=4096,Ce=60,M=null,we=0,Te=!1;function Ee(){return Te}function N(){try{let e=globalThis.crypto;if(e?.randomUUID)return e.randomUUID()}catch{}return we+=1,`dash-${we.toString(36)}-${Math.floor(Math.random()*1e9).toString(36)}`}function De(e){let t=JSON.stringify(e,(e,t)=>typeof t==`string`&&t.length>Se&&t.startsWith(`data:`)?``:t);return JSON.parse(t)}function P(e){return!!e&&typeof e==`object`}function F(e,t){return typeof e==`number`&&Number.isFinite(e)?e:t}function I(e,t=``){return typeof e==`string`?e:t}function Oe(e){return e===`5min`?`15min`:I(e,`manual`)}function ke(e){if(!P(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}}var Ae=new Set([`auth`,`rate-limit`,`network`,`no-model`,`ungrounded`,`provider-unavailable`]);function L(e){if(!P(e))return;let t=P(e.failure)&&Ae.has(I(e.failure.kind))?{kind:I(e.failure.kind),...typeof e.failure.retryAt==`number`&&Number.isFinite(e.failure.retryAt)?{retryAt:e.failure.retryAt}:{}}:void 0,n=typeof e.lastAttemptAt==`number`&&Number.isFinite(e.lastAttemptAt)?e.lastAttemptAt:void 0,r=typeof e.lastSuccessAt==`number`&&Number.isFinite(e.lastSuccessAt)?e.lastSuccessAt:void 0;if(e.status===`pending`)return{status:`pending`,...t?{failure:t}:{},...n===void 0?{}:{lastAttemptAt:n}};if(e.status===`active`&&r!==void 0)return{status:`active`,lastSuccessAt:r};if(e.status===`degraded`&&t&&n!==void 0)return{status:`degraded`,failure:t,lastAttemptAt:n,...r===void 0?{}:{lastSuccessAt:r}}}function je(e){if(!P(e))return null;let t=(Array.isArray(e.history)?e.history:[]).map(ke).filter(e=>e!==null).slice(-60);return{...e,history:t.length?t:void 0}}function Me(e){if(!P(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:I(e.label),startAt:t,endAt:n,origin:e.origin===`search`?`search`:`user`}}function Ne(e){if(!(!P(e)||typeof e.text!=`string`||!e.text))return{text:e.text,at:F(e.at,0)}}function Pe(e){if(!Array.isArray(e))return[];let t=[];for(let n of e){if(!P(n)||typeof n.expected!=`string`||!n.expected)continue;let e=n.result;(e===`hit`||e===`miss`||e===`unclear`)&&t.push({at:F(n.at,0),expected:n.expected,result:e,...typeof n.note==`string`&&n.note?{note:n.note}:{}})}return t.slice(-20)}function R(e,t){if(!e.window||t<=e.window.endAt)return e;let{window:n,...r}=e;return r}var z=new Set([`thesis`,`alignmentgauge`,`standingalerts`,`sourceslineage`]);function Fe(e,t,n){let r=n||t;return r?e.map(e=>{if(e.refreshQuery?.trim()||e.metricId||z.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 Ie(e){if(!P(e))return null;let n=I(e.id);if(!n)return null;let r=P(e.thesis)?e.thesis:null,i=Array.isArray(e.widgets)?e.widgets.filter(e=>P(e)&&P(e.block)):[],a=P(e.cadence)?e.cadence:{},o=P(e.alerts)?e.alerts:{},s=Le(e.lastVerdict),c=I(e.title,`Untitled`),l=t(I(e.question)),u=Me(a.window),d=Ne(e.prediction),f=Pe(e.predictionHistory);return{id:n,title:c,question:l,thesis:{text:I(r?.text),saidAt:F(r?.saidAt,0)},tripwires:Array.isArray(e.tripwires)?e.tripwires:[],metrics:Array.isArray(e.metrics)?e.metrics.map(je).filter(e=>e!==null):[],sources:Array.isArray(e.sources)?e.sources:[],widgets:Fe(i.slice(0,12),c,l),cadence:{data:Oe(a.data),ai:I(a.ai,`manual`),...u?{window:u}:{}},smartTrigger:typeof e.smartTrigger!=`boolean`||e.smartTrigger,alerts:{inApp:o.inApp!==!1,push:o.push===!0},...typeof e.topic==`string`&&e.topic?{topic:e.topic}:{},createdAt:F(e.createdAt,0),updatedAt:F(e.updatedAt,0),...typeof e.lastTouchedByUserAt==`number`&&Number.isFinite(e.lastTouchedByUserAt)?{lastTouchedByUserAt:e.lastTouchedByUserAt}:{},nextDataAt:F(e.nextDataAt,0),nextAiAt:F(e.nextAiAt,2**53-1),...typeof e.oneShotAt==`number`&&Number.isFinite(e.oneShotAt)?{oneShotAt:e.oneShotAt,oneShotLabel:I(e.oneShotLabel)}:{},...d?{prediction:d}:{},...f.length?{predictionHistory:f}:{},lastRefreshedAt:typeof e.lastRefreshedAt==`number`&&Number.isFinite(e.lastRefreshedAt)?e.lastRefreshedAt:null,...e.lastDataOutcome===`updated`||e.lastDataOutcome===`no-change`||e.lastDataOutcome===`unverified`?{lastDataOutcome:e.lastDataOutcome}:{},...L(e.state)?{state:L(e.state)}:{},...s?{lastVerdict:s}:{},...typeof e.lastVerdictAttemptAt==`number`&&Number.isFinite(e.lastVerdictAttemptAt)?{lastVerdictAttemptAt:e.lastVerdictAttemptAt}:{},...typeof e.lastVerdictError==`string`&&e.lastVerdictError?{lastVerdictError:e.lastVerdictError}:{}}}function Le(e){return!P(e)||typeof e.text!=`string`||!e.text?null:{text:e.text,at:F(e.at,0),grounded:e.grounded===!0,...Array.isArray(e.sources)?{sources:e.sources}:{},...typeof e.tripwireId==`string`?{tripwireId:e.tripwireId}:{}}}var B=!1,V=0;function H(e){return Array.isArray(e)?e.map(Ie).filter(e=>e!==null):[]}async function U(e){let t=++V;try{if(typeof localStorage>`u`)return;let r=await n(e);if(t!==V)return;localStorage.setItem(O,r)}catch(e){let t=e;if(t&&(t.name===`QuotaExceededError`||t.name===`NS_ERROR_DOM_QUOTA_REACHED`||t.code===22||t.code===1014)){Te=!0;try{typeof window<`u`&&typeof CustomEvent==`function`&&window.dispatchEvent(new CustomEvent(A))}catch{}}}}function Re(){try{if(typeof localStorage>`u`)return[];let e=localStorage.getItem(O);if(!e)return[];let t=H(JSON.parse(e));return t.length&&U(t),t}catch{return[]}}async function W(){try{if(typeof localStorage>`u`)return;let e=localStorage.getItem(O);if(!e)return;try{JSON.parse(e);return}catch{}let t=H(await r(e));if(B)return;M=t,B=!0,typeof window<`u`&&typeof CustomEvent==`function`&&window.dispatchEvent(new CustomEvent(k,{detail:t}))}catch{}}var G=W();function K(){return G}function q(){return M??=Re(),M}function J(){let e=M;M=null,B=!1,G=W();try{if(typeof localStorage>`u`)return;let e=localStorage.getItem(O);if(!e)return;JSON.parse(e)}catch{M=e}}function Y(e){return e.length<=j?e:[...e].sort((e,t)=>(t.lastTouchedByUserAt??t.updatedAt)-(e.lastTouchedByUserAt??e.updatedAt)).slice(0,j)}function X(e){let t=H(e);M=t,B=!0,U(t);try{typeof window<`u`&&typeof CustomEvent==`function`&&window.dispatchEvent(new CustomEvent(k,{detail:t}))}catch{}}function Z(e,t,n=Date.now(),r={}){let i=!1,a=q().map(a=>a.id===e?(i=!0,{...t(a),updatedAt:n,...r.userTouch?{lastTouchedByUserAt:n}:{}}):a);i&&X(a)}var Q=null,ze=null;function Be(){let e=q();return(ze!==e||Q===null)&&(Q=[...e].sort((e,t)=>(t.lastTouchedByUserAt??t.createdAt)-(e.lastTouchedByUserAt??e.createdAt)),ze=e),Q}function Ve(e){return q().find(t=>t.id===e)??null}function He(e){X(Y([De({...e,lastTouchedByUserAt:e.lastTouchedByUserAt??e.updatedAt}),...q().filter(t=>t.id!==e.id)]))}function Ue(e){let t=H(e);if(!t.length)return 0;let n=new Map(q().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 X(Y([...n.values()])),t.length}function We(e){let t=e.now??Date.now();return{id:N(),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 Ge(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 Ke(e,t){Z(e,e=>({...e,...t}),void 0,{userTouch:!0})}function qe(e,t,n=Date.now()){Z(e,e=>{let r={...e.cadence,...t};return{...e,cadence:r,...t.data===void 0?{}:{nextDataAt:c(r,n)},...t.ai===void 0?{}:{nextAiAt:o(n,a[r.ai])}}},n,{userTouch:!0})}function Je(e){let t=q().filter(t=>t.id!==e);t.length!==q().length&&(X(t),g(new Set(t.map(e=>e.id))),de(e),_e(e))}function Ye(){q().length!==0&&(X([]),g(new Set))}function Xe(e,t,n){Z(e,e=>{let r=[...e.widgets];if(t<0||t>=r.length||n<0||n>=r.length)return e;let[i]=r.splice(t,1);return r.splice(n,0,i),{...e,widgets:r}},void 0,{userTouch:!0})}function Ze(e,t,n){Z(e,e=>({...e,widgets:e.widgets.map(e=>e.id===t?{...e,span:n}:e)}),void 0,{userTouch:!0})}function Qe(e,t){Z(e,e=>({...e,widgets:e.widgets.filter(e=>e.id!==t)}),void 0,{userTouch:!0})}function $e(e,t,n={}){let r=Array.isArray(t)?t:[t];r.length!==0&&Z(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=>!z.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(-nt)}:{}}},void 0,{userTouch:!0})}function et(e,t,n){let r=n.trim();if(!r||t.length===0)return;let i=new Set(t);Z(e,e=>({...e,widgets:e.widgets.map(e=>i.has(e.id)?{...e,refreshQuery:r}:e)}))}function tt(e,t){Z(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 nt=24;function rt(e,t){Z(e,e=>({...e,sources:[...e.sources,t].slice(-24)}),void 0,{userTouch:!0})}var it=12;function $(e,t){Z(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 at(e,t,n){if(n===null)return e;let r=[...e??[],{at:t,value:n}];return r.length>Ce?r.slice(-60):r}function ot(e,t,n,r,i,a=Date.now()){Z(e,e=>({...e,metrics:e.metrics.map(e=>e.id===t?{...e,lastValue:n,lastRaw:r,origin:i,asOf:a,history:at(e.history,a,n)}:e)}),a,{userTouch:i===`user`})}function st(e,t,n=Date.now()){Z(e,e=>({...e,tripwires:t}),n)}function ct(e,t,n=Date.now()){Z(e,e=>({...e,lastVerdict:t,lastVerdictAttemptAt:n,lastVerdictError:void 0}),n)}function lt(e,t,n){Z(e,e=>({...e,lastVerdictAttemptAt:t,lastVerdictError:n}),t)}function ut(e,t=Date.now(),n=`updated`){Z(e,e=>{let r=R(e.cadence,t);return{...e,cadence:r,nextDataAt:c(r,t),lastRefreshedAt:t,lastDataOutcome:n,state:E(t)}})}function dt(e,t,n=Date.now()){Z(e,e=>({...e,state:D(T(e),t,n)}))}function ft(e,t){Z(e,e=>({...e,nextDataAt:t,...e.oneShotAt!==void 0&&e.oneShotAt<t?{oneShotAt:t}:{}}))}function pt(e,t=Date.now()){Z(e,e=>e.oneShotAt===void 0?{...e,oneShotAt:t,oneShotLabel:`first check`}:e)}function mt(e,t=Date.now()){Z(e,e=>({...e,nextAiAt:o(t,a[e.cadence.ai])}))}function ht(e,t,n=Date.now()){Z(e,e=>{let r=t?{...e.cadence,window:t}:{...e.cadence,window:void 0};return{...e,cadence:r,nextDataAt:c(r,n)}},n,{userTouch:t?.origin===`user`})}function gt(e,t,n,r=Date.now()){Z(e,e=>({...e,oneShotAt:t,oneShotLabel:n}),r,{userTouch:!0})}function _t(e,t=Date.now()){Z(e,e=>({...e,oneShotAt:void 0,oneShotLabel:void 0}),t)}var vt=3e5;function yt(e,t,n=Date.now()){Z(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 s=R(e.cadence,n),l=c(s,n),u=t.outcome===`unverified`&&e.lastDataOutcome!==`unverified`&&l!==2**53-1&&(!s.window||n>=s.window.startAt)?Math.min(l,n+vt):l;return{...e,cadence:s,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:at(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,state:t.outcome===`unverified`?D(T(e),{kind:`ungrounded`},n):E(n),prediction:a,predictionHistory:o}},n)}export{be as A,ue as B,Je as C,tt as D,ct as E,K as F,ne as G,se as H,ye as I,i as J,te as K,ve as L,Ke as M,ot as N,et as O,st as P,T as R,N as S,ht as T,oe as U,ce as V,ae as W,c as X,s as Y,o as Z,mt as _,He as a,lt as b,Ge as c,pt as d,$ as f,J as g,Ee as h,xe as i,qe as j,Ze as k,_t as l,Be as m,A as n,$e as o,Ve as p,a as q,it as r,yt as s,k as t,We as u,ft as v,Qe as w,Ue as x,dt as y,he as z};