@templatical/editor 0.39.4 → 0.40.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 (210) hide show
  1. package/dist/{AiChatSidebar-5qqrS6uy.js → AiChatSidebar-a8TPBAl2.js} +3 -3
  2. package/dist/{AiFeatureMenu-BBO_Ojlp.js → AiFeatureMenu-CbgDjLqk.js} +3 -3
  3. package/dist/{BlockIssueBadge-D5oGxOQP.js → BlockIssueBadge-D8KsGWY6.js} +2 -2
  4. package/dist/BlockPreviewCanvas-XNV83YGg.js +133 -0
  5. package/dist/{CloudHeaderExtras-Cg6uF-yQ.js → CloudHeaderExtras-C-tbLyfE.js} +2 -2
  6. package/dist/{CloudPanels-D1Gg4qrG.js → CloudPanels-DnWDrgnQ.js} +4 -4
  7. package/dist/{CollaboratorBar-Cmn0LccS.js → CollaboratorBar-DUmeCkyD.js} +2 -2
  8. package/dist/{CommentsPanel-twNhYUqZ.js → CommentsPanel-9k1q-79y.js} +1 -1
  9. package/dist/{CommentsSidebar-DDO0Qx8U.js → CommentsSidebar-Bc7nORmD.js} +2 -2
  10. package/dist/{CountdownBlock-DSvbf3qU.js → CountdownBlock-C6R-hn7D.js} +1 -1
  11. package/dist/{CountdownToolbar-nvHxu8Gu.js → CountdownToolbar-DkC-qSgq.js} +4 -4
  12. package/dist/{DesignReferenceSidebar-C8ohNhOd.js → DesignReferenceSidebar-OoiYJAKS.js} +3 -3
  13. package/dist/{IssuesPanel-Ck0EGoV5.js → IssuesPanel-Dnns3O9z.js} +3 -3
  14. package/dist/{LogicTagInsertButton-D8IwH-9Z.js → LogicTagInsertButton-BimKobaG.js} +67 -67
  15. package/dist/{MergeTagInput-QI-5KG2R.js → MergeTagInput-DqpVzhy7.js} +1 -1
  16. package/dist/{MergeTagModeToggle-D793Bj_E.js → MergeTagModeToggle-BkIiAgpQ.js} +4 -4
  17. package/dist/{ParagraphEditor-D6FRxr8Y.js → ParagraphEditor-D67Cqh-T.js} +19 -19
  18. package/dist/{RestoreVersionDialog--b0qfNaK.js → RestoreVersionDialog-BaKDuPCX.js} +2 -2
  19. package/dist/{RichTextEditorContent-BC5UTVnb.js → RichTextEditorContent-AEtfKvLz.js} +5 -5
  20. package/dist/{SaveBlockDialog-C0BdEGeL.js → SaveBlockDialog-BxkI52fN.js} +8 -8
  21. package/dist/{SavedBlocksBrowserModal-BzDgXtr4.js → SavedBlocksBrowserModal-C4_25Kvn.js} +6 -6
  22. package/dist/{SavedBlocksPanels-DN-bDZzy.js → SavedBlocksPanels-DQ0w9G1O.js} +1 -1
  23. package/dist/{SavedBlocksPickBar-pEi9Et8Q.js → SavedBlocksPickBar-CtH-sfxh.js} +2 -2
  24. package/dist/{TemplateScoringPanel-B1wcfE0w.js → TemplateScoringPanel-Cs0TGtRF.js} +3 -3
  25. package/dist/{TemplateSettings-C_5leDdF.js → TemplateSettings-BD1WNP4C.js} +7 -7
  26. package/dist/{TestEmailModal-maM8SLBV.js → TestEmailModal-DZi58FU9.js} +70 -65
  27. package/dist/{TestEmailPanel-8iAZYpCK.js → TestEmailPanel-D__9Wvgz.js} +1 -1
  28. package/dist/{TitleEditor-L26QXwna.js → TitleEditor-v5p89Djs.js} +9 -9
  29. package/dist/{ToggleSwitch-JvQ_CmI1.js → ToggleSwitch-CJfQ8u57.js} +1 -1
  30. package/dist/{Toolbar-B2kDLFhn.js → Toolbar-C7SjilzH.js} +540 -525
  31. package/dist/{TplModal-DVMS_nAn.js → TplModal-B8uLyoXE.js} +3 -3
  32. package/dist/{VersionHistoryMenu-BVQityes.js → VersionHistoryMenu-b0A8mS2_.js} +2 -2
  33. package/dist/{VersionHistoryPanels-D8f8KvKX.js → VersionHistoryPanels-DfNrRT6y.js} +1 -1
  34. package/dist/{VersionPreviewBanner-BaMSgA1O.js → VersionPreviewBanner-xB9r83r0.js} +1 -1
  35. package/dist/WrapperBlock-yGmKw0T-.js +34 -0
  36. package/dist/{blockTypeIcons-CdXugKyV.js → blockTypeIcons-B0Bq1WT1.js} +1 -1
  37. package/dist/bundle-stats.json +6 -6
  38. package/dist/{ca-Bqeygp1_.js → ca-Ckgw9yd0.js} +1 -0
  39. package/dist/cdn/chunks/{AiChatSidebar-ctfIU4i0.js → AiChatSidebar-mKImUXi6.js} +7 -7
  40. package/dist/cdn/chunks/{AiChatSidebar-ctfIU4i0.js.map → AiChatSidebar-mKImUXi6.js.map} +1 -1
  41. package/dist/cdn/chunks/{AiFeatureMenu-ByygdH_9.js → AiFeatureMenu-23HCL517.js} +4 -4
  42. package/dist/cdn/chunks/{AiFeatureMenu-ByygdH_9.js.map → AiFeatureMenu-23HCL517.js.map} +1 -1
  43. package/dist/cdn/chunks/{BlockIssueBadge-9hHpaXb9.js → BlockIssueBadge-DS1pUf5g.js} +3 -3
  44. package/dist/cdn/chunks/{BlockIssueBadge-9hHpaXb9.js.map → BlockIssueBadge-DS1pUf5g.js.map} +1 -1
  45. package/dist/cdn/chunks/BlockPreviewCanvas-DObWyQfh.js +135 -0
  46. package/dist/cdn/chunks/BlockPreviewCanvas-DObWyQfh.js.map +1 -0
  47. package/dist/cdn/chunks/{CloudHeaderExtras-BxsMpvVr.js → CloudHeaderExtras-DOB_uWpt.js} +3 -3
  48. package/dist/cdn/chunks/{CloudHeaderExtras-BxsMpvVr.js.map → CloudHeaderExtras-DOB_uWpt.js.map} +1 -1
  49. package/dist/cdn/chunks/{CloudPanels-DmxmqAS_.js → CloudPanels-DcAn5QW7.js} +5 -5
  50. package/dist/cdn/chunks/{CloudPanels-DmxmqAS_.js.map → CloudPanels-DcAn5QW7.js.map} +1 -1
  51. package/dist/cdn/chunks/{CollaboratorBar-B8ttqAqX.js → CollaboratorBar-C0M8c2Vv.js} +3 -3
  52. package/dist/cdn/chunks/{CollaboratorBar-B8ttqAqX.js.map → CollaboratorBar-C0M8c2Vv.js.map} +1 -1
  53. package/dist/cdn/chunks/{CommentsPanel-C8ibhaiK.js → CommentsPanel-BtAGZfF6.js} +2 -2
  54. package/dist/cdn/chunks/{CommentsPanel-C8ibhaiK.js.map → CommentsPanel-BtAGZfF6.js.map} +1 -1
  55. package/dist/cdn/chunks/{CommentsSidebar-CybWfZ3V.js → CommentsSidebar-Ws07MXYj.js} +3 -3
  56. package/dist/cdn/chunks/{CommentsSidebar-CybWfZ3V.js.map → CommentsSidebar-Ws07MXYj.js.map} +1 -1
  57. package/dist/cdn/chunks/{CountdownBlock-DdC8Lg5F.js → CountdownBlock-sVDjKkRw.js} +2 -2
  58. package/dist/cdn/chunks/{CountdownBlock-DdC8Lg5F.js.map → CountdownBlock-sVDjKkRw.js.map} +1 -1
  59. package/dist/cdn/chunks/{CountdownToolbar-DRESXiVD.js → CountdownToolbar-Bu93WiS8.js} +5 -5
  60. package/dist/cdn/chunks/{CountdownToolbar-DRESXiVD.js.map → CountdownToolbar-Bu93WiS8.js.map} +1 -1
  61. package/dist/cdn/chunks/{DesignReferenceSidebar-CtaoY-hl.js → DesignReferenceSidebar-BlSdh5B7.js} +4 -4
  62. package/dist/cdn/chunks/{DesignReferenceSidebar-CtaoY-hl.js.map → DesignReferenceSidebar-BlSdh5B7.js.map} +1 -1
  63. package/dist/cdn/chunks/{IssuesPanel-C6RlIxoi.js → IssuesPanel-CKkv9z9g.js} +4 -4
  64. package/dist/cdn/chunks/{IssuesPanel-C6RlIxoi.js.map → IssuesPanel-CKkv9z9g.js.map} +1 -1
  65. package/dist/cdn/chunks/{LogicTagInsertButton-DpyPozop.js → LogicTagInsertButton-CHc1yZ9v.js} +165 -165
  66. package/dist/cdn/chunks/{LogicTagInsertButton-DpyPozop.js.map → LogicTagInsertButton-CHc1yZ9v.js.map} +1 -1
  67. package/dist/cdn/chunks/{MergeTagInput-ERJr7bP_.js → MergeTagInput--qTYfCWk.js} +2 -2
  68. package/dist/cdn/chunks/{MergeTagInput-ERJr7bP_.js.map → MergeTagInput--qTYfCWk.js.map} +1 -1
  69. package/dist/cdn/chunks/{MergeTagModeToggle-n3nvSNeQ.js → MergeTagModeToggle-CdWIGo3Q.js} +5 -5
  70. package/dist/cdn/chunks/{MergeTagModeToggle-n3nvSNeQ.js.map → MergeTagModeToggle-CdWIGo3Q.js.map} +1 -1
  71. package/dist/cdn/chunks/{ParagraphEditor-R2ph_UOo.js → ParagraphEditor-BilbVtrG.js} +17 -17
  72. package/dist/cdn/chunks/{ParagraphEditor-R2ph_UOo.js.map → ParagraphEditor-BilbVtrG.js.map} +1 -1
  73. package/dist/cdn/chunks/{RestoreVersionDialog-C-dwbb7T.js → RestoreVersionDialog-Q-a44Vjv.js} +3 -3
  74. package/dist/cdn/chunks/{RestoreVersionDialog-C-dwbb7T.js.map → RestoreVersionDialog-Q-a44Vjv.js.map} +1 -1
  75. package/dist/cdn/chunks/{RichTextEditorContent-Ch5zeyZ7.js → RichTextEditorContent-Fzuu9pLP.js} +6 -6
  76. package/dist/cdn/chunks/{RichTextEditorContent-Ch5zeyZ7.js.map → RichTextEditorContent-Fzuu9pLP.js.map} +1 -1
  77. package/dist/cdn/chunks/{SaveBlockDialog-C_BPjVv6.js → SaveBlockDialog-DeW_M6kh.js} +9 -9
  78. package/dist/cdn/chunks/{SaveBlockDialog-C_BPjVv6.js.map → SaveBlockDialog-DeW_M6kh.js.map} +1 -1
  79. package/dist/cdn/chunks/{SavedBlocksBrowserModal-CrrGEfFb.js → SavedBlocksBrowserModal-BzQWibKG.js} +6 -6
  80. package/dist/cdn/chunks/{SavedBlocksBrowserModal-CrrGEfFb.js.map → SavedBlocksBrowserModal-BzQWibKG.js.map} +1 -1
  81. package/dist/cdn/chunks/{SavedBlocksPanels-DfTaMPAr.js → SavedBlocksPanels-Ce1RePjk.js} +2 -2
  82. package/dist/cdn/chunks/{SavedBlocksPanels-DfTaMPAr.js.map → SavedBlocksPanels-Ce1RePjk.js.map} +1 -1
  83. package/dist/cdn/chunks/{SavedBlocksPickBar-DziwHYSu.js → SavedBlocksPickBar-DIDl6xfy.js} +3 -3
  84. package/dist/cdn/chunks/{SavedBlocksPickBar-DziwHYSu.js.map → SavedBlocksPickBar-DIDl6xfy.js.map} +1 -1
  85. package/dist/cdn/chunks/{TemplateScoringPanel-CR6RG6dZ.js → TemplateScoringPanel-d_Ppowsq.js} +49 -49
  86. package/dist/cdn/chunks/{TemplateScoringPanel-CR6RG6dZ.js.map → TemplateScoringPanel-d_Ppowsq.js.map} +1 -1
  87. package/dist/cdn/chunks/{TemplateSettings-DjXiiiNr.js → TemplateSettings-Dr5OJ0Gi.js} +8 -8
  88. package/dist/cdn/chunks/{TemplateSettings-DjXiiiNr.js.map → TemplateSettings-Dr5OJ0Gi.js.map} +1 -1
  89. package/dist/cdn/chunks/{TestEmailModal-DId9Og-N.js → TestEmailModal-CWTmaJuT.js} +56 -51
  90. package/dist/cdn/chunks/TestEmailModal-CWTmaJuT.js.map +1 -0
  91. package/dist/cdn/chunks/{TestEmailPanel-B8LwXmeX.js → TestEmailPanel-BdYsVHXA.js} +2 -2
  92. package/dist/cdn/chunks/{TestEmailPanel-B8LwXmeX.js.map → TestEmailPanel-BdYsVHXA.js.map} +1 -1
  93. package/dist/cdn/chunks/{TitleEditor-C7KMzX1e.js → TitleEditor-pJeeZ-PX.js} +9 -9
  94. package/dist/cdn/chunks/{TitleEditor-C7KMzX1e.js.map → TitleEditor-pJeeZ-PX.js.map} +1 -1
  95. package/dist/cdn/chunks/{ToggleSwitch-CDy8OfcB.js → ToggleSwitch-0dGCYnRY.js} +2 -2
  96. package/dist/cdn/chunks/{ToggleSwitch-CDy8OfcB.js.map → ToggleSwitch-0dGCYnRY.js.map} +1 -1
  97. package/dist/cdn/chunks/{Toolbar-DqFhWxgW.js → Toolbar-BsiHW9gY.js} +493 -478
  98. package/dist/cdn/chunks/{Toolbar-DqFhWxgW.js.map → Toolbar-BsiHW9gY.js.map} +1 -1
  99. package/dist/cdn/chunks/{TplModal-BKqDFLq3.js → TplModal-CEuGD7pt.js} +4 -4
  100. package/dist/cdn/chunks/{TplModal-BKqDFLq3.js.map → TplModal-CEuGD7pt.js.map} +1 -1
  101. package/dist/cdn/chunks/{VersionHistoryMenu-Dij1pTEb.js → VersionHistoryMenu-B3-hNu9c.js} +3 -3
  102. package/dist/cdn/chunks/{VersionHistoryMenu-Dij1pTEb.js.map → VersionHistoryMenu-B3-hNu9c.js.map} +1 -1
  103. package/dist/cdn/chunks/{VersionHistoryPanels-DcCFFDK6.js → VersionHistoryPanels-C1yck5gT.js} +2 -2
  104. package/dist/cdn/chunks/{VersionHistoryPanels-DcCFFDK6.js.map → VersionHistoryPanels-C1yck5gT.js.map} +1 -1
  105. package/dist/cdn/chunks/{VersionPreviewBanner-Df3FVlig.js → VersionPreviewBanner-PzVQSBJE.js} +2 -2
  106. package/dist/cdn/chunks/{VersionPreviewBanner-Df3FVlig.js.map → VersionPreviewBanner-PzVQSBJE.js.map} +1 -1
  107. package/dist/cdn/chunks/WrapperBlock-DGkbmj06.js +36 -0
  108. package/dist/cdn/chunks/WrapperBlock-DGkbmj06.js.map +1 -0
  109. package/dist/cdn/chunks/{ca-Bqeygp1_.js → ca-Ckgw9yd0.js} +2 -1
  110. package/dist/cdn/chunks/ca-Ckgw9yd0.js.map +1 -0
  111. package/dist/cdn/chunks/{cloud-eaXyxZ8l.js → cloud-CIT4yPp4.js} +2 -2
  112. package/dist/cdn/chunks/{cloud-eaXyxZ8l.js.map → cloud-CIT4yPp4.js.map} +1 -1
  113. package/dist/cdn/chunks/{createCloudRuntime-D5bXzcTe.js → createCloudRuntime-COUxbPvd.js} +49 -40
  114. package/dist/cdn/chunks/createCloudRuntime-COUxbPvd.js.map +1 -0
  115. package/dist/cdn/chunks/{de-CY6SlqBx.js → de-D4dweQw8.js} +2 -1
  116. package/dist/cdn/chunks/de-D4dweQw8.js.map +1 -0
  117. package/dist/{en-8V-2kDcp.js → cdn/chunks/en-VE7R7NyL.js} +3 -0
  118. package/dist/cdn/chunks/en-VE7R7NyL.js.map +1 -0
  119. package/dist/{es-Cmn1rT3l.js → cdn/chunks/es-B9OhP8H3.js} +3 -0
  120. package/dist/cdn/chunks/es-B9OhP8H3.js.map +1 -0
  121. package/dist/cdn/chunks/{extensions-Bhu8UEE5.js → extensions-CafoGF65.js} +5 -5
  122. package/dist/cdn/chunks/{extensions-Bhu8UEE5.js.map → extensions-CafoGF65.js.map} +1 -1
  123. package/dist/cdn/chunks/{fr-2yDa4zXM.js → fr-wrXhIi00.js} +2 -1
  124. package/dist/cdn/chunks/fr-wrXhIi00.js.map +1 -0
  125. package/dist/cdn/chunks/keys-DCWeHkSF.js +12 -0
  126. package/dist/cdn/chunks/keys-DCWeHkSF.js.map +1 -0
  127. package/dist/{nl-Bzk2zRI8.js → cdn/chunks/nl-DeFatKJe.js} +3 -0
  128. package/dist/cdn/chunks/nl-DeFatKJe.js.map +1 -0
  129. package/dist/cdn/chunks/preRenderCustomBlocks-Dpj-_cOj.js +21 -0
  130. package/dist/cdn/chunks/preRenderCustomBlocks-Dpj-_cOj.js.map +1 -0
  131. package/dist/cdn/chunks/{pt-BR-DqtSCTUi.js → pt-BR-Bh1J8ey6.js} +2 -1
  132. package/dist/cdn/chunks/pt-BR-Bh1J8ey6.js.map +1 -0
  133. package/dist/cdn/chunks/{socialIcons-9VrG8X3m.js → socialIcons-BvYNMn1G.js} +264 -258
  134. package/dist/cdn/chunks/socialIcons-BvYNMn1G.js.map +1 -0
  135. package/dist/cdn/chunks/{src-CqYYKcCI.js → src-CbGCES0u.js} +175 -168
  136. package/dist/cdn/chunks/src-CbGCES0u.js.map +1 -0
  137. package/dist/cdn/chunks/{src-CaNsA_WX.js → src-Cnc5E71L.js} +258 -247
  138. package/dist/cdn/chunks/src-Cnc5E71L.js.map +1 -0
  139. package/dist/cdn/chunks/{src-Dwgq7hf4.js → src-DveVYoWS.js} +281 -181
  140. package/dist/cdn/chunks/src-DveVYoWS.js.map +1 -0
  141. package/dist/cdn/chunks/{useCloudI18n-C09JcFS0.js → useCloudI18n-CrjWbpbu.js} +2 -2
  142. package/dist/cdn/chunks/{useCloudI18n-C09JcFS0.js.map → useCloudI18n-CrjWbpbu.js.map} +1 -1
  143. package/dist/cdn/chunks/{useEditorCore-CXYI14ux.js → useEditorCore-CQraU2s_.js} +421 -408
  144. package/dist/cdn/chunks/useEditorCore-CQraU2s_.js.map +1 -0
  145. package/dist/cdn/chunks/{useEditorRoot-DFx2fXJP.js → useEditorRoot-CshefZLP.js} +2 -2
  146. package/dist/cdn/chunks/{useEditorRoot-DFx2fXJP.js.map → useEditorRoot-CshefZLP.js.map} +1 -1
  147. package/dist/cdn/chunks/{useI18n-DTZ9sIcv.js → useI18n-CyO_Nmca.js} +2 -2
  148. package/dist/cdn/chunks/{useI18n-DTZ9sIcv.js.map → useI18n-CyO_Nmca.js.map} +1 -1
  149. package/dist/cdn/chunks/{useLogicTag-E2V0Xdcb.js → useLogicTag-DF7-l66G.js} +4 -4
  150. package/dist/cdn/chunks/{useLogicTag-E2V0Xdcb.js.map → useLogicTag-DF7-l66G.js.map} +1 -1
  151. package/dist/cdn/chunks/{useMergeTag-BE8oDoha.js → useMergeTag-DbIHw4NG.js} +4 -4
  152. package/dist/cdn/chunks/{useMergeTag-BE8oDoha.js.map → useMergeTag-DbIHw4NG.js.map} +1 -1
  153. package/dist/cdn/chunks/{usePopoverPosition-gB9q-ql7.js → usePopoverPosition-BJRvAb-h.js} +2 -2
  154. package/dist/cdn/chunks/{usePopoverPosition-gB9q-ql7.js.map → usePopoverPosition-BJRvAb-h.js.map} +1 -1
  155. package/dist/cdn/chunks/{useScrollToBlock-CtTXwmiU.js → useScrollToBlock-DgHZJvID.js} +2 -2
  156. package/dist/cdn/chunks/{useScrollToBlock-CtTXwmiU.js.map → useScrollToBlock-DgHZJvID.js.map} +1 -1
  157. package/dist/cdn/editor.css +1 -1
  158. package/dist/cdn/editor.js +484 -460
  159. package/dist/cdn/editor.js.map +1 -1
  160. package/dist/{cloud-C9xWZXhg.js → cloud-DsqqUfzh.js} +1 -1
  161. package/dist/{createCloudRuntime-BGd5--Bq.js → createCloudRuntime-iLflkYzP.js} +47 -38
  162. package/dist/{de-CY6SlqBx.js → de-D4dweQw8.js} +1 -0
  163. package/dist/{dist-tGkjkX-v.js → dist-DbUZvK04.js} +277 -176
  164. package/dist/{cdn/chunks/en-8V-2kDcp.js → en-VE7R7NyL.js} +1 -2
  165. package/dist/{cdn/chunks/es-Cmn1rT3l.js → es-B9OhP8H3.js} +1 -2
  166. package/dist/{extensions-DRN-elXT.js → extensions-DDhjuVKy.js} +4 -4
  167. package/dist/{fr-2yDa4zXM.js → fr-wrXhIi00.js} +1 -0
  168. package/dist/index.d.ts +65 -0
  169. package/dist/keys-CDqfZIRt.js +10 -0
  170. package/dist/{cdn/chunks/nl-Bzk2zRI8.js → nl-DeFatKJe.js} +1 -2
  171. package/dist/preRenderCustomBlocks-BBSqQgke.js +19 -0
  172. package/dist/{pt-BR-DqtSCTUi.js → pt-BR-Bh1J8ey6.js} +1 -0
  173. package/dist/{socialIcons-DkGcpEwC.js → socialIcons-O7PZCW2P.js} +245 -239
  174. package/dist/style.css +1 -1
  175. package/dist/templatical-editor.js +520 -496
  176. package/dist/{useCloudI18n-D1iedlP3.js → useCloudI18n-DpEsiLeR.js} +1 -1
  177. package/dist/{useEditorCore-BUVbQgwb.js → useEditorCore-Dt_VWNqX.js} +817 -804
  178. package/dist/{useEditorRoot-BOxn5EfP.js → useEditorRoot-CkB_5d0h.js} +1 -1
  179. package/dist/{useI18n-Ds_-druD.js → useI18n-B_CdcBwG.js} +1 -1
  180. package/dist/{useLogicTag-DoHfc08B.js → useLogicTag-D9pvgxQR.js} +3 -3
  181. package/dist/{useMergeTag-DXyum3kG.js → useMergeTag-BaVFPdlq.js} +5 -5
  182. package/dist/{usePopoverPosition-Du-Ah8E9.js → usePopoverPosition-DH7z3Ghm.js} +1 -1
  183. package/dist/{useScrollToBlock-DXQYPCnJ.js → useScrollToBlock-Dj4v3rxr.js} +1 -1
  184. package/package.json +7 -7
  185. package/dist/BlockPreviewCanvas-BMC16_QU.js +0 -131
  186. package/dist/cdn/chunks/BlockPreviewCanvas-DeS7Sa--.js +0 -133
  187. package/dist/cdn/chunks/BlockPreviewCanvas-DeS7Sa--.js.map +0 -1
  188. package/dist/cdn/chunks/TestEmailModal-DId9Og-N.js.map +0 -1
  189. package/dist/cdn/chunks/ca-Bqeygp1_.js.map +0 -1
  190. package/dist/cdn/chunks/createCloudRuntime-D5bXzcTe.js.map +0 -1
  191. package/dist/cdn/chunks/de-CY6SlqBx.js.map +0 -1
  192. package/dist/cdn/chunks/emailFrameWidth-BmFCN2dp.js +0 -8
  193. package/dist/cdn/chunks/emailFrameWidth-BmFCN2dp.js.map +0 -1
  194. package/dist/cdn/chunks/en-8V-2kDcp.js.map +0 -1
  195. package/dist/cdn/chunks/es-Cmn1rT3l.js.map +0 -1
  196. package/dist/cdn/chunks/fr-2yDa4zXM.js.map +0 -1
  197. package/dist/cdn/chunks/keys-dJbD1QPs.js +0 -12
  198. package/dist/cdn/chunks/keys-dJbD1QPs.js.map +0 -1
  199. package/dist/cdn/chunks/nl-Bzk2zRI8.js.map +0 -1
  200. package/dist/cdn/chunks/preRenderCustomBlocks-Bdpiiw4A.js +0 -23
  201. package/dist/cdn/chunks/preRenderCustomBlocks-Bdpiiw4A.js.map +0 -1
  202. package/dist/cdn/chunks/pt-BR-DqtSCTUi.js.map +0 -1
  203. package/dist/cdn/chunks/socialIcons-9VrG8X3m.js.map +0 -1
  204. package/dist/cdn/chunks/src-CaNsA_WX.js.map +0 -1
  205. package/dist/cdn/chunks/src-CqYYKcCI.js.map +0 -1
  206. package/dist/cdn/chunks/src-Dwgq7hf4.js.map +0 -1
  207. package/dist/cdn/chunks/useEditorCore-CXYI14ux.js.map +0 -1
  208. package/dist/emailFrameWidth-BmFCN2dp.js +0 -6
  209. package/dist/keys-BdoSgsz9.js +0 -10
  210. package/dist/preRenderCustomBlocks-DFXH54Zr.js +0 -21
@@ -1,30 +1,30 @@
1
1
  import { B as e, E as t, F as n, H as r, I as i, M as a, N as o, P as s, Q as c, R as l, S as u, U as d, Y as f, _ as p, at as m, b as h, c as g, ct as _, f as v, g as y, h as b, j as x, k as S, l as C, lt as w, m as T, n as E, o as D, p as O, r as k, s as A, t as j, u as M, ut as N, w as P, x as F, y as I } from "./chunks/draggable-IB4x6w2O.js";
2
- import { R as L, S as R, T as z, a as B, b as V, d as H, h as U, i as W, o as G, r as K, x as q, z as J } from "./chunks/src-Dwgq7hf4.js";
3
- import { c as Y, d as X, f as ee, l as te, p as Z, s as ne, u as re, x as ie } from "./chunks/socialIcons-9VrG8X3m.js";
4
- import { _ as ae, d as oe, g as se } from "./chunks/dist-BRZhN8qJ.js";
5
- import { a as ce } from "./chunks/dist-CXB2_kBa.js";
6
- import { A as le, D as ue, E as de, M as fe, O as pe, T as me, _ as he, a as ge, c as _e, d as ve, f as ye, g as be, h as xe, i as Se, j as Ce, k as we, m as Te, n as Ee, o as De, p as Oe, r as ke, s as Ae, t as je, u as Me, v as Ne, w as Pe, x as Fe } from "./chunks/useEditorCore-CXYI14ux.js";
7
- import { B as Ie, G as Le, H as Re, J as ze, K as Be, M as Ve, N as He, R as Ue, T as We, W as Ge, X as Ke, Y as qe, Z as Je, f as Ye, g as Xe, j as Ze, k as Qe, l as $e, m as et, o as tt, p as nt, r as rt, s as it } from "./chunks/keys-dJbD1QPs.js";
8
- import { t as Q } from "./chunks/useI18n-DTZ9sIcv.js";
9
- import { t as at } from "./chunks/logger-ByvdoAwq.js";
10
- import { t as ot } from "./chunks/templateSettingsFields-YCFVBVYh.js";
11
- import { $ as st, E as ct, F as lt, I as ut, It as dt, Lt as ft, M as pt, Mt as mt, N as ht, Q as gt, T as _t, Tt as vt, Y as yt, b as bt, it as xt, j as St, lt as Ct, n as wt, pt as Tt, q as Et, st as Dt, tt as Ot, wt as kt } from "./chunks/icons-BKkJ-5xF.js";
12
- import { t as At } from "./chunks/_plugin-vue_export-helper-B3ysoDQm.js";
13
- import { t as jt } from "./chunks/useCloudI18n-C09JcFS0.js";
14
- import { C as Mt, S as Nt, p as Pt, y as Ft } from "./chunks/styleConstants-C_YAPdQS.js";
15
- import { n as It, t as Lt } from "./chunks/emailFrameWidth-BmFCN2dp.js";
16
- import { t as Rt } from "./chunks/readableTextColor-f8Kykfnh.js";
17
- import { t as zt } from "./chunks/blockTypeIcons-raBjStuv.js";
18
- import { t as Bt } from "./chunks/useScrollToBlock-CtTXwmiU.js";
19
- import { n as Vt, t as Ht } from "./chunks/MergeTagModeToggle-n3nvSNeQ.js";
20
- import { t as Ut } from "./chunks/formatAbsoluteDateTime-DMmop3C-.js";
21
- import { t as Wt } from "./chunks/formatRelativeTime-CtUU-QZ8.js";
22
- import { t as Gt } from "./chunks/TplModal-BKqDFLq3.js";
23
- import { t as Kt } from "./chunks/preRenderCustomBlocks-Bdpiiw4A.js";
2
+ import { A as L, C as R, D as z, E as B, F as V, G as H, K as U, L as W, S as G, T as K, U as q, a as J, b as Y, d as ee, h as te, i as ne, it as X, o as re, r as ie, ut as ae, w as oe, x as se } from "./chunks/src-DveVYoWS.js";
3
+ import { c as ce, d as le, f as ue, l as de, p as fe, s as pe, u as me, x as he } from "./chunks/socialIcons-BvYNMn1G.js";
4
+ import { _ as ge, d as _e, g as ve } from "./chunks/dist-BRZhN8qJ.js";
5
+ import { a as ye } from "./chunks/dist-CXB2_kBa.js";
6
+ import { A as be, D as xe, E as Se, M as Ce, N as we, O as Te, S as Ee, T as De, _ as Oe, a as ke, c as Ae, f as je, g as Me, h as Ne, i as Pe, j as Fe, k as Ie, m as Le, n as Re, o as ze, p as Be, r as Ve, s as He, t as Ue, u as We, v as Ge, y as Ke } from "./chunks/useEditorCore-CQraU2s_.js";
7
+ import { $ as qe, A as Je, E as Ye, J as Xe, K as Ze, M as Qe, N as $e, P as et, Q as tt, U as nt, V as rt, X as it, Z as at, f as ot, g as st, l as ct, m as lt, o as ut, p as dt, q as ft, r as pt, s as mt, z as ht } from "./chunks/keys-DCWeHkSF.js";
8
+ import { t as Z } from "./chunks/useI18n-CyO_Nmca.js";
9
+ import { t as gt } from "./chunks/logger-ByvdoAwq.js";
10
+ import { t as _t } from "./chunks/templateSettingsFields-YCFVBVYh.js";
11
+ import { $ as vt, E as yt, F as bt, I as xt, It as St, Lt as Ct, M as wt, Mt as Tt, N as Et, Q as Dt, T as Ot, Tt as kt, Y as At, b as jt, it as Mt, j as Nt, lt as Pt, n as Ft, pt as It, q as Lt, st as Rt, tt as zt, wt as Bt } from "./chunks/icons-BKkJ-5xF.js";
12
+ import { t as Vt } from "./chunks/_plugin-vue_export-helper-B3ysoDQm.js";
13
+ import { t as Ht } from "./chunks/useCloudI18n-CrjWbpbu.js";
14
+ import { C as Ut, S as Wt, p as Gt, y as Kt } from "./chunks/styleConstants-C_YAPdQS.js";
15
+ import { n as qt, r as Jt, t as Yt } from "./chunks/WrapperBlock-DGkbmj06.js";
16
+ import { t as Xt } from "./chunks/readableTextColor-f8Kykfnh.js";
17
+ import { t as Zt } from "./chunks/blockTypeIcons-raBjStuv.js";
18
+ import { t as Qt } from "./chunks/useScrollToBlock-DgHZJvID.js";
19
+ import { n as $t, t as en } from "./chunks/MergeTagModeToggle-CdWIGo3Q.js";
20
+ import { t as tn } from "./chunks/formatAbsoluteDateTime-DMmop3C-.js";
21
+ import { t as nn } from "./chunks/formatRelativeTime-CtUU-QZ8.js";
22
+ import { t as rn } from "./chunks/TplModal-CEuGD7pt.js";
23
+ import { t as an } from "./chunks/preRenderCustomBlocks-Dpj-_cOj.js";
24
24
  //#region src/utils/resolveTemplateDefaults.ts
25
- var qt = /^[a-z]{2,3}(-[a-z0-9]{2,8})*$/i;
26
- function Jt(e) {
27
- let t = e.locale?.trim().replace(/_/g, "-"), n = t && qt.test(t) ? { locale: t } : void 0;
25
+ var on = /^[a-z]{2,3}(-[a-z0-9]{2,8})*$/i;
26
+ function sn(e) {
27
+ let t = e.locale?.trim().replace(/_/g, "-"), n = t && on.test(t) ? { locale: t } : void 0;
28
28
  if (n || e.templateDefaults) return {
29
29
  ...n,
30
30
  ...e.templateDefaults
@@ -32,14 +32,14 @@ function Jt(e) {
32
32
  }
33
33
  //#endregion
34
34
  //#region src/composables/useCommentsFeature.ts
35
- function Yt(t) {
36
- let { provider: n, editor: r } = t, i = te({
35
+ function cn(t) {
36
+ let { provider: n, editor: r } = t, i = de({
37
37
  provider: n,
38
38
  getTemplateId: () => r.state.template?.id ?? null,
39
39
  getUser: () => t.user ?? null,
40
40
  onError: t.onError
41
41
  });
42
- Y({
42
+ ce({
43
43
  comments: i,
44
44
  provider: n,
45
45
  getTemplateId: () => r.state.template?.id ?? null
@@ -92,16 +92,16 @@ function Yt(t) {
92
92
  }
93
93
  //#endregion
94
94
  //#region src/composables/useMediaFeature.ts
95
- function Xt(e) {
95
+ function ln(e) {
96
96
  return e instanceof Error ? e : Error(String(e));
97
97
  }
98
- function Zt(e, t, n) {
98
+ function un(e, t, n) {
99
99
  let r = e.maxFileSize ?? Infinity;
100
100
  if (t.size > r) return /* @__PURE__ */ Error(`Image is too large (${t.size} bytes). Maximum allowed is ${r} bytes.`);
101
101
  let i = e.mimeTypes;
102
102
  return !i || (n && n.length > 0 ? n : Object.keys(i)).some((e) => i[e]?.includes(t.type) ?? !1) ? null : /* @__PURE__ */ Error(`Unsupported image type: ${t.type || "unknown"}.`);
103
103
  }
104
- function Qt(e) {
104
+ function dn(e) {
105
105
  let { provider: t, onRequestMedia: n, getTemplateId: r, onError: i } = e, a = c(!1), o = c(void 0), s = v(() => r?.()), l = v(() => !!n || typeof t?.create == "function"), u = null;
106
106
  function d(e) {
107
107
  a.value = !1, u?.(e), u = null;
@@ -123,7 +123,7 @@ function Qt(e) {
123
123
  if (!t) return null;
124
124
  if (e?.files?.length) {
125
125
  if (typeof t.create != "function") return null;
126
- let n = e.files[0], a = Zt(t, n, e.accept);
126
+ let n = e.files[0], a = un(t, n, e.accept);
127
127
  if (a) return i?.(a), null;
128
128
  let o = r?.();
129
129
  try {
@@ -134,14 +134,14 @@ function Qt(e) {
134
134
  try {
135
135
  t.onCreated?.(e);
136
136
  } catch (e) {
137
- i?.(Xt(e));
137
+ i?.(ln(e));
138
138
  }
139
139
  return {
140
140
  url: e.url,
141
141
  alt: e.alt
142
142
  };
143
143
  } catch (e) {
144
- return i?.(Xt(e)), null;
144
+ return i?.(ln(e)), null;
145
145
  }
146
146
  }
147
147
  return u &&= (u(null), null), o.value = e?.accept, a.value = !0, new Promise((e) => {
@@ -159,8 +159,8 @@ function Qt(e) {
159
159
  }
160
160
  //#endregion
161
161
  //#region src/composables/useSavedBlocksFeature.ts
162
- function $t(t) {
163
- let { provider: n, editor: r } = t, i = Z({
162
+ function fn(t) {
163
+ let { provider: n, editor: r } = t, i = fe({
164
164
  provider: n,
165
165
  onError: t.onError
166
166
  }), a = c(!1), o = c(!1), l = c(!1), u = c(/* @__PURE__ */ new Set()), d = v(() => l.value), f = v(() => u.value.size);
@@ -195,7 +195,7 @@ function $t(t) {
195
195
  }
196
196
  function S(e, t) {
197
197
  for (let n = 0; n < e.content.length; n++) {
198
- let i = q(e.content[n]), a = t === void 0 ? void 0 : t + n;
198
+ let i = B(e.content[n]), a = t === void 0 ? void 0 : t + n;
199
199
  r.addBlock(i, void 0, void 0, a);
200
200
  }
201
201
  o.value = !1;
@@ -204,7 +204,7 @@ function $t(t) {
204
204
  i.load().catch(() => {});
205
205
  }
206
206
  let w = v(() => i.savedBlocks.value.length), T = v(() => t.isAvailable?.() ?? !0);
207
- return s(Re, i), {
207
+ return s(nt, i), {
208
208
  headless: i,
209
209
  isPicking: d,
210
210
  pickedIds: u,
@@ -241,11 +241,11 @@ function $t(t) {
241
241
  }
242
242
  //#endregion
243
243
  //#region src/composables/useTemplatesFeature.ts
244
- var en = 3e3;
245
- function tn(e) {
246
- let { provider: t, editor: n } = e, r = c("idle"), i = c(""), { start: a, stop: o } = ae(() => {
244
+ var pn = 3e3;
245
+ function mn(e) {
246
+ let { provider: t, editor: n } = e, r = c("idle"), i = c(""), { start: a, stop: o } = ge(() => {
247
247
  r.value = "idle";
248
- }, en, { immediate: !1 }), s = v(() => typeof t.create == "function"), l = v(() => typeof t.save == "function"), u = v(() => e.isAvailable?.() ?? !0), d = v(() => n.state.template?.name), f = v(() => {
248
+ }, pn, { immediate: !1 }), s = v(() => typeof t.create == "function"), l = v(() => typeof t.save == "function"), u = v(() => e.isAvailable?.() ?? !0), d = v(() => n.state.template?.name), f = v(() => {
249
249
  let e = n.state.template;
250
250
  return e?.updatedAt ? {
251
251
  iso: e.updatedAt,
@@ -317,7 +317,7 @@ function tn(e) {
317
317
  let t = e.trim();
318
318
  t && t !== n.state.template?.name && (n.setName(t), w("rename"));
319
319
  }
320
- return e.guardUnsavedChanges !== !1 && ce(window, "beforeunload", (e) => {
320
+ return e.guardUnsavedChanges !== !1 && ye(window, "beforeunload", (e) => {
321
321
  n.state.isDirty && (e.preventDefault(), e.returnValue = "");
322
322
  }), {
323
323
  save: _,
@@ -352,17 +352,17 @@ function tn(e) {
352
352
  }
353
353
  //#endregion
354
354
  //#region src/utils/toMjml.ts
355
- async function nn() {
355
+ async function hn() {
356
356
  try {
357
- return await import("./chunks/src-CqYYKcCI.js");
357
+ return await import("./chunks/src-CbGCES0u.js");
358
358
  } catch {
359
359
  return null;
360
360
  }
361
361
  }
362
- async function rn(e) {
363
- let t = await nn();
362
+ async function gn(e) {
363
+ let t = await hn();
364
364
  if (!t) throw Error("[Templatical] toMjml() requires the @templatical/renderer package. Please install it.");
365
- let n = e.getCustomBlockStylesheet, r = e.getFonts?.();
365
+ let n = e.getCustomBlockStylesheet, r = e.getFonts?.(), i = e.getLayout?.();
366
366
  return t.renderToMjml(e.getContent(), {
367
367
  renderCustomBlock: e.renderCustomBlock,
368
368
  ...n ? { getCustomBlockStylesheet: (e) => n(e) } : {},
@@ -370,16 +370,17 @@ async function rn(e) {
370
370
  customFonts: r.customFonts,
371
371
  defaultFallbackFont: r.defaultFallback
372
372
  } : {},
373
- ...e.socialIconsBaseUrl ? { socialIconsBaseUrl: e.socialIconsBaseUrl } : {}
373
+ ...e.socialIconsBaseUrl ? { socialIconsBaseUrl: e.socialIconsBaseUrl } : {},
374
+ ...i ? { layout: i } : {}
374
375
  });
375
376
  }
376
377
  //#endregion
377
378
  //#region src/composables/useTestEmailFeature.ts
378
- var an = 1200;
379
- function on(e) {
379
+ var _n = 1200;
380
+ function vn(e) {
380
381
  return e instanceof Error ? e : Error(String(e));
381
382
  }
382
- function sn(e) {
383
+ function yn(e) {
383
384
  let { provider: t } = e, n = c(!1), r = c(!1), i = c(!1), a = c(null), o = null, s = !1;
384
385
  function l() {
385
386
  o !== null && (clearTimeout(o), o = null);
@@ -401,8 +402,8 @@ function sn(e) {
401
402
  if (t.includeMjml && e.renderMjml) try {
402
403
  return await e.renderMjml();
403
404
  } catch (t) {
404
- if ((e.usesLocalRenderer?.() ?? !0) && await nn() === null) {
405
- s || (s = !0, at.warn("testEmail.includeMjml is set but @templatical/renderer is not installed — sending the template as JSON only. Install it to receive `payload.mjml`."));
405
+ if ((e.usesLocalRenderer?.() ?? !0) && await hn() === null) {
406
+ s || (s = !0, gt.warn("testEmail.includeMjml is set but @templatical/renderer is not installed — sending the template as JSON only. Install it to receive `payload.mjml`."));
406
407
  return;
407
408
  }
408
409
  throw t;
@@ -412,7 +413,7 @@ function sn(e) {
412
413
  try {
413
414
  t.onSent?.(n);
414
415
  } catch (t) {
415
- e.onError?.(on(t));
416
+ e.onError?.(vn(t));
416
417
  }
417
418
  }
418
419
  async function y(n) {
@@ -430,9 +431,9 @@ function sn(e) {
430
431
  ...r === void 0 ? {} : { mjml: r },
431
432
  ...s === void 0 ? {} : { allowedRecipients: s }
432
433
  };
433
- await t.send(a), i.value = !0, o = setTimeout(h, an), _(a);
434
+ await t.send(a), i.value = !0, o = setTimeout(h, _n), _(a);
434
435
  } catch (t) {
435
- let n = on(t);
436
+ let n = vn(t);
436
437
  a.value = {
437
438
  kind: "provider",
438
439
  message: n.message
@@ -460,8 +461,8 @@ function sn(e) {
460
461
  }
461
462
  //#endregion
462
463
  //#region src/composables/useVersionHistoryFeature.ts
463
- function cn(e) {
464
- let { provider: t, editor: n, history: r, conditionPreview: i, autoSave: a } = e, o = re({
464
+ function bn(e) {
465
+ let { provider: t, editor: n, history: r, conditionPreview: i, autoSave: a } = e, o = me({
465
466
  provider: t,
466
467
  getTemplateId: () => n.state.template?.id ?? null,
467
468
  onError: e.onError
@@ -487,7 +488,7 @@ function cn(e) {
487
488
  return;
488
489
  }
489
490
  let t = await o.resolveContent(e);
490
- p || (l.value = V(n.content.value), a?.pause(), s.value = e, n.setContent(t, !1));
491
+ p || (l.value = K(n.content.value), a?.pause(), s.value = e, n.setContent(t, !1));
491
492
  }
492
493
  async function D() {
493
494
  if (s.value) {
@@ -571,12 +572,12 @@ function cn(e) {
571
572
  }
572
573
  //#endregion
573
574
  //#region src/types/auto-save.ts
574
- function ln(e, t) {
575
+ function xn(e, t) {
575
576
  return e ?? t;
576
577
  }
577
578
  //#endregion
578
579
  //#region src/utils/resolveLintOptions.ts
579
- function un(e) {
580
+ function Sn(e) {
580
581
  return {
581
582
  ...e.lint,
582
583
  locale: e.locale
@@ -584,13 +585,13 @@ function un(e) {
584
585
  }
585
586
  //#endregion
586
587
  //#region src/utils/normalizeMergeTagMarkup.ts
587
- function dn(e) {
588
+ function Cn(e) {
588
589
  let t = e.flags.includes("g") ? e.flags : `${e.flags}g`;
589
590
  return new RegExp(e.source, t);
590
591
  }
591
- function fn(e, t, n) {
592
+ function wn(e, t, n) {
592
593
  let r = [], i = (t, n, i) => {
593
- let a = dn(t), o = a.exec(e);
594
+ let a = Cn(t), o = a.exec(e);
594
595
  for (; o !== null;) {
595
596
  let t = o.index, s = t + o[0].length;
596
597
  o[0].length === 0 ? a.lastIndex++ : r.some((e) => t < e.end && s > e.start) || r.push({
@@ -602,9 +603,9 @@ function fn(e, t, n) {
602
603
  }), o = a.exec(e);
603
604
  }
604
605
  };
605
- return i(n.logic, "data-logic-merge-tag", (e) => B(e, n)), i(n.value, "data-merge-tag", (e) => G(e, t)), r.sort((e, t) => e.start - t.start);
606
+ return i(n.logic, "data-logic-merge-tag", (e) => J(e, n)), i(n.value, "data-merge-tag", (e) => re(e, t)), r.sort((e, t) => e.start - t.start);
606
607
  }
607
- function pn(e) {
608
+ function Tn(e) {
608
609
  let t = e.createTreeWalker(e.body, NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_TEXT, { acceptNode(e) {
609
610
  if (e.nodeType !== 1) return NodeFilter.FILTER_ACCEPT;
610
611
  let t = e;
@@ -613,11 +614,11 @@ function pn(e) {
613
614
  for (; r !== null;) n.push(r), r = t.nextNode();
614
615
  return n;
615
616
  }
616
- function mn(e, t, n) {
617
- if (!e || !W(e, n) || typeof DOMParser > "u") return e;
617
+ function En(e, t, n) {
618
+ if (!e || !ne(e, n) || typeof DOMParser > "u") return e;
618
619
  let r = new DOMParser().parseFromString(`<!doctype html><body>${e}</body>`, "text/html"), i = 0;
619
- for (let e of pn(r)) {
620
- let a = e.data, o = fn(a, t, n);
620
+ for (let e of Tn(r)) {
621
+ let a = e.data, o = wn(a, t, n);
621
622
  if (o.length === 0) continue;
622
623
  let s = r.createDocumentFragment(), c = 0;
623
624
  for (let e of o) {
@@ -629,13 +630,13 @@ function mn(e, t, n) {
629
630
  }
630
631
  return i === 0 ? e : r.body.innerHTML;
631
632
  }
632
- function hn(e, t, n) {
633
+ function Dn(e, t, n) {
633
634
  if (e.type === "section") {
634
635
  if (!Array.isArray(e.children)) return e;
635
636
  let r = !1, i = e.children.map((e) => {
636
637
  if (!Array.isArray(e)) return e;
637
638
  let i = !1, a = e.map((e) => {
638
- let r = hn(e, t, n);
639
+ let r = Dn(e, t, n);
639
640
  return r !== e && (i = !0), r;
640
641
  });
641
642
  return i ? (r = !0, a) : e;
@@ -645,17 +646,28 @@ function hn(e, t, n) {
645
646
  children: i
646
647
  } : e;
647
648
  }
649
+ if (e.type === "wrapper") {
650
+ if (!Array.isArray(e.children)) return e;
651
+ let r = !1, i = e.children.map((e) => {
652
+ let i = Dn(e, t, n);
653
+ return i !== e && (r = !0), i;
654
+ });
655
+ return r ? {
656
+ ...e,
657
+ children: i
658
+ } : e;
659
+ }
648
660
  if (e.type !== "title" && e.type !== "paragraph" || typeof e.content != "string") return e;
649
- let r = mn(e.content, t, n);
661
+ let r = En(e.content, t, n);
650
662
  return r === e.content ? e : {
651
663
  ...e,
652
664
  content: r
653
665
  };
654
666
  }
655
- function gn(e, t, n) {
667
+ function On(e, t, n) {
656
668
  if (!e || !Array.isArray(e.blocks)) return e;
657
669
  let r = !1, i = e.blocks.map((e) => {
658
- let i = hn(e, t, n);
670
+ let i = Dn(e, t, n);
659
671
  return i !== e && (r = !0), i;
660
672
  });
661
673
  return r ? {
@@ -663,10 +675,10 @@ function gn(e, t, n) {
663
675
  blocks: i
664
676
  } : e;
665
677
  }
666
- function _n(e, t) {
667
- return gn(e, t?.tags ?? [], U(t?.syntax));
678
+ function kn(e, t) {
679
+ return On(e, t?.tags ?? [], te(t?.syntax));
668
680
  }
669
- function vn(e, t) {
681
+ function An(e, t) {
670
682
  return {
671
683
  get state() {
672
684
  return e.state;
@@ -674,14 +686,14 @@ function vn(e, t) {
674
686
  get content() {
675
687
  return e.content;
676
688
  },
677
- setContent: (n, r) => e.setContent(_n(n, t), r)
689
+ setContent: (n, r) => e.setContent(kn(n, t), r)
678
690
  };
679
691
  }
680
- function yn(e, t) {
692
+ function jn(e, t) {
681
693
  return {
682
694
  ...e,
683
695
  async load(n) {
684
- let r = await e.load(n), i = _n(r.content, t);
696
+ let r = await e.load(n), i = kn(r.content, t);
685
697
  return i === r.content ? r : {
686
698
  ...r,
687
699
  content: i
@@ -691,30 +703,30 @@ function yn(e, t) {
691
703
  }
692
704
  //#endregion
693
705
  //#region src/components/Canvas.vue?vue&type=script&setup=true&lang.ts
694
- var bn = ["aria-label"], xn = ["lang", "dir"], Sn = {
706
+ var Mn = ["aria-label"], Nn = ["lang", "dir"], Pn = {
695
707
  key: 0,
696
708
  role: "status",
697
709
  "aria-busy": "true",
698
710
  "data-testid": "preview-resolution-loading",
699
711
  class: "tpl:flex tpl:flex-col tpl:gap-3 tpl:p-6"
700
- }, Cn = { class: "tpl:sr-only" }, wn = {
712
+ }, Fn = { class: "tpl:sr-only" }, In = {
701
713
  key: 1,
702
714
  role: "status",
703
715
  "data-testid": "preview-resolution-failed",
704
716
  class: "tpl:mx-6 tpl:mt-4 tpl:rounded-md tpl:px-3 tpl:py-2 tpl:text-xs tpl:text-[var(--tpl-text-muted)] tpl:bg-[var(--tpl-bg-hover)]"
705
- }, Tn = {
717
+ }, Ln = {
706
718
  key: 0,
707
719
  class: "tpl-canvas-empty-content tpl:flex tpl:flex-col tpl:items-center"
708
- }, En = { class: "tpl-canvas-empty-icon tpl:mb-4 tpl:text-[var(--tpl-primary)]" }, Dn = { class: "tpl-canvas-empty-title tpl:m-0 tpl:mb-2 tpl:text-base tpl:font-semibold tpl:text-[var(--tpl-primary)]" }, On = { class: "tpl-canvas-empty-text tpl:m-0 tpl:text-sm tpl:text-[var(--tpl-text-dim)]" }, kn = {
720
+ }, Rn = { class: "tpl-canvas-empty-icon tpl:mb-4 tpl:text-[var(--tpl-primary)]" }, zn = { class: "tpl-canvas-empty-title tpl:m-0 tpl:mb-2 tpl:text-base tpl:font-semibold tpl:text-[var(--tpl-primary)]" }, Bn = { class: "tpl-canvas-empty-text tpl:m-0 tpl:text-sm tpl:text-[var(--tpl-text-dim)]" }, Vn = {
709
721
  key: 0,
710
722
  class: "tpl:m-0 tpl:mt-2 tpl:flex tpl:flex-wrap tpl:items-center tpl:justify-center tpl:gap-x-1 tpl:gap-y-0.5 tpl:text-sm tpl:text-[var(--tpl-text-dim)]"
711
- }, An = {
723
+ }, Hn = {
712
724
  key: 1,
713
725
  class: "tpl:m-0 tpl:mt-4 tpl:flex tpl:flex-wrap tpl:items-center tpl:justify-center tpl:gap-x-1 tpl:gap-y-0.5 tpl:text-sm tpl:text-[var(--tpl-text-dim)]"
714
- }, jn = { class: "tpl:relative" }, Mn = {
726
+ }, Un = { class: "tpl:relative" }, Wn = {
715
727
  class: "tpl:inline-flex tpl:size-3 tpl:items-center tpl:justify-center tpl:rounded-full tpl:text-[10px] tpl:font-bold",
716
728
  style: { "background-color": "color-mix(\n in srgb,\n var(--tpl-bg) 30%,\n transparent\n )" }
717
- }, Nn = /*#__PURE__*/ At(/* @__PURE__ */ u({
729
+ }, Gn = /*#__PURE__*/ Vt(/* @__PURE__ */ u({
718
730
  __name: "Canvas",
719
731
  props: {
720
732
  viewport: {},
@@ -731,22 +743,23 @@ var bn = ["aria-label"], xn = ["lang", "dir"], Sn = {
731
743
  ],
732
744
  setup(e, { emit: i }) {
733
745
  let a = {
734
- section: De,
735
- title: Ae,
736
- paragraph: ye,
737
- image: Te,
738
- button: me,
739
- divider: be,
740
- spacer: Se,
741
- html: xe,
742
- social: ge,
743
- menu: Oe,
744
- table: ke,
745
- video: Ee,
746
- custom: he
747
- }, u = e, f = i, { t: p } = Q(), { t: g } = jt(), x = Je(Xe, "Canvas"), S = t(Ye, null), C = t(it, null), E = t($e, {}), D = t(Ze, null), k = t(Ie, null);
748
- s(Ke, v(() => u.previewMode && (D?.value ?? !1) && !k?.isConfigured));
749
- let P = v(() => (E.plan?.hasFeature("aiGeneration") ?? !1) && (E.ai?.isFeatureEnabled("chat") ?? !1)), F = v(() => (E.plan?.hasFeature("aiGeneration") ?? !1) && (E.ai?.isFeatureEnabled("designToTemplate") ?? !1)), R = t(rt, null), z = v({
746
+ section: ze,
747
+ title: He,
748
+ paragraph: Be,
749
+ image: Ne,
750
+ button: Se,
751
+ divider: Oe,
752
+ spacer: Pe,
753
+ html: Me,
754
+ social: ke,
755
+ menu: Le,
756
+ table: Ve,
757
+ video: Re,
758
+ custom: Ge,
759
+ wrapper: Yt
760
+ }, u = e, f = i, { t: p } = Z(), { t: g } = Ht(), x = qe(st, "Canvas"), S = t(ot, null), C = t(mt, null), E = t(ct, {}), D = t(Qe, null), k = t(rt, null);
761
+ s(tt, v(() => u.previewMode && (D?.value ?? !1) && !k?.isConfigured));
762
+ let P = v(() => (E.plan?.hasFeature("aiGeneration") ?? !1) && (E.ai?.isFeatureEnabled("chat") ?? !1)), F = v(() => (E.plan?.hasFeature("aiGeneration") ?? !1) && (E.ai?.isFeatureEnabled("designToTemplate") ?? !1)), L = t(pt, null), R = v({
750
763
  get: () => u.content.blocks,
751
764
  set: (e) => {
752
765
  x.setContent({
@@ -754,27 +767,27 @@ var bn = ["aria-label"], xn = ["lang", "dir"], Sn = {
754
767
  blocks: e
755
768
  });
756
769
  }
757
- }), B = v(() => It(u.content.settings, u.viewport)), V = v(() => B.value + 192), H = v(() => Me(u.content.settings)), U = v(() => u.content.settings?.locale?.trim() || void 0), W = v(() => L(u.content.settings)), G = v(() => z.value.length === 0 && !u.previewMode), K = c(0), q = v(() => G.value && K.value > 0);
770
+ }), z = v(() => Jt(u.content.settings, u.viewport)), B = v(() => z.value + 192), V = v(() => We(u.content.settings)), U = v(() => u.content.settings?.locale?.trim() || void 0), W = v(() => H(u.content.settings)), G = v(() => R.value.length === 0 && !u.previewMode), K = c(0), q = v(() => G.value && K.value > 0);
758
771
  function J() {
759
772
  G.value && (K.value += 1);
760
773
  }
761
774
  function Y() {
762
775
  G.value && (K.value = Math.max(0, K.value - 1));
763
776
  }
764
- function X() {
777
+ function ee() {
765
778
  K.value = 0;
766
779
  }
767
- function ee(e) {
780
+ function te(e) {
768
781
  u.previewMode || E.savedBlocks?.isPicking.value || e.target === e.currentTarget && f("select-block", null);
769
782
  }
770
- function te(e) {
771
- return ve(e, C, a);
783
+ function ne(e) {
784
+ return je(e, C, a);
772
785
  }
773
- function Z(e) {
786
+ function X(e) {
774
787
  return u.lockedBlocks?.get(e) ?? null;
775
788
  }
776
- function ne(e) {
777
- if (u.previewMode || Z(e)) return;
789
+ function re(e) {
790
+ if (u.previewMode || X(e)) return;
778
791
  let t = E.savedBlocks;
779
792
  if (t?.isPicking.value) {
780
793
  t.togglePick(e);
@@ -782,11 +795,11 @@ var bn = ["aria-label"], xn = ["lang", "dir"], Sn = {
782
795
  }
783
796
  f("select-block", e);
784
797
  }
785
- function re(e) {
798
+ function ie(e) {
786
799
  return E.savedBlocks?.isPicked(e) ?? !1;
787
800
  }
788
- let ie = v(() => E.savedBlocks?.isPicking.value === !0);
789
- function ae(e, t) {
801
+ let ae = v(() => E.savedBlocks?.isPicking.value === !0);
802
+ function oe(e, t) {
790
803
  e.type === "custom" && x.updateBlock(e.id, {
791
804
  fieldValues: t.fieldValues,
792
805
  dataSourceFetched: t.dataSourceFetched
@@ -795,9 +808,9 @@ var bn = ["aria-label"], xn = ["lang", "dir"], Sn = {
795
808
  return (t, i) => (o(), y("div", {
796
809
  class: "tpl-canvas-stage tpl:relative tpl:flex tpl:justify-center tpl:rounded-lg",
797
810
  style: w({
798
- width: `${V.value}px`,
811
+ width: `${B.value}px`,
799
812
  boxShadow: e.darkMode ? "none" : "var(--tpl-shadow-xl)",
800
- transition: m(Lt)
813
+ transition: m(qt)
801
814
  })
802
815
  }, [O("div", {
803
816
  class: "tpl-canvas-bg tpl:absolute tpl:inset-0 tpl:rounded-lg tpl:pointer-events-none",
@@ -812,8 +825,8 @@ var bn = ["aria-label"], xn = ["lang", "dir"], Sn = {
812
825
  "aria-label": m(p).landmarks.canvas,
813
826
  class: "tpl-canvas-wrapper tpl:relative",
814
827
  style: w({
815
- width: `${B.value}px`,
816
- transition: m(Lt)
828
+ width: `${z.value}px`,
829
+ transition: m(qt)
817
830
  })
818
831
  }, [O("div", {
819
832
  class: _(["tpl-canvas tpl:relative tpl:rounded-lg", {
@@ -822,15 +835,15 @@ var bn = ["aria-label"], xn = ["lang", "dir"], Sn = {
822
835
  }]),
823
836
  lang: U.value,
824
837
  dir: W.value,
825
- style: w(H.value),
826
- onClick: ee
827
- }, [m(k)?.isInitialResolve.value ? (o(), y("div", Sn, [O("span", Cn, N(m(p).previewResolution.resolving), 1), (o(), y(M, null, n(3, (e) => O("div", {
838
+ style: w(V.value),
839
+ onClick: te
840
+ }, [m(k)?.isInitialResolve.value ? (o(), y("div", Pn, [O("span", Fn, N(m(p).previewResolution.resolving), 1), (o(), y(M, null, n(3, (e) => O("div", {
828
841
  key: e,
829
842
  "aria-hidden": "true",
830
843
  class: "tpl-pulse tpl:h-16 tpl:rounded-md tpl:bg-[var(--tpl-bg-hover)]"
831
- })), 64))])) : m(k)?.hasFailed.value ? (o(), y("p", wn, N(m(p).previewResolution.failed), 1)) : b("", !0), d(h(m(j), {
832
- modelValue: z.value,
833
- "onUpdate:modelValue": i[2] ||= (e) => z.value = e,
844
+ })), 64))])) : m(k)?.hasFailed.value ? (o(), y("p", In, N(m(p).previewResolution.failed), 1)) : b("", !0), d(h(m(j), {
845
+ modelValue: R.value,
846
+ "onUpdate:modelValue": i[2] ||= (e) => R.value = e,
834
847
  group: "blocks",
835
848
  animation: 150,
836
849
  "ghost-class": "tpl-ghost",
@@ -849,65 +862,70 @@ var bn = ["aria-label"], xn = ["lang", "dir"], Sn = {
849
862
  ]),
850
863
  onDragenter: J,
851
864
  onDragleave: Y,
852
- onDrop: X
865
+ onDrop: ee
853
866
  }, {
854
- default: r(() => [G.value ? (o(), y("div", Tn, [
855
- O("div", En, [h(m(_t), {
867
+ default: r(() => [G.value ? (o(), y("div", Ln, [
868
+ O("div", Rn, [h(m(Ot), {
856
869
  size: 48,
857
870
  "stroke-width": 1
858
871
  })]),
859
- O("p", Dn, N(m(p).canvas.noBlocks), 1),
860
- O("p", On, N(m(p).canvas.dragHint), 1),
861
- P.value && m(g) ? (o(), y("p", kn, [
872
+ O("p", zn, N(m(p).canvas.noBlocks), 1),
873
+ O("p", Bn, N(m(p).canvas.dragHint), 1),
874
+ P.value && m(g) ? (o(), y("p", Vn, [
862
875
  I(N(m(p).canvas.aiHintChat) + " ", 1),
863
876
  O("button", {
864
877
  class: "tpl:inline-flex tpl:shrink-0 tpl:cursor-pointer tpl:items-center tpl:gap-1 tpl:whitespace-nowrap tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:px-2 tpl:py-0.5 tpl:text-sm tpl:font-semibold tpl:transition-colors tpl:bg-[var(--tpl-primary-light)] tpl:text-[var(--tpl-primary-hover)]",
865
878
  onClick: i[0] ||= (e) => f("open-ai-chat")
866
- }, [h(m(ct), {
879
+ }, [h(m(yt), {
867
880
  size: 14,
868
881
  "stroke-width": 2
869
882
  }), I(" " + N(m(g).aiMenu.aiAssistant), 1)]),
870
883
  I(" " + N(m(p).canvas.aiHintChatSuffix), 1)
871
884
  ])) : b("", !0),
872
- F.value && m(g) ? (o(), y("p", An, [
885
+ F.value && m(g) ? (o(), y("p", Hn, [
873
886
  I(N(m(p).canvas.aiHintDesign) + " ", 1),
874
887
  O("button", {
875
888
  class: "tpl:inline-flex tpl:shrink-0 tpl:cursor-pointer tpl:items-center tpl:gap-1 tpl:whitespace-nowrap tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:px-2 tpl:py-0.5 tpl:text-sm tpl:font-semibold tpl:transition-colors tpl:bg-[var(--tpl-primary-light)] tpl:text-[var(--tpl-primary-hover)]",
876
889
  onClick: i[1] ||= (e) => f("open-design-reference")
877
- }, [h(m(Tt), {
890
+ }, [h(m(It), {
878
891
  size: 14,
879
892
  "stroke-width": 2
880
893
  }), I(" " + N(m(g).aiMenu.designToTemplate), 1)]),
881
894
  I(" " + N(m(p).canvas.aiHintDesignSuffix), 1)
882
895
  ])) : b("", !0)
883
- ])) : b("", !0), (o(!0), y(M, null, n(z.value, (t) => d((o(), y("div", {
896
+ ])) : b("", !0), (o(!0), y(M, null, n(R.value, (t) => d((o(), y("div", {
884
897
  key: t.id,
885
898
  class: "tpl-block-item"
886
- }, [O("div", jn, [Z(t.id) ? (o(), y("div", {
899
+ }, [O("div", Un, [X(t.id) ? (o(), y("div", {
887
900
  key: 0,
888
901
  class: "tpl-collab-lock tpl:pointer-events-none tpl:absolute tpl:inset-0 tpl:z-[4] tpl:rounded-sm",
889
902
  style: w({
890
- outline: `2px solid ${Z(t.id).color}`,
903
+ outline: `2px solid ${X(t.id).color}`,
891
904
  outlineOffset: "-1px"
892
905
  })
893
906
  }, [O("span", {
894
907
  class: "tpl:absolute tpl:-top-0.5 tpl:left-1/2 tpl:z-[5] tpl:flex tpl:-translate-x-1/2 tpl:-translate-y-full tpl:items-center tpl:gap-1 tpl:rounded-full tpl:px-2 tpl:py-0.5 tpl:text-[10px] tpl:font-medium tpl:whitespace-nowrap",
895
908
  style: w({
896
- backgroundColor: Z(t.id).color,
897
- color: m(Rt)(Z(t.id).color)
909
+ backgroundColor: X(t.id).color,
910
+ color: m(Xt)(X(t.id).color)
898
911
  })
899
- }, [O("span", Mn, N(Z(t.id).name.charAt(0)), 1), I(" " + N(Z(t.id).name), 1)], 4)], 4)) : b("", !0), h(_e, {
912
+ }, [O("span", Wn, N(X(t.id).name.charAt(0)), 1), I(" " + N(X(t.id).name), 1)], 4)], 4)) : b("", !0), t.type === "wrapper" ? (o(), T(l(ne(t)), {
913
+ key: 1,
900
914
  block: t,
901
- "is-selected": !e.previewMode && !ie.value && e.selectedBlockId === t.id && !Z(t.id),
902
- picked: re(t.id),
915
+ viewport: e.viewport
916
+ }, null, 8, ["block", "viewport"])) : (o(), T(Ae, {
917
+ key: 2,
918
+ block: t,
919
+ "is-selected": !e.previewMode && !ae.value && e.selectedBlockId === t.id && !X(t.id),
920
+ picked: ie(t.id),
903
921
  viewport: e.viewport,
904
922
  "preview-mode": e.previewMode,
905
- onSelect: (e) => ne(t.id)
923
+ onSelect: (e) => re(t.id)
906
924
  }, {
907
- default: r(() => [(o(), T(l(te(t)), {
925
+ default: r(() => [(o(), T(l(ne(t)), {
908
926
  block: t,
909
927
  viewport: e.viewport,
910
- onFetchData: (e) => ae(t, e),
928
+ onFetchData: (e) => oe(t, e),
911
929
  onUpdate: (e) => m(x).updateBlock(t.id, e)
912
930
  }, null, 40, [
913
931
  "block",
@@ -923,18 +941,18 @@ var bn = ["aria-label"], xn = ["lang", "dir"], Sn = {
923
941
  "viewport",
924
942
  "preview-mode",
925
943
  "onSelect"
926
- ])])])), [[A, m(R) === !1 || !m(S)?.isHidden(t.id)]])), 128))]),
944
+ ]))])])), [[A, m(L) === !1 || !m(S)?.isHidden(t.id)]])), 128))]),
927
945
  _: 1
928
946
  }, 8, [
929
947
  "modelValue",
930
948
  "disabled",
931
949
  "class"
932
- ]), [[A, !m(k)?.isInitialResolve.value]])], 14, xn)], 12, bn)], 4));
950
+ ]), [[A, !m(k)?.isInitialResolve.value]])], 14, Nn)], 12, Mn)], 4));
933
951
  }
934
- }), [["__scopeId", "data-v-5153811a"]]), Pn = u({
952
+ }), [["__scopeId", "data-v-699490d7"]]), Kn = u({
935
953
  name: "CustomBlockStylesheets",
936
954
  setup() {
937
- let e = t(et, null);
955
+ let e = t(lt, null);
938
956
  return () => e ? e.value.map((e, t) => P("style", {
939
957
  key: t,
940
958
  "data-tpl-custom-block-stylesheet": "",
@@ -944,7 +962,7 @@ var bn = ["aria-label"], xn = ["lang", "dir"], Sn = {
944
962
  });
945
963
  //#endregion
946
964
  //#region src/utils/resolvePaletteBlocks.ts
947
- function Fn(e, t) {
965
+ function qn(e, t) {
948
966
  if (!t || t.length === 0) return {
949
967
  items: e,
950
968
  unknown: []
@@ -963,7 +981,7 @@ function Fn(e, t) {
963
981
  }
964
982
  //#endregion
965
983
  //#region src/utils/resolveInsertPosition.ts
966
- function In(e) {
984
+ function Jn(e) {
967
985
  let { blockType: t, selectedBlockId: n, findBlockLocation: r, isBlockLocked: i } = e;
968
986
  if (!n) return {};
969
987
  let a = r(n);
@@ -981,24 +999,24 @@ function In(e) {
981
999
  }
982
1000
  //#endregion
983
1001
  //#region src/components/Sidebar.vue?vue&type=script&setup=true&lang.ts
984
- var Ln = ["aria-label"], Rn = {
1002
+ var Yn = ["aria-label"], Xn = {
985
1003
  key: 0,
986
1004
  class: "tpl:border-b tpl:px-1 tpl:pb-1 tpl:border-[var(--tpl-border)]"
987
- }, zn = ["aria-label"], Bn = {
1005
+ }, Zn = ["aria-label"], Qn = {
988
1006
  key: 0,
989
1007
  class: "tpl:truncate tpl:text-sm tpl:font-medium"
990
- }, Vn = [
1008
+ }, $n = [
991
1009
  "data-palette-type",
992
1010
  "aria-label",
993
1011
  "onClick",
994
1012
  "onKeydown"
995
- ], Hn = { class: "tpl:flex tpl:shrink-0 tpl:items-center tpl:justify-center tpl:transition-transform tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)] tpl:hover:scale-105" }, Un = {
1013
+ ], er = { class: "tpl:flex tpl:shrink-0 tpl:items-center tpl:justify-center tpl:transition-transform tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)] tpl:hover:scale-105" }, tr = {
996
1014
  key: 0,
997
1015
  class: "tpl:truncate tpl:text-sm tpl:font-medium"
998
- }, Wn = /* @__PURE__ */ u({
1016
+ }, nr = /* @__PURE__ */ u({
999
1017
  __name: "Sidebar",
1000
1018
  setup(i) {
1001
- let { t: a, format: s } = Q(), u = t(nt, []), d = t(Ue, void 0), f = t(tt, void 0), p = t(Xe, null), g = Bt(), _ = t($e, {}), x = v(() => _.savedBlocks?.isAvailable.value === !0), S = c(!1), C = c(!1), E = c(null);
1019
+ let { t: a, format: s } = Z(), u = t(dt, []), d = t(ht, void 0), f = t(ut, void 0), p = t(st, null), g = Qt(), _ = t(ct, {}), x = v(() => _.savedBlocks?.isAvailable.value === !0), S = c(!1), C = c(!1), E = c(null);
1002
1020
  function D() {
1003
1021
  try {
1004
1022
  return E.value?.querySelector(":focus-visible") != null;
@@ -1031,34 +1049,34 @@ var Ln = ["aria-label"], Rn = {
1031
1049
  "table",
1032
1050
  "spacer",
1033
1051
  "html"
1034
- ], L = v(() => {
1052
+ ], R = v(() => {
1035
1053
  let e = I.map((e) => ({
1036
1054
  type: e,
1037
- label: ne(e, a)
1055
+ label: pe(e, a)
1038
1056
  }));
1039
1057
  return _.plan && e.splice(-1, 0, {
1040
1058
  type: "countdown",
1041
- label: ne("countdown", a)
1059
+ label: pe("countdown", a)
1042
1060
  }), e;
1043
1061
  }), B = v(() => u.map((e) => ({
1044
1062
  type: `custom:${e.type}`,
1045
1063
  label: e.name,
1046
1064
  isCustom: !0,
1047
1065
  icon: e.icon
1048
- }))), V = v(() => [...L.value, ...B.value]), H = v(() => Fn(V.value, d)), U = v(() => H.value.items), W = /* @__PURE__ */ new Set();
1066
+ }))), V = v(() => [...R.value, ...B.value]), H = v(() => qn(V.value, d)), U = v(() => H.value.items), W = /* @__PURE__ */ new Set();
1049
1067
  e(() => H.value.unknown, (e) => {
1050
- for (let t of e) W.has(t) || (W.add(t), at.warn(`config.paletteBlocks: "${t}" is not a built-in or registered custom block (use the "custom:" prefix for custom blocks) — skipping it in the palette.`));
1068
+ for (let t of e) W.has(t) || (W.add(t), gt.warn(`config.paletteBlocks: "${t}" is not a built-in or registered custom block (use the "custom:" prefix for custom blocks) — skipping it in the palette.`));
1051
1069
  }, { immediate: !0 });
1052
1070
  function G(e) {
1053
1071
  if (e.isCustom) {
1054
1072
  let t = e.type.replace("custom:", ""), n = u.find((e) => e.type === t);
1055
- if (n) return z(n);
1073
+ if (n) return L(n);
1056
1074
  }
1057
- return R(e.type, f?.value);
1075
+ return z(e.type, f?.value);
1058
1076
  }
1059
1077
  function K(e) {
1060
1078
  if (!p) return;
1061
- let t = G(e), { targetSectionId: n, columnIndex: r, index: i } = In({
1079
+ let t = G(e), { targetSectionId: n, columnIndex: r, index: i } = Jn({
1062
1080
  blockType: e.type,
1063
1081
  selectedBlockId: p.state.selectedBlockId,
1064
1082
  findBlockLocation: p.findBlockLocation,
@@ -1085,17 +1103,17 @@ var Ln = ["aria-label"], Rn = {
1085
1103
  onMouseleave: k,
1086
1104
  onFocusin: t[2] ||= (e) => S.value = !0,
1087
1105
  onFocusout: t[3] ||= (e) => S.value = !1
1088
- }, [x.value ? (o(), y("div", Rn, [O("button", {
1106
+ }, [x.value ? (o(), y("div", Xn, [O("button", {
1089
1107
  type: "button",
1090
1108
  "aria-label": m(a).sidebarNav.browseSavedBlocks,
1091
1109
  class: "tpl:flex tpl:h-10 tpl:w-full tpl:cursor-pointer tpl:items-center tpl:gap-3 tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:bg-transparent tpl:px-3 tpl:text-[var(--tpl-text-muted)] tpl:transition-all tpl:duration-[120ms] tpl:hover:bg-[var(--tpl-primary-light)] tpl:hover:text-[var(--tpl-primary)]",
1092
1110
  style: w({ justifyContent: S.value ? "flex-start" : "center" }),
1093
1111
  onClick: t[0] ||= (e) => m(_).savedBlocks?.openBrowser()
1094
- }, [h(m(yt), {
1112
+ }, [h(m(At), {
1095
1113
  size: 20,
1096
1114
  "stroke-width": 1.5,
1097
1115
  class: "tpl:shrink-0"
1098
- }), S.value ? (o(), y("span", Bn, N(m(a).savedBlocks.title), 1)) : b("", !0)], 12, zn)])) : b("", !0), h(m(j), {
1116
+ }), S.value ? (o(), y("span", Qn, N(m(a).savedBlocks.title), 1)) : b("", !0)], 12, Zn)])) : b("", !0), h(m(j), {
1099
1117
  "model-value": U.value,
1100
1118
  group: {
1101
1119
  name: "blocks",
@@ -1120,58 +1138,58 @@ var Ln = ["aria-label"], Rn = {
1120
1138
  style: w({ justifyContent: S.value ? "flex-start" : "center" }),
1121
1139
  onClick: (t) => K(e),
1122
1140
  onKeydown: (t) => q(t, e)
1123
- }, [O("div", Hn, [m(zt)[e.type] ? (o(), T(l(m(zt)[e.type]), {
1141
+ }, [O("div", er, [m(Zt)[e.type] ? (o(), T(l(m(Zt)[e.type]), {
1124
1142
  key: 0,
1125
1143
  size: 20,
1126
1144
  "stroke-width": 1.5
1127
- })) : e.isCustom ? (o(), T(Pe, {
1145
+ })) : e.isCustom ? (o(), T(De, {
1128
1146
  key: 1,
1129
1147
  icon: e.icon,
1130
1148
  size: 20
1131
- }, null, 8, ["icon"])) : b("", !0)]), S.value ? (o(), y("span", Un, N(e.label), 1)) : b("", !0)], 44, Vn))), 128))]),
1149
+ }, null, 8, ["icon"])) : b("", !0)]), S.value ? (o(), y("span", tr, N(e.label), 1)) : b("", !0)], 44, $n))), 128))]),
1132
1150
  _: 1
1133
- }, 8, ["model-value"])], 44, Ln));
1151
+ }, 8, ["model-value"])], 44, Yn));
1134
1152
  }
1135
- }), Gn = ["aria-label"], Kn = {
1153
+ }), rr = ["aria-label"], ir = {
1136
1154
  role: "tablist",
1137
1155
  class: "tpl:relative tpl:flex tpl:gap-1 tpl:border-b tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg-active)] tpl:p-1.5"
1138
- }, qn = [
1156
+ }, ar = [
1139
1157
  "aria-selected",
1140
1158
  "aria-label",
1141
1159
  "title"
1142
- ], Jn = { key: 0 }, Yn = [
1160
+ ], or = { key: 0 }, sr = [
1143
1161
  "aria-selected",
1144
1162
  "aria-label",
1145
1163
  "title"
1146
- ], Xn = { key: 0 }, Zn = [
1164
+ ], cr = { key: 0 }, lr = [
1147
1165
  "aria-selected",
1148
1166
  "aria-label",
1149
1167
  "title"
1150
- ], Qn = { key: 0 }, $n = {
1168
+ ], ur = { key: 0 }, dr = {
1151
1169
  key: 1,
1152
1170
  class: "tpl:ml-1 tpl:rounded-full tpl:bg-[var(--tpl-bg-hover)] tpl:px-1.5 tpl:text-[10px]"
1153
- }, er = {
1171
+ }, fr = {
1154
1172
  key: 0,
1155
1173
  id: "tpl-tabpanel-content",
1156
1174
  role: "tabpanel",
1157
1175
  "aria-labelledby": "tpl-tab-content",
1158
1176
  class: "tpl:flex tpl:flex-1 tpl:flex-col tpl:overflow-y-auto"
1159
- }, tr = {
1177
+ }, pr = {
1160
1178
  key: 1,
1161
1179
  class: "tpl:flex tpl:flex-col tpl:items-center tpl:justify-center tpl:px-6 tpl:py-10 tpl:text-center tpl:text-[var(--tpl-text-muted)]"
1162
- }, nr = { class: "tpl:mb-4 tpl:text-[var(--tpl-text-dim)]" }, rr = { class: "tpl:m-0 tpl:mb-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, ir = { class: "tpl:m-0 tpl:text-sm tpl:leading-normal" }, ar = {
1180
+ }, mr = { class: "tpl:mb-4 tpl:text-[var(--tpl-text-dim)]" }, hr = { class: "tpl:m-0 tpl:mb-2 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]" }, gr = { class: "tpl:m-0 tpl:text-sm tpl:leading-normal" }, _r = {
1163
1181
  key: 1,
1164
1182
  id: "tpl-tabpanel-settings",
1165
1183
  role: "tabpanel",
1166
1184
  "aria-labelledby": "tpl-tab-settings",
1167
1185
  class: "tpl:flex tpl:flex-1 tpl:flex-col tpl:overflow-y-auto"
1168
- }, or = {
1186
+ }, vr = {
1169
1187
  key: 2,
1170
1188
  id: "tpl-tabpanel-issues",
1171
1189
  role: "tabpanel",
1172
1190
  "aria-labelledby": "tpl-tab-issues",
1173
1191
  class: "tpl:flex tpl:flex-1 tpl:flex-col tpl:overflow-y-auto"
1174
- }, sr = /* @__PURE__ */ u({
1192
+ }, yr = /* @__PURE__ */ u({
1175
1193
  __name: "RightSidebar",
1176
1194
  props: {
1177
1195
  selectedBlock: {},
@@ -1185,7 +1203,7 @@ var Ln = ["aria-label"], Rn = {
1185
1203
  "update-settings"
1186
1204
  ],
1187
1205
  setup(n, { emit: r }) {
1188
- let i = F(() => import("./chunks/Toolbar-DqFhWxgW.js").then((e) => e.t)), a = F(() => import("./chunks/TemplateSettings-DjXiiiNr.js")), s = F(() => import("./chunks/IssuesPanel-C6RlIxoi.js")), l = n, u = r, { t: d } = Q(), f = c("content"), p = t(Ge, null), g = v(() => p !== null), x = v(() => p?.issues.value.length ?? 0), S = t(Le, new Set(ot)), C = v(() => S.size > 0);
1206
+ let i = F(() => import("./chunks/Toolbar-BsiHW9gY.js").then((e) => e.t)), a = F(() => import("./chunks/TemplateSettings-Dr5OJ0Gi.js")), s = F(() => import("./chunks/IssuesPanel-CKkv9z9g.js")), l = n, u = r, { t: d } = Z(), f = c("content"), p = t(Ze, null), g = v(() => p !== null), x = v(() => p?.issues.value.length ?? 0), S = t(ft, new Set(_t)), C = v(() => S.size > 0);
1189
1207
  function E(e) {
1190
1208
  return f.value === e ? "tpl:flex-1 tpl:text-[var(--tpl-primary)]" : "tpl:shrink-0 tpl:text-[var(--tpl-text-muted)] tpl:hover:text-[var(--tpl-text)]";
1191
1209
  }
@@ -1201,7 +1219,7 @@ var Ln = ["aria-label"], Rn = {
1201
1219
  "aria-label": m(d).landmarks.rightSidebar,
1202
1220
  class: _(["tpl-right-sidebar tpl:absolute tpl:top-14 tpl:bottom-0 tpl:z-40 tpl:flex tpl:w-[320px] tpl:flex-col tpl:bg-[var(--tpl-bg-elevated)] tpl:transition-all tpl:duration-200 tpl:border-l tpl:border-[var(--tpl-border)]", n.shiftedLeft ? "tpl:right-[360px]" : "tpl:right-0"])
1203
1221
  }, [
1204
- O("div", Kn, [
1222
+ O("div", ir, [
1205
1223
  O("button", {
1206
1224
  id: "tpl-tab-content",
1207
1225
  role: "tab",
@@ -1212,10 +1230,10 @@ var Ln = ["aria-label"], Rn = {
1212
1230
  class: _(["tpl:flex tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:gap-1.5 tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:px-3 tpl:py-2 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)]", E("content")]),
1213
1231
  style: w(D("content")),
1214
1232
  onClick: t[0] ||= (e) => f.value = "content"
1215
- }, [h(m(Et), {
1233
+ }, [h(m(Lt), {
1216
1234
  size: 14,
1217
1235
  "stroke-width": 2
1218
- }), f.value === "content" ? (o(), y("span", Jn, N(m(d).sidebar.content), 1)) : b("", !0)], 14, qn),
1236
+ }), f.value === "content" ? (o(), y("span", or, N(m(d).sidebar.content), 1)) : b("", !0)], 14, ar),
1219
1237
  C.value ? (o(), y("button", {
1220
1238
  key: 0,
1221
1239
  id: "tpl-tab-settings",
@@ -1227,10 +1245,10 @@ var Ln = ["aria-label"], Rn = {
1227
1245
  class: _(["tpl:flex tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:gap-1.5 tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:px-3 tpl:py-2 tpl:text-xs tpl:font-medium tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)]", E("settings")]),
1228
1246
  style: w(D("settings")),
1229
1247
  onClick: t[1] ||= (e) => f.value = "settings"
1230
- }, [h(m(St), {
1248
+ }, [h(m(Nt), {
1231
1249
  size: 14,
1232
1250
  "stroke-width": 1.5
1233
- }), f.value === "settings" ? (o(), y("span", Xn, N(m(d).sidebar.settings), 1)) : b("", !0)], 14, Yn)) : b("", !0),
1251
+ }), f.value === "settings" ? (o(), y("span", cr, N(m(d).sidebar.settings), 1)) : b("", !0)], 14, sr)) : b("", !0),
1234
1252
  g.value ? (o(), y("button", {
1235
1253
  key: 1,
1236
1254
  id: "tpl-tab-issues",
@@ -1243,72 +1261,72 @@ var Ln = ["aria-label"], Rn = {
1243
1261
  style: w(D("issues")),
1244
1262
  onClick: t[2] ||= (e) => f.value = "issues"
1245
1263
  }, [
1246
- h(m(Dt), {
1264
+ h(m(Rt), {
1247
1265
  size: 14,
1248
1266
  "stroke-width": 1.5
1249
1267
  }),
1250
- f.value === "issues" ? (o(), y("span", Qn, N(m(d).issues.panelTabLabel), 1)) : b("", !0),
1251
- x.value > 0 ? (o(), y("span", $n, N(x.value), 1)) : b("", !0)
1252
- ], 14, Zn)) : b("", !0)
1268
+ f.value === "issues" ? (o(), y("span", ur, N(m(d).issues.panelTabLabel), 1)) : b("", !0),
1269
+ x.value > 0 ? (o(), y("span", dr, N(x.value), 1)) : b("", !0)
1270
+ ], 14, lr)) : b("", !0)
1253
1271
  ]),
1254
- f.value === "content" ? (o(), y("div", er, [n.selectedBlock ? (o(), T(m(i), {
1272
+ f.value === "content" ? (o(), y("div", fr, [n.selectedBlock ? (o(), T(m(i), {
1255
1273
  key: 0,
1256
1274
  block: n.selectedBlock,
1257
1275
  onUpdate: t[3] ||= (e) => u("update-block", e),
1258
1276
  onDelete: t[4] ||= (e) => u("delete-block"),
1259
1277
  onDuplicate: t[5] ||= (e) => u("duplicate-block")
1260
- }, null, 8, ["block"])) : (o(), y("div", tr, [
1261
- O("div", nr, [h(m(Ct), {
1278
+ }, null, 8, ["block"])) : (o(), y("div", pr, [
1279
+ O("div", mr, [h(m(Pt), {
1262
1280
  size: 40,
1263
1281
  "stroke-width": 1.5
1264
1282
  })]),
1265
- O("h3", rr, N(m(d).sidebar.noSelection), 1),
1266
- O("p", ir, N(m(d).sidebar.noSelectionHint), 1)
1283
+ O("h3", hr, N(m(d).sidebar.noSelection), 1),
1284
+ O("p", gr, N(m(d).sidebar.noSelectionHint), 1)
1267
1285
  ]))])) : b("", !0),
1268
- f.value === "settings" && C.value ? (o(), y("div", ar, [h(m(a), {
1286
+ f.value === "settings" && C.value ? (o(), y("div", _r, [h(m(a), {
1269
1287
  settings: n.settings,
1270
1288
  onUpdate: t[6] ||= (e) => u("update-settings", e)
1271
1289
  }, null, 8, ["settings"])])) : b("", !0),
1272
- f.value === "issues" && g.value ? (o(), y("div", or, [h(m(s))])) : b("", !0)
1273
- ], 10, Gn));
1290
+ f.value === "issues" && g.value ? (o(), y("div", vr, [h(m(s))])) : b("", !0)
1291
+ ], 10, rr));
1274
1292
  }
1275
- }), cr = {
1293
+ }), br = {
1276
1294
  class: "tpl-small-screen-notice tpl:absolute tpl:inset-0 tpl:flex tpl:flex-col tpl:items-center tpl:justify-center tpl:gap-4 tpl:px-6 tpl:py-10 tpl:text-center tpl:bg-[var(--tpl-bg)] tpl:text-[var(--tpl-text-muted)]",
1277
1295
  style: { "z-index": "10001" },
1278
1296
  role: "status",
1279
1297
  "data-testid": "small-screen-notice"
1280
- }, lr = { class: "tpl:text-[var(--tpl-text-dim)]" }, ur = { class: "tpl:m-0 tpl:text-base tpl:font-semibold tpl:text-[var(--tpl-text)]" }, dr = { class: "tpl:m-0 tpl:max-w-sm tpl:text-sm tpl:leading-normal" }, fr = /* @__PURE__ */ u({
1298
+ }, xr = { class: "tpl:text-[var(--tpl-text-dim)]" }, Sr = { class: "tpl:m-0 tpl:text-base tpl:font-semibold tpl:text-[var(--tpl-text)]" }, Cr = { class: "tpl:m-0 tpl:max-w-sm tpl:text-sm tpl:leading-normal" }, wr = /* @__PURE__ */ u({
1281
1299
  __name: "SmallScreenNotice",
1282
1300
  setup(e) {
1283
- let { t } = Q();
1284
- return (e, n) => (o(), y("div", cr, [
1285
- O("div", lr, [h(m(st), {
1301
+ let { t } = Z();
1302
+ return (e, n) => (o(), y("div", br, [
1303
+ O("div", xr, [h(m(vt), {
1286
1304
  size: 48,
1287
1305
  "stroke-width": 1.5
1288
1306
  })]),
1289
- O("h2", ur, N(m(t).smallScreen.title), 1),
1290
- O("p", dr, N(m(t).smallScreen.message), 1)
1307
+ O("h2", Sr, N(m(t).smallScreen.title), 1),
1308
+ O("p", Cr, N(m(t).smallScreen.message), 1)
1291
1309
  ]));
1292
1310
  }
1293
- }), pr = {
1311
+ }), Tr = {
1294
1312
  class: "tpl:pointer-events-auto tpl:flex tpl:items-center tpl:gap-1.5 tpl:rounded-tl-lg tpl:p-1",
1295
1313
  style: {
1296
1314
  "background-color": "color-mix(\n in srgb,\n var(--tpl-canvas-bg) 85%,\n transparent\n )",
1297
1315
  "backdrop-filter": "blur(8px)",
1298
1316
  "-webkit-backdrop-filter": "blur(8px)"
1299
1317
  }
1300
- }, mr = {
1318
+ }, Er = {
1301
1319
  href: "https://github.com/templatical/sdk",
1302
1320
  target: "_blank",
1303
1321
  rel: "noopener noreferrer",
1304
1322
  class: "tpl:transition-colors tpl:hover:opacity-80 tpl:text-[var(--tpl-text-dim)]",
1305
1323
  style: { "text-decoration": "none" }
1306
- }, hr = /* @__PURE__ */ u({
1324
+ }, Dr = /* @__PURE__ */ u({
1307
1325
  __name: "EditorFooter",
1308
1326
  props: { positionClass: {} },
1309
1327
  setup(e) {
1310
- let { t } = Q();
1311
- return (n, r) => (o(), y("footer", { class: _(["tpl:pointer-events-none tpl:absolute tpl:bottom-0 tpl:z-50 tpl:flex tpl:h-8 tpl:items-center tpl:justify-end tpl:pr-4 tpl:text-[10px] tpl:opacity-90 tpl:transition-all tpl:duration-300 tpl:text-[var(--tpl-text-dim)]", e.positionClass]) }, [O("div", pr, [
1328
+ let { t } = Z();
1329
+ return (n, r) => (o(), y("footer", { class: _(["tpl:pointer-events-none tpl:absolute tpl:bottom-0 tpl:z-50 tpl:flex tpl:h-8 tpl:items-center tpl:justify-end tpl:pr-4 tpl:text-[10px] tpl:opacity-90 tpl:transition-all tpl:duration-300 tpl:text-[var(--tpl-text-dim)]", e.positionClass]) }, [O("div", Tr, [
1312
1330
  O("span", null, N(m(t).footer.poweredBy), 1),
1313
1331
  r[0] ||= O("a", {
1314
1332
  href: "https://templatical.com",
@@ -1323,19 +1341,19 @@ var Ln = ["aria-label"], Rn = {
1323
1341
  alt: ""
1324
1342
  }), I(" Templatical ")], -1),
1325
1343
  r[1] ||= O("span", { class: "tpl:text-[var(--tpl-border)]" }, "·", -1),
1326
- O("a", mr, N(m(t).footer.openSource), 1)
1344
+ O("a", Er, N(m(t).footer.openSource), 1)
1327
1345
  ])], 2));
1328
1346
  }
1329
- }), gr = [
1347
+ }), Or = [
1330
1348
  "aria-label",
1331
1349
  "title",
1332
1350
  "aria-pressed"
1333
- ], _r = /*#__PURE__*/ At(/* @__PURE__ */ u({
1351
+ ], kr = /*#__PURE__*/ Vt(/* @__PURE__ */ u({
1334
1352
  __name: "DarkModeToggle",
1335
1353
  props: { darkMode: { type: Boolean } },
1336
1354
  emits: ["change"],
1337
1355
  setup(e, { emit: t }) {
1338
- let n = t, { t: i } = Q();
1356
+ let n = t, { t: i } = Z();
1339
1357
  return (t, a) => (o(), y("button", {
1340
1358
  class: "tpl-dark-mode-toggle tpl:relative tpl:flex tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:p-2 tpl:transition-all",
1341
1359
  style: w({
@@ -1353,28 +1371,28 @@ var Ln = ["aria-label"], Rn = {
1353
1371
  "leave-to-class": "tpl-icon-leave-to",
1354
1372
  mode: "out-in"
1355
1373
  }, {
1356
- default: r(() => [e.darkMode ? (o(), T(m(gt), {
1374
+ default: r(() => [e.darkMode ? (o(), T(m(Dt), {
1357
1375
  key: "moon",
1358
1376
  size: 18,
1359
1377
  "stroke-width": 1.5
1360
- })) : (o(), T(m(bt), {
1378
+ })) : (o(), T(m(jt), {
1361
1379
  key: "sun",
1362
1380
  size: 18,
1363
1381
  "stroke-width": 1.5
1364
1382
  }))]),
1365
1383
  _: 1
1366
- })], 12, gr));
1384
+ })], 12, Or));
1367
1385
  }
1368
- }), [["__scopeId", "data-v-632aa74f"]]), vr = [
1386
+ }), [["__scopeId", "data-v-632aa74f"]]), Ar = [
1369
1387
  "aria-label",
1370
1388
  "title",
1371
1389
  "aria-pressed"
1372
- ], yr = /*#__PURE__*/ At(/* @__PURE__ */ u({
1390
+ ], jr = /*#__PURE__*/ Vt(/* @__PURE__ */ u({
1373
1391
  __name: "PreviewToggle",
1374
1392
  props: { previewMode: { type: Boolean } },
1375
1393
  emits: ["change"],
1376
1394
  setup(e, { emit: t }) {
1377
- let n = t, { t: i } = Q();
1395
+ let n = t, { t: i } = Z();
1378
1396
  return (t, a) => (o(), y("button", {
1379
1397
  class: "tpl-preview-toggle tpl:relative tpl:flex tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:p-2 tpl:transition-all",
1380
1398
  style: w({
@@ -1392,19 +1410,19 @@ var Ln = ["aria-label"], Rn = {
1392
1410
  "leave-to-class": "tpl-icon-leave-to",
1393
1411
  mode: "out-in"
1394
1412
  }, {
1395
- default: r(() => [e.previewMode ? (o(), T(m(kt), {
1413
+ default: r(() => [e.previewMode ? (o(), T(m(Bt), {
1396
1414
  key: "eye",
1397
1415
  size: 18,
1398
1416
  "stroke-width": 1.5
1399
- })) : (o(), T(m(vt), {
1417
+ })) : (o(), T(m(kt), {
1400
1418
  key: "eye-off",
1401
1419
  size: 18,
1402
1420
  "stroke-width": 1.5
1403
1421
  }))]),
1404
1422
  _: 1
1405
- })], 12, vr));
1423
+ })], 12, Ar));
1406
1424
  }
1407
- }), [["__scopeId", "data-v-eef7b2ca"]]), br = ["aria-label", "onKeydown"], xr = ["title", "aria-label"], Sr = /* @__PURE__ */ u({
1425
+ }), [["__scopeId", "data-v-eef7b2ca"]]), Mr = ["aria-label", "onKeydown"], Nr = ["title", "aria-label"], Pr = /* @__PURE__ */ u({
1408
1426
  __name: "TemplateNameField",
1409
1427
  props: {
1410
1428
  name: {},
@@ -1412,7 +1430,7 @@ var Ln = ["aria-label"], Rn = {
1412
1430
  },
1413
1431
  emits: ["commit"],
1414
1432
  setup(e, { emit: t }) {
1415
- let n = e, r = t, { t: i } = Q(), a = c(!1), s = c(""), l = c(null);
1433
+ let n = e, r = t, { t: i } = Z(), a = c(!1), s = c(""), l = c(null);
1416
1434
  async function u() {
1417
1435
  n.editable && (s.value = n.name ?? "", a.value = !0, await S(), l.value?.focus(), l.value?.select());
1418
1436
  }
@@ -1433,10 +1451,10 @@ var Ln = ["aria-label"], Rn = {
1433
1451
  type: "text",
1434
1452
  "data-testid": "template-name-input",
1435
1453
  "aria-label": m(i).header.templateName,
1436
- class: _([m(Pt), "tpl:h-8 tpl:max-w-[260px] tpl:text-sm tpl:font-medium"]),
1454
+ class: _([m(Gt), "tpl:h-8 tpl:max-w-[260px] tpl:text-sm tpl:font-medium"]),
1437
1455
  onKeydown: [g(C(f, ["prevent"]), ["enter"]), g(C(p, ["prevent"]), ["esc"])],
1438
1456
  onBlur: f
1439
- }, null, 42, br)), [[D, s.value]]) : e.editable ? (o(), y("button", {
1457
+ }, null, 42, Mr)), [[D, s.value]]) : e.editable ? (o(), y("button", {
1440
1458
  key: 1,
1441
1459
  type: "button",
1442
1460
  "data-testid": "template-name",
@@ -1444,47 +1462,47 @@ var Ln = ["aria-label"], Rn = {
1444
1462
  "aria-label": m(i).header.rename,
1445
1463
  class: _(["tpl:max-w-[260px] tpl:cursor-pointer tpl:truncate tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:border-transparent tpl:px-2 tpl:py-1 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text)] tpl:transition-all tpl:duration-[120ms] tpl:ease-[cubic-bezier(0.16,1,0.3,1)] tpl:hover:border-[var(--tpl-border)] tpl:hover:bg-[var(--tpl-bg-hover)]", { "tpl:text-[var(--tpl-text-dim)]": !e.name }]),
1446
1464
  onClick: u
1447
- }, N(e.name || m(i).header.untitled), 11, xr)) : (o(), y("span", {
1465
+ }, N(e.name || m(i).header.untitled), 11, Nr)) : (o(), y("span", {
1448
1466
  key: 2,
1449
1467
  "data-testid": "template-name",
1450
1468
  class: _(["tpl:max-w-[260px] tpl:truncate tpl:px-2 tpl:py-1 tpl:text-sm tpl:font-medium tpl:text-[var(--tpl-text)]", { "tpl:text-[var(--tpl-text-dim)]": !e.name }])
1451
1469
  }, N(e.name || m(i).header.untitled), 3));
1452
1470
  }
1453
- }), Cr = ["title"], wr = /* @__PURE__ */ u({
1471
+ }), Fr = ["title"], Ir = /* @__PURE__ */ u({
1454
1472
  __name: "TemplateTimestamp",
1455
1473
  props: {
1456
1474
  iso: {},
1457
1475
  kind: {}
1458
1476
  },
1459
1477
  setup(e) {
1460
- let n = e, { t: r, format: i } = Q(), a = t(ze, void 0), s = c(0);
1461
- se(() => {
1478
+ let n = e, { t: r, format: i } = Z(), a = t(it, void 0), s = c(0);
1479
+ ve(() => {
1462
1480
  s.value += 1;
1463
1481
  }, 6e4);
1464
1482
  let l = v(() => {
1465
- let e = Wt(n.iso, r.time, i);
1483
+ let e = nn(n.iso, r.time, i);
1466
1484
  if (e === null) return "";
1467
1485
  let t = e === r.time.justNow;
1468
1486
  return n.kind === "updatedAt" ? t ? r.header.updatedJustNow : i(r.header.updatedAt, { time: e }) : t ? r.header.createdJustNow : i(r.header.createdAt, { time: e });
1469
- }), u = v(() => Ut(n.iso, a));
1487
+ }), u = v(() => tn(n.iso, a));
1470
1488
  return (e, t) => l.value ? (o(), y("span", {
1471
1489
  key: 0,
1472
1490
  "data-testid": "template-timestamp",
1473
1491
  title: u.value,
1474
1492
  class: "tpl:max-w-[260px] tpl:truncate tpl:px-2 tpl:text-xs tpl:leading-tight tpl:text-[var(--tpl-text-dim)]"
1475
- }, N(l.value), 9, Cr)) : b("", !0);
1493
+ }, N(l.value), 9, Fr)) : b("", !0);
1476
1494
  }
1477
- }), Tr = ["data-tooltip"], Er = {
1495
+ }), Lr = ["data-tooltip"], Rr = {
1478
1496
  key: 1,
1479
1497
  "aria-live": "polite",
1480
1498
  "data-testid": "save-status-saved",
1481
1499
  class: "tpl-status tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:text-[var(--tpl-success)]"
1482
- }, Dr = {
1500
+ }, zr = {
1483
1501
  key: 2,
1484
1502
  "aria-live": "polite",
1485
1503
  "data-testid": "save-status-unsaved",
1486
1504
  class: "tpl-status tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:text-[var(--tpl-text-muted)]"
1487
- }, Or = /* @__PURE__ */ u({
1505
+ }, Br = /* @__PURE__ */ u({
1488
1506
  __name: "TemplateSaveStatus",
1489
1507
  props: {
1490
1508
  status: {},
@@ -1492,29 +1510,29 @@ var Ln = ["aria-label"], Rn = {
1492
1510
  isDirty: { type: Boolean }
1493
1511
  },
1494
1512
  setup(e) {
1495
- let { t } = Q();
1513
+ let { t } = Z();
1496
1514
  return (n, r) => e.status === "error" ? (o(), y("div", {
1497
1515
  key: 0,
1498
1516
  "aria-live": "assertive",
1499
1517
  "data-testid": "save-status-error",
1500
1518
  class: "tpl-tooltip tpl-status tpl:flex tpl:items-center tpl:gap-1.5 tpl:text-xs tpl:text-[var(--tpl-danger)]",
1501
1519
  "data-tooltip": e.errorMessage
1502
- }, [h(m(mt), {
1520
+ }, [h(m(Tt), {
1503
1521
  size: 12,
1504
1522
  "stroke-width": 2.5
1505
- }), I(" " + N(m(t).header.saveFailed), 1)], 8, Tr)) : e.status === "saved" ? (o(), y("div", Er, [h(m(ft), {
1523
+ }), I(" " + N(m(t).header.saveFailed), 1)], 8, Lr)) : e.status === "saved" ? (o(), y("div", Rr, [h(m(Ct), {
1506
1524
  size: 12,
1507
1525
  "stroke-width": 2.5
1508
- }), I(" " + N(m(t).header.saved), 1)])) : e.isDirty ? (o(), y("div", Dr, [r[0] ||= O("span", { class: "tpl-pulse tpl:size-1.5 tpl:rounded-full tpl:bg-[var(--tpl-primary)]" }, null, -1), I(" " + N(m(t).header.unsaved), 1)])) : b("", !0);
1526
+ }), I(" " + N(m(t).header.saved), 1)])) : e.isDirty ? (o(), y("div", zr, [r[0] ||= O("span", { class: "tpl-pulse tpl:size-1.5 tpl:rounded-full tpl:bg-[var(--tpl-primary)]" }, null, -1), I(" " + N(m(t).header.unsaved), 1)])) : b("", !0);
1509
1527
  }
1510
- }), kr = { class: "tpl-header tpl:absolute tpl:top-0 tpl:right-0 tpl:left-0 tpl:z-50 tpl:grid tpl:h-14 tpl:grid-cols-[1fr_auto_1fr] tpl:items-center tpl:px-4 tpl:bg-[var(--tpl-bg)] tpl:shadow-[var(--tpl-shadow-sm)] tpl:border-b tpl:border-[var(--tpl-border)]" }, Ar = { class: "tpl-header-left tpl:flex tpl:min-w-[200px] tpl:items-center tpl:gap-2.5" }, jr = { class: "tpl-header-center tpl:flex tpl:items-center tpl:justify-center tpl:gap-10" }, Mr = { class: "tpl-header-right tpl:flex tpl:min-w-[200px] tpl:items-center tpl:justify-end tpl:gap-3" }, Nr = ["aria-label", "aria-expanded"], Pr = {
1528
+ }), Vr = { class: "tpl-header tpl:absolute tpl:top-0 tpl:right-0 tpl:left-0 tpl:z-50 tpl:grid tpl:h-14 tpl:grid-cols-[1fr_auto_1fr] tpl:items-center tpl:px-4 tpl:bg-[var(--tpl-bg)] tpl:shadow-[var(--tpl-shadow-sm)] tpl:border-b tpl:border-[var(--tpl-border)]" }, Hr = { class: "tpl-header-left tpl:flex tpl:min-w-[200px] tpl:items-center tpl:gap-2.5" }, Ur = { class: "tpl-header-center tpl:flex tpl:items-center tpl:justify-center tpl:gap-10" }, Wr = { class: "tpl-header-right tpl:flex tpl:min-w-[200px] tpl:items-center tpl:justify-end tpl:gap-3" }, Gr = ["aria-label", "aria-expanded"], Kr = {
1511
1529
  key: 0,
1512
1530
  class: "tpl:inline-flex tpl:size-4.5 tpl:items-center tpl:justify-center tpl:rounded-full tpl:text-[10px] tpl:font-semibold tpl:bg-[var(--tpl-primary)] tpl:text-[var(--tpl-on-primary)]"
1513
- }, Fr = [
1531
+ }, qr = [
1514
1532
  "aria-label",
1515
1533
  "title",
1516
1534
  "disabled"
1517
- ], Ir = ["disabled", "title"], Lr = /* @__PURE__ */ u({
1535
+ ], Jr = ["disabled", "title"], Yr = /* @__PURE__ */ u({
1518
1536
  __name: "EditorHeader",
1519
1537
  props: {
1520
1538
  editor: {},
@@ -1526,13 +1544,13 @@ var Ln = ["aria-label"], Rn = {
1526
1544
  comments: {}
1527
1545
  },
1528
1546
  setup(e) {
1529
- let t = F(() => import("./chunks/VersionHistoryMenu-Dij1pTEb.js"));
1530
- return (n, r) => (o(), y("header", kr, [
1531
- O("div", Ar, [
1547
+ let t = F(() => import("./chunks/VersionHistoryMenu-B3-hNu9c.js"));
1548
+ return (n, r) => (o(), y("header", Vr, [
1549
+ O("div", Hr, [
1532
1550
  e.templates?.isAvailable.value && e.templates.hasTemplate.value && (e.showTemplateName || e.templates.timestamp.value) ? (o(), y("div", {
1533
1551
  key: 0,
1534
1552
  class: _(["tpl:flex tpl:min-w-0 tpl:flex-col tpl:items-start", { "tpl:pb-1.5": e.showTemplateName && e.templates.timestamp.value !== null }])
1535
- }, [e.showTemplateName ? (o(), T(Sr, {
1553
+ }, [e.showTemplateName ? (o(), T(Pr, {
1536
1554
  key: 0,
1537
1555
  name: e.templates.name.value,
1538
1556
  editable: e.templates.canSave.value,
@@ -1541,7 +1559,7 @@ var Ln = ["aria-label"], Rn = {
1541
1559
  "name",
1542
1560
  "editable",
1543
1561
  "onCommit"
1544
- ])) : b("", !0), e.templates.timestamp.value ? (o(), T(wr, {
1562
+ ])) : b("", !0), e.templates.timestamp.value ? (o(), T(Ir, {
1545
1563
  key: 1,
1546
1564
  iso: e.templates.timestamp.value.iso,
1547
1565
  kind: e.templates.timestamp.value.kind
@@ -1562,22 +1580,22 @@ var Ln = ["aria-label"], Rn = {
1562
1580
  ])) : b("", !0),
1563
1581
  i(n.$slots, "left-extras")
1564
1582
  ]),
1565
- O("div", jr, [
1566
- h(Vt, {
1583
+ O("div", Ur, [
1584
+ h($t, {
1567
1585
  viewport: e.editor.state.viewport,
1568
1586
  onChange: e.editor.setViewport
1569
1587
  }, null, 8, ["viewport", "onChange"]),
1570
- h(_r, {
1588
+ h(kr, {
1571
1589
  "dark-mode": e.editor.state.darkMode,
1572
1590
  onChange: e.editor.setDarkMode
1573
1591
  }, null, 8, ["dark-mode", "onChange"]),
1574
- h(yr, {
1592
+ h(jr, {
1575
1593
  "preview-mode": e.editor.state.previewMode,
1576
1594
  onChange: e.editor.setPreviewMode
1577
1595
  }, null, 8, ["preview-mode", "onChange"])
1578
1596
  ]),
1579
- O("div", Mr, [
1580
- e.templates?.isAvailable.value && e.templates.canSave.value ? (o(), T(Or, {
1597
+ O("div", Wr, [
1598
+ e.templates?.isAvailable.value && e.templates.canSave.value ? (o(), T(Br, {
1581
1599
  key: 0,
1582
1600
  status: e.templates.status.value,
1583
1601
  "error-message": e.templates.errorMessage.value,
@@ -1593,20 +1611,20 @@ var Ln = ["aria-label"], Rn = {
1593
1611
  "data-testid": "comments-trigger",
1594
1612
  "aria-label": e.comments.unresolvedCount.value > 0 ? `${e.core.t.comments.button} (${e.comments.unresolvedCount.value})` : e.core.t.comments.button,
1595
1613
  "aria-expanded": e.comments.isOpen.value,
1596
- class: _(m(Nt)),
1614
+ class: _(m(Wt)),
1597
1615
  style: w(e.comments.isOpen.value ? {
1598
1616
  backgroundColor: "var(--tpl-primary-light)",
1599
1617
  borderColor: "var(--tpl-primary-light)"
1600
1618
  } : void 0),
1601
1619
  onClick: r[2] ||= (t) => e.comments.toggle()
1602
1620
  }, [
1603
- h(m(Ot), {
1621
+ h(m(zt), {
1604
1622
  size: 16,
1605
1623
  "stroke-width": 2
1606
1624
  }),
1607
1625
  I(" " + N(e.core.t.comments.button) + " ", 1),
1608
- e.comments.unresolvedCount.value > 0 && !e.comments.isOpen.value ? (o(), y("span", Pr, N(e.comments.unresolvedCount.value), 1)) : b("", !0)
1609
- ], 14, Nr)) : b("", !0),
1626
+ e.comments.unresolvedCount.value > 0 && !e.comments.isOpen.value ? (o(), y("span", Kr, N(e.comments.unresolvedCount.value), 1)) : b("", !0)
1627
+ ], 14, Gr)) : b("", !0),
1610
1628
  i(n.$slots, "right-extras"),
1611
1629
  e.testEmail?.isAvailable.value ? (o(), y("button", {
1612
1630
  key: 2,
@@ -1615,63 +1633,63 @@ var Ln = ["aria-label"], Rn = {
1615
1633
  "aria-label": e.core.t.testEmail.title,
1616
1634
  title: e.core.t.testEmail.title,
1617
1635
  disabled: e.testEmail.isSending.value,
1618
- class: _(m(Nt)),
1636
+ class: _(m(Wt)),
1619
1637
  onClick: r[3] ||= (t) => e.testEmail.open()
1620
- }, [e.testEmail.isSending.value ? (o(), T(m(xt), {
1638
+ }, [e.testEmail.isSending.value ? (o(), T(m(Mt), {
1621
1639
  key: 1,
1622
1640
  class: "tpl-spinner",
1623
1641
  size: 16,
1624
1642
  "stroke-width": 2
1625
- })) : (o(), T(m(pt), {
1643
+ })) : (o(), T(m(wt), {
1626
1644
  key: 0,
1627
1645
  size: 16,
1628
1646
  "stroke-width": 2
1629
- })), I(" " + N(e.core.t.testEmail.button), 1)], 10, Fr)) : b("", !0),
1647
+ })), I(" " + N(e.core.t.testEmail.button), 1)], 10, qr)) : b("", !0),
1630
1648
  e.templates?.isAvailable.value && e.templates.canSave.value ? (o(), y("button", {
1631
1649
  key: 3,
1632
1650
  type: "button",
1633
1651
  "data-testid": "template-save",
1634
- class: _(m(e.editor.state.isDirty && e.templates.hasTemplate.value ? Ft : Nt)),
1652
+ class: _(m(e.editor.state.isDirty && e.templates.hasTemplate.value ? Kt : Wt)),
1635
1653
  style: w(e.editor.state.isDirty && e.templates.hasTemplate.value ? { boxShadow: "var(--tpl-shadow-sm)" } : void 0),
1636
1654
  disabled: e.templates.isSaving.value || !e.templates.hasTemplate.value,
1637
1655
  title: e.templates.hasTemplate.value ? e.core.t.header.save : e.core.t.header.saveNoTemplate,
1638
1656
  onClick: r[4] ||= (t) => e.templates.requestSave()
1639
- }, [e.templates.isSaving.value ? (o(), T(m(xt), {
1657
+ }, [e.templates.isSaving.value ? (o(), T(m(Mt), {
1640
1658
  key: 1,
1641
1659
  class: "tpl-spinner",
1642
1660
  size: 16,
1643
1661
  "stroke-width": 2
1644
- })) : (o(), T(m(lt), {
1662
+ })) : (o(), T(m(bt), {
1645
1663
  key: 0,
1646
1664
  size: 16,
1647
1665
  "stroke-width": 2
1648
- })), I(" " + N(e.templates.isSaving.value ? e.core.t.header.saving : e.core.t.header.save), 1)], 14, Ir)) : b("", !0)
1666
+ })), I(" " + N(e.templates.isSaving.value ? e.core.t.header.saving : e.core.t.header.save), 1)], 14, Jr)) : b("", !0)
1649
1667
  ])
1650
1668
  ]));
1651
1669
  }
1652
- }), Rr = ["aria-labelledby", "data-tpl-theme"], zr = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:gap-3 tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-3 tpl:py-2.5" }, Br = ["id"], Vr = ["aria-label"], Hr = { class: "tpl:relative tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-3 tpl:py-2.5" }, Ur = [
1670
+ }), Xr = ["aria-labelledby", "data-tpl-theme"], Zr = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:gap-3 tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-3 tpl:py-2.5" }, Qr = ["id"], $r = ["aria-label"], ei = { class: "tpl:relative tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-3 tpl:py-2.5" }, ti = [
1653
1671
  "id",
1654
1672
  "placeholder",
1655
1673
  "aria-label",
1656
1674
  "aria-activedescendant"
1657
- ], Wr = {
1675
+ ], ni = {
1658
1676
  key: 0,
1659
1677
  class: "tpl:flex tpl:gap-1.5 tpl:overflow-x-auto tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-3 tpl:py-2",
1660
1678
  "data-testid": "merge-tag-picker-group-pills"
1661
- }, Gr = ["data-group-name", "onClick"], Kr = ["aria-label"], qr = {
1679
+ }, ri = ["data-group-name", "onClick"], ii = ["aria-label"], ai = {
1662
1680
  key: 0,
1663
1681
  class: "tpl:px-3 tpl:py-6 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-dim)]",
1664
1682
  "data-testid": "merge-tag-picker-empty"
1665
- }, Jr = {
1683
+ }, oi = {
1666
1684
  key: 1,
1667
1685
  class: "tpl:px-3 tpl:py-6 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-dim)]",
1668
1686
  "data-testid": "merge-tag-picker-empty"
1669
- }, Yr = [
1687
+ }, si = [
1670
1688
  "aria-expanded",
1671
1689
  "data-group-name",
1672
1690
  "data-group-collapsed",
1673
1691
  "onClick"
1674
- ], Xr = { class: "tpl:ml-1 tpl:font-normal" }, Zr = [
1692
+ ], ci = { class: "tpl:ml-1 tpl:font-normal" }, li = [
1675
1693
  "id",
1676
1694
  "aria-selected",
1677
1695
  "data-selected",
@@ -1681,21 +1699,21 @@ var Ln = ["aria-label"], Rn = {
1681
1699
  "title",
1682
1700
  "onMousemove",
1683
1701
  "onClick"
1684
- ], Qr = { class: "tpl:text-sm tpl:font-medium" }, $r = { class: "tpl:line-clamp-2 tpl:font-mono tpl:text-xs tpl:text-ellipsis tpl:break-all tpl:text-[var(--tpl-text-dim)]" }, ei = {
1702
+ ], ui = { class: "tpl:text-sm tpl:font-medium" }, di = { class: "tpl:line-clamp-2 tpl:font-mono tpl:text-xs tpl:text-ellipsis tpl:break-all tpl:text-[var(--tpl-text-dim)]" }, fi = {
1685
1703
  key: 0,
1686
1704
  class: "tpl:line-clamp-2 tpl:text-xs tpl:text-ellipsis tpl:text-[var(--tpl-text-dim)]"
1687
- }, ti = {
1705
+ }, pi = {
1688
1706
  key: 1,
1689
1707
  "data-testid": "merge-tag-picker-sample",
1690
1708
  class: "tpl:line-clamp-1 tpl:text-xs tpl:text-ellipsis tpl:text-[var(--tpl-text-dim)]"
1691
- }, $ = "tpl-merge-tag-picker-list", ni = /* @__PURE__ */ u({
1709
+ }, Q = "tpl-merge-tag-picker-list", mi = /* @__PURE__ */ u({
1692
1710
  __name: "MergeTagPickerModal",
1693
1711
  setup(i) {
1694
- let a = Je(Qe, "MergeTagPickerModal"), { t: s, format: l } = Q(), u = t(Be, null), f = t(qe, null), p = t(Ve, !0), x = v(() => a.current.value !== null), E = v(() => x.value ? s.mergeTag.picker.changeTitle : s.mergeTag.picker.title);
1712
+ let a = qe(Je, "MergeTagPickerModal"), { t: s, format: l } = Z(), u = t(Xe, null), f = t(at, null), p = t($e, !0), x = v(() => a.current.value !== null), E = v(() => x.value ? s.mergeTag.picker.changeTitle : s.mergeTag.picker.title);
1695
1713
  function k(e) {
1696
1714
  return p ? e.description ? `${e.value} — ${e.description}` : e.value : e.description || void 0;
1697
1715
  }
1698
- let A = c(""), j = oe(A, 200), P = c(null), F = v(() => j.value.trim().length > 0), I = c(0), L = v(() => a.tags.value.some((e) => !!e.group)), R = c(/* @__PURE__ */ new Set());
1716
+ let A = c(""), j = _e(A, 200), P = c(null), F = v(() => j.value.trim().length > 0), I = c(0), L = v(() => a.tags.value.some((e) => !!e.group)), R = c(/* @__PURE__ */ new Set());
1699
1717
  function z(e) {
1700
1718
  return R.value.has(e);
1701
1719
  }
@@ -1775,29 +1793,29 @@ var Ln = ["aria-label"], Rn = {
1775
1793
  function Y() {
1776
1794
  a.resolve(null);
1777
1795
  }
1778
- function X(e) {
1796
+ function ee(e) {
1779
1797
  if (W.value.length === 0) return;
1780
1798
  G = !1;
1781
1799
  let t = I.value + e;
1782
- I.value = Math.max(0, Math.min(W.value.length - 1, t)), ne();
1800
+ I.value = Math.max(0, Math.min(W.value.length - 1, t)), re();
1783
1801
  }
1784
- let ee = c(null), te = c({});
1785
- function Z(e, t) {
1786
- te.value[e] = t ?? null;
1802
+ let te = c(null), ne = c({});
1803
+ function X(e, t) {
1804
+ ne.value[e] = t ?? null;
1787
1805
  }
1788
- function ne() {
1806
+ function re() {
1789
1807
  S(() => {
1790
- let e = ee.value;
1808
+ let e = te.value;
1791
1809
  e && e.querySelector(`[data-merge-tag-index="${I.value}"]`)?.scrollIntoView({ block: "nearest" });
1792
1810
  });
1793
1811
  }
1794
- function re(e) {
1812
+ function ie(e) {
1795
1813
  if (R.value.has(e)) {
1796
1814
  let t = new Set(R.value);
1797
1815
  t.delete(e), R.value = t;
1798
1816
  }
1799
1817
  S(() => {
1800
- let t = ee.value;
1818
+ let t = te.value;
1801
1819
  if (!t) return;
1802
1820
  let n = 0, r = !1;
1803
1821
  for (let i of Array.from(t.children)) {
@@ -1813,55 +1831,55 @@ var Ln = ["aria-label"], Rn = {
1813
1831
  });
1814
1832
  });
1815
1833
  }
1816
- function ie(e) {
1817
- if (e.key === "ArrowDown") e.preventDefault(), X(1);
1818
- else if (e.key === "ArrowUp") e.preventDefault(), X(-1);
1834
+ function ae(e) {
1835
+ if (e.key === "ArrowDown") e.preventDefault(), ee(1);
1836
+ else if (e.key === "ArrowUp") e.preventDefault(), ee(-1);
1819
1837
  else if (e.key === "Enter") {
1820
1838
  e.preventDefault();
1821
1839
  let t = W.value[I.value];
1822
1840
  t && J(t);
1823
1841
  }
1824
1842
  }
1825
- function ae() {
1826
- if (W.value.length !== 0) return `${$}-opt-${I.value}`;
1843
+ function oe() {
1844
+ if (W.value.length !== 0) return `${Q}-opt-${I.value}`;
1827
1845
  }
1828
1846
  function se(e) {
1829
- return `${$}-opt-${e}`;
1847
+ return `${Q}-opt-${e}`;
1830
1848
  }
1831
1849
  let ce = v(() => a.tags.value.length === 0), le = v(() => !ce.value && V.value.length === 0), ue = v(() => L.value && H.value.length > 1 && !F.value);
1832
- return (e, t) => (o(), T(Gt, {
1850
+ return (e, t) => (o(), T(rn, {
1833
1851
  visible: m(a).isOpen.value,
1834
1852
  onClose: Y,
1835
- onKeydown: ie
1853
+ onKeydown: ae
1836
1854
  }, {
1837
1855
  default: r(() => [O("div", {
1838
1856
  role: "dialog",
1839
1857
  "aria-modal": "true",
1840
- "aria-labelledby": `${$}-title`,
1858
+ "aria-labelledby": `${Q}-title`,
1841
1859
  "data-tpl-theme": m(f),
1842
1860
  "data-testid": "merge-tag-picker-modal",
1843
1861
  class: "tpl tpl:flex tpl:max-h-[80%] tpl:w-[420px] tpl:max-w-full tpl:flex-col tpl:rounded-[var(--tpl-radius)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:shadow-[var(--tpl-shadow-lg)]",
1844
1862
  style: w(m(u))
1845
1863
  }, [
1846
- O("header", zr, [O("h2", {
1847
- id: `${$}-title`,
1864
+ O("header", Zr, [O("h2", {
1865
+ id: `${Q}-title`,
1848
1866
  class: "tpl:m-0 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]"
1849
- }, N(E.value), 9, Br), O("button", {
1867
+ }, N(E.value), 9, Qr), O("button", {
1850
1868
  type: "button",
1851
1869
  class: "tpl:flex tpl:h-7 tpl:w-7 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:bg-transparent tpl:text-[var(--tpl-text-dim)] tpl:transition-colors tpl:hover:bg-[var(--tpl-bg-hover)] tpl:hover:text-[var(--tpl-text)]",
1852
1870
  "aria-label": m(s).mergeTag.picker.close,
1853
1871
  "data-testid": "merge-tag-picker-close",
1854
1872
  onClick: Y
1855
- }, [h(m(wt), {
1873
+ }, [h(m(Ft), {
1856
1874
  size: 16,
1857
1875
  "stroke-width": 2
1858
- })], 8, Vr)]),
1859
- O("div", Hr, [h(m(ht), {
1876
+ })], 8, $r)]),
1877
+ O("div", ei, [h(m(Et), {
1860
1878
  class: "tpl:pointer-events-none tpl:absolute tpl:top-1/2 tpl:left-5 tpl:-translate-y-1/2 tpl:text-[var(--tpl-text-dim)]",
1861
1879
  size: 14,
1862
1880
  "stroke-width": 2
1863
1881
  }), d(O("input", {
1864
- id: `${$}-search`,
1882
+ id: `${Q}-search`,
1865
1883
  ref_key: "searchInputRef",
1866
1884
  ref: P,
1867
1885
  "onUpdate:modelValue": t[0] ||= (e) => A.value = e,
@@ -1869,48 +1887,48 @@ var Ln = ["aria-label"], Rn = {
1869
1887
  class: "tpl:w-full tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:py-1.5 tpl:pr-3 tpl:pl-8 tpl:text-sm tpl:text-[var(--tpl-text)] tpl:outline-none tpl:focus:border-[var(--tpl-primary)] tpl:focus:shadow-[var(--tpl-ring)]",
1870
1888
  placeholder: m(s).mergeTag.picker.searchPlaceholder,
1871
1889
  "aria-label": m(s).mergeTag.picker.searchAriaLabel,
1872
- "aria-controls": $,
1873
- "aria-activedescendant": ae(),
1890
+ "aria-controls": Q,
1891
+ "aria-activedescendant": oe(),
1874
1892
  "data-testid": "merge-tag-picker-search",
1875
1893
  onKeydown: t[1] ||= g(C(() => {}, ["prevent"]), ["enter"])
1876
- }, null, 40, Ur), [[D, A.value]])]),
1877
- ue.value ? (o(), y("div", Wr, [(o(!0), y(M, null, n(H.value, (e) => (o(), y("button", {
1894
+ }, null, 40, ti), [[D, A.value]])]),
1895
+ ue.value ? (o(), y("div", ni, [(o(!0), y(M, null, n(H.value, (e) => (o(), y("button", {
1878
1896
  key: e,
1879
1897
  type: "button",
1880
1898
  class: "tpl:flex tpl:flex-shrink-0 tpl:cursor-pointer tpl:items-center tpl:rounded-full tpl:border tpl:border-[var(--tpl-border)] tpl:bg-transparent tpl:px-2.5 tpl:py-0.5 tpl:text-[10px] tpl:font-medium tpl:text-[var(--tpl-text-dim)] tpl:transition-colors tpl:hover:bg-[var(--tpl-bg-hover)] tpl:hover:text-[var(--tpl-text)]",
1881
1899
  "data-testid": "merge-tag-picker-group-pill",
1882
1900
  "data-group-name": e,
1883
- onClick: (t) => re(e)
1884
- }, N(e), 9, Gr))), 128))])) : b("", !0),
1901
+ onClick: (t) => ie(e)
1902
+ }, N(e), 9, ri))), 128))])) : b("", !0),
1885
1903
  O("div", {
1886
- id: $,
1904
+ id: Q,
1887
1905
  ref_key: "listRef",
1888
- ref: ee,
1906
+ ref: te,
1889
1907
  class: "tpl:relative tpl:max-h-[60vh] tpl:flex-1 tpl:overflow-y-auto",
1890
1908
  role: "listbox",
1891
1909
  "aria-label": E.value,
1892
1910
  "data-testid": "merge-tag-picker-list"
1893
- }, [ce.value ? (o(), y("div", qr, N(m(s).mergeTag.picker.empty), 1)) : le.value ? (o(), y("div", Jr, N(m(s).mergeTag.picker.noResults), 1)) : (o(!0), y(M, { key: 2 }, n(U.value, (e, t) => (o(), y(M, { key: t }, [e.kind === "header" ? (o(), y("button", {
1911
+ }, [ce.value ? (o(), y("div", ai, N(m(s).mergeTag.picker.empty), 1)) : le.value ? (o(), y("div", oi, N(m(s).mergeTag.picker.noResults), 1)) : (o(!0), y(M, { key: 2 }, n(U.value, (e, t) => (o(), y(M, { key: t }, [e.kind === "header" ? (o(), y("button", {
1894
1912
  key: 0,
1895
1913
  ref_for: !0,
1896
- ref: (t) => Z(e.group, t),
1914
+ ref: (t) => X(e.group, t),
1897
1915
  type: "button",
1898
1916
  "aria-expanded": !z(e.group),
1899
- "aria-controls": $,
1917
+ "aria-controls": Q,
1900
1918
  class: "tpl:sticky tpl:top-0 tpl:z-10 tpl:flex tpl:w-full tpl:cursor-pointer tpl:items-center tpl:gap-1.5 tpl:border-none tpl:bg-[var(--tpl-bg-elevated)] tpl:px-3 tpl:pt-2.5 tpl:pb-1 tpl:text-left tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-dim)] tpl:transition-colors tpl:hover:bg-[var(--tpl-bg-hover)]",
1901
1919
  "data-testid": "merge-tag-picker-group-header",
1902
1920
  "data-group-name": e.group,
1903
1921
  "data-group-collapsed": z(e.group) ? "true" : "false",
1904
1922
  onClick: (t) => B(e.group)
1905
1923
  }, [
1906
- h(m(dt), {
1924
+ h(m(St), {
1907
1925
  size: 12,
1908
1926
  "stroke-width": 2,
1909
1927
  class: _(["tpl:transition-transform", z(e.group) ? "tpl:-rotate-90" : ""])
1910
1928
  }, null, 8, ["class"]),
1911
1929
  O("span", null, N(e.group), 1),
1912
- O("span", Xr, " (" + N(m(l)(m(s).mergeTag.picker.groupCount, { count: e.count })) + ") ", 1)
1913
- ], 8, Yr)) : (o(), y("button", {
1930
+ O("span", ci, " (" + N(m(l)(m(s).mergeTag.picker.groupCount, { count: e.count })) + ") ", 1)
1931
+ ], 8, si)) : (o(), y("button", {
1914
1932
  key: 1,
1915
1933
  id: se(e.index),
1916
1934
  type: "button",
@@ -1926,23 +1944,23 @@ var Ln = ["aria-label"], Rn = {
1926
1944
  onMousemove: (t) => q(e.index),
1927
1945
  onClick: (t) => J(e.tag)
1928
1946
  }, [
1929
- O("span", Qr, N(e.tag.label), 1),
1930
- O("span", $r, N(e.tag.value), 1),
1931
- e.tag.description ? (o(), y("span", ei, N(e.tag.description), 1)) : b("", !0),
1932
- e.tag.sample === void 0 ? b("", !0) : (o(), y("span", ti, N(m(l)(m(s).mergeTag.picker.sample, { sample: e.tag.sample })), 1))
1933
- ], 42, Zr))], 64))), 128))], 8, Kr)
1934
- ], 12, Rr)]),
1947
+ O("span", ui, N(e.tag.label), 1),
1948
+ O("span", di, N(e.tag.value), 1),
1949
+ e.tag.description ? (o(), y("span", fi, N(e.tag.description), 1)) : b("", !0),
1950
+ e.tag.sample === void 0 ? b("", !0) : (o(), y("span", pi, N(m(l)(m(s).mergeTag.picker.sample, { sample: e.tag.sample })), 1))
1951
+ ], 42, li))], 64))), 128))], 8, ii)
1952
+ ], 12, Xr)]),
1935
1953
  _: 1
1936
1954
  }, 8, ["visible"]));
1937
1955
  }
1938
- }), ri = ["data-logic-keyword"], ii = /* @__PURE__ */ u({
1956
+ }), hi = ["data-logic-keyword"], gi = /* @__PURE__ */ u({
1939
1957
  __name: "LogicTagBadge",
1940
1958
  props: {
1941
1959
  value: {},
1942
1960
  syntax: {}
1943
1961
  },
1944
1962
  setup(e) {
1945
- let t = e, n = v(() => H(t.value, t.syntax)), r = v(() => B(t.value, t.syntax));
1963
+ let t = e, n = v(() => ee(t.value, t.syntax)), r = v(() => J(t.value, t.syntax));
1946
1964
  return (e, t) => n.value ? (o(), y("span", {
1947
1965
  key: 0,
1948
1966
  class: "tpl:inline-flex tpl:flex-shrink-0 tpl:items-center tpl:rounded tpl:px-1.5 tpl:py-0.5 tpl:text-[10px] tpl:leading-none tpl:font-bold tpl:tracking-wide tpl:uppercase",
@@ -1952,22 +1970,22 @@ var Ln = ["aria-label"], Rn = {
1952
1970
  },
1953
1971
  "data-testid": "merge-tag-logic-badge",
1954
1972
  "data-logic-keyword": r.value
1955
- }, N(r.value), 9, ri)) : b("", !0);
1973
+ }, N(r.value), 9, hi)) : b("", !0);
1956
1974
  }
1957
- }), ai = ["aria-labelledby", "data-tpl-theme"], oi = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:gap-3 tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-3 tpl:py-2.5" }, si = ["id"], ci = ["aria-label"], li = { class: "tpl:relative tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-3 tpl:py-2.5" }, ui = [
1975
+ }), _i = ["aria-labelledby", "data-tpl-theme"], vi = { class: "tpl:flex tpl:items-center tpl:justify-between tpl:gap-3 tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-3 tpl:py-2.5" }, yi = ["id"], bi = ["aria-label"], xi = { class: "tpl:relative tpl:border-b tpl:border-[var(--tpl-border)] tpl:px-3 tpl:py-2.5" }, Si = [
1958
1976
  "id",
1959
1977
  "placeholder",
1960
1978
  "aria-label",
1961
1979
  "aria-activedescendant"
1962
- ], di = ["aria-label"], fi = {
1980
+ ], Ci = ["aria-label"], wi = {
1963
1981
  key: 0,
1964
1982
  class: "tpl:px-3 tpl:py-6 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-dim)]",
1965
1983
  "data-testid": "logic-picker-empty"
1966
- }, pi = {
1984
+ }, Ti = {
1967
1985
  key: 1,
1968
1986
  class: "tpl:px-3 tpl:py-6 tpl:text-center tpl:text-xs tpl:text-[var(--tpl-text-dim)]",
1969
1987
  "data-testid": "logic-picker-empty"
1970
- }, mi = ["data-group-name"], hi = [
1988
+ }, Ei = ["data-group-name"], Di = [
1971
1989
  "id",
1972
1990
  "aria-selected",
1973
1991
  "data-selected",
@@ -1975,19 +1993,19 @@ var Ln = ["aria-label"], Rn = {
1975
1993
  "data-logic-kind",
1976
1994
  "onMousemove",
1977
1995
  "onClick"
1978
- ], gi = { class: "tpl:flex tpl:w-full tpl:items-center tpl:justify-between tpl:gap-2" }, _i = { class: "tpl:text-sm tpl:font-medium" }, vi = {
1996
+ ], Oi = { class: "tpl:flex tpl:w-full tpl:items-center tpl:justify-between tpl:gap-2" }, ki = { class: "tpl:text-sm tpl:font-medium" }, Ai = {
1979
1997
  key: 0,
1980
1998
  class: "tpl:flex tpl:items-center"
1981
- }, yi = {
1999
+ }, ji = {
1982
2000
  key: 1,
1983
2001
  class: "tpl:flex tpl:items-center tpl:gap-1"
1984
- }, bi = { class: "tpl:line-clamp-2 tpl:font-mono tpl:text-xs tpl:text-ellipsis tpl:break-all tpl:text-[var(--tpl-text-dim)]" }, xi = {
2002
+ }, Mi = { class: "tpl:line-clamp-2 tpl:font-mono tpl:text-xs tpl:text-ellipsis tpl:break-all tpl:text-[var(--tpl-text-dim)]" }, Ni = {
1985
2003
  key: 0,
1986
2004
  class: "tpl:line-clamp-2 tpl:text-xs tpl:text-ellipsis tpl:text-[var(--tpl-text-dim)]"
1987
- }, Si = "tpl-logic-picker-list", Ci = /* @__PURE__ */ u({
2005
+ }, $ = "tpl-logic-picker-list", Pi = /* @__PURE__ */ u({
1988
2006
  __name: "LogicTagPickerModal",
1989
2007
  setup(i) {
1990
- let a = Je(We, "LogicTagPickerModal"), { t: s } = Q(), l = t(He, K.liquid), u = t(Be, null), f = t(qe, null), p = c(""), x = oe(p, 200), E = c(null), k = v(() => x.value.trim().length > 0), A = c(0);
2008
+ let a = qe(Ye, "LogicTagPickerModal"), { t: s } = Z(), l = t(et, ie.liquid), u = t(Xe, null), f = t(at, null), p = c(""), x = _e(p, 200), E = c(null), k = v(() => x.value.trim().length > 0), A = c(0);
1991
2009
  function j(e) {
1992
2010
  let t = x.value.trim().toLowerCase();
1993
2011
  return !t || e.filter(Boolean).join(" ").toLowerCase().includes(t);
@@ -2055,59 +2073,59 @@ var Ln = ["aria-label"], Rn = {
2055
2073
  function G() {
2056
2074
  a.resolve(null);
2057
2075
  }
2058
- function q(e) {
2076
+ function K(e) {
2059
2077
  B.value.length !== 0 && (A.value = Math.max(0, Math.min(B.value.length - 1, A.value + e)), S(() => {
2060
2078
  U.value?.querySelector(`[data-logic-index="${A.value}"]`)?.scrollIntoView({ block: "nearest" });
2061
2079
  }));
2062
2080
  }
2063
- function J(e) {
2064
- if (e.key === "ArrowDown") e.preventDefault(), q(1);
2065
- else if (e.key === "ArrowUp") e.preventDefault(), q(-1);
2081
+ function q(e) {
2082
+ if (e.key === "ArrowDown") e.preventDefault(), K(1);
2083
+ else if (e.key === "ArrowUp") e.preventDefault(), K(-1);
2066
2084
  else if (e.key === "Enter") {
2067
2085
  e.preventDefault();
2068
2086
  let t = B.value[A.value];
2069
2087
  t && W(t);
2070
2088
  }
2071
2089
  }
2072
- function Y(e) {
2073
- return `${Si}-opt-${e}`;
2090
+ function J(e) {
2091
+ return `${$}-opt-${e}`;
2074
2092
  }
2075
- function X() {
2076
- return B.value.length === 0 ? void 0 : `${Si}-opt-${A.value}`;
2093
+ function Y() {
2094
+ return B.value.length === 0 ? void 0 : `${$}-opt-${A.value}`;
2077
2095
  }
2078
- return (e, t) => (o(), T(Gt, {
2096
+ return (e, t) => (o(), T(rn, {
2079
2097
  visible: m(a).isOpen.value,
2080
2098
  onClose: G,
2081
- onKeydown: J
2099
+ onKeydown: q
2082
2100
  }, {
2083
2101
  default: r(() => [O("div", {
2084
2102
  role: "dialog",
2085
2103
  "aria-modal": "true",
2086
- "aria-labelledby": `${Si}-title`,
2104
+ "aria-labelledby": `${$}-title`,
2087
2105
  "data-tpl-theme": m(f),
2088
2106
  "data-testid": "logic-picker-modal",
2089
2107
  class: "tpl tpl:flex tpl:max-h-[80%] tpl:w-[420px] tpl:max-w-full tpl:flex-col tpl:rounded-[var(--tpl-radius)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:shadow-[var(--tpl-shadow-lg)]",
2090
2108
  style: w(m(u))
2091
2109
  }, [
2092
- O("header", oi, [O("h2", {
2093
- id: `${Si}-title`,
2110
+ O("header", vi, [O("h2", {
2111
+ id: `${$}-title`,
2094
2112
  class: "tpl:m-0 tpl:text-sm tpl:font-semibold tpl:text-[var(--tpl-text)]"
2095
- }, N(m(s).logicTag.picker.title), 9, si), O("button", {
2113
+ }, N(m(s).logicTag.picker.title), 9, yi), O("button", {
2096
2114
  type: "button",
2097
2115
  class: "tpl:flex tpl:h-7 tpl:w-7 tpl:cursor-pointer tpl:items-center tpl:justify-center tpl:rounded-[var(--tpl-radius-sm)] tpl:border-none tpl:bg-transparent tpl:text-[var(--tpl-text-dim)] tpl:transition-colors tpl:hover:bg-[var(--tpl-bg-hover)] tpl:hover:text-[var(--tpl-text)]",
2098
2116
  "aria-label": m(s).logicTag.picker.close,
2099
2117
  "data-testid": "logic-picker-close",
2100
2118
  onClick: G
2101
- }, [h(m(wt), {
2119
+ }, [h(m(Ft), {
2102
2120
  size: 16,
2103
2121
  "stroke-width": 2
2104
- })], 8, ci)]),
2105
- O("div", li, [h(m(ht), {
2122
+ })], 8, bi)]),
2123
+ O("div", xi, [h(m(Et), {
2106
2124
  class: "tpl:pointer-events-none tpl:absolute tpl:top-1/2 tpl:left-5 tpl:-translate-y-1/2 tpl:text-[var(--tpl-text-dim)]",
2107
2125
  size: 14,
2108
2126
  "stroke-width": 2
2109
2127
  }), d(O("input", {
2110
- id: `${Si}-search`,
2128
+ id: `${$}-search`,
2111
2129
  ref_key: "searchInputRef",
2112
2130
  ref: E,
2113
2131
  "onUpdate:modelValue": t[0] ||= (e) => p.value = e,
@@ -2115,27 +2133,27 @@ var Ln = ["aria-label"], Rn = {
2115
2133
  class: "tpl:w-full tpl:rounded-[var(--tpl-radius-sm)] tpl:border tpl:border-[var(--tpl-border)] tpl:bg-[var(--tpl-bg)] tpl:py-1.5 tpl:pr-3 tpl:pl-8 tpl:text-sm tpl:text-[var(--tpl-text)] tpl:outline-none tpl:focus:border-[var(--tpl-primary)] tpl:focus:shadow-[var(--tpl-ring)]",
2116
2134
  placeholder: m(s).logicTag.picker.searchPlaceholder,
2117
2135
  "aria-label": m(s).logicTag.picker.searchAriaLabel,
2118
- "aria-controls": Si,
2119
- "aria-activedescendant": X(),
2136
+ "aria-controls": $,
2137
+ "aria-activedescendant": Y(),
2120
2138
  "data-testid": "logic-picker-search",
2121
2139
  onKeydown: t[1] ||= g(C(() => {}, ["prevent"]), ["enter"])
2122
- }, null, 40, ui), [[D, p.value]])]),
2140
+ }, null, 40, Si), [[D, p.value]])]),
2123
2141
  O("div", {
2124
- id: Si,
2142
+ id: $,
2125
2143
  ref_key: "listRef",
2126
2144
  ref: U,
2127
2145
  class: "tpl:relative tpl:max-h-[60vh] tpl:flex-1 tpl:overflow-y-auto",
2128
2146
  role: "listbox",
2129
2147
  "aria-label": m(s).logicTag.picker.title,
2130
2148
  "data-testid": "logic-picker-list"
2131
- }, [V.value ? (o(), y("div", fi, N(m(s).logicTag.picker.empty), 1)) : H.value ? (o(), y("div", pi, N(m(s).logicTag.picker.noResults), 1)) : (o(!0), y(M, { key: 2 }, n(z.value.rows, (e, n) => (o(), y(M, { key: n }, [e.kind === "header" ? (o(), y("div", {
2149
+ }, [V.value ? (o(), y("div", wi, N(m(s).logicTag.picker.empty), 1)) : H.value ? (o(), y("div", Ti, N(m(s).logicTag.picker.noResults), 1)) : (o(!0), y(M, { key: 2 }, n(z.value.rows, (e, n) => (o(), y(M, { key: n }, [e.kind === "header" ? (o(), y("div", {
2132
2150
  key: 0,
2133
2151
  class: "tpl:px-3 tpl:pt-2.5 tpl:pb-1 tpl:text-xs tpl:font-medium tpl:text-[var(--tpl-text-dim)]",
2134
2152
  "data-testid": "logic-picker-header",
2135
2153
  "data-group-name": e.label
2136
- }, N(e.label), 9, mi)) : (o(), y("button", {
2154
+ }, N(e.label), 9, Ei)) : (o(), y("button", {
2137
2155
  key: 1,
2138
- id: Y(e.index),
2156
+ id: J(e.index),
2139
2157
  type: "button",
2140
2158
  role: "option",
2141
2159
  "aria-selected": e.index === A.value,
@@ -2147,32 +2165,32 @@ var Ln = ["aria-label"], Rn = {
2147
2165
  onMousemove: (t) => A.value = e.index,
2148
2166
  onClick: (t) => W(e.kind === "tag" ? e.tag : e.pair)
2149
2167
  }, [
2150
- O("span", gi, [O("span", _i, N(e.kind === "tag" ? e.tag.label : e.pair.label), 1), e.kind === "tag" ? (o(), y("span", vi, [h(ii, {
2168
+ O("span", Oi, [O("span", ki, N(e.kind === "tag" ? e.tag.label : e.pair.label), 1), e.kind === "tag" ? (o(), y("span", Ai, [h(gi, {
2151
2169
  value: e.tag.value,
2152
2170
  syntax: m(l)
2153
- }, null, 8, ["value", "syntax"])])) : (o(), y("span", yi, [
2154
- h(ii, {
2171
+ }, null, 8, ["value", "syntax"])])) : (o(), y("span", ji, [
2172
+ h(gi, {
2155
2173
  value: e.pair.before,
2156
2174
  syntax: m(l)
2157
2175
  }, null, 8, ["value", "syntax"]),
2158
2176
  t[2] ||= O("span", { class: "tpl:text-[var(--tpl-text-dim)]" }, "…", -1),
2159
- h(ii, {
2177
+ h(gi, {
2160
2178
  value: e.pair.after,
2161
2179
  syntax: m(l)
2162
2180
  }, null, 8, ["value", "syntax"])
2163
2181
  ]))]),
2164
- O("span", bi, N(e.kind === "tag" ? e.tag.value : `${e.pair.before} … ${e.pair.after}`), 1),
2165
- (e.kind === "tag" ? e.tag.description : e.pair.description) ? (o(), y("span", xi, N(e.kind === "tag" ? e.tag.description : e.pair.description), 1)) : b("", !0)
2166
- ], 42, hi))], 64))), 128))], 8, di)
2167
- ], 12, ai)]),
2182
+ O("span", Mi, N(e.kind === "tag" ? e.tag.value : `${e.pair.before} … ${e.pair.after}`), 1),
2183
+ (e.kind === "tag" ? e.tag.description : e.pair.description) ? (o(), y("span", Ni, N(e.kind === "tag" ? e.tag.description : e.pair.description), 1)) : b("", !0)
2184
+ ], 42, Di))], 64))), 128))], 8, Ci)
2185
+ ], 12, _i)]),
2168
2186
  _: 1
2169
2187
  }, 8, ["visible"]));
2170
2188
  }
2171
- }), wi = ["data-tpl-theme"], Ti = { class: "tpl:absolute tpl:inset-0 tpl:overflow-hidden" }, Ei = { class: "tpl-preview-overlay tpl:sticky tpl:top-0 tpl:z-40 tpl:h-0" }, Di = { class: "tpl:absolute tpl:left-1/2 tpl:top-2 tpl:flex tpl:-translate-x-1/2 tpl:flex-col tpl:items-center tpl:gap-2" }, Oi = {
2189
+ }), Fi = ["data-tpl-theme"], Ii = { class: "tpl:absolute tpl:inset-0 tpl:overflow-hidden" }, Li = { class: "tpl-preview-overlay tpl:sticky tpl:top-0 tpl:z-40 tpl:h-0" }, Ri = { class: "tpl:absolute tpl:left-1/2 tpl:top-2 tpl:flex tpl:-translate-x-1/2 tpl:flex-col tpl:items-center tpl:gap-2" }, zi = {
2172
2190
  key: 0,
2173
2191
  "data-testid": "merge-tag-mode-toggle-anchor",
2174
2192
  class: "tpl:rounded-[var(--tpl-radius-sm)] tpl:shadow-[var(--tpl-shadow-md)]"
2175
- }, ki = { class: "tpl-main tpl:flex tpl:justify-center tpl:p-8" }, Ai = ["aria-label"], ji = /*#__PURE__*/ At(/* @__PURE__ */ u({
2193
+ }, Bi = { class: "tpl-main tpl:flex tpl:justify-center tpl:p-8" }, Vi = ["aria-label"], Hi = /*#__PURE__*/ Vt(/* @__PURE__ */ u({
2176
2194
  __name: "Editor",
2177
2195
  props: {
2178
2196
  config: {},
@@ -2184,38 +2202,38 @@ var Ln = ["aria-label"], Rn = {
2184
2202
  usesLocalRenderer: { type: Function }
2185
2203
  },
2186
2204
  setup(t, { expose: n }) {
2187
- let i = t, s = i.config.templates ? yn(i.config.templates, i.config.mergeTags) : void 0, l = ie({
2205
+ let i = t, s = i.config.templates ? jn(i.config.templates, i.config.mergeTags) : void 0, l = he({
2188
2206
  content: i.config.content,
2189
2207
  defaultFontFamily: i.config.fonts?.defaultFont,
2190
- templateDefaults: Jt(i.config),
2208
+ templateDefaults: sn(i.config),
2191
2209
  templates: s,
2192
2210
  onError: i.config.onError,
2193
2211
  lockedBlocks: i.cloud?.lockedBlocks
2194
- }), u = i.cloud ? i.cloud.attach({ editor: l }) : null, f = s ? tn({
2212
+ }), u = i.cloud ? i.cloud.attach({ editor: l }) : null, f = s ? mn({
2195
2213
  provider: s,
2196
2214
  editor: l,
2197
2215
  guardUnsavedChanges: i.config.templates?.unsavedChangesGuard,
2198
2216
  getSaveGate: i.cloud ? () => i.cloud.getSaveGate() : void 0
2199
2217
  }) : null;
2200
2218
  i.config.onDirtyChange && e(() => l.state.isDirty, (e) => i.config.onDirtyChange(e));
2201
- let g = c(null), S = i.config.savedBlocks ? $t({
2219
+ let g = c(null), S = i.config.savedBlocks ? fn({
2202
2220
  provider: i.config.savedBlocks,
2203
2221
  editor: l,
2204
2222
  onError: i.config.onError,
2205
2223
  isAvailable: i.cloud ? () => i.cloud.isSavedBlocksAvailable() : void 0
2206
- }) : null, D = F(() => import("./chunks/SavedBlocksPanels-DfTaMPAr.js")), k = i.config.media || i.config.onRequestMedia ? Qt({
2224
+ }) : null, D = F(() => import("./chunks/SavedBlocksPanels-Ce1RePjk.js")), k = i.config.media || i.config.onRequestMedia ? dn({
2207
2225
  provider: i.config.media,
2208
2226
  onRequestMedia: i.config.onRequestMedia,
2209
2227
  getTemplateId: () => l.state.template?.id,
2210
2228
  onError: i.config.onError
2211
- }) : null, j = F(() => import("./chunks/MediaPanels-Bq5b-XJM.js")), M = i.config.testEmail ? sn({
2229
+ }) : null, j = F(() => import("./chunks/MediaPanels-Bq5b-XJM.js")), M = i.config.testEmail ? yn({
2212
2230
  provider: i.config.testEmail,
2213
2231
  getContent: () => l.content.value,
2214
2232
  renderMjml: i.renderMjml,
2215
2233
  usesLocalRenderer: i.usesLocalRenderer,
2216
2234
  onError: i.config.onError,
2217
2235
  isAvailable: i.cloud ? () => i.cloud.isTestEmailAvailable() : void 0
2218
- }) : null, P = F(() => import("./chunks/TestEmailPanel-B8LwXmeX.js")), L = i.config.comments ? Yt({
2236
+ }) : null, P = F(() => import("./chunks/TestEmailPanel-BdYsVHXA.js")), L = i.config.comments ? cn({
2219
2237
  provider: i.config.comments,
2220
2238
  editor: l,
2221
2239
  user: i.config.user,
@@ -2223,8 +2241,8 @@ var Ln = ["aria-label"], Rn = {
2223
2241
  onError: i.config.onError,
2224
2242
  isAvailable: i.cloud ? () => i.cloud.isCommentsAvailable() : void 0,
2225
2243
  isBlockSaved: i.cloud ? (e) => i.cloud.isBlockSaved(e) : void 0
2226
- }) : null, R = F(() => import("./chunks/CommentsPanel-C8ibhaiK.js")), z = F(() => import("./chunks/CloudPanels-DmxmqAS_.js")), B = F(() => import("./chunks/CloudHeaderExtras-BxsMpvVr.js")), V = F(() => import("./chunks/VersionHistoryPanels-DcCFFDK6.js")), H = ln(i.config.templates?.autoSave, !1), U = H && f !== null;
2227
- H && f !== null && !f.canSave.value && at.warn("config.templates.autoSave is on but this provider's save is false — there is nothing to persist to. Give it a real save function, or use `onChange` to persist the content yourself."), i.config.changeDebounce !== void 0 && f !== null && i.config.templates?.autoSave === void 0 && !i.config.onChange && at.warn("config.changeDebounce is set but nothing will use it — config.templates.autoSave is unset and there is no onChange either, so the timer has no consumer. Set config.templates.autoSave, or add onChange, so the debounce takes effect.");
2244
+ }) : null, R = F(() => import("./chunks/CommentsPanel-BtAGZfF6.js")), z = F(() => import("./chunks/CloudPanels-DcAn5QW7.js")), B = F(() => import("./chunks/CloudHeaderExtras-DOB_uWpt.js")), V = F(() => import("./chunks/VersionHistoryPanels-C1yck5gT.js")), H = xn(i.config.templates?.autoSave, !1), U = H && f !== null;
2245
+ H && f !== null && !f.canSave.value && gt.warn("config.templates.autoSave is on but this provider's save is false — there is nothing to persist to. Give it a real save function, or use `onChange` to persist the content yourself."), i.config.changeDebounce !== void 0 && f !== null && i.config.templates?.autoSave === void 0 && !i.config.onChange && gt.warn("config.changeDebounce is set but nothing will use it — config.templates.autoSave is unset and there is no onChange either, so the timer has no consumer. Set config.templates.autoSave, or add onChange, so the debounce takes effect.");
2228
2246
  let W = i.config.onChange || U ? {
2229
2247
  onChange: () => {
2230
2248
  i.config.onChange?.(JSON.parse(JSON.stringify(l.state.content))), U && f.requestAutoSave();
@@ -2235,7 +2253,7 @@ var Ln = ["aria-label"], Rn = {
2235
2253
  ...f ? { templates: f.capability } : {},
2236
2254
  ...M ? { testEmail: M.capability } : {},
2237
2255
  ...L ? { comments: L.capability } : {}
2238
- }, K = je({
2256
+ }, K = Ue({
2239
2257
  editor: l,
2240
2258
  containerEl: g,
2241
2259
  config: {
@@ -2246,6 +2264,8 @@ var Ln = ["aria-label"], Rn = {
2246
2264
  customBlocks: i.config.customBlocks,
2247
2265
  paletteBlocks: i.config.paletteBlocks,
2248
2266
  htmlBlockPreview: i.config.htmlBlockPreview,
2267
+ layout: i.config.layout,
2268
+ sectionWrapper: i.config.sectionWrapper,
2249
2269
  colors: i.config.colors,
2250
2270
  templateSettings: i.config.templateSettings,
2251
2271
  mergeTags: i.config.mergeTags,
@@ -2255,7 +2275,7 @@ var Ln = ["aria-label"], Rn = {
2255
2275
  canDropMedia: k?.canDrop ?? null,
2256
2276
  resolvePreview: i.config.resolvePreview,
2257
2277
  resolveImageUrl: i.config.resolveImageUrl,
2258
- lint: un(i.config),
2278
+ lint: Sn(i.config),
2259
2279
  locale: i.config.locale
2260
2280
  },
2261
2281
  translations: i.translations,
@@ -2268,9 +2288,9 @@ var Ln = ["aria-label"], Rn = {
2268
2288
  }), q = i.cloud && u ? i.cloud.ready({
2269
2289
  core: K,
2270
2290
  capabilities: G
2271
- }) : null, J = i.config.versionHistory ? cn({
2291
+ }) : null, J = i.config.versionHistory ? bn({
2272
2292
  provider: i.config.versionHistory,
2273
- editor: vn(l, i.config.mergeTags),
2293
+ editor: An(l, i.config.mergeTags),
2274
2294
  history: K.history,
2275
2295
  conditionPreview: K.conditionPreview,
2276
2296
  autoSave: K.autoSave,
@@ -2281,26 +2301,26 @@ var Ln = ["aria-label"], Rn = {
2281
2301
  onError: i.config.onError
2282
2302
  }) : null;
2283
2303
  J && (G.versionHistory = J.capability);
2284
- let Y = v(() => L?.isOpen.value === !0 || u?.panelState.rightPanelOpen.value === !0), X = v(() => l.state.previewMode ? "tpl:left-0 tpl:right-0" : Y.value ? "tpl:left-12 tpl:right-[680px]" : "tpl:left-12 tpl:right-[320px]");
2285
- function ee(e) {
2304
+ let Y = v(() => L?.isOpen.value === !0 || u?.panelState.rightPanelOpen.value === !0), ee = v(() => l.state.previewMode ? "tpl:left-0 tpl:right-0" : Y.value ? "tpl:left-12 tpl:right-[680px]" : "tpl:left-12 tpl:right-[320px]");
2305
+ function te(e) {
2286
2306
  u && (e === "ai-chat" ? u.panelState.aiChatOpen.value = !0 : u.panelState.designReferenceOpen.value = !0);
2287
2307
  }
2288
- let { showNotice: te } = Ne(() => i.config.smallScreenNotice);
2308
+ let { showNotice: ne } = Ke(() => i.config.smallScreenNotice);
2289
2309
  x(async () => {
2290
2310
  await i.fontsManager.loadCustomFonts();
2291
2311
  }), a(() => {
2292
2312
  i.fontsManager.cleanupFontLinks(), i.cloud?.destroy(), K.destroy();
2293
2313
  });
2294
- let Z = f ?? l;
2314
+ let X = f ?? l;
2295
2315
  return n({
2296
2316
  getContent: () => l.content.value,
2297
2317
  setContent: (e) => l.setContent(e),
2298
2318
  setTheme: (e) => l.setUiTheme(e),
2299
2319
  setMergeTags: K.setMergeTags,
2300
2320
  isDirty: () => l.state.isDirty,
2301
- create: Z.create,
2302
- load: Z.load,
2303
- save: Z.save,
2321
+ create: X.create,
2322
+ load: X.load,
2323
+ save: X.save,
2304
2324
  renderCustomBlock: K.registry.renderCustomBlock,
2305
2325
  getCustomBlockStylesheet: (e) => K.registry.getDefinition(e)?.stylesheet
2306
2326
  }), (e, n) => (o(), y("div", {
@@ -2312,9 +2332,9 @@ var Ln = ["aria-label"], Rn = {
2312
2332
  onDragover: n[8] ||= C(() => {}, ["prevent"]),
2313
2333
  onDrop: n[9] ||= C(() => {}, ["prevent"])
2314
2334
  }, [
2315
- h(Pn),
2316
- O("div", Ti, [
2317
- h(Lr, {
2335
+ h(Kn),
2336
+ O("div", Ii, [
2337
+ h(Yr, {
2318
2338
  editor: m(l),
2319
2339
  core: m(K),
2320
2340
  templates: m(f),
@@ -2345,12 +2365,12 @@ var Ln = ["aria-label"], Rn = {
2345
2365
  "version-history",
2346
2366
  "comments"
2347
2367
  ]),
2348
- d(h(Wn, null, null, 512), [[A, !m(l).state.previewMode]]),
2368
+ d(h(nr, null, null, 512), [[A, !m(l).state.previewMode]]),
2349
2369
  O("div", {
2350
- class: _(["tpl-body tpl:absolute tpl:bottom-0 tpl:overflow-auto tpl:bg-[var(--tpl-canvas-bg)]", [X.value, m(J)?.isPreviewing.value ? "tpl:top-[104px]" : "tpl:top-14"]]),
2370
+ class: _(["tpl-body tpl:absolute tpl:bottom-0 tpl:overflow-auto tpl:bg-[var(--tpl-canvas-bg)]", [ee.value, m(J)?.isPreviewing.value ? "tpl:top-[104px]" : "tpl:top-14"]]),
2351
2371
  style: { transition: "all 300ms cubic-bezier(0.34, 1.56, 0.64, 1)" }
2352
- }, [O("div", Ei, [O("div", Di, [h(E, { name: "tpl-preview-pill" }, {
2353
- default: r(() => [m(l).state.previewMode && !m(K).previewResolution.supersedesSamples.value ? (o(), y("div", Oi, [h(Ht, {
2372
+ }, [O("div", Li, [O("div", Ri, [h(E, { name: "tpl-preview-pill" }, {
2373
+ default: r(() => [m(l).state.previewMode && !m(K).previewResolution.supersedesSamples.value ? (o(), y("div", zi, [h(en, {
2354
2374
  "sample-mode": m(K).mergeTagSampleMode.value,
2355
2375
  onChange: n[0] ||= (e) => m(K).mergeTagSampleMode.value = e
2356
2376
  }, null, 8, ["sample-mode"])])) : b("", !0)]),
@@ -2359,15 +2379,15 @@ var Ln = ["aria-label"], Rn = {
2359
2379
  default: r(() => [m(K).conditionPreview.hasHiddenBlocks.value && m(K).appliesConditionFilter.value ? (o(), y("button", {
2360
2380
  key: 0,
2361
2381
  type: "button",
2362
- class: _([m(Mt), "tpl:shadow-[var(--tpl-shadow-md)]"]),
2382
+ class: _([m(Ut), "tpl:shadow-[var(--tpl-shadow-md)]"]),
2363
2383
  "data-testid": "restore-hidden-blocks",
2364
2384
  onClick: n[1] ||= (e) => m(K).conditionPreview.reset()
2365
- }, [h(m(ut), {
2385
+ }, [h(m(xt), {
2366
2386
  size: 16,
2367
2387
  "stroke-width": 2
2368
2388
  }), I(" " + N(m(K).t.blockSettings.restoreHiddenBlocks), 1)], 2)) : b("", !0)]),
2369
2389
  _: 1
2370
- })])]), O("main", ki, [h(Nn, {
2390
+ })])]), O("main", Bi, [h(Gn, {
2371
2391
  viewport: m(l).state.viewport,
2372
2392
  content: m(K).previewResolution.content.value,
2373
2393
  "selected-block-id": m(l).state.selectedBlockId,
@@ -2375,8 +2395,8 @@ var Ln = ["aria-label"], Rn = {
2375
2395
  "preview-mode": m(l).state.previewMode,
2376
2396
  "locked-blocks": m(u)?.collaboration?.lockedBlocks.value,
2377
2397
  onSelectBlock: m(l).selectBlock,
2378
- onOpenAiChat: n[2] ||= (e) => ee("ai-chat"),
2379
- onOpenDesignReference: n[3] ||= (e) => ee("design-reference")
2398
+ onOpenAiChat: n[2] ||= (e) => te("ai-chat"),
2399
+ onOpenDesignReference: n[3] ||= (e) => te("design-reference")
2380
2400
  }, null, 8, [
2381
2401
  "viewport",
2382
2402
  "content",
@@ -2386,9 +2406,9 @@ var Ln = ["aria-label"], Rn = {
2386
2406
  "locked-blocks",
2387
2407
  "onSelectBlock"
2388
2408
  ])])], 2),
2389
- t.config.branding === !1 ? b("", !0) : (o(), T(hr, {
2409
+ t.config.branding === !1 ? b("", !0) : (o(), T(Dr, {
2390
2410
  key: 0,
2391
- "position-class": [X.value]
2411
+ "position-class": [ee.value]
2392
2412
  }, null, 8, ["position-class"])),
2393
2413
  O("div", {
2394
2414
  class: "tpl-sr-only",
@@ -2396,8 +2416,8 @@ var Ln = ["aria-label"], Rn = {
2396
2416
  "aria-live": "polite",
2397
2417
  "aria-atomic": "true",
2398
2418
  "aria-label": m(K).t.landmarks.reorderAnnouncements
2399
- }, N(m(K).keyboardReorder.announcement.value), 9, Ai),
2400
- d(h(sr, {
2419
+ }, N(m(K).keyboardReorder.announcement.value), 9, Vi),
2420
+ d(h(yr, {
2401
2421
  "selected-block": m(l).selectedBlock.value,
2402
2422
  settings: m(l).content.value.settings,
2403
2423
  "shifted-left": Y.value,
@@ -2419,8 +2439,8 @@ var Ln = ["aria-label"], Rn = {
2419
2439
  ref: (e) => m(K).popoverRoot.value = e,
2420
2440
  class: "tpl-popover-root"
2421
2441
  }, null, 512),
2422
- h(ni),
2423
- h(Ci),
2442
+ h(mi),
2443
+ h(Pi),
2424
2444
  m(S)?.isAvailable.value ? (o(), T(m(D), {
2425
2445
  key: 0,
2426
2446
  feature: m(S)
@@ -2465,26 +2485,26 @@ var Ln = ["aria-label"], Rn = {
2465
2485
  "cloud",
2466
2486
  "ready"
2467
2487
  ])) : b("", !0),
2468
- m(te) ? (o(), T(fr, { key: 6 })) : b("", !0)
2469
- ], 46, wi));
2488
+ m(ne) ? (o(), T(wr, { key: 6 })) : b("", !0)
2489
+ ], 46, Fi));
2470
2490
  }
2471
- }), [["__scopeId", "data-v-433680d1"]]);
2491
+ }), [["__scopeId", "data-v-d04b2cd0"]]);
2472
2492
  //#endregion
2473
2493
  //#region src/utils/renderProvider.ts
2474
- function Mi(e) {
2494
+ function Ui(e) {
2475
2495
  return {
2476
2496
  customFonts: e.customFonts.value,
2477
2497
  defaultFallback: e.defaultFallback.value
2478
2498
  };
2479
2499
  }
2480
- async function Ni(e) {
2481
- let t = V(e.getContent());
2482
- return await Kt(t, { renderCustomBlock: e.renderCustomBlock }), {
2483
- content: t,
2500
+ async function Wi(e) {
2501
+ let t = K(e.getContent()), n = e.getLayout?.(), r = n ? Y(n, t) : t;
2502
+ return n || (se(r), G(r)), await an(r, { renderCustomBlock: e.renderCustomBlock }), {
2503
+ content: r,
2484
2504
  fonts: e.getFonts()
2485
2505
  };
2486
2506
  }
2487
- function Pi(e) {
2507
+ function Gi(e) {
2488
2508
  async function t() {
2489
2509
  let t = e.provider, n = t?.toMjml?.bind(t);
2490
2510
  return n ? n(await e.buildPayload()) : e.renderLocalMjml();
@@ -2507,50 +2527,50 @@ function Pi(e) {
2507
2527
  }
2508
2528
  //#endregion
2509
2529
  //#region \0virtual:editor-css
2510
- var Fi = "@import\"https://fonts.bunny.net/css?family=geist:400,500,600\";.tpl-loading-track[data-v-e61f3b63]{height:3px;width:100%;border-radius:9999px;background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--tpl-primary) 10%,transparent) 15%,color-mix(in srgb,var(--tpl-primary) 30%,transparent) 30%,var(--tpl-primary) 50%,color-mix(in srgb,var(--tpl-primary) 30%,transparent) 70%,color-mix(in srgb,var(--tpl-primary) 10%,transparent) 85%,transparent 100%);background-size:200% 100%;animation:tpl-loading-flow-e61f3b63 3s ease-in-out infinite}@keyframes tpl-loading-flow-e61f3b63{0%{background-position:100% 0}to{background-position:-100% 0}}@media(prefers-reduced-motion:reduce){.tpl-loading-track[data-v-e61f3b63]{animation:none;background-position:50% 0}}.tpl-block--idle[data-v-2c239048]{outline:1.5px dashed color-mix(in srgb,var(--tpl-primary) 30%,transparent);outline-offset:-1px;transition:outline .15s cubic-bezier(.16,1,.3,1),box-shadow .15s cubic-bezier(.16,1,.3,1)}.tpl-block--idle[data-v-2c239048]:hover{outline:1.5px solid color-mix(in srgb,var(--tpl-primary) 50%,transparent);outline-offset:-1px;box-shadow:0 0 8px color-mix(in srgb,var(--tpl-primary) 8%,transparent)}.tpl-block--picked[data-v-2c239048]{outline:2px solid var(--tpl-primary);outline-offset:-1px;box-shadow:0 0 0 4px color-mix(in srgb,var(--tpl-primary) 18%,transparent);transition:outline .15s cubic-bezier(.16,1,.3,1),box-shadow .15s cubic-bezier(.16,1,.3,1)}.tpl-block--selected[data-v-2c239048]{outline:2px solid color-mix(in srgb,var(--tpl-primary) 60%,transparent);outline-offset:-1px;box-shadow:0 0 12px color-mix(in srgb,var(--tpl-primary) 15%,transparent);transition:outline .15s cubic-bezier(.16,1,.3,1),box-shadow .15s cubic-bezier(.16,1,.3,1)}.tpl-block-action-btn[data-v-2c239048]{color:var(--tpl-chrome-text-muted);background-color:transparent}.tpl-block-action-btn[data-v-2c239048]:hover{background-color:var(--tpl-bg-hover);color:var(--tpl-chrome-text)}.tpl-block-action-btn[data-v-2c239048]:active{transform:scale(.9)}.tpl-block-delete-btn[data-v-2c239048]:hover{background-color:var(--tpl-danger-light);color:var(--tpl-danger)}.tpl-condition-toggle[data-v-2c239048]:hover{background-color:var(--tpl-bg-hover)!important}.tpl-condition-toggle[data-v-2c239048]:active{transform:scale(.9)}.tpl-block-hidden-overlay[data-v-2c239048]{background-color:color-mix(in srgb,var(--tpl-bg) 60%,transparent)}.tpl-table-editable[data-v-963ac422] th[contenteditable],.tpl-table-editable[data-v-963ac422] td[contenteditable]{outline:none;cursor:text;min-width:calc(2 * var(--tpl-base-size))}.tpl-table-editable[data-v-963ac422] th[contenteditable]:empty:before,.tpl-table-editable[data-v-963ac422] td[contenteditable]:empty:before{content:attr(data-placeholder);color:var(--tpl-text-dim);pointer-events:none}.tpl-table-editable[data-v-963ac422] th[contenteditable]:focus,.tpl-table-editable[data-v-963ac422] td[contenteditable]:focus{outline:2px solid var(--tpl-primary);outline-offset:-2px;border-radius:1px}.tpl-canvas--dark-mode[data-v-5153811a] .tpl-block-content:not(.tpl-block-content *){filter:invert(1) hue-rotate(180deg)}[data-v-5153811a] .tpl-block-content{transition:filter .3s ease}.tpl-canvas--dark-mode[data-v-5153811a] .tpl-block-content img{filter:invert(1) hue-rotate(180deg)}.tpl-icon-enter-active[data-v-632aa74f],.tpl-icon-leave-active[data-v-632aa74f]{transition:opacity .12s cubic-bezier(.16,1,.3,1),transform .12s cubic-bezier(.16,1,.3,1)}.tpl-icon-enter-from[data-v-632aa74f],.tpl-icon-leave-to[data-v-632aa74f]{opacity:0;transform:scale(.8)}.tpl-dark-mode-toggle[data-v-632aa74f]:hover{background-color:var(--tpl-bg-hover)}.tpl-dark-mode-toggle[data-v-632aa74f]:active{transform:scale(.92)}.tpl-icon-enter-active[data-v-eef7b2ca],.tpl-icon-leave-active[data-v-eef7b2ca]{transition:opacity .12s cubic-bezier(.16,1,.3,1),transform .12s cubic-bezier(.16,1,.3,1)}.tpl-icon-enter-from[data-v-eef7b2ca],.tpl-icon-leave-to[data-v-eef7b2ca]{opacity:0;transform:scale(.8)}.tpl-preview-toggle[data-v-eef7b2ca]:hover{background-color:var(--tpl-bg-hover)}.tpl-preview-toggle[data-v-eef7b2ca]:active{transform:scale(.92)}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tpl-comet-angle:0deg;--tpl-comet-start:100%}}}@layer theme{:root,:host{--tpl-radius-sm:calc(.25 * var(--tpl-base-size));--tpl-radius-md:calc(.375 * var(--tpl-base-size));--tpl-radius-lg:calc(.5 * var(--tpl-base-size));--tpl-shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tpl-shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tpl-shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tpl-shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--tpl-radius:calc(.25 * var(--tpl-base-size))}}.tpl\\:pointer-events-auto{pointer-events:auto}.tpl\\:pointer-events-none{pointer-events:none}.tpl\\:invisible{visibility:hidden}.tpl\\:sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tpl\\:absolute{position:absolute}.tpl\\:fixed{position:fixed}.tpl\\:relative{position:relative}.tpl\\:sticky{position:sticky}.tpl\\:inset-0{inset:0}.tpl\\:inset-x-0{inset-inline:0}.tpl\\:inset-y-1{inset-block:calc(var(--tpl-base-size) / 4)}.tpl\\:-top-0\\.5{top:calc(calc(var(--tpl-base-size) / 4) * -.5)}.tpl\\:-top-1{top:calc(calc(var(--tpl-base-size) / 4) * -1)}.tpl\\:top-0{top:0}.tpl\\:top-1{top:calc(var(--tpl-base-size) / 4)}.tpl\\:top-1\\.5{top:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:top-1\\/2{top:50%}.tpl\\:top-2{top:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:top-14{top:calc(calc(var(--tpl-base-size) / 4) * 14)}.tpl\\:top-16{top:calc(calc(var(--tpl-base-size) / 4) * 16)}.tpl\\:top-\\[104px\\]{top:104px}.tpl\\:top-full{top:100%}.tpl\\:-right-1{right:calc(calc(var(--tpl-base-size) / 4) * -1)}.tpl\\:-right-2{right:calc(calc(var(--tpl-base-size) / 4) * -2)}.tpl\\:right-0{right:0}.tpl\\:right-1{right:calc(var(--tpl-base-size) / 4)}.tpl\\:right-1\\.5{right:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:right-2{right:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:right-2\\.5{right:calc(calc(var(--tpl-base-size) / 4) * 2.5)}.tpl\\:right-\\[320px\\]{right:320px}.tpl\\:right-\\[360px\\]{right:360px}.tpl\\:right-\\[680px\\]{right:680px}.tpl\\:bottom-0{bottom:0}.tpl\\:bottom-1{bottom:calc(var(--tpl-base-size) / 4)}.tpl\\:bottom-10{bottom:calc(calc(var(--tpl-base-size) / 4) * 10)}.tpl\\:bottom-full{bottom:100%}.tpl\\:-left-1{left:calc(calc(var(--tpl-base-size) / 4) * -1)}.tpl\\:left-0{left:0}.tpl\\:left-1\\.5{left:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:left-1\\/2{left:50%}.tpl\\:left-2\\.5{left:calc(calc(var(--tpl-base-size) / 4) * 2.5)}.tpl\\:left-3{left:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:left-5{left:calc(calc(var(--tpl-base-size) / 4) * 5)}.tpl\\:left-12{left:calc(calc(var(--tpl-base-size) / 4) * 12)}.tpl\\:z-10{z-index:10}.tpl\\:z-40{z-index:40}.tpl\\:z-50{z-index:50}.tpl\\:z-\\[4\\]{z-index:4}.tpl\\:z-\\[5\\]{z-index:5}.tpl\\:z-\\[60\\]{z-index:60}.tpl\\:z-\\[100\\]{z-index:100}.tpl\\:m-0{margin:0}.tpl\\:m-6{margin:calc(calc(var(--tpl-base-size) / 4) * 6)}.tpl\\:mx-0\\.5{margin-inline:calc(calc(var(--tpl-base-size) / 4) * .5)}.tpl\\:mx-1{margin-inline:calc(var(--tpl-base-size) / 4)}.tpl\\:mx-1\\.5{margin-inline:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:mx-3{margin-inline:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:mx-4{margin-inline:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:mx-6{margin-inline:calc(calc(var(--tpl-base-size) / 4) * 6)}.tpl\\:mx-auto{margin-inline:auto}.tpl\\:mt-0\\.5{margin-top:calc(calc(var(--tpl-base-size) / 4) * .5)}.tpl\\:mt-1{margin-top:calc(var(--tpl-base-size) / 4)}.tpl\\:mt-1\\.5{margin-top:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:mt-2{margin-top:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:mt-3{margin-top:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:mt-4{margin-top:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:\\!mb-0{margin-bottom:0!important}.tpl\\:mb-1{margin-bottom:calc(var(--tpl-base-size) / 4)}.tpl\\:mb-1\\.5{margin-bottom:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:mb-2{margin-bottom:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:mb-2\\.5{margin-bottom:calc(calc(var(--tpl-base-size) / 4) * 2.5)}.tpl\\:mb-3{margin-bottom:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:mb-3\\.5{margin-bottom:calc(calc(var(--tpl-base-size) / 4) * 3.5)}.tpl\\:mb-4{margin-bottom:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:mb-px{margin-bottom:1px}.tpl\\:-ml-48{margin-left:calc(calc(var(--tpl-base-size) / 4) * -48)}.tpl\\:ml-0{margin-left:0}.tpl\\:ml-0\\.5{margin-left:calc(calc(var(--tpl-base-size) / 4) * .5)}.tpl\\:ml-1{margin-left:calc(var(--tpl-base-size) / 4)}.tpl\\:ml-5{margin-left:calc(calc(var(--tpl-base-size) / 4) * 5)}.tpl\\:ml-auto{margin-left:auto}.tpl\\:line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.tpl\\:line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.tpl\\:\\!flex{display:flex!important}.tpl\\:block{display:block}.tpl\\:flex{display:flex}.tpl\\:grid{display:grid}.tpl\\:hidden{display:none}.tpl\\:inline{display:inline}.tpl\\:inline-block{display:inline-block}.tpl\\:inline-flex{display:inline-flex}.tpl\\:aspect-square{aspect-ratio:1}.tpl\\:size-1\\.5{width:calc(calc(var(--tpl-base-size) / 4) * 1.5);height:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:size-2{width:calc(calc(var(--tpl-base-size) / 4) * 2);height:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:size-3{width:calc(calc(var(--tpl-base-size) / 4) * 3);height:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:size-4{width:calc(calc(var(--tpl-base-size) / 4) * 4);height:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:size-4\\.5{width:calc(calc(var(--tpl-base-size) / 4) * 4.5);height:calc(calc(var(--tpl-base-size) / 4) * 4.5)}.tpl\\:size-5{width:calc(calc(var(--tpl-base-size) / 4) * 5);height:calc(calc(var(--tpl-base-size) / 4) * 5)}.tpl\\:size-6{width:calc(calc(var(--tpl-base-size) / 4) * 6);height:calc(calc(var(--tpl-base-size) / 4) * 6)}.tpl\\:size-7{width:calc(calc(var(--tpl-base-size) / 4) * 7);height:calc(calc(var(--tpl-base-size) / 4) * 7)}.tpl\\:size-8{width:calc(calc(var(--tpl-base-size) / 4) * 8);height:calc(calc(var(--tpl-base-size) / 4) * 8)}.tpl\\:size-10{width:calc(calc(var(--tpl-base-size) / 4) * 10);height:calc(calc(var(--tpl-base-size) / 4) * 10)}.tpl\\:size-16{width:calc(calc(var(--tpl-base-size) / 4) * 16);height:calc(calc(var(--tpl-base-size) / 4) * 16)}.tpl\\:size-full{width:100%;height:100%}.tpl\\:h-0{height:0}.tpl\\:h-2\\.5{height:calc(calc(var(--tpl-base-size) / 4) * 2.5)}.tpl\\:h-3{height:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:h-4{height:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:h-5{height:calc(calc(var(--tpl-base-size) / 4) * 5)}.tpl\\:h-6{height:calc(calc(var(--tpl-base-size) / 4) * 6)}.tpl\\:h-7{height:calc(calc(var(--tpl-base-size) / 4) * 7)}.tpl\\:h-8{height:calc(calc(var(--tpl-base-size) / 4) * 8)}.tpl\\:h-9{height:calc(calc(var(--tpl-base-size) / 4) * 9)}.tpl\\:h-10{height:calc(calc(var(--tpl-base-size) / 4) * 10)}.tpl\\:h-12{height:calc(calc(var(--tpl-base-size) / 4) * 12)}.tpl\\:h-14{height:calc(calc(var(--tpl-base-size) / 4) * 14)}.tpl\\:h-16{height:calc(calc(var(--tpl-base-size) / 4) * 16)}.tpl\\:h-32{height:calc(calc(var(--tpl-base-size) / 4) * 32)}.tpl\\:h-44{height:calc(calc(var(--tpl-base-size) / 4) * 44)}.tpl\\:h-\\[32px\\]{height:32px}.tpl\\:h-auto{height:auto}.tpl\\:h-full{height:100%}.tpl\\:max-h-24{max-height:calc(calc(var(--tpl-base-size) / 4) * 24)}.tpl\\:max-h-32{max-height:calc(calc(var(--tpl-base-size) / 4) * 32)}.tpl\\:max-h-48{max-height:calc(calc(var(--tpl-base-size) / 4) * 48)}.tpl\\:max-h-56{max-height:calc(calc(var(--tpl-base-size) / 4) * 56)}.tpl\\:max-h-64{max-height:calc(calc(var(--tpl-base-size) / 4) * 64)}.tpl\\:max-h-\\[50vh\\]{max-height:50vh}.tpl\\:max-h-\\[60vh\\]{max-height:60vh}.tpl\\:max-h-\\[80\\%\\]{max-height:80%}.tpl\\:max-h-\\[80vh\\]{max-height:80vh}.tpl\\:max-h-\\[90\\%\\]{max-height:90%}.tpl\\:max-h-\\[90vh\\]{max-height:90vh}.tpl\\:max-h-full{max-height:100%}.tpl\\:min-h-0{min-height:0}.tpl\\:min-h-6{min-height:calc(calc(var(--tpl-base-size) / 4) * 6)}.tpl\\:min-h-10{min-height:calc(calc(var(--tpl-base-size) / 4) * 10)}.tpl\\:min-h-20{min-height:calc(calc(var(--tpl-base-size) / 4) * 20)}.tpl\\:min-h-\\[1\\.5em\\]{min-height:1.5em}.tpl\\:min-h-\\[1em\\]{min-height:1em}.tpl\\:min-h-\\[48px\\]{min-height:48px}.tpl\\:min-h-\\[60px\\]{min-height:60px}.tpl\\:min-h-\\[64px\\]{min-height:64px}.tpl\\:min-h-\\[68px\\]{min-height:68px}.tpl\\:min-h-\\[72px\\]{min-height:72px}.tpl\\:min-h-\\[80px\\]{min-height:80px}.tpl\\:min-h-\\[100px\\]{min-height:100px}.tpl\\:min-h-\\[120px\\]{min-height:120px}.tpl\\:min-h-\\[150px\\]{min-height:150px}.tpl\\:min-h-\\[400px\\]{min-height:400px}.tpl\\:w-1\\/2{width:50%}.tpl\\:w-1\\/3{width:33.3333%}.tpl\\:w-1\\/4{width:25%}.tpl\\:w-2\\/3{width:66.6667%}.tpl\\:w-3\\/4{width:75%}.tpl\\:w-5\\/6{width:83.3333%}.tpl\\:w-7{width:calc(calc(var(--tpl-base-size) / 4) * 7)}.tpl\\:w-8{width:calc(calc(var(--tpl-base-size) / 4) * 8)}.tpl\\:w-9{width:calc(calc(var(--tpl-base-size) / 4) * 9)}.tpl\\:w-10{width:calc(calc(var(--tpl-base-size) / 4) * 10)}.tpl\\:w-12{width:calc(calc(var(--tpl-base-size) / 4) * 12)}.tpl\\:w-16{width:calc(calc(var(--tpl-base-size) / 4) * 16)}.tpl\\:w-20{width:calc(calc(var(--tpl-base-size) / 4) * 20)}.tpl\\:w-28{width:calc(calc(var(--tpl-base-size) / 4) * 28)}.tpl\\:w-32{width:calc(calc(var(--tpl-base-size) / 4) * 32)}.tpl\\:w-36{width:calc(calc(var(--tpl-base-size) / 4) * 36)}.tpl\\:w-40{width:calc(calc(var(--tpl-base-size) / 4) * 40)}.tpl\\:w-48{width:calc(calc(var(--tpl-base-size) / 4) * 48)}.tpl\\:w-52{width:calc(calc(var(--tpl-base-size) / 4) * 52)}.tpl\\:w-56{width:calc(calc(var(--tpl-base-size) / 4) * 56)}.tpl\\:w-72{width:calc(calc(var(--tpl-base-size) / 4) * 72)}.tpl\\:w-\\[280px\\]{width:280px}.tpl\\:w-\\[300px\\]{width:300px}.tpl\\:w-\\[320px\\]{width:320px}.tpl\\:w-\\[360px\\]{width:360px}.tpl\\:w-\\[400px\\]{width:400px}.tpl\\:w-\\[420px\\]{width:420px}.tpl\\:w-\\[1000px\\]{width:1000px}.tpl\\:w-\\[min\\(420px\\,92vw\\)\\]{width:min(420px,92vw)}.tpl\\:w-full{width:100%}.tpl\\:w-px{width:1px}.tpl\\:max-w-2xl{max-width:calc(42 * var(--tpl-base-size))}.tpl\\:max-w-3xl{max-width:calc(48 * var(--tpl-base-size))}.tpl\\:max-w-\\[220px\\]{max-width:220px}.tpl\\:max-w-\\[240px\\]{max-width:240px}.tpl\\:max-w-\\[260px\\]{max-width:260px}.tpl\\:max-w-\\[320px\\]{max-width:320px}.tpl\\:max-w-\\[600px\\]{max-width:600px}.tpl\\:max-w-\\[calc\\(100\\%_-_2\\*var\\(--tpl-base-size\\)\\)\\]{max-width:calc(100% - 2 * var(--tpl-base-size))}.tpl\\:max-w-\\[calc\\(100vw_-_2\\*var\\(--tpl-base-size\\)\\)\\]{max-width:calc(100vw - 2 * var(--tpl-base-size))}.tpl\\:max-w-full{max-width:100%}.tpl\\:max-w-md{max-width:calc(28 * var(--tpl-base-size))}.tpl\\:max-w-sm{max-width:calc(24 * var(--tpl-base-size))}.tpl\\:min-w-0{min-width:0}.tpl\\:min-w-6{min-width:calc(calc(var(--tpl-base-size) / 4) * 6)}.tpl\\:min-w-\\[20px\\]{min-width:20px}.tpl\\:min-w-\\[200px\\]{min-width:200px}.tpl\\:flex-1{flex:1}.tpl\\:flex-shrink-0,.tpl\\:shrink-0{flex-shrink:0}.tpl\\:origin-top-right{transform-origin:100% 0}.tpl\\:-translate-x-1\\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\\:-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\\:translate-x-0{--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\\:translate-x-4{--tw-translate-x:calc(calc(var(--tpl-base-size) / 4) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\\:translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\\:-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\\:-translate-y-2{--tw-translate-y:calc(calc(var(--tpl-base-size) / 4) * -2);translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\\:-translate-y-full{--tw-translate-y:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\\:translate-y-0{--tw-translate-y:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\\:translate-y-1{--tw-translate-y:calc(var(--tpl-base-size) / 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\\:translate-y-\\[-8px\\]{--tw-translate-y:-8px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\\:scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.tpl\\:scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.tpl\\:-rotate-90{rotate:-90deg}.tpl\\:rotate-0{rotate:0deg}.tpl\\:rotate-45{rotate:45deg}.tpl\\:rotate-90{rotate:90deg}.tpl\\:rotate-180{rotate:180deg}.tpl\\:animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.tpl\\:animate-spin{animation:1s linear infinite spin}.tpl\\:cursor-default{cursor:default}.tpl\\:cursor-grab{cursor:grab}.tpl\\:cursor-help{cursor:help}.tpl\\:cursor-not-allowed{cursor:not-allowed}.tpl\\:cursor-pointer{cursor:pointer}.tpl\\:resize-none{resize:none}.tpl\\:resize-y{resize:vertical}.tpl\\:list-none{list-style-type:none}.tpl\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.tpl\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.tpl\\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.tpl\\:grid-cols-\\[1fr_auto_1fr\\]{grid-template-columns:1fr auto 1fr}.tpl\\:flex-col{flex-direction:column}.tpl\\:flex-row-reverse{flex-direction:row-reverse}.tpl\\:flex-wrap{flex-wrap:wrap}.tpl\\:items-center{align-items:center}.tpl\\:items-end{align-items:flex-end}.tpl\\:items-start{align-items:flex-start}.tpl\\:items-stretch{align-items:stretch}.tpl\\:justify-between{justify-content:space-between}.tpl\\:justify-center{justify-content:center}.tpl\\:justify-end{justify-content:flex-end}.tpl\\:gap-0{gap:0}.tpl\\:gap-0\\.5{gap:calc(calc(var(--tpl-base-size) / 4) * .5)}.tpl\\:gap-1{gap:calc(var(--tpl-base-size) / 4)}.tpl\\:gap-1\\.5{gap:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:gap-2{gap:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:gap-2\\.5{gap:calc(calc(var(--tpl-base-size) / 4) * 2.5)}.tpl\\:gap-3{gap:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:gap-3\\.5{gap:calc(calc(var(--tpl-base-size) / 4) * 3.5)}.tpl\\:gap-4{gap:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:gap-5{gap:calc(calc(var(--tpl-base-size) / 4) * 5)}.tpl\\:gap-6{gap:calc(calc(var(--tpl-base-size) / 4) * 6)}.tpl\\:gap-10{gap:calc(calc(var(--tpl-base-size) / 4) * 10)}:where(.tpl\\:space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--tpl-base-size) / 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--tpl-base-size) / 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.tpl\\:space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--tpl-base-size) / 4) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--tpl-base-size) / 4) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.tpl\\:space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--tpl-base-size) / 4) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--tpl-base-size) / 4) * 3) * calc(1 - var(--tw-space-y-reverse)))}.tpl\\:gap-x-1{column-gap:calc(var(--tpl-base-size) / 4)}.tpl\\:gap-x-3{column-gap:calc(calc(var(--tpl-base-size) / 4) * 3)}:where(.tpl\\:-space-x-1\\.5>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(calc(var(--tpl-base-size) / 4) * -1.5) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(calc(var(--tpl-base-size) / 4) * -1.5) * calc(1 - var(--tw-space-x-reverse)))}.tpl\\:gap-y-0\\.5{row-gap:calc(calc(var(--tpl-base-size) / 4) * .5)}.tpl\\:gap-y-1\\.5{row-gap:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:self-end{align-self:flex-end}.tpl\\:self-start{align-self:flex-start}.tpl\\:truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tpl\\:overflow-auto{overflow:auto}.tpl\\:overflow-hidden{overflow:hidden}.tpl\\:overflow-x-auto{overflow-x:auto}.tpl\\:overflow-y-auto{overflow-y:auto}.tpl\\:rounded{border-radius:calc(.25 * var(--tpl-base-size))}.tpl\\:rounded-\\[calc\\(var\\(--tpl-radius-sm\\)-2px\\)\\]{border-radius:calc(var(--tpl-radius-sm) - 2px)}.tpl\\:rounded-\\[var\\(--tpl-radius\\)\\]{border-radius:var(--tpl-radius)}.tpl\\:rounded-\\[var\\(--tpl-radius-lg\\)\\]{border-radius:var(--tpl-radius-lg)}.tpl\\:rounded-\\[var\\(--tpl-radius-md\\)\\]{border-radius:var(--tpl-radius-md)}.tpl\\:rounded-\\[var\\(--tpl-radius-sm\\)\\]{border-radius:var(--tpl-radius-sm)}.tpl\\:rounded-full{border-radius:3.40282e38px}.tpl\\:rounded-lg{border-radius:calc(.5 * var(--tpl-base-size))}.tpl\\:rounded-md{border-radius:calc(.375 * var(--tpl-base-size))}.tpl\\:rounded-sm{border-radius:calc(.25 * var(--tpl-base-size))}.tpl\\:rounded-xl{border-radius:calc(.75 * var(--tpl-base-size))}.tpl\\:rounded-l-\\[var\\(--tpl-radius-sm\\)\\]{border-top-left-radius:var(--tpl-radius-sm);border-bottom-left-radius:var(--tpl-radius-sm)}.tpl\\:rounded-tl-lg{border-top-left-radius:calc(.5 * var(--tpl-base-size))}.tpl\\:rounded-r-\\[var\\(--tpl-radius-sm\\)\\]{border-top-right-radius:var(--tpl-radius-sm);border-bottom-right-radius:var(--tpl-radius-sm)}.tpl\\:rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.tpl\\:border{border-style:var(--tw-border-style);border-width:1px}.tpl\\:border-0{border-style:var(--tw-border-style);border-width:0}.tpl\\:border-2{border-style:var(--tw-border-style);border-width:2px}.tpl\\:border-x-0{border-inline-style:var(--tw-border-style);border-inline-width:0}.tpl\\:border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.tpl\\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.tpl\\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.tpl\\:border-r-0{border-right-style:var(--tw-border-style);border-right-width:0}.tpl\\:border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.tpl\\:border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.tpl\\:border-l-0{border-left-style:var(--tw-border-style);border-left-width:0}.tpl\\:border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.tpl\\:border-dashed{--tw-border-style:dashed;border-style:dashed}.tpl\\:border-none{--tw-border-style:none;border-style:none}.tpl\\:border-\\[var\\(--tpl-bg\\)\\]{border-color:var(--tpl-bg)}.tpl\\:border-\\[var\\(--tpl-border\\)\\]{border-color:var(--tpl-border)}.tpl\\:border-\\[var\\(--tpl-border-light\\)\\]{border-color:var(--tpl-border-light)}.tpl\\:border-\\[var\\(--tpl-danger\\)\\]{border-color:var(--tpl-danger)}.tpl\\:border-\\[var\\(--tpl-primary\\)\\]{border-color:var(--tpl-primary)}.tpl\\:border-\\[var\\(--tpl-primary-hover\\)\\]{border-color:var(--tpl-primary-hover)}.tpl\\:border-\\[var\\(--tpl-warning\\)\\]{border-color:var(--tpl-warning)}.tpl\\:border-transparent{border-color:#0000}.tpl\\:border-l-\\[var\\(--tpl-primary\\)\\]{border-left-color:var(--tpl-primary)}.tpl\\:border-l-transparent{border-left-color:#0000}.tpl\\:bg-\\[color-mix\\(in_srgb\\,var\\(--tpl-bg\\)_90\\%\\,transparent\\)\\]{background-color:var(--tpl-bg)}@supports (color:color-mix(in lab,red,red)){.tpl\\:bg-\\[color-mix\\(in_srgb\\,var\\(--tpl-bg\\)_90\\%\\,transparent\\)\\]{background-color:color-mix(in srgb,var(--tpl-bg) 90%,transparent)}}.tpl\\:bg-\\[var\\(--tpl-bg\\)\\]{background-color:var(--tpl-bg)}.tpl\\:bg-\\[var\\(--tpl-bg-active\\)\\]{background-color:var(--tpl-bg-active)}.tpl\\:bg-\\[var\\(--tpl-bg-elevated\\)\\]{background-color:var(--tpl-bg-elevated)}.tpl\\:bg-\\[var\\(--tpl-bg-hover\\)\\]{background-color:var(--tpl-bg-hover)}.tpl\\:bg-\\[var\\(--tpl-border\\)\\]{background-color:var(--tpl-border)}.tpl\\:bg-\\[var\\(--tpl-canvas-bg\\)\\]{background-color:var(--tpl-canvas-bg)}.tpl\\:bg-\\[var\\(--tpl-chrome-bg-elevated\\)\\]{background-color:var(--tpl-chrome-bg-elevated)}.tpl\\:bg-\\[var\\(--tpl-chrome-primary-light\\)\\]{background-color:var(--tpl-chrome-primary-light)}.tpl\\:bg-\\[var\\(--tpl-danger\\)\\]{background-color:var(--tpl-danger)}.tpl\\:bg-\\[var\\(--tpl-danger-light\\)\\]{background-color:var(--tpl-danger-light)}.tpl\\:bg-\\[var\\(--tpl-primary\\)\\]{background-color:var(--tpl-primary)}.tpl\\:bg-\\[var\\(--tpl-primary-light\\)\\]{background-color:var(--tpl-primary-light)}.tpl\\:bg-\\[var\\(--tpl-warning-light\\)\\]{background-color:var(--tpl-warning-light)}.tpl\\:bg-black\\/30{background-color:oklab(0% none none/.3)}.tpl\\:bg-transparent{background-color:#0000}.tpl\\:object-contain{object-fit:contain}.tpl\\:object-cover{object-fit:cover}.tpl\\:p-0{padding:0}.tpl\\:p-0\\.5{padding:calc(calc(var(--tpl-base-size) / 4) * .5)}.tpl\\:p-1{padding:calc(var(--tpl-base-size) / 4)}.tpl\\:p-1\\.5{padding:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:p-2{padding:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:p-3{padding:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:p-4{padding:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:p-5{padding:calc(calc(var(--tpl-base-size) / 4) * 5)}.tpl\\:p-6{padding:calc(calc(var(--tpl-base-size) / 4) * 6)}.tpl\\:p-8{padding:calc(calc(var(--tpl-base-size) / 4) * 8)}.tpl\\:px-0\\.5{padding-inline:calc(calc(var(--tpl-base-size) / 4) * .5)}.tpl\\:px-1{padding-inline:calc(var(--tpl-base-size) / 4)}.tpl\\:px-1\\.5{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:px-2{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:px-2\\.5{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 2.5)}.tpl\\:px-3{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:px-3\\.5{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 3.5)}.tpl\\:px-4{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:px-5{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 5)}.tpl\\:px-6{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 6)}.tpl\\:px-8{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 8)}.tpl\\:px-10{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 10)}.tpl\\:py-0{padding-block:0}.tpl\\:py-0\\.5{padding-block:calc(calc(var(--tpl-base-size) / 4) * .5)}.tpl\\:py-1{padding-block:calc(var(--tpl-base-size) / 4)}.tpl\\:py-1\\.5{padding-block:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:py-2{padding-block:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:py-2\\.5{padding-block:calc(calc(var(--tpl-base-size) / 4) * 2.5)}.tpl\\:py-3{padding-block:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:py-3\\.5{padding-block:calc(calc(var(--tpl-base-size) / 4) * 3.5)}.tpl\\:py-4{padding-block:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:py-5{padding-block:calc(calc(var(--tpl-base-size) / 4) * 5)}.tpl\\:py-6{padding-block:calc(calc(var(--tpl-base-size) / 4) * 6)}.tpl\\:py-8{padding-block:calc(calc(var(--tpl-base-size) / 4) * 8)}.tpl\\:py-10{padding-block:calc(calc(var(--tpl-base-size) / 4) * 10)}.tpl\\:py-12{padding-block:calc(calc(var(--tpl-base-size) / 4) * 12)}.tpl\\:py-16{padding-block:calc(calc(var(--tpl-base-size) / 4) * 16)}.tpl\\:py-\\[5px\\]{padding-block:5px}.tpl\\:py-\\[7px\\]{padding-block:7px}.tpl\\:py-px{padding-block:1px}.tpl\\:pt-1{padding-top:calc(var(--tpl-base-size) / 4)}.tpl\\:pt-2{padding-top:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:pt-2\\.5{padding-top:calc(calc(var(--tpl-base-size) / 4) * 2.5)}.tpl\\:pt-3{padding-top:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:pt-4{padding-top:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:pr-2{padding-right:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:pr-3{padding-right:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:pr-4{padding-right:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:pr-7{padding-right:calc(calc(var(--tpl-base-size) / 4) * 7)}.tpl\\:pr-8{padding-right:calc(calc(var(--tpl-base-size) / 4) * 8)}.tpl\\:pb-1{padding-bottom:calc(var(--tpl-base-size) / 4)}.tpl\\:pb-1\\.5{padding-bottom:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:pb-2{padding-bottom:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:pb-3{padding-bottom:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:pb-4{padding-bottom:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:pl-2\\.5{padding-left:calc(calc(var(--tpl-base-size) / 4) * 2.5)}.tpl\\:pl-3{padding-left:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:pl-4{padding-left:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:pl-8{padding-left:calc(calc(var(--tpl-base-size) / 4) * 8)}.tpl\\:pl-9{padding-left:calc(calc(var(--tpl-base-size) / 4) * 9)}.tpl\\:pl-\\[18px\\]{padding-left:18px}.tpl\\:text-center{text-align:center}.tpl\\:text-left{text-align:left}.tpl\\:font-\\[inherit\\]{font-family:inherit}.tpl\\:font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.tpl\\:font-sans{font-family:Geist,ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.tpl\\:text-4xl{font-size:calc(2.25 * var(--tpl-base-size));line-height:var(--tw-leading,calc(2.5 / 2.25))}.tpl\\:text-base{font-size:var(--tpl-base-size);line-height:var(--tw-leading, 1.5 )}.tpl\\:text-lg{font-size:calc(1.125 * var(--tpl-base-size));line-height:var(--tw-leading,calc(1.75 / 1.125))}.tpl\\:text-sm{font-size:calc(.875 * var(--tpl-base-size));line-height:var(--tw-leading,calc(1.25 / .875))}.tpl\\:text-xs{font-size:calc(.75 * var(--tpl-base-size));line-height:var(--tw-leading,calc(1 / .75))}.tpl\\:text-\\[0\\.8em\\]{font-size:.8em}.tpl\\:text-\\[0\\.9em\\]{font-size:.9em}.tpl\\:text-\\[1em\\]{font-size:1em}.tpl\\:text-\\[10px\\]{font-size:10px}.tpl\\:text-\\[12px\\]{font-size:12px}.tpl\\:text-\\[13px\\]{font-size:13px}.tpl\\:text-\\[length\\:inherit\\]{font-size:inherit}.tpl\\:leading-none{--tw-leading:1;line-height:1}.tpl\\:leading-normal{--tw-leading:1.5;line-height:1.5}.tpl\\:leading-relaxed{--tw-leading:1.625;line-height:1.625}.tpl\\:leading-snug{--tw-leading:1.375;line-height:1.375}.tpl\\:leading-tight{--tw-leading:1.25;line-height:1.25}.tpl\\:font-\\[var\\(--tpl-font-family\\)\\]{--tw-font-weight:var(--tpl-font-family);font-weight:var(--tpl-font-family)}.tpl\\:font-bold{--tw-font-weight:700;font-weight:700}.tpl\\:font-medium{--tw-font-weight:500;font-weight:500}.tpl\\:font-normal{--tw-font-weight:400;font-weight:400}.tpl\\:font-semibold{--tw-font-weight:600;font-weight:600}.tpl\\:tracking-wide{--tw-tracking:.025em;letter-spacing:.025em}.tpl\\:tracking-wider{--tw-tracking:.05em;letter-spacing:.05em}.tpl\\:break-all{word-break:break-all}.tpl\\:text-ellipsis{text-overflow:ellipsis}.tpl\\:whitespace-nowrap{white-space:nowrap}.tpl\\:whitespace-pre-wrap{white-space:pre-wrap}.tpl\\:text-\\[var\\(--tpl-bg\\)\\]{color:var(--tpl-bg)}.tpl\\:text-\\[var\\(--tpl-border\\)\\]{color:var(--tpl-border)}.tpl\\:text-\\[var\\(--tpl-border-light\\)\\]{color:var(--tpl-border-light)}.tpl\\:text-\\[var\\(--tpl-chrome-text-dim\\)\\]{color:var(--tpl-chrome-text-dim)}.tpl\\:text-\\[var\\(--tpl-chrome-text-muted\\)\\]{color:var(--tpl-chrome-text-muted)}.tpl\\:text-\\[var\\(--tpl-danger\\)\\]{color:var(--tpl-danger)}.tpl\\:text-\\[var\\(--tpl-on-primary\\)\\]{color:var(--tpl-on-primary)}.tpl\\:text-\\[var\\(--tpl-primary\\)\\]{color:var(--tpl-primary)}.tpl\\:text-\\[var\\(--tpl-primary-hover\\)\\]{color:var(--tpl-primary-hover)}.tpl\\:text-\\[var\\(--tpl-success\\)\\]{color:var(--tpl-success)}.tpl\\:text-\\[var\\(--tpl-success\\,var\\(--tpl-primary\\)\\)\\]{color:var(--tpl-success,var(--tpl-primary))}.tpl\\:text-\\[var\\(--tpl-text\\)\\]{color:var(--tpl-text)}.tpl\\:text-\\[var\\(--tpl-text-dim\\)\\]{color:var(--tpl-text-dim)}.tpl\\:text-\\[var\\(--tpl-text-muted\\)\\]{color:var(--tpl-text-muted)}.tpl\\:text-\\[var\\(--tpl-warning\\)\\]{color:var(--tpl-warning)}.tpl\\:normal-case{text-transform:none}.tpl\\:uppercase{text-transform:uppercase}.tpl\\:italic{font-style:italic}.tpl\\:tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tpl\\:no-underline{text-decoration-line:none}.tpl\\:underline{text-decoration-line:underline}.tpl\\:accent-\\[var\\(--tpl-primary\\)\\]{accent-color:var(--tpl-primary)}.tpl\\:opacity-0{opacity:0}.tpl\\:opacity-50{opacity:.5}.tpl\\:opacity-60{opacity:.6}.tpl\\:opacity-70{opacity:.7}.tpl\\:opacity-90{opacity:.9}.tpl\\:opacity-100{opacity:1}.tpl\\:shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:shadow-\\[var\\(--tpl-ring\\)\\]{--tw-shadow:var(--tpl-ring);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:shadow-\\[var\\(--tpl-shadow\\)\\]{--tw-shadow:var(--tpl-shadow);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:shadow-\\[var\\(--tpl-shadow-lg\\)\\]{--tw-shadow:var(--tpl-shadow-lg);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:shadow-\\[var\\(--tpl-shadow-md\\)\\]{--tw-shadow:var(--tpl-shadow-md);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:shadow-\\[var\\(--tpl-shadow-sm\\)\\]{--tw-shadow:var(--tpl-shadow-sm);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:ring-\\[var\\(--tpl-border\\)\\]{--tw-ring-color:var(--tpl-border)}.tpl\\:ring-\\[var\\(--tpl-primary\\)\\]{--tw-ring-color:var(--tpl-primary)}.tpl\\:ring-offset-1{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.tpl\\:ring-offset-\\[var\\(--tpl-bg-elevated\\)\\]{--tw-ring-offset-color:var(--tpl-bg-elevated)}.tpl\\:backdrop-blur-\\[2px\\]{--tw-backdrop-blur:blur(2px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.tpl\\:transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,cubic-bezier(.16, 1, .3, 1));transition-duration:var(--tw-duration,.12s)}.tpl\\:transition-all{transition-property:all;transition-timing-function:var(--tw-ease,cubic-bezier(.16, 1, .3, 1));transition-duration:var(--tw-duration,.12s)}.tpl\\:transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,cubic-bezier(.16, 1, .3, 1));transition-duration:var(--tw-duration,.12s)}.tpl\\:transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,cubic-bezier(.16, 1, .3, 1));transition-duration:var(--tw-duration,.12s)}.tpl\\:transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,cubic-bezier(.16, 1, .3, 1));transition-duration:var(--tw-duration,.12s)}.tpl\\:transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,cubic-bezier(.16, 1, .3, 1));transition-duration:var(--tw-duration,.12s)}.tpl\\:duration-100{--tw-duration:.1s;transition-duration:.1s}.tpl\\:duration-150{--tw-duration:.15s;transition-duration:.15s}.tpl\\:duration-200{--tw-duration:.2s;transition-duration:.2s}.tpl\\:duration-300{--tw-duration:.3s;transition-duration:.3s}.tpl\\:duration-\\[80ms\\]{--tw-duration:80ms;transition-duration:80ms}.tpl\\:duration-\\[120ms\\]{--tw-duration:.12s;transition-duration:.12s}.tpl\\:ease-\\[cubic-bezier\\(0\\.16\\,1\\,0\\.3\\,1\\)\\]{--tw-ease:cubic-bezier(.16,1,.3,1);transition-timing-function:cubic-bezier(.16,1,.3,1)}.tpl\\:ease-in{--tw-ease:cubic-bezier(.4, 0, 1, 1);transition-timing-function:cubic-bezier(.4,0,1,1)}.tpl\\:ease-out{--tw-ease:cubic-bezier(0, 0, .2, 1);transition-timing-function:cubic-bezier(0,0,.2,1)}.tpl\\:outline-none{--tw-outline-style:none;outline-style:none}.tpl\\:select-none{-webkit-user-select:none;user-select:none}.tpl\\:group-focus-within\\:opacity-100:is(:where(.tpl\\:group):focus-within *){opacity:1}@media(hover:hover){.tpl\\:group-hover\\:bg-black\\/40:is(:where(.tpl\\:group):hover *){background-color:oklab(0% none none/.4)}.tpl\\:group-hover\\:opacity-100:is(:where(.tpl\\:group):hover *){opacity:1}}.tpl\\:placeholder\\:text-\\[var\\(--tpl-text-dim\\)\\]::placeholder{color:var(--tpl-text-dim)}.tpl\\:first\\:border-t-0:first-child{border-top-style:var(--tw-border-style);border-top-width:0}.tpl\\:last\\:mb-0:last-child{margin-bottom:0}@media(hover:hover){.tpl\\:hover\\:z-10:hover{z-index:10}.tpl\\:hover\\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.tpl\\:hover\\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.tpl\\:hover\\:scale-125:hover{--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x) var(--tw-scale-y)}.tpl\\:hover\\:border-\\[var\\(--tpl-border\\)\\]:hover{border-color:var(--tpl-border)}.tpl\\:hover\\:border-\\[var\\(--tpl-danger\\)\\]:hover{border-color:var(--tpl-danger)}.tpl\\:hover\\:border-\\[var\\(--tpl-primary\\)\\]:hover{border-color:var(--tpl-primary)}.tpl\\:hover\\:border-\\[var\\(--tpl-text-dim\\)\\]:hover{border-color:var(--tpl-text-dim)}.tpl\\:hover\\:border-l-\\[var\\(--tpl-primary\\)\\]:hover{border-left-color:var(--tpl-primary)}.tpl\\:hover\\:bg-\\[color-mix\\(in_srgb\\,var\\(--tpl-text\\)_8\\%\\,transparent\\)\\]:hover{background-color:var(--tpl-text)}@supports (color:color-mix(in lab,red,red)){.tpl\\:hover\\:bg-\\[color-mix\\(in_srgb\\,var\\(--tpl-text\\)_8\\%\\,transparent\\)\\]:hover{background-color:color-mix(in srgb,var(--tpl-text) 8%,transparent)}}.tpl\\:hover\\:bg-\\[var\\(--tpl-bg-active\\)\\]:hover{background-color:var(--tpl-bg-active)}.tpl\\:hover\\:bg-\\[var\\(--tpl-bg-hover\\)\\]:hover{background-color:var(--tpl-bg-hover)}.tpl\\:hover\\:bg-\\[var\\(--tpl-danger-light\\)\\]:hover{background-color:var(--tpl-danger-light)}.tpl\\:hover\\:bg-\\[var\\(--tpl-primary-hover\\)\\]:hover{background-color:var(--tpl-primary-hover)}.tpl\\:hover\\:bg-\\[var\\(--tpl-primary-light\\)\\]:hover{background-color:var(--tpl-primary-light)}.tpl\\:hover\\:bg-\\[var\\(--tpl-warning-light\\)\\]:hover{background-color:var(--tpl-warning-light)}.tpl\\:hover\\:text-\\[var\\(--tpl-danger\\)\\]:hover{color:var(--tpl-danger)}.tpl\\:hover\\:text-\\[var\\(--tpl-primary\\)\\]:hover{color:var(--tpl-primary)}.tpl\\:hover\\:text-\\[var\\(--tpl-text\\)\\]:hover{color:var(--tpl-text)}.tpl\\:hover\\:underline:hover{text-decoration-line:underline}.tpl\\:hover\\:opacity-80:hover{opacity:.8}.tpl\\:hover\\:opacity-100:hover{opacity:1}.tpl\\:hover\\:shadow-\\[var\\(--tpl-shadow-md\\)\\]:hover{--tw-shadow:var(--tpl-shadow-md);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:hover\\:shadow-\\[var\\(--tpl-shadow-sm\\)\\]:hover{--tw-shadow:var(--tpl-shadow-sm);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.tpl\\:focus\\:border-\\[var\\(--tpl-primary\\)\\]:focus{border-color:var(--tpl-primary)}.tpl\\:focus\\:shadow-\\[0_0_0_3px_var\\(--tpl-primary-light\\)\\]:focus{--tw-shadow:0 0 0 3px var(--tw-shadow-color,var(--tpl-primary-light));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:focus\\:shadow-\\[var\\(--tpl-ring\\)\\]:focus,.tpl\\:focus-visible\\:shadow-\\[var\\(--tpl-ring\\)\\]:focus-visible{--tw-shadow:var(--tpl-ring);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:focus-visible\\:ring-\\[var\\(--tpl-primary\\)\\]:focus-visible{--tw-ring-color:var(--tpl-primary)}.tpl\\:focus-visible\\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.tpl\\:focus-visible\\:ring-offset-\\[var\\(--tpl-bg-elevated\\)\\]:focus-visible{--tw-ring-offset-color:var(--tpl-bg-elevated)}.tpl\\:focus-visible\\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.tpl\\:active\\:cursor-grabbing:active{cursor:grabbing}.tpl\\:active\\:bg-\\[var\\(--tpl-bg-active\\)\\]:active{background-color:var(--tpl-bg-active)}.tpl\\:disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.tpl\\:disabled\\:opacity-30:disabled{opacity:.3}.tpl\\:disabled\\:opacity-40:disabled{opacity:.4}.tpl\\:disabled\\:opacity-50:disabled{opacity:.5}@media(hover:hover){.tpl\\:disabled\\:hover\\:bg-transparent:disabled:hover{background-color:#0000}}.tpl\\:\\[\\&_p\\]\\:mb-2 p{margin-bottom:calc(calc(var(--tpl-base-size) / 4) * 2)}@layer base,components;.tpl{--tpl-base-size:var(--tpl-user-base-size,16px);--tpl-bg:var(--tpl-user-bg,oklch(99.5% .002 60));--tpl-bg-elevated:var(--tpl-user-bg-elevated,oklch(98% .004 60));--tpl-bg-hover:var(--tpl-user-bg-hover,oklch(96% .006 60));--tpl-bg-active:var(--tpl-user-bg-active,oklch(93.5% .008 60));--tpl-border:var(--tpl-user-border,oklch(92% .006 60));--tpl-border-light:var(--tpl-user-border-light,oklch(86% .01 60));--tpl-text:var(--tpl-user-text,oklch(18% .01 60));--tpl-text-muted:var(--tpl-user-text-muted,oklch(50% .015 60));--tpl-text-dim:var(--tpl-user-text-dim,oklch(68% .012 60));--tpl-primary:var(--tpl-user-primary,oklch(70% .16 55));--tpl-primary-hover:var(--tpl-user-primary-hover,oklch(63% .17 55));--tpl-primary-light:var(--tpl-user-primary-light,oklch(95% .04 55));--tpl-on-primary:var(--tpl-user-on-primary,var(--tpl-bg));--tpl-secondary:var(--tpl-user-secondary,oklch(60% .118 184.71));--tpl-secondary-hover:var(--tpl-user-secondary-hover,oklch(53.2% .105 186.39));--tpl-secondary-light:var(--tpl-user-secondary-light,oklch(93.8% .03 186.82));--tpl-success:var(--tpl-user-success,oklch(62.8% .194 155.1));--tpl-success-light:var(--tpl-user-success-light,oklch(93.6% .043 163.51));--tpl-warning:var(--tpl-user-warning,oklch(76.9% .168 70.08));--tpl-warning-light:var(--tpl-user-warning-light,oklch(95% .038 73.59));--tpl-danger:var(--tpl-user-danger,oklch(63.7% .237 25.33));--tpl-danger-light:var(--tpl-user-danger-light,oklch(93.6% .032 17.72));--tpl-canvas-bg:var(--tpl-user-canvas-bg,oklch(97.5% .003 60));--tpl-chrome-bg-elevated:var(--tpl-bg-elevated);--tpl-chrome-border-light:var(--tpl-border-light);--tpl-chrome-text:var(--tpl-text);--tpl-chrome-text-muted:var(--tpl-text-muted);--tpl-chrome-text-dim:var(--tpl-text-dim);--tpl-chrome-primary-light:var(--tpl-primary-light);--tpl-chrome-primary-hover:var(--tpl-primary-hover);--tpl-radius:var(--tpl-user-radius,10px);--tpl-radius-sm:var(--tpl-user-radius-sm,7px);--tpl-radius-lg:var(--tpl-user-radius-lg,14px);--tpl-font-family:var(--tpl-user-font-family,\"Geist\", ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");--tpl-shadow-sm:var(--tpl-user-shadow-sm,0 1px 2px #00000008);--tpl-shadow:var(--tpl-user-shadow,0 1px 2px #0000000a, 0 1px 3px #00000008);--tpl-shadow-md:var(--tpl-user-shadow-md,0 2px 8px #0000000f, 0 1px 3px #0000000a);--tpl-shadow-lg:var(--tpl-user-shadow-lg,0 4px 16px #00000014, 0 2px 6px #0000000a);--tpl-shadow-xl:var(--tpl-user-shadow-xl,0 8px 32px #0000001a, 0 4px 12px #0000000f);--tpl-overlay:var(--tpl-user-overlay,#00000080);--tpl-ring:var(--tpl-user-ring,0 0 0 3px var(--tpl-primary-light));--tpl-transition:var(--tpl-user-transition,.12s cubic-bezier(.16, 1, .3, 1))}.tpl[data-tpl-theme=dark]{--tpl-bg:var(--tpl-user-dark-bg,oklch(16% .005 60));--tpl-bg-elevated:var(--tpl-user-dark-bg-elevated,oklch(21% .006 60));--tpl-bg-hover:var(--tpl-user-dark-bg-hover,oklch(26% .007 60));--tpl-bg-active:var(--tpl-user-dark-bg-active,oklch(30% .008 60));--tpl-border:var(--tpl-user-dark-border,oklch(30% .006 60));--tpl-border-light:var(--tpl-user-dark-border-light,oklch(38% .008 60));--tpl-text:var(--tpl-user-dark-text,oklch(93% .005 60));--tpl-text-muted:var(--tpl-user-dark-text-muted,oklch(65% .01 60));--tpl-text-dim:var(--tpl-user-dark-text-dim,oklch(50% .008 60));--tpl-primary:var(--tpl-user-dark-primary,oklch(73% .15 55));--tpl-primary-hover:var(--tpl-user-dark-primary-hover,oklch(78% .14 55));--tpl-primary-light:var(--tpl-user-dark-primary-light,oklch(28% .05 55));--tpl-secondary:var(--tpl-user-dark-secondary,oklch(63% .11 184.71));--tpl-secondary-hover:var(--tpl-user-dark-secondary-hover,oklch(68% .1 186.39));--tpl-secondary-light:var(--tpl-user-dark-secondary-light,oklch(25% .03 186.82));--tpl-success:var(--tpl-user-dark-success,oklch(65% .18 155.1));--tpl-success-light:var(--tpl-user-dark-success-light,oklch(25% .04 163.51));--tpl-warning:var(--tpl-user-dark-warning,oklch(78% .16 70.08));--tpl-warning-light:var(--tpl-user-dark-warning-light,oklch(28% .04 73.59));--tpl-danger:var(--tpl-user-dark-danger,oklch(65% .22 25.33));--tpl-danger-light:var(--tpl-user-dark-danger-light,oklch(25% .04 17.72));--tpl-canvas-bg:var(--tpl-user-dark-canvas-bg,oklch(10% .003 60));--tpl-shadow-sm:var(--tpl-user-dark-shadow-sm,0 1px 2px #0003);--tpl-shadow:var(--tpl-user-dark-shadow,0 1px 2px #0000004d, 0 1px 3px #0003);--tpl-shadow-md:var(--tpl-user-dark-shadow-md,0 2px 8px #00000059, 0 1px 3px #00000040);--tpl-shadow-lg:var(--tpl-user-dark-shadow-lg,0 4px 16px #0006, 0 2px 6px #0000004d);--tpl-shadow-xl:var(--tpl-user-dark-shadow-xl,0 8px 32px #00000080, 0 4px 12px #00000059);--tpl-overlay:var(--tpl-user-dark-overlay,#000000b3);--tpl-ring:var(--tpl-user-dark-ring,0 0 0 3px var(--tpl-primary-light))}.tpl[data-tpl-theme=dark] .tpl-block-content{--tpl-bg-elevated:oklch(98% .004 60);--tpl-border-light:oklch(86% .01 60);--tpl-text:oklch(18% .01 60);--tpl-text-muted:oklch(50% .015 60);--tpl-text-dim:oklch(68% .012 60);--tpl-primary-light:oklch(95% .04 55);--tpl-primary-hover:oklch(60% .16 55);color:var(--tpl-text)}.tpl{height:100%;font-family:Geist,ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:calc(.875 * var(--tpl-base-size));line-height:var(--tw-leading,calc(1.25 / .875));--tw-leading:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--tpl-bg);min-height:320px;color:var(--tpl-text);line-height:1.5;font-family:var(--tpl-font-family);letter-spacing:normal;word-spacing:normal;text-transform:none;text-indent:0;text-align:start;white-space:normal;cursor:auto;font-variant-numeric:normal;text-shadow:none;flex-direction:column;font-style:normal;font-weight:400;list-style-type:disc;display:flex}:where(.tpl) button,:where(.tpl) input,:where(.tpl) select,:where(.tpl) textarea{box-sizing:border-box;font-family:inherit}:where(.tpl) button{cursor:pointer;background:0 0;border:none;margin:0;padding:0}:where(.tpl) button:focus-visible,:where(.tpl) input:focus-visible,:where(.tpl) select:focus-visible,:where(.tpl) textarea:focus-visible{box-shadow:var(--tpl-ring);outline:none}:where(.tpl) .tpl-focus-ring-host:focus-within :is(input,select,textarea):focus-visible{box-shadow:none}.tpl ::-webkit-scrollbar{width:6px;height:6px}.tpl ::-webkit-scrollbar-track{background:0 0}.tpl ::-webkit-scrollbar-thumb{background-color:var(--tpl-border-light)}@supports (color:color-mix(in lab,red,red)){.tpl ::-webkit-scrollbar-thumb{background-color:color-mix(in srgb,var(--tpl-border-light) 60%,transparent)}}.tpl ::-webkit-scrollbar-thumb{border-radius:calc(.25 * var(--tpl-base-size))}.tpl ::-webkit-scrollbar-thumb:hover{background-color:var(--tpl-border-light)}@keyframes tpl-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes tpl-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tpl-popover-root{z-index:10000;position:relative}.tpl-merge-tag-label{text-underline-offset:3px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}@supports (color:color-mix(in lab,red,red)){.tpl-merge-tag-label{-webkit-text-decoration-color:color-mix(in srgb,currentColor 55%,transparent);text-decoration-color:color-mix(in srgb,currentColor 55%,transparent)}}.tpl-merge-tag-label{unicode-bidi:isolate}.tpl-pulse{animation:2s infinite tpl-pulse}.tpl-spinner{animation:1s linear infinite tpl-spin}@keyframes tpl-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes tpl-scale-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes tpl-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.tpl-fade-in{animation:.2s cubic-bezier(.16,1,.3,1) tpl-fade-in}.tpl-scale-in{animation:.15s cubic-bezier(.16,1,.3,1) tpl-scale-in}.tpl-shimmer{background:linear-gradient(90deg,var(--tpl-bg-hover) 25%,var(--tpl-bg-active) 50%,var(--tpl-bg-hover) 75%);background-size:200% 100%;animation:1.5s linear infinite tpl-shimmer}.tpl-preview-mode .tpl-block--idle,.tpl-preview-mode .tpl-block--idle:hover,.tpl-preview-mode .tpl-block--selected{box-shadow:none!important;outline:none!important}.tpl-preview-mode .tpl-block{cursor:default;pointer-events:none}.tpl-preview-mode .tpl-block-actions,.tpl-preview-mode .tpl-block-hidden-overlay,.tpl-preview-mode .tpl-condition-toggle,.tpl-preview-mode .tpl-comment-indicator,.tpl-preview-mode .tpl-collab-lock{display:none}.tpl-ghost{border:none!important;border-top:2px dotted var(--tpl-primary)!important;background-color:#0000!important;justify-content:center!important;align-items:center!important;width:100%!important;height:0!important;min-height:0!important;max-height:0!important;margin:12px 0!important;padding:0!important;display:flex!important;position:relative!important;overflow:visible!important}@supports (color:color-mix(in lab,red,red)){.tpl-ghost{border-top:2px dotted color-mix(in srgb,var(--tpl-primary) 50%,transparent)!important}}.tpl-ghost{box-shadow:none!important;border-radius:0!important}.tpl-ghost>*{display:none!important}.tpl-ghost:before{content:var(--tpl-drop-text,\"Drop here\");white-space:nowrap!important;color:var(--tpl-primary)!important;background-color:var(--tpl-primary)!important;padding:2px 8px!important;font-size:12px!important;font-weight:500!important;position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important}@supports (color:color-mix(in lab,red,red)){.tpl-ghost:before{background-color:color-mix(in srgb,var(--tpl-primary) 15%,var(--tpl-bg))!important}}.tpl-ghost:before{border-radius:var(--tpl-radius-sm)!important;box-shadow:none!important}.tpl-canvas-empty .tpl-ghost{display:none!important}.tpl-dragging{opacity:.8;box-shadow:var(--tpl-shadow-xl)}.sortable-fallback{transition:none!important;animation:none!important}.tpl-block--lifted{outline:2px dashed var(--tpl-primary)!important;outline-offset:2px!important;box-shadow:var(--tpl-shadow-xl),0 0 0 4px var(--tpl-primary)!important}@supports (color:color-mix(in lab,red,red)){.tpl-block--lifted{box-shadow:var(--tpl-shadow-xl),0 0 0 4px color-mix(in srgb,var(--tpl-primary) 20%,transparent)!important}}.tpl-block--lifted{transition:transform .15s cubic-bezier(.16,1,.3,1),box-shadow .15s cubic-bezier(.16,1,.3,1);transform:scale(1.01)}.tpl-sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tpl-text-toolbar-btn{width:calc(calc(var(--tpl-base-size) / 4) * 8);height:calc(calc(var(--tpl-base-size) / 4) * 8);cursor:pointer;border-radius:calc(.25 * var(--tpl-base-size));--tw-border-style:none;transition-property:all;transition-timing-function:var(--tw-ease,cubic-bezier(.16, 1, .3, 1));transition-duration:var(--tw-duration,.12s);color:var(--tpl-text);background-color:#0000;border-style:none;justify-content:center;align-items:center;padding:0;display:flex}.tpl-text-toolbar-btn:hover{background-color:var(--tpl-bg-active)}.tpl-text-toolbar-btn--active{box-shadow:inset 0 0 0 1.5px var(--tpl-primary-hover);background-color:var(--tpl-primary)!important;color:var(--tpl-bg)!important}.tpl-text-toolbar-btn--active svg{stroke-width:2.75px}.tpl-text-content,.tpl-text-editable .tiptap{--tw-outline-style:none;outline-style:none}.tpl-text-editable{border-radius:calc(.25 * var(--tpl-base-size));border-style:var(--tw-border-style);--tw-border-style:dashed;padding:calc(calc(var(--tpl-base-size) / 4) * 2);border-style:dashed;border-width:1px;border-color:var(--tpl-primary);min-height:1.5em}.tpl-text-content p,.tpl-text-editable .tiptap p{margin:0 0 var(--tpl-doc-paragraph-spacing,8px)}.tpl-text-content p:last-child,.tpl-text-editable .tiptap p:last-child{margin-bottom:0}.tpl-text-content ul,.tpl-text-content ol,.tpl-text-editable .tiptap ul,.tpl-text-editable .tiptap ol{margin:8px 0;padding-inline-start:24px}.tpl-text-content li,.tpl-text-editable .tiptap li{margin:4px 0}.tpl-text-content s,.tpl-text-editable .tiptap s{text-decoration-line:line-through}.tpl-text-content sub,.tpl-text-editable .tiptap sub{vertical-align:sub;font-size:.75em}.tpl-text-content sup,.tpl-text-editable .tiptap sup{vertical-align:super;font-size:.75em}.tpl-text-content a,.tpl-text-editable a{color:var(--tpl-doc-link-color,inherit);-webkit-text-decoration:var(--tpl-doc-link-underline,none);text-decoration:var(--tpl-doc-link-underline,none)}.tpl-text-content span[data-merge-tag],.tpl-text-editable span[data-merge-tag]{margin-inline:calc(calc(var(--tpl-base-size) / 4) * .5);border-radius:calc(.25 * var(--tpl-base-size));padding-inline:calc(calc(var(--tpl-base-size) / 4) * 1.5);padding-block:calc(calc(var(--tpl-base-size) / 4) * .5);--tw-font-weight:500;background-color:var(--tpl-primary);align-items:center;font-size:.9em;font-weight:500;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.tpl-text-content span[data-merge-tag],.tpl-text-editable span[data-merge-tag]{background-color:color-mix(in srgb,var(--tpl-primary) 20%,transparent)}}.tpl-text-content span[data-merge-tag],.tpl-text-editable span[data-merge-tag]{color:var(--tpl-primary);unicode-bidi:isolate}.tpl-text-content span[data-logic-merge-tag],.tpl-text-editable span[data-logic-merge-tag]{margin-inline:calc(calc(var(--tpl-base-size) / 4) * .5);border-radius:calc(.25 * var(--tpl-base-size));padding-inline:calc(calc(var(--tpl-base-size) / 4) * 1.5);padding-block:calc(calc(var(--tpl-base-size) / 4) * .5);--tw-font-weight:700;--tw-tracking:.025em;letter-spacing:.025em;text-transform:uppercase;border:1.5px solid var(--tpl-primary);unicode-bidi:isolate;background-color:#0000;align-items:center;font-size:.8em;font-weight:700;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.tpl-text-content span[data-logic-merge-tag],.tpl-text-editable span[data-logic-merge-tag]{border:1.5px solid color-mix(in srgb,var(--tpl-primary) 50%,transparent)}}.tpl-text-content span[data-logic-merge-tag],.tpl-text-editable span[data-logic-merge-tag]{color:var(--tpl-primary)}.tpl-tooltip{position:relative}.tpl-tooltip:after{content:attr(data-tooltip);border-radius:var(--tpl-radius-sm);background-color:var(--tpl-text);color:var(--tpl-bg);white-space:normal;text-align:center;pointer-events:none;opacity:0;text-transform:none;z-index:50;width:max-content;max-width:min(320px,90vw);padding:4px 10px;font-size:12px;font-weight:500;line-height:1.4;transition:opacity .15s;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%)}.tpl-tooltip:before{content:\"\";border:4px solid #0000;border-bottom-color:var(--tpl-text);pointer-events:none;opacity:0;z-index:50;transition:opacity .15s;position:absolute;top:calc(100% + 2px);left:50%;transform:translate(-50%)}.tpl-tooltip:hover:after,.tpl-tooltip:hover:before{opacity:1}.tpl-media-overlay{background-color:var(--tpl-overlay);-webkit-backdrop-filter:blur(8px);height:100%;min-height:0;color:var(--tpl-text);flex-direction:row;justify-content:center;align-items:center;display:flex}.tpl.tpl-text-toolbar{flex-direction:row;height:auto;min-height:0;display:flex}.tpl.tpl-link-dialog{background-color:var(--tpl-overlay);flex-direction:row;justify-content:center;align-items:center;height:100%;min-height:0;display:flex}.tpl-upload-zone-active{border-color:var(--tpl-primary)!important;background-color:var(--tpl-primary-light)!important}@property --tpl-comet-angle{syntax:\"<angle>\";inherits:false;initial-value:0deg}@property --tpl-comet-start{syntax:\"<percentage>\";inherits:false;initial-value:100%}@keyframes tpl-ai-comet{0%{--tpl-comet-angle:0deg;--tpl-comet-start:100%}1%{--tpl-comet-angle:24deg;--tpl-comet-start:88%}5%{--tpl-comet-angle:120deg;--tpl-comet-start:60%}25%{--tpl-comet-angle:600deg;--tpl-comet-start:60%}33%{--tpl-comet-angle:720deg;--tpl-comet-start:100%}to{--tpl-comet-angle:720deg;--tpl-comet-start:100%}}.tpl-ai-btn--idle{background-color:var(--tpl-primary-light);color:var(--tpl-text);box-shadow:none;z-index:0;position:relative}.tpl-ai-btn--idle:before{content:\"\";border-radius:inherit;background:conic-gradient(from var(--tpl-comet-angle),transparent 0%,transparent var(--tpl-comet-start),var(--tpl-primary) 80%,var(--tpl-primary) 90%,var(--tpl-primary) 97%,transparent 100%);padding:2px;position:absolute;inset:-2px}@supports (color:color-mix(in lab,red,red)){.tpl-ai-btn--idle:before{background:conic-gradient(from var(--tpl-comet-angle),transparent 0%,transparent var(--tpl-comet-start),color-mix(in srgb,var(--tpl-primary) 40%,transparent) 80%,var(--tpl-primary) 90%,var(--tpl-primary) 97%,transparent 100%)}}.tpl-ai-btn--idle:before{z-index:-1;pointer-events:none;animation:20s linear 3s infinite tpl-ai-comet;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.tpl-ai-btn--idle:hover{background-color:var(--tpl-primary);color:var(--tpl-on-primary);transform:translateY(-1px);box-shadow:0 0 0 3px var(--tpl-primary),0 4px 16px var(--tpl-primary)!important}@supports (color:color-mix(in lab,red,red)){.tpl-ai-btn--idle:hover{box-shadow:0 0 0 3px color-mix(in srgb,var(--tpl-primary) 20%,transparent),0 4px 16px color-mix(in srgb,var(--tpl-primary) 30%,transparent)!important}}.tpl-ai-btn--idle:hover:before{animation:none}.tpl-ai-btn--active{background-color:var(--tpl-primary-light);color:var(--tpl-primary-hover);border:1px solid var(--tpl-primary)}.tpl-ai-btn--active .tpl-ai-btn-icon{fill:var(--tpl-primary)}@supports (color:color-mix(in lab,red,red)){.tpl-ai-btn--active .tpl-ai-btn-icon{fill:color-mix(in srgb,var(--tpl-primary) 25%,transparent)}}.tpl-ai-btn--active:hover{background-color:var(--tpl-primary-light)}@supports (color:color-mix(in lab,red,red)){.tpl-ai-btn--active:hover{background-color:color-mix(in srgb,var(--tpl-primary-light) 80%,var(--tpl-primary))}}.tpl-merge-tag-delete:hover{color:var(--tpl-danger)!important}@media(prefers-reduced-motion:reduce){.tpl-pulse,.tpl-shimmer,.tpl-fade-in,.tpl-scale-in,.tpl-ai-btn--idle:before{animation:none}.tpl-shimmer{background:var(--tpl-bg-hover)}.tpl-spinner{animation:1s linear infinite tpl-spin}}@property --tw-translate-x{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-y{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-z{syntax:\"*\";inherits:false;initial-value:0}@property --tw-scale-x{syntax:\"*\";inherits:false;initial-value:1}@property --tw-scale-y{syntax:\"*\";inherits:false;initial-value:1}@property --tw-scale-z{syntax:\"*\";inherits:false;initial-value:1}@property --tw-space-y-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-tracking{syntax:\"*\";inherits:false}@property --tw-ordinal{syntax:\"*\";inherits:false}@property --tw-slashed-zero{syntax:\"*\";inherits:false}@property --tw-numeric-figure{syntax:\"*\";inherits:false}@property --tw-numeric-spacing{syntax:\"*\";inherits:false}@property --tw-numeric-fraction{syntax:\"*\";inherits:false}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-backdrop-blur{syntax:\"*\";inherits:false}@property --tw-backdrop-brightness{syntax:\"*\";inherits:false}@property --tw-backdrop-contrast{syntax:\"*\";inherits:false}@property --tw-backdrop-grayscale{syntax:\"*\";inherits:false}@property --tw-backdrop-hue-rotate{syntax:\"*\";inherits:false}@property --tw-backdrop-invert{syntax:\"*\";inherits:false}@property --tw-backdrop-opacity{syntax:\"*\";inherits:false}@property --tw-backdrop-saturate{syntax:\"*\";inherits:false}@property --tw-backdrop-sepia{syntax:\"*\";inherits:false}@property --tw-duration{syntax:\"*\";inherits:false}@property --tw-ease{syntax:\"*\";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}.tpl-preview-pill-enter-active[data-v-433680d1]{transition:opacity .2s cubic-bezier(.16,1,.3,1),transform .2s cubic-bezier(.16,1,.3,1)}.tpl-preview-pill-leave-active[data-v-433680d1]{transition:opacity .15s ease-in,transform .15s ease-in}.tpl-preview-pill-enter-from[data-v-433680d1],.tpl-preview-pill-leave-to[data-v-433680d1]{opacity:0;transform:translateY(-8px) scale(.9)}.tpl-preview-pill-enter-to[data-v-433680d1],.tpl-preview-pill-leave-from[data-v-433680d1]{opacity:1;transform:translateY(0) scale(1)}hex-color-picker{--hcp-width: 200px}hex-color-picker::part(hue){border-radius:var(--tpl-radius-sm, 7px)}hex-color-picker::part(saturation){border-radius:var(--tpl-radius-sm, 7px) var(--tpl-radius-sm, 7px) 0 0}.tpl-color-swatch-empty{background-color:var(--tpl-bg);background-image:linear-gradient(to top right,transparent calc(50% - .75px),var(--tpl-text-dim) calc(50% - .75px),var(--tpl-text-dim) calc(50% + .75px),transparent calc(50% + .75px))}.tpl-pulse-fill[data-v-fca026e4]{animation:tpl-field-pulse-fca026e4 1s ease-out}@keyframes tpl-field-pulse-fca026e4{0%{box-shadow:0 0 color-mix(in srgb,var(--tpl-warning) 30%,transparent);background-color:color-mix(in srgb,var(--tpl-warning) 6%,transparent)}40%{box-shadow:0 0 0 3px color-mix(in srgb,var(--tpl-warning) 15%,transparent);background-color:color-mix(in srgb,var(--tpl-warning) 5%,transparent)}to{box-shadow:0 0 0 0 transparent;background-color:transparent}}@media(prefers-reduced-motion:reduce){.tpl-pulse-fill[data-v-fca026e4]{animation:none}}input[type=number][data-v-69591c1e]::-webkit-outer-spin-button,input[type=number][data-v-69591c1e]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number][data-v-69591c1e]{-moz-appearance:textfield}.tpl-collapsible[data-v-1038bf62]{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s cubic-bezier(.16,1,.3,1)}.tpl-collapsible--open[data-v-1038bf62]{grid-template-rows:1fr}.tpl-collapsible>div[data-v-1038bf62]{overflow:hidden}.tpl-saved-block-skeleton{animation:tpl-saved-block-pulse 1.4s ease-in-out infinite}@keyframes tpl-saved-block-pulse{0%,to{opacity:1}50%{opacity:.55}}@media(prefers-reduced-motion:reduce){.tpl-saved-block-skeleton{animation:none}}.tpl-saved-block-delete-btn:hover{color:var(--tpl-danger)!important}.tpl-saved-block-rename-btn:hover{color:var(--tpl-primary)!important}.tpl-media-item[data-v-373617e3]:not(.tpl-media-item--selected):hover{border-color:var(--tpl-border)!important}.tpl-media-list-item[data-v-373617e3]:hover{background-color:var(--tpl-bg-hover)!important}.tpl-list-icon[data-v-373617e3]{transform:scale(.35);transform-origin:center}.tpl-preview-icon[data-v-c3c1707e]{transform:scale(.45);transform-origin:center}.tpl-comments-slide-enter-active[data-v-32af5912]{transition:transform .28s cubic-bezier(.16,1,.3,1)}.tpl-comments-slide-leave-active[data-v-32af5912]{transition:transform .2s cubic-bezier(.16,1,.3,1)}.tpl-comments-input-wrapper[data-v-32af5912]:focus-within{border-color:var(--tpl-primary);box-shadow:var(--tpl-ring)}.tpl-comments-send-btn[data-v-32af5912]:not(:disabled):hover{transform:scale(1.05)}.tpl-comment-filter[data-v-32af5912]{color:var(--tpl-text-muted);background-color:transparent}.tpl-comment-filter[data-v-32af5912]:hover{background-color:var(--tpl-bg-hover);color:var(--tpl-text)}.tpl-comment-filter--active[data-v-32af5912]{background-color:var(--tpl-primary-light);color:var(--tpl-primary)}.tpl-comment-action[data-v-32af5912]{color:var(--tpl-text-dim);background-color:transparent}.tpl-comment-action[data-v-32af5912]:hover{background-color:var(--tpl-bg-hover);color:var(--tpl-text)}.tpl-comment-delete[data-v-32af5912]:hover{background-color:var(--tpl-danger-light);color:var(--tpl-danger)}.tpl-comment-card[data-v-32af5912],.tpl-comment-reply-card[data-v-32af5912]{border-color:var(--tpl-border);background-color:var(--tpl-bg)}.tpl-resolve-enter-active[data-v-32af5912],.tpl-resolve-leave-active[data-v-32af5912]{transition:opacity .3s ease,transform .3s ease}.tpl-resolve-enter-from[data-v-32af5912],.tpl-resolve-leave-to[data-v-32af5912]{opacity:0;transform:translateY(-4px)}.tpl-resolve-icon[data-v-32af5912]{transition:color .3s ease,transform .2s ease}.tpl-resolve-icon[data-v-32af5912]:active{transform:scale(1.3)}.tpl-replies-enter-active[data-v-32af5912],.tpl-replies-leave-active[data-v-32af5912]{transition:opacity .25s ease,transform .25s ease}.tpl-replies-enter-from[data-v-32af5912],.tpl-replies-leave-to[data-v-32af5912]{opacity:0;transform:translateY(-4px)}.tpl-ai-slide-enter-active[data-v-0a3b048c]{transition:transform .28s cubic-bezier(.16,1,.3,1)}.tpl-ai-slide-leave-active[data-v-0a3b048c]{transition:transform .2s cubic-bezier(.16,1,.3,1)}.tpl-ai-input-wrapper[data-v-0a3b048c]:focus-within{border-color:var(--tpl-primary);box-shadow:var(--tpl-ring)}.tpl-ai-send-btn[data-v-0a3b048c]:not(:disabled):hover{transform:scale(1.05)}.tpl-suggestion-btn[data-v-0a3b048c]:hover{border-color:var(--tpl-primary)!important;background-color:var(--tpl-primary-light)!important}.tpl-design-slide-enter-active[data-v-a5a76ec5]{transition:transform .28s cubic-bezier(.16,1,.3,1)}.tpl-design-slide-leave-active[data-v-a5a76ec5]{transition:transform .2s cubic-bezier(.16,1,.3,1)}.tpl-design-prompt-input[data-v-a5a76ec5]:focus{border-color:var(--tpl-primary);box-shadow:var(--tpl-ring)}.tpl-design-dropzone[data-v-a5a76ec5]:hover{border-color:var(--tpl-primary)!important;background-color:var(--tpl-primary-light)!important}.tpl-scoring-slide-enter-active[data-v-165e948a]{transition:transform .28s cubic-bezier(.16,1,.3,1)}.tpl-scoring-slide-leave-active[data-v-165e948a]{transition:transform .2s cubic-bezier(.16,1,.3,1)}.tpl-scoring-fix-btn[data-v-165e948a]:not(:disabled):hover{border-color:var(--tpl-primary)!important;background-color:var(--tpl-primary-light)!important}.tpl-ai-feature-menu-item[data-v-bf59b787]:hover{background-color:var(--tpl-bg-hover)!important}.vue-advanced-cropper{text-align:center;position:relative;user-select:none;max-height:100%;max-width:100%;direction:ltr}.vue-advanced-cropper__stretcher{pointer-events:none;position:relative;max-width:100%;max-height:100%}.vue-advanced-cropper__image{user-select:none;position:absolute;transform-origin:center;max-width:none!important}.vue-advanced-cropper__background,.vue-advanced-cropper__foreground{opacity:1;background:#000;transform:translate(-50%,-50%);position:absolute;top:50%;left:50%}.vue-advanced-cropper__foreground{opacity:.5}.vue-advanced-cropper__boundaries{opacity:1;transform:translate(-50%,-50%);position:absolute;left:50%;top:50%}.vue-advanced-cropper__cropper-wrapper{width:100%;height:100%}.vue-advanced-cropper__image-wrapper{overflow:hidden;position:absolute;width:100%;height:100%}.vue-advanced-cropper__stencil-wrapper{position:absolute}.vue-simple-handler{display:block;background:#fff;height:10px;width:10px}.vue-handler-wrapper{position:absolute;transform:translate(-50%,-50%);width:30px;height:30px}.vue-handler-wrapper__draggable{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.vue-handler-wrapper--west-north{cursor:nw-resize}.vue-handler-wrapper--north{cursor:n-resize}.vue-handler-wrapper--east-north{cursor:ne-resize}.vue-handler-wrapper--east{cursor:e-resize}.vue-handler-wrapper--east-south{cursor:se-resize}.vue-handler-wrapper--south{cursor:s-resize}.vue-handler-wrapper--west-south{cursor:sw-resize}.vue-handler-wrapper--west{cursor:w-resize}.vue-handler-wrapper--disabled{cursor:auto}.vue-line-wrapper{background:none;position:absolute;display:flex;align-items:center;justify-content:center}.vue-line-wrapper--north,.vue-line-wrapper--south{height:12px;width:100%;left:0;transform:translateY(-50%)}.vue-line-wrapper--north{top:0;cursor:n-resize}.vue-line-wrapper--south{top:100%;cursor:s-resize}.vue-line-wrapper--east,.vue-line-wrapper--west{width:12px;height:100%;transform:translate(-50%);top:0}.vue-line-wrapper--east{left:100%;cursor:e-resize}.vue-line-wrapper--west{left:0;cursor:w-resize}.vue-line-wrapper--disabled{cursor:auto}.vue-bounding-box{position:relative;height:100%;width:100%}.vue-bounding-box__handler{position:absolute}.vue-bounding-box__handler--west-north{left:0;top:0}.vue-bounding-box__handler--north{left:50%;top:0}.vue-bounding-box__handler--east-north{left:100%;top:0}.vue-bounding-box__handler--east{left:100%;top:50%}.vue-bounding-box__handler--east-south{left:100%;top:100%}.vue-bounding-box__handler--south{left:50%;top:100%}.vue-bounding-box__handler--west-south{left:0;top:100%}.vue-bounding-box__handler--west{left:0;top:50%}.vue-draggable-area{position:relative}.vue-preview-result{overflow:hidden;box-sizing:border-box;position:absolute;height:100%;width:100%}.vue-preview-result__wrapper{position:absolute}.vue-preview-result__image{pointer-events:none;position:relative;user-select:none;transform-origin:center;max-width:none!important}.vue-rectangle-stencil{position:absolute;height:100%;width:100%;box-sizing:border-box}.vue-rectangle-stencil__preview{position:absolute;width:100%;height:100%}.vue-rectangle-stencil--movable{cursor:move}.vue-circle-stencil{position:absolute;height:100%;width:100%;box-sizing:content-box;cursor:move}.vue-circle-stencil__preview{border-radius:50%;position:absolute;width:100%;height:100%}.vue-circle-stencil--movable{cursor:move}.vue-preview{overflow:hidden;box-sizing:border-box;position:relative}.vue-preview--fill{width:100%;height:100%;position:absolute}.vue-preview__wrapper{position:absolute;height:100%;width:100%}.vue-preview__image{pointer-events:none;position:absolute;user-select:none;transform-origin:center;max-width:none!important}.vue-simple-line{background:none;transition:border .5s;border-color:#ffffff4d;border-width:0;border-style:solid}.vue-simple-line--south,.vue-simple-line--north{height:0;width:100%}.vue-simple-line--east,.vue-simple-line--west{height:100%;width:0}.vue-simple-line--east{border-right-width:1px}.vue-simple-line--west{border-left-width:1px}.vue-simple-line--south{border-bottom-width:1px}.vue-simple-line--north{border-top-width:1px}.vue-simple-line--hover{opacity:1;border-color:#fff}[data-v-51052195] .tpl-cropper-background{background-color:var(--tpl-bg)!important}[data-v-51052195] .vue-advanced-cropper{background-color:transparent!important}[data-v-51052195] .vue-advanced-cropper__background{background-color:var(--tpl-bg)!important}[data-v-51052195] .vue-advanced-cropper__foreground{background-color:var(--tpl-overlay)!important}\n/*$vite$:1*/", Ii = null;
2511
- function Li() {
2512
- if (Ii === null) {
2530
+ var Ki = "@import\"https://fonts.bunny.net/css?family=geist:400,500,600\";.tpl-loading-track[data-v-e61f3b63]{height:3px;width:100%;border-radius:9999px;background:linear-gradient(90deg,transparent 0%,color-mix(in srgb,var(--tpl-primary) 10%,transparent) 15%,color-mix(in srgb,var(--tpl-primary) 30%,transparent) 30%,var(--tpl-primary) 50%,color-mix(in srgb,var(--tpl-primary) 30%,transparent) 70%,color-mix(in srgb,var(--tpl-primary) 10%,transparent) 85%,transparent 100%);background-size:200% 100%;animation:tpl-loading-flow-e61f3b63 3s ease-in-out infinite}@keyframes tpl-loading-flow-e61f3b63{0%{background-position:100% 0}to{background-position:-100% 0}}@media(prefers-reduced-motion:reduce){.tpl-loading-track[data-v-e61f3b63]{animation:none;background-position:50% 0}}.tpl-block--idle[data-v-2c239048]{outline:1.5px dashed color-mix(in srgb,var(--tpl-primary) 30%,transparent);outline-offset:-1px;transition:outline .15s cubic-bezier(.16,1,.3,1),box-shadow .15s cubic-bezier(.16,1,.3,1)}.tpl-block--idle[data-v-2c239048]:hover{outline:1.5px solid color-mix(in srgb,var(--tpl-primary) 50%,transparent);outline-offset:-1px;box-shadow:0 0 8px color-mix(in srgb,var(--tpl-primary) 8%,transparent)}.tpl-block--picked[data-v-2c239048]{outline:2px solid var(--tpl-primary);outline-offset:-1px;box-shadow:0 0 0 4px color-mix(in srgb,var(--tpl-primary) 18%,transparent);transition:outline .15s cubic-bezier(.16,1,.3,1),box-shadow .15s cubic-bezier(.16,1,.3,1)}.tpl-block--selected[data-v-2c239048]{outline:2px solid color-mix(in srgb,var(--tpl-primary) 60%,transparent);outline-offset:-1px;box-shadow:0 0 12px color-mix(in srgb,var(--tpl-primary) 15%,transparent);transition:outline .15s cubic-bezier(.16,1,.3,1),box-shadow .15s cubic-bezier(.16,1,.3,1)}.tpl-block-action-btn[data-v-2c239048]{color:var(--tpl-chrome-text-muted);background-color:transparent}.tpl-block-action-btn[data-v-2c239048]:hover{background-color:var(--tpl-bg-hover);color:var(--tpl-chrome-text)}.tpl-block-action-btn[data-v-2c239048]:active{transform:scale(.9)}.tpl-block-delete-btn[data-v-2c239048]:hover{background-color:var(--tpl-danger-light);color:var(--tpl-danger)}.tpl-condition-toggle[data-v-2c239048]:hover{background-color:var(--tpl-bg-hover)!important}.tpl-condition-toggle[data-v-2c239048]:active{transform:scale(.9)}.tpl-block-hidden-overlay[data-v-2c239048]{background-color:color-mix(in srgb,var(--tpl-bg) 60%,transparent)}.tpl-table-editable[data-v-963ac422] th[contenteditable],.tpl-table-editable[data-v-963ac422] td[contenteditable]{outline:none;cursor:text;min-width:calc(2 * var(--tpl-base-size))}.tpl-table-editable[data-v-963ac422] th[contenteditable]:empty:before,.tpl-table-editable[data-v-963ac422] td[contenteditable]:empty:before{content:attr(data-placeholder);color:var(--tpl-text-dim);pointer-events:none}.tpl-table-editable[data-v-963ac422] th[contenteditable]:focus,.tpl-table-editable[data-v-963ac422] td[contenteditable]:focus{outline:2px solid var(--tpl-primary);outline-offset:-2px;border-radius:1px}.tpl-canvas--dark-mode[data-v-699490d7] .tpl-block-content:not(.tpl-block-content *){filter:invert(1) hue-rotate(180deg)}[data-v-699490d7] .tpl-block-content{transition:filter .3s ease}.tpl-canvas--dark-mode[data-v-699490d7] .tpl-block-content img{filter:invert(1) hue-rotate(180deg)}.tpl-icon-enter-active[data-v-632aa74f],.tpl-icon-leave-active[data-v-632aa74f]{transition:opacity .12s cubic-bezier(.16,1,.3,1),transform .12s cubic-bezier(.16,1,.3,1)}.tpl-icon-enter-from[data-v-632aa74f],.tpl-icon-leave-to[data-v-632aa74f]{opacity:0;transform:scale(.8)}.tpl-dark-mode-toggle[data-v-632aa74f]:hover{background-color:var(--tpl-bg-hover)}.tpl-dark-mode-toggle[data-v-632aa74f]:active{transform:scale(.92)}.tpl-icon-enter-active[data-v-eef7b2ca],.tpl-icon-leave-active[data-v-eef7b2ca]{transition:opacity .12s cubic-bezier(.16,1,.3,1),transform .12s cubic-bezier(.16,1,.3,1)}.tpl-icon-enter-from[data-v-eef7b2ca],.tpl-icon-leave-to[data-v-eef7b2ca]{opacity:0;transform:scale(.8)}.tpl-preview-toggle[data-v-eef7b2ca]:hover{background-color:var(--tpl-bg-hover)}.tpl-preview-toggle[data-v-eef7b2ca]:active{transform:scale(.92)}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tpl-comet-angle:0deg;--tpl-comet-start:100%}}}@layer theme{:root,:host{--tpl-radius-sm:calc(.25 * var(--tpl-base-size));--tpl-radius-md:calc(.375 * var(--tpl-base-size));--tpl-radius-lg:calc(.5 * var(--tpl-base-size));--tpl-shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tpl-shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tpl-shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tpl-shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--tpl-radius:calc(.25 * var(--tpl-base-size))}}.tpl\\:pointer-events-auto{pointer-events:auto}.tpl\\:pointer-events-none{pointer-events:none}.tpl\\:invisible{visibility:hidden}.tpl\\:sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tpl\\:absolute{position:absolute}.tpl\\:fixed{position:fixed}.tpl\\:relative{position:relative}.tpl\\:sticky{position:sticky}.tpl\\:inset-0{inset:0}.tpl\\:inset-x-0{inset-inline:0}.tpl\\:inset-y-1{inset-block:calc(var(--tpl-base-size) / 4)}.tpl\\:-top-0\\.5{top:calc(calc(var(--tpl-base-size) / 4) * -.5)}.tpl\\:-top-1{top:calc(calc(var(--tpl-base-size) / 4) * -1)}.tpl\\:top-0{top:0}.tpl\\:top-1{top:calc(var(--tpl-base-size) / 4)}.tpl\\:top-1\\.5{top:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:top-1\\/2{top:50%}.tpl\\:top-2{top:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:top-14{top:calc(calc(var(--tpl-base-size) / 4) * 14)}.tpl\\:top-16{top:calc(calc(var(--tpl-base-size) / 4) * 16)}.tpl\\:top-\\[104px\\]{top:104px}.tpl\\:top-full{top:100%}.tpl\\:-right-1{right:calc(calc(var(--tpl-base-size) / 4) * -1)}.tpl\\:-right-2{right:calc(calc(var(--tpl-base-size) / 4) * -2)}.tpl\\:right-0{right:0}.tpl\\:right-1{right:calc(var(--tpl-base-size) / 4)}.tpl\\:right-1\\.5{right:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:right-2{right:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:right-2\\.5{right:calc(calc(var(--tpl-base-size) / 4) * 2.5)}.tpl\\:right-\\[320px\\]{right:320px}.tpl\\:right-\\[360px\\]{right:360px}.tpl\\:right-\\[680px\\]{right:680px}.tpl\\:bottom-0{bottom:0}.tpl\\:bottom-1{bottom:calc(var(--tpl-base-size) / 4)}.tpl\\:bottom-10{bottom:calc(calc(var(--tpl-base-size) / 4) * 10)}.tpl\\:bottom-full{bottom:100%}.tpl\\:-left-1{left:calc(calc(var(--tpl-base-size) / 4) * -1)}.tpl\\:left-0{left:0}.tpl\\:left-1\\.5{left:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:left-1\\/2{left:50%}.tpl\\:left-2\\.5{left:calc(calc(var(--tpl-base-size) / 4) * 2.5)}.tpl\\:left-3{left:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:left-5{left:calc(calc(var(--tpl-base-size) / 4) * 5)}.tpl\\:left-12{left:calc(calc(var(--tpl-base-size) / 4) * 12)}.tpl\\:z-10{z-index:10}.tpl\\:z-40{z-index:40}.tpl\\:z-50{z-index:50}.tpl\\:z-\\[4\\]{z-index:4}.tpl\\:z-\\[5\\]{z-index:5}.tpl\\:z-\\[60\\]{z-index:60}.tpl\\:z-\\[100\\]{z-index:100}.tpl\\:m-0{margin:0}.tpl\\:m-6{margin:calc(calc(var(--tpl-base-size) / 4) * 6)}.tpl\\:mx-0\\.5{margin-inline:calc(calc(var(--tpl-base-size) / 4) * .5)}.tpl\\:mx-1{margin-inline:calc(var(--tpl-base-size) / 4)}.tpl\\:mx-1\\.5{margin-inline:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:mx-3{margin-inline:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:mx-4{margin-inline:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:mx-6{margin-inline:calc(calc(var(--tpl-base-size) / 4) * 6)}.tpl\\:mx-auto{margin-inline:auto}.tpl\\:mt-0\\.5{margin-top:calc(calc(var(--tpl-base-size) / 4) * .5)}.tpl\\:mt-1{margin-top:calc(var(--tpl-base-size) / 4)}.tpl\\:mt-1\\.5{margin-top:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:mt-2{margin-top:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:mt-3{margin-top:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:mt-4{margin-top:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:\\!mb-0{margin-bottom:0!important}.tpl\\:mb-1{margin-bottom:calc(var(--tpl-base-size) / 4)}.tpl\\:mb-1\\.5{margin-bottom:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:mb-2{margin-bottom:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:mb-2\\.5{margin-bottom:calc(calc(var(--tpl-base-size) / 4) * 2.5)}.tpl\\:mb-3{margin-bottom:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:mb-3\\.5{margin-bottom:calc(calc(var(--tpl-base-size) / 4) * 3.5)}.tpl\\:mb-4{margin-bottom:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:mb-px{margin-bottom:1px}.tpl\\:-ml-48{margin-left:calc(calc(var(--tpl-base-size) / 4) * -48)}.tpl\\:ml-0{margin-left:0}.tpl\\:ml-0\\.5{margin-left:calc(calc(var(--tpl-base-size) / 4) * .5)}.tpl\\:ml-1{margin-left:calc(var(--tpl-base-size) / 4)}.tpl\\:ml-5{margin-left:calc(calc(var(--tpl-base-size) / 4) * 5)}.tpl\\:ml-auto{margin-left:auto}.tpl\\:line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.tpl\\:line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.tpl\\:\\!flex{display:flex!important}.tpl\\:block{display:block}.tpl\\:flex{display:flex}.tpl\\:grid{display:grid}.tpl\\:hidden{display:none}.tpl\\:inline{display:inline}.tpl\\:inline-block{display:inline-block}.tpl\\:inline-flex{display:inline-flex}.tpl\\:aspect-square{aspect-ratio:1}.tpl\\:size-1\\.5{width:calc(calc(var(--tpl-base-size) / 4) * 1.5);height:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:size-2{width:calc(calc(var(--tpl-base-size) / 4) * 2);height:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:size-3{width:calc(calc(var(--tpl-base-size) / 4) * 3);height:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:size-4{width:calc(calc(var(--tpl-base-size) / 4) * 4);height:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:size-4\\.5{width:calc(calc(var(--tpl-base-size) / 4) * 4.5);height:calc(calc(var(--tpl-base-size) / 4) * 4.5)}.tpl\\:size-5{width:calc(calc(var(--tpl-base-size) / 4) * 5);height:calc(calc(var(--tpl-base-size) / 4) * 5)}.tpl\\:size-6{width:calc(calc(var(--tpl-base-size) / 4) * 6);height:calc(calc(var(--tpl-base-size) / 4) * 6)}.tpl\\:size-7{width:calc(calc(var(--tpl-base-size) / 4) * 7);height:calc(calc(var(--tpl-base-size) / 4) * 7)}.tpl\\:size-8{width:calc(calc(var(--tpl-base-size) / 4) * 8);height:calc(calc(var(--tpl-base-size) / 4) * 8)}.tpl\\:size-10{width:calc(calc(var(--tpl-base-size) / 4) * 10);height:calc(calc(var(--tpl-base-size) / 4) * 10)}.tpl\\:size-16{width:calc(calc(var(--tpl-base-size) / 4) * 16);height:calc(calc(var(--tpl-base-size) / 4) * 16)}.tpl\\:size-full{width:100%;height:100%}.tpl\\:h-0{height:0}.tpl\\:h-2\\.5{height:calc(calc(var(--tpl-base-size) / 4) * 2.5)}.tpl\\:h-3{height:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:h-4{height:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:h-5{height:calc(calc(var(--tpl-base-size) / 4) * 5)}.tpl\\:h-6{height:calc(calc(var(--tpl-base-size) / 4) * 6)}.tpl\\:h-7{height:calc(calc(var(--tpl-base-size) / 4) * 7)}.tpl\\:h-8{height:calc(calc(var(--tpl-base-size) / 4) * 8)}.tpl\\:h-9{height:calc(calc(var(--tpl-base-size) / 4) * 9)}.tpl\\:h-10{height:calc(calc(var(--tpl-base-size) / 4) * 10)}.tpl\\:h-12{height:calc(calc(var(--tpl-base-size) / 4) * 12)}.tpl\\:h-14{height:calc(calc(var(--tpl-base-size) / 4) * 14)}.tpl\\:h-16{height:calc(calc(var(--tpl-base-size) / 4) * 16)}.tpl\\:h-32{height:calc(calc(var(--tpl-base-size) / 4) * 32)}.tpl\\:h-44{height:calc(calc(var(--tpl-base-size) / 4) * 44)}.tpl\\:h-\\[32px\\]{height:32px}.tpl\\:h-auto{height:auto}.tpl\\:h-full{height:100%}.tpl\\:max-h-24{max-height:calc(calc(var(--tpl-base-size) / 4) * 24)}.tpl\\:max-h-32{max-height:calc(calc(var(--tpl-base-size) / 4) * 32)}.tpl\\:max-h-48{max-height:calc(calc(var(--tpl-base-size) / 4) * 48)}.tpl\\:max-h-56{max-height:calc(calc(var(--tpl-base-size) / 4) * 56)}.tpl\\:max-h-64{max-height:calc(calc(var(--tpl-base-size) / 4) * 64)}.tpl\\:max-h-\\[50vh\\]{max-height:50vh}.tpl\\:max-h-\\[60vh\\]{max-height:60vh}.tpl\\:max-h-\\[80\\%\\]{max-height:80%}.tpl\\:max-h-\\[80vh\\]{max-height:80vh}.tpl\\:max-h-\\[90\\%\\]{max-height:90%}.tpl\\:max-h-\\[90vh\\]{max-height:90vh}.tpl\\:max-h-full{max-height:100%}.tpl\\:min-h-0{min-height:0}.tpl\\:min-h-6{min-height:calc(calc(var(--tpl-base-size) / 4) * 6)}.tpl\\:min-h-10{min-height:calc(calc(var(--tpl-base-size) / 4) * 10)}.tpl\\:min-h-20{min-height:calc(calc(var(--tpl-base-size) / 4) * 20)}.tpl\\:min-h-\\[1\\.5em\\]{min-height:1.5em}.tpl\\:min-h-\\[1em\\]{min-height:1em}.tpl\\:min-h-\\[48px\\]{min-height:48px}.tpl\\:min-h-\\[60px\\]{min-height:60px}.tpl\\:min-h-\\[64px\\]{min-height:64px}.tpl\\:min-h-\\[68px\\]{min-height:68px}.tpl\\:min-h-\\[72px\\]{min-height:72px}.tpl\\:min-h-\\[80px\\]{min-height:80px}.tpl\\:min-h-\\[100px\\]{min-height:100px}.tpl\\:min-h-\\[120px\\]{min-height:120px}.tpl\\:min-h-\\[150px\\]{min-height:150px}.tpl\\:min-h-\\[400px\\]{min-height:400px}.tpl\\:w-1\\/2{width:50%}.tpl\\:w-1\\/3{width:33.3333%}.tpl\\:w-1\\/4{width:25%}.tpl\\:w-2\\/3{width:66.6667%}.tpl\\:w-3\\/4{width:75%}.tpl\\:w-5\\/6{width:83.3333%}.tpl\\:w-7{width:calc(calc(var(--tpl-base-size) / 4) * 7)}.tpl\\:w-8{width:calc(calc(var(--tpl-base-size) / 4) * 8)}.tpl\\:w-9{width:calc(calc(var(--tpl-base-size) / 4) * 9)}.tpl\\:w-10{width:calc(calc(var(--tpl-base-size) / 4) * 10)}.tpl\\:w-12{width:calc(calc(var(--tpl-base-size) / 4) * 12)}.tpl\\:w-16{width:calc(calc(var(--tpl-base-size) / 4) * 16)}.tpl\\:w-20{width:calc(calc(var(--tpl-base-size) / 4) * 20)}.tpl\\:w-28{width:calc(calc(var(--tpl-base-size) / 4) * 28)}.tpl\\:w-32{width:calc(calc(var(--tpl-base-size) / 4) * 32)}.tpl\\:w-36{width:calc(calc(var(--tpl-base-size) / 4) * 36)}.tpl\\:w-40{width:calc(calc(var(--tpl-base-size) / 4) * 40)}.tpl\\:w-48{width:calc(calc(var(--tpl-base-size) / 4) * 48)}.tpl\\:w-52{width:calc(calc(var(--tpl-base-size) / 4) * 52)}.tpl\\:w-56{width:calc(calc(var(--tpl-base-size) / 4) * 56)}.tpl\\:w-72{width:calc(calc(var(--tpl-base-size) / 4) * 72)}.tpl\\:w-\\[280px\\]{width:280px}.tpl\\:w-\\[300px\\]{width:300px}.tpl\\:w-\\[320px\\]{width:320px}.tpl\\:w-\\[360px\\]{width:360px}.tpl\\:w-\\[400px\\]{width:400px}.tpl\\:w-\\[420px\\]{width:420px}.tpl\\:w-\\[1000px\\]{width:1000px}.tpl\\:w-\\[min\\(420px\\,92vw\\)\\]{width:min(420px,92vw)}.tpl\\:w-full{width:100%}.tpl\\:w-px{width:1px}.tpl\\:max-w-2xl{max-width:calc(42 * var(--tpl-base-size))}.tpl\\:max-w-3xl{max-width:calc(48 * var(--tpl-base-size))}.tpl\\:max-w-\\[220px\\]{max-width:220px}.tpl\\:max-w-\\[240px\\]{max-width:240px}.tpl\\:max-w-\\[260px\\]{max-width:260px}.tpl\\:max-w-\\[320px\\]{max-width:320px}.tpl\\:max-w-\\[600px\\]{max-width:600px}.tpl\\:max-w-\\[calc\\(100\\%_-_2\\*var\\(--tpl-base-size\\)\\)\\]{max-width:calc(100% - 2 * var(--tpl-base-size))}.tpl\\:max-w-\\[calc\\(100vw_-_2\\*var\\(--tpl-base-size\\)\\)\\]{max-width:calc(100vw - 2 * var(--tpl-base-size))}.tpl\\:max-w-full{max-width:100%}.tpl\\:max-w-md{max-width:calc(28 * var(--tpl-base-size))}.tpl\\:max-w-sm{max-width:calc(24 * var(--tpl-base-size))}.tpl\\:min-w-0{min-width:0}.tpl\\:min-w-6{min-width:calc(calc(var(--tpl-base-size) / 4) * 6)}.tpl\\:min-w-\\[20px\\]{min-width:20px}.tpl\\:min-w-\\[200px\\]{min-width:200px}.tpl\\:flex-1{flex:1}.tpl\\:flex-shrink-0,.tpl\\:shrink-0{flex-shrink:0}.tpl\\:origin-top-right{transform-origin:100% 0}.tpl\\:-translate-x-1\\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\\:-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\\:translate-x-0{--tw-translate-x:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\\:translate-x-4{--tw-translate-x:calc(calc(var(--tpl-base-size) / 4) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\\:translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\\:-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\\:-translate-y-2{--tw-translate-y:calc(calc(var(--tpl-base-size) / 4) * -2);translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\\:-translate-y-full{--tw-translate-y:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\\:translate-y-0{--tw-translate-y:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\\:translate-y-1{--tw-translate-y:calc(var(--tpl-base-size) / 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\\:translate-y-\\[-8px\\]{--tw-translate-y:-8px;translate:var(--tw-translate-x) var(--tw-translate-y)}.tpl\\:scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.tpl\\:scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.tpl\\:-rotate-90{rotate:-90deg}.tpl\\:rotate-0{rotate:0deg}.tpl\\:rotate-45{rotate:45deg}.tpl\\:rotate-90{rotate:90deg}.tpl\\:rotate-180{rotate:180deg}.tpl\\:animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.tpl\\:animate-spin{animation:1s linear infinite spin}.tpl\\:cursor-default{cursor:default}.tpl\\:cursor-grab{cursor:grab}.tpl\\:cursor-help{cursor:help}.tpl\\:cursor-not-allowed{cursor:not-allowed}.tpl\\:cursor-pointer{cursor:pointer}.tpl\\:resize-none{resize:none}.tpl\\:resize-y{resize:vertical}.tpl\\:list-none{list-style-type:none}.tpl\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.tpl\\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.tpl\\:grid-cols-10{grid-template-columns:repeat(10,minmax(0,1fr))}.tpl\\:grid-cols-\\[1fr_auto_1fr\\]{grid-template-columns:1fr auto 1fr}.tpl\\:flex-col{flex-direction:column}.tpl\\:flex-row-reverse{flex-direction:row-reverse}.tpl\\:flex-wrap{flex-wrap:wrap}.tpl\\:items-center{align-items:center}.tpl\\:items-end{align-items:flex-end}.tpl\\:items-start{align-items:flex-start}.tpl\\:items-stretch{align-items:stretch}.tpl\\:justify-between{justify-content:space-between}.tpl\\:justify-center{justify-content:center}.tpl\\:justify-end{justify-content:flex-end}.tpl\\:gap-0{gap:0}.tpl\\:gap-0\\.5{gap:calc(calc(var(--tpl-base-size) / 4) * .5)}.tpl\\:gap-1{gap:calc(var(--tpl-base-size) / 4)}.tpl\\:gap-1\\.5{gap:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:gap-2{gap:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:gap-2\\.5{gap:calc(calc(var(--tpl-base-size) / 4) * 2.5)}.tpl\\:gap-3{gap:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:gap-3\\.5{gap:calc(calc(var(--tpl-base-size) / 4) * 3.5)}.tpl\\:gap-4{gap:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:gap-5{gap:calc(calc(var(--tpl-base-size) / 4) * 5)}.tpl\\:gap-6{gap:calc(calc(var(--tpl-base-size) / 4) * 6)}.tpl\\:gap-10{gap:calc(calc(var(--tpl-base-size) / 4) * 10)}:where(.tpl\\:space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--tpl-base-size) / 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--tpl-base-size) / 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.tpl\\:space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--tpl-base-size) / 4) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--tpl-base-size) / 4) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.tpl\\:space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(calc(var(--tpl-base-size) / 4) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(calc(var(--tpl-base-size) / 4) * 3) * calc(1 - var(--tw-space-y-reverse)))}.tpl\\:gap-x-1{column-gap:calc(var(--tpl-base-size) / 4)}.tpl\\:gap-x-3{column-gap:calc(calc(var(--tpl-base-size) / 4) * 3)}:where(.tpl\\:-space-x-1\\.5>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(calc(var(--tpl-base-size) / 4) * -1.5) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(calc(var(--tpl-base-size) / 4) * -1.5) * calc(1 - var(--tw-space-x-reverse)))}.tpl\\:gap-y-0\\.5{row-gap:calc(calc(var(--tpl-base-size) / 4) * .5)}.tpl\\:gap-y-1\\.5{row-gap:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:self-end{align-self:flex-end}.tpl\\:self-start{align-self:flex-start}.tpl\\:truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tpl\\:overflow-auto{overflow:auto}.tpl\\:overflow-hidden{overflow:hidden}.tpl\\:overflow-x-auto{overflow-x:auto}.tpl\\:overflow-y-auto{overflow-y:auto}.tpl\\:rounded{border-radius:calc(.25 * var(--tpl-base-size))}.tpl\\:rounded-\\[calc\\(var\\(--tpl-radius-sm\\)-2px\\)\\]{border-radius:calc(var(--tpl-radius-sm) - 2px)}.tpl\\:rounded-\\[var\\(--tpl-radius\\)\\]{border-radius:var(--tpl-radius)}.tpl\\:rounded-\\[var\\(--tpl-radius-lg\\)\\]{border-radius:var(--tpl-radius-lg)}.tpl\\:rounded-\\[var\\(--tpl-radius-md\\)\\]{border-radius:var(--tpl-radius-md)}.tpl\\:rounded-\\[var\\(--tpl-radius-sm\\)\\]{border-radius:var(--tpl-radius-sm)}.tpl\\:rounded-full{border-radius:3.40282e38px}.tpl\\:rounded-lg{border-radius:calc(.5 * var(--tpl-base-size))}.tpl\\:rounded-md{border-radius:calc(.375 * var(--tpl-base-size))}.tpl\\:rounded-sm{border-radius:calc(.25 * var(--tpl-base-size))}.tpl\\:rounded-xl{border-radius:calc(.75 * var(--tpl-base-size))}.tpl\\:rounded-l-\\[var\\(--tpl-radius-sm\\)\\]{border-top-left-radius:var(--tpl-radius-sm);border-bottom-left-radius:var(--tpl-radius-sm)}.tpl\\:rounded-tl-lg{border-top-left-radius:calc(.5 * var(--tpl-base-size))}.tpl\\:rounded-r-\\[var\\(--tpl-radius-sm\\)\\]{border-top-right-radius:var(--tpl-radius-sm);border-bottom-right-radius:var(--tpl-radius-sm)}.tpl\\:rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.tpl\\:border{border-style:var(--tw-border-style);border-width:1px}.tpl\\:border-0{border-style:var(--tw-border-style);border-width:0}.tpl\\:border-2{border-style:var(--tw-border-style);border-width:2px}.tpl\\:border-x-0{border-inline-style:var(--tw-border-style);border-inline-width:0}.tpl\\:border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.tpl\\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.tpl\\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.tpl\\:border-r-0{border-right-style:var(--tw-border-style);border-right-width:0}.tpl\\:border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.tpl\\:border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.tpl\\:border-l-0{border-left-style:var(--tw-border-style);border-left-width:0}.tpl\\:border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.tpl\\:border-dashed{--tw-border-style:dashed;border-style:dashed}.tpl\\:border-none{--tw-border-style:none;border-style:none}.tpl\\:border-\\[var\\(--tpl-bg\\)\\]{border-color:var(--tpl-bg)}.tpl\\:border-\\[var\\(--tpl-border\\)\\]{border-color:var(--tpl-border)}.tpl\\:border-\\[var\\(--tpl-border-light\\)\\]{border-color:var(--tpl-border-light)}.tpl\\:border-\\[var\\(--tpl-danger\\)\\]{border-color:var(--tpl-danger)}.tpl\\:border-\\[var\\(--tpl-primary\\)\\]{border-color:var(--tpl-primary)}.tpl\\:border-\\[var\\(--tpl-primary-hover\\)\\]{border-color:var(--tpl-primary-hover)}.tpl\\:border-\\[var\\(--tpl-warning\\)\\]{border-color:var(--tpl-warning)}.tpl\\:border-transparent{border-color:#0000}.tpl\\:border-l-\\[var\\(--tpl-primary\\)\\]{border-left-color:var(--tpl-primary)}.tpl\\:border-l-transparent{border-left-color:#0000}.tpl\\:bg-\\[color-mix\\(in_srgb\\,var\\(--tpl-bg\\)_90\\%\\,transparent\\)\\]{background-color:var(--tpl-bg)}@supports (color:color-mix(in lab,red,red)){.tpl\\:bg-\\[color-mix\\(in_srgb\\,var\\(--tpl-bg\\)_90\\%\\,transparent\\)\\]{background-color:color-mix(in srgb,var(--tpl-bg) 90%,transparent)}}.tpl\\:bg-\\[var\\(--tpl-bg\\)\\]{background-color:var(--tpl-bg)}.tpl\\:bg-\\[var\\(--tpl-bg-active\\)\\]{background-color:var(--tpl-bg-active)}.tpl\\:bg-\\[var\\(--tpl-bg-elevated\\)\\]{background-color:var(--tpl-bg-elevated)}.tpl\\:bg-\\[var\\(--tpl-bg-hover\\)\\]{background-color:var(--tpl-bg-hover)}.tpl\\:bg-\\[var\\(--tpl-border\\)\\]{background-color:var(--tpl-border)}.tpl\\:bg-\\[var\\(--tpl-canvas-bg\\)\\]{background-color:var(--tpl-canvas-bg)}.tpl\\:bg-\\[var\\(--tpl-chrome-bg-elevated\\)\\]{background-color:var(--tpl-chrome-bg-elevated)}.tpl\\:bg-\\[var\\(--tpl-chrome-primary-light\\)\\]{background-color:var(--tpl-chrome-primary-light)}.tpl\\:bg-\\[var\\(--tpl-danger\\)\\]{background-color:var(--tpl-danger)}.tpl\\:bg-\\[var\\(--tpl-danger-light\\)\\]{background-color:var(--tpl-danger-light)}.tpl\\:bg-\\[var\\(--tpl-primary\\)\\]{background-color:var(--tpl-primary)}.tpl\\:bg-\\[var\\(--tpl-primary-light\\)\\]{background-color:var(--tpl-primary-light)}.tpl\\:bg-\\[var\\(--tpl-warning-light\\)\\]{background-color:var(--tpl-warning-light)}.tpl\\:bg-black\\/30{background-color:oklab(0% none none/.3)}.tpl\\:bg-transparent{background-color:#0000}.tpl\\:object-contain{object-fit:contain}.tpl\\:object-cover{object-fit:cover}.tpl\\:p-0{padding:0}.tpl\\:p-0\\.5{padding:calc(calc(var(--tpl-base-size) / 4) * .5)}.tpl\\:p-1{padding:calc(var(--tpl-base-size) / 4)}.tpl\\:p-1\\.5{padding:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:p-2{padding:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:p-3{padding:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:p-4{padding:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:p-5{padding:calc(calc(var(--tpl-base-size) / 4) * 5)}.tpl\\:p-6{padding:calc(calc(var(--tpl-base-size) / 4) * 6)}.tpl\\:p-8{padding:calc(calc(var(--tpl-base-size) / 4) * 8)}.tpl\\:px-0\\.5{padding-inline:calc(calc(var(--tpl-base-size) / 4) * .5)}.tpl\\:px-1{padding-inline:calc(var(--tpl-base-size) / 4)}.tpl\\:px-1\\.5{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:px-2{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:px-2\\.5{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 2.5)}.tpl\\:px-3{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:px-3\\.5{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 3.5)}.tpl\\:px-4{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:px-5{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 5)}.tpl\\:px-6{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 6)}.tpl\\:px-8{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 8)}.tpl\\:px-10{padding-inline:calc(calc(var(--tpl-base-size) / 4) * 10)}.tpl\\:py-0{padding-block:0}.tpl\\:py-0\\.5{padding-block:calc(calc(var(--tpl-base-size) / 4) * .5)}.tpl\\:py-1{padding-block:calc(var(--tpl-base-size) / 4)}.tpl\\:py-1\\.5{padding-block:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:py-2{padding-block:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:py-2\\.5{padding-block:calc(calc(var(--tpl-base-size) / 4) * 2.5)}.tpl\\:py-3{padding-block:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:py-3\\.5{padding-block:calc(calc(var(--tpl-base-size) / 4) * 3.5)}.tpl\\:py-4{padding-block:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:py-5{padding-block:calc(calc(var(--tpl-base-size) / 4) * 5)}.tpl\\:py-6{padding-block:calc(calc(var(--tpl-base-size) / 4) * 6)}.tpl\\:py-8{padding-block:calc(calc(var(--tpl-base-size) / 4) * 8)}.tpl\\:py-10{padding-block:calc(calc(var(--tpl-base-size) / 4) * 10)}.tpl\\:py-12{padding-block:calc(calc(var(--tpl-base-size) / 4) * 12)}.tpl\\:py-16{padding-block:calc(calc(var(--tpl-base-size) / 4) * 16)}.tpl\\:py-\\[5px\\]{padding-block:5px}.tpl\\:py-\\[7px\\]{padding-block:7px}.tpl\\:py-px{padding-block:1px}.tpl\\:pt-1{padding-top:calc(var(--tpl-base-size) / 4)}.tpl\\:pt-2{padding-top:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:pt-2\\.5{padding-top:calc(calc(var(--tpl-base-size) / 4) * 2.5)}.tpl\\:pt-3{padding-top:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:pt-4{padding-top:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:pr-2{padding-right:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:pr-3{padding-right:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:pr-4{padding-right:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:pr-7{padding-right:calc(calc(var(--tpl-base-size) / 4) * 7)}.tpl\\:pr-8{padding-right:calc(calc(var(--tpl-base-size) / 4) * 8)}.tpl\\:pb-1{padding-bottom:calc(var(--tpl-base-size) / 4)}.tpl\\:pb-1\\.5{padding-bottom:calc(calc(var(--tpl-base-size) / 4) * 1.5)}.tpl\\:pb-2{padding-bottom:calc(calc(var(--tpl-base-size) / 4) * 2)}.tpl\\:pb-3{padding-bottom:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:pb-4{padding-bottom:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:pl-2\\.5{padding-left:calc(calc(var(--tpl-base-size) / 4) * 2.5)}.tpl\\:pl-3{padding-left:calc(calc(var(--tpl-base-size) / 4) * 3)}.tpl\\:pl-4{padding-left:calc(calc(var(--tpl-base-size) / 4) * 4)}.tpl\\:pl-8{padding-left:calc(calc(var(--tpl-base-size) / 4) * 8)}.tpl\\:pl-9{padding-left:calc(calc(var(--tpl-base-size) / 4) * 9)}.tpl\\:pl-\\[18px\\]{padding-left:18px}.tpl\\:text-center{text-align:center}.tpl\\:text-left{text-align:left}.tpl\\:font-\\[inherit\\]{font-family:inherit}.tpl\\:font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.tpl\\:font-sans{font-family:Geist,ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.tpl\\:text-4xl{font-size:calc(2.25 * var(--tpl-base-size));line-height:var(--tw-leading,calc(2.5 / 2.25))}.tpl\\:text-base{font-size:var(--tpl-base-size);line-height:var(--tw-leading, 1.5 )}.tpl\\:text-lg{font-size:calc(1.125 * var(--tpl-base-size));line-height:var(--tw-leading,calc(1.75 / 1.125))}.tpl\\:text-sm{font-size:calc(.875 * var(--tpl-base-size));line-height:var(--tw-leading,calc(1.25 / .875))}.tpl\\:text-xs{font-size:calc(.75 * var(--tpl-base-size));line-height:var(--tw-leading,calc(1 / .75))}.tpl\\:text-\\[0\\.8em\\]{font-size:.8em}.tpl\\:text-\\[0\\.9em\\]{font-size:.9em}.tpl\\:text-\\[1em\\]{font-size:1em}.tpl\\:text-\\[10px\\]{font-size:10px}.tpl\\:text-\\[12px\\]{font-size:12px}.tpl\\:text-\\[13px\\]{font-size:13px}.tpl\\:text-\\[length\\:inherit\\]{font-size:inherit}.tpl\\:leading-none{--tw-leading:1;line-height:1}.tpl\\:leading-normal{--tw-leading:1.5;line-height:1.5}.tpl\\:leading-relaxed{--tw-leading:1.625;line-height:1.625}.tpl\\:leading-snug{--tw-leading:1.375;line-height:1.375}.tpl\\:leading-tight{--tw-leading:1.25;line-height:1.25}.tpl\\:font-\\[var\\(--tpl-font-family\\)\\]{--tw-font-weight:var(--tpl-font-family);font-weight:var(--tpl-font-family)}.tpl\\:font-bold{--tw-font-weight:700;font-weight:700}.tpl\\:font-medium{--tw-font-weight:500;font-weight:500}.tpl\\:font-normal{--tw-font-weight:400;font-weight:400}.tpl\\:font-semibold{--tw-font-weight:600;font-weight:600}.tpl\\:tracking-wide{--tw-tracking:.025em;letter-spacing:.025em}.tpl\\:tracking-wider{--tw-tracking:.05em;letter-spacing:.05em}.tpl\\:break-all{word-break:break-all}.tpl\\:text-ellipsis{text-overflow:ellipsis}.tpl\\:whitespace-nowrap{white-space:nowrap}.tpl\\:whitespace-pre-wrap{white-space:pre-wrap}.tpl\\:text-\\[var\\(--tpl-bg\\)\\]{color:var(--tpl-bg)}.tpl\\:text-\\[var\\(--tpl-border\\)\\]{color:var(--tpl-border)}.tpl\\:text-\\[var\\(--tpl-border-light\\)\\]{color:var(--tpl-border-light)}.tpl\\:text-\\[var\\(--tpl-chrome-text-dim\\)\\]{color:var(--tpl-chrome-text-dim)}.tpl\\:text-\\[var\\(--tpl-chrome-text-muted\\)\\]{color:var(--tpl-chrome-text-muted)}.tpl\\:text-\\[var\\(--tpl-danger\\)\\]{color:var(--tpl-danger)}.tpl\\:text-\\[var\\(--tpl-on-primary\\)\\]{color:var(--tpl-on-primary)}.tpl\\:text-\\[var\\(--tpl-primary\\)\\]{color:var(--tpl-primary)}.tpl\\:text-\\[var\\(--tpl-primary-hover\\)\\]{color:var(--tpl-primary-hover)}.tpl\\:text-\\[var\\(--tpl-success\\)\\]{color:var(--tpl-success)}.tpl\\:text-\\[var\\(--tpl-success\\,var\\(--tpl-primary\\)\\)\\]{color:var(--tpl-success,var(--tpl-primary))}.tpl\\:text-\\[var\\(--tpl-text\\)\\]{color:var(--tpl-text)}.tpl\\:text-\\[var\\(--tpl-text-dim\\)\\]{color:var(--tpl-text-dim)}.tpl\\:text-\\[var\\(--tpl-text-muted\\)\\]{color:var(--tpl-text-muted)}.tpl\\:text-\\[var\\(--tpl-warning\\)\\]{color:var(--tpl-warning)}.tpl\\:normal-case{text-transform:none}.tpl\\:uppercase{text-transform:uppercase}.tpl\\:italic{font-style:italic}.tpl\\:tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tpl\\:no-underline{text-decoration-line:none}.tpl\\:underline{text-decoration-line:underline}.tpl\\:accent-\\[var\\(--tpl-primary\\)\\]{accent-color:var(--tpl-primary)}.tpl\\:opacity-0{opacity:0}.tpl\\:opacity-50{opacity:.5}.tpl\\:opacity-60{opacity:.6}.tpl\\:opacity-70{opacity:.7}.tpl\\:opacity-90{opacity:.9}.tpl\\:opacity-100{opacity:1}.tpl\\:shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:shadow-\\[var\\(--tpl-ring\\)\\]{--tw-shadow:var(--tpl-ring);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:shadow-\\[var\\(--tpl-shadow\\)\\]{--tw-shadow:var(--tpl-shadow);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:shadow-\\[var\\(--tpl-shadow-lg\\)\\]{--tw-shadow:var(--tpl-shadow-lg);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:shadow-\\[var\\(--tpl-shadow-md\\)\\]{--tw-shadow:var(--tpl-shadow-md);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:shadow-\\[var\\(--tpl-shadow-sm\\)\\]{--tw-shadow:var(--tpl-shadow-sm);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:ring-\\[var\\(--tpl-border\\)\\]{--tw-ring-color:var(--tpl-border)}.tpl\\:ring-\\[var\\(--tpl-primary\\)\\]{--tw-ring-color:var(--tpl-primary)}.tpl\\:ring-offset-1{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.tpl\\:ring-offset-\\[var\\(--tpl-bg-elevated\\)\\]{--tw-ring-offset-color:var(--tpl-bg-elevated)}.tpl\\:backdrop-blur-\\[2px\\]{--tw-backdrop-blur:blur(2px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.tpl\\:transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,cubic-bezier(.16, 1, .3, 1));transition-duration:var(--tw-duration,.12s)}.tpl\\:transition-all{transition-property:all;transition-timing-function:var(--tw-ease,cubic-bezier(.16, 1, .3, 1));transition-duration:var(--tw-duration,.12s)}.tpl\\:transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,cubic-bezier(.16, 1, .3, 1));transition-duration:var(--tw-duration,.12s)}.tpl\\:transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,cubic-bezier(.16, 1, .3, 1));transition-duration:var(--tw-duration,.12s)}.tpl\\:transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,cubic-bezier(.16, 1, .3, 1));transition-duration:var(--tw-duration,.12s)}.tpl\\:transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,cubic-bezier(.16, 1, .3, 1));transition-duration:var(--tw-duration,.12s)}.tpl\\:duration-100{--tw-duration:.1s;transition-duration:.1s}.tpl\\:duration-150{--tw-duration:.15s;transition-duration:.15s}.tpl\\:duration-200{--tw-duration:.2s;transition-duration:.2s}.tpl\\:duration-300{--tw-duration:.3s;transition-duration:.3s}.tpl\\:duration-\\[80ms\\]{--tw-duration:80ms;transition-duration:80ms}.tpl\\:duration-\\[120ms\\]{--tw-duration:.12s;transition-duration:.12s}.tpl\\:ease-\\[cubic-bezier\\(0\\.16\\,1\\,0\\.3\\,1\\)\\]{--tw-ease:cubic-bezier(.16,1,.3,1);transition-timing-function:cubic-bezier(.16,1,.3,1)}.tpl\\:ease-in{--tw-ease:cubic-bezier(.4, 0, 1, 1);transition-timing-function:cubic-bezier(.4,0,1,1)}.tpl\\:ease-out{--tw-ease:cubic-bezier(0, 0, .2, 1);transition-timing-function:cubic-bezier(0,0,.2,1)}.tpl\\:outline-none{--tw-outline-style:none;outline-style:none}.tpl\\:select-none{-webkit-user-select:none;user-select:none}.tpl\\:group-focus-within\\:opacity-100:is(:where(.tpl\\:group):focus-within *){opacity:1}@media(hover:hover){.tpl\\:group-hover\\:bg-black\\/40:is(:where(.tpl\\:group):hover *){background-color:oklab(0% none none/.4)}.tpl\\:group-hover\\:opacity-100:is(:where(.tpl\\:group):hover *){opacity:1}}.tpl\\:placeholder\\:text-\\[var\\(--tpl-text-dim\\)\\]::placeholder{color:var(--tpl-text-dim)}.tpl\\:first\\:border-t-0:first-child{border-top-style:var(--tw-border-style);border-top-width:0}.tpl\\:last\\:mb-0:last-child{margin-bottom:0}@media(hover:hover){.tpl\\:hover\\:z-10:hover{z-index:10}.tpl\\:hover\\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.tpl\\:hover\\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.tpl\\:hover\\:scale-125:hover{--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x) var(--tw-scale-y)}.tpl\\:hover\\:border-\\[var\\(--tpl-border\\)\\]:hover{border-color:var(--tpl-border)}.tpl\\:hover\\:border-\\[var\\(--tpl-danger\\)\\]:hover{border-color:var(--tpl-danger)}.tpl\\:hover\\:border-\\[var\\(--tpl-primary\\)\\]:hover{border-color:var(--tpl-primary)}.tpl\\:hover\\:border-\\[var\\(--tpl-text-dim\\)\\]:hover{border-color:var(--tpl-text-dim)}.tpl\\:hover\\:border-l-\\[var\\(--tpl-primary\\)\\]:hover{border-left-color:var(--tpl-primary)}.tpl\\:hover\\:bg-\\[color-mix\\(in_srgb\\,var\\(--tpl-text\\)_8\\%\\,transparent\\)\\]:hover{background-color:var(--tpl-text)}@supports (color:color-mix(in lab,red,red)){.tpl\\:hover\\:bg-\\[color-mix\\(in_srgb\\,var\\(--tpl-text\\)_8\\%\\,transparent\\)\\]:hover{background-color:color-mix(in srgb,var(--tpl-text) 8%,transparent)}}.tpl\\:hover\\:bg-\\[var\\(--tpl-bg-active\\)\\]:hover{background-color:var(--tpl-bg-active)}.tpl\\:hover\\:bg-\\[var\\(--tpl-bg-hover\\)\\]:hover{background-color:var(--tpl-bg-hover)}.tpl\\:hover\\:bg-\\[var\\(--tpl-danger-light\\)\\]:hover{background-color:var(--tpl-danger-light)}.tpl\\:hover\\:bg-\\[var\\(--tpl-primary-hover\\)\\]:hover{background-color:var(--tpl-primary-hover)}.tpl\\:hover\\:bg-\\[var\\(--tpl-primary-light\\)\\]:hover{background-color:var(--tpl-primary-light)}.tpl\\:hover\\:bg-\\[var\\(--tpl-warning-light\\)\\]:hover{background-color:var(--tpl-warning-light)}.tpl\\:hover\\:text-\\[var\\(--tpl-danger\\)\\]:hover{color:var(--tpl-danger)}.tpl\\:hover\\:text-\\[var\\(--tpl-primary\\)\\]:hover{color:var(--tpl-primary)}.tpl\\:hover\\:text-\\[var\\(--tpl-text\\)\\]:hover{color:var(--tpl-text)}.tpl\\:hover\\:underline:hover{text-decoration-line:underline}.tpl\\:hover\\:opacity-80:hover{opacity:.8}.tpl\\:hover\\:opacity-100:hover{opacity:1}.tpl\\:hover\\:shadow-\\[var\\(--tpl-shadow-md\\)\\]:hover{--tw-shadow:var(--tpl-shadow-md);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:hover\\:shadow-\\[var\\(--tpl-shadow-sm\\)\\]:hover{--tw-shadow:var(--tpl-shadow-sm);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.tpl\\:focus\\:border-\\[var\\(--tpl-primary\\)\\]:focus{border-color:var(--tpl-primary)}.tpl\\:focus\\:shadow-\\[0_0_0_3px_var\\(--tpl-primary-light\\)\\]:focus{--tw-shadow:0 0 0 3px var(--tw-shadow-color,var(--tpl-primary-light));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:focus\\:shadow-\\[var\\(--tpl-ring\\)\\]:focus,.tpl\\:focus-visible\\:shadow-\\[var\\(--tpl-ring\\)\\]:focus-visible{--tw-shadow:var(--tpl-ring);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.tpl\\:focus-visible\\:ring-\\[var\\(--tpl-primary\\)\\]:focus-visible{--tw-ring-color:var(--tpl-primary)}.tpl\\:focus-visible\\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.tpl\\:focus-visible\\:ring-offset-\\[var\\(--tpl-bg-elevated\\)\\]:focus-visible{--tw-ring-offset-color:var(--tpl-bg-elevated)}.tpl\\:focus-visible\\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.tpl\\:active\\:cursor-grabbing:active{cursor:grabbing}.tpl\\:active\\:bg-\\[var\\(--tpl-bg-active\\)\\]:active{background-color:var(--tpl-bg-active)}.tpl\\:disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.tpl\\:disabled\\:opacity-30:disabled{opacity:.3}.tpl\\:disabled\\:opacity-40:disabled{opacity:.4}.tpl\\:disabled\\:opacity-50:disabled{opacity:.5}@media(hover:hover){.tpl\\:disabled\\:hover\\:bg-transparent:disabled:hover{background-color:#0000}}.tpl\\:\\[\\&_p\\]\\:mb-2 p{margin-bottom:calc(calc(var(--tpl-base-size) / 4) * 2)}@layer base,components;.tpl{--tpl-base-size:var(--tpl-user-base-size,16px);--tpl-bg:var(--tpl-user-bg,oklch(99.5% .002 60));--tpl-bg-elevated:var(--tpl-user-bg-elevated,oklch(98% .004 60));--tpl-bg-hover:var(--tpl-user-bg-hover,oklch(96% .006 60));--tpl-bg-active:var(--tpl-user-bg-active,oklch(93.5% .008 60));--tpl-border:var(--tpl-user-border,oklch(92% .006 60));--tpl-border-light:var(--tpl-user-border-light,oklch(86% .01 60));--tpl-text:var(--tpl-user-text,oklch(18% .01 60));--tpl-text-muted:var(--tpl-user-text-muted,oklch(50% .015 60));--tpl-text-dim:var(--tpl-user-text-dim,oklch(68% .012 60));--tpl-primary:var(--tpl-user-primary,oklch(70% .16 55));--tpl-primary-hover:var(--tpl-user-primary-hover,oklch(63% .17 55));--tpl-primary-light:var(--tpl-user-primary-light,oklch(95% .04 55));--tpl-on-primary:var(--tpl-user-on-primary,var(--tpl-bg));--tpl-secondary:var(--tpl-user-secondary,oklch(60% .118 184.71));--tpl-secondary-hover:var(--tpl-user-secondary-hover,oklch(53.2% .105 186.39));--tpl-secondary-light:var(--tpl-user-secondary-light,oklch(93.8% .03 186.82));--tpl-success:var(--tpl-user-success,oklch(62.8% .194 155.1));--tpl-success-light:var(--tpl-user-success-light,oklch(93.6% .043 163.51));--tpl-warning:var(--tpl-user-warning,oklch(76.9% .168 70.08));--tpl-warning-light:var(--tpl-user-warning-light,oklch(95% .038 73.59));--tpl-danger:var(--tpl-user-danger,oklch(63.7% .237 25.33));--tpl-danger-light:var(--tpl-user-danger-light,oklch(93.6% .032 17.72));--tpl-canvas-bg:var(--tpl-user-canvas-bg,oklch(97.5% .003 60));--tpl-chrome-bg-elevated:var(--tpl-bg-elevated);--tpl-chrome-border-light:var(--tpl-border-light);--tpl-chrome-text:var(--tpl-text);--tpl-chrome-text-muted:var(--tpl-text-muted);--tpl-chrome-text-dim:var(--tpl-text-dim);--tpl-chrome-primary-light:var(--tpl-primary-light);--tpl-chrome-primary-hover:var(--tpl-primary-hover);--tpl-radius:var(--tpl-user-radius,10px);--tpl-radius-sm:var(--tpl-user-radius-sm,7px);--tpl-radius-lg:var(--tpl-user-radius-lg,14px);--tpl-font-family:var(--tpl-user-font-family,\"Geist\", ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");--tpl-shadow-sm:var(--tpl-user-shadow-sm,0 1px 2px #00000008);--tpl-shadow:var(--tpl-user-shadow,0 1px 2px #0000000a, 0 1px 3px #00000008);--tpl-shadow-md:var(--tpl-user-shadow-md,0 2px 8px #0000000f, 0 1px 3px #0000000a);--tpl-shadow-lg:var(--tpl-user-shadow-lg,0 4px 16px #00000014, 0 2px 6px #0000000a);--tpl-shadow-xl:var(--tpl-user-shadow-xl,0 8px 32px #0000001a, 0 4px 12px #0000000f);--tpl-overlay:var(--tpl-user-overlay,#00000080);--tpl-ring:var(--tpl-user-ring,0 0 0 3px var(--tpl-primary-light));--tpl-transition:var(--tpl-user-transition,.12s cubic-bezier(.16, 1, .3, 1))}.tpl[data-tpl-theme=dark]{--tpl-bg:var(--tpl-user-dark-bg,oklch(16% .005 60));--tpl-bg-elevated:var(--tpl-user-dark-bg-elevated,oklch(21% .006 60));--tpl-bg-hover:var(--tpl-user-dark-bg-hover,oklch(26% .007 60));--tpl-bg-active:var(--tpl-user-dark-bg-active,oklch(30% .008 60));--tpl-border:var(--tpl-user-dark-border,oklch(30% .006 60));--tpl-border-light:var(--tpl-user-dark-border-light,oklch(38% .008 60));--tpl-text:var(--tpl-user-dark-text,oklch(93% .005 60));--tpl-text-muted:var(--tpl-user-dark-text-muted,oklch(65% .01 60));--tpl-text-dim:var(--tpl-user-dark-text-dim,oklch(50% .008 60));--tpl-primary:var(--tpl-user-dark-primary,oklch(73% .15 55));--tpl-primary-hover:var(--tpl-user-dark-primary-hover,oklch(78% .14 55));--tpl-primary-light:var(--tpl-user-dark-primary-light,oklch(28% .05 55));--tpl-secondary:var(--tpl-user-dark-secondary,oklch(63% .11 184.71));--tpl-secondary-hover:var(--tpl-user-dark-secondary-hover,oklch(68% .1 186.39));--tpl-secondary-light:var(--tpl-user-dark-secondary-light,oklch(25% .03 186.82));--tpl-success:var(--tpl-user-dark-success,oklch(65% .18 155.1));--tpl-success-light:var(--tpl-user-dark-success-light,oklch(25% .04 163.51));--tpl-warning:var(--tpl-user-dark-warning,oklch(78% .16 70.08));--tpl-warning-light:var(--tpl-user-dark-warning-light,oklch(28% .04 73.59));--tpl-danger:var(--tpl-user-dark-danger,oklch(65% .22 25.33));--tpl-danger-light:var(--tpl-user-dark-danger-light,oklch(25% .04 17.72));--tpl-canvas-bg:var(--tpl-user-dark-canvas-bg,oklch(10% .003 60));--tpl-shadow-sm:var(--tpl-user-dark-shadow-sm,0 1px 2px #0003);--tpl-shadow:var(--tpl-user-dark-shadow,0 1px 2px #0000004d, 0 1px 3px #0003);--tpl-shadow-md:var(--tpl-user-dark-shadow-md,0 2px 8px #00000059, 0 1px 3px #00000040);--tpl-shadow-lg:var(--tpl-user-dark-shadow-lg,0 4px 16px #0006, 0 2px 6px #0000004d);--tpl-shadow-xl:var(--tpl-user-dark-shadow-xl,0 8px 32px #00000080, 0 4px 12px #00000059);--tpl-overlay:var(--tpl-user-dark-overlay,#000000b3);--tpl-ring:var(--tpl-user-dark-ring,0 0 0 3px var(--tpl-primary-light))}.tpl[data-tpl-theme=dark] .tpl-block-content{--tpl-bg-elevated:oklch(98% .004 60);--tpl-border-light:oklch(86% .01 60);--tpl-text:oklch(18% .01 60);--tpl-text-muted:oklch(50% .015 60);--tpl-text-dim:oklch(68% .012 60);--tpl-primary-light:oklch(95% .04 55);--tpl-primary-hover:oklch(60% .16 55);color:var(--tpl-text)}.tpl{height:100%;font-family:Geist,ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:calc(.875 * var(--tpl-base-size));line-height:var(--tw-leading,calc(1.25 / .875));--tw-leading:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--tpl-bg);min-height:320px;color:var(--tpl-text);line-height:1.5;font-family:var(--tpl-font-family);letter-spacing:normal;word-spacing:normal;text-transform:none;text-indent:0;text-align:start;white-space:normal;cursor:auto;font-variant-numeric:normal;text-shadow:none;flex-direction:column;font-style:normal;font-weight:400;list-style-type:disc;display:flex}:where(.tpl) button,:where(.tpl) input,:where(.tpl) select,:where(.tpl) textarea{box-sizing:border-box;font-family:inherit}:where(.tpl) button{cursor:pointer;background:0 0;border:none;margin:0;padding:0}:where(.tpl) button:focus-visible,:where(.tpl) input:focus-visible,:where(.tpl) select:focus-visible,:where(.tpl) textarea:focus-visible{box-shadow:var(--tpl-ring);outline:none}:where(.tpl) .tpl-focus-ring-host:focus-within :is(input,select,textarea):focus-visible{box-shadow:none}.tpl ::-webkit-scrollbar{width:6px;height:6px}.tpl ::-webkit-scrollbar-track{background:0 0}.tpl ::-webkit-scrollbar-thumb{background-color:var(--tpl-border-light)}@supports (color:color-mix(in lab,red,red)){.tpl ::-webkit-scrollbar-thumb{background-color:color-mix(in srgb,var(--tpl-border-light) 60%,transparent)}}.tpl ::-webkit-scrollbar-thumb{border-radius:calc(.25 * var(--tpl-base-size))}.tpl ::-webkit-scrollbar-thumb:hover{background-color:var(--tpl-border-light)}@keyframes tpl-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes tpl-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tpl-popover-root{z-index:10000;position:relative}.tpl-merge-tag-label{text-underline-offset:3px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}@supports (color:color-mix(in lab,red,red)){.tpl-merge-tag-label{-webkit-text-decoration-color:color-mix(in srgb,currentColor 55%,transparent);text-decoration-color:color-mix(in srgb,currentColor 55%,transparent)}}.tpl-merge-tag-label{unicode-bidi:isolate}.tpl-pulse{animation:2s infinite tpl-pulse}.tpl-spinner{animation:1s linear infinite tpl-spin}@keyframes tpl-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes tpl-scale-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes tpl-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.tpl-fade-in{animation:.2s cubic-bezier(.16,1,.3,1) tpl-fade-in}.tpl-scale-in{animation:.15s cubic-bezier(.16,1,.3,1) tpl-scale-in}.tpl-shimmer{background:linear-gradient(90deg,var(--tpl-bg-hover) 25%,var(--tpl-bg-active) 50%,var(--tpl-bg-hover) 75%);background-size:200% 100%;animation:1.5s linear infinite tpl-shimmer}.tpl-preview-mode .tpl-block--idle,.tpl-preview-mode .tpl-block--idle:hover,.tpl-preview-mode .tpl-block--selected{box-shadow:none!important;outline:none!important}.tpl-preview-mode .tpl-block{cursor:default;pointer-events:none}.tpl-preview-mode .tpl-block-actions,.tpl-preview-mode .tpl-block-hidden-overlay,.tpl-preview-mode .tpl-condition-toggle,.tpl-preview-mode .tpl-comment-indicator,.tpl-preview-mode .tpl-collab-lock{display:none}.tpl-ghost{border:none!important;border-top:2px dotted var(--tpl-primary)!important;background-color:#0000!important;justify-content:center!important;align-items:center!important;width:100%!important;height:0!important;min-height:0!important;max-height:0!important;margin:12px 0!important;padding:0!important;display:flex!important;position:relative!important;overflow:visible!important}@supports (color:color-mix(in lab,red,red)){.tpl-ghost{border-top:2px dotted color-mix(in srgb,var(--tpl-primary) 50%,transparent)!important}}.tpl-ghost{box-shadow:none!important;border-radius:0!important}.tpl-ghost>*{display:none!important}.tpl-ghost:before{content:var(--tpl-drop-text,\"Drop here\");white-space:nowrap!important;color:var(--tpl-primary)!important;background-color:var(--tpl-primary)!important;padding:2px 8px!important;font-size:12px!important;font-weight:500!important;position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important}@supports (color:color-mix(in lab,red,red)){.tpl-ghost:before{background-color:color-mix(in srgb,var(--tpl-primary) 15%,var(--tpl-bg))!important}}.tpl-ghost:before{border-radius:var(--tpl-radius-sm)!important;box-shadow:none!important}.tpl-canvas-empty .tpl-ghost{display:none!important}.tpl-dragging{opacity:.8;box-shadow:var(--tpl-shadow-xl)}.sortable-fallback{transition:none!important;animation:none!important}.tpl-block--lifted{outline:2px dashed var(--tpl-primary)!important;outline-offset:2px!important;box-shadow:var(--tpl-shadow-xl),0 0 0 4px var(--tpl-primary)!important}@supports (color:color-mix(in lab,red,red)){.tpl-block--lifted{box-shadow:var(--tpl-shadow-xl),0 0 0 4px color-mix(in srgb,var(--tpl-primary) 20%,transparent)!important}}.tpl-block--lifted{transition:transform .15s cubic-bezier(.16,1,.3,1),box-shadow .15s cubic-bezier(.16,1,.3,1);transform:scale(1.01)}.tpl-sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tpl-text-toolbar-btn{width:calc(calc(var(--tpl-base-size) / 4) * 8);height:calc(calc(var(--tpl-base-size) / 4) * 8);cursor:pointer;border-radius:calc(.25 * var(--tpl-base-size));--tw-border-style:none;transition-property:all;transition-timing-function:var(--tw-ease,cubic-bezier(.16, 1, .3, 1));transition-duration:var(--tw-duration,.12s);color:var(--tpl-text);background-color:#0000;border-style:none;justify-content:center;align-items:center;padding:0;display:flex}.tpl-text-toolbar-btn:hover{background-color:var(--tpl-bg-active)}.tpl-text-toolbar-btn--active{box-shadow:inset 0 0 0 1.5px var(--tpl-primary-hover);background-color:var(--tpl-primary)!important;color:var(--tpl-bg)!important}.tpl-text-toolbar-btn--active svg{stroke-width:2.75px}.tpl-text-content,.tpl-text-editable .tiptap{--tw-outline-style:none;outline-style:none}.tpl-text-editable{border-radius:calc(.25 * var(--tpl-base-size));border-style:var(--tw-border-style);--tw-border-style:dashed;padding:calc(calc(var(--tpl-base-size) / 4) * 2);border-style:dashed;border-width:1px;border-color:var(--tpl-primary);min-height:1.5em}.tpl-text-content p,.tpl-text-editable .tiptap p{margin:0 0 var(--tpl-doc-paragraph-spacing,8px)}.tpl-text-content p:last-child,.tpl-text-editable .tiptap p:last-child{margin-bottom:0}.tpl-text-content ul,.tpl-text-content ol,.tpl-text-editable .tiptap ul,.tpl-text-editable .tiptap ol{margin:8px 0;padding-inline-start:24px}.tpl-text-content li,.tpl-text-editable .tiptap li{margin:4px 0}.tpl-text-content s,.tpl-text-editable .tiptap s{text-decoration-line:line-through}.tpl-text-content sub,.tpl-text-editable .tiptap sub{vertical-align:sub;font-size:.75em}.tpl-text-content sup,.tpl-text-editable .tiptap sup{vertical-align:super;font-size:.75em}.tpl-text-content a,.tpl-text-editable a{color:var(--tpl-doc-link-color,inherit);-webkit-text-decoration:var(--tpl-doc-link-underline,none);text-decoration:var(--tpl-doc-link-underline,none)}.tpl-text-content span[data-merge-tag],.tpl-text-editable span[data-merge-tag]{margin-inline:calc(calc(var(--tpl-base-size) / 4) * .5);border-radius:calc(.25 * var(--tpl-base-size));padding-inline:calc(calc(var(--tpl-base-size) / 4) * 1.5);padding-block:calc(calc(var(--tpl-base-size) / 4) * .5);--tw-font-weight:500;background-color:var(--tpl-primary);align-items:center;font-size:.9em;font-weight:500;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.tpl-text-content span[data-merge-tag],.tpl-text-editable span[data-merge-tag]{background-color:color-mix(in srgb,var(--tpl-primary) 20%,transparent)}}.tpl-text-content span[data-merge-tag],.tpl-text-editable span[data-merge-tag]{color:var(--tpl-primary);unicode-bidi:isolate}.tpl-text-content span[data-logic-merge-tag],.tpl-text-editable span[data-logic-merge-tag]{margin-inline:calc(calc(var(--tpl-base-size) / 4) * .5);border-radius:calc(.25 * var(--tpl-base-size));padding-inline:calc(calc(var(--tpl-base-size) / 4) * 1.5);padding-block:calc(calc(var(--tpl-base-size) / 4) * .5);--tw-font-weight:700;--tw-tracking:.025em;letter-spacing:.025em;text-transform:uppercase;border:1.5px solid var(--tpl-primary);unicode-bidi:isolate;background-color:#0000;align-items:center;font-size:.8em;font-weight:700;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.tpl-text-content span[data-logic-merge-tag],.tpl-text-editable span[data-logic-merge-tag]{border:1.5px solid color-mix(in srgb,var(--tpl-primary) 50%,transparent)}}.tpl-text-content span[data-logic-merge-tag],.tpl-text-editable span[data-logic-merge-tag]{color:var(--tpl-primary)}.tpl-tooltip{position:relative}.tpl-tooltip:after{content:attr(data-tooltip);border-radius:var(--tpl-radius-sm);background-color:var(--tpl-text);color:var(--tpl-bg);white-space:normal;text-align:center;pointer-events:none;opacity:0;text-transform:none;z-index:50;width:max-content;max-width:min(320px,90vw);padding:4px 10px;font-size:12px;font-weight:500;line-height:1.4;transition:opacity .15s;position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%)}.tpl-tooltip:before{content:\"\";border:4px solid #0000;border-bottom-color:var(--tpl-text);pointer-events:none;opacity:0;z-index:50;transition:opacity .15s;position:absolute;top:calc(100% + 2px);left:50%;transform:translate(-50%)}.tpl-tooltip:hover:after,.tpl-tooltip:hover:before{opacity:1}.tpl-media-overlay{background-color:var(--tpl-overlay);-webkit-backdrop-filter:blur(8px);height:100%;min-height:0;color:var(--tpl-text);flex-direction:row;justify-content:center;align-items:center;display:flex}.tpl.tpl-text-toolbar{flex-direction:row;height:auto;min-height:0;display:flex}.tpl.tpl-link-dialog{background-color:var(--tpl-overlay);flex-direction:row;justify-content:center;align-items:center;height:100%;min-height:0;display:flex}.tpl-upload-zone-active{border-color:var(--tpl-primary)!important;background-color:var(--tpl-primary-light)!important}@property --tpl-comet-angle{syntax:\"<angle>\";inherits:false;initial-value:0deg}@property --tpl-comet-start{syntax:\"<percentage>\";inherits:false;initial-value:100%}@keyframes tpl-ai-comet{0%{--tpl-comet-angle:0deg;--tpl-comet-start:100%}1%{--tpl-comet-angle:24deg;--tpl-comet-start:88%}5%{--tpl-comet-angle:120deg;--tpl-comet-start:60%}25%{--tpl-comet-angle:600deg;--tpl-comet-start:60%}33%{--tpl-comet-angle:720deg;--tpl-comet-start:100%}to{--tpl-comet-angle:720deg;--tpl-comet-start:100%}}.tpl-ai-btn--idle{background-color:var(--tpl-primary-light);color:var(--tpl-text);box-shadow:none;z-index:0;position:relative}.tpl-ai-btn--idle:before{content:\"\";border-radius:inherit;background:conic-gradient(from var(--tpl-comet-angle),transparent 0%,transparent var(--tpl-comet-start),var(--tpl-primary) 80%,var(--tpl-primary) 90%,var(--tpl-primary) 97%,transparent 100%);padding:2px;position:absolute;inset:-2px}@supports (color:color-mix(in lab,red,red)){.tpl-ai-btn--idle:before{background:conic-gradient(from var(--tpl-comet-angle),transparent 0%,transparent var(--tpl-comet-start),color-mix(in srgb,var(--tpl-primary) 40%,transparent) 80%,var(--tpl-primary) 90%,var(--tpl-primary) 97%,transparent 100%)}}.tpl-ai-btn--idle:before{z-index:-1;pointer-events:none;animation:20s linear 3s infinite tpl-ai-comet;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.tpl-ai-btn--idle:hover{background-color:var(--tpl-primary);color:var(--tpl-on-primary);transform:translateY(-1px);box-shadow:0 0 0 3px var(--tpl-primary),0 4px 16px var(--tpl-primary)!important}@supports (color:color-mix(in lab,red,red)){.tpl-ai-btn--idle:hover{box-shadow:0 0 0 3px color-mix(in srgb,var(--tpl-primary) 20%,transparent),0 4px 16px color-mix(in srgb,var(--tpl-primary) 30%,transparent)!important}}.tpl-ai-btn--idle:hover:before{animation:none}.tpl-ai-btn--active{background-color:var(--tpl-primary-light);color:var(--tpl-primary-hover);border:1px solid var(--tpl-primary)}.tpl-ai-btn--active .tpl-ai-btn-icon{fill:var(--tpl-primary)}@supports (color:color-mix(in lab,red,red)){.tpl-ai-btn--active .tpl-ai-btn-icon{fill:color-mix(in srgb,var(--tpl-primary) 25%,transparent)}}.tpl-ai-btn--active:hover{background-color:var(--tpl-primary-light)}@supports (color:color-mix(in lab,red,red)){.tpl-ai-btn--active:hover{background-color:color-mix(in srgb,var(--tpl-primary-light) 80%,var(--tpl-primary))}}.tpl-merge-tag-delete:hover{color:var(--tpl-danger)!important}@media(prefers-reduced-motion:reduce){.tpl-pulse,.tpl-shimmer,.tpl-fade-in,.tpl-scale-in,.tpl-ai-btn--idle:before{animation:none}.tpl-shimmer{background:var(--tpl-bg-hover)}.tpl-spinner{animation:1s linear infinite tpl-spin}}@property --tw-translate-x{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-y{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-z{syntax:\"*\";inherits:false;initial-value:0}@property --tw-scale-x{syntax:\"*\";inherits:false;initial-value:1}@property --tw-scale-y{syntax:\"*\";inherits:false;initial-value:1}@property --tw-scale-z{syntax:\"*\";inherits:false;initial-value:1}@property --tw-space-y-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-tracking{syntax:\"*\";inherits:false}@property --tw-ordinal{syntax:\"*\";inherits:false}@property --tw-slashed-zero{syntax:\"*\";inherits:false}@property --tw-numeric-figure{syntax:\"*\";inherits:false}@property --tw-numeric-spacing{syntax:\"*\";inherits:false}@property --tw-numeric-fraction{syntax:\"*\";inherits:false}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-backdrop-blur{syntax:\"*\";inherits:false}@property --tw-backdrop-brightness{syntax:\"*\";inherits:false}@property --tw-backdrop-contrast{syntax:\"*\";inherits:false}@property --tw-backdrop-grayscale{syntax:\"*\";inherits:false}@property --tw-backdrop-hue-rotate{syntax:\"*\";inherits:false}@property --tw-backdrop-invert{syntax:\"*\";inherits:false}@property --tw-backdrop-opacity{syntax:\"*\";inherits:false}@property --tw-backdrop-saturate{syntax:\"*\";inherits:false}@property --tw-backdrop-sepia{syntax:\"*\";inherits:false}@property --tw-duration{syntax:\"*\";inherits:false}@property --tw-ease{syntax:\"*\";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}.tpl-preview-pill-enter-active[data-v-d04b2cd0]{transition:opacity .2s cubic-bezier(.16,1,.3,1),transform .2s cubic-bezier(.16,1,.3,1)}.tpl-preview-pill-leave-active[data-v-d04b2cd0]{transition:opacity .15s ease-in,transform .15s ease-in}.tpl-preview-pill-enter-from[data-v-d04b2cd0],.tpl-preview-pill-leave-to[data-v-d04b2cd0]{opacity:0;transform:translateY(-8px) scale(.9)}.tpl-preview-pill-enter-to[data-v-d04b2cd0],.tpl-preview-pill-leave-from[data-v-d04b2cd0]{opacity:1;transform:translateY(0) scale(1)}hex-color-picker{--hcp-width: 200px}hex-color-picker::part(hue){border-radius:var(--tpl-radius-sm, 7px)}hex-color-picker::part(saturation){border-radius:var(--tpl-radius-sm, 7px) var(--tpl-radius-sm, 7px) 0 0}.tpl-color-swatch-empty{background-color:var(--tpl-bg);background-image:linear-gradient(to top right,transparent calc(50% - .75px),var(--tpl-text-dim) calc(50% - .75px),var(--tpl-text-dim) calc(50% + .75px),transparent calc(50% + .75px))}.tpl-pulse-fill[data-v-fca026e4]{animation:tpl-field-pulse-fca026e4 1s ease-out}@keyframes tpl-field-pulse-fca026e4{0%{box-shadow:0 0 color-mix(in srgb,var(--tpl-warning) 30%,transparent);background-color:color-mix(in srgb,var(--tpl-warning) 6%,transparent)}40%{box-shadow:0 0 0 3px color-mix(in srgb,var(--tpl-warning) 15%,transparent);background-color:color-mix(in srgb,var(--tpl-warning) 5%,transparent)}to{box-shadow:0 0 0 0 transparent;background-color:transparent}}@media(prefers-reduced-motion:reduce){.tpl-pulse-fill[data-v-fca026e4]{animation:none}}input[type=number][data-v-69591c1e]::-webkit-outer-spin-button,input[type=number][data-v-69591c1e]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number][data-v-69591c1e]{-moz-appearance:textfield}.tpl-collapsible[data-v-1038bf62]{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s cubic-bezier(.16,1,.3,1)}.tpl-collapsible--open[data-v-1038bf62]{grid-template-rows:1fr}.tpl-collapsible>div[data-v-1038bf62]{overflow:hidden}.tpl-saved-block-skeleton{animation:tpl-saved-block-pulse 1.4s ease-in-out infinite}@keyframes tpl-saved-block-pulse{0%,to{opacity:1}50%{opacity:.55}}@media(prefers-reduced-motion:reduce){.tpl-saved-block-skeleton{animation:none}}.tpl-saved-block-delete-btn:hover{color:var(--tpl-danger)!important}.tpl-saved-block-rename-btn:hover{color:var(--tpl-primary)!important}.tpl-media-item[data-v-373617e3]:not(.tpl-media-item--selected):hover{border-color:var(--tpl-border)!important}.tpl-media-list-item[data-v-373617e3]:hover{background-color:var(--tpl-bg-hover)!important}.tpl-list-icon[data-v-373617e3]{transform:scale(.35);transform-origin:center}.tpl-preview-icon[data-v-c3c1707e]{transform:scale(.45);transform-origin:center}.tpl-comments-slide-enter-active[data-v-32af5912]{transition:transform .28s cubic-bezier(.16,1,.3,1)}.tpl-comments-slide-leave-active[data-v-32af5912]{transition:transform .2s cubic-bezier(.16,1,.3,1)}.tpl-comments-input-wrapper[data-v-32af5912]:focus-within{border-color:var(--tpl-primary);box-shadow:var(--tpl-ring)}.tpl-comments-send-btn[data-v-32af5912]:not(:disabled):hover{transform:scale(1.05)}.tpl-comment-filter[data-v-32af5912]{color:var(--tpl-text-muted);background-color:transparent}.tpl-comment-filter[data-v-32af5912]:hover{background-color:var(--tpl-bg-hover);color:var(--tpl-text)}.tpl-comment-filter--active[data-v-32af5912]{background-color:var(--tpl-primary-light);color:var(--tpl-primary)}.tpl-comment-action[data-v-32af5912]{color:var(--tpl-text-dim);background-color:transparent}.tpl-comment-action[data-v-32af5912]:hover{background-color:var(--tpl-bg-hover);color:var(--tpl-text)}.tpl-comment-delete[data-v-32af5912]:hover{background-color:var(--tpl-danger-light);color:var(--tpl-danger)}.tpl-comment-card[data-v-32af5912],.tpl-comment-reply-card[data-v-32af5912]{border-color:var(--tpl-border);background-color:var(--tpl-bg)}.tpl-resolve-enter-active[data-v-32af5912],.tpl-resolve-leave-active[data-v-32af5912]{transition:opacity .3s ease,transform .3s ease}.tpl-resolve-enter-from[data-v-32af5912],.tpl-resolve-leave-to[data-v-32af5912]{opacity:0;transform:translateY(-4px)}.tpl-resolve-icon[data-v-32af5912]{transition:color .3s ease,transform .2s ease}.tpl-resolve-icon[data-v-32af5912]:active{transform:scale(1.3)}.tpl-replies-enter-active[data-v-32af5912],.tpl-replies-leave-active[data-v-32af5912]{transition:opacity .25s ease,transform .25s ease}.tpl-replies-enter-from[data-v-32af5912],.tpl-replies-leave-to[data-v-32af5912]{opacity:0;transform:translateY(-4px)}.tpl-ai-slide-enter-active[data-v-0a3b048c]{transition:transform .28s cubic-bezier(.16,1,.3,1)}.tpl-ai-slide-leave-active[data-v-0a3b048c]{transition:transform .2s cubic-bezier(.16,1,.3,1)}.tpl-ai-input-wrapper[data-v-0a3b048c]:focus-within{border-color:var(--tpl-primary);box-shadow:var(--tpl-ring)}.tpl-ai-send-btn[data-v-0a3b048c]:not(:disabled):hover{transform:scale(1.05)}.tpl-suggestion-btn[data-v-0a3b048c]:hover{border-color:var(--tpl-primary)!important;background-color:var(--tpl-primary-light)!important}.tpl-design-slide-enter-active[data-v-a5a76ec5]{transition:transform .28s cubic-bezier(.16,1,.3,1)}.tpl-design-slide-leave-active[data-v-a5a76ec5]{transition:transform .2s cubic-bezier(.16,1,.3,1)}.tpl-design-prompt-input[data-v-a5a76ec5]:focus{border-color:var(--tpl-primary);box-shadow:var(--tpl-ring)}.tpl-design-dropzone[data-v-a5a76ec5]:hover{border-color:var(--tpl-primary)!important;background-color:var(--tpl-primary-light)!important}.tpl-scoring-slide-enter-active[data-v-165e948a]{transition:transform .28s cubic-bezier(.16,1,.3,1)}.tpl-scoring-slide-leave-active[data-v-165e948a]{transition:transform .2s cubic-bezier(.16,1,.3,1)}.tpl-scoring-fix-btn[data-v-165e948a]:not(:disabled):hover{border-color:var(--tpl-primary)!important;background-color:var(--tpl-primary-light)!important}.tpl-ai-feature-menu-item[data-v-bf59b787]:hover{background-color:var(--tpl-bg-hover)!important}.vue-advanced-cropper{text-align:center;position:relative;user-select:none;max-height:100%;max-width:100%;direction:ltr}.vue-advanced-cropper__stretcher{pointer-events:none;position:relative;max-width:100%;max-height:100%}.vue-advanced-cropper__image{user-select:none;position:absolute;transform-origin:center;max-width:none!important}.vue-advanced-cropper__background,.vue-advanced-cropper__foreground{opacity:1;background:#000;transform:translate(-50%,-50%);position:absolute;top:50%;left:50%}.vue-advanced-cropper__foreground{opacity:.5}.vue-advanced-cropper__boundaries{opacity:1;transform:translate(-50%,-50%);position:absolute;left:50%;top:50%}.vue-advanced-cropper__cropper-wrapper{width:100%;height:100%}.vue-advanced-cropper__image-wrapper{overflow:hidden;position:absolute;width:100%;height:100%}.vue-advanced-cropper__stencil-wrapper{position:absolute}.vue-simple-handler{display:block;background:#fff;height:10px;width:10px}.vue-handler-wrapper{position:absolute;transform:translate(-50%,-50%);width:30px;height:30px}.vue-handler-wrapper__draggable{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.vue-handler-wrapper--west-north{cursor:nw-resize}.vue-handler-wrapper--north{cursor:n-resize}.vue-handler-wrapper--east-north{cursor:ne-resize}.vue-handler-wrapper--east{cursor:e-resize}.vue-handler-wrapper--east-south{cursor:se-resize}.vue-handler-wrapper--south{cursor:s-resize}.vue-handler-wrapper--west-south{cursor:sw-resize}.vue-handler-wrapper--west{cursor:w-resize}.vue-handler-wrapper--disabled{cursor:auto}.vue-line-wrapper{background:none;position:absolute;display:flex;align-items:center;justify-content:center}.vue-line-wrapper--north,.vue-line-wrapper--south{height:12px;width:100%;left:0;transform:translateY(-50%)}.vue-line-wrapper--north{top:0;cursor:n-resize}.vue-line-wrapper--south{top:100%;cursor:s-resize}.vue-line-wrapper--east,.vue-line-wrapper--west{width:12px;height:100%;transform:translate(-50%);top:0}.vue-line-wrapper--east{left:100%;cursor:e-resize}.vue-line-wrapper--west{left:0;cursor:w-resize}.vue-line-wrapper--disabled{cursor:auto}.vue-bounding-box{position:relative;height:100%;width:100%}.vue-bounding-box__handler{position:absolute}.vue-bounding-box__handler--west-north{left:0;top:0}.vue-bounding-box__handler--north{left:50%;top:0}.vue-bounding-box__handler--east-north{left:100%;top:0}.vue-bounding-box__handler--east{left:100%;top:50%}.vue-bounding-box__handler--east-south{left:100%;top:100%}.vue-bounding-box__handler--south{left:50%;top:100%}.vue-bounding-box__handler--west-south{left:0;top:100%}.vue-bounding-box__handler--west{left:0;top:50%}.vue-draggable-area{position:relative}.vue-preview-result{overflow:hidden;box-sizing:border-box;position:absolute;height:100%;width:100%}.vue-preview-result__wrapper{position:absolute}.vue-preview-result__image{pointer-events:none;position:relative;user-select:none;transform-origin:center;max-width:none!important}.vue-rectangle-stencil{position:absolute;height:100%;width:100%;box-sizing:border-box}.vue-rectangle-stencil__preview{position:absolute;width:100%;height:100%}.vue-rectangle-stencil--movable{cursor:move}.vue-circle-stencil{position:absolute;height:100%;width:100%;box-sizing:content-box;cursor:move}.vue-circle-stencil__preview{border-radius:50%;position:absolute;width:100%;height:100%}.vue-circle-stencil--movable{cursor:move}.vue-preview{overflow:hidden;box-sizing:border-box;position:relative}.vue-preview--fill{width:100%;height:100%;position:absolute}.vue-preview__wrapper{position:absolute;height:100%;width:100%}.vue-preview__image{pointer-events:none;position:absolute;user-select:none;transform-origin:center;max-width:none!important}.vue-simple-line{background:none;transition:border .5s;border-color:#ffffff4d;border-width:0;border-style:solid}.vue-simple-line--south,.vue-simple-line--north{height:0;width:100%}.vue-simple-line--east,.vue-simple-line--west{height:100%;width:0}.vue-simple-line--east{border-right-width:1px}.vue-simple-line--west{border-left-width:1px}.vue-simple-line--south{border-bottom-width:1px}.vue-simple-line--north{border-top-width:1px}.vue-simple-line--hover{opacity:1;border-color:#fff}[data-v-51052195] .tpl-cropper-background{background-color:var(--tpl-bg)!important}[data-v-51052195] .vue-advanced-cropper{background-color:transparent!important}[data-v-51052195] .vue-advanced-cropper__background{background-color:var(--tpl-bg)!important}[data-v-51052195] .vue-advanced-cropper__foreground{background-color:var(--tpl-overlay)!important}\n/*$vite$:1*/", qi = null;
2531
+ function Ji() {
2532
+ if (qi === null) {
2513
2533
  let e = new CSSStyleSheet();
2514
- e.replaceSync(Fi), Ii = e;
2534
+ e.replaceSync(Ki), qi = e;
2515
2535
  }
2516
- return Ii;
2536
+ return qi;
2517
2537
  }
2518
- function Ri(e) {
2538
+ function Yi(e) {
2519
2539
  return () => {};
2520
2540
  }
2521
- function zi(e, t) {
2541
+ function Xi(e, t) {
2522
2542
  if (!t) return {
2523
2543
  target: e,
2524
2544
  shadowRoot: null,
2525
2545
  cleanup: () => {}
2526
2546
  };
2527
2547
  let n = e.shadowRoot ?? e.attachShadow({ mode: "open" });
2528
- for (n.adoptedStyleSheets = [Li()]; n.firstChild;) n.removeChild(n.firstChild);
2548
+ for (n.adoptedStyleSheets = [Ji()]; n.firstChild;) n.removeChild(n.firstChild);
2529
2549
  let r = document.createElement("div");
2530
2550
  return r.className = "tpl-editor-host", r.style.cssText = "display:block;height:100%;width:100%;", n.appendChild(r), {
2531
2551
  target: r,
2532
2552
  shadowRoot: n,
2533
- cleanup: Ri(n)
2553
+ cleanup: Yi(n)
2534
2554
  };
2535
2555
  }
2536
- var Bi = /* @__PURE__ */ new Map(), Vi = null;
2537
- function Hi(e) {
2538
- let t = Bi.get(e);
2539
- t && (t.cleanup(), t.app.unmount(), Bi.delete(e), Vi === e && (Vi = null));
2556
+ var Zi = /* @__PURE__ */ new Map(), Qi = null;
2557
+ function $i(e) {
2558
+ let t = Zi.get(e);
2559
+ t && (t.cleanup(), t.app.unmount(), Zi.delete(e), Qi === e && (Qi = null));
2540
2560
  }
2541
- async function Ui(e) {
2542
- return Wi(e);
2561
+ async function ea(e) {
2562
+ return ta(e);
2543
2563
  }
2544
- async function Wi(e, t) {
2564
+ async function ta(e, t) {
2545
2565
  let n = typeof e.container == "string" ? document.querySelector(e.container) : e.container;
2546
2566
  if (!n) throw Error(`[Templatical] Container element not found: ${e.container}`);
2547
- e.locale !== void 0 && !le(e.locale) && at.warn(`config.locale: "${e.locale}" has no translations — falling back to English. Supported: ${pe().sort().join(", ")}.`);
2548
- let r = await fe(e.locale ?? "en"), i = Fe(e.fonts);
2549
- Hi(n);
2550
- let a = zi(n, e.shadowDom ?? !0), o = c(null);
2551
- e.content &&= _n(e.content, e.mergeTags);
2567
+ e.locale !== void 0 && !Fe(e.locale) && gt.warn(`config.locale: "${e.locale}" has no translations — falling back to English. Supported: ${Ie().sort().join(", ")}.`);
2568
+ let r = await we(e.locale ?? "en"), i = Ee(e.fonts);
2569
+ $i(n);
2570
+ let a = Xi(n, e.shadowDom ?? !0), o = c(null);
2571
+ e.layout && (e.layout = kn(e.layout, e.mergeTags), oe(e.layout)), e.content && (e.content = kn(e.content, e.mergeTags), se(e.content), G(e.content));
2552
2572
  let s = k({ setup() {
2553
- return () => P(ji, {
2573
+ return () => P(Hi, {
2554
2574
  config: e,
2555
2575
  translations: r,
2556
2576
  fontsManager: i,
@@ -2561,17 +2581,17 @@ async function Wi(e, t) {
2561
2581
  ref: o
2562
2582
  });
2563
2583
  } });
2564
- s.mount(a.target), Bi.set(n, {
2584
+ s.mount(a.target), Zi.set(n, {
2565
2585
  app: s,
2566
2586
  editorRef: o,
2567
2587
  cleanup: a.cleanup
2568
- }), Vi = n;
2588
+ }), Qi = n;
2569
2589
  let l = {
2570
2590
  getContent() {
2571
- return V(o.value ? o.value.getContent() : e.content ?? J(e.fonts?.defaultFont, Jt(e)));
2591
+ return K(o.value ? o.value.getContent() : e.content ?? U(e.fonts?.defaultFont, sn(e)));
2572
2592
  },
2573
2593
  setContent(t) {
2574
- let n = _n(t, e.mergeTags);
2594
+ let n = kn(t, e.mergeTags);
2575
2595
  o.value && o.value.setContent(n), e.content = n;
2576
2596
  },
2577
2597
  setTheme(e) {
@@ -2587,11 +2607,11 @@ async function Wi(e, t) {
2587
2607
  tags: t
2588
2608
  };
2589
2609
  },
2590
- unmount: () => Hi(n),
2610
+ unmount: () => $i(n),
2591
2611
  create(t) {
2592
2612
  return o.value ? o.value.create(t?.content ? {
2593
2613
  ...t,
2594
- content: _n(t.content, e.mergeTags)
2614
+ content: kn(t.content, e.mergeTags)
2595
2615
  } : t) : Promise.reject(/* @__PURE__ */ Error("[Templatical] Editor not ready"));
2596
2616
  },
2597
2617
  load(e) {
@@ -2611,31 +2631,35 @@ async function Wi(e, t) {
2611
2631
  },
2612
2632
  toMjml: () => u.toMjml(),
2613
2633
  toHtml: () => u.toHtml()
2614
- }, u = Pi({
2634
+ }, u = Gi({
2615
2635
  provider: e.render,
2616
- buildPayload: () => Ni({
2636
+ buildPayload: () => Wi({
2617
2637
  getContent: () => l.getContent(),
2618
2638
  renderCustomBlock: (e) => l.renderCustomBlock(e),
2619
- getFonts: () => Mi(i)
2639
+ getFonts: () => Ui(i),
2640
+ getLayout: () => e.layout
2620
2641
  }),
2621
- renderLocalMjml: () => rn({
2642
+ renderLocalMjml: () => gn({
2622
2643
  getContent: () => l.getContent(),
2623
2644
  renderCustomBlock: (e) => l.renderCustomBlock(e),
2624
2645
  getCustomBlockStylesheet: (e) => l.getCustomBlockStylesheet(e),
2625
- getFonts: () => Mi(i),
2626
- socialIconsBaseUrl: e.socialIconsBaseUrl
2646
+ getFonts: () => Ui(i),
2647
+ socialIconsBaseUrl: e.socialIconsBaseUrl,
2648
+ getLayout: () => e.layout
2627
2649
  })
2628
2650
  });
2629
2651
  return l;
2630
2652
  }
2631
- async function Gi(e) {
2632
- let [{ bootstrapCloud: t }, n] = await Promise.all([import("./chunks/createCloudRuntime-D5bXzcTe.js"), Ce(e.locale ?? "en")]), { runtime: r, providers: i, user: a } = await t({
2653
+ async function na(e) {
2654
+ let [{ bootstrapCloud: t }, n] = await Promise.all([import("./chunks/createCloudRuntime-COUxbPvd.js"), Ce(e.locale ?? "en")]), { runtime: r, providers: i, user: a } = await t({
2633
2655
  config: e,
2634
2656
  cloudTranslations: n
2635
2657
  });
2636
- return Wi({
2658
+ return ta({
2637
2659
  container: e.container,
2638
2660
  content: e.content,
2661
+ layout: e.layout,
2662
+ sectionWrapper: e.sectionWrapper,
2639
2663
  shadowDom: e.shadowDom,
2640
2664
  locale: e.locale,
2641
2665
  uiTheme: e.uiTheme,
@@ -2675,10 +2699,10 @@ async function Gi(e) {
2675
2699
  user: a
2676
2700
  }, r);
2677
2701
  }
2678
- function Ki() {
2679
- Vi && Hi(Vi);
2702
+ function ra() {
2703
+ Qi && $i(Qi);
2680
2704
  }
2681
2705
  //#endregion
2682
- export { X as createLocalStorageMediaProvider, ee as createLocalStorageSavedBlocksProvider, de as getBaseLocale, ue as getSupportedCloudLocales, pe as getSupportedLocales, Ui as init, Gi as initCloud, we as isCloudLocaleSupported, le as isLocaleSupported, Ki as unmount, Fe as useFonts };
2706
+ export { Y as applyLayout, U as createDefaultTemplateContent, le as createLocalStorageMediaProvider, ue as createLocalStorageSavedBlocksProvider, V as createParagraphBlock, W as createSlotBlock, q as createWrapperBlock, xe as getBaseLocale, Te as getSupportedCloudLocales, Ie as getSupportedLocales, ea as init, na as initCloud, be as isCloudLocaleSupported, Fe as isLocaleSupported, X as isSlot, ae as isWrapper, R as layoutWrapsSlot, ra as unmount, Ee as useFonts, oe as validateLayout };
2683
2707
 
2684
2708
  //# sourceMappingURL=editor.js.map