@mavea/mavea 1.0.7

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 (557) hide show
  1. package/CHANGELOG.md +159 -0
  2. package/DISCLAIMER.md +16 -0
  3. package/LICENSE +75 -0
  4. package/PRIVACY.md +127 -0
  5. package/README.md +248 -0
  6. package/SECURITY.md +72 -0
  7. package/SUPPORT.md +13 -0
  8. package/TERMS.md +122 -0
  9. package/THIRD-PARTY.txt +639 -0
  10. package/TRADEMARKS.md +15 -0
  11. package/bin/mavea.mjs +1079 -0
  12. package/dist/.vite/manifest.json +4261 -0
  13. package/dist/_headers +52 -0
  14. package/dist/assets/AppCommandPalette-DUMSp3rd.js +1 -0
  15. package/dist/assets/AtlasView-B5fkQhO6.css +1 -0
  16. package/dist/assets/AtlasView-Dl2fssaG.js +1 -0
  17. package/dist/assets/BlockEmpty-CLtVQf6c.js +1 -0
  18. package/dist/assets/BriefingPlayer-DO205Qkh.js +1 -0
  19. package/dist/assets/BriefingPlayer-TpFZB77N.css +1 -0
  20. package/dist/assets/CanvasSkeleton-BZZPCuRZ.js +2 -0
  21. package/dist/assets/CanvasSkeleton-iy6DBvde.css +1 -0
  22. package/dist/assets/CardEditor-BY1bZiV6.css +1 -0
  23. package/dist/assets/CardEditor-DzJXb0G7.js +1 -0
  24. package/dist/assets/CheckLogRail-F4AlgAcc.css +1 -0
  25. package/dist/assets/CheckLogRail-wUfby67Z.js +1 -0
  26. package/dist/assets/CodeOutput-Kh6ldxQz.js +97 -0
  27. package/dist/assets/CommandPalette-Bb-eErih.css +1 -0
  28. package/dist/assets/CommandPalette-Kl00mMZm.js +1 -0
  29. package/dist/assets/CourseLessonReader-COmTQdSK.css +1 -0
  30. package/dist/assets/CourseLessonReader-MBHoknUz.js +2 -0
  31. package/dist/assets/CourseRail-CUa7uIGG.css +1 -0
  32. package/dist/assets/CourseRail-q6x5cCpW.js +1 -0
  33. package/dist/assets/CoursesApp-v89OVJvg.js +2 -0
  34. package/dist/assets/CrossExamPanel-CZ0ShGma.css +1 -0
  35. package/dist/assets/CrossExamPanel-DH04p6VS.js +1 -0
  36. package/dist/assets/DashPresent-BYXbPuGj.js +1 -0
  37. package/dist/assets/DashPresent-DQYcgp-W.css +1 -0
  38. package/dist/assets/DashboardDetail-B50ZkeVK.js +2 -0
  39. package/dist/assets/DashboardLoopRuntime-CFXPx3v_.js +1 -0
  40. package/dist/assets/DashboardOverview-C-FdGWM5.js +1 -0
  41. package/dist/assets/DashboardSettings-Dmw6JTbI.js +1 -0
  42. package/dist/assets/DashboardsApp-Dx-EsaPW.css +1 -0
  43. package/dist/assets/DashboardsApp-JSY_bVfi.js +2 -0
  44. package/dist/assets/DeepZoomApp-BFNwli7l.js +37 -0
  45. package/dist/assets/DeepZoomApp-fRXCJHHZ.css +1 -0
  46. package/dist/assets/DelegatePanel-BK7rEhIc.js +26 -0
  47. package/dist/assets/DelegatePanel-_9RZiLHM.css +1 -0
  48. package/dist/assets/DemoGallery-BPtVG7_y.js +1 -0
  49. package/dist/assets/DropSelect-DUhdQSta.js +1 -0
  50. package/dist/assets/ExportModal-D4WpAg2c.css +1 -0
  51. package/dist/assets/ExportModal-D65cGyj_.js +2 -0
  52. package/dist/assets/ExtractionPreview-Iwfg2Ogl.js +18 -0
  53. package/dist/assets/FallbackCard-B489rTd9.js +1 -0
  54. package/dist/assets/FallbackCard-D_6ps1xA.css +1 -0
  55. package/dist/assets/FeatureUseNotice-CWt7gOwS.css +1 -0
  56. package/dist/assets/FeatureUseNotice-DPtQ0OGb.js +1 -0
  57. package/dist/assets/FlagshipCTA-BXntKhxb.js +1 -0
  58. package/dist/assets/FlagshipCommandPalette-BDJfasI-.js +1 -0
  59. package/dist/assets/FlagshipShowcase-DJ8Gxk_G.js +1 -0
  60. package/dist/assets/FlashcardsApp-CLNo4WX7.js +1 -0
  61. package/dist/assets/ForecastPanel-Da2ZBUrE.css +1 -0
  62. package/dist/assets/ForecastPanel-PBO2-dgS.js +1 -0
  63. package/dist/assets/GalleryApp-B1CB3_81.css +1 -0
  64. package/dist/assets/GalleryApp-DM03CMRy.js +1 -0
  65. package/dist/assets/HonestByDesign-Dqyth6nW.js +1 -0
  66. package/dist/assets/HowItWorks-C0zosIvq.js +1 -0
  67. package/dist/assets/LegalApp-DZBdExTy.js +1 -0
  68. package/dist/assets/LegalMarkdownDocument-CSZhRG5r.js +3 -0
  69. package/dist/assets/LegalPageShell-C_HottbD.css +1 -0
  70. package/dist/assets/LegalPageShell-DTeXqWyc.js +1 -0
  71. package/dist/assets/LeverPanel-DhpJY76O.css +1 -0
  72. package/dist/assets/LeverPanel-aZfhtVJX.js +1 -0
  73. package/dist/assets/Library-D2XGNXz7.js +1 -0
  74. package/dist/assets/Library-DmrtHjUf.css +1 -0
  75. package/dist/assets/LibraryOverlay-B2WQSgwr.js +1 -0
  76. package/dist/assets/LibraryOverlay-CnKWDMG_.css +1 -0
  77. package/dist/assets/LiveApp-B9zwXlGC.js +61 -0
  78. package/dist/assets/LiveApp-BVZGpJ1S.css +1 -0
  79. package/dist/assets/LiveSettings-CmgrMqvK.css +1 -0
  80. package/dist/assets/LiveSettings-D9OcWlm6.js +6 -0
  81. package/dist/assets/MindMapViewerDrawer-YYyZqmAd.js +1 -0
  82. package/dist/assets/MindShape-Ca3MXEgK.css +1 -0
  83. package/dist/assets/MindShape-mTlN5mPZ.js +1 -0
  84. package/dist/assets/Orb-B0NEVfqL.js +1 -0
  85. package/dist/assets/PinToDashboard-_kIOHs0k.js +1 -0
  86. package/dist/assets/PlanReview-33V8GTNB.js +1 -0
  87. package/dist/assets/Presence-CzLJIeSD.js +1 -0
  88. package/dist/assets/PresentationDeck-BDoGecxr.js +1 -0
  89. package/dist/assets/PrismApp-PfBTFhMF.js +2 -0
  90. package/dist/assets/PrismAskController-DBoxQSJR.css +1 -0
  91. package/dist/assets/PrismAskController-DbQDrlU9.js +37 -0
  92. package/dist/assets/PrismBriefingPlayer-1fvlfLR8.js +2 -0
  93. package/dist/assets/PrismOverlay-B7lEspdu.js +131 -0
  94. package/dist/assets/PrismOverlay-BTfAicBt.css +1 -0
  95. package/dist/assets/PrivacyApp-CR4lRs0L.js +128 -0
  96. package/dist/assets/Quiz-CUwtekfu.js +1 -0
  97. package/dist/assets/Recap-DCiiWNiV.css +1 -0
  98. package/dist/assets/Recap-H5fhj5Tc.js +1 -0
  99. package/dist/assets/ReelJelly-3jSVsJsy.js +1 -0
  100. package/dist/assets/RehearsalPanel-BCU615wg.css +1 -0
  101. package/dist/assets/RehearsalPanel-BVgjrOPg.js +6 -0
  102. package/dist/assets/ReplayCard-BpYO5vX-.js +2 -0
  103. package/dist/assets/ReplayOverlay-DXmVdeIr.js +1 -0
  104. package/dist/assets/RewindOverlay-BusfWeFq.js +1 -0
  105. package/dist/assets/RewindOverlay-C92qgvmi.css +1 -0
  106. package/dist/assets/RippleApp-9KrJPYgN.js +2 -0
  107. package/dist/assets/RippleAskController-BNAUoIW0.css +1 -0
  108. package/dist/assets/RippleAskController-CO9wE7hU.js +34 -0
  109. package/dist/assets/RippleOverlay-DMHLbfh8.js +6 -0
  110. package/dist/assets/RippleOverlay-_iiZsQVZ.css +1 -0
  111. package/dist/assets/SeeDontRead-C389viue.js +1 -0
  112. package/dist/assets/ShareModal-C8S7ySls.css +1 -0
  113. package/dist/assets/ShareModal-ClnEkudw.js +32 -0
  114. package/dist/assets/ShipCascade-BUtwvQoW.js +1 -0
  115. package/dist/assets/ShipCascade-CyFnrlET.css +1 -0
  116. package/dist/assets/ShipCourse-B7lG6DYW.js +1 -0
  117. package/dist/assets/ShipCourse-DcT7PUSm.css +1 -0
  118. package/dist/assets/ShipGate-BVZfCllb.css +1 -0
  119. package/dist/assets/ShipGate-BYYu9WVq.js +2 -0
  120. package/dist/assets/ShipHotspots-Bj2CovtT.js +1 -0
  121. package/dist/assets/ShipHotspots-CLOMutPv.css +1 -0
  122. package/dist/assets/ShipIncident-BUHvFFiC.css +1 -0
  123. package/dist/assets/ShipIncident-DcmindmE.js +2 -0
  124. package/dist/assets/ShipMigration-BznCskNg.css +1 -0
  125. package/dist/assets/ShipMigration-s0hVjDQl.js +1 -0
  126. package/dist/assets/ShipOnboarding-BC9Vxkpa.css +1 -0
  127. package/dist/assets/ShipOnboarding-ekbHL7OH.js +1 -0
  128. package/dist/assets/ShipRead-BVNgQT6L.js +1 -0
  129. package/dist/assets/ShipRollout-BdUQzMyP.js +1 -0
  130. package/dist/assets/ShipRollout-CqeObx5b.css +1 -0
  131. package/dist/assets/ShipSuggestions-B6fKYh8L.js +1 -0
  132. package/dist/assets/ShipSuggestions-BKRvk5Mj.css +1 -0
  133. package/dist/assets/ShipWorkspace-3D3Rrs1p.js +2 -0
  134. package/dist/assets/ShipWorkspace-D6XQpGEN.css +1 -0
  135. package/dist/assets/SignatureLoop-C60r8Wm5.js +1 -0
  136. package/dist/assets/SrsReview-BoaYb6XN.js +1 -0
  137. package/dist/assets/SrsReview-DmGdGxT0.css +1 -0
  138. package/dist/assets/SynthesisApp-vJ2Jq0Qe.js +2 -0
  139. package/dist/assets/SynthesisOverlay-CkERphvG.js +66 -0
  140. package/dist/assets/TermsApp-C70tW6m6.js +123 -0
  141. package/dist/assets/TopicCanvas-CT0eSj2M.js +2 -0
  142. package/dist/assets/TopicCanvas-D2Nax9II.css +1 -0
  143. package/dist/assets/TourPrism-BvucSkcs.js +1 -0
  144. package/dist/assets/TrackerTile-CasZNmt4.js +2 -0
  145. package/dist/assets/TwoSurfaces-C90X7Aj5.js +1 -0
  146. package/dist/assets/UnderstoodPanel-CHPD2Ttj.js +1 -0
  147. package/dist/assets/UnderstoodPanel-Q6GX1TFq.css +1 -0
  148. package/dist/assets/WhyMachineOverlay-BZk3PVTl.css +1 -0
  149. package/dist/assets/WhyMachineOverlay-CB0_n6Sy.js +1 -0
  150. package/dist/assets/WowFeatures-Ci_H5QYX.js +1 -0
  151. package/dist/assets/ZoomDeck-B2SjNwY7.css +1 -0
  152. package/dist/assets/ZoomDeck-BQHO79ZU.js +1 -0
  153. package/dist/assets/__vite-browser-external-BufR4LQa.js +1 -0
  154. package/dist/assets/ai-Ba4lZJ9Y.js +12 -0
  155. package/dist/assets/alternateFinishes-DZ-rkpkX.js +494 -0
  156. package/dist/assets/annotationAuto-B0nihA4F.js +1 -0
  157. package/dist/assets/annotationReel-BcU9Q0Sw.js +1 -0
  158. package/dist/assets/annotations-D2K9A5GB.js +1 -0
  159. package/dist/assets/backup-c-Btapzp.js +1 -0
  160. package/dist/assets/blockLabel-DAqaHKy3.js +1 -0
  161. package/dist/assets/c-DWGmR78Y.js +1 -0
  162. package/dist/assets/c-SSSlmE39.js +1 -0
  163. package/dist/assets/cache-BumECILO.js +1 -0
  164. package/dist/assets/canvas-QTEIiK23.js +1 -0
  165. package/dist/assets/catalog-BHjl-1uH.js +2 -0
  166. package/dist/assets/catalog-Dqaq2YFd.js +1 -0
  167. package/dist/assets/cfo.generated-Bjl5OGay.js +1 -0
  168. package/dist/assets/chapters-BiUsDClQ.js +1 -0
  169. package/dist/assets/charts1-EOoxU_K3.js +1 -0
  170. package/dist/assets/charts2-tyUiQPff.js +1 -0
  171. package/dist/assets/chunk-BVpWp9h4.js +1 -0
  172. package/dist/assets/citation-BcvmjKS8.js +1 -0
  173. package/dist/assets/code-CpjYCNS8.js +8 -0
  174. package/dist/assets/codeContext-0UMRSGRr.js +5 -0
  175. package/dist/assets/colors-D49Req-e.js +1 -0
  176. package/dist/assets/compose-BJ9EfcQS.js +3 -0
  177. package/dist/assets/contentVault-DzTYWcbD.js +1 -0
  178. package/dist/assets/core-DEFyprhs.js +1 -0
  179. package/dist/assets/corpus.generated-oX9uU93S.js +11 -0
  180. package/dist/assets/courseSeed-CZdNBTTs.js +1 -0
  181. package/dist/assets/courseStore-DfafnL-9.js +1 -0
  182. package/dist/assets/courses-BkH1ntDL.css +1 -0
  183. package/dist/assets/cpp-BGdv8dzs.js +1 -0
  184. package/dist/assets/cpp-CNAAXZl-.js +1 -0
  185. package/dist/assets/csharp-oqKa8noW.js +1 -0
  186. package/dist/assets/css-CdtkT07m.js +1 -0
  187. package/dist/assets/css-LbU1hoFO.js +1 -0
  188. package/dist/assets/dag-C3Xx8pOD.js +2 -0
  189. package/dist/assets/dashboardEvents-DR9d_c74.js +2 -0
  190. package/dist/assets/dashboards-rcWxdoXI.css +1 -0
  191. package/dist/assets/deckLine-NBd3MyGT.js +1 -0
  192. package/dist/assets/demoPaletteItems-NPCSaSU6.js +1 -0
  193. package/dist/assets/dev.generated-DYgVxL_4.js +73 -0
  194. package/dist/assets/diagrams-CaSfjT4I.js +1 -0
  195. package/dist/assets/diff-woXpYk--.js +1 -0
  196. package/dist/assets/display-OvC57CMc.js +9 -0
  197. package/dist/assets/dist-BFx3nZg4.js +2785 -0
  198. package/dist/assets/dist-xRGLOZwv.js +14 -0
  199. package/dist/assets/docs-B2aDtm5K.js +1 -0
  200. package/dist/assets/everyday-CoZa4kDZ.js +1 -0
  201. package/dist/assets/explode-WBykfhqW.js +13 -0
  202. package/dist/assets/extractNumbers-CuhagRkd.js +1 -0
  203. package/dist/assets/facts-BBTt3ImG.js +1 -0
  204. package/dist/assets/finance-Bxn_Q1p0.js +1 -0
  205. package/dist/assets/fit-0HxU-rtB.js +1 -0
  206. package/dist/assets/fitText-CDFmCQzl.js +1 -0
  207. package/dist/assets/flows-BL81J7yN.js +1 -0
  208. package/dist/assets/format-DlZTyeMy.js +1 -0
  209. package/dist/assets/format-hc2QOoIu.js +1 -0
  210. package/dist/assets/forms-DeoXOxdD.js +1 -0
  211. package/dist/assets/generate-8odaTyr4.js +17 -0
  212. package/dist/assets/generateBeats-b64CL54v.js +1 -0
  213. package/dist/assets/generateCourse-Cj_-vDWu.js +28 -0
  214. package/dist/assets/generateLive-D4B30fnF.js +52 -0
  215. package/dist/assets/geometry-DXAbnb0J.js +1 -0
  216. package/dist/assets/gesture-DabMpPcq.js +2 -0
  217. package/dist/assets/github-dark-C-LZuMrd.js +1 -0
  218. package/dist/assets/github-light-EUqPIrTm.js +1 -0
  219. package/dist/assets/githubBrowser-DywfDeYx.js +1 -0
  220. package/dist/assets/githubToken-DtcLYqwm.js +11 -0
  221. package/dist/assets/go-rLFTqkRN.js +1 -0
  222. package/dist/assets/homeTarget-BgWKI_E1.js +1 -0
  223. package/dist/assets/html-BcACZWSP.js +1 -0
  224. package/dist/assets/html-DDNsd9lV.js +1 -0
  225. package/dist/assets/http-CJCtjYpA.js +2 -0
  226. package/dist/assets/icons-CHVz6kv_.js +1 -0
  227. package/dist/assets/index-CepQEz75.css +1 -0
  228. package/dist/assets/index-y8GL67bB.js +22 -0
  229. package/dist/assets/index.es-CRLiWwiA.js +5 -0
  230. package/dist/assets/info-CiqHR5cs.js +1 -0
  231. package/dist/assets/java-BtIQNnN0.js +1 -0
  232. package/dist/assets/java-DxlWrXwe.js +1 -0
  233. package/dist/assets/javascript-BzbQS41l.js +1 -0
  234. package/dist/assets/javascript-Yelw-5ZN.js +1 -0
  235. package/dist/assets/json-B0N3XRZU.js +1 -0
  236. package/dist/assets/json-B88Oqtu5.js +1 -0
  237. package/dist/assets/json-CaljABEy.js +1 -0
  238. package/dist/assets/jspdf.es.min-C-Pf79px.js +79 -0
  239. package/dist/assets/jsx-D3KKoC5L.js +1 -0
  240. package/dist/assets/jsx-hEbJ82HF.js +1 -0
  241. package/dist/assets/jsx-runtime-DaSxXjOY.js +1 -0
  242. package/dist/assets/katex-BMCG0xok.js +257 -0
  243. package/dist/assets/keyVault-DEsNh9FR.js +1 -0
  244. package/dist/assets/kokoro-D4GKpSL0.js +1 -0
  245. package/dist/assets/kotlin-DhhofPvG.js +1 -0
  246. package/dist/assets/layout-BFQOzXtG.js +1 -0
  247. package/dist/assets/layout-CkO0Psde.js +1 -0
  248. package/dist/assets/lazyRetry-D50B1UMY.js +1 -0
  249. package/dist/assets/leaflet-src-C_xhOQY7.js +1 -0
  250. package/dist/assets/learn-DVfqN-nf.js +1 -0
  251. package/dist/assets/lib-DMAxsZKm.css +1 -0
  252. package/dist/assets/lib-VFqp6Y3w.js +1 -0
  253. package/dist/assets/links--u_phi0x.js +1 -0
  254. package/dist/assets/liveSchema-CJ49PX5R.js +98 -0
  255. package/dist/assets/markdown-BYOwaDjH.js +1 -0
  256. package/dist/assets/mastery-BPjxP0fN.js +4 -0
  257. package/dist/assets/media-CsrUl279.js +43 -0
  258. package/dist/assets/model-BE0UHu1w.js +27 -0
  259. package/dist/assets/motion-S0NRruNj.js +1 -0
  260. package/dist/assets/nav-Czm-NzPV.js +1 -0
  261. package/dist/assets/neighborhoods-C-1Tjr1r.js +1 -0
  262. package/dist/assets/notes-A9t4jdfx.css +1 -0
  263. package/dist/assets/notes-lROPCorS.js +1 -0
  264. package/dist/assets/notify-Bz4wuE4T.js +1 -0
  265. package/dist/assets/now-C9-UAzTC.js +1 -0
  266. package/dist/assets/number-DXgzss0v.js +1 -0
  267. package/dist/assets/officeDoc-B6nEhNp4.js +3 -0
  268. package/dist/assets/openchemlib-nMLMmg26.js +23 -0
  269. package/dist/assets/overlays-JxbHtA2o.js +1 -0
  270. package/dist/assets/owners-FXDGInVq.js +2 -0
  271. package/dist/assets/pageVisibility-BxUVsw7Z.js +1 -0
  272. package/dist/assets/pdf-Df7PCH7q.js +11 -0
  273. package/dist/assets/pdf.worker.min-yatZIOMy.mjs +21 -0
  274. package/dist/assets/penStrokes-9Q_l7NTt.js +1 -0
  275. package/dist/assets/perfProbe-COAp9PAa.js +1 -0
  276. package/dist/assets/php-CYrBA5iX.js +1 -0
  277. package/dist/assets/pickers-B4-3HOR8.js +1 -0
  278. package/dist/assets/pin-Bya3BL_a.css +1 -0
  279. package/dist/assets/pin-CXSuPJYL.js +1 -0
  280. package/dist/assets/planTracker-7AMCQPNx.js +1 -0
  281. package/dist/assets/portal-DMw7C32j.js +1 -0
  282. package/dist/assets/pptxgen.es-CvTILmV9.js +115 -0
  283. package/dist/assets/predictions-CYS7Vo39.js +1 -0
  284. package/dist/assets/prewarm--whjQhWJ.js +1 -0
  285. package/dist/assets/prism-app-CXYElq8-.css +1 -0
  286. package/dist/assets/prism.generated-BhbHDHR6.js +41 -0
  287. package/dist/assets/prismExtract.worker-Cws9K1NG.js +13 -0
  288. package/dist/assets/prismGround.worker-CIvKqxm2.js +1 -0
  289. package/dist/assets/prismLayout.worker-CZO2CY7B.js +1 -0
  290. package/dist/assets/providers-wzm7E8Pa.js +1 -0
  291. package/dist/assets/purify.es-adlwq8Pz.js +3 -0
  292. package/dist/assets/python-gzcpVVnB.js +1 -0
  293. package/dist/assets/queue-DHeyJ32F.css +1 -0
  294. package/dist/assets/queue-J4h7E3uc.js +1 -0
  295. package/dist/assets/quietHours-BvcsBKKK.js +1 -0
  296. package/dist/assets/react-BQSORdFI.js +1 -0
  297. package/dist/assets/reference-sJzyMiL4.js +1 -0
  298. package/dist/assets/registry-1GuPBfQK.js +1 -0
  299. package/dist/assets/registry-2GJZ46M8.css +1 -0
  300. package/dist/assets/registry-2v0jlh5Q.js +2 -0
  301. package/dist/assets/registry-B8DStMJk.js +1 -0
  302. package/dist/assets/registry-B940W2j5.js +1 -0
  303. package/dist/assets/registry-BAoRB8rd.css +1 -0
  304. package/dist/assets/registry-BPvIPLke.js +1 -0
  305. package/dist/assets/registry-BVHiKEwE.css +1 -0
  306. package/dist/assets/registry-BcZXBr3y.css +1 -0
  307. package/dist/assets/registry-BffpZK5w.js +1 -0
  308. package/dist/assets/registry-BgGeRiDA.js +2 -0
  309. package/dist/assets/registry-Buq5uuCv.js +1 -0
  310. package/dist/assets/registry-BzNLfje1.css +1 -0
  311. package/dist/assets/registry-C3ezxLR3.css +1 -0
  312. package/dist/assets/registry-CAusoyBh.js +1 -0
  313. package/dist/assets/registry-CEVrY72Z.js +1 -0
  314. package/dist/assets/registry-CKjKq6ct.js +1 -0
  315. package/dist/assets/registry-CNgybLQv.css +1 -0
  316. package/dist/assets/registry-CRM7y8QT.css +1 -0
  317. package/dist/assets/registry-CRisz4Ca.css +1 -0
  318. package/dist/assets/registry-Cg7qUZPS.js +1 -0
  319. package/dist/assets/registry-Cix-yqch.js +1 -0
  320. package/dist/assets/registry-CtbuZWYz.css +1 -0
  321. package/dist/assets/registry-DCI_BeFJ.js +5 -0
  322. package/dist/assets/registry-DDLSYDVA.js +1 -0
  323. package/dist/assets/registry-DI1wSG1Y.js +1 -0
  324. package/dist/assets/registry-DJinB5ye.js +2 -0
  325. package/dist/assets/registry-DUvXX_d0.js +1 -0
  326. package/dist/assets/registry-DVzLacl_.css +1 -0
  327. package/dist/assets/registry-DWcNVyI2.css +1 -0
  328. package/dist/assets/registry-D_URPoL4.js +1 -0
  329. package/dist/assets/registry-Dkc7hN5T.js +1 -0
  330. package/dist/assets/registry-DmQlNN3y.js +1 -0
  331. package/dist/assets/registry-DpaaVbmL.css +1 -0
  332. package/dist/assets/registry-Dpb8EXHn.js +49 -0
  333. package/dist/assets/registry-Dru0JcTa.css +1 -0
  334. package/dist/assets/registry-DujBAgn_.js +1 -0
  335. package/dist/assets/registry-Dye5m3qt.css +1 -0
  336. package/dist/assets/registry-GeSy4i7R.css +1 -0
  337. package/dist/assets/registry-QcULZpdE.js +4 -0
  338. package/dist/assets/registry-T3i2Q9SI.css +1 -0
  339. package/dist/assets/registry-UFIuwh3i.css +1 -0
  340. package/dist/assets/registry-Xzq_Rpmm.css +1 -0
  341. package/dist/assets/registry-ZOWzhOHk.css +1 -0
  342. package/dist/assets/registry-aIH-Im5Y.css +1 -0
  343. package/dist/assets/registry-aazwkBJp.js +1 -0
  344. package/dist/assets/registry-ei6fIgBT.css +1 -0
  345. package/dist/assets/registry-types-DMuK0vJ6.js +1 -0
  346. package/dist/assets/registry-upbw6pyj.css +1 -0
  347. package/dist/assets/registry-zRPjWNl5.js +1 -0
  348. package/dist/assets/relate-A9ZeaaAI.js +1 -0
  349. package/dist/assets/richText-BkxJhl9N.js +1 -0
  350. package/dist/assets/ruby-BhrksQMt.js +1 -0
  351. package/dist/assets/run-BYP2YlZT.js +23 -0
  352. package/dist/assets/run-C_0B_41W.js +21 -0
  353. package/dist/assets/run-DSVvshaB.js +21 -0
  354. package/dist/assets/rust-Cfkwpbl8.js +1 -0
  355. package/dist/assets/safeCssColor-di93BXgG.js +1 -0
  356. package/dist/assets/safeImageUrl-CUkucDUu.js +1 -0
  357. package/dist/assets/scale-Bcgfo6Hp.js +1 -0
  358. package/dist/assets/screen-DLR7p_yP.js +1 -0
  359. package/dist/assets/search-DnjHupRf.js +1 -0
  360. package/dist/assets/seed-b1xc0dj2.js +1 -0
  361. package/dist/assets/shapes-RqjqC0ay.js +1 -0
  362. package/dist/assets/shard000-DM_rqD7W.js +1 -0
  363. package/dist/assets/shard001-gQEQs7_F.js +1 -0
  364. package/dist/assets/shard002-DbDas-W-.js +1 -0
  365. package/dist/assets/shard003-DxMszG4_.js +1 -0
  366. package/dist/assets/shard004-DZMpLBw1.js +1 -0
  367. package/dist/assets/shard005-DLVkh9IH.js +1 -0
  368. package/dist/assets/shard006-B6efKHov.js +1 -0
  369. package/dist/assets/shard007-AFdZLe38.js +1 -0
  370. package/dist/assets/shard008-LbSBzwRx.js +1 -0
  371. package/dist/assets/shard009-D_6-SUDb.js +1 -0
  372. package/dist/assets/shard010-DbOj-uZW.js +1 -0
  373. package/dist/assets/shard011-BYSz7EEW.js +1 -0
  374. package/dist/assets/shard012-B5Ypj7OV.js +1 -0
  375. package/dist/assets/shard013-BtsliNIe.js +1 -0
  376. package/dist/assets/shard014-15sjmk68.js +1 -0
  377. package/dist/assets/shard015-nnXrqru_.js +1 -0
  378. package/dist/assets/shard016-BayXFE13.js +1 -0
  379. package/dist/assets/shard017-Cy4cGexs.js +1 -0
  380. package/dist/assets/shard018-aO-BYJ8H.js +1 -0
  381. package/dist/assets/shard019-gxaTeA3I.js +1 -0
  382. package/dist/assets/shard020-BibJdMI0.js +1 -0
  383. package/dist/assets/shard021-2FE-tze4.js +1 -0
  384. package/dist/assets/shard022-IXiyG-JK.js +1 -0
  385. package/dist/assets/shard023-314F6NJS.js +1 -0
  386. package/dist/assets/shard024-cN5rpQ_X.js +1 -0
  387. package/dist/assets/shard025-KKTaXOGE.js +1 -0
  388. package/dist/assets/shard026-C2Dkd1t6.js +1 -0
  389. package/dist/assets/shard027-Xy-8x9As.js +1 -0
  390. package/dist/assets/shard028-Bul-klUj.js +1 -0
  391. package/dist/assets/shard029-BbRSUcUZ.js +1 -0
  392. package/dist/assets/shard030-GYllsFVC.js +1 -0
  393. package/dist/assets/shard031-DMigeiyn.js +1 -0
  394. package/dist/assets/shard032-CcvmzK0l.js +1 -0
  395. package/dist/assets/shard033-11AU702M.js +1 -0
  396. package/dist/assets/shard034-Bx3urxjM.js +1 -0
  397. package/dist/assets/shard035-DBdEeyCt.js +1 -0
  398. package/dist/assets/shard036-vYgoRBqS.js +1 -0
  399. package/dist/assets/shard037-DP4MMw91.js +1 -0
  400. package/dist/assets/shard038-ffxsv7d6.js +1 -0
  401. package/dist/assets/shard039-C1JHHNp9.js +1 -0
  402. package/dist/assets/shard040-JbVvCSO_.js +1 -0
  403. package/dist/assets/shard041-5L_eFwGx.js +1 -0
  404. package/dist/assets/shard042-C9nsGL79.js +1 -0
  405. package/dist/assets/shard043-Dx_9HSKI.js +1 -0
  406. package/dist/assets/shard044-B3QQNC4A.js +1 -0
  407. package/dist/assets/shard045-B7z0WHO6.js +1 -0
  408. package/dist/assets/shard046-D1yDablJ.js +1 -0
  409. package/dist/assets/shard047-DJi3AgeT.js +1 -0
  410. package/dist/assets/shard048-D_2ipfUr.js +1 -0
  411. package/dist/assets/shard049-1aGgWZdd.js +1 -0
  412. package/dist/assets/shard050-Bjwa0Og4.js +1 -0
  413. package/dist/assets/shard051-Cx_GAk3v.js +1 -0
  414. package/dist/assets/shard052-LaeOD3V5.js +1 -0
  415. package/dist/assets/shard053-D-da7Foj.js +1 -0
  416. package/dist/assets/shard054-CM8eSRQk.js +1 -0
  417. package/dist/assets/shard055-QRpDl4Vs.js +1 -0
  418. package/dist/assets/shard056-DkY7CQm3.js +1 -0
  419. package/dist/assets/shard057-BVCgf7o0.js +1 -0
  420. package/dist/assets/shard058-93aGtdrX.js +1 -0
  421. package/dist/assets/shard059-rJE9X1_I.js +1 -0
  422. package/dist/assets/shard060-Lu_hfl1r.js +1 -0
  423. package/dist/assets/shard061-C9A8iNiq.js +1 -0
  424. package/dist/assets/shard062-BBIpEYZO.js +1 -0
  425. package/dist/assets/shard063-C_uen3Ub.js +1 -0
  426. package/dist/assets/shard064-DAHUsHST.js +1 -0
  427. package/dist/assets/shard065-C2edvdvh.js +1 -0
  428. package/dist/assets/shard066-DFcuVhZm.js +1 -0
  429. package/dist/assets/shard067-BN8DM8JZ.js +1 -0
  430. package/dist/assets/shard068-i464K77p.js +1 -0
  431. package/dist/assets/shard069-Dm9m2a5U.js +1 -0
  432. package/dist/assets/shard070-BPVvR8GH.js +1 -0
  433. package/dist/assets/shard071-Bal_0d9L.js +1 -0
  434. package/dist/assets/shard072-CBQu62kt.js +1 -0
  435. package/dist/assets/shard073-D5BRae0w.js +1 -0
  436. package/dist/assets/shard074-DtFvcBnZ.js +1 -0
  437. package/dist/assets/share-QHGHNDhQ.js +1 -0
  438. package/dist/assets/shellscript-BiGZg9Om.js +1 -0
  439. package/dist/assets/shellscript-CqHdAlCp.js +1 -0
  440. package/dist/assets/shikiHighlight-DUCYbsJ2.js +153 -0
  441. package/dist/assets/sourceHost-BV3t2XDb.js +1 -0
  442. package/dist/assets/speed-DwPw9KSv.js +1 -0
  443. package/dist/assets/spokenText-D4zPX9JY.js +1 -0
  444. package/dist/assets/sql-0Qcw9ht3.js +1 -0
  445. package/dist/assets/sql-CP0rg-5b.js +1 -0
  446. package/dist/assets/src-DbgF7cRH.js +2 -0
  447. package/dist/assets/stats-BeP5Bws0.js +1 -0
  448. package/dist/assets/status-BY02LIJt.js +1 -0
  449. package/dist/assets/stepDriver-DwjFet6U.js +1 -0
  450. package/dist/assets/store-4JNNn732.js +1 -0
  451. package/dist/assets/store-BFC7DZcg.js +1 -0
  452. package/dist/assets/store-BFrJaSxJ.js +1 -0
  453. package/dist/assets/store-DXmC_fP2.js +0 -0
  454. package/dist/assets/store-DgG0C1Qx.js +1 -0
  455. package/dist/assets/streamParse-DRgMHWye.js +2 -0
  456. package/dist/assets/student.generated-DS_acPaJ.js +1 -0
  457. package/dist/assets/swift-DonLKvLd.js +1 -0
  458. package/dist/assets/tables-Dzd3rTqG.js +1 -0
  459. package/dist/assets/time-BHTmJR1s.js +1 -0
  460. package/dist/assets/toast-BBNs2h3L.js +1 -0
  461. package/dist/assets/toml-CcmNWLt0.js +1 -0
  462. package/dist/assets/traveler.generated-Beun9X7y.js +1 -0
  463. package/dist/assets/tsx-5f3ulCja.js +1 -0
  464. package/dist/assets/tsx-BOvsFOI6.js +1 -0
  465. package/dist/assets/typeof-B5XbjTb1.js +1 -0
  466. package/dist/assets/typescript-Utq2Cl8c.js +1 -0
  467. package/dist/assets/typescript-j_1H8WHN.js +1 -0
  468. package/dist/assets/useDashboardLoop-B6ByHWoE.js +5 -0
  469. package/dist/assets/useFocusTrap-DbfG6zbM.js +1 -0
  470. package/dist/assets/useLiveConfig-X9Wxh90k.js +1 -0
  471. package/dist/assets/useSpatialCanvas-DogK9457.js +1 -0
  472. package/dist/assets/useSpotlightWalk-rMbmNBKK.js +1 -0
  473. package/dist/assets/useSrsCards-CagZefwX.js +1 -0
  474. package/dist/assets/useStudy-Bflreq2a.js +1 -0
  475. package/dist/assets/useTimeout-BRYvu2jQ.js +1 -0
  476. package/dist/assets/useValidatedImage-D2fhA198.js +1 -0
  477. package/dist/assets/useZoomGesture-CYc3tf2z.js +1 -0
  478. package/dist/assets/verbatim-CBMzUDlf.js +1 -0
  479. package/dist/assets/worker-BbLKfGzm.js +2 -0
  480. package/dist/assets/xml-WY0zc4PG.js +1 -0
  481. package/dist/assets/yaml-CxbubiML.js +1 -0
  482. package/dist/assets/yaml-DijMHRDA.js +1 -0
  483. package/dist/demo-assets/CREDITS.md +40 -0
  484. package/dist/demo-assets/images/basalt-cliffs.jpg +0 -0
  485. package/dist/demo-assets/images/capelinhos.jpg +0 -0
  486. package/dist/demo-assets/images/cliff-fields.jpg +0 -0
  487. package/dist/demo-assets/images/crater-panorama.jpg +0 -0
  488. package/dist/demo-assets/images/furnas-lake.jpg +0 -0
  489. package/dist/demo-assets/images/green-coast.jpg +0 -0
  490. package/dist/demo-assets/images/overcast-coast.jpg +0 -0
  491. package/dist/demo-assets/images/patchwork-fields.jpg +0 -0
  492. package/dist/demo-assets/images/ponta-delgada.jpg +0 -0
  493. package/dist/demo-assets/images/sete-cidades.jpg +0 -0
  494. package/dist/demo-assets/images/slide-placeholder-light.svg +9 -0
  495. package/dist/demo-assets/images/slide-placeholder.svg +9 -0
  496. package/dist/demo-assets/images/village-street.jpg +0 -0
  497. package/dist/demo-assets/pdf/cfd-primer.pdf +0 -0
  498. package/dist/demo-assets/video/azores-film.mp4 +0 -0
  499. package/dist/favicon.svg +19 -0
  500. package/dist/fonts/LICENSE.txt +34 -0
  501. package/dist/fonts/archivo-var-latin.woff2 +0 -0
  502. package/dist/fonts/bodoni-moda-400-italic-latin.woff2 +0 -0
  503. package/dist/fonts/bodoni-moda-var-latin.woff2 +0 -0
  504. package/dist/fonts/eb-garamond-var-italic-latin.woff2 +0 -0
  505. package/dist/fonts/eb-garamond-var-latin.woff2 +0 -0
  506. package/dist/fonts/export/families/archivo.css +12 -0
  507. package/dist/fonts/export/families/bodoni-moda.css +23 -0
  508. package/dist/fonts/export/families/eb-garamond.css +22 -0
  509. package/dist/fonts/export/families/ibm-plex-sans.css +12 -0
  510. package/dist/fonts/export/families/instrument-serif.css +22 -0
  511. package/dist/fonts/export/families/jetbrains-mono.css +12 -0
  512. package/dist/fonts/export/families/libre-franklin.css +12 -0
  513. package/dist/fonts/export/families/lora.css +22 -0
  514. package/dist/fonts/export/families/source-serif-4.css +12 -0
  515. package/dist/fonts/export/families/space-grotesk.css +12 -0
  516. package/dist/fonts/export/families/spectral.css +52 -0
  517. package/dist/fonts/fonts.css +141 -0
  518. package/dist/fonts/hanken-grotesk-var-latin.woff2 +0 -0
  519. package/dist/fonts/ibm-plex-sans-var-latin.woff2 +0 -0
  520. package/dist/fonts/instrument-serif-400-italic-latin.woff2 +0 -0
  521. package/dist/fonts/instrument-serif-400-latin.woff2 +0 -0
  522. package/dist/fonts/jetbrains-mono-var-latin.woff2 +0 -0
  523. package/dist/fonts/libre-franklin-var-latin.woff2 +0 -0
  524. package/dist/fonts/lora-var-italic-latin.woff2 +0 -0
  525. package/dist/fonts/lora-var-latin.woff2 +0 -0
  526. package/dist/fonts/newsreader-var-italic-latin.woff2 +0 -0
  527. package/dist/fonts/newsreader-var-latin.woff2 +0 -0
  528. package/dist/fonts/plex-mono-400-latin.woff2 +0 -0
  529. package/dist/fonts/plex-mono-500-latin.woff2 +0 -0
  530. package/dist/fonts/plex-mono-600-latin.woff2 +0 -0
  531. package/dist/fonts/source-serif-4-var-latin.woff2 +0 -0
  532. package/dist/fonts/space-grotesk-var-latin.woff2 +0 -0
  533. package/dist/fonts/spectral-400-italic-latin.woff2 +0 -0
  534. package/dist/fonts/spectral-400-latin.woff2 +0 -0
  535. package/dist/fonts/spectral-500-italic-latin.woff2 +0 -0
  536. package/dist/fonts/spectral-500-latin.woff2 +0 -0
  537. package/dist/fonts/spectral-600-latin.woff2 +0 -0
  538. package/dist/index.html +117 -0
  539. package/dist/legal/DISCLAIMER.md +16 -0
  540. package/dist/legal/LICENSE.txt +75 -0
  541. package/dist/legal/PRIVACY.md +127 -0
  542. package/dist/legal/SECURITY.md +72 -0
  543. package/dist/legal/SUPPORT.md +13 -0
  544. package/dist/legal/TERMS.md +122 -0
  545. package/dist/legal/THIRD-PARTY.txt +639 -0
  546. package/dist/legal/TRADEMARKS.md +15 -0
  547. package/dist/ort-wasm-simd-threaded.mjs +59 -0
  548. package/dist/sw.js +30 -0
  549. package/dist/vad.worklet.bundle.min.js +1 -0
  550. package/docker-compose.yml +33 -0
  551. package/gateway/README.md +99 -0
  552. package/gateway/actions-gateway.mjs +537 -0
  553. package/gateway/connectors.d.mts +27 -0
  554. package/gateway/connectors.mjs +463 -0
  555. package/gateway/guard.mjs +110 -0
  556. package/gateway/tokenStore.mjs +134 -0
  557. package/package.json +143 -0
@@ -0,0 +1 @@
1
+ import{r as e}from"./chunk-BVpWp9h4.js";import{t}from"./react-BQSORdFI.js";import{t as n}from"./jsx-runtime-DaSxXjOY.js";import{J as r,ht as i,q as a}from"./index-y8GL67bB.js";import{n as o}from"./icons-CHVz6kv_.js";import{s}from"./CanvasSkeleton-BZZPCuRZ.js";import{t as c}from"./richText-BkxJhl9N.js";import{i as l,r as u,t as d}from"./format-DlZTyeMy.js";import{a as f,i as p,n as m,r as h,t as g}from"./scale-Bcgfo6Hp.js";import{t as _}from"./BlockEmpty-CLtVQf6c.js";import"./lib-VFqp6Y3w.js";import{t as v}from"./motion-S0NRruNj.js";import{t as y}from"./registry-types-DMuK0vJ6.js";import{n as b}from"./fitText-CDFmCQzl.js";import{n as x}from"./Quiz-CUwtekfu.js";import{i as S,n as C,r as w}from"./stepDriver-DwjFet6U.js";var T=n(),E=9,D=6,O=[[/alkaline earth/,`var(--warning-soft)`],[/alkali/,`var(--danger)`],[/noble/,`var(--insight)`],[/halogen/,`var(--insight-soft)`],[/lanthanide/,`var(--presence-soft)`],[/actinide/,`var(--presence-deep)`],[/transition/,`var(--presence)`],[/metalloid/,`var(--warning)`],[/post.?transition|poor metal/,`var(--warning-soft)`],[/nonmetal|non-metal/,`var(--insight)`]];function k(e){let t=e.toLowerCase();for(let[e,n]of O)if(e.test(t))return n;return`var(--text-muted)`}function A(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function j({shells:e}){let t=8.5,n=(13+(e.length-1)*t+8)*2,r=n/2;return(0,T.jsxs)(`svg`,{viewBox:`0 0 ${n} ${n}`,className:`lr-ec-shells-svg`,role:`img`,"aria-label":`Electron shells: ${e.join(`, `)}`,children:[(0,T.jsx)(`circle`,{cx:r,cy:r,r:3,className:`lr-ec-nucleus`}),e.map((e,n)=>{let i=13+n*t;return(0,T.jsxs)(`g`,{className:`m-fade-rise m-stagger-item`,style:{"--i":n},children:[(0,T.jsx)(`circle`,{cx:r,cy:r,r:i,className:`lr-ec-shell-ring`,fill:`none`}),(0,T.jsx)(`text`,{x:r,y:r-i-2,className:`lr-ec-shell-count`,textAnchor:`middle`,children:e})]},n)})]})}function M({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,symbol:r,name:i,z:a,mass:s,category:l,electronConfig:d,shells:f,discovered:p,meltingPoint:m,boilingPoint:h,uses:g,footer:_,delay:v}){let y=o[t]||o.sparkle,b=A(a),x=A(s),S=A(m),C=A(h),w=typeof l==`string`&&l.trim()?l.trim():null,O=w?k(w):`var(--text-muted)`,M=Array.isArray(f)?f.filter(e=>typeof e==`number`&&Number.isFinite(e)&&e>=0).slice(0,E):[],N=Array.isArray(g)?g.filter(e=>typeof e==`string`&&e.trim().length>0):[];return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(v??0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(y,{className:`ic`,style:{color:n}}),` `,e]}),(0,T.jsxs)(`div`,{className:`lr-ec-layout`,children:[(0,T.jsxs)(`div`,{className:`lr-ec-tile`,style:{"--c":O},children:[(0,T.jsx)(`span`,{className:`lr-ec-tile-z`,children:b??`—`}),(0,T.jsx)(`span`,{className:`lr-ec-tile-sym`,children:r||`—`}),(0,T.jsx)(`span`,{className:`lr-ec-tile-name`,children:i||``}),(0,T.jsx)(`span`,{className:`lr-ec-tile-mass`,children:x===null?``:u(x,{decimals:x%1==0?0:3})})]}),(0,T.jsxs)(`div`,{className:`lr-ec-facts`,children:[w&&(0,T.jsx)(`span`,{className:`lr-ec-badge`,style:{"--c":O},children:w}),d&&(0,T.jsx)(`p`,{className:`lr-ec-fact lr-ec-fact--mono`,children:d}),p&&(0,T.jsxs)(`p`,{className:`lr-ec-fact`,children:[`Discovered `,p]}),(S!==null||C!==null)&&(0,T.jsxs)(`p`,{className:`lr-ec-fact`,children:[S!==null&&(0,T.jsxs)(T.Fragment,{children:[`Melts `,u(S,{unit:`°C`})]}),S!==null&&C!==null&&` · `,C!==null&&(0,T.jsxs)(T.Fragment,{children:[`Boils `,u(C,{unit:`°C`})]})]})]}),M.length>0&&(0,T.jsx)(`div`,{className:`lr-ec-shells`,children:(0,T.jsx)(j,{shells:M})})]}),N.length>0&&(0,T.jsxs)(`div`,{className:`lr-ec-uses`,children:[N.slice(0,D).map((e,t)=>(0,T.jsx)(`span`,{className:`lr-ec-use-tag`,children:e},t)),N.length>D&&(0,T.jsxs)(`span`,{className:`lr-ec-use-tag lr-ec-use-tag--more`,children:[`+`,N.length-D,` more`]})]}),_&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:c(_)})]})}var N=100,ee=(1+Math.sqrt(5))/2,te=[`left`,`top`,`right`,`bottom`];function ne(e,t){let n={x0:0,y0:0,x1:t,y1:t/ee},r=[],i=[];for(let a=0;a<e;a++){let e=te[a%4],o=n.x1-n.x0,s=n.y1-n.y0,c=Math.min(o,s);if(c<t*.02)break;let l;e===`left`?(l={x0:n.x0,y0:n.y0,x1:n.x0+c,y1:n.y0+c},n={x0:n.x0+c,y0:n.y0,x1:n.x1,y1:n.y1}):e===`top`?(l={x0:n.x0,y0:n.y0,x1:n.x0+c,y1:n.y0+c},n={x0:n.x0,y0:n.y0+c,x1:n.x1,y1:n.y1}):e===`right`?(l={x0:n.x1-c,y0:n.y0,x1:n.x1,y1:n.y0+c},n={x0:n.x0,y0:n.y0,x1:n.x1-c,y1:n.y1}):(l={x0:n.x0,y0:n.y1-c,x1:n.x0+c,y1:n.y1},n={x0:n.x0,y0:n.y0,x1:n.x1,y1:n.y1-c}),r.push(l);let u={x:l.x0,y:l.y0},d={x:l.x1,y:l.y0},f={x:l.x1,y:l.y1},p={x:l.x0,y:l.y1},m=e===`left`?{center:u,from:p,to:d}:e===`top`?{center:d,from:u,to:f}:e===`right`?{center:f,from:d,to:p}:{center:p,from:f,to:u},h=Math.atan2(m.from.y-m.center.y,m.from.x-m.center.x),g=Math.atan2(m.to.y-m.center.y,m.to.x-m.center.x)-h;for(;g>Math.PI;)g-=2*Math.PI;for(;g<-Math.PI;)g+=2*Math.PI;for(let e=0;e<=10;e++){let t=h+g*e/10;i.push({x:m.center.x+c*Math.cos(t),y:m.center.y+c*Math.sin(t)})}}return{squares:r,path:i.map((e,t)=>`${t===0?`M`:`L`} ${e.x.toFixed(2)} ${e.y.toFixed(2)}`).join(` `)}}var re=ne(7,N);function ie(e,t){if(typeof t!=`number`||!Number.isFinite(t)||t<0)return e;let n=e.indexOf(`.`);if(n===-1)return e;let r=Math.min(Math.floor(t),e.length-n-1);return e.slice(0,n+1+r)}function ae({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,symbol:r,value:i,digitsShown:a,significance:s,visual:l=`none`,footer:u,delay:d}){let f=o[t]||o.sparkle,p=typeof i==`string`?i:typeof i==`number`&&Number.isFinite(i)?String(i):``,m=p?ie(p,a):``;return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(d??0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(f,{className:`ic`,style:{color:n}}),` `,e]}),(0,T.jsxs)(`div`,{className:`lr-cst-head`,children:[(0,T.jsx)(`span`,{className:`lr-cst-symbol`,children:r||`—`}),m&&(0,T.jsxs)(`span`,{className:`lr-cst-value`,"data-semantic-ellipsis":`true`,children:[m,`…`]})]}),s&&(0,T.jsx)(`p`,{className:`lr-cst-sig`,children:s}),l===`spiral`&&(0,T.jsx)(`div`,{className:`lr-cst-visual`,children:(0,T.jsxs)(`svg`,{viewBox:`0 0 ${N} ${N/ee}`,className:`lr-cst-svg`,role:`img`,"aria-label":`Golden-ratio spiral construction`,children:[re.squares.map((e,t)=>(0,T.jsx)(`rect`,{x:e.x0,y:e.y0,width:e.x1-e.x0,height:e.y1-e.y0,className:`lr-cst-square m-fade-rise m-stagger-item`,style:{"--i":t}},t)),(0,T.jsx)(`path`,{d:re.path,className:`lr-cst-spiral-path`,fill:`none`})]})}),l===`circle`&&(0,T.jsxs)(`div`,{className:`lr-cst-visual`,children:[(0,T.jsxs)(`svg`,{viewBox:`0 0 100 100`,className:`lr-cst-svg`,role:`img`,"aria-label":`A circle with its diameter drawn through the center`,children:[(0,T.jsx)(`circle`,{cx:`50`,cy:`50`,r:`38`,className:`lr-cst-circle`,fill:`none`}),(0,T.jsx)(`line`,{x1:`12`,y1:`50`,x2:`88`,y2:`50`,className:`lr-cst-diameter`}),(0,T.jsx)(`text`,{x:`50`,y:`44`,className:`lr-cst-circle-lbl`,textAnchor:`middle`,children:`d`})]}),(0,T.jsxs)(`p`,{className:`lr-cst-visual-cap`,children:[`Circumference = `,r||`—`,` × diameter`]})]}),u&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:c(u)})]})}var P=t(),oe=24,se=26,ce=58,le={fibonacci:`Fibonacci sequence`,prime:`Prime numbers`,triangular:`Triangular numbers`,square:`Square numbers`};function ue(e,t){return t>0?se+Math.sqrt(Math.min(1,e/t))*(ce-se):se}function de({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,kind:r,terms:i,rule:a,highlightPattern:s=!0,footer:l,delay:d}){let f=o[t]||o.sparkle,{shown:p,maxAbsValue:m,hiddenCount:h}=(0,P.useMemo)(()=>{let e=(Array.isArray(i)?i:[]).filter(e=>typeof e==`number`&&Number.isFinite(e)),t=e.slice(0,oe);return{shown:t,maxAbsValue:Math.max(0,...t.map(e=>Math.abs(e))),hiddenCount:e.length-t.length}},[i]),g=le[r]??`Number sequence`;return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(d??0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(f,{className:`ic`,style:{color:n}}),` `,e,(0,T.jsx)(`span`,{className:`lr-ns-kind`,children:g})]}),p.length===0?(0,T.jsx)(`div`,{className:`lr-ns-empty`,children:`No terms to show.`}):(0,T.jsx)(`div`,{className:`lr-ns-row`,children:p.map((e,t)=>{let n=ue(Math.abs(e),m),r=t>0?e-p[t-1]:null;return(0,T.jsxs)(`span`,{className:`lr-ns-pair`,children:[r!==null&&s&&(0,T.jsxs)(`span`,{className:`lr-ns-connector m-stagger-item m-fade-rise`,style:{"--i":t},children:[(0,T.jsxs)(`span`,{className:`lr-ns-delta`,children:[r>=0?`+`:`−`,u(Math.abs(r),{compact:!0})]}),(0,T.jsx)(`span`,{className:`lr-ns-connector-line`,"aria-hidden":`true`})]}),(0,T.jsx)(`span`,{className:`lr-ns-item m-stagger-item m-scale-in`,style:{"--i":t,width:n,height:n},title:u(e),children:u(e,{compact:!0})})]},t)})}),h>0&&(0,T.jsxs)(`p`,{className:`lr-ns-more`,children:[`+`,h,` more terms`]}),a&&(0,T.jsx)(`p`,{className:`lr-ns-rule`,children:a}),l&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:c(l)})]})}var fe=12,pe=42,me=100;function he(e,t){if(!e||typeof e!=`object`)return null;let n=e,r=typeof n.name==`string`?n.name.trim():``;return r?{key:`r${t}`,level:typeof n.level==`string`&&n.level.trim()?n.level.trim():`Rank`,name:r,highlight:n.highlight===!0}:null}function ge({title:e,icon:t=`layers`,iconColor:n=`var(--presence)`,scientificName:r,ranks:i,footer:a,delay:s}){let l=o[t]||o.layers,u=(Array.isArray(i)?i:[]).map(he).filter(e=>e!==null),d=u.slice(0,fe),f=u.length-d.length;return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(s??0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),r&&(0,T.jsx)(`p`,{className:`lr-txr-sciname`,children:r}),d.length===0?(0,T.jsx)(`div`,{className:`lr-txr-empty`,children:`No classification ranks to show.`}):(0,T.jsx)(`ol`,{className:`lr-txr-ladder`,children:d.map((e,t)=>{let n=pe+(d.length>1?t/(d.length-1):1)*(me-pe);return(0,T.jsxs)(`li`,{className:`lr-txr-rung m-stagger-item m-fade-rise`,style:{"--i":t},children:[t>0&&(0,T.jsx)(`span`,{className:`lr-txr-connector`,"aria-hidden":`true`}),(0,T.jsxs)(`div`,{className:`lr-txr-pill`+(e.highlight?` lr-txr-pill--hot`:``),style:{width:`${n}%`},children:[(0,T.jsx)(`span`,{className:`lr-txr-level`,children:e.level}),(0,T.jsx)(`span`,{className:`lr-txr-name`,children:e.name})]})]},e.key)})}),f>0&&(0,T.jsxs)(`p`,{className:`lr-txr-more`,children:[`+`,f,` more ranks`]}),a&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:c(a)})]})}var _e=864e5,ve=21,ye=8,be=6,xe=[0,30,52,76,100];function Se(e){return new Date(e).toISOString().slice(0,10)}function Ce(e,t){if(!e||typeof e!=`object`)return null;let n=e,r=typeof n.date==`string`&&n.date.trim()?Date.parse(n.date):NaN,i=Number.isFinite(n.minutes)?Math.max(0,n.minutes):0;return{key:`s${t}`,dateKey:Number.isFinite(r)?Se(r):null,dateMs:Number.isFinite(r)?r:-1/0,minutes:i,piece:typeof n.piece==`string`&&n.piece.trim()?n.piece.trim():null,focus:typeof n.focus==`string`&&n.focus.trim()?n.focus.trim():null,note:typeof n.note==`string`&&n.note.trim()?n.note.trim():null}}function we(e,t){return e<=0?`var(--cell-empty)`:`color-mix(in oklab, ${t} ${xe[Math.max(1,Math.min(4,Math.round(e)))]}%, transparent)`}function Te({title:e,icon:t=`clock`,iconColor:n=`var(--presence)`,instrument:r,sessions:i,streak:a,footer:s,delay:l}){let f=o[t]||o.clock,{cells:p,pieces:m,totalMinutes:h,streakDays:g,sorted:_,hasAnySession:y}=(0,P.useMemo)(()=>{let e=(Array.isArray(i)?i:[]).map(Ce).filter(e=>e!==null),t=new Map;for(let n of e)n.dateKey&&t.set(n.dateKey,(t.get(n.dateKey)??0)+n.minutes);let n=[...t.keys()].sort(),r=[];if(n.length>0){let e=Date.parse(`${n[n.length-1]}T00:00:00.000Z`),i=Date.parse(`${n[0]}T00:00:00.000Z`),a=Math.max(e-(ve-1)*_e,i),o=Math.max(0,...t.values());for(let n=a;n<=e;n+=_e){let e=Se(n),i=t.get(e)??0,a=o>0?Math.ceil(i/o*4):0;r.push({key:e,label:d(n,{style:`day`}),minutes:i,level:a})}}let o=new Map;for(let t of e)t.piece&&o.set(t.piece,(o.get(t.piece)??0)+t.minutes);let s=[...o.entries()].sort((e,t)=>t[1]-e[1]).map(([e,t])=>({name:e,minutes:t})),c=e.reduce((e,t)=>e+t.minutes,0),l=0;if(n.length>0){let e=new Set(n),t=Date.parse(`${n[n.length-1]}T00:00:00.000Z`);for(;e.has(Se(t));)l+=1,t-=_e}return{cells:r,pieces:s,totalMinutes:c,streakDays:typeof a==`number`&&Number.isFinite(a)&&a>=0?Math.round(a):l,sorted:[...e].sort((e,t)=>t.dateMs-e.dateMs),hasAnySession:e.length>0}},[i,a]),b=v(h,{duration:900,delay:l,decimals:0});return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(l??0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(f,{className:`ic`,style:{color:n}}),` `,e,r&&(0,T.jsx)(`span`,{className:`lr-pl-instrument`,children:r})]}),y?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsxs)(`div`,{className:`lr-pl-stats`,children:[(0,T.jsxs)(`div`,{className:`lr-pl-stat`,children:[(0,T.jsx)(`span`,{className:`lr-pl-stat-v`,children:b}),(0,T.jsx)(`span`,{className:`lr-pl-stat-k`,children:`min logged`})]}),g>0&&(0,T.jsxs)(`div`,{className:`lr-pl-stat lr-pl-stat--streak`,children:[(0,T.jsx)(`span`,{className:`lr-pl-stat-v`,children:u(g)}),(0,T.jsx)(`span`,{className:`lr-pl-stat-k`,children:`day streak`})]})]}),p.length>0&&(0,T.jsx)(`div`,{className:`lr-pl-heat-wrap`,children:(0,T.jsx)(`div`,{className:`lr-pl-heat`,children:p.map(e=>(0,T.jsx)(`span`,{className:`lr-pl-heat-cell`,style:{background:we(e.level,n)},title:`${e.label} · ${u(e.minutes,{unit:`min`})}`},e.key))})}),(0,T.jsx)(`ul`,{className:`lr-pl-sessions`,children:_.slice(0,ye).map((e,t)=>(0,T.jsxs)(`li`,{className:`lr-pl-session m-stagger-item m-fade-rise`,style:{"--i":t},children:[(0,T.jsx)(`span`,{className:`lr-pl-session-date`,children:e.dateKey?d(e.dateMs,{style:`day`}):`—`}),(0,T.jsx)(`span`,{className:`lr-pl-session-min`,children:u(e.minutes,{unit:`min`})}),(0,T.jsxs)(`span`,{className:`lr-pl-session-body`,children:[e.piece&&(0,T.jsx)(`b`,{children:e.piece}),e.focus&&(0,T.jsx)(`span`,{className:`lr-pl-session-focus`,children:e.focus}),e.note&&(0,T.jsx)(`span`,{className:`lr-pl-session-note`,children:e.note}),!e.piece&&!e.focus&&!e.note&&(0,T.jsx)(`span`,{className:`faint`,children:`Practice session`})]})]},e.key))}),_.length>ye&&(0,T.jsxs)(`p`,{className:`lr-pl-more`,children:[`+`,_.length-ye,` earlier sessions`]}),m.length>0&&(0,T.jsxs)(`div`,{className:`lr-pl-pieces`,children:[m.slice(0,be).map(e=>(0,T.jsxs)(`span`,{className:`lr-pl-piece-tag`,children:[e.name,` `,(0,T.jsx)(`b`,{children:u(e.minutes,{unit:`min`})})]},e.name)),m.length>be&&(0,T.jsxs)(`span`,{className:`lr-pl-piece-tag lr-pl-piece-tag--more`,children:[`+`,m.length-be,` more`]})]})]}):(0,T.jsx)(`div`,{className:`lr-pl-empty`,children:`No practice sessions logged yet.`}),s&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:c(s)})]})}var F=i(),Ee=0,I=()=>`m${Ee++}`;function De(e){if(typeof e==`string`)return(0,T.jsx)(`mn`,{children:e},I());switch(e.t){case`num`:return(0,T.jsx)(`mn`,{children:e.v},I());case`ident`:return(0,T.jsx)(`mi`,{children:e.v},I());case`op`:return(0,T.jsx)(`mo`,{children:e.v},I());case`row`:return(0,T.jsx)(`mrow`,{children:e.items.map(De)},I());case`frac`:return(0,T.jsxs)(`mfrac`,{children:[L(e.num),L(e.den)]},I());case`sup`:return(0,T.jsxs)(`msup`,{children:[L(e.base),L(e.sup)]},I());case`sub`:return(0,T.jsxs)(`msub`,{children:[L(e.base),L(e.sub)]},I());case`subsup`:return(0,T.jsxs)(`msubsup`,{children:[L(e.base),L(e.sub),L(e.sup)]},I());case`sqrt`:return e.index===void 0?(0,T.jsx)(`msqrt`,{children:L(e.arg)},I()):(0,T.jsxs)(`mroot`,{children:[L(e.arg),L(e.index)]},I());case`group`:return(0,T.jsxs)(`mrow`,{children:[(0,T.jsx)(`mo`,{children:e.open??`(`}),e.items.map(De),(0,T.jsx)(`mo`,{children:e.close??`)`})]},I());case`sum`:return Oe(`∑`,e.lower,e.upper,e.arg);case`int`:return Oe(`∫`,e.lower,e.upper,e.arg);default:return null}}function Oe(e,t,n,r){let i=(0,T.jsx)(`mo`,{children:e}),a;return a=t!==void 0&&n!==void 0?(0,T.jsxs)(`munderover`,{children:[i,L(t),L(n)]}):t===void 0?i:(0,T.jsx)(`munder`,{children:[i,L(t)]}),(0,T.jsxs)(`mrow`,{children:[a,L(r)]},I())}function L(e){return typeof e!=`string`&&(e.t===`row`||e.t===`frac`||e.t===`group`)?De(e):(0,T.jsx)(`mrow`,{children:De(e)},I())}function ke(e){let t=(0,F.c)(6),{node:n,display:r,label:i}=e,a=r?`block`:`inline`,o=i??`mathematical expression`,s;t[0]===n?s=t[1]:(s=De(n),t[0]=n,t[1]=s);let c;return t[2]!==a||t[3]!==o||t[4]!==s?(c=(0,T.jsx)(`math`,{display:a,className:`lr-math`,"aria-label":o,children:s}),t[2]=a,t[3]=o,t[4]=s,t[5]=c):c=t[5],c}r();function Ae({tex:e,display:t,label:n}){let[r,i]=(0,P.useState)(null);return(0,P.useEffect)(()=>{let n=!1;return i(null),(async()=>{try{let r=await a(()=>import(`./katex-BMCG0xok.js`),[]),o=(r.default??r).renderToString(e,{displayMode:!!t,output:`mathml`,throwOnError:!1,trust:!1});n||i(o)}catch{n||i(null)}})(),()=>{n=!0}},[e,t]),r===null?(0,T.jsx)(`span`,{className:`lr-tex lr-tex-raw`,"aria-label":n??`mathematical expression`,children:e}):(0,T.jsx)(`span`,{className:`lr-tex`,role:`img`,"aria-label":n??`mathematical expression`,dangerouslySetInnerHTML:{__html:r}})}function je({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,tex:r,math:i,number:a,caption:s,inline:l=!1,footer:u,delay:d}){let f=o[t]||o.sparkle,p=r??(typeof i==`string`&&i.includes(`\\`)?i:void 0);return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(d||0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(f,{className:`ic`,style:{color:n}}),` `,e]}),(0,T.jsxs)(`div`,{className:`lr-eq`+(l?` inline`:``),children:[(0,T.jsx)(`div`,{className:`lr-eq-body`,"data-mark":`underline`,children:p===void 0?i===void 0?null:(0,T.jsx)(ke,{node:i,display:!l,label:e}):(0,T.jsx)(Ae,{tex:p,display:!l,label:e})}),a&&(0,T.jsx)(`span`,{className:`lr-eq-num`,children:a})]}),s&&(0,T.jsx)(`div`,{className:`lr-eq-cap`,children:s}),u&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:c(u)})]})}var Me=320,Ne=92,R=18,z=54,Pe=5.4,Fe=12,Ie=3;function Le(e){let t=e.map((e,t)=>t).sort((t,n)=>e[t].x-e[n].x),n=[],r=Array(e.length).fill(0);for(let i of t){let t=e[i].text.length*Pe/2,a=e[i].x-t,o=0;for(;n[o]!==void 0&&a<n[o]+Ie;)o++;r[i]=o,n[o]=e[i].x+t}return r}function Re({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,min:r,max:i,step:a,unit:s,points:l=[],intervals:d=[],footer:m,delay:g}){let _=o[t]||o.chart,{x:v,tickVals:y,showEvery:b}=(0,P.useMemo)(()=>{let e=Math.min(r,i),t=Math.max(r,i),n=p([e,t],[R,Me-R]),o=f(e,t,a&&a>0?a:h(t-e,6)),c=o.reduce((e,t)=>Math.max(e,String(t).length+(s?s.length+1:0)),0)*6.5,l=o.length>1?(Me-R*2)/(o.length-1):Me;return{x:n,tickVals:o,showEvery:c>l*.8?Math.ceil(c/(l*.8)):1}},[r,i,a,s]),x=e=>Math.max(R,Math.min(Me-R,v(e))),S=e=>u(e,{unit:s||void 0}),C=(0,P.useMemo)(()=>{let e=d.map(e=>({x:(x(Math.min(e.from,e.to))+x(Math.max(e.from,e.to)))/2,text:e.label??``})),t=l.map(e=>({x:x(e.value),text:e.label??``})),n=[...e,...t].map((e,t)=>({item:e,i:t})).filter(({item:e})=>e.text),r=Le(n.map(({item:e})=>e)),i=Array(d.length).fill(0),a=Array(l.length).fill(0);return n.forEach(({i:t},n)=>{t<e.length?i[t]=r[n]:a[t-e.length]=r[n]}),{ivRows:i,ptRows:a}},[d,l,v]),w=Ne+Math.max(0,...C.ivRows,...C.ptRows)*Fe;return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(g||0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(_,{className:`ic`,style:{color:n}}),` `,e]}),(0,T.jsx)(`div`,{className:`lr-nl`,children:(0,T.jsxs)(`svg`,{viewBox:`0 0 ${Me} ${w}`,className:`lr-nl-svg`,role:`img`,"aria-label":e,children:[d.map((e,t)=>{let n=e.color||`var(--presence)`,r=x(Math.min(e.from,e.to)),i=x(Math.max(e.from,e.to));return(0,T.jsxs)(`g`,{children:[(0,T.jsx)(`rect`,{x:r,y:z-5,width:Math.max(0,i-r),height:10,rx:5,fill:`color-mix(in oklab, ${n} 22%, transparent)`}),(0,T.jsx)(ze,{cx:r,open:e.openFrom,color:n}),(0,T.jsx)(ze,{cx:i,open:e.openTo,color:n}),e.label&&(0,T.jsx)(`text`,{x:(r+i)/2,y:z-12-C.ivRows[t]*Fe,className:`lr-nl-ivlbl`,textAnchor:`middle`,children:e.label})]},`iv${t}`)}),(0,T.jsx)(`line`,{x1:R,y1:z,x2:Me-R,y2:z,className:`lr-nl-axis`}),(0,T.jsx)(`polyline`,{points:`24,${z-4} ${R},${z} 24,58`,className:`lr-nl-arrow`}),(0,T.jsx)(`polyline`,{points:`${Me-R-6},${z-4} ${Me-R},${z} ${Me-R-6},58`,className:`lr-nl-arrow`}),y.map((e,t)=>(0,T.jsxs)(`g`,{children:[(0,T.jsx)(`line`,{x1:v(e),y1:z-4,x2:v(e),y2:58,className:`lr-nl-tick`}),t%b===0&&(0,T.jsx)(`text`,{x:v(e),y:72,className:`lr-nl-ticklbl`,textAnchor:`middle`,children:S(e)})]},`t${t}`)),l.map((e,t)=>{let n=e.color||`var(--insight)`,r=x(e.value);return(0,T.jsxs)(`g`,{children:[(0,T.jsx)(`circle`,{cx:r,cy:z,r:5,fill:e.open?`var(--surface-default)`:n,stroke:n,strokeWidth:2,"data-mark":t===0?`point`:void 0}),e.label&&(0,T.jsx)(`text`,{x:r,y:z-12-C.ptRows[t]*Fe,className:`lr-nl-plbl`,textAnchor:`middle`,children:e.label})]},`p${t}`)})]})}),m&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:c(m)})]})}function ze(e){let t=(0,F.c)(4),{cx:n,open:r,color:i}=e,a=r?`var(--surface-default)`:i,o;return t[0]!==i||t[1]!==n||t[2]!==a?(o=(0,T.jsx)(`circle`,{cx:n,cy:z,r:4,fill:a,stroke:i,strokeWidth:1.6}),t[0]=i,t[1]=n,t[2]=a,t[3]=o):o=t[3],o}function Be({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,problem:r,steps:i,result:a,progressive:s=!0,footer:l,delay:u}){let d=o[t]||o.sparkle,[f,p]=(0,P.useState)(s?1:i.length),m=f>=i.length,h=m;return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u||0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),r&&(0,T.jsx)(`div`,{className:`lr-wx-problem`,dangerouslySetInnerHTML:c(r)}),(0,T.jsx)(`ol`,{className:`lr-wx-steps`,children:i.slice(0,f).map((e,t)=>(0,T.jsxs)(`li`,{className:`lr-wx-step`,children:[(0,T.jsx)(`span`,{className:`lr-wx-num`,children:t+1}),(0,T.jsxs)(`div`,{className:`lr-wx-body`,children:[(0,T.jsx)(`div`,{className:`lr-wx-label`,children:e.label}),e.math&&(0,T.jsx)(`div`,{className:`lr-wx-math`,children:(0,T.jsx)(ke,{node:e.math,display:!0,label:e.label})}),e.why&&(0,T.jsx)(`div`,{className:`lr-wx-why`,dangerouslySetInnerHTML:c(e.why)})]})]},t))}),s&&!m&&(0,T.jsxs)(`button`,{className:`mini-btn lr-wx-next`,onClick:()=>p(e=>Math.min(i.length,e+1)),children:[(0,T.jsx)(o.arrowDown,{}),` Next step (`,f,`/`,i.length,`)`]}),a&&h&&(0,T.jsxs)(`div`,{className:`lr-wx-result`,"data-mark":`underline`,children:[(0,T.jsx)(`span`,{className:`lr-wx-result-tag`,children:`Answer`}),(0,T.jsx)(ke,{node:a,display:!0,label:`answer`})]}),l&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:c(l)})]})}function Ve({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,cards:r,footer:i,delay:a}){let s=o[t]||o.sparkle,[l,u]=(0,P.useState)(0),[d,f]=(0,P.useState)(!1),p=r[l],m=e=>{u(t=>Math.max(0,Math.min(r.length-1,t+e))),f(!1)};return p?(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(a||0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(s,{className:`ic`,style:{color:n}}),` `,e]}),(0,T.jsx)(`button`,{className:`lr-fc`+(d?` flipped`:``),onClick:()=>f(e=>!e),onKeyDown:e=>{e.key===`ArrowRight`?m(1):e.key===`ArrowLeft`?m(-1):(e.key===` `||e.key===`Enter`)&&(e.preventDefault(),f(e=>!e))},"aria-label":d?`Showing answer — click to flip back`:`Showing prompt — click to reveal`,children:(0,T.jsxs)(`div`,{className:`lr-fc-inner`,children:[(0,T.jsxs)(`div`,{className:`lr-fc-face lr-fc-front`,children:[p.tag&&(0,T.jsx)(`span`,{className:`lr-fc-tag`,children:p.tag}),(0,T.jsx)(`span`,{className:`lr-fc-text`,dangerouslySetInnerHTML:c(p.front)}),(0,T.jsx)(`span`,{className:`lr-fc-hint`,children:`Click to flip`})]}),(0,T.jsx)(`div`,{className:`lr-fc-face lr-fc-back`,children:(0,T.jsx)(`span`,{className:`lr-fc-text`,dangerouslySetInnerHTML:c(p.back)})})]})}),(0,T.jsxs)(`div`,{className:`lr-fc-nav`,children:[(0,T.jsx)(`button`,{className:`mini-btn lr-fc-prev`,onClick:()=>m(-1),disabled:l===0,"aria-label":`Previous`,children:(0,T.jsx)(o.chevR,{})}),(0,T.jsxs)(`span`,{className:`lr-fc-count tab-num`,children:[l+1,` / `,r.length]}),(0,T.jsx)(`button`,{className:`mini-btn`,onClick:()=>m(1),disabled:l===r.length-1,"aria-label":`Next`,children:(0,T.jsx)(o.chevR,{})})]}),i&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:c(i)})]}):null}r();var He=12,Ue=100-He*2,We=[`₀`,`₁`,`₂`,`₃`,`₄`,`₅`,`₆`,`₇`,`₈`,`₉`],Ge=e=>e.replace(/\d/g,e=>We[+e]);function Ke(e){if(!e)return;let t=Math.abs(e)>1?String(Math.abs(e)):``;return e>0?`${t}+`:`${t}−`}function qe(e,t){if(!e.length)return null;let n=e.map(e=>e.x),r=e.map(e=>e.y),i=Math.min(...n),a=Math.max(...n),o=Math.min(...r),s=Math.max(...r),c=a-i||1,l=s-o||1,u=Ue/Math.max(c,l),d=He+(Ue-c*u)/2,f=He+(Ue-l*u)/2;return{atoms:e.map(e=>{let t={el:e.el,x:d+(e.x-i)*u,y:f+(s-e.y)*u};return e.isCarbon&&(t.implicit=!0),e.charge&&(t.charge=e.charge),t}),bonds:t.map(e=>({from:e.from,to:e.to,order:e.order}))}}var Je=null;function Ye(){return Je||(Je=a(()=>import(`./openchemlib-nMLMmg26.js`).then(e=>e.default??e),[]).catch(()=>null),Je)}var Xe=e=>e===2?2:e===3?3:1;async function Ze(e){let t=await Ye();if(!t)return null;let n;try{n=t.Molecule.fromSmiles(e)}catch{return null}if(!n)return null;let r=n.getAllAtoms();if(!r)return null;let i=[];for(let e=0;e<r;e++){let t=n.getAtomicNo(e);i.push({el:n.getAtomLabel(e),x:n.getAtomX(e),y:n.getAtomY(e),isCarbon:t===6,charge:Ke(n.getAtomCharge(e))})}let a=[],o=n.getAllBonds();for(let e=0;e<o;e++)a.push({from:n.getBondAtom(0,e),to:n.getBondAtom(1,e),order:Xe(n.getBondOrder(e))});let s=qe(i,a);if(!s)return null;try{let e=n.getMolecularFormula?.()?.formula;e&&(s.formula=Ge(e))}catch{}return s}function Qe(e,t,n){let r=t.x-e.x,i=t.y-e.y,a=Math.hypot(r,i)||1,o=-i/a*1.6,s=r/a*1.6;return n===2?[-1,1].map(e=>({ox:o*e,oy:s*e})):n===3?[-1,0,1].map(e=>({ox:o*e,oy:s*e})):[{ox:0,oy:0}]}function $e({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,smiles:r,atoms:i,bonds:a,formula:s,footer:l,delay:u}){let d=o[t]||o.sparkle,f=Array.isArray(i)&&i.length>0,[p,m]=(0,P.useState)(null),[h,g]=(0,P.useState)(f?`ready`:r?`loading`:`error`);(0,P.useEffect)(()=>{if(f||!r)return;let e=!0;return g(`loading`),m(null),Ze(r).then(t=>{e&&(t?(m(t),g(`ready`)):g(`error`))}).catch(()=>{e&&g(`error`)}),()=>{e=!1}},[r,f]);let _=f?i:p?.atoms,v=f?a:p?.bonds,y=s??p?.formula,b=(e,t)=>{if(!_)return null;let n=_[e.from],r=_[e.to];return!n||!r?null:Qe(n,r,e.order??1).map((e,i)=>(0,T.jsx)(`line`,{x1:n.x+e.ox,y1:n.y+e.oy,x2:r.x+e.ox,y2:r.y+e.oy,className:`lr-mol-bond`},`${t}-${i}`))},x=h===`ready`&&_&&v&&_.length>0;return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u||0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,T.jsx)(`div`,{className:`lr-mol`,children:h===`loading`?(0,T.jsxs)(`div`,{className:`lr-mol-loading`,"aria-hidden":`true`,children:[(0,T.jsx)(`span`,{className:`lr-mol-spinner`}),` Building structure…`]}):x?(0,T.jsxs)(`svg`,{viewBox:`-8 -8 116 116`,className:`lr-mol-svg`,role:`img`,"aria-label":e,children:[v.map(b),_.map((e,t)=>e.implicit?null:(0,T.jsxs)(`g`,{children:[(0,T.jsx)(`circle`,{cx:e.x,cy:e.y,r:6.5,className:`lr-mol-atom-bg`}),(0,T.jsx)(`text`,{x:e.x,y:e.y+2.6,className:`lr-mol-atom`,textAnchor:`middle`,children:e.el}),e.charge&&(0,T.jsx)(`text`,{x:e.x+6,y:e.y-4,className:`lr-mol-charge`,textAnchor:`middle`,children:e.charge})]},t))]}):(0,T.jsx)(`p`,{className:`lr-mol-err`,children:`Couldn’t render this structure.`})}),y&&(0,T.jsx)(`div`,{className:`lr-mol-formula tab-num`,children:y}),l&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:c(l)})]})}var et=18,tt=9;function nt({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,elements:r,categories:i=[],footer:a,delay:s}){let l=o[t]||o.sparkle,[u,d]=(0,P.useState)(null),f=(0,P.useMemo)(()=>{let e={};return i.forEach(t=>e[t.key]=t.color),e},[i]),p=r.find(e=>e.on)?.z,m=u==null?null:r[u];return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(s||0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,T.jsxs)(`div`,{className:`lr-pt`,onMouseLeave:()=>d(null),children:[(0,T.jsx)(`div`,{className:`lr-pt-grid`,style:{gridTemplateColumns:`repeat(${et}, 1fr)`,gridTemplateRows:`repeat(${tt}, auto)`},children:r.map((e,t)=>{let n=e.cat?f[e.cat]||`var(--presence)`:`var(--text-muted)`;return(0,T.jsxs)(`button`,{className:`lr-pt-cell`+(e.on?` on`:``)+(u===t?` hot`:``),"data-mark":e.z===p?`circle`:void 0,style:{gridColumn:Math.max(1,Math.min(et,e.col)),gridRow:Math.max(1,Math.min(tt,e.row)),"--c":n},onMouseEnter:()=>d(t),onFocus:()=>d(t),"aria-label":e.name||e.symbol,children:[(0,T.jsx)(`span`,{className:`lr-pt-z`,children:e.z}),(0,T.jsx)(`span`,{className:`lr-pt-sym`,children:e.symbol})]},e.z)})}),m&&(0,T.jsxs)(`div`,{className:`lr-pt-detail`,children:[(0,T.jsx)(`span`,{className:`lr-pt-detail-sym`,style:{color:m.cat?f[m.cat]:void 0},children:m.symbol}),(0,T.jsxs)(`span`,{className:`lr-pt-detail-body`,children:[(0,T.jsx)(`b`,{children:m.name||m.symbol}),(0,T.jsxs)(`span`,{className:`faint tab-num`,children:[` · Z `,m.z]})]})]}),i.length>0&&(0,T.jsx)(`div`,{className:`lr-pt-key`,children:i.map(e=>(0,T.jsxs)(`span`,{className:`lr-pt-key-item`,children:[(0,T.jsx)(`i`,{style:{background:e.color}}),` `,e.label]},e.key))})]}),a&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:c(a)})]})}var rt=14;function it(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}var at={head:{kind:`circle`,cx:60,cy:24,r:19,lx:80,ly:20,labelAnchor:`start`},neck:{kind:`rect`,x:53,y:43,width:14,height:12,lx:74,ly:51,labelAnchor:`start`},leftShoulder:{kind:`ellipse`,cx:31,cy:64,rx:11,ry:9,lx:14,ly:58,labelAnchor:`end`},rightShoulder:{kind:`ellipse`,cx:89,cy:64,rx:11,ry:9,lx:106,ly:58,labelAnchor:`start`},torsoUpper:{kind:`polygon`,points:`30,58 90,58 86,112 34,112`,lx:60,ly:88,labelAnchor:`middle`},torsoMid:{kind:`polygon`,points:`34,112 86,112 87,150 33,150`,lx:60,ly:133,labelAnchor:`middle`},torsoLow:{kind:`polygon`,points:`33,150 87,150 84,180 36,180`,lx:60,ly:167,labelAnchor:`middle`},leftUpperArm:{kind:`polygon`,points:`9,62 27,65 25,114 12,112`,lx:6,ly:88,labelAnchor:`end`},rightUpperArm:{kind:`polygon`,points:`111,62 93,65 95,114 108,112`,lx:114,ly:88,labelAnchor:`start`},leftForearm:{kind:`polygon`,points:`12,114 25,116 22,166 11,164`,lx:6,ly:146,labelAnchor:`end`},rightForearm:{kind:`polygon`,points:`108,114 95,116 98,166 109,164`,lx:114,ly:146,labelAnchor:`start`},leftHand:{kind:`ellipse`,cx:14,cy:176,rx:7,ry:10,lx:6,ly:182,labelAnchor:`end`},rightHand:{kind:`ellipse`,cx:106,cy:176,rx:7,ry:10,lx:114,ly:182,labelAnchor:`start`},leftThigh:{kind:`polygon`,points:`37,180 58,180 55,230 41,230`,lx:30,ly:206,labelAnchor:`end`},rightThigh:{kind:`polygon`,points:`83,180 62,180 65,230 79,230`,lx:90,ly:206,labelAnchor:`start`},leftKnee:{kind:`ellipse`,cx:48,cy:236,rx:9,ry:7,lx:30,ly:238,labelAnchor:`end`},rightKnee:{kind:`ellipse`,cx:72,cy:236,rx:9,ry:7,lx:90,ly:238,labelAnchor:`start`},leftShin:{kind:`polygon`,points:`42,242 54,242 52,272 44,272`,lx:34,ly:260,labelAnchor:`end`},rightShin:{kind:`polygon`,points:`78,242 66,242 68,272 76,272`,lx:86,ly:260,labelAnchor:`start`},leftFoot:{kind:`rect`,x:39,y:272,width:18,height:8,lx:34,ly:278,labelAnchor:`end`},rightFoot:{kind:`rect`,x:63,y:272,width:18,height:8,lx:86,ly:278,labelAnchor:`start`}},ot=[`leftUpperArm`,`rightUpperArm`,`leftForearm`,`rightForearm`,`leftHand`,`rightHand`,`leftThigh`,`rightThigh`,`leftKnee`,`rightKnee`,`leftShin`,`rightShin`,`leftFoot`,`rightFoot`,`leftShoulder`,`rightShoulder`,`torsoUpper`,`torsoMid`,`torsoLow`,`neck`,`head`],st={anterior:{head:`Head`,neck:`Neck`,leftShoulder:`Shoulder`,rightShoulder:`Shoulder`,torsoUpper:`Chest`,torsoMid:`Abdomen`,torsoLow:`Hips`,leftUpperArm:`Upper arm`,rightUpperArm:`Upper arm`,leftForearm:`Forearm`,rightForearm:`Forearm`,leftHand:`Hand`,rightHand:`Hand`,leftThigh:`Thigh`,rightThigh:`Thigh`,leftKnee:`Knee`,rightKnee:`Knee`,leftShin:`Shin`,rightShin:`Shin`,leftFoot:`Foot`,rightFoot:`Foot`},posterior:{head:`Head`,neck:`Neck`,leftShoulder:`Shoulder`,rightShoulder:`Shoulder`,torsoUpper:`Upper back`,torsoMid:`Lower back`,torsoLow:`Glutes`,leftUpperArm:`Upper arm`,rightUpperArm:`Upper arm`,leftForearm:`Forearm`,rightForearm:`Forearm`,leftHand:`Hand`,rightHand:`Hand`,leftThigh:`Hamstring`,rightThigh:`Hamstring`,leftKnee:`Knee`,rightKnee:`Knee`,leftShin:`Calf`,rightShin:`Calf`,leftFoot:`Foot`,rightFoot:`Foot`}},ct={head:[`head`],neck:[`neck`],leftShoulder:[`leftShoulder`],rightShoulder:[`rightShoulder`],shoulders:[`leftShoulder`,`rightShoulder`],chest:[`torsoUpper`],abdomen:[`torsoMid`],hips:[`torsoLow`],upperBack:[`torsoUpper`],lowerBack:[`torsoMid`],glutes:[`torsoLow`],back:[`torsoUpper`,`torsoMid`],torso:[`torsoUpper`,`torsoMid`,`torsoLow`],core:[`torsoMid`],leftUpperArm:[`leftUpperArm`],rightUpperArm:[`rightUpperArm`],leftForearm:[`leftForearm`],rightForearm:[`rightForearm`],leftHand:[`leftHand`],rightHand:[`rightHand`],leftArm:[`leftUpperArm`,`leftForearm`,`leftHand`],rightArm:[`rightUpperArm`,`rightForearm`,`rightHand`],leftThigh:[`leftThigh`],rightThigh:[`rightThigh`],leftHamstring:[`leftThigh`],rightHamstring:[`rightThigh`],leftKnee:[`leftKnee`],rightKnee:[`rightKnee`],leftShin:[`leftShin`],rightShin:[`rightShin`],leftCalf:[`leftShin`],rightCalf:[`rightShin`],leftFoot:[`leftFoot`],rightFoot:[`rightFoot`],leftLeg:[`leftThigh`,`leftKnee`,`leftShin`],rightLeg:[`rightThigh`,`rightKnee`,`rightShin`]},lt=[`head`,`neck`,`leftShoulder`,`torsoUpper`,`torsoMid`,`torsoLow`,`leftUpperArm`,`leftForearm`,`leftHand`,`leftThigh`,`leftKnee`,`leftShin`,`leftFoot`];function ut(e){let t=(0,F.c)(29),{id:n,shape:r,highlighted:i,color:a,salient:o}=e,s=i?a:`color-mix(in oklab, var(--text-secondary) 14%, transparent)`,c=i?a:`var(--line-strong)`,l=i?1.5:.8,u=`bm-region`+(i?` bm-region--on`:``),d;t[0]===o?d=t[1]:(d=o?{"data-mark":`circle`}:{},t[0]=o,t[1]=d);let f;t[2]!==s||t[3]!==n||t[4]!==c||t[5]!==l||t[6]!==u||t[7]!==d?(f={"data-id":n,fill:s,stroke:c,strokeWidth:l,className:u,...d},t[2]=s,t[3]=n,t[4]=c,t[5]=l,t[6]=u,t[7]=d,t[8]=f):f=t[8];let p=f;if(r.kind===`circle`){let e;return t[9]!==r.cx||t[10]!==r.cy||t[11]!==r.r||t[12]!==p?(e=(0,T.jsx)(`circle`,{...p,cx:r.cx,cy:r.cy,r:r.r}),t[9]=r.cx,t[10]=r.cy,t[11]=r.r,t[12]=p,t[13]=e):e=t[13],e}if(r.kind===`ellipse`){let e;return t[14]!==r.cx||t[15]!==r.cy||t[16]!==r.rx||t[17]!==r.ry||t[18]!==p?(e=(0,T.jsx)(`ellipse`,{...p,cx:r.cx,cy:r.cy,rx:r.rx,ry:r.ry}),t[14]=r.cx,t[15]=r.cy,t[16]=r.rx,t[17]=r.ry,t[18]=p,t[19]=e):e=t[19],e}if(r.kind===`polygon`){let e;return t[20]!==r.points||t[21]!==p?(e=(0,T.jsx)(`polygon`,{...p,points:r.points}),t[20]=r.points,t[21]=p,t[22]=e):e=t[22],e}let m;return t[23]!==r.height||t[24]!==r.width||t[25]!==r.x||t[26]!==r.y||t[27]!==p?(m=(0,T.jsx)(`rect`,{...p,x:r.x,y:r.y,width:r.width,height:r.height,rx:3,ry:3}),t[23]=r.height,t[24]=r.width,t[25]=r.x,t[26]=r.y,t[27]=p,t[28]=m):m=t[28],m}function dt({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,regions:r=[],side:i=`anterior`,footer:a,delay:s}){let l=o[t]||o.sparkle,u=i===`posterior`?`posterior`:`anterior`,d=new Map,f=[],p;if(r.forEach((e,t)=>{let n=ct[e.id];if(!n||!n.length)return;let r=e.color??`var(--presence)`;n.forEach(e=>d.set(e,r));let i=at[n[0]];t===0&&(p=n[0]),i&&f.push({x:i.lx,y:i.ly,anchor:i.labelAnchor,text:e.label??st[u][n[0]]??e.id,color:r,muted:!1})}),!f.length)for(let e of lt){let t=at[e],n=st[u][e];t&&n&&f.push({x:t.lx,y:t.ly,anchor:t.labelAnchor,text:n,color:`var(--text-muted)`,muted:!0})}return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(s||0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(l,{className:`ic`,style:{color:n}}),` `,e,(0,T.jsx)(`span`,{className:`bm-side-tag`,children:u===`posterior`?`back`:`front`})]}),(0,T.jsxs)(`div`,{className:`bm-layout`,children:[(0,T.jsx)(`div`,{className:`bm-svg-wrap`,role:`img`,"aria-label":`Human body diagram — ${u} view`,children:(0,T.jsxs)(`svg`,{viewBox:`0 0 120 286`,className:`bm-svg`,"aria-hidden":`true`,children:[ot.map(e=>{let t=at[e];if(!t)return null;let n=d.get(e);return(0,T.jsx)(ut,{id:e,shape:t,highlighted:n!=null,color:n??`var(--presence)`,salient:e===p},e)}),f.map((e,t)=>(0,T.jsxs)(`text`,{x:e.x,y:e.y,textAnchor:e.anchor,className:`bm-label`+(e.muted?` bm-label--muted`:``),fill:e.color,children:[e.text.length>rt&&(0,T.jsx)(`title`,{children:e.text}),it(e.text,rt)]},t))]})}),r.length>0&&(0,T.jsx)(`ul`,{className:`bm-legend`,"aria-label":`Highlighted regions`,children:r.map(e=>{let t=e.color??`var(--presence)`,n=ct[e.id],r=e.label??(n?.length?st[u][n[0]]:void 0)??e.id;return(0,T.jsxs)(`li`,{className:`bm-legend-item`,children:[(0,T.jsx)(`span`,{className:`bm-legend-dot`,style:{background:t},"aria-hidden":`true`}),(0,T.jsxs)(`span`,{className:`bm-legend-body`,children:[(0,T.jsx)(`span`,{className:`bm-legend-name`,children:r}),e.note&&(0,T.jsx)(`span`,{className:`bm-legend-note`,children:e.note})]})]},e.id)})})]}),a&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:c(a)})]})}var B=320,ft=256,pt=34,mt=10,ht=14,gt=22,_t=`var(--text-secondary)`,vt=9,yt=vt*.62;function bt(e){return e.length*yt}function xt(e,t){let n=[-45,-90,0,45,90,-135,135,180].map(e=>e*Math.PI/180),r=[],i=vt*1.15;function a(e){let n=Math.max(t.left,t.right-e.w),r=Math.max(t.top,t.bottom-e.h);return{x:Math.min(Math.max(e.x,t.left),n),y:Math.min(Math.max(e.y,t.top),r),w:e.w,h:e.h}}return e.map(e=>{let t=bt(e.label),o=null,s=1/0;for(let c of n){let n=e.r+3+Math.max(t,i)/2,l=e.x+Math.cos(c)*n,u=e.y+Math.sin(c)*n,d=Math.cos(c)>.35?`start`:Math.cos(c)<-.35?`end`:`middle`,f=a({x:d===`start`?l:d===`end`?l-t:l-t/2,y:u-i/2,w:t,h:i}),p=r.reduce((e,t)=>e+ +(f.x<t.x+t.w&&f.x+f.w>t.x&&f.y<t.y+t.h&&f.y+f.h>t.y),0);if(p<s&&(s=p,o={x:d===`start`?f.x:d===`end`?f.x+t:f.x+t/2,y:f.y+i/2,anchor:d},p===0))break}let c=o??{x:e.x+e.r+3,y:e.y,anchor:`start`},l=c.anchor===`start`?c.x:c.anchor===`end`?c.x-t:c.x-t/2;return r.push(a({x:l,y:c.y-i/2,w:t,h:i})),c})}function St(e){let t=(0,F.c)(7),{x:n,y:r,angle:i,color:a}=e,o=n-Math.cos(i)*9,s=r-Math.sin(i)*9,c=i+Math.PI/2,l=`${n},${r}`,u=`${o+Math.cos(c)*4},${s+Math.sin(c)*4}`,d=`${o-Math.cos(c)*4},${s-Math.sin(c)*4}`,f;t[0]!==l||t[1]!==u||t[2]!==d?(f=[l,u,d],t[0]=l,t[1]=u,t[2]=d,t[3]=f):f=t[3];let p=f.join(` `),m;return t[4]!==a||t[5]!==p?(m=(0,T.jsx)(`polygon`,{points:p,fill:a}),t[4]=a,t[5]=p,t[6]=m):m=t[6],m}function Ct(e){let t=(0,F.c)(26),{vx:n,vy:r,ax:i,ay:a,bx:o,by:s,label:c,color:l,rightAngle:u}=e,d;t[0]!==i||t[1]!==a||t[2]!==n||t[3]!==r?(d=Math.hypot(i-n,a-r)||1,t[0]=i,t[1]=a,t[2]=n,t[3]=r,t[4]=d):d=t[4];let f=d,p;t[5]!==o||t[6]!==s||t[7]!==n||t[8]!==r?(p=Math.hypot(o-n,s-r)||1,t[5]=o,t[6]=s,t[7]=n,t[8]=r,t[9]=p):p=t[9];let m=p,h=(i-n)/f,g=(a-r)/f,_=(o-n)/m,v=(s-r)/m;if(u){let e=n+h*9.36,i=r+g*9.36,a=n+_*9.36,o=r+v*9.36,s=`M ${e},${i} L ${e+_*9.36},${i+v*9.36} L ${a},${o}`,c;return t[10]!==l||t[11]!==s?(c=(0,T.jsx)(`path`,{d:s,stroke:l,fill:`none`,className:`lr-gc-angle-sq`}),t[10]=l,t[11]=s,t[12]=c):c=t[12],c}let y=n+h*13,b=r+g*13,x=n+_*13,S=r+v*13,C=+(h*v-g*_<=0),w=h+_,E=g+v,D;t[13]!==w||t[14]!==E?(D=Math.hypot(w,E)||1,t[13]=w,t[14]=E,t[15]=D):D=t[15];let O=D,k=n+w/O*22,A=r+E/O*22,j=`M ${y},${b} A 13,13 0 0,${C} ${x},${S}`,M;t[16]!==l||t[17]!==j?(M=(0,T.jsx)(`path`,{d:j,stroke:l,fill:`none`,className:`lr-gc-angle-arc`}),t[16]=l,t[17]=j,t[18]=M):M=t[18];let N;t[19]!==c||t[20]!==k||t[21]!==A?(N=c&&(0,T.jsx)(`text`,{x:k,y:A,className:`lr-gc-lbl`,textAnchor:`middle`,dominantBaseline:`middle`,children:c}),t[19]=c,t[20]=k,t[21]=A,t[22]=N):N=t[22];let ee;return t[23]!==M||t[24]!==N?(ee=(0,T.jsxs)(T.Fragment,{children:[M,N]}),t[23]=M,t[24]=N,t[25]=ee):ee=t[25],ee}function wt({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,xRange:r,yRange:i,xLabel:a,yLabel:s,showGrid:l=!0,points:u=[],segments:d=[],polygons:f=[],circles:h=[],vectors:_=[],angles:v=[],annotations:y=[],footer:b,delay:x}){let S=o[t]||o.chart,C=(0,P.useId)(),{sx:w,sy:E,xTicks:D,yTicks:O,axisXsvg:k,axisYsvg:A}=(0,P.useMemo)(()=>{let e=[...u.map(e=>e.x),...d.flatMap(e=>[e.x1,e.x2]),...f.flatMap(e=>e.vertices.map(e=>e.x)),...h.flatMap(e=>[e.cx-e.r,e.cx+e.r]),..._.flatMap(e=>[e.x,e.x+e.dx]),...v.flatMap(e=>[e.vertex.x,e.from.x,e.to.x]),...y.map(e=>e.x)],t=[...u.map(e=>e.y),...d.flatMap(e=>[e.y1,e.y2]),...f.flatMap(e=>e.vertices.map(e=>e.y)),...h.flatMap(e=>[e.cy-e.r,e.cy+e.r]),..._.flatMap(e=>[e.y,e.y+e.dy]),...v.flatMap(e=>[e.vertex.y,e.from.y,e.to.y]),...y.map(e=>e.y)],n=g(e),a=g(t),[o,s]=r??(n?m(n[0],n[1]):[-5,5]),[c,l]=i??(a?m(a[0],a[1]):[-5,5]),b=p([o,s],[pt,B-mt]),x=p([c,l],[ft-gt,ht]),S=Math.max(ht,Math.min(ft-gt,x(0))),C=Math.max(pt,Math.min(B-mt,b(0)));return{sx:b,sy:x,xTicks:b.ticks(6),yTicks:x.ticks(5),axisXsvg:C,axisYsvg:S}},[r,i,u,d,f,h,_,v,y]),j=(0,P.useMemo)(()=>xt(u.filter(e=>e.label).map(e=>({x:w(e.x),y:E(e.y),r:e.r??4,label:e.label})),{left:2,top:2,right:B-2,bottom:ft-2}),[u,w,E]),M=e=>{let t=w(e.x1),n=E(e.y1),r=w(e.x2),i=E(e.y2);if(e.extend===`none`||!e.extend)return[t,n,r,i];let a=r-t,o=i-n;return e.extend===`ray`?[t,n,t+a*30,n+o*30]:[t-a*30,n-o*30,t+a*30,n+o*30]},N=`M ${pt},${ht} H ${B-mt} V ${ft-gt} H ${pt} Z`;return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(x||0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(S,{className:`ic`,style:{color:n}}),` `,e]}),(0,T.jsx)(`div`,{className:`lr-gc-wrap`,children:(0,T.jsxs)(`svg`,{viewBox:`0 0 ${B} ${ft}`,className:`lr-gc-svg`,role:`img`,"aria-label":e,children:[(0,T.jsx)(`defs`,{children:(0,T.jsx)(`clipPath`,{id:C,children:(0,T.jsx)(`path`,{d:N})})}),l&&(0,T.jsxs)(`g`,{className:`lr-gc-grid`,clipPath:`url(#${C})`,children:[D.map(e=>(0,T.jsx)(`line`,{x1:w(e),y1:ht,x2:w(e),y2:ft-gt},`gx${e}`)),O.map(e=>(0,T.jsx)(`line`,{x1:pt,y1:E(e),x2:B-mt,y2:E(e)},`gy${e}`))]}),(0,T.jsx)(`line`,{x1:pt,y1:A,x2:B-mt,y2:A,className:`lr-gc-axis`}),(0,T.jsx)(`line`,{x1:k,y1:ht,x2:k,y2:ft-gt,className:`lr-gc-axis`}),(0,T.jsx)(`polygon`,{points:`${B-mt},${A} ${B-mt-7},${A-3.5} ${B-mt-7},${A+3.5}`,className:`lr-gc-axis-arrow`}),(0,T.jsx)(`polygon`,{points:`${k},${ht} ${k-3.5},21 ${k+3.5},21`,className:`lr-gc-axis-arrow`}),D.filter(e=>e!==0).map(e=>(0,T.jsx)(`text`,{x:w(e),y:A+12,className:`lr-gc-tick`,textAnchor:`middle`,children:e},`xt${e}`)),O.filter(e=>e!==0).map(e=>(0,T.jsx)(`text`,{x:k-6,y:E(e)+3,className:`lr-gc-tick`,textAnchor:`end`,children:e},`yt${e}`)),a&&(0,T.jsx)(`text`,{x:B-mt-4,y:A-7,className:`lr-gc-axis-lbl`,textAnchor:`end`,children:a}),s&&(0,T.jsx)(`text`,{x:k+5,y:18,className:`lr-gc-axis-lbl`,textAnchor:`start`,children:s}),(0,T.jsxs)(`g`,{clipPath:`url(#${C})`,children:[f.map((e,t)=>{let n=e.color||`var(--presence)`;return(0,T.jsx)(`polygon`,{points:e.vertices.map(e=>`${w(e.x)},${E(e.y)}`).join(` `),stroke:n,fill:e.fill===!1?`none`:`color-mix(in oklab, ${n} 16%, transparent)`,className:`lr-gc-poly`,children:e.label&&(0,T.jsx)(`title`,{children:e.label})},`pg${t}`)}),h.map((e,t)=>{let n=e.color||`var(--presence)`,r=Math.abs(w(e.cx+e.r)-w(e.cx));return(0,T.jsx)(`circle`,{cx:w(e.cx),cy:E(e.cy),r,stroke:n,fill:e.fill===!1?`none`:`color-mix(in oklab, ${n} 14%, transparent)`,className:`lr-gc-circle`,children:e.label&&(0,T.jsx)(`title`,{children:e.label})},`ci${t}`)}),d.map((e,t)=>{let n=e.color||_t,[r,i,a,o]=M(e);return(0,T.jsx)(`line`,{x1:r,y1:i,x2:a,y2:o,stroke:n,className:e.dashed?`lr-gc-seg lr-gc-seg--dash`:`lr-gc-seg`},`sg${t}`)}),v.map((e,t)=>(0,T.jsx)(Ct,{vx:w(e.vertex.x),vy:E(e.vertex.y),ax:w(e.from.x),ay:E(e.from.y),bx:w(e.to.x),by:E(e.to.y),label:e.label,color:e.color||_t,rightAngle:e.rightAngle},`ang${t}`)),_.map((e,t)=>{let n=e.color||`var(--presence)`,r=w(e.x),i=E(e.y),a=w(e.x+e.dx),o=E(e.y+e.dy),s=Math.atan2(o-i,a-r),c=a-Math.cos(s)*10*.85,l=o-Math.sin(s)*10*.85,u=(r+a)/2,d=(i+o)/2,f=s-Math.PI/2,p=Math.hypot(a-r,o-i),m=e.label?bt(e.label):0,h=Math.max(10,m/2+4,Math.min(p/2,m));return(0,T.jsxs)(`g`,{children:[(0,T.jsx)(`line`,{x1:r,y1:i,x2:c,y2:l,stroke:n,className:`lr-gc-vec`}),(0,T.jsx)(St,{x:a,y:o,angle:s,color:n}),e.label&&(0,T.jsx)(`text`,{x:u+Math.cos(f)*h,y:d+Math.sin(f)*h,fill:n,className:`lr-gc-vec-lbl`,textAnchor:`middle`,dominantBaseline:`middle`,children:e.label})]},`vec${t}`)}),(()=>{let e=0;return u.map((t,n)=>{let r=t.color||`var(--insight)`,i=t.r??4,a=t.label?j[e++]:null;return(0,T.jsxs)(`g`,{children:[(0,T.jsx)(`circle`,{cx:w(t.x),cy:E(t.y),r:i,fill:t.open?`var(--surface-default)`:r,stroke:r,className:`lr-gc-point`}),t.label&&a&&(0,T.jsx)(`text`,{x:a.x,y:a.y,fill:r,className:`lr-gc-pt-lbl`,textAnchor:a.anchor,dominantBaseline:`middle`,children:t.label})]},`pt${n}`)})})(),y.map((e,t)=>(0,T.jsx)(`text`,{x:w(e.x),y:E(e.y),fill:e.color||`var(--text-secondary)`,className:`lr-gc-ann`,textAnchor:e.anchor??`middle`,children:e.text},`ann${t}`)),d.filter(e=>e.label).map((e,t)=>(0,T.jsx)(`text`,{x:w((e.x1+e.x2)/2),y:E((e.y1+e.y2)/2)-5,className:`lr-gc-ann`,textAnchor:`middle`,children:e.label},`sgl${t}`))]})]})}),b&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:c(b)})]})}var Tt=420,Et=340,Dt=210,Ot=165,kt=34,At=70,jt=e=>e===void 0?At:Math.min(At*1.4,At*Math.max(.4,e/10)),Mt=14;function Nt(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function Pt(e){let t=(0,F.c)(7),{x:n,y:r,angle:i,color:a}=e,o=n-Math.cos(i)*9,s=r-Math.sin(i)*9,c=i+Math.PI/2,l=`${n},${r}`,u=`${o+Math.cos(c)*4.5},${s+Math.sin(c)*4.5}`,d=`${o-Math.cos(c)*4.5},${s-Math.sin(c)*4.5}`,f;t[0]!==l||t[1]!==u||t[2]!==d?(f=[l,u,d],t[0]=l,t[1]=u,t[2]=d,t[3]=f):f=t[3];let p=f.join(` `),m;return t[4]!==a||t[5]!==p?(m=(0,T.jsx)(`polygon`,{points:p,fill:a}),t[4]=a,t[5]=p,t[6]=m):m=t[6],m}function Ft(e){let t=(0,F.c)(43),{force:n,cx:r,cy:i}=e,a=n.color||`var(--presence)`,o=n.angle*Math.PI/180,s,c,l,u,d,f,p;if(t[0]!==r||t[1]!==i||t[2]!==n.magnitude||t[3]!==o){s=Math.cos(o);let e;t[11]===o?e=t[12]:(e=Math.sin(o),t[11]=o,t[12]=e),c=-e,l=r+s*kt,u=i+c*kt;let a=jt(n.magnitude);f=l+s*a,p=u+c*a,d=Math.atan2(c,s),t[0]=r,t[1]=i,t[2]=n.magnitude,t[3]=o,t[4]=s,t[5]=c,t[6]=l,t[7]=u,t[8]=d,t[9]=f,t[10]=p}else s=t[4],c=t[5],l=t[6],u=t[7],d=t[8],f=t[9],p=t[10];let m=d,h=f-s*8,g=p-c*8,_=f+s*11,v=p+c*11,y;t[13]!==a||t[14]!==h||t[15]!==g||t[16]!==l||t[17]!==u?(y=(0,T.jsx)(`line`,{x1:l,y1:u,x2:h,y2:g,stroke:a,className:`fbd-arrow`}),t[13]=a,t[14]=h,t[15]=g,t[16]=l,t[17]=u,t[18]=y):y=t[18];let b;t[19]!==m||t[20]!==a||t[21]!==f||t[22]!==p?(b=(0,T.jsx)(Pt,{x:f,y:p,angle:m,color:a}),t[19]=m,t[20]=a,t[21]=f,t[22]=p,t[23]=b):b=t[23];let x=s>.2?`start`:s<-.2?`end`:`middle`,S=c<-.2?`auto`:c>.2?`hanging`:`middle`,C;t[24]===n.label?C=t[25]:(C=n.label.length>Mt&&(0,T.jsx)(`title`,{children:n.label}),t[24]=n.label,t[25]=C);let w;t[26]===n.label?w=t[27]:(w=Nt(n.label,Mt),t[26]=n.label,t[27]=w);let E;t[28]===n.magnitude?E=t[29]:(E=n.magnitude!==void 0&&(0,T.jsxs)(`tspan`,{className:`fbd-mag`,children:[` (`,n.magnitude,` N)`]}),t[28]=n.magnitude,t[29]=E);let D;t[30]!==a||t[31]!==_||t[32]!==v||t[33]!==x||t[34]!==S||t[35]!==C||t[36]!==w||t[37]!==E?(D=(0,T.jsxs)(`text`,{x:_,y:v,fill:a,className:`fbd-lbl`,textAnchor:x,dominantBaseline:S,children:[C,w,E]}),t[30]=a,t[31]=_,t[32]=v,t[33]=x,t[34]=S,t[35]=C,t[36]=w,t[37]=E,t[38]=D):D=t[38];let O;return t[39]!==y||t[40]!==b||t[41]!==D?(O=(0,T.jsxs)(`g`,{children:[y,b,D]}),t[39]=y,t[40]=b,t[41]=D,t[42]=O):O=t[42],O}function It({title:e,icon:t=`chart`,iconColor:n=`var(--insight)`,object:r=`Object`,forces:i=[],footer:a,delay:s}){let l=o[t]||o.chart;return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(s||0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,T.jsx)(`div`,{className:`fbd-wrap`,children:(0,T.jsxs)(`svg`,{viewBox:`0 0 ${Tt} ${Et}`,className:`fbd-svg`,role:`img`,"aria-label":e,children:[i.map((e,t)=>(0,T.jsx)(Ft,{force:e,cx:Dt,cy:Ot},t)),(0,T.jsx)(`rect`,{x:Dt-kt,y:Ot-kt,width:kt*2,height:kt*2,className:`fbd-box`}),(0,T.jsx)(`text`,{x:Dt,y:Ot,className:`fbd-obj-lbl`,textAnchor:`middle`,dominantBaseline:`middle`,children:r})]})}),a&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:c(a)})]})}var Lt=11,Rt=Lt/2,zt=28,Bt=72,Vt=8,Ht=78,Ut=40,Wt=60,Gt=34,Kt=96,qt={C:0,D:1,E:2,F:3,G:4,A:5,B:6},Jt={treble:30,bass:18};function Yt(e,t){let n=e[0].toUpperCase(),r=e.slice(1),i=``;(r[0]===`#`||r[0]===`b`)&&(i=r[0],r=r.slice(1));let a=parseInt(r,10);return!(n in qt)||!Number.isFinite(a)?{step:4,acc:i}:{step:a*7+qt[n]-Jt[t],acc:i}}var Xt=e=>Bt-e*Rt;function Zt(e){let t=[];if(e<0)for(let n=-2;n>=e;n-=2)t.push(n);else if(e>8)for(let n=10;n<=e;n+=2)t.push(n);return t}function Qt(e){let t=(0,F.c)(44),{note:n,x:r,clef:i}=e,a;t[0]!==i||t[1]!==n.pitch?(a=Yt(n.pitch,i),t[0]=i,t[1]=n.pitch,t[2]=a):a=t[2];let{step:o,acc:s}=a,c=n.duration??`quarter`,l=Xt(o),u=o<4,d=u?r+5.5-1:r-5.5+1,f=l,p=u?l-28:l+28,m=c===`whole`||c===`half`,h;if(t[3]!==o||t[4]!==r){let e;t[6]===r?e=t[7]:(e=e=>(0,T.jsx)(`line`,{x1:r-5.5-4,y1:Xt(e),x2:r+5.5+4,y2:Xt(e),className:`ms-ledger`},e),t[6]=r,t[7]=e),h=Zt(o).map(e),t[3]=o,t[4]=r,t[5]=h}else h=t[5];let g;t[8]!==s||t[9]!==l||t[10]!==r?(g=s&&(0,T.jsx)(`text`,{x:r-5.5-6,y:l+3.5,className:`ms-acc`,textAnchor:`end`,children:s===`#`?`♯`:`♭`}),t[8]=s,t[9]=l,t[10]=r,t[11]=g):g=t[11];let _=`rotate(-15, ${r}, ${l})`,v=m?`none`:`var(--text-primary)`,y=m?1.4:0,b;t[12]!==l||t[13]!==_||t[14]!==v||t[15]!==y||t[16]!==r?(b=(0,T.jsx)(`ellipse`,{cx:r,cy:l,rx:5.5,ry:3.8,transform:_,fill:v,stroke:`var(--text-primary)`,strokeWidth:y,className:`ms-head`}),t[12]=l,t[13]=_,t[14]=v,t[15]=y,t[16]=r,t[17]=b):b=t[17];let x;t[18]!==c||t[19]!==l||t[20]!==r?(x=c===`half`&&(0,T.jsx)(`ellipse`,{cx:r,cy:l,rx:2.475,ry:1.9,transform:`rotate(-15, ${r}, ${l})`,fill:`var(--surface-default)`}),t[18]=c,t[19]=l,t[20]=r,t[21]=x):x=t[21];let S;t[22]!==c||t[23]!==d||t[24]!==f||t[25]!==p?(S=c!==`whole`&&(0,T.jsx)(`line`,{x1:d,y1:f,x2:d,y2:p,className:`ms-stem`}),t[22]=c,t[23]=d,t[24]=f,t[25]=p,t[26]=S):S=t[26];let C;t[27]!==c||t[28]!==u||t[29]!==d||t[30]!==p?(C=c===`eighth`&&(0,T.jsx)(`path`,{d:u?`M ${d},${p} C ${d+16},${p+8} ${d+14},${p+18} ${d+2},${p+22}`:`M ${d},${p} C ${d+16},${p-8} ${d+14},${p-18} ${d+2},${p-22}`,className:`ms-flag`}),t[27]=c,t[28]=u,t[29]=d,t[30]=p,t[31]=C):C=t[31];let w;t[32]!==n.dotted||t[33]!==l||t[34]!==r?(w=n.dotted&&(0,T.jsx)(`circle`,{cx:r+5.5+4,cy:l-2,r:2,fill:`var(--text-primary)`}),t[32]=n.dotted,t[33]=l,t[34]=r,t[35]=w):w=t[35];let E;return t[36]!==C||t[37]!==w||t[38]!==h||t[39]!==g||t[40]!==b||t[41]!==x||t[42]!==S?(E=(0,T.jsxs)(`g`,{children:[h,g,b,x,S,C,w]}),t[36]=C,t[37]=w,t[38]=h,t[39]=g,t[40]=b,t[41]=x,t[42]=S,t[43]=E):E=t[43],E}function $t({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,clef:r=`treble`,notes:i=[],timeSignature:a,tempo:s,footer:l,delay:u}){let d=o[t]||o.sparkle,f=Math.max(180,Wt+i.length*Gt+24);return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u||0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),s&&(0,T.jsxs)(`div`,{className:`ms-tempo`,children:[`♩= `,s]}),(0,T.jsx)(`div`,{className:`ms-scroll`,children:(0,T.jsxs)(`svg`,{viewBox:`0 0 ${f} ${Kt}`,className:`ms-svg`,style:{maxWidth:f},role:`img`,"aria-label":e,children:[[0,1,2,3,4].map(e=>(0,T.jsx)(`line`,{x1:Vt,y1:zt+e*Lt,x2:f-4,y2:zt+e*Lt,className:`ms-line`},e)),(0,T.jsx)(`text`,{x:11,y:Ht,className:`ms-clef`,children:r===`bass`?`𝄢`:`𝄞`}),a&&(()=>{let[e,t]=a.split(`/`);return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`text`,{x:Ut,y:49,className:`ms-timesig`,textAnchor:`middle`,children:e}),(0,T.jsx)(`text`,{x:Ut,y:62,className:`ms-timesig`,textAnchor:`middle`,children:t??`4`})]})})(),i.map((e,t)=>(0,T.jsx)(Qt,{note:e,x:Wt+t*Gt,clef:r},t))]})}),l&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:c(l)})]})}var en=300,tn=248,V=42,nn=[`var(--presence)`,`var(--insight)`,`var(--warning)`,`var(--danger)`];function rn(e){let t=(0,F.c)(7),{x:n,y:r,angle:i,color:a}=e,o=n-Math.cos(i)*9,s=r-Math.sin(i)*9,c=i+Math.PI/2,l=`${n},${r}`,u=`${o+Math.cos(c)*4.5},${s+Math.sin(c)*4.5}`,d=`${o-Math.cos(c)*4.5},${s-Math.sin(c)*4.5}`,f;t[0]!==l||t[1]!==u||t[2]!==d?(f=[l,u,d],t[0]=l,t[1]=u,t[2]=d,t[3]=f):f=t[3];let p=f.join(` `),m;return t[4]!==a||t[5]!==p?(m=(0,T.jsx)(`polygon`,{points:p,fill:a}),t[4]=a,t[5]=p,t[6]=m):m=t[6],m}function an(e){let t=(0,F.c)(27),{endX:n,endY:r,color:i,label:a,dashed:o}=e,s,c,l,u;t[0]!==n||t[1]!==r?(s=Math.atan2(r,n),c=n-Math.cos(s)*10*.85,u=r,l=Math.sin(s),t[0]=n,t[1]=r,t[2]=s,t[3]=c,t[4]=l,t[5]=u):(s=t[2],c=t[3],l=t[4],u=t[5]);let d=u-l*10*.85,f=s-Math.PI/2,p=n*.55,m=r*.55,h=o?1.5:2,g=o?`5,3`:void 0,_;t[6]!==i||t[7]!==c||t[8]!==d||t[9]!==h||t[10]!==g?(_=(0,T.jsx)(`line`,{x1:0,y1:0,x2:c,y2:d,stroke:i,strokeWidth:h,strokeDasharray:g}),t[6]=i,t[7]=c,t[8]=d,t[9]=h,t[10]=g,t[11]=_):_=t[11];let v;t[12]!==s||t[13]!==i||t[14]!==n||t[15]!==r?(v=(0,T.jsx)(rn,{x:n,y:r,angle:s,color:i}),t[12]=s,t[13]=i,t[14]=n,t[15]=r,t[16]=v):v=t[16];let y;t[17]!==i||t[18]!==a||t[19]!==p||t[20]!==m||t[21]!==f?(y=a&&(0,T.jsx)(`text`,{x:p+Math.cos(f)*11,y:m+Math.sin(f)*11,fill:i,className:`vs-lbl`,textAnchor:`middle`,dominantBaseline:`middle`,children:a}),t[17]=i,t[18]=a,t[19]=p,t[20]=m,t[21]=f,t[22]=y):y=t[22];let b;return t[23]!==_||t[24]!==v||t[25]!==y?(b=(0,T.jsxs)(`g`,{children:[_,v,y]}),t[23]=_,t[24]=v,t[25]=y,t[26]=b):b=t[26],b}function on({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,vectors:r=[],transformed:i=[],showSpan:a=!1,xRange:s,yRange:l,footer:u,delay:d}){let f=o[t]||o.chart,{sx:h,sy:_,xTicks:v,yTicks:y,ox:b,oy:x}=(0,P.useMemo)(()=>{let e=[...r,...i],t=e.map(e=>e.x),n=e.map(e=>e.y);t.push(0),n.push(0);let a=g(t),o=g(n),[c,u]=s??(a?m(a[0],a[1]):[-4,4]),[d,f]=l??(o?m(o[0],o[1]):[-4,4]),h=p([c,u],[V,en-V]),_=p([d,f],[tn-V,V]);return{sx:h,sy:_,xTicks:h.ticks(6),yTicks:_.ticks(5),ox:h(0),oy:_(0)}},[r,i,s,l]),S=(0,P.useMemo)(()=>{if(!a||r.length<2)return``;let e=r[0],t=r[1],n=h(e.x)-b,i=_(e.y)-x,o=h(t.x)-b,s=_(t.y)-x;return`M 0,0 L ${n},${i} L ${n+o},${i+s} L ${o},${s} Z`},[a,r,h,_,b,x]);return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(d||0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(f,{className:`ic`,style:{color:n}}),` `,e]}),(0,T.jsx)(`div`,{className:`vs-wrap`,children:(0,T.jsxs)(`svg`,{viewBox:`0 0 ${en} ${tn}`,className:`vs-svg`,role:`img`,"aria-label":e,children:[(0,T.jsxs)(`g`,{className:`vs-grid`,children:[v.map(e=>(0,T.jsx)(`line`,{x1:h(e),y1:V,x2:h(e),y2:tn-V},`gx${e}`)),y.map(e=>(0,T.jsx)(`line`,{x1:V,y1:_(e),x2:en-V,y2:_(e)},`gy${e}`))]}),(0,T.jsx)(`line`,{x1:V,y1:x,x2:en-V,y2:x,className:`vs-axis`}),(0,T.jsx)(`line`,{x1:b,y1:V,x2:b,y2:tn-V,className:`vs-axis`}),v.filter(e=>e!==0).map(e=>(0,T.jsx)(`text`,{x:h(e),y:x+12,className:`vs-tick`,textAnchor:`middle`,children:e},`xt${e}`)),y.filter(e=>e!==0).map(e=>(0,T.jsx)(`text`,{x:b-6,y:_(e)+3,className:`vs-tick`,textAnchor:`end`,children:e},`yt${e}`)),S&&(0,T.jsx)(`path`,{d:S,transform:`translate(${b},${x})`,fill:`color-mix(in oklab, var(--presence) 14%, transparent)`,stroke:`none`}),(0,T.jsxs)(`g`,{transform:`translate(${b},${x})`,children:[r.map((e,t)=>(0,T.jsx)(an,{endX:h(e.x)-b,endY:_(e.y)-x,color:e.color||nn[t%nn.length],label:e.label},`v${t}`)),i.map((e,t)=>(0,T.jsx)(an,{endX:h(e.x)-b,endY:_(e.y)-x,color:e.color||nn[t%nn.length],label:e.label,dashed:!0},`t${t}`))]}),(0,T.jsx)(`circle`,{cx:b,cy:x,r:3,fill:`var(--text-secondary)`})]})}),u&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:c(u)})]})}function sn({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,reactionType:r,steps:i=[],conditions:a=[],footer:s,delay:l}){let u=o[t]||o.sparkle;return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(l||0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(u,{className:`ic`,style:{color:n}}),` `,e,r&&(0,T.jsx)(`span`,{className:`rxn-type-tag`,children:r})]}),(0,T.jsx)(`div`,{className:`rxn-track`,children:i.map((e,t)=>(0,T.jsxs)(`div`,{className:`rxn-row`,children:[(0,T.jsxs)(`div`,{className:`rxn-step`,children:[(0,T.jsx)(`span`,{className:`rxn-formula`,style:e.color?{color:e.color}:void 0,dangerouslySetInnerHTML:c(e.label)}),e.tag&&(0,T.jsx)(`span`,{className:`rxn-role`,children:e.tag})]}),t<i.length-1&&(0,T.jsxs)(`div`,{className:`rxn-arrow-wrap`,children:[a[t]&&(0,T.jsx)(`span`,{className:`rxn-cond`,children:a[t]}),(0,T.jsx)(`span`,{className:`rxn-arrow`,"aria-hidden":`true`,children:`→`})]})]},t))}),s&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:c(s)})]})}var cn=4,ln=6;function un(e){return e===`x`?`✕`:e===`o`||e===0?`○`:``}function dn({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,chordName:r,frets:i,fingers:a,capoFret:s,notes:l,instrument:u=`Guitar`,footer:d,delay:f}){let p=o[t]||o.sparkle,m=Math.min(12,Math.max(3,i.length||ln)),h=Array.from({length:m},(e,t)=>i[t]??`x`),g=h.filter(e=>typeof e==`number`&&e>0),_=g.length?Math.min(...g):0,v=s??(_>1?_:1);return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(f||0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(p,{className:`ic`,style:{color:n}}),` `,e]}),(0,T.jsxs)(`div`,{className:`cd-layout`,children:[(0,T.jsxs)(`div`,{className:`cd-left`,children:[(0,T.jsx)(`div`,{className:`cd-chord-name`,children:r}),u&&(0,T.jsx)(`div`,{className:`cd-instrument`,children:u})]}),(0,T.jsxs)(`div`,{className:`cd-diagram`,children:[v===1?(0,T.jsx)(`div`,{className:`cd-nut`}):(0,T.jsxs)(`div`,{className:`cd-fret-label`,children:[v,`fr`]}),(0,T.jsxs)(`div`,{className:`cd-fretboard`,children:[Array.from({length:5}).map((e,t)=>(0,T.jsx)(`div`,{className:`cd-fret-line`,style:{top:`${t/cn*100}%`}},t)),h.map((e,t)=>{let n=t/Math.max(1,m-1)*100,r=e===0||e===`o`,i=e===`x`,o=typeof e==`number`&&e>0?e:null,s=o?o-v+1:null,c=a?.[t];return(0,T.jsxs)(`div`,{className:`cd-string`,style:{left:`${n}%`},children:[(0,T.jsx)(`div`,{className:`cd-string-top`,children:(r||i)&&(0,T.jsx)(`span`,{className:`cd-top-mark${i?` muted`:` open`}`,children:un(e)})}),s!==null&&s>=1&&s<=cn&&(0,T.jsx)(`div`,{className:`cd-dot`,style:{top:`${(s-.5)/cn*100}%`},children:c?(0,T.jsx)(`span`,{className:`cd-finger`,children:c}):null})]},t)})]}),l&&l.length>0&&(0,T.jsx)(`div`,{className:`cd-notes`,children:Array.from({length:m},(e,t)=>(0,T.jsx)(`div`,{className:`cd-note-label`,style:{overflowWrap:`break-word`,minWidth:0},children:l[t]??``},t))})]})]}),d&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:c(d)})]})}var fn={motor:`Motor`,language:`Language`,social:`Social`,cognitive:`Cognitive`},pn={motor:`var(--presence)`,language:`var(--insight)`,social:`var(--warning)`,cognitive:`var(--text-secondary)`};function mn({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,ageLabel:r,domains:i,footer:a,delay:s}){let l=o[t]||o.sparkle,[u,d]=(0,P.useState)(0),f=i[u];return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(s||0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,T.jsx)(`div`,{className:`dm-age`,children:r}),(0,T.jsx)(`div`,{className:`dm-tabs`,children:i.map((e,t)=>(0,T.jsx)(`button`,{className:`dm-tab${t===u?` active`:``}`,style:t===u?{borderColor:pn[e.domain]}:{},onClick:()=>d(t),children:fn[e.domain]},t))}),f&&(0,T.jsx)(`div`,{className:`dm-milestones`,children:f.milestones.map((e,t)=>(0,T.jsxs)(`div`,{className:`dm-milestone${e.achieved?` achieved`:``}`,children:[(0,T.jsx)(`div`,{className:`dm-check`,style:{color:e.achieved?pn[f.domain]:`var(--text-faint)`},children:e.achieved?(0,T.jsx)(o.check,{className:`ic`,style:{width:14,height:14}}):(0,T.jsx)(`span`,{className:`dm-check-empty`})}),(0,T.jsxs)(`div`,{className:`dm-text`,children:[(0,T.jsx)(`span`,{className:`dm-label`,children:e.label}),e.note&&(0,T.jsx)(`span`,{className:`dm-note`,children:e.note})]})]},t))}),a&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:c(a)})]})}var hn=3.4,gn=hn*1.2,_n=hn*.52,vn=2.5,yn=1.6,bn=26,xn=15,Sn=7;function Cn(e,t){let n=e.side??`right`;return{tx:Math.min(100,Math.max(0,n===`left`?e.x-Sn:n===`right`?e.x+Sn:e.x)),ty:Math.min(t,Math.max(0,n===`top`?e.y-Sn:n===`bottom`?e.y+Sn:e.y)),anchor:n===`left`?`end`:n===`right`?`start`:`middle`}}function wn(e){let t=e,n=e.trim(),r=!1;if(n.length>bn&&(n=n.slice(0,bn-1).trimEnd()+`…`,r=!0),n.length<=xn||!n.includes(` `))return{lines:[n],full:t,truncated:r};let i=n.length/2,a=-1;for(let e=0;e<n.length;e++)n[e]===` `&&(a===-1||Math.abs(e-i)<Math.abs(a-i))&&(a=e);return a<=0?{lines:[n],full:t,truncated:r}:{lines:[n.slice(0,a),n.slice(a+1)],full:t,truncated:r}}function Tn(e){return e.anchor===`start`?[e.tx,e.tx+e.w]:e.anchor===`end`?[e.tx-e.w,e.tx]:[e.tx-e.w/2,e.tx+e.w/2]}function En(e,t){let n=e.map(e=>wn(e.text)),r=e.map((e,r)=>{let{tx:i,ty:a,anchor:o}=Cn(e,t);return{i:r,tx:i,ty:a,anchor:o,w:Math.max(1,...n[r].lines.map(e=>e.length))*_n,h:n[r].lines.length*gn}});for(let e of r){let[n,r]=Tn(e);n<vn?e.tx+=vn-n:r>100-vn&&(e.tx-=r-(100-vn)),e.ty=Math.min(t-vn-e.h/2,Math.max(vn+e.h/2,e.ty))}for(let e=0;e<8;e++){let e=[...r].sort((e,t)=>e.ty-t.ty),n=!1;for(let r=0;r<e.length;r++)for(let i=r+1;i<e.length;i++){let a=e[r],o=e[i],[s,c]=Tn(a),[l,u]=Tn(o);if(c<=l||u<=s)continue;let d=a.h/2+o.h/2+yn,f=o.ty-a.ty;if(f>=d)continue;let p=d-f,m=t-vn-o.h/2-o.ty,h=Math.max(0,Math.min(p,m));o.ty+=h;let g=p-h;g>0&&(a.ty=Math.max(vn+a.h/2,a.ty-g)),n=!0}if(!n)break}return r.map(e=>({tx:e.tx,ty:e.ty,anchor:e.anchor,lines:n[e.i].lines,full:n[e.i].full,truncated:n[e.i].truncated}))}function Dn(e){let t=e.trim()?e.trim().split(/\s+/).length:1;return Math.min(7e3,Math.max(1500,t*385+500))}function On(e){let t=e=>Number.isFinite(e);switch(e.kind){case`circle`:return t(e.cx)&&t(e.cy)&&t(e.r)?[e.cx-e.r,e.cy-e.r,e.cx+e.r,e.cy+e.r]:null;case`rect`:return t(e.x)&&t(e.y)&&t(e.w)&&t(e.h)?[e.x,e.y,e.x+e.w,e.y+e.h]:null;case`line`:return t(e.x1)&&t(e.y1)&&t(e.x2)&&t(e.y2)?[Math.min(e.x1,e.x2),Math.min(e.y1,e.y2),Math.max(e.x1,e.x2),Math.max(e.y1,e.y2)]:null;case`polygon`:{let t=(e.points??``).trim().split(/[\s,]+/).map(Number).filter(Number.isFinite);if(t.length<4)return null;let n=1/0,r=1/0,i=-1/0,a=-1/0;for(let e=0;e+1<t.length;e+=2)n=Math.min(n,t[e]),i=Math.max(i,t[e]),r=Math.min(r,t[e+1]),a=Math.max(a,t[e+1]);return[n,r,i,a]}default:return null}}function kn(e,t,n){let r=1/0,i=1/0,a=-1/0,o=-1/0;for(let t of e){if(t.kind===`path`)return null;let e=On(t);e&&(r=Math.min(r,e[0]),i=Math.min(i,e[1]),a=Math.max(a,e[2]),o=Math.max(o,e[3]))}for(let e of t){if(!Number.isFinite(e.x)||!Number.isFinite(e.y))continue;let{tx:t,ty:s}=Cn(e,n);r=Math.min(r,e.x,t),i=Math.min(i,e.y,s),a=Math.max(a,e.x,t),o=Math.max(o,e.y,s)}let s=a-r,c=o-i;if(!(s>0&&c>0))return null;let l=Math.max(.35,Math.min(Math.min(76/s,(n-24)/c),2.4)),u=(r+a)/2,d=(i+o)/2,f=50-l*u,p=n/2-l*d;return Math.abs(l-1)<.02&&Math.abs(f)<.5&&Math.abs(p)<.5?null:{scale:l,tx:f,ty:p}}function An({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,steps:r,baseShapes:i=[],baseLabels:a=[],ratio:l=1.6,footer:u,delay:d,spotlight:f=!1,blockId:p}){let m=o[t]||o.sparkle,h=`lr-td-arrow-${(0,P.useId)().replace(/:/g,``)}`,g=Math.round(100/Math.max(.4,l)*10)/10,_=(0,P.useMemo)(()=>s(),[]),v=Math.max(0,r.length-1),y=r.length>1,b=(0,P.useMemo)(()=>kn([...i,...r.flatMap(e=>e.add)],[...a,...r.flatMap(e=>e.labels??[])],g),[i,a,r,g]),x=b?`translate(${b.tx} ${b.ty}) scale(${b.scale})`:void 0,E=(0,P.useMemo)(()=>En([...a,...r.flatMap(e=>e.labels??[])],g),[a,r,g]),D=(0,P.useMemo)(()=>{let e=[],t=a.length;for(let n of r)e.push(t),t+=n.labels?.length??0;return e},[a,r]),[O,k]=(0,P.useState)(_?v:0),[A,j]=(0,P.useState)(!_&&y),M=(0,P.useRef)(r);M.current=r,(0,P.useEffect)(()=>{if(!(!p||!y))return w(p,{count:r.length,setIndex:e=>k(Math.min(v,Math.max(0,e))),spokenFor:e=>M.current[e]?.captionSpoken,captionFor:e=>M.current[e]?.caption})},[p,y,r.length,v]);let N=(0,P.useSyncExternalStore)((0,P.useCallback)(e=>p?S(p,e):()=>{},[p]),(0,P.useCallback)(()=>!!p&&C(p),[p]));(0,P.useEffect)(()=>{if(_||!y||N)return;if(O>=v){if(f){let e=window.setTimeout(()=>k(0),2200);return()=>window.clearTimeout(e)}A&&j(!1);return}if(!A&&!f)return;let e=M.current[O],t=Dn(e?.captionSpoken||e?.caption||``),n=window.setTimeout(()=>k(e=>Math.min(v,e+1)),t);return()=>window.clearTimeout(n)},[A,_,O,v,f,y,N]);let ee=()=>{k(0),j(!_&&y)},te=e=>{j(!1),k(Math.min(v,Math.max(0,e)))},ne=r[O]?.caption??``;return(0,T.jsxs)(`div`,{className:`card reveal lr-td`,style:{"--delay":(d||0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(m,{className:`ic`,style:{color:n}}),` `,e]}),(0,T.jsx)(`div`,{className:`lr-td-stage`,children:(0,T.jsxs)(`svg`,{viewBox:`0 0 100 ${g}`,className:`lr-td-svg`,role:`img`,"aria-label":e,children:[(0,T.jsx)(`defs`,{children:(0,T.jsx)(`marker`,{id:h,viewBox:`0 0 10 10`,refX:`8`,refY:`5`,markerWidth:`6`,markerHeight:`6`,orient:`auto-start-reverse`,children:(0,T.jsx)(`path`,{d:`M0,0 L10,5 L0,10 z`,fill:`context-stroke`})})}),(0,T.jsxs)(`g`,{transform:x,children:[i.map((e,t)=>(0,T.jsx)(jn,{s:e,drawing:!1,idx:t,arrowId:h},`b${t}`)),a.map((e,t)=>(0,T.jsx)(Mn,{l:e,drawing:!1,p:E[t]},`bl${t}`)),r.slice(0,O+1).map((e,t)=>(0,T.jsxs)(`g`,{children:[e.add.map((n,r)=>(0,T.jsx)(jn,{s:n,drawing:!_&&t===O,idx:r,emphasize:e.emphasize?.includes(r),arrowId:h},`s${t}sh${r}`)),(e.labels??[]).map((e,n)=>(0,T.jsx)(Mn,{l:e,drawing:!_&&t===O,p:E[D[t]+n]},`s${t}l${n}`))]},`s${t}-${t===O?O:`set`}`))]})]})}),(ne||y)&&(0,T.jsxs)(`div`,{className:`lr-td-bar`,children:[ne&&(0,T.jsx)(`p`,{className:`lr-td-caption`,"aria-live":`polite`,children:ne},O),y&&(0,T.jsxs)(`div`,{className:`lr-td-controls`,children:[(0,T.jsxs)(`button`,{type:`button`,className:`mini-btn lr-td-btn`,onClick:ee,"aria-label":`Replay the build`,children:[(0,T.jsx)(o.undo,{}),` Replay`]}),(0,T.jsxs)(`span`,{className:`lr-td-step`,children:[O+1,`/`,r.length]}),(0,T.jsx)(`button`,{type:`button`,className:`mini-btn lr-td-btn`,onClick:()=>te(O-1),disabled:O===0,"aria-label":`Previous step`,children:(0,T.jsx)(o.chevL,{})}),(0,T.jsx)(`button`,{type:`button`,className:`mini-btn lr-td-btn`,onClick:()=>te(O+1),disabled:O>=v,"aria-label":`Next step`,children:(0,T.jsx)(o.chevR,{})})]})]}),u&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:c(u)})]})}function jn({s:e,drawing:t,idx:n,emphasize:r,arrowId:i}){let a={stroke:e.color||`var(--text-muted)`,strokeWidth:.7,fill:e.fill||`none`,className:`lr-td-shape`+(t?` lr-td-draw`:``)+(r?` lr-td-emphasize`:``),pathLength:1,"data-kind":e.kind,style:t?{"--i":n}:void 0};switch(e.kind){case`circle`:return(0,T.jsx)(`circle`,{cx:e.cx,cy:e.cy,r:e.r,...a});case`rect`:return(0,T.jsx)(`rect`,{x:e.x,y:e.y,width:e.w,height:e.h,rx:1.5,...a});case`line`:return(0,T.jsx)(`line`,{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,strokeLinecap:`round`,markerEnd:e.arrow?`url(#${i})`:void 0,...a});case`polygon`:return(0,T.jsx)(`polygon`,{points:e.points,...a});case`path`:return(0,T.jsx)(`path`,{d:e.d,...a});default:return null}}function Mn(e){let t=(0,F.c)(33),{l:n,drawing:r,p:i}=e,a=n.color||`var(--text-secondary)`,o=i.anchor===`start`?1:i.anchor===`end`?-1:0,s=i.lines.length,c=`lr-td-labelg`+(r?` lr-td-fade`:``),l;t[0]!==n.x||t[1]!==n.y||t[2]!==i.tx||t[3]!==i.ty?(l=(0,T.jsx)(`line`,{x1:n.x,y1:n.y,x2:i.tx,y2:i.ty,className:`lr-td-lead`}),t[0]=n.x,t[1]=n.y,t[2]=i.tx,t[3]=i.ty,t[4]=l):l=t[4];let u;t[5]!==a||t[6]!==n.x||t[7]!==n.y?(u=(0,T.jsx)(`circle`,{cx:n.x,cy:n.y,r:1.1,fill:a}),t[5]=a,t[6]=n.x,t[7]=n.y,t[8]=u):u=t[8];let d=i.anchor,f;if(t[9]!==o||t[10]!==s||t[11]!==i.lines||t[12]!==i.tx||t[13]!==i.ty){let e;t[15]!==o||t[16]!==s||t[17]!==i.tx||t[18]!==i.ty?(e=(e,t)=>(0,T.jsx)(`tspan`,{x:i.tx+o,y:i.ty+(t-(s-1)/2)*gn+1.1,children:e},t),t[15]=o,t[16]=s,t[17]=i.tx,t[18]=i.ty,t[19]=e):e=t[19],f=i.lines.map(e),t[9]=o,t[10]=s,t[11]=i.lines,t[12]=i.tx,t[13]=i.ty,t[14]=f}else f=t[14];let p;t[20]!==i.full||t[21]!==i.truncated?(p=i.truncated&&(0,T.jsx)(`title`,{children:i.full}),t[20]=i.full,t[21]=i.truncated,t[22]=p):p=t[22];let m;t[23]!==a||t[24]!==i.anchor||t[25]!==f||t[26]!==p?(m=(0,T.jsxs)(`text`,{textAnchor:d,className:`lr-td-lbl`,fill:a,children:[f,p]}),t[23]=a,t[24]=i.anchor,t[25]=f,t[26]=p,t[27]=m):m=t[27];let h;return t[28]!==c||t[29]!==l||t[30]!==u||t[31]!==m?(h=(0,T.jsxs)(`g`,{className:c,children:[l,u,m]}),t[28]=c,t[29]=l,t[30]=u,t[31]=m,t[32]=h):h=t[32],h}var Nn=2,Pn=5,Fn=6;function In(e,t,n){return n?n.some(([n,r])=>n===e&&r===t):!1}function Ln(e){let t=String(e).trim().toUpperCase();return t===`T`||t===`TRUE`||t===`1`?`lr-gm-true`:t===`F`||t===`FALSE`||t===`0`?`lr-gm-false`:``}function Rn({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,variant:r=`grid`,rowHeaders:i,colHeaders:a,cells:s,highlight:l,note:u,footer:d,delay:f}){let p=o[t]||o.sparkle;if(r===`tenframe`){let e=s.flat().filter(e=>e!==``&&e!==0&&e!==`0`&&e!==`○`).length,t=[],n=0;for(let r=0;r<Nn;r++){let r=[];for(let t=0;t<Pn;t++)r.push(n<e?`●`:`○`),n++;t.push(r)}s=t,a=void 0,i=void 0}let m=(a?a.length:0)||(s[0]?.length??0)+ +!!i,h=(s[0]?.length??0)+ +!!i,g=m>Fn;return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(f||0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(p,{className:`ic`,style:{color:n}}),` `,e]}),(0,T.jsx)(`div`,{className:[`lr-gm-wrap`,`lr-gm-v-${r}`,g?`lr-gm-scroll`:``].filter(Boolean).join(` `),children:(0,T.jsxs)(`div`,{className:`lr-gm-grid`,style:{gridTemplateColumns:`repeat(${h}, minmax(0, 1fr))`},role:`grid`,"aria-label":e,children:[a&&(0,T.jsxs)(T.Fragment,{children:[i&&(0,T.jsx)(`div`,{className:`lr-gm-cell lr-gm-corner`,role:`columnheader`,"aria-label":``}),a.map((e,t)=>(0,T.jsx)(`div`,{className:`lr-gm-cell lr-gm-col-hdr`,role:`columnheader`,children:e},t))]}),s.map((e,t)=>(0,T.jsxs)(P.Fragment,{children:[i&&(0,T.jsx)(`div`,{className:`lr-gm-cell lr-gm-row-hdr`,role:`rowheader`,children:i[t]??``}),e.map((e,n)=>{let i=In(t,n,l),a=r===`tenframe`&&e===`●`;return(0,T.jsx)(`div`,{className:[`lr-gm-cell`,`lr-gm-data`,i?`lr-gm-accent`:``,r===`truth`?Ln(e):``,r===`tenframe`?`lr-gm-circle`:``,r===`tenframe`&&a?`lr-gm-filled`:``].filter(Boolean).join(` `),role:`gridcell`,"aria-label":r===`tenframe`?a?`filled`:`empty`:void 0,children:r===`tenframe`?null:e},`${t}-${n}`)})]},t))]})}),u&&(0,T.jsx)(`p`,{className:`lr-gm-note`,children:u}),d&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:c(d)})]})}var zn=[`var(--presence)`,`var(--insight)`,`var(--warning)`];function Bn(e,t){return e.color??zn[t%zn.length]}function Vn(e,t){return t<=0?0:Math.min(1,Math.max(0,e/t))}function Hn(e){return e.label??`${e.numerator}/${e.denominator}`}var Un={maxWidth:`100%`,minWidth:0,flexShrink:1,overflow:`hidden`,textOverflow:`ellipsis`,whiteSpace:`nowrap`};function Wn(e,t){if(t===0)return`—`;let n=e/t;return parseFloat(n.toPrecision(3)).toString()}function Gn(e){let t=(0,F.c)(9),{fill:n,color:r}=e,i=Math.min(.9999,Math.max(1e-4,n)),a=i*2*Math.PI,o=18+14*Math.sin(0),s=18-14*Math.cos(0),c=18+14*Math.sin(a),l=18-14*Math.cos(a),u=`A 14 14 0 ${+(i>.5)} 1 ${c} ${l}`,d;t[0]===u?d=t[1]:(d=[`M 18 18`,`L ${o} ${s}`,u,`Z`],t[0]=u,t[1]=d);let f=d.join(` `),p;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,T.jsx)(`circle`,{cx:18,cy:18,r:14,className:`lr-fb-pie-track`}),t[2]=p):p=t[2];let m;t[3]!==r||t[4]!==f?(m=(0,T.jsx)(`path`,{d:f,fill:r,className:`lr-fb-pie-fill`}),t[3]=r,t[4]=f,t[5]=m):m=t[5];let h;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,T.jsx)(`circle`,{cx:18,cy:18,r:14,className:`lr-fb-pie-ring`}),t[6]=h):h=t[6];let g;return t[7]===m?g=t[8]:(g=(0,T.jsxs)(`svg`,{width:36,height:36,viewBox:`0 0 36 36`,className:`lr-fb-pie`,"aria-hidden":`true`,children:[p,m,h]}),t[7]=m,t[8]=g),g}function Kn(e){let t=(0,F.c)(11),{numerator:n,denominator:r,color:i}=e,a;t[0]===r?a=t[1]:(a=Math.round(r),t[0]=r,t[1]=a);let o=Math.min(100,Math.max(1,a)),s;t[2]===n?s=t[3]:(s=Math.round(n),t[2]=n,t[3]=s);let c=Math.min(o,Math.max(0,s)),l;if(t[4]!==i||t[5]!==o||t[6]!==c){let e;t[8]!==i||t[9]!==c?(e=(e,t)=>(0,T.jsx)(`div`,{className:`lr-fb-seg${t<c?` lr-fb-seg--on`:``}`,style:t<c?{"--seg-color":i}:void 0},t),t[8]=i,t[9]=c,t[10]=e):e=t[10],l=(0,T.jsx)(`div`,{className:`lr-fb-bar`,"aria-hidden":`true`,children:Array.from({length:o},e)}),t[4]=i,t[5]=o,t[6]=c,t[7]=l}else l=t[7];return l}function qn({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,fractions:r,showPie:i=!1,note:a,footer:s,delay:l}){let u=o[t]??o.chart;return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":`${l??0}ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,T.jsx)(`ul`,{className:`lr-fb-list`,children:r.map((e,t)=>{let n=Bn(e,t),r=Vn(e.numerator,e.denominator);return(0,T.jsxs)(`li`,{className:`lr-fb-row`,children:[i&&(0,T.jsx)(Gn,{fill:r,color:n}),(0,T.jsxs)(`div`,{className:`lr-fb-row-body`,children:[(0,T.jsx)(Kn,{numerator:e.numerator,denominator:e.denominator,color:n}),(0,T.jsxs)(`div`,{className:`lr-fb-meta`,children:[(0,T.jsx)(`span`,{className:`lr-fb-fraction`,style:{...Un,color:n},children:Hn(e)}),(0,T.jsxs)(`span`,{className:`lr-fb-decimal`,style:Un,children:[`= `,Wn(e.numerator,e.denominator)]})]})]})]},t)})}),a&&(0,T.jsx)(`p`,{className:`lr-fb-note`,children:a}),s&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:c(s)})]})}var Jn=360,Yn=232,Xn=46,Zn=16,Qn=22,$n=30,er=2,tr=160,nr=[`var(--presence)`,`var(--insight)`],rr=20;function ir(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function ar({title:e,icon:t=`spark`,iconColor:n=`var(--presence)`,waves:r=[],xUnit:i=`x`,showWavelength:a=!0,showAmplitude:s=!0,showPeriod:l=!1,footer:u,delay:d}){let f=o[t]||o.spark,m=(0,P.useId)(),h=(0,P.useMemo)(()=>{let e=r.filter(e=>Number.isFinite(e.amplitude)&&Number.isFinite(e.wavelength)&&e.wavelength>0),t=(e.reduce((e,t)=>Math.max(e,t.wavelength),0)||1)*er,n=e.reduce((e,t)=>Math.max(e,Math.abs(t.amplitude)),0)||1,i=n*1.18,a=p([0,t],[Xn,Jn-Zn]),o=p([-i,i],[Yn-$n,Qn]),s=e.map((e,n)=>{let r=Number.isFinite(e.phase??NaN)?e.phase:0,i=2*Math.PI/e.wavelength,s=``;for(let n=0;n<=tr;n++){let c=t*n/tr,l=e.amplitude*Math.sin(i*c+r);s+=`${n===0?`M`:`L`} ${a(c).toFixed(2)},${o(l).toFixed(2)} `}return{path:s.trim(),color:e.color||nr[n%nr.length],label:e.label,amplitude:e.amplitude,wavelength:e.wavelength,phase:r}});return{sx:a,sy:o,xMax:t,yBound:i,maxAmp:n,yZero:o(0),xTicks:a.ticks(5).filter(e=>e>0),yTicks:o.ticks(4).filter(e=>e!==0),waves:s}},[r]),{sx:g,sy:_,yZero:v}=h,y=(0,P.useMemo)(()=>h.waves.length===0?null:h.waves.reduce((e,t)=>t.wavelength>e.wavelength?t:e),[h.waves]),b=(0,P.useMemo)(()=>{if(!y)return null;let e=2*Math.PI/y.wavelength,t=(Math.PI/2-y.phase)/e;for(;t<0;)t+=y.wavelength;return t+y.wavelength>h.xMax?null:{x:t,next:t+y.wavelength,amp:Math.abs(y.amplitude)}},[y,h.xMax]);if(h.waves.length===0)return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(d||0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(f,{className:`ic`,style:{color:n}}),` `,e]}),(0,T.jsx)(`div`,{className:`wv-empty`,children:`No wave data to plot.`})]});let x=b?g(b.x):64,S=b?_(b.amp):v;return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(d||0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(f,{className:`ic`,style:{color:n}}),` `,e]}),(0,T.jsx)(`div`,{className:`wv-wrap`,children:(0,T.jsxs)(`svg`,{viewBox:`0 0 ${Jn} ${Yn}`,className:`wv-svg`,role:`img`,"aria-label":e,children:[(0,T.jsx)(`defs`,{children:(0,T.jsx)(`clipPath`,{id:m,children:(0,T.jsx)(`rect`,{x:Xn,y:Qn-4,width:Jn-Xn-Zn,height:188})})}),(0,T.jsxs)(`g`,{className:`wv-grid`,children:[h.xTicks.map(e=>(0,T.jsx)(`line`,{x1:g(e),y1:Qn,x2:g(e),y2:Yn-$n},`gx${e}`)),h.yTicks.map(e=>(0,T.jsx)(`line`,{x1:Xn,y1:_(e),x2:Jn-Zn,y2:_(e)},`gy${e}`))]}),(0,T.jsx)(`line`,{x1:Xn,y1:v,x2:Jn-Zn,y2:v,className:`wv-axis`}),(0,T.jsx)(`line`,{x1:Xn,y1:Qn,x2:Xn,y2:Yn-$n,className:`wv-axis`}),(0,T.jsx)(`polygon`,{points:`${Jn-Zn},${v} ${Jn-Zn-7},${v-3.5} ${Jn-Zn-7},${v+3.5}`,className:`wv-axis-arrow`}),(0,T.jsx)(`text`,{x:Jn-Zn-2,y:v-8,className:`wv-axis-lbl`,textAnchor:`end`,children:i}),h.yTicks.map(e=>(0,T.jsx)(`text`,{x:Xn-6,y:_(e)+3,className:`wv-tick`,textAnchor:`end`,children:e},`yt${e}`)),h.xTicks.map(e=>(0,T.jsx)(`text`,{x:g(e),y:215,className:`wv-tick`,textAnchor:`middle`,children:Math.round(e*100)/100},`xt${e}`)),(0,T.jsx)(`g`,{clipPath:`url(#${m})`,children:h.waves.map((e,t)=>(0,T.jsx)(`path`,{d:e.path,className:`wv-curve`,stroke:e.color},`w${t}`))}),s&&b&&(0,T.jsxs)(`g`,{className:`wv-measure`,children:[(0,T.jsx)(`line`,{x1:x,y1:v,x2:x,y2:S,className:`wv-amp-line`}),(0,T.jsxs)(`text`,{x:x+5,y:(v+S)/2+3,className:`wv-measure-lbl`,textAnchor:`start`,children:[`A = `,or(b.amp)]})]}),a&&b&&y&&(0,T.jsx)(`g`,{className:`wv-measure`,children:(()=>{let e=S-10,t=g(b.x),n=g(b.next);return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`line`,{x1:t,y1:e,x2:n,y2:e,className:`wv-wl-line`}),(0,T.jsx)(`line`,{x1:t,y1:e-4,x2:t,y2:S,className:`wv-wl-tick`}),(0,T.jsx)(`line`,{x1:n,y1:e-4,x2:n,y2:S,className:`wv-wl-tick`}),(0,T.jsxs)(`text`,{x:(t+n)/2,y:e-5,className:`wv-measure-lbl`,textAnchor:`middle`,children:[`λ = `,or(y.wavelength)]})]})})()}),l&&b&&y&&(0,T.jsx)(`g`,{className:`wv-measure`,children:(()=>{let e=v+16,t=g(b.x),n=g(b.next);return(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`line`,{x1:t,y1:e,x2:n,y2:e,className:`wv-wl-line`}),(0,T.jsx)(`line`,{x1:t,y1:v,x2:t,y2:e+4,className:`wv-wl-tick`}),(0,T.jsx)(`line`,{x1:n,y1:v,x2:n,y2:e+4,className:`wv-wl-tick`}),(0,T.jsxs)(`text`,{x:(t+n)/2,y:e+13,className:`wv-measure-lbl`,textAnchor:`middle`,children:[`T = `,or(y.wavelength)]})]})})()}),h.waves.filter(e=>e.label).map((e,t)=>{let n=2*Math.PI/e.wavelength,r=e.amplitude*Math.sin(n*h.xMax+e.phase);return(0,T.jsx)(`text`,{x:Jn-Zn-4,y:_(r)-5,className:`wv-curve-lbl`,fill:e.color,textAnchor:`end`,children:ir(e.label,rr)},`lab${t}`)})]})}),u&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:c(u)})]})}function or(e){return String(Math.round(e*100)/100)}var sr=360,cr=280,lr=46,ur=16,dr=20,fr=30,pr={reactant:`var(--presence)`,ts:`var(--danger)`,intermediate:`var(--warning)`,product:`var(--insight)`};function mr(e){if(e.steps&&e.steps.length>=2)return e.steps;let t=[];return e.reactants!==void 0&&t.push({label:e.reactantLabel??`Reactants`,energy:e.reactants,kind:`reactant`}),e.ts!==void 0&&t.push({label:e.tsLabel??`Transition state`,energy:e.ts,kind:`ts`}),e.products!==void 0&&t.push({label:e.productLabel??`Products`,energy:e.products,kind:`product`}),t}function hr(e){let t=e.length>4?.08:.12,n=e=>e.kind!==`ts`,r=e.length;return e.map((e,i)=>({cx:r===1?.5:i/(r-1),half:n(e)?t:0}))}function gr({title:e,icon:t=`spark`,iconColor:n=`var(--presence)`,steps:r,reactants:i,ts:a,products:s,reactantLabel:l,tsLabel:u,productLabel:d,yLabel:f=`Energy`,yUnit:h,xLabel:_=`Reaction progress`,showEa:v=!0,showDelta:y=!0,footer:b,delay:x}){let S=o[t]||o.spark,C=(0,P.useMemo)(()=>{let t=mr({steps:r,reactants:i,ts:a,products:s,reactantLabel:l,tsLabel:u,productLabel:d,title:e});if(t.length<2)return null;let n=g(t.map(e=>e.energy)),[o,c]=m(n[0],n[1]),f=p([o,c],[cr-fr,dr]),h=p([0,1],[lr,sr-ur]),_=hr(t),v=[];t.forEach((e,n)=>{let{cx:r,half:i}=_[n],a=f(e.energy);if(i>0){let e=n===0?0:r-i,o=n===t.length-1?1:r+i;v.push({x:h(e),y:a},{x:h(o),y:a})}else v.push({x:h(r),y:a})});let y=v.map((e,t)=>{if(t===0)return`M ${e.x.toFixed(2)},${e.y.toFixed(2)}`;let n=v[t-1],r=(n.x+e.x)/2;return`C ${r.toFixed(2)},${n.y.toFixed(2)} ${r.toFixed(2)},${e.y.toFixed(2)} ${e.x.toFixed(2)},${e.y.toFixed(2)}`}).join(` `),b=t.map((e,t)=>({node:e,x:h(_[t].cx),y:f(e.energy),color:e.color||pr[e.kind??`reactant`]||`var(--presence)`})),x=b[0],S=b.find(e=>e.node.kind===`ts`)??b.slice(1).reduce((e,t)=>t.node.energy>e.node.energy?t:e,b[1]),C=b[b.length-1];return{nodes:t,sx:h,sy:f,yMin:o,yMax:c,path:y,apex:b,reactant:x,firstTs:S,last:C,Ea:S.node.energy-x.node.energy,dH:C.node.energy-x.node.energy}},[r,i,a,s,l,u,d,e]),w=C?C.sy.ticks(5):[];return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(x||0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(S,{className:`ic`,style:{color:n}}),` `,e]}),C&&(0,T.jsx)(`div`,{className:`enz-wrap`,children:(0,T.jsxs)(`svg`,{viewBox:`0 0 ${sr} ${cr}`,className:`enz-svg`,role:`img`,"aria-label":e,children:[(0,T.jsx)(`g`,{className:`enz-grid`,children:w.map(e=>(0,T.jsx)(`line`,{x1:lr,y1:C.sy(e),x2:sr-ur,y2:C.sy(e)},`g${e}`))}),(0,T.jsx)(`line`,{x1:lr,y1:dr,x2:lr,y2:cr-fr,className:`enz-axis`}),(0,T.jsx)(`line`,{x1:lr,y1:cr-fr,x2:sr-ur,y2:cr-fr,className:`enz-axis`}),w.map(e=>(0,T.jsxs)(`g`,{children:[(0,T.jsx)(`line`,{x1:lr-4,y1:C.sy(e),x2:lr,y2:C.sy(e),className:`enz-axis`}),(0,T.jsx)(`text`,{x:lr-7,y:C.sy(e)+3,className:`enz-tick`,textAnchor:`end`,children:e})]},`yt${e}`)),(0,T.jsx)(`text`,{x:0,y:0,transform:`translate(13, ${(300-fr)/2}) rotate(-90)`,className:`enz-axis-lbl`,textAnchor:`middle`,children:h?`${f} (${h})`:f}),(0,T.jsxs)(`text`,{x:(406-ur)/2,y:cr-8,className:`enz-axis-lbl`,textAnchor:`middle`,children:[_,` →`]}),v&&(0,T.jsx)(`line`,{x1:C.reactant.x,y1:C.reactant.y,x2:C.firstTs.x,y2:C.reactant.y,className:`enz-ref`}),y&&(0,T.jsx)(`line`,{x1:C.reactant.x,y1:C.reactant.y,x2:C.last.x,y2:C.reactant.y,className:`enz-ref`}),(0,T.jsx)(`path`,{d:C.path,className:`enz-profile`}),v&&C.Ea>0&&(0,T.jsxs)(`g`,{className:`enz-measure enz-measure--ea`,children:[(0,T.jsx)(`line`,{x1:C.firstTs.x,y1:C.reactant.y,x2:C.firstTs.x,y2:C.firstTs.y,markerEnd:`url(#enz-arrow-ea)`,markerStart:`url(#enz-arrow-ea)`}),(0,T.jsxs)(`text`,{x:C.firstTs.x+6,y:(C.reactant.y+C.firstTs.y)/2,className:`enz-measure-lbl`,textAnchor:`start`,dominantBaseline:`middle`,children:[`Ea = `,_r(C.Ea),h?` ${h}`:``]})]}),y&&(0,T.jsxs)(`g`,{className:C.dH<=0?`enz-measure enz-measure--exo`:`enz-measure enz-measure--endo`,children:[(0,T.jsx)(`line`,{x1:C.last.x,y1:C.reactant.y,x2:C.last.x,y2:C.last.y,markerEnd:`url(#enz-arrow-dh)`,markerStart:`url(#enz-arrow-dh)`}),(0,T.jsxs)(`text`,{x:C.last.x-6,y:(C.reactant.y+C.last.y)/2,className:`enz-measure-lbl`,textAnchor:`end`,dominantBaseline:`middle`,children:[`ΔH = `,C.dH>0?`+`:``,_r(C.dH),h?` ${h}`:``]})]}),C.apex.map((e,t)=>(0,T.jsxs)(`g`,{children:[(0,T.jsx)(`circle`,{cx:e.x,cy:e.y,r:3.5,fill:e.color,className:`enz-dot`}),(0,T.jsx)(`text`,{x:e.x,y:e.node.kind===`ts`?e.y-8:e.y-9,fill:e.color,className:`enz-node-lbl`,textAnchor:t===0?`start`:t===C.apex.length-1?`end`:`middle`,children:e.node.label})]},`n${t}`)),(0,T.jsxs)(`defs`,{children:[(0,T.jsx)(`marker`,{id:`enz-arrow-ea`,markerWidth:`7`,markerHeight:`7`,refX:`3.5`,refY:`3.5`,orient:`auto`,children:(0,T.jsx)(`path`,{d:`M1.2,1.2 L3.5,3.5 L1.2,5.8`,className:`enz-arrowhead enz-arrowhead--ea`})}),(0,T.jsx)(`marker`,{id:`enz-arrow-dh`,markerWidth:`7`,markerHeight:`7`,refX:`3.5`,refY:`3.5`,orient:`auto`,children:(0,T.jsx)(`path`,{d:`M1.2,1.2 L3.5,3.5 L1.2,5.8`,className:`enz-arrowhead enz-arrowhead--dh`})})]})]})}),!C&&(0,T.jsx)(`div`,{className:`enz-empty`,children:`Provide reactant, transition-state, and product energies.`}),b&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:c(b)})]})}function _r(e){let t=Math.round(e*100)/100;return String(t)}var vr=360,yr=16,br=14,xr=30,Sr=14,Cr=8,wr=18,Tr=34,Er=`var(--line-strong)`,Dr=5.4,Or=5.8,kr=14;function Ar(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function jr(e){return!e.children||e.children.length===0?1:e.children.reduce((e,t)=>e+jr(t),0)}function Mr(e,t=0){let n=t+(e.length??1);return!e.children||e.children.length===0?n:Math.max(...e.children.map(e=>Mr(e,n)))}function Nr(e,t,n,r,i){let a=[],o=0;function s(e,c,l){let u=c+(e.length??1),d=!e.children||e.children.length===0,f=t?n(u):d?i:n(u);if(d){let t=r(o);o+=1;let n={node:e,x:f,y:t,px:l,depth:u,isTip:!0};return a.push(n),n}let p=e.children.map(e=>s(e,u,f)),m={node:e,x:f,y:(p[0].y+p[p.length-1].y)/2,px:l,depth:u,isTip:!1};return a.push(m),m}return s(e,0,Sr),{placed:a,tipRows:o}}function Pr(e,t){let n=t.get(e.on);return n?{x:(n.px+n.x)/2,y:n.y}:null}function Fr({title:e,icon:t=`spark`,iconColor:n=`var(--presence)`,root:r,clades:i=[],traits:a=[],distanceLabel:s,footer:l,delay:u}){let d=o[t]??o.spark,{H:f,placed:h,byName:g,hasAxis:_,sx:v,xTicks:y,tipX:b,tipMaxChars:x,bracketX:S,cladeBrackets:C,axisY:w}=(0,P.useMemo)(()=>{let e=jr(r),t=Ir(r),n=Mr(r)||1,a=Math.max(wr,Math.min(Tr,200/Math.max(1,e))),o=t&&!!s,c=o?xr:br,l=e*a,u=yr+l+c,d=Lr(r).reduce((e,t)=>Math.max(e,t.length),0),f=Math.min(150,7+d*Dr),h=i.reduce((e,t)=>Math.max(e,t.label.length),0),g=i.length?kr+Math.min(90,4+h*Or):0,_=vr-f-g-6,v=Math.max(3,Math.round((f-7)/Dr)),y=Math.max(3,Math.round((g-kr-4)/Or)),[b,x]=t?m(0,n):[0,n],S=p([b,x],[Sr,_]),{placed:C}=Nr(r,t,S,e=>yr+e*a+a/2,_),w=new Map;for(let e of C)e.node.name&&w.set(e.node.name,e);let T=_+f+3,E=i.map(e=>{let t=e.tips.map(e=>w.get(e)).filter(e=>!!e).map(e=>e.y);return t.length===0?null:{label:Ar(e.label,y),full:e.label,color:e.color,y1:Math.min(...t),y2:Math.max(...t)}}).filter(e=>!!e);return{H:u,placed:C,byName:w,phylogram:t,hasAxis:o,sx:S,xTicks:S.ticks(5),tipX:_,tipMaxChars:v,bracketX:T,cladeBrackets:E,axisY:yr+l+4}},[r,i,s]);return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":`${u??0}ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,T.jsx)(`div`,{className:`phy-wrap`,children:(0,T.jsxs)(`svg`,{viewBox:`0 0 ${vr} ${f}`,className:`phy-svg`,role:`img`,"aria-label":e,children:[_&&(0,T.jsxs)(`g`,{className:`phy-axis`,children:[y.map(e=>(0,T.jsxs)(`g`,{children:[(0,T.jsx)(`line`,{x1:v(e),y1:yr-4,x2:v(e),y2:w,className:`phy-axis-grid`}),(0,T.jsx)(`text`,{x:v(e),y:w+11,className:`phy-axis-tick`,textAnchor:`middle`,children:e})]},`tk${e}`)),(0,T.jsx)(`line`,{x1:Sr,y1:w,x2:b,y2:w,className:`phy-axis-line`}),(0,T.jsx)(`text`,{x:(Sr+b)/2,y:f-3,className:`phy-axis-lbl`,textAnchor:`middle`,children:s})]}),C.map((e,t)=>{let n=e.color??`var(--insight)`;return(0,T.jsxs)(`g`,{className:`phy-clade`,children:[(0,T.jsx)(`path`,{d:`M ${S} ${e.y1} q 4 0 4 4 L ${S+4} ${e.y2-4} q 0 4 -4 4`,stroke:n,fill:`none`,className:`phy-bracket`}),(0,T.jsxs)(`text`,{x:S+7,y:(e.y1+e.y2)/2,fill:n,className:`phy-clade-lbl`,dominantBaseline:`middle`,children:[e.label!==e.full&&(0,T.jsx)(`title`,{children:e.full}),e.label]})]},`cl${t}`)}),h.map((e,t)=>{if(!e.node.children||e.node.children.length===0)return(0,T.jsx)(`line`,{x1:e.px,y1:e.y,x2:e.x,y2:e.y,stroke:Er,className:`phy-branch`},`b${t}`);let n=e.node.children.map(e=>e.name?g.get(e.name):void 0).filter(e=>!!e),r=Math.min(...n.map(e=>e.y)),i=Math.max(...n.map(e=>e.y));return(0,T.jsxs)(`g`,{children:[(0,T.jsx)(`line`,{x1:e.x,y1:r,x2:e.x,y2:i,stroke:Er,className:`phy-branch`}),e.px!==e.x&&(0,T.jsx)(`line`,{x1:e.px,y1:e.y,x2:e.x,y2:e.y,stroke:Er,className:`phy-branch`})]},`b${t}`)}),h.filter(e=>!e.isTip&&(e.node.support!=null||e.node.name)).map((e,t)=>(0,T.jsx)(`text`,{x:e.x+3,y:e.y-3,className:`phy-node-lbl`,children:e.node.support==null?e.node.name:e.node.support},`an${t}`)),a.map((e,t)=>{let n=Pr(e,g);if(!n)return null;let r=e.color??`var(--warning)`;return(0,T.jsxs)(`g`,{className:`phy-trait`,children:[(0,T.jsx)(`rect`,{x:n.x-3,y:n.y-4,width:6,height:8,rx:1.5,fill:r,className:`phy-trait-mark`}),(0,T.jsx)(`text`,{x:n.x,y:n.y-7,fill:r,className:`phy-trait-lbl`,textAnchor:`middle`,children:e.label})]},`tr${t}`)}),h.filter(e=>e.isTip).map((e,t)=>{let n=e.node.name??``;return(0,T.jsxs)(`g`,{children:[(0,T.jsx)(`circle`,{cx:e.x,cy:e.y,r:2.5,className:`phy-tip-dot`}),(0,T.jsxs)(`text`,{x:e.x+Cr,y:e.y,className:`phy-tip-lbl`,dominantBaseline:`middle`,children:[n.length>x&&(0,T.jsx)(`title`,{children:n}),Ar(n,x)]})]},`t${t}`)})]})}),l&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:c(l)})]})}function Ir(e){return e.length==null?(e.children??[]).some(Ir):!0}function Lr(e,t=[]){if(!e.children||e.children.length===0)return t.push(e.name??``),t;for(let n of e.children)Lr(n,t);return t}var Rr=22,zr=16,Br=46,Vr=62,Hr=240,Ur=`var(--text-secondary)`,Wr=[`var(--presence)`,`var(--insight)`,`var(--warning)`,`var(--danger)`],Gr=9,Kr=10,qr=10;function Jr(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function Yr(e){return e.word!=null||!e.children||e.children.length===0}function Xr(e,t){let n=0,r=0,i=0,a=(e,o)=>{i=Math.max(i,o);let s=zr+o*Br;if(Yr(e)){let i=Rr+n*Vr+Vr/2;n+=1;let a=t?e.color??Wr[r%Wr.length]:e.color??Ur;return r+=1,{node:e,x:i,y:s,depth:o,color:a,children:[]}}let c=(e.children??[]).map(e=>a(e,o+1));return{node:e,x:(c[0].x+c[c.length-1].x)/2,y:s,depth:o,color:e.color??Ur,children:c}};return{placed:a(e,0),width:Math.max(Hr,n*Vr+Rr*2),height:zr+i*Br+40,maxDepth:i}}function Zr(e,t=[]){t.push(e);for(let n of e.children)Zr(n,t);return t}function Qr({title:e,icon:t=`layers`,iconColor:n=`var(--presence)`,root:r,colorPos:i=!1,sentence:a,footer:s,delay:l}){let u=o[t]||o.layers,{nodes:d,width:f,height:p}=(0,P.useMemo)(()=>{let{placed:e,width:t,height:n}=Xr(r,i);return{nodes:Zr(e),width:t,height:n}},[r,i]);return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(l||0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),a&&(0,T.jsx)(`p`,{className:`prs-sentence`,children:a}),(0,T.jsx)(`div`,{className:`prs-wrap`,children:(0,T.jsxs)(`svg`,{viewBox:`0 0 ${f} ${p}`,className:`prs-svg`,role:`img`,"aria-label":e,children:[d.map((e,t)=>e.children.map((n,r)=>(0,T.jsx)(`line`,{x1:e.x,y1:e.y+6,x2:n.x,y2:n.y-13,className:`prs-edge`},`e${t}-${r}`))),d.map((e,t)=>{if(Yr(e.node)){let n=e.node.word??e.node.label,r=e.node.word==null?void 0:e.node.label;return(0,T.jsxs)(`g`,{children:[r&&(0,T.jsxs)(`text`,{x:e.x,y:e.y,className:`prs-pos`,textAnchor:`middle`,fill:e.color,children:[r.length>Kr&&(0,T.jsx)(`title`,{children:r}),Jr(r,Kr)]}),r&&(0,T.jsx)(`line`,{x1:e.x,y1:e.y+4,x2:e.x,y2:e.y+16,className:`prs-leaf-stem`}),(0,T.jsxs)(`text`,{x:e.x,y:e.y+(r?27:4),className:`prs-word`,textAnchor:`middle`,children:[n.length>Gr&&(0,T.jsx)(`title`,{children:n}),Jr(n,Gr)]})]},`n${t}`)}return(0,T.jsxs)(`text`,{x:e.x,y:e.y,className:`prs-phrase`,textAnchor:`middle`,fill:e.color,children:[e.node.label.length>qr&&(0,T.jsx)(`title`,{children:e.node.label}),Jr(e.node.label,qr)]},`n${t}`)})]})}),s&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:c(s)})]})}var $r=230,ei=20;function ti(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}var ni=(e,t)=>e?`color-mix(in oklab, ${t} 26%, transparent)`:`color-mix(in oklab, var(--text-secondary) 12%, transparent)`,ri=(e,t)=>e?t:`var(--line-strong)`,ii={nucleus:{name:`Nucleus`,in:`both`,anchor:{gx:118,gy:96,lx:150,ly:40,side:`right`},draw:(e,t)=>(0,T.jsxs)(`g`,{children:[(0,T.jsx)(`circle`,{cx:118,cy:108,r:34,fill:ni(t,e),stroke:ri(t,e),strokeWidth:1.6}),(0,T.jsx)(`circle`,{cx:126,cy:114,r:11,fill:`color-mix(in oklab, ${t?e:`var(--text-secondary)`} 40%, transparent)`})]})},nucleolus:{name:`Nucleolus`,in:`both`,anchor:{gx:126,gy:114,lx:158,ly:150,side:`right`},draw:()=>null},mitochondria:{name:`Mitochondria`,in:`both`,anchor:{gx:196,gy:70,lx:226,ly:56,side:`right`},draw:(e,t)=>(0,T.jsxs)(`g`,{transform:`translate(196 70) rotate(-18)`,children:[(0,T.jsx)(`ellipse`,{cx:0,cy:0,rx:24,ry:12,fill:ni(t,e),stroke:ri(t,e),strokeWidth:1.6}),(0,T.jsx)(`path`,{d:`M-17,-2 q4,-7 8,0 q4,7 8,0 q4,-7 8,0 q4,7 8,0`,fill:`none`,stroke:ri(t,e),strokeWidth:1,opacity:.85})]})},er:{name:`Endoplasmic reticulum`,in:`both`,anchor:{gx:96,gy:158,lx:150,ly:200,side:`right`},draw:(e,t)=>(0,T.jsx)(`path`,{d:`M78,150 q14,-14 30,-2 q16,12 30,-2 q12,-12 26,-2`,fill:`none`,stroke:ri(t,e),strokeWidth:t?3:2.2,strokeLinecap:`round`})},golgi:{name:`Golgi apparatus`,in:`both`,anchor:{gx:70,gy:70,lx:36,ly:50,side:`left`},draw:(e,t)=>(0,T.jsxs)(`g`,{stroke:ri(t,e),strokeWidth:t?2.4:1.8,fill:`none`,strokeLinecap:`round`,children:[(0,T.jsx)(`path`,{d:`M52,62 q22,-9 44,0`}),(0,T.jsx)(`path`,{d:`M55,69 q19,-8 38,0`}),(0,T.jsx)(`path`,{d:`M58,76 q16,-7 32,0`})]})},ribosomes:{name:`Ribosomes`,in:`both`,anchor:{gx:168,gy:150,lx:222,ly:176,side:`right`},draw:(e,t)=>{let n=[[160,146],[172,152],[166,158],[180,148],[176,160]],r=t?e:`var(--text-secondary)`;return(0,T.jsx)(`g`,{children:n.map(([e,n],i)=>(0,T.jsx)(`circle`,{cx:e,cy:n,r:3,fill:r,opacity:t?.9:.6},i))})}},vacuole:{name:`Vacuole`,in:`both`,anchor:{gx:208,gy:150,lx:240,ly:150,side:`right`},draw:(e,t)=>(0,T.jsx)(`circle`,{cx:208,cy:150,r:20,fill:ni(t,e),stroke:ri(t,e),strokeWidth:1.6})},lysosome:{name:`Lysosome`,in:`animal`,anchor:{gx:96,gy:188,lx:60,ly:200,side:`left`},draw:(e,t)=>(0,T.jsx)(`circle`,{cx:96,cy:186,r:10,fill:ni(t,e),stroke:ri(t,e),strokeWidth:1.6})},centrosome:{name:`Centrosome`,in:`animal`,anchor:{gx:150,gy:96,lx:184,ly:96,side:`right`},draw:(e,t)=>(0,T.jsxs)(`g`,{stroke:ri(t,e),strokeWidth:t?3:2.2,strokeLinecap:`round`,children:[(0,T.jsx)(`line`,{x1:146,y1:88,x2:146,y2:104}),(0,T.jsx)(`line`,{x1:138,y1:96,x2:154,y2:96})]})},cytoplasm:{name:`Cytoplasm`,in:`both`,anchor:{gx:150,gy:120,lx:150,ly:120,side:`right`},draw:()=>null},membrane:{name:`Cell membrane`,in:`both`,anchor:{gx:150,gy:30,lx:150,ly:18,side:`right`},draw:()=>null},chloroplast:{name:`Chloroplast`,in:`plant`,anchor:{gx:196,gy:96,lx:232,ly:88,side:`right`},draw:(e,t)=>(0,T.jsxs)(`g`,{transform:`translate(196 96) rotate(24)`,children:[(0,T.jsx)(`ellipse`,{cx:0,cy:0,rx:24,ry:13,fill:ni(t,e||`var(--insight)`),stroke:ri(t,e||`var(--insight)`),strokeWidth:1.6}),[-12,-2,8].map(n=>(0,T.jsx)(`line`,{x1:n,y1:-6,x2:n,y2:6,stroke:ri(t,e||`var(--insight)`),strokeWidth:2.4,strokeLinecap:`round`},n))]})},"cell wall":{name:`Cell wall`,in:`plant`,anchor:{gx:150,gy:14,lx:150,ly:14,side:`right`},draw:()=>null}},ai={mitochondrion:`mitochondria`,"endoplasmic reticulum":`er`,"rough er":`er`,"smooth er":`er`,"golgi apparatus":`golgi`,"golgi body":`golgi`,ribosome:`ribosomes`,"central vacuole":`vacuole`,"plasma membrane":`membrane`,"cell membrane":`membrane`,wall:`cell wall`,cellwall:`cell wall`};function oi(e){let t=e.trim().toLowerCase();if(ii[t])return t;if(ai[t])return ai[t]}var si=[`membrane`,`cytoplasm`,`nucleus`,`mitochondria`,`er`,`golgi`,`ribosomes`],ci=[`cell wall`,`membrane`,`cytoplasm`,`nucleus`,`chloroplast`,`mitochondria`,`vacuole`,`er`];function li({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,cellType:r=`animal`,parts:i,footer:a,delay:s}){let l=o[t]||o.sparkle,u=r===`plant`,d=i&&i.length?i:(u?ci:si).map(e=>({key:e})),f=new Set,p=[];for(let e of d){let t=oi(e.key);if(!t||f.has(t))continue;let n=ii[t];n.in!==`both`&&n.in!==r||(f.add(t),p.push({key:t,glyph:n,label:e.label??n.name,note:e.note,on:e.highlight===!0,color:e.color??`var(--presence)`}))}let m=`color-mix(in oklab, var(--presence) 6%, transparent)`;return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(s||0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(l,{className:`ic`,style:{color:n}}),` `,e,(0,T.jsx)(`span`,{className:`cel-type-tag`,children:u?`plant`:`animal`})]}),(0,T.jsxs)(`div`,{className:`cel-wrap`,children:[(0,T.jsxs)(`svg`,{viewBox:`-42 0 372 ${$r}`,className:`cel-svg`,role:`img`,"aria-label":`${u?`Plant`:`Animal`} cell diagram — ${e}`,children:[u?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`rect`,{x:22,y:20,width:236,height:190,rx:18,fill:`color-mix(in oklab, var(--insight) 7%, transparent)`,stroke:`var(--line-strong)`,strokeWidth:5}),(0,T.jsx)(`rect`,{x:32,y:30,width:216,height:170,rx:12,fill:m,stroke:`var(--text-secondary)`,strokeWidth:1.6})]}):(0,T.jsx)(`path`,{d:`M150,28 C214,28 252,62 252,116 C252,172 210,206 150,206 C92,206 40,176 40,116 C40,60 88,28 150,28 Z`,fill:m,stroke:`var(--text-secondary)`,strokeWidth:1.8}),p.map(e=>(0,T.jsx)(`g`,{children:e.glyph.draw(e.color,e.on)},e.key)),p.map(e=>{let t=e.glyph.anchor,n=e.on?e.color:`var(--text-secondary)`,r=t.side===`left`?t.lx+2:t.lx-2;return(0,T.jsxs)(`g`,{children:[(0,T.jsx)(`line`,{x1:t.gx,y1:t.gy,x2:r,y2:t.ly,stroke:`var(--line-strong)`,strokeWidth:.8,className:`cel-leader`}),(0,T.jsx)(`circle`,{cx:t.gx,cy:t.gy,r:1.6,fill:`var(--line-strong)`}),(0,T.jsxs)(`text`,{x:t.lx,y:t.ly,textAnchor:t.side===`left`?`end`:`start`,dominantBaseline:`middle`,className:`cel-label`+(e.on?` cel-label--on`:``),fill:n,children:[e.label.length>ei&&(0,T.jsx)(`title`,{children:e.label}),ti(e.label,ei)]})]},`l-${e.key}`)})]}),p.some(e=>e.note)&&(0,T.jsx)(`ul`,{className:`cel-legend`,"aria-label":`Organelle notes`,children:p.filter(e=>e.note).map(e=>(0,T.jsxs)(`li`,{className:`cel-legend-item`,children:[(0,T.jsx)(`span`,{className:`cel-legend-dot`,style:{background:e.on?e.color:`var(--text-muted)`},"aria-hidden":`true`}),(0,T.jsxs)(`span`,{className:`cel-legend-body`,children:[(0,T.jsx)(`span`,{className:`cel-legend-name`,children:e.label}),(0,T.jsx)(`span`,{className:`cel-legend-note`,children:e.note})]})]},e.key))})]}),a&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:c(a)})]})}var ui=360,di=230,fi=16,pi=18,mi=24,hi=`var(--text-secondary)`,gi=`var(--insight)`,_i=`var(--presence)`,vi=`var(--warning)`,yi=`var(--text-muted)`;function bi(e){return e===`convex-lens`||e===`concave-mirror`}var xi=e=>e===`concave-mirror`||e===`convex-mirror`;function Si(e){let t=(0,F.c)(7),{x:n,y:r,angle:i,color:a}=e,o=n-Math.cos(i)*8,s=r-Math.sin(i)*8,c=i+Math.PI/2,l=`${n},${r}`,u=`${o+Math.cos(c)*4},${s+Math.sin(c)*4}`,d=`${o-Math.cos(c)*4},${s-Math.sin(c)*4}`,f;t[0]!==l||t[1]!==u||t[2]!==d?(f=[l,u,d],t[0]=l,t[1]=u,t[2]=d,t[3]=f):f=t[3];let p=f.join(` `),m;return t[4]!==a||t[5]!==p?(m=(0,T.jsx)(`polygon`,{points:p,fill:a}),t[4]=a,t[5]=p,t[6]=m):m=t[6],m}function Ci(e){let t=(0,F.c)(23),{ax:n,h:r,color:i,label:a,dashed:o,sx:s,sy:c}=e,l;t[0]!==n||t[1]!==s?(l=s(n),t[0]=n,t[1]=s,t[2]=l):l=t[2];let u=l,d=c(0),f=c(r),p=r>=0,m=p?-Math.PI/2:Math.PI/2,h=o?`4,3`:void 0,g;t[3]!==d||t[4]!==i||t[5]!==h||t[6]!==f||t[7]!==u?(g=(0,T.jsx)(`line`,{x1:u,y1:d,x2:u,y2:f,stroke:i,strokeWidth:2,strokeDasharray:h,strokeLinecap:`round`}),t[3]=d,t[4]=i,t[5]=h,t[6]=f,t[7]=u,t[8]=g):g=t[8];let _;t[9]!==m||t[10]!==i||t[11]!==f||t[12]!==u?(_=(0,T.jsx)(Si,{x:u,y:f,angle:m,color:i}),t[9]=m,t[10]=i,t[11]=f,t[12]=u,t[13]=_):_=t[13];let v=p?f-7:f+14,y;t[14]!==i||t[15]!==a||t[16]!==v||t[17]!==u?(y=(0,T.jsx)(`text`,{x:u,y:v,fill:i,className:`ray-arrow-lbl`,textAnchor:`middle`,children:a}),t[14]=i,t[15]=a,t[16]=v,t[17]=u,t[18]=y):y=t[18];let b;return t[19]!==g||t[20]!==_||t[21]!==y?(b=(0,T.jsxs)(`g`,{children:[g,_,y]}),t[19]=g,t[20]=_,t[21]=y,t[22]=b):b=t[22],b}function wi({title:e,icon:t=`eye`,iconColor:n=`var(--presence)`,element:r=`convex-lens`,objectDistance:i,focalLength:a,objectHeight:s=1,footer:l,delay:u}){let d=o[t]||o.eye,f=(0,P.useMemo)(()=>{let e=Math.abs(a)*(bi(r)?1:-1),t=Math.abs(i),n=Math.abs(s)||1,o=t-e,c=Math.abs(o)<1e-6,l=c?1/0:t*e/o,u=c?1/0:-l/t,d=Number.isFinite(u)?u*n:1/0,f=Number.isFinite(l)&&l>0,m=NaN;if(Number.isFinite(l)){let e=Math.abs(l);m=xi(r)?l>0?-e:e:l>0?e:-e}let h=-t,g=-Math.abs(e),_=Math.abs(e),v=[0,h,g,_];Number.isFinite(m)&&v.push(m);let y=Math.max(...v.map(Math.abs),1)*1.18,b=Math.max(n,Number.isFinite(d)?Math.abs(d):n,.5)*1.35,x=p([-y,y],[fi,ui-fi]),S=p([-b,b],[di-mi,pi]);return{f:e,doDist:t,di:l,m:u,ho:n,hi:d,real:f,atFocus:c,objX:h,imageX:m,fLeft:g,fRight:_,sx:x,sy:S,converging:bi(r),mirror:xi(r)}},[r,i,a,s]),{sx:m,sy:h}=f,g=h(0),_=m(0),v=(0,P.useId)(),y=(0,P.useMemo)(()=>{let e=m(f.objX),t=h(f.ho),n=[],r=ui-fi,i=fi;if(f.mirror){let a=m(f.fLeft),o=(g-t)/(a-_),s=t+o*(i-_);n.push({d:`M ${e} ${t} L ${_} ${t} L ${i} ${s}`,col:vi});let c=t+(g-t)/(a-e)*(_-e);if(n.push({d:`M ${e} ${t} L ${_} ${c} L ${i} ${c}`,col:vi}),Number.isFinite(f.di)&&f.di<0){let e=t+o*(r-_);n.push({d:`M ${_} ${t} L ${r} ${e}`,dash:!0,col:vi});let i=c;n.push({d:`M ${_} ${i} L ${r} ${i}`,dash:!0,col:vi})}}else{let a=m(f.fRight),o=t+(g-t)/(a-_)*(r-_);n.push({d:`M ${e} ${t} L ${_} ${t} L ${r} ${o}`,col:vi});let s=(h(0)-t)/(_-e),c=t+s*(r-e);if(n.push({d:`M ${e} ${t} L ${r} ${c}`,col:vi}),Number.isFinite(f.di)&&f.di<0){let r=t+(t-g)/(_-a)*(i-_);n.push({d:`M ${_} ${t} L ${i} ${r}`,dash:!0,col:vi});let o=t+s*(i-e);n.push({d:`M ${e} ${t} L ${i} ${o}`,dash:!0,col:vi})}}return n},[f,m,h,g,_]),b=(0,P.useMemo)(()=>{if(f.atFocus)return`Object at F — rays emerge parallel, no image forms (image at infinity).`;let e=f.real?`real`:`virtual`,t=f.m>0?`upright`:`inverted`,n=Math.abs(f.m);return`${e}, ${t}, ${Math.abs(n-1)<.02?`same size`:n>1?`enlarged ${n.toFixed(2)}×`:`reduced ${n.toFixed(2)}×`}`},[f]),x=h(f.ho>0?Math.max(f.ho,Math.abs(f.hi)||0):0),S=h(-(f.ho>0?Math.max(f.ho,Math.abs(f.hi)||0):0)),C=Math.min(Math.abs(g-x),Math.abs(S-g),70)||60;return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u||0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,T.jsx)(`div`,{className:`ray-wrap`,children:(0,T.jsxs)(`svg`,{viewBox:`0 0 ${ui} ${di}`,className:`ray-svg`,role:`img`,"aria-label":e,children:[(0,T.jsx)(`defs`,{children:(0,T.jsx)(`clipPath`,{id:v,children:(0,T.jsx)(`rect`,{x:fi,y:pi,width:ui-2*fi,height:di-pi-mi})})}),(0,T.jsx)(`line`,{x1:fi,y1:g,x2:ui-fi,y2:g,className:`ray-axis`}),f.mirror?(0,T.jsx)(`path`,{d:f.converging?`M ${_+9} ${g-C} Q ${_-11} ${g} ${_+9} ${g+C}`:`M ${_-9} ${g-C} Q ${_+11} ${g} ${_-9} ${g+C}`,className:`ray-element ray-mirror`,fill:`none`}):(0,T.jsxs)(`g`,{children:[(0,T.jsx)(`line`,{x1:_,y1:g-C,x2:_,y2:g+C,className:`ray-element`}),f.converging?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(Si,{x:_,y:g-C,angle:-Math.PI/2,color:`var(--line-strong)`}),(0,T.jsx)(Si,{x:_,y:g+C,angle:Math.PI/2,color:`var(--line-strong)`})]}):(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(Si,{x:_,y:g-C+9,angle:Math.PI/2,color:`var(--line-strong)`}),(0,T.jsx)(Si,{x:_,y:g+C-9,angle:-Math.PI/2,color:`var(--line-strong)`})]})]}),[f.fLeft,f.fRight].map((e,t)=>(0,T.jsxs)(`g`,{children:[(0,T.jsx)(`circle`,{cx:m(e),cy:g,r:2.6,fill:yi}),(0,T.jsx)(`text`,{x:m(e),y:g+14,className:`ray-f-lbl`,textAnchor:`middle`,children:`F`})]},`f${t}`)),(0,T.jsx)(`circle`,{cx:_,cy:g,r:2,fill:hi}),(0,T.jsx)(`g`,{clipPath:`url(#${v})`,children:y.map((e,t)=>(0,T.jsx)(`path`,{d:e.d,stroke:e.col,className:e.dash?`ray-ray ray-ray--dash`:`ray-ray`,fill:`none`},`ray${t}`))}),(0,T.jsx)(Ci,{ax:f.objX,h:f.ho,color:gi,label:`Object`,sx:m,sy:h}),Number.isFinite(f.imageX)&&Number.isFinite(f.hi)&&(0,T.jsx)(Ci,{ax:f.imageX,h:f.hi,color:_i,label:f.real?`Image`:`Image (virtual)`,dashed:!f.real,sx:m,sy:h})]})}),(0,T.jsxs)(`div`,{className:`ray-verdict`,children:[(0,T.jsx)(`span`,{className:`ray-verdict-dot`,style:{background:f.real?_i:`var(--warning)`}}),b]}),l&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:c(l)})]})}var Ti=320,Ei=268,Di=44,Oi=16,ki=16,Ai=40,ji=`var(--insight)`,Mi=`var(--danger)`,Ni=`var(--text-secondary)`,Pi=[`var(--presence)`,`var(--warning)`,`var(--insight)`];function Fi(e){if(typeof e.slope==`number`)return Math.abs(e.slope);let t=e.u??0,n=e.v??0;return Math.hypot(t,n)}function Ii(e){return typeof e.slope==`number`?Math.atan(e.slope):Math.atan2(e.v??0,e.u??0)}function Li({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,samples:r=[],curves:i=[],xRange:a,yRange:s,xLabel:l=`x`,yLabel:u=`y`,mode:d,normalize:f=!0,colorByMagnitude:h=!0,footer:_,delay:v}){let y=o[t]||o.sparkle,{sx:b,sy:x,axisX:S,axisY:C,xTicks:w,yTicks:E,isSlope:D,glyphs:O,curvePaths:k}=(0,P.useMemo)(()=>{let e=r.length>0&&r.every(e=>typeof e.slope==`number`),t=d===`slope`||d!==`vector`&&e,n=[...r.map(e=>e.x),...i.flatMap(e=>e.points.map(e=>e.x)),0],o=[...r.map(e=>e.y),...i.flatMap(e=>e.points.map(e=>e.y)),0],c=g(n),l=g(o),[u,_]=a??(c?m(c[0],c[1]):[-3,3]),[v,y]=s??(l?m(l[0],l[1]):[-3,3]),b=p([u,_],[Di,Ti-Oi]),x=p([v,y],[Ei-Ai,ki]),S=Math.max(ki,Math.min(Ei-Ai,x(0))),C=Math.max(Di,Math.min(Ti-Oi,b(0))),w=r.map(e=>({px:b(e.x),py:x(e.y)})),T=1/0;for(let e=0;e<w.length;e++)for(let t=e+1;t<w.length;t++){let n=Math.hypot(w[e].px-w[t].px,w[e].py-w[t].py);n>.5&&n<T&&(T=n)}let E=Number.isFinite(T)?Math.min(26,Math.max(12,T*.42)):18,D=r.map(Fi),O=D.length?Math.min(...D):0,k=(D.length?Math.max(...D):1)-O||1,A=r.map((e,n)=>{let r=b(e.x),i=x(e.y),a=-Ii(e),o=(D[n]-O)/k,s=(t||f?E:E*(.45+.55*o))/2,c=Math.cos(a)*s,l=Math.sin(a)*s,u=h?`color-mix(in oklab, ${Mi} ${Math.round(o*100)}%, ${ji})`:t?Ni:`var(--presence)`;return{x1:r-c,y1:i-l,x2:r+c,y2:i+l,svgAng:a,color:u,key:`g${n}`}}),j=i.map((e,t)=>({d:e.points.map(e=>`${b(e.x)},${x(e.y)}`).join(` `),color:e.color||Pi[t%Pi.length],label:e.label,key:`c${t}`}));return{sx:b,sy:x,axisX:C,axisY:S,xTicks:b.ticks(6),yTicks:x.ticks(5),isSlope:t,glyphs:A,curvePaths:j,glyphLen:E}},[r,i,a,s,d,f,h]),A=O.length>0,j=(0,P.useId)();return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(v||0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(y,{className:`ic`,style:{color:n}}),` `,e]}),A?(0,T.jsx)(`div`,{className:`vfl-wrap`,children:(0,T.jsxs)(`svg`,{viewBox:`0 0 ${Ti} ${Ei}`,className:`vfl-svg`,role:`img`,"aria-label":e,children:[(0,T.jsxs)(`defs`,{children:[(0,T.jsx)(`marker`,{id:`vfl-head`,markerWidth:`7`,markerHeight:`7`,refX:`5.4`,refY:`3`,orient:`auto`,markerUnits:`userSpaceOnUse`,children:(0,T.jsx)(`path`,{d:`M0.5,0.5 L6,3 L0.5,5.5`,className:`vfl-headshape`})}),(0,T.jsx)(`clipPath`,{id:j,children:(0,T.jsx)(`rect`,{x:Di,y:ki,width:Ti-Oi-Di,height:Ei-Ai-ki})})]}),(0,T.jsxs)(`g`,{className:`vfl-grid`,children:[w.map(e=>(0,T.jsx)(`line`,{x1:b(e),y1:ki,x2:b(e),y2:Ei-Ai},`gx${e}`)),E.map(e=>(0,T.jsx)(`line`,{x1:Di,y1:x(e),x2:Ti-Oi,y2:x(e)},`gy${e}`))]}),(0,T.jsx)(`line`,{x1:Di,y1:C,x2:Ti-Oi,y2:C,className:`vfl-axis`}),(0,T.jsx)(`line`,{x1:S,y1:ki,x2:S,y2:Ei-Ai,className:`vfl-axis`}),w.filter(e=>e!==0).map(e=>(0,T.jsx)(`text`,{x:b(e),y:241,className:`vfl-tick`,textAnchor:`middle`,children:e},`xt${e}`)),E.filter(e=>e!==0).map(e=>(0,T.jsx)(`text`,{x:Di-6,y:x(e)+3,className:`vfl-tick`,textAnchor:`end`,children:e},`yt${e}`)),(0,T.jsx)(`text`,{x:(364-Oi)/2,y:Ei-8,className:`vfl-axis-lbl`,textAnchor:`middle`,children:l}),(0,T.jsx)(`text`,{x:0,y:0,transform:`translate(13, ${(284-Ai)/2}) rotate(-90)`,className:`vfl-axis-lbl`,textAnchor:`middle`,children:u}),(0,T.jsx)(`g`,{className:`vfl-glyphs`,children:O.map(e=>D?(0,T.jsx)(`line`,{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,stroke:e.color,className:`vfl-dash`},e.key):(0,T.jsx)(`line`,{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,stroke:e.color,className:`vfl-arrow`,markerEnd:`url(#vfl-head)`},e.key))}),(0,T.jsx)(`g`,{clipPath:`url(#${j})`,children:k.map(e=>(0,T.jsx)(`polyline`,{points:e.d,fill:`none`,stroke:e.color,className:`vfl-curve`},e.key))})]})}):(0,T.jsxs)(`div`,{className:`vfl-empty`,children:[`Provide field samples — `,`{ x, y, u, v }`,` for a vector field or `,`{ x, y, slope }`,` for a slope field.`]}),k.some(e=>e.label)&&(0,T.jsx)(`div`,{className:`vfl-legend`,children:k.filter(e=>e.label).map(e=>(0,T.jsxs)(`span`,{className:`vfl-leg`,children:[(0,T.jsx)(`i`,{style:{background:e.color}}),e.label]},`leg-${e.key}`))}),_&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:c(_)})]})}var Ri=360,zi=24,Bi=30,Vi=16,H=13,Hi=64,Ui=40,Wi=30,Gi=[`I`,`II`,`III`,`IV`,`V`,`VI`,`VII`,`VIII`,`IX`,`X`];function Ki(e,t){let n=new Map;for(let t of e)n.set(t.id,t.gen??0);for(let t=0;t<e.length+1;t++){let t=!1;for(let r of e){if(!r.parents)continue;let e=r.parents.map(e=>n.get(e)).filter(e=>e!=null);if(e.length===0)continue;let i=Math.max(...e)+1;i>(n.get(r.id)??0)&&(n.set(r.id,i),t=!0)}if(!t)break}for(let r of e)if(r.partner&&t.has(r.partner)){let e=n.get(r.id)??0,t=n.get(r.partner)??0,i=Math.max(e,t);n.set(r.id,i),n.set(r.partner,i)}return n}function qi(e,t){let n=new Map;for(let r of e){if(!r.parents||r.parents.length<2)continue;let[e,i]=r.parents;if(!t.has(e)||!t.has(i))continue;let a=t.get(e).sex===`female`,o=a?e:i,s=a?i:e,c=`${o}${s}`,l=n.get(c)??{motherId:o,fatherId:s,childIds:[]};l.childIds.push(r.id),n.set(c,l)}return[...n.values()]}function Ji({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,people:r=[],affectedLabel:i=`Affected`,carrierLabel:a=`Carrier`,showLegend:s=!0,footer:l,delay:u}){let d=o[t]??o.share,{placed:f,placedById:p,couples:m,matedInCouple:h,partnerOf:g,rows:_,H:v,rowY:y}=(0,P.useMemo)(()=>{let e=new Map;for(let t of r)e.set(t.id,t);let t=Ki(r,e),n=qi(r,e),i=new Map;for(let e of n)for(let t of e.childIds)i.set(t,e);let a=new Map;for(let e of n)a.set(e.motherId,e.fatherId),a.set(e.fatherId,e.motherId);for(let t of r)t.partner&&e.has(t.partner)&&!a.has(t.id)&&(a.set(t.id,t.partner),a.set(t.partner,t.id));let o=new Map;for(let e of n){let t=o.get(e.motherId)??new Set;t.add(e.fatherId),o.set(e.motherId,t);let n=o.get(e.fatherId)??new Set;n.add(e.motherId),o.set(e.fatherId,n)}let s=r.reduce((e,n)=>Math.max(e,t.get(n.id)??0),0),c=Array.from({length:s+1},()=>[]);for(let e of r)c[t.get(e.id)??0].push(e);let l=new Map;c.forEach(n=>{let r=0,i=new Set;for(let o of n){if(i.has(o.id))continue;l.set(o.id,r),i.add(o.id),r+=1;let n=a.get(o.id);n&&e.get(n)?.id&&(t.get(n)??0)===(t.get(o.id)??0)&&!i.has(n)&&(l.set(n,r),i.add(n),r+=1)}});for(let e=s;e>=1;e--){for(let r of n){if(r.childIds.map(e=>t.get(e)??0).reduce((e,t)=>Math.max(e,t),0)!==e)continue;let n=r.childIds.map(e=>l.get(e)??0),i=(Math.min(...n)+Math.max(...n))/2,a=Wi/Ui/2;l.set(r.motherId,i-a),l.set(r.fatherId,i+a)}let r=c[e-1].slice().sort((e,t)=>(l.get(e.id)??0)-(l.get(t.id)??0));for(let e=1;e<r.length;e++){let t=l.get(r[e-1].id)??0,n=l.get(r[e].id)??0,i=a.get(r[e-1].id)===r[e].id?Wi/Ui:1;n-t<i&&l.set(r[e].id,t+i)}}let u=r.map(e=>l.get(e.id)??0),d=Math.min(...u,0),f=Math.max(...u,0)-d||1,p=Ri-Bi-Vi*2-2*H,m=e=>59+(e-d)/f*p,h=e=>31+e*Hi,g=r.map(e=>{let n=t.get(e.id)??0;return{...e,gen:n,cx:m(l.get(e.id)??0),cy:h(n)}}),_=new Map;for(let e of g)_.set(e.id,e);return{placed:g,placedById:_,couples:n,matedInCouple:o,partnerOf:a,rows:c,maxGen:s,H:31+s*Hi+H+zi,rowY:h}},[r]),b=e=>{let t=p.get(e.motherId),n=p.get(e.fatherId);return!t||!n?null:{x:(t.cx+n.cx)/2,y:t.cy}},x=s&&f.length>0;return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":`${u??0}ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,T.jsx)(`div`,{className:`ped-wrap`,children:(0,T.jsxs)(`svg`,{viewBox:`0 0 ${Ri} ${v}`,className:`ped-svg`,role:`img`,"aria-label":e,children:[_.map((e,t)=>e.length?(0,T.jsx)(`text`,{x:Bi-12,y:y(t)+4,className:`ped-gen`,textAnchor:`middle`,children:Gi[t]??t+1},`gen${t}`):null),m.map((e,t)=>{let n=b(e),r=p.get(e.motherId),i=p.get(e.fatherId);if(!n||!r||!i)return null;let a=e.childIds.map(e=>p.get(e)).filter(e=>!!e);if(a.length===0)return null;let o=a[0].cy,s=(n.y+o)/2,c=a.map(e=>e.cx),l=Math.min(...c),u=Math.max(...c);return(0,T.jsxs)(`g`,{className:`ped-links`,children:[(0,T.jsx)(`line`,{x1:r.cx+H,y1:n.y,x2:i.cx-H,y2:n.y,className:`ped-line`}),(0,T.jsx)(`line`,{x1:n.x,y1:n.y,x2:n.x,y2:s,className:`ped-line`}),a.length>1&&(0,T.jsx)(`line`,{x1:l,y1:s,x2:u,y2:s,className:`ped-line`}),a.map(e=>(0,T.jsx)(`line`,{x1:e.cx,y1:s,x2:e.cx,y2:e.cy-H,className:`ped-line`},e.id))]},`cp${t}`)}),f.map(e=>{let t=g.get(e.id);if(!t||e.id>t||h.get(e.id)?.has(t))return null;let n=p.get(e.id),r=p.get(t);if(!n||!r||n.cy!==r.cy)return null;let[i,a]=n.cx<r.cx?[n,r]:[r,n];return(0,T.jsx)(`line`,{x1:i.cx+H,y1:i.cy,x2:a.cx-H,y2:a.cy,className:`ped-line`},`mp${e.id}`)}),f.map(e=>(0,T.jsx)(Yi,{p:e},e.id))]})}),x&&(0,T.jsxs)(`ul`,{className:`ped-legend`,"aria-label":`Pedigree symbol key`,children:[(0,T.jsxs)(`li`,{className:`ped-leg`,children:[(0,T.jsx)(`svg`,{viewBox:`-9 -9 18 18`,className:`ped-leg-ic`,"aria-hidden":`true`,children:(0,T.jsx)(`rect`,{x:-7,y:-7,width:14,height:14,className:`ped-leg-shape`})}),`Male`]}),(0,T.jsxs)(`li`,{className:`ped-leg`,children:[(0,T.jsx)(`svg`,{viewBox:`-9 -9 18 18`,className:`ped-leg-ic`,"aria-hidden":`true`,children:(0,T.jsx)(`circle`,{cx:0,cy:0,r:7,className:`ped-leg-shape`})}),`Female`]}),(0,T.jsxs)(`li`,{className:`ped-leg`,children:[(0,T.jsx)(`svg`,{viewBox:`-9 -9 18 18`,className:`ped-leg-ic`,"aria-hidden":`true`,children:(0,T.jsx)(`rect`,{x:-7,y:-7,width:14,height:14,className:`ped-leg-shape ped-leg-shape--fill`})}),i]}),(0,T.jsxs)(`li`,{className:`ped-leg`,children:[(0,T.jsxs)(`svg`,{viewBox:`-9 -9 18 18`,className:`ped-leg-ic`,"aria-hidden":`true`,children:[(0,T.jsx)(`circle`,{cx:0,cy:0,r:7,className:`ped-leg-shape`}),(0,T.jsx)(`circle`,{cx:0,cy:0,r:2.4,className:`ped-leg-dot`})]}),a]})]}),l&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:x?8:10},dangerouslySetInnerHTML:c(l)})]})}function Yi(e){let t=(0,F.c)(39),{p:n}=e,{cx:r,cy:i}=n,a=!!n.affected,o=!!n.carrier&&!a,s=`ped-sym${a?` ped-sym--affected`:``}`,c;if(n.sex===`female`){let e;t[0]!==s||t[1]!==r||t[2]!==i?(e=(0,T.jsx)(`circle`,{cx:r,cy:i,r:H,className:s}),t[0]=s,t[1]=r,t[2]=i,t[3]=e):e=t[3],c=e}else if(n.sex===`unknown`){let e=`${r},${i-H} ${r+H},${i} ${r},${i+H} ${r-H},${i}`,n;t[4]!==s||t[5]!==e?(n=(0,T.jsx)(`polygon`,{points:e,className:s}),t[4]=s,t[5]=e,t[6]=n):n=t[6],c=n}else{let e=r-H,n=i-H,a;t[7]!==s||t[8]!==e||t[9]!==n?(a=(0,T.jsx)(`rect`,{x:e,y:n,width:H*2,height:H*2,className:s}),t[7]=s,t[8]=e,t[9]=n,t[10]=a):a=t[10],c=a}let l;t[11]!==o||t[12]!==r||t[13]!==i?(l=o&&(0,T.jsx)(`circle`,{cx:r,cy:i,r:H*.28,className:`ped-carrier-dot`}),t[11]=o,t[12]=r,t[13]=i,t[14]=l):l=t[14];let u;t[15]!==r||t[16]!==i||t[17]!==n.deceased?(u=n.deceased&&(0,T.jsx)(`line`,{x1:r+H+3,y1:i-H-3,x2:r-H-3,y2:i+H+3,className:`ped-slash`}),t[15]=r,t[16]=i,t[17]=n.deceased,t[18]=u):u=t[18];let d;t[19]!==r||t[20]!==i||t[21]!==n.proband?(d=n.proband&&(0,T.jsxs)(`g`,{className:`ped-proband`,children:[(0,T.jsx)(`line`,{x1:r-H-10,y1:i+H+10,x2:r-H-1,y2:i+H+1,className:`ped-proband-line`}),(0,T.jsx)(`polygon`,{points:`${r-H-1},${i+H+1} ${r-H-6},${i+H+2} ${r-H-2},${i+H+6}`,className:`ped-proband-head`})]}),t[19]=r,t[20]=i,t[21]=n.proband,t[22]=d):d=t[22];let f;t[23]!==r||t[24]!==i||t[25]!==n.label?(f=n.label&&(0,T.jsx)(`text`,{x:r,y:i+H+11,className:`ped-name`,textAnchor:`middle`,children:n.label}),t[23]=r,t[24]=i,t[25]=n.label,t[26]=f):f=t[26];let p;t[27]!==r||t[28]!==i||t[29]!==n.genotype||t[30]!==n.label?(p=n.genotype&&(0,T.jsx)(`text`,{x:r,y:i+H+(n.label?20:11),className:`ped-geno`,textAnchor:`middle`,children:n.genotype}),t[27]=r,t[28]=i,t[29]=n.genotype,t[30]=n.label,t[31]=p):p=t[31];let m;return t[32]!==c||t[33]!==l||t[34]!==u||t[35]!==d||t[36]!==f||t[37]!==p?(m=(0,T.jsxs)(`g`,{children:[c,l,u,d,f,p]}),t[32]=c,t[33]=l,t[34]=u,t[35]=d,t[36]=f,t[37]=p,t[38]=m):m=t[38],m}var Xi=360,Zi=300,Qi=(Xi-96)/2,$i=Zi/2,ea=26,ta=24,na=50,ra=4.2,ia=[2,8,18,32,50],aa=9.5*.62,oa=11;function sa(e,t){let n=Math.max(1,Math.floor(t/aa));if(e.length<=n)return[e];let r=e.split(` `),i=[],a=``,o=()=>{a&&=(i.push(a),``)};for(let e of r){if(e.length>n){o();for(let t=0;t<e.length;t+=n)i.push(e.slice(t,t+n));continue}let t=a?`${a} ${e}`:e;t.length>n&&a?(o(),a=e):a=t}return o(),i}function ca(e,t,n){if(e<=0)return[];let r=[];for(let i=0;i<e;i++){let a=-Math.PI/2+n+i/e*Math.PI*2;r.push({x:Qi+Math.cos(a)*t,y:$i+Math.sin(a)*t})}return r}function la({title:e,icon:t=`spark`,iconColor:n=`var(--presence)`,protons:r,neutrons:i,shells:a,symbol:s,name:l,footer:u,delay:d}){let f=o[t]||o.spark,p=(0,P.useMemo)(()=>{let e=(a??[]).map(e=>Math.max(0,Math.floor(e))).filter(e=>Number.isFinite(e)),t=e.map((e,t)=>{let n=na+t*ta;return{index:t,radius:n,count:e,dots:ca(e,n,t*.9),overFilled:e>(ia[t]??1/0)}}),n=e.reduce((e,t)=>e+t,0);return{rings:t,counts:e,electronTotal:n,mass:r+(i??0),charge:n-r}},[a,r,i]),m=p.rings.length?p.rings[p.rings.length-1].radius:na,h=Xi-10,g=$i-(p.rings.length-1)*18/2,_=p.charge>0?`+`:p.charge<0?`−`:``,v=Math.abs(p.charge),y=sa(`${p.counts.join(`·`)} = ${p.electronTotal} e⁻`,h-270),b=Zi-14-(y.length-1)*oa;return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(d||0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(f,{className:`ic`,style:{color:n}}),` `,e]}),(0,T.jsx)(`div`,{className:`boh-wrap`,children:(0,T.jsxs)(`svg`,{viewBox:`0 0 ${Xi} ${Zi}`,className:`boh-svg`,role:`img`,"aria-label":e,children:[p.rings.map(e=>(0,T.jsx)(`circle`,{cx:Qi,cy:$i,r:e.radius,className:e.overFilled?`boh-ring boh-ring--over`:`boh-ring`},`ring${e.index}`)),(0,T.jsx)(`circle`,{cx:Qi,cy:$i,r:ea,className:`boh-nucleus`}),(0,T.jsxs)(`text`,{x:Qi,y:$i-(i===void 0?0:5),className:`boh-nuc-p`,textAnchor:`middle`,dominantBaseline:`middle`,children:[r,`p⁺`]}),i!==void 0&&(0,T.jsxs)(`text`,{x:Qi,y:158,className:`boh-nuc-n`,textAnchor:`middle`,dominantBaseline:`middle`,children:[i,`n⁰`]}),p.rings.map(e=>e.dots.map((t,n)=>(0,T.jsx)(`circle`,{cx:t.x,cy:t.y,r:ra,className:`boh-electron`},`e${e.index}-${n}`))),s&&(0,T.jsxs)(`text`,{x:Qi,y:$i-m-16,className:`boh-symbol`,textAnchor:`middle`,children:[s,v>0&&(0,T.jsxs)(`tspan`,{className:`boh-ion`,dy:-6,children:[v>1?v:``,_]})]}),l&&(0,T.jsx)(`text`,{x:Qi,y:$i+m+22,className:`boh-name`,textAnchor:`middle`,children:l}),p.rings.map((e,t)=>{let n=g+t*18;return(0,T.jsxs)(`g`,{children:[(0,T.jsx)(`line`,{x1:Qi+e.radius,y1:$i,x2:270,y2:n,className:`boh-leader`}),(0,T.jsxs)(`text`,{x:h,y:n+3,className:`boh-shell-lbl`,textAnchor:`end`,children:[(0,T.jsxs)(`tspan`,{className:`boh-shell-n`,children:[`n`,e.index+1]}),` `,(0,T.jsxs)(`tspan`,{className:`boh-shell-e`,children:[e.count,` e⁻`]})]})]},`lbl${e.index}`)}),(0,T.jsx)(`text`,{x:h,y:b,className:`boh-config`,textAnchor:`end`,children:y.map((e,t)=>(0,T.jsx)(`tspan`,{x:h,dy:t===0?0:oa,children:e},t))})]})}),(0,T.jsxs)(`div`,{className:`boh-stats`,children:[(0,T.jsxs)(`span`,{className:`boh-stat`,children:[(0,T.jsx)(`i`,{className:`boh-stat-k`,children:`Protons`}),(0,T.jsx)(`b`,{className:`boh-stat-v`,children:r})]}),i!==void 0&&(0,T.jsxs)(`span`,{className:`boh-stat`,children:[(0,T.jsx)(`i`,{className:`boh-stat-k`,children:`Neutrons`}),(0,T.jsx)(`b`,{className:`boh-stat-v`,children:i})]}),(0,T.jsxs)(`span`,{className:`boh-stat`,children:[(0,T.jsx)(`i`,{className:`boh-stat-k`,children:`Electrons`}),(0,T.jsx)(`b`,{className:`boh-stat-v`,children:p.electronTotal})]}),(0,T.jsxs)(`span`,{className:`boh-stat`,children:[(0,T.jsx)(`i`,{className:`boh-stat-k`,children:`Mass no.`}),(0,T.jsx)(`b`,{className:`boh-stat-v`,children:p.mass})]}),p.charge!==0&&(0,T.jsxs)(`span`,{className:`boh-stat boh-stat--ion`,children:[(0,T.jsx)(`i`,{className:`boh-stat-k`,children:`Charge`}),(0,T.jsxs)(`b`,{className:`boh-stat-v`,children:[v>1?v:``,_]})]})]}),u&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:c(u)})]})}function ua(e){let t=(0,F.c)(10),{text:n}=e,r,i,a;if(t[0]!==n){let e=n.match(/\^(\d*[+-])$/),o=e?n.slice(0,e.index):n;r=e?e[1].replace(`-`,`−`):null;let s=o.split(/(\d+)/).filter(fa);i=`lr-eqb-formula`,a=s.map(da),t[0]=n,t[1]=r,t[2]=i,t[3]=a}else r=t[1],i=t[2],a=t[3];let o;t[4]===r?o=t[5]:(o=r&&(0,T.jsx)(`sup`,{className:`lr-eqb-charge`,children:r}),t[4]=r,t[5]=o);let s;return t[6]!==i||t[7]!==a||t[8]!==o?(s=(0,T.jsxs)(`span`,{className:i,children:[a,o]}),t[6]=i,t[7]=a,t[8]=o,t[9]=s):s=t[9],s}function da(e,t){return/^\d+$/.test(e)?(0,T.jsx)(`sub`,{children:e},t):(0,T.jsx)(P.Fragment,{children:e},t)}function fa(e){return e!==``}function pa(e){let t=(0,F.c)(4),{species:n}=e,r;t[0]===n?r=t[1]:(r=n.map(ma),t[0]=n,t[1]=r);let i;return t[2]===r?i=t[3]:(i=(0,T.jsx)(T.Fragment,{children:r}),t[2]=r,t[3]=i),i}function ma(e,t){return(0,T.jsxs)(P.Fragment,{children:[t>0&&(0,T.jsx)(`span`,{className:`lr-eqb-plus`,children:`+`}),(0,T.jsxs)(`span`,{className:`lr-eqb-species`,children:[e.coeff>1&&(0,T.jsx)(`span`,{className:`lr-eqb-coeff`,children:e.coeff}),(0,T.jsx)(ua,{text:e.formula})]})]},t)}function ha({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,reactants:r=[],products:i=[],elementTally:a=[],balanced:s,caption:l,footer:u,delay:d}){let f=o[t]||o.sparkle,p=(0,P.useMemo)(()=>a.every(e=>e.left===e.right),[a]),m=s??(a.length>0?p:void 0);return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(d||0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(f,{className:`ic`,style:{color:n}}),` `,e,m!==void 0&&(0,T.jsx)(`span`,{className:m?`lr-eqb-badge lr-eqb-badge--ok`:`lr-eqb-badge lr-eqb-badge--no`,children:m?`balanced ✓`:`not balanced`})]}),(0,T.jsxs)(`div`,{className:`lr-eqb-eq`,children:[(0,T.jsx)(pa,{species:r}),(0,T.jsx)(`span`,{className:`lr-eqb-arrow`,"aria-label":`reacts to form`,children:`→`}),(0,T.jsx)(pa,{species:i})]}),a.length>0&&(0,T.jsxs)(`div`,{className:`lr-eqb-tally`,role:`table`,"aria-label":`Atom balance by element`,children:[(0,T.jsxs)(`div`,{className:`lr-eqb-trow lr-eqb-thead`,role:`row`,children:[(0,T.jsx)(`span`,{role:`columnheader`,children:`Element`}),(0,T.jsx)(`span`,{role:`columnheader`,children:`Left`}),(0,T.jsx)(`span`,{role:`columnheader`,children:`Right`})]}),a.map((e,t)=>(0,T.jsxs)(`div`,{className:e.left===e.right?`lr-eqb-trow lr-eqb-trow--ok`:`lr-eqb-trow lr-eqb-trow--no`,role:`row`,children:[(0,T.jsx)(`span`,{className:`lr-eqb-el`,role:`cell`,children:e.element}),(0,T.jsx)(`span`,{className:`lr-eqb-n`,role:`cell`,children:e.left}),(0,T.jsx)(`span`,{className:`lr-eqb-n`,role:`cell`,children:e.right})]},t))]}),l&&(0,T.jsx)(`p`,{className:`lr-eqb-cap`,children:l}),u&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:c(u)})]})}function ga(e){let t=(0,F.c)(6),{text:n}=e,r,i;if(t[0]!==n){let e=n.split(/(\d+)/).filter(va);r=`lr-yc-formula`,i=e.map(_a),t[0]=n,t[1]=r,t[2]=i}else r=t[1],i=t[2];let a;return t[3]!==r||t[4]!==i?(a=(0,T.jsx)(`span`,{className:r,children:i}),t[3]=r,t[4]=i,t[5]=a):a=t[5],a}function _a(e,t){return/^\d+$/.test(e)?(0,T.jsx)(`sub`,{children:e},t):(0,T.jsx)(P.Fragment,{children:e},t)}function va(e){return e!==``}function ya({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,reaction:r,limitingReagent:i,molesAvailable:a,theoreticalYield:s,actualYield:u,unit:d=`g`,footer:f,delay:p}){let m=o[t]||o.sparkle,h=(0,P.useMemo)(()=>Array.isArray(a)?a.filter(e=>!!e&&typeof e.reagent==`string`&&e.reagent.trim()!==``&&Number.isFinite(e.moles)):[],[a]),g=typeof i==`string`?i.trim():``,_=g?g.toLowerCase():void 0,y=(0,P.useMemo)(()=>typeof s!=`number`||!Number.isFinite(s)||s<=0||typeof u!=`number`||!Number.isFinite(u)||u<0?null:u/s*100,[s,u]),b=+(y!==null&&Math.abs(y-Math.round(y))>.05),x=v(y??0,{delay:(p||0)+140,decimals:b}),S=typeof r==`string`?r.trim():``,C=S?S.replace(/-+>|=+>/g,`→`):null,w=C||g||h.length>0||y!==null;return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(p||0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(m,{className:`ic`,style:{color:n}}),` `,e,y!==null&&(0,T.jsx)(`span`,{className:y>100?`lr-yc-badge lr-yc-badge--over`:`lr-yc-badge lr-yc-badge--ok`,children:y>100?`above 100%`:`yield`})]}),C&&(0,T.jsx)(`p`,{className:`lr-yc-reaction`,children:C}),y===null?g&&h.length===0&&(0,T.jsxs)(`p`,{className:`lr-yc-cap`,children:[`Limiting reagent: `,(0,T.jsx)(`strong`,{children:g})]}):(0,T.jsxs)(`div`,{className:`lr-yc-head`,children:[(0,T.jsxs)(`div`,{className:`lr-yc-pct-row`,children:[(0,T.jsx)(`span`,{className:`lr-yc-pct tab-num`,children:x}),(0,T.jsx)(`span`,{className:`lr-yc-pct-suffix`,children:`% yield`})]}),(0,T.jsxs)(`div`,{className:`lr-yc-yield-line`,children:[(0,T.jsx)(`strong`,{className:`tab-num`,children:l(u,d)}),` actual`,` / `,(0,T.jsx)(`strong`,{className:`tab-num`,children:l(s,d)}),` `,`theoretical`]})]}),h.length>0&&(0,T.jsxs)(`div`,{className:`lr-yc-table`,role:`table`,"aria-label":`Moles available by reagent`,children:[(0,T.jsxs)(`div`,{className:`lr-yc-trow lr-yc-thead`,role:`row`,children:[(0,T.jsx)(`span`,{role:`columnheader`,children:`Reagent`}),(0,T.jsx)(`span`,{role:`columnheader`,children:`Moles`})]}),h.map((e,t)=>{let n=_!==void 0&&e.reagent.trim().toLowerCase()===_;return(0,T.jsxs)(`div`,{className:n?`lr-yc-trow lr-yc-trow--limiting m-stagger-item m-fade-rise`:`lr-yc-trow m-stagger-item m-fade-rise`,style:{"--i":t},role:`row`,children:[(0,T.jsxs)(`span`,{className:`lr-yc-reagent`,role:`cell`,children:[(0,T.jsx)(ga,{text:e.reagent}),n&&(0,T.jsx)(`span`,{className:`lr-yc-limbadge`,children:`limiting`})]}),(0,T.jsx)(`span`,{className:`lr-yc-moles tab-num`,role:`cell`,children:e.moles})]},t)})]}),!w&&(0,T.jsx)(`p`,{className:`faint`,style:{fontSize:13,margin:`4px 0 0`},children:`Provide a reaction, limiting reagent, or yield figures to compute a result.`}),f&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:c(f)})]})}var ba=300,xa=270,Sa=ba/2,Ca=141,wa=80,Ta=46,Ea={linear:{bonds:[{angle:0,depth:`flat`},{angle:180,depth:`flat`}],lone:[]},trigonal:{bonds:[{angle:90,depth:`flat`},{angle:210,depth:`flat`},{angle:330,depth:`flat`}],lone:[]},bent:{bonds:[{angle:235,depth:`flat`},{angle:305,depth:`flat`}],lone:[70,110]},tetrahedral:{bonds:[{angle:90,depth:`flat`},{angle:210,depth:`dash`},{angle:330,depth:`wedge`},{angle:270,depth:`wedge`}],lone:[]},pyramidal:{bonds:[{angle:210,depth:`flat`},{angle:330,depth:`flat`},{angle:270,depth:`wedge`}],lone:[90]},octahedral:{bonds:[{angle:90,depth:`flat`},{angle:270,depth:`flat`},{angle:0,depth:`flat`},{angle:180,depth:`flat`},{angle:45,depth:`wedge`},{angle:225,depth:`dash`}],lone:[]}};function Da(e,t){let n=e+t;return n<=2?`linear`:n===3?t>0?`bent`:`trigonal`:n===4?t>=2?`bent`:t===1?`pyramidal`:`tetrahedral`:`octahedral`}var Oa=e=>e*Math.PI/180,ka=(e,t,n)=>e+Math.cos(Oa(n))*t,Aa=(e,t,n)=>e-Math.sin(Oa(n))*t;function ja({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,central:r,bonds:i=[],lonePairs:a=0,shape:s,bondAngle:l,caption:u,footer:d,delay:f}){let p=o[t]||o.sparkle,m=(0,P.useMemo)(()=>{let e=(s||Da(i.length,a)).toLowerCase(),t=Ea[e]??Ea[Da(i.length,a)],n=i.map((e,n)=>t.bonds[n]?t.bonds[n]:{angle:n/Math.max(i.length,1)*360,depth:`flat`}),r=i.map((e,t)=>{let r=n[t];return{atom:e.atom,order:e.order??1,depth:r.depth,x:ka(Sa,wa,r.angle),y:Aa(Ca,wa,r.angle),angle:r.angle}}),o=[];for(let e=0;e<a;e++){let n=t.lone[e]??90+e*360/Math.max(a,1);o.push({x:ka(Sa,Ta,n),y:Aa(Ca,Ta,n),angle:n})}return{key:e,placed:r,lone:o}},[s,i,a]);return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(f||0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(p,{className:`ic`,style:{color:n}}),` `,e]}),(0,T.jsx)(`div`,{className:`lr-vse-wrap`,children:(0,T.jsxs)(`svg`,{viewBox:`0 0 ${ba} ${xa}`,className:`lr-vse-svg`,role:`img`,"aria-label":e,children:[m.placed.map((e,t)=>{let n=e.x-Sa,r=e.y-Ca,i=Math.hypot(n,r)||1,a=-r/i*3.2,o=n/i*3.2,s=e.order===3?[-1,0,1]:e.order===2?[-1,1]:[0];return e.depth===`wedge`?(0,T.jsx)(`polygon`,{className:`lr-vse-wedge`,points:`${Sa},${Ca} ${e.x+5/3.2*a},${e.y+5/3.2*o} ${e.x-5/3.2*a},${e.y-5/3.2*o}`},`b${t}`):e.depth===`dash`?(0,T.jsx)(`g`,{className:`lr-vse-dash`,children:Array.from({length:5},(e,t)=>{let i=(t+.5)/5,s=Sa+n*i,c=Ca+r*i,l=i*5/3.2;return(0,T.jsx)(`line`,{x1:s+a*l,y1:c+o*l,x2:s-a*l,y2:c-o*l},t)})},`b${t}`):(0,T.jsx)(`g`,{children:s.map((t,n)=>(0,T.jsx)(`line`,{className:`lr-vse-bond`,x1:Sa+a*t,y1:Ca+o*t,x2:e.x+a*t,y2:e.y+o*t},n))},`b${t}`)}),m.lone.map((e,t)=>{let n=e.angle+90,r=Math.cos(Oa(n))*4,i=-Math.sin(Oa(n))*4;return(0,T.jsxs)(`g`,{className:`lr-vse-lone`,children:[(0,T.jsx)(`circle`,{cx:e.x+r,cy:e.y+i,r:2.4}),(0,T.jsx)(`circle`,{cx:e.x-r,cy:e.y-i,r:2.4})]},`lp${t}`)}),m.placed.map((e,t)=>(0,T.jsxs)(`g`,{children:[(0,T.jsx)(`circle`,{cx:e.x,cy:e.y,r:15,className:`lr-vse-atom-bg`}),(0,T.jsx)(`text`,{x:e.x,y:e.y+4,className:`lr-vse-atom`,textAnchor:`middle`,children:e.atom})]},`a${t}`)),(0,T.jsx)(`circle`,{cx:Sa,cy:Ca,r:19,className:`lr-vse-central-bg`}),(0,T.jsx)(`text`,{x:Sa,y:146,className:`lr-vse-central`,textAnchor:`middle`,children:r})]})}),(0,T.jsxs)(`div`,{className:`lr-vse-stats`,children:[(0,T.jsxs)(`span`,{className:`lr-vse-stat`,children:[(0,T.jsx)(`i`,{className:`lr-vse-stat-k`,children:`Shape`}),(0,T.jsx)(`b`,{className:`lr-vse-stat-v`,children:s||m.key})]}),l&&(0,T.jsxs)(`span`,{className:`lr-vse-stat`,children:[(0,T.jsx)(`i`,{className:`lr-vse-stat-k`,children:`Bond angle`}),(0,T.jsx)(`b`,{className:`lr-vse-stat-v`,children:l})]}),a>0&&(0,T.jsxs)(`span`,{className:`lr-vse-stat`,children:[(0,T.jsx)(`i`,{className:`lr-vse-stat-k`,children:`Lone pairs`}),(0,T.jsx)(`b`,{className:`lr-vse-stat-v`,children:a})]})]}),u&&(0,T.jsx)(`p`,{className:`lr-vse-cap`,children:u}),d&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:c(d)})]})}var U=240,W=U/2,G=U/2,Ma=84,Na=e=>e*Math.PI/180,Pa=e=>W+Math.cos(Na(e))*Ma,Fa=e=>G-Math.sin(Na(e))*Ma,Ia=[0,30,45,60,90,120,135,150,180,210,225,240,270,300,315,330];function La(e){let t=(e%360+360)%360;if(t===0)return`0`;let n=t,r=180,i=Ra(n,r);n/=i,r/=i;let a=n===1?`π`:`${n}π`;return r===1?a:`${a}/${r}`}function Ra(e,t){return t===0?e:Ra(t,e%t)}function za(e){let t=[[0,`0`],[1,`1`],[-1,`−1`],[.5,`½`],[-.5,`−½`],[Math.SQRT1_2,`√2/2`],[-Math.SQRT1_2,`−√2/2`],[Math.sqrt(3)/2,`√3/2`],[-Math.sqrt(3)/2,`−√3/2`]];for(let[n,r]of t)if(Math.abs(e-n)<1e-6)return r;return(e<0?`−`:``)+Math.abs(e).toFixed(2)}var Ba=6.4,Va=4;function Ha(e,t,n){let r=t>=0?`start`:`end`,i=n.length*Ba,a=8+Math.min(i*.15,10),o=e+(t>=0?a:-a);return o=r===`start`?Math.min(o,U-Va-i):Math.max(o,Va+i),{x:o,anchor:r}}function Ua({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,angleDeg:r,showSpecial:i=!0,caption:a,footer:s,delay:l}){let u=o[t]||o.chart,d=(0,P.useMemo)(()=>{let e=(r%360+360)%360,t=Math.cos(Na(e)),n=Math.sin(Na(e)),i=W+t*Ma,a=G-n*Ma,o={x:W+Math.cos(Na(e))*26,y:G-Math.sin(Na(e))*26},s=`M 146,${G} A 26,26 0 ${+(e>180)} 0 ${o.x},${o.y}`,c=`(${za(t)}, ${za(n)})`,{x:l,anchor:u}=Ha(i,t,c);return{deg:e,cos:t,sin:n,tx:i,ty:a,arcPath:s,coordLabel:c,coordX:l,coordY:Math.min(Math.max(a+(n>=0?-8:16),12),U-6),coordAnchor:u}},[r]);return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(l||0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,T.jsx)(`div`,{className:`lr-uc-wrap`,children:(0,T.jsxs)(`svg`,{viewBox:`0 0 ${U} ${U}`,className:`lr-uc-svg`,role:`img`,"aria-label":e,children:[(0,T.jsx)(`line`,{x1:12,y1:G,x2:U-12,y2:G,className:`lr-uc-axis`}),(0,T.jsx)(`line`,{x1:W,y1:U-12,x2:W,y2:12,className:`lr-uc-axis`}),(0,T.jsx)(`polygon`,{points:`${U-12},${G} ${U-18},${G-3.5} ${U-18},123.5`,className:`lr-uc-axis-arrow`}),(0,T.jsx)(`polygon`,{points:`${W},12 ${W-3.5},18 123.5,18`,className:`lr-uc-axis-arrow`}),(0,T.jsx)(`circle`,{cx:W,cy:G,r:Ma,className:`lr-uc-circle`}),i&&Ia.map(e=>(0,T.jsx)(`line`,{x1:W+Math.cos(Na(e))*(Ma-4),y1:G-Math.sin(Na(e))*(Ma-4),x2:Pa(e),y2:Fa(e),className:`lr-uc-tick`},e)),(0,T.jsx)(`line`,{x1:W,y1:G,x2:d.tx,y2:G,className:`lr-uc-leg lr-uc-leg--cos`}),(0,T.jsx)(`line`,{x1:d.tx,y1:G,x2:d.tx,y2:d.ty,className:`lr-uc-leg lr-uc-leg--sin`}),(0,T.jsx)(`path`,{d:d.arcPath,className:`lr-uc-arc`}),(0,T.jsx)(`text`,{x:W+Math.cos(Na(d.deg/2))*40,y:G-Math.sin(Na(d.deg/2))*40+3,className:`lr-uc-angle-lbl`,textAnchor:`middle`,children:`θ`}),(0,T.jsx)(`line`,{x1:W,y1:G,x2:d.tx,y2:d.ty,className:`lr-uc-radius`}),(0,T.jsx)(`circle`,{cx:d.tx,cy:d.ty,r:4.5,className:`lr-uc-point`}),(0,T.jsx)(`text`,{x:d.coordX,y:d.coordY,className:`lr-uc-coord`,textAnchor:d.coordAnchor,children:d.coordLabel})]})}),(0,T.jsxs)(`div`,{className:`lr-uc-stats`,children:[(0,T.jsxs)(`span`,{className:`lr-uc-stat`,children:[(0,T.jsx)(`i`,{className:`lr-uc-stat-k`,children:`Angle`}),(0,T.jsxs)(`b`,{className:`lr-uc-stat-v`,children:[d.deg,`°`]})]}),(0,T.jsxs)(`span`,{className:`lr-uc-stat`,children:[(0,T.jsx)(`i`,{className:`lr-uc-stat-k`,children:`Radians`}),(0,T.jsx)(`b`,{className:`lr-uc-stat-v`,children:La(d.deg)})]}),(0,T.jsxs)(`span`,{className:`lr-uc-stat`,children:[(0,T.jsx)(`i`,{className:`lr-uc-stat-k`,children:`cos θ`}),(0,T.jsx)(`b`,{className:`lr-uc-stat-v`,children:za(d.cos)})]}),(0,T.jsxs)(`span`,{className:`lr-uc-stat`,children:[(0,T.jsx)(`i`,{className:`lr-uc-stat-k`,children:`sin θ`}),(0,T.jsx)(`b`,{className:`lr-uc-stat-v`,children:za(d.sin)})]})]}),a&&(0,T.jsx)(`p`,{className:`lr-uc-cap`,children:a}),s&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:c(s)})]})}var Wa=280,Ga=240,Ka=.5,qa=-.5,K=(e,t)=>({x:e,y:t}),Ja=e=>e.map(e=>`${e.x.toFixed(1)},${e.y.toFixed(1)}`).join(` `);function Ya(e,t){let n=t??{},r=(e,t)=>Math.max(.4,Math.min(2.4,e??t)),i=r(n.w,1.4),a=r(n.h,1),o=r(n.d,.9),s=r(n.r,1),c=i*58,l=a*58,u=o*58,d=s*58*.6,f=u*Ka,p=u*qa,m=Wa/2-(c+f)/2,h=Ga/2+(l-p)/2,g=[],_=[],v=null;if(e===`cube`||e===`rectprism`||e===`prism`){let e=K(m,h),t=K(m+c,h),n=K(m+c,h-l),r=K(m,h-l),i=e=>K(e.x+f,e.y+p);g.push({pts:[i(e),i(t),i(n),i(r)],hidden:!0}),g.push({pts:[e,t,n,r]}),g.push({pts:[r,n,i(n),i(r)]}),g.push({pts:[t,i(t),i(n),n]})}else if(e===`pyramid`){let e=K(m,h),t=K(m+c,h),n=e=>K(e.x+f,e.y+p),r=n(t),i=n(e);v=K(m+c/2+f/2,h-l+p/2),g.push({pts:[e,t,r,i],hidden:!0}),g.push({pts:[e,t,v]}),g.push({pts:[t,r,v]})}else if(e===`cylinder`){let e=c/2,t=e*.32,n=h-l;_.push({cx:m+e,cy:h,rx:e,ry:t,hidden:!0}),g.push({pts:[K(m,n),K(m,h),K(m+c,h),K(m+c,n)]}),_.push({cx:m+e,cy:n,rx:e,ry:t})}else if(e===`cone`){let e=c/2,t=e*.32;v=K(m+e,h-l),_.push({cx:m+e,cy:h,rx:e,ry:t}),g.push({pts:[K(m,h),v]}),g.push({pts:[K(m+c,h),v]})}else _.push({cx:Wa/2,cy:Ga/2,rx:d,ry:d}),_.push({cx:Wa/2,cy:Ga/2,rx:d,ry:d*.34,hidden:!0});return{faces:g,ellipses:_,apex:v}}function Xa({title:e,icon:t=`layers`,iconColor:n=`var(--presence)`,solid:r,dims:i,labels:a,surfaceArea:s,volume:l,caption:u,footer:d,delay:f}){let p=o[t]||o.layers,m=(0,P.useMemo)(()=>Ya(r,i),[r,i]),h=[];a?.v!==void 0&&h.push({k:`V`,v:a.v}),a?.e!==void 0&&h.push({k:`E`,v:a.e}),a?.f!==void 0&&h.push({k:`F`,v:a.f});let g=a?.v!==void 0&&a?.e!==void 0&&a?.f!==void 0?a.v-a.e+a.f:null;return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(f||0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(p,{className:`ic`,style:{color:n}}),` `,e]}),(0,T.jsx)(`div`,{className:`lr-sf-wrap`,children:(0,T.jsxs)(`svg`,{viewBox:`0 0 ${Wa} ${Ga}`,className:`lr-sf-svg`,role:`img`,"aria-label":e,children:[m.faces.map((e,t)=>({f:e,i:t})).sort((e,t)=>Number(t.f.hidden)-Number(e.f.hidden)).map(({f:e,i:t})=>e.pts.length===2?(0,T.jsx)(`line`,{x1:e.pts[0].x,y1:e.pts[0].y,x2:e.pts[1].x,y2:e.pts[1].y,className:e.hidden?`lr-sf-edge lr-sf-edge--hidden`:`lr-sf-edge`},`f${t}`):(0,T.jsx)(`polygon`,{points:Ja(e.pts),className:e.hidden?`lr-sf-face lr-sf-face--hidden`:`lr-sf-face`},`f${t}`)),m.ellipses.map((e,t)=>(0,T.jsx)(`ellipse`,{cx:e.cx,cy:e.cy,rx:e.rx,ry:e.ry,className:e.hidden?`lr-sf-rim lr-sf-rim--hidden`:`lr-sf-rim`},`e${t}`))]})}),(h.length>0||s||l)&&(0,T.jsxs)(`div`,{className:`lr-sf-stats`,children:[h.map(e=>(0,T.jsxs)(`span`,{className:`lr-sf-chip`,children:[(0,T.jsx)(`i`,{className:`lr-sf-chip-k`,children:e.k}),(0,T.jsx)(`b`,{className:`lr-sf-chip-v`,children:e.v})]},e.k)),g!==null&&(0,T.jsxs)(`span`,{className:`lr-sf-euler`,children:[`V − E + F = `,(0,T.jsx)(`b`,{children:g})]}),s&&(0,T.jsxs)(`span`,{className:`lr-sf-chip lr-sf-chip--measure`,children:[(0,T.jsx)(`i`,{className:`lr-sf-chip-k`,children:`SA`}),(0,T.jsx)(`b`,{className:`lr-sf-chip-v`,children:s})]}),l&&(0,T.jsxs)(`span`,{className:`lr-sf-chip lr-sf-chip--measure`,children:[(0,T.jsx)(`i`,{className:`lr-sf-chip-k`,children:`Vol`}),(0,T.jsx)(`b`,{className:`lr-sf-chip-v`,children:l})]})]}),u&&(0,T.jsx)(`p`,{className:`lr-sf-cap`,children:u}),d&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:c(d)})]})}var Za=[`var(--warning)`,`var(--danger)`,`var(--presence)`,`var(--insight)`,`var(--presence-deep)`,`var(--insight-soft)`],Qa=(e,t)=>e.color??Za[t%Za.length],$a=20,eo=16;function to(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}var no=320,ro=8,io=14,ao=116,oo=160,so=26,co=240,lo=co/2,uo=co/2,fo=104;function po({title:e,icon:t=`layers`,iconColor:n=`var(--presence)`,layers:r=[],orientation:i=`horizontal`,depthUnit:a,caption:s,footer:c,delay:l}){let d=o[t]||o.layers,f=(0,P.useMemo)(()=>{let e=r.filter(e=>e.thickness>0);return{clean:e,total:e.reduce((e,t)=>e+t.thickness,0)||1}},[r]);if(i===`concentric`){let t=fo,r=f.clean.map((e,n)=>{let r=t,i=Math.max(0,t-e.thickness/f.total*fo);return t=i,{layer:e,i:n,outer:r,inner:i,midR:(r+i)/2}}),i=co,o=i-10,u=r.length>1?Math.min(18,(o-10)/(r.length-1)):18;return(0,T.jsxs)(go,{title:e,Ic:d,iconColor:n,caption:s,footer:c,delay:l,children:[(0,T.jsx)(`div`,{className:`lr-xs-wrap`,children:(0,T.jsxs)(`svg`,{viewBox:`0 0 ${i} ${i}`,className:`lr-xs-svg lr-xs-svg--ring`,role:`img`,"aria-label":e,children:[r.map(e=>(0,T.jsx)(`circle`,{cx:lo,cy:uo,r:e.outer,fill:`color-mix(in oklab, ${Qa(e.layer,e.i)} ${28+e.i*6}%, var(--surface-default))`,stroke:Qa(e.layer,e.i),className:`lr-xs-ring`},`ring${e.i}`)),r.map(e=>{let t=10+e.i*u;return(0,T.jsxs)(`g`,{children:[(0,T.jsx)(`line`,{x1:lo,y1:uo-e.midR,x2:co-8,y2:t,className:`lr-xs-leader`}),(0,T.jsxs)(`text`,{x:co-6,y:t+3,className:`lr-xs-ring-lbl`,textAnchor:`end`,children:[e.layer.name.length>eo&&(0,T.jsx)(`title`,{children:e.layer.name}),to(e.layer.name,eo)]})]},`lbl${e.i}`)})]})}),(0,T.jsx)(mo,{layers:f.clean,depthUnit:a,total:f.total})]})}let p=f.clean.length*so,m=Math.max(0,56*f.clean.length),h=ro,g=0,_=f.clean.map((e,t)=>{let n=so+e.thickness/f.total*m,r={layer:e,i:t,y:h,h:n,depthTop:g};return h+=n,g+=e.thickness,r}),v=h+10;return(0,T.jsxs)(go,{title:e,Ic:d,iconColor:n,caption:s,footer:c,delay:l,children:[(0,T.jsx)(`div`,{className:`lr-xs-wrap`,children:(0,T.jsxs)(`svg`,{viewBox:`0 0 ${no} ${Math.max(v,p+ro+10)}`,className:`lr-xs-svg`,role:`img`,"aria-label":e,children:[a&&(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`line`,{x1:io-6,y1:ro,x2:io-6,y2:h,className:`lr-xs-axis`}),_.map(e=>(0,T.jsxs)(`g`,{children:[(0,T.jsx)(`line`,{x1:io-9,y1:e.y,x2:io-3,y2:e.y,className:`lr-xs-axis-tick`}),(0,T.jsx)(`text`,{x:io-11,y:e.y+3,className:`lr-xs-depth`,textAnchor:`end`,children:u(e.depthTop)})]},`d${e.i}`)),(0,T.jsx)(`text`,{x:io-9,y:h+4,className:`lr-xs-depth lr-xs-depth--last`,textAnchor:`end`,children:u(g)})]}),_.map(e=>{let t=Qa(e.layer,e.i);return(0,T.jsxs)(`g`,{children:[(0,T.jsx)(`rect`,{x:io,y:e.y,width:ao,height:e.h,rx:2,fill:`color-mix(in oklab, ${t} 30%, var(--surface-default))`,stroke:t,className:`lr-xs-band`}),(0,T.jsx)(`line`,{x1:130,y1:e.y+e.h/2,x2:oo-6,y2:e.y+e.h/2,className:`lr-xs-leader`}),(0,T.jsxs)(`text`,{x:oo,y:e.y+e.h/2-1,className:`lr-xs-band-name`,children:[e.layer.name.length>$a&&(0,T.jsx)(`title`,{children:e.layer.name}),to(e.layer.name,$a)]}),e.layer.note&&(0,T.jsxs)(`text`,{x:oo,y:e.y+e.h/2+12,className:`lr-xs-band-note`,children:[e.layer.note.length>$a&&(0,T.jsx)(`title`,{children:e.layer.note}),to(e.layer.note,$a)]})]},`band${e.i}`)})]})}),a&&(0,T.jsxs)(`p`,{className:`lr-xs-unit`,children:[`Depth in `,a,` · total `,u(f.total,{unit:a})]})]})}function mo(e){let t=(0,F.c)(11),{layers:n,depthUnit:r,total:i}=e;if(n.every(ho)&&!r)return null;let a;if(t[0]!==r||t[1]!==n){let e;t[3]===r?e=t[4]:(e=(e,t)=>(0,T.jsxs)(`li`,{className:`lr-xs-leg-row`,children:[(0,T.jsx)(`span`,{className:`lr-xs-leg-dot`,style:{background:Qa(e,t)},"aria-hidden":`true`}),(0,T.jsx)(`span`,{className:`lr-xs-leg-name`,children:e.name}),r&&(0,T.jsx)(`span`,{className:`lr-xs-leg-thick`,children:u(e.thickness,{unit:r})}),e.note&&(0,T.jsx)(`span`,{className:`lr-xs-leg-note`,children:e.note})]},t),t[3]=r,t[4]=e),a=n.map(e),t[0]=r,t[1]=n,t[2]=a}else a=t[2];let o;t[5]!==r||t[6]!==i?(o=r&&(0,T.jsxs)(`li`,{className:`lr-xs-leg-row lr-xs-leg-row--total`,children:[(0,T.jsx)(`span`,{className:`lr-xs-leg-dot lr-xs-leg-dot--ghost`,"aria-hidden":`true`}),(0,T.jsx)(`span`,{className:`lr-xs-leg-name`,children:`Total`}),(0,T.jsx)(`span`,{className:`lr-xs-leg-thick`,children:u(i,{unit:r})})]}),t[5]=r,t[6]=i,t[7]=o):o=t[7];let s;return t[8]!==a||t[9]!==o?(s=(0,T.jsxs)(`ul`,{className:`lr-xs-legend`,children:[a,o]}),t[8]=a,t[9]=o,t[10]=s):s=t[10],s}function ho(e){return!e.note}function go({title:e,Ic:t,iconColor:n,caption:r,footer:i,delay:a,children:o}){return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(a||0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(t,{className:`ic`,style:{color:n}}),` `,e]}),o,r&&(0,T.jsx)(`p`,{className:`lr-xs-cap`,children:r}),i&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:c(i)})]})}var _o=16,vo=78,yo=10,bo=49,xo=4,So={C:0,D:2,E:4,F:5,G:7,A:9,B:11},Co=new Set([0,1,3,4,5]),wo={root:`var(--presence)`,1:`var(--presence)`,third:`var(--insight)`,"3rd":`var(--insight)`,3:`var(--insight)`,fifth:`var(--warning)`,"5th":`var(--warning)`,5:`var(--warning)`,seventh:`var(--danger)`,"7th":`var(--danger)`,7:`var(--danger)`},To=[`var(--presence)`,`var(--insight)`,`var(--warning)`,`var(--danger)`],Eo=[`C`,`C`,`D`,`D`,`E`,`F`,`F`,`G`,`G`,`A`,`A`,`B`],Do=6;function Oo(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function ko(e){let t=/^([A-Ga-g])([#b]?)(-?\d+)$/.exec(e.trim());if(!t)return null;let n=So[t[1].toUpperCase()];if(n===void 0)return null;let r=t[2]===`#`?1:t[2]===`b`?-1:0;return parseInt(t[3],10)*12+n+r}function Ao(e){if(e.role){let t=e.role.trim().toLowerCase();if(wo[t])return wo[t]}return e.finger&&e.finger>=1?To[(e.finger-1)%To.length]:`var(--presence)`}function jo({title:e,icon:t=`play`,iconColor:n=`var(--presence)`,octaves:r=2,startNote:i=`C3`,highlight:a,chordName:s,showLabels:l=!0,caption:u,footer:d,delay:f}){let p=o[t]||o.play,{whites:m,blacks:h,svgW:g,svgH:_,marks:v}=(0,P.useMemo)(()=>{let e=Math.min(4,Math.max(1,Math.round(r||2))),t=ko(i)??ko(`C3`),n=Math.floor(t/12)*12,o=e*7,s=[];for(let e=0;e<o;e++){let t=Math.floor(e/7),r=[`C`,`D`,`E`,`F`,`G`,`A`,`B`][e%7];s.push({x:xo+e*_o,semitone:n+t*12+So[r],letter:r})}let c=[];for(let e=0;e<o;e++){let t=e%7;if(!Co.has(t))continue;let r=Math.floor(e/7),i=[`C`,`D`,`E`,`F`,`G`,`A`,`B`][t];c.push({x:xo+(e+1)*_o-yo/2,semitone:n+r*12+So[i]+1})}let l=xo*2+o*_o,u=new Map;for(let e of a??[]){let t=ko(e.note);if(t===null)continue;let n=[1,3,6,8,10].includes((t%12+12)%12);u.set(t,{color:Ao(e),label:Eo[(t%12+12)%12]+(n?`♯`:``),role:e.role,finger:e.finger,black:n})}return{whites:s,blacks:c,svgW:l,svgH:86,marks:u}},[r,i,a]);return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(f||0)+`ms`},children:[e&&(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(p,{className:`ic`,style:{color:n}}),` `,e]}),(0,T.jsxs)(`div`,{className:`pk-layout`,children:[s&&(0,T.jsx)(`div`,{className:`pk-side`,children:(0,T.jsx)(`div`,{className:`pk-chord-name`,children:s})}),(0,T.jsx)(`div`,{className:`pk-board`,children:(0,T.jsxs)(`svg`,{viewBox:`0 0 ${g} ${_}`,className:`pk-svg`,role:`img`,"aria-label":s?`${s} on a piano keyboard`:e,children:[m.map(e=>{let t=v.get(e.semitone);return(0,T.jsxs)(`g`,{children:[(0,T.jsx)(`rect`,{x:e.x,y:xo,width:_o-1,height:vo,rx:2.5,className:`pk-white`,fill:t?`color-mix(in oklab, ${t.color} 26%, var(--surface-elevated))`:void 0,stroke:t?t.color:void 0}),l&&t&&(0,T.jsxs)(`text`,{x:e.x+(_o-1)/2,y:74,className:`pk-key-lbl`,textAnchor:`middle`,fill:t.color,children:[(t.role??t.label??``).length>Do&&(0,T.jsx)(`title`,{children:t.role??t.label}),Oo(t.role??t.label??``,Do)]})]},`w${e.semitone}`)}),h.map(e=>{let t=v.get(e.semitone);return(0,T.jsxs)(`g`,{children:[(0,T.jsx)(`rect`,{x:e.x,y:xo,width:yo,height:bo,rx:1.6,className:`pk-black`,fill:t?t.color:void 0}),l&&t&&(0,T.jsxs)(`text`,{x:e.x+yo/2,y:47,className:`pk-key-lbl pk-key-lbl--black`,textAnchor:`middle`,children:[(t.role??t.label??``).length>Do&&(0,T.jsx)(`title`,{children:t.role??t.label}),Oo(t.role??t.label??``,Do)]})]},`b${e.semitone}`)})]})})]}),u&&(0,T.jsx)(`p`,{className:`pk-caption`,children:u}),d&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:c(d)})]})}var Mo=30,No=16,Po=30,Fo=14,Io=16,Lo=18,Ro=[3,5,7,9,15,17,19,21],zo=[12,24],Bo={root:`var(--presence)`,third:`var(--insight)`,fifth:`var(--warning)`,other:`var(--text-secondary)`};function Vo(e){return e.length<=2?6.5:e.length===3?5:4}function Ho({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,strings:r=6,frets:i=12,tuning:a,dots:s,scaleName:l,caption:u,footer:d,delay:f}){let p=o[t]||o.sparkle,{strCount:m,fretCount:h,svgW:g,svgH:_,fretXs:v,stringYs:y}=(0,P.useMemo)(()=>{let e=Math.min(7,Math.max(4,Math.round(r||6))),t=Math.min(24,Math.max(4,Math.round(i||12))),n=Array.from({length:t+1},(e,t)=>Mo+t*Po),a=Array.from({length:e},(e,t)=>No+t*Fo);return{strCount:e,fretCount:t,svgW:Mo+t*Po+Io,svgH:No+(e-1)*Fo+Lo,fretXs:n,stringYs:a}},[r,i]),b=e=>y[m-Math.min(m,Math.max(1,Math.round(e)))],x=e=>e<=0?Mo-9:v[Math.min(h,e)-1]+Po/2;return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(f||0)+`ms`},children:[e&&(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(p,{className:`ic`,style:{color:n}}),` `,e,l&&(0,T.jsx)(`span`,{className:`fbm-scale-tag`,children:l})]}),(0,T.jsx)(`div`,{className:`fbm-board`,children:(0,T.jsxs)(`svg`,{viewBox:`0 0 ${g} ${_}`,className:`fbm-svg`,role:`img`,"aria-label":l?`${l} on a fretboard`:e,children:[Array.from({length:h},(e,t)=>t+1).filter(e=>Ro.includes(e)||zo.includes(e)).map(e=>{let t=v[e-1]+Po/2,n=No+(m-1)*Fo/2;return zo.includes(e)?(0,T.jsxs)(`g`,{className:`fbm-inlay`,children:[(0,T.jsx)(`circle`,{cx:t,cy:n-Fo,r:2.4}),(0,T.jsx)(`circle`,{cx:t,cy:n+Fo,r:2.4})]},`in${e}`):(0,T.jsx)(`circle`,{cx:t,cy:n,r:2.4,className:`fbm-inlay`},`in${e}`)}),(0,T.jsx)(`line`,{x1:Mo,y1:No-1,x2:Mo,y2:No+(m-1)*Fo+1,className:`fbm-nut`}),v.slice(1).map((e,t)=>(0,T.jsx)(`line`,{x1:e,y1:No,x2:e,y2:No+(m-1)*Fo,className:`fbm-fret`},`fw${t}`)),y.map((e,t)=>(0,T.jsx)(`line`,{x1:Mo,y1:e,x2:Mo+h*Po,y2:e,className:`fbm-string`,strokeWidth:1+t/Math.max(1,m-1)*.9},`st${t}`)),a&&y.map((e,t)=>{let n=a[m-(m-t)];return n?(0,T.jsx)(`text`,{x:Mo-14,y:e+3,className:`fbm-tuning`,textAnchor:`middle`,children:n},`tn${t}`):null}),Array.from({length:h},(e,t)=>t+1).map(e=>(0,T.jsx)(`text`,{x:v[e-1]+Po/2,y:No+(m-1)*Fo+14,className:`fbm-fret-num`,textAnchor:`middle`,children:e},`fn${e}`)),s?.map((e,t)=>{let n=e.role??`other`,r=Bo[n]??Bo.other,i=n===`root`,a=x(e.fret),o=b(e.string),s=e.fret<=0;return(0,T.jsxs)(`g`,{children:[(0,T.jsx)(`circle`,{cx:a,cy:o,r:s?5:6,fill:s?`var(--surface-default)`:r,stroke:r,className:i?`fbm-dot fbm-dot--root`:`fbm-dot`}),e.label&&(0,T.jsx)(`text`,{x:a,y:o+2.6,className:`fbm-dot-lbl`,textAnchor:`middle`,fill:s?r:`var(--surface-default)`,style:{fontSize:Vo(e.label)},children:e.label})]},`dot${t}`)})]})}),u&&(0,T.jsx)(`p`,{className:`fbm-caption`,children:u}),d&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:c(d)})]})}var Uo=244,q=Uo/2,Wo=96,Go=60,Ko=[{major:`C`,minor:`Am`,sig:0},{major:`G`,minor:`Em`,sig:1},{major:`D`,minor:`Bm`,sig:2},{major:`A`,minor:`F♯m`,sig:3},{major:`E`,minor:`C♯m`,sig:4},{major:`B`,minor:`G♯m`,sig:5},{major:`G♭`,minor:`E♭m`,sig:-6},{major:`D♭`,minor:`B♭m`,sig:-5},{major:`A♭`,minor:`Fm`,sig:-4},{major:`E♭`,minor:`Cm`,sig:-3},{major:`B♭`,minor:`Gm`,sig:-2},{major:`F`,minor:`Dm`,sig:-1}];function qo(e){return e.trim().replace(/^([A-Ga-g])b/,`$1♭`).replace(/#/g,`♯`).replace(/^([A-G])/i,e=>e.toUpperCase())}function Jo(e){if(!e)return-1;let t=qo(e);return Ko.findIndex(e=>e.major===t||e.minor===t||e.minor===t+`m`)}var Yo=e=>e===0?`♮`:e>0?`${e}♯`:`${Math.abs(e)}♭`,Xo=e=>(-90+e*30)*(Math.PI/180),Zo=(e,t)=>q+e*Math.cos(t),Qo=(e,t)=>q+e*Math.sin(t);function $o({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,highlightKey:r,showMinors:i=!0,related:a,caption:s,footer:l,delay:u}){let d=o[t]||o.sparkle,{hiIdx:f,relatedIdx:p}=(0,P.useMemo)(()=>{let e=Jo(r),t=new Set;for(let n of a??[]){let r=Jo(n);r>=0&&r!==e&&t.add(r)}return{hiIdx:e,relatedIdx:t}},[r,a]);return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u||0)+`ms`},children:[e&&(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,T.jsx)(`div`,{className:`cof-board`,children:(0,T.jsxs)(`svg`,{viewBox:`0 0 ${Uo} ${Uo}`,className:`cof-svg`,role:`img`,"aria-label":e,children:[(0,T.jsx)(`circle`,{cx:q,cy:q,r:112,className:`cof-ring`}),(0,T.jsx)(`circle`,{cx:q,cy:q,r:74,className:`cof-ring`}),(0,T.jsx)(`circle`,{cx:q,cy:q,r:Go-14,className:`cof-ring cof-ring--hub`}),f>=0&&[...p].map(e=>(0,T.jsx)(`line`,{x1:Zo(Wo,Xo(f)),y1:Qo(Wo,Xo(f)),x2:Zo(Wo,Xo(e)),y2:Qo(Wo,Xo(e)),className:`cof-spoke`},`spoke${e}`)),Ko.map((e,t)=>{let n=Xo(t)+Math.PI/12;return(0,T.jsx)(`line`,{x1:Zo(Go-14,n),y1:Qo(Go-14,n),x2:Zo(112,n),y2:Qo(112,n),className:`cof-divider`},`div${t}`)}),Ko.map((e,t)=>{let n=Xo(t),r=t===f,a=p.has(t),o=r?`cof-key--hi`:a?`cof-key--rel`:``;return(0,T.jsxs)(`g`,{children:[(0,T.jsx)(`circle`,{cx:Zo(Wo,n),cy:Qo(Wo,n),r:15,className:`cof-key ${o}`}),(0,T.jsx)(`text`,{x:Zo(Wo,n),y:Qo(Wo,n)+4,className:`cof-key-lbl ${r?`cof-key-lbl--hi`:``}`,textAnchor:`middle`,children:e.major}),(0,T.jsx)(`text`,{x:Zo(114,n),y:Qo(114,n)+3,className:`cof-sig`,textAnchor:`middle`,children:Yo(e.sig)}),i&&(0,T.jsx)(`text`,{x:Zo(Go,n),y:Qo(Go,n)+3.5,className:`cof-minor ${r?`cof-minor--hi`:``}`,textAnchor:`middle`,children:e.minor})]},e.major)}),(0,T.jsx)(`text`,{x:q,y:q-2,className:`cof-hub-lbl`,textAnchor:`middle`,children:`♯ →`}),(0,T.jsx)(`text`,{x:q,y:131,className:`cof-hub-lbl`,textAnchor:`middle`,children:`← ♭`})]})}),s&&(0,T.jsx)(`p`,{className:`cof-caption`,children:s}),l&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:c(l)})]})}var es=320,ts=188,ns=16,J=es/17.2,rs=26,is=30,as=134,os={healthy:{color:`var(--text-muted)`,label:`Healthy`},caries:{color:`var(--danger)`,label:`Caries`},filling:{color:`var(--insight)`,label:`Filling`},crown:{color:`var(--warning)`,label:`Crown`},missing:{color:`var(--text-faint)`,label:`Missing`},implant:{color:`var(--presence)`,label:`Implant`},rootcanal:{color:`var(--presence-soft)`,label:`Root canal`}},ss=[`healthy`,`caries`,`filling`,`crown`,`rootcanal`,`implant`,`missing`],cs=e=>1+e,ls=e=>32-e;function us(e){return e<8?`1${8-e}`:`2${e-7}`}function ds(e){return e<8?`4${8-e}`:`3${e-7}`}function fs({title:e,icon:t=`doc`,iconColor:n=`var(--presence)`,system:r=`universal`,teeth:i,caption:a,footer:s,delay:l}){let u=o[t]||o.doc,{byNumber:d,usedStatuses:f,focusNotes:p}=(0,P.useMemo)(()=>{let e=new Map,t=new Set,n=[];for(let r of i??[]){let i=String(r.n).trim(),a=os[r.status]?r.status:`healthy`;e.set(i,{status:a,surface:r.surface,note:r.note}),t.add(a),(r.note||r.surface)&&n.push({n:i,status:a,surface:r.surface,note:r.note})}return{byNumber:e,usedStatuses:t,focusNotes:n}},[i]),m=e=>{let t=e===`upper`?is:as,n=t=>r===`fdi`?e===`upper`?us(t):ds(t):String(e===`upper`?cs(t):ls(t));return Array.from({length:ns},(r,i)=>{let a=n(i),o=J*.6+i*J,s=d.get(a)?.status??`healthy`,c=os[s],l=s===`missing`,u=e===`upper`?t-6:t+rs+11;return(0,T.jsxs)(`g`,{children:[(0,T.jsx)(`rect`,{x:o,y:t,width:J-4,height:rs,rx:5,className:l?`odo-tooth odo-tooth--missing`:`odo-tooth`,fill:l?`none`:`color-mix(in oklab, ${c.color} 24%, var(--surface-elevated))`,stroke:c.color}),s===`crown`&&(0,T.jsx)(`rect`,{x:o,y:t,width:J-4,height:6,rx:3,fill:c.color}),s===`filling`&&(0,T.jsx)(`circle`,{cx:o+(J-4)/2,cy:t+rs/2,r:3.4,fill:c.color}),s===`caries`&&(0,T.jsx)(`circle`,{cx:o+(J-4)/2,cy:t+rs/2,r:3,className:`odo-caries`}),s===`implant`&&[.32,.5,.68].map((e,n)=>(0,T.jsx)(`line`,{x1:o+(J-4)*e,y1:t+4,x2:o+(J-4)*e,y2:t+rs-4,stroke:c.color,className:`odo-implant`},n)),s===`rootcanal`&&(0,T.jsx)(`line`,{x1:o+(J-4)/2,y1:t+3,x2:o+(J-4)/2,y2:t+rs-3,stroke:c.color,className:`odo-rootcanal`}),l&&(0,T.jsx)(`line`,{x1:o+3,y1:t+3,x2:o+J-7,y2:t+rs-3,stroke:c.color,className:`odo-slash`}),(0,T.jsx)(`text`,{x:o+(J-4)/2,y:u,className:`odo-num`,textAnchor:`middle`,children:a})]},`${e}${i}`)})};return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(l||0)+`ms`},children:[e&&(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(u,{className:`ic`,style:{color:n}}),` `,e,(0,T.jsx)(`span`,{className:`odo-system-tag`,children:r===`fdi`?`FDI`:`Universal`})]}),(0,T.jsx)(`div`,{className:`odo-board`,children:(0,T.jsxs)(`svg`,{viewBox:`0 0 ${es} ${ts}`,className:`odo-svg`,role:`img`,"aria-label":e,children:[(0,T.jsx)(`text`,{x:6,y:46,className:`odo-arch-lbl`,children:`U`}),(0,T.jsx)(`text`,{x:6,y:150,className:`odo-arch-lbl`,children:`L`}),(0,T.jsx)(`line`,{x1:es/2,y1:is-4,x2:es/2,y2:164,className:`odo-midline`}),m(`upper`),m(`lower`)]})}),(0,T.jsx)(`ul`,{className:`odo-legend`,children:ss.filter(e=>f.has(e)).map(e=>(0,T.jsxs)(`li`,{className:`odo-legend-item`,children:[(0,T.jsx)(`i`,{className:`odo-legend-dot`,style:{background:os[e].color}}),os[e].label]},e))}),p.length>0&&(0,T.jsx)(`ul`,{className:`odo-notes`,children:p.map((e,t)=>(0,T.jsxs)(`li`,{className:`odo-note`,children:[(0,T.jsxs)(`strong`,{style:{color:os[e.status].color},children:[`#`,e.n,` · `,os[e.status].label]}),e.surface?` (${e.surface})`:``,e.note?` — ${e.note}`:``]},t))}),a&&(0,T.jsx)(`p`,{className:`odo-caption`,children:a}),s&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:c(s)})]})}var ps=240,ms=ps/2,hs=ps/2,gs=100;function _s(e){let t=/^\s*(\d{1,2})\s*:\s*(\d{1,2})/.exec(e??``);return t?{h:Math.min(23,Math.max(0,parseInt(t[1],10))),m:Math.min(59,Math.max(0,parseInt(t[2],10)))}:{h:12,m:0}}function vs(e,t){let n=e<12?`AM`:`PM`;return`${e%12==0?12:e%12}:${String(t).padStart(2,`0`)} ${n}`}function ys(e,t){let n=(e-90)*Math.PI/180;return{x:ms+Math.cos(n)*t,y:hs+Math.sin(n)*t}}function bs(e,t){let n=e.h*60+e.m;return((t.h*60+t.m-n)%1440+1440)%1440}function xs(e){let t=Math.floor(e/60),n=e%60;return t===0?`${n} min`:n===0?`${t} h`:`${t} h ${n} min`}function Ss({title:e,icon:t=`clock`,iconColor:n=`var(--presence)`,time:r,showSecond:i=!1,second:a=0,digital:s=!1,elapsedTo:l,caption:u,footer:d,delay:f}){let p=o[t]||o.clock,m=(0,P.useMemo)(()=>{let{h:e,m:t}=_s(r),n=Math.min(59,Math.max(0,Math.round(a))),o=(e%12+t/60)*30,s=(t+(i?n/60:0))*6,c=n*6,u=null;if(l){let n=_s(l),r=bs({h:e,m:t},n),i=t*6,a=r%60*6,o=gs-16,s=ys(i,o),c=ys(i+a,o),d=+(a>180);u={path:`M ${ms} ${hs} L ${s.x.toFixed(1)} ${s.y.toFixed(1)} A ${o} ${o} 0 ${d} 1 ${c.x.toFixed(1)} ${c.y.toFixed(1)} Z`,mins:r}}return{h:e,m:t,sec:n,hour:ys(o,gs*.52),minute:ys(s,gs*.78),secondTip:ys(c,gs*.84),arc:u}},[r,a,i,l]);return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(f||0)+`ms`},children:[e&&(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(p,{className:`ic`,style:{color:n}}),` `,e]}),(0,T.jsx)(`div`,{className:`lr-cf-wrap`,children:(0,T.jsxs)(`svg`,{viewBox:`0 0 ${ps} ${ps}`,className:`lr-cf-svg`,role:`img`,"aria-label":e||`clock`,children:[m.arc&&(0,T.jsx)(`path`,{d:m.arc.path,className:`lr-cf-elapsed`}),(0,T.jsx)(`circle`,{cx:ms,cy:hs,r:gs,className:`lr-cf-dial`}),Array.from({length:60},(e,t)=>{let n=t%5==0,r=ys(t*6,n?gs-12:gs-6),i=ys(t*6,gs-2);return(0,T.jsx)(`line`,{x1:r.x,y1:r.y,x2:i.x,y2:i.y,className:n?`lr-cf-mark lr-cf-mark--hour`:`lr-cf-mark`},`tk${t}`)}),Array.from({length:12},(e,t)=>{let n=t+1,r=ys(n*30,gs-26);return(0,T.jsx)(`text`,{x:r.x,y:r.y+6,className:`lr-cf-numeral`,textAnchor:`middle`,children:n},`n${n}`)}),(0,T.jsx)(`line`,{x1:ms,y1:hs,x2:m.hour.x,y2:m.hour.y,className:`lr-cf-hand lr-cf-hand--hour`}),(0,T.jsx)(`line`,{x1:ms,y1:hs,x2:m.minute.x,y2:m.minute.y,className:`lr-cf-hand lr-cf-hand--minute`}),i&&(0,T.jsx)(`line`,{x1:ms,y1:hs,x2:m.secondTip.x,y2:m.secondTip.y,className:`lr-cf-hand lr-cf-hand--second`}),(0,T.jsx)(`circle`,{cx:ms,cy:hs,r:5,className:`lr-cf-pin`})]})}),s&&(0,T.jsxs)(`div`,{className:`lr-cf-digital`,"aria-label":`digital time`,children:[vs(m.h,m.m),i&&(0,T.jsxs)(`span`,{className:`lr-cf-digital-sec`,children:[`:`,String(m.sec).padStart(2,`0`)]})]}),m.arc&&l&&(0,T.jsxs)(`div`,{className:`lr-cf-elapsed-read`,children:[vs(m.h,m.m),` `,(0,T.jsx)(`span`,{className:`lr-cf-elapsed-arrow`,children:`→`}),` `,(()=>{let e=_s(l);return vs(e.h,e.m)})(),` `,`is `,(0,T.jsx)(`b`,{children:xs(m.arc.mins)})]}),u&&(0,T.jsx)(`p`,{className:`lr-cf-cap`,children:u}),d&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:c(d)})]})}var Cs=1,ws=6;function Ts(e,t){let n=Number.isInteger(e);return t+e.toFixed(n&&Math.abs(e)>=1?0:2)}function Es(e,t){return e<Cs?`${Math.round(e*100)}¢`:Ts(e,t)}function Ds(e,t){let n=[],r=Math.round(e*100);for(let e of[...t].sort((e,t)=>t-e)){let t=Math.round(e*100);if(t<=0)continue;let i=Math.floor(r/t);i>0&&(n.push({denom:e,count:i}),r-=i*t)}return n}function Os({token:e,currency:t}){let n=e.denom>=Cs,r=Math.min(ws,Math.max(1,e.count)),i=e.label??Es(e.denom,t);return(0,T.jsxs)(`div`,{className:`lr-mt-stack`,children:[(0,T.jsx)(`div`,{className:`lr-mt-glyphs${n?` lr-mt-glyphs--bill`:``}`,"aria-hidden":`true`,children:Array.from({length:r},(e,t)=>n?(0,T.jsx)(`span`,{className:`lr-mt-bill`,style:{"--i":t},children:i},t):(0,T.jsx)(`span`,{className:`lr-mt-coin`,style:{"--i":t},children:i},t))}),(0,T.jsxs)(`div`,{className:`lr-mt-count`,children:[(0,T.jsx)(`b`,{children:e.count}),` × `,i]})]})}function ks({title:e,icon:t=`cart`,iconColor:n=`var(--presence)`,currency:r=`$`,tokens:i,target:a,mode:s=`count`,caption:l,footer:u,delay:d}){let f=o[t]||o.cart,{total:p,change:m}=(0,P.useMemo)(()=>{let e=i.reduce((e,t)=>e+t.denom*Math.max(0,t.count),0),t=null;if(s===`change`&&a!==void 0){let n=Math.round((a-e)*100)/100;t={gap:n,tokens:n>0?Ds(n,[100,50,20,10,5,1,.25,.1,.05,.01]):[]}}return{total:e,change:t}},[i,a,s]);return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(d||0)+`ms`},children:[e&&(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(f,{className:`ic`,style:{color:n}}),` `,e]}),(0,T.jsx)(`div`,{className:`lr-mt-tray`,children:i.map((e,t)=>(0,T.jsx)(Os,{token:e,currency:r},t))}),(0,T.jsxs)(`div`,{className:`lr-mt-total`,children:[(0,T.jsx)(`span`,{className:`lr-mt-total-k`,children:`Total`}),(0,T.jsx)(`span`,{className:`lr-mt-total-v`,children:Ts(p,r)})]}),m&&(0,T.jsx)(`div`,{className:`lr-mt-change`,children:m.gap>0?(0,T.jsxs)(T.Fragment,{children:[(0,T.jsxs)(`div`,{className:`lr-mt-change-line`,children:[`Need `,(0,T.jsx)(`b`,{children:Ts(m.gap,r)}),` more to reach`,` `,Ts(a??0,r)]}),m.tokens.length>0&&(0,T.jsx)(`ul`,{className:`lr-mt-change-list`,children:m.tokens.map((e,t)=>(0,T.jsxs)(`li`,{className:`lr-mt-change-item`,children:[(0,T.jsx)(`b`,{children:e.count}),` × `,Es(e.denom,r)]},t))})]}):m.gap<0?(0,T.jsxs)(`div`,{className:`lr-mt-change-line lr-mt-change-line--over`,children:[(0,T.jsx)(`b`,{children:Ts(-m.gap,r)}),` over `,Ts(a??0,r)]}):(0,T.jsxs)(`div`,{className:`lr-mt-change-line lr-mt-change-line--exact`,children:[`Exactly `,Ts(a??0,r),` — no change needed`]})}),l&&(0,T.jsx)(`p`,{className:`lr-mt-cap`,children:l}),u&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:c(u)})]})}var As=[{key:`thousands`,label:`Thousands`,power:1e3},{key:`hundreds`,label:`Hundreds`,power:100},{key:`tens`,label:`Tens`,power:10},{key:`ones`,label:`Ones`,power:1}];function js(e,t){return e===1e3?(0,T.jsxs)(`span`,{className:`lr-pv-block lr-pv-block--cube`,"aria-hidden":`true`,children:[(0,T.jsx)(`span`,{className:`lr-pv-cube-face`}),(0,T.jsx)(`span`,{className:`lr-pv-cube-top`}),(0,T.jsx)(`span`,{className:`lr-pv-cube-side`})]},t):e===100?(0,T.jsx)(`span`,{className:`lr-pv-block lr-pv-block--flat`,"aria-hidden":`true`},t):e===10?(0,T.jsx)(`span`,{className:`lr-pv-block lr-pv-block--rod`,"aria-hidden":`true`},t):(0,T.jsx)(`span`,{className:`lr-pv-block lr-pv-block--unit`,"aria-hidden":`true`},t)}function Ms({title:e,icon:t=`layers`,iconColor:n=`var(--presence)`,value:r,columns:i,showBlocks:a=!0,expanded:s=!0,caption:l,footer:u,delay:d}){let f=o[t]||o.layers,{cols:p,parts:m}=(0,P.useMemo)(()=>{let e=Math.max(0,Math.floor(Math.abs(r))),t=i&&i.length?i:As.filter(t=>e>=t.power||t.power===1).map(e=>e.key),n=As.filter(e=>t.includes(e.key)).map(t=>({...t,digit:Math.floor(e/t.power)%10})),a=n.filter(e=>e.digit!==0).map(e=>e.digit*e.power);return{cols:n,parts:a.length?a:[0]}},[r,i]);return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(d||0)+`ms`},children:[e&&(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(f,{className:`ic`,style:{color:n}}),` `,e]}),(0,T.jsx)(`div`,{className:`lr-pv-grid`,style:{"--cols":p.length},children:p.map(e=>(0,T.jsxs)(`div`,{className:`lr-pv-col`,children:[(0,T.jsx)(`div`,{className:`lr-pv-place`,children:e.label}),(0,T.jsx)(`div`,{className:`lr-pv-digit`,children:e.digit}),a&&(0,T.jsx)(`div`,{className:`lr-pv-blocks`,"aria-label":`${e.digit} ${e.label.toLowerCase()}`,children:Array.from({length:e.digit},(t,n)=>js(e.power,`${e.key}-${n}`))})]},e.key))}),s&&(0,T.jsxs)(`div`,{className:`lr-pv-expanded`,children:[m.map((e,t)=>(0,T.jsxs)(`span`,{className:`lr-pv-part`,children:[t>0&&(0,T.jsx)(`span`,{className:`lr-pv-plus`,children:`+`}),(0,T.jsx)(`span`,{className:`lr-pv-part-v`,children:e.toLocaleString()})]},t)),(0,T.jsx)(`span`,{className:`lr-pv-eq`,children:`=`}),(0,T.jsx)(`span`,{className:`lr-pv-part-v lr-pv-part-v--total`,children:Math.max(0,Math.floor(Math.abs(r))).toLocaleString()})]}),l&&(0,T.jsx)(`p`,{className:`lr-pv-cap`,children:l}),u&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:c(u)})]})}var Ns=100,Y=Ns/2,Ps=38;function Fs(e){let t=-Math.PI/2;return Array.from({length:e},(n,r)=>{let i=t+r*2*Math.PI/e;return`${(Y+Math.cos(i)*Ps).toFixed(1)},${(Y+Math.sin(i)*Ps).toFixed(1)}`}).join(` `)}var Is={triangle:3,square:4,rectangle:4,pentagon:5,hexagon:6,octagon:8};function Ls(e){let t=(0,F.c)(54),{kind:n,color:r}=e,i=`color-mix(in oklab, ${r} 18%, transparent)`,a;t[0]!==r||t[1]!==i?(a={fill:i,stroke:r,className:`lr-sc-figure`},t[0]=r,t[1]=i,t[2]=a):a=t[2];let o=a;if(n===`circle`){let e;return t[3]===o?e=t[4]:(e=(0,T.jsx)(`circle`,{cx:Y,cy:Y,r:Ps,...o}),t[3]=o,t[4]=e),e}if(n===`rectangle`){let e;return t[5]===o?e=t[6]:(e=(0,T.jsx)(`rect`,{x:Y-42,y:Y-26,width:84,height:52,rx:2,...o}),t[5]=o,t[6]=e),e}if(n===`square`){let e;return t[7]===o?e=t[8]:(e=(0,T.jsx)(`rect`,{x:Y-34,y:Y-34,width:68,height:68,rx:2,...o}),t[7]=o,t[8]=e),e}if(n===`sphere`){let e;t[9]===o?e=t[10]:(e=(0,T.jsx)(`circle`,{cx:Y,cy:Y,r:Ps,...o}),t[9]=o,t[10]=e);let n;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,T.jsx)(`ellipse`,{cx:Y,cy:Y,rx:Ps,ry:Ps*.34,className:`lr-sc-edge lr-sc-edge--hidden`}),t[11]=n):n=t[11];let r;return t[12]===e?r=t[13]:(r=(0,T.jsxs)(`g`,{children:[e,n]}),t[12]=e,t[13]=r),r}if(n===`cube`){let e=Y-22-9,n=zs,a;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,T.jsx)(`polygon`,{points:`${n(e,81)} ${n(63,81)} ${n(63,37)} ${n(e,37)}`,className:`lr-sc-face lr-sc-face--hidden`}),t[14]=a):a=t[14];let s;t[15]===o?s=t[16]:(s=(0,T.jsx)(`polygon`,{points:`${e},81 63,81 63,37 ${e},37`,...o}),t[15]=o,t[16]=s);let c;t[17]!==r||t[18]!==i?(c={fill:i,stroke:r},t[17]=r,t[18]=i,t[19]=c):c=t[19];let l=c,u;t[20]===l?u=t[21]:(u=(0,T.jsx)(`polygon`,{points:`${e},37 63,37 ${n(63,37)} ${n(e,37)}`,className:`lr-sc-face lr-sc-face--side`,style:l}),t[20]=l,t[21]=u);let d;t[22]!==r||t[23]!==i?(d={fill:i,stroke:r},t[22]=r,t[23]=i,t[24]=d):d=t[24];let f=d,p;t[25]===f?p=t[26]:(p=(0,T.jsx)(`polygon`,{points:`63,81 ${n(63,81)} ${n(63,37)} 63,37`,className:`lr-sc-face lr-sc-face--side`,style:f}),t[25]=f,t[26]=p);let m;return t[27]!==s||t[28]!==u||t[29]!==p?(m=(0,T.jsxs)(`g`,{children:[a,s,u,p]}),t[27]=s,t[28]=u,t[29]=p,t[30]=m):m=t[30],m}if(n===`cylinder`){let e=Y-30,n;t[31]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,T.jsx)(`ellipse`,{cx:Y,cy:80,rx:30,ry:10,className:`lr-sc-edge lr-sc-edge--hidden`}),t[31]=n):n=t[31];let r;return t[32]===o?r=t[33]:(r=(0,T.jsxs)(`g`,{children:[n,(0,T.jsx)(`path`,{d:`M ${Y-30} ${e} L ${Y-30} 80 A 30 10 0 0 0 80 80 L 80 ${e}`,...o}),(0,T.jsx)(`ellipse`,{cx:Y,cy:e,rx:30,ry:10,...o})]}),t[32]=o,t[33]=r),r}if(n===`cone`){let e=Y-34,n;return t[34]===o?n=t[35]:(n=(0,T.jsxs)(`g`,{children:[(0,T.jsx)(`path`,{d:`M ${Y-30} 80 L ${Y} ${e} L 80 80`,...o}),(0,T.jsx)(`ellipse`,{cx:Y,cy:80,rx:30,ry:10,...o})]}),t[34]=o,t[35]=n),n}if(n===`pyramid`){let e=Y-22-8,n;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(n={x:Y,y:31},t[36]=n):n=t[36];let a=n,s=Rs,c;t[37]===Symbol.for(`react.memo_cache_sentinel`)?(c=s(64,79),t[37]=c):c=t[37];let l=c,u;if(t[38]===Symbol.for(`react.memo_cache_sentinel`)){let n=s(e,79);u=(0,T.jsx)(`polygon`,{points:`${e},79 64,79 ${l.x},${l.y} ${n.x},${n.y}`,className:`lr-sc-face lr-sc-face--hidden`}),t[38]=u}else u=t[38];let d;t[39]===o?d=t[40]:(d=(0,T.jsx)(`polygon`,{points:`${e},79 64,79 ${a.x},${a.y}`,...o}),t[39]=o,t[40]=d);let f;t[41]!==r||t[42]!==i?(f={fill:i,stroke:r},t[41]=r,t[42]=i,t[43]=f):f=t[43];let p=f,m;t[44]===p?m=t[45]:(m=(0,T.jsx)(`polygon`,{points:`64,79 ${l.x},${l.y} ${a.x},${a.y}`,className:`lr-sc-face lr-sc-face--side`,style:p}),t[44]=p,t[45]=m);let h;return t[46]!==d||t[47]!==m?(h=(0,T.jsxs)(`g`,{children:[u,d,m]}),t[46]=d,t[47]=m,t[48]=h):h=t[48],h}let s=Is[n]??6,c;t[49]===s?c=t[50]:(c=Fs(s),t[49]=s,t[50]=c);let l;return t[51]!==o||t[52]!==c?(l=(0,T.jsx)(`polygon`,{points:c,...o}),t[51]=o,t[52]=c,t[53]=l):l=t[53],l}function Rs(e,t){return{x:e+16,y:t+-14}}function zs(e,t){return`${(e+18).toFixed(1)},${(t+-18).toFixed(1)}`}var Bs=[`var(--presence)`,`var(--insight)`,`var(--warning)`];function Vs(e){let t=[];return e.sides!==void 0&&t.push({k:`Sides`,v:e.sides}),e.vertices!==void 0&&t.push({k:`Vertices`,v:e.vertices}),e.faces!==void 0&&t.push({k:`Faces`,v:e.faces}),e.edges!==void 0&&t.push({k:`Edges`,v:e.edges}),t}function Hs({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,shapes:r,caption:i,footer:a,delay:s}){let l=o[t]||o.sparkle;return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(s||0)+`ms`},children:[e&&(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,T.jsx)(`ul`,{className:`lr-sc-grid`,children:r.map((e,t)=>{let n=Bs[t%Bs.length];return(0,T.jsxs)(`li`,{className:`lr-sc-cell`,children:[(0,T.jsx)(`svg`,{viewBox:`0 0 ${Ns} ${Ns}`,className:`lr-sc-svg`,role:`img`,"aria-label":e.name,children:(0,T.jsx)(Ls,{kind:e.kind,color:n})}),(0,T.jsx)(`div`,{className:`lr-sc-name`,style:{color:n},children:e.name}),Vs(e).length>0&&(0,T.jsx)(`div`,{className:`lr-sc-attrs`,children:Vs(e).map(e=>(0,T.jsxs)(`span`,{className:`lr-sc-attr`,children:[(0,T.jsx)(`i`,{className:`lr-sc-attr-k`,children:e.k}),(0,T.jsx)(`b`,{className:`lr-sc-attr-v`,children:e.v})]},e.k))}),e.example&&(0,T.jsx)(`div`,{className:`lr-sc-example`,children:e.example})]},t)})}),i&&(0,T.jsx)(`p`,{className:`lr-sc-cap`,children:i}),a&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:c(a)})]})}var Us=200,Ws=180,Gs=30,Ks=70,qs=130,Js=165,Ys=Us-60,Xs=9,Zs=3;function Qs(e){if(e<=1)return Xs;let t=Ys/(e-1),n=Math.max(1,t/2-.5);return Math.min(Math.min(Xs,Math.max(Zs,n)),n)}function $s({title:e,icon:t=`edit`,iconColor:n=`var(--presence)`,letter:r,case:i=`lower`,strokes:a,showGuides:s=!0,caption:l,footer:u,delay:d}){let f=o[t]||o.edit,p=(r??``).slice(0,1),m=i===`upper`?p.toUpperCase():p.toLowerCase(),h=[...a].sort((e,t)=>e.order-t.order);return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(d||0)+`ms`},children:[e&&(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(f,{className:`ic`,style:{color:n}}),` `,e]}),(0,T.jsx)(`div`,{className:`lr-lf-wrap`,children:(0,T.jsxs)(`svg`,{viewBox:`0 0 ${Us} ${Ws}`,className:`lr-lf-svg`,role:`img`,"aria-label":m,children:[s&&(0,T.jsxs)(`g`,{children:[(0,T.jsx)(`line`,{x1:8,y1:Gs,x2:Us-8,y2:Gs,className:`lr-lf-guide`}),(0,T.jsx)(`line`,{x1:8,y1:Ks,x2:Us-8,y2:Ks,className:`lr-lf-guide lr-lf-guide--mid`}),(0,T.jsx)(`line`,{x1:8,y1:qs,x2:Us-8,y2:qs,className:`lr-lf-guide lr-lf-guide--base`}),(0,T.jsx)(`line`,{x1:8,y1:Js,x2:Us-8,y2:Js,className:`lr-lf-guide lr-lf-guide--desc`})]}),(0,T.jsx)(`text`,{x:Us/2,y:qs,className:`lr-lf-ghost`,textAnchor:`middle`,children:m}),(0,T.jsx)(`text`,{x:Us/2,y:qs,className:`lr-lf-glyph`,textAnchor:`middle`,children:m}),(()=>{let e=Qs(h.length),t=e/Xs*11;return h.map((n,r)=>{let i=30+r*Ys/Math.max(1,h.length-1||1);return(0,T.jsxs)(`g`,{children:[(0,T.jsx)(`circle`,{cx:i,cy:18,r:e,className:`lr-lf-index`}),(0,T.jsx)(`text`,{x:i,y:18,dy:`0.35em`,className:`lr-lf-index-n`,textAnchor:`middle`,style:{fontSize:t},children:n.order})]},n.order)})})()]})}),(0,T.jsx)(`ol`,{className:`lr-lf-strokes`,children:h.map(e=>(0,T.jsxs)(`li`,{className:`lr-lf-stroke`,children:[(0,T.jsx)(`span`,{className:`lr-lf-stroke-n`,children:e.order}),(0,T.jsx)(`span`,{className:`lr-lf-stroke-hint`,children:e.hint})]},e.order))}),l&&(0,T.jsx)(`p`,{className:`lr-lf-cap`,children:l}),u&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:c(u)})]})}var ec=280;function tc(e,t){return t===0?e:tc(t,e%t)}function nc(e,t,n){let r=t?` ${t}`:``;if(!n)return`${parseFloat(e.toFixed(2))}${r}`;let i=Math.floor(e),a=e-i,o=Math.round(a*8),s=8;if(o===0)return`${i}${r}`;if(o===8)return`${i+1}${r}`;let c=tc(o,s);return o/=c,s/=c,i>0?`${i} ${o}/${s}${r}`:`${o}/${s}${r}`}function rc(e){let t=(0,F.c)(19),{value:n,max:r,fractional:i}=e,a=ec-28,o;t[0]===r?o=t[1]:(o=e=>14+Math.min(r,Math.max(0,e))/r*a,t[0]=r,t[1]=o);let s=o,c=i?r*8:r*10,l;if(t[2]!==i||t[3]!==r||t[4]!==c||t[5]!==s){l=[];for(let e=0;e<=c;e++){let t=e/c*r,n=i?e%8==0:e%10==0,a=i?e%4==0:e%5==0,o=n?22:a?14:8;l.push((0,T.jsx)(`line`,{x1:s(t),y1:20,x2:s(t),y2:20+o,className:n?`lr-ts-tick lr-ts-tick--unit`:`lr-ts-tick`},e)),n&&l.push((0,T.jsx)(`text`,{x:s(t),y:56,className:`lr-ts-ticklbl`,textAnchor:`middle`,children:Math.round(t)},`l${e}`))}t[2]=i,t[3]=r,t[4]=c,t[5]=s,t[6]=l}else l=t[6];let u;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,T.jsx)(`rect`,{x:14,y:20,width:a,height:40,rx:3,className:`lr-ts-body`}),t[7]=u):u=t[7];let d=s(n),f=s(n),p;t[8]!==d||t[9]!==f?(p=(0,T.jsx)(`line`,{x1:d,y1:12,x2:f,y2:60,className:`lr-ts-ind-line`}),t[8]=d,t[9]=f,t[10]=p):p=t[10];let m=`${s(n)},12 ${s(n)-5},4 ${s(n)+5},4`,h;t[11]===m?h=t[12]:(h=(0,T.jsx)(`polygon`,{points:m,className:`lr-ts-ind-head`}),t[11]=m,t[12]=h);let g;t[13]!==p||t[14]!==h?(g=(0,T.jsxs)(`g`,{className:`lr-ts-ind`,children:[p,h]}),t[13]=p,t[14]=h,t[15]=g):g=t[15];let _;return t[16]!==g||t[17]!==l?(_=(0,T.jsxs)(`svg`,{viewBox:`0 0 ${ec} 92`,className:`lr-ts-svg`,role:`img`,"aria-label":`ruler`,children:[u,l,g]}),t[16]=g,t[17]=l,t[18]=_):_=t[18],_}function ic(e){let t=(0,F.c)(37),{value:n,max:r}=e,i=ec/2,a=Math.min(r,Math.max(0,n)),o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=(e,t)=>({x:i+Math.cos(e*Math.PI/180)*t,y:128-Math.sin(e*Math.PI/180)*t}),t[0]=o):o=t[0];let s=o,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C;if(t[1]!==a){c=s(a,108);let e;if(t[18]===Symbol.for(`react.memo_cache_sentinel`)){e=[];for(let t=0;t<=180;t+=10){let n=s(t,108),r=s(t,108-(t%30==0?14:8));if(e.push((0,T.jsx)(`line`,{x1:n.x,y1:n.y,x2:r.x,y2:r.y,className:`lr-ts-tick`},t)),t%30==0){let n=s(t,82);e.push((0,T.jsx)(`text`,{x:n.x,y:n.y+3,className:`lr-ts-ticklbl`,textAnchor:`middle`,children:t},`l${t}`))}}t[18]=e}else e=t[18];l=`0 0 ${ec} 160`,u=`lr-ts-svg`,d=`img`,f=`protractor`,t[19]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,T.jsx)(`path`,{d:`M ${i-108} 128 A 108 108 0 0 1 248 128 Z`,className:`lr-ts-body lr-ts-arc`}),m=(0,T.jsx)(`line`,{x1:i-108,y1:128,x2:248,y2:128,className:`lr-ts-axis`}),t[19]=p,t[20]=m):(p=t[19],m=t[20]),h=e,g=i,_=128,v=248,y=128,b=108,x=108,S=c.x.toFixed(1),C=c.y.toFixed(1),t[1]=a,t[2]=c,t[3]=l,t[4]=u,t[5]=d,t[6]=f,t[7]=p,t[8]=m,t[9]=h,t[10]=g,t[11]=_,t[12]=v,t[13]=y,t[14]=b,t[15]=x,t[16]=S,t[17]=C}else c=t[2],l=t[3],u=t[4],d=t[5],f=t[6],p=t[7],m=t[8],h=t[9],g=t[10],_=t[11],v=t[12],y=t[13],b=t[14],x=t[15],S=t[16],C=t[17];let w=`M ${g} ${_} L ${v} ${y} A ${b} ${x} 0 0 0 ${S} ${C} Z`,E;t[21]===w?E=t[22]:(E=(0,T.jsx)(`path`,{d:w,className:`lr-ts-sweep`}),t[21]=w,t[22]=E);let D;t[23]!==c.x||t[24]!==c.y?(D=(0,T.jsx)(`line`,{x1:i,y1:128,x2:c.x,y2:c.y,className:`lr-ts-ind-line`}),t[23]=c.x,t[24]=c.y,t[25]=D):D=t[25];let O;t[26]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,T.jsx)(`circle`,{cx:i,cy:128,r:4,className:`lr-ts-pin`}),t[26]=O):O=t[26];let k;return t[27]!==l||t[28]!==u||t[29]!==d||t[30]!==f||t[31]!==p||t[32]!==m||t[33]!==h||t[34]!==E||t[35]!==D?(k=(0,T.jsxs)(`svg`,{viewBox:l,className:u,role:d,"aria-label":f,children:[p,m,h,E,D,O]}),t[27]=l,t[28]=u,t[29]=d,t[30]=f,t[31]=p,t[32]=m,t[33]=h,t[34]=E,t[35]=D,t[36]=k):k=t[36],k}function ac(e){let t=(0,F.c)(15),{value:n,max:r}=e,i=ec-28,a;t[0]===r?a=t[1]:(a=e=>14+Math.min(r,Math.max(0,e))/r*i,t[0]=r,t[1]=a);let o=a,s=o(n),c;if(t[2]!==r||t[3]!==o){c=[];let e=r*10;for(let t=0;t<=e;t++){let n=t/e*r,i=t%10==0;c.push((0,T.jsx)(`line`,{x1:o(n),y1:30,x2:o(n),y2:30+(i?12:6),className:i?`lr-ts-tick lr-ts-tick--unit`:`lr-ts-tick`},t))}t[2]=r,t[3]=o,t[4]=c}else c=t[4];let l;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,T.jsx)(`line`,{x1:14,y1:30,x2:ec-14,y2:30,className:`lr-ts-axis`}),t[5]=l):l=t[5];let u;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,T.jsx)(`rect`,{x:10,y:8,width:6,height:22,className:`lr-ts-jaw`}),t[6]=u):u=t[6];let d=s-2,f;t[7]===d?f=t[8]:(f=(0,T.jsx)(`rect`,{x:d,y:8,width:6,height:22,className:`lr-ts-jaw lr-ts-jaw--slide`}),t[7]=d,t[8]=f);let p=Math.max(0,s-14),m;t[9]===p?m=t[10]:(m=(0,T.jsx)(`rect`,{x:14,y:12,width:p,height:14,rx:2,className:`lr-ts-gap`}),t[9]=p,t[10]=m);let h;return t[11]!==f||t[12]!==m||t[13]!==c?(h=(0,T.jsxs)(`svg`,{viewBox:`0 0 ${ec} 96`,className:`lr-ts-svg`,role:`img`,"aria-label":`caliper`,children:[l,c,u,f,m]}),t[11]=f,t[12]=m,t[13]=c,t[14]=h):h=t[14],h}function oc(e){let t=(0,F.c)(11),{value:n,max:r}=e,i=ec/2,a=118-Math.min(1,Math.max(0,n/r))*104,o;if(t[0]!==r){o=[];for(let e=0;e<=5;e++){let t=e/5*r,n=118-e/5*104;o.push((0,T.jsxs)(`g`,{children:[(0,T.jsx)(`line`,{x1:154,y1:n,x2:162,y2:n,className:`lr-ts-tick`}),(0,T.jsx)(`text`,{x:166,y:n+3,className:`lr-ts-ticklbl`,textAnchor:`start`,children:Math.round(t)})]},e))}t[0]=r,t[1]=o}else o=t[1];let s,c;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,T.jsx)(`rect`,{x:i-7,y:14,width:14,height:118,rx:7,className:`lr-ts-body`}),c=(0,T.jsx)(`circle`,{cx:i,cy:132,r:14,className:`lr-ts-body`}),t[2]=s,t[3]=c):(s=t[2],c=t[3]);let l=118-a,u;t[4]!==a||t[5]!==l?(u=(0,T.jsx)(`rect`,{x:136,y:a,width:8,height:l,className:`lr-ts-mercury`}),t[4]=a,t[5]=l,t[6]=u):u=t[6];let d;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,T.jsx)(`circle`,{cx:i,cy:132,r:11,className:`lr-ts-mercury`}),t[7]=d):d=t[7];let f;return t[8]!==u||t[9]!==o?(f=(0,T.jsxs)(`svg`,{viewBox:`0 0 ${ec} 150`,className:`lr-ts-svg`,role:`img`,"aria-label":`thermometer`,children:[s,c,u,d,o]}),t[8]=u,t[9]=o,t[10]=f):f=t[10],f}var sc={ruler:({value:e,max:t,fractional:n})=>(0,T.jsx)(rc,{value:e,max:t,fractional:n}),protractor:({value:e,max:t})=>(0,T.jsx)(ic,{value:e,max:t}),caliper:({value:e,max:t})=>(0,T.jsx)(ac,{value:e,max:t}),thermometer:({value:e,max:t})=>(0,T.jsx)(oc,{value:e,max:t})};function cc({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,instrument:r,value:i,max:a,unit:s,fractional:l=!1,reading:u,caption:d,footer:f,delay:p}){let m=o[t]||o.chart,h=a>0?a:Math.max(1,Math.abs(i)||1),g=(0,P.useMemo)(()=>u??nc(i,s,l),[u,i,s,l]),_=sc[r]??sc.ruler;return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(p||0)+`ms`},children:[e&&(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(m,{className:`ic`,style:{color:n}}),` `,e]}),(0,T.jsx)(`div`,{className:`lr-ts-wrap`,children:_({value:i,max:h,fractional:l})}),(0,T.jsxs)(`div`,{className:`lr-ts-read`,children:[(0,T.jsx)(`span`,{className:`lr-ts-read-k`,children:`Reading`}),(0,T.jsx)(`span`,{className:`lr-ts-read-v`,children:g})]}),d&&(0,T.jsx)(`p`,{className:`lr-ts-cap`,children:d}),f&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:c(f)})]})}var lc=40,uc=11;function dc(e){return e<=12?1:e<=24?5:10}function fc(e,t,n){let r=Array.from({length:e},()=>Array(t).fill(void 0));for(let i of n)i.r<0||i.r>=e||i.c<0||i.c>=t||(r[i.r][i.c]=i);return r}function pc({title:e,icon:t=`edit`,iconColor:n=`var(--insight)`,rows:r,cols:i,cells:a,legend:s,craft:l=`crossstitch`,caption:u,footer:d,delay:f}){let p=o[t]??o.edit,m=Math.max(1,Math.min(lc,Math.floor(r)||1)),h=Math.max(1,Math.min(lc,Math.floor(i)||1)),g=fc(m,h,a??[]),_=h*16,v=m*16,y=_+28,b=v+14,x=dc(h),S=dc(m),C=Math.min(_,420)/_*16>=uc,w={"--delay":(f??0)+`ms`},E={maxWidth:y,marginInline:`auto`};return(0,T.jsxs)(`div`,{className:`card reveal`,style:w,children:[e&&(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(p,{className:`ic`,style:{color:n}}),` `,e]}),(0,T.jsx)(`div`,{className:`lr-cc-wrap`,children:(0,T.jsxs)(`svg`,{className:`lr-cc-svg`,viewBox:`0 0 ${y} ${b}`,style:E,role:`img`,"aria-label":e?`${e} — ${m}×${h} ${l} chart`:`${m}×${h} ${l} chart`,children:[Array.from({length:h},(e,t)=>{let n=t+1;return n!==1&&n%x!==0&&n!==h?null:(0,T.jsx)(`text`,{className:`lr-cc-num`,x:14+t*16+16/2,y:10,textAnchor:`middle`,children:n},`cx-${t}`)}),Array.from({length:m},(e,t)=>{let n=t+1;return n!==1&&n%S!==0&&n!==m?null:(0,T.jsx)(`text`,{className:`lr-cc-num`,x:14+_+3,y:14+t*16+16/2,textAnchor:`start`,dominantBaseline:`middle`,children:n},`ry-${t}`)}),g.map((e,t)=>e.map((e,n)=>{let r=14+n*16,i=14+t*16,a=e!==void 0&&(e.color||e.symbol);return(0,T.jsxs)(`g`,{children:[l===`bead`?(0,T.jsx)(`circle`,{className:a?`lr-cc-cell lr-cc-bead`:`lr-cc-empty lr-cc-bead`,cx:r+16/2,cy:i+16/2,r:16/2-1.4,style:e?.color?{fill:e.color}:void 0}):(0,T.jsx)(`rect`,{className:a?`lr-cc-cell`:`lr-cc-empty`,x:r,y:i,width:16,height:16,style:e?.color?{fill:e.color}:void 0}),C&&e?.symbol&&l!==`bead`&&(0,T.jsx)(`text`,{className:`lr-cc-sym`,x:r+16/2,y:i+16/2,textAnchor:`middle`,dominantBaseline:`central`,children:e.symbol})]},`${t}-${n}`)}))]})}),s&&s.length>0&&(0,T.jsx)(`ul`,{className:`lr-cc-legend`,children:s.map((e,t)=>(0,T.jsxs)(`li`,{className:`lr-cc-leg-row`,children:[(0,T.jsxs)(`span`,{className:`lr-cc-leg-key`,"aria-hidden":!0,children:[e.color&&(0,T.jsx)(`span`,{className:[`lr-cc-leg-sw`,l===`bead`?`lr-cc-leg-sw-round`:``].filter(Boolean).join(` `),style:{background:e.color}}),e.symbol&&(0,T.jsx)(`span`,{className:`lr-cc-leg-sym`,children:e.symbol})]}),(0,T.jsx)(`span`,{className:`lr-cc-leg-mean`,children:e.meaning})]},t))}),u&&(0,T.jsx)(`p`,{className:`lr-cc-cap`,children:u}),d&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:c(d)})]})}var mc=240,hc=mc/2,gc=52,_c=24,vc=20,yc=24,bc=3,xc=300,Sc=60,Cc=240,wc=30,Tc=20;function Ec(e){return e===`AT`||e===`TA`}function Dc(e){return e[0]}function Oc(e){return e[1]}function kc(e){let t=[`AT`,`GC`,`TA`,`CG`,`GC`,`AT`,`CG`,`TA`,`GC`,`AT`];return Array.from({length:e},(e,n)=>({pair:t[n%t.length]}))}function Ac({title:e,icon:t=`spark`,iconColor:n=`var(--presence)`,bases:r,count:i=10,mode:a=`helix`,showLabels:s=!0,caption:l,footer:u,delay:d}){let f=o[t]||o.spark,p=r??kc(Math.min(i,16)),m=p.length,h=(0,P.useMemo)(()=>{if(a!==`helix`)return null;let e=vc+m*_c+yc,t=m*1.1,n=[],r=[];for(let e=0;e<=m;e++){let i=(m===0?0:e/m)*t*2*Math.PI,a=vc+e*_c;n.push({x:hc+gc*Math.cos(i),y:a,angle:i}),r.push({x:hc-gc*Math.cos(i),y:a,angle:i})}let i=[];for(let e=0;e<m;e++){let n=(e+.5)/m*t*2*Math.PI,r=vc+(e+.5)*_c,a=hc+gc*Math.cos(n),o=hc-gc*Math.cos(n);i.push({x1:a,y:r,x2:o,base:p[e],idx:e})}return{pts1:n,pts2:r,rungs:i,H:e}},[a,m,p]),g=(0,P.useMemo)(()=>a===`ladder`?{H:Tc+m*wc+24}:null,[a,m]),_=a===`helix`?h?.H??240:g?.H??240,v=e=>e.length===0?``:e.map((e,t)=>`${t===0?`M`:`L`}${e.x.toFixed(1)},${e.y.toFixed(1)}`).join(` `);return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(d??0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(f,{className:`ic`,style:{color:n}}),` `,e]}),(0,T.jsxs)(`div`,{className:`dh-wrap`,children:[a===`helix`&&h&&(0,T.jsxs)(`svg`,{viewBox:`0 0 ${mc} ${_}`,className:`dh-svg`,role:`img`,"aria-label":e,children:[h.rungs.map(({x1:e,y:t,x2:n,base:r,idx:i})=>{let a=r.highlight,o=a||Ec(r.pair)?`var(--warning)`:`color-mix(in oklab, var(--presence) 60%, var(--insight))`;return Math.cos((i+.5)/m*h.rungs.length*1.1*2*Math.PI)>0?null:(0,T.jsxs)(`g`,{children:[(0,T.jsx)(`line`,{x1:e,y1:t,x2:n,y2:t,stroke:o,strokeWidth:a?3:2,opacity:.7,className:`dh-rung`}),s&&(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`text`,{x:e+6,y:t+4,className:`dh-base-label`,textAnchor:`start`,children:Dc(r.pair)}),(0,T.jsx)(`text`,{x:n-6,y:t+4,className:`dh-base-label`,textAnchor:`end`,children:Oc(r.pair)})]})]},`rung-bg-${i}`)}),(0,T.jsx)(`path`,{d:v(h.pts1),fill:`none`,stroke:`var(--presence)`,strokeWidth:bc,strokeLinecap:`round`,strokeLinejoin:`round`,className:`dh-strand`}),(0,T.jsx)(`path`,{d:v(h.pts2),fill:`none`,stroke:`var(--insight)`,strokeWidth:bc,strokeLinecap:`round`,strokeLinejoin:`round`,className:`dh-strand`}),h.rungs.map(({x1:e,y:t,x2:n,base:r,idx:i})=>{let a=(i+.5)/m*m*1.1*2*Math.PI;if(!(Math.cos(a)>0))return null;let o=r.highlight;return(0,T.jsxs)(`g`,{children:[(0,T.jsx)(`line`,{x1:e,y1:t,x2:n,y2:t,stroke:o||Ec(r.pair)?`var(--warning)`:`color-mix(in oklab, var(--presence) 60%, var(--insight))`,strokeWidth:o?3:2,className:`dh-rung`}),s&&(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`text`,{x:e+6,y:t+4,className:`dh-base-label`,textAnchor:`start`,children:Dc(r.pair)}),(0,T.jsx)(`text`,{x:n-6,y:t+4,className:`dh-base-label`,textAnchor:`end`,children:Oc(r.pair)})]})]},`rung-fg-${i}`)}),(0,T.jsx)(`text`,{x:16,y:14,className:`dh-dir-label`,children:`5′`}),(0,T.jsx)(`text`,{x:mc-16,y:14,className:`dh-dir-label`,textAnchor:`end`,children:`3′`}),(0,T.jsx)(`text`,{x:16,y:_-8,className:`dh-dir-label`,children:`3′`}),(0,T.jsx)(`text`,{x:mc-16,y:_-8,className:`dh-dir-label`,textAnchor:`end`,children:`5′`})]}),a===`ladder`&&g&&(0,T.jsxs)(`svg`,{viewBox:`0 0 ${xc} ${g.H}`,className:`dh-svg`,role:`img`,"aria-label":e,children:[(0,T.jsx)(`line`,{x1:Sc,y1:Tc,x2:Sc,y2:Tc+m*wc,stroke:`var(--presence)`,strokeWidth:4,strokeLinecap:`round`,className:`dh-strand`}),(0,T.jsx)(`line`,{x1:Cc,y1:Tc,x2:Cc,y2:Tc+m*wc,stroke:`var(--insight)`,strokeWidth:4,strokeLinecap:`round`,className:`dh-strand`}),p.map((e,t)=>{let n=Tc+(t+.5)*wc,r=e.highlight;return(0,T.jsxs)(`g`,{children:[(0,T.jsx)(`line`,{x1:Sc,y1:n,x2:Cc,y2:n,stroke:r||Ec(e.pair)?`var(--warning)`:`color-mix(in oklab, var(--presence) 60%, var(--insight))`,strokeWidth:r?3:2,className:`dh-rung`}),s&&(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`text`,{x:68,y:n+4,className:`dh-base-label`,textAnchor:`start`,children:Dc(e.pair)}),(0,T.jsx)(`text`,{x:300/2,y:n+4,className:`dh-pair-dash`,textAnchor:`middle`,children:`—`}),(0,T.jsx)(`text`,{x:Cc-8,y:n+4,className:`dh-base-label`,textAnchor:`end`,children:Oc(e.pair)})]})]},t)}),(0,T.jsx)(`text`,{x:Sc-4,y:Tc-6,className:`dh-dir-label`,textAnchor:`middle`,children:`5′`}),(0,T.jsx)(`text`,{x:244,y:Tc-6,className:`dh-dir-label`,textAnchor:`middle`,children:`3′`}),(0,T.jsx)(`text`,{x:Sc-4,y:Tc+m*wc+14,className:`dh-dir-label`,textAnchor:`middle`,children:`3′`}),(0,T.jsx)(`text`,{x:244,y:Tc+m*wc+14,className:`dh-dir-label`,textAnchor:`middle`,children:`5′`})]})]}),(0,T.jsxs)(`div`,{className:`dh-legend`,children:[(0,T.jsx)(`span`,{className:`dh-legend-dot dh-legend-at`}),` A–T`,(0,T.jsx)(`span`,{className:`dh-legend-dot dh-legend-gc`,style:{marginLeft:12}}),` G–C`]}),l&&(0,T.jsx)(`p`,{className:`dh-caption`,children:l}),u&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:c(u)})]})}var jc=340,Mc=120,Nc=16,Pc=20,Fc=52,Ic=5.2,Lc=10,Rc=3,zc=[[380,`#7B00D7`],[420,`#5700FF`],[470,`#0047FF`],[500,`#00AAFF`],[530,`#00FF28`],[570,`#AAFF00`],[600,`#FF8C00`],[650,`#FF2200`],[780,`#800000`]];function Bc(e){let t=zc;if(e<=t[0][0])return t[0][1];if(e>=t[t.length-1][0])return t[t.length-1][1];for(let n=0;n<t.length-1;n++){let[r,i]=t[n],[a,o]=t[n+1];if(e>=r&&e<=a){let t=(e-r)/(a-r),n=parseInt(i.slice(1,3),16),s=parseInt(i.slice(3,5),16),c=parseInt(i.slice(5,7),16),l=parseInt(o.slice(1,3),16),u=parseInt(o.slice(3,5),16),d=parseInt(o.slice(5,7),16);return`#${Math.round(n+(l-n)*t).toString(16).padStart(2,`0`)}${Math.round(s+(u-s)*t).toString(16).padStart(2,`0`)}${Math.round(c+(d-c)*t).toString(16).padStart(2,`0`)}`}}return`#888`}function Vc(e){let t=e.map((e,t)=>t).sort((t,n)=>e[t].x-e[n].x),n=[],r=Array(e.length).fill(0);for(let i of t){let t=e[i].text.length*Ic/2,a=e[i].x-t,o=0;for(;n[o]!==void 0&&a<n[o]+Rc;)o++;r[i]=o,n[o]=e[i].x+t}return r}function Hc({title:e,icon:t=`spark`,iconColor:n=`var(--presence)`,lines:r,mode:i=`emission`,range:a=[380,780],elementLabel:s,caption:l,footer:u,delay:d}){let f=o[t]||o.spark,p=`ls-grad-${(0,P.useId)().replace(/:/g,``)}`,[m,h]=a,g=jc-Nc*2,_=e=>Nc+(Math.max(m,Math.min(h,e))-m)/(h-m)*g,v=(0,P.useMemo)(()=>{let e=[],t=Math.ceil(m/50)*50;for(let n=t;n<=h;n+=50)e.push(n);return e},[m,h]),y=(0,P.useMemo)(()=>{let e=r.map((e,t)=>({i:t,x:_(e.wavelength),text:e.label??``})).filter(e=>e.text),t=Vc(e),n=new Map;return e.forEach((e,r)=>n.set(e.i,t[r])),n},[r,m,h]),b=y.size?Math.max(...y.values()):0,x=Pc+b*Lc,S=x+Fc+4,C=S+14,w=Mc+b*Lc+(s?14:0);return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(d??0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(f,{className:`ic`,style:{color:n}}),` `,e]}),(0,T.jsx)(`div`,{className:`ls-wrap`,children:(0,T.jsxs)(`svg`,{viewBox:`0 0 ${jc} ${w}`,className:`ls-svg`,role:`img`,"aria-label":s?`${s} spectrum`:e,children:[(0,T.jsx)(`defs`,{children:(0,T.jsx)(`linearGradient`,{id:p,x1:`0%`,y1:`0%`,x2:`100%`,y2:`0%`,children:zc.map(([e,t])=>(0,T.jsx)(`stop`,{offset:`${(e-380)/400*100}%`,stopColor:t},e))})}),i===`emission`?(0,T.jsx)(`rect`,{x:Nc,y:x,width:g,height:Fc,fill:`var(--surface-inset, #1a1a2e)`,rx:3}):(0,T.jsx)(`rect`,{x:Nc,y:x,width:g,height:Fc,fill:`url(#${p})`,rx:3}),i===`emission`&&(0,T.jsx)(`rect`,{x:Nc,y:x,width:g,height:Fc,fill:`url(#${p})`,opacity:.15,rx:3}),r.map((e,t)=>{let n=_(e.wavelength),r=e.intensity??1,a=Fc*Math.max(.2,r),o=x+Fc-a,s=Bc(e.wavelength),c=y.get(t)??0;return(0,T.jsxs)(`g`,{children:[i===`emission`?(0,T.jsx)(`line`,{x1:n,y1:o,x2:n,y2:x+Fc,stroke:s,strokeWidth:1.8,opacity:.85+.15*r}):(0,T.jsx)(`line`,{x1:n,y1:x,x2:n,y2:x+Fc,stroke:`rgba(0,0,0,0.85)`,strokeWidth:2}),e.label&&(0,T.jsx)(`text`,{x:n,y:x-4-c*Lc,textAnchor:`middle`,className:`ls-label`,children:e.label})]},t)}),v.map(e=>{let t=_(e);return(0,T.jsxs)(`g`,{children:[(0,T.jsx)(`line`,{x1:t,y1:S,x2:t,y2:S+4,className:`ls-axis`}),(0,T.jsx)(`text`,{x:t,y:C,textAnchor:`middle`,className:`ls-tick-lbl`,children:e})]},e)}),(0,T.jsx)(`text`,{x:jc/2,y:w-2,textAnchor:`middle`,className:`ls-axis-label`,children:s??`Wavelength (nm)`})]})}),l&&(0,T.jsx)(`p`,{className:`ls-caption`,children:l}),u&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:c(u)})]})}var Uc=[`color-mix(in oklab, var(--presence) 22%, var(--surface-default))`,`color-mix(in oklab, var(--insight) 22%, var(--surface-default))`,`color-mix(in oklab, var(--warning) 22%, var(--surface-default))`,`color-mix(in oklab, var(--presence) 14%, color-mix(in oklab, var(--insight) 28%, var(--surface-default)))`,`color-mix(in oklab, var(--insight) 14%, color-mix(in oklab, var(--warning) 28%, var(--surface-default)))`],Wc=340,Gc=40,Kc=12,qc=8,Jc=220,Yc=40,Xc=10,Zc=8.5,Qc=.62,$c=10,el=18;function tl({title:e,icon:t=`spark`,iconColor:n=`var(--presence)`,tiers:r,showNotes:i=!0,caption:a,footer:s,delay:l}){let u=o[t]||o.spark,d=r.slice(0,qc),f=d.length,p=(0,P.useMemo)(()=>f===0?[]:d.map((e,t)=>{let n=f===1?0:t/(f-1),r=((1-n)*Jc+n*Yc)/2,i=f-1-t,a=Kc+i*42,o=Wc/2,s=f===1?1:Math.min(1,(t+1)/(f-1));return{tier:e,halfW:r,halfWNext:((1-s)*Jc+s*Yc)/2,cx:o,y:a,row:i}}),[d,f]),m=Math.min(qc,f)*42+Kc*2;return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(l??0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,T.jsx)(`div`,{className:`py-wrap`,children:(0,T.jsx)(`svg`,{viewBox:`0 0 ${Wc} ${m}`,className:`py-svg`,role:`img`,"aria-label":e,preserveAspectRatio:`xMidYMid meet`,children:p.map(({tier:e,halfW:t,halfWNext:n,cx:r,y:i},a)=>{let o=e.color?`color-mix(in oklab, ${e.color} 22%, var(--surface-default))`:Uc[a%Uc.length]??Uc[0],s=r-t,c=r+t,l=r-n,u=r+n,d=i+Gc,f=i,p=`${s},${d} ${c},${d} ${u},${f} ${l},${f}`,m=i+Gc/2,h=e.value?`${e.label} · ${e.value}`:e.label,g=Math.max(0,n*2-$c),_=h.length*(Xc*Qc)<=g?Xc:Zc,v=!(h.length*_*Qc<=g)&&g>=el;return(0,T.jsxs)(`g`,{children:[(0,T.jsx)(`polygon`,{points:p,fill:o,stroke:`var(--surface-elevated, var(--surface-default))`,strokeWidth:1.5}),(0,T.jsx)(`text`,{x:r,y:m+5,textAnchor:`middle`,className:`py-tier-label`,style:_===Xc?void 0:{fontSize:_},...v?{textLength:g,lengthAdjust:`spacingAndGlyphs`}:{},children:h})]},a)})})}),i&&d.some(e=>e.note)&&(0,T.jsx)(`ul`,{className:`py-notes`,children:[...d].reverse().map((e,t)=>e.note?(0,T.jsxs)(`li`,{className:`py-notes-row`,children:[(0,T.jsx)(`span`,{className:`py-notes-label`,children:e.label}),(0,T.jsx)(`span`,{className:`py-notes-text`,children:e.note})]},t):null)}),a&&(0,T.jsx)(`p`,{className:`py-caption`,children:a}),s&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:c(s)})]})}function nl({title:e=`Two-Column Proof`,icon:t=`spark`,iconColor:n=`var(--presence)`,given:r,prove:i,steps:a,diagram:s,footer:l,delay:u}){let d=o[t]??o.spark;return(0,T.jsxs)(`div`,{className:`card reveal c1`,style:{"--delay":(u??0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,T.jsxs)(`div`,{style:rl,children:[(0,T.jsxs)(`div`,{style:il,children:[(0,T.jsx)(`span`,{style:al,children:`GIVEN`}),(0,T.jsx)(`span`,{style:ol,children:r})]}),(0,T.jsxs)(`div`,{style:{...il,marginTop:6},children:[(0,T.jsx)(`span`,{style:{...al,color:`var(--presence)`},children:`PROVE`}),(0,T.jsx)(`span`,{style:ol,children:i})]})]}),s&&(0,T.jsx)(`p`,{style:sl,children:(0,T.jsx)(`em`,{children:s})}),(0,T.jsxs)(`div`,{style:cl,children:[(0,T.jsxs)(`div`,{style:ll,children:[(0,T.jsx)(`div`,{style:ul,children:`Statement`}),(0,T.jsx)(`div`,{style:{...ul,borderLeft:`1px solid var(--grid-line)`},children:`Reason`})]}),a.map((e,t)=>{let n=t%2==1,r=t===a.length-1,i=n?{background:`color-mix(in oklab, var(--surface-elevated) 50%, transparent)`}:{};return(0,T.jsxs)(`div`,{style:{...dl,...i},children:[(0,T.jsxs)(`div`,{style:{...fl,borderBottom:r?`none`:`1px solid var(--grid-line)`},children:[(0,T.jsxs)(`span`,{style:pl,children:[t+1,`. `]}),(0,T.jsx)(`span`,{style:ml,children:e.statement}),r&&(0,T.jsx)(`span`,{style:hl,"aria-label":`QED`,children:`∎`})]}),(0,T.jsx)(`div`,{style:{...fl,borderLeft:`1px solid var(--grid-line)`,borderBottom:r?`none`:`1px solid var(--grid-line)`,color:`var(--text-secondary)`},children:e.reason})]},t)})]}),l&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:c(l)})]})}var rl={background:`var(--surface-elevated)`,borderRadius:6,padding:`10px 14px`,marginBottom:10},il={display:`flex`,alignItems:`baseline`,gap:8},al={fontSize:9,fontWeight:700,letterSpacing:`0.06em`,color:`var(--text-muted)`,flexShrink:0,minWidth:40},ol={fontSize:12,color:`var(--text-primary)`,lineHeight:1.4},sl={fontSize:11,color:`var(--text-muted)`,margin:`0 0 8px`,padding:`5px 10px`,borderLeft:`2px solid var(--surface-border)`,lineHeight:1.4},cl={border:`1px solid var(--grid-line)`,borderRadius:6,overflow:`hidden`},ll={display:`grid`,gridTemplateColumns:`1fr 1fr`,background:`var(--surface-elevated)`,borderBottom:`1px solid var(--grid-line)`},ul={padding:`5px 10px`,fontSize:9,fontWeight:700,letterSpacing:`0.08em`,color:`var(--text-muted)`,textTransform:`uppercase`},dl={display:`grid`,gridTemplateColumns:`1fr 1fr`},fl={padding:`7px 10px`,fontSize:12,color:`var(--text-primary)`,lineHeight:1.4,display:`flex`,alignItems:`baseline`,gap:2,minWidth:0,wordBreak:`break-word`},pl={color:`var(--text-muted)`,flexShrink:0,fontSize:11},ml={flex:1,minWidth:0},hl={marginLeft:`auto`,fontSize:16,color:`var(--presence)`,lineHeight:1,flexShrink:0},gl=300,_l=260,vl=150,yl=130,bl=40;function X(e,t){return[vl+e*bl,yl-t*bl]}function xl(e,t,n,r,i,a){return[e*i+t*a,n*i+r*a]}function Sl(e,t,n,r,i,a=7){let o=Math.atan2(r-t,n-e),s=e=>n-a*Math.cos(o+e),c=e=>r-a*Math.sin(o+e);return`${n},${r} ${s(-.4)},${c(-.4)} ${s(.4)},${c(.4)}`}var Cl=[-3,-2,-1,0,1,2,3];function wl({title:e=`Linear Transformation`,icon:t=`sparkle`,iconColor:n=`var(--presence)`,matrix:r,showEigens:i=!0,animated:a=!0,footer:s,delay:l}){let u=o[t]??o.sparkle,d=`gt-clip-${(0,P.useId)().replace(/:/g,``)}`,[f,p]=(0,P.useState)(!a);(0,P.useEffect)(()=>{if(!a)return;let e=setTimeout(()=>p(!0),300);return()=>clearTimeout(e)},[a]);let{a:m,b:h,c:g,d:_,det:v,hLines:y,vLines:b,ox:x,oy:S,iHatX:C,iHatY:w,jHatX:E,jHatY:D,eigens:O}=(0,P.useMemo)(()=>{let[[e,t],[n,a]]=r,o=[],s=[];for(let r of Cl){let[i,s]=X(...xl(e,t,n,a,-3,r)),[c,l]=X(...xl(e,t,n,a,3,r));o.push({x1:i,y1:s,x2:c,y2:l,isAxis:r===0})}for(let r of Cl){let[i,o]=X(...xl(e,t,n,a,r,-3)),[c,l]=X(...xl(e,t,n,a,r,3));s.push({x1:i,y1:o,x2:c,y2:l,isAxis:r===0})}let[c,l]=X(0,0),[u,d]=X(e,n),[f,p]=X(t,a),m=e*a-t*n,h=[];if(i){let r=e+a,i=e*a-t*n,o=r*r-4*i;if(o>=0){let i=Math.sqrt(o),s=[(r+i)/2,(r-i)/2];for(let r of s){let i=Math.abs(e-r)<Math.abs(a-r),o=Math.abs(t)>1e-9?t:Math.abs(n)>1e-9?r-a:+!!i,s=Math.abs(t)>1e-9?r-e:Math.abs(n)>1e-9?n:+!i,c=Math.hypot(o,s);c>1e-9&&h.push({vx:o/c,vy:s/c,lambda:r})}h.length===2&&Math.abs(h[0].vx*h[1].vy-h[0].vy*h[1].vx)<1e-6&&(h=[h[0]])}}return{a:e,b:t,c:n,d:a,det:m,hLines:o,vLines:s,ox:c,oy:l,iHatX:u,iHatY:d,jHatX:f,jHatY:p,eigens:h}},[r,i]),k=Math.min(vl,gl-vl,yl,_l-yl)-4;return(0,T.jsxs)(`div`,{className:`card reveal c1`,style:{"--delay":(l||0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(u,{className:`ic`,style:{color:n}}),e]}),(0,T.jsxs)(`svg`,{viewBox:`0 0 ${gl} ${_l}`,width:`100%`,style:{display:`block`},role:`img`,"aria-label":e,children:[(0,T.jsx)(`defs`,{children:(0,T.jsx)(`clipPath`,{id:d,children:(0,T.jsx)(`rect`,{x:0,y:0,width:gl,height:_l})})}),(0,T.jsxs)(`g`,{clipPath:`url(#${d})`,children:[Cl.map(e=>{let[t,n]=X(-3,e),[r,i]=X(3,e),a=e===0;return(0,T.jsx)(`line`,{x1:t,y1:n,x2:r,y2:i,stroke:a?`var(--text-muted)`:`var(--surface-border)`,strokeWidth:a?1.2:.8,opacity:.6},`oh${e}`)}),Cl.map(e=>{let[t,n]=X(e,-3),[r,i]=X(e,3),a=e===0;return(0,T.jsx)(`line`,{x1:t,y1:n,x2:r,y2:i,stroke:a?`var(--text-muted)`:`var(--surface-border)`,strokeWidth:a?1.2:.8,opacity:.6},`ov${e}`)})]}),(0,T.jsxs)(`g`,{clipPath:`url(#${d})`,style:{opacity:+!!f,transition:`opacity 0.6s ease`},children:[y.map((e,t)=>(0,T.jsx)(`line`,{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,stroke:`var(--insight)`,strokeWidth:e.isAxis?2:.9,opacity:e.isAxis?1:.75},`th${t}`)),b.map((e,t)=>(0,T.jsx)(`line`,{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,stroke:`var(--insight)`,strokeWidth:e.isAxis?2:.9,opacity:e.isAxis?1:.75},`tv${t}`)),O.map((e,t)=>{let n=e.vx,r=-e.vy,i=Math.hypot(n,r)||1,a=n/i*k,o=r/i*k,s=k*.55,c=x+n/i*s,l=S+r/i*s-4,u=Number.isInteger(e.lambda)?String(e.lambda):e.lambda.toFixed(2);return(0,T.jsxs)(`g`,{children:[(0,T.jsx)(`line`,{x1:x,y1:S,x2:x+a,y2:S+o,stroke:`var(--danger)`,strokeWidth:1.5,strokeDasharray:`3 2`}),(0,T.jsx)(`line`,{x1:x,y1:S,x2:x-a,y2:S-o,stroke:`var(--danger)`,strokeWidth:1.5,strokeDasharray:`3 2`}),(0,T.jsxs)(`text`,{x:c,y:l,textAnchor:`middle`,fill:`var(--danger)`,fontSize:9,fontFamily:`inherit`,children:[`λ=`,u]})]},`eig${t}`)}),(C!==x||w!==S)&&(0,T.jsxs)(`g`,{children:[(0,T.jsx)(`line`,{x1:x,y1:S,x2:C,y2:w,stroke:`var(--presence)`,strokeWidth:2,strokeLinecap:`round`}),(0,T.jsx)(`polygon`,{points:Sl(x,S,C,w,`var(--presence)`),fill:`var(--presence)`}),(0,T.jsx)(`text`,{x:C+(C-x>0?6:-6),y:w+(w-S>0?10:-4),fill:`var(--presence)`,fontSize:10,fontFamily:`inherit`,textAnchor:C-x>0?`start`:`end`,children:`î→`})]}),(E!==x||D!==S)&&(0,T.jsxs)(`g`,{children:[(0,T.jsx)(`line`,{x1:x,y1:S,x2:E,y2:D,stroke:`var(--warning)`,strokeWidth:2,strokeLinecap:`round`}),(0,T.jsx)(`polygon`,{points:Sl(x,S,E,D,`var(--warning)`),fill:`var(--warning)`}),(0,T.jsx)(`text`,{x:E+(E-x>=0?6:-6),y:D+(D-S>=0?10:-4),fill:`var(--warning)`,fontSize:10,fontFamily:`inherit`,textAnchor:E-x>=0?`start`:`end`,children:`ĵ→`})]}),(0,T.jsxs)(`text`,{x:gl-8,y:14,textAnchor:`end`,fill:`var(--text-muted)`,fontSize:10,fontFamily:`inherit`,children:[`det = `,v.toFixed(2)]}),(0,T.jsxs)(`text`,{x:gl-8,y:26,textAnchor:`end`,fill:`var(--text-muted)`,fontSize:9,fontFamily:`inherit`,children:[`area ×`,Math.abs(v).toFixed(2)]}),(0,T.jsxs)(`text`,{x:8,y:_l-20,fill:`var(--text-secondary)`,fontSize:9,fontFamily:`monospace`,children:[`[`,m,` `,h,`]`]}),(0,T.jsxs)(`text`,{x:8,y:_l-8,fill:`var(--text-secondary)`,fontSize:9,fontFamily:`monospace`,children:[`[`,g,` `,_,`]`]})]})]}),s&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:c(s)})]})}var Tl=[`var(--presence)`,`var(--insight)`,`var(--warning)`,`var(--danger)`];function El(e){let t=e.trim();if(/^-?\d+(\.\d+)?$/.test(t))return{coef:Number(t),varPart:``};let n=t.match(/^(-?\d*\.?\d*)([a-zA-Z][a-zA-Z0-9²³⁴⁵]*)$/);if(!n)return{coef:1,varPart:t};let r=n[1];return{coef:r===``||r===`+`?1:r===`-`?-1:Number(r),varPart:n[2]}}function Dl(e,t){let n=El(e),r=El(t),i=n.coef*r.coef,a=n.varPart,o=r.varPart;if(!a&&!o)return String(i);let s;return s=a?o?a===o?a+`²`:[a,o].sort().join(``):a:o,i===1?s:i===-1?`-`+s:String(i)+s}function Ol({title:e,icon:t=`table`,iconColor:n=`var(--presence)`,factorA:r,factorB:i,labelsA:a,labelsB:s,showProducts:l=!0,showSum:u=!0,caption:d,footer:f,delay:p}){let m=o[t]??o.table,h=(0,P.useMemo)(()=>r.map((e,t)=>a?.[t]??String(e)),[r,a]),g=(0,P.useMemo)(()=>i.map((e,t)=>s?.[t]??String(e)),[i,s]),_=(0,P.useMemo)(()=>g.map(e=>h.map(t=>Dl(t,e))),[g,h]),v=(0,P.useMemo)(()=>`= `+_.flat().join(` + `).replace(/\+ -/g,`- `),[_]),y=`min-content repeat(${r.length}, minmax(56px, 1fr))`;return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(p||0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(m,{className:`ic`,style:{color:n}}),` `,e]}),(0,T.jsxs)(`div`,{className:`lr-am-wrap`,children:[(0,T.jsxs)(`div`,{className:`lr-am-grid`,style:{gridTemplateColumns:y},children:[(0,T.jsx)(`div`,{className:`lr-am-cell lr-am-corner`,"aria-hidden":`true`}),h.map((e,t)=>(0,T.jsx)(`div`,{className:`lr-am-cell lr-am-col-hdr`,children:e},t)),g.map((e,t)=>{let n=Tl[t%Tl.length];return(0,T.jsxs)(P.Fragment,{children:[(0,T.jsx)(`div`,{className:`lr-am-cell lr-am-row-hdr`,style:{background:`color-mix(in srgb, ${n} 25%, transparent)`},children:e}),h.map((e,r)=>(0,T.jsx)(`div`,{className:`lr-am-cell lr-am-body-cell`,style:{background:`color-mix(in srgb, ${n} 12%, transparent)`},children:l?_[t][r]:null},r))]},t)})]}),u&&(0,T.jsx)(`div`,{className:`lr-am-sum`,"aria-label":`Product sum: ${v}`,children:v})]}),d&&(0,T.jsx)(`p`,{className:`lr-am-caption`,children:d}),f&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:c(f)})]})}function kl(e){let t=[],n=0;for(;n<e.length;){let r=e[n];if(r===` `||r===` `){n++;continue}if(r>=`0`&&r<=`9`||r===`.`){let r=``;for(;n<e.length&&(e[n]>=`0`&&e[n]<=`9`||e[n]===`.`);)r+=e[n++];t.push({k:`num`,v:parseFloat(r)})}else if(r>=`a`&&r<=`z`||r>=`A`&&r<=`Z`||r===`_`){let r=``;for(;n<e.length&&(e[n]>=`a`&&e[n]<=`z`||e[n]>=`A`&&e[n]<=`Z`||e[n]>=`0`&&e[n]<=`9`||e[n]===`_`);)r+=e[n++];t.push({k:`id`,v:r})}else r===`+`||r===`-`||r===`*`||r===`/`||r===`^`?(t.push({k:`op`,v:r}),n++):r===`(`?(t.push({k:`lp`}),n++):(r===`)`&&t.push({k:`rp`}),n++)}return t}var Al=class{toks;pos=0;vars;constructor(e,t){this.toks=e,this.vars=t}peek(){return this.toks[this.pos]}eat(){return this.toks[this.pos++]}parse(){return this.expr()}expr(){let e=this.term();for(;;){let t=this.peek();if(t?.k!==`op`||t.v!==`+`&&t.v!==`-`)break;this.eat();let n=this.term();e=t.v===`+`?e+n:e-n}return e}term(){let e=this.factor();for(;;){let t=this.peek();if(t?.k!==`op`||t.v!==`*`&&t.v!==`/`)break;this.eat();let n=this.factor();e=t.v===`*`?e*n:e/n}return e}factor(){let e=this.unary(),t=this.peek();return t?.k===`op`&&t.v===`^`?(this.eat(),e**+this.factor()):e}unary(){let e=this.peek();return e?.k===`op`&&e.v===`-`?(this.eat(),-this.unary()):this.primary()}primary(){let e=this.peek();if(!e)return 0;if(e.k===`num`)return this.eat(),e.v;if(e.k===`lp`){this.eat();let e=this.expr();return this.peek()?.k===`rp`&&this.eat(),e}if(e.k===`id`){this.eat();let t=e.v.toLowerCase();if(this.peek()?.k===`lp`){this.eat();let e=this.expr();switch(this.peek()?.k===`rp`&&this.eat(),t){case`sin`:return Math.sin(e);case`cos`:return Math.cos(e);case`tan`:return Math.tan(e);case`sqrt`:return Math.sqrt(e);case`abs`:return Math.abs(e);case`exp`:return Math.exp(e);case`log`:case`ln`:return Math.log(e);case`asin`:return Math.asin(e);case`acos`:return Math.acos(e);case`atan`:return Math.atan(e);default:return 0}}return t===`pi`?Math.PI:t===`e`?Math.E:this.vars[e.v]??this.vars[t]??0}return 0}};function jl(e,t){return new Al(kl(e),t).parse()}function Ml(e){return e.trim()?t=>jl(e,{t}):null}function Nl(e){return e.trim()?(t,n)=>jl(e,{x:t,y:n}):null}var Pl=300,Fl=280,Il=150,Ll=140,Rl=120,zl=[`var(--presence)`,`var(--insight)`,`var(--warning)`,`var(--danger)`],Bl=[.25,.5,.75,1],Vl=Array.from({length:12},(e,t)=>t*30*Math.PI/180),Hl=[{x:283,y:144,text:`0`,anchor:`start`},{x:Il,y:Ll-Rl-7,text:`π/2`,anchor:`middle`},{x:Il-Rl-13,y:144,text:`π`,anchor:`end`},{x:Il,y:274,text:`3π/2`,anchor:`middle`}];function Ul(e,t,n){let r=e.map(e=>Ml(e.fn)),i=0;for(let e of r)if(e)for(let r=0;r<=300;r++){let a=t+r/300*(n-t);try{let t=e(a);Number.isFinite(t)&&Math.abs(t)>i&&(i=Math.abs(t))}catch{}}return i===0&&(i=1),e.map((e,a)=>{let o=r[a];if(!o)return{points:``,color:zl[a%zl.length]};let s=[];for(let e=0;e<=300;e++){let r=t+e/300*(n-t);try{let e=o(r);if(Number.isFinite(e)){let t=Il+e/i*Rl*Math.cos(r),n=Ll-e/i*Rl*Math.sin(r);s.push(`${t.toFixed(2)},${n.toFixed(2)}`)}}catch{}}return{points:s.join(` `),color:e.color??zl[a%zl.length],label:e.label}})}function Wl(e,t,n){let r=e.map(e=>{let r=e.fn.indexOf(`,`);if(r===-1)return null;let i=Ml(e.fn.slice(0,r).trim()),a=Ml(e.fn.slice(r+1).trim());if(!i||!a)return null;let o=[];for(let e=0;e<=300;e++){let r=t+e/300*(n-t);try{let e=i(r),t=a(r);Number.isFinite(e)&&Number.isFinite(t)&&o.push({x:e,y:t})}catch{}}return o}),i=0;for(let e of r)if(e)for(let t of e){let e=Math.max(Math.abs(t.x),Math.abs(t.y));e>i&&(i=e)}i===0&&(i=1);let a=Rl/i;return e.map((e,t)=>{let n=r[t];return!n||n.length===0?{points:``,color:zl[t%zl.length]}:{points:n.map(e=>{let t=Il+e.x*a,n=Ll-e.y*a;return`${t.toFixed(2)},${n.toFixed(2)}`}).join(` `),color:e.color??zl[t%zl.length],label:e.label}})}function Gl({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,type:r=`polar`,fn:i,curves:a,domain:s,footer:l,delay:u}){let d=o[t]||o.chart,f=(0,P.useMemo)(()=>{let e=a??(i?[{fn:i}]:[]);if(e.length===0)return[];let[t,n]=s??[0,2*Math.PI];return r===`parametric`?Wl(e,t,n):Ul(e,t,n)},[r,i,a,s]);return(0,T.jsxs)(`div`,{className:`card reveal c1`,style:{"--delay":(u||0)+`ms`},children:[e&&(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,T.jsxs)(`svg`,{viewBox:`0 0 ${Pl} ${Fl}`,width:`100%`,style:{display:`block`,overflow:`visible`},role:`img`,"aria-label":e??(r===`polar`?`Polar plot`:`Parametric curve`),children:[Bl.map(e=>(0,T.jsx)(`circle`,{cx:Il,cy:Ll,r:Rl*e,fill:`none`,stroke:`var(--grid-line)`,strokeWidth:.5},`ring-${e}`)),Vl.map((e,t)=>(0,T.jsx)(`line`,{x1:Il,y1:Ll,x2:Il+Rl*Math.cos(e),y2:Ll-Rl*Math.sin(e),stroke:`var(--grid-line)`,strokeWidth:.5},`spoke-${t}`)),Hl.map(({x:e,y:t,text:n,anchor:r})=>(0,T.jsx)(`text`,{x:e,y:t,fontSize:9,fill:`var(--text-muted)`,textAnchor:r,children:n},`albl-${n}`)),(0,T.jsx)(`text`,{x:264,y:Ll-5,fontSize:9,fill:`var(--text-muted)`,textAnchor:`end`,children:`1`}),f.map((e,t)=>e.points?(0,T.jsx)(`polyline`,{points:e.points,fill:`none`,stroke:e.color,strokeWidth:2,strokeLinejoin:`round`,strokeLinecap:`round`},`crv-${t}`):null)]}),f.some(e=>e.label)&&(0,T.jsx)(`div`,{className:`vfl-legend`,children:f.filter(e=>e.label).map((e,t)=>(0,T.jsxs)(`span`,{className:`vfl-leg`,children:[(0,T.jsx)(`i`,{style:{background:e.color}}),e.label]},`leg-${t}`))}),l&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:c(l)})]})}var Kl=320,ql=220,Z={l:42,r:16,t:14,b:36},Jl=200,Yl=.18,Xl={sin:[-4,4],cos:[-4,4],exp:[-3,3],ln:[.05,4],arctan:[-6,6]},Zl={sin:`sin x`,cos:`cos x`,exp:`eˣ`,ln:`ln x`,arctan:`arctan x`},Ql=`⁰¹²³⁴⁵⁶⁷⁸⁹`;function $l(e){return String(e).split(``).map(e=>Ql[+e]??e).join(``)}function eu(e){let t=1;for(let n=2;n<=e;n++)t*=n;return t}function tu(e,t){switch(e){case`sin`:return Math.sin(t);case`cos`:return Math.cos(t);case`exp`:return Math.exp(t);case`ln`:return t>0?Math.log(t):NaN;case`arctan`:return Math.atan(t);default:return NaN}}function nu(e,t,n,r){let i=e===`ln`?r-1:r-t;switch(e){case`sin`:{let e=0,t=i;for(let r=0;r<n;r++)r>0&&(t*=-i*i/(2*r*(2*r+1))),e+=t;return e}case`cos`:{let e=0,t=1;for(let r=0;r<n;r++)r>0&&(t*=-i*i/((2*r-1)*(2*r))),e+=t;return e}case`exp`:{let e=0,t=1;for(let r=0;r<n;r++)r>0&&(t*=i/r),e+=t;return e}case`ln`:{if(n===0)return 0;let e=r-1,t=e,i=e;for(let r=2;r<=n;r++)i*=-(r-1)*e/r,t+=i;return t}case`arctan`:{let e=0,t=i;for(let r=0;r<n;r++)r>0&&(t=t*(-i*i)*(2*r-1)/(2*r+1)),e+=t;return e}default:return 0}}function ru(e,t,n){let r=t===0?`x`:t===1?`(x−1)`:`(x−${t})`,i=Math.min(n,3);if(i===0)return`${Zl[e]} ≈ 0`;let a=``;switch(e){case`sin`:for(let e=0;e<i;e++){let t=2*e+1,n=eu(t),i=t===1?r:`${r}${$l(t)}`,o=n===1?i:`${i}/${n}`;a+=e===0?o:` ${e%2==1?`−`:`+`} ${o}`}break;case`cos`:for(let e=0;e<i;e++){let t=2*e,n=eu(t),i=t===0?`1`:`${r}${$l(t)}`,o=n<=1?i:`${i}/${n}`;a+=e===0?o:` ${e%2==1?`−`:`+`} ${o}`}break;case`exp`:for(let e=0;e<i;e++){let t=eu(e),n=e===0?`1`:e===1?r:`${r}${$l(e)}`,i=t<=1?n:`${n}/${t}`;a+=e===0?i:` + ${i}`}break;case`ln`:for(let e=1;e<=i;e++){let t=e===1?r:`${r}${$l(e)}`,n=e===1?t:`${t}/${e}`;a+=e===1?n:` ${e%2==0?`−`:`+`} ${n}`}break;case`arctan`:for(let e=0;e<i;e++){let t=2*e+1,n=t===1?r:`${r}${$l(t)}`,i=t===1?n:`${n}/${t}`;a+=e===0?i:` ${e%2==1?`−`:`+`} ${i}`}break}if(n>i){let t=e===`exp`?`+`:e===`ln`?(i+1)%2==0?`−`:`+`:i%2==0?`+`:`−`;a+=` ${t} …`}return`${Zl[e]} ≈ ${a}`}function iu({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,fn:r,center:i=0,maxTerms:a=7,showTerms:s,xDomain:l,showError:u=!1,footer:d,delay:f}){let m=o[t]||o.chart,h=(0,P.useId)(),[g,_]=(0,P.useState)(()=>s??Math.min(3,a??7)),v=s??g,y=r===`ln`?1:i,[b,x]=l??Xl[r],{truePath:S,approxPath:C,errorPoly:w,yTicks:E,xTicks:D,sx:O,sy:k,yZero:A,yDomMin:j,yDomMax:M,annotX:N,annotY:ee}=(0,P.useMemo)(()=>{let e=[b,x],t=Array.from({length:Jl},(t,n)=>e[0]+(e[1]-e[0])*n/(Jl-1)),n=t.map(e=>tu(r,e)),i=t.map(e=>nu(r,y,v,e)),a=n.filter(e=>Number.isFinite(e)),o=a.length?Math.min(...a):-1,s=a.length?Math.max(...a):1,c=Math.max((s-o)*Yl,.5),l=o-c,d=s+c,f=p(e,[Z.l,Kl-Z.r]),m=p([l,d],[ql-Z.b,Z.t]);function h(e){let n=``,r=!1;for(let i=0;i<Jl;i++){if(!Number.isFinite(e[i])){r=!1;continue}let a=f(t[i]),o=m(e[i]);if(!Number.isFinite(o)){r=!1;continue}n+=`${r?`L`:`M`} ${a.toFixed(1)},${o.toFixed(1)} `,r=!0}return n.trim()}let g=``;if(u){let e=[],r=[];for(let a=0;a<Jl;a++){if(!Number.isFinite(n[a])||!Number.isFinite(i[a]))continue;let o=f(t[a]),s=m(n[a]),c=m(i[a]);!Number.isFinite(s)||!Number.isFinite(c)||(e.push(`${o.toFixed(1)},${s.toFixed(1)}`),r.unshift(`${o.toFixed(1)},${c.toFixed(1)}`))}e.length>1&&(g=`M ${e.join(` L `)} L ${r.join(` L `)} Z`)}let _=m.ticks(4),S=f.ticks(5),C=m(0),w=Kl-Z.r-20,T=Z.t+14;for(let e=Jl-1;e>=0;e--){if(!Number.isFinite(i[e]))continue;let n=m(i[e]);if(Number.isFinite(n)){w=Math.min(f(t[e])-3,Kl-Z.r-20),T=Math.max(Z.t+10,Math.min(ql-Z.b-4,n-8));break}}return{truePath:h(n),approxPath:h(i),errorPoly:g,yTicks:_,xTicks:S,sx:f,sy:m,yZero:C,yDomMin:l,yDomMax:d,annotX:w,annotY:T}},[r,y,v,b,x,u]),te=ru(r,y,v);return(0,T.jsxs)(`div`,{className:`card reveal c1`,style:{"--delay":(f||0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(m,{className:`ic`,style:{color:n}}),` `,e]}),(0,T.jsx)(`div`,{style:{margin:`6px 0 2px`,display:`flex`,justifyContent:`center`},children:(0,T.jsxs)(`svg`,{viewBox:`0 0 ${Kl} ${ql}`,width:`100%`,style:{display:`block`,overflow:`visible`},role:`img`,"aria-label":e??r,children:[(0,T.jsx)(`defs`,{children:(0,T.jsx)(`clipPath`,{id:h,children:(0,T.jsx)(`rect`,{x:Z.l,y:Z.t,width:Kl-Z.l-Z.r,height:ql-Z.t-Z.b})})}),(0,T.jsxs)(`g`,{stroke:`var(--grid-line)`,strokeWidth:.5,children:[E.map(e=>(0,T.jsx)(`line`,{x1:Z.l,y1:k(e),x2:Kl-Z.r,y2:k(e)},`gy${e}`)),D.map(e=>(0,T.jsx)(`line`,{x1:O(e),y1:Z.t,x2:O(e),y2:ql-Z.b},`gx${e}`))]}),(0,T.jsx)(`line`,{x1:Z.l,y1:Z.t,x2:Z.l,y2:ql-Z.b,stroke:`var(--line-strong)`,strokeWidth:1}),(0,T.jsx)(`line`,{x1:Z.l,y1:ql-Z.b,x2:Kl-Z.r,y2:ql-Z.b,stroke:`var(--line-strong)`,strokeWidth:1}),A>Z.t&&A<ql-Z.b&&(0,T.jsx)(`line`,{x1:Z.l,y1:A,x2:Kl-Z.r,y2:A,stroke:`var(--text-muted)`,strokeWidth:1,strokeDasharray:`3 2`}),w&&(0,T.jsx)(`path`,{d:w,fill:`color-mix(in oklab, var(--warning) 20%, transparent)`,stroke:`none`,clipPath:`url(#${h})`}),S&&(0,T.jsx)(`path`,{d:S,fill:`none`,stroke:`var(--text-muted)`,strokeWidth:1.5,strokeDasharray:`4 3`,clipPath:`url(#${h})`}),C&&(0,T.jsx)(`path`,{d:C,fill:`none`,stroke:`var(--presence)`,strokeWidth:2,clipPath:`url(#${h})`}),E.filter(e=>e>=j&&e<=M).map(e=>(0,T.jsx)(`text`,{x:Z.l-4,y:k(e)+3,fill:`var(--text-muted)`,fontSize:9,textAnchor:`end`,children:Math.round(e*100)/100},`ytl${e}`)),D.filter(e=>e>=b&&e<=x).map(e=>(0,T.jsx)(`text`,{x:O(e),y:ql-Z.b+12,fill:`var(--text-muted)`,fontSize:9,textAnchor:`middle`,children:Math.round(e*100)/100},`xtl${e}`)),(0,T.jsxs)(`text`,{x:N,y:ee,fill:`var(--presence)`,fontSize:10,fontWeight:600,textAnchor:`end`,children:[`n=`,v]})]})}),(0,T.jsx)(`p`,{"data-semantic-ellipsis":`true`,style:{margin:`4px 0 6px`,fontSize:`11px`,color:`var(--text-secondary)`,fontFamily:`monospace`,textAlign:`center`,overflowWrap:`anywhere`,wordBreak:`break-word`},children:te}),!s&&(0,T.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:8,padding:`0 4px`},children:[(0,T.jsx)(`input`,{type:`range`,min:1,max:a,value:g,onChange:e=>_(Number(e.target.value)),style:{flex:1,accentColor:`var(--presence)`,marginTop:`4px`},"aria-label":`Number of Taylor terms`}),(0,T.jsxs)(`span`,{style:{fontSize:`11px`,color:`var(--text-muted)`,whiteSpace:`nowrap`},children:[`n = `,g,` term`,g===1?``:`s`]})]}),d&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:c(d)})]})}var Q=320,au=268,$={l:40,r:16,t:16,b:36},ou=14,su=60,cu=.3,lu=8,uu={dx:6,dy:-5},du=[{dx:6,dy:-5},{dx:6,dy:13},{dx:-20,dy:-5},{dx:-20,dy:13},{dx:6,dy:-18},{dx:-20,dy:-18}],fu=11;function pu(e){let t=[];return e.map(e=>{let n=uu;for(let r of du){let i=e.px+r.dx,a=e.py+r.dy;if(!t.some(e=>Math.hypot(e.lx-i,e.ly-a)<fu)){n=r;break}}let r=e.px+n.dx,i=e.py+n.dy;return t.push({lx:r,ly:i}),{...e,lx:r,ly:i}})}var mu=6,hu=`ẋ=0`,gu=`ẏ=0`;function _u(e,t=mu){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function vu({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,fx:r,gy:i,xDomain:a=[-4,4],yDomain:s=[-4,4],trajectories:l,showNullclines:u=!0,xlabel:d=`x`,ylabel:f=`y`,footer:m,delay:h}){let g=o[t]||o.sparkle,_=(0,P.useId)(),v=(0,P.useId)(),y=(0,P.useId)(),b=(0,P.useMemo)(()=>{let e=Nl(r),t=Nl(i);if(!e||!t)return null;let[n,o]=a,[c,d]=s,f=p([n,o],[$.l,Q-$.r]),m=p([c,d],[au-$.b,$.t]),h=Q-$.r-$.l,g=au-$.b-$.t,_=h/15,v=g/15,y=Math.min(_,v)*.35,b=[];for(let r=0;r<ou;r++)for(let i=0;i<ou;i++){let a=$.l+_*(r+1),s=$.t+v*(i+1),l=f.domain[0]+(a-$.l)/h*(o-n),u=d-(s-$.t)/g*(d-c),p=e(l,u),m=t(l,u),y=Math.hypot(p,m);b.push({px:a,py:s,fu:p,fv:m,mag:y})}let x=b.reduce((e,t)=>Math.max(e,t.mag),0)||1,S=b.map(({px:e,py:t,fu:n,fv:r,mag:i})=>{let a=i>0?i:1,o=n/a*y,s=-(r/a)*y;return{x1:e-o,y1:t-s,x2:e+o,y2:t+s,mag:i}}),C=[],w=[];if(u){let r=(o-n)/su,i=(d-c)/su;for(let a=0;a<su;a++)for(let o=0;o<su;o++){let s=n+a*r,l=c+o*i,u=s+r,d=l+i,p=e(s,l),h=e(u,l);if(p*h<0){let e=s+p/(p-h)*r;C.push({x1:f(e)-3,y1:m(l),x2:f(e)+3,y2:m(l)})}let g=e(s,l),_=e(s,d);if(g*_<0){let e=l+g/(g-_)*i;C.push({x1:f(s),y1:m(e)-3,x2:f(s),y2:m(e)+3})}let v=t(s,l),y=t(u,l);if(v*y<0){let e=s+v/(v-y)*r;w.push({x1:f(e)-3,y1:m(l),x2:f(e)+3,y2:m(l)})}let b=t(s,l),x=t(s,d);if(b*x<0){let e=l+b/(b-x)*i;w.push({x1:f(s),y1:m(e)-3,x2:f(s),y2:m(e)+3})}}}let T=[];{let r=(o-n)/su,i=(d-c)/su;for(let a=0;a<=su;a++)for(let o=0;o<=su;o++){let s=n+a*r,l=c+o*i,u=e(s,l),d=t(s,l);Math.abs(u)<cu&&Math.abs(d)<cu&&T.push({x:s,y:l})}}let E=[];for(let e of T){let t=f(e.x),n=m(e.y),r=!1;for(let i of E){let a=f(i.x/i.n),o=m(i.y/i.n);if(Math.hypot(t-a,n-o)<lu){i.x+=e.x,i.y+=e.y,i.n++,r=!0;break}}r||E.push({x:e.x,y:e.y,n:1})}let D=pu(E.map(({x:n,y:r,n:i})=>{let a=n/i,o=r/i,s=.001,c=(e(a+s,o)-e(a-s,o))/(2*s),l=(e(a,o+s)-e(a,o-s))/(2*s),u=(t(a+s,o)-t(a-s,o))/(2*s),d=(t(a,o+s)-t(a,o-s))/(2*s),p=c+d,h=c*d-l*u,g=p*p-4*h,_;return _=h<0?`saddle`:Math.abs(p)<1e-4&&h>0?`center`:p<0&&g>=0?`stable-node`:p<0&&g<0?`stable-spiral`:p>0&&g>=0?`unstable-node`:`unstable-spiral`,{px:f(a),py:m(o),type:_}})),O=(l??[]).map(({x0:r,y0:i})=>{let a=.05,s=[[f(r),m(i)]],l=r,u=i;for(let r=0;r<400&&!(l<n||l>o||u<c||u>d);r++){let n=e(l,u),r=t(l,u);if(Math.abs(n)<.01&&Math.abs(r)<.01)break;let i=e(l+a*n/2,u+a*r/2),o=t(l+a*n/2,u+a*r/2),c=e(l+a*i/2,u+a*o/2),d=t(l+a*i/2,u+a*o/2),p=e(l+a*c,u+a*d),h=t(l+a*c,u+a*d);l+=a/6*(n+2*i+2*c+p),u+=a/6*(r+2*o+2*d+h),s.push([f(l),m(u)])}let p=Math.floor(s.length/2),h=s[Math.max(0,p-1)],g=s[Math.min(s.length-1,p+1)],_=g[0]-h[0],v=g[1]-h[1],y=Math.hypot(_,v)||1;return{points:s.map(([e,t])=>`${e.toFixed(1)},${t.toFixed(1)}`).join(` `),mx:s[p][0],my:s[p][1],mdx:_/y,mdy:v/y}}),k=Math.max($.t,Math.min(au-$.b,m(0)));return{arrows:S,xNullSegs:C,yNullSegs:w,equilibria:D,trajPaths:O,sx:f,sy:m,axisX:Math.max($.l,Math.min(Q-$.r,f(0))),axisY:k,xTicks:f.ticks(4),yTicks:m.ticks(4),maxMag:x}},[r,i,a,s,l,u]);if(!b)return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(h||0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(g,{className:`ic`,style:{color:n}}),` `,e]}),(0,T.jsx)(`div`,{style:{padding:`16px`,color:`var(--text-muted)`,fontSize:13},children:`Could not parse expressions — check fx and gy.`})]});let{arrows:x,xNullSegs:S,yNullSegs:C,equilibria:w,trajPaths:E,sx:D,sy:O,axisX:k,axisY:A,xTicks:j,yTicks:M,maxMag:N}=b;function ee(e){return`color-mix(in oklab, var(--danger) ${Math.round(e/(N||1)*100)}%, var(--insight))`}function te(e){return e===`stable-node`||e===`stable-spiral`||e===`center`?`var(--insight)`:e===`saddle`?`var(--warning)`:`var(--danger)`}return(0,T.jsxs)(`div`,{className:`card reveal c1`,style:{"--delay":(h||0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(g,{className:`ic`,style:{color:n}}),` `,e]}),(0,T.jsx)(`div`,{style:{position:`relative`,lineHeight:0},children:(0,T.jsxs)(`svg`,{viewBox:`0 0 ${Q} ${au}`,width:`100%`,style:{display:`block`,overflow:`visible`},role:`img`,"aria-label":e||`Phase portrait`,children:[(0,T.jsxs)(`defs`,{children:[(0,T.jsx)(`clipPath`,{id:_,children:(0,T.jsx)(`rect`,{x:$.l,y:$.t,width:Q-$.r-$.l,height:au-$.b-$.t})}),(0,T.jsx)(`marker`,{id:v,markerWidth:`5`,markerHeight:`5`,refX:`4`,refY:`2.5`,orient:`auto`,markerUnits:`userSpaceOnUse`,children:(0,T.jsx)(`path`,{d:`M0,0.5 L4.5,2.5 L0,4.5`,fill:`none`,stroke:`context-stroke`,strokeWidth:`1`,strokeLinejoin:`round`})}),(0,T.jsx)(`marker`,{id:y,markerWidth:`7`,markerHeight:`7`,refX:`3.5`,refY:`3.5`,orient:`auto`,markerUnits:`userSpaceOnUse`,children:(0,T.jsx)(`path`,{d:`M0,1 L6,3.5 L0,6`,fill:`none`,stroke:`var(--presence)`,strokeWidth:`1.4`,strokeLinejoin:`round`})})]}),(0,T.jsxs)(`g`,{stroke:`var(--grid-line)`,strokeWidth:`0.5`,children:[j.map(e=>(0,T.jsx)(`line`,{x1:D(e),y1:$.t,x2:D(e),y2:au-$.b},`gx${e}`)),M.map(e=>(0,T.jsx)(`line`,{x1:$.l,y1:O(e),x2:Q-$.r,y2:O(e)},`gy${e}`))]}),(0,T.jsx)(`line`,{x1:$.l,y1:A,x2:Q-$.r,y2:A,stroke:`var(--surface-border)`,strokeWidth:`1`}),(0,T.jsx)(`line`,{x1:k,y1:$.t,x2:k,y2:au-$.b,stroke:`var(--surface-border)`,strokeWidth:`1`}),j.filter(e=>e!==0).map(e=>(0,T.jsx)(`text`,{x:D(e),y:au-$.b+12,textAnchor:`middle`,fill:`var(--text-muted)`,fontSize:`9`,children:e},`xt${e}`)),M.filter(e=>e!==0).map(e=>(0,T.jsx)(`text`,{x:$.l-5,y:O(e)+3,textAnchor:`end`,fill:`var(--text-muted)`,fontSize:`9`,children:e},`yt${e}`)),(0,T.jsx)(`text`,{x:($.l+Q-$.r)/2,y:au-6,textAnchor:`middle`,fill:`var(--text-muted)`,fontSize:`10`,children:d}),(0,T.jsx)(`text`,{x:0,y:0,transform:`translate(12, ${($.t+au-$.b)/2}) rotate(-90)`,textAnchor:`middle`,fill:`var(--text-muted)`,fontSize:`10`,children:f}),u&&(0,T.jsxs)(`g`,{clipPath:`url(#${_})`,children:[S.map((e,t)=>(0,T.jsx)(`line`,{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,stroke:`var(--danger)`,strokeWidth:`1.5`,strokeDasharray:`3 2`,strokeLinecap:`round`},`xn${t}`)),C.map((e,t)=>(0,T.jsx)(`line`,{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,stroke:`var(--insight)`,strokeWidth:`1.5`,strokeDasharray:`3 2`,strokeLinecap:`round`},`yn${t}`))]}),(0,T.jsx)(`g`,{clipPath:`url(#${_})`,children:x.map((e,t)=>(0,T.jsx)(`line`,{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,stroke:ee(e.mag),strokeWidth:`1.2`,strokeLinecap:`round`,markerEnd:`url(#${v})`},`a${t}`))}),(0,T.jsx)(`g`,{clipPath:`url(#${_})`,children:E.map((e,t)=>(0,T.jsxs)(`g`,{children:[(0,T.jsx)(`polyline`,{points:e.points,fill:`none`,stroke:`var(--presence)`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`}),(0,T.jsx)(`line`,{x1:e.mx-e.mdx*.1,y1:e.my-e.mdy*.1,x2:e.mx+e.mdx*.1,y2:e.my+e.mdy*.1,stroke:`var(--presence)`,strokeWidth:`1.5`,markerEnd:`url(#${y})`})]},`traj${t}`))}),w.map((e,t)=>{let n=te(e.type),r=e.type===`saddle`,i=e.type===`stable-node`||e.type===`stable-spiral`||e.type===`center`;return(0,T.jsxs)(`g`,{children:[r?(0,T.jsxs)(`g`,{stroke:n,strokeWidth:`1.8`,strokeLinecap:`round`,children:[(0,T.jsx)(`line`,{x1:e.px-4,y1:e.py-4,x2:e.px+4,y2:e.py+4}),(0,T.jsx)(`line`,{x1:e.px+4,y1:e.py-4,x2:e.px-4,y2:e.py+4})]}):i?(0,T.jsx)(`circle`,{cx:e.px,cy:e.py,r:4,fill:n,stroke:`var(--surface-elevated)`,strokeWidth:`1`}):(0,T.jsx)(`circle`,{cx:e.px,cy:e.py,r:4,fill:`var(--surface-elevated)`,stroke:n,strokeWidth:`1.5`}),(0,T.jsx)(`text`,{x:e.lx,y:e.ly,fontSize:`9`,fill:`var(--text-muted)`,children:e.type===`stable-node`?`SN`:e.type===`unstable-node`?`UN`:e.type===`stable-spiral`?`SS`:e.type===`unstable-spiral`?`US`:e.type===`center`?`C`:`Sa`})]},`eq${t}`)}),u&&(0,T.jsxs)(`g`,{children:[(0,T.jsx)(`line`,{x1:Q-$.r-62,y1:$.t+7,x2:Q-$.r-50,y2:$.t+7,stroke:`var(--danger)`,strokeWidth:`1.5`,strokeDasharray:`3 2`}),(0,T.jsxs)(`text`,{x:Q-$.r-47,y:$.t+11,fontSize:`7`,fill:`var(--text-muted)`,children:[!1,_u(hu)]}),(0,T.jsx)(`line`,{x1:Q-$.r-62,y1:$.t+18,x2:Q-$.r-50,y2:$.t+18,stroke:`var(--insight)`,strokeWidth:`1.5`,strokeDasharray:`3 2`}),(0,T.jsxs)(`text`,{x:Q-$.r-47,y:$.t+22,fontSize:`7`,fill:`var(--text-muted)`,children:[!1,_u(gu)]})]})]})}),m&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:c(m)})]})}var yu=typeof window<`u`&&`speechSynthesis`in window&&typeof window.SpeechSynthesisUtterance==`function`,bu={new:`New`,practicing:`Practicing`,mastered:`Mastered`},xu=[`new`,`practicing`,`mastered`];function Su({title:e,icon:t=`captions`,iconColor:n=`var(--presence)`,listName:r,words:i,footer:a,delay:s}){let l=o[t]??o.captions,u=(i??[]).filter(e=>!!e?.word),[d,f]=(0,P.useState)(null);(0,P.useEffect)(()=>()=>{yu&&window.speechSynthesis.cancel()},[]);let p=(0,P.useCallback)((e,t)=>{if(!yu)return;window.speechSynthesis.cancel();let n=new window.SpeechSynthesisUtterance(e);n.rate=.85;let r=()=>f(e=>e===t?null:e);n.onend=r,n.onerror=r,window.speechSynthesis.speak(n),f(t)},[]),m={new:0,practicing:0,mastered:0};for(let e of u)m[e.mastery??`new`]++;return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(s??0)+`ms`},children:[e&&(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,T.jsxs)(`p`,{className:`lr-swl-caption`,children:[r?`${r} sight words`:`Sight words`,` · `,u.length,` `,u.length===1?`word`:`words`]}),u.length===0?(0,T.jsx)(`p`,{className:`lr-swl-empty`,children:`No words yet.`}):(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`div`,{className:`lr-swl-words`,role:`group`,"aria-label":`Sight words`,children:u.map((e,t)=>{let n=e.mastery??`new`,r=n===`mastered`;return(0,T.jsxs)(`button`,{type:`button`,className:`lr-swl-chip m-stagger-item m-fade-rise`,"data-mastery":n,"data-playing":d===t||void 0,disabled:!yu,style:{"--i":t},onClick:()=>p(e.word,t),title:yu?`Hear "${e.word}"`:e.word,"aria-label":`${e.word}, ${bu[n]}${yu?`, tap to hear`:``}`,children:[r&&(0,T.jsx)(o.check,{className:`ic lr-swl-check`}),(0,T.jsx)(`span`,{className:`lr-swl-word`,children:e.word})]},t)})}),(0,T.jsx)(`div`,{className:`lr-swl-legend`,children:xu.map(e=>(0,T.jsxs)(`span`,{className:`lr-swl-legend-item`,"data-mastery":e,children:[(0,T.jsx)(`i`,{className:`lr-swl-legend-dot`,"aria-hidden":`true`}),bu[e],` · `,m[e]]},e))})]}),a&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:c(a)})]})}var Cu=[{letter:`A`,keyword:`Apple`},{letter:`B`,keyword:`Ball`},{letter:`C`,keyword:`Cat`},{letter:`D`,keyword:`Dog`},{letter:`E`,keyword:`Elephant`},{letter:`F`,keyword:`Fish`},{letter:`G`,keyword:`Goat`},{letter:`H`,keyword:`Hat`},{letter:`I`,keyword:`Igloo`},{letter:`J`,keyword:`Jam`},{letter:`K`,keyword:`Kite`},{letter:`L`,keyword:`Lion`},{letter:`M`,keyword:`Moon`},{letter:`N`,keyword:`Nest`},{letter:`O`,keyword:`Owl`},{letter:`P`,keyword:`Pig`},{letter:`Q`,keyword:`Queen`},{letter:`R`,keyword:`Rabbit`},{letter:`S`,keyword:`Sun`},{letter:`T`,keyword:`Tiger`},{letter:`U`,keyword:`Umbrella`},{letter:`V`,keyword:`Van`},{letter:`W`,keyword:`Whale`},{letter:`X`,keyword:`Xylophone`},{letter:`Y`,keyword:`Yarn`},{letter:`Z`,keyword:`Zebra`}],wu=Object.fromEntries(Cu.map(e=>[e.letter,e.keyword]));function Tu(e){let t=[];for(let n of e){let e=(n.letter??``).trim().slice(0,1);if(!e)continue;let r=e.toUpperCase();t.push({upper:r,lower:e.toLowerCase(),keyword:n.keyword?.trim()||wu[r],icon:n.icon})}return t}function Eu({title:e,icon:t=`edit`,iconColor:n=`var(--presence)`,letters:r,footer:i,delay:a}){let s=o[t]??o.edit,l=Tu(r??[]),u=l.length>0?l:Tu(Cu);return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(a??0)+`ms`},children:[e&&(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(s,{className:`ic`,style:{color:n}}),` `,e]}),(0,T.jsx)(`ul`,{className:`lr-abc-grid`,children:u.map((e,t)=>{let n=e.icon?o[e.icon]:void 0;return(0,T.jsxs)(`li`,{className:`lr-abc-cell m-stagger-item m-fade-rise`,style:{"--i":t},"aria-label":e.keyword?`${e.upper} is for ${e.keyword}`:e.upper,children:[(0,T.jsxs)(`div`,{className:`lr-abc-glyph`,"aria-hidden":`true`,children:[(0,T.jsx)(`span`,{className:`lr-abc-upper`,children:e.upper}),(0,T.jsx)(`span`,{className:`lr-abc-lower`,children:e.lower})]}),(e.keyword||n)&&(0,T.jsxs)(`div`,{className:`lr-abc-keyword`,"aria-hidden":`true`,children:[n&&(0,T.jsx)(n,{className:`ic lr-abc-icon`}),e.keyword&&(0,T.jsx)(`span`,{children:e.keyword})]})]},`${e.upper}-${t}`)})}),i&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:c(i)})]})}function Du(e,t){let n=String(e),r=t-n.length;return Array.from({length:t},(e,t)=>t<r?null:Number(n[t-r]))}function Ou(e){let t=e.reduce((e,t)=>e+t,0),n=Math.max(...e.map(e=>String(e).length),String(t).length),r=e.map(e=>Du(e,n)),i=Array(n).fill(null),a=Array(n).fill(null),o=0;for(let e=n-1;e>=0;e--){let t=o+r.reduce((t,n)=>t+(n[e]??0),0);i[e]=t%10,o=Math.floor(t/10),e>0&&o>0&&(a[e-1]=o)}return{kind:`add`,cols:n,rows:r,result:i,carryInto:a,sum:t}}function ku(e){let t=e[0]-e.slice(1).reduce((e,t)=>e+t,0),n=Math.max(...e.map(e=>String(e).length)),r=e.map(e=>Du(e,n)),[i,...a]=r,o=Array(n).fill(null),s=Array(n).fill(!1);if(t<0)return{kind:`sub`,cols:n,rows:r,result:o,borrowInto:s,invalidOrder:!0,difference:t};let c=0;for(let e=n-1;e>=0;e--){c>0&&(s[e]=!0);let t=a.reduce((t,n)=>t+(n[e]??0),0),n=(i[e]??0)-c-t;n<0?(n+=10,c=1):c=0,o[e]=n}return{kind:`sub`,cols:n,rows:r,result:o,borrowInto:s,invalidOrder:!1,difference:t}}function Au(e,t){let n=String(e).split(``).map(Number),r=[],i=0,a=!1;for(let e=0;e<n.length;e++){let o=i*10+n[e],s=Math.floor(o/t),c=s*t,l=o-c,u=e===n.length-1;(a||s>0||u)&&r.push({col:e,partial:o,qDigit:s,product:c,remainder:l}),s>0&&(a=!0),i=l}let o=Math.floor(e/t);return{dividend:e,divisor:t,digitCount:n.length,steps:r,finalCol:n.length-1,finalRemainder:i,quotient:o}}function ju(e,t){return{gridColumn:`${e-t.length+2} / ${e+2}`}}function Mu(e){return{gridTemplateColumns:`repeat(${Math.max(1,e)}, minmax(1.4em, 1fr))`}}function Nu({title:e,icon:t=`table`,iconColor:n=`var(--presence)`,op:r,operands:i,showCarries:a=!0,caption:s,footer:l,delay:u}){let d=o[t]||o.table,f=(0,P.useMemo)(()=>i.map(e=>Math.max(0,Math.floor(e))).filter(Number.isFinite),[i]),p=r===`add`&&f.length>0?Ou(f):null,m=r===`sub`&&f.length>1?ku(f):null,h=r===`longdiv`&&f.length>1&&f[1]>0?Au(f[0],f[1]):null,g=p||m||h;return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u||0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),!g&&(0,T.jsx)(`div`,{className:`lr-ca-empty`,children:r===`longdiv`?`Need a dividend and a non-zero divisor to divide.`:r===`sub`?`Need at least two whole numbers to subtract.`:`Need at least one whole number to add.`}),p&&(0,T.jsxs)(`div`,{className:`lr-ca-figure lr-ca-addsub`,children:[a&&(0,T.jsx)(`div`,{className:`lr-ca-row lr-ca-marks`,style:Mu(p.cols),children:p.carryInto.map((e,t)=>(0,T.jsx)(`span`,{className:`lr-ca-cell lr-ca-mark lr-ca-mark--carry`,children:e===null?``:e},t))}),p.rows.map((e,t)=>(0,T.jsx)(`div`,{className:`lr-ca-row lr-ca-operand`,style:Mu(p.cols),children:e.map((e,t)=>(0,T.jsx)(`span`,{className:`lr-ca-cell`,children:e===null?``:e},t))},t)),(0,T.jsx)(`div`,{className:`lr-ca-rule`}),(0,T.jsx)(`div`,{className:`lr-ca-row lr-ca-result`,style:Mu(p.cols),children:p.result.map((e,t)=>(0,T.jsx)(`span`,{className:`lr-ca-cell`,children:e},t))})]}),m&&!m.invalidOrder&&(0,T.jsxs)(`div`,{className:`lr-ca-figure lr-ca-addsub`,children:[a&&(0,T.jsx)(`div`,{className:`lr-ca-row lr-ca-marks`,style:Mu(m.cols),children:m.borrowInto.map((e,t)=>(0,T.jsx)(`span`,{className:`lr-ca-cell lr-ca-mark lr-ca-mark--borrow`,children:e?1:``},t))}),m.rows.map((e,t)=>(0,T.jsx)(`div`,{className:`lr-ca-row lr-ca-operand`,style:Mu(m.cols),children:e.map((e,t)=>(0,T.jsx)(`span`,{className:`lr-ca-cell`,children:e===null?``:e},t))},t)),(0,T.jsx)(`div`,{className:`lr-ca-rule`}),(0,T.jsx)(`div`,{className:`lr-ca-row lr-ca-result`,style:Mu(m.cols),children:m.result.map((e,t)=>(0,T.jsx)(`span`,{className:`lr-ca-cell`,children:e},t))})]}),m&&m.invalidOrder&&(0,T.jsxs)(`div`,{className:`lr-ca-figure`,children:[(0,T.jsxs)(`div`,{className:`lr-ca-invalid`,children:[f[0],` − `,f.slice(1).join(` − `),` = −`,Math.abs(m.difference)]}),(0,T.jsx)(`p`,{className:`lr-ca-cap`,children:`The first number is smaller than the rest combined, so there's no column of digits to borrow from — shown as a plain difference instead.`})]}),h&&(0,T.jsxs)(`div`,{className:`lr-ca-figure lr-ca-longdiv`,children:[(0,T.jsx)(`div`,{className:`lr-ca-row lr-ca-quotient`,style:Mu(h.digitCount),children:h.steps.map(e=>(0,T.jsx)(`span`,{className:`lr-ca-cell`,style:ju(e.col,String(e.qDigit)),children:e.qDigit},e.col))}),(0,T.jsxs)(`div`,{className:`lr-ca-ld-house`,children:[(0,T.jsx)(`span`,{className:`lr-ca-ld-divisor`,children:h.divisor}),(0,T.jsx)(`div`,{className:`lr-ca-ld-bracket`,children:(0,T.jsx)(`div`,{className:`lr-ca-row`,style:Mu(h.digitCount),children:String(h.dividend).split(``).map((e,t)=>(0,T.jsx)(`span`,{className:`lr-ca-cell`,children:e},t))})})]}),(0,T.jsxs)(`div`,{className:`lr-ca-ld-steps`,children:[h.steps.map((e,t)=>(0,T.jsxs)(`div`,{className:`lr-ca-ld-step`,children:[(0,T.jsx)(`div`,{className:`lr-ca-row`,style:Mu(h.digitCount),children:(0,T.jsx)(`span`,{className:`lr-ca-cell`,style:ju(e.col,String(e.partial)),children:e.partial})}),(0,T.jsx)(`div`,{className:`lr-ca-row lr-ca-ld-subtract`,style:Mu(h.digitCount),children:(0,T.jsxs)(`span`,{className:`lr-ca-cell lr-ca-ld-product`,style:ju(e.col,String(e.product)),children:[`−`,e.product]})})]},t)),(0,T.jsx)(`div`,{className:`lr-ca-row lr-ca-ld-remainder`,style:Mu(h.digitCount),children:(0,T.jsx)(`span`,{className:`lr-ca-cell`,style:ju(h.finalCol,String(h.finalRemainder)),children:h.finalRemainder})})]}),(0,T.jsxs)(`p`,{className:`lr-ca-cap`,children:[h.quotient,` remainder `,h.finalRemainder]})]}),s&&(0,T.jsx)(`p`,{className:`lr-ca-cap`,children:s}),l&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:c(l)})]})}var Pu=340,Fu=236,Iu=34,Lu=16,Ru=16,zu=30;function Bu({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,points:r,equivalenceVolumeMl:i,pKa:a,bufferBand:s,footer:l,delay:u}){let d=o[t]||o.chart,f=(0,P.useMemo)(()=>{let e=Number.isFinite(i)?i:null,t=Array.isArray(s)&&s.length===2&&s.every(Number.isFinite)?[Math.min(...s),Math.max(...s)]:null,n=Number.isFinite(a)?a:null,o=(Array.isArray(r)?r:[]).filter(e=>e&&Number.isFinite(e.volumeMl)&&Number.isFinite(e.pH)).slice().sort((e,t)=>e.volumeMl-t.volumeMl);if(o.length===0)return null;let c=o.map(e=>e.volumeMl),l=Math.min(...c),u=Math.max(...c);e!==null&&(l=Math.min(l,e),u=Math.max(u,e)),t&&(l=Math.min(l,t[0]),u=Math.max(u,t[1])),l===u&&(--l,u+=1);let d=(u-l)*.06;l-=d,u+=d;let f=o.map(e=>e.pH),m=Math.min(0,...f,n??1/0),h=Math.max(14,...f,n??-1/0),g=p([l,u],[Iu,Pu-Lu]),_=p([m,h],[Fu-zu,Ru]);return{valid:o,sx:g,sy:_,xTicks:g.ticks(5),yTicks:_.ticks(5),path:o.map(e=>`${g(e.volumeMl).toFixed(2)},${_(e.pH).toFixed(2)}`).join(` `),veq:e,band:t,pKaVal:n}},[r,i,s,a]);if(!f)return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u||0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,T.jsx)(`div`,{className:`lr-tc-empty`,children:`No titration data to plot.`})]});let{valid:m,sx:h,sy:g,xTicks:_,yTicks:v,path:y,veq:b,band:x,pKaVal:S}=f,C=b!==null&&S!==null?b/2:null;return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u||0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,T.jsx)(`div`,{className:`lr-tc-wrap`,children:(0,T.jsxs)(`svg`,{viewBox:`0 0 ${Pu} ${Fu}`,className:`lr-tc-svg`,role:`img`,"aria-label":e,children:[x&&(0,T.jsx)(`rect`,{x:h(x[0]),y:Ru,width:Math.max(0,h(x[1])-h(x[0])),height:Fu-Ru-zu,className:`lr-tc-band`}),_.map((e,t)=>(0,T.jsxs)(`g`,{children:[(0,T.jsx)(`line`,{x1:h(e),y1:Ru,x2:h(e),y2:Fu-zu,className:`lr-tc-grid`}),(0,T.jsx)(`text`,{x:h(e),y:219,className:`lr-tc-tick`,textAnchor:`middle`,children:e})]},`gx${t}`)),v.map((e,t)=>(0,T.jsxs)(`g`,{children:[(0,T.jsx)(`line`,{x1:Iu,y1:g(e),x2:Pu-Lu,y2:g(e),className:`lr-tc-grid`}),(0,T.jsx)(`text`,{x:Iu-6,y:g(e)+3,className:`lr-tc-tick`,textAnchor:`end`,children:e})]},`gy${t}`)),(0,T.jsx)(`line`,{x1:Iu,y1:Ru,x2:Iu,y2:Fu-zu,className:`lr-tc-axis`}),(0,T.jsx)(`line`,{x1:Iu,y1:Fu-zu,x2:Pu-Lu,y2:Fu-zu,className:`lr-tc-axis`}),b!==null&&(0,T.jsxs)(`g`,{children:[(0,T.jsx)(`line`,{x1:h(b),y1:Ru,x2:h(b),y2:Fu-zu,className:`lr-tc-veq-line`}),(0,T.jsxs)(`text`,{x:h(b)+4,y:26,className:`lr-tc-veq-label`,children:[`Veq `,b,` mL`]})]}),C!==null&&S!==null&&(0,T.jsxs)(`g`,{children:[(0,T.jsx)(`line`,{x1:Iu,y1:g(S),x2:h(C),y2:g(S),className:`lr-tc-pka-line`}),(0,T.jsx)(`line`,{x1:h(C),y1:g(S),x2:h(C),y2:Fu-zu,className:`lr-tc-pka-line`}),(0,T.jsx)(`circle`,{cx:h(C),cy:g(S),r:3.4,className:`lr-tc-pka-dot`}),(0,T.jsxs)(`text`,{x:37,y:g(S)-4,className:`lr-tc-pka-label`,children:[`pKa ≈ `,S]})]}),(0,T.jsx)(`polyline`,{points:y,fill:`none`,className:`lr-tc-curve`,"data-mark":`line`}),m.map((e,t)=>(0,T.jsx)(`circle`,{cx:h(e.volumeMl),cy:g(e.pH),r:2.6,className:`lr-tc-dot`,"data-mark":t===0?`point`:void 0},t)),(0,T.jsx)(`text`,{x:Pu-Lu,y:Ru-4,className:`lr-tc-axlbl`,textAnchor:`end`,children:`Volume added (mL)`}),(0,T.jsx)(`text`,{x:36,y:Ru-4,className:`lr-tc-axlbl`,textAnchor:`start`,children:`pH`})]})}),l&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:c(l)})]})}var Vu=300,Hu=84,Uu=128,Wu=5,Gu=22,Ku=320,qu=168,Ju=30,Yu=14,Xu=10,Zu=24;function Qu(){let e=``;for(let t=0;t<=48;t++){let n=(Uu-14)*(t/48),r=Hu/2+9*Math.sin(2.4*2*Math.PI*t/48);e+=`${t===0?`M`:`L`} ${n.toFixed(1)},${r.toFixed(1)} `}return e.trim()}function $u(e,t){return[10,20,30].map(n=>`M ${e} ${t-n} A ${n} ${n} 0 0 1 ${e} ${t+n}`)}function ed({title:e,icon:t=`spark`,iconColor:n=`var(--presence)`,slits:r,intensity:i,wavelengthNm:a,slitSeparationUm:s,footer:l,delay:u}){let d=o[t]||o.spark,f=r===1?1:2,m=Number.isFinite(a)&&a>0,h=(0,P.useMemo)(()=>f===1?[Hu/2]:[Hu/2-Gu/2,53],[f]),g=(0,P.useMemo)(()=>{let e=(Array.isArray(i)?i:[]).filter(e=>e&&Number.isFinite(e.position)&&Number.isFinite(e.value)).slice().sort((e,t)=>e.position-t.position);if(e.length===0)return null;let t=e.map(e=>e.position),n=e.map(e=>e.value),r=Math.min(...t),a=Math.max(...t);r===a&&(--r,a+=1);let o=Math.min(0,...n),s=Math.max(...n,o+1),c=p([r,a],[Ju,Ku-Yu]),l=p([o,s],[qu-Zu,Xu]),u=l(Math.max(0,o)),d=e.map(e=>`${c(e.position).toFixed(2)},${l(e.value).toFixed(2)}`),f=[`${c(e[0].position).toFixed(2)},${u.toFixed(2)}`,...d,`${c(e[e.length-1].position).toFixed(2)},${u.toFixed(2)}`].join(` `);return{valid:e,sx:c,sy:l,xTicks:c.ticks(5),path:d.join(` `),areaPath:f}},[i]);return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u||0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,T.jsxs)(`div`,{className:`lr-ip-schematic`,children:[(0,T.jsxs)(`svg`,{viewBox:`0 0 ${Vu} ${Hu}`,className:`lr-ip-schem-svg`,role:`img`,"aria-hidden":`true`,children:[m&&(0,T.jsx)(`path`,{d:Qu(),className:`lr-ip-source`}),(()=>{let e=[],t=0,n=[...h].sort((e,t)=>e-t);for(let r of n)e.push({y1:t,y2:r-Wu}),t=r+Wu;return e.push({y1:t,y2:Hu}),e.filter(e=>e.y2>e.y1).map((e,t)=>(0,T.jsx)(`line`,{x1:Uu,y1:e.y1,x2:Uu,y2:e.y2,className:`lr-ip-barrier`},t))})(),h.map((e,t)=>(0,T.jsx)(`g`,{children:$u(Uu,e).map((e,t)=>(0,T.jsx)(`path`,{d:e,className:`lr-ip-wavelet`},t))},t))]}),(0,T.jsxs)(`div`,{className:`lr-ip-schem-meta`,children:[(0,T.jsx)(`span`,{className:`lr-ip-slit-label`,children:f===1?`Single slit`:`Double slit`}),m&&(0,T.jsxs)(`span`,{children:[`λ = `,a,` nm`]}),Number.isFinite(s)&&(0,T.jsxs)(`span`,{children:[`d = `,s,` μm`]})]})]}),g?(0,T.jsx)(`div`,{className:`lr-ip-wrap`,children:(0,T.jsxs)(`svg`,{viewBox:`0 0 ${Ku} ${qu}`,className:`lr-ip-svg`,role:`img`,"aria-label":e,children:[g.xTicks.map((e,t)=>(0,T.jsx)(`line`,{x1:g.sx(e),y1:Xu,x2:g.sx(e),y2:qu-Zu,className:`lr-ip-grid`},t)),(0,T.jsx)(`polygon`,{points:g.areaPath,className:`lr-ip-area`}),(0,T.jsx)(`polyline`,{points:g.path,fill:`none`,className:`lr-ip-curve`,"data-mark":`line`}),(0,T.jsx)(`line`,{x1:Ju,y1:qu-Zu,x2:Ku-Yu,y2:qu-Zu,className:`lr-ip-axis`}),g.xTicks.map((e,t)=>(0,T.jsx)(`text`,{x:g.sx(e),y:157,className:`lr-ip-tick`,textAnchor:`middle`,children:e},t)),(0,T.jsx)(`text`,{x:Ku-Yu,y:Xu-2,className:`lr-ip-axlbl`,textAnchor:`end`,children:`Screen position`}),(0,T.jsx)(`text`,{x:32,y:Xu-2,className:`lr-ip-axlbl`,textAnchor:`start`,children:`Intensity`})]})}):(0,T.jsx)(`div`,{className:`lr-ip-empty`,children:`No fringe-intensity samples to plot.`}),l&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:c(l)})]})}var td={s:1,p:3,d:5,f:7};function nd(e){let t=Math.floor(Number(e.boxes));return Number.isFinite(t)&&t>0?t:td[String(e.subshell??``).trim().slice(-1).toLowerCase()]??1}function rd(e,t){let n=Math.floor(Number((Array.isArray(e)?e:[])[t]));return n===1?1:n===2?2:0}function id({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,element:r,orbitals:i,configString:a,footer:s,delay:l}){let u=o[t]||o.sparkle,d=Array.isArray(i)?i:[];return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(l||0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(u,{className:`ic`,style:{color:n}}),` `,e,r&&(0,T.jsx)(`span`,{className:`lr-od-element`,children:r})]}),d.length===0?(0,T.jsx)(`div`,{className:`lr-od-empty`,children:`No orbitals to fill.`}):(0,T.jsx)(`div`,{className:`lr-od-rows`,children:d.map((e,t)=>{let n=nd(e);return(0,T.jsxs)(`div`,{className:`lr-od-row`,children:[(0,T.jsx)(`span`,{className:`lr-od-subshell`,children:e.subshell||`—`}),(0,T.jsx)(`span`,{className:`lr-od-boxes`,children:Array.from({length:n},(t,n)=>{let r=rd(e.electrons,n);return(0,T.jsxs)(`span`,{className:`lr-od-box`,"data-occupancy":r,"aria-label":r===0?`empty`:r===1?`one electron`:`two electrons`,children:[r>=1&&(0,T.jsx)(`span`,{className:`lr-od-arrow lr-od-arrow--up`,children:`↑`}),r===2&&(0,T.jsx)(`span`,{className:`lr-od-arrow lr-od-arrow--down`,children:`↓`})]},n)})})]},t)})}),a&&(0,T.jsx)(`p`,{className:`lr-od-config`,children:a}),s&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:c(s)})]})}var ad=24,od=.08;function sd(e,t){if(!(t>0)||!Number.isFinite(e)||e<=0)return{whole:0,frac:0,overflow:0,total:0};let n=e/t,r=Math.floor(n+1e-9),i=Math.max(0,n-r),a=Math.min(r,ad);return{whole:a,frac:i,overflow:r-a,total:n}}function cd(e){return Number.isFinite(e)?e.toLocaleString():`0`}function ld(e){let t=(0,F.c)(12),{iconKey:n,filled:r}=e,i=o[n]||o.chart;if(r>=1){let e;return t[0]===i?e=t[1]:(e=(0,T.jsx)(i,{className:`lr-pg-icon lr-pg-icon--full`,"aria-hidden":`true`}),t[0]=i,t[1]=e),e}let a;t[2]===i?a=t[3]:(a=(0,T.jsx)(i,{className:`lr-pg-icon lr-pg-icon--ghost`}),t[2]=i,t[3]=a);let s=`inset(0 ${(1-r)*100}% 0 0)`,c;t[4]===s?c=t[5]:(c={clipPath:s},t[4]=s,t[5]=c);let l;t[6]!==i||t[7]!==c?(l=(0,T.jsx)(i,{className:`lr-pg-icon lr-pg-icon--fill`,style:c}),t[6]=i,t[7]=c,t[8]=l):l=t[8];let u;return t[9]!==a||t[10]!==l?(u=(0,T.jsxs)(`span`,{className:`lr-pg-partial`,"aria-hidden":`true`,children:[a,l]}),t[9]=a,t[10]=l,t[11]=u):u=t[11],u}function ud(e){let t=(0,F.c)(24),{row:n,unitValue:r,iconKey:i}=e,a=typeof n?.label==`string`&&n.label?n.label:`—`,o=Number.isFinite(n?.count)?n.count:0,s,c,l,u;if(t[0]!==o||t[1]!==i||t[2]!==a||t[3]!==r){let{whole:e,frac:n,overflow:d,total:f}=sd(o,r),p=n>=od;l=`lr-pg-row`;let m;t[8]===a?m=t[9]:(m=(0,T.jsx)(`span`,{className:`lr-pg-label`,children:a}),t[8]=a,t[9]=m);let h;t[10]===o?h=t[11]:(h=cd(o),t[10]=o,t[11]=h);let g;t[12]===h?g=t[13]:(g=(0,T.jsx)(`span`,{className:`lr-pg-count`,children:h}),t[12]=h,t[13]=g),t[14]!==m||t[15]!==g?(u=(0,T.jsxs)(`div`,{className:`lr-pg-row-head`,children:[m,g]}),t[14]=m,t[15]=g,t[16]=u):u=t[16],s=`lr-pg-tiles`,c=f<=0?(0,T.jsx)(`span`,{className:`lr-pg-zero`,children:`—`}):(0,T.jsxs)(T.Fragment,{children:[Array.from({length:e},(e,t)=>(0,T.jsx)(ld,{iconKey:i,filled:1},t)),p&&(0,T.jsx)(ld,{iconKey:i,filled:n},`frac`),d>0&&(0,T.jsxs)(`span`,{className:`lr-pg-overflow`,children:[`+`,cd(d)]})]}),t[0]=o,t[1]=i,t[2]=a,t[3]=r,t[4]=s,t[5]=c,t[6]=l,t[7]=u}else s=t[4],c=t[5],l=t[6],u=t[7];let d;t[17]!==s||t[18]!==c?(d=(0,T.jsx)(`div`,{className:s,children:c}),t[17]=s,t[18]=c,t[19]=d):d=t[19];let f;return t[20]!==l||t[21]!==u||t[22]!==d?(f=(0,T.jsxs)(`div`,{className:l,children:[u,d]}),t[20]=l,t[21]=u,t[22]=d,t[23]=f):f=t[23],f}function dd({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,icon2:r,unitValue:i,rows:a,footer:s,delay:l}){let u=o[t]||o.chart,d=Array.isArray(a)?a:[],f=Number.isFinite(i)&&i>0?i:1;return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(l||0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),d.length===0?(0,T.jsx)(`div`,{className:`lr-pg-empty`,children:`No tally rows to chart.`}):(0,T.jsx)(`div`,{className:`lr-pg-rows`,children:d.map((e,n)=>(0,T.jsx)(ud,{row:e,unitValue:f,iconKey:n%2==1&&r?r:t},n))}),d.length>0&&(0,T.jsxs)(`div`,{className:`lr-pg-key`,children:[(0,T.jsx)(u,{className:`lr-pg-key-ic`}),` Each icon = `,cd(f)]}),s&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:c(s)})]})}var fd=100,pd=14,md=4,hd=40,gd=12,_d={solid:`Solid`,liquid:`Liquid`,gas:`Gas`};function vd(e){let t=e;return()=>(t=t*1664525+1013904223&4294967295,(t>>>0)/4294967295)}function yd(e,t){let n=Math.ceil(Math.sqrt(e)),r=Math.ceil(e/n),i=n>1?(fd-2*pd)/(n-1):0,a=r>1?(fd-2*pd)/(r-1):0;return Array.from({length:e},(e,o)=>{let s=o%n,c=Math.floor(o/n);return{x:n>1?pd+s*i:fd/2,y:r>1?pd+c*a:fd/2,angle:t()*360}})}function bd(e,t){let n=fd/2,r=fd/2,i=fd*.32;return Array.from({length:e},()=>{let e=t()*2*Math.PI,a=i*Math.sqrt(t());return{x:n+Math.cos(e)*a,y:r+Math.sin(e)*a,angle:t()*360}})}function xd(e,t){return Array.from({length:e},()=>({x:pd+t()*(fd-2*pd),y:pd+t()*(fd-2*pd),angle:t()*360}))}function Sd(e,t){if(t===`solid`){let t=3.6;return{d:`M ${e.x-t} ${e.y} A ${t} ${t} 0 0 1 ${e.x+t} ${e.y}`}}let n=t===`gas`?8:4,r=e.angle*Math.PI/180,i=e.x+Math.cos(r)*n,a=e.y+Math.sin(r)*n;return{d:`M ${e.x} ${e.y} L ${i} ${a}`}}function Cd(e){let t=(0,F.c)(23),{panel:n,seed:r}=e,i;t[0]===n.particleCount?i=t[1]:(i=Number.isFinite(n.particleCount)?Math.max(md,Math.min(hd,Math.floor(n.particleCount))):gd,t[0]=n.particleCount,t[1]=i);let a=i,o;if(t[2]!==a||t[3]!==n.phase||t[4]!==r){bb0:{let e=vd(r);if(n.phase===`solid`){o=yd(a,e);break bb0}if(n.phase===`liquid`){o=bd(a,e);break bb0}o=xd(a,e)}t[2]=a,t[3]=n.phase,t[4]=r,t[5]=o}else o=t[5];let s=o,c;if(t[6]!==n.phase||t[7]!==s){let e;t[9]===n.phase?e=t[10]:(e=(e,t)=>{let r=Sd(e,n.phase);return(0,T.jsxs)(`g`,{className:`lr-pm-mark lr-pm-mark--${n.phase}`,children:[(0,T.jsx)(`path`,{d:r.d,className:`lr-pm-motion`,transform:n.phase===`solid`?`rotate(${e.angle} ${e.x} ${e.y})`:void 0}),(0,T.jsx)(`circle`,{cx:e.x,cy:e.y,r:2.4,className:`lr-pm-dot`})]},t)},t[9]=n.phase,t[10]=e),c=s.map(e),t[6]=n.phase,t[7]=s,t[8]=c}else c=t[8];let l;t[11]===c?l=t[12]:(l=(0,T.jsx)(`svg`,{viewBox:`0 0 ${fd} ${fd}`,className:`lr-pm-svg`,role:`img`,"aria-hidden":`true`,children:c}),t[11]=c,t[12]=l);let u=_d[n.phase],d;t[13]===u?d=t[14]:(d=(0,T.jsx)(`span`,{className:`lr-pm-phase`,children:u}),t[13]=u,t[14]=d);let f;t[15]===n.label?f=t[16]:(f=n.label&&(0,T.jsx)(`span`,{className:`lr-pm-panel-label`,children:n.label}),t[15]=n.label,t[16]=f);let p;t[17]!==d||t[18]!==f?(p=(0,T.jsxs)(`div`,{className:`lr-pm-caption`,children:[d,f]}),t[17]=d,t[18]=f,t[19]=p):p=t[19];let m;return t[20]!==l||t[21]!==p?(m=(0,T.jsxs)(`div`,{className:`lr-pm-panel`,children:[l,p]}),t[20]=l,t[21]=p,t[22]=m):m=t[22],m}function wd({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,panels:r,footer:i,delay:a}){let s=o[t]||o.sparkle,l=(Array.isArray(r)?r:[]).filter(e=>!!e&&(e.phase===`solid`||e.phase===`liquid`||e.phase===`gas`));return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(a||0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(s,{className:`ic`,style:{color:n}}),` `,e]}),l.length===0?(0,T.jsx)(`div`,{className:`lr-pm-empty`,children:`No phase panels to draw.`}):(0,T.jsx)(`div`,{className:`lr-pm-panels`,children:l.map((e,t)=>(0,T.jsx)(Cd,{panel:e,seed:1e3+t*977},t))}),i&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:c(i)})]})}var Td={prefix:`Prefix`,root:`Root`,suffix:`Suffix`};function Ed(e){return e===`prefix`||e===`suffix`?e:`root`}function Dd({title:e,icon:t=`doc`,iconColor:n=`var(--presence)`,word:r,morphemes:i,footer:a,delay:s}){let l=o[t]||o.doc,u=(Array.isArray(i)?i:[]).filter(e=>!!e&&typeof e.text==`string`&&e.text.length>0);return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(s||0)+`ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),u.length===0?(0,T.jsx)(`div`,{className:`lr-mb-empty`,children:`No morphemes to break down.`}):(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`div`,{className:`lr-mb-word`,children:r||u.map(e=>e.text).join(``)}),(0,T.jsx)(`div`,{className:`lr-mb-segments`,children:u.map((e,t)=>(0,T.jsx)(`span`,{className:`lr-mb-seg lr-mb-seg--${Ed(e.role)}`,children:e.text},t))}),(0,T.jsx)(`div`,{className:`lr-mb-legend`,children:u.map((e,t)=>{let n=Ed(e.role);return(0,T.jsxs)(`div`,{className:`lr-mb-gloss`,children:[(0,T.jsx)(`span`,{className:`lr-mb-role-dot lr-mb-role-dot--${n}`,"aria-hidden":`true`}),(0,T.jsxs)(`span`,{className:`lr-mb-gloss-text`,children:[(0,T.jsx)(`b`,{className:`lr-mb-gloss-term lr-mb-gloss-term--${n}`,children:e.text}),(0,T.jsx)(`i`,{className:`lr-mb-gloss-role`,children:Td[n]}),e.meaning&&(0,T.jsxs)(`span`,{className:`lr-mb-gloss-meaning`,children:[` — `,e.meaning]})]})]},t)})})]}),a&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:c(a)})]})}var Od=14,kd=164,Ad=46,jd=12,Md=26,Nd=26,Pd=8,Fd=178,Id=194,Ld=208,Rd=216,zd=6,Bd=8,Vd={KE:`var(--presence)`,PE:`var(--insight)`,UG:`var(--insight)`,PEG:`var(--insight)`,US:`var(--insight-soft)`,PES:`var(--insight-soft)`,ETH:`var(--warning)`,ETHERM:`var(--warning)`,ETHERMAL:`var(--warning)`,Q:`var(--warning-soft)`,W:`var(--presence-deep)`,ECHEM:`var(--danger)`},Hd=[`var(--presence)`,`var(--insight)`,`var(--warning)`,`var(--presence-deep)`,`var(--insight-soft)`];function Ud(e,t){return Vd[String(e??``).toUpperCase().replace(/[^A-Z]/g,``)]??Hd[t%Hd.length]}function Wd(e){let t=typeof e==`number`?e:typeof e==`string`?parseFloat(e):NaN;return Number.isFinite(t)?t:0}function Gd(e){return parseFloat(e.toFixed(2)).toString()}function Kd({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,snapshots:r,system:i,unit:a=`J`,footer:s,delay:l}){let u=o[t]??o.chart,d=(0,P.useMemo)(()=>{let e=(Array.isArray(r)?r.slice(0,zd):[]).map(e=>{let t=(Array.isArray(e?.bars)?e.bars:[]).slice(0,Bd).map(e=>({kind:String(e?.kind??``),value:Wd(e?.value)})),n=t.reduce((e,t)=>e+t.value,0);return{label:typeof e?.label==`string`?e.label:``,bars:t,total:n}}),t=e.flatMap(e=>e.bars.map(e=>e.value)),n=Math.min(0,...t),i=Math.max(0,...t);(!t.length||n===i)&&(n=Math.min(0,n),i=n===0?1:Math.max(i,n+1));let[a,o]=m(n,i),s=p([a,o],[kd,Od]),c=s(0),l=s.ticks(5).filter(e=>e>=a-1e-9&&e<=o+1e-9),u=Ad;return{placed:e.map(e=>{let t=Math.max(1,e.bars.length),n=t*Nd+(t-1)*Pd,r=u;return u+=n+Md,{...e,gx:r,gw:n}}),y:s,zeroY:c,tickVals:l,svgW:Math.max(98,u-Md+jd)}},[r]),f=d.placed.length>0;return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":`${l??0}ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(u,{className:`ic`,style:{color:n}}),` `,(0,T.jsx)(`span`,{children:e})]}),Array.isArray(i)&&i.length>0&&(0,T.jsxs)(`div`,{className:`ebc-system`,"aria-label":`Objects in the system`,children:[(0,T.jsx)(`span`,{className:`ebc-system-lead`,children:`System`}),i.slice(0,6).map((e,t)=>(0,T.jsx)(`span`,{className:`ebc-system-chip`,children:String(e)},t))]}),f?(0,T.jsx)(`div`,{className:`ebc-wrap`,children:(0,T.jsxs)(`svg`,{viewBox:`0 0 ${d.svgW} ${Rd}`,className:`ebc-svg`,role:`img`,"aria-label":`Energy bar chart: ${e}`,children:[d.tickVals.map((e,t)=>{let n=d.y(e);return(0,T.jsxs)(`g`,{children:[(0,T.jsx)(`line`,{x1:Ad,y1:n,x2:d.svgW-jd,y2:n,className:`ebc-grid`}),(0,T.jsx)(`text`,{x:Ad-6,y:n+3,className:`ebc-tick`,textAnchor:`end`,children:Gd(e)})]},`t${t}`)}),(0,T.jsx)(`line`,{x1:Ad,y1:d.zeroY,x2:d.svgW-jd,y2:d.zeroY,className:`ebc-zero`}),(0,T.jsxs)(`text`,{transform:`translate(13,89) rotate(-90)`,className:`ebc-axis-label`,textAnchor:`middle`,children:[`Energy (`,a,`)`]}),d.placed.map((e,t)=>{let n=b(e.label||`State ${t+1}`,{maxWidth:e.gw+Md,fontSize:10,minFontSize:7,maxLines:1});return(0,T.jsxs)(`g`,{children:[e.bars.map((t,n)=>{let r=e.gx+n*34,i=d.y(Math.max(0,t.value)),a=d.y(Math.min(0,t.value)),o=Math.max(0,a-i),s=Ud(t.kind,n),c=t.value>=0,l=o<1?d.zeroY-3:c?i-3:a+10,u=b(t.kind||`·`,{maxWidth:32,fontSize:9,minFontSize:6,maxLines:1});return(0,T.jsxs)(`g`,{children:[(0,T.jsx)(`rect`,{x:r,y:i,width:Nd,height:o,rx:2,className:`ebc-bar`,style:{fill:s}}),(0,T.jsx)(`text`,{x:r+Nd/2,y:l,className:`ebc-val`,textAnchor:`middle`,children:Gd(t.value)}),(0,T.jsx)(`text`,{x:r+Nd/2,y:Fd,className:`ebc-kind`,textAnchor:`middle`,style:{fontSize:u.fontSize},children:u.lines[0]})]},`b${n}`)}),(0,T.jsx)(`text`,{x:e.gx+e.gw/2,y:Id,className:`ebc-group-label`,textAnchor:`middle`,style:{fontSize:n.fontSize},children:n.lines[0]}),(0,T.jsxs)(`text`,{x:e.gx+e.gw/2,y:Ld,className:`ebc-total`,textAnchor:`middle`,children:[`Σ = `,Gd(e.total),` `,a]})]},`g${t}`)})]})}):(0,T.jsx)(_,{message:`No energy snapshots to chart`}),s&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:c(s)})]})}var qd=6,Jd=9,Yd=(qd-1)*Jd,Xd=24,Zd=10,Qd=18,$d=75,ef=9,tf=20,nf=64,rf=(e,t,n,r)=>{let i=typeof e==`number`?e:typeof e==`string`?parseInt(e,10):NaN;return Number.isFinite(i)?Math.min(n,Math.max(t,Math.round(i))):r};function af(e){let t=[`E`,`A`,`D`,`G`,`B`,`E`];if(typeof e!=`string`)return t;let n=e.match(/[A-Ga-g][#b]?/g);return!n||n.length!==qd?t:n.map(e=>e[0].toUpperCase()+e.slice(1))}var of={h:{glyph:`h`,arc:!0},p:{glyph:`p`,arc:!0},s:{glyph:`/`,arc:!1},"/":{glyph:`\\`,arc:!1}};function sf({title:e,icon:t=`sparkle`,iconColor:n=`var(--presence)`,notes:r,tuning:i=`EADGBE`,beatsPerMeasure:a=4,measuresPerRow:s=4,tempo:l,footer:u,delay:d}){let f=o[t]??o.sparkle,p=rf(a,1,16,4),m=rf(s,1,8,4),h=af(i),g=Math.max(64,p*tf),v=(0,P.useMemo)(()=>{let e=(Array.isArray(r)?r:[]).map(e=>({measure:rf(e?.measure,1,nf,1),beat:(()=>{let t=typeof e?.beat==`number`?e.beat:parseFloat(String(e?.beat));return Number.isFinite(t)?Math.min(p+.999,Math.max(1,t)):1})(),string:rf(e?.string,1,qd,1),fret:rf(e?.fret,0,24,0),technique:typeof e?.technique==`string`?e.technique:void 0})),t=Math.min(nf,Math.max(1,e.reduce((e,t)=>Math.max(e,t.measure),1))),n=Math.ceil(t/m),i=(e,t)=>{let n=(e-1)%m,r=(t-1)/p;return Xd+n*g+ef+r*(g-2*ef)},a=e=>Math.floor((e-1)/m),o=e.map(e=>({...e,x:i(e.measure,e.beat),row:a(e.measure)})),s=new Map;for(let e of o){let t=`${e.row}:${e.string}`,n=s.get(t)??[];n.push(e),s.set(t,n)}for(let e of s.values())e.sort((e,t)=>e.x-t.x);let c=[];for(let e of s.values())for(let t=0;t<e.length;t++){let n=e[t],r=n.technique;if(!r||!(r in of))continue;let i=e[t+1],a=of[r],o=i?i.x:n.x+14;c.push({row:n.row,string:n.string,x1:n.x,x2:o,glyph:a.glyph,arc:a.arc})}return{placed:o,links:c,numRows:n,measuresInRow:e=>Math.min(m,t-e*m),svgW:Xd+m*g+Zd,svgH:Qd+(n-1)*$d+Yd+14}},[r,p,m,g]),y=e=>Qd+e*$d,b=e=>t=>y(t)+(e-1)*Jd,x=v.placed.length>0;return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":`${d??0}ms`},children:[(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(f,{className:`ic`,style:{color:n}}),` `,(0,T.jsx)(`span`,{children:e}),(0,T.jsxs)(`span`,{className:`gt-meta`,children:[h.join(``),typeof l==`number`&&Number.isFinite(l)?` · ♩ = ${Math.round(l)}`:``]})]}),x?(0,T.jsx)(`div`,{className:`gt-wrap`,children:(0,T.jsxs)(`svg`,{viewBox:`0 0 ${v.svgW} ${v.svgH}`,className:`gt-svg`,role:`img`,"aria-label":`Guitar tab: ${e}`,children:[Array.from({length:v.numRows},(e,t)=>{let n=v.measuresInRow(t),r=Xd+n*g,i=y(t);return(0,T.jsxs)(`g`,{children:[Array.from({length:qd},(e,t)=>{let n=i+t*Jd;return(0,T.jsx)(`line`,{x1:Xd,y1:n,x2:r,y2:n,className:`gt-line`},`ln${t}`)}),Array.from({length:qd},(e,t)=>{let n=h[qd-(t+1)];return(0,T.jsx)(`text`,{x:Xd-8,y:i+t*Jd+3,className:`gt-tune`,textAnchor:`middle`,children:n},`tn${t}`)}),Array.from({length:n+1},(e,t)=>{let n=Xd+t*g;return(0,T.jsx)(`line`,{x1:n,y1:i,x2:n,y2:i+Yd,className:t===0?`gt-bar gt-bar--start`:`gt-bar`},`bl${t}`)}),(0,T.jsx)(`text`,{x:26,y:i-6,className:`gt-measure-num`,textAnchor:`start`,children:t*m+1})]},`row${t}`)}),v.links.map((e,t)=>{let n=b(e.string)(e.row),r=(e.x1+e.x2)/2;if(e.arc){let i=n-7;return(0,T.jsxs)(`g`,{className:`gt-link`,children:[(0,T.jsx)(`path`,{d:`M ${e.x1} ${n-3} Q ${r} ${i} ${e.x2} ${n-3}`,className:`gt-slur`,fill:`none`}),(0,T.jsx)(`text`,{x:r,y:i-1,className:`gt-tech`,textAnchor:`middle`,children:e.glyph})]},`lk${t}`)}return(0,T.jsxs)(`g`,{className:`gt-link`,children:[(0,T.jsx)(`line`,{x1:e.x1+5,y1:n-2,x2:e.x2-5,y2:n-2,className:`gt-slide`}),(0,T.jsx)(`text`,{x:r,y:n-5,className:`gt-tech`,textAnchor:`middle`,children:e.glyph})]},`lk${t}`)}),v.placed.map((e,t)=>{let n=b(e.string)(e.row),r=e.technique===`x`,i=e.technique===`b`,a=r?`x`:String(e.fret),o=a.length*4.4+5;return(0,T.jsxs)(`g`,{children:[(0,T.jsx)(`rect`,{x:e.x-o/2,y:n-5.5,width:o,height:11,rx:2,className:`gt-fretbg`}),(0,T.jsx)(`text`,{x:e.x,y:n+3,className:`gt-fret`,textAnchor:`middle`,children:a}),i&&(0,T.jsx)(`text`,{x:e.x+o/2+3,y:n+1,className:`gt-tech`,textAnchor:`start`,children:`b↑`})]},`fn${t}`)})]})}):(0,T.jsx)(_,{message:`No notes to tab out`}),u&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:c(u)})]})}var cf={1:249,2:243,3:198,4:190,5:182,6:171,7:159,8:146,9:141,10:134,11:135,12:134,13:114,14:107,15:102,16:90,17:83,18:80,19:59,20:64,21:47,22:51,X:156,Y:57},lf=249,uf={1:.5,2:.38,3:.46,4:.26,5:.27,6:.36,7:.39,8:.31,9:.34,10:.31,11:.4,12:.27,13:.16,14:.16,15:.17,16:.41,17:.29,18:.24,19:.47,20:.44,21:.24,22:.26,X:.4,Y:.27},df=11,ff=5,pf=4,mf=20,hf=76,gf=86,_f={trisomy:`var(--warning)`,monosomy:`var(--warning)`,deletion:`var(--danger)`,duplication:`var(--insight)`},vf={trisomy:`Trisomy`,monosomy:`Monosomy`,deletion:`Deletion`,duplication:`Duplication`};function yf(e){let t=String(e??``).trim().toUpperCase();if(t===`X`||t===`Y`)return t;let n=parseInt(t,10);return Number.isFinite(n)&&n>=1&&n<=22?String(n):t}function bf(e){if(e===`X`)return 23;if(e===`Y`)return 24;let t=parseInt(e,10);if(Number.isFinite(t))return t;let n=0;for(let t=0;t<e.length;t++)n=n*31+e.charCodeAt(t)>>>0;return n||1}function xf(e){let t=bf(e)*2654435761>>>0,n=()=>(t=t*1664525+1013904223>>>0,t/4294967295),r=(3+Math.floor(n()*3))*2+1,i=Array.from({length:r},()=>.5+n()),a=i.reduce((e,t)=>e+t,0),o=[],s=0,c=-1;for(let e=0;e<r;e++){let t=s/a;s+=i[e];let n=s/a,l=e%2==1;l&&c<0&&e>=r/2&&(c=o.length),o.push({y0:t,y1:n,dark:l})}if(c<0){for(let e=o.length-1;e>=0;e--)if(o[e].dark){c=e;break}}return{segs:o,markIdx:c}}function Sf(e){let t=(0,F.c)(39),{copy:n,clipId:r}=e,i;t[0]===n.id?i=t[1]:(i=xf(n.id),t[0]=n.id,t[1]=i);let{segs:a,markIdx:o}=i,s=cf[n.id]??60,c=uf[n.id]??.35,l=mf+s/lf*(hf-mf),u=pf+c*l,d=Math.max(5,u-1.6),f=Math.min(pf+l-1,u+1.6),p=pf+l,m=d-pf,h;t[2]===m?h=t[3]:(h=(0,T.jsx)(`rect`,{x:0,y:pf,width:df,height:m,rx:3}),t[2]=m,t[3]=h);let g=p-f,_;t[4]!==f||t[5]!==g?(_=(0,T.jsx)(`rect`,{x:0,y:f,width:df,height:g,rx:3}),t[4]=f,t[5]=g,t[6]=_):_=t[6];let v;t[7]!==r||t[8]!==h||t[9]!==_?(v=(0,T.jsx)(`defs`,{children:(0,T.jsxs)(`clipPath`,{id:r,children:[h,_]})}),t[7]=r,t[8]=h,t[9]=_,t[10]=v):v=t[10];let y=d-pf,b;t[11]===y?b=t[12]:(b=(0,T.jsx)(`rect`,{x:0,y:pf,width:df,height:y,rx:3,className:`kt-arm`}),t[11]=y,t[12]=b);let x=p-f,S;t[13]!==f||t[14]!==x?(S=(0,T.jsx)(`rect`,{x:0,y:f,width:df,height:x,rx:3,className:`kt-arm`}),t[13]=f,t[14]=x,t[15]=S):S=t[15];let C=`url(#${r})`,w;if(t[16]!==n.mark||t[17]!==l||t[18]!==o||t[19]!==a){let e;t[21]!==n.mark||t[22]!==l||t[23]!==o?(e=(e,t)=>{let r=pf+e.y0*l,i=(e.y1-e.y0)*l,a=n.mark&&t===o?n.mark===`del`?`kt-band kt-band--del`:`kt-band kt-band--dup`:e.dark?`kt-band kt-band--dark`:`kt-band kt-band--light`;return(0,T.jsx)(`rect`,{x:0,y:r,width:df,height:Math.max(.5,i),className:a},t)},t[21]=n.mark,t[22]=l,t[23]=o,t[24]=e):e=t[24],w=a.map(e),t[16]=n.mark,t[17]=l,t[18]=o,t[19]=a,t[20]=w}else w=t[20];let E;t[25]!==C||t[26]!==w?(E=(0,T.jsx)(`g`,{clipPath:C,children:w}),t[25]=C,t[26]=w,t[27]=E):E=t[27];let D;t[28]!==n.mark||t[29]!==l||t[30]!==o||t[31]!==a?(D=n.mark&&o>=0&&(0,T.jsx)(`line`,{x1:12,y1:pf+(a[o].y0+a[o].y1)/2*l,x2:15,y2:pf+(a[o].y0+a[o].y1)/2*l,className:n.mark===`del`?`kt-tick kt-tick--del`:`kt-tick kt-tick--dup`}),t[28]=n.mark,t[29]=l,t[30]=o,t[31]=a,t[32]=D):D=t[32];let O;return t[33]!==S||t[34]!==E||t[35]!==D||t[36]!==v||t[37]!==b?(O=(0,T.jsxs)(`g`,{children:[v,b,S,E,D]}),t[33]=S,t[34]=E,t[35]=D,t[36]=v,t[37]=b,t[38]=O):O=t[38],O}function Cf({label:e,copies:t,note:n,ringColor:r,baseId:i}){let a=t.length*df+(t.length-1)*ff+6;return(0,T.jsxs)(`div`,{className:r?`kt-slot kt-slot--ring`:`kt-slot`,style:r?{"--kt-ring":r}:void 0,children:[(0,T.jsx)(`svg`,{viewBox:`0 0 ${a} ${gf}`,className:`kt-svg`,role:`img`,"aria-label":`Chromosome ${e}${n?`, ${n}`:``}`,children:t.map((t,n)=>(0,T.jsx)(`g`,{transform:`translate(${3+n*16},0)`,children:(0,T.jsx)(Sf,{copy:t,clipId:`${i}-${e}-${n}`})},n))}),(0,T.jsx)(`div`,{className:`kt-label`,children:e}),n&&(0,T.jsx)(`div`,{className:`kt-note`,children:n})]})}function wf({title:e,icon:t=`layers`,iconColor:n=`var(--presence)`,sex:r=`XX`,anomalies:i,highlightPairs:a,footer:s,delay:l}){let u=o[t]??o.layers,d=(0,P.useId)().replace(/[^a-zA-Z0-9_-]/g,``),{slots:f,usedKinds:p}=(0,P.useMemo)(()=>{let e=(Array.isArray(i)?i:[]).filter(e=>e&&e.kind in _f).slice(0,24),t=new Map;for(let n of e)t.set(yf(n.pair),n);let n=new Set((Array.isArray(a)?a:[]).map(e=>yf(e))),o=(e,r)=>{let i=t.get(e),a=r.map(e=>({id:e,mark:null}));if(i){let t=e===`sexslot`?i.pair&&yf(i.pair)||`X`:e;i.kind===`trisomy`?a.push({id:t,mark:null}):i.kind===`monosomy`?a=a.slice(0,Math.max(1,a.length-1)):a.length&&(a[a.length-1].mark=i.kind===`deletion`?`del`:`dup`)}return s(e,a,i,n)};function s(e,t,n,r){let i=e===`sexslot`,a=i?t.map(e=>e.id).join(``)||`XY`:e,o=i?r.has(`X`)||r.has(`Y`):r.has(e);return{key:e,label:a,copies:t,ringColor:n?_f[n.kind]:o?`var(--presence)`:null,note:n?`${vf[n.kind]} ${n.note?`· ${n.note}`:``}`.trim():void 0}}let c=t.get(`X`)??t.get(`Y`);c&&t.set(`sexslot`,c);let l=[];for(let e=1;e<=22;e++)l.push(o(String(e),[String(e),String(e)]));return l.push(o(`sexslot`,r===`XY`?[`X`,`Y`]:[`X`,`X`])),{slots:l,usedKinds:[...new Set(e.map(e=>e.kind))]}},[r,i,a]);return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":`${l??0}ms`},children:[e&&(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(u,{className:`ic`,style:{color:n}}),` `,(0,T.jsx)(`span`,{children:e})]}),(0,T.jsx)(`div`,{className:`kt-grid`,children:f.map(e=>(0,T.jsx)(Cf,{label:e.label,copies:e.copies,note:e.note,ringColor:e.ringColor,baseId:d},e.key))}),p.length>0&&(0,T.jsx)(`ul`,{className:`kt-legend`,"aria-label":`Anomaly key`,children:p.map(e=>(0,T.jsxs)(`li`,{className:`kt-leg`,children:[(0,T.jsx)(`span`,{className:`kt-leg-dot`,style:{background:_f[e]}}),vf[e]]},e))}),s&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:c(s)})]})}function Tf(e){return Array.isArray(e)?e.map(e=>{if(typeof e==`string`)return e;if(e&&typeof e==`object`){let t=e,n=t.text??t.label??t.name??t.value;return typeof n==`string`?n:``}return``}).map(e=>e.trim()).filter(Boolean):[]}function Ef({label:e,accent:t,children:n}){return(0,T.jsxs)(`section`,{className:`frm-panel`,style:{"--frm-accent":t},children:[(0,T.jsx)(`h4`,{className:`frm-panel-label`,children:e}),(0,T.jsx)(`div`,{className:`frm-panel-body`,children:n})]})}function Df(e){let t=(0,F.c)(5),{items:n}=e;if(n.length===0){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,T.jsx)(`p`,{className:`frm-muted`,children:`—`}),t[0]=e):e=t[0],e}let r;t[1]===n?r=t[2]:(r=n.map(Of),t[1]=n,t[2]=r);let i;return t[3]===r?i=t[4]:(i=(0,T.jsx)(`ul`,{className:`frm-list`,children:r}),t[3]=r,t[4]=i),i}function Of(e,t){return(0,T.jsx)(`li`,{children:e},t)}function kf({title:e,icon:t=`edit`,iconColor:n=`var(--presence)`,term:r,pronunciation:i,definition:a,characteristics:s,examples:l,nonexamples:u,footer:d,delay:f}){let p=o[t]??o.edit,m=Tf(s),h=Tf(l),g=Tf(u),_=typeof a==`string`?a.trim():``,v=typeof r==`string`&&r.trim()?r:`Term`,y=typeof i==`string`&&i.trim()?i:``;return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":`${f??0}ms`},children:[e&&(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(p,{className:`ic`,style:{color:n}}),` `,(0,T.jsx)(`span`,{children:e})]}),(0,T.jsxs)(`div`,{className:`frm-term`,children:[(0,T.jsx)(`span`,{className:`frm-term-word`,children:v}),y&&(0,T.jsx)(`span`,{className:`frm-term-pron`,children:y})]}),(0,T.jsxs)(`div`,{className:`frm-grid`,children:[(0,T.jsx)(Ef,{label:`Definition`,accent:`var(--presence)`,children:_?(0,T.jsx)(`p`,{className:`frm-def`,children:_}):(0,T.jsx)(`p`,{className:`frm-muted`,children:`—`})}),(0,T.jsx)(Ef,{label:`Characteristics`,accent:`var(--insight)`,children:(0,T.jsx)(Df,{items:m})}),(0,T.jsx)(Ef,{label:`Examples`,accent:`var(--presence-deep)`,children:(0,T.jsx)(Df,{items:h})}),(0,T.jsx)(Ef,{label:`Non-examples`,accent:`var(--warning)`,children:(0,T.jsx)(Df,{items:g})})]}),d&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:c(d)})]})}var Af=300,jf=40,Mf=30,Nf=132,Pf=[`var(--insight)`,`var(--warning)`,`var(--presence-deep)`,`var(--insight-soft)`];function Ff(e){if(typeof e==`number`&&Number.isFinite(e))return e;if(typeof e==`string`&&e.trim()){let t=parseFloat(e);return Number.isFinite(t)?t:null}return null}function If({cx:e,cy:t,r:n,value:r,accent:i,delay:a}){let o=r!==null,s=v(o?r:0,{duration:800,delay:a});return(0,T.jsxs)(`g`,{children:[(0,T.jsx)(`circle`,{cx:e,cy:t,r:n,className:o?`nb-circle`:`nb-circle nb-circle--open`,style:{"--nb-accent":i}}),(0,T.jsx)(`text`,{x:e,y:t,className:o?`nb-num`:`nb-num nb-unknown`,textAnchor:`middle`,dominantBaseline:`central`,style:o?void 0:{"--glow-color":i},children:o?s:`?`})]})}function Lf({title:e,icon:t=`plus`,iconColor:n=`var(--presence)`,whole:r,parts:i,factFamily:a=!1,label:s,footer:l,delay:u}){let d=o[t]??o.plus,{wholeVal:f,partVals:p,facts:m}=(0,P.useMemo)(()=>{let e=Ff(r),t=(Array.isArray(i)?i:[]).slice(0,4).map(Ff);for(;t.length<2;)t.push(null);let n=t.filter(e=>e!==null),o=[];if(a&&e!==null&&t.length===2&&n.length===2&&n[0]+n[1]===e){let[t,r]=n;o=[`${t} + ${r} = ${e}`,`${r} + ${t} = ${e}`,`${e} − ${t} = ${r}`,`${e} − ${r} = ${t}`]}return{wholeVal:e,partVals:t,facts:o}},[r,i,a]),h=p.length,g=h>=4?22:h===3?25:28,_=Nf+g+8,v=Af/2,y=18+g,b=e=>h===1?Af/2:y+e*(Af-2*y)/(h-1);return(0,T.jsxs)(`div`,{className:`card reveal`,style:{"--delay":`${u??0}ms`},children:[e&&(0,T.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,T.jsx)(d,{className:`ic`,style:{color:n}}),` `,(0,T.jsx)(`span`,{children:e})]}),(0,T.jsx)(`div`,{className:`nb-wrap`,children:(0,T.jsxs)(`svg`,{viewBox:`0 0 ${Af} ${_}`,className:`nb-svg`,role:`img`,"aria-label":e||`Number bond`,children:[p.map((e,t)=>(0,T.jsx)(`line`,{x1:v,y1:55,x2:b(t),y2:Nf-g*.5,className:`nb-link`},`ln${t}`)),(0,T.jsx)(If,{cx:v,cy:jf,r:Mf,value:f,accent:`var(--presence)`,delay:u??0}),p.map((e,t)=>(0,T.jsx)(If,{cx:b(t),cy:Nf,r:g,value:e,accent:Pf[t%Pf.length],delay:(u??0)+120+t*90},`p${t}`))]})}),typeof s==`string`&&s.trim()&&(0,T.jsx)(`p`,{className:`nb-label`,children:s}),m.length>0&&(0,T.jsx)(`div`,{className:`nb-facts`,"aria-label":`Fact family`,children:m.map((e,t)=>(0,T.jsx)(`span`,{className:`nb-fact`,children:e},t))}),l&&(0,T.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:c(l)})]})}var Rf=e({learnRegistry:()=>zf}),zf={equationblock:y(je),numberline:y(Re),workedexample:y(Be),quiz:y(x),flashcard:y(Ve),molecularstructure:(e,t)=>(0,T.jsx)($e,{...e,delay:t.delay}),periodictable:y(nt),bodymap:y(dt),geometrycanvas:y(wt),freebodydiagram:y(It),musicstaff:y($t),vectorspace:y(on),reactionmechanism:y(sn),chorddiagram:y(dn),developmentmilestone:y(mn),teachdiagram:(e,t)=>(0,T.jsx)(An,{...e,delay:t.delay,spotlight:t.spotlight,blockId:t.blockId}),gridmatrix:y(Rn),fractionbar:y(qn),wave:y(ar),energydiagram:y(gr),phylotree:y(Fr),parsetree:y(Qr),celldiagram:y(li),raydiagram:y(wi),vectorfield:y(Li),pedigree:y(Ji),bohrmodel:y(la),equationbalancer:y(ha),yieldcalc:y(ya),vseprmolecule:y(ja),unitcircle:y(Ua),solidfigure:y(Xa),crosssection:y(po),pianokeys:y(jo),fretboardmap:y(Ho),circleoffifths:y($o),odontogram:y(fs),clockface:y(Ss),moneytray:y(ks),placevaluechart:y(Ms),shapecard:y(Hs),letterform:y($s),toolscale:y(cc),craftchart:y(pc),dnahelix:y(Ac),linespectrum:y(Hc),pyramidtiers:y(tl),twocolumnproof:y(nl),gridtransform:y(wl),areamodel:y(Ol),polarplot:y(Gl),taylorseries:y(iu),phaseportrait:y(vu),sightwordlist:y(Su),alphabetchart:y(Eu),columnarithmetic:y(Nu),titrationcurve:y(Bu),interferencepattern:y(ed),orbitaldiagram:y(id),pictograph:y(dd),particlemodel:y(wd),morphemebreakdown:y(Dd),energybarchart:y(Kd),guitartab:y(sf),karyotype:y(wf),frayermodel:y(kf),numberbond:y(Lf),practicelog:y(Te),taxonrank:y(ge),numbersequence:y(de),constantcard:y(ae),elementcard:y(M)};export{Rf as n,zf as t};