@mavea/mavea 1.0.18 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (211) hide show
  1. package/CHANGELOG.md +140 -1
  2. package/DISCLAIMER.md +2 -1
  3. package/PRIVACY.md +5 -4
  4. package/README.md +21 -11
  5. package/TERMS.md +3 -1
  6. package/dist/.vite/manifest.json +846 -611
  7. package/dist/assets/AnnotationLayer-qV6CIUZv.js +0 -0
  8. package/dist/assets/{AppCommandPalette-DKBglbNo.js → AppCommandPalette-BHaYBZ5e.js} +1 -1
  9. package/dist/assets/AreaChart-DZGCSEwt.js +1 -0
  10. package/dist/assets/CadenceCard-P4teI7Se.js +1 -0
  11. package/dist/assets/CanvasSkeleton-CRGWlafo.js +1 -0
  12. package/dist/assets/{CheckLogRail-Btg7Linv.js → CheckLogRail-DkHIHL0E.js} +1 -1
  13. package/dist/assets/{CommandPalette-DagPdSGZ.js → CommandPalette-Bs6tpdZl.js} +1 -1
  14. package/dist/assets/{ConversationVideoStudio-EPw6H4lE.js → ConversationVideoStudio-C1sd4k53.js} +1 -1
  15. package/dist/assets/CourseLessonReader-YCcNKEW7.js +2 -0
  16. package/dist/assets/{CourseRail-Dx9IIbTZ.js → CourseRail-DXt3bzjU.js} +1 -1
  17. package/dist/assets/{CoursesApp-CzUGaYWZ.js → CoursesApp-Dz6xjf4V.js} +2 -2
  18. package/dist/assets/{DashPresent-DXwesMIr.js → DashPresent-5SRScC2i.js} +1 -1
  19. package/dist/assets/DashboardDetail-8J8TsdQg.css +1 -0
  20. package/dist/assets/DashboardDetail-DOfm8UCQ.js +2 -0
  21. package/dist/assets/DashboardLoopGate-Cf0y_HQ7.js +2 -0
  22. package/dist/assets/DashboardLoopRuntime-CnN5VayH.js +1 -0
  23. package/dist/assets/DashboardSettings-CE0B2y2y.js +1 -0
  24. package/dist/assets/DashboardsApp-_gbfdbX6.js +2 -0
  25. package/dist/assets/{DeepZoomApp-CwqKpjo7.js → DeepZoomApp-BOLEl-kQ.js} +1 -1
  26. package/dist/assets/{DelegatePanel-Bi1qPgGG.js → DelegatePanel-CHEB-OZl.js} +1 -1
  27. package/dist/assets/DemoGallery-DBqnu8TR.js +1 -0
  28. package/dist/assets/{DropSelect-C3g0PjuN.js → DropSelect-DjbdVfIR.js} +1 -1
  29. package/dist/assets/ExportModal-CLobMv1F.js +2 -0
  30. package/dist/assets/ExtractionPreview-QZ2VHmsb.js +18 -0
  31. package/dist/assets/{FeatureUseNotice-BhljPjUv.js → FeatureUseNotice-Dc8joBGM.js} +1 -1
  32. package/dist/assets/{FlagshipCommandPalette-DyNsP8k3.js → FlagshipCommandPalette-DnWuBjYI.js} +1 -1
  33. package/dist/assets/{FlagshipShowcase-DHpGPlca.js → FlagshipShowcase-3qQDOK6g.js} +1 -1
  34. package/dist/assets/{FlashcardsApp-Cm50X3Hl.js → FlashcardsApp-BQGM-Tr1.js} +1 -1
  35. package/dist/assets/{GalleryApp-BFop9Eu7.js → GalleryApp-BWQ-J450.js} +1 -1
  36. package/dist/assets/{HonestByDesign-HeTTCiis.js → HonestByDesign-57LDf-gm.js} +1 -1
  37. package/dist/assets/{HowItWorks-gAuUl7VQ.js → HowItWorks-DMfPX3GK.js} +1 -1
  38. package/dist/assets/{LegalApp-jOlpLQSV.js → LegalApp-CcO5Qq6R.js} +1 -1
  39. package/dist/assets/{LegalMarkdownDocument-RSNiyAu0.js → LegalMarkdownDocument-Be_fQbZ_.js} +1 -1
  40. package/dist/assets/{LegalPageShell-Cr90l1I2.js → LegalPageShell-B-HY1WG7.js} +1 -1
  41. package/dist/assets/{LibraryOverlay-DEQ5GuIs.js → LibraryOverlay-BilW6q_z.js} +1 -1
  42. package/dist/assets/LiveApp-C-OPBybd.css +1 -0
  43. package/dist/assets/LiveApp-DH3OxJFV.js +79 -0
  44. package/dist/assets/{LiveSettings-jn26sH4v.js → LiveSettings-CuVMy7rZ.js} +3 -3
  45. package/dist/assets/{MindMapViewerDrawer-CDDzzpFi.js → MindMapViewerDrawer-DI_S7fRZ.js} +1 -1
  46. package/dist/assets/{MindShape-BeZFay7O.js → MindShape-C_Bo9hW9.js} +1 -1
  47. package/dist/assets/PinToDashboard-Cz5UJCmq.js +1 -0
  48. package/dist/assets/PlanReview-CmUxzNqL.js +1 -0
  49. package/dist/assets/{Presence-CKSoyuhE.js → Presence-UqXfH4Y-.js} +1 -1
  50. package/dist/assets/PresentationDeck-B_EI33Pp.js +1 -0
  51. package/dist/assets/PrismApp-DtLsPiQF.js +2 -0
  52. package/dist/assets/PrismAskController-Bt0k9hAA.js +37 -0
  53. package/dist/assets/{PrismBriefingPlayer-BoB_PCTT.js → PrismBriefingPlayer-DzdtnFj4.js} +2 -2
  54. package/dist/assets/PrismOverlay-D1cDZamt.js +105 -0
  55. package/dist/assets/{PrismWorkbench-f0rLNBxb.js → PrismWorkbench-BEIp4MiL.js} +1 -1
  56. package/dist/assets/{PrivacyApp-CFs0PM5C.js → PrivacyApp-B4DT2RUz.js} +6 -5
  57. package/dist/assets/{ReplayCard-BkJbY0-I.js → ReplayCard-Dx46HCBT.js} +2 -2
  58. package/dist/assets/{ReplayOverlay-Dm_k7FBA.js → ReplayOverlay-CnJAxf0u.js} +1 -1
  59. package/dist/assets/{RewindOverlay-BSDbLgcN.js → RewindOverlay-CousnxXo.js} +1 -1
  60. package/dist/assets/RippleApp-D5j2VCt2.js +2 -0
  61. package/dist/assets/{RippleAskController-CywVzqUA.js → RippleAskController-9SxpZnHX.js} +2 -2
  62. package/dist/assets/{RippleOverlay-DVxfWEQ8.js → RippleOverlay-zcXAHPuJ.js} +2 -2
  63. package/dist/assets/{SeeDontRead-Ct4PY63d.js → SeeDontRead-Dqfzha0V.js} +1 -1
  64. package/dist/assets/{ShareModal-BILPvqjZ.js → ShareModal-DWxlrJSz.js} +2 -2
  65. package/dist/assets/{ShipCourse-DGj9BbRM.js → ShipCourse-BavQppkt.js} +1 -1
  66. package/dist/assets/{SignatureLoop-CfM-rTXb.js → SignatureLoop-L8W2h62w.js} +1 -1
  67. package/dist/assets/SynthesisApp-C2O6pFeM.js +2 -0
  68. package/dist/assets/{SynthesisOverlay-Dunk_JWD.js → SynthesisOverlay-DLvwiSMv.js} +1 -1
  69. package/dist/assets/{TermsApp-BUQa48cB.js → TermsApp-CxY1yorm.js} +4 -2
  70. package/dist/assets/TopicCanvas-LMI0zC7R.js +2 -0
  71. package/dist/assets/{TourPrism-zt1LIaLd.js → TourPrism-CI-iJZil.js} +1 -1
  72. package/dist/assets/TrackerTile-oz6IoG8m.js +2 -0
  73. package/dist/assets/{TwoSurfaces-CLOIlVvY.js → TwoSurfaces-Rnf-_WgY.js} +1 -1
  74. package/dist/assets/WhyMachineOverlay-ks9-rRiL.js +1 -0
  75. package/dist/assets/WorldOverlay-BaQNNClA.js +2 -0
  76. package/dist/assets/WorldOverlay-D7ay5y4D.css +1 -0
  77. package/dist/assets/{WowFeatures-CNVwRlf0.js → WowFeatures-C4efSbNV.js} +1 -1
  78. package/dist/assets/{ZoomDeck-DNgyW7Nm.js → ZoomDeck-CBrr0yfy.js} +1 -1
  79. package/dist/assets/{annotationAuto-C9weSF2k.js → annotationAuto-CDv6Es44.js} +1 -1
  80. package/dist/assets/{annotationReel-va1i-lKs.js → annotationReel-K2FYv-3B.js} +1 -1
  81. package/dist/assets/{backup-D--1WRte.js → backup-ZrlVatXc.js} +1 -1
  82. package/dist/assets/{blockTypes-CgNGx27_.js → blockTypes-DUDdP3pB.js} +1 -1
  83. package/dist/assets/canvas-Bsx3eSaS.js +1 -0
  84. package/dist/assets/{capture-BBxyt5SN.js → capture-D8uPIcfj.js} +1 -1
  85. package/dist/assets/confirmAdd-DzMO9jKV.js +1 -0
  86. package/dist/assets/{coreIcons-BzqW7Qiz.js → coreIcons-DDTChE1H.js} +1 -1
  87. package/dist/assets/csv-DAqzYXUs.js +5 -0
  88. package/dist/assets/{dashboardEvents-BDKxoLch.js → dashboardEvents-DKl5rrTD.js} +1 -1
  89. package/dist/assets/dashboards-C1u2ks-d.css +1 -0
  90. package/dist/assets/dataPending-DGdCvY5Y.js +1 -0
  91. package/dist/assets/display-CAb_PiGv.js +1 -0
  92. package/dist/assets/emphasize-BqCIst-B.js +1 -0
  93. package/dist/assets/engine-BiM6INsW.js +1 -0
  94. package/dist/assets/engine-CTvOaA86.css +1 -0
  95. package/dist/assets/explode-BgZIWY9m.js +15 -0
  96. package/dist/assets/format-g3dP8OI3.js +1 -0
  97. package/dist/assets/{generate-CemSUZ8A.js → generate-Dl2EJ_SR.js} +3 -3
  98. package/dist/assets/generateBeats-DZHkvFvh.js +1 -0
  99. package/dist/assets/{generateCourse-BIBbw-ZJ.js → generateCourse-C9qvaJRo.js} +1 -1
  100. package/dist/assets/{generateLive-BsXn4Y_d.js → generateLive-B6purd69.js} +18 -18
  101. package/dist/assets/index-Dk0QapqQ.js +22 -0
  102. package/dist/assets/index-DmKgC_TJ.css +1 -0
  103. package/dist/assets/{kokoro-C6P0LV4L.js → kokoro-P_fkcX-A.js} +1 -1
  104. package/dist/assets/lens-ChFJD9il.js +1 -0
  105. package/dist/assets/{liveSchema-B8OByCPH.js → liveSchema-B4bQtO88.js} +22 -21
  106. package/dist/assets/loader-DKJEcbPm.js +2 -0
  107. package/dist/assets/{model-BsQ5ixwB.js → model-BFRTN9Eh.js} +1 -1
  108. package/dist/assets/nextFrame-12y0UrAd.js +1 -0
  109. package/dist/assets/notes-B0-EE0FK.js +1 -0
  110. package/dist/assets/number-zqlPMliA.js +1 -0
  111. package/dist/assets/officeDoc-GU6Cssjf.js +3 -0
  112. package/dist/assets/openWorld-BHTJM39n.js +1 -0
  113. package/dist/assets/{pen-D9UT-ioQ.js → pen-DNMslo3e.js} +1 -1
  114. package/dist/assets/{perfProbe-BxyiHsI2.js → perfProbe-B9zJpjo9.js} +1 -1
  115. package/dist/assets/{pin-qQrH_dBi.js → pin-CZAIlpXt.js} +1 -1
  116. package/dist/assets/{planTracker-CjnznF7v.js → planTracker-KKAtTBWs.js} +1 -1
  117. package/dist/assets/portal-Dogggsub.js +1 -0
  118. package/dist/assets/{prewarm-CAZcnT4x.js → prewarm-B4ELBOxf.js} +1 -1
  119. package/dist/assets/providers-BovElgRL.js +1 -0
  120. package/dist/assets/{quietHours-_i5Uqz7z.js → quietHours-CeBje_uU.js} +1 -1
  121. package/dist/assets/ready-Ba6nk9O1.js +1 -0
  122. package/dist/assets/{ready-4lPJes2S.js → ready-jtAUOb62.js} +1 -1
  123. package/dist/assets/receipts-D7zveV-I.js +1 -0
  124. package/dist/assets/registry-6DGRAB1m.js +1 -0
  125. package/dist/assets/{registry-BzH7mEl7.js → registry-6MOD-I7p.js} +1 -1
  126. package/dist/assets/registry-BFrgx1tE.js +1 -0
  127. package/dist/assets/{registry-COkvZrNA.css → registry-BZuT2Epw.css} +1 -1
  128. package/dist/assets/{registry-CtvKPLd7.js → registry-CD1s3eQ-.js} +1 -1
  129. package/dist/assets/{registry-NbNNn_ra.js → registry-CqhpLHM7.js} +1 -1
  130. package/dist/assets/registry-Cse2wF7x.css +1 -0
  131. package/dist/assets/registry-DGNSqTxE.js +1 -0
  132. package/dist/assets/{registry-CkScyZGa.js → registry-GeAC3ZD7.js} +1 -1
  133. package/dist/assets/{relate-DHPSGB7a.js → relate-BYdM5eiV.js} +1 -1
  134. package/dist/assets/{replay-zh4xVk5G.js → replay-TYXO0Brm.js} +1 -1
  135. package/dist/assets/{run-DiPX83_J.js → run-Df10YPyB.js} +1 -1
  136. package/dist/assets/{run-ByCJN-29.js → run-DlvA3l28.js} +1 -1
  137. package/dist/assets/{run-BdDyp6Xv.js → run-gmqUaxcL.js} +2 -2
  138. package/dist/assets/seed-D_P5jyog.js +1 -0
  139. package/dist/assets/shapes-Cx5SCKgj.js +39 -0
  140. package/dist/assets/{spokenText-D3iS8fuI.js → spokenText-C88IQJ0M.js} +1 -1
  141. package/dist/assets/store-CsjDEADX.js +1 -0
  142. package/dist/assets/theme-7IrMJ70_.js +1 -0
  143. package/dist/assets/tiles-D-s6v-mA.js +1 -0
  144. package/dist/assets/types-C42I77wh.js +1 -0
  145. package/dist/assets/types-DuEbJpIA.js +1 -0
  146. package/dist/assets/useDashboardLoop-DDqCFJKY.js +5 -0
  147. package/dist/assets/useDashboards-SRk8LqHe.js +1 -0
  148. package/dist/assets/useLiveConfig-Cpy0_E_-.js +1 -0
  149. package/dist/assets/useSpatialCanvas-CfmZOXXP.js +1 -0
  150. package/dist/assets/{useStudy-B5874Bcg.js → useStudy-GwNcQWtv.js} +1 -1
  151. package/dist/assets/validate-sGUCmPAs.js +4 -0
  152. package/dist/assets/value-Dx7DZob4.js +1 -0
  153. package/dist/assets/walkSync-CPsd-xu7.js +1 -0
  154. package/dist/index.html +14 -13
  155. package/dist/legal/DISCLAIMER.md +2 -1
  156. package/dist/legal/PRIVACY.md +5 -4
  157. package/dist/legal/TERMS.md +3 -1
  158. package/docs/media/course-lesson.jpg +0 -0
  159. package/docs/media/living-answer.jpg +0 -0
  160. package/package.json +4 -1
  161. package/dist/assets/AnnotationLayer-DHHGgh8x.js +0 -2
  162. package/dist/assets/CanvasSkeleton-Bx0s36b_.js +0 -2
  163. package/dist/assets/CourseLessonReader-DeAuL1tO.js +0 -2
  164. package/dist/assets/DashboardDetail-CJzB85NC.js +0 -2
  165. package/dist/assets/DashboardLoopRuntime-CEnUpS-I.js +0 -1
  166. package/dist/assets/DashboardSettings-CmZWG3US.js +0 -1
  167. package/dist/assets/DashboardsApp-wCgs98G0.js +0 -2
  168. package/dist/assets/DemoGallery-Cg0ykVpG.js +0 -1
  169. package/dist/assets/ExportModal-rxndDhoO.js +0 -2
  170. package/dist/assets/ExtractionPreview-ChRAimKr.js +0 -18
  171. package/dist/assets/LiveApp-Bl7WBgqJ.css +0 -1
  172. package/dist/assets/LiveApp-CUoQgVo1.js +0 -62
  173. package/dist/assets/PinToDashboard-CSqwDBLD.js +0 -1
  174. package/dist/assets/PlanReview-ChZeUHQO.js +0 -1
  175. package/dist/assets/PresentationDeck-Dj9MQVZC.js +0 -1
  176. package/dist/assets/PrismApp-Dfs6eAuR.js +0 -2
  177. package/dist/assets/PrismAskController-CSsCkRC8.js +0 -37
  178. package/dist/assets/PrismOverlay-CGtr7lBl.js +0 -109
  179. package/dist/assets/RippleApp-DW1rpKHe.js +0 -2
  180. package/dist/assets/SynthesisApp-C43ZO6Ew.js +0 -2
  181. package/dist/assets/TopicCanvas-DR26Swr_.js +0 -2
  182. package/dist/assets/TrackerTile-sYD2MM_4.js +0 -2
  183. package/dist/assets/WhyMachineOverlay-Nll4Wco-.js +0 -1
  184. package/dist/assets/canvas-DIs20T9l.js +0 -1
  185. package/dist/assets/confirmAdd-BDNV8RqF.js +0 -1
  186. package/dist/assets/dashboards-Dy4MTJQ5.css +0 -1
  187. package/dist/assets/dataPending-lZUzUEo6.js +0 -1
  188. package/dist/assets/explode-fgkkWz8o.js +0 -13
  189. package/dist/assets/format-rPI6ZwwH.js +0 -1
  190. package/dist/assets/generateBeats-aqKTlSN2.js +0 -1
  191. package/dist/assets/index-B69GkoTc.css +0 -1
  192. package/dist/assets/index-D1SPhBGd.js +0 -22
  193. package/dist/assets/notes-U6gRKVHk.js +0 -1
  194. package/dist/assets/number-DXgzss0v.js +0 -1
  195. package/dist/assets/officeDoc-Dn8jw1fG.js +0 -3
  196. package/dist/assets/portal-t0bsUEg2.js +0 -1
  197. package/dist/assets/providers-DdJWf_PE.js +0 -1
  198. package/dist/assets/ready-LSwk88I-.js +0 -1
  199. package/dist/assets/registry-9QjeHgKs.js +0 -1
  200. package/dist/assets/registry-CueC1vq1.js +0 -1
  201. package/dist/assets/registry-CxUmdwDk.js +0 -1
  202. package/dist/assets/registry-DScSjt8p.css +0 -1
  203. package/dist/assets/shapes-DI0LQC8n.js +0 -1
  204. package/dist/assets/store-DpmbKVs7.js +0 -1
  205. package/dist/assets/theme-f0mztBcq.js +0 -1
  206. package/dist/assets/tiles-pdNi6MGe.js +0 -1
  207. package/dist/assets/useDashboardLoop-DuckIfJX.js +0 -5
  208. package/dist/assets/useDashboards-BMcuCWoz.js +0 -1
  209. package/dist/assets/useLiveConfig-9eJ7EM3B.js +0 -1
  210. package/dist/assets/useSpatialCanvas-CtVsYmp8.js +0 -1
  211. /package/dist/assets/{registry-DLyrLfe-2.js → registry-DLyrLfe-.js} +0 -0
@@ -1 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-DkW27tQK.js";import{t}from"./react-BZJXY1be.js";import{t as n}from"./compiler-runtime-qQQXpJgv.js";import{t as r}from"./jsx-runtime-DeHZSEgm.js";import{n as i}from"./icons-gLFQTv74.js";import{t as a}from"./richText-BkxJhl9N.js";import{i as o}from"./scale-Bcgfo6Hp.js";import{t as s}from"./BlockEmpty-B82uCse8.js";import"./lib-B7OE1ZQQ.js";import{n as c}from"./motion-DxHSlPN6.js";import{t as l}from"./registry-types-D3q_LrlV.js";import{n as u,t as d}from"./fitText-DQ2omSN0.js";import{t as f}from"./MindShape-BeZFay7O.js";var p=9,m=3.5,h=4;function g(e,t,n){let r=new Set(e.map(e=>`${e.from}→${e.to}`));return e.map((e,i)=>{let a=t[e.from],o=t[e.to],s=`edge-${i}-${e.from}-${e.to}`;if(e.self||e.from===e.to){if(!a)return y(s,e);let t=a.x,r=a.y-n-10,i=`M ${a.x-4} ${a.y-n} a 7 7 0 1 1 8 0`;return{key:s,from:e.from,to:e.to,label:e.label,d:i,lx:t,ly:r,labelOffset:0,labelAnchor:`middle`,isCurved:!1}}if(!a||!o)return y(s,e);let c=o.x-a.x,l=o.y-a.y,u=Math.hypot(c,l)||1,d=c/u,f=l/u,g=a.x+d*n,_=a.y+f*n,v=o.x-d*(n+2),b=o.y-f*(n+2);if(!r.has(`${e.to}→${e.from}`)){let t=(g+v)/2,n=(_+b)/2,r=`M ${g} ${_} L ${v} ${b}`,i=-f,a=d;return a>0&&(i=-i,a=-a),{key:s,from:e.from,to:e.to,label:e.label,d:r,lx:t+i*m,ly:n+a*m,labelOffset:m,labelAnchor:`middle`,isCurved:!1}}let x=-f,S=d,C=(a.x+o.x)/2,w=(a.y+o.y)/2,T=C+x*p,E=w+S*p,D=`M ${g} ${_} Q ${T} ${E} ${v} ${b}`,O=(g+2*T+v)/4,k=(_+2*E+b)/4,A=x>.4?`start`:x<-.4?`end`:`middle`;return{key:s,from:e.from,to:e.to,label:e.label,d:D,lx:O+x*h,ly:k+S*h,labelOffset:h,labelAnchor:A,isCurved:!0}})}function _(e,t=50,n=50,r=32){let i=e<=4?r:r+(e-4)*3,a=e===2?Math.PI:-Math.PI/2;return Array.from({length:e},(r,o)=>{let s=o/e*2*Math.PI+a;return{x:t+i*Math.cos(s),y:n+i*Math.sin(s)}})}function v(e){return e<=4?11:e<=7?9:e<=10?7.5:6.5}function y(e,t){return{key:e,from:t.from,to:t.to,label:t.label,d:`M 50 50 L 50 50`,lx:50,ly:50,labelOffset:0,labelAnchor:`middle`,isCurved:!1}}var b=t(),x=r(),S=e=>typeof e==`number`?String(e):e;function C(e,t){return e?e.swapped?.includes(t)?`swapped`:e.compare?.includes(t)?`compared`:e.highlight?.includes(t)?`highlight`:`none`:`none`}var w=[900,350,100],T=[`1×`,`2×`,`8×`];function E(e){return e?{"o-1":`O(1)`,"o-logn":`O(log n)`,"o-n":`O(n)`,"o-nlogn":`O(n log n)`,"o-n2":`O(n²)`,"o-2n":`O(2ⁿ)`}[e]??e:``}function D({title:e,icon:t=`layers`,iconColor:n=`var(--presence)`,values:r,steps:o,complexity:s,autoPlay:c,caption:l,footer:u,delay:d}){let f=i[t]||i.layers,p=Math.max(1,o.length),[m,h]=(0,b.useState)(0),[g,_]=(0,b.useState)(c??!1),[v,y]=(0,b.useState)(1),D=(0,b.useRef)(m);D.current=m;let O=o[Math.min(m,o.length-1)],k=(0,b.useRef)(typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches);(0,b.useEffect)(()=>{if(!g)return;let e=setInterval(()=>{let e=D.current+1;if(e>=o.length){_(!1);return}h(e)},w[v]);return()=>clearInterval(e)},[g,o.length,v]);let A=(0,b.useCallback)(e=>{_(!1),h(Math.min(o.length-1,Math.max(0,e)))},[o.length]),j=(0,b.useCallback)(()=>{k.current||_(e=>(!e&&m>=o.length-1&&h(0),!e))},[m,o.length]),M=(0,b.useMemo)(()=>{let e=O?.pointer;return e?Object.entries(e).filter(([,e])=>Number.isFinite(e)&&e>=0&&e<r.length).sort((e,t)=>e[1]-t[1]||e[0].localeCompare(t[0])).map(([e,t])=>({label:e,index:t})):[]},[O,r.length]),N=(0,b.useMemo)(()=>{let e=new Map;for(let t of M){let n=e.get(t.index)??[];n.push(t.label),e.set(t.index,n)}return e},[M]),P=M.length>0;return(0,x.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(d||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(f,{className:`ic`,style:{color:n}}),e,s&&(0,x.jsx)(`span`,{className:`dg-at-complexity`,title:`Time complexity: ${E(s)}`,children:E(s)})]}),(0,x.jsx)(`p`,{className:`dg-at-caption`,"aria-live":`polite`,children:O?.caption??``}),(0,x.jsx)(`div`,{className:`dg-at-row`,role:`group`,"aria-label":`array`,children:r.map((e,t)=>{let n=C(O,t),r=N.get(t);return(0,x.jsxs)(`div`,{className:`dg-at-cell-wrap`,children:[(0,x.jsx)(`div`,{className:`dg-at-cell role-${n}`,children:S(e)}),(0,x.jsx)(`div`,{className:`dg-at-idx`,children:t}),P&&(0,x.jsx)(`div`,{className:`dg-at-ptr-slot`,children:r&&(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`span`,{className:`dg-at-ptr-caret`,"aria-hidden":`true`}),(0,x.jsx)(`span`,{className:`dg-at-ptr-labels`,children:r.join(` · `)})]})})]},t)})}),(0,x.jsxs)(`div`,{className:`dg-at-controls`,children:[(0,x.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>A(m-1),disabled:m===0,"aria-label":`previous step`,children:[(0,x.jsx)(i.chevL,{className:`ic`}),` Prev`]}),!k.current&&(0,x.jsx)(`button`,{type:`button`,className:`dg-at-btn dg-at-play`+(g?` playing`:``),onClick:j,"aria-label":g?`pause`:`play`,children:g?(0,x.jsx)(i.pause,{className:`ic`}):(0,x.jsx)(i.play,{className:`ic`})}),!k.current&&(0,x.jsx)(`button`,{type:`button`,className:`dg-at-btn dg-at-speed`,onClick:()=>y(e=>(e+1)%3),"aria-label":`speed: ${T[v]}`,children:T[v]}),(0,x.jsx)(`div`,{className:`dg-at-progress`,"aria-hidden":`true`,children:o.map((e,t)=>(0,x.jsx)(`span`,{className:`dg-at-dot`+(t===m?` on`:t<m?` done`:``)},t))}),(0,x.jsxs)(`span`,{className:`dg-at-count`,children:[Math.min(m+1,p),` / `,p]}),(0,x.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>A(m+1),disabled:m>=o.length-1,"aria-label":`next step`,children:[`Next `,(0,x.jsx)(i.chevR,{className:`ic`})]})]}),O?.ops&&(0,x.jsxs)(`div`,{className:`dg-at-ops`,children:[O.ops.comparisons!==void 0&&(0,x.jsxs)(`span`,{children:[O.ops.comparisons,` cmp`]}),O.ops.comparisons!==void 0&&O.ops.swaps!==void 0&&(0,x.jsx)(`span`,{className:`dg-at-ops-sep`,children:`·`}),O.ops.swaps!==void 0&&(0,x.jsxs)(`span`,{children:[O.ops.swaps,` swap`]})]}),l&&(0,x.jsx)(`p`,{className:`dg-at-cap`,children:l}),u&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(u)})]})}var O=11;function k(e){return typeof e==`string`&&e.trim().length>0}function A(e){let t=Array.isArray(e)?e:[],n=[];for(let e of t)!e||!k(e.familiar)||!k(e.target)||n.push({familiar:e.familiar,target:e.target,note:k(e.note)?e.note:void 0,loose:!!e.loose});return n}function j({title:e,icon:t=`link`,iconColor:n=`var(--presence)`,familiar:r,target:o,pairs:c,breaksDown:l,caption:u,footer:d,delay:f}){let p=i[t]||i.link,m=A(c),h=(Array.isArray(l)?l:[]).filter(k),g=m.some(e=>e.loose),_=k(r)?r:``,v=k(o)?o:``,y=k(u)?u:``,b=d!=null&&String(d).trim()!==``;return(0,x.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(f||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(p,{className:`ic`,style:{color:n}}),` `,e]}),m.length>0&&(0,x.jsxs)(`div`,{className:`ana`,children:[(0,x.jsxs)(`div`,{className:`ana-heads`,children:[(0,x.jsxs)(`div`,{className:`ana-head ana-head--familiar`,children:[(0,x.jsx)(`span`,{className:`ana-head-role`,children:`Known`}),_&&(0,x.jsx)(`span`,{className:`ana-head-name`,children:_})]}),(0,x.jsx)(`div`,{className:`ana-head-joint`,children:`maps onto`}),(0,x.jsxs)(`div`,{className:`ana-head ana-head--target`,children:[(0,x.jsx)(`span`,{className:`ana-head-role`,children:`New`}),v&&(0,x.jsx)(`span`,{className:`ana-head-name`,children:v})]})]}),(0,x.jsx)(`div`,{className:`ana-rows`,children:m.map((e,t)=>(0,x.jsxs)(`div`,{className:`ana-row m-stagger-item m-fade-rise`,style:{"--i":Math.min(t,O)},children:[(0,x.jsx)(`div`,{className:`ana-side ana-side--familiar`,children:e.familiar}),(0,x.jsx)(`div`,{className:e.loose?`ana-link ana-link--loose`:`ana-link`,children:(0,x.jsxs)(`span`,{className:`ana-rail`,children:[(0,x.jsx)(`span`,{className:`ana-rail-dot`}),(0,x.jsx)(`span`,{className:`ana-rail-line`}),e.note&&(0,x.jsx)(`span`,{className:`ana-note`,children:e.note}),(0,x.jsx)(`span`,{className:`ana-rail-line`}),(0,x.jsx)(`span`,{className:`ana-rail-head`})]})}),(0,x.jsx)(`div`,{className:`ana-side ana-side--target`,children:e.target})]},t))}),g&&(0,x.jsx)(`div`,{className:`ana-legend`,children:`Dashed — the match is only approximate`})]}),h.length>0&&(0,x.jsxs)(`div`,{className:`ana-limits`,children:[(0,x.jsxs)(`div`,{className:`ana-limits-head`,children:[(0,x.jsx)(i.alert,{className:`ic`,style:{width:13,height:13}}),`Where the analogy breaks down`]}),(0,x.jsx)(`ul`,{className:`ana-limits-list`,children:h.map((e,t)=>(0,x.jsx)(`li`,{children:e},t))})]}),y&&(0,x.jsx)(`p`,{className:`ana-caption`,children:y}),m.length===0&&h.length===0&&!y&&!b&&(0,x.jsx)(s,{message:`No correspondences to map`}),b&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(d)})]})}var M={support:`var(--insight)`,objection:`var(--warning)`,qualifier:`var(--text-muted)`},N={support:`+ For`,objection:`− Against`,qualifier:`~ Qualifier`};function P({title:e,icon:t=`proof`,iconColor:n=`var(--presence)`,claim:r,premises:o,verdict:s,footer:c,delay:l}){let u=i[t]||i.proof,d=o.filter(e=>e.type===`support`),f=o.filter(e=>e.type===`objection`),p=o.filter(e=>e.type===`qualifier`);return(0,x.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(l||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`am-claim`,children:r}),(0,x.jsxs)(`div`,{className:`am-columns`,children:[(0,x.jsxs)(`div`,{className:`am-col am-col--support`,children:[d.length>0&&(0,x.jsx)(`div`,{className:`am-col-label`,style:{color:M.support},children:N.support}),d.map((e,t)=>(0,x.jsxs)(`div`,{className:`am-premise am-premise--support`,children:[(0,x.jsx)(`span`,{className:`am-premise-rail`,style:{background:M.support}}),(0,x.jsxs)(`div`,{className:`am-premise-body`,children:[(0,x.jsx)(`span`,{className:`am-premise-text`,children:e.text}),e.sub&&(0,x.jsx)(`span`,{className:`am-premise-sub`,children:e.sub})]})]},t))]}),(0,x.jsxs)(`div`,{className:`am-col am-col--objection`,children:[f.length>0&&(0,x.jsx)(`div`,{className:`am-col-label`,style:{color:M.objection},children:N.objection}),f.map((e,t)=>(0,x.jsxs)(`div`,{className:`am-premise am-premise--objection`,children:[(0,x.jsx)(`span`,{className:`am-premise-rail`,style:{background:M.objection}}),(0,x.jsxs)(`div`,{className:`am-premise-body`,children:[(0,x.jsx)(`span`,{className:`am-premise-text`,children:e.text}),e.sub&&(0,x.jsx)(`span`,{className:`am-premise-sub`,children:e.sub})]})]},t))]})]}),p.length>0&&(0,x.jsxs)(`div`,{className:`am-qualifiers`,children:[(0,x.jsx)(`div`,{className:`am-col-label`,style:{color:M.qualifier},children:N.qualifier}),p.map((e,t)=>(0,x.jsxs)(`div`,{className:`am-premise am-premise--qualifier`,children:[(0,x.jsx)(`span`,{className:`am-premise-rail`,style:{background:M.qualifier}}),(0,x.jsxs)(`div`,{className:`am-premise-body`,children:[(0,x.jsx)(`span`,{className:`am-premise-text`,children:e.text}),e.sub&&(0,x.jsx)(`span`,{className:`am-premise-sub`,children:e.sub})]})]},t))]}),s&&(0,x.jsxs)(`div`,{className:`am-verdict`,children:[(0,x.jsx)(i.check,{className:`ic`,style:{width:13,height:13}}),s]}),c&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(c)})]})}var ee=16,te=44,ne=60,re=24,ie=6;function ae(e){return e<=2?11:e<=3?9:e<=4?8:7}function oe(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function se(e,t,n){let r=0,i=new Map,a=new Map;function o(t,n){let s=e.get(t);s&&(s.left&&o(s.left,n+1),i.set(t,r++),a.set(t,n),s.right&&o(s.right,n+1))}o(t,0);let s=r,c=Math.max(0,...a.values()),l=Math.max(120,s*te+48),u=(c+1)*ne+48,d=[];for(let[t,r]of i){let i=a.get(t)??0,o=e.get(t);d.push({id:t,value:o.value,x:re+r*te+te/2,y:re+i*ne+ee,state:n[t]??`default`,left:o.left,right:o.right})}return{nodes:d,W:l,H:u}}var ce={default:`color-mix(in oklab, var(--surface-elevated) 100%, transparent)`,visiting:`color-mix(in oklab, var(--presence) 22%, transparent)`,visited:`color-mix(in oklab, var(--text-faint) 14%, transparent)`,found:`color-mix(in oklab, var(--insight) 22%, transparent)`,highlight:`color-mix(in oklab, var(--warning) 22%, transparent)`},le={default:`var(--grid-line)`,visiting:`var(--presence)`,visited:`var(--text-faint)`,found:`var(--insight)`,highlight:`var(--warning)`},ue={default:`var(--text-primary)`,visiting:`var(--presence)`,visited:`var(--text-faint)`,found:`var(--insight)`,highlight:`var(--warning)`};function de({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,nodes:r,root:o,steps:s,caption:c,footer:l,delay:u}){let d=i[t]??i.share,[f,p]=(0,b.useState)(0),m=Math.min(f,(s?.length??1)-1),h=s?.[m],g=(0,b.useMemo)(()=>h?h.states:{},[h]),_=(0,b.useMemo)(()=>{let e=new Map;for(let t of r)e.set(t.id,t);return e},[r]),{nodes:v,W:y,H:S}=(0,b.useMemo)(()=>se(_,o,g),[_,o,g]),C=(0,b.useMemo)(()=>{let e=new Map;for(let t of v)e.set(t.id,{x:t.x,y:t.y});return e},[v]),w=s?.length??0,T=e=>p(Math.min(w-1,Math.max(0,e)));return(0,x.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u??0)+`ms`},children:[e&&(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),h&&(0,x.jsx)(`p`,{className:`dg-at-caption`,"aria-live":`polite`,children:h.caption}),(0,x.jsxs)(`svg`,{viewBox:`0 0 ${y} ${S}`,width:`100%`,className:`dg-bt-svg`,"aria-label":e??`binary tree`,role:`img`,style:{overflow:`visible`},children:[v.map(e=>(0,x.jsxs)(`g`,{children:[e.left&&(()=>{let t=C.get(e.left);return t?(0,x.jsx)(`line`,{x1:e.x,y1:e.y,x2:t.x,y2:t.y,className:`dg-bt-edge`},`e-${e.id}-l`):null})(),e.right&&(()=>{let t=C.get(e.right);return t?(0,x.jsx)(`line`,{x1:e.x,y1:e.y,x2:t.x,y2:t.y,className:`dg-bt-edge`},`e-${e.id}-r`):null})()]},`edges-${e.id}`)),v.map(e=>(0,x.jsxs)(`g`,{transform:`translate(${e.x} ${e.y})`,children:[(0,x.jsx)(`circle`,{r:ee,fill:ce[e.state],stroke:le[e.state],strokeWidth:e.state==="default"?1.5:2,className:`dg-bt-node`}),(0,x.jsxs)(`text`,{textAnchor:`middle`,dominantBaseline:`central`,fontSize:ae(e.value.toString().length),fontWeight:`600`,fill:ue[e.state],className:`dg-bt-label`,children:[e.value.toString().length>ie&&(0,x.jsx)(`title`,{children:e.value}),oe(e.value.toString(),ie)]})]},`node-${e.id}`))]}),h&&(h.frontier!==void 0||h.result!==void 0)&&(0,x.jsxs)(`div`,{className:`dg-bt-panels`,children:[h.frontier!==void 0&&(0,x.jsxs)(`div`,{className:`dg-bt-panel`,children:[(0,x.jsx)(`span`,{className:`dg-bt-panel-label`,children:`Frontier`}),(0,x.jsx)(`div`,{className:`dg-bt-chips`,children:h.frontier.length===0?(0,x.jsx)(`span`,{className:`dg-bt-chip dg-bt-chip-empty`,children:`∅`}):h.frontier.map((e,t)=>(0,x.jsx)(`span`,{className:`dg-bt-chip`,children:e},t))})]}),h.result!==void 0&&(0,x.jsxs)(`div`,{className:`dg-bt-panel`,children:[(0,x.jsx)(`span`,{className:`dg-bt-panel-label`,children:`Result`}),(0,x.jsx)(`div`,{className:`dg-bt-chips`,children:h.result.length===0?(0,x.jsx)(`span`,{className:`dg-bt-chip dg-bt-chip-empty`,children:`—`}):h.result.map((e,t)=>(0,x.jsx)(`span`,{className:`dg-bt-chip dg-bt-chip-result`,children:e},t))})]})]}),s&&s.length>0&&(0,x.jsxs)(`div`,{className:`dg-at-controls`,children:[(0,x.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>T(m-1),disabled:m===0,"aria-label":`previous step`,children:[(0,x.jsx)(i.chevL,{className:`ic`}),` Prev`]}),(0,x.jsx)(`div`,{className:`dg-at-progress`,"aria-hidden":`true`,children:s.map((e,t)=>(0,x.jsx)(`span`,{className:`dg-at-dot`+(t===m?` on`:t<m?` done`:``)},t))}),(0,x.jsxs)(`span`,{className:`dg-at-count`,children:[m+1,` / `,w]}),(0,x.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>T(m+1),disabled:m>=w-1,"aria-label":`next step`,children:[`Next `,(0,x.jsx)(i.chevR,{className:`ic`})]})]}),c&&(0,x.jsx)(`p`,{className:`dg-at-cap`,children:c}),l&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(l)})]})}var F=n(),I=1e3,fe=I/2,pe=I/2,me=60,he=30,ge={ally:`var(--insight)`,rival:`var(--warning)`,family:`var(--presence-soft)`,love:`var(--presence)`,mentor:`var(--insight-soft)`,betrays:`var(--danger)`,other:`var(--text-muted)`},_e={ally:`Ally`,rival:`Rival`,family:`Family`,love:`Love`,mentor:`Mentor`,betrays:`Betrays`,other:`Linked`},ve=new Set([`mentor`,`betrays`]),ye=new Set([`mentor`,`betrays`,`other`]),be=[`var(--presence)`,`var(--insight)`,`var(--warning)`,`var(--danger)`,`var(--presence-soft)`,`var(--insight-soft)`];function xe(e,t,n){return Math.min(n,Math.max(t,e))}function Se(e){return e&&e in ge?e:`other`}function Ce(e,t,n,r){let i=Math.atan2(n-e.cy,t-e.cx),a=r?1:-1;return{x:e.cx+a*Math.cos(i)*(e.rx+4),y:e.cy+a*Math.sin(i)*(e.ry+4)}}function we({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,nodes:r,links:o,caption:s,footer:c,delay:l}){let u=i[t]||i.share,d=(0,b.useId)().replace(/:/g,``),{placed:f,factions:p}=(0,b.useMemo)(()=>{let e=(r??[]).filter(e=>e&&e.id&&e.name),t=[];for(let n of e){let e=n.faction?.trim();e&&!t.includes(e)&&t.push(e)}let n=new Map(t.map((e,t)=>[e,be[t%be.length]])),i=e=>e.faction?.trim()||``,a=[...e].sort((e,n)=>(i(e)?t.indexOf(i(e)):t.length)-(i(n)?t.indexOf(i(n)):t.length)),o=a.length,s=o<=1?0:Math.min(I/2-he-me/2,350+Math.max(0,o-10)*10),c=xe((o>1?2*s*Math.sin(Math.PI/o):I)*.84,104,200);return{placed:a.map((e,t)=>{let r=-Math.PI/2+t/Math.max(1,o)*Math.PI*2;return{...e,cx:fe+Math.cos(r)*s,cy:pe+Math.sin(r)*s,color:n.get(i(e))||`var(--line-strong)`,rx:c/2,ry:me/2}}),factions:t.map(e=>({name:e,color:n.get(e)}))}},[r]),m=(0,b.useMemo)(()=>new Map(f.map(e=>[e.id,e])),[f]),h=(0,b.useMemo)(()=>(o??[]).map(e=>({link:e,a:m.get(e.from),b:m.get(e.to),kind:Se(e.kind)})).filter(e=>!!(e.a&&e.b&&e.a!==e.b)),[o,m]),g=(0,b.useMemo)(()=>[...new Set(h.filter(e=>ve.has(e.kind)).map(e=>e.kind))],[h]),_=(0,b.useMemo)(()=>[...new Set(h.map(e=>e.kind))],[h]);return(0,x.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(l||0)+`ms`},children:[e&&(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),f.length===0?(0,x.jsx)(`p`,{className:`cast-empty`,children:`No cast to map yet.`}):(0,x.jsx)(`div`,{className:`cast-stage`,children:(0,x.jsxs)(`svg`,{className:`cast-svg`,viewBox:`0 0 ${I} ${I}`,preserveAspectRatio:`xMidYMid meet`,role:`img`,"aria-label":e||`Relationship map`,children:[(0,x.jsx)(`defs`,{children:g.map(e=>(0,x.jsx)(`marker`,{id:`cast-arrow-${d}-${e}`,viewBox:`0 0 10 10`,refX:`8`,refY:`5`,markerWidth:`7`,markerHeight:`7`,orient:`auto-start-reverse`,children:(0,x.jsx)(`path`,{d:`M0 0 L10 5 L0 10 z`,fill:ge[e]})},e))}),h.map((e,t)=>(0,x.jsx)(Te,{edge:e,uid:d},t)),f.map(e=>(0,x.jsx)(Oe,{node:e},e.id))]})}),(_.length>0||p.length>0)&&(0,x.jsxs)(`div`,{className:`cast-legend`,children:[_.map(e=>(0,x.jsxs)(`span`,{className:`cast-legend-item`,children:[(0,x.jsx)(`span`,{className:`cast-swatch cast-swatch--line${ye.has(e)?` is-dashed`:``}`,style:{color:ge[e]}}),_e[e]]},`k-${e}`)),p.map(e=>(0,x.jsxs)(`span`,{className:`cast-legend-item`,children:[(0,x.jsx)(`span`,{className:`cast-swatch`,style:{background:e.color}}),e.name]},`f-${e.name}`))]}),s&&(0,x.jsx)(`p`,{className:`cast-caption`,children:s}),c&&(0,x.jsx)(`div`,{className:`cast-foot`,dangerouslySetInnerHTML:a(c)})]})}function Te(e){let t=(0,F.c)(38),{edge:n,uid:r}=e,{a:i,b:a,kind:o,link:s}=n,c,l,u,d,f,p,m,h,g,_,v;if(t[0]!==i||t[1]!==a||t[2]!==o||t[3]!==r){let e=Ce(i,a.cx,a.cy,!0),n=Ce(a,i.cx,i.cy,!1),s=(e.x+n.x)/2,y=(e.y+n.y)/2,b=n.x-e.x,x=n.y-e.y,S;t[15]!==b||t[16]!==x?(S=Math.hypot(b,x)||1,t[15]=b,t[16]=x,t[17]=S):S=t[17];let C=S,w=Math.min(64,C*.14);l=s-x/C*w,u=y+b/C*w,d=ge[o];let T;t[18]!==o||t[19]!==r?(T=ve.has(o)?`url(#cast-arrow-${r}-${o})`:void 0,t[18]=o,t[19]=r,t[20]=T):T=t[20],c=T,v=`cast-edge`,f=e.x.toFixed(1),p=e.y.toFixed(1),t[21]===l?m=t[22]:(m=l.toFixed(1),t[21]=l,t[22]=m),t[23]===u?h=t[24]:(h=u.toFixed(1),t[23]=u,t[24]=h),g=n.x.toFixed(1),_=n.y.toFixed(1),t[0]=i,t[1]=a,t[2]=o,t[3]=r,t[4]=c,t[5]=l,t[6]=u,t[7]=d,t[8]=f,t[9]=p,t[10]=m,t[11]=h,t[12]=g,t[13]=_,t[14]=v}else c=t[4],l=t[5],u=t[6],d=t[7],f=t[8],p=t[9],m=t[10],h=t[11],g=t[12],_=t[13],v=t[14];let y=`M ${f} ${p} Q ${m} ${h} ${g} ${_}`,b=ye.has(o)?`8 7`:void 0,S;t[25]!==c||t[26]!==d||t[27]!==y||t[28]!==b?(S=(0,x.jsx)(`path`,{d:y,fill:`none`,stroke:d,strokeWidth:2.4,strokeDasharray:b,markerEnd:c,opacity:.82}),t[25]=c,t[26]=d,t[27]=y,t[28]=b,t[29]=S):S=t[29];let C;t[30]!==l||t[31]!==u||t[32]!==s.label?(C=s.label&&(0,x.jsxs)(`g`,{transform:`translate(${l.toFixed(1)}, ${(u-16).toFixed(1)})`,children:[(0,x.jsx)(`rect`,{className:`cast-edge-lbl-bg`,x:-ke(s.label)/2,y:-11,width:ke(s.label),height:20,rx:6}),(0,x.jsx)(`text`,{className:`cast-edge-lbl`,x:0,y:0,textAnchor:`middle`,dominantBaseline:`middle`,children:je(s.label,16)})]}),t[30]=l,t[31]=u,t[32]=s.label,t[33]=C):C=t[33];let w;return t[34]!==S||t[35]!==C||t[36]!==v?(w=(0,x.jsxs)(`g`,{className:v,children:[S,C]}),t[34]=S,t[35]=C,t[36]=v,t[37]=w):w=t[37],w}var Ee=27,De=21;function Oe(e){let t=(0,F.c)(59),{node:n}=e,r=!!n.role,i=n.rx*2,a;t[0]===i?a=t[1]:(a=Math.round(i/11),t[0]=i,t[1]=a);let o=Math.min(r?15:13,Math.max(6,a)),s;t[2]===i?s=t[3]:(s=Math.round(i/8),t[2]=i,t[3]=s);let c=Math.min(22,Math.max(8,s)),l,u,d,f,p,m,h,g,_,v;if(t[4]!==r||t[5]!==n.color||t[6]!==n.cx||t[7]!==n.cy||t[8]!==n.name||t[9]!==n.rx||t[10]!==n.ry||t[11]!==o){l=Ae(n.name,o,r?1:2);let e=l.length*Ee+(r?De:0);v=n.cy-e/2+Ee*.74,g=`cast-node`;let i=n.cx-n.rx,a=n.cy-n.ry,s=n.rx*2,c=n.ry*2,y;t[22]===n.color?y=t[23]:(y={stroke:n.color},t[22]=n.color,t[23]=y),t[24]!==i||t[25]!==a||t[26]!==s||t[27]!==c||t[28]!==y?(_=(0,x.jsx)(`rect`,{x:i,y:a,width:s,height:c,rx:14,className:`cast-chip`,style:y}),t[24]=i,t[25]=a,t[26]=s,t[27]=c,t[28]=y,t[29]=_):_=t[29];let b=n.cx-n.rx,S=n.cy-n.ry+8,C=n.ry*2-16;t[30]!==n.color||t[31]!==b||t[32]!==S||t[33]!==C?(u=(0,x.jsx)(`rect`,{x:b,y:S,width:4,height:C,rx:2,fill:n.color}),t[30]=n.color,t[31]=b,t[32]=S,t[33]=C,t[34]=u):u=t[34],d=`cast-name`,f=n.cx,p=`middle`,t[35]===n.name?m=t[36]:(m=(0,x.jsx)(`title`,{children:n.name}),t[35]=n.name,t[36]=m);let w;t[37]!==n.cx||t[38]!==v?(w=(e,t)=>(0,x.jsx)(`tspan`,{x:n.cx,y:v+t*Ee,children:e},t),t[37]=n.cx,t[38]=v,t[39]=w):w=t[39],h=l.map(w),t[4]=r,t[5]=n.color,t[6]=n.cx,t[7]=n.cy,t[8]=n.name,t[9]=n.rx,t[10]=n.ry,t[11]=o,t[12]=l,t[13]=u,t[14]=d,t[15]=f,t[16]=p,t[17]=m,t[18]=h,t[19]=g,t[20]=_,t[21]=v}else l=t[12],u=t[13],d=t[14],f=t[15],p=t[16],m=t[17],h=t[18],g=t[19],_=t[20],v=t[21];let y;t[40]!==d||t[41]!==f||t[42]!==p||t[43]!==m||t[44]!==h?(y=(0,x.jsxs)(`text`,{className:d,x:f,textAnchor:p,children:[m,h]}),t[40]=d,t[41]=f,t[42]=p,t[43]=m,t[44]=h,t[45]=y):y=t[45];let b;t[46]!==r||t[47]!==l||t[48]!==n.cx||t[49]!==n.role||t[50]!==c||t[51]!==v?(b=r&&(0,x.jsx)(`text`,{className:`cast-role`,x:n.cx,y:v+l.length*Ee+2,textAnchor:`middle`,children:je(n.role,c)}),t[46]=r,t[47]=l,t[48]=n.cx,t[49]=n.role,t[50]=c,t[51]=v,t[52]=b):b=t[52];let S;return t[53]!==u||t[54]!==y||t[55]!==b||t[56]!==g||t[57]!==_?(S=(0,x.jsxs)(`g`,{className:g,children:[_,u,y,b]}),t[53]=u,t[54]=y,t[55]=b,t[56]=g,t[57]=_,t[58]=S):S=t[58],S}function ke(e){return Math.min(e.length,16)*9+14}function Ae(e,t,n){let r=e.split(/\s+/).filter(Boolean),i=[],a=``,o=!1;for(let e of r){let r=a?`${a} ${e}`:e;if(r.length<=t||!a)a=r;else if(i.push(a),a=e,i.length===n){o=!0,a=``;break}}if(a&&i.length<n&&i.push(a),i.length){let e=i.length-1,n=i[e];n.length>t&&(n=n.slice(0,t-1).trimEnd()),(o||i[e].length>t)&&(n=n.replace(/[…\s]*$/,``)+`…`),i[e]=n}return i.length?i:[``]}function je(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}var Me=720,Ne=18,L=34,Pe=18,Fe=190,Ie=46,Le=14,Re=16,ze=168,Be=64,Ve=210,He=13,Ue=24,We=Ne,Ge=512,Ke=276,qe=360,Je={short:`var(--insight)`,long:`var(--warning)`},Ye={short:`Short-term`,long:`Long-term`};function Xe(e){let t=e=>e===`short`?0:e===`long`?2:1,n=e.map((e,t)=>({item:e,i:t})).sort((e,n)=>t(e.item.term)-t(n.item.term)||e.i-n.i).map(e=>e.item);return n.map((e,r)=>({item:e,gap:r>0&&t(n[r-1].term)!==t(e.term)}))}function Ze({title:e,icon:t=`layers`,iconColor:n=`var(--presence)`,event:r,causes:s,consequences:c,causesLabel:l=`Causes`,consequencesLabel:u=`Consequences`,footer:d,delay:f}){let p=i[t]||i.layers,{vbH:m,leftPlaced:h,rightPlaced:g,eventY:_,eventCY:v}=(0,b.useMemo)(()=>{let e=Xe(s??[]),t=Xe(c??[]),n=e=>e.length===0?0:e.length*Ie+(e.length-1)*Le+e.filter(e=>e.gap).length*Re,r=n(e),i=n(t),a=Math.max(Ve,Math.max(r,i,Be)+L+Pe),l=(e,t)=>{let r=n(e),i=L+(a-L-Pe-r)/2,s=[];for(let{item:n,gap:r}of e){r&&(i+=Re);let e=Math.max(0,Math.min(1,n.weight??.5));s.push({link:n,x:t,y:i,cy:i+Ie/2,color:n.term?Je[n.term]:`var(--text-secondary)`,sw:o([0,1],[1.6,6])(e),op:o([0,1],[.3,.92])(e)}),i+=60}return s},u=l(e,We),d=l(t,Ge),f=L+(a-L-Pe-Be)/2;return{vbH:a,leftPlaced:u,rightPlaced:d,eventY:f,eventCY:f+Be/2}},[s,c]),y=(e,t,n,r)=>{let i=(e+n)/2;return`M ${e.toFixed(1)},${t.toFixed(1)} C ${i.toFixed(1)},${t.toFixed(1)} ${i.toFixed(1)},${r.toFixed(1)} ${n.toFixed(1)},${r.toFixed(1)}`},S=e=>e.map((e,t)=>{let n=Qe(e.link.label),r=e.cy-(n.length-1)*He/2;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`rect`,{x:e.x,y:e.y,width:Fe,height:Ie,rx:10,className:`cau-node`,style:{stroke:e.color}}),(0,x.jsx)(`rect`,{x:e.x,y:e.y,width:4,height:Ie,rx:2,fill:e.color}),e.link.term&&(0,x.jsx)(`circle`,{cx:e.x+Fe-11,cy:e.y+11,r:3.5,fill:e.color,className:`cau-term-dot`,children:(0,x.jsx)(`title`,{children:Ye[e.link.term]})}),(0,x.jsxs)(`text`,{x:e.x+14,className:`cau-node-lbl`,dominantBaseline:`middle`,children:[(0,x.jsx)(`title`,{children:e.link.label}),n.map((t,n)=>(0,x.jsx)(`tspan`,{x:e.x+14,y:r+n*He,children:t},n))]})]},t)});return(0,x.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(f||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(p,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`cau-wrap`,children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${Me} ${m}`,className:`cau-svg`,role:`img`,"aria-label":e,preserveAspectRatio:`xMidYMid meet`,children:[(0,x.jsx)(`defs`,{children:(0,x.jsx)(`marker`,{id:`cau-arrow`,markerWidth:`8`,markerHeight:`8`,refX:`6`,refY:`4`,orient:`auto`,markerUnits:`userSpaceOnUse`,children:(0,x.jsx)(`path`,{d:`M1,1 L6,4 L1,7`,className:`cau-arrowhead`})})}),(0,x.jsxs)(`text`,{x:32,y:18,className:`cau-col-hdr`,textAnchor:`start`,children:[l,` →`]}),(0,x.jsx)(`text`,{x:qe,y:18,className:`cau-col-hdr cau-col-hdr--event`,textAnchor:`middle`,children:`Event`}),(0,x.jsxs)(`text`,{x:688,y:18,className:`cau-col-hdr`,textAnchor:`end`,children:[`→ `,u]}),h.map((e,t)=>(0,x.jsx)(`path`,{d:y(e.x+Fe,e.cy,Ke,v),className:`cau-link`,style:{stroke:e.color,strokeWidth:e.sw,opacity:e.op},markerEnd:`url(#cau-arrow)`},`lc${t}`)),g.map((e,t)=>(0,x.jsx)(`path`,{d:y(444,v,e.x,e.cy),className:`cau-link`,style:{stroke:e.color,strokeWidth:e.sw,opacity:e.op},markerEnd:`url(#cau-arrow)`},`rc${t}`)),(0,x.jsx)(`rect`,{x:Ke,y:_,width:ze,height:Be,rx:12,className:`cau-event`}),(0,x.jsx)(`text`,{x:qe,y:v,className:`cau-event-lbl`,textAnchor:`middle`,children:$e(r.label).map((e,t,n)=>(0,x.jsx)(`tspan`,{x:qe,dy:t===0?`${-((n.length-1)*.55)}em`:`1.1em`,children:e},t))}),S(h),S(g)]})}),et(s,c)&&(0,x.jsxs)(`div`,{className:`cau-legend`,children:[(0,x.jsxs)(`span`,{className:`cau-legend-item`,children:[(0,x.jsx)(`span`,{className:`cau-swatch`,style:{background:Je.short}}),` Short-term`]}),(0,x.jsxs)(`span`,{className:`cau-legend-item`,children:[(0,x.jsx)(`span`,{className:`cau-swatch`,style:{background:Je.long}}),` Long-term`]}),(0,x.jsx)(`span`,{className:`cau-legend-item cau-legend-item--weight`,children:`line weight = strength`})]}),d&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(d)})]})}function Qe(e,t=Ue,n=2){let r=e.trim().split(/\s+/).filter(Boolean),i=[],a=``,o=!1;for(let e of r){let r=a?`${a} ${e}`:e;if(r.length<=t||!a)a=r;else if(i.push(a),a=e,i.length===n){o=!0,a=``;break}}if(a&&i.length<n&&i.push(a),i.length){let e=i.length-1,n=i[e];n.length>t&&(n=n.slice(0,t-1).trimEnd()),(o||i[e].length>t)&&(n=n.replace(/[…\s]*$/,``)+`…`),i[e]=n}return i.length?i:[e]}function $e(e){let t=e.trim().split(/\s+/);if(t.length<=2||e.length<=16)return[e];let n=1,r=1/0;for(let e=1;e<t.length;e++){let i=t.slice(0,e).join(` `).length,a=t.slice(e).join(` `).length,o=Math.abs(i-a);o<r&&(r=o,n=e)}return[t.slice(0,n).join(` `),t.slice(n).join(` `)]}function et(e,t){return[...e??[],...t??[]].some(e=>e.term===`short`||e.term===`long`)}function tt(e){switch(e){case`battery`:return(0,x.jsxs)(`g`,{className:`dg-cir-glyph`,children:[(0,x.jsx)(`line`,{x1:-2.5,y1:-5,x2:-2.5,y2:5,strokeWidth:1.4}),(0,x.jsx)(`line`,{x1:2.5,y1:-2.5,x2:2.5,y2:2.5,strokeWidth:1.4}),(0,x.jsx)(`line`,{x1:-7,y1:0,x2:-2.5,y2:0}),(0,x.jsx)(`line`,{x1:2.5,y1:0,x2:7,y2:0})]});case`resistor`:return(0,x.jsxs)(`g`,{className:`dg-cir-glyph`,children:[(0,x.jsx)(`line`,{x1:-7,y1:0,x2:-5,y2:0}),(0,x.jsx)(`polyline`,{points:`-5,0 -4,-3 -2,3 0,-3 2,3 4,-3 5,0`,fill:`none`}),(0,x.jsx)(`line`,{x1:5,y1:0,x2:7,y2:0})]});case`capacitor`:return(0,x.jsxs)(`g`,{className:`dg-cir-glyph`,children:[(0,x.jsx)(`line`,{x1:-7,y1:0,x2:-1.5,y2:0}),(0,x.jsx)(`line`,{x1:-1.5,y1:-4,x2:-1.5,y2:4}),(0,x.jsx)(`line`,{x1:1.5,y1:-4,x2:1.5,y2:4}),(0,x.jsx)(`line`,{x1:1.5,y1:0,x2:7,y2:0})]});case`bulb`:return(0,x.jsxs)(`g`,{className:`dg-cir-glyph`,children:[(0,x.jsx)(`line`,{x1:-7,y1:0,x2:-5,y2:0}),(0,x.jsx)(`circle`,{cx:0,cy:0,r:5,fill:`none`}),(0,x.jsx)(`line`,{x1:-3.5,y1:-3.5,x2:3.5,y2:3.5}),(0,x.jsx)(`line`,{x1:-3.5,y1:3.5,x2:3.5,y2:-3.5}),(0,x.jsx)(`line`,{x1:5,y1:0,x2:7,y2:0})]});case`switch`:return(0,x.jsxs)(`g`,{className:`dg-cir-glyph`,children:[(0,x.jsx)(`line`,{x1:-7,y1:0,x2:-4,y2:0}),(0,x.jsx)(`circle`,{cx:-4,cy:0,r:1}),(0,x.jsx)(`line`,{x1:-4,y1:0,x2:4,y2:-4}),(0,x.jsx)(`circle`,{cx:4,cy:0,r:1}),(0,x.jsx)(`line`,{x1:4,y1:0,x2:7,y2:0})]});case`ground`:return(0,x.jsxs)(`g`,{className:`dg-cir-glyph`,children:[(0,x.jsx)(`line`,{x1:0,y1:-7,x2:0,y2:0}),(0,x.jsx)(`line`,{x1:-5,y1:0,x2:5,y2:0,strokeWidth:1.4}),(0,x.jsx)(`line`,{x1:-3,y1:2.5,x2:3,y2:2.5}),(0,x.jsx)(`line`,{x1:-1.5,y1:5,x2:1.5,y2:5})]});default:return(0,x.jsx)(`circle`,{cx:0,cy:0,r:1.6,className:`dg-cir-node`})}}var nt={battery:-5,resistor:-3,capacitor:-4,bulb:-5,switch:-4,ground:-7,node:-1.6},rt=3;function it(e){return(nt[e]??nt.node)-rt}var at=14;function ot(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function st({title:e,icon:t=`spark`,iconColor:n=`var(--presence)`,components:r,wires:o,footer:s,delay:c}){let l=i[t]||i.spark||i.share,u=e=>r.find(t=>t.id===e);return(0,x.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(c||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`dg-cir`,children:(0,x.jsxs)(`svg`,{viewBox:`-10 -15 120 130`,className:`dg-cir-svg`,role:`img`,"aria-label":e,children:[o.map((e,t)=>{let n=u(e.from),r=u(e.to);return!n||!r?null:(0,x.jsx)(`polyline`,{points:`${n.x},${n.y} ${r.x},${n.y} ${r.x},${r.y}`,className:`dg-cir-wire`,fill:`none`},t)}),r.map(e=>(0,x.jsxs)(`g`,{transform:`translate(${e.x} ${e.y})`,children:[tt(e.kind),e.label&&(0,x.jsxs)(`text`,{x:0,y:it(e.kind),className:`dg-cir-lbl`,textAnchor:`middle`,children:[e.label.length>at&&(0,x.jsx)(`title`,{children:e.label}),ot(e.label,at)]})]},e.id))]})}),s&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(s)})]})}var ct=1e3,lt=200,ut=40,dt=78,ft=46,pt=24,mt=4,ht=15,gt=13,_t=17,vt=12,yt=12,bt=180,xt=new Set([`interface`,`abstract`,`enum`]),St=new Set([`inheritance`,`implements`,`composition`,`aggregation`,`association`,`dependency`]);function Ct(e){return(Array.isArray(e)?e:typeof e==`string`&&e?[e]:[]).map(e=>{if(typeof e==`string`)return e;if(e&&typeof e==`object`){let t=e,n=t.text??t.name??t.label;return typeof n==`string`?n:``}return``}).filter(Boolean)}function wt(e){return Array.isArray(e)?e.map((e,t)=>{if(typeof e==`string`)return{name:e,fields:[],methods:[]};if(!e||typeof e!=`object`)return null;let n=e;return{name:typeof n.name==`string`&&n.name?n.name:`Class${t+1}`,stereotype:typeof n.stereotype==`string`&&xt.has(n.stereotype)?n.stereotype:void 0,fields:Ct(n.fields),methods:Ct(n.methods)}}).filter(e=>e!==null):[]}function Tt(e){return Array.isArray(e)?e.map(e=>{if(!e||typeof e!=`object`)return null;let t=e;if(typeof t.from!=`string`||typeof t.to!=`string`||!t.from||!t.to)return null;let n=St.has(t.kind)?t.kind:`association`,r=typeof t.label==`string`&&t.label?t.label:void 0;return{from:t.from,to:t.to,kind:n,label:r}}).filter(e=>e!==null):[]}function Et(e){let t=u(e,{maxWidth:bt,fontSize:vt,minFontSize:yt,maxLines:2,lineHeight:1.25});return{fit:t,h:t.lines.length*t.lineHeightPx+3}}function Dt(e,t){let n=new Map;for(let t of e)n.set(t.name,0);let r=t.filter(e=>e.kind===`inheritance`||e.kind===`implements`);for(let t=0;t<e.length;t++){let t=!1;for(let i of r){if(!n.has(i.from)||!n.has(i.to))continue;let r=(n.get(i.to)??0)+1;r>(n.get(i.from)??0)&&r<e.length&&(n.set(i.from,r),t=!0)}if(!t)break}return n}function Ot(e,t,n){let r=t-e.cx,i=n-e.cy,a=Math.hypot(r,i)||1,o=r/a,s=i/a,c=e.w/2+4,l=e.h/2+4,u=Math.max(Math.abs(o)/c,Math.abs(s)/l),d=Math.min(u>0?1/u:c,a*.4);return{x:e.cx+o*d,y:e.cy+s*d}}var kt={interface:`color-mix(in oklab, var(--insight) 14%, var(--surface-elevated-2))`,abstract:`color-mix(in oklab, var(--presence) 12%, var(--surface-elevated-2))`,enum:`color-mix(in oklab, var(--warning) 14%, var(--surface-elevated-2))`,none:`var(--surface-elevated-2)`},At={inheritance:13,implements:13,composition:17,aggregation:17,association:0,dependency:0};function jt(e){let t=(0,F.c)(8),{kind:n,x:r,y:i,angle:a}=e,o=`translate(${r} ${i}) rotate(${a})`;switch(n){case`inheritance`:case`implements`:{let e;return t[0]===o?e=t[1]:(e=(0,x.jsx)(`path`,{d:`M0 0 L-14 -8 L-14 8 Z`,className:`ucd-tri`,transform:o}),t[0]=o,t[1]=e),e}case`composition`:{let e;return t[2]===o?e=t[3]:(e=(0,x.jsx)(`path`,{d:`M0 0 L-9 -6 L-18 0 L-9 6 Z`,className:`ucd-di ucd-di-fill`,transform:o}),t[2]=o,t[3]=e),e}case`aggregation`:{let e;return t[4]===o?e=t[5]:(e=(0,x.jsx)(`path`,{d:`M0 0 L-9 -6 L-18 0 L-9 6 Z`,className:`ucd-di`,transform:o}),t[4]=o,t[5]=e),e}case`dependency`:{let e;return t[6]===o?e=t[7]:(e=(0,x.jsx)(`path`,{d:`M-11 -7 L0 0 L-11 7`,className:`ucd-open`,transform:o}),t[6]=o,t[7]=e),e}default:return null}}function Mt({title:e,icon:t=`layers`,iconColor:n=`var(--presence)`,classes:r,relations:o,footer:c,delay:l}){let d=i[t]||i.layers,f=(0,b.useMemo)(()=>wt(r),[r]),p=(0,b.useMemo)(()=>Tt(o),[o]),{placed:m,byName:h,vbH:g}=(0,b.useMemo)(()=>{let e=f.map(e=>{let t=u(e.name,{maxWidth:bt,fontSize:ht,minFontSize:yt,maxLines:2,lineHeight:1.2,bold:!0}),n=10+(e.stereotype?_t:0)+t.lines.length*t.lineHeightPx+8,r=e.fields.map(Et),i=e.methods.map(Et),a=r.length?7+r.reduce((e,t)=>e+t.h,0)+5:10,o=i.length?7+i.reduce((e,t)=>e+t.h,0)+5:10;return{cls:e,x:0,y:0,w:lt,h:n+a+o,cx:0,cy:0,nameFit:t,headerH:n,fieldFits:r,fieldsH:a,methodFits:i,methodsH:o}}),t=Dt(f,p),n=new Map;for(let r of e){let e=t.get(r.cls.name)??0;n.has(e)||n.set(e,[]),n.get(e).push(r)}let r=pt;for(let e of[...n.keys()].sort((e,t)=>e-t)){let t=n.get(e);for(let e=0;e<t.length;e+=mt){let n=t.slice(e,e+mt),i=(ct-(n.length*lt+(n.length-1)*ut))/2,a=0;for(let e of n)e.x=i,e.y=r,e.cx=i+e.w/2,e.cy=r+e.h/2,i+=240,a=Math.max(a,e.h);r+=a+ft}r+=32}return{placed:e,byName:new Map(e.map(e=>[e.cls.name,e])),vbH:Math.max(200,r-dt+pt)}},[f,p]);return(0,x.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(l||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),m.length===0?(0,x.jsx)(s,{message:`No classes to diagram`}):(0,x.jsx)(`div`,{className:`dg-stage ucd-stage`,children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${ct} ${g}`,className:`dg-svg`,role:`img`,"aria-label":e,children:[p.map((e,t)=>{let n=h.get(e.from),r=h.get(e.to);if(!n||!r||n===r)return null;let i=Ot(n,r.cx,r.cy),a=Ot(r,n.cx,n.cy),o=Math.atan2(a.y-i.y,a.x-i.x)*180/Math.PI,s=e.kind===`implements`||e.kind===`dependency`,c=e.kind===`composition`||e.kind===`aggregation`,l=At[e.kind],u=Math.hypot(a.x-i.x,a.y-i.y)||1,d=(a.x-i.x)/u,f=(a.y-i.y)/u,p=c?i.x+d*l:i.x,m=c?i.y+f*l:i.y,g=c?a.x:a.x-d*l,_=c?a.y:a.y-f*l;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{className:`ucd-edge`,x1:p,y1:m,x2:g,y2:_,strokeDasharray:s?`6 5`:void 0}),c?(0,x.jsx)(jt,{kind:e.kind,x:i.x,y:i.y,angle:o+180}):(0,x.jsx)(jt,{kind:e.kind,x:a.x,y:a.y,angle:o})]},`r${t}`)}),m.map((e,t)=>{let n=kt[e.cls.stereotype??`none`],r=e.y+10+(e.cls.stereotype?_t:0),i=e.y+e.headerH,a=i+e.fieldsH,o=i+7,s=a+7;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`rect`,{x:e.x,y:e.y,width:e.w,height:e.h,rx:5,className:`ucd-box`}),(0,x.jsx)(`path`,{d:`M ${e.x} ${e.y+e.headerH} v ${-e.headerH+5} a 5 5 0 0 1 5 -5 h ${e.w-10} a 5 5 0 0 1 5 5 v ${e.headerH-5} z`,className:`ucd-header`,style:{fill:n}}),(0,x.jsx)(`line`,{x1:e.x,y1:i,x2:e.x+e.w,y2:i,className:`ucd-sep`}),(0,x.jsx)(`line`,{x1:e.x,y1:a,x2:e.x+e.w,y2:a,className:`ucd-sep`}),e.cls.stereotype&&(0,x.jsx)(`text`,{x:e.cx,y:e.y+10+_t/2,className:`ucd-stereo`,textAnchor:`middle`,dominantBaseline:`middle`,fontSize:gt,children:`«${e.cls.stereotype}»`}),(0,x.jsx)(`text`,{className:e.cls.stereotype===`abstract`?`ucd-name ucd-italic`:`ucd-name`,textAnchor:`middle`,fontSize:e.nameFit.fontSize,children:e.nameFit.lines.map((t,n)=>(0,x.jsx)(`tspan`,{x:e.cx,y:r+(n+.5)*e.nameFit.lineHeightPx,dominantBaseline:`middle`,children:t},n))}),e.fieldFits.map((t,n)=>{let r=o;return o+=t.h,(0,x.jsx)(`text`,{className:`ucd-member`,fontSize:t.fit.fontSize,children:t.fit.lines.map((n,i)=>(0,x.jsx)(`tspan`,{x:e.x+10,y:r+(i+.5)*t.fit.lineHeightPx,dominantBaseline:`middle`,children:n},i))},`f${n}`)}),e.methodFits.map((t,n)=>{let r=s;return s+=t.h,(0,x.jsx)(`text`,{className:`ucd-member`,fontSize:t.fit.fontSize,children:t.fit.lines.map((n,i)=>(0,x.jsx)(`tspan`,{x:e.x+10,y:r+(i+.5)*t.fit.lineHeightPx,dominantBaseline:`middle`,children:n},i))},`m${n}`)})]},`${e.cls.name}-${t}`)}),p.map((e,t)=>{if(!e.label)return null;let n=h.get(e.from),r=h.get(e.to);if(!n||!r||n===r)return null;let i=Ot(n,r.cx,r.cy),a=Ot(r,n.cx,n.cy),o=u(e.label,{maxWidth:170,fontSize:14,minFontSize:yt,maxLines:2,lineHeight:1.15,bold:!0}),s=(i.x+a.x)/2,c=(i.y+a.y)/2-14-(o.lines.length-1)*o.lineHeightPx/2;return(0,x.jsx)(`text`,{className:`dg-edge-label`,textAnchor:`middle`,fontSize:o.fontSize,children:o.lines.map((e,t)=>(0,x.jsx)(`tspan`,{x:s,y:c+t*o.lineHeightPx,dominantBaseline:`middle`,children:e},t))},`l${t}`)})]})}),c&&(0,x.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(c)})]})}var Nt=1e3,Pt=130,Ft=40,It=260,Lt=170,Rt=78,zt=64,Bt=74,Vt=148,Ht=250,R=24,Ut=46,Wt=18;function Gt(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function Kt(e){return Number.isFinite(e)?Math.min(1,Math.max(0,e/100)):.5}function qt(e){return Math.min(Ht,Math.max(Vt,46+e.length*11))}function Jt(e,t){let n=new Map;for(let t of e)n.set(t.id,0);let r=t.filter(e=>!e.feedback);for(let t=0;t<e.length;t++){let t=!1;for(let i of r){if(!n.has(i.from)||!n.has(i.to))continue;let r=(n.get(i.from)??0)+1;r>(n.get(i.to)??0)&&r<e.length&&(n.set(i.to,r),t=!0)}if(!t)break}return n}function Yt(e,t){let n=Jt(e,t),r=Math.max(0,...e.map(e=>n.get(e.id)??0)),i=new Map;for(let t of e){if(t.x!==void 0&&t.y!==void 0)continue;let e=n.get(t.id)??0;i.has(e)||i.set(e,[]),i.get(e).push(t)}let a=e.map(e=>{let t=e.kind===`sum`?`sum`:`block`,a=typeof e.label==`string`&&e.label?e.label:t===`sum`?`Σ`:`Block`,o=t===`sum`?R:qt(a)/2,s=t===`sum`?R:Bt/2;if(Number.isFinite(e.x)&&Number.isFinite(e.y))return{id:e.id,label:a,kind:t,cx:Pt+Kt(e.x)*740,cy:Ft+Kt(e.y)*It,halfW:o,halfH:s};let c=n.get(e.id)??0,l=i.get(c)??[e],u=l.indexOf(e),d=l.length,f=d>5?312/(d-1):Rt,p=(d-1)/2,m=r===0?Nt/2:Pt+c/r*740,h=Lt+(u-p)*f;return{id:e.id,label:a,kind:t,cx:m,cy:h,halfW:o,halfH:s}}),o=t.filter(e=>e.feedback).length,s=a.length?Math.min(...a.map(e=>e.cy-e.halfH-(e.kind===`sum`?30:0))):Ft,c=s<0?-s+20:0;for(let e of a)e.cy+=c;return{placed:a,vbH:(a.length?Math.max(...a.map(e=>e.cy+e.halfH)):207)+o*zt+Ut}}function Xt(e,t){let n=t.cx-e.cx,r=t.cy-e.cy,i=Math.atan2(r,n);return{x:t.cx-Math.cos(i)*(t.halfW+4),y:t.cy-Math.sin(i)*(t.halfH+4)}}function Zt(e,t){let n=t.cx-e.cx,r=t.cy-e.cy,i=Math.atan2(r,n);return{x:e.cx+Math.cos(i)*(e.halfW+4),y:e.cy+Math.sin(i)*(e.halfH+4)}}function Qt(e,t){let n=Math.hypot(t.x,t.y)||1,r=t.x/n,i=t.y/n,a=e.halfH+20;return{x:e.cx-r*a,y:e.cy-i*a}}function $t({title:e,icon:t=`sliders`,iconColor:n=`var(--presence)`,blocks:r,wires:o,footer:s,delay:c}){let l=i[t]||i.sliders,u=`cbd-arrow-${(0,b.useId)().replace(/:/g,``)}`,d=(0,b.useMemo)(()=>Array.isArray(r)?r:[],[r]),f=(0,b.useMemo)(()=>Array.isArray(o)?o:[],[o]),{placed:p,vbH:m}=(0,b.useMemo)(()=>Yt(d,f),[d,f]),h=(0,b.useMemo)(()=>new Map(p.map(e=>[e.id,e])),[p]),g=(0,b.useMemo)(()=>{let e=f.map((e,t)=>({w:e,i:t,span:Math.abs((h.get(e.to)?.cx??0)-(h.get(e.from)?.cx??0))})).filter(e=>e.w.feedback&&h.has(e.w.from)&&h.has(e.w.to)).sort((e,t)=>e.span-t.span),t=new Map;return e.forEach((e,n)=>t.set(e.i,n+1)),t},[f,h]);return(0,x.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(c||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`dg-cbd-stage`,children:(0,x.jsxs)(`svg`,{className:`dg-cbd-svg`,viewBox:`0 0 ${Nt} ${m}`,preserveAspectRatio:`xMidYMid meet`,role:`img`,"aria-label":e,children:[(0,x.jsx)(`defs`,{children:(0,x.jsx)(`marker`,{id:u,viewBox:`0 0 10 10`,refX:`8`,refY:`5`,markerWidth:`7`,markerHeight:`7`,orient:`auto-start-reverse`,children:(0,x.jsx)(`path`,{d:`M0 0 L10 5 L0 10 z`,className:`dg-cbd-arrowhead`})})}),f.map((e,t)=>{let n=h.get(e.from),r=h.get(e.to);if(!n||!r)return null;let i=r.kind===`sum`?e.sign===`minus`?`−`:`+`:null;if(e.feedback){let e=g.get(t)??1,a=m-Ut-(g.size-e)*zt,o=n.cy+n.halfH,s=r.cy+r.halfH,c=`${n.cx},${o} ${n.cx},${a} ${r.cx},${a} ${r.cx},${s+6}`,l=i&&(0,x.jsx)(`text`,{x:r.cx+16,y:s+20,className:`dg-cbd-sign`,textAnchor:`start`,dominantBaseline:`middle`,children:i});return(0,x.jsxs)(`g`,{className:`dg-cbd-wire`,children:[(0,x.jsx)(`polyline`,{points:c,fill:`none`,markerEnd:`url(#${u})`}),l]},`w${t}`)}let a=Zt(n,r),o=Xt(n,r),s=i?Qt(r,{x:o.x-a.x,y:o.y-a.y}):null,c=s?s.x>r.cx+2?`start`:s.x<r.cx-2?`end`:`middle`:`middle`;return(0,x.jsxs)(`g`,{className:`dg-cbd-wire`,children:[(0,x.jsx)(`line`,{x1:a.x,y1:a.y,x2:o.x,y2:o.y,markerEnd:`url(#${u})`}),s&&(0,x.jsx)(`text`,{x:s.x,y:s.y,className:`dg-cbd-sign`,textAnchor:c,dominantBaseline:`middle`,children:i})]},`w${t}`)}),p.map(e=>e.kind===`sum`?(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`circle`,{cx:e.cx,cy:e.cy,r:R,className:`dg-cbd-sum`}),(0,x.jsx)(`line`,{x1:e.cx-R*.4,y1:e.cy,x2:e.cx+R*.4,y2:e.cy,className:`dg-cbd-sum-cross`}),(0,x.jsx)(`line`,{x1:e.cx,y1:e.cy-R*.4,x2:e.cx,y2:e.cy+R*.4,className:`dg-cbd-sum-cross`}),(0,x.jsxs)(`text`,{x:e.cx,y:e.cy-R-12,className:`dg-cbd-sum-label`,textAnchor:`middle`,children:[e.label.length>Wt&&(0,x.jsx)(`title`,{children:e.label}),Gt(e.label,Wt)]})]},e.id):(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`rect`,{x:e.cx-e.halfW,y:e.cy-e.halfH,width:e.halfW*2,height:e.halfH*2,rx:10,className:`dg-cbd-box`}),(0,x.jsxs)(`text`,{x:e.cx,y:e.cy,className:`dg-cbd-label`,textAnchor:`middle`,dominantBaseline:`middle`,children:[e.label.length>Wt&&(0,x.jsx)(`title`,{children:e.label}),Gt(e.label,Wt)]})]},e.id))]})}),s&&(0,x.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(s)})]})}var en=138,tn=40,nn=30,rn=692,an=400,on=rn/2,sn=an/2,cn=.26,ln=22,un=9;function dn(e){let t=Math.max(1,e.length);return e.map((e,n)=>{let r=-Math.PI/2+n/t*Math.PI*2;return{stage:e,cx:on+Math.cos(r)*en,cy:sn+Math.sin(r)*en,ang:r,left:Math.cos(r)<-.001}})}function fn(e,t){let n=en+t;return{x:on+Math.cos(e)*n,y:sn+Math.sin(e)*n}}function pn({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,stages:r,caption:o,footer:s,delay:c}){let l=i[t]??i.share,u=(0,b.useId)().replace(/:/g,``),d=dn(r),f=d.length;return(0,x.jsxs)(`div`,{className:`card reveal dg-cw-card`,style:{"--delay":(c??0)+`ms`},children:[e&&(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`dg-cw-stage`,children:(0,x.jsxs)(`svg`,{className:`dg-cw-svg`,viewBox:`0 0 ${rn} ${an}`,preserveAspectRatio:`xMidYMid meet`,role:`img`,"aria-label":e??`Cycle`,children:[(0,x.jsx)(`defs`,{children:(0,x.jsx)(`marker`,{id:`dg-cw-arrow-${u}`,viewBox:`0 0 10 10`,refX:`7`,refY:`5`,markerWidth:un,markerHeight:un,orient:`auto-start-reverse`,children:(0,x.jsx)(`path`,{d:`M0 0 L10 5 L0 10 z`,className:`dg-cw-arrowfill`})})}),(0,x.jsx)(`circle`,{className:`dg-cw-ring`,cx:on,cy:sn,r:en}),d.map((e,t)=>{let n=d[(t+1)%f];return f<2?null:(0,x.jsx)(mn,{from:e,to:n,uid:u},`c${t}`)}),d.map((e,t)=>(0,x.jsx)(hn,{placed:e,index:t},`n${t}`))]})}),o&&(0,x.jsx)(`p`,{className:`dg-cw-cap`,children:o}),s&&(0,x.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(s)})]})}function mn(e){let t=(0,F.c)(7),{from:n,to:r,uid:i}=e,a=r.ang-n.ang;for(;a<=-Math.PI;)a+=Math.PI*2;for(;a>Math.PI;)a-=Math.PI*2;let o=a>=0?1:-1,s=n.ang+cn*o,c;t[0]===s?c=t[1]:(c=fn(s,ln),t[0]=s,t[1]=c);let l=c,u=r.ang-cn*o,d;t[2]===u?d=t[3]:(d=fn(u,ln),t[2]=u,t[3]=d);let f=d,p=+(Math.abs(a)-cn*2>Math.PI),m=+(o>0),h=`M ${l.x} ${l.y} A 160 160 0 ${p} ${m} ${f.x} ${f.y}`,g=`url(#dg-cw-arrow-${i})`,_;return t[4]!==h||t[5]!==g?(_=(0,x.jsx)(`path`,{className:`dg-cw-link`,d:h,markerEnd:g}),t[4]=h,t[5]=g,t[6]=_):_=t[6],_}function hn(e){let t=(0,F.c)(23),{placed:n,index:r}=e,{stage:a,cx:o,cy:s,left:c}=n,l=a.icon?i[a.icon]:void 0,u=o+(c?-50:50),d=c?`end`:`start`,f;if(t[0]!==l||t[1]!==d||t[2]!==o||t[3]!==s||t[4]!==r||t[5]!==u||t[6]!==a.caption||t[7]!==a.label){let e=gn(a.label,16,2),n=a.caption?gn(a.caption,22,2):[],i=s-((e.length-1)*16+(n.length?15+(n.length-1)*14:0))/2+4,c=i+(e.length-1)*16+15,p;t[9]!==o||t[10]!==s?(p=(0,x.jsx)(`circle`,{className:`dg-cw-disc`,cx:o,cy:s,r:tn}),t[9]=o,t[10]=s,t[11]=p):p=t[11];let m;t[12]!==l||t[13]!==o||t[14]!==s||t[15]!==r?(m=l?(0,x.jsx)(l,{x:o-nn/2,y:s-nn/2,width:nn,height:nn,className:`dg-cw-glyph`}):(0,x.jsx)(`text`,{className:`dg-cw-num`,x:o,y:s,textAnchor:`middle`,dominantBaseline:`central`,children:r+1}),t[12]=l,t[13]=o,t[14]=s,t[15]=r,t[16]=m):m=t[16];let h;t[17]!==i||t[18]!==u?(h=(e,t)=>(0,x.jsx)(`tspan`,{x:u,y:i+t*16,children:e},t),t[17]=i,t[18]=u,t[19]=h):h=t[19];let g=e.map(h),_;t[20]!==d||t[21]!==g?(_=(0,x.jsx)(`text`,{className:`dg-cw-label`,textAnchor:d,children:g}),t[20]=d,t[21]=g,t[22]=_):_=t[22],f=(0,x.jsxs)(`g`,{className:`dg-cw-node`,children:[p,m,_,n.length>0&&(0,x.jsx)(`text`,{className:`dg-cw-cap-lbl`,textAnchor:d,children:n.map((e,t)=>(0,x.jsx)(`tspan`,{x:u,y:c+t*14,children:e},t))})]}),t[0]=l,t[1]=d,t[2]=o,t[3]=s,t[4]=r,t[5]=u,t[6]=a.caption,t[7]=a.label,t[8]=f}else f=t[8];return f}function gn(e,t,n){let r=e.split(/\s+/).filter(Boolean),i=[],a=``,o=!1;for(let e=0;e<r.length;e++){let s=r[e],c=a?`${a} ${s}`:s;if(c.length<=t||!a)a=c;else if(i.push(a),a=s,i.length===n){o=!0,a=``;break}}if(a&&i.length<n&&i.push(a),i.length){let e=i.length-1,n=i[e];n.length>t&&(n=n.slice(0,t-1).trimEnd()),(o||i[e].length>t)&&(n=n.replace(/[…\s]*$/,``)+`…`),i[e]=n}return i.length?i:[``]}var _n=1e3,vn=130,yn=113,bn=74,xn=320,Sn=226,Cn=720,wn=70,Tn=-30,En={source:`color-mix(in oklab, var(--presence) 18%, var(--surface-elevated-2))`,transform:`color-mix(in oklab, var(--presence) 10%, var(--surface-elevated-2))`,store:`color-mix(in oklab, var(--presence-soft) 20%, var(--surface-elevated-2))`,sink:`color-mix(in oklab, var(--insight) 16%, var(--surface-elevated-2))`},Dn={source:`var(--presence)`,transform:`var(--line-strong)`,store:`var(--presence-soft)`,sink:`var(--insight)`},On=17,kn=20;function An(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function jn(e,t){let n=new Map;for(let t of e)n.set(t.id,0);for(let r=0;r<e.length;r++){let r=!1;for(let i of t){if(!n.has(i.from)||!n.has(i.to))continue;let t=(n.get(i.from)??0)+1;t>(n.get(i.to)??0)&&t<e.length&&(n.set(i.to,t),r=!0)}if(!r)break}return n}function Mn(e,t){if(e.length===0)return xn;let n=jn(e,t),r=new Map;for(let t of e){let e=n.get(t.id)??0;r.set(e,(r.get(e)??0)+1)}let i=r.size>0?Math.max(...r.values()):1,a=i*vn+Math.max(0,i-1)*bn;return Math.max(xn,a+226)}function Nn(e,t){if(e.length===0)return _n;let n=jn(e,t),r=new Set(e.map(e=>n.get(e.id)??0)).size;return Math.max(_n,Math.max(1,r-1)*Sn+226)}function Pn(e,t,n,r){let i=n-226,a=r-226,o=e=>yn+e*i,s=e=>yn+e*a,c=e.map(e=>Number.isFinite(e.x)&&Number.isFinite(e.y)?{...e,cx:o(Fn(e.x)),cy:s(Fn(e.y))}:{...e,cx:0,cy:0}),l=new Map(c.map(e=>[e.id,e])),u=e.filter(e=>!(Number.isFinite(e.x)&&Number.isFinite(e.y))),d=jn(u,t),f=new Map;for(let e of u){let t=d.get(e.id)??0;f.has(t)||f.set(t,[]),f.get(t).push(e)}let p=[...f.keys()].sort((e,t)=>e-t),m=Math.max(1,p.length-1);return p.forEach((e,t)=>{let i=f.get(e),a=p.length===1?n/2:o(t/m);i.forEach((e,t)=>{let n=l.get(e.id);n.cx=a,n.cy=i.length===1?r/2:s((t+.5)/i.length)})}),c}function Fn(e){return Math.min(1,Math.max(0,e))}function In(e,t){let n=(Math.hypot(t.cx-e.cx,t.cy-e.cy)||1)*.4;return{rx:Math.min(99,n),ry:Math.min(71,n)}}function Ln(e,t){let n=t.cx-e.cx,r=t.cy-e.cy,i=Math.atan2(r,n),{rx:a,ry:o}=In(e,t);return{x:t.cx-Math.cos(i)*a,y:t.cy-Math.sin(i)*o}}function Rn(e,t){let n=t.cx-e.cx,r=t.cy-e.cy,i=Math.atan2(r,n),{rx:a,ry:o}=In(e,t);return{x:e.cx+Math.cos(i)*a,y:e.cy+Math.sin(i)*o}}function zn(e){return e===`store`?(0,x.jsxs)(`g`,{className:`dp-icon`,transform:`translate(0 -2)`,children:[(0,x.jsx)(`line`,{x1:-9,y1:-4,x2:9,y2:-4}),(0,x.jsx)(`line`,{x1:-9,y1:0,x2:9,y2:0}),(0,x.jsx)(`line`,{x1:-9,y1:4,x2:9,y2:4})]}):(0,x.jsxs)(`g`,{className:`dp-icon`,transform:`translate(0 -2)`,children:[(0,x.jsx)(`line`,{x1:-10,y1:0,x2:7,y2:0}),(0,x.jsx)(`path`,{d:`M 1 -6 L 11 0 L 1 6`,fill:`none`})]})}function Bn(e,t,n){let r={fill:t,stroke:n,strokeWidth:2.2};switch(e){case`source`:return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`rect`,{x:-75,y:-35,width:150,height:wn,rx:14,...r}),(0,x.jsxs)(`g`,{className:`dp-icon`,transform:`translate(-2 -2)`,children:[(0,x.jsx)(`line`,{x1:-16,y1:0,x2:6,y2:0}),(0,x.jsx)(`path`,{d:`M 0 -6 L 8 0 L 0 6`,fill:`none`})]})]});case`sink`:case`store`:{let t=wn/2-13;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`path`,{d:`M -58 -22 A 58 13 0 0 1 58 -22 L 58 ${t} A 58 13 0 0 1 -58 ${t} Z`,...r}),(0,x.jsx)(`path`,{d:`M -58 -22 A 58 13 0 0 0 58 -22`,fill:`none`,stroke:n,strokeWidth:1.6}),zn(e)]})}default:{let e=Array.from({length:6},(e,t)=>{let n=Math.PI/3*t;return`${Math.cos(n)*66},${Math.sin(n)*40}`}).join(` `);return(0,x.jsx)(`polygon`,{points:e,...r})}}}function Vn({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,stages:r,edges:o,footer:s,delay:c}){let l=i[t]||i.share,u=(0,b.useId)().replace(/:/g,``),d=(0,b.useMemo)(()=>Array.isArray(r)?r:[],[r]),f=(0,b.useMemo)(()=>Array.isArray(o)?o:[],[o]),p=(0,b.useMemo)(()=>Nn(d,f),[d,f]),m=(0,b.useMemo)(()=>Mn(d,f),[d,f]),h=(0,b.useMemo)(()=>Pn(d,f,p,m),[d,f,p,m]),g=(0,b.useMemo)(()=>new Map(h.map(e=>[e.id,e])),[h]),_=Math.round(Cn*p/_n),v=(0,b.useMemo)(()=>f.map((e,t)=>{let n=g.get(e?.from),r=g.get(e?.to);return!n||!r?null:{key:t,s:Rn(n,r),t:Ln(n,r),label:typeof e.label==`string`?e.label:``}}).filter(e=>e!==null),[f,g]);return(0,x.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(c||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`dg-stage dp-stage`,style:{maxWidth:_},children:(0,x.jsxs)(`svg`,{className:`dg-svg`,viewBox:`0 0 ${p} ${m}`,preserveAspectRatio:`xMidYMid meet`,role:`img`,"aria-label":e,children:[(0,x.jsx)(`defs`,{children:(0,x.jsx)(`marker`,{id:`dp-arrow-${u}`,viewBox:`0 0 10 10`,refX:`8`,refY:`5`,markerWidth:`7`,markerHeight:`7`,orient:`auto-start-reverse`,children:(0,x.jsx)(`path`,{d:`M0 0 L10 5 L0 10 z`,className:`dp-arrowhead`})})}),v.map(({key:e,s:t,t:n})=>(0,x.jsx)(`g`,{className:`dp-edge`,children:(0,x.jsx)(`line`,{x1:t.x,y1:t.y,x2:n.x,y2:n.y,markerEnd:`url(#dp-arrow-${u})`})},e)),h.map((e,t)=>{let n=e.cy+Tn,r=typeof e.label==`string`&&e.label?e.label:e.id||`Stage`,i=e.kind??`transform`;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`g`,{transform:`translate(${e.cx} ${n})`,children:Bn(i,En[i]??En.transform,Dn[i]??Dn.transform)}),(0,x.jsxs)(`text`,{x:e.cx,y:n+wn/2+24,className:`dp-label`,textAnchor:`middle`,children:[r.length>On&&(0,x.jsx)(`title`,{children:r}),An(r,On)]}),e.sub&&(0,x.jsxs)(`text`,{x:e.cx,y:n+wn/2+44,className:`dp-sub`,textAnchor:`middle`,children:[e.sub.length>kn&&(0,x.jsx)(`title`,{children:e.sub}),An(e.sub,kn)]})]},e.id??t)}),v.map(({key:e,s:t,t:n,label:r})=>{if(!r)return null;let i=(t.x+n.x)/2,a=(t.y+n.y)/2;return(0,x.jsx)(`text`,{x:i,y:a-8,className:`dg-edge-label`,textAnchor:`middle`,children:An(r,26)},e)})]})}),s&&(0,x.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(s)})]})}var z=46,B=14,Hn=58,Un=40,Wn=34,Gn=17,Kn=46,qn=64,V=e=>typeof e==`number`?String(e):e,Jn=7.4,Yn=Math.max(2,Math.floor(29.24/Jn)),Xn=Math.max(2,Math.floor(Hn*.62*.82/Jn));function Zn(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function Qn(e){let t=new Map;for(let n of e)t.set(n.id,n);let n=new Set;for(let t of e)t.left&&n.add(t.left),t.right&&n.add(t.right);return{byId:t,rootId:e.find(e=>!n.has(e.id))?.id??e[0]?.id}}function $n(e){let t=new Map;return e.forEach((n,r)=>{if(n==null)return;let i=`n${r}`,a=2*r+1,o=2*r+2,s=a<e.length&&e[a]!==null&&e[a]!==void 0,c=o<e.length&&e[o]!==null&&e[o]!==void 0;t.set(i,{id:i,value:V(n),left:s?`n${a}`:void 0,right:c?`n${o}`:void 0})}),{byId:t,rootId:t.has(`n0`)?`n0`:void 0}}function er(e,t){let n=[];if(!t||!e.has(t))return{placed:n,slots:0,maxDepth:0};let r=0,i=0,a=new Set,o=(t,s,c)=>{let l=e.get(t);if(!l||a.has(t))return;a.add(t),l.left&&o(l.left,s+1,t);let u=31+r*Kn,d=31+s*qn;r+=1,i=Math.max(i,s),n.push({id:t,value:V(l.value),x:u,y:d,depth:s,parentId:c}),l.right&&o(l.right,s+1,t)};return o(t,0),{placed:n,slots:r,maxDepth:i}}function tr(e,t,n){let r=Math.max(1,e.length),i=t.length?22:4,a=28+r*z,o=i+z+22,s=i;return{vbW:a,vbH:o,svg:(0,x.jsxs)(x.Fragment,{children:[e.map((e,t)=>{let r=B+t*z;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`rect`,{x:r,y:s,width:z,height:z,rx:4,className:`dst-cell`+(n===t?` on`:``)}),(0,x.jsx)(`text`,{x:r+z/2,y:s+z/2+4,className:`dst-val`,textAnchor:`middle`,children:V(e.value)}),(0,x.jsx)(`text`,{x:r+z/2,y:s+z+14,className:`dst-idx`,textAnchor:`middle`,children:t})]},t)}),t.map((e,t)=>{if(e.index<0||e.index>=r)return null;let n=B+e.index*z+z/2;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`text`,{x:n,y:s-12,className:`dst-ptr`,textAnchor:`middle`,children:e.label}),(0,x.jsx)(`path`,{d:`M ${n} ${s-9} L ${n-3} ${s-4} L ${n+3} ${s-4} Z`,className:`dst-ptr-tip`})]},`p${t}`)})]})}}function nr(e,t,n){let r=Math.max(1,e.length),i=28+r*92+Wn,a=Hn*.62;return{vbW:i,vbH:86,svg:(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`text`,{x:B,y:24,className:`dst-tag`,textAnchor:`start`,children:`head`}),e.map((e,r)=>{let i=B+r*92,o=t===r,s=(i+a+Hn)/2,c=V(e.value);return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`rect`,{x:i,y:28,width:Hn,height:Un,rx:5,className:`dst-cell`+(o?` on`:``)}),(0,x.jsx)(`line`,{x1:i+a,y1:28,x2:i+a,y2:68,className:`dst-divide`}),(0,x.jsxs)(`text`,{x:i+a/2,y:52,className:`dst-val`,textAnchor:`middle`,children:[c.length>Xn&&(0,x.jsx)(`title`,{children:c}),Zn(c,Xn)]}),(0,x.jsx)(`circle`,{cx:s,cy:48,r:2.6,className:`dst-dot`}),(0,x.jsx)(`line`,{x1:s,y1:48,x2:i+92-4,y2:48,className:`dst-edge`,markerEnd:n})]},r)}),(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`rect`,{x:B+r*92,y:32,width:Wn,height:32,rx:4,className:`dst-null`}),(0,x.jsx)(`text`,{x:B+r*92+Wn/2,y:51.5,className:`dst-null-lbl`,textAnchor:`middle`,children:`null`})]})]})}}function rr(e,t){let n=Math.max(1,e.length),r=z*1.9;return{vbW:159.39999999999998,vbH:28+n*z,svg:(0,x.jsx)(x.Fragment,{children:e.map((i,a)=>{let o=B+(n-1-a)*z,s=t===a,c=a===e.length-1;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`rect`,{x:58,y:o,width:r,height:z,rx:4,className:`dst-cell`+(s?` on`:``)}),(0,x.jsx)(`text`,{x:101.69999999999999,y:o+z/2+4,className:`dst-val`,textAnchor:`middle`,children:V(i.value)}),c&&(0,x.jsx)(`text`,{x:50,y:o+z/2+3.5,className:`dst-ptr`,textAnchor:`end`,children:`top`})]},a)})})}}function ir(e,t){let n=Math.max(1,e.length),r=z*1.25;return{vbW:28+n*r,vbH:72,svg:(0,x.jsx)(x.Fragment,{children:e.map((n,i)=>{let a=B+i*r,o=t===i,s=i===0,c=i===e.length-1;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`rect`,{x:a,y:22,width:r,height:z,rx:4,className:`dst-cell`+(o?` on`:``)}),(0,x.jsx)(`text`,{x:a+r/2,y:49,className:`dst-val`,textAnchor:`middle`,children:V(n.value)}),s&&(0,x.jsx)(`text`,{x:a+r/2,y:14,className:`dst-ptr`,textAnchor:`middle`,children:`front`}),c&&!s&&(0,x.jsx)(`text`,{x:a+r/2,y:14,className:`dst-ptr`,textAnchor:`middle`,children:`rear`})]},i)})})}}function ar(e,t,n,r){let i=28+Math.max(1,t)*Kn,a=28+(n+1)*qn-30,o=new Map(e.map(e=>[e.id,e]));return{vbW:i,vbH:a,svg:(0,x.jsxs)(x.Fragment,{children:[e.map(e=>e.parentId&&o.has(e.parentId)?(0,x.jsx)(`line`,{x1:o.get(e.parentId).x,y1:o.get(e.parentId).y,x2:e.x,y2:e.y,className:`dst-edge`},`e${e.id}`):null),e.map(e=>{let t=r===e.id;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`circle`,{cx:e.x,cy:e.y,r:Gn,className:`dst-node`+(t?` on`:``)}),(0,x.jsxs)(`text`,{x:e.x,y:e.y+4,className:`dst-val`,textAnchor:`middle`,children:[e.value.length>Yn&&(0,x.jsx)(`title`,{children:e.value}),Zn(e.value,Yn)]})]},e.id)})]})}}var or={array:`layers`,linkedlist:`link`,stack:`layers`,queue:`layers`,tree:`share`,bst:`share`,heap:`share`};function sr({title:e,icon:t,iconColor:n=`var(--presence)`,kind:r,cells:o=[],nodes:s,level:c,pointers:l=[],highlight:u,footer:d,delay:f}){let p=i[t??or[r]]||i.layers,m=`dst-arrow-${(0,b.useId)().replace(/:/g,``)}`,h=`url(#${m})`,g=(0,b.useMemo)(()=>{let e=o.map(e=>typeof e==`object`&&e?e:{value:e}),t=typeof u==`number`?u:void 0;if(r===`array`)return tr(e,l,t);if(r===`linkedlist`)return nr(e,t,h);if(r===`stack`)return rr(e,t);if(r===`queue`)return ir(e,t);let{byId:n,rootId:i}=s&&s.length?Qn(s):$n(c??e.map(e=>e.value)),{placed:a,slots:d,maxDepth:f}=er(n,i);return ar(a,d,f,typeof u==`string`?u:void 0)},[r,o,s,c,l,u,h]),_=r===`linkedlist`;return(0,x.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(f||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(p,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`dst-wrap`,children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${g.vbW} ${g.vbH}`,className:`dst-svg`,role:`img`,"aria-label":e,children:[_&&(0,x.jsx)(`defs`,{children:(0,x.jsx)(`marker`,{id:m,markerWidth:`7`,markerHeight:`7`,refX:`6`,refY:`3.5`,orient:`auto`,children:(0,x.jsx)(`path`,{d:`M0,0 L7,3.5 L0,7 Z`,className:`dst-arrowhead`})})}),g.svg]})}),d&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(d)})]})}var cr=1e3,lr=108,ur=92,dr=46,fr=300,pr=212,mr=640,hr={default:`var(--surface-elevated-2)`,start:`color-mix(in oklab, var(--presence) 18%, var(--surface-elevated-2))`,accent:`color-mix(in oklab, var(--presence) 16%, var(--surface-elevated-2))`,good:`color-mix(in oklab, var(--insight) 16%, var(--surface-elevated-2))`,warn:`color-mix(in oklab, var(--warning) 16%, var(--surface-elevated-2))`,muted:`var(--surface-glass)`},gr={default:`var(--line)`,start:`var(--presence)`,accent:`var(--presence-soft)`,good:`var(--insight)`,warn:`var(--warning)`,muted:`var(--line)`},_r={default:`var(--text-muted)`,accent:`var(--presence)`,good:`var(--insight)`,warn:`var(--warning)`,muted:`var(--grid-line)`};function vr(e,t){let n=new Map;for(let t of e)n.set(t.id,0);let r=new Map;for(let e of t)r.has(e.from)||r.set(e.from,[]),r.get(e.from).push(e.to);for(let r=0;r<e.length;r++){let r=!1;for(let i of t){let t=(n.get(i.from)??0)+1;t>(n.get(i.to)??0)&&t<e.length&&(n.set(i.to,t),r=!0)}if(!r)break}return n}function yr(e,t,n){let r=e.length;if(r===0)return fr;if(n===`cycle`)return cr;let i;if(n===`layered`){let n=vr(e,t),r=new Map;for(let t of e){let e=n.get(t.id)??0;r.set(e,(r.get(e)??0)+1)}i=r.size>0?Math.max(...r.values()):1}else i=Math.ceil(r/Math.ceil(Math.sqrt(r)));let a=i*92+Math.max(0,i-1)*60;return Math.max(fr,a+216)}function br(e,t,n){let r=e.length;if(r===0||n===`cycle`)return cr;let i;if(n===`layered`){let n=vr(e,t);i=new Set(e.map(e=>n.get(e.id)??0)).size}else i=Math.ceil(Math.sqrt(r));let a=n===`layered`?Math.max(1,i-1):i;return Math.max(cr,a*pr+216)}function xr(e,t,n,r,i){let a=r-216,o=i-216,s=e=>lr+e*a,c=e=>lr+e*o,l=e.filter(e=>!(Number.isFinite(e.x)&&Number.isFinite(e.y))),u=e.map(e=>Number.isFinite(e.x)&&Number.isFinite(e.y)?{...e,cx:s(Sr(e.x)),cy:c(Sr(e.y))}:{...e,cx:0,cy:0}),d=new Map(u.map(e=>[e.id,e]));if(n===`cycle`){let e=Math.min(a,o)/2,t=r/2,n=i/2;return l.forEach((r,i)=>{let a=-Math.PI/2+i/Math.max(1,l.length)*Math.PI*2,o=d.get(r.id);o.cx=t+Math.cos(a)*e,o.cy=n+Math.sin(a)*e}),u}if(n===`layered`){let e=vr(l,t),n=new Map;for(let t of l){let r=e.get(t.id)??0;n.has(r)||n.set(r,[]),n.get(r).push(t)}let a=[...n.keys()].sort((e,t)=>e-t),o=Math.max(1,a.length-1);return a.forEach((e,t)=>{let l=n.get(e),u=a.length===1?r/2:s(t/o);l.forEach((e,t)=>{let n=d.get(e.id);n.cx=u,n.cy=l.length===1?i/2:c((t+.5)/l.length)})}),u}let f=Math.ceil(Math.sqrt(l.length)),p=Math.max(1,Math.ceil(l.length/f));return l.forEach((e,t)=>{let n=t%f,a=Math.floor(t/f),o=d.get(e.id);o.cx=f===1?r/2:s((n+.5)/f),o.cy=p===1?i/2:c((a+.5)/p)}),u}function Sr(e){return Math.min(1,Math.max(0,e))}function Cr(e,t){let n=(Math.hypot(t.cx-e.cx,t.cy-e.cy)||1)*.4;return{rx:Math.min(98,n),ry:Math.min(52,n)}}function wr(e,t){let n=t.cx-e.cx,r=t.cy-e.cy,i=Math.atan2(r,n),{rx:a,ry:o}=Cr(e,t);return{x:t.cx-Math.cos(i)*a,y:t.cy-Math.sin(i)*o}}function Tr(e,t){let n=t.cx-e.cx,r=t.cy-e.cy,i=Math.atan2(r,n),{rx:a,ry:o}=Cr(e,t);return{x:e.cx+Math.cos(i)*a,y:e.cy+Math.sin(i)*o}}function Er({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,layout:r=`free`,nodes:o,edges:s,footer:c,delay:l}){let u=i[t]||i.share,d=(0,b.useId)().replace(/:/g,``),f=(0,b.useMemo)(()=>br(o,s,r),[o,s,r]),p=(0,b.useMemo)(()=>yr(o,s,r),[o,s,r]),m=(0,b.useMemo)(()=>xr(o,s,r,f,p),[o,s,r,f,p]),h=(0,b.useMemo)(()=>new Map(m.map(e=>[e.id,e])),[m]),g=Math.round(mr*f/cr),_=(0,b.useMemo)(()=>{let e=new Set;for(let t of s)h.has(t.from)&&h.has(t.to)&&e.add(t.kind??`default`);return[...e]},[s,h]);return(0,x.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(l||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`dg-stage`,style:{maxWidth:g},children:(0,x.jsxs)(`svg`,{className:`dg-svg`,viewBox:`0 0 ${f} ${p}`,preserveAspectRatio:`xMidYMid meet`,role:`img`,"aria-label":e,children:[(0,x.jsx)(`defs`,{children:_.map(e=>(0,x.jsx)(`marker`,{id:`dg-arrow-${d}-${e}`,viewBox:`0 0 10 10`,refX:`8`,refY:`5`,markerWidth:`7`,markerHeight:`7`,orient:`auto-start-reverse`,children:(0,x.jsx)(`path`,{d:`M0 0 L10 5 L0 10 z`,fill:_r[e]})},e))}),s.map((e,t)=>{let n=h.get(e.from),r=h.get(e.to);return!n||!r?null:(0,x.jsx)(Dr,{a:n,b:r,edge:e,uid:d},t)}),m.map(e=>(0,x.jsx)(Mr,{node:e},e.id))]})}),c&&(0,x.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(c)})]})}function Dr(e){let t=(0,F.c)(22),{a:n,b:r,edge:i,uid:a}=e,o=i.kind??`default`,s=_r[o],c;t[0]!==n||t[1]!==r?(c=Tr(n,r),t[0]=n,t[1]=r,t[2]=c):c=t[2];let l=c,u;t[3]!==n||t[4]!==r?(u=wr(n,r),t[3]=n,t[4]=r,t[5]=u):u=t[5];let d=u,f=(l.x+d.x)/2,p=(l.y+d.y)/2,m=d.x-l.x,h=d.y-l.y,g;t[6]!==m||t[7]!==h?(g=Math.hypot(m,h)||1,t[6]=m,t[7]=h,t[8]=g):g=t[8];let _=g,v=Math.min(60,_*.12),y=f-h/_*v,b=p+m/_*v,S=`url(#dg-arrow-${a}-${o})`,C=`M ${l.x} ${l.y} Q ${y} ${b} ${d.x} ${d.y}`,w=i.dashed?`7 7`:void 0,T=i.bidirectional?S:void 0,E;t[9]!==S||t[10]!==s||t[11]!==C||t[12]!==w||t[13]!==T?(E=(0,x.jsx)(`path`,{d:C,fill:`none`,stroke:s,strokeWidth:2.2,strokeDasharray:w,markerEnd:S,markerStart:T,opacity:.85}),t[9]=S,t[10]=s,t[11]=C,t[12]=w,t[13]=T,t[14]=E):E=t[14];let D;t[15]!==y||t[16]!==b||t[17]!==i.label?(D=i.label&&(0,x.jsx)(Or,{label:i.label,cx:y,cy:b}),t[15]=y,t[16]=b,t[17]=i.label,t[18]=D):D=t[18];let O;return t[19]!==E||t[20]!==D?(O=(0,x.jsxs)(`g`,{className:`dg-edge`,children:[E,D]}),t[19]=E,t[20]=D,t[21]=O):O=t[21],O}function Or(e){let t=(0,F.c)(14),{label:n,cx:r,cy:i}=e,a,o,s,c,l;if(t[0]!==r||t[1]!==i||t[2]!==n){let e=u(n,{maxWidth:220,fontSize:15,minFontSize:11,maxLines:2,lineHeight:1.15,bold:!0}),d=i-(e.lines.length-1)*e.lineHeightPx/2;a=`dg-edge-label`,o=r,s=`middle`,c=e.fontSize,l=e.lines.map((t,n)=>(0,x.jsx)(`tspan`,{x:r,y:d+n*e.lineHeightPx,dominantBaseline:`middle`,children:t},n)),t[0]=r,t[1]=i,t[2]=n,t[3]=a,t[4]=o,t[5]=s,t[6]=c,t[7]=l}else a=t[3],o=t[4],s=t[5],c=t[6],l=t[7];let d;return t[8]!==a||t[9]!==o||t[10]!==s||t[11]!==c||t[12]!==l?(d=(0,x.jsx)(`text`,{className:a,x:o,textAnchor:s,fontSize:c,children:l}),t[8]=a,t[9]=o,t[10]=s,t[11]=c,t[12]=l,t[13]=d):d=t[13],d}var kr=164,Ar=80,jr=.74;function Mr(e){let t=(0,F.c)(18),{node:n}=e,r=n.kind??`default`,i;if(t[0]!==r||t[1]!==n.cx||t[2]!==n.cy||t[3]!==n.label||t[4]!==n.sub){let e=n.sub?.trim(),a=e?u(e,{maxWidth:kr,fontSize:15,minFontSize:11,maxLines:2,lineHeight:1.2}):null,o=a?a.lines.length*a.lineHeightPx:0,s=u(n.label,{maxWidth:kr,fontSize:19,minFontSize:12,maxHeight:Ar-o,maxLines:e?2:3,lineHeight:1.16,bold:!0}),c=s.lines.length*s.lineHeightPx,l=n.cy-(c+o)/2,d=e?`${n.label} — ${e}`:n.label,f;t[6]===d?f=t[7]:(f=(0,x.jsx)(`title`,{children:d}),t[6]=d,t[7]=f);let p=hr[r],m=gr[r],h=r==="default"||r===`muted`?1.4:2,g;t[8]!==n.cx||t[9]!==n.cy||t[10]!==p||t[11]!==m||t[12]!==h?(g=(0,x.jsx)(`ellipse`,{cx:n.cx,cy:n.cy,rx:ur,ry:dr,fill:p,stroke:m,strokeWidth:h}),t[8]=n.cx,t[9]=n.cy,t[10]=p,t[11]=m,t[12]=h,t[13]=g):g=t[13];let _=n.cx,v=s.fontSize,y=s.lines.map((e,t)=>(0,x.jsx)(`tspan`,{x:n.cx,y:l+t*s.lineHeightPx+s.fontSize*jr,children:e},t)),b;t[14]!==s||t[15]!==n.cx||t[16]!==y?(b=(0,x.jsx)(`text`,{className:`dg-node-label`,x:_,textAnchor:`middle`,fontSize:v,children:y}),t[14]=s,t[15]=n.cx,t[16]=y,t[17]=b):b=t[17],i=(0,x.jsxs)(`g`,{className:`dg-node`,children:[f,g,b,a&&(0,x.jsx)(`text`,{className:`dg-node-sub`,x:n.cx,textAnchor:`middle`,fontSize:a.fontSize,children:a.lines.map((e,t)=>(0,x.jsx)(`tspan`,{x:n.cx,y:l+c+t*a.lineHeightPx+a.fontSize*jr,children:e},t))})]}),t[0]=r,t[1]=n.cx,t[2]=n.cy,t[3]=n.label,t[4]=n.sub,t[5]=i}else i=t[5];return i}var H=44,Nr=48,Pr=36,Fr=12,Ir=12,Lr=10,Rr=6,zr=5;function Br(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function Vr(e,t){return`${e},${t}`}function Hr({title:e,icon:t=`table`,iconColor:n=`var(--presence)`,rows:r,cols:o,cells:s,steps:c,highlight:l,path:u,recurrence:d,footer:f,delay:p}){let m=i[t]??i.table,[h,g]=(0,b.useState)(0),_=c?.length??0,v=Math.min(h,Math.max(0,_-1)),y=c?.[v],S=e=>g(Math.min(_-1,Math.max(0,e))),{vbW:C,vbH:w,clampedRows:T,clampedCols:E,clampedCells:D,pathSet:O,hlKey:k,depSet:A}=(0,b.useMemo)(()=>{let e=r.slice(0,Lr),t=o.slice(0,Ir),n=e.length,i=t.length,a=s.slice(0,n).map(e=>e.slice(0,i)),c=72+i*H,d=60+n*H,f=new Set;for(let[e,t]of u??[])e<n&&t<i&&f.add(Vr(e,t));let p=y?.current??l,m=p&&p[0]<n&&p[1]<i?Vr(p[0],p[1]):null,h=new Set;for(let[e,t]of y?.deps??[]){let r=Vr(e,t);e<n&&t<i&&r!==m&&h.add(r)}return{vbW:c,vbH:d,clampedRows:e,clampedCols:t,clampedCells:a,pathSet:f,hlKey:m,depSet:h}},[r,o,s,l,u,y]),j=E.length,M=T.length,N=e=>60+e*H,P=e=>48+e*H;return(0,x.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(p??0)+`ms`},children:[e&&(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(m,{className:`ic`,style:{color:n}}),` `,e]}),d&&(0,x.jsx)(`div`,{className:`dp-recurrence`,children:(0,x.jsx)(`code`,{children:d})}),y?.caption&&(0,x.jsx)(`p`,{className:`dg-at-caption`,"aria-live":`polite`,children:y.caption}),(0,x.jsx)(`div`,{className:`dp-wrap`,children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${C} ${w}`,className:`dp-svg`,role:`img`,"aria-label":e??`DP table`,children:[(0,x.jsx)(`rect`,{x:Fr,y:Fr,width:Nr,height:Pr,className:`dp-corner`}),E.map((e,t)=>(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`rect`,{x:N(t),y:Fr,width:H,height:Pr,className:`dp-header`}),(0,x.jsxs)(`text`,{x:N(t)+H/2,y:35,textAnchor:`middle`,className:`dp-hdr-val`,children:[e.length>Rr&&(0,x.jsx)(`title`,{children:e}),Br(e,Rr)]})]},`ch-${t}`)),T.map((e,t)=>(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`rect`,{x:Fr,y:P(t),width:Nr,height:H,className:`dp-header`}),(0,x.jsxs)(`text`,{x:36,y:P(t)+H/2+5,textAnchor:`middle`,className:`dp-hdr-val`,children:[e.length>Rr&&(0,x.jsx)(`title`,{children:e}),Br(e,Rr)]})]},`rh-${t}`)),Array.from({length:M},(e,t)=>Array.from({length:j},(e,n)=>{let r=Vr(t,n),i=r===k,a=A.has(r),o=!i&&!a&&O.has(r),s=D[t]?.[n],c=s==null?``:String(s),l=`dp-cell`;return i?l+=` dp-active`:a?l+=` dp-dep`:o&&(l+=` dp-path`),(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`rect`,{x:N(n),y:P(t),width:H,height:H,className:l}),s!=null&&(0,x.jsxs)(`text`,{x:N(n)+H/2,y:P(t)+H/2+5,textAnchor:`middle`,className:`dp-val`+(i?` dp-val-active`:a?` dp-val-dep`:o?` dp-val-path`:``),children:[c.length>zr&&(0,x.jsx)(`title`,{children:c}),Br(c,zr)]})]},r)}))]})}),c&&c.length>0&&(0,x.jsxs)(`div`,{className:`dg-at-controls`,children:[(0,x.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>S(v-1),disabled:v===0,"aria-label":`previous step`,children:[(0,x.jsx)(i.chevL,{className:`ic`}),` Prev`]}),(0,x.jsx)(`div`,{className:`dg-at-progress`,"aria-hidden":`true`,children:c.map((e,t)=>(0,x.jsx)(`span`,{className:`dg-at-dot`+(t===v?` on`:t<v?` done`:``)},t))}),(0,x.jsxs)(`span`,{className:`dg-at-count`,children:[v+1,` / `,_]}),(0,x.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>S(v+1),disabled:v>=_-1,"aria-label":`next step`,children:[`Next `,(0,x.jsx)(i.chevR,{className:`ic`})]})]}),f&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(f)})]})}function Ur({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,entities:r,relationships:o,footer:s,delay:c}){let l=i[t]||i.share,u=(0,b.useMemo)(()=>r.map((e,t)=>({...e,gx:e.x===void 0?t%2+1:void 0,gy:e.y===void 0?Math.floor(t/2)+1:void 0})),[r]),d=(0,b.useMemo)(()=>new Map(r.map(e=>[e.id,e])),[r]),f=e=>e===`many`?`∞`:`1`;return(0,x.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(c||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`dg-er`,children:u.map(e=>(0,x.jsxs)(`div`,{className:`dg-er-entity`,style:e.gx?{gridColumn:e.gx,gridRow:e.gy}:void 0,children:[(0,x.jsx)(`div`,{className:`dg-er-name`,children:e.label}),(0,x.jsx)(`ul`,{className:`dg-er-fields`,children:e.fields.map((e,t)=>(0,x.jsxs)(`li`,{className:`dg-er-field`+(e.key?` k-`+e.key:``),children:[e.key&&(0,x.jsx)(`span`,{className:`dg-er-key`,children:e.key.toUpperCase()}),(0,x.jsx)(`span`,{className:`dg-er-fname`,children:e.name}),e.type&&(0,x.jsx)(`span`,{className:`dg-er-ftype`,children:e.type})]},t))})]},e.id))}),o.length>0&&(0,x.jsx)(`ul`,{className:`dg-er-rels`,children:o.map((e,t)=>{let n=d.get(e.from),r=d.get(e.to);return(0,x.jsxs)(`li`,{className:`dg-er-rel`,children:[(0,x.jsx)(`b`,{children:n?.label??e.from}),(0,x.jsx)(`span`,{className:`dg-er-card`,children:f(e.fromCard)}),(0,x.jsx)(`span`,{className:`dg-er-line`}),(0,x.jsx)(`span`,{className:`dg-er-card`,children:f(e.toCard)}),(0,x.jsx)(`b`,{children:r?.label??e.to}),e.label&&(0,x.jsx)(`span`,{className:`dg-er-rlbl`,children:e.label})]},t)})}),s&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(s)})]})}var Wr=1e3,Gr=18,Kr=152,qr=84,Jr=8,Yr=.577,Xr=15,Zr=12.5,Qr=[`var(--presence)`,`var(--insight)`,`var(--warning)`,`var(--presence-deep)`];function $r(e){return Array.isArray(e)?e.map(e=>{if(typeof e==`string`)return{label:e,causes:[]};if(!e||typeof e!=`object`)return null;let t=e,n=typeof t.label==`string`&&t.label?t.label:``,r=(Array.isArray(t.causes)?t.causes:[]).map(e=>{if(typeof e==`string`)return e;if(e&&typeof e==`object`){let t=e,n=t.text??t.label??t.cause??t.name;return typeof n==`string`?n:``}return``}).filter(Boolean);return n||r.length?{label:n||`—`,causes:r}:null}).filter(e=>e!==null).slice(0,Jr):[]}function ei({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,effect:r,categories:o,footer:c,delay:l}){let d=i[t]||i.share,f=(0,b.useId)().replace(/:/g,``),p=(0,b.useMemo)(()=>$r(o),[o]),m=(0,b.useMemo)(()=>{if(!p.length)return null;let e=Math.max(0,...p.map(e=>e.causes.length)),t=Math.min(240,Math.max(96,40+e*32)),n=t*Yr,r=t*2+110,i=r/2,a=Math.max(1,Math.ceil(p.length/2)),o=(776-n)/a;return{ribH:t,ribDx:n,H:r,spineY:i,spineX1:44,spineX2:820,twigLen:Math.min(150,Math.max(70,o*.72)),ribs:p.map((e,r)=>{let a=Math.floor(r/2),s=r%2==0,c=44+n+o*(a+.62);return{cat:e,top:s,jx:c,tipX:c-n,tipY:s?i-t:i+t,accent:Qr[r%Qr.length]}})}},[p]),h=(0,b.useMemo)(()=>u(typeof r==`string`&&r?r:`—`,{maxWidth:130,fontSize:16,minFontSize:11,maxLines:3,lineHeight:1.2,bold:!0}),[r]);return(0,x.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(l||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),m?(0,x.jsx)(`div`,{className:`dg-stage fsb-stage`,children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${Wr} ${m.H}`,className:`dg-svg`,role:`img`,"aria-label":e,children:[(0,x.jsx)(`defs`,{children:(0,x.jsx)(`marker`,{id:`fsb-arrow-${f}`,viewBox:`0 0 10 10`,refX:`8`,refY:`5`,markerWidth:`7`,markerHeight:`7`,orient:`auto`,children:(0,x.jsx)(`path`,{d:`M0 0 L10 5 L0 10 z`,className:`fsb-arrowhead`})})}),(0,x.jsx)(`polygon`,{className:`fsb-tail`,points:`${Gr},${m.spineY-13} ${Gr},${m.spineY+13} 44,${m.spineY}`}),(0,x.jsx)(`line`,{className:`fsb-spine`,x1:m.spineX1,y1:m.spineY,x2:m.spineX2,y2:m.spineY,markerEnd:`url(#fsb-arrow-${f})`}),(0,x.jsx)(`rect`,{className:`fsb-head`,x:m.spineX2+10,y:m.spineY-qr/2,width:Kr,height:qr,rx:12}),(0,x.jsx)(`text`,{className:`fsb-effect`,textAnchor:`middle`,fontSize:h.fontSize,children:h.lines.map((e,t)=>(0,x.jsx)(`tspan`,{x:m.spineX2+10+Kr/2,y:m.spineY-(h.lines.length-1)*h.lineHeightPx/2+t*h.lineHeightPx,dominantBaseline:`middle`,children:e},t))}),m.ribs.map((e,t)=>{let n=e.cat.causes.length,r=m.ribH/(n+1)>=30?2:1,i=u(e.cat.label,{maxWidth:132,fontSize:Xr,minFontSize:11,maxLines:2,lineHeight:1.15,bold:!0}),a=i.lines.length*i.lineHeightPx,o=e.top?e.tipY-10-a+i.lineHeightPx/2:e.tipY+10+i.lineHeightPx/2;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{className:`fsb-rib`,x1:e.jx,y1:m.spineY,x2:e.tipX,y2:e.tipY,style:{stroke:e.accent}}),(0,x.jsx)(`text`,{className:`fsb-cat`,textAnchor:`middle`,fontSize:i.fontSize,style:{fill:e.accent},children:i.lines.map((t,n)=>(0,x.jsx)(`tspan`,{x:e.tipX,y:o+n*i.lineHeightPx,dominantBaseline:`middle`,children:t},n))}),e.cat.causes.map((t,i)=>{let a=(n-i)/(n+1),o=e.jx-m.ribDx*a,s=e.top?m.spineY-m.ribH*a:m.spineY+m.ribH*a,c=Math.max(22,o-m.twigLen),l=u(t,{maxWidth:Math.max(40,o-c-10),fontSize:Zr,minFontSize:9,maxLines:r,lineHeight:1.15}),d=t=>e.top?s-4-(l.lines.length-1-t+.5)*l.lineHeightPx:s+4+(t+.5)*l.lineHeightPx;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{className:`fsb-twig`,x1:o,y1:s,x2:c,y2:s}),(0,x.jsx)(`text`,{className:`fsb-cause`,textAnchor:`end`,fontSize:l.fontSize,children:l.lines.map((e,t)=>(0,x.jsx)(`tspan`,{x:o-8,y:d(t),dominantBaseline:`middle`,children:e},t))})]},i)})]},t)})]})}):(0,x.jsx)(s,{message:`No cause categories to draw`}),c&&(0,x.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(c)})]})}var ti=512,ni=62,ri=240,ii=160,ai=25,oi=22,si=20,ci=25,li=10,ui=2,di=3;function fi(e,t){let n=t>0?t*si+4:0;return ai+e*oi+n+ci+li}var pi=fi(ui,di),mi=26,hi=168,gi=pi+mi,_i=(gi+pi/2+9)*2,U=ti/2,W=_i/2,vi={label:22,note:25},yi={label:14,note:16},bi=12,xi={newEntrants:{dx:0,dy:-1},suppliers:{dx:-1,dy:0},buyers:{dx:1,dy:0},substitutes:{dx:0,dy:1}},Si=[`newEntrants`,`suppliers`,`buyers`,`substitutes`],Ci={newEntrants:`Threat of new entrants`,suppliers:`Supplier power`,buyers:`Buyer power`,substitutes:`Threat of substitutes`},G={low:`var(--text-faint)`,medium:`var(--warning)`,high:`var(--danger)`},wi={low:2,medium:3.5,high:5.5},Ti={low:`Low`,medium:`Medium`,high:`High`},Ei=new Set([`low`,`medium`,`high`]);function Di(e){return Ei.has(e)?e:`medium`}function Oi(e,t,n){let r=e.trim().split(/\s+/).filter(Boolean),i=[],a=``,o=!1;for(let e of r){let r=a?`${a} ${e}`:e;if(r.length<=t||!a)a=r;else if(i.push(a),a=e,i.length===n){o=!0,a=``;break}}if(a&&i.length<n&&i.push(a),i.length){let e=i.length-1,n=i[e];n.length>t&&(n=n.slice(0,t-1).trimEnd()),(o||i[e].length>t)&&(n=n.replace(/[…\s]*$/,``)+`…`),i[e]=n}return i.length?i:[``]}function ki({title:e,icon:t=`chart`,iconColor:n=`var(--warning)`,industry:r,forces:o,footer:s,delay:c}){let l=i[t]||i.chart,u=Array.isArray(o)?o:[],d=new Map;for(let e of u){if(!e||typeof e!=`object`)continue;let t=e.id;typeof t==`string`&&!d.has(t)&&d.set(t,e)}let f=d.get(`rivalry`),p=f&&Ei.has(f.strength)?Di(f.strength):null,m=Si.map(e=>{let t=d.get(e);if(!t||typeof t.label!=`string`||!t.label.trim())return null;let{dx:n,dy:r}=xi[e],i=Di(t.strength),a=n!==0,o=a?ii:ri,s=a?yi:vi,c=Oi(t.label,s.label,ui),l=typeof t.note==`string`?t.note.trim():``,u=l?Oi(l,s.note,di):[],f=fi(c.length,u.length),p=U+n*hi,m=W+r*gi;return{id:e,entry:t,strength:i,dx:n,dy:r,boxCx:p,boxCy:m,w:o,h:f,labelLines:c,noteLines:u,hub:{x:U+n*ni,y:W+r*ni},rim:{x:p-o/2*n,y:m-f/2*r}}}).filter(e=>e!==null),h=Oi((r||`this market`).trim(),bi,1)[0];return(0,x.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(c||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`dg-stage ff-stage`,children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${ti} ${_i}`,className:`dg-svg`,role:`img`,"aria-label":e,preserveAspectRatio:`xMidYMid meet`,children:[m.map(e=>(0,x.jsx)(`line`,{x1:e.hub.x,y1:e.hub.y,x2:e.rim.x,y2:e.rim.y,className:`ff-link`,style:{stroke:G[e.strength],strokeWidth:wi[e.strength]}},`c-${e.id}`)),(0,x.jsx)(`circle`,{cx:U,cy:W,r:ni,className:`ff-hub`,style:p?{stroke:G[p]}:void 0}),(0,x.jsx)(`text`,{x:U,y:W-22,textAnchor:`middle`,className:`ff-hub-title`,children:`Industry`}),(0,x.jsx)(`text`,{x:U,y:W-1,textAnchor:`middle`,className:`ff-hub-title`,children:`Rivalry`}),(0,x.jsx)(`text`,{x:U,y:W+19,textAnchor:`middle`,className:`ff-hub-sub`,children:h}),p&&(0,x.jsx)(`text`,{x:U,y:W+38,textAnchor:`middle`,className:`ff-strength`,style:{fill:G[p]},children:Ti[p]}),m.map(e=>{let t=e.boxCx-e.w/2,n=e.boxCy-e.h/2,r=n+ai+oi-4;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`rect`,{x:t,y:n,width:e.w,height:e.h,rx:12,className:`ff-box`,style:{stroke:G[e.strength]}}),(0,x.jsx)(`rect`,{x:t,y:n,width:4,height:e.h,rx:2,fill:G[e.strength]}),(0,x.jsx)(`text`,{x:e.boxCx,y:n+19,textAnchor:`middle`,className:`ff-slot-lbl`,children:Ci[e.id]}),(0,x.jsx)(`text`,{textAnchor:`middle`,className:`ff-box-lbl`,children:e.labelLines.map((t,n)=>(0,x.jsx)(`tspan`,{x:e.boxCx,y:r+n*oi,children:t},n))}),e.noteLines.length>0&&(0,x.jsx)(`text`,{textAnchor:`middle`,className:`ff-box-note`,children:e.noteLines.map((t,n)=>(0,x.jsx)(`tspan`,{x:e.boxCx,y:r+e.labelLines.length*oi+3+n*si,children:t},n))}),(0,x.jsx)(`text`,{x:t+e.w-12,y:n+e.h-li-2,textAnchor:`end`,className:`ff-strength`,style:{fill:G[e.strength]},children:Ti[e.strength]})]},e.id)})]})}),s&&(0,x.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(s)})]})}var Ai=520,ji=24,Mi=18,Ni=18,Pi=472,Fi=26,Ii=23,Li=18,Ri=22,zi=78,Bi=40,Vi=23,Hi=13,Ui=16;function Wi(e,t,n){let r=e.trim().split(/\s+/).filter(Boolean),i=[],a=``,o=!1;for(let e of r){let r=a?`${a} ${e}`:e;if(r.length<=t||!a)a=r;else if(i.push(a),a=e,i.length===n){o=!0,a=``;break}}if(a&&i.length<n&&i.push(a),i.length){let e=i.length-1,n=i[e];n.length>t&&(n=n.slice(0,t-1).trimEnd()),(o||i[e].length>t)&&(n=n.replace(/[…\s]*$/,``)+`…`),i[e]=n}return i.length?i:[``]}function Gi(e,t){let n=e?e*Ri+4:0,r=t*Ii;return Math.max(zi,52+n+r)}function Ki({title:e,icon:t=`eye`,iconColor:n=`var(--presence)`,problem:r,whys:o,rootCause:s,footer:c,delay:l}){let u=i[t]||i.eye,d=typeof s==`string`?s.trim():``,{rows:f,vbH:p}=(0,b.useMemo)(()=>{let e=[],t=Mi,n=Wi(typeof r==`string`?r:``,Bi,3),i=Gi(0,n.length);e.push({kind:`problem`,badge:`Problem`,questionLines:[],answerLines:n,h:i,y:t}),t+=i+Fi;let a=(Array.isArray(o)?o:[]).filter(e=>!!e&&typeof e==`object`&&typeof e.answer==`string`&&e.answer.trim()!==``),s=a.length-1;if(a.forEach((n,r)=>{let i=r===s&&!d,a=typeof n.question==`string`?n.question.trim():``,o=a?Wi(a,Bi,2):[],c=Wi(n.answer,Bi,3),l=Gi(o.length,c.length);e.push({kind:i?`root`:`why`,badge:`Why ${r+1}`,questionLines:o,answerLines:c,h:l,y:t}),t+=l+Fi}),d){let n=Wi(d,Bi,3),r=Gi(0,n.length);e.push({kind:`root`,badge:`Root cause`,questionLines:[],answerLines:n,h:r,y:t}),t+=r+Fi}return{rows:e,vbH:Math.max(120,t-Fi+Ni)}},[r,o,d]);return(0,x.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(l||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`dg-stage fwy-stage`,children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${Ai} ${p}`,className:`dg-svg`,role:`img`,"aria-label":e,preserveAspectRatio:`xMidYMid meet`,children:[(0,x.jsx)(`defs`,{children:(0,x.jsx)(`marker`,{id:`fwy-arrow`,viewBox:`0 0 10 10`,refX:`6`,refY:`5`,markerWidth:`6`,markerHeight:`6`,orient:`auto-start-reverse`,children:(0,x.jsx)(`path`,{d:`M0 0 L10 5 L0 10 z`,className:`fwy-arrowhead`})})}),f.slice(1).map((e,t)=>{let n=f[t],r=Ai/2;return(0,x.jsx)(`line`,{x1:r,y1:n.y+n.h,x2:r,y2:e.y-5,className:`fwy-link`,markerEnd:`url(#fwy-arrow)`},`link-${t}`)}),f.map((e,t)=>{let n=e.y+Vi,r=e.y+Li+Hi+Ui,i=e.questionLines.length>0?r+e.questionLines.length*Ri+4:r;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`rect`,{x:ji,y:e.y,width:Pi,height:e.h,rx:12,className:`fwy-card fwy-card--${e.kind}`}),(0,x.jsx)(`rect`,{x:ji,y:e.y,width:4,height:e.h,rx:2,className:`fwy-rail fwy-rail--${e.kind}`}),(0,x.jsx)(`text`,{x:42,y:n,className:`fwy-badge fwy-badge--${e.kind}`,children:e.badge}),e.questionLines.length>0&&(0,x.jsx)(`text`,{className:`fwy-question`,children:e.questionLines.map((e,t)=>(0,x.jsx)(`tspan`,{x:42,y:r+t*Ri,children:e},t))}),(0,x.jsx)(`text`,{className:`fwy-answer fwy-answer--${e.kind}`,children:e.answerLines.map((e,t)=>(0,x.jsx)(`tspan`,{x:42,y:i+t*Ii,children:e},t))})]},t)})]})}),c&&(0,x.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(c)})]})}var qi=640,Ji=20,Yi=20,Xi=20,K=92,Zi=22,Qi=13,$i=116;function ea(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function ta(e,t,n){let r=e.trim().split(/\s+/).filter(Boolean),i=[],a=``,o=!1;for(let e of r){let r=a?`${a} ${e}`:e;if(r.length<=t||!a)a=r;else if(i.push(a),a=e,i.length===n){o=!0,a=``;break}}if(a&&i.length<n&&i.push(a),i.length){let e=i.length-1,n=i[e];n.length>t&&(n=n.slice(0,t-1).trimEnd()),(o||i[e].length>t)&&(n=n.replace(/[…\s]*$/,``)+`…`),i[e]=n}return i.length?i:[``]}function na({title:e,icon:t=`globe`,iconColor:n=`var(--insight)`,tiers:r,organisms:o,links:s,footer:c,delay:l}){let u=i[t]||i.globe,d=(0,b.useMemo)(()=>Array.isArray(r)?r.filter(e=>typeof e==`string`):[],[r]),{placed:f,byId:p}=(0,b.useMemo)(()=>{let e=Math.max(0,d.length-1),t=new Map;(Array.isArray(o)?o:[]).forEach((n,r)=>{if(!n||typeof n!=`object`)return;let i=typeof n.label==`string`?n.label.trim():``;if(!i)return;let a=typeof n.id==`string`&&n.id.trim()?n.id.trim():`org-${r}`,o=Number.isFinite(n.tier)?Math.min(e,Math.max(0,Math.round(n.tier))):0,s=t.get(o)??[];s.push({id:a,label:i,tier:o}),t.set(o,s)});let n=[];for(let[r,i]of t){let t=Yi+(e-r)*K+K/2;i.forEach((e,r)=>{let a=$i+(r+.5)/i.length*504;n.push({...e,cx:a,cy:t})})}return{placed:n,byId:new Map(n.map(e=>[e.id,e]))}},[o,d.length]),m=(0,b.useMemo)(()=>(Array.isArray(s)?s:[]).map(e=>{if(!e||typeof e!=`object`)return null;let t=e,n=p.get(typeof t.from==`string`?t.from:``),r=p.get(typeof t.to==`string`?t.to:``);return!n||!r||n.id===r.id?null:{from:n,to:r}}).filter(e=>e!==null),[s,p]),h=Math.max(160,d.length*K+Yi+Xi),g=Math.max(0,d.length-1);return f.length===0?(0,x.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(l||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`p`,{className:`fwb-empty`,children:`No organisms to diagram.`})]}):(0,x.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(l||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`dg-stage fwb-stage`,children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${qi} ${h}`,className:`dg-svg`,role:`img`,"aria-label":e,preserveAspectRatio:`xMidYMid meet`,children:[(0,x.jsx)(`defs`,{children:(0,x.jsx)(`marker`,{id:`fwb-arrow`,viewBox:`0 0 10 10`,refX:`7`,refY:`5`,markerWidth:`6`,markerHeight:`6`,orient:`auto-start-reverse`,children:(0,x.jsx)(`path`,{d:`M0 0 L10 5 L0 10 z`,className:`fwb-arrowhead`})})}),d.map((e,t)=>{let n=Yi+(g-t)*K,r=ta(e,14,2),i=n+K/2-(r.length-1)*12/2+4;return(0,x.jsxs)(`g`,{children:[t>0&&(0,x.jsx)(`line`,{x1:Ji,y1:n,x2:620,y2:n,className:`fwb-tier-line`}),(0,x.jsx)(`text`,{x:Ji,className:`fwb-tier-lbl`,children:r.map((e,t)=>(0,x.jsx)(`tspan`,{x:Ji,y:i+t*12,children:e},t))})]},t)}),(0,x.jsx)(`line`,{x1:104,y1:Yi,x2:104,y2:h-Xi,className:`fwb-gutter-line`}),m.map((e,t)=>{let n=e.to.cx-e.from.cx,r=e.to.cy-e.from.cy,i=Math.hypot(n,r)||1,a=Math.min(40,i*.22),o=(e.from.cx+e.to.cx)/2-r/i*a,s=(e.from.cy+e.to.cy)/2+n/i*a,c=Math.atan2(s-e.from.cy,o-e.from.cx),l=Math.atan2(s-e.to.cy,o-e.to.cx),u=e.from.cx+Math.cos(c)*Zi,d=e.from.cy+Math.sin(c)*Zi,f=e.to.cx+Math.cos(l)*30,p=e.to.cy+Math.sin(l)*30;return(0,x.jsx)(`path`,{d:`M ${u.toFixed(1)} ${d.toFixed(1)} Q ${o.toFixed(1)} ${s.toFixed(1)} ${f.toFixed(1)} ${p.toFixed(1)}`,className:`fwb-link`,markerEnd:`url(#fwb-arrow)`},t)}),f.map(e=>(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`circle`,{cx:e.cx,cy:e.cy,r:Zi,className:`fwb-node`}),(0,x.jsxs)(`text`,{x:e.cx,y:e.cy+Zi+14,textAnchor:`middle`,className:`fwb-node-lbl`,children:[e.label.length>Qi&&(0,x.jsx)(`title`,{children:e.label}),ea(e.label,Qi)]})]},e.id))]})}),c&&(0,x.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(c)})]})}var ra=340,ia=280,aa=22,oa=12,sa=5;function ca(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function la(e){let t=Math.min(e.length,oa);return e.slice(0,t).map((e,n)=>{let r=e.x===void 0?ra/2+120*Math.cos(2*Math.PI*n/t-Math.PI/2):e.x/100*ra,i=e.y===void 0?ia/2+100*Math.sin(2*Math.PI*n/t-Math.PI/2):e.y/100*ia;return{id:e.id,label:e.label??e.id,cx:r,cy:i}})}function ua({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,nodes:r,edges:o,steps:s,algorithm:c=`bfs`,footer:l,delay:u}){let d=i[t]??i.share,f=`gt-arrow-${(0,b.useId)().replace(/:/g,``)}`,p=`url(#${f})`,[m,h]=(0,b.useState)(0),g=s[Math.min(m,s.length-1)],_=e=>h(Math.min(s.length-1,Math.max(0,e))),v=(0,b.useMemo)(()=>la(r),[r]),y=(0,b.useMemo)(()=>new Map(v.map(e=>[e.id,e])),[v]),S=e=>g?g.current===e?`current`:g.frontier?.includes(e)?`frontier`:g.visited?.includes(e)?`visited`:`none`:`none`,C=o.some(e=>e.directed);return(0,x.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u??0)+`ms`},children:[e&&(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`p`,{className:`dg-at-caption`,"aria-live":`polite`,children:g?.caption??``}),(0,x.jsx)(`div`,{className:`gt-stage`,children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${ra} ${ia}`,className:`gt-svg`,role:`img`,"aria-label":e??`Graph traversal`,children:[(0,x.jsx)(`defs`,{children:(0,x.jsx)(`marker`,{id:f,markerWidth:`8`,markerHeight:`8`,refX:`7`,refY:`4`,orient:`auto`,children:(0,x.jsx)(`path`,{d:`M0,0 L8,4 L0,8 Z`,className:`gt-arrowhead`})})}),o.map((e,t)=>{let n=y.get(e.from),r=y.get(e.to);if(!n||!r)return null;let i=r.cx-n.cx,a=r.cy-n.cy,o=Math.sqrt(i*i+a*a)||1,s=n.cx+i/o*24,c=n.cy+a/o*24,l=r.cx-i/o*28,u=r.cy-a/o*28,d=(s+l)/2,f=(c+u)/2;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:s,y1:c,x2:l,y2:u,className:`gt-edge`,markerEnd:e.directed||C?p:void 0}),e.weight!==void 0&&(0,x.jsx)(`text`,{x:d,y:f-6,textAnchor:`middle`,className:`gt-weight`,children:e.weight})]},`e${t}`)}),v.map(e=>{let t=S(e.id);return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`circle`,{cx:e.cx,cy:e.cy,r:aa,className:`gt-node gt-node-${t}`}),(0,x.jsxs)(`text`,{x:e.cx,y:e.cy+5,textAnchor:`middle`,className:`gt-label gt-label-${t}`,children:[e.label.length>sa&&(0,x.jsx)(`title`,{children:e.label}),ca(e.label,sa)]})]},e.id)})]})}),g&&(0,x.jsxs)(`div`,{className:`gt-state-panel`,children:[(0,x.jsxs)(`div`,{className:`gt-state-row`,children:[(0,x.jsxs)(`span`,{className:`gt-state-key`,children:[c===`bfs`?`Queue`:`Stack`,`:`]}),(0,x.jsx)(`div`,{className:`gt-chips`,children:g.frontier&&g.frontier.length>0?g.frontier.map(e=>(0,x.jsx)(`span`,{className:`gt-chip gt-chip-frontier`,children:y.get(e)?.label??e},e)):(0,x.jsx)(`span`,{className:`gt-chip-empty`,children:`—`})})]}),(0,x.jsxs)(`div`,{className:`gt-state-row`,children:[(0,x.jsx)(`span`,{className:`gt-state-key`,children:`Visited:`}),(0,x.jsx)(`div`,{className:`gt-chips`,children:g.visited&&g.visited.length>0?g.visited.map(e=>(0,x.jsx)(`span`,{className:`gt-chip gt-chip-visited`,children:y.get(e)?.label??e},e)):(0,x.jsx)(`span`,{className:`gt-chip-empty`,children:`—`})})]})]}),(0,x.jsxs)(`div`,{className:`dg-at-controls`,children:[(0,x.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>_(m-1),disabled:m===0,"aria-label":`previous step`,children:[(0,x.jsx)(i.chevL,{className:`ic`}),` Prev`]}),(0,x.jsx)(`div`,{className:`dg-at-progress`,"aria-hidden":`true`,children:s.map((e,t)=>(0,x.jsx)(`span`,{className:`dg-at-dot`+(t===m?` on`:t<m?` done`:``)},t))}),(0,x.jsxs)(`span`,{className:`dg-at-count`,children:[Math.min(m+1,s.length),` / `,s.length]}),(0,x.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>_(m+1),disabled:m>=s.length-1,"aria-label":`next step`,children:[`Next `,(0,x.jsx)(i.chevR,{className:`ic`})]})]}),l&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(l)})]})}var da=68,fa=36,pa=4,q=96,ma=32,ha=8,ga=28,J=16,_a=8,va=6;function ya(e,t){if(t<=0)return 0;if(typeof e==`number`)return(e%t+t)%t;let n=0;for(let t=0;t<e.length;t++)n=n*31+e.charCodeAt(t)&2147483647;return(n%t+t)%t}function ba({title:e,icon:t=`layers`,iconColor:n=`var(--presence)`,size:r,entries:o,hashFn:s,highlight:c,footer:l,delay:u}){let d=i[t]??i.layers,f=`ht-arrow-${(0,b.useId)().replace(/:/g,``)}`,p=`url(#${f})`,m=Math.min(Math.max(1,Math.floor(r)),_a),h=(0,b.useMemo)(()=>{let e=Array.from({length:m},()=>[]);for(let t of o){let n=t.bucket===void 0?ya(t.key,m):Math.max(0,Math.min(m-1,t.bucket));e[n].length<va&&e[n].push({key:t.key,value:t.value})}return e},[o,m]),g=92+Math.max(0,...h.map(e=>e.length))*104+ga+ha+J,_=J+m*40-pa+J,v=e=>J+e*40,y=e=>v(e)+fa/2,S=e=>92+e*104,C=e=>v(e)+2;return(0,x.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u??0)+`ms`},children:[e&&(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),s&&(0,x.jsx)(`div`,{className:`ht-hashfn`,children:s}),(0,x.jsx)(`div`,{className:`ht-wrap`,children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${g} ${_}`,className:`ht-svg`,role:`img`,"aria-label":e??`Hash table`,children:[(0,x.jsx)(`defs`,{children:(0,x.jsx)(`marker`,{id:f,markerWidth:`7`,markerHeight:`7`,refX:`6`,refY:`3.5`,orient:`auto`,children:(0,x.jsx)(`path`,{d:`M0,0 L7,3.5 L0,7 Z`,className:`ht-arrowhead`})})}),h.map((e,t)=>{let n=J,r=v(t),i=y(t);return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`rect`,{x:n,y:r,width:da,height:fa,className:`ht-bucket`}),(0,x.jsxs)(`text`,{x:50,y:r+fa/2+5,textAnchor:`middle`,className:`ht-bucket-idx`,children:[`[`,t,`]`]}),e.map((e,n)=>{let r=S(n),a=C(t),o=a+ma/2,s=`ht-node`+(c!==void 0&&String(e.key)===String(c)?` ht-active`:``),l=e.value===void 0?String(e.key):`${e.key}: ${e.value}`,u=l.length>10?10:12,d=l.length>13,f=n===0?84:S(n-1)+q;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:f,y1:i,x2:r-2,y2:o,className:`ht-chain`,markerEnd:p}),(0,x.jsx)(`rect`,{x:r,y:a,width:q,height:ma,rx:4,className:s}),(0,x.jsx)(`text`,{x:r+q/2,y:a+ma/2+5,textAnchor:`middle`,className:`ht-node-text`,style:{fontSize:u},...d?{textLength:84,lengthAdjust:`spacingAndGlyphs`}:{},children:l})]},`node-${t}-${n}`)}),(()=>{let n=e.length===0?92:S(e.length-1)+q+ha,r=y(t)-9,a=e.length===0?84:S(e.length-1)+q;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:a,y1:i,x2:n-2,y2:i,className:`ht-chain`,markerEnd:p}),(0,x.jsx)(`rect`,{x:n,y:r,width:ga,height:18,rx:3,className:`ht-null`}),(0,x.jsx)(`text`,{x:n+ga/2,y:r+13,textAnchor:`middle`,className:`ht-null-text`,children:`∅`})]},`null-${t}`)})()]},`bucket-${t}`)})]})}),l&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(l)})]})}var xa=34,Sa=26,Ca=22,wa=18,Ta=22,Ea=16;function Da(e,t){let n=t.length>0&&t.every(e=>e===1),r=t.some(e=>e===1),i=t.reduce((e,t)=>e+t,0)%2==1;switch(e){case`AND`:return+!!n;case`NAND`:return+!n;case`OR`:return+!!r;case`NOR`:return+!r;case`XOR`:return+!!i;case`XNOR`:return+!i;case`NOT`:return t[0]===1?0:1;default:return 0}}function Oa(e){let t=e===`NOT`||e===`NAND`||e===`NOR`||e===`XNOR`,n=e===`NAND`?`AND`:e===`NOR`?`OR`:e===`XNOR`?`XOR`:e,r=wa/2,i;return i=n===`AND`||e===`NOT`?e===`NOT`?(0,x.jsx)(`polygon`,{points:`-11,-9 -11,${r} 9,0`,fill:`none`}):(0,x.jsx)(`path`,{d:`M -11,-9 L 0,-9 A ${r},${r} 0 0 1 0,${r} L -11,${r} Z`,fill:`none`}):(0,x.jsxs)(x.Fragment,{children:[(n===`XOR`||e===`XOR`)&&(0,x.jsx)(`path`,{d:`M -14,-9 Q -9,0 -14,${r}`,fill:`none`}),(0,x.jsx)(`path`,{d:`${`M -11,-9 Q -6,0 -11,${r}`} Q -2,${r} 10,0 Q -2,-9 -11,-9 Z`,fill:`none`})]}),(0,x.jsxs)(`g`,{className:`dg-lg-gate-body`,children:[i,t&&(0,x.jsx)(`circle`,{cx:12.4,cy:0,r:1.6,fill:`none`,className:`dg-lg-bubble`})]})}var ka=e=>e===1?`dg-lg-wire on`:`dg-lg-wire`,Aa=3.1,ja=10;function Ma(e){return e.length>ja?e.slice(0,9).trimEnd()+`…`:e}function Na({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,inputs:r,gates:o,output:s,truth:c,caption:l,footer:u,delay:d}){let f=i[t]||i.share,p=`dg-lg-${(0,b.useId)().replace(/:/g,``)}`,{placed:m,viewW:h,viewH:g,outValue:_,outY:v,outLabel:y,outX:S}=(0,b.useMemo)(()=>{let e=new Map,t=new Map(o.map(e=>[e.id,e]));r.forEach((t,n)=>{e.set(t.id,{id:t.id,x:Ta,y:Ea+n*Sa,value:t.value??0})});let n=new Map,i=new Set,a=e=>{if(n.has(e))return n.get(e);let r=t.get(e);if(!r||i.has(e))return 0;i.add(e);let o=1+Math.max(0,...r.inputs.map(e=>a(e)));return i.delete(e),n.set(e,o),o},c=0;for(let e of o)c=Math.max(c,a(e.id));let l=new Map;for(let e of o){let t=a(e.id);l.has(t)||l.set(t,[]),l.get(t).push(e)}for(let t=1;t<=c;t++)(l.get(t)??[]).forEach((n,r)=>{let i=n.inputs.map(t=>e.get(t)?.value??0),a=Da(n.kind,i);e.set(n.id,{id:n.id,x:Ta+t*xa,y:Ea+r*Sa+t%2*4,value:a})});let u=Math.max(r.length,...[...l.values()].map(e=>e.length),1),d=Ma(s?.label??`Y`),f=d.length*Aa/2,p=Ta+(c+1)*xa+14,m=p+Math.max(0,f-6),h=32+u*Sa,g=p-8,_=s?e.get(s.from):void 0;return{placed:e,viewW:m,viewH:h,outValue:_?.value??0,outY:_?.y??Ea,outLabel:d,outX:g}},[r,o,s]),C=r.map(e=>e.value??0).join(``),w=c?.findIndex(e=>e.row.join(``)===C)??-1;return(0,x.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(d||0)+`ms`},children:[e&&(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(f,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsxs)(`div`,{className:`dg-lg`+(c&&c.length?` has-truth`:``),children:[(0,x.jsx)(`div`,{className:`dg-lg-circuit`,children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${h} ${g}`,className:`dg-lg-svg`,role:`img`,"aria-label":e||`logic circuit`,children:[(0,x.jsx)(`defs`,{children:(0,x.jsx)(`marker`,{id:p,markerWidth:`5`,markerHeight:`5`,refX:`4`,refY:`2.5`,orient:`auto`,children:(0,x.jsx)(`path`,{d:`M0,0 L5,2.5 L0,5 Z`,className:`dg-lg-arrowhead`})})}),o.map(e=>{let t=m.get(e.id);if(!t)return null;let n=e.kind===`NOT`?1:e.inputs.length;return e.inputs.slice(0,n).map((r,i)=>{let a=m.get(r);if(!a)return null;let o=t.y+(i-(n-1)/2)*(wa/Math.max(2,n+.5)),s=t.x-Ca/2;return(0,x.jsx)(`polyline`,{points:`${a.x+3},${a.y} ${(a.x+s)/2},${a.y} ${(a.x+s)/2},${o} ${s},${o}`,className:ka(a.value),fill:`none`},`${e.id}-${r}-${i}`)})}),s&&m.get(s.from)&&(()=>{let e=m.get(s.from),t=S;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`polyline`,{points:`${e.x+Ca/2+2},${e.y} ${t},${e.y} ${t},${v}`,className:ka(_),fill:`none`,markerEnd:`url(#${p})`}),(0,x.jsx)(`text`,{x:t,y:v-4,className:`dg-lg-pin`,textAnchor:`middle`,children:y}),(0,x.jsx)(`text`,{x:t,y:v+9,className:`dg-lg-bit`+(_?` on`:``),textAnchor:`middle`,children:_})]})})(),r.map(e=>{let t=m.get(e.id);if(!t)return null;let n=e.value??0;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`text`,{x:t.x-16,y:t.y+3,className:`dg-lg-in-lbl`,textAnchor:`start`,children:e.label}),(0,x.jsx)(`circle`,{cx:t.x,cy:t.y,r:3.4,className:`dg-lg-pad`+(n?` on`:``)}),(0,x.jsx)(`text`,{x:t.x,y:t.y+2.4,className:`dg-lg-bit`+(n?` on`:``),textAnchor:`middle`,children:n})]},e.id)}),o.map(e=>{let t=m.get(e.id);return t?(0,x.jsxs)(`g`,{transform:`translate(${t.x} ${t.y})`,children:[Oa(e.kind),(0,x.jsx)(`text`,{x:0,y:15,className:`dg-lg-glbl`,textAnchor:`middle`,children:e.kind})]},e.id):null})]})}),c&&c.length>0&&(0,x.jsx)(`div`,{className:`dg-lg-truth-wrap`,children:(0,x.jsxs)(`table`,{className:`dg-lg-truth`,children:[(0,x.jsx)(`thead`,{children:(0,x.jsxs)(`tr`,{children:[r.map(e=>(0,x.jsx)(`th`,{children:e.label},e.id)),(0,x.jsx)(`th`,{className:`dg-lg-out-col`,children:s?.label??`Y`})]})}),(0,x.jsx)(`tbody`,{children:c.map((e,t)=>(0,x.jsxs)(`tr`,{className:t===w?`on`:void 0,children:[e.row.map((e,t)=>(0,x.jsx)(`td`,{className:e?`bit on`:`bit`,children:e},t)),(0,x.jsx)(`td`,{className:`bit dg-lg-out-col`+(e.out?` on`:``),children:e.out})]},t))})]})})]}),l&&(0,x.jsx)(`p`,{className:`dg-lg-cap`,children:l}),u&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(u)})]})}var Pa=1e3,Fa=90,Ia=26,La=62,Ra=300,za=9,Ba=10,Va=13,Ha=14,Ua=.62,Wa=13,Ga=16;function Ka(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function qa(e){let t=typeof e==`number`?e:Number(e);return Number.isFinite(t)&&t>0?Math.round(t):0}function Ja(e,t){return t<=0?212:La+(e+.5)/t*Ra}function Ya({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,layers:r,connections:o=`dense`,highlight:s,footer:c,delay:l}){let u=i[t]||i.share,d=(0,b.useMemo)(()=>Array.isArray(r)?r:[],[r]),f=(0,b.useMemo)(()=>{let e=d.length;return d.map((t,n)=>{let r=qa(t?.units),i=r>za,a=i?8:r;return{layer:t,colX:e<=1?Pa/2:Fa+n/(e-1)*820,realCount:a,totalUnits:r,hasMore:i,moreCount:i?r-a:0}})},[d]),p=e=>e.realCount+ +!!e.hasMore,m=(0,b.useMemo)(()=>{if(!s||!Number.isInteger(s.layer)||!Number.isInteger(s.unit))return null;let e=f[s.layer];return!e||s.unit<0||s.unit>=e.realCount?null:{layer:s.layer,unit:s.unit}},[s,f]),h=(e,t)=>!!m&&m.layer===e&&m.unit===t,g=(0,b.useMemo)(()=>{let e=[];for(let t=0;t<f.length-1;t++){let n=f[t],r=f[t+1],i=p(n),a=p(r);for(let s=0;s<n.realCount;s++){let c=Ja(s,i);for(let i=0;i<r.realCount;i++){if(o===`sparse`&&Math.abs(s-i)>1)continue;let l=Ja(i,a),u=h(t,s)||h(t+1,i);e.push({x1:n.colX,y1:c,x2:r.colX,y2:l,hi:u})}}}return e.sort((e,t)=>Number(e.hi)-Number(t.hi))},[f,o,m]);return(0,x.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(l||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`dg-stage nn-stage`,children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${Pa} 426`,className:`dg-svg`,role:`img`,"aria-label":e,children:[g.map((e,t)=>(0,x.jsx)(`line`,{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,className:e.hi?`nn-edge nn-edge-hi`:`nn-edge`},t)),f.map((e,t)=>{let n=typeof e.layer?.name==`string`&&e.layer.name?e.layer.name:`Layer ${t+1}`,r=p(e),i=`+${e.moreCount}`,a=i.length*Ha*Ua+12,o=Ja(e.realCount,r);return(0,x.jsxs)(`g`,{children:[(0,x.jsxs)(`text`,{x:e.colX,y:Ia,className:`nn-name`,textAnchor:`middle`,children:[n.length>Wa&&(0,x.jsx)(`title`,{children:n}),Ka(n,Wa)]}),Array.from({length:e.realCount},(n,i)=>(0,x.jsx)(`circle`,{cx:e.colX,cy:Ja(i,r),r:Ba,className:h(t,i)?`nn-node nn-node-hi`:`nn-node`},i)),e.hasMore&&(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`rect`,{x:e.colX-a/2,y:o-Va,width:a,height:26,rx:Va,className:`nn-more-pill`}),(0,x.jsx)(`text`,{x:e.colX,y:o,className:`nn-more-label`,textAnchor:`middle`,dominantBaseline:`middle`,children:i})]}),(0,x.jsxs)(`text`,{x:e.colX,y:388,className:`nn-meta`,textAnchor:`middle`,children:[e.totalUnits,` unit`,e.totalUnits===1?``:`s`]}),e.layer?.activation&&(0,x.jsx)(`text`,{x:e.colX,y:406,className:`nn-meta nn-act`,textAnchor:`middle`,children:Ka(e.layer.activation,Ga)})]},t)})]})}),c&&(0,x.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(c)})]})}var Xa=100,Za=60;function Qa(e){switch(e){case`tank`:return(0,x.jsxs)(`g`,{className:`dg-pip-glyph`,children:[(0,x.jsx)(`rect`,{x:-7,y:-8,width:14,height:16,rx:3,fill:`none`}),(0,x.jsx)(`line`,{x1:-7,y1:3,x2:7,y2:3,className:`dg-pip-fluid`})]});case`pump`:return(0,x.jsxs)(`g`,{className:`dg-pip-glyph`,children:[(0,x.jsx)(`circle`,{cx:0,cy:0,r:7,fill:`none`}),(0,x.jsx)(`line`,{x1:0,y1:0,x2:6,y2:0}),(0,x.jsx)(`line`,{x1:0,y1:0,x2:-3.5,y2:5.5}),(0,x.jsx)(`line`,{x1:0,y1:0,x2:-3.5,y2:-5.5})]});case`valve`:return(0,x.jsxs)(`g`,{className:`dg-pip-glyph`,children:[(0,x.jsx)(`polygon`,{points:`-6,-5 -6,5 0,0`,fill:`none`}),(0,x.jsx)(`polygon`,{points:`6,-5 6,5 0,0`,fill:`none`})]});case`heater`:return(0,x.jsxs)(`g`,{className:`dg-pip-glyph`,children:[(0,x.jsx)(`rect`,{x:-8,y:-6,width:16,height:12,rx:2,fill:`none`}),(0,x.jsx)(`path`,{d:`M -6,0 q 1.5,-4 3,0 t 3,0 t 3,0`,fill:`none`})]});case`filter`:return(0,x.jsxs)(`g`,{className:`dg-pip-glyph`,children:[(0,x.jsx)(`polygon`,{points:`-6,-6 6,-6 0,7`,fill:`none`}),(0,x.jsx)(`line`,{x1:-3.4,y1:-2,x2:3.4,y2:-2,className:`dg-pip-fluid`})]});case`sensor`:return(0,x.jsxs)(`g`,{className:`dg-pip-glyph`,children:[(0,x.jsx)(`circle`,{cx:0,cy:0,r:6.5,fill:`none`}),(0,x.jsx)(`line`,{x1:-6.5,y1:0,x2:6.5,y2:0,className:`dg-pip-thin`})]});case`fitting`:return(0,x.jsx)(`g`,{className:`dg-pip-glyph`,children:(0,x.jsx)(`circle`,{cx:0,cy:0,r:2.4,className:`dg-pip-fill`})});default:return(0,x.jsx)(`g`,{className:`dg-pip-glyph`,children:(0,x.jsx)(`rect`,{x:-7,y:-2.6,width:14,height:5.2,rx:1.4,fill:`none`})})}}function $a({title:e,icon:t=`sliders`,iconColor:n=`var(--insight)`,components:r,lines:o,caption:s,footer:c,delay:l}){let u=i[t]||i.sliders,d=`dg-pip-arrow-${(0,b.useId)().replace(/:/g,``)}`,f=`url(#${d})`,p=(0,b.useMemo)(()=>{let e=Math.max(1,r.length),t=Math.min(e,Math.ceil(Math.sqrt(e)*1.5)),n=Math.ceil(e/t),i=Xa/(t+1),a=Za/(n+1),o={};return r.forEach((e,n)=>{if(e.x!==void 0&&e.y!==void 0)o[e.id]={x:e.x,y:e.y};else{let r=Math.floor(n/t),s=n%t;o[e.id]={x:i*(s+1),y:a*(r+1)}}}),o},[r]);return(0,x.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(l||0)+`ms`},children:[e&&(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`dg-pip`,children:(0,x.jsxs)(`svg`,{viewBox:`-8 -9 116 80`,className:`dg-pip-svg`,role:`img`,"aria-label":e||`piping schematic`,children:[(0,x.jsx)(`defs`,{children:(0,x.jsx)(`marker`,{id:d,markerWidth:`6`,markerHeight:`6`,refX:`4.5`,refY:`3`,orient:`auto`,children:(0,x.jsx)(`path`,{d:`M0,0 L6,3 L0,6 Z`,className:`dg-pip-arrowhead`})})}),o.map((e,t)=>{let n=p[e.from],r=p[e.to];if(!n||!r)return null;let i=r.x,a=n.y;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`polyline`,{points:`${n.x},${n.y} ${i},${a} ${r.x},${r.y}`,className:`dg-pip-line`,fill:`none`,markerEnd:e.flow?f:void 0}),e.size&&(0,x.jsx)(`text`,{x:(n.x+i)/2,y:a-1.8,className:`dg-pip-size`,textAnchor:`middle`,children:e.size})]},t)}),r.map(e=>{let t=p[e.id];return t?(0,x.jsxs)(`g`,{transform:`translate(${t.x} ${t.y})`,children:[Qa(e.kind),e.label&&(0,x.jsx)(`text`,{x:0,y:13.5,className:`dg-pip-lbl`,textAnchor:`middle`,children:e.label})]},e.id):null})]})}),s&&(0,x.jsx)(`p`,{className:`dg-pip-cap`,children:s}),c&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(c)})]})}var Y=100,eo=100,X=72,to=65,no=79,ro=[88,102],io=11,ao={gene:`var(--presence)`,promoter:`var(--insight)`,terminator:`var(--warning)`,marker:`var(--danger)`},oo=13;function so(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function co(e,t){return!Number.isFinite(e)||t<=0?0:(e%t+t)%t}function lo(e,t){return co(e,t)/t*360}function Z(e,t){let n=(e-90)*Math.PI/180;return{x:Y+t*Math.cos(n),y:eo+t*Math.sin(n)}}function uo(e){let t=[...e].sort((e,t)=>e.deg-t.deg),n=ro.map(()=>-1/0);return t.map(e=>{let t=n.findIndex(t=>e.deg-t>=io);return t===-1&&(t=n.indexOf(Math.min(...n))),n[t]=e.deg,{...e,r:ro[t]}})}function fo(e,t=0){return typeof e==`number`&&Number.isFinite(e)?e:t}function po({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,sizeBp:r,features:o,sites:s,origin:c,footer:l,delay:u}){let d=i[t]||i.share,f=`pm-arrow-${(0,b.useId)().replace(/:/g,``)}`,p=Number.isFinite(r)&&r>0?r:1,m=(0,b.useMemo)(()=>Array.isArray(o)?o:[],[o]),h=(0,b.useMemo)(()=>Array.isArray(s)?s:[],[s]),g=(0,b.useMemo)(()=>m.map((e,t)=>{let n=lo(fo(e.startBp),p),r=lo(fo(e.endBp),p),i=((r-n)%360+360)%360,a=+(i>180),o=Z(n,X),s=Z(r,X),c=e.kind===`promoter`||e.kind===`terminator`||e.kind===`marker`?e.kind:`gene`,l=typeof e.name==`string`&&e.name?e.name:`Feature ${t+1}`,u=(n+i/2)%360;return{key:`f${t}`,s:o,t:s,large:a,color:ao[c],name:l,midDeg:u,strand:e.strand}}),[m,p]),_=(0,b.useMemo)(()=>h.map((e,t)=>{let n=lo(fo(e.posBp),p),r=typeof e.name==`string`&&e.name?e.name:`Site ${t+1}`;return{key:`s${t}`,deg:n,name:r,cutsOnce:!!e.cutsOnce}}),[h,p]),v=!!c&&typeof c.name==`string`&&c.name,y=v?lo(fo(c.posBp),p):0,S=(0,b.useMemo)(()=>uo([...g.map(e=>({key:e.key,deg:e.midDeg,text:e.name,color:e.color,bold:!0})),..._.map(e=>({key:e.key,deg:e.deg,text:e.name,color:`var(--text-secondary)`,bold:e.cutsOnce})),...v?[{key:`origin`,deg:y,text:c.name,color:`var(--presence)`,bold:!0}]:[]]),[g,_,v,y,c]);return(0,x.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(d,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`pm-wrap`,children:(0,x.jsxs)(`svg`,{viewBox:`-45 -8 290 216`,className:`pm-svg`,role:`img`,"aria-label":e,children:[(0,x.jsx)(`defs`,{children:(0,x.jsx)(`marker`,{id:f,viewBox:`0 0 10 10`,refX:`7`,refY:`5`,markerWidth:`4.4`,markerHeight:`4.4`,orient:`auto-start-reverse`,children:(0,x.jsx)(`path`,{d:`M0 0 L10 5 L0 10 z`,className:`pm-arrowhead`})})}),(0,x.jsx)(`circle`,{cx:Y,cy:eo,r:X,className:`pm-backbone`}),g.map(e=>(0,x.jsx)(`path`,{d:`M ${e.s.x} ${e.s.y} A ${X} ${X} 0 ${e.large} 1 ${e.t.x} ${e.t.y}`,fill:`none`,stroke:e.color,className:`pm-feature`,markerEnd:e.strand===`plus`?`url(#${f})`:void 0,markerStart:e.strand===`minus`?`url(#${f})`:void 0},e.key)),_.map(e=>{let t=Z(e.deg,to),n=Z(e.deg,no);return(0,x.jsx)(`line`,{x1:t.x,y1:t.y,x2:n.x,y2:n.y,className:e.cutsOnce?`pm-tick pm-tick-unique`:`pm-tick`},e.key)}),v&&(()=>{let e=Z(y,X);return(0,x.jsx)(`circle`,{cx:e.x,cy:e.y,r:3.2,className:`pm-origin-dot`,"data-mark":`point`})})(),S.map(e=>{let t=Z(e.deg,e.r),n=(t.x-Y)/(e.r||1),r=n>.2?`start`:n<-.2?`end`:`middle`,i=so(e.text,oo);return(0,x.jsxs)(`g`,{children:[i!==e.text&&(0,x.jsx)(`title`,{children:e.text}),(0,x.jsx)(`text`,{x:t.x,y:t.y,textAnchor:r,dominantBaseline:`middle`,className:e.bold?`pm-label pm-label-bold`:`pm-label`,fill:e.color,children:i})]},e.key)}),(0,x.jsx)(`text`,{x:Y,y:97,className:`pm-center-size`,textAnchor:`middle`,children:Math.round(p).toLocaleString()}),(0,x.jsx)(`text`,{x:Y,y:110,className:`pm-center-unit`,textAnchor:`middle`,children:`bp`})]})}),l&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:10},dangerouslySetInnerHTML:a(l)})]})}var mo=20,ho=54,go=70,_o=26,vo=8,yo=63;function bo(e){return e<=2?13:e<=3?11:e<=4?9:8}function xo(e){let t=0;function n(e,r){if(t>=yo||r>vo||!e||typeof e!=`object`||Array.isArray(e))return null;let i=e;if(!Number.isFinite(i.value)||i.value<=0)return null;t++;let a=Array.isArray(i.children)?i.children.map(e=>n(e,r+1)).filter(e=>e!==null):[];return{value:Math.round(i.value),isPrime:i.isPrime===!0,children:a}}return n(e,0)}function So(e){let t=0,n=0,r=[],i=[];function a(e,o){if(n=Math.max(n,o),e.children.length===0){let n={value:e.value,isPrime:e.isPrime,isLeaf:!0,slot:t,depth:o};return t++,r.push(n),n}let s=e.children.map(e=>a(e,o+1)),c=s.reduce((e,t)=>e+t.slot,0)/s.length,l={value:e.value,isPrime:e.isPrime,isLeaf:!1,slot:c,depth:o};r.push(l);for(let e of s)i.push({parent:l,child:e});return l}return a(e,0),{nodes:r,edges:i,leafCount:Math.max(1,t),maxDepth:n}}var Co={0:`⁰`,1:`¹`,2:`²`,3:`³`,4:`⁴`,5:`⁵`,6:`⁶`,7:`⁷`,8:`⁸`,9:`⁹`};function wo(e){return String(e).split(``).map(e=>Co[e]??``).join(``)}function To(e){let t=new Map;for(let n of e)t.set(n,(t.get(n)??0)+1);return[...t.entries()].sort((e,t)=>e[0]-t[0]).map(([e,t])=>t>1?`${e}${wo(t)}`:`${e}`).join(` × `)}function Eo({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,number:r,nodes:o,footer:s,delay:c}){let l=i[t]||i.share,u=(0,b.useMemo)(()=>xo(Array.isArray(o)&&o.length>0?o[0]:null),[o]),d=(0,b.useMemo)(()=>u?So(u):null,[u]),f=(0,b.useMemo)(()=>{if(!d||!Number.isFinite(r))return null;let e=d.nodes.filter(e=>e.isLeaf).map(e=>e.value);return e.length===0?null:`${Math.round(r)} = ${To(e)}`},[d,r]);if(!u||!d)return(0,x.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(c||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`p`,{className:`pft-empty`,children:`No factor tree to diagram.`})]});let p=Math.max(120,d.leafCount*ho+52),m=(d.maxDepth+1)*go+52,h=e=>_o+(e+.5)*ho,g=e=>_o+e*go+mo;return(0,x.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(c||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`dg-stage pft-stage`,children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${p} ${m}`,className:`dg-svg`,role:`img`,"aria-label":e,preserveAspectRatio:`xMidYMid meet`,children:[d.edges.map((e,t)=>(0,x.jsx)(`line`,{x1:h(e.parent.slot),y1:g(e.parent.depth),x2:h(e.child.slot),y2:g(e.child.depth),className:`pft-edge`},t)),d.nodes.map((e,t)=>{let n=h(e.slot),r=g(e.depth),i=e.value.toString().length;return(0,x.jsxs)(`g`,{transform:`translate(${n} ${r})`,children:[e.isPrime&&(0,x.jsx)(`circle`,{r:24,className:`pft-ring`}),(0,x.jsx)(`circle`,{r:mo,className:e.isPrime?`pft-node pft-node--prime`:`pft-node`}),(0,x.jsx)(`text`,{textAnchor:`middle`,dominantBaseline:`central`,fontSize:bo(i),className:`pft-node-lbl`,children:e.value})]},t)})]})}),f&&(0,x.jsx)(`p`,{className:`pft-cap`,children:f}),s&&(0,x.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(s)})]})}var Do=[`var(--presence)`,`var(--insight)`,`var(--warning)`];function Oo(e){if(e===0)return`0`;if(e===1)return`1`;let t=e.toPrecision(3);return parseFloat(t).toString()}function ko(e,t){return`P = ${Oo(e*t)}`}var Ao=560,jo=60,Mo=200,No=390,Po=550,Fo=26,Io=60,Lo=10,Ro=10,zo=.62;function Bo(e,t){return Math.max(3,Math.floor(e/(t*zo)))}var Vo=Bo(44.72,Lo),Ho=Bo(128,Ro),Uo=Bo(316,Ro);function Wo(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function Go(e){let t=e.map(e=>Math.max(1,e.children?.length??0)),n=t.reduce((e,t)=>e+t,0),r=Math.max(180,n*Io+60),i=(r-60)/n,a=0,o=e.map((e,n)=>{let r=t[n],o=Do[n%Do.length],s=(e.children??[]).map((t,r)=>({y:30+(a+r+.5)*i,branch:e,leaf:t,branchIdx:n,leafIdx:r,color:o})),c=s.length>0?s.reduce((e,t)=>e+t.y,0)/s.length:30+(a+.5)*i;return a+=r,{y:c,branch:e,branchIdx:n,color:o,leaves:s}});return{vbH:r,rootY:r/2,branchPositions:o}}function Ko({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,branches:r,note:a,delay:o}){let s=i[t]??i.chart,{vbH:c,rootY:l,branchPositions:u}=Go(r),d=u.some(e=>e.leaves.length>0);return(0,x.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(o??0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(s,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`dg-pt-scroll`,children:(0,x.jsxs)(`svg`,{className:`dg-pt-svg`,viewBox:`0 0 ${Ao} ${c}`,"aria-label":e,role:`img`,children:[(0,x.jsx)(`circle`,{cx:jo,cy:l,r:Fo,className:`dg-pt-node dg-pt-node--root`}),(0,x.jsx)(`text`,{x:jo,y:l+.5,textAnchor:`middle`,dominantBaseline:`middle`,className:`dg-pt-node-lbl`,children:`Start`}),u.map(({y:e,branch:t,branchIdx:n,color:r,leaves:i})=>(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:86,y1:l,x2:174,y2:e,className:`dg-pt-edge`,stroke:r}),(0,x.jsx)(`text`,{x:130,y:(l+e)/2-8,textAnchor:`middle`,className:`dg-pt-edge-lbl`,children:Oo(t.prob)}),(0,x.jsx)(`circle`,{cx:Mo,cy:e,r:Fo,className:`dg-pt-node`,stroke:r}),(0,x.jsxs)(`text`,{x:Mo,y:e+.5,textAnchor:`middle`,dominantBaseline:`middle`,className:`dg-pt-node-lbl`,children:[t.label.length>Vo&&(0,x.jsx)(`title`,{children:t.label}),Wo(t.label,Vo)]}),i.length===0&&(0,x.jsx)(`text`,{x:234,y:e+.5,dominantBaseline:`middle`,className:`dg-pt-outcome-lbl`,fill:r,children:Wo(ko(1,t.prob),Uo)}),i.map(({y:n,leaf:i,leafIdx:a})=>{let o=i.outcome??ko(t.prob,i.prob),s=Wo(o,Ho);return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:226,y1:e,x2:364,y2:n,className:`dg-pt-edge`,stroke:r}),(0,x.jsx)(`text`,{x:295,y:(e+n)/2-8,textAnchor:`middle`,className:`dg-pt-edge-lbl`,children:Oo(i.prob)}),(0,x.jsx)(`circle`,{cx:No,cy:n,r:Fo,className:`dg-pt-node dg-pt-node--leaf`,stroke:r}),(0,x.jsxs)(`text`,{x:No,y:n+.5,textAnchor:`middle`,dominantBaseline:`middle`,className:`dg-pt-node-lbl`,children:[i.label.length>Vo&&(0,x.jsx)(`title`,{children:i.label}),Wo(i.label,Vo)]}),(0,x.jsxs)(`text`,{x:Po,y:n+.5,textAnchor:`end`,dominantBaseline:`middle`,className:`dg-pt-outcome-lbl`,fill:r,children:[s!==o&&(0,x.jsx)(`title`,{children:o}),s]})]},a)})]},n)),(0,x.jsx)(`text`,{x:Mo,y:12,textAnchor:`middle`,className:`dg-pt-col-hdr`,children:`Event A`}),d&&(0,x.jsx)(`text`,{x:No,y:12,textAnchor:`middle`,className:`dg-pt-col-hdr`,children:`Event B`}),d&&(0,x.jsx)(`text`,{x:Po,y:12,textAnchor:`end`,dominantBaseline:`auto`,className:`dg-pt-col-hdr`,children:`Outcome`})]})}),a&&(0,x.jsx)(`p`,{className:`dg-pt-note`,children:a})]})}var qo=16,Jo=200,Yo=30,Xo=62,Zo=24,Qo=12,$o=18,es=32,ts=12;function ns(e){return Array.isArray(e)?e.map((e,t)=>{if(typeof e==`string`)return{id:`s${t}`,statement:e,from:[]};if(!e||typeof e!=`object`)return{id:`s${t}`,statement:``,from:[]};let n=e;return{id:typeof n.id==`string`&&n.id?n.id:`s${t}`,statement:typeof n.statement==`string`?n.statement:``,rule:typeof n.rule==`string`&&n.rule?n.rule:void 0,from:Array.isArray(n.from)?n.from.filter(e=>typeof e==`string`&&e.length>0):typeof n.from==`string`&&n.from?[n.from]:[]}}):[]}function rs({title:e,icon:t=`proof`,iconColor:n=`var(--presence)`,steps:r,conclusionId:o,footer:c,delay:l}){let f=i[t]||i.proof,{placed:p,width:m,height:h}=(0,b.useMemo)(()=>{let e=ns(r),t=new Map(e.map(e=>[e.id,e])),n=new Set(e.flatMap(e=>e.from)),i=o&&t.get(o)||[...e].reverse().find(e=>!n.has(e.id))||e[e.length-1];if(!i)return{placed:[],width:0,height:0};let a=0,s=(e,n,r)=>{let i=t.get(e);if(!i||n.has(e)||r>ts)return null;n.add(e);let o=i.from.map(e=>s(e,n,r+1)).filter(e=>e!==null);n.delete(e),a=Math.max(a,r);let c=o.length===0&&/^\s*\[.*\]\s*$/.test(i.statement),l=u(i.statement||`·`,{maxWidth:Jo,fontSize:qo,minFontSize:11,maxLines:2,lineHeight:1.15}),f=Math.max(26,...l.lines.map(e=>d(e,l.fontSize))),p=o.reduce((e,t)=>e+t.subW,0)+Yo*(o.length-1);return{step:i,children:o,fit:l,assumption:c,w:f,subW:o.length?Math.max(f,p):f,depth:r}},c=s(i.id,new Set,0);if(!c)return{placed:[],width:0,height:0};let l=[],f=(e,t)=>{let n=t+e.subW/2,r=es+(a-e.depth)*Xo,i;if(e.children.length){let a=e.children.reduce((e,t)=>e+t.subW,0)+Yo*(e.children.length-1),o=t+(e.subW-a)/2,s=e.children.map(e=>{let t=f(e,o);return o+=e.subW+Yo,t}),c=[n-e.w/2,...s.map(e=>e.cx-e.node.w/2)],l=[n+e.w/2,...s.map(e=>e.cx+e.node.w/2)];i={x1:Math.min(...c)-8,x2:Math.max(...l)+8,y:r-Zo}}let o={node:e,cx:n,cy:r,bar:i};return l.push(o),o};f(c,$o);let p=$o+c.subW;for(let e of l)e.bar&&e.node.step.rule&&(p=Math.max(p,e.bar.x2+8+d(e.node.step.rule,Qo)));return{placed:l,width:p+$o,height:es+a*Xo+34}},[r,o]);return(0,x.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(l||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(f,{className:`ic`,style:{color:n}}),` `,e]}),p.length===0?(0,x.jsx)(s,{message:`No proof steps to draw`}):(0,x.jsx)(`div`,{className:`dg-stage prf-stage`,children:(0,x.jsx)(`svg`,{viewBox:`0 0 ${m} ${h}`,className:`dg-svg prf-svg`,style:{maxWidth:m},role:`img`,"aria-label":e,children:p.map((e,t)=>{let{fit:n}=e.node,r=e.cy-(n.lines.length-1)*n.lineHeightPx/2;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`text`,{className:e.node.assumption?`prf-stmt prf-assume`:`prf-stmt`,textAnchor:`middle`,fontSize:n.fontSize,children:n.lines.map((t,i)=>(0,x.jsx)(`tspan`,{x:e.cx,y:r+i*n.lineHeightPx,dominantBaseline:`middle`,children:t},i))}),e.bar&&(0,x.jsxs)(x.Fragment,{children:[(0,x.jsx)(`line`,{className:`prf-bar`,x1:e.bar.x1,y1:e.bar.y,x2:e.bar.x2,y2:e.bar.y}),e.node.step.rule&&(0,x.jsx)(`text`,{className:`prf-rule`,x:e.bar.x2+8,y:e.bar.y,dominantBaseline:`middle`,fontSize:Qo,children:e.node.step.rule})]})]},t)})})}),c&&(0,x.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(c)})]})}var is=100,as=4,os=13,ss=11,cs=4.2,ls=5,us=.62;function ds(e,t){return e.length>t?e.slice(0,Math.max(1,t-1)).trimEnd()+`…`:e}function fs(e,t){return Math.max(2,Math.floor(e*.92/(t*us)))}function ps({title:e,icon:t=`layers`,iconColor:n=`var(--presence)`,layers:r,packet:o,caption:s,footer:c,delay:l}){let u=i[t]??i.layers,[d,f]=(0,b.useState)(null),p=(0,b.useMemo)(()=>{let e=o??[],t=e.length;if(t===0)return null;let n=Math.min(os,29/Math.max(1,t-1)),r=Math.max(2,Math.min(ss,n-2));return e.map((e,i)=>{let a=as+i*n,o=Math.max(0,is-a*2),s=i===t-1,c=fs(o,s?ls:cs);return{key:`${e.header}-${i}`,header:e.header,layer:e.layer,x:a,y:a,size:o,labelH:r,inner:s,maxChars:c,depth:i}})},[o]);return(0,x.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(l??0)+`ms`},children:[e&&(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsxs)(`div`,{className:`pst-grid`+(p?``:` pst-grid--solo`),children:[(0,x.jsx)(`ol`,{className:`pst-stack`,"aria-label":`Protocol layers, top to bottom`,children:r.map((e,t)=>{let n=d===e.name;return(0,x.jsxs)(`li`,{className:`pst-band`+(n?` on`:``),style:{"--pst-i":t},onMouseEnter:()=>f(e.name),onMouseLeave:()=>f(null),children:[(0,x.jsx)(`span`,{className:`pst-band-num`,children:r.length-t}),(0,x.jsxs)(`div`,{className:`pst-band-body`,children:[(0,x.jsx)(`span`,{className:`pst-band-name`,children:e.name}),e.role&&(0,x.jsx)(`span`,{className:`pst-band-role`,children:e.role}),e.protocols&&e.protocols.length>0&&(0,x.jsx)(`span`,{className:`pst-chips`,children:e.protocols.map((e,t)=>(0,x.jsx)(`span`,{className:`pst-chip`,children:e},e+t))})]})]},e.name+t)})}),p&&(0,x.jsxs)(`figure`,{className:`pst-encaps`,children:[(0,x.jsx)(`figcaption`,{className:`pst-encaps-cap`,children:`Encapsulation`}),(0,x.jsx)(`svg`,{viewBox:`0 0 ${is} ${is}`,className:`pst-encaps-svg`,role:`img`,"aria-label":`Packet encapsulation: each layer wraps the one inside it`,children:p.map(e=>{let t=e.layer!=null&&d===e.layer;return(0,x.jsxs)(`g`,{className:`pst-box`+(e.inner?` pst-box--inner`:``)+(t?` on`:``),onMouseEnter:()=>e.layer&&f(e.layer),onMouseLeave:()=>f(null),children:[e.header.length>e.maxChars&&(0,x.jsx)(`title`,{children:e.header}),(0,x.jsx)(`rect`,{x:e.x,y:e.y,width:e.size,height:e.size,rx:2.4}),(0,x.jsx)(`text`,{x:e.x+e.size/2,y:e.inner?e.y+e.size/2:e.y+e.labelH/2+1,className:e.inner?`pst-box-lbl pst-box-lbl--inner`:`pst-box-lbl`,textAnchor:`middle`,dominantBaseline:`middle`,children:ds(e.header,e.maxChars)})]},e.key)})}),(0,x.jsxs)(`div`,{className:`pst-flow-note`,children:[(0,x.jsx)(`span`,{className:`pst-flow-arrow`,"aria-hidden":`true`,children:`↓`}),`header added per layer on the way down`]})]})]}),s&&(0,x.jsx)(`p`,{className:`pst-caption`,children:s}),c&&(0,x.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(c)})]})}var ms=30,hs=35,gs=92,_s=108,vs=220,ys=96,bs=40,xs=13;function Ss(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function Cs(e,t){if(t>40||!e||typeof e!=`object`)return{call:typeof e==`string`&&e?e:`call()`};let n=e;return{call:typeof n.call==`string`&&n.call?n.call:`call()`,result:typeof n.result==`string`||typeof n.result==`number`?n.result:void 0,children:Array.isArray(n.children)?n.children.map(e=>Cs(e,t+1)):void 0}}function ws(e){return!e.children||e.children.length===0}function Ts(e){let t=0,n=0,r=(e,i)=>{n=Math.max(n,i);let a=hs+i*gs;if(ws(e)){let n=ms+t*_s+_s/2;return t+=1,{node:e,x:n,y:a,children:[]}}let o=e.children.map(e=>r(e,i+1));return{node:e,x:(o[0].x+o[o.length-1].x)/2,y:a,children:o}};return{placed:r(e,0),width:Math.max(vs,t*_s+60),height:hs+n*gs+bs+30}}function Es(e,t=[]){t.push(e);for(let n of e.children)Es(n,t);return t}function Ds({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,root:r,footer:o,delay:s}){let c=i[t]||i.share,{nodes:l,width:u,height:d}=(0,b.useMemo)(()=>{let{placed:e,width:t,height:n}=Ts(Cs(r,0));return{nodes:Es(e),width:t,height:n}},[r]);return(0,x.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(s||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(c,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`dg-stage rt-stage`,children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${u} ${d}`,className:`dg-svg`,role:`img`,"aria-label":e,children:[l.map((e,t)=>e.children.map((n,r)=>(0,x.jsx)(`line`,{x1:e.x,y1:e.y+bs/2,x2:n.x,y2:n.y-bs/2,className:`rt-edge`},`e${t}-${r}`))),l.map((e,t)=>{let n=e.node.call;return(0,x.jsxs)(`g`,{transform:`translate(${e.x} ${e.y})`,children:[(0,x.jsx)(`rect`,{x:-48,y:-20,width:ys,height:bs,rx:9,className:`rt-box`}),(0,x.jsxs)(`text`,{className:`rt-call`,textAnchor:`middle`,dominantBaseline:`middle`,children:[n.length>xs&&(0,x.jsx)(`title`,{children:n}),Ss(n,xs)]}),e.node.result!==void 0&&(0,x.jsxs)(`g`,{transform:`translate(${ys/2-6} -24)`,children:[(0,x.jsx)(`rect`,{x:-20,y:-11,width:40,height:22,rx:11,className:`rt-badge`}),(0,x.jsx)(`text`,{className:`rt-badge-text`,textAnchor:`middle`,dominantBaseline:`middle`,children:Ss(`→${e.node.result}`,8)})]})]},`n${t}`)})]})}),o&&(0,x.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(o)})]})}var Os=10,ks=38,As=132,js=400,Ms=112,Ns=26,Ps=16,Fs=6.4,Is=8,Ls=12;function Rs(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function zs({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,actors:r,messages:o,footer:s,delay:c}){let l=i[t]||i.share,u=`dg-seq-arrow-${(0,b.useId)().replace(/:/g,``)}`,d=`url(#${u})`,f=(0,b.useRef)(null),[p,m]=(0,b.useState)(0);(0,b.useLayoutEffect)(()=>{let e=f.current;if(!e||typeof ResizeObserver>`u`)return;let t=new ResizeObserver(t=>{let n=t[0]?.contentRect.width??e.offsetWidth;m(e=>Math.abs(e-n)<1?e:n)});return t.observe(e),()=>t.disconnect()},[]);let{lanes:h,width:g,height:_}=(0,b.useMemo)(()=>{let e=Math.max(1,r.length),t=p>0?Math.min(js,Math.max(As,p/e)):As,n=e*t,i=r.map((e,n)=>(n+.5)*t),a={};return r.forEach((e,t)=>a[e.id]=i[t]),{lanes:{x:i,map:a},width:n,height:44+o.length*ks+14}},[r,o.length,p]);return(0,x.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(c||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`dg-seq`,ref:f,children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${g} ${_}`,className:`dg-seq-svg`,style:{maxWidth:`${g}px`},preserveAspectRatio:`xMidYMin meet`,role:`img`,"aria-label":e,children:[r.map((e,t)=>(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:h.x[t],y1:44,x2:h.x[t],y2:_-8,className:`dg-seq-life`}),(0,x.jsx)(`rect`,{x:h.x[t]-Ms/2,y:Os,width:Ms,height:Ns,rx:5,className:`dg-seq-actorbox`}),(0,x.jsxs)(`text`,{x:h.x[t],y:27,className:`dg-seq-actor`,textAnchor:`middle`,children:[e.label.length>Ps&&(0,x.jsx)(`title`,{children:e.label}),Rs(e.label,Ps)]})]},e.id)),o.map((e,t)=>{let n=44+t*ks+20,r=h.map[e.from]??0,i=h.map[e.to]??r;if(e.self)return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`path`,{d:`M ${r} ${n} h 16 v 12 h -16`,className:`dg-seq-msg`+(e.reply?` reply`:``),fill:`none`,markerEnd:d}),(0,x.jsxs)(`text`,{x:r+22,y:n-3,className:`dg-seq-lbl`,textAnchor:`start`,children:[e.label.length>Ls&&(0,x.jsx)(`title`,{children:e.label}),Rs(e.label,Ls)]})]},t);let a=i>=r?1:-1,o=Math.max(Is,Math.floor((Math.abs(i-r)-24)/Fs));return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:r,y1:n,x2:i-a*5,y2:n,className:`dg-seq-msg`+(e.reply?` reply`:``),markerEnd:d}),(0,x.jsxs)(`text`,{x:(r+i)/2,y:n-5,className:`dg-seq-lbl`,textAnchor:`middle`,children:[e.label.length>o&&(0,x.jsx)(`title`,{children:e.label}),Rs(e.label,o)]})]},t)}),(0,x.jsx)(`defs`,{children:(0,x.jsx)(`marker`,{id:u,markerWidth:`7`,markerHeight:`7`,refX:`5.5`,refY:`3`,orient:`auto`,children:(0,x.jsx)(`path`,{d:`M0,0 L6,3 L0,6 Z`,className:`dg-seq-arrowhead`})})})]})}),s&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(s)})]})}var Bs=[600,250,80],Vs=[`1×`,`2×`,`4×`];function Hs(e,t){return e?e.sorted?.includes(t)?`sorted`:e.pivot===t?`pivot`:e.compared?.includes(t)?`compared`:e.swapped?.includes(t)?`swapped`:`default`:`default`}function Us(e){return e?{"o-1":`O(1)`,"o-logn":`O(log n)`,"o-n":`O(n)`,"o-nlogn":`O(n log n)`,"o-n2":`O(n²)`,"o-2n":`O(2ⁿ)`}[e]??e:``}function Ws({title:e,icon:t=`chart`,iconColor:n=`var(--presence)`,algorithm:r,complexity:o,values:s,steps:c,footer:l,delay:u}){let d=i[t]??i.chart,f=c.length,[p,m]=(0,b.useState)(0),[h,g]=(0,b.useState)(!1),[_,v]=(0,b.useState)(1),y=(0,b.useRef)(null),S=c[Math.min(p,f-1)],C=S?.values??s,w=Math.max(1,...C.map(e=>Math.abs(e))),T=c.slice(0,p+1).reduce((e,t)=>({cmp:e.cmp+ +!!t.compared?.length,swap:e.swap+ +!!t.swapped?.length}),{cmp:0,swap:0}),E=(0,b.useCallback)(e=>m(Math.min(f-1,Math.max(0,e))),[f]);return(0,b.useEffect)(()=>{if(!h){y.current&&clearTimeout(y.current);return}if(p>=f-1){g(!1);return}return y.current=setTimeout(()=>m(e=>Math.min(f-1,e+1)),Bs[_]),()=>{y.current&&clearTimeout(y.current)}},[h,p,f,_]),(0,x.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(u??0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`dg-sv-header`,children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,style:{marginBottom:0},children:[(0,x.jsx)(d,{className:`ic`,style:{color:n}}),e??r]}),(0,x.jsxs)(`div`,{className:`dg-sv-badges`,children:[o&&(0,x.jsx)(`span`,{className:`dg-sv-badge`,children:Us(o)}),(0,x.jsxs)(`span`,{className:`dg-sv-badge dg-sv-ops`,children:[T.cmp,` cmp · `,T.swap,` swap`]})]})]}),(0,x.jsx)(`p`,{className:`dg-at-caption`,"aria-live":`polite`,children:S?.caption??``}),(0,x.jsx)(`div`,{className:`dg-sv-bars`,"aria-label":`sorting visualization`,role:`img`,children:C.map((e,t)=>{let n=Hs(S,t),r=Math.round(Math.abs(e)/w*100);return(0,x.jsxs)(`div`,{className:`dg-sv-bar-wrap`,children:[(0,x.jsx)(`div`,{className:`dg-sv-bar role-${n}`,style:{height:`${r}%`},"aria-label":String(e)}),C.length<=16&&(0,x.jsx)(`span`,{className:`dg-sv-val`,style:{display:`inline-block`,maxWidth:`100%`,overflow:`hidden`,textOverflow:`ellipsis`},children:e})]},t)})}),(0,x.jsxs)(`div`,{className:`dg-at-controls`,children:[(0,x.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>{g(!1),E(p-1)},disabled:p===0,"aria-label":`previous step`,children:[(0,x.jsx)(i.chevL,{className:`ic`}),` Prev`]}),(0,x.jsx)(`button`,{type:`button`,className:`dg-at-btn dg-sv-play`,onClick:()=>{p>=f-1?(m(0),g(!0)):g(e=>!e)},"aria-label":h?`pause`:`play`,children:h?`⏸`:p>=f-1?`↺`:`▶`}),(0,x.jsxs)(`div`,{className:`dg-at-progress`,"aria-hidden":`true`,children:[c.length<=30&&c.map((e,t)=>(0,x.jsx)(`span`,{className:`dg-at-dot`+(t===p?` on`:t<p?` done`:``)},t)),c.length>30&&(0,x.jsxs)(`span`,{className:`dg-sv-step-count`,children:[p+1,` / `,f]})]}),(0,x.jsx)(`button`,{type:`button`,className:`dg-at-btn dg-sv-speed`,onClick:()=>v(e=>(e+1)%3),"aria-label":`speed: ${Vs[_]}`,children:Vs[_]}),(0,x.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>{g(!1),E(p+1)},disabled:p>=f-1,"aria-label":`next step`,children:[`Next `,(0,x.jsx)(i.chevR,{className:`ic`})]})]}),l&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(l)})]})}var Gs=22,Ks=52,qs=20,Js=[700,280,80],Ys=[`1×`,`2×`,`8×`];function Xs({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,algorithm:r,steps:o,footer:s,delay:c}){let l=i[t]??i.share,u=Math.max(1,o.length),[d,f]=(0,b.useState)(0),[p,m]=(0,b.useState)(!1),[h,g]=(0,b.useState)(1),_=(0,b.useRef)(d);_.current=d;let v=(0,b.useRef)(typeof window<`u`&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches),y=(0,b.useCallback)(e=>{m(!1),f(Math.min(u-1,Math.max(0,e)))},[u]),S=(0,b.useCallback)(()=>{v.current||m(e=>(!e&&_.current>=u-1&&f(0),!e))},[u]);(0,b.useEffect)(()=>{if(!p)return;let e=setInterval(()=>{let e=_.current+1;if(e>=u){m(!1);return}f(e)},Js[h]);return()=>clearInterval(e)},[p,u,h]);let C=o[Math.min(d,u-1)],w=C?.grid??[],T=Math.min(qs,w.length),E=Math.min(qs,w[0]?.length??0),D=w.slice(0,T).reduce((e,t)=>e+t.slice(0,E).filter(e=>e.state===`queued`).length,0),O=w.slice(0,T).reduce((e,t)=>e+t.slice(0,E).filter(e=>e.state===`visited`||e.state===`path`).length,0),k=w.some(e=>e.some(e=>e.value!==void 0));return(0,x.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(c??0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(l,{className:`ic`,style:{color:n}}),e??(r?`${r} on a Grid`:`Grid Trace`),r&&(0,x.jsx)(`span`,{className:`gt2-algo-badge`,children:r})]}),(0,x.jsx)(`p`,{className:`dg-at-caption`,"aria-live":`polite`,children:C?.caption??``}),(0,x.jsx)(`div`,{className:`gt2-grid`,style:{"--gt2-cols":E,"--gt2-cell":`clamp(${Gs}px, calc((100% - 8px) / ${E}), ${Ks}px)`},role:`img`,"aria-label":e??`grid`,children:w.slice(0,T).map((e,t)=>e.slice(0,E).map((e,n)=>(0,x.jsx)(`div`,{className:`gt2-cell gt2-${e.state}`,title:`[${t},${n}]${e.value===void 0?``:` = ${e.value}`}`,children:k&&e.value!==void 0&&(0,x.jsx)(`span`,{className:`gt2-cell-val`,children:e.value})},`${t}-${n}`)))}),(0,x.jsxs)(`div`,{className:`gt2-stats`,children:[(0,x.jsxs)(`span`,{className:`gt2-stat`,children:[(0,x.jsx)(`span`,{className:`gt2-dot gt2-dot-queued`}),D,` queued`]}),(0,x.jsxs)(`span`,{className:`gt2-stat`,children:[(0,x.jsx)(`span`,{className:`gt2-dot gt2-dot-visited`}),O,` visited`]})]}),(0,x.jsxs)(`div`,{className:`dg-at-controls`,children:[(0,x.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>y(d-1),disabled:d===0,"aria-label":`previous step`,children:[(0,x.jsx)(i.chevL,{className:`ic`}),` Prev`]}),!v.current&&(0,x.jsx)(`button`,{type:`button`,className:`dg-at-btn dg-at-play`+(p?` playing`:``),onClick:S,"aria-label":p?`pause`:`play`,children:p?(0,x.jsx)(i.pause,{className:`ic`}):(0,x.jsx)(i.play,{className:`ic`})}),!v.current&&(0,x.jsx)(`button`,{type:`button`,className:`dg-at-btn dg-at-speed`,onClick:()=>g(e=>(e+1)%3),"aria-label":`speed: ${Ys[h]}`,children:Ys[h]}),(0,x.jsx)(`div`,{className:`dg-at-progress`,"aria-hidden":`true`,children:u<=30&&o.map((e,t)=>(0,x.jsx)(`span`,{className:`dg-at-dot`+(t===d?` on`:t<d?` done`:``)},t))}),(0,x.jsxs)(`span`,{className:`dg-at-count`,children:[d+1,` / `,u]}),(0,x.jsxs)(`button`,{type:`button`,className:`dg-at-btn`,onClick:()=>y(d+1),disabled:d>=u-1,"aria-label":`next step`,children:[`Next `,(0,x.jsx)(i.chevR,{className:`ic`})]})]}),s&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(s)})]})}var Zs=100;function Qs({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,states:r,transitions:a,footer:o,delay:s}){let c=i[t]||i.share,[l,u]=(0,b.useState)(null),d=`dg-sm-arrow-${(0,b.useId)().replace(/:/g,``)}`,f=`url(#${d})`,p=(0,b.useMemo)(()=>{let e=_(Math.max(1,r.length),Zs/2,Zs/2),t={};return r.forEach((n,r)=>{t[n.id]=n.x!==void 0&&n.y!==void 0?{x:n.x,y:n.y}:e[r]}),t},[r]),m=v(r.length),h=(0,b.useMemo)(()=>g(a,p,m),[a,p,m]),y=(0,b.useMemo)(()=>{let e=r.map(e=>p[e.id]).filter(Boolean);if(e.length===0)return`0 0 ${Zs} ${Zs}`;let t=m+16,n=e.map(e=>e.x),i=e.map(e=>e.y),a=Math.min(...n)-t,o=Math.min(...i)-t;return`${a} ${o} ${Math.max(...n)+t-a} ${Math.max(...i)+t-o}`},[r,p,m]);return(0,x.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(s||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(c,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`dg-sm`,onMouseLeave:()=>u(null),children:(0,x.jsxs)(`svg`,{viewBox:y,className:`dg-sm-svg`,role:`img`,"aria-label":e,children:[(0,x.jsx)(`defs`,{children:(0,x.jsx)(`marker`,{id:d,markerWidth:`6`,markerHeight:`6`,refX:`5`,refY:`3`,orient:`auto`,children:(0,x.jsx)(`path`,{d:`M0,0 L6,3 L0,6 Z`,className:`dg-sm-arrowhead`})})}),h.map(e=>(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`path`,{d:e.d,className:`dg-sm-edge`,fill:`none`,markerEnd:f}),e.label&&(0,x.jsx)(`text`,{x:e.lx,y:e.ly,className:`dg-sm-elbl`,textAnchor:e.labelAnchor,children:e.label})]},e.key)),r.map(e=>{let t=p[e.id];return t?(0,x.jsxs)(`g`,{onMouseEnter:()=>u(e.id),className:`dg-sm-state`+(l===e.id?` on`:``),children:[e.start&&(0,x.jsx)(`line`,{x1:t.x-m-7,y1:t.y,x2:t.x-m,y2:t.y,className:`dg-sm-edge`,markerEnd:f}),(0,x.jsx)(`circle`,{cx:t.x,cy:t.y,r:m,className:`dg-sm-circ`}),e.final&&(0,x.jsx)(`circle`,{cx:t.x,cy:t.y,r:m-2.4,className:`dg-sm-circ-inner`}),(0,x.jsx)(`text`,{x:t.x,y:t.y+2.4,className:`dg-sm-lbl`,textAnchor:`middle`,children:e.label})]},e.id):null})]})}),o&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},children:o})]})}var $s=1e3,ec=96,tc=44,nc=112,rc=300,ic={start:`color-mix(in oklab, var(--presence) 16%, var(--surface-elevated-2))`,intermediate:`var(--surface-elevated-2)`,target:`color-mix(in oklab, var(--insight) 18%, var(--surface-elevated-2))`},ac={start:`var(--presence)`,intermediate:`var(--line-strong)`,target:`var(--insight)`};function oc(e){return e===`start`||e===`target`?e:`intermediate`}function sc(e,t){let n=new Map;for(let t of e)n.set(t.id,0);for(let r=0;r<e.length;r++){let r=!1;for(let i of t){if(!n.has(i.from)||!n.has(i.to))continue;let[t,a]=i.direction===`retro`?[i.to,i.from]:[i.from,i.to],o=(n.get(t)??0)+1;o>(n.get(a)??0)&&o<e.length&&(n.set(a,o),r=!0)}if(!r)break}return n}function cc(e,t){if(e.length===0)return rc;let n=sc(e,t),r=new Map;for(let t of e){let e=n.get(t.id)??0;r.set(e,(r.get(e)??0)+1)}let i=r.size>0?Math.max(...r.values()):1,a=i*88+Math.max(0,i-1)*80;return Math.max(rc,a+224)}function lc(e,t,n){let r=n-224,i=e=>nc+e*776,a=e=>nc+e*r,o=e.map(e=>({...e,cx:0,cy:0})),s=new Map(o.map(e=>[e.id,e])),c=sc(e,t),l=new Map;for(let t of e){let e=c.get(t.id)??0;l.has(e)||l.set(e,[]),l.get(e).push(t)}let u=[...l.keys()].sort((e,t)=>e-t),d=Math.max(1,u.length-1);return u.forEach((e,t)=>{let r=l.get(e),o=u.length===1?$s/2:i(t/d);r.forEach((e,t)=>{let i=s.get(e.id);i.cx=o,i.cy=r.length===1?n/2:a((t+.5)/r.length)})}),o}function uc(e,t){let n=t.cx-e.cx,r=t.cy-e.cy,i=Math.atan2(r,n);return{x:t.cx-Math.cos(i)*102,y:t.cy-Math.sin(i)*50}}function dc(e,t){let n=t.cx-e.cx,r=t.cy-e.cy,i=Math.atan2(r,n);return{x:e.cx+Math.cos(i)*102,y:e.cy+Math.sin(i)*50}}function fc(e,t,n){let r=e.split(/\s+/).filter(Boolean),i=[],a=``,o=!1;for(let e of r){let r=a?`${a} ${e}`:e;if(r.length<=t||!a)a=r;else if(i.push(a),a=e,i.length===n){o=!0,a=``;break}}if(a&&i.length<n&&i.push(a),i.length){let e=i.length-1,n=i[e];n.length>t&&(n=n.slice(0,t-1).trimEnd()),(o||i[e].length>t)&&(n=n.replace(/[…\s]*$/,``)+`…`),i[e]=n}return i.length?i:[``]}function pc(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}var mc=21,hc=12,gc=.6,_c=20,vc=Math.max(4,Math.floor(ec*Math.sqrt(1-(_c/tc)**2)*2*.94/(hc*gc)));function yc(e){let t=(0,F.c)(37),{node:n}=e,r;t[0]===n.role?r=t[1]:(r=oc(n.role),t[0]=n.role,t[1]=r);let i=r,a=typeof n.label==`string`&&n.label?n.label:n.id||`Compound`,o=typeof n.smiles==`string`&&!!n.smiles,s,c,l,u,d,f;if(t[2]!==o||t[3]!==a||t[4]!==n.cx||t[5]!==n.cy||t[6]!==i){let e=fc(a,16,o?1:2),r=e.length*mc,p=n.cy-r/2+mc*.72-(o?9:0);d=`sr-node`;let m=ic[i],h=ac[i],g=i===`intermediate`?1.4:2;t[13]!==n.cx||t[14]!==n.cy||t[15]!==g||t[16]!==m||t[17]!==h?(f=(0,x.jsx)(`ellipse`,{cx:n.cx,cy:n.cy,rx:ec,ry:tc,fill:m,stroke:h,strokeWidth:g}),t[13]=n.cx,t[14]=n.cy,t[15]=g,t[16]=m,t[17]=h,t[18]=f):f=t[18],s=`sr-label`,c=n.cx,l=`middle`;let _;t[19]!==n.cx||t[20]!==p?(_=(e,t)=>(0,x.jsx)(`tspan`,{x:n.cx,y:p+t*mc,children:e},t),t[19]=n.cx,t[20]=p,t[21]=_):_=t[21],u=e.map(_),t[2]=o,t[3]=a,t[4]=n.cx,t[5]=n.cy,t[6]=i,t[7]=s,t[8]=c,t[9]=l,t[10]=u,t[11]=d,t[12]=f}else s=t[7],c=t[8],l=t[9],u=t[10],d=t[11],f=t[12];let p;t[22]!==s||t[23]!==c||t[24]!==l||t[25]!==u?(p=(0,x.jsx)(`text`,{className:s,x:c,textAnchor:l,children:u}),t[22]=s,t[23]=c,t[24]=l,t[25]=u,t[26]=p):p=t[26];let m;t[27]!==o||t[28]!==n.cx||t[29]!==n.cy||t[30]!==n.smiles?(m=o&&(0,x.jsx)(`text`,{className:`sr-smiles`,x:n.cx,y:n.cy+_c,textAnchor:`middle`,children:pc(n.smiles,vc)}),t[27]=o,t[28]=n.cx,t[29]=n.cy,t[30]=n.smiles,t[31]=m):m=t[31];let h;return t[32]!==d||t[33]!==f||t[34]!==p||t[35]!==m?(h=(0,x.jsxs)(`g`,{className:d,children:[f,p,m]}),t[32]=d,t[33]=f,t[34]=p,t[35]=m,t[36]=h):h=t[36],h}function bc(e){let t=(0,F.c)(33),{a:n,b:r,edge:i,forwardArrow:a,retroArrow:o}=e,s=i.direction===`retro`,c;t[0]!==n||t[1]!==r?(c=dc(n,r),t[0]=n,t[1]=r,t[2]=c):c=t[2];let l=c,u;t[3]!==n||t[4]!==r?(u=uc(n,r),t[3]=n,t[4]=r,t[5]=u):u=t[5];let d=u,f=(l.x+d.x)/2,p=(l.y+d.y)/2,m=d.x-l.x,h=d.y-l.y,g;t[6]!==m||t[7]!==h?(g=Math.hypot(m,h)||1,t[6]=m,t[7]=h,t[8]=g):g=t[8];let _=g,v=Math.min(36,_*.05),y=f-h/_*v,b=p+m/_*v,S;t[9]!==i.conditions||t[10]!==i.reagents?(S=[i.reagents,i.conditions].filter(xc),t[9]=i.conditions,t[10]=i.reagents,t[11]=S):S=t[11];let C=S.join(`, `),w;t[12]===i.yieldPct?w=t[13]:(w=Number.isFinite(i.yieldPct),t[12]=i.yieldPct,t[13]=w);let T=w,E;t[14]!==i.yieldPct||t[15]!==T?(E=T?`${Math.round(Math.max(0,Math.min(100,i.yieldPct)))}%`:``,t[14]=i.yieldPct,t[15]=T,t[16]=E):E=t[16];let D=E,O=`M ${l.x} ${l.y} Q ${y} ${b} ${d.x} ${d.y}`,k=s?`sr-line sr-line-retro`:`sr-line`,A=`url(#${s?o:a})`,j;t[17]!==O||t[18]!==k||t[19]!==A?(j=(0,x.jsx)(`path`,{d:O,fill:`none`,className:k,markerEnd:A}),t[17]=O,t[18]=k,t[19]=A,t[20]=j):j=t[20];let M;t[21]!==C||t[22]!==y||t[23]!==b?(M=C&&(0,x.jsx)(`text`,{className:`dg-edge-label`,x:y,y:b-12,textAnchor:`middle`,children:pc(C,28)}),t[21]=C,t[22]=y,t[23]=b,t[24]=M):M=t[24];let N;t[25]!==y||t[26]!==b||t[27]!==D?(N=D&&(0,x.jsx)(`text`,{className:`sr-yield`,x:y,y:b+22,textAnchor:`middle`,children:D}),t[25]=y,t[26]=b,t[27]=D,t[28]=N):N=t[28];let P;return t[29]!==j||t[30]!==M||t[31]!==N?(P=(0,x.jsxs)(`g`,{className:`sr-edge`,children:[j,M,N]}),t[29]=j,t[30]=M,t[31]=N,t[32]=P):P=t[32],P}function xc(e){return typeof e==`string`&&e}function Sc({title:e,icon:t=`spark`,iconColor:n=`var(--presence)`,nodes:r,edges:o,footer:s,delay:c}){let l=i[t]||i.spark,u=(0,b.useId)().replace(/:/g,``),d=`sr-arrow-fwd-${u}`,f=`sr-arrow-retro-${u}`,p=(0,b.useMemo)(()=>Array.isArray(r)?r:[],[r]),m=(0,b.useMemo)(()=>Array.isArray(o)?o:[],[o]),h=(0,b.useMemo)(()=>cc(p,m),[p,m]),g=(0,b.useMemo)(()=>lc(p,m,h),[p,m,h]),_=(0,b.useMemo)(()=>new Map(g.map(e=>[e.id,e])),[g]);return(0,x.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(c||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`dg-stage sr-stage`,children:(0,x.jsxs)(`svg`,{className:`dg-svg`,viewBox:`0 0 ${$s} ${h}`,preserveAspectRatio:`xMidYMid meet`,role:`img`,"aria-label":e,children:[(0,x.jsxs)(`defs`,{children:[(0,x.jsx)(`marker`,{id:d,viewBox:`0 0 10 10`,refX:`8`,refY:`5`,markerWidth:`7`,markerHeight:`7`,orient:`auto-start-reverse`,children:(0,x.jsx)(`path`,{d:`M0 0 L10 5 L0 10 z`,className:`sr-arrowhead-fwd`})}),(0,x.jsx)(`marker`,{id:f,viewBox:`0 0 10 10`,refX:`8`,refY:`5`,markerWidth:`7`,markerHeight:`7`,orient:`auto-start-reverse`,children:(0,x.jsx)(`path`,{d:`M0 0 L10 5 L0 10 z`,className:`sr-arrowhead-retro`})})]}),m.map((e,t)=>{let n=_.get(e.from),r=_.get(e.to);return!n||!r?null:(0,x.jsx)(bc,{a:n,b:r,edge:e,forwardArrow:d,retroArrow:f},t)}),g.map(e=>(0,x.jsx)(yc,{node:e},e.id))]})}),s&&(0,x.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(s)})]})}var Cc=1e3,wc=130,Tc=113,Ec=74,Dc=320,Oc=226,kc=720,Ac=70,jc=-30,Mc={client:`var(--surface-elevated-2)`,loadbalancer:`color-mix(in oklab, var(--presence) 16%, var(--surface-elevated-2))`,service:`var(--surface-elevated-2)`,database:`color-mix(in oklab, var(--insight) 16%, var(--surface-elevated-2))`,cache:`color-mix(in oklab, var(--warning) 16%, var(--surface-elevated-2))`,queue:`color-mix(in oklab, var(--presence-soft) 22%, var(--surface-elevated-2))`,gateway:`color-mix(in oklab, var(--presence) 12%, var(--surface-elevated-2))`,cdn:`color-mix(in oklab, var(--insight) 10%, var(--surface-elevated-2))`},Nc={client:`var(--line-strong)`,loadbalancer:`var(--presence)`,service:`var(--line-strong)`,database:`var(--insight)`,cache:`var(--warning)`,queue:`var(--presence-soft)`,gateway:`var(--presence)`,cdn:`var(--insight)`},Pc=17,Fc=20;function Ic(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function Lc(e,t){let n=new Map;for(let t of e)n.set(t.id,0);for(let r=0;r<e.length;r++){let r=!1;for(let i of t){if(!n.has(i.from)||!n.has(i.to))continue;let t=(n.get(i.from)??0)+1;t>(n.get(i.to)??0)&&t<e.length&&(n.set(i.to,t),r=!0)}if(!r)break}return n}function Rc(e,t){if(e.length===0)return Dc;let n=Lc(e,t),r=new Map;for(let t of e){let e=n.get(t.id)??0;r.set(e,(r.get(e)??0)+1)}let i=r.size>0?Math.max(...r.values()):1,a=i*wc+Math.max(0,i-1)*Ec;return Math.max(Dc,a+226)}function zc(e,t){if(e.length===0)return Cc;let n=Lc(e,t),r=new Set(e.map(e=>n.get(e.id)??0)).size;return Math.max(Cc,Math.max(1,r-1)*Oc+226)}function Bc(e,t,n,r){let i=n-226,a=r-226,o=e=>Tc+e*i,s=e=>Tc+e*a,c=e.map(e=>Number.isFinite(e.x)&&Number.isFinite(e.y)?{...e,cx:o(Vc(e.x)),cy:s(Vc(e.y))}:{...e,cx:0,cy:0}),l=new Map(c.map(e=>[e.id,e])),u=e.filter(e=>!(Number.isFinite(e.x)&&Number.isFinite(e.y))),d=Lc(u,t),f=new Map;for(let e of u){let t=d.get(e.id)??0;f.has(t)||f.set(t,[]),f.get(t).push(e)}let p=[...f.keys()].sort((e,t)=>e-t),m=Math.max(1,p.length-1);return p.forEach((e,t)=>{let i=f.get(e),a=p.length===1?n/2:o(t/m);i.forEach((e,t)=>{let n=l.get(e.id);n.cx=a,n.cy=i.length===1?r/2:s((t+.5)/i.length)})}),c}function Vc(e){return Math.min(1,Math.max(0,e))}function Hc(e,t){let n=(Math.hypot(t.cx-e.cx,t.cy-e.cy)||1)*.4;return{rx:Math.min(99,n),ry:Math.min(71,n)}}function Uc(e,t){let n=t.cx-e.cx,r=t.cy-e.cy,i=Math.atan2(r,n),{rx:a,ry:o}=Hc(e,t);return{x:t.cx-Math.cos(i)*a,y:t.cy-Math.sin(i)*o}}function Wc(e,t){let n=t.cx-e.cx,r=t.cy-e.cy,i=Math.atan2(r,n),{rx:a,ry:o}=Hc(e,t);return{x:e.cx+Math.cos(i)*a,y:e.cy+Math.sin(i)*o}}function Gc(e){switch(e){case`client`:return(0,x.jsxs)(`g`,{className:`sa-icon`,children:[(0,x.jsx)(`rect`,{x:-9,y:-7,width:18,height:12,rx:1.6}),(0,x.jsx)(`line`,{x1:-4,y1:8,x2:4,y2:8}),(0,x.jsx)(`line`,{x1:0,y1:5,x2:0,y2:8})]});case`gateway`:return(0,x.jsxs)(`g`,{className:`sa-icon`,children:[(0,x.jsx)(`line`,{x1:-7,y1:-8,x2:-7,y2:8}),(0,x.jsx)(`line`,{x1:7,y1:-8,x2:7,y2:8}),(0,x.jsx)(`path`,{d:`M -8 0 L 5 0 L 5 -3.4 L 10 0 L 5 3.4 L 5 0`,className:`sa-icon-fill`})]});case`cdn`:return(0,x.jsxs)(`g`,{className:`sa-icon`,children:[(0,x.jsx)(`line`,{x1:0,y1:-8,x2:-7,y2:6}),(0,x.jsx)(`line`,{x1:0,y1:-8,x2:7,y2:6}),(0,x.jsx)(`line`,{x1:-7,y1:6,x2:7,y2:6}),(0,x.jsx)(`circle`,{cx:0,cy:-8,r:1.8,className:`sa-icon-fill`}),(0,x.jsx)(`circle`,{cx:-7,cy:6,r:1.8,className:`sa-icon-fill`}),(0,x.jsx)(`circle`,{cx:7,cy:6,r:1.8,className:`sa-icon-fill`})]});default:return(0,x.jsxs)(`g`,{className:`sa-icon`,children:[(0,x.jsx)(`rect`,{x:-9,y:-8,width:18,height:16,rx:2}),(0,x.jsx)(`line`,{x1:-9,y1:0,x2:9,y2:0}),(0,x.jsx)(`circle`,{cx:-5,cy:-4,r:1,className:`sa-icon-fill`}),(0,x.jsx)(`circle`,{cx:-5,cy:4,r:1,className:`sa-icon-fill`})]})}}function Kc(e,t,n){let r={fill:t,stroke:n,strokeWidth:2.2};switch(e){case`database`:{let e=Ac/2-13;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`path`,{d:`M -58 -22 A 58 13 0 0 1 58 -22 L 58 ${e} A 58 13 0 0 1 -58 ${e} Z`,...r}),(0,x.jsx)(`path`,{d:`M -58 -22 A 58 13 0 0 0 58 -22`,fill:`none`,stroke:n,strokeWidth:1.6})]})}case`queue`:return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`rect`,{x:-36,y:-35,width:100,height:42,rx:8,fill:t,stroke:n,strokeWidth:1.4,opacity:.55}),(0,x.jsx)(`rect`,{x:-43,y:-28,width:100,height:42,rx:8,fill:t,stroke:n,strokeWidth:1.4,opacity:.78}),(0,x.jsx)(`rect`,{x:-50,y:-21,width:100,height:42,rx:8,...r})]});case`cache`:return(0,x.jsx)(`rect`,{x:-31,y:-31,width:62,height:62,rx:14,transform:`rotate(45)`,...r});case`loadbalancer`:{let e=Array.from({length:6},(e,t)=>{let n=Math.PI/3*t;return`${Math.cos(n)*66},${Math.sin(n)*40}`}).join(` `);return(0,x.jsx)(`polygon`,{points:e,...r})}default:return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`rect`,{x:-75,y:-35,width:150,height:Ac,rx:14,...r}),(0,x.jsx)(`g`,{transform:`translate(0 -6)`,children:Gc(e)})]})}}function qc({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,nodes:r,edges:o,footer:s,delay:c}){let l=i[t]||i.share,u=(0,b.useId)().replace(/:/g,``),d=(0,b.useMemo)(()=>Array.isArray(r)?r:[],[r]),f=(0,b.useMemo)(()=>Array.isArray(o)?o:[],[o]),p=(0,b.useMemo)(()=>zc(d,f),[d,f]),m=(0,b.useMemo)(()=>Rc(d,f),[d,f]),h=(0,b.useMemo)(()=>Bc(d,f,p,m),[d,f,p,m]),g=(0,b.useMemo)(()=>new Map(h.map(e=>[e.id,e])),[h]),_=Math.round(kc*p/Cc);return(0,x.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(c||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`dg-stage sa-stage`,style:{maxWidth:_},children:(0,x.jsxs)(`svg`,{className:`dg-svg`,viewBox:`0 0 ${p} ${m}`,preserveAspectRatio:`xMidYMid meet`,role:`img`,"aria-label":e,children:[(0,x.jsx)(`defs`,{children:(0,x.jsx)(`marker`,{id:`sa-arrow-${u}`,viewBox:`0 0 10 10`,refX:`8`,refY:`5`,markerWidth:`7`,markerHeight:`7`,orient:`auto-start-reverse`,children:(0,x.jsx)(`path`,{d:`M0 0 L10 5 L0 10 z`,className:`sa-arrowhead`})})}),f.map((e,t)=>{let n=g.get(e.from),r=g.get(e.to);if(!n||!r)return null;let i=Wc(n,r),a=Uc(n,r);return(0,x.jsx)(`line`,{className:`sa-edge`,x1:i.x,y1:i.y,x2:a.x,y2:a.y,markerEnd:`url(#sa-arrow-${u})`},t)}),h.map(e=>{let t=e.cy+jc,n=typeof e.label==`string`&&e.label?e.label:e.id||`Node`;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`g`,{transform:`translate(${e.cx} ${t})`,children:Kc(e.kind,Mc[e.kind]??Mc.service,Nc[e.kind]??Nc.service)}),(0,x.jsxs)(`text`,{x:e.cx,y:t+Ac/2+24,className:`sa-label`,textAnchor:`middle`,children:[n.length>Pc&&(0,x.jsx)(`title`,{children:n}),Ic(n,Pc)]}),e.sub&&(0,x.jsx)(`text`,{x:e.cx,y:t+Ac/2+44,className:`sa-sub`,textAnchor:`middle`,children:Ic(e.sub,Fc)})]},e.id)}),f.map((e,t)=>{let n=g.get(e.from),r=g.get(e.to);if(!n||!r)return null;let i=Wc(n,r),a=Uc(n,r),o=(i.x+a.x)/2,s=(i.y+a.y)/2,c=[e.label,e.protocol].filter(e=>typeof e==`string`&&e).join(` · `);return c?(0,x.jsx)(`text`,{x:o,y:s-34,className:`dg-edge-label`,textAnchor:`middle`,children:Ic(c,26)},t):null})]})}),s&&(0,x.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(s)})]})}var Jc=156,Q=40,Yc=10,Xc=14,Zc=20,Qc=22,$c=20,el=4,tl=4,nl=new Set([`process`,`datastore`,`external-entity`]);function rl(e){return nl.has(e)?e:`process`}var il=new Set([`spoofing`,`tampering`,`repudiation`,`info-disclosure`,`dos`,`elevation`]),al={spoofing:`Spoofing`,tampering:`Tampering`,repudiation:`Repudiation`,"info-disclosure":`Info disclosure`,dos:`Denial of service`,elevation:`Elevation of privilege`},ol={spoofing:`S`,tampering:`T`,repudiation:`R`,"info-disclosure":`I`,dos:`D`,elevation:`E`},sl=16;function cl(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function ll(e){return e>0?e*Q+(e-1)*Yc:Q}function ul(e){let t=(0,F.c)(3),{kind:n}=e;switch(n){case`datastore`:{let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,x.jsxs)(`g`,{className:`tm-glyph`,children:[(0,x.jsx)(`line`,{x1:-6,y1:-4,x2:6,y2:-4}),(0,x.jsx)(`line`,{x1:-6,y1:4,x2:6,y2:4})]}),t[0]=e):e=t[0],e}case`external-entity`:{let e;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,x.jsx)(`g`,{className:`tm-glyph`,children:(0,x.jsx)(`rect`,{x:-6,y:-6,width:12,height:12})}),t[1]=e):e=t[1],e}default:{let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,x.jsx)(`g`,{className:`tm-glyph`,children:(0,x.jsx)(`circle`,{r:6})}),t[2]=e):e=t[2],e}}}function dl({title:e,icon:t=`shield`,iconColor:n=`var(--presence)`,assets:r,boundaries:o,threats:s,footer:c,delay:l}){let u=i[t]||i.shield,d=(0,b.useMemo)(()=>(Array.isArray(r)?r:[]).map((e,t)=>{if(!e||typeof e!=`object`)return null;let n=e,r=typeof n.name==`string`?n.name.trim():``;return r?{id:typeof n.id==`string`&&n.id.trim()?n.id.trim():`asset-${t}`,name:r,kind:rl(n.kind)}:null}).filter(e=>e!==null),[r]),f=(0,b.useMemo)(()=>(Array.isArray(s)?s:[]).map((e,t)=>{if(!e||typeof e!=`object`)return null;let n=e,r=typeof n.assetId==`string`?n.assetId.trim():``;return r?{key:t,assetId:r,stride:il.has(n.stride)?n.stride:void 0,mitigation:typeof n.mitigation==`string`?n.mitigation.trim():``,status:n.status===`mitigated`?`mitigated`:`open`}:null}).filter(e=>e!==null),[s]),p=(0,b.useMemo)(()=>new Map(d.map(e=>[e.id,e])),[d]),m=(0,b.useMemo)(()=>{let e=new Set(d.map(e=>e.id));return(Array.isArray(o)?o:[]).map((t,n)=>{if(!t||typeof t!=`object`)return null;let r=typeof t.label==`string`?t.label.trim():``;return r?{label:r,contains:(Array.isArray(t.contains)?t.contains:[]).filter(t=>typeof t==`string`&&e.has(t)),key:n}:null}).filter(e=>e!==null)},[o,d]),h=(0,b.useMemo)(()=>{if(m.length===0)return d.length>0?[{key:`all`,label:null,dashed:!1,assets:d}]:[];let e=new Map;m.forEach((t,n)=>{for(let r of new Set(t.contains)){let t=e.get(r);t?t.push(n):e.set(r,[n])}});let t=m.map(e=>({key:`b-${e.key}`,label:e.label,dashed:!0,assets:[]}));for(let n of d)for(let r of e.get(n.id)??[])t[r].assets.push(n);let n=d.filter(t=>!e.has(t.id));return n.length>0&&t.push({key:`unassigned`,label:`Unboundaried`,dashed:!1,assets:n}),t},[m,d]),{placedLanes:g,chips:_,vbW:v,vbH:y}=(0,b.useMemo)(()=>{let e=Math.max(1,Math.min(el,h.length)),t=[];for(let n=0;n<h.length;n+=e)t.push(h.slice(n,n+e));let n=[],r=[],i=$c;for(let e of t){let t=0;for(let n of e){let e=(n.label?Zc:0)+28+ll(n.assets.length);t=Math.max(t,e)}e.forEach((e,t)=>{let a=e.label?Zc:0,o=a+28+ll(e.assets.length),s=$c+t*206;n.push({...e,x:s,y:i,w:184,h:o}),e.assets.forEach((e,t)=>{r.push({asset:e,x:s+Xc,y:i+a+Xc+t*50})})}),i+=t+Qc}return{placedLanes:n,chips:r,vbW:40+e*184+Math.max(0,e-1)*Qc,vbH:Math.max(140,i-Qc+$c)}},[h]),S=(0,b.useMemo)(()=>{let e=new Map;for(let t of f){if(!p.has(t.assetId))continue;let n=e.get(t.assetId)??[];n.push(t),e.set(t.assetId,n)}return e},[f,p]);return(0,x.jsxs)(`div`,{className:`card reveal dg-card`,style:{"--delay":(l||0)+`ms`},children:[(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),_.length===0?(0,x.jsx)(`p`,{className:`tm-empty`,children:`No assets to diagram.`}):(0,x.jsx)(`div`,{className:`dg-stage tm-stage`,children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${v} ${y}`,className:`dg-svg`,role:`img`,"aria-label":e,preserveAspectRatio:`xMidYMid meet`,children:[g.map(e=>(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`rect`,{x:e.x,y:e.y,width:e.w,height:e.h,rx:12,className:e.dashed?`tm-boundary`:`tm-lane-plain`}),e.label&&(0,x.jsx)(`text`,{x:e.x+Xc,y:e.y+15,className:`tm-lane-lbl`,children:cl(e.label,22)}),e.assets.length===0&&(0,x.jsx)(`text`,{x:e.x+e.w/2,y:e.y+e.h/2+4,textAnchor:`middle`,className:`tm-lane-empty`,children:`No assets`})]},e.key)),_.map(e=>{let t=e.x,n=e.y,r=S.get(e.asset.id)??[],i=r.slice(0,tl),a=r.length-i.length;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`rect`,{x:t,y:n,width:Jc,height:Q,rx:9,className:`tm-chip`}),(0,x.jsx)(`g`,{transform:`translate(${t+17} ${n+Q/2})`,children:(0,x.jsx)(ul,{kind:e.asset.kind})}),(0,x.jsxs)(`text`,{x:t+32,y:n+Q/2+4,className:`tm-chip-lbl`,children:[e.asset.name.length>sl&&(0,x.jsx)(`title`,{children:e.asset.name}),cl(e.asset.name,sl)]}),i.map((e,r)=>(0,x.jsx)(`circle`,{cx:t+Jc-9-r*10,cy:n+8,r:3.4,className:e.status===`open`?`tm-mark tm-mark--open`:`tm-mark`,children:(0,x.jsx)(`title`,{children:(e.stride?al[e.stride]:`Threat`)+(e.status===`open`?` · open`:` · mitigated`)})},e.key)),a>0&&(0,x.jsxs)(`text`,{x:t+Jc-9-i.length*10,y:n+11,textAnchor:`end`,className:`tm-mark-more`,children:[`+`,a]})]},e.asset.id)})]})}),f.length>0&&(0,x.jsx)(`div`,{className:`tm-register`,children:f.map(e=>{let t=p.get(e.assetId);return(0,x.jsxs)(`div`,{className:`tm-row`,children:[(0,x.jsxs)(`div`,{className:`tm-row-head`,children:[(0,x.jsx)(`span`,{className:`tm-row-stride`,title:e.stride?al[e.stride]:void 0,children:e.stride?ol[e.stride]:`?`}),(0,x.jsx)(`span`,{className:`tm-row-asset`,children:t?t.name:`Unknown asset`}),(0,x.jsx)(`span`,{className:`tm-row-cat`,children:e.stride?al[e.stride]:`Unspecified`}),(0,x.jsx)(`span`,{className:e.status===`open`?`tm-row-status tm-row-status--open`:`tm-row-status tm-row-status--mitigated`,children:e.status===`open`?`Open`:`Mitigated`})]}),(0,x.jsx)(`span`,{className:`tm-row-mitigation`,children:e.mitigation||`—`})]},e.key)})}),c&&(0,x.jsx)(`div`,{className:`dg-foot`,dangerouslySetInnerHTML:a(c)})]})}function $(e){let t=(0,F.c)(16),{kind:n,name:r,conn:i,text:a}=e,o=`toul-role toul-role--${n}`,s;t[0]===n?s=t[1]:(s={gridArea:n},t[0]=n,t[1]=s);let c;t[2]===i?c=t[3]:(c=i&&(0,x.jsx)(`span`,{className:`toul-role-conn`,children:i}),t[2]=i,t[3]=c);let l;t[4]===r?l=t[5]:(l=(0,x.jsx)(`span`,{className:`toul-role-name`,children:r}),t[4]=r,t[5]=l);let u;t[6]!==c||t[7]!==l?(u=(0,x.jsxs)(`div`,{className:`toul-role-head`,children:[c,l]}),t[6]=c,t[7]=l,t[8]=u):u=t[8];let d;t[9]===a?d=t[10]:(d=(0,x.jsx)(`p`,{className:`toul-role-text`,children:a}),t[9]=a,t[10]=d);let f;return t[11]!==o||t[12]!==s||t[13]!==u||t[14]!==d?(f=(0,x.jsxs)(`div`,{className:o,style:s,children:[u,d]}),t[11]=o,t[12]=s,t[13]=u,t[14]=d,t[15]=f):f=t[15],f}function fl({title:e,icon:t=`proof`,iconColor:n=`var(--presence)`,claim:r,grounds:o,warrant:s,backing:c,qualifier:l,rebuttal:u,footer:d,delay:f}){let p=i[t]||i.proof;return(0,x.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(f||0)+`ms`},children:[e&&(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(p,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`toul`,children:(0,x.jsxs)(`div`,{className:`toul-grid`,children:[o&&(0,x.jsx)($,{kind:`grounds`,name:`Grounds`,text:o}),s&&(0,x.jsx)($,{kind:`warrant`,name:`Warrant`,conn:`Since`,text:s}),c&&(0,x.jsx)($,{kind:`backing`,name:`Backing`,conn:`On account of`,text:c}),(0,x.jsxs)(`div`,{className:`toul-bridge`,style:{gridArea:`bridge`},"aria-hidden":`true`,children:[(0,x.jsx)(`span`,{className:`toul-so`,children:`so`}),l&&(0,x.jsx)(`span`,{className:`toul-qual`,children:l}),(0,x.jsx)(`span`,{className:`toul-arrow`})]}),r&&(0,x.jsx)($,{kind:`claim`,name:`Claim`,text:r}),u&&(0,x.jsx)($,{kind:`rebuttal`,name:`Rebuttal`,conn:`Unless`,text:u})]})}),d&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(d)})]})}var pl=170,ml=24,hl=48,gl=48,_l=18,vl=15,yl=16;function bl(e,t){return e.length>t?e.slice(0,t-1).trimEnd()+`…`:e}function xl(e,t){if(e.length===0||t.length===0)return{placed:[],connectors:[],columnX:[],W:0,H:0};let n=Math.max(e.length,Math.max(...t.map(e=>e.round))+1),r=new Map;for(let e of t){let t=Math.max(0,Math.round(e.round)),n=r.get(t);n?n.push(e):r.set(t,[e])}for(let e of r.values())e.sort((e,t)=>e.slot-t.slot);let i=e=>40+e*66+hl/2,a=new Map;for(let e of r.get(0)??[])a.set(e.id,i(e.slot));for(let e=1;e<n;e++){let t=new Map((r.get(e-1)??[]).map(e=>[e.slot,e]));for(let n of r.get(e)??[]){let e=t.get(n.slot*2),r=t.get(n.slot*2+1),o=e?a.get(e.id):void 0,s=r?a.get(r.id):void 0,c=o!==void 0&&s!==void 0?(o+s)/2:o??s??i(n.slot);a.set(n.id,c)}}let o=Array.from({length:n},(e,t)=>_l+t*218),s=[];for(let e=0;e<n;e++)for(let t of r.get(e)??[])s.push({...t,x:o[e],y:a.get(t.id)});let c=[];for(let e=1;e<n;e++){let t=new Map((r.get(e-1)??[]).map(e=>[e.slot,e])),n=o[e-1]+pl,i=n+gl/2,s=o[e];for(let o of r.get(e)??[]){let e=t.get(o.slot*2),r=t.get(o.slot*2+1),l=a.get(o.id);if(e&&r){let t=a.get(e.id),u=a.get(r.id);c.push({key:`feed-${o.id}`,d:`M ${n} ${t} H ${i} V ${u} H ${n}`}),c.push({key:`stub-${o.id}`,d:`M ${i} ${l} H ${s}`})}else if(e||r){let t=a.get((e??r).id);c.push({key:`feed-${o.id}`,d:`M ${n} ${t} H ${i} V ${l} H ${s}`})}}}let l=Math.max(...s.map(e=>e.y))+hl/2+_l;return{placed:s,connectors:c,columnX:o,W:_l+n*pl+(n-1)*gl+_l,H:l}}function Sl(e){let t=(0,F.c)(4),{d:n,delay:r}=e,i=(0,b.useRef)(null),a;t[0]===r?a=t[1]:(a={delay:r},t[0]=r,t[1]=a),c(i,a);let o;return t[2]===n?o=t[3]:(o=(0,x.jsx)(`path`,{ref:i,d:n,className:`dg-tb-connector`}),t[2]=n,t[3]=o),o}function Cl(e){let t=(0,F.c)(16),{name:n,score:r,rowY:i,isWinner:a,isDecided:o}=e,s=n??(o?`BYE`:`TBD`),c=`dg-tb-name`+(n?a?` dg-tb-name-winner`:o?` dg-tb-name-loser`:``:` dg-tb-name-tbd`),l=`dg-tb-score`+(a?` dg-tb-score-winner`:o?` dg-tb-score-loser`:``),u;t[0]===n?u=t[1]:(u=n&&n.length>vl&&(0,x.jsx)(`title`,{children:n}),t[0]=n,t[1]=u);let d;t[2]===s?d=t[3]:(d=bl(s,vl),t[2]=s,t[3]=d);let f;t[4]!==c||t[5]!==i||t[6]!==u||t[7]!==d?(f=(0,x.jsxs)(`text`,{x:12,y:i,dominantBaseline:`central`,className:c,children:[u,d]}),t[4]=c,t[5]=i,t[6]=u,t[7]=d,t[8]=f):f=t[8];let p;t[9]!==i||t[10]!==r||t[11]!==l?(p=r!==void 0&&(0,x.jsx)(`text`,{x:158,y:i,dominantBaseline:`central`,textAnchor:`end`,className:l,children:r}),t[9]=i,t[10]=r,t[11]=l,t[12]=p):p=t[12];let m;return t[13]!==f||t[14]!==p?(m=(0,x.jsxs)(x.Fragment,{children:[f,p]}),t[13]=f,t[14]=p,t[15]=m):m=t[15],m}function wl({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,rounds:r,matchups:o,double:s=!1,footer:c,delay:l}){let u=i[t]??i.share,d=(0,b.useMemo)(()=>xl(r,o),[r,o]);return d.placed.length===0?(0,x.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(l??0)+`ms`},children:[e&&(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`p`,{className:`dg-tb-empty`,children:`No matchups yet.`})]}):(0,x.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(l??0)+`ms`},children:[e&&(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(u,{className:`ic`,style:{color:n}}),` `,e,s&&(0,x.jsx)(`span`,{className:`dg-tb-note`,children:`single-elimination view`})]}),(0,x.jsx)(`div`,{className:`dg-tb-wrap`,children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${d.W} ${d.H}`,width:`100%`,className:`dg-tb-svg`,role:`img`,"aria-label":e??`tournament bracket`,children:[r.map((e,t)=>d.columnX[t]===void 0?null:(0,x.jsxs)(`text`,{x:d.columnX[t]+pl/2,y:15,textAnchor:`middle`,className:`dg-tb-round-label`,children:[e.length>yl&&(0,x.jsx)(`title`,{children:e}),bl(e,yl)]},`hdr-${t}`)),d.connectors.map((e,t)=>(0,x.jsx)(Sl,{d:e.d,delay:t*45},e.key)),d.placed.map((e,t)=>{let n=e.winner!==void 0,r=e.y-hl/2;return(0,x.jsx)(`g`,{transform:`translate(${e.x} ${r})`,children:(0,x.jsxs)(`g`,{className:`dg-tb-box m-stagger-item m-fade-rise`,style:{"--i":t},children:[(0,x.jsx)(`rect`,{width:pl,height:hl,rx:7,className:`dg-tb-box-bg`}),n&&e.winner===`a`&&(0,x.jsx)(`rect`,{x:1,y:1,width:168,height:23,rx:6,className:`dg-tb-row-winner`}),n&&e.winner===`b`&&(0,x.jsx)(`rect`,{x:1,y:ml,width:168,height:23,rx:6,className:`dg-tb-row-winner`}),(0,x.jsx)(`line`,{x1:0,y1:ml,x2:pl,y2:ml,className:`dg-tb-divider`}),(0,x.jsx)(Cl,{name:e.a,score:e.scoreA,rowY:ml/2,isWinner:n&&e.winner===`a`,isDecided:n}),(0,x.jsx)(Cl,{name:e.b,score:e.scoreB,rowY:36,isWinner:n&&e.winner===`b`,isDecided:n})]})},e.id)})]})}),c&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(c)})]})}var Tl=14,El=44,Dl=58,Ol=10,kl=6;function Al(e){let t=0,n={char:``,id:`n0`,children:new Map,isEnd:!1};for(let r of e.slice(0,Ol)){let e=r.slice(0,kl),i=n;for(let n of e)i.children.has(n)||(t+=1,i.children.set(n,{char:n,id:`n${t}`,children:new Map,isEnd:!1})),i=i.children.get(n);i.isEnd=!0}return n}function jl(e){if(e.children.size===0)return 1;let t=0;for(let n of e.children.values())t+=jl(n);return t}function Ml(e){let t=[],n=Math.max(1,jl(e)),r=0,i=0,a=(e,n,o,s)=>{if(e.children.size===0){let a=34+i*El,c=34+n*Dl;t.push({id:e.id,char:e.char,x:a,y:c,isEnd:e.isEnd,parentId:o,edgeChar:s}),r=Math.max(r,n),i+=1;return}let c=i;for(let[t,r]of e.children)a(r,n+1,e.id,t);let l=34+(c+(i-1))/2*El,u=34+n*Dl;t.push({id:e.id,char:e.char,x:l,y:u,isEnd:e.isEnd,parentId:o,edgeChar:s}),r=Math.max(r,n)};return a(e,0,void 0,``),{placed:t,totalSlots:n,maxDepth:r}}function Nl({title:e,icon:t=`share`,iconColor:n=`var(--presence)`,words:r,highlight:o,footer:s,delay:c}){let l=i[t]??i.share,{placed:u,totalSlots:d,maxDepth:f}=(0,b.useMemo)(()=>Ml(Al(r)),[r]),p=(0,b.useMemo)(()=>{if(!o)return new Set;let e=Al(r),t=new Set;t.add(e.id);let n=e;for(let e of o.slice(0,kl)){let r=n.children.get(e);if(!r)break;t.add(r.id),n=r}return t},[r,o]),m=(0,b.useMemo)(()=>new Map(u.map(e=>[e.id,e])),[u]),h=40+Math.max(1,d)*El,g=40+(f+1)*Dl;return(0,x.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(c??0)+`ms`},children:[e&&(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(l,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`tri-wrap`,children:(0,x.jsxs)(`svg`,{viewBox:`0 0 ${h} ${g}`,className:`tri-svg`,role:`img`,"aria-label":e??`Trie diagram`,children:[u.map(e=>{if(!e.parentId)return null;let t=m.get(e.parentId);if(!t)return null;let n=p.has(e.id)&&p.has(e.parentId),r=(t.x+e.x)/2,i=(t.y+e.y)/2;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`line`,{x1:t.x,y1:t.y,x2:e.x,y2:e.y,className:`tri-edge`+(n?` tri-edge-active`:``)}),(0,x.jsx)(`text`,{x:r,y:i,textAnchor:`middle`,dominantBaseline:`middle`,className:`tri-edge-label`+(n?` tri-edge-label-active`:``),children:e.edgeChar})]},`edge-${e.id}`)}),u.map(e=>{let t=p.has(e.id),n=!e.parentId;return(0,x.jsxs)(`g`,{children:[e.isEnd&&(0,x.jsx)(`circle`,{cx:e.x,cy:e.y,r:19,className:`tri-node-end-ring`+(t?` tri-node-end-ring-active`:``)}),(0,x.jsx)(`circle`,{cx:e.x,cy:e.y,r:Tl,className:`tri-node`+(t?` tri-node-active`:``)+(n?` tri-node-root`:``)}),!n&&(0,x.jsx)(`text`,{x:e.x,y:e.y+5,textAnchor:`middle`,className:`tri-label`+(t?` tri-label-active`:``),children:e.char})]},`node-${e.id}`)})]})}),s&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:12},dangerouslySetInnerHTML:a(s)})]})}var Pl=100,Fl=64,Il={hot:`c-hot`,neutral:`c-neutral`,ground:`c-ground`,traveler:`c-traveler`};function Ll(e){switch(e){case`breaker`:return(0,x.jsxs)(`g`,{className:`dg-wir-glyph`,children:[(0,x.jsx)(`rect`,{x:-6,y:-7,width:12,height:14,rx:1.6,fill:`none`}),(0,x.jsx)(`line`,{x1:-3.5,y1:-3.5,x2:3.5,y2:-1}),(0,x.jsx)(`circle`,{cx:0,cy:3.5,r:1,className:`dg-wir-fill`})]});case`switch`:return(0,x.jsxs)(`g`,{className:`dg-wir-glyph`,children:[(0,x.jsx)(`circle`,{cx:-5,cy:0,r:1.1,className:`dg-wir-fill`}),(0,x.jsx)(`circle`,{cx:5,cy:0,r:1.1,className:`dg-wir-fill`}),(0,x.jsx)(`line`,{x1:-5,y1:0,x2:4,y2:-5})]});case`switch3way`:return(0,x.jsxs)(`g`,{className:`dg-wir-glyph`,children:[(0,x.jsx)(`circle`,{cx:-5,cy:0,r:1.1,className:`dg-wir-fill`}),(0,x.jsx)(`circle`,{cx:5,cy:-3,r:1.1,className:`dg-wir-fill`}),(0,x.jsx)(`circle`,{cx:5,cy:3,r:1.1,className:`dg-wir-fill`}),(0,x.jsx)(`line`,{x1:-5,y1:0,x2:4,y2:-4})]});case`outlet`:return(0,x.jsxs)(`g`,{className:`dg-wir-glyph`,children:[(0,x.jsx)(`circle`,{cx:0,cy:0,r:6,fill:`none`}),(0,x.jsx)(`line`,{x1:-2.2,y1:-2.6,x2:-2.2,y2:1.4}),(0,x.jsx)(`line`,{x1:2.2,y1:-2.6,x2:2.2,y2:1.4}),(0,x.jsx)(`line`,{x1:0,y1:3,x2:0,y2:4.4})]});case`gfci`:return(0,x.jsxs)(`g`,{className:`dg-wir-glyph`,children:[(0,x.jsx)(`rect`,{x:-6,y:-7,width:12,height:14,rx:1.6,fill:`none`}),(0,x.jsx)(`circle`,{cx:0,cy:-2.4,r:1.5,fill:`none`}),(0,x.jsx)(`circle`,{cx:0,cy:3,r:1.5,fill:`none`}),(0,x.jsx)(`text`,{x:7.5,y:-4,className:`dg-wir-tick`,children:`G`})]});case`light`:return(0,x.jsxs)(`g`,{className:`dg-wir-glyph`,children:[(0,x.jsx)(`circle`,{cx:0,cy:0,r:6,fill:`none`}),(0,x.jsx)(`line`,{x1:-4.2,y1:-4.2,x2:4.2,y2:4.2}),(0,x.jsx)(`line`,{x1:-4.2,y1:4.2,x2:4.2,y2:-4.2})]});case`panel`:return(0,x.jsxs)(`g`,{className:`dg-wir-glyph`,children:[(0,x.jsx)(`rect`,{x:-7,y:-8,width:14,height:16,rx:1.6,fill:`none`}),(0,x.jsx)(`line`,{x1:-7,y1:-2,x2:7,y2:-2}),(0,x.jsx)(`line`,{x1:-7,y1:2.5,x2:7,y2:2.5}),(0,x.jsx)(`line`,{x1:0,y1:-8,x2:0,y2:8})]});case`motor`:return(0,x.jsxs)(`g`,{className:`dg-wir-glyph`,children:[(0,x.jsx)(`circle`,{cx:0,cy:0,r:6.5,fill:`none`}),(0,x.jsx)(`text`,{x:0,y:2.6,className:`dg-wir-mark`,textAnchor:`middle`,children:`M`})]});case`ground`:return(0,x.jsxs)(`g`,{className:`dg-wir-glyph`,children:[(0,x.jsx)(`line`,{x1:0,y1:-7,x2:0,y2:0}),(0,x.jsx)(`line`,{x1:-5,y1:0,x2:5,y2:0,strokeWidth:1.4}),(0,x.jsx)(`line`,{x1:-3,y1:2.6,x2:3,y2:2.6}),(0,x.jsx)(`line`,{x1:-1.4,y1:5,x2:1.4,y2:5})]});default:return(0,x.jsx)(`circle`,{cx:0,cy:0,r:2.2,className:`dg-wir-fill`})}}function Rl({title:e,icon:t=`spark`,iconColor:n=`var(--presence)`,nodes:r,wires:o,caption:s,footer:c,delay:l}){let u=i[t]||i.spark,d=(0,b.useMemo)(()=>{let e=Math.max(1,r.length),t=Math.min(e,Math.ceil(Math.sqrt(e)*1.4)),n=Math.ceil(e/t),i=Pl/(t+1),a=Fl/(n+1),o={};return r.forEach((e,n)=>{if(e.x!==void 0&&e.y!==void 0)o[e.id]={x:e.x,y:e.y};else{let r=Math.floor(n/t),s=n%t;o[e.id]={x:i*(s+1),y:a*(r+1)}}}),o},[r]);return(0,x.jsxs)(`div`,{className:`card reveal`,style:{"--delay":(l||0)+`ms`},children:[e&&(0,x.jsxs)(`div`,{className:`card-eyebrow`,children:[(0,x.jsx)(u,{className:`ic`,style:{color:n}}),` `,e]}),(0,x.jsx)(`div`,{className:`dg-wir`,children:(0,x.jsxs)(`svg`,{viewBox:`-8 -10 116 86`,className:`dg-wir-svg`,role:`img`,"aria-label":e||`wiring diagram`,children:[o.map((e,t)=>{let n=d[e.from],r=d[e.to];if(!n||!r)return null;let i=Il[e.conductor??`hot`],a=r.x,o=n.y;return(0,x.jsxs)(`g`,{children:[(0,x.jsx)(`polyline`,{points:`${n.x},${n.y} ${a},${o} ${r.x},${r.y}`,className:`dg-wir-wire ${i}`,fill:`none`}),e.gauge&&(0,x.jsx)(`text`,{x:(n.x+a)/2,y:o-1.6,className:`dg-wir-gauge`,textAnchor:`middle`,children:e.gauge})]},t)}),r.map(e=>{let t=d[e.id];return t?(0,x.jsxs)(`g`,{transform:`translate(${t.x} ${t.y})`,children:[Ll(e.kind),e.label&&(0,x.jsx)(`text`,{x:0,y:13,className:`dg-wir-lbl`,textAnchor:`middle`,children:e.label})]},e.id):null})]})}),(0,x.jsx)(Vl,{wires:o}),s&&(0,x.jsx)(`p`,{className:`dg-wir-cap`,children:s}),c&&(0,x.jsx)(`div`,{className:`insight-summary`,style:{marginTop:8},dangerouslySetInnerHTML:a(c)})]})}var zl={hot:`Hot`,neutral:`Neutral`,ground:`Ground`,traveler:`Traveler`},Bl=[`hot`,`neutral`,`ground`,`traveler`];function Vl(e){let t=(0,F.c)(9),{wires:n}=e,r;t[0]===n?r=t[1]:(r=new Set(n.map(Ul)),t[0]=n,t[1]=r);let i=r,a,o,s;if(t[2]!==i){s=Symbol.for(`react.early_return_sentinel`);bb0:{let e=Bl.filter(e=>i.has(e));if(e.length<2){s=null;break bb0}a=`dg-wir-legend`,o=e.map(Hl)}t[2]=i,t[3]=a,t[4]=o,t[5]=s}else a=t[3],o=t[4],s=t[5];if(s!==Symbol.for(`react.early_return_sentinel`))return s;let c;return t[6]!==a||t[7]!==o?(c=(0,x.jsx)(`div`,{className:a,children:o}),t[6]=a,t[7]=o,t[8]=c):c=t[8],c}function Hl(e){return(0,x.jsxs)(`span`,{className:`dg-wir-legend-item`,children:[(0,x.jsx)(`span`,{className:`dg-wir-swatch ${Il[e]}`}),zl[e]]},e)}function Ul(e){return e.conductor??`hot`}var Wl=e({diagramsRegistry:()=>Gl}),Gl={algorithmtrace:l(D),analogymap:l(j),argumentmap:l(P),binarytree:l(de),castmap:l(we),causationchain:l(Ze),circuitdiagram:l(st),classdiagram:l(Mt),controlblockdiagram:l($t),cyclewheel:l(pn),datapipeline:l(Vn),datastructure:l(sr),diagramflow:l(Er),dptable:l(Hr),erdiagram:l(Ur),fishbone:l(ei),fiveforces:l(ki),fivewhychain:l(Ki),foodweb:l(na),graphtrace:l(ua),hashtable:l(ba),logicgates:l(Na),mindshape:l(f),nnarchitecture:l(Ya),pipingschematic:l($a),plasmidmap:l(po),primefactortree:l(Eo),probabilitytree:l(Ko),prooftree:l(rs),protocolstack:l(ps),recursiontree:l(Ds),sequencediagram:l(zs),sortingviz:l(Ws),gridtrace:l(Xs),statemachine:l(Qs),synthesisroute:l(Sc),sysarchdiagram:l(qc),threatmodel:l(dl),toulmin:l(fl),tournamentbracket:l(wl),trie:l(Nl),wiringdiagram:l(Rl)};export{Wl as n,Gl as t};
@@ -1 +0,0 @@
1
- .lay-chev{width:14px;height:14px;color:var(--text-muted);transition:transform var(--m-fast) var(--ease-out);flex-shrink:0}.lay-callout{border-left:3px solid color-mix(in oklab, var(--lc) 70%, var(--line))}.lay-co-band{cursor:pointer;background:color-mix(in oklab, var(--lc) 9%, transparent);border:1px solid color-mix(in oklab, var(--lc) 22%, transparent);border-radius:var(--r-md);width:100%;min-width:0;color:var(--text-primary);font:inherit;transition:background var(--m-fast) var(--ease-out), border-color var(--m-fast);align-items:center;gap:8px;padding:8px 10px;display:flex}.lay-co-band:hover{background:color-mix(in oklab, var(--lc) 15%, transparent)}.lay-co-bar{border-radius:var(--r-full);background:var(--lc);flex-shrink:0;align-self:stretch;width:3px}.lay-co-kic-ic{flex-shrink:0;width:15px;height:15px}.lay-co-kicker{font-size:var(--fs-sm);letter-spacing:.05em;text-transform:uppercase;color:var(--lc);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:650;overflow:hidden}.lay-co-band .lay-chev{margin-left:auto}.lay-co-body{transition:grid-template-rows var(--m-normal) var(--ease-out);grid-template-rows:0fr;display:grid}.lay-co-body.open{grid-template-rows:1fr}.lay-co-inner{min-height:0;overflow:hidden}.lay-co-text{font-size:var(--fs-md);color:var(--text-secondary);text-wrap:pretty;overflow-wrap:anywhere;padding-top:12px;line-height:1.55}.lay-co-points{flex-direction:column;gap:8px;margin:10px 0 0;padding:0;list-style:none;display:flex}.lay-co-points li{font-size:var(--fs-md);color:var(--text-secondary);align-items:flex-start;gap:8px;min-width:0;line-height:1.45;display:flex}.lay-co-points li>span{overflow-wrap:anywhere;min-width:0}.lay-co-pt-ic{flex-shrink:0;width:14px;height:14px;margin-top:2px}.lay-pc-grid{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:4px;display:grid}.lay-pc-divider{background:linear-gradient(var(--line), transparent);width:1px}.lay-pc-col{--pc:var(--presence)}.lay-pc-head{font-size:var(--fs-sm);letter-spacing:.03em;text-transform:uppercase;color:var(--text-secondary);align-items:center;gap:6px;min-width:0;margin-bottom:8px;font-weight:650;display:flex}.lay-pc-head .ic{flex-shrink:0;width:14px;height:14px}.lay-pc-head>span:not(.lay-pc-count){text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.lay-pc-count{font-size:var(--fs-xs);color:var(--pc);background:color-mix(in oklab, var(--pc) 14%, transparent);border-radius:var(--r-full);flex-shrink:0;margin-left:auto;padding:1px 7px;font-weight:700}.lay-pc-list{flex-direction:column;gap:4px;max-height:400px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.lay-pc-item{border-radius:var(--r-sm);transition:background var(--m-fast) var(--ease-out), border-color var(--m-fast), transform var(--m-fast);cursor:default;border:1px solid #0000;gap:8px;padding:7px 8px;display:flex}.lay-pc-item.on{background:color-mix(in oklab, var(--pc) 11%, transparent);border-color:color-mix(in oklab, var(--pc) 30%, transparent);transform:translate(2px)}.lay-pc-mark{opacity:.85;flex-shrink:0;width:14px;height:14px;margin-top:2px}.lay-pc-body{flex-direction:column;gap:4px;min-width:0;display:flex}.lay-pc-text{font-size:var(--fs-md);color:var(--text-primary);overflow-wrap:anywhere;line-height:1.4}.lay-pc-pips{flex-wrap:wrap;gap:3px;display:inline-flex}.lay-pc-pip{border-radius:var(--r-full);background:var(--track);width:14px;height:3px;transition:background var(--m-fast)}.lay-pc-note{font-size:var(--fs-sm);overflow-wrap:anywhere;line-height:1.35}.lay-pc-verdict{margin-top:14px}.lay-pc-vbar{border-radius:var(--r-full);background:var(--track);height:8px;display:flex;overflow:hidden}.lay-pc-vbar-l{background:var(--insight);transition:width var(--m-expressive) var(--ease-spring)}.lay-pc-vbar-r{background:var(--danger);transition:width var(--m-expressive) var(--ease-spring)}.lay-pc-vrow{justify-content:space-between;align-items:center;gap:10px;margin-top:8px;display:flex}.lay-pc-vlabel{font-size:var(--fs-sm);flex-shrink:0;font-weight:600}.lay-pc-vtext{font-size:var(--fs-sm);color:var(--text-secondary);overflow-wrap:anywhere;text-align:center;min-width:0}.lay-ta-heading{font-size:var(--fs-sm);color:var(--text-secondary);margin-bottom:12px;font-weight:650}.lay-ta-list{counter-reset:ta;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.lay-ta-item{align-items:flex-start;gap:12px;display:flex}.lay-ta-num{--tc:var(--presence);border-radius:var(--r-full);cursor:pointer;width:28px;height:28px;font-size:var(--fs-sm);color:var(--tc);background:color-mix(in oklab, var(--tc) 14%, transparent);border:1px solid color-mix(in oklab, var(--tc) 34%, transparent);transition:background var(--m-fast) var(--ease-out), color var(--m-fast), transform var(--m-fast);flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.lay-ta-num .ic{width:15px;height:15px}.lay-ta-num:hover{transform:scale(1.08)}.lay-ta-item.done .lay-ta-num{background:var(--tc);color:var(--surface-default);border-color:var(--tc)}.lay-ta-body{flex-direction:column;gap:3px;min-width:0;padding-top:3px;display:flex}.lay-ta-text{font-size:var(--fs-md);color:var(--text-primary);transition:color var(--m-fast);overflow-wrap:anywhere;line-height:1.45}.lay-ta-item.done .lay-ta-text{color:var(--text-muted);text-decoration:line-through;-webkit-text-decoration-color:color-mix(in oklab, var(--text-muted) 60%, transparent);text-decoration-color:color-mix(in oklab, var(--text-muted) 60%, transparent)}.lay-ta-detail{font-size:var(--fs-sm);overflow-wrap:anywhere;line-height:1.4}.lay-ta-foot{align-items:center;gap:10px;margin-top:14px;display:flex}.lay-ta-track{border-radius:var(--r-full);background:var(--track);flex:1;min-width:0;height:5px;overflow:hidden}.lay-ta-fill{background:linear-gradient(90deg, var(--presence), var(--insight));height:100%;transition:width var(--m-normal) var(--ease-spring);display:block}.lay-ta-pct{font-size:var(--fs-sm);flex-shrink:0}.lay-faq-list{flex-direction:column;gap:6px;max-height:560px;display:flex;overflow-y:auto}.lay-faq-item{border:1px solid var(--line);border-radius:var(--r-md);transition:border-color var(--m-fast), background var(--m-fast);flex-shrink:0;overflow:hidden}.lay-faq-item.open{border-color:color-mix(in oklab, var(--presence) 38%, var(--line));background:color-mix(in oklab, var(--presence) 5%, transparent)}.lay-faq-q{cursor:pointer;width:100%;font:inherit;text-align:left;color:var(--text-primary);background:0 0;border:0;align-items:center;gap:10px;padding:12px 14px;display:flex}.lay-faq-sign{width:15px;height:15px;color:var(--presence);transition:transform var(--m-normal) var(--ease-spring);flex-shrink:0}.lay-faq-q-text{font-size:var(--fs-md);overflow-wrap:anywhere;flex:1;min-width:0;font-weight:600;line-height:1.35}.lay-faq-tag{font-size:var(--fs-2xs);letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);border:1px solid var(--line);border-radius:var(--r-full);white-space:nowrap;flex-shrink:0;padding:2px 8px;font-weight:650}.lay-faq-a{transition:grid-template-rows var(--m-normal) var(--ease-out);grid-template-rows:0fr;display:grid}.lay-faq-a.open{grid-template-rows:1fr}.lay-faq-a-inner{min-height:0;font-size:var(--fs-md);color:var(--text-secondary);overflow-wrap:anywhere;padding:0 14px 0 39px;line-height:1.55;overflow:hidden}.lay-faq-a.open .lay-faq-a-inner{padding-bottom:13px}.lay-acc-list{flex-direction:column;gap:6px;display:flex}.lay-acc-item{border:1px solid var(--line);border-radius:var(--r-md);transition:border-color var(--m-fast), background var(--m-fast);overflow:hidden}.lay-acc-item.open{border-color:color-mix(in oklab, var(--presence) 38%, var(--line));background:color-mix(in oklab, var(--presence) 5%, transparent)}.lay-acc-head{cursor:pointer;width:100%;font:inherit;text-align:left;color:var(--text-primary);background:0 0;border:0;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:12px 14px;display:flex}.lay-acc-lead{flex-shrink:0;width:16px;height:16px}.lay-acc-label{font-size:var(--fs-md);overflow-wrap:anywhere;flex:120px;min-width:0;font-weight:600;line-height:1.35}.lay-acc-tag{font-size:var(--fs-2xs);letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);border:1px solid var(--line);border-radius:var(--r-full);white-space:nowrap;flex-shrink:0;padding:2px 8px;font-weight:650}.lay-acc-meta{font-size:var(--fs-sm);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;overflow:hidden}.lay-acc-chev{width:15px;height:15px;color:var(--text-muted);transition:transform var(--m-normal) var(--ease-spring);flex-shrink:0}.lay-acc-item.open .lay-acc-chev{color:var(--presence)}.lay-acc-body{transition:grid-template-rows var(--m-normal) var(--ease-out);grid-template-rows:0fr;display:grid}.lay-acc-body.open{grid-template-rows:1fr}.lay-acc-body-inner{min-height:0;font-size:var(--fs-md);color:var(--text-secondary);overflow-wrap:anywhere;max-height:320px;padding:0 14px;line-height:1.55;overflow-y:auto}.lay-acc-body.open .lay-acc-body-inner{padding-bottom:13px}.lay-tabs{--tab-acc:var(--presence)}.lay-tab-bar{border-bottom:1px solid var(--line);gap:2px;margin-bottom:14px;display:flex;position:relative}.lay-tab{cursor:pointer;font:inherit;font-size:var(--fs-md);color:var(--text-muted);transition:color var(--m-fast) var(--ease-out);background:0 0;border:0;flex:1 1 0;justify-content:center;align-items:center;gap:6px;min-width:0;padding:9px 12px 11px;font-weight:600;display:inline-flex;position:relative}.lay-tab>span:not(.lay-tab-badge){text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.lay-tab:hover{color:var(--text-secondary)}.lay-tab.on{color:var(--text-primary)}.lay-tab-ic{flex-shrink:0;width:15px;height:15px}.lay-tab-badge{font-size:var(--fs-xs);color:var(--text-muted);background:var(--surface-elevated-2,var(--surface-elevated));border:1px solid var(--line);border-radius:var(--r-full);flex-shrink:0;padding:0 6px;font-weight:700;line-height:1.5}.lay-tab.on .lay-tab-badge{color:var(--tab-acc);border-color:color-mix(in oklab, var(--tab-acc) 36%, transparent)}.lay-tab-underline{border-radius:var(--r-full);background:var(--tab-acc);height:2px;box-shadow:0 0 10px -1px var(--tab-acc);transition:transform var(--m-normal) var(--ease-spring), width var(--m-normal) var(--ease-out);position:absolute;bottom:-1px;left:0}.lay-tab-panel{animation:lay-fade var(--m-normal) var(--ease-out)}.lay-tab-body{font-size:var(--fs-md);color:var(--text-secondary);text-wrap:pretty;overflow-wrap:anywhere;line-height:1.55}@keyframes lay-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.lay-div-main{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.lay-div-head{min-width:0}.lay-div-eyebrow{font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);overflow-wrap:anywhere;margin-bottom:4px;font-weight:650}.lay-div-heading{font-size:var(--fs-2xl);letter-spacing:-.02em;color:var(--text-primary);text-wrap:balance;overflow-wrap:anywhere;font-weight:680;line-height:1.1}.lay-div-badge{--bc:var(--presence);font-size:var(--fs-sm);color:var(--bc);background:color-mix(in oklab, var(--bc) 13%, transparent);border:1px solid color-mix(in oklab, var(--bc) 30%, transparent);border-radius:var(--r-full);white-space:nowrap;flex-shrink:0;padding:4px 11px;font-weight:700}.lay-div-rule{align-items:center;gap:8px;margin:14px 0;display:flex}.lay-div-rule-line{background:linear-gradient(90deg, transparent, var(--line-strong), transparent);flex:1;height:1px}.lay-div-rule-dot{border-radius:var(--r-full);width:6px;height:6px;box-shadow:0 0 9px -1px}.lay-div-sub{font-size:var(--fs-md);color:var(--text-secondary);text-wrap:pretty;overflow-wrap:anywhere;line-height:1.5}.lay-div-chips{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.lay-div-chip{--cc:var(--presence);cursor:pointer;font:inherit;font-size:var(--fs-sm);color:var(--text-secondary);border:1px solid var(--line);border-radius:var(--r-full);transition:color var(--m-fast) var(--ease-out), border-color var(--m-fast), background var(--m-fast);background:0 0;padding:5px 12px;font-weight:600}.lay-div-chip:hover{border-color:var(--line-strong);color:var(--text-primary)}.lay-div-chip.on{color:var(--cc);border-color:color-mix(in oklab, var(--cc) 45%, transparent);background:color-mix(in oklab, var(--cc) 12%, transparent)}.lay-pq{--pq:var(--presence)}.lay-pq-fig{margin:0;padding:4px 0 4px 22px;position:relative}.lay-pq-bar{border-radius:var(--r-full);background:linear-gradient(180deg, var(--pq), color-mix(in oklab, var(--pq) 35%, transparent));width:4px;position:absolute;top:2px;bottom:2px;left:0}.lay-pq-mark{opacity:.18;width:26px;height:26px;position:absolute;top:-2px;left:14px}.lay-pq-quote{font-size:var(--fs-xl);letter-spacing:-.02em;color:var(--text-primary);text-wrap:pretty;overflow-wrap:anywhere;animation:lay-fade var(--m-normal) var(--ease-out);margin:0;font-weight:560;line-height:1.4}.lay-pq-quote em,.lay-pq-quote strong{color:var(--pq);font-style:normal;font-weight:650}.lay-pq-cap{flex-direction:column;gap:1px;margin-top:14px;display:flex}.lay-pq-author{font-size:var(--fs-md);color:var(--text-primary);overflow-wrap:anywhere;font-weight:650}.lay-pq-role{font-size:var(--fs-sm);overflow-wrap:anywhere}.lay-pq-nav{justify-content:center;align-items:center;gap:12px;margin-top:16px;display:flex}.lay-pq-arrow{flex-shrink:0;padding:5px}.lay-pq-dots{flex-wrap:wrap;justify-content:center;gap:6px;min-width:0;display:inline-flex}.lay-pq-dot{border-radius:var(--r-full);cursor:pointer;background:var(--track);width:7px;height:7px;transition:background var(--m-fast) var(--ease-out), transform var(--m-fast);border:0;padding:0}.lay-pq-dot:hover{transform:scale(1.25)}.lay-pq-dot.on{background:var(--pq);box-shadow:0 0 8px -1px var(--pq)}.lay-story{--sc:var(--presence)}.lay-story-stage{animation:lay-slide var(--m-normal) var(--ease-out)}@keyframes lay-slide{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:none}}.lay-story-panel{border:1px solid color-mix(in oklab, var(--sc) 28%, var(--line));border-radius:var(--r-md);background:color-mix(in oklab, var(--sc) 6%, transparent);padding:16px;position:relative;overflow:hidden}.lay-story-panel:before{content:"";background:linear-gradient(90deg, var(--sc), transparent);height:2px;position:absolute;inset:0 0 auto}.lay-story-badge{border-radius:var(--r-md);width:34px;height:34px;color:var(--surface-default);justify-content:center;align-items:center;margin-bottom:10px;display:inline-flex}.lay-story-badge .ic{width:18px;height:18px}.lay-story-num{font-size:var(--fs-sm);color:var(--sc);align-items:baseline;gap:5px;font-weight:700;display:flex}.lay-story-of{font-size:var(--fs-xs);color:var(--text-muted);font-weight:600}.lay-story-heading{font-size:var(--fs-lg);letter-spacing:-.01em;color:var(--text-primary);overflow-wrap:anywhere;margin:4px 0 2px;font-weight:650}.lay-story-caption{font-size:var(--fs-sm);overflow-wrap:anywhere;margin-bottom:8px}.lay-story-body{font-size:var(--fs-md);color:var(--text-secondary);text-wrap:pretty;overflow-wrap:anywhere;line-height:1.55}.lay-story-track{gap:5px;margin:14px 0 12px;display:flex}.lay-story-tick{--tk:var(--presence);border-radius:var(--r-full);cursor:pointer;background:var(--track);min-width:0;height:5px;transition:background var(--m-fast) var(--ease-out), transform var(--m-fast);border:0;flex:1 1 0;padding:0}.lay-story-tick:hover{transform:scaleY(1.6)}.lay-story-tick.past{background:color-mix(in oklab, var(--tk) 45%, var(--track))}.lay-story-tick.on{background:var(--tk);box-shadow:0 0 8px -1px var(--tk)}.lay-story-nav{justify-content:space-between;align-items:center;gap:10px;display:flex}.lay-story-nav .mini-btn:disabled{opacity:.4;cursor:default}.lay-story-pos{font-size:var(--fs-sm)}.lay-cs-subject{font-size:var(--fs-lg);letter-spacing:-.01em;color:var(--text-primary);text-wrap:pretty;overflow-wrap:anywhere;margin-bottom:14px;font-weight:650}.lay-cs-stages{flex-direction:column;display:flex}.lay-cs-stage{--st:var(--presence)}.lay-cs-head{cursor:pointer;width:100%;min-width:0;font:inherit;text-align:left;color:var(--text-primary);background:0 0;border:0;align-items:center;gap:10px;padding:6px 0;display:flex}.lay-cs-rail{flex-direction:column;flex-shrink:0;align-self:stretch;align-items:center;display:flex;position:relative}.lay-cs-node{border-radius:var(--r-full);width:26px;height:26px;color:var(--st);background:color-mix(in oklab, var(--st) 14%, transparent);border:1px solid color-mix(in oklab, var(--st) 34%, transparent);transition:background var(--m-fast) var(--ease-out), transform var(--m-fast);z-index:1;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.lay-cs-node .ic{width:14px;height:14px}.lay-cs-stage.open .lay-cs-node{background:var(--st);color:var(--surface-default);transform:scale(1.06)}.lay-cs-line{background:var(--line);flex:1;width:2px;min-height:8px;margin:2px 0}.lay-cs-stage.open .lay-cs-line{background:color-mix(in oklab, var(--st) 40%, var(--line))}.lay-cs-label{font-size:var(--fs-md);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:650;overflow:hidden}.lay-cs-metric{font-size:var(--fs-sm);color:var(--st);background:color-mix(in oklab, var(--st) 13%, transparent);border-radius:var(--r-full);white-space:nowrap;flex-shrink:0;margin-left:auto;padding:2px 9px;font-weight:700}.lay-cs-body{transition:grid-template-rows var(--m-normal) var(--ease-out);grid-template-rows:0fr;display:grid}.lay-cs-body.open{grid-template-rows:1fr}.lay-cs-body-inner{min-height:0;font-size:var(--fs-md);color:var(--text-secondary);text-wrap:pretty;overflow-wrap:anywhere;margin-left:36px;line-height:1.55;overflow:hidden}.lay-cs-body.open .lay-cs-body-inner{padding:2px 0 12px}.lay-dl-search{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-default);transition:border-color var(--m-fast) var(--ease-out), box-shadow var(--m-fast);align-items:center;gap:8px;margin-bottom:12px;padding:8px 11px;display:flex}.lay-dl-search:focus-within{border-color:color-mix(in oklab, var(--presence) 50%, var(--line));box-shadow:0 0 0 3px color-mix(in oklab, var(--presence) 14%, transparent)}.lay-dl-search-ic{width:15px;height:15px;color:var(--text-muted);flex-shrink:0}.lay-dl-input{min-width:0;font:inherit;font-size:var(--fs-md);color:var(--text-primary);background:0 0;border:0;outline:0;flex:1}.lay-dl-input::placeholder{color:var(--text-muted)}.lay-dl-clear{cursor:pointer;color:var(--text-muted);background:0 0;border:0;padding:2px;display:inline-flex}.lay-dl-clear:hover{color:var(--text-primary)}.lay-dl-clear .ic{width:14px;height:14px}.lay-dl-count{font-size:var(--fs-sm);white-space:nowrap;flex-shrink:0}.lay-dl-list{flex-direction:column;gap:2px;max-height:320px;margin:0;display:flex;overflow-y:auto}.lay-dl-item{border-radius:var(--r-sm);transition:background var(--m-fast) var(--ease-out);padding:9px 8px}.lay-dl-item:hover{background:var(--hover-line)}.lay-dl-term{align-items:center;gap:8px;min-width:0;display:flex}.lay-dl-dot{border-radius:var(--r-full);flex-shrink:0;width:6px;height:6px}.lay-dl-term-text{font-size:var(--fs-md);color:var(--text-primary);overflow-wrap:anywhere;min-width:0;font-weight:650}.lay-dl-tag{font-size:var(--fs-2xs);letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);border:1px solid var(--line);border-radius:var(--r-full);white-space:nowrap;flex-shrink:0;margin-left:auto;padding:1px 7px;font-weight:650}.lay-dl-def{font-size:var(--fs-md);color:var(--text-secondary);text-wrap:pretty;overflow-wrap:anywhere;margin:4px 0 0 14px;line-height:1.5}.lay-dl-empty{font-size:var(--fs-md);overflow-wrap:anywhere;align-items:center;gap:8px;padding:16px 8px;display:flex}.lay-dl-empty .ic{width:15px;height:15px}@media (prefers-reduced-motion:reduce){.lay-tab-panel,.lay-story-stage,.lay-pq-quote{animation:none}}.lay-vd-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:11px;display:flex}.lay-vd-badge{border-radius:var(--r-full);font-size:var(--fs-sm);letter-spacing:.01em;color:var(--vc);background:color-mix(in oklab, var(--vc) 14%, transparent);border:1px solid color-mix(in oklab, var(--vc) 34%, transparent);align-items:center;gap:6px;padding:4px 11px;font-weight:700;display:inline-flex}.lay-vd-badge-ic{stroke-width:2.6px;width:14px;height:14px}.lay-vd-conf{font-size:var(--fs-xs);color:var(--text-secondary);align-items:center;gap:7px;margin-left:auto;font-weight:600;display:inline-flex}.lay-vd-dots{gap:3px;display:inline-flex}.lay-vd-dot{border-radius:var(--r-full);background:var(--line-strong);width:6px;height:6px}.lay-vd-dot.on{background:var(--vc)}.lay-vd-verdict{font-size:var(--fs-xl);letter-spacing:-.01em;color:var(--text-primary);overflow-wrap:anywhere;font-weight:650;line-height:1.32}.lay-vd-reason{font-size:var(--fs-md);color:var(--text-secondary);overflow-wrap:anywhere;align-items:baseline;gap:9px;margin-top:12px;line-height:1.5;display:flex}.lay-vd-tag{font-size:var(--fs-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--vc);flex-shrink:0;padding-top:2px;font-weight:700}.lay-vd-caveat{border-radius:var(--r-md);background:color-mix(in oklab, var(--warning) 9%, transparent);border:1px solid color-mix(in oklab, var(--warning) 22%, transparent);font-size:var(--fs-sm);color:var(--text-secondary);overflow-wrap:anywhere;align-items:flex-start;gap:8px;margin-top:12px;padding:9px 11px;line-height:1.45;display:flex}.lay-vd-caveat-ic{width:15px;height:15px;color:var(--warning);flex-shrink:0;margin-top:1px}.lay-sc-metric{font-size:var(--fs-sm);overflow-wrap:anywhere;margin:-2px 0 12px}.lay-sc-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.lay-sc-panel{border-radius:var(--r-md);background:var(--surface-glass);border:1px solid var(--line);flex-direction:column;gap:4px;min-width:0;padding:13px 13px 13px 15px;display:flex;position:relative;overflow:hidden}.lay-sc-panel.hi{background:color-mix(in oklab, var(--sc) 7%, var(--surface-glass));border-color:color-mix(in oklab, var(--sc) 38%, transparent)}.lay-sc-bar{background:var(--sc);width:3px;position:absolute;top:0;bottom:0;left:0}.lay-sc-label{font-size:var(--fs-xs);letter-spacing:.04em;text-transform:uppercase;color:var(--sc);overflow-wrap:anywhere;font-weight:700}.lay-sc-value{font-size:var(--fs-xl);letter-spacing:-.02em;color:var(--text-primary);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-weight:700;line-height:1.1}.lay-sc-detail{font-size:var(--fs-sm);overflow-wrap:anywhere;line-height:1.4}.lay-sc-points{flex-direction:column;gap:4px;margin:6px 0 0;padding:0;list-style:none;display:flex}.lay-sc-points li{font-size:var(--fs-xs);color:var(--text-secondary);overflow-wrap:anywhere;align-items:baseline;gap:7px;line-height:1.4;display:flex}.lay-sc-pt-dot{border-radius:var(--r-full);background:var(--sc);flex-shrink:0;width:4px;height:4px;margin-top:5px}.wi-head{justify-content:space-between;align-items:flex-start;gap:12px;margin:10px 0 14px;display:flex}.wi-product{font-size:var(--fs-md,16px);color:var(--text-primary);font-weight:700;line-height:1.25}.wi-price{flex-wrap:wrap;align-items:baseline;gap:8px;margin-top:4px;display:flex}.wi-price-val{font-size:var(--fs-lg,20px);color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:800}.wi-price-note{font-size:var(--fs-xs,11.5px);color:var(--text-secondary)}.wi-badge{font-size:var(--fs-xs,12px);border-radius:var(--r-full);color:var(--wi);background:color-mix(in oklab, var(--wi) 14%, transparent);white-space:nowrap;flex:none;align-items:center;gap:5px;padding:5px 11px;font-weight:800;display:inline-flex}.wi-badge-ic{width:13px;height:13px}.wi-split{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px;display:grid}.wi-col{border-radius:var(--r-sm);background:var(--surface-glass);min-width:0;padding:10px 12px}.wi-col-h{font-size:var(--fs-2xs,10px);text-transform:uppercase;letter-spacing:.05em;margin-bottom:7px;font-weight:700}.wi-col--yes .wi-col-h{color:var(--insight)}.wi-col--no .wi-col-h{color:var(--text-muted)}.wi-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.wi-list li{font-size:var(--fs-sm,13px);color:var(--text-secondary);align-items:flex-start;gap:6px;line-height:1.4;display:flex}.wi-li-ic{flex:none;width:12px;height:12px;margin-top:3px}.wi-col--yes .wi-li-ic{color:var(--insight)}.wi-col--no .wi-li-ic{color:var(--text-faint)}.wi-dealbreaker{border-radius:var(--r-sm);background:color-mix(in oklab, var(--warning) 12%, transparent);color:var(--text-primary);font-size:var(--fs-sm,13px);align-items:flex-start;gap:8px;margin-bottom:12px;padding:9px 12px;line-height:1.4;display:flex}.wi-dealbreaker .ic{color:var(--warning);flex:none;width:15px;height:15px;margin-top:1px}.wi-bottom{flex-direction:column;gap:6px;display:flex}.wi-forwho{font-size:var(--fs-sm,13px);color:var(--text-secondary)}.wi-forwho-tag{font-size:var(--fs-2xs,10px);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-right:4px;font-weight:700}.wi-bottomline{font-size:var(--fs-sm,13px);color:var(--text-primary);font-weight:600;line-height:1.45}.cn-card{padding:var(--s-xl,30px) var(--s-lg,24px);flex-direction:column;align-items:flex-start;gap:14px;display:flex}.cn-reflection{font-size:var(--fs-xl,22px);color:var(--text-primary);letter-spacing:-.01em;max-width:48ch;margin:0;font-weight:500;line-height:1.5}.cn-follow{font-size:var(--fs-md,15px);color:var(--text-secondary);max-width:52ch;margin:0;line-height:1.55}.cn-chip{font-size:var(--fs-xs,12px);color:var(--presence);border-radius:var(--r-full);background:color-mix(in oklab, var(--presence) 10%, transparent);padding:5px 12px;font-weight:600}.pc-track{gap:5px;margin:12px 0 6px;display:flex}.pc-seg{border-radius:var(--r-full);background:color-mix(in oklab, var(--pc) 22%, transparent);height:10px;transition:all var(--m-fast) var(--ease-out);flex:1}.pc-seg.on{background:var(--pc);height:12px;box-shadow:0 0 0 3px color-mix(in oklab, var(--pc) 18%, transparent)}.pc-labels{gap:5px;margin-bottom:14px;display:flex}.pc-label{min-width:0;font-size:var(--fs-2xs,10px);color:var(--text-muted);text-align:center;flex:1;font-weight:600;line-height:1.2}.pc-label.on{color:var(--text-primary);font-weight:700}.pc-current{border-left:3px solid var(--pc);margin-bottom:10px;padding:2px 0 2px 12px}.pc-marker{font-size:var(--fs-2xs,10px);text-transform:uppercase;letter-spacing:.05em;color:var(--pc);font-weight:700}.pc-cur-label{font-size:var(--fs-md,16px);color:var(--text-primary);margin-top:2px;font-weight:700}.pc-cur-detail{font-size:var(--fs-sm,13px);color:var(--text-secondary);margin-top:3px;line-height:1.45}.pc-reason{font-size:var(--fs-sm,13px);color:var(--text-secondary);margin-bottom:12px;line-height:1.5}.pc-watch{border-radius:var(--r-sm);background:color-mix(in oklab, var(--danger) 9%, transparent);margin-bottom:10px;padding:10px 12px}.pc-watch-h{font-size:var(--fs-xs,12px);color:var(--danger);align-items:center;gap:6px;margin-bottom:6px;font-weight:700;display:flex}.pc-watch-h .ic{flex:none;width:14px;height:14px}.pc-watch-list{flex-direction:column;gap:5px;margin:0;padding:0;list-style:none;display:flex}.pc-watch-list li{font-size:var(--fs-sm,13px);color:var(--text-secondary);padding-left:14px;line-height:1.4;position:relative}.pc-watch-list li:before{content:"";background:var(--danger);border-radius:50%;width:4px;height:4px;position:absolute;top:7px;left:2px}.pc-caveat{font-size:var(--fs-xs,11.5px);color:var(--text-muted);font-style:italic;line-height:1.45}.df-list{flex-direction:column;margin:8px 0 0;padding:0;list-style:none;display:flex}.df-cause{border-bottom:1px solid var(--grid-line,var(--line-soft));padding:12px 0}.df-cause:last-child{border-bottom:none}.df-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.df-rank{border-radius:var(--r-full);background:var(--surface-glass);width:20px;height:20px;color:var(--text-secondary);font-size:var(--fs-2xs,10px);font-variant-numeric:tabular-nums;flex:none;justify-content:center;align-items:center;font-weight:800;display:flex}.df-name{font-size:var(--fs-sm,14px);color:var(--text-primary);font-weight:700}.df-band{font-size:var(--fs-2xs,10px);text-transform:uppercase;letter-spacing:.03em;color:var(--db);border-radius:var(--r-full);background:color-mix(in oklab, var(--db) 13%, transparent);padding:2px 7px;font-weight:700}.df-serious{font-size:var(--fs-2xs,10px);text-transform:uppercase;color:var(--danger);align-items:center;gap:3px;font-weight:700;display:inline-flex}.df-serious .ic{flex:none;width:11px;height:11px}.df-tell,.df-away{font-size:var(--fs-sm,13px);color:var(--text-secondary);margin-top:5px;line-height:1.45}.df-tag{font-size:var(--fs-2xs,10px);text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);margin-right:5px;font-weight:700}.df-tag--fit{color:var(--insight)}.df-prompt{border-radius:var(--r-sm);background:var(--surface-glass);font-size:var(--fs-sm,13px);color:var(--text-primary);align-items:flex-start;gap:7px;margin-top:12px;padding:9px 12px;line-height:1.4;display:flex}.df-prompt .ic{color:var(--presence);flex:none;width:14px;height:14px;margin-top:1px}.df-caveat{font-size:var(--fs-xs,11.5px);color:var(--text-muted);margin-top:10px;font-style:italic;line-height:1.45}.rf-card{flex-direction:column;display:flex}.rf-tag{font-size:var(--fs-2xs,10px);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:7px;font-weight:700}.rf-tag--true{color:var(--insight)}.rf-thought{border-radius:var(--r-md,12px);border:1px solid var(--line-soft);background:color-mix(in oklab, var(--surface-default) 60%, transparent);padding:14px 16px}.rf-quote{font-size:var(--fs-md,16px);color:var(--text-secondary);overflow-wrap:anywhere;align-items:flex-start;gap:9px;margin:0;font-style:italic;line-height:1.5;display:flex}.rf-quote-ic{color:var(--text-faint);flex:none;margin-top:3px}.rf-distortion{font-size:var(--fs-2xs,10px);color:var(--warning);border-radius:var(--r-full,999px);background:color-mix(in oklab, var(--warning) 12%, transparent);margin-top:11px;padding:4px 11px;font-weight:600;display:inline-block}.rf-shift{align-items:center;gap:10px;padding:11px 4px;display:flex}.rf-shift-line{background:linear-gradient(to right, color-mix(in oklab, var(--insight) 32%, transparent), color-mix(in oklab, var(--insight) 8%, transparent));flex:1;height:1px}.rf-shift-line:first-child{background:linear-gradient(to left, color-mix(in oklab, var(--insight) 32%, transparent), color-mix(in oklab, var(--insight) 8%, transparent))}.rf-shift-ic{color:var(--insight);flex:none}.rf-reframe{border-radius:var(--r-md,12px);border:1px solid color-mix(in oklab, var(--insight) 30%, var(--line-soft));background:color-mix(in oklab, var(--insight) 8%, transparent);padding:16px 18px}.rf-counter{font-size:var(--fs-lg,20px);letter-spacing:-.01em;color:var(--text-primary);overflow-wrap:anywhere;margin:0;font-weight:600;line-height:1.45}.bp-card{--bp-accent:var(--presence);padding:var(--s-xl,30px) var(--s-lg,24px)}.bp-stage{flex-direction:column;align-items:center;gap:16px;padding:14px 0 6px;display:flex}.bp-ring{border-radius:var(--r-full,999px);background:radial-gradient(circle, color-mix(in oklab, var(--bp-accent) 9%, transparent) 0%, transparent 68%);place-items:center;width:132px;height:132px;display:grid;position:relative}.bp-orb{border-radius:var(--r-full,999px);background:radial-gradient(circle at 38% 34%, color-mix(in oklab, var(--bp-accent) 78%, #fff 22%), color-mix(in oklab, var(--bp-accent) 88%, transparent));width:58px;height:58px;box-shadow:0 0 0 1px color-mix(in oklab, var(--bp-accent) 22%, transparent), 0 8px 28px color-mix(in oklab, var(--bp-accent) 26%, transparent);will-change:transform, box-shadow;animation:bp-breathe var(--bp-cycle,14s) ease-in-out infinite;transform:scale(.62)}@keyframes bp-breathe{0%{box-shadow:0 0 0 1px color-mix(in oklab, var(--bp-accent) 18%, transparent), 0 4px 14px color-mix(in oklab, var(--bp-accent) 18%, transparent);transform:scale(.62)}44%{box-shadow:0 0 0 1px color-mix(in oklab, var(--bp-accent) 30%, transparent), 0 10px 34px color-mix(in oklab, var(--bp-accent) 34%, transparent);transform:scale(1)}56%{box-shadow:0 0 0 1px color-mix(in oklab, var(--bp-accent) 30%, transparent), 0 10px 34px color-mix(in oklab, var(--bp-accent) 34%, transparent);transform:scale(1)}to{box-shadow:0 0 0 1px color-mix(in oklab, var(--bp-accent) 18%, transparent), 0 4px 14px color-mix(in oklab, var(--bp-accent) 18%, transparent);transform:scale(.62)}}.bp-caption{text-align:center;width:100%;height:1.4em;position:relative}.bp-phase{font-size:var(--fs-md,16px);color:var(--text-primary);letter-spacing:-.01em;opacity:0;animation:var(--bp-cycle,14s) ease-in-out infinite;justify-content:center;align-items:baseline;gap:7px;font-weight:600;animation-name:bp-cap-out;display:inline-flex;position:absolute;inset:0}.bp-phase--in{animation-name:bp-cap-in}.bp-phase--hold{animation-name:bp-cap-hold}.bp-secs{font-size:var(--fs-xs,11.5px);color:var(--text-faint);letter-spacing:0;font-weight:600}@keyframes bp-cap-in{0%{opacity:0}5%{opacity:1}40%{opacity:1}46%{opacity:0}to{opacity:0}}@keyframes bp-cap-hold{0%{opacity:0}42%{opacity:0}47%{opacity:1}55%{opacity:1}60%{opacity:0}to{opacity:0}}@keyframes bp-cap-out{0%{opacity:0}56%{opacity:0}61%{opacity:1}96%{opacity:1}to{opacity:0}}.bp-still{font-size:var(--fs-sm,13px);color:var(--text-secondary);text-align:center;margin:4px 0 0;line-height:1.55;display:none}.bp-note{font-size:var(--fs-sm,13px);color:var(--text-muted);text-align:center;margin-top:12px;line-height:1.5}@media (prefers-reduced-motion:reduce){.bp-orb{animation:none;transform:scale(.92)}.bp-caption{display:none}.bp-still{display:block}}.cpm-intro{font-size:var(--fs-sm,13px);color:var(--text-secondary);max-width:56ch;margin:10px 0 14px;line-height:1.55}.cpm-list{flex-direction:column;gap:8px;max-height:420px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.cpm-opt{border-radius:var(--r-sm);background:var(--surface-glass);border:1px solid var(--line-soft);transition:border-color var(--m-fast) var(--ease-out);align-items:flex-start;gap:11px;padding:11px 13px;display:flex}.cpm-opt:hover{border-color:var(--line)}.cpm-opt-mark{border-radius:var(--r-full);background:color-mix(in oklab, var(--presence) 12%, transparent);flex:none;justify-content:center;align-items:center;width:26px;height:26px;margin-top:1px;display:inline-flex}.cpm-opt-ic{color:var(--presence)}.cpm-dot{border-radius:var(--r-full);background:var(--presence);width:7px;height:7px}.cpm-opt-body{flex:1;min-width:0}.cpm-opt-head{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.cpm-opt-label{font-size:var(--fs-sm,13px);color:var(--text-primary);overflow-wrap:anywhere;font-weight:600;line-height:1.35}.cpm-tag{font-size:var(--fs-2xs,10px);border-radius:var(--r-full);white-space:nowrap;flex:none;align-items:center;gap:4px;padding:2px 8px;font-weight:700;display:inline-flex}.cpm-tag--time{color:var(--text-muted);background:color-mix(in oklab, var(--text-muted) 12%, transparent);font-variant-numeric:tabular-nums}.cpm-tag-ic{flex:none}.cpm-tag--effort{color:var(--cm,var(--presence));background:color-mix(in oklab, var(--cm,var(--presence)) 14%, transparent)}.cpm-opt-detail{font-size:var(--fs-xs,11.5px);color:var(--text-secondary);overflow-wrap:anywhere;margin:4px 0 0;line-height:1.5}.sbd-card{--sd:var(--presence)}.sbd-msg{margin:10px 0 4px;padding:4px 0 4px 22px;position:relative}.sbd-msg-bar{border-radius:var(--r-full);background:linear-gradient(180deg, var(--sd), color-mix(in oklab, var(--sd) 35%, transparent));width:4px;position:absolute;top:2px;bottom:2px;left:0}.sbd-msg-mark{color:var(--sd);opacity:.16;flex:none;position:absolute;top:-3px;left:13px}.sbd-msg-text{font-size:var(--fs-md,16px);color:var(--text-primary);letter-spacing:-.01em;text-wrap:pretty;overflow-wrap:anywhere;margin:0;font-weight:500;line-height:1.5}.sbd-readings{flex-direction:column;margin:14px 0 0;padding:0;list-style:none;display:flex}.sbd-reading{border-bottom:1px solid var(--grid-line,var(--line-soft));padding:11px 0}.sbd-reading:last-child{border-bottom:none}.sbd-reading-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sbd-rank{border-radius:var(--r-full);background:var(--surface-glass);width:20px;height:20px;color:var(--text-secondary);font-size:var(--fs-2xs,10px);font-variant-numeric:tabular-nums;flex:none;justify-content:center;align-items:center;font-weight:800;display:flex}.sbd-interp{min-width:0;font-size:var(--fs-sm,14px);color:var(--text-primary);overflow-wrap:anywhere;flex:auto;font-weight:650;line-height:1.4}.sbd-band{font-size:var(--fs-2xs,10px);text-transform:uppercase;letter-spacing:.03em;color:var(--sb);border-radius:var(--r-full);background:color-mix(in oklab, var(--sb) 13%, transparent);flex:none;padding:2px 7px;font-weight:700}.sbd-cue{font-size:var(--fs-sm,13px);color:var(--text-secondary);overflow-wrap:anywhere;align-items:baseline;gap:6px;margin-top:5px;padding-left:28px;line-height:1.45;display:flex}.sbd-cue-tag{font-size:var(--fs-2xs,10px);text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);flex:none;font-weight:700}.sbd-cantknow{font-size:var(--fs-xs,11.5px);color:var(--text-muted);align-items:flex-start;gap:7px;margin-top:12px;font-style:italic;line-height:1.45;display:flex}.sbd-cantknow .ic{color:var(--text-muted);flex:none;margin-top:1px}.sbd-reply{border-radius:var(--r-sm);background:color-mix(in oklab, var(--sd) 9%, var(--surface-glass));border:1px solid color-mix(in oklab, var(--sd) 20%, transparent);margin-top:12px;padding:10px 12px}.sbd-reply-tag{font-size:var(--fs-2xs,10px);text-transform:uppercase;letter-spacing:.04em;color:var(--sd);align-items:center;gap:5px;font-weight:700;display:inline-flex}.sbd-reply-tag .ic{color:var(--sd);flex:none}.sbd-reply-text{font-size:var(--fs-sm,13px);color:var(--text-primary);overflow-wrap:anywhere;margin:5px 0 0;line-height:1.5}.rh-opener{border-radius:var(--r-sm);background:color-mix(in oklab, var(--presence) 9%, var(--surface-glass));border-left:3px solid var(--presence);margin:10px 0 14px;padding:12px 14px}.rh-open-tag{font-size:var(--fs-2xs,10px);text-transform:uppercase;letter-spacing:.04em;color:var(--presence);margin-bottom:5px;font-weight:800;display:inline-block}.rh-open-line{font-size:var(--fs-md,16px);color:var(--text-primary);overflow-wrap:anywhere;margin:0;font-weight:600;line-height:1.4}.rh-branches{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.rh-branch{border-bottom:1px solid var(--grid-line,var(--line-soft));padding:12px 0}.rh-branch:first-child{padding-top:0}.rh-branch:last-child{border-bottom:none}.rh-reaction{font-size:var(--fs-sm,13px);color:var(--text-primary);overflow-wrap:anywhere;font-weight:700;line-height:1.4;display:block}.rh-reaction-ic{color:var(--warning);vertical-align:-2px;flex:none;margin-right:5px}.rh-if{color:var(--text-muted);font-weight:700}.rh-say{border-radius:var(--r-sm);background:var(--surface-glass);align-items:baseline;gap:8px;margin-top:7px;padding:9px 12px;display:flex}.rh-say-tag{font-size:var(--fs-2xs,10px);text-transform:uppercase;letter-spacing:.03em;color:var(--insight);flex:none;font-weight:800}.rh-say-line{font-size:var(--fs-sm,14px);color:var(--text-primary);overflow-wrap:anywhere;min-width:0;font-style:italic;line-height:1.45}.rh-why{font-size:var(--fs-xs,11.5px);color:var(--text-secondary);align-items:flex-start;gap:6px;margin-top:6px;padding-left:2px;line-height:1.45;display:flex}.rh-why-ic{color:var(--presence);flex:none;margin-top:2px}.rh-exit{border-radius:var(--r-sm);background:color-mix(in oklab, var(--insight) 8%, var(--surface-glass));font-size:var(--fs-sm,13px);color:var(--text-primary);align-items:flex-start;gap:7px;margin-top:14px;padding:9px 12px;line-height:1.45;display:flex}.rh-exit-ic{color:var(--insight);flex:none;margin-top:1px}.rh-exit-tag{color:var(--text-muted);font-weight:700}.rh-note{font-size:var(--fs-xs,11.5px);color:var(--text-muted);margin:12px 0 0;font-style:italic;line-height:1.45}.mss-intro{font-size:var(--fs-sm,13px);color:var(--text-secondary);margin:2px 0 12px;line-height:1.5}.mss-list{flex-direction:column;gap:10px;max-height:460px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.mss-item{border-radius:var(--r-md);background:var(--surface-glass);border:1px solid var(--line-soft);min-width:0;padding:12px 14px}.mss-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px;display:flex}.mss-target{font-size:var(--fs-sm,14px);color:var(--text-primary);overflow-wrap:anywhere;min-width:0;font-weight:700;line-height:1.3}.mss-chan{font-size:var(--fs-2xs,10px);text-transform:uppercase;letter-spacing:.04em;color:var(--presence);border-radius:var(--r-full,999px);background:color-mix(in oklab, var(--presence) 12%, transparent);white-space:nowrap;flex:none;align-items:center;gap:5px;padding:3px 9px;font-weight:700;display:inline-flex}.mss-chan-ic{flex:none;width:11px;height:11px}.mss-msg{border-radius:var(--r-sm);background:var(--surface-default);border:1px solid var(--line-soft);align-items:flex-start;gap:8px;padding:10px 12px;display:flex}.mss-msg-text{min-width:0;font-size:var(--fs-sm,13px);color:var(--text-primary);overflow-wrap:anywhere;white-space:pre-wrap;flex:auto;margin:0;line-height:1.5}.mss-copy{flex:none;margin-top:-2px}.mss-rebuttal{font-size:var(--fs-sm,13px);color:var(--text-secondary);overflow-wrap:anywhere;flex-direction:column;gap:3px;margin-top:9px;line-height:1.45;display:flex}.mss-rebuttal-tag{font-size:var(--fs-2xs,10px);text-transform:uppercase;letter-spacing:.04em;color:var(--warning);font-weight:700}.tlk-card .card-eyebrow{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.tlk-total{font-size:var(--fs-2xs,10px);text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);font-variant-numeric:tabular-nums;align-items:center;gap:4px;margin-left:auto;font-weight:700;display:inline-flex}.tlk-total-ic{flex:none;width:12px;height:12px}.tlk-list{flex-direction:column;max-height:460px;margin:10px 0 0;padding:0;list-style:none;display:flex;overflow-y:auto}.tlk-line{border-bottom:1px solid var(--grid-line,var(--line-soft));gap:12px;padding:14px 0;display:flex}.tlk-line:last-child{border-bottom:none}.tlk-rail{flex:none;justify-content:center;width:12px;display:flex;position:relative}.tlk-rail:before{content:"";background:var(--line-soft);width:2px;position:absolute;top:14px;bottom:-28px;left:50%;transform:translate(-50%)}.tlk-line:last-child .tlk-rail:before{display:none}.tlk-dot{border-radius:var(--r-full,999px);background:var(--presence);width:9px;height:9px;box-shadow:0 0 0 4px color-mix(in oklab, var(--presence) 16%, transparent);margin-top:9px}.tlk-body{flex:1;min-width:0}.tlk-say{font-size:var(--fs-lg,20px);color:var(--text-primary);letter-spacing:-.01em;overflow-wrap:anywhere;margin:0;font-weight:500;line-height:1.5}.tlk-meta{flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:8px;display:flex}.tlk-beat{font-size:var(--fs-2xs,10px);text-transform:uppercase;letter-spacing:.03em;color:var(--presence);border-radius:var(--r-full,999px);background:color-mix(in oklab, var(--presence) 11%, transparent);align-items:center;gap:5px;padding:3px 9px;font-weight:700;display:inline-flex}.tlk-beat-ic{flex:none;width:10px;height:10px}.tlk-note{font-size:var(--fs-xs,11.5px);color:var(--text-muted);overflow-wrap:anywhere;min-width:0;font-style:italic;line-height:1.4}.lfl-card{border:1px solid color-mix(in oklab, var(--presence) 28%, var(--line));background:color-mix(in oklab, var(--presence) 5%, transparent)}.lfl-message{font-size:var(--fs-md,16px);color:var(--text-primary);margin:8px 0 0;line-height:1.5}.lfl-safety{font-size:var(--fs-sm,14px);color:var(--presence);margin:10px 0 0;font-weight:600}.lfl-resources{flex-direction:column;gap:8px;margin:14px 0 0;display:flex}.lfl-res{border-radius:var(--r-md,12px);background:var(--surface-default);border:1px solid var(--line);flex-direction:column;gap:2px;padding:12px 14px;text-decoration:none;display:flex}.lfl-res--link:hover{border-color:var(--presence);background:color-mix(in oklab, var(--presence) 8%, var(--surface-default))}.lfl-res-name{font-size:var(--fs-sm,13px);color:var(--text-secondary);font-weight:600}.lfl-res-contact{font-size:var(--fs-lg,20px);color:var(--presence);font-weight:800;line-height:1.2}.lfl-res-note{font-size:var(--fs-xs,11.5px);color:var(--text-muted)}.lfl-grounding{border-radius:var(--r-sm);background:color-mix(in oklab, var(--insight) 10%, transparent);font-size:var(--fs-sm,13px);color:var(--text-primary);align-items:center;gap:8px;margin-top:14px;padding:10px 12px;display:flex}.lfl-grounding .ic{color:var(--insight);flex:none}.lfl-reassurance{font-size:var(--fs-xs,12px);color:var(--text-muted);margin:12px 0 0;line-height:1.5}.lay-scan-meter{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 14px;margin-bottom:14px;padding-bottom:10px;display:flex}.lay-scan-meter-key{min-width:0;font-size:var(--fs-xs,12px);color:var(--text-muted);align-items:baseline;gap:5px;display:inline-flex}.lay-scan-glyph{font-family:var(--font-mono,ui-monospace, monospace);font-size:var(--fs-lg);color:var(--presence);transform:translateY(1px)}.lay-scan-glyph.muted{color:var(--text-secondary);margin-left:8px}.lay-scan-meter-name{font-size:var(--fs-sm,13px);color:var(--text-primary);font-variant:small-caps;letter-spacing:.02em;overflow-wrap:anywhere;font-weight:600}.lay-scan-lines{flex-direction:column;gap:2px;padding-bottom:2px;display:flex;overflow-x:auto}.lay-scan-row{border-radius:var(--r-sm);align-items:flex-end;gap:12px;min-width:0;padding:7px 0;display:flex}.lay-scan-row:hover{background:color-mix(in oklab, var(--presence) 5%, transparent)}.lay-scan-line{min-width:0;font-family:var(--font-mono,ui-monospace, monospace);flex:auto;align-items:flex-end;margin:0;padding:0 6px;list-style:none;display:flex}.lay-scan-syl{flex-direction:column;flex:none;align-items:center;display:flex;position:relative}.lay-scan-mark{font-size:var(--fs-lg);height:14px;color:var(--text-secondary);-webkit-user-select:none;user-select:none;line-height:1}.lay-scan-syl[data-stress=on] .lay-scan-mark{color:var(--presence);font-weight:700}.lay-scan-text{font-size:var(--fs-sm,13px);color:var(--text-primary);padding:0 3px;line-height:1.5}.lay-scan-syl[data-stress=on] .lay-scan-text{font-weight:650}.lay-scan-bar{border-radius:var(--r-full);background:color-mix(in oklab, var(--text-muted) 55%, transparent);width:1.5px;height:22px;position:absolute;bottom:0;left:-1px}.lay-scan-rhyme{--rh:var(--presence);text-align:center;width:20px;font-family:var(--font-mono,ui-monospace, monospace);font-size:var(--fs-xs,12px);color:var(--rh);flex:none;align-self:flex-end;margin-bottom:1px;font-style:italic;font-weight:700}.lay-scan-caption{font-size:var(--fs-xs,12px);margin-top:14px;line-height:1.55}.lay-tspec-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.lay-tspec-row{border-bottom:1px solid var(--grid-line,var(--line-soft));min-width:0;padding:12px 0}.lay-tspec-row:last-child{border-bottom:none}.lay-tspec-meta{flex-wrap:wrap;align-items:center;gap:6px 10px;min-width:0;margin-bottom:6px;display:flex}.lay-tspec-name{font-size:var(--fs-2xs,10px);letter-spacing:.06em;text-transform:uppercase;color:var(--presence);flex-shrink:0;font-weight:700}.lay-tspec-chips{flex-wrap:wrap;gap:5px;min-width:0;display:inline-flex}.lay-tspec-chip{font-size:var(--fs-2xs,10px);color:var(--text-muted);background:var(--surface-elevated);border:1px solid var(--line);border-radius:var(--r-full,999px);white-space:nowrap;padding:1px 8px;font-weight:600}.lay-tspec-sample{color:var(--text-primary);letter-spacing:-.01em;overflow-wrap:anywhere;text-wrap:balance}.lay-tspec-pairing{border-radius:var(--r-md);border:1px solid var(--line);background:color-mix(in oklab, var(--presence) 5%, transparent);margin-top:16px;padding:14px 16px}.lay-tspec-pair-tag{font-size:var(--fs-2xs,10px);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;font-weight:700}.lay-tspec-pair-head{font-size:var(--fs-2xl);letter-spacing:-.02em;color:var(--text-primary);overflow-wrap:anywhere;text-wrap:balance;font-weight:680;line-height:1.15}.lay-tspec-pair-body{font-size:var(--fs-sm,13.5px);color:var(--text-secondary);overflow-wrap:anywhere;text-wrap:pretty;margin-top:8px;line-height:1.6}.lay-tspec-pair-faces{color:var(--text-primary);font-weight:650}.lay-tspec-caption{font-size:var(--fs-xs,12px);overflow-wrap:anywhere;margin-top:12px;line-height:1.5}.lay-shot-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.lay-shot-row{border-bottom:1px solid var(--grid-line,var(--line-soft));gap:13px;min-width:0;padding:11px 0;display:flex}.lay-shot-row:last-child{border-bottom:none}.lay-shot-thumb{aspect-ratio:100/64;border-radius:var(--r-sm);border:1px solid var(--line);background:color-mix(in oklab, var(--text-primary) 7%, var(--surface-elevated));flex-shrink:0;align-self:flex-start;width:100px;max-width:38%;position:relative;overflow:hidden}.lay-shot-frame{width:100%;height:100%;display:block}.lay-shot-subj{fill:color-mix(in oklab, var(--presence) 42%, transparent)}.lay-shot-fg{fill:color-mix(in oklab, var(--text-primary) 30%, transparent)}.lay-shot-grid{stroke:color-mix(in oklab, var(--text-primary) 12%, transparent);stroke-width:.75px}.lay-shot-size{font-family:var(--font-mono,ui-monospace, monospace);font-size:var(--fs-2xs);letter-spacing:.04em;color:#fff;border-radius:var(--r-sm);background:oklab(0% none none/.62);padding:1px 6px;font-weight:700;position:absolute;bottom:4px;left:5px}.lay-shot-body{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.lay-shot-top{flex-wrap:wrap;align-items:center;gap:5px 8px;min-width:0;display:flex}.lay-shot-n{border-radius:var(--r-full,999px);background:color-mix(in oklab, var(--presence) 14%, transparent);width:20px;height:20px;color:var(--presence);font-size:var(--fs-2xs,10px);flex-shrink:0;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.lay-shot-frame-label{font-size:var(--fs-2xs,10px);letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);font-weight:700}.lay-shot-meta{flex-wrap:wrap;gap:5px;min-width:0;margin-left:auto;display:inline-flex}.lay-shot-tag{font-size:var(--fs-2xs,10px);color:var(--text-secondary);background:var(--surface-elevated);border:1px solid var(--line);border-radius:var(--r-full,999px);white-space:nowrap;padding:1px 8px;font-weight:600}.lay-shot-action{font-size:var(--fs-sm,13.5px);color:var(--text-primary);overflow-wrap:anywhere;text-wrap:pretty;line-height:1.45}.lay-shot-dialogue{font-size:var(--fs-sm,13px);color:var(--text-secondary);overflow-wrap:anywhere;align-items:flex-start;gap:7px;font-style:italic;line-height:1.4;display:flex}.lay-shot-dialogue .ic{width:13px;height:13px;color:var(--text-muted);flex-shrink:0;margin-top:2px}.lay-shot-caption{font-size:var(--fs-xs,12px);overflow-wrap:anywhere;margin-top:12px;line-height:1.5}.lay-beat-framework{font-size:var(--fs-sm,13.5px);color:var(--text-primary);align-items:center;gap:8px;margin-bottom:12px;font-weight:650;display:flex}.lay-beat-fw-tag{font-size:var(--fs-2xs,10px);letter-spacing:.05em;text-transform:uppercase;color:var(--presence);background:color-mix(in oklab, var(--presence) 13%, transparent);border-radius:var(--r-full,999px);padding:2px 9px;font-weight:700}.lay-beat-list{margin:0;padding:0;list-style:none}.lay-beat-row{gap:12px;min-width:0;display:flex}.lay-beat-rail{flex-direction:column;flex-shrink:0;align-items:center;width:14px;display:flex;position:relative}.lay-beat-rail:before{content:"";background:var(--line);width:2px;position:absolute;top:0;bottom:0}.lay-beat-row:first-child .lay-beat-rail:before{top:7px}.lay-beat-row:last-child .lay-beat-rail:before{bottom:calc(100% - 14px)}.lay-beat-dot{border-radius:var(--r-full,999px);background:var(--presence);width:9px;height:9px;box-shadow:0 0 0 3px var(--surface-default);margin-top:7px;position:relative}.lay-beat-body{flex:1;min-width:0;padding-bottom:13px}.lay-beat-head{flex-wrap:wrap;align-items:baseline;gap:8px;min-width:0;display:flex}.lay-beat-name{font-size:var(--fs-sm,14px);color:var(--text-primary);overflow-wrap:anywhere;font-weight:700}.lay-beat-at{font-size:var(--fs-2xs,10px);color:var(--text-muted);background:var(--surface-elevated);border:1px solid var(--line);border-radius:var(--r-full,999px);flex-shrink:0;padding:1px 7px;font-weight:700}.lay-beat-line{font-size:var(--fs-sm,13px);color:var(--text-secondary);overflow-wrap:anywhere;text-wrap:pretty;margin-top:3px;line-height:1.45}.lay-beat-curve{border-top:1px solid var(--grid-line,var(--line-soft));margin:6px 0 0;padding:10px 4px 4px}.lay-beat-curve-cap{font-size:var(--fs-2xs,10px);letter-spacing:.05em;text-transform:uppercase;margin-bottom:4px;font-weight:700}.lay-beat-svg{width:100%;display:block;overflow:visible}.lay-beat-stroke{stroke:var(--presence);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.lay-beat-pt{fill:var(--surface-default);stroke:var(--presence);stroke-width:2px}.lay-beat-caption{font-size:var(--fs-xs,12px);overflow-wrap:anywhere;margin-top:12px;line-height:1.5}.lay-ps-theme{font-size:var(--fs-xs,12px);letter-spacing:.03em;color:var(--text-secondary);overflow-wrap:anywhere;align-items:center;gap:8px;min-width:0;margin:2px 0 12px;font-weight:650;display:inline-flex}.lay-ps-theme-dot{border-radius:var(--r-full,999px);background:var(--presence);flex-shrink:0;width:6px;height:6px}.lay-ps-list{flex-direction:column;gap:9px;margin:0;padding:0;list-style:none;display:flex}.lay-ps-card{border-radius:var(--r-md);border:1px solid var(--line-soft,var(--line));background:color-mix(in oklab, var(--presence) 4%, transparent);align-items:flex-start;gap:12px;min-width:0;padding:13px 15px;display:flex}.lay-ps-mark{border-radius:var(--r-full,999px);width:22px;height:22px;font-size:var(--fs-xs,12px);color:var(--presence);background:color-mix(in oklab, var(--presence) 12%, transparent);flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;font-weight:700;display:inline-flex}.lay-ps-body{flex-direction:column;gap:5px;min-width:0;display:flex}.lay-ps-q{font-size:var(--fs-md,15.5px);letter-spacing:-.005em;color:var(--text-primary);text-wrap:pretty;overflow-wrap:anywhere;margin:0;font-weight:550;line-height:1.45}.lay-ps-guide{font-size:var(--fs-sm,13px);color:var(--text-secondary);text-wrap:pretty;overflow-wrap:anywhere;margin:0;line-height:1.45}.lay-ps-caption{font-size:var(--fs-xs,12px);overflow-wrap:anywhere;margin-top:12px;line-height:1.5}.lay-zl-metric{font-size:var(--fs-2xs,10px);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);border:1px solid var(--line);border-radius:var(--r-full,999px);white-space:nowrap;flex-shrink:0;margin-left:auto;padding:2px 9px;font-weight:700}.lay-zl-ladder{flex-direction:column;gap:6px;margin-top:4px;display:flex}.lay-zl-band{--zc:var(--presence);border-radius:var(--r-md);background:color-mix(in oklab, var(--zc) 7%, transparent);border:1px solid color-mix(in oklab, var(--zc) 20%, transparent);min-width:0;transition:background var(--m-fast) var(--ease-out), border-color var(--m-fast);gap:11px;padding:11px 13px 11px 0;display:flex;overflow:hidden}.lay-zl-band.here{background:color-mix(in oklab, var(--zc) 13%, transparent);border-color:color-mix(in oklab, var(--zc) 46%, transparent)}.lay-zl-rail{border-radius:0 var(--r-full,999px) var(--r-full,999px) 0;background:var(--zc);flex-shrink:0;align-self:stretch;width:4px}.lay-zl-band-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.lay-zl-band-top{flex-wrap:wrap;align-items:baseline;gap:6px 10px;min-width:0;display:flex}.lay-zl-name{font-size:var(--fs-sm,14px);color:var(--text-primary);overflow-wrap:anywhere;min-width:0;font-weight:700}.lay-zl-range{font-size:var(--fs-xs,12.5px);color:var(--zc);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.lay-zl-here{font-size:var(--fs-2xs,10px);letter-spacing:.03em;text-transform:uppercase;color:var(--zc);background:color-mix(in oklab, var(--zc) 16%, transparent);border-radius:var(--r-full,999px);white-space:nowrap;flex-shrink:0;align-items:center;gap:5px;margin-left:auto;padding:2px 9px;font-weight:700;display:inline-flex}.lay-zl-here-dot{border-radius:var(--r-full,999px);background:var(--zc);width:5px;height:5px;box-shadow:0 0 0 3px color-mix(in oklab, var(--zc) 24%, transparent)}.lay-zl-effort{font-size:var(--fs-sm,13px);color:var(--text-secondary);overflow-wrap:anywhere;line-height:1.4}.lay-zl-purpose{font-size:var(--fs-xs,12px);color:var(--text-muted);overflow-wrap:anywhere;line-height:1.4}.lay-zl-caption{font-size:var(--fs-xs,12px);overflow-wrap:anywhere;margin-top:12px;line-height:1.5}.lay-pseq-strip{scrollbar-width:thin;align-items:stretch;gap:4px;margin:4px 0 0;padding:2px 2px 8px;list-style:none;display:flex;overflow-x:auto}.lay-pseq-panel{--mc:var(--presence);border-radius:var(--r-md);border:1px solid color-mix(in oklab, var(--mc) 24%, var(--line));background:color-mix(in oklab, var(--mc) 5%, transparent);text-align:center;flex-direction:column;flex:1 0 116px;align-items:center;gap:7px;min-width:0;max-width:180px;padding:11px 10px 12px;display:flex}.lay-pseq-marker{font-size:var(--fs-2xs,10px);letter-spacing:.06em;text-transform:uppercase;color:var(--mc);background:color-mix(in oklab, var(--mc) 14%, transparent);border-radius:var(--r-full,999px);padding:2px 11px;font-weight:700}.lay-pseq-frame{justify-content:center;width:100%;display:flex}.lay-pseq-art{width:100%;max-width:96px;height:auto}.lay-pseq-art-card{fill:color-mix(in oklab, var(--mc) 9%, transparent);stroke:color-mix(in oklab, var(--mc) 36%, transparent);stroke-width:1.5px}.lay-pseq-art-base{stroke:color-mix(in oklab, var(--mc) 32%, transparent);stroke-width:1.5px;stroke-linecap:round}.lay-pseq-art-badge{fill:var(--surface-default);stroke:var(--mc);stroke-width:2px}.lay-pseq-art-num{fill:var(--mc);text-anchor:middle;dominant-baseline:central;font-size:11px;font-weight:700}.lay-pseq-label{font-size:var(--fs-sm,13px);color:var(--text-primary);overflow-wrap:anywhere;font-weight:650;line-height:1.3}.lay-pseq-cap{font-size:var(--fs-xs,11.5px);overflow-wrap:anywhere;line-height:1.35}.lay-pseq-arrow{color:var(--text-muted);flex:none;align-self:center;align-items:center;display:flex}.lay-pseq-arrow .ic{width:16px;height:16px}.lay-pseq-caption{font-size:var(--fs-xs,12px);overflow-wrap:anywhere;margin-top:12px;line-height:1.5}.sa-wrap{width:100%}.sa-svg{width:100%;display:block;overflow:hidden}.sa-framework-label{font-size:var(--fs-xs,12px);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-weight:600}.sa-fill{fill:color-mix(in oklab, var(--presence) 12%, transparent)}.sa-curve{stroke:var(--presence);stroke-width:2px;stroke-linejoin:round}.sa-baseline{stroke:var(--line);stroke-width:1px}.sa-stage-lbl{fill:var(--text-muted);font-size:9px}.sa-beat-dot{fill:var(--warning);r:4px}.sa-beat-dot-hero{fill:var(--warning)}.sa-beat-lbl{fill:var(--text-primary);font-size:8px;font-weight:600}.sa-act-rect{stroke:none}.sa-transition{stroke:var(--line-strong);stroke-width:1px;stroke-dasharray:3 2}.sa-transition-lbl{fill:var(--text-muted);font-size:8px}.sa-stage-dot{fill:var(--presence)}.sa-hj-lbl{fill:var(--text-secondary);font-size:8px}.sa-arc-lbl{fill:var(--text-muted);letter-spacing:.06em;font-size:8px;font-weight:700}.sa-circle-guide{stroke:var(--line);stroke-width:1px}.sa-circle-path{stroke:var(--presence);stroke-width:2px;fill:none}.sa-stc-bar{fill:var(--surface-elevated)}.sa-stc-break{stroke:var(--line-strong);stroke-width:1.5px;stroke-dasharray:3 2}.sa-stc-pin{stroke:var(--warning);stroke-width:1.5px}.sa-stc-tick{stroke:var(--line-strong);stroke-width:1px}.sa-stc-lbl{fill:var(--text-muted);font-size:7px}.sa-pct-lbl{fill:var(--text-muted);font-size:8px}.tr-card{flex-direction:column;display:flex}.tr-block+.tr-block{margin-top:12px}.tr-tag{font-size:var(--fs-2xs,10px);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:7px;font-weight:700}.tr-tag--true{color:var(--insight)}.tr-situation{border-radius:var(--r-md,12px);border:1px solid var(--line-soft);background:color-mix(in oklab, var(--surface-default) 45%, transparent);padding:12px 15px}.tr-body{font-size:var(--fs-sm,13px);color:var(--text-secondary);overflow-wrap:anywhere;margin:0;line-height:1.5}.tr-thought{border-radius:var(--r-md,12px);border:1px solid var(--line-soft);background:color-mix(in oklab, var(--surface-default) 60%, transparent);padding:14px 16px}.tr-row-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:7px;display:flex}.tr-row-head .tr-tag{margin-bottom:0}.tr-emo-chip{max-width:100%;font-size:var(--fs-2xs,10px);color:var(--presence);background:color-mix(in oklab, var(--presence) 13%, transparent);border-radius:var(--r-full,999px);overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:5px;padding:4px 11px;font-weight:700;display:inline-flex}.tr-emo-pct{opacity:.75}.tr-quote{font-size:var(--fs-md,16px);color:var(--text-primary);overflow-wrap:anywhere;align-items:flex-start;gap:9px;margin:0;font-style:italic;line-height:1.5;display:flex}.tr-quote-ic{color:var(--text-faint);flex:none;margin-top:3px}.tr-meter{border-radius:var(--r-full,999px);background:var(--track);height:5px;margin-top:11px;overflow:hidden}.tr-meter-fill{border-radius:inherit;background:var(--presence);height:100%;transition:width var(--m-expressive) var(--ease-spring);display:block}.tr-ev-grid{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:4px;display:grid}.tr-ev-divider{background:linear-gradient(var(--line), transparent);width:1px}.tr-ev-head{font-size:var(--fs-xs,11.5px);color:var(--text-secondary);align-items:center;gap:6px;min-width:0;margin-bottom:7px;font-weight:650;display:flex}.tr-ev-head>span:not(.tr-ev-count){text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tr-ev-count{font-size:var(--fs-2xs,10px);color:var(--te);background:color-mix(in oklab, var(--te) 14%, transparent);border-radius:var(--r-full,999px);flex-shrink:0;margin-left:auto;padding:1px 7px;font-weight:700}.tr-ev-list{flex-direction:column;gap:4px;max-height:320px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.tr-ev-item{align-items:flex-start;gap:7px;padding:5px 2px;display:flex}.tr-ev-mark{opacity:.85;flex-shrink:0;width:12px;height:12px;margin-top:3px}.tr-ev-text{min-width:0;font-size:var(--fs-sm,13px);color:var(--text-primary);overflow-wrap:anywhere;line-height:1.4}.tr-ev-empty{font-size:var(--fs-sm,13px);margin:0;font-style:italic}.tr-shift{align-items:center;gap:10px;padding:11px 4px;display:flex}.tr-shift-line{background:linear-gradient(to right, color-mix(in oklab, var(--insight) 32%, transparent), color-mix(in oklab, var(--insight) 8%, transparent));flex:1;height:1px}.tr-shift-line:first-child{background:linear-gradient(to left, color-mix(in oklab, var(--insight) 32%, transparent), color-mix(in oklab, var(--insight) 8%, transparent))}.tr-shift-ic{color:var(--insight);flex:none}.tr-alt{border-radius:var(--r-md,12px);border:1px solid color-mix(in oklab, var(--insight) 30%, var(--line-soft));background:color-mix(in oklab, var(--insight) 8%, transparent);padding:15px 17px}.tr-alt-text{font-size:var(--fs-lg,20px);letter-spacing:-.01em;color:var(--text-primary);overflow-wrap:anywhere;margin:0;font-weight:600;line-height:1.45}.tr-outcome{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:14px;display:flex}.tr-outcome-arrow{color:var(--text-faint);flex-shrink:0}.tr-outcome-chip{border-radius:var(--r-full,999px);background:var(--surface-glass);border:1px solid var(--line-soft);flex-wrap:wrap;align-items:baseline;gap:6px;min-width:0;max-width:100%;padding:6px 12px;display:flex}.tr-outcome-chip--after{border-color:color-mix(in oklab, var(--insight) 35%, var(--line-soft));background:color-mix(in oklab, var(--insight) 9%, transparent)}.tr-outcome-label{font-size:var(--fs-2xs,10px);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);flex-shrink:0;font-weight:700}.tr-outcome-emo{font-size:var(--fs-sm,13px);color:var(--text-primary);overflow-wrap:anywhere;font-weight:600}.tr-outcome-pct{font-size:var(--fs-xs,11.5px);color:var(--text-secondary);flex-shrink:0}.lay-dd-heading{font-size:var(--fs-sm);color:var(--text-secondary);overflow-wrap:anywhere;margin-bottom:12px;font-weight:650}.lay-dd-heads{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin-bottom:8px;display:grid}.lay-dd-head{--dd:var(--presence);min-width:0;font-size:var(--fs-sm);letter-spacing:.03em;text-transform:uppercase;color:var(--text-secondary);align-items:center;gap:6px;font-weight:650;display:flex}.lay-dd-head .ic{width:14px;height:14px;color:var(--dd);flex-shrink:0}.lay-dd-head>span:not(.lay-dd-count){text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.lay-dd-count{font-size:var(--fs-xs);color:var(--dd);background:color-mix(in oklab, var(--dd) 14%, transparent);border-radius:var(--r-full);flex-shrink:0;margin-left:auto;padding:1px 7px;font-weight:700}.lay-dd-list{flex-direction:column;gap:9px;margin:0;padding:0;list-style:none;display:flex}.lay-dd-row{flex-direction:column;gap:5px;min-width:0;display:flex}.lay-dd-topic{font-size:var(--fs-2xs);letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);overflow-wrap:anywhere;font-weight:700}.lay-dd-cells{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;display:grid}.lay-dd--single .lay-dd-cells{grid-template-columns:minmax(0,1fr)}.lay-dd-cell{--dd:var(--insight);border-radius:var(--r-md);border:1px solid color-mix(in oklab, var(--dd) 26%, var(--line-soft));background:color-mix(in oklab, var(--dd) 7%, transparent);gap:8px;min-width:0;padding:9px 11px;display:flex}.lay-dd-cell.solo{grid-column:1/-1}.lay-dd-mark{width:14px;height:14px;color:var(--dd);flex-shrink:0;margin-top:3px}.lay-dd-cell-body{flex-direction:column;gap:3px;min-width:0;display:flex}.lay-dd-tag{font-size:var(--fs-2xs);letter-spacing:.05em;text-transform:uppercase;color:var(--dd);overflow-wrap:anywhere;font-weight:700;display:none}.lay-dd--single .lay-dd-tag,.lay-dd-cell.solo .lay-dd-tag{display:block}.lay-dd-text{font-size:var(--fs-md);color:var(--text-primary);overflow-wrap:anywhere;text-wrap:pretty;line-height:1.45}.lay-dd-why{border-left:2px solid var(--line);font-size:var(--fs-sm);overflow-wrap:anywhere;text-wrap:pretty;margin:1px 0 0;padding-left:10px;line-height:1.4}.lay-dd-empty{font-size:var(--fs-md);overflow-wrap:anywhere;align-items:center;gap:8px;padding:16px 8px;display:flex}.lay-dd-empty .ic{flex-shrink:0;width:15px;height:15px}@container (width<=380px){.lay-dd-heads{display:none}.lay-dd-cells{grid-template-columns:minmax(0,1fr)}.lay-dd-tag{display:block}}.lay-vs{--vs-acc:var(--presence)}.lay-vs-subject{border-left:3px solid var(--line-strong);border-radius:0 var(--r-sm) var(--r-sm) 0;background:var(--surface-glass);font-size:var(--fs-sm);color:var(--text-muted);overflow-wrap:anywhere;text-wrap:pretty;margin:0 0 12px;padding:7px 11px;font-style:italic;line-height:1.5}.lay-vs-switch{flex-wrap:wrap;align-items:center;gap:6px 10px;min-width:0;margin-bottom:12px;display:flex}.lay-vs-axis{font-size:var(--fs-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);flex-shrink:0;font-weight:700}.lay-vs-chips{border-radius:var(--r-full);border:1px solid var(--line-soft);background:var(--surface-glass);flex-wrap:wrap;gap:4px;min-width:0;padding:3px;display:flex}.lay-vs-chip{border-radius:var(--r-full);min-width:0;font:inherit;font-size:var(--fs-sm);color:var(--text-muted);cursor:pointer;transition:background var(--m-fast) var(--ease-out), color var(--m-fast) var(--ease-out);background:0 0;border:0;align-items:center;gap:5px;padding:5px 12px;font-weight:600;display:inline-flex}.lay-vs-chip>span{overflow-wrap:anywhere;min-width:0}.lay-vs-chip:hover{color:var(--text-secondary)}.lay-vs-chip.on{color:var(--vs-acc);background:color-mix(in oklab, var(--vs-acc) 16%, var(--surface-elevated));box-shadow:inset 0 0 0 1px color-mix(in oklab, var(--vs-acc) 34%, transparent)}.lay-vs-chip-ic{flex-shrink:0;width:14px;height:14px}.lay-vs-panel{border-left:2px solid color-mix(in oklab, var(--vs-acc) 34%, transparent);flex-direction:column;gap:9px;min-width:0;max-height:460px;padding-left:12px;display:flex;overflow-y:auto}.lay-vs-solo-label{font-size:var(--fs-2xs);letter-spacing:.05em;text-transform:uppercase;color:var(--vs-acc);overflow-wrap:anywhere;font-weight:700}.lay-vs-para{font-size:var(--fs-md);color:var(--text-secondary);overflow-wrap:anywhere;text-wrap:pretty;margin:0;line-height:1.6}.lay-vs-when{font-size:var(--fs-sm);overflow-wrap:anywhere;text-wrap:pretty;align-items:flex-start;gap:6px;margin:11px 0 0;line-height:1.4;display:flex}.lay-vs-when-ic{flex-shrink:0;width:13px;height:13px;margin-top:2px}.lay-vs-empty{font-size:var(--fs-md);overflow-wrap:anywhere;align-items:center;gap:8px;padding:16px 8px;display:flex}.lay-vs-empty .ic{flex-shrink:0;width:15px;height:15px}