ghost 6.64.0 → 6.65.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 (672) hide show
  1. package/bin/create-migration.js +15 -0
  2. package/components/tryghost-adapter-base-scheduling-0.2.4.tgz +0 -0
  3. package/components/tryghost-api-framework-0.0.0.tgz +0 -0
  4. package/components/tryghost-i18n-0.0.0.tgz +0 -0
  5. package/components/tryghost-kg-default-cards-10.3.6.tgz +0 -0
  6. package/components/tryghost-kg-lexical-html-renderer-1.5.1.tgz +0 -0
  7. package/components/tryghost-metafield-types-0.0.0.tgz +0 -0
  8. package/content/themes/casper/assets/built/casper.js +1 -1
  9. package/content/themes/casper/assets/built/screen.css +1 -1
  10. package/content/themes/casper/assets/css/screen.css +15 -2
  11. package/content/themes/casper/assets/js/init.js +37 -9
  12. package/content/themes/casper/package.json +8 -8
  13. package/content/themes/source/assets/built/screen.css +1 -1
  14. package/content/themes/source/assets/built/source.js +1 -1
  15. package/content/themes/source/assets/css/screen.css +14 -1
  16. package/content/themes/source/assets/js/main.js +24 -4
  17. package/content/themes/source/package.json +7 -7
  18. package/core/boot.js +22 -16
  19. package/core/bridge.js +1 -1
  20. package/core/built/admin/assets/Combination-DQ6f9A5P.js +41 -0
  21. package/core/built/admin/assets/{PolarAngleAxis-a81ieQUO.js → PolarAngleAxis-BBaU7PRV.js} +1 -1
  22. package/core/built/admin/assets/RadialBarChart-Bp20JPnA.js +1 -0
  23. package/core/built/admin/assets/{about-39CAfroa.js → about-Dp43j18M.js} +1 -1
  24. package/core/built/admin/assets/accordion-h62UzFhj.js +1 -0
  25. package/core/built/admin/assets/account-migration-CBTbtX6Q.js +1 -0
  26. package/core/built/admin/assets/action-list-DC9QpX-l.js +1 -0
  27. package/core/built/admin/assets/activitypub/{account-migration-KA6Jjf9L.js → account-migration-B1DUZS4Q.js} +8 -8
  28. package/core/built/admin/assets/activitypub/activitypub.js +24 -11
  29. package/core/built/admin/assets/activitypub/avatar-CRGud8yf.js +153 -0
  30. package/core/built/admin/assets/activitypub/{avatar-flipboard-csQaNeYK.js → avatar-flipboard-BZNFAXfm.js} +3 -3
  31. package/core/built/admin/assets/activitypub/{bluesky-sharing-C7nTDMvw.js → bluesky-sharing-Cg_v-LwS.js} +30 -31
  32. package/core/built/admin/assets/activitypub/{chunk-KS7C4IRE-Ck3O4oo2.js → chunk-KS7C4IRE-CTUL98Lc.js} +2498 -1885
  33. package/core/built/admin/assets/activitypub/{content-formatters-CLcjaBwV.js → content-formatters-D7GWP7nH.js} +23 -24
  34. package/core/built/admin/assets/activitypub/{copy-DcOh8kXw.js → copy-CgzTvoeR.js} +2 -2
  35. package/core/built/admin/assets/activitypub/{domain-fZ-X8i4-.js → domain-C3G_nkHU.js} +46 -46
  36. package/core/built/admin/assets/activitypub/{edit-profile-BqMLQV88.js → edit-profile-C8cCY-AK.js} +927 -928
  37. package/core/built/admin/assets/activitypub/{explore-B4yPoP8E.js → explore-NlDT4inq.js} +11 -11
  38. package/core/built/admin/assets/activitypub/{feed-BRC_mvAe.js → feed-DF22jCTV.js} +10 -10
  39. package/core/built/admin/assets/activitypub/{field-COacNgOt.js → field-95-iuTte.js} +4 -4
  40. package/core/built/admin/assets/activitypub/{hash-C7u-irQQ.js → hash-R7LMLnhY.js} +2 -2
  41. package/core/built/admin/assets/activitypub/{inbox-CbTTdDQ3.js → inbox-DUJUiV6x.js} +2 -2
  42. package/core/built/admin/assets/activitypub/{inbox-BW-yvUoN.js → inbox-DerExBzA.js} +416 -414
  43. package/core/built/admin/assets/activitypub/{label-kPMmYI7l.js → label-EwCn1QYc.js} +4 -4
  44. package/core/built/admin/assets/activitypub/layout-Dy6NnW1G.js +1 -0
  45. package/core/built/admin/assets/activitypub/{moderation-CuidJzc0.js → moderation-BSkfiVYo.js} +73 -75
  46. package/core/built/admin/assets/activitypub/{note-CAMRRSqD.js → note-DOnAJTXK.js} +9 -9
  47. package/core/built/admin/assets/activitypub/{notifications-BmNlXGgp.js → notifications-DZc6XTjG.js} +27 -27
  48. package/core/built/admin/assets/activitypub/{onboarding-Dmun9jr_.js → onboarding-8vEIwYTH.js} +3 -3
  49. package/core/built/admin/assets/activitypub/{onboarding-Bqg7fh_L.js → onboarding-DYVqbNmp.js} +2 -2
  50. package/core/built/admin/assets/activitypub/{preferences--oH19wf9.js → preferences-DDok6F2N.js} +1418 -1390
  51. package/core/built/admin/assets/activitypub/{profile-DH_tQx2D.js → profile-DjVa2hUk.js} +254 -255
  52. package/core/built/admin/assets/activitypub/{reply-Cap9PxSH.js → reply-DtXBpHxu.js} +2 -2
  53. package/core/built/admin/assets/activitypub/routes-Cw302e1c.js +4946 -0
  54. package/core/built/admin/assets/activitypub/{separator-CAxxu8VV.js → separator-FpRpVDd3.js} +8 -9
  55. package/core/built/admin/assets/activitypub/settings-yK-puALn.js +314 -0
  56. package/core/built/admin/assets/activitypub/{site-BYps63oh.js → site-CHw0R2PA.js} +2 -2
  57. package/core/built/admin/assets/activitypub/{step-1-CKjR2KAm.js → step-1-737bnvxk.js} +7 -7
  58. package/core/built/admin/assets/activitypub/{step-2-B6PKfOUQ.js → step-2-DBaIsAsM.js} +7 -7
  59. package/core/built/admin/assets/activitypub/{step-3-C-qBbcUo.js → step-3-BBmy9m9V.js} +23 -23
  60. package/core/built/admin/assets/activitypub/tabs-LQ2xirdm.js +1101 -0
  61. package/core/built/admin/assets/activitypub/{topic-filter-DsUOuu0k.js → topic-filter-75Nu0CKj.js} +4 -4
  62. package/core/built/admin/assets/activitypub/{use-activity-pub-queries-CX9snsLs.js → use-activity-pub-queries-CYI2QJMs.js} +58 -58
  63. package/core/built/admin/assets/activitypub/{use-navigate-with-base-path-DsJTGDSS.js → use-navigate-with-base-path-B4jZ8hyg.js} +3924 -1403
  64. package/core/built/admin/assets/activitypub/{use-reply-chain-data-AJi9zkzm.js → use-reply-chain-data-BHmFxc3U.js} +6 -6
  65. package/core/built/admin/assets/activitypub/users-CSjOwpT9.js +886 -0
  66. package/core/built/admin/assets/activitypub/{x-DR8AT3-4.js → x-B9ptWCds.js} +2 -2
  67. package/core/built/admin/assets/{add-integration-modal-B12oRifD.js → add-integration-modal-BwePhq95.js} +1 -1
  68. package/core/built/admin/assets/add-newsletter-modal-Zv0I7Msm.js +1 -0
  69. package/core/built/admin/assets/{add-recommendation-modal-CJf92edY.js → add-recommendation-modal-cdLv0wHy.js} +1 -1
  70. package/core/built/admin/assets/analytics-DY8_SaP7.js +1 -0
  71. package/core/built/admin/assets/announcement-bar-modal-C-2yWwag.js +1 -0
  72. package/core/built/admin/assets/api-keys-BHKATUqQ.js +1 -0
  73. package/core/built/admin/assets/{audience-6GXevic-.js → audience-wRcSN0jV.js} +1 -1
  74. package/core/built/admin/assets/{automated-emails-DJQ4uNZo.js → automated-emails-CzUa3v4d.js} +1 -1
  75. package/core/built/admin/assets/automations-DupSsSOr.js +1 -0
  76. package/core/built/admin/assets/badge-CI1Z0xyG.js +1 -0
  77. package/core/built/admin/assets/bluesky-sharing-B8PC1SBj.js +1 -0
  78. package/core/built/admin/assets/box-LUuYRT-1.js +1 -0
  79. package/core/built/admin/assets/brand-icon-CrmbX86T.js +1 -0
  80. package/core/built/admin/assets/breadcrumb-DDDpzLyo.js +1 -0
  81. package/core/built/admin/assets/button-D414TI3B.js +1 -0
  82. package/core/built/admin/assets/calendar-Cp_opo3i.js +1 -0
  83. package/core/built/admin/assets/card-C2dfd5u0.js +1 -0
  84. package/core/built/admin/assets/chart-B_UNLXse.js +63 -0
  85. package/core/built/admin/assets/chart-helpers-Czu_9QpJ.js +1 -0
  86. package/core/built/admin/assets/checkbox-CFFqf0Nh.js +1 -0
  87. package/core/built/admin/assets/{chunk.368.22ce1b732c0b40abd3f1.js → chunk.201.6961b57ed7a281ac193e.js} +23 -19
  88. package/core/built/admin/assets/chunk.524.0b850e72ec49a0fa3882.js +25 -0
  89. package/core/built/admin/assets/chunk.582.db2ae9e968256e8d58ac.js +27 -0
  90. package/core/built/admin/assets/code-editor-view-Bd_nnHKk.js +1 -0
  91. package/core/built/admin/assets/code-editor-view-BeU3Yf9M.js +1 -0
  92. package/core/built/admin/assets/color-picker-Bzm1V7qg.js +3 -0
  93. package/core/built/admin/assets/color-picker-field-DP0moHz9.js +1 -0
  94. package/core/built/admin/assets/combobox-6_ruuTuj.js +1 -0
  95. package/core/built/admin/assets/command-B5wfm6pd.js +1 -0
  96. package/core/built/admin/assets/comments-BB26dUSl.js +1 -0
  97. package/core/built/admin/assets/confirmation-context-znVJD4pX.js +1 -0
  98. package/core/built/admin/assets/container-CHHif8km.js +1 -0
  99. package/core/built/admin/assets/{content-api-modal-0ZjuLcQ8.js → content-api-modal-DOHwl0yZ.js} +1 -1
  100. package/core/built/admin/assets/context-menu-BpY46Dlb.js +1 -0
  101. package/core/built/admin/assets/copy-field-DRBx6Ady.js +1 -0
  102. package/core/built/admin/assets/create-ghost-browse-value-source-eIXo5Qws.js +1 -0
  103. package/core/built/admin/assets/custom-field-type-option-DrSlETOI.js +1 -0
  104. package/core/built/admin/assets/custom-integration-modal-Dgo425Ec.js +1 -0
  105. package/core/built/admin/assets/data-list-DM8yqpXi.js +1 -0
  106. package/core/built/admin/assets/date-range-select-DdC23c13.js +1 -0
  107. package/core/built/admin/assets/design-and-theme-modal-CbSu9IT4.js +2 -0
  108. package/core/built/admin/assets/detail-page-CN4NdhpV.js +1 -0
  109. package/core/built/admin/assets/dirty-confirm-dialog-BT_Vq9TD.js +1 -0
  110. package/core/built/admin/assets/{disabled-sources-indicator-CLZhMv8J.js → disabled-sources-indicator-C5xtW0Q2.js} +1 -1
  111. package/core/built/admin/assets/dist-B40T-RCQ.js +1 -0
  112. package/core/built/admin/assets/dist-CrlaEoaK.js +1 -0
  113. package/core/built/admin/assets/domain-BPReCZa8.js +1 -0
  114. package/core/built/admin/assets/dropzone-B2auMkf2.js +5 -0
  115. package/core/built/admin/assets/edit-profile-B7XTBzKe.js +1 -0
  116. package/core/built/admin/assets/editor-BcaC9dqm.js +8 -0
  117. package/core/built/admin/assets/editor-screen-FuMpItC8.js +27 -0
  118. package/core/built/admin/assets/email-sending-status-provider-9d81o1C2.js +1 -0
  119. package/core/built/admin/assets/embed-signup-form-modal-CbVbMsxl.js +8 -0
  120. package/core/built/admin/assets/empty-indicator-CSQts7GV.js +1 -0
  121. package/core/built/admin/assets/explore-DbSXFTJN.js +1 -0
  122. package/core/built/admin/assets/feature-image-placeholder-DFXA4vfJ.js +1 -0
  123. package/core/built/admin/assets/feed-W7RlF-Gp.js +1 -0
  124. package/core/built/admin/assets/field-BXEh3ptU.js +1 -0
  125. package/core/built/admin/assets/filter-sources-DHK2IoCk.js +1 -0
  126. package/core/built/admin/assets/filters-0SYNTqyQ.js +1 -0
  127. package/core/built/admin/assets/filters-DTtZKQyq.js +1 -0
  128. package/core/built/admin/assets/{first-promoter-modal-wr73Dldc.js → first-promoter-modal-DcoN_OXu.js} +1 -1
  129. package/core/built/admin/assets/{ghost-a1e6e172c6917e8ef8fa6b0007756d9b.js → ghost-25495154132af7305cb7b646fd83f48f.js} +562 -514
  130. package/core/built/admin/assets/gift-link-modal-BX-Q1TOk.js +1 -0
  131. package/core/built/admin/assets/grid-BEUIDQX7.js +1 -0
  132. package/core/built/admin/assets/growth-G6PLO4aF.js +1 -0
  133. package/core/built/admin/assets/growth-tkD-fBOY.js +3 -0
  134. package/core/built/admin/assets/heading-ih-fOVqF.js +1 -0
  135. package/core/built/admin/assets/history-modal-Ca-gStoq.js +1 -0
  136. package/core/built/admin/assets/html-field-B3CrKV9Y.js +1 -0
  137. package/core/built/admin/assets/images-H-BIm8OQ.js +1 -0
  138. package/core/built/admin/assets/{inbox-DgSZ6w2p.js → inbox-DBbDVMPz.js} +14 -14
  139. package/core/built/admin/assets/index-DOF2jDq0.js +4 -0
  140. package/core/built/admin/assets/index-JrrNchW1.css +2 -0
  141. package/core/built/admin/assets/input-group-CvH-3d3F.js +1 -0
  142. package/core/built/admin/assets/input-surface-CL23Mlh8.js +1 -0
  143. package/core/built/admin/assets/integration-header-C7GXGis_.js +1 -0
  144. package/core/built/admin/assets/invite-user-modal-EJ2_6RpV.js +1 -0
  145. package/core/built/admin/assets/isPlainObject-BzzgUf1E.js +1 -0
  146. package/core/built/admin/assets/{koenig-lexical-CXVgQFUk.js → koenig-lexical-Dkwee5FG.js} +1 -1
  147. package/core/built/admin/assets/koenig-loader-BzXCXHoA.js +2 -0
  148. package/core/built/admin/assets/kpi-card-iCDUTgOR.js +1 -0
  149. package/core/built/admin/assets/kpi-card-jTnpLKGr.js +1 -0
  150. package/core/built/admin/assets/kpi-helpers-Criu0YAf.js +1 -0
  151. package/core/built/admin/assets/kpi-tabs-DbOmmyOo.js +1 -0
  152. package/core/built/admin/assets/label-Du0yqMqL.js +1 -0
  153. package/core/built/admin/assets/label-picker-Bq1XXr1D.js +1 -0
  154. package/core/built/admin/assets/{labels-KMkFoRG6.js → labels-0x2NfLtC.js} +1 -1
  155. package/core/built/admin/assets/layout-Ckwzsnsu.js +1 -0
  156. package/core/built/admin/assets/lib-CCz2mjm8.js +2 -0
  157. package/core/built/admin/assets/link-helpers-o9GgBTni.js +1 -0
  158. package/core/built/admin/assets/{links-FwNCVyVe.js → links-Ctujreuh.js} +1 -1
  159. package/core/built/admin/assets/list-page-CH_wnDC3.js +1 -0
  160. package/core/built/admin/assets/member-activity-CsAh6MxK.js +1 -0
  161. package/core/built/admin/assets/member-activity-feed-0ytsQbtY.js +1 -0
  162. package/core/built/admin/assets/member-custom-fields-CTFGnnYv.js +1 -0
  163. package/core/built/admin/assets/member-detail-QU3vB1ML.js +1 -0
  164. package/core/built/admin/assets/members-CtMVO_AB.js +4 -0
  165. package/core/built/admin/assets/modal-page-8Ipfl51B.js +1 -0
  166. package/core/built/admin/assets/moderation-B8VtA-W0.js +1 -0
  167. package/core/built/admin/assets/multi-select-combobox-_9wEYmGv.js +1 -0
  168. package/core/built/admin/assets/navigation-modal-CGcjJvkc.js +1 -0
  169. package/core/built/admin/assets/newsletter-BpHjjqmq.js +1 -0
  170. package/core/built/admin/assets/newsletter-detail-modal-DzTbGOyo.js +1 -0
  171. package/core/built/admin/assets/newsletter-emails-BMKH4Osp.js +1 -0
  172. package/core/built/admin/assets/newsletters-BxC84_cL.js +1 -0
  173. package/core/built/admin/assets/note-BPtEzzZS.js +1 -0
  174. package/core/built/admin/assets/notifications-ng3ulEdp.js +1 -0
  175. package/core/built/admin/assets/offers-container-modal-CwqnRa3T.js +1 -0
  176. package/core/built/admin/assets/onboarding-route-CplZzd7F.js +1 -0
  177. package/core/built/admin/assets/overview-B0yD9OoX.js +1 -0
  178. package/core/built/admin/assets/overview-C4eJzQqi.js +1 -0
  179. package/core/built/admin/assets/page-header-CdCpekG9.js +1 -0
  180. package/core/built/admin/assets/pagemenu-CKQD9hoP.js +1 -0
  181. package/core/built/admin/assets/pages-route-CKsnxIvw.js +1 -0
  182. package/core/built/admin/assets/{pintura-modal-BljM7hf8.js → pintura-modal-C5jzeyGk.js} +1 -1
  183. package/core/built/admin/assets/portal-frame-DYo0bh0E.js +1 -0
  184. package/core/built/admin/assets/portal-modal-C0d8xjKa.js +1 -0
  185. package/core/built/admin/assets/post-analytics-C5C7IyAm.js +1 -0
  186. package/core/built/admin/assets/post-analytics-header-DKWHwoK2.js +1 -0
  187. package/core/built/admin/assets/{post-analytics-provider-CgreZDjS.js → post-analytics-provider-BqCPPxmW.js} +1 -1
  188. package/core/built/admin/assets/post-share-modal-wxmqbAv_.js +1 -0
  189. package/core/built/admin/assets/posts-list-screen-B978ZO0R.js +2 -0
  190. package/core/built/admin/assets/posts-route-CDqxKazl.js +1 -0
  191. package/core/built/admin/assets/preferences-CnejTRc4.js +5 -0
  192. package/core/built/admin/assets/preview-chrome-C7yZWVLZ.js +1 -0
  193. package/core/built/admin/assets/preview-modal-CFUxUGHp.js +1 -0
  194. package/core/built/admin/assets/profile-ClRGiOqA.js +1 -0
  195. package/core/built/admin/assets/radio-group-CTmLo0h9.js +1 -0
  196. package/core/built/admin/assets/router-provider-DDZvgS3V.js +1 -0
  197. package/core/built/admin/assets/select-D_4xWFYv.js +1 -0
  198. package/core/built/admin/assets/settings-BRl7-7a9.js +1 -0
  199. package/core/built/admin/assets/settings-BoQcPa-y.js +4 -0
  200. package/core/built/admin/assets/settings-breadcrumbs-C9Yxl81q.js +1 -0
  201. package/core/built/admin/assets/{dist-BXHrDV19.js → shade-scope-Cccj-c7I-D0XwkdKQ.js} +5 -3
  202. package/core/built/admin/assets/share-modal-DBqZobuR.js +1 -0
  203. package/core/built/admin/assets/simple-pagination-D5t_ox6x.js +1 -0
  204. package/core/built/admin/assets/skeleton-CPcTiTSX.js +1 -0
  205. package/core/built/admin/assets/{slack-modal-D7W_fNON.js → slack-modal-BF9ex8cd.js} +1 -1
  206. package/core/built/admin/assets/sort-button-C0EXGjnS.js +1 -0
  207. package/core/built/admin/assets/{source-icon-CQboPZQ3.js → source-icon-BzzftCQ2.js} +1 -1
  208. package/core/built/admin/assets/stats-view-CzpGoHzF.js +1 -0
  209. package/core/built/admin/assets/{step-1-BKhjy0PV.js → step-1-CBUYUPPF.js} +1 -1
  210. package/core/built/admin/assets/{step-2-PxA1OM7R.js → step-2-CEIXUwQa.js} +1 -1
  211. package/core/built/admin/assets/{step-3-BJbAiq16.js → step-3-C1HA5i1N.js} +2 -2
  212. package/core/built/admin/assets/stripe-button-DMFsLs80.js +1 -0
  213. package/core/built/admin/assets/stripe-connect-modal-CEvxCUTv.js +1 -0
  214. package/core/built/admin/assets/switch-DoOJF2yg.js +1 -0
  215. package/core/built/admin/assets/table-BDYbUHJz.js +1 -0
  216. package/core/built/admin/assets/tabs-BZyz4ZCH.js +1 -0
  217. package/core/built/admin/assets/tag-detail-CFzaz_9E.js +2 -0
  218. package/core/built/admin/assets/tag-picker-BKUCZuRc.js +1 -0
  219. package/core/built/admin/assets/tags-Bs1FiD7m.js +1 -0
  220. package/core/built/admin/assets/{testimonials-modal-Dkt6ODLW.js → testimonials-modal-CVm0_7E-.js} +1 -1
  221. package/core/built/admin/assets/text-BLI0C8Mc.js +1 -0
  222. package/core/built/admin/assets/textarea-C5qolByg.js +1 -0
  223. package/core/built/admin/assets/tier-detail-modal-Cmwzi-e7.js +1 -0
  224. package/core/built/admin/assets/toggle-group-BTL1QsWY.js +1 -0
  225. package/core/built/admin/assets/{topic-filter-DVOe3D-b.js → topic-filter-BMjhquv7.js} +1 -1
  226. package/core/built/admin/assets/transistor-modal-hMv53jF8.js +1 -0
  227. package/core/built/admin/assets/trend-badge-1w_HEzkG.js +1 -0
  228. package/core/built/admin/assets/{unsplash-modal-DXt7Brum.js → unsplash-modal-jzC8lEB2.js} +1 -1
  229. package/core/built/admin/assets/use-analytics-data-B3lGOxsC.js +1 -0
  230. package/core/built/admin/assets/use-availability-DnKqOyqd.js +1 -0
  231. package/core/built/admin/assets/{use-check-theme-limit-error-JD-J5aaZ.js → use-check-theme-limit-error-C1tc2P4N.js} +2 -2
  232. package/core/built/admin/assets/use-filter-params-DU-aiaTb.js +1 -0
  233. package/core/built/admin/assets/{use-filterable-api-CEMSAYPg.js → use-filterable-api-CxCrnPxG.js} +1 -1
  234. package/core/built/admin/assets/use-growth-stats-E13rMQUE.js +1 -0
  235. package/core/built/admin/assets/use-limiter-DlL7au90.js +19 -0
  236. package/core/built/admin/assets/{use-navigate-with-base-path-88EQpw2k.js → use-navigate-with-base-path-BzgNwMAx.js} +1 -1
  237. package/core/built/admin/assets/{use-pintura-config-BmU45Ruy.js → use-pintura-config-CtEV1JQY.js} +1 -1
  238. package/core/built/admin/assets/{use-pintura-editor-Bz2bZ4iT.js → use-pintura-editor-CaxE64kD.js} +1 -1
  239. package/core/built/admin/assets/use-reply-chain-data-BST2OgCM.js +1 -0
  240. package/core/built/admin/assets/use-sending-eta-DR9ueMH8.js +1 -0
  241. package/core/built/admin/assets/use-setting-group-ldtX1Vsk.js +1 -0
  242. package/core/built/admin/assets/use-settings-navigation-CzGU4sus.js +1 -0
  243. package/core/built/admin/assets/use-staff-users-DoeXaPsb.js +1 -0
  244. package/core/built/admin/assets/use-tinybird-query-BaBNCaj0.js +1 -0
  245. package/core/built/admin/assets/{use-tinybird-token-Lk1RSn0t.js → use-tinybird-token-CnZ19NDf.js} +1 -1
  246. package/core/built/admin/assets/{use-url-input-DpmbDppC.js → use-url-input-C5KHJw79.js} +1 -1
  247. package/core/built/admin/assets/user-detail-modal-Dm0KfPeR.js +1 -0
  248. package/core/built/admin/assets/{vendor-2dd263291938d407802568d3357ec69e.js → vendor-97e91ff8dd1457c668f9ef103ee1a77b.js} +2748 -2977
  249. package/core/built/admin/assets/virtual-list-tAuPUICw.js +1 -0
  250. package/core/built/admin/assets/web-BQlKcW2x.js +2 -0
  251. package/core/built/admin/assets/web-NTT5DkEz.js +1 -0
  252. package/core/built/admin/assets/{zapier-modal-BafLUO4R.js → zapier-modal-DsHG9Oev.js} +1 -1
  253. package/core/built/admin/index.html +22 -24
  254. package/core/frontend/apps/private-blogging/index.js +2 -2
  255. package/core/frontend/apps/private-blogging/lib/middleware.js +1 -1
  256. package/core/frontend/apps/private-blogging/lib/router.js +1 -1
  257. package/core/frontend/helpers/cancel_link.js +3 -3
  258. package/core/frontend/helpers/content.js +2 -2
  259. package/core/frontend/helpers/content_api_url.js +1 -1
  260. package/core/frontend/helpers/date.js +1 -1
  261. package/core/frontend/helpers/foreach.js +5 -5
  262. package/core/frontend/helpers/get.js +7 -4
  263. package/core/frontend/helpers/ghost_head.js +2 -2
  264. package/core/frontend/helpers/has.js +1 -3
  265. package/core/frontend/helpers/link.js +7 -7
  266. package/core/frontend/helpers/link_class.js +2 -2
  267. package/core/frontend/helpers/navigation.js +1 -2
  268. package/core/frontend/helpers/recommendations.js +5 -6
  269. package/core/frontend/helpers/tiers.js +1 -1
  270. package/core/frontend/helpers/total_members.js +1 -1
  271. package/core/frontend/helpers/total_paid_members.js +1 -1
  272. package/core/frontend/meta/author-url.js +1 -1
  273. package/core/frontend/meta/modified-date.js +1 -1
  274. package/core/frontend/meta/published-date.js +1 -1
  275. package/core/frontend/meta/schema.js +3 -8
  276. package/core/frontend/meta/structured-data.js +1 -2
  277. package/core/frontend/services/assets-minification/minifier.js +1 -1
  278. package/core/frontend/services/data/entry-lookup.js +1 -1
  279. package/core/frontend/services/data/fetch-data.js +2 -2
  280. package/core/frontend/services/rendering/format-response.js +1 -1
  281. package/core/frontend/services/rendering/renderer.js +3 -0
  282. package/core/frontend/services/rendering/templates.js +1 -1
  283. package/core/frontend/services/routing/controllers/static.js +1 -1
  284. package/core/frontend/services/routing/parent-router.js +1 -1
  285. package/core/frontend/services/routing/registry.js +1 -1
  286. package/core/frontend/services/sitemap/base-site-map-generator.js +68 -97
  287. package/core/frontend/services/sitemap/site-map-index-generator.js +16 -21
  288. package/core/frontend/services/sitemap/site-map-manager.js +82 -43
  289. package/core/frontend/services/sitemap/sitemap-xml.js +72 -0
  290. package/core/frontend/services/theme-engine/handlebars/utils.js +8 -8
  291. package/core/frontend/services/theme-engine/i18n/i18n.js +4 -5
  292. package/core/frontend/services/theme-engine/middleware/update-global-template-options.js +1 -1
  293. package/core/frontend/services/theme-engine/preview.js +1 -1
  294. package/core/frontend/utils/member-count.js +2 -2
  295. package/core/frontend/web/routers/serve-public-file.js +1 -1
  296. package/core/server/adapters/scheduling/README.md +4 -0
  297. package/core/server/adapters/scheduling/get-scheduler-idempotency-key.js +21 -0
  298. package/core/server/adapters/storage/LocalStorageBase.js +2 -1
  299. package/core/server/api/endpoints/automated-emails.js +8 -2
  300. package/core/server/api/endpoints/db.js +1 -1
  301. package/core/server/api/endpoints/emails.js +3 -3
  302. package/core/server/api/endpoints/mail.js +1 -1
  303. package/core/server/api/endpoints/member-signin-urls.js +1 -1
  304. package/core/server/api/endpoints/members.js +3 -3
  305. package/core/server/api/endpoints/oembed.js +1 -1
  306. package/core/server/api/endpoints/posts.js +1 -1
  307. package/core/server/api/endpoints/settings.js +2 -2
  308. package/core/server/api/endpoints/themes.js +5 -5
  309. package/core/server/api/endpoints/utils/serializers/input/pages.js +2 -2
  310. package/core/server/api/endpoints/utils/serializers/input/posts.js +2 -2
  311. package/core/server/api/endpoints/utils/serializers/input/tags.js +1 -1
  312. package/core/server/api/endpoints/utils/serializers/input/utils/slug-filter-order.js +4 -4
  313. package/core/server/api/endpoints/utils/serializers/output/mappers/comments.js +8 -5
  314. package/core/server/api/endpoints/utils/serializers/output/mappers/posts.js +1 -1
  315. package/core/server/api/endpoints/utils/serializers/output/pages.js +4 -4
  316. package/core/server/api/endpoints/utils/serializers/output/posts.js +4 -4
  317. package/core/server/api/endpoints/utils/serializers/output/search-index.js +11 -11
  318. package/core/server/api/endpoints/utils/serializers/output/settings.js +1 -1
  319. package/core/server/api/endpoints/utils/serializers/output/utils/extra-attrs.js +3 -3
  320. package/core/server/api/endpoints/utils/validators/input/automated_emails.js +23 -33
  321. package/core/server/api/endpoints/utils/validators/input/settings.js +3 -3
  322. package/core/server/data/exporter/exporter.js +1 -2
  323. package/core/server/data/exporter/table-lists.js +1 -0
  324. package/core/server/data/importer/handlers/image.js +1 -2
  325. package/core/server/data/importer/handlers/json.js +1 -3
  326. package/core/server/data/importer/handlers/markdown.js +4 -8
  327. package/core/server/data/importer/import-manager.js +1 -1
  328. package/core/server/data/importer/importers/content-file-importer.js +4 -8
  329. package/core/server/data/importer/importers/data/base.js +10 -10
  330. package/core/server/data/importer/importers/data/custom-theme-settings-importer.js +1 -1
  331. package/core/server/data/importer/importers/data/data-importer.js +3 -4
  332. package/core/server/data/importer/importers/data/posts-importer.js +10 -10
  333. package/core/server/data/importer/importers/data/products-importer.js +3 -3
  334. package/core/server/data/importer/importers/data/settings-importer.js +2 -2
  335. package/core/server/data/importer/importers/data/stripe-prices-importer.js +1 -1
  336. package/core/server/data/importer/importers/data/stripe-products-importer.js +1 -1
  337. package/core/server/data/importer/importers/data/tags-importer.js +1 -1
  338. package/core/server/data/importer/importers/data/users-importer.js +2 -2
  339. package/core/server/data/importer/importers/json-to-html.js +12 -9
  340. package/core/server/data/migrations/versions/5.0/2022-05-11-13-12-rename-settings.js +1 -1
  341. package/core/server/data/migrations/versions/6.65/2026-09-16-15-35-26-add-members-metafield-change-events.js +17 -0
  342. package/core/server/data/schema/fixtures/fixture-manager.js +3 -3
  343. package/core/server/data/schema/index.js +1 -1
  344. package/core/server/data/schema/schema.js +26 -0
  345. package/core/server/data/schema/validator.js +96 -123
  346. package/core/server/data/seeders/importers/email-recipients-importer.js +2 -2
  347. package/core/server/data/seeders/importers/members-login-events-importer.js +1 -1
  348. package/core/server/data/seeders/importers/members-newsletters-importer.js +1 -1
  349. package/core/server/data/seeders/importers/members-paid-subscription-events-importer.js +1 -1
  350. package/core/server/data/seeders/importers/members-status-events-importer.js +1 -1
  351. package/core/server/data/seeders/importers/members-stripe-customers-importer.js +1 -1
  352. package/core/server/data/seeders/importers/members-stripe-customers-subscriptions-importer.js +1 -1
  353. package/core/server/data/seeders/importers/members-subscribe-events-importer.js +2 -2
  354. package/core/server/data/seeders/importers/members-subscription-created-events-importer.js +1 -1
  355. package/core/server/data/tinybird/pipes/mv_hits.pipe +25 -20
  356. package/core/server/data/tinybird/scripts/docker-analytics-manager.js +2 -2
  357. package/core/server/ghost-server.js +1 -19
  358. package/core/server/lib/image/image-size.js +1 -3
  359. package/core/server/lib/request-external.js +53 -117
  360. package/core/server/models/base/plugins/actions.js +2 -3
  361. package/core/server/models/base/plugins/crud.js +1 -2
  362. package/core/server/models/base/plugins/events.js +4 -4
  363. package/core/server/models/base/plugins/raw-knex.js +3 -3
  364. package/core/server/models/base/plugins/sanitize.js +1 -1
  365. package/core/server/models/benefit.js +1 -1
  366. package/core/server/models/collection.js +1 -1
  367. package/core/server/models/comment.js +3 -3
  368. package/core/server/models/invite.js +2 -5
  369. package/core/server/models/label.js +3 -6
  370. package/core/server/models/member.js +7 -10
  371. package/core/server/models/newsletter.js +1 -1
  372. package/core/server/models/permission.js +3 -6
  373. package/core/server/models/post.js +20 -23
  374. package/core/server/models/product.js +4 -1
  375. package/core/server/models/relations/authors.js +9 -12
  376. package/core/server/models/role.js +2 -5
  377. package/core/server/models/settings.js +3 -3
  378. package/core/server/models/tag.js +2 -5
  379. package/core/server/models/user.js +8 -10
  380. package/core/server/models/webhook.js +2 -4
  381. package/core/server/notify.js +2 -2
  382. package/core/server/services/adapter-manager/utils.js +6 -1
  383. package/core/server/services/api-version-compatibility/legacy-api-path-match.js +2 -2
  384. package/core/server/services/auth/api-key/admin.js +2 -2
  385. package/core/server/services/auth/api-key/content.js +1 -1
  386. package/core/server/services/auth/passwordreset.js +1 -1
  387. package/core/server/services/auth/setup.js +1 -3
  388. package/core/server/services/automations/README.md +19 -0
  389. package/core/server/services/automations/poll.js +3 -1
  390. package/core/server/services/automations/service.js +2 -2
  391. package/core/server/services/automations/welcome-email-automation-poll.js +199 -293
  392. package/core/server/services/comments/comments-controller.js +9 -30
  393. package/core/server/services/comments/comments-service-email-renderer.js +1 -1
  394. package/core/server/services/comments/comments-service-emails.js +1 -1
  395. package/core/server/services/comments/comments-service.js +27 -58
  396. package/core/server/services/comments/comments-stats-service.js +1 -1
  397. package/core/server/services/content-import/import/staged-file.js +9 -9
  398. package/core/server/services/content-import/index.js +1 -1
  399. package/core/server/services/custom-redirects/validation.js +1 -1
  400. package/core/server/services/email-analytics/email-analytics-service-wrapper.js +23 -55
  401. package/core/server/services/email-analytics/index.js +35 -19
  402. package/core/server/services/email-analytics/jobs/email-analytics-job-scheduler.js +31 -60
  403. package/core/server/services/email-service/README.md +35 -0
  404. package/core/server/services/email-service/batch-sending-service.js +13 -14
  405. package/core/server/services/email-service/email-renderer.js +50 -14
  406. package/core/server/services/email-service/email-service-wrapper.js +3 -2
  407. package/core/server/services/email-service/email-service.js +33 -8
  408. package/core/server/services/email-service/email-templates/partials/feedback-button.hbs +2 -1
  409. package/core/server/services/email-service/email-templates/partials/styles.hbs +0 -6
  410. package/core/server/services/email-service/email-templates/template.hbs +1 -1
  411. package/core/server/services/email-service/jobs/send-email-job.js +12 -0
  412. package/core/server/services/email-service/mailgun-email-provider.js +7 -2
  413. package/core/server/services/email-service/sending-service.js +1 -1
  414. package/core/server/services/gifts/gift-service.js +12 -3
  415. package/core/server/services/gifts/index.js +0 -2
  416. package/core/server/services/gifts/jobs/index.js +12 -24
  417. package/core/server/services/gifts/jobs/send-gift-reminders-job.js +6 -46
  418. package/core/server/services/invitations/accept.js +2 -2
  419. package/core/server/services/jobs/job-service.js +0 -28
  420. package/core/server/services/jobs-service/jobs-service.js +5 -0
  421. package/core/server/services/jobs-service/register-job-handlers.js +17 -1
  422. package/core/server/services/lib/mailgun-client.js +16 -1
  423. package/core/server/services/lib/mailgun-recipient-message-id.js +49 -0
  424. package/core/server/services/limits.js +1 -1
  425. package/core/server/services/mail/ghost-mailer.js +1 -1
  426. package/core/server/services/member-attribution/member-attribution-service.js +1 -1
  427. package/core/server/services/member-attribution/referrer-translator.js +1 -1
  428. package/core/server/services/members/account-service.js +3 -3
  429. package/core/server/services/members/api.js +1 -1
  430. package/core/server/services/members/import-export/import/importer.js +25 -16
  431. package/core/server/services/members/import-export/import/spool.js +11 -15
  432. package/core/server/services/members/import-export/index.js +6 -4
  433. package/core/server/services/members/jobs/index.js +1 -1
  434. package/core/server/services/members/jobs/members-import-job.js +18 -0
  435. package/core/server/services/members/member-avatar.js +18 -0
  436. package/core/server/services/members/members-api/controllers/member-controller.js +2 -2
  437. package/core/server/services/members/members-api/members-api.js +4 -4
  438. package/core/server/services/members/members-api/repositories/event-repository.js +36 -1
  439. package/core/server/services/members/members-api/repositories/member-repository.js +55 -17
  440. package/core/server/services/members/members-api/repositories/product-repository.js +1 -1
  441. package/core/server/services/members/members-api/services/member-bread-service.js +4 -7
  442. package/core/server/services/members/service.js +7 -2
  443. package/core/server/services/members/stats/members-stats.js +2 -2
  444. package/core/server/services/members-events/event-storage.js +2 -2
  445. package/core/server/services/members-metafields/actions.js +23 -2
  446. package/core/server/services/members-metafields/bindings-service.js +5 -5
  447. package/core/server/services/members-metafields/definitions-service.js +2 -7
  448. package/core/server/services/members-metafields/index.js +2 -1
  449. package/core/server/services/members-metafields/queries.js +7 -1
  450. package/core/server/services/members-metafields/schema.js +49 -1
  451. package/core/server/services/members-metafields/values-service.js +112 -10
  452. package/core/server/services/mentions/mention-sending-service.js +2 -2
  453. package/core/server/services/mentions/mention.js +3 -4
  454. package/core/server/services/mentions/mentions-api.js +4 -1
  455. package/core/server/services/mentions-jobs/job-service.js +0 -28
  456. package/core/server/services/milestones/milestones-service.js +1 -1
  457. package/core/server/services/newsletters/newsletters-service.js +1 -1
  458. package/core/server/services/notifications/notifications.js +3 -3
  459. package/core/server/services/oembed/oembed-service.js +79 -3
  460. package/core/server/services/permissions/can-this.js +1 -2
  461. package/core/server/services/post-scheduling/post-scheduling.js +8 -1
  462. package/core/server/services/posts/post-scheduling.js +7 -0
  463. package/core/server/services/settings/settings-bread-service.js +3 -3
  464. package/core/server/services/settings/settings-utils.js +1 -1
  465. package/core/server/services/settings-helpers/settings-helpers.js +1 -1
  466. package/core/server/services/staff/staff-service-emails.js +9 -9
  467. package/core/server/services/stats/posts-stats-service.js +10 -10
  468. package/core/server/services/stats/referrers-stats-service.js +1 -1
  469. package/core/server/services/stats/subscription-stats-service.js +3 -3
  470. package/core/server/services/stats/utils/tinybird.js +8 -1
  471. package/core/server/services/stripe/stripe-api.js +3 -3
  472. package/core/server/services/stripe/stripe-migrations.js +6 -6
  473. package/core/server/services/themes/storage.js +21 -26
  474. package/core/server/services/themes/theme-storage.js +2 -2
  475. package/core/server/services/tiers/tier.js +15 -15
  476. package/core/server/services/tinybird-sync/index.js +3 -0
  477. package/core/server/services/tinybird-sync/tinybird-sync-service.js +7 -2
  478. package/core/server/services/update-check/update-check-service.js +3 -3
  479. package/core/server/services/webhooks/serialize.js +1 -1
  480. package/core/server/web/api/app.js +0 -5
  481. package/core/server/web/api/middleware/upload.js +29 -2
  482. package/core/server/web/parent/middleware/index.js +1 -1
  483. package/core/server/web/parent/middleware/log-request.js +5 -0
  484. package/core/server/web/parent/middleware/queue-request.js +104 -59
  485. package/core/server/web/shared/middleware/api/spam-prevention.js +2 -2
  486. package/core/shared/config/defaults.json +6 -1
  487. package/core/shared/custom-theme-settings-cache/custom-theme-settings-service.js +1 -1
  488. package/core/shared/labs.js +3 -2
  489. package/core/shared/settings-cache/cache-manager.js +1 -1
  490. package/nodemon.json +1 -1
  491. package/package.json +6 -7
  492. package/pnpm-lock.yaml +126 -728
  493. package/pnpm-workspace.yaml +4 -7
  494. package/tsconfig.json +1 -1
  495. package/components/tryghost-adapter-base-scheduling-0.2.3.tgz +0 -0
  496. package/core/built/admin/assets/Combination-DWfJPcz9.js +0 -41
  497. package/core/built/admin/assets/RadialBarChart-CHRBhiBN.js +0 -1
  498. package/core/built/admin/assets/_baseAssignValue-DcPokYW8.js +0 -1
  499. package/core/built/admin/assets/accordion-CJmRaqK7.js +0 -1
  500. package/core/built/admin/assets/account-migration-DYf7skbb.js +0 -1
  501. package/core/built/admin/assets/action-list-Crnh-_UI.js +0 -1
  502. package/core/built/admin/assets/activitypub/avatar-DVJF5bxP.js +0 -261
  503. package/core/built/admin/assets/activitypub/layout-BL4_jtuV.js +0 -1
  504. package/core/built/admin/assets/activitypub/routes-DdyY9uFF.js +0 -7181
  505. package/core/built/admin/assets/activitypub/settings-B6EEcVkW.js +0 -315
  506. package/core/built/admin/assets/activitypub/tabs-DLhZtVde.js +0 -1083
  507. package/core/built/admin/assets/activitypub/users-inweyKL5.js +0 -1499
  508. package/core/built/admin/assets/add-newsletter-modal-CTvXiIqY.js +0 -1
  509. package/core/built/admin/assets/analytics-PHR1Fggi.js +0 -1
  510. package/core/built/admin/assets/announcement-bar-modal-Bql0CXdp.js +0 -1
  511. package/core/built/admin/assets/api-keys-CubH-7_H.js +0 -1
  512. package/core/built/admin/assets/automations-DcZSLFDU.js +0 -1
  513. package/core/built/admin/assets/badge-qP06OT7C.js +0 -1
  514. package/core/built/admin/assets/bluesky-sharing-CJw4d4Mf.js +0 -1
  515. package/core/built/admin/assets/box-CZ_LSVSy.js +0 -1
  516. package/core/built/admin/assets/brand-icon-D3ffDYaC.js +0 -1
  517. package/core/built/admin/assets/breadcrumb-Chn1Ip_q.js +0 -1
  518. package/core/built/admin/assets/button-DvIh2Bq-.js +0 -1
  519. package/core/built/admin/assets/calendar-1QGoStFM.js +0 -1
  520. package/core/built/admin/assets/card-FHQ4D10L.js +0 -1
  521. package/core/built/admin/assets/chart-helpers-CNpA7re_.js +0 -1
  522. package/core/built/admin/assets/chart-jVz9Nf9t.js +0 -63
  523. package/core/built/admin/assets/checkbox-DKht9xMl.js +0 -1
  524. package/core/built/admin/assets/chunk.524.cc9be98e44890cedc8c8.js +0 -25
  525. package/core/built/admin/assets/chunk.582.e6fe742b3217207b11a6.js +0 -27
  526. package/core/built/admin/assets/code-editor-view-BLQIV85-.js +0 -1
  527. package/core/built/admin/assets/code-editor-view-Cg5eJxcr.js +0 -1
  528. package/core/built/admin/assets/color-picker-DQoghc0t.js +0 -3
  529. package/core/built/admin/assets/color-picker-field-BbeK5RRs.js +0 -1
  530. package/core/built/admin/assets/combobox-weO4FBbv.js +0 -1
  531. package/core/built/admin/assets/command-DlLrCm9V.js +0 -1
  532. package/core/built/admin/assets/comments-BjTitLmP.js +0 -1
  533. package/core/built/admin/assets/confirmation-context-IyqoXVk-.js +0 -1
  534. package/core/built/admin/assets/container-DAimjOF_.js +0 -1
  535. package/core/built/admin/assets/context-menu-BtioYFrg.js +0 -1
  536. package/core/built/admin/assets/copy-field-C6ujqJlP.js +0 -1
  537. package/core/built/admin/assets/create-ghost-browse-value-source-DAZMWZNq.js +0 -1
  538. package/core/built/admin/assets/custom-integration-modal-Dm8QI_J4.js +0 -1
  539. package/core/built/admin/assets/data-list-C0CKkeWW.js +0 -1
  540. package/core/built/admin/assets/date-range-select-DrjHQdgz.js +0 -1
  541. package/core/built/admin/assets/design-and-theme-modal-CXVOzBWu.js +0 -2
  542. package/core/built/admin/assets/detail-page-QpLIL-EO.js +0 -1
  543. package/core/built/admin/assets/dirty-confirm-dialog-DWwxREGh.js +0 -1
  544. package/core/built/admin/assets/dist-Bf-HQtVL.js +0 -1
  545. package/core/built/admin/assets/dist-CUwte9v_.js +0 -1
  546. package/core/built/admin/assets/dist-FEQQAwTe.js +0 -1
  547. package/core/built/admin/assets/domain-DBrBic6q.js +0 -1
  548. package/core/built/admin/assets/dropzone-D61QVcEY.js +0 -5
  549. package/core/built/admin/assets/edit-profile-jCqJBxqw.js +0 -1
  550. package/core/built/admin/assets/editor-8Fm4UBEd.js +0 -8
  551. package/core/built/admin/assets/editor-screen-BSX_uC2B.js +0 -27
  552. package/core/built/admin/assets/email-sending-status-provider-DnNhlIvt.js +0 -1
  553. package/core/built/admin/assets/embed-signup-form-modal-DqtBs1WE.js +0 -8
  554. package/core/built/admin/assets/empty-indicator-L4Ql5Db7.js +0 -1
  555. package/core/built/admin/assets/en-Cx75dJv5.js +0 -1
  556. package/core/built/admin/assets/explore-DXhDCtKw.js +0 -1
  557. package/core/built/admin/assets/feature-image-placeholder-e2q6TcH6.js +0 -1
  558. package/core/built/admin/assets/feed-mmt4noNL.js +0 -1
  559. package/core/built/admin/assets/field-p7KnP98B.js +0 -1
  560. package/core/built/admin/assets/filter-bar-CiIKBg3D.js +0 -1
  561. package/core/built/admin/assets/filter-sources-I-dRaQxl.js +0 -1
  562. package/core/built/admin/assets/filters-1injvyxJ.js +0 -1
  563. package/core/built/admin/assets/filters-DnpO6GWX.js +0 -1
  564. package/core/built/admin/assets/gift-link-modal-C3H7YFXO.js +0 -1
  565. package/core/built/admin/assets/grid-5vplBYri.js +0 -1
  566. package/core/built/admin/assets/growth-B1og1kQp.js +0 -1
  567. package/core/built/admin/assets/growth-Bf6OHZlK.js +0 -3
  568. package/core/built/admin/assets/heading-BB21QAbb.js +0 -1
  569. package/core/built/admin/assets/history-modal-t_qEnxPx.js +0 -1
  570. package/core/built/admin/assets/html-field-COLQbV4r.js +0 -1
  571. package/core/built/admin/assets/images-4mvoc3lB.js +0 -1
  572. package/core/built/admin/assets/index-B3HZU2i8.css +0 -2
  573. package/core/built/admin/assets/index-DDd-zhNL.js +0 -4
  574. package/core/built/admin/assets/inline-B8H6NzIw.js +0 -1
  575. package/core/built/admin/assets/input-group-CLIN2ykI.js +0 -1
  576. package/core/built/admin/assets/input-surface-wSO5CRy5.js +0 -1
  577. package/core/built/admin/assets/integration-header-CKGrXNVP.js +0 -1
  578. package/core/built/admin/assets/invite-user-modal-BaN2mdhI.js +0 -1
  579. package/core/built/admin/assets/koenig-loader-B1XPPY5C.js +0 -2
  580. package/core/built/admin/assets/kpi-card-CRLPVlFW.js +0 -1
  581. package/core/built/admin/assets/kpi-card-CRPbW8NZ.js +0 -1
  582. package/core/built/admin/assets/kpi-helpers-D7zT96bp.js +0 -1
  583. package/core/built/admin/assets/kpi-tabs-DE_yh9Go.js +0 -1
  584. package/core/built/admin/assets/label-CgeBxy4o.js +0 -1
  585. package/core/built/admin/assets/label-picker-DGDp4Vwr.js +0 -1
  586. package/core/built/admin/assets/layout-DWnOMly4.js +0 -1
  587. package/core/built/admin/assets/lib-_QYaUU89.js +0 -2
  588. package/core/built/admin/assets/link-helpers-8J7ixADV.js +0 -1
  589. package/core/built/admin/assets/list-page-DLMP0PxC.js +0 -1
  590. package/core/built/admin/assets/member-activity-ClMWFyvN.js +0 -1
  591. package/core/built/admin/assets/member-activity-feed-BQY5Rwaj.js +0 -1
  592. package/core/built/admin/assets/member-custom-fields-Dd_ie1zG.js +0 -1
  593. package/core/built/admin/assets/member-detail-DjwkGVne.js +0 -1
  594. package/core/built/admin/assets/members--N9lhk1N.js +0 -4
  595. package/core/built/admin/assets/modal-page-Dz-9TP4E.js +0 -1
  596. package/core/built/admin/assets/moderation-DfYBKq9s.js +0 -1
  597. package/core/built/admin/assets/multi-select-combobox-BcBEzUW_.js +0 -1
  598. package/core/built/admin/assets/navigation-modal-Cd-scywg.js +0 -1
  599. package/core/built/admin/assets/newsletter-detail-modal-CFRY6vg_.js +0 -1
  600. package/core/built/admin/assets/newsletter-emails-4ntck1AC.js +0 -1
  601. package/core/built/admin/assets/newsletter-o6eCJtab.js +0 -1
  602. package/core/built/admin/assets/newsletters-Bmlv0edG.js +0 -1
  603. package/core/built/admin/assets/note-CWs3LF-0.js +0 -1
  604. package/core/built/admin/assets/notifications-BjSvTJqh.js +0 -1
  605. package/core/built/admin/assets/offers-container-modal-Bc9A196w.js +0 -1
  606. package/core/built/admin/assets/onboarding-route-Di1LJYEE.js +0 -1
  607. package/core/built/admin/assets/overview-DE7NHZQN.js +0 -1
  608. package/core/built/admin/assets/overview-DEF-ZY6x.js +0 -1
  609. package/core/built/admin/assets/page-header-B-G_g42C.js +0 -1
  610. package/core/built/admin/assets/pagemenu-CnkTDO71.js +0 -1
  611. package/core/built/admin/assets/pages-route-VT7r7YhG.js +0 -1
  612. package/core/built/admin/assets/portal-frame-D9V8iq5x.js +0 -1
  613. package/core/built/admin/assets/portal-modal-B5OOR9ZD.js +0 -1
  614. package/core/built/admin/assets/post-analytics-header-J0WciLx6.js +0 -1
  615. package/core/built/admin/assets/post-analytics-rGb-PgD-.js +0 -1
  616. package/core/built/admin/assets/post-share-modal-D0BbTo4W.js +0 -1
  617. package/core/built/admin/assets/posts-list-screen-CO5jAWoU.js +0 -2
  618. package/core/built/admin/assets/posts-route-DV-CXWK9.js +0 -1
  619. package/core/built/admin/assets/preferences-Tac29oG6.js +0 -5
  620. package/core/built/admin/assets/preview-chrome-C2lQgZBZ.js +0 -1
  621. package/core/built/admin/assets/preview-modal-CjRbBr8U.js +0 -1
  622. package/core/built/admin/assets/profile-yiM1f_Og.js +0 -1
  623. package/core/built/admin/assets/radio-group-CKROWsw4.js +0 -1
  624. package/core/built/admin/assets/router-provider-CU87qxXw.js +0 -1
  625. package/core/built/admin/assets/select-CKaC4ggu.js +0 -1
  626. package/core/built/admin/assets/settings-81kxUa28.js +0 -1
  627. package/core/built/admin/assets/settings-BVXFqBVK.js +0 -4
  628. package/core/built/admin/assets/settings-breadcrumbs-czGRx-iu.js +0 -1
  629. package/core/built/admin/assets/shade-app-CcS3f8MZ-D5BnfHck.js +0 -3
  630. package/core/built/admin/assets/share-modal-BL-16PiB.js +0 -1
  631. package/core/built/admin/assets/skeleton-DwCva0-b.js +0 -1
  632. package/core/built/admin/assets/sort-button-Dquc83jY.js +0 -1
  633. package/core/built/admin/assets/stack-BURz77VS.js +0 -1
  634. package/core/built/admin/assets/stats-view-NDja_g96.js +0 -1
  635. package/core/built/admin/assets/stripe-button-C3cfCAou.js +0 -1
  636. package/core/built/admin/assets/stripe-connect-modal-FyE3Ey2c.js +0 -1
  637. package/core/built/admin/assets/switch-zfUUy9Jh.js +0 -1
  638. package/core/built/admin/assets/table-dE4GTIRT.js +0 -1
  639. package/core/built/admin/assets/tabs-B3XK93sR.js +0 -1
  640. package/core/built/admin/assets/tag-detail-D4P-tZdM.js +0 -2
  641. package/core/built/admin/assets/tag-picker-BNSZ6Qxw.js +0 -1
  642. package/core/built/admin/assets/tags-BsZcaJ6h.js +0 -1
  643. package/core/built/admin/assets/text-DC-ot6u2.js +0 -1
  644. package/core/built/admin/assets/textarea-B4FffFmE.js +0 -1
  645. package/core/built/admin/assets/tier-detail-modal-a77Z2VMH.js +0 -1
  646. package/core/built/admin/assets/toggle-group-D2p4okmJ.js +0 -1
  647. package/core/built/admin/assets/transistor-modal-C8RMkhOD.js +0 -1
  648. package/core/built/admin/assets/trend-badge-B9v7kMF8.js +0 -1
  649. package/core/built/admin/assets/types-uYQ1HgqL.js +0 -1
  650. package/core/built/admin/assets/use-analytics-data-ChHqiZXv.js +0 -1
  651. package/core/built/admin/assets/use-availability-hPdeG76y.js +0 -1
  652. package/core/built/admin/assets/use-filter-params-BSFigDIn.js +0 -1
  653. package/core/built/admin/assets/use-growth-stats-CqqdnESN.js +0 -1
  654. package/core/built/admin/assets/use-limiter-DBGjYqu7.js +0 -19
  655. package/core/built/admin/assets/use-reply-chain-data-DmD2yX5D.js +0 -1
  656. package/core/built/admin/assets/use-sending-eta-CQeG6OP_.js +0 -1
  657. package/core/built/admin/assets/use-setting-group-Dza6bQ7W.js +0 -1
  658. package/core/built/admin/assets/use-settings-navigation-BIjI5mL3.js +0 -1
  659. package/core/built/admin/assets/use-simple-pagination-DwVxe-Lo.js +0 -1
  660. package/core/built/admin/assets/use-staff-users-i_Mq9OGR.js +0 -1
  661. package/core/built/admin/assets/use-tinybird-query-DXoF74NM.js +0 -1
  662. package/core/built/admin/assets/user-detail-modal-BU4QCHE7.js +0 -1
  663. package/core/built/admin/assets/virtual-list-DScLNuU8.js +0 -1
  664. package/core/built/admin/assets/web-BZS-t4H0.js +0 -1
  665. package/core/built/admin/assets/web-DxAUxnK3.js +0 -2
  666. package/core/frontend/services/sitemap/utils.js +0 -17
  667. package/core/server/services/automations/get-scheduler-idempotency-key.js +0 -13
  668. package/core/server/web/api/testmode/index.js +0 -1
  669. package/core/server/web/api/testmode/jobs/cpu-hog.js +0 -15
  670. package/core/server/web/api/testmode/jobs/graceful-job.js +0 -50
  671. package/core/server/web/api/testmode/jobs/say-hello.js +0 -17
  672. package/core/server/web/api/testmode/routes.js +0 -120
@@ -1,45 +1,45 @@
1
1
  import { A as e, S as t, T as n, a as r, d as i, g as a, v as o, w as s } from "./_react-D4KM8XEu.js";
2
- import { S as c, d as l } from "./chunk-KS7C4IRE-Ck3O4oo2.js";
3
- import { o as u, r as d, t as f, w as p, y as m } from "./use-navigate-with-base-path-DsJTGDSS.js";
4
- import { F as h, K as g, b as _, h as v, q as y } from "./use-activity-pub-queries-CX9snsLs.js";
5
- import { $ as b, C as x, D as S, E as ee, J as C, K as w, N as T, O as E, Pt as D, Q as O, S as k, T as te, X as ne, Y as re, _ as ie, a as ae, g as A, h as oe, n as se, nt as ce, s as le, tt as j, v as ue, w as de, x as fe, y as pe } from "./routes-DdyY9uFF.js";
6
- import { a as me, c as he, f as M, i as N, l as ge, n as P, r as F, t as I, u as L } from "./content-formatters-CLcjaBwV.js";
7
- import { t as R } from "./inbox-CbTTdDQ3.js";
8
- import { i as _e, n as ve, r as ye, t as be } from "./use-reply-chain-data-AJi9zkzm.js";
9
- import { t as xe } from "./separator-CAxxu8VV.js";
10
- import "./layout-BL4_jtuV.js";
11
- import { t as z } from "./topic-filter-DsUOuu0k.js";
12
- var B = u("minus", [["path", {
2
+ import { C as c, d as l } from "./chunk-KS7C4IRE-CTUL98Lc.js";
3
+ import { F as u, J as d, W as f, o as p, r as m, t as ee } from "./use-navigate-with-base-path-B4jZ8hyg.js";
4
+ import { F as h, K as g, b as _, h as v, q as y } from "./use-activity-pub-queries-CYI2QJMs.js";
5
+ import { $ as b, C as x, D as te, E as S, J as C, K as w, N as T, O as E, S as D, T as O, W as ne, X as re, Z as ie, _ as ae, a as oe, et as se, g as k, h as ce, n as le, q as A, s as ue, v as de, w as fe, x as pe, y as me } from "./routes-Cw302e1c.js";
6
+ import { a as he, c as ge, f as j, i as M, l as _e, n as N, r as P, t as F, u as I } from "./content-formatters-D7GWP7nH.js";
7
+ import { t as L } from "./inbox-DUJUiV6x.js";
8
+ import { i as ve, n as ye, r as be, t as xe } from "./use-reply-chain-data-BHmFxc3U.js";
9
+ import { t as Se } from "./separator-FpRpVDd3.js";
10
+ import "./layout-Dy6NnW1G.js";
11
+ import { t as R } from "./topic-filter-75Nu0CKj.js";
12
+ var z = p("minus", [["path", {
13
13
  d: "M5 12h14",
14
14
  key: "1ays0h"
15
15
  }]]);
16
16
  //#endregion
17
17
  //#region ../shade/es/components/ui/empty-indicator.js
18
18
  i();
19
- var V = c(), H = r.forwardRef(({ children: e, className: t, ...n }, r) => /* @__PURE__ */ (0, V.jsx)("div", {
19
+ var B = c(), V = r.forwardRef(({ children: e, className: t, ...n }, r) => /* @__PURE__ */ (0, B.jsx)("div", {
20
20
  ref: r,
21
- className: m("flex size-12 max-h-12 max-w-12 items-center justify-center rounded-full bg-muted [&_svg]:size-4 [&_svg]:shrink-0 [&_svg]:text-muted-foreground", t),
21
+ className: f("flex size-12 max-h-12 max-w-12 items-center justify-center rounded-full bg-muted [&_svg]:size-4 [&_svg]:shrink-0 [&_svg]:text-muted-foreground", t),
22
22
  ...n,
23
23
  children: e
24
24
  }));
25
- H.displayName = "EmptyBadge";
26
- var U = r.forwardRef(({ children: e, className: t, title: n, description: r, actions: i, ...a }, o) => /* @__PURE__ */ (0, V.jsxs)("div", {
25
+ V.displayName = "EmptyBadge";
26
+ var H = r.forwardRef(({ children: e, className: t, title: n, description: r, actions: i, ...a }, o) => /* @__PURE__ */ (0, B.jsxs)("div", {
27
27
  ref: o,
28
- className: m("flex flex-col items-center justify-center gap-3 text-center", t),
28
+ className: f("flex flex-col items-center justify-center gap-3 text-center", t),
29
29
  ...a,
30
30
  children: [
31
- /* @__PURE__ */ (0, V.jsx)(H, { children: e }),
32
- /* @__PURE__ */ (0, V.jsxs)("div", {
31
+ /* @__PURE__ */ (0, B.jsx)(V, { children: e }),
32
+ /* @__PURE__ */ (0, B.jsxs)("div", {
33
33
  className: "flex max-w-[320px] flex-col gap-1.5",
34
- children: [/* @__PURE__ */ (0, V.jsx)("h3", {
34
+ children: [/* @__PURE__ */ (0, B.jsx)("h3", {
35
35
  className: "text-md font-medium tracking-normal text-pretty text-foreground",
36
36
  children: n
37
- }), r && /* @__PURE__ */ (0, V.jsx)("p", {
37
+ }), r && /* @__PURE__ */ (0, B.jsx)("p", {
38
38
  className: "text-sm leading-tight text-pretty text-muted-foreground",
39
39
  children: r
40
40
  })]
41
41
  }),
42
- i && /* @__PURE__ */ (0, V.jsx)("div", {
42
+ i && /* @__PURE__ */ (0, B.jsx)("div", {
43
43
  className: "flex items-center gap-2",
44
44
  children: i
45
45
  })
@@ -47,19 +47,19 @@ var U = r.forwardRef(({ children: e, className: t, title: n, description: r, act
47
47
  }));
48
48
  //#endregion
49
49
  //#region src/views/inbox/components/customizer.tsx
50
- U.displayName = "EmptyIndicator", i();
51
- var W = [
50
+ H.displayName = "EmptyIndicator", i();
51
+ var U = [
52
52
  "1.5rem",
53
53
  "1.6rem",
54
54
  "1.7rem",
55
55
  "1.8rem",
56
56
  "2rem"
57
- ], G = {
57
+ ], W = {
58
58
  BACKGROUND_COLOR: "ghost-ap-background-color",
59
59
  FONT_SIZE: "ghost-ap-font-size",
60
60
  FONT_FAMILY: "ghost-ap-font-family",
61
61
  FONT_STYLE: "ghost-ap-font-style"
62
- }, K = {
62
+ }, G = {
63
63
  SYSTEM: {
64
64
  id: "system",
65
65
  color: "#fff",
@@ -88,33 +88,33 @@ var W = [
88
88
  button: "text-white dark:bg-black dark:hover:bg-gray-900",
89
89
  border: "border-black/[8%] dark:border-gray-950"
90
90
  }
91
- }, Se = () => {
92
- let [e, t] = n(() => localStorage.getItem(G.BACKGROUND_COLOR)?.toUpperCase() || "SYSTEM"), [r, i] = n(() => {
93
- let e = localStorage.getItem(G.FONT_SIZE);
91
+ }, Ce = () => {
92
+ let [e, t] = n(() => localStorage.getItem(W.BACKGROUND_COLOR)?.toUpperCase() || "SYSTEM"), [r, i] = n(() => {
93
+ let e = localStorage.getItem(W.FONT_SIZE);
94
94
  return e ? parseInt(e) : 2;
95
- }), [a, s] = n(() => localStorage.getItem(G.FONT_STYLE) || "sans");
95
+ }), [a, s] = n(() => localStorage.getItem(W.FONT_STYLE) || "sans");
96
96
  return o(() => {
97
- localStorage.setItem(G.FONT_SIZE, r.toString());
97
+ localStorage.setItem(W.FONT_SIZE, r.toString());
98
98
  }, [r]), o(() => {
99
- localStorage.setItem(G.FONT_STYLE, a);
99
+ localStorage.setItem(W.FONT_STYLE, a);
100
100
  }, [a]), {
101
101
  backgroundColor: e,
102
102
  currentFontSizeIndex: r,
103
103
  fontStyle: a,
104
104
  handleColorChange: (e) => {
105
- t(e), localStorage.setItem(G.BACKGROUND_COLOR, K[e].id);
105
+ t(e), localStorage.setItem(W.BACKGROUND_COLOR, G[e].id);
106
106
  },
107
107
  setFontStyle: s,
108
108
  increaseFontSize: () => {
109
- i((e) => Math.min(e + 1, W.length - 1));
109
+ i((e) => Math.min(e + 1, U.length - 1));
110
110
  },
111
111
  decreaseFontSize: () => {
112
112
  i((e) => Math.max(e - 1, 0));
113
113
  },
114
114
  resetFontSize: () => i(2),
115
- fontSize: W[r]
115
+ fontSize: U[r]
116
116
  };
117
- }, Ce = ({ backgroundColor: e, currentFontSizeIndex: t, fontStyle: n, onColorChange: r, onFontStyleChange: i, onDecreaseFontSize: a, onIncreaseFontSize: o, onResetFontSize: s, onOpenChange: c }) => /* @__PURE__ */ (0, V.jsx)(we, {
117
+ }, we = ({ backgroundColor: e, currentFontSizeIndex: t, fontStyle: n, onColorChange: r, onFontStyleChange: i, onDecreaseFontSize: a, onIncreaseFontSize: o, onResetFontSize: s, onOpenChange: c }) => /* @__PURE__ */ (0, B.jsx)(Te, {
118
118
  backgroundColor: e,
119
119
  currentFontSizeIndex: t,
120
120
  fontStyle: n,
@@ -126,102 +126,102 @@ var W = [
126
126
  onIncreaseFontSize: o,
127
127
  onOpenChange: c,
128
128
  onResetFontSize: s
129
- }), we = ({ backgroundColor: e, isActiveColor: t, isActiveFont: n, onColorChange: r, onFontStyleChange: i, currentFontSizeIndex: a, onDecreaseFontSize: o, onIncreaseFontSize: s, onResetFontSize: c, onOpenChange: l }) => /* @__PURE__ */ (0, V.jsxs)(w, {
129
+ }), Te = ({ backgroundColor: e, isActiveColor: t, isActiveFont: n, onColorChange: r, onFontStyleChange: i, currentFontSizeIndex: a, onDecreaseFontSize: o, onIncreaseFontSize: s, onResetFontSize: c, onOpenChange: l }) => /* @__PURE__ */ (0, B.jsxs)(ne, {
130
130
  modal: !1,
131
131
  onOpenChange: l,
132
- children: [/* @__PURE__ */ (0, V.jsx)(re, {
132
+ children: [/* @__PURE__ */ (0, B.jsx)(A, {
133
133
  asChild: !0,
134
- children: /* @__PURE__ */ (0, V.jsx)(d, {
134
+ children: /* @__PURE__ */ (0, B.jsx)(m, {
135
135
  "aria-label": "Reading options",
136
- className: `size-9 rounded-full ${K[e].button}`,
136
+ className: `size-9 rounded-full ${G[e].button}`,
137
137
  variant: "ghost",
138
- children: /* @__PURE__ */ (0, V.jsx)(D.Typography, { className: "size-[18px]!" })
138
+ children: /* @__PURE__ */ (0, B.jsx)(u.Typography, { className: "size-[18px]!" })
139
139
  })
140
- }), /* @__PURE__ */ (0, V.jsx)(C, {
140
+ }), /* @__PURE__ */ (0, B.jsx)(w, {
141
141
  align: "end",
142
142
  className: "w-[224px]",
143
143
  onCloseAutoFocus: (e) => e.preventDefault(),
144
144
  onOpenAutoFocus: (e) => e.preventDefault(),
145
- children: /* @__PURE__ */ (0, V.jsxs)("div", {
145
+ children: /* @__PURE__ */ (0, B.jsxs)("div", {
146
146
  className: "flex flex-col gap-4",
147
147
  children: [
148
- /* @__PURE__ */ (0, V.jsxs)("div", {
148
+ /* @__PURE__ */ (0, B.jsxs)("div", {
149
149
  className: "flex items-center justify-between gap-[6px]",
150
150
  children: [
151
- /* @__PURE__ */ (0, V.jsx)(d, {
151
+ /* @__PURE__ */ (0, B.jsx)(m, {
152
152
  className: `h-7 flex-1 rounded-[6px] bg-gray-200 p-0 text-[1.1rem] text-black hover:bg-gray-300 dark:bg-gray-950 dark:text-white dark:hover:bg-gray-900 [&_svg]:size-[14px] ${t("SYSTEM") ? "outline-2 outline-green" : ""}`,
153
153
  variant: "secondary",
154
154
  onClick: () => r("SYSTEM"),
155
155
  children: "Auto"
156
156
  }),
157
- /* @__PURE__ */ (0, V.jsx)(d, {
157
+ /* @__PURE__ */ (0, B.jsx)(m, {
158
158
  className: `h-7 flex-1 rounded-[6px] bg-[#ece6d9] p-0 hover:bg-[#ece6d9] ${t("SEPIA") ? "outline-2 outline-green" : "border border-[#ece6d9]"}`,
159
159
  onClick: () => r("SEPIA")
160
160
  }),
161
- /* @__PURE__ */ (0, V.jsx)(d, {
161
+ /* @__PURE__ */ (0, B.jsx)(m, {
162
162
  className: `h-7 flex-1 rounded-[6px] bg-white p-0 hover:bg-white ${t("LIGHT") ? "outline-2 outline-green" : "border border-gray-200"}`,
163
163
  onClick: () => r("LIGHT")
164
164
  }),
165
- /* @__PURE__ */ (0, V.jsx)(d, {
165
+ /* @__PURE__ */ (0, B.jsx)(m, {
166
166
  className: `h-7 flex-1 rounded-[6px] bg-black p-0 hover:bg-black dark:border dark:border-gray-950 ${t("DARK") ? "outline-2 outline-green" : ""}`,
167
167
  onClick: () => r("DARK")
168
168
  })
169
169
  ]
170
170
  }),
171
- /* @__PURE__ */ (0, V.jsxs)("div", {
171
+ /* @__PURE__ */ (0, B.jsxs)("div", {
172
172
  className: "flex gap-2",
173
- children: [/* @__PURE__ */ (0, V.jsxs)(d, {
173
+ children: [/* @__PURE__ */ (0, B.jsxs)(m, {
174
174
  className: `flex h-auto w-full flex-col gap-1 rounded-[6px] bg-gray-200 text-black hover:bg-gray-300 dark:bg-gray-950 dark:text-white dark:hover:bg-gray-900 ${n("sans") && "outline-2 outline-green"}`,
175
175
  variant: "secondary",
176
176
  onClick: () => i("sans"),
177
- children: [/* @__PURE__ */ (0, V.jsx)("span", {
177
+ children: [/* @__PURE__ */ (0, B.jsx)("span", {
178
178
  className: "text-[2rem] leading-none font-bold",
179
179
  children: "Aa"
180
- }), /* @__PURE__ */ (0, V.jsx)("span", {
180
+ }), /* @__PURE__ */ (0, B.jsx)("span", {
181
181
  className: "text-[1.1rem]",
182
182
  children: "System"
183
183
  })]
184
- }), /* @__PURE__ */ (0, V.jsxs)(d, {
184
+ }), /* @__PURE__ */ (0, B.jsxs)(m, {
185
185
  className: `flex h-auto w-full flex-col gap-1 rounded-[6px] bg-gray-200 text-black hover:bg-gray-300 dark:bg-gray-950 dark:text-white dark:hover:bg-gray-900 ${n("serif") && "outline-2 outline-green"}`,
186
186
  variant: "secondary",
187
187
  onClick: () => i("serif"),
188
- children: [/* @__PURE__ */ (0, V.jsx)("span", {
188
+ children: [/* @__PURE__ */ (0, B.jsx)("span", {
189
189
  className: "pt-1 font-serif text-[2rem] leading-none font-bold",
190
190
  children: "Aa"
191
- }), /* @__PURE__ */ (0, V.jsx)("span", {
191
+ }), /* @__PURE__ */ (0, B.jsx)("span", {
192
192
  className: "font-serif text-[1.2rem]",
193
193
  children: "Serif"
194
194
  })]
195
195
  })]
196
196
  }),
197
- /* @__PURE__ */ (0, V.jsxs)("div", {
197
+ /* @__PURE__ */ (0, B.jsxs)("div", {
198
198
  className: "flex gap-2",
199
199
  children: [
200
- /* @__PURE__ */ (0, V.jsx)(d, {
200
+ /* @__PURE__ */ (0, B.jsx)(m, {
201
201
  "aria-label": "Decrease text size",
202
202
  className: "h-8 w-full rounded-[6px] bg-gray-200 text-black hover:bg-gray-300 dark:bg-gray-950 dark:text-white dark:hover:bg-gray-900 [&_svg]:size-[14px]",
203
203
  disabled: a === 0,
204
204
  variant: "secondary",
205
205
  onClick: o,
206
- children: /* @__PURE__ */ (0, V.jsx)(B, {})
206
+ children: /* @__PURE__ */ (0, B.jsx)(z, {})
207
207
  }),
208
- /* @__PURE__ */ (0, V.jsx)(d, {
208
+ /* @__PURE__ */ (0, B.jsx)(m, {
209
209
  "aria-label": "Reset text size",
210
210
  className: "h-8 w-full rounded-[6px] bg-gray-200 text-black hover:bg-gray-300 dark:bg-gray-950 dark:text-white dark:hover:bg-gray-900",
211
211
  variant: "secondary",
212
212
  onClick: c,
213
- children: /* @__PURE__ */ (0, V.jsx)("span", {
213
+ children: /* @__PURE__ */ (0, B.jsx)("span", {
214
214
  className: "text-[1.6rem] font-bold",
215
215
  children: "Aa"
216
216
  })
217
217
  }),
218
- /* @__PURE__ */ (0, V.jsx)(d, {
218
+ /* @__PURE__ */ (0, B.jsx)(m, {
219
219
  "aria-label": "Increase text size",
220
220
  className: "h-8 w-full rounded-[6px] bg-gray-200 text-black hover:bg-gray-300 dark:bg-gray-950 dark:text-white dark:hover:bg-gray-900 [&_svg]:size-[14px]",
221
- disabled: a === W.length - 1,
221
+ disabled: a === U.length - 1,
222
222
  variant: "secondary",
223
223
  onClick: s,
224
- children: /* @__PURE__ */ (0, V.jsx)(M, {})
224
+ children: /* @__PURE__ */ (0, B.jsx)(j, {})
225
225
  })
226
226
  ]
227
227
  })
@@ -232,7 +232,7 @@ var W = [
232
232
  //#endregion
233
233
  //#region src/components/feed/table-of-contents.tsx
234
234
  i();
235
- var Te = ({ tocItems: e, iframeElement: t, modalRef: i, className: a = "visible! absolute inset-y-0 right-7 z-40 hidden lg:block!", onOpenChange: s }) => {
235
+ var Ee = ({ tocItems: e, iframeElement: t, modalRef: i, className: a = "visible! absolute inset-y-0 right-7 z-40 hidden lg:block!", onOpenChange: s }) => {
236
236
  let [c, l] = n(null), u = r.useRef(!1);
237
237
  return o(() => {
238
238
  if (!t?.contentDocument || e.length <= 1) return;
@@ -259,11 +259,11 @@ var Te = ({ tocItems: e, iframeElement: t, modalRef: i, className: a = "visible!
259
259
  t,
260
260
  e,
261
261
  i
262
- ]), e.length <= 1 ? null : /* @__PURE__ */ (0, V.jsx)("div", {
262
+ ]), e.length <= 1 ? null : /* @__PURE__ */ (0, B.jsx)("div", {
263
263
  className: a,
264
- children: /* @__PURE__ */ (0, V.jsx)("div", {
264
+ children: /* @__PURE__ */ (0, B.jsx)("div", {
265
265
  className: "sticky top-1/2 -translate-y-1/2",
266
- children: /* @__PURE__ */ (0, V.jsx)(De, {
266
+ children: /* @__PURE__ */ (0, B.jsx)(Oe, {
267
267
  activeHeading: c || "",
268
268
  items: e,
269
269
  onItemClick: (e) => {
@@ -280,39 +280,39 @@ var Te = ({ tocItems: e, iframeElement: t, modalRef: i, className: a = "visible!
280
280
  })
281
281
  })
282
282
  });
283
- }, q = {
283
+ }, K = {
284
284
  1: "w-3",
285
285
  2: "w-2",
286
286
  3: "w-1"
287
- }, Ee = {
287
+ }, De = {
288
288
  1: "pl-2",
289
289
  2: "pl-6",
290
290
  3: "pl-10"
291
- }, De = ({ items: e, activeHeading: t, onItemClick: i, onOpenChange: a }) => {
291
+ }, Oe = ({ items: e, activeHeading: t, onItemClick: i, onOpenChange: a }) => {
292
292
  let [o, s] = n(!1), c = r.useRef();
293
293
  if (r.useEffect(() => () => {
294
294
  c.current && clearTimeout(c.current);
295
295
  }, []), e.length === 0) return null;
296
- let l = (e) => Math.min(e, 3), u = (e) => q[l(e)], d = (e) => Ee[l(e)], f = () => {
296
+ let l = (e) => Math.min(e, 3), u = (e) => K[l(e)], d = (e) => De[l(e)], f = () => {
297
297
  c.current && clearTimeout(c.current), s(!0), a?.(!0);
298
298
  }, p = () => {
299
299
  c.current = setTimeout(() => {
300
300
  s(!1), a?.(!1);
301
301
  }, 100);
302
302
  };
303
- return /* @__PURE__ */ (0, V.jsxs)(w, {
303
+ return /* @__PURE__ */ (0, B.jsxs)(ne, {
304
304
  modal: !1,
305
305
  open: o,
306
306
  onOpenChange: s,
307
- children: [/* @__PURE__ */ (0, V.jsx)(re, {
307
+ children: [/* @__PURE__ */ (0, B.jsx)(A, {
308
308
  asChild: !0,
309
- children: /* @__PURE__ */ (0, V.jsx)("div", {
309
+ children: /* @__PURE__ */ (0, B.jsx)("div", {
310
310
  className: "absolute top-1/2 right-2 flex -translate-y-1/2 flex-col items-end gap-2 rounded-md p-2 text-base dark:bg-black",
311
311
  onMouseEnter: f,
312
312
  onMouseLeave: p,
313
- children: e.map((e) => /* @__PURE__ */ (0, V.jsx)("div", { className: `h-[2px] rounded-sm ${t === e.id ? "bg-black dark:bg-white" : "bg-gray-400 dark:bg-gray-700"} pr-1 transition-all ${u(e.level)}` }, e.id))
313
+ children: e.map((e) => /* @__PURE__ */ (0, B.jsx)("div", { className: `h-[2px] rounded-sm ${t === e.id ? "bg-black dark:bg-white" : "bg-gray-400 dark:bg-gray-700"} pr-1 transition-all ${u(e.level)}` }, e.id))
314
314
  })
315
- }), /* @__PURE__ */ (0, V.jsx)(C, {
315
+ }), /* @__PURE__ */ (0, B.jsx)(w, {
316
316
  align: "center",
317
317
  className: "w-[240px] p-2",
318
318
  side: "left",
@@ -321,15 +321,15 @@ var Te = ({ tocItems: e, iframeElement: t, modalRef: i, className: a = "visible!
321
321
  onMouseEnter: f,
322
322
  onMouseLeave: p,
323
323
  onOpenAutoFocus: (e) => e.preventDefault(),
324
- children: /* @__PURE__ */ (0, V.jsx)("nav", {
324
+ children: /* @__PURE__ */ (0, B.jsx)("nav", {
325
325
  "aria-label": "Table of contents navigation",
326
326
  className: "max-h-[60vh] overflow-y-auto",
327
327
  role: "navigation",
328
- children: e.map((e) => /* @__PURE__ */ (0, V.jsx)("button", {
328
+ children: e.map((e) => /* @__PURE__ */ (0, B.jsx)("button", {
329
329
  className: `line-clamp-2 block w-full cursor-pointer rounded py-1 text-left text-sm leading-tight ${t === e.id ? "text-black dark:text-white" : "text-gray-700 dark:text-gray-600"} hover:bg-gray-100 hover:text-gray-900 dark:hover:bg-gray-950 dark:hover:text-white ${d(e.level)}`,
330
330
  type: "button",
331
331
  onClick: () => i(e.id),
332
- children: /* @__PURE__ */ (0, V.jsx)("span", {
332
+ children: /* @__PURE__ */ (0, B.jsx)("span", {
333
333
  className: "line-clamp-2",
334
334
  children: e.text
335
335
  })
@@ -337,44 +337,46 @@ var Te = ({ tocItems: e, iframeElement: t, modalRef: i, className: a = "visible!
337
337
  })
338
338
  })]
339
339
  });
340
- }, Oe = () => "<style>\n\n/* Variables */\n\n:root {\n --color-white: #fff;\n --color-lighter-gray: rgb(0 0 0 / 0.05);\n --color-light-gray: #e6e6e6;\n --color-mid-gray: #ccc;\n --color-dark-gray: #444;\n --color-darker-gray: #15171a;\n --color-black: #000;\n --color-primary-text: var(--color-darker-gray);\n --color-secondary-text: rgb(124 139 154);\n --color-border: rgb(0 0 0 / 0.08);\n --color-dark-border: rgb(0 0 0 / 0.55);\n --background-color: #fff;\n --font-sans: Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Oxygen\", \"Ubuntu\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\", sans-serif;\n --font-serif: \"EB Garamond\", Georgia, Times, serif;\n --font-serif-alt: Georgia, Times, serif;\n --font-mono: \"JetBrains Mono\", Menlo, Consolas, Monaco, \"Liberation Mono\", \"Lucida Console\", monospace;\n --letter-spacing: 0;\n --container-width: 1320px;\n --container-gap: clamp(24px, 1.7032rem + 1.9355vw, 48px);\n --ghost-accent-color: #15171a;\n}\n\n:root.has-light-text,\n:is(.gh-navigation, .gh-footer).has-accent-color {\n --color-lighter-gray: rgb(255 255 255 / 0.1);\n --color-darker-gray: #fff;\n --color-secondary-text: rgb(255 255 255 / 0.64);\n --color-border: rgb(255 255 255 / 0.15);\n --color-dark-border: rgb(255 255 255 / 0.5);\n --background-color: #15171a;\n}\n\n/* Resets */\n\n*, *::before, *::after {\n box-sizing: border-box;\n}\n\n* {\n margin: 0;\n}\n\nhtml {\n font-size: 62.5%;\n}\n\nbody {\n font-family: var(--font-sans);\n line-height: 1.5;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\nimg, picture, video, canvas, svg {\n display: block;\n height: auto;\n max-width: 100%;\n}\n\niframe {\n display: block;\n}\n\ninput, button, textarea, select {\n font: inherit;\n}\n\np, h1, h2, h3, h4, h5, h6 {\n overflow-wrap: break-word;\n}\n\nh1, h2, h3, h4, h5, h6 {\n font-family: var(--font-sans);\n line-height: 1.2;\n}\n\n/* Globals */\n\nhtml {\n --container-width: 840px;\n --content-width: 640px;\n}\n\nbody {\n font-family: var(--font-sans);\n font-size: 1.6rem;\n background-color: var(--background-color);\n color: var(--color-primary-text);\n}\n\na {\n color: var(--color-darker-gray);\n text-decoration: none;\n}\n\na:not([class]):hover {\n opacity: 0.8;\n}\n\n.gh-canvas,\n.kg-width-full.kg-content-wide {\n --main: min(var(--content-width, 720px), 100% - var(--container-gap) * 2);\n --wide: minmax(0, calc((var(--container-width, 1200px) - var(--content-width, 720px)) / 2));\n --full: minmax(var(--container-gap), 1fr);\n\n display: grid;\n grid-template-columns:\n [full-start] var(--full)\n [wide-start] var(--wide)\n [main-start] var(--main) [main-end]\n var(--wide) [wide-end]\n var(--full) [full-end];\n}\n\n.gh-canvas > * {\n grid-column: main;\n}\n\n.kg-width-wide,\n.kg-content-wide > div {\n grid-column: full;\n}\n\n.kg-width-full {\n grid-column: full;\n}\n\n/* Article */\n\n.gh-article-header {\n margin: 24px 0 40px;\n}\n\n.gh-article-title {\n font-weight: 700;\n text-wrap: pretty;\n font-size: 3.6rem;\n letter-spacing: -0.015em;\n line-height: 1.1;\n}\n\n.gh-article-excerpt {\n margin-top: 12px;\n font-size: calc(var(--font-size) * 1.06 * var(--font-size-multiplier, 1));\n line-height: 1.4;\n text-wrap: pretty;\n}\n\n.has-serif-body .gh-article-excerpt {\n font-family: var(--font-serif-alt);\n}\n\n.gh-article-meta {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 16px;\n}\n\n.gh-article-meta:hover {\n opacity: 1;\n}\n\n.gh-article-author-image {\n display: flex;\n margin-right: 8px;\n margin-left: 6px;\n}\n\n.gh-article-author-image span {\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n width: 46px;\n height: 46px;\n overflow: hidden;\n margin: 0 -8px;\n background-color: #F4F5F6;\n border-radius: 50%;\n border: 3px solid var(--background-color);\n}\n\nhtml.has-sepia-bg .gh-article-author-image span {\n background-color: #EFEDE6;\n}\n\nhtml.has-light-text .gh-article-author-image span {\n background-color: #394047;\n}\n\n.gh-article-author-image span:first-child {\n z-index: 10;\n}\n\n.gh-article-author-image span:nth-child(2) {\n z-index: 9;\n}\n\n.gh-article-author-image span:nth-child(3) {\n z-index: 8;\n}\n\n.gh-article-author-image img {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n\n.gh-article-author-image svg {\n width: 18px;\n height: 18px;\n color: #95A1AD;\n}\n\n.gh-article-meta-wrapper {\n display: flex;\n flex-direction: column;\n gap: 1px;\n margin-top: -2px;\n}\n\n.gh-article-author-name {\n font-size: 1.5rem;\n font-weight: 600;\n letter-spacing: -0.008em;\n}\n\n.gh-article-source {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 1.5rem;\n line-height: 1.2;\n color: var(--color-secondary-text);\n width: fit-content;\n}\n\n.gh-article-source svg {\n width: 12px;\n height: 12px;\n margin-top: 1px;\n}\n\n.gh-article-meta:hover .gh-article-source {\n text-decoration: underline;\n}\n\n.gh-article-image {\n grid-column: full;\n margin-top: 40px;\n}\n\n.gh-article-image img {\n width: 100%;\n}\n\n/* Content */\n\n/* Content refers to styling all page and post content that is\ncreated within the Ghost editor. The main content handles\nheadings, text, images and lists. We deal with cards lower down. */\n\n.gh-content {\n font-size: calc(var(--font-size) * var(--font-size-multiplier, 1));\n overflow-x: hidden;\n letter-spacing: var(--letter-spacing);\n line-height: var(--line-height);\n}\n\n/* Default vertical spacing */\n.gh-content > * + * {\n margin-top: calc(28px * var(--content-spacing-factor, 1));\n margin-bottom: 0;\n}\n\n/* Remove space between full-width cards */\n.gh-content > .kg-width-full + .kg-width-full:not(.kg-width-full.kg-card-hascaption + .kg-width-full) {\n margin-top: 0;\n}\n\n/* Add back a top margin to all headings,\nunless a heading is the very first element in the post content */\n.gh-content > [id]:not(:first-child) {\n margin-top: calc(40px * var(--content-spacing-factor, 1));\n}\n\n/* Add a small margin between a heading and paragraph after it */\n.gh-content > [id] + p {\n margin-top: calc(12px * var(--content-spacing-factor, 1));\n}\n\n/* A larger margin before/after dividers, blockquotes and embeds */\n.gh-content > :is(hr, blockquote, iframe) {\n position: relative;\n margin-top: calc(48px * var(--content-spacing-factor, 1)) !important;\n}\n\n.gh-content > :is(hr, blockquote, iframe) + * {\n margin-top: calc(48px * var(--content-spacing-factor, 1)) !important;\n}\n\n/* Now the content typography styles */\n.gh-content [id] {\n letter-spacing: -0.005em;\n}\n\n.gh-content h1 {\n font-size: 1.9em;\n}\n\n.gh-content h2 {\n font-size: 1.6em;\n}\n\n.gh-content h3 {\n font-size: 1.3em;\n}\n\n.gh-content h4 {\n font-size: 1.2em;\n}\n\n.gh-content h5 {\n font-size: 1.1em;\n}\n\n.gh-content h6 {\n font-size: 1em;\n}\n\n.gh-content a:not([class]) {\n color: #14B8FF;\n text-decoration: underline;\n}\n\nhtml.has-light-text .gh-content a:not([class]) {\n color: #14B8FF;\n}\n\nhtml.has-sepia-bg .gh-content a:not([class]) {\n color: #DD6B02;\n}\n\n.gh-content .kg-callout-card .kg-callout-text,\n.gh-content .kg-toggle-card .kg-toggle-content > :is(ul, ol, p) {\n font-size: 0.95em;\n}\n\n.has-serif-body .gh-content > blockquote,\n.has-serif-body .gh-content > ol,\n.has-serif-body .gh-content > ul,\n.has-serif-body .gh-content > dl,\n.has-serif-body .gh-content > p,\n.has-serif-body .gh-content .kg-callout-text,\n.has-serif-body .gh-content .kg-toggle-content > ol,\n.has-serif-body .gh-content .kg-toggle-content > ul,\n.has-serif-body .gh-content .kg-toggle-content > p {\n font-family: var(--font-serif-alt);\n}\n\n.gh-content :is(ul, ol) {\n padding-left: 28px;\n}\n\n.gh-content :is(li + li, li :is(ul, ol)) {\n margin-top: 8px;\n}\n\n.gh-content ol ol li {\n list-style-type: lower-alpha;\n}\n\n.gh-content ol ol ol li {\n list-style-type: lower-roman;\n}\n\n.gh-content hr {\n width: 100%;\n height: 1px;\n background-color: var(--color-border);\n border: 0;\n}\n\n.gh-content .gh-table {\n overflow-x: scroll;\n -webkit-overflow-scrolling: touch;\n}\n\n.gh-content .gh-table table {\n width: 100%;\n font-family: var(--font-sans);\n font-size: 1.5rem;\n white-space: nowrap;\n vertical-align: top;\n border-spacing: 0;\n border-collapse: collapse;\n}\n\n.gh-content .gh-table table th {\n font-size: 1.2rem;\n font-weight: 700;\n color: var(--color-darkgrey);\n text-align: left;\n text-transform: uppercase;\n letter-spacing: 0.2px;\n}\n\n.gh-content .gh-table table :is(th, td),\n.gh-content .gh-table table td {\n padding: 6px 12px;\n border-bottom: 1px solid var(--color-border);\n}\n\n.gh-content .gh-table table :is(th, td):first-child {\n padding-left: 0;\n}\n\n.gh-content .gh-table table :is(th, td):last-child {\n padding-right: 0;\n}\n\n.gh-content pre {\n overflow: auto;\n padding: 16px;\n font-size: 1.5rem;\n line-height: 1.5em;\n background: var(--color-lighter-gray);\n border-radius: 6px;\n font-family: var(--font-mono);\n}\n\n.gh-content :not(pre) > code {\n vertical-align: baseline;\n padding: 0.15em 0.4em;\n font-weight: 400;\n font-size: 0.95em;\n line-height: 1em;\n background: var(--color-lighter-gray);\n border-radius: 0.25em;\n font-family: var(--font-mono);\n}\n\n.gh-content mark {\n color: inherit;\n background: rgb(255 225 54 / 25%);\n}\n\n/* Cards */\n\n/* Add extra margin before/after any cards, except for when immediately preceeded by a heading */\n\n.gh-content :not(.kg-card):not(table):not([id]) + :is(.kg-card, table) {\n margin-top: calc(48px * var(--content-spacing-factor, 1));\n}\n\n.gh-content :is(.kg-card, table) + :not(.kg-card):not(table):not([id]) {\n margin-top: calc(48px * var(--content-spacing-factor, 1));\n}\n\n.gh-content :not(.kg-card):not([id]) + .kg-card.kg-width-full {\n margin-top: calc(68px * var(--content-spacing-factor, 1));\n}\n\n.gh-content .kg-card.kg-width-full + :not(.kg-card):not([id]) {\n margin-top: calc(68px * var(--content-spacing-factor, 1));\n}\n\n.kg-image {\n margin-right: auto;\n margin-left: auto;\n}\n\n.kg-embed-card {\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 100%;\n}\n\n.kg-image-card a:hover,\n.kg-gallery-image a:hover {\n opacity: 1 !important;\n}\n\nblockquote:not([class]) {\n padding-left: 2rem;\n border-left: 4px solid var(--ghost-accent-color);\n}\n\nblockquote.kg-blockquote-alt {\n font-style: normal;\n font-weight: 400;\n color: var(--color-secondary-text);\n}\n\n.has-serif-body .kg-header-card h3.kg-header-card-subheader {\n font-family: var(--font-serif);\n}\n\n.has-serif-body .kg-product-card-description :is(p, ul, ol) {\n font-family: var(--font-serif-alt);\n}\n\n/* Caption */\n\nfigcaption {\n margin-top: 12px;\n font-size: 1.3rem;\n text-align: center;\n}\n\n.kg-card.kg-width-full figcaption {\n padding: 0 16px;\n}\n\nfigcaption a {\n color: rgb(29 78 216);\n text-decoration: underline;\n}\n\n/* Paid content styles */\n\n.gh-paid-content-notice {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n padding: 36px;\n background: rgba(0, 0, 0, 0.035);\n border-radius: 14px;\n font-size: 16px;\n}\n\nhtml.has-light-text .gh-paid-content-notice {\n background: rgba(255, 255, 255, 0.035);\n}\n\n.gh-paid-content-notice h3 {\n letter-spacing: -0.015em !important;\n}\n\n.gh-paid-content-notice p {\n max-width: 350px;\n text-align: center;\n line-height: 1.3em;\n}\n\n.gh-paid-content-cta {\n display: block;\n color: var(--background-color) !important;\n background: var(--color-primary-text);\n text-decoration: none !important;\n font-weight: 600;\n font-size: 0.9em;\n padding: 8px 16px;\n margin-top: 8px;\n border-radius: 6px;\n}\n\n/* Design settings /*\n\n.has-serif-body {\n --font-size-multiplier: 1.1;\n}\n\n.has-serif-body .gh-content > blockquote,\n.has-serif-body .gh-content > ol,\n.has-serif-body .gh-content > ul,\n.has-serif-body .gh-content > dl,\n.has-serif-body .gh-content > p,\n.has-serif-body .gh-content .kg-callout-card .kg-callout-text,\n.has-serif-body .gh-content .kg-toggle-card .kg-toggle-content > ol,\n.has-serif-body .gh-content .kg-toggle-card .kg-toggle-content > ul,\n.has-serif-body .gh-content .kg-toggle-card .kg-toggle-content > p {\n font-family: var(--font-serif-alt);\n}\n\n</style>", ke = /* @__PURE__ */ e({ default: () => Ae }), Ae = "(function () {\n const handleAudioPlayer = function (audioElementContainer) {\n const audioPlayerContainer = audioElementContainer.querySelector('.kg-audio-player-container');\n const playIconContainer = audioElementContainer.querySelector('.kg-audio-play-icon');\n const pauseIconContainer = audioElementContainer.querySelector('.kg-audio-pause-icon');\n const seekSlider = audioElementContainer.querySelector('.kg-audio-seek-slider');\n const playbackRateContainer = audioElementContainer.querySelector('.kg-audio-playback-rate');\n const muteIconContainer = audioElementContainer.querySelector('.kg-audio-mute-icon');\n const unmuteIconContainer = audioElementContainer.querySelector('.kg-audio-unmute-icon');\n const volumeSlider = audioElementContainer.querySelector('.kg-audio-volume-slider');\n const audio = audioElementContainer.querySelector('audio');\n const durationContainer = audioElementContainer.querySelector('.kg-audio-duration');\n const currentTimeContainer = audioElementContainer.querySelector('.kg-audio-current-time');\n let playbackRates = [\n {\n rate: 0.75,\n label: '0.7×',\n },\n {\n rate: 1.0,\n label: '1×',\n },\n {\n rate: 1.25,\n label: '1.2×',\n },\n {\n rate: 1.75,\n label: '1.7×',\n },\n {\n rate: 2.0,\n label: '2×',\n },\n ];\n\n let raf = null;\n let currentPlaybackRateIdx = 1;\n\n const whilePlaying = () => {\n seekSlider.value = Math.floor(audio.currentTime);\n currentTimeContainer.textContent = calculateTime(seekSlider.value);\n audioPlayerContainer.style.setProperty(\n '--seek-before-width',\n `${(seekSlider.value / seekSlider.max) * 100}%`,\n );\n raf = requestAnimationFrame(whilePlaying);\n };\n\n const showRangeProgress = (rangeInput) => {\n if (rangeInput === seekSlider) {\n audioPlayerContainer.style.setProperty(\n '--seek-before-width',\n (rangeInput.value / rangeInput.max) * 100 + '%',\n );\n } else {\n audioPlayerContainer.style.setProperty(\n '--volume-before-width',\n (rangeInput.value / rangeInput.max) * 100 + '%',\n );\n }\n };\n\n const calculateTime = (secs) => {\n const minutes = Math.floor(secs / 60);\n const seconds = Math.floor(secs % 60);\n const returnedSeconds = seconds < 10 ? `0${seconds}` : `${seconds}`;\n return `${minutes}:${returnedSeconds}`;\n };\n\n const displayDuration = () => {\n durationContainer.textContent = calculateTime(audio.duration);\n };\n\n const setSliderMax = () => {\n seekSlider.max = Math.floor(audio.duration);\n };\n\n const displayBufferedAmount = () => {\n if (audio.buffered.length > 0) {\n const bufferedAmount = Math.floor(audio.buffered.end(audio.buffered.length - 1));\n audioPlayerContainer.style.setProperty(\n '--buffered-width',\n `${(bufferedAmount / seekSlider.max) * 100}%`,\n );\n }\n };\n\n if (audio.readyState > 0) {\n displayDuration();\n setSliderMax();\n displayBufferedAmount();\n } else {\n audio.addEventListener('loadedmetadata', () => {\n displayDuration();\n setSliderMax();\n displayBufferedAmount();\n });\n }\n\n playIconContainer.addEventListener('click', () => {\n playIconContainer.classList.add('kg-audio-hide');\n pauseIconContainer.classList.remove('kg-audio-hide');\n audio.play();\n requestAnimationFrame(whilePlaying);\n });\n\n pauseIconContainer.addEventListener('click', () => {\n pauseIconContainer.classList.add('kg-audio-hide');\n playIconContainer.classList.remove('kg-audio-hide');\n audio.pause();\n cancelAnimationFrame(raf);\n });\n\n muteIconContainer.addEventListener('click', () => {\n muteIconContainer.classList.add('kg-audio-hide');\n unmuteIconContainer.classList.remove('kg-audio-hide');\n audio.muted = false;\n });\n\n unmuteIconContainer.addEventListener('click', () => {\n unmuteIconContainer.classList.add('kg-audio-hide');\n muteIconContainer.classList.remove('kg-audio-hide');\n audio.muted = true;\n });\n\n playbackRateContainer.addEventListener('click', () => {\n let nextPlaybackRate = playbackRates[(currentPlaybackRateIdx + 1) % 5];\n currentPlaybackRateIdx = currentPlaybackRateIdx + 1;\n audio.playbackRate = nextPlaybackRate.rate;\n playbackRateContainer.textContent = nextPlaybackRate.label;\n });\n\n audio.addEventListener('progress', displayBufferedAmount);\n\n seekSlider.addEventListener('input', (e) => {\n showRangeProgress(e.target);\n currentTimeContainer.textContent = calculateTime(seekSlider.value);\n if (!audio.paused) {\n cancelAnimationFrame(raf);\n }\n });\n\n seekSlider.addEventListener('change', () => {\n audio.currentTime = seekSlider.value;\n if (!audio.paused) {\n requestAnimationFrame(whilePlaying);\n }\n });\n\n volumeSlider.addEventListener('input', (e) => {\n const value = e.target.value;\n showRangeProgress(e.target);\n audio.volume = value / 100;\n });\n };\n\n const audioCardElements = document.querySelectorAll('.kg-audio-card');\n\n for (let i = 0; i < audioCardElements.length; i++) {\n handleAudioPlayer(audioCardElements[i]);\n }\n})();\n", je = /* @__PURE__ */ e({ default: () => Me }), Me = "(function () {\n const images = document.querySelectorAll('.kg-gallery-image img');\n images.forEach(function (image) {\n const container = image.closest('.kg-gallery-image');\n const width = image.attributes.width.value;\n const height = image.attributes.height.value;\n const ratio = width / height;\n container.style.flex = ratio + ' 1 0%';\n });\n})();\n", Ne = /* @__PURE__ */ e({ default: () => Pe }), Pe = "(function () {\n const toggleHeadingElements = document.getElementsByClassName('kg-toggle-heading');\n\n const toggleFn = function (event) {\n const targetElement = event.target;\n const parentElement = targetElement.closest('.kg-toggle-card');\n var toggleState = parentElement.getAttribute('data-kg-toggle-state');\n if (toggleState === 'close') {\n parentElement.setAttribute('data-kg-toggle-state', 'open');\n } else {\n parentElement.setAttribute('data-kg-toggle-state', 'close');\n }\n };\n\n for (let i = 0; i < toggleHeadingElements.length; i++) {\n toggleHeadingElements[i].addEventListener('click', toggleFn, false);\n }\n})();\n", Fe = /* @__PURE__ */ e({ default: () => Ie }), Ie = "(function () {\n const handleVideoPlayer = function (videoElementContainer) {\n const videoPlayer = videoElementContainer.querySelector('.kg-video-player');\n const videoPlayerContainer = videoElementContainer.querySelector('.kg-video-player-container');\n const playIconContainer = videoElementContainer.querySelector('.kg-video-play-icon');\n const pauseIconContainer = videoElementContainer.querySelector('.kg-video-pause-icon');\n const seekSlider = videoElementContainer.querySelector('.kg-video-seek-slider');\n const playbackRateContainer = videoElementContainer.querySelector('.kg-video-playback-rate');\n const muteIconContainer = videoElementContainer.querySelector('.kg-video-mute-icon');\n const unmuteIconContainer = videoElementContainer.querySelector('.kg-video-unmute-icon');\n const volumeSlider = videoElementContainer.querySelector('.kg-video-volume-slider');\n const videoEl = videoElementContainer.querySelector('video');\n const durationContainer = videoElementContainer.querySelector('.kg-video-duration');\n const currentTimeContainer = videoElementContainer.querySelector('.kg-video-current-time');\n const largePlayIcon = videoElementContainer.querySelector('.kg-video-large-play-icon');\n const videoOverlay = videoElementContainer.querySelector('.kg-video-overlay');\n let playbackRates = [\n {\n rate: 0.75,\n label: '0.7×',\n },\n {\n rate: 1.0,\n label: '1×',\n },\n {\n rate: 1.25,\n label: '1.2×',\n },\n {\n rate: 1.75,\n label: '1.7×',\n },\n {\n rate: 2.0,\n label: '2×',\n },\n ];\n\n let raf = null;\n let currentPlaybackRateIdx = 1;\n if (!!videoEl.loop) {\n largePlayIcon.classList.add('kg-video-hide-animated');\n videoOverlay.classList.add('kg-video-hide-animated');\n }\n const whilePlaying = () => {\n seekSlider.value = Math.floor(videoEl.currentTime);\n currentTimeContainer.textContent = calculateTime(seekSlider.value);\n videoPlayer.style.setProperty(\n '--seek-before-width',\n `${(seekSlider.value / seekSlider.max) * 100}%`,\n );\n raf = requestAnimationFrame(whilePlaying);\n };\n\n const showRangeProgress = (rangeInput) => {\n if (rangeInput === seekSlider) {\n videoPlayer.style.setProperty(\n '--seek-before-width',\n (rangeInput.value / rangeInput.max) * 100 + '%',\n );\n } else {\n videoPlayer.style.setProperty(\n '--volume-before-width',\n (rangeInput.value / rangeInput.max) * 100 + '%',\n );\n }\n };\n\n const calculateTime = (secs) => {\n const minutes = Math.floor(secs / 60);\n const seconds = Math.floor(secs % 60);\n const returnedSeconds = seconds < 10 ? `0${seconds}` : `${seconds}`;\n return `${minutes}:${returnedSeconds}`;\n };\n\n const displayDuration = () => {\n durationContainer.textContent = calculateTime(videoEl.duration);\n };\n\n const setSliderMax = () => {\n seekSlider.max = Math.floor(videoEl.duration);\n };\n\n const displayBufferedAmount = () => {\n if (videoEl.buffered.length > 0) {\n const bufferedAmount = Math.floor(videoEl.buffered.end(videoEl.buffered.length - 1));\n videoPlayer.style.setProperty(\n '--buffered-width',\n `${(bufferedAmount / seekSlider.max) * 100}%`,\n );\n }\n };\n\n if (videoEl.readyState > 0) {\n displayDuration();\n setSliderMax();\n displayBufferedAmount();\n if (videoEl.autoplay) {\n raf = requestAnimationFrame(whilePlaying);\n playIconContainer.classList.add('kg-video-hide');\n pauseIconContainer.classList.remove('kg-video-hide');\n }\n if (videoEl.muted) {\n unmuteIconContainer.classList.add('kg-video-hide');\n muteIconContainer.classList.remove('kg-video-hide');\n }\n } else {\n videoEl.addEventListener('loadedmetadata', () => {\n displayDuration();\n setSliderMax();\n displayBufferedAmount();\n if (videoEl.autoplay) {\n raf = requestAnimationFrame(whilePlaying);\n playIconContainer.classList.add('kg-video-hide');\n pauseIconContainer.classList.remove('kg-video-hide');\n }\n if (videoEl.muted) {\n unmuteIconContainer.classList.add('kg-video-hide');\n muteIconContainer.classList.remove('kg-video-hide');\n }\n });\n }\n\n videoElementContainer.onmouseover = () => {\n if (!videoEl.loop) {\n videoPlayerContainer.classList.remove('kg-video-hide-animated');\n }\n };\n\n videoElementContainer.onmouseleave = () => {\n const isPlaying = !!(\n videoEl.currentTime > 0 &&\n !videoEl.paused &&\n !videoEl.ended &&\n videoEl.readyState > 2\n );\n if (isPlaying) {\n videoPlayerContainer.classList.add('kg-video-hide-animated');\n }\n };\n\n videoElementContainer.addEventListener('click', () => {\n if (!videoEl.loop) {\n const isPlaying = !!(\n videoEl.currentTime > 0 &&\n !videoEl.paused &&\n !videoEl.ended &&\n videoEl.readyState > 2\n );\n if (isPlaying) {\n handleOnPause();\n } else {\n handleOnPlay();\n }\n }\n });\n\n videoEl.onplay = () => {\n largePlayIcon.classList.add('kg-video-hide-animated');\n videoOverlay.classList.add('kg-video-hide-animated');\n playIconContainer.classList.add('kg-video-hide');\n pauseIconContainer.classList.remove('kg-video-hide');\n };\n\n const handleOnPlay = () => {\n largePlayIcon.classList.add('kg-video-hide-animated');\n videoOverlay.classList.add('kg-video-hide-animated');\n playIconContainer.classList.add('kg-video-hide');\n pauseIconContainer.classList.remove('kg-video-hide');\n videoEl.play();\n raf = requestAnimationFrame(whilePlaying);\n };\n\n const handleOnPause = () => {\n pauseIconContainer.classList.add('kg-video-hide');\n playIconContainer.classList.remove('kg-video-hide');\n videoEl.pause();\n cancelAnimationFrame(raf);\n };\n\n largePlayIcon.addEventListener('click', (event) => {\n event.stopPropagation();\n handleOnPlay();\n });\n\n playIconContainer.addEventListener('click', (event) => {\n event.stopPropagation();\n handleOnPlay();\n });\n\n pauseIconContainer.addEventListener('click', (event) => {\n event.stopPropagation();\n handleOnPause();\n });\n\n muteIconContainer.addEventListener('click', (event) => {\n event.stopPropagation();\n muteIconContainer.classList.add('kg-video-hide');\n unmuteIconContainer.classList.remove('kg-video-hide');\n videoEl.muted = false;\n });\n\n unmuteIconContainer.addEventListener('click', (event) => {\n event.stopPropagation();\n unmuteIconContainer.classList.add('kg-video-hide');\n muteIconContainer.classList.remove('kg-video-hide');\n videoEl.muted = true;\n });\n\n playbackRateContainer.addEventListener('click', (event) => {\n event.stopPropagation();\n let nextPlaybackRate = playbackRates[(currentPlaybackRateIdx + 1) % 5];\n currentPlaybackRateIdx = currentPlaybackRateIdx + 1;\n videoEl.playbackRate = nextPlaybackRate.rate;\n playbackRateContainer.textContent = nextPlaybackRate.label;\n });\n\n videoEl.addEventListener('progress', displayBufferedAmount);\n\n seekSlider.addEventListener('input', (e) => {\n e.stopPropagation();\n showRangeProgress(e.target);\n currentTimeContainer.textContent = calculateTime(seekSlider.value);\n if (!videoEl.paused) {\n cancelAnimationFrame(raf);\n }\n });\n\n seekSlider.addEventListener('change', (event) => {\n event.stopPropagation();\n videoEl.currentTime = seekSlider.value;\n if (!videoEl.paused) {\n requestAnimationFrame(whilePlaying);\n }\n });\n\n volumeSlider.addEventListener('click', (event) => {\n event.stopPropagation();\n });\n\n seekSlider.addEventListener('click', (event) => {\n event.stopPropagation();\n });\n\n volumeSlider.addEventListener('input', (e) => {\n e.stopPropagation();\n const value = e.target.value;\n showRangeProgress(e.target);\n videoEl.volume = value / 100;\n });\n };\n\n const setVideoContainerAspectRatio = function (videoCard) {\n const container = videoCard.querySelector('.kg-video-container');\n const video = container.querySelector('video');\n if (container && video.width && video.height) {\n const aspectRatio = ((video.height / video.width) * 100).toFixed(3);\n container.style.paddingBottom = `${aspectRatio}%`;\n }\n };\n\n const videoCardElements = document.querySelectorAll('.kg-video-card');\n\n for (let i = 0; i < videoCardElements.length; i++) {\n setVideoContainerAspectRatio(videoCardElements[i]);\n handleVideoPlayer(videoCardElements[i]);\n }\n})();\n", Le = /* @__PURE__ */ e({ default: () => Re }), Re = ".kg-audio-card,\n.kg-audio-card * {\n box-sizing: border-box;\n}\n\n.kg-audio-card {\n display: flex;\n width: 100%;\n min-height: 96px;\n border-radius: 6px;\n padding: 4px;\n background: #fff;\n color: #222;\n box-shadow: inset 0 0 0 1px rgba(124, 139, 154, 0.25);\n font-family:\n -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell',\n 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;\n}\n\n.kg-audio-card + .kg-audio-card {\n margin-top: 1em;\n}\n\n.kg-audio-thumbnail {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 80px;\n min-width: 80px;\n margin: 8px;\n background: transparent;\n object-fit: cover;\n aspect-ratio: 1/1;\n border-radius: 3px;\n}\n\n.kg-audio-thumbnail.placeholder {\n background: var(--ghost-accent-color);\n}\n\n.kg-audio-thumbnail.placeholder svg {\n width: 24px;\n height: 24px;\n fill: white;\n}\n\n.kg-audio-player-container {\n position: relative;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n width: 100%;\n --seek-before-width: 0%;\n --volume-before-width: 100%;\n --buffered-width: 0%;\n}\n\n.kg-audio-title {\n width: 100%;\n margin: 8px 0 0 0;\n padding: 8px 12px;\n border: none;\n font-family: inherit;\n font-size: 16px;\n font-weight: 600;\n line-height: 1.15em;\n background: transparent;\n}\n\n.kg-audio-player {\n display: flex;\n flex-grow: 1;\n align-items: center;\n padding: 8px 12px;\n}\n\n.kg-audio-current-time {\n min-width: 38px;\n padding: 0 4px;\n font-family: inherit;\n font-size: 12.5px;\n font-weight: 500;\n line-height: 1em;\n white-space: nowrap;\n}\n\n.kg-audio-time {\n width: 56px;\n color: #ababab;\n font-family: inherit;\n font-size: 12.5px;\n font-weight: 500;\n line-height: 1em;\n white-space: nowrap;\n}\n\n.kg-audio-duration {\n padding: 0 4px;\n}\n\n.kg-audio-play-icon,\n.kg-audio-pause-icon {\n position: relative;\n bottom: 1px;\n padding: 0px 4px 0 0;\n font-size: 0;\n background: transparent;\n}\n\n.kg-audio-hide {\n display: none !important;\n}\n\n.kg-audio-play-icon svg,\n.kg-audio-pause-icon svg {\n width: 14px;\n height: 14px;\n fill: currentColor;\n}\n\n.kg-audio-seek-slider {\n flex-grow: 1;\n margin: 0 4px;\n}\n\n@media (max-width: 640px) {\n .kg-audio-seek-slider {\n display: none;\n }\n}\n\n.kg-audio-playback-rate {\n min-width: 37px;\n padding: 0 4px;\n font-family: inherit;\n font-size: 12.5px;\n font-weight: 600;\n line-height: 1em;\n text-align: left;\n background: transparent;\n white-space: nowrap;\n}\n\n@media (max-width: 640px) {\n .kg-audio-playback-rate {\n padding-left: 8px;\n }\n}\n\n.kg-audio-mute-icon,\n.kg-audio-unmute-icon {\n position: relative;\n bottom: -1px;\n padding: 0 4px;\n font-size: 0;\n background: transparent;\n}\n\n@media (max-width: 640px) {\n .kg-audio-mute-icon,\n .kg-audio-unmute-icon {\n margin-left: auto;\n }\n}\n\n.kg-audio-mute-icon svg,\n.kg-audio-unmute-icon svg {\n width: 16px;\n height: 16px;\n fill: currentColor;\n}\n\n.kg-audio-volume-slider {\n width: 80px;\n}\n\n@media (max-width: 400px) {\n .kg-audio-volume-slider {\n display: none;\n }\n}\n\n.kg-audio-seek-slider::before {\n content: '';\n position: absolute;\n left: 0;\n width: var(--seek-before-width) !important;\n height: 4px;\n cursor: pointer;\n background-color: currentColor;\n border-radius: 2px;\n}\n\n.kg-audio-volume-slider::before {\n content: '';\n position: absolute;\n left: 0;\n width: var(--volume-before-width) !important;\n height: 4px;\n cursor: pointer;\n background-color: currentColor;\n border-radius: 2px;\n}\n\n/* Resetting browser styles\n/* --------------------------------------------------------------- */\n\n.kg-audio-player-container input[type='range'] {\n position: relative;\n -webkit-appearance: none;\n background: transparent;\n}\n\n.kg-audio-player-container input[type='range']:focus {\n outline: none;\n}\n\n.kg-audio-player-container input[type='range']::-webkit-slider-thumb {\n -webkit-appearance: none;\n}\n\n.kg-audio-player-container input[type='range']::-ms-track {\n cursor: pointer;\n border-color: transparent;\n color: transparent;\n background: transparent;\n}\n\n.kg-audio-player-container button {\n display: flex;\n align-items: center;\n border: 0;\n cursor: pointer;\n}\n\n.kg-audio-player-container input[type='range'] {\n height: auto;\n padding: 0;\n border: 0;\n}\n\n/* Chrome & Safari styles\n/* --------------------------------------------------------------- */\n\n.kg-audio-player-container input[type='range']::-webkit-slider-runnable-track {\n width: 100%;\n height: 4px;\n cursor: pointer;\n background: rgba(124, 139, 154, 0.25);\n border-radius: 2px;\n}\n\n.kg-audio-player-container input[type='range']::-webkit-slider-thumb {\n position: relative;\n box-sizing: content-box;\n width: 13px;\n height: 13px;\n margin: -5px 0 0 0;\n border: 0;\n cursor: pointer;\n background: #fff;\n border-radius: 50%;\n box-shadow:\n 0 0 0 1px rgba(0, 0, 0, 0.08),\n 0 1px 4px rgba(0, 0, 0, 0.24);\n}\n\n.kg-audio-player-container input[type='range']:active::-webkit-slider-thumb {\n transform: scale(1.2);\n}\n\n/* Firefox styles\n/* --------------------------------------------------------------- */\n\n.kg-audio-player-container input[type='range']::-moz-range-track {\n width: 100%;\n height: 4px;\n cursor: pointer;\n background: rgba(124, 139, 154, 0.25);\n border-radius: 2px;\n}\n\n.kg-audio-player-container input[type='range']::-moz-range-progress {\n background: currentColor;\n border-radius: 2px;\n}\n\n.kg-audio-player-container input[type='range']::-moz-range-thumb {\n box-sizing: content-box;\n width: 13px;\n height: 13px;\n border: 0;\n cursor: pointer;\n background: #fff;\n border-radius: 50%;\n box-shadow:\n 0 0 0 1px rgba(0, 0, 0, 0.08),\n 0 1px 4px rgba(0, 0, 0, 0.24);\n}\n\n.kg-audio-player-container input[type='range']:active::-moz-range-thumb {\n transform: scale(1.2);\n}\n\n/* Edge & IE styles\n/* --------------------------------------------------------------- */\n\n.kg-audio-player-container input[type='range']::-ms-track {\n width: 100%;\n height: 3px;\n border: solid transparent;\n color: transparent;\n cursor: pointer;\n background: transparent;\n}\n\n.kg-audio-player-container input[type='range']::-ms-fill-lower {\n background: #fff;\n}\n\n.kg-audio-player-container input[type='range']::-ms-fill-upper {\n background: currentColor;\n}\n\n.kg-audio-player-container input[type='range']::-ms-thumb {\n box-sizing: content-box;\n width: 13px;\n height: 13px;\n border: 0;\n cursor: pointer;\n background: #fff;\n border-radius: 50%;\n box-shadow:\n 0 0 0 1px rgba(0, 0, 0, 0.08),\n 0 1px 4px rgba(0, 0, 0, 0.24);\n}\n\n.kg-audio-player-container input[type='range']:active::-ms-thumb {\n transform: scale(1.2);\n}\n", ze = /* @__PURE__ */ e({ default: () => J }), J = ".kg-blockquote-alt {\n font-size: 1.5em;\n font-style: italic;\n line-height: 1.7em;\n text-align: center;\n padding: 0 2.5em;\n}\n\n@media (max-width: 800px) {\n .kg-blockquote-alt {\n font-size: 1.4em;\n padding-left: 2em;\n padding-right: 2em;\n }\n}\n\n@media (max-width: 600px) {\n .kg-blockquote-alt {\n font-size: 1.2em;\n padding-left: 1.75em;\n padding-right: 1.75em;\n }\n}\n", Be = /* @__PURE__ */ e({ default: () => Ve }), Ve = ".kg-bookmark-card,\n.kg-bookmark-card * {\n box-sizing: border-box;\n}\n\n.kg-bookmark-card,\n.kg-bookmark-publisher {\n position: relative;\n /* width: 100%; */\n}\n\n.kg-bookmark-card a.kg-bookmark-container,\n.kg-bookmark-card a.kg-bookmark-container:hover {\n display: flex;\n background: #fff;\n text-decoration: none;\n border-radius: 6px;\n border: 1px solid rgb(124 139 154 / 25%);\n overflow: hidden;\n color: #222;\n}\n\n.kg-bookmark-content {\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n flex-basis: 100%;\n align-items: flex-start;\n justify-content: flex-start;\n padding: 20px;\n overflow: hidden;\n font-family:\n -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell',\n 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;\n}\n\n.kg-bookmark-title {\n font-size: 15px;\n line-height: 1.4em;\n font-weight: 600;\n}\n\n.kg-bookmark-description {\n display: -webkit-box;\n font-size: 14px;\n line-height: 1.5em;\n margin-top: 3px;\n font-weight: 400;\n max-height: 44px;\n overflow-y: hidden;\n opacity: 0.7;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n}\n\n.kg-bookmark-metadata {\n display: flex;\n align-items: center;\n margin-top: 22px;\n width: 100%;\n font-size: 14px;\n font-weight: 500;\n white-space: nowrap;\n}\n\n.kg-bookmark-metadata > *:not(img) {\n opacity: 0.7;\n}\n\n.kg-bookmark-icon {\n width: 20px;\n height: 20px;\n margin-right: 6px;\n}\n\n.kg-bookmark-author,\n.kg-bookmark-publisher {\n display: inline;\n}\n\n.kg-bookmark-publisher {\n text-overflow: ellipsis;\n overflow: hidden;\n max-width: 240px;\n white-space: nowrap;\n display: block;\n line-height: 1.65em;\n}\n\n.kg-bookmark-metadata > span:nth-of-type(2) {\n font-weight: 400;\n}\n\n.kg-bookmark-metadata > span:nth-of-type(2):before {\n content: '•';\n margin: 0 6px;\n}\n\n.kg-bookmark-metadata > span:last-of-type {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.kg-bookmark-thumbnail {\n position: relative;\n flex-grow: 1;\n min-width: 33%;\n}\n\n.kg-bookmark-thumbnail img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n position: absolute;\n top: 0;\n left: 0;\n border-radius: 0 2px 2px 0;\n}\n", Y = /* @__PURE__ */ e({ default: () => He }), He = ".kg-button-card,\n.kg-button-card * {\n box-sizing: border-box;\n}\n\n.kg-button-card {\n display: flex;\n position: static;\n align-items: center;\n width: 100%;\n justify-content: center;\n}\n\n.kg-button-card.kg-align-left {\n justify-content: flex-start;\n}\n\n.kg-button-card a.kg-btn {\n display: flex;\n position: static;\n align-items: center;\n padding: 0 1.2em;\n height: 2.4em;\n line-height: 1em;\n font-family:\n -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell',\n 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;\n font-size: 0.95em;\n font-weight: 600;\n text-decoration: none;\n border-radius: 5px;\n transition: opacity 0.2s ease-in-out;\n}\n\n.kg-button-card a.kg-btn:hover {\n opacity: 0.85;\n}\n\n.kg-button-card a.kg-btn-accent {\n background-color: var(--ghost-accent-color);\n color: #fff;\n}\n", Ue = /* @__PURE__ */ e({ default: () => X }), X = ".kg-callout-card,\n.kg-callout-card * {\n box-sizing: border-box;\n}\n\n.kg-callout-card {\n display: flex;\n padding: 1.2em 1.6em;\n border-radius: 8px;\n}\n\n.kg-callout-card-grey {\n background: rgba(124, 139, 154, 0.13);\n}\n\n.kg-callout-card-white {\n background: transparent;\n box-shadow: inset 0 0 0 1px rgba(124, 139, 154, 0.2);\n}\n\n.kg-callout-card-blue {\n background: rgba(33, 172, 232, 0.12);\n}\n\n.kg-callout-card-green {\n background: rgba(52, 183, 67, 0.12);\n}\n\n.kg-callout-card-yellow {\n background: rgba(240, 165, 15, 0.13);\n}\n\n.kg-callout-card-red {\n background: rgba(209, 46, 46, 0.11);\n}\n\n.kg-callout-card-pink {\n background: rgba(225, 71, 174, 0.11);\n}\n\n.kg-callout-card-purple {\n background: rgba(135, 85, 236, 0.12);\n}\n\n.kg-callout-card-accent {\n background: var(--ghost-accent-color);\n color: #fff;\n}\n\n.kg-callout-card.kg-callout-card-accent a {\n color: #fff;\n text-decoration: underline;\n}\n\n.kg-callout-card div.kg-callout-emoji {\n padding-right: 0.8em;\n line-height: 1.25em;\n font-size: 1.15em;\n}\n\n.kg-callout-card div.kg-callout-text {\n font-size: 0.95em;\n line-height: 1.5em;\n}\n\n.kg-callout-card + .kg-callout-card {\n margin-top: 1em;\n}\n", We = /* @__PURE__ */ e({ default: () => Ge }), Ge = ".kg-collection-card {\n width: 100%;\n margin-top: 6vmin;\n}\n\n.kg-collection-card + * {\n margin-top: 6vmin;\n}\n\n.kg-collection-card-title {\n margin: 0.8rem 0 1.6rem 0;\n font-size: 1.5rem;\n font-weight: 700;\n text-transform: uppercase;\n}\n\na.kg-collection-card-post-wrapper {\n text-decoration: none;\n color: var(--text-color);\n}\n\na.kg-collection-card-post-wrapper:hover {\n opacity: 1;\n}\n\n.kg-collection-card-post {\n display: flex;\n gap: 3.2rem;\n}\n\n.kg-collection-card-img {\n position: relative;\n aspect-ratio: 3/2;\n}\n\n.kg-collection-card-img img {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n\na.kg-collection-card-post-wrapper:hover img {\n opacity: 0.92;\n transition: all 0.2s ease;\n}\n\n.kg-collection-card-content {\n display: flex;\n flex-direction: column;\n font-size: 1.6rem;\n}\n\nh2.kg-collection-card-post-title {\n margin: 0;\n font-size: 2.4rem;\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n}\n\np.kg-collection-card-post-excerpt {\n margin-top: 1.2rem;\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n line-height: 1.4;\n}\n\n.kg-collection-card-post-meta {\n display: flex;\n opacity: 0.5;\n margin-top: 1.2rem;\n font-size: 1.3rem;\n font-weight: 500;\n}\n\n/* List layout */\n\n.kg-collection-card-list {\n display: flex;\n flex-direction: column;\n gap: 3.2rem;\n}\n\n@media (max-width: 767px) {\n .kg-collection-card-list .kg-collection-card-post {\n flex-direction: column;\n }\n}\n\n.kg-collection-card-list .kg-collection-card-img {\n flex: 0 0 30%;\n}\n\n/* Grid layout */\n\n.kg-collection-card-grid {\n display: grid;\n grid-template-columns: repeat(1, minmax(0, 1fr));\n gap: 2.4rem;\n}\n\n@media (min-width: 640px) {\n .kg-collection-card-grid:not(.columns-1) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n}\n\n@media (min-width: 1024px) {\n .kg-collection-card-grid:not(.columns-1):not(.columns-2) {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n gap: 3.2rem;\n }\n\n .kg-collection-card-grid.columns-1 {\n gap: 4.8rem;\n }\n\n .kg-collection-card-grid.columns-2 {\n gap: 4rem;\n }\n}\n\n@media (min-width: 1280px) {\n .kg-collection-card-grid:not(.columns-1):not(.columns-2):not(.columns-3) {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n }\n}\n\n.kg-collection-card-grid .kg-collection-card-post {\n flex-direction: column;\n gap: 1.2rem;\n}\n\n@media (min-width: 1024px) {\n .kg-collection-card-grid.columns-1 .kg-collection-card-post {\n gap: 2rem;\n }\n\n .kg-collection-card-grid.columns-2 .kg-collection-card-post {\n gap: 1.6rem;\n }\n}\n\n.kg-collection-card-grid.columns-1 .kg-collection-card-img,\n.kg-collection-card-grid.columns-2 .kg-collection-card-img {\n aspect-ratio: 16/9;\n}\n\n.kg-collection-card-grid .kg-collection-card-content {\n font-size: 1.5rem;\n}\n\n@media (min-width: 640px) {\n .kg-collection-card-grid .kg-collection-card-content {\n font-size: 1.6rem;\n }\n}\n\n@media (min-width: 1024px) {\n .kg-collection-card-grid.columns-1 .kg-collection-card-content {\n font-size: 1.8rem;\n }\n\n .kg-collection-card-grid.columns-3 .kg-collection-card-content,\n .kg-collection-card-grid.columns-4 .kg-collection-card-content {\n font-size: 1.5rem;\n }\n}\n\n.kg-collection-card-grid h2.kg-collection-card-post-title {\n font-size: 1.7rem;\n}\n\n.kg-collection-card-grid .kg-collection-card-post-meta {\n font-size: 1.25rem;\n}\n\n@media (min-width: 640px) {\n .kg-collection-card-grid h2.kg-collection-card-post-title {\n font-size: 1.9rem;\n }\n\n .kg-collection-card-grid.columns-1 h2.kg-collection-card-post-title {\n font-size: 2.4rem;\n }\n\n .kg-collection-card-grid:not(.columns-3):not(.columns-4) .kg-collection-card-post-meta {\n font-size: 1.3rem;\n }\n}\n\n@media (min-width: 1024px) {\n .kg-collection-card-grid.columns-1 h2.kg-collection-card-post-title {\n font-size: 3.6rem;\n }\n\n .kg-collection-card-grid.columns-2 h2.kg-collection-card-post-title {\n font-size: 2.4rem;\n }\n\n .kg-collection-card-grid.columns-1 .kg-collection-card-post-meta {\n font-size: 1.4rem;\n }\n}\n\n@media (min-width: 1280px) {\n .kg-collection-card-grid.columns-4 h2.kg-collection-card-post-title {\n font-size: 1.7rem;\n }\n}\n", Ke = /* @__PURE__ */ e({ default: () => Z }), Z = ".kg-cta-card,\n.kg-cta-card * {\n box-sizing: border-box;\n}\n\n.kg-cta-card {\n display: flex;\n flex-direction: column;\n border-radius: 8px;\n}\n\n.kg-cta-bg-grey {\n background: rgba(151, 163, 175, 0.14);\n}\n\n.kg-cta-bg-white {\n background: transparent;\n box-shadow: inset 0 0 0 1px rgba(124, 139, 154, 0.2);\n}\n\n.kg-cta-bg-blue {\n background: rgba(33, 172, 232, 0.12);\n}\n\n.kg-cta-bg-green {\n background: rgba(52, 183, 67, 0.12);\n}\n\n.kg-cta-bg-yellow {\n background: rgba(240, 165, 15, 0.13);\n}\n\n.kg-cta-bg-red {\n background: rgba(209, 46, 46, 0.11);\n}\n\n.kg-cta-bg-pink {\n background: rgba(225, 71, 174, 0.11);\n}\n\n.kg-cta-bg-purple {\n background: rgba(135, 85, 236, 0.12);\n}\n\n.kg-cta-sponsor-label-wrapper {\n margin: 0 1.5em;\n padding: 0.7em 0;\n border-bottom: 1px solid rgba(124, 139, 154, 0.2);\n}\n\n@media (max-width: 600px) {\n .kg-cta-sponsor-label-wrapper {\n margin: 0 1.25em;\n padding: 0.5em 0;\n }\n}\n\n.kg-cta-bg-none .kg-cta-sponsor-label-wrapper {\n margin: 0;\n padding-top: 0;\n}\n\n.kg-cta-has-img\n .kg-cta-sponsor-label-wrapper:not(.kg-cta-bg-none .kg-cta-sponsor-label-wrapper):not(\n .kg-cta-minimal .kg-cta-sponsor-label-wrapper\n ),\n.kg-cta-bg-none.kg-cta-no-dividers .kg-cta-sponsor-label-wrapper {\n border-bottom: 0;\n}\n\n.kg-cta-sponsor-label {\n font-family:\n -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell',\n 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;\n font-size: 12px;\n font-weight: 600;\n text-transform: uppercase;\n text-wrap: pretty;\n}\n\n.kg-cta-sponsor-label span:not(a span) {\n color: color-mix(in srgb, currentColor 45%, transparent);\n}\n\n.kg-cta-sponsor-label a,\n.kg-cta-sponsor-label a span {\n color: currentColor;\n transition: opacity 0.15s ease-in-out;\n}\n\n.kg-cta-sponsor-label a:hover,\n.kg-cta-sponsor-label a:hover span {\n color: currentColor;\n opacity: 0.85;\n}\n\n.kg-cta-link-accent .kg-cta-sponsor-label a {\n color: var(--ghost-accent-color);\n}\n\n.kg-cta-content {\n display: flex;\n padding: 1.5em;\n gap: 1.5em;\n}\n\n@media (max-width: 600px) {\n .kg-cta-content {\n padding: 1.25em;\n gap: 1.25em;\n }\n}\n\n.kg-cta-has-img\n .kg-cta-sponsor-label-wrapper\n + .kg-cta-content:not(.kg-cta-bg-none .kg-cta-content):not(.kg-cta-minimal .kg-cta-content) {\n padding-top: 0;\n}\n\n.kg-cta-bg-none .kg-cta-content {\n padding: 1.5em 0;\n border-bottom: 1px solid rgba(124, 139, 154, 0.2);\n}\n\n.kg-cta-bg-none.kg-cta-no-dividers .kg-cta-content {\n padding: 0;\n border-bottom: none;\n}\n\n.kg-cta-bg-none:not(.kg-cta-no-dividers)\n .kg-cta-content:not(.kg-cta-sponsor-label-wrapper + .kg-cta-content) {\n border-top: 1px solid rgba(124, 139, 154, 0.2);\n}\n\n@media (max-width: 600px) {\n .kg-cta-bg-none .kg-cta-content {\n padding: 1.25em 0;\n }\n}\n\n.kg-cta-minimal .kg-cta-content {\n flex-direction: row;\n}\n\n@media (max-width: 600px) {\n .kg-cta-minimal .kg-cta-content {\n flex-direction: column;\n gap: 1.6rem;\n }\n}\n\n.kg-cta-immersive .kg-cta-content {\n flex-direction: column;\n}\n\n.kg-cta-content-inner {\n display: flex;\n flex-direction: column;\n gap: 1.5em;\n}\n\n@media (max-width: 600px) {\n .kg-cta-content-inner {\n gap: 1.25em;\n }\n}\n\n.kg-cta-immersive.kg-cta-centered .kg-cta-content-inner {\n align-items: center;\n}\n\n.kg-cta-image-container {\n flex-shrink: 0;\n}\n\n.kg-cta-image-container img {\n width: 100%;\n height: auto;\n margin: 0;\n object-fit: cover;\n border-radius: 6px;\n}\n\n.kg-cta-minimal .kg-cta-image-container img {\n width: 64px;\n height: 64px;\n}\n\n@media (max-width: 600px) {\n .kg-cta-minimal .kg-cta-image-container img {\n width: 52px;\n height: 52px;\n }\n}\n\n.kg-cta-text p {\n margin: 0;\n line-height: 1.5em;\n text-wrap: pretty;\n}\n\n.kg-cta-bg-none .kg-cta-text p {\n line-height: unset;\n}\n\n.kg-cta-immersive.kg-cta-centered .kg-cta-text {\n text-align: center;\n}\n\n.kg-cta-text p + p {\n margin-top: 1.25em;\n}\n\n.kg-cta-text a {\n color: currentColor;\n transition: opacity 0.15s ease-in-out;\n}\n\n.kg-cta-text a:hover {\n color: currentColor;\n opacity: 0.85;\n}\n\n.kg-cta-link-accent .kg-cta-text a {\n color: var(--ghost-accent-color);\n}\n\na.kg-cta-button {\n display: flex;\n position: static;\n align-items: center;\n justify-content: center;\n padding: 0 1em;\n height: 2.5em;\n font-family:\n -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell',\n 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;\n font-size: 0.95em;\n font-weight: 500;\n line-height: 1.65;\n text-decoration: none;\n border-radius: 6px;\n transition: opacity 0.15s ease-in-out;\n}\n\na.kg-cta-button:hover {\n opacity: 0.85;\n}\n\na.kg-cta-button.kg-style-accent {\n background-color: var(--ghost-accent-color);\n}\n\na.kg-cta-button {\n width: max-content;\n}\n\n.kg-cta-immersive.kg-cta-has-img a.kg-cta-button {\n width: 100%;\n}\n", qe = /* @__PURE__ */ e({ default: () => Je }), Je = ".kg-file-card,\n.kg-file-card * {\n box-sizing: border-box;\n}\n\n.kg-file-card {\n display: flex;\n}\n\n.kg-file-card a.kg-file-card-container {\n display: flex;\n align-items: stretch;\n justify-content: space-between;\n color: inherit;\n padding: 12px;\n min-height: 92px;\n background: #fff;\n color: #222;\n border: 1px solid rgb(124 139 154 / 25%);\n border-radius: 5px;\n transition: all ease-in-out 0.35s;\n text-decoration: none;\n width: 100%;\n font-family:\n -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell',\n 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;\n}\n\n.kg-file-card a.kg-file-card-container:hover {\n border: 1px solid rgb(124 139 154 / 35%);\n}\n\n.kg-file-card-contents {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n margin: 4px 8px;\n width: 100%;\n}\n\n.kg-file-card-title {\n font-size: 16px;\n font-weight: 600;\n line-height: 1.3em;\n}\n\n.kg-file-card-caption {\n font-size: 14px;\n line-height: 1.3em;\n opacity: 0.7;\n}\n\n.kg-file-card-title + .kg-file-card-caption {\n flex-grow: 1;\n margin-top: 3px;\n}\n\n.kg-file-card-metadata {\n display: inline;\n font-size: 14px;\n line-height: 1.3em;\n margin-top: 5px;\n}\n\n.kg-file-card-filename {\n display: inline;\n font-weight: 500;\n}\n\n.kg-file-card-filesize {\n display: inline-block;\n font-size: 14px;\n opacity: 0.6;\n}\n\n.kg-file-card-filesize:before {\n display: inline-block;\n content: '\\2022';\n margin-left: 6px;\n margin-right: 6px;\n}\n\n.kg-file-card-icon {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 80px;\n min-width: 80px;\n height: 100%;\n min-height: 80px;\n}\n\n.kg-file-card-icon:before {\n position: absolute;\n display: block;\n content: '';\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: currentColor;\n opacity: 0.06;\n transition: opacity ease-in-out 0.35s;\n border-radius: 3px;\n}\n\n.kg-file-card a.kg-file-card-container:hover .kg-file-card-icon:before {\n opacity: 0.08;\n}\n\n.kg-file-card-icon svg {\n width: 24px;\n height: 24px;\n color: var(--ghost-accent-color);\n}\n\n/* Size variations */\n.kg-file-card-medium a.kg-file-card-container {\n min-height: 72px;\n}\n\n.kg-file-card-medium .kg-file-card-caption {\n opacity: 1;\n font-weight: 500;\n}\n\n.kg-file-card-small a.kg-file-card-container {\n align-items: center;\n min-height: 52px;\n}\n\n.kg-file-card-small .kg-file-card-metadata {\n font-size: 14px;\n margin-top: 0;\n}\n\n.kg-file-card-small .kg-file-card-icon svg {\n width: 20px;\n height: 20px;\n}\n\n.kg-file-card + .kg-file-card {\n margin-top: 1em;\n}\n", Ye = /* @__PURE__ */ e({ default: () => Q }), Q = ".kg-gallery-card,\n.kg-gallery-card * {\n box-sizing: border-box;\n}\n\n.kg-gallery-card,\n.kg-image-card {\n --gap: 1.2rem;\n}\n\n.kg-image-card:not(.kg-card-hascaption) + .kg-image-card,\n.kg-image-card:not(.kg-card-hascaption) + .kg-gallery-card,\n.kg-gallery-card:not(.kg-card-hascaption) + .kg-image-card,\n.kg-gallery-card:not(.kg-card-hascaption) + .kg-gallery-card {\n margin-top: var(--gap);\n}\n\n.kg-gallery-container {\n position: relative;\n}\n\n.kg-gallery-row {\n display: flex;\n flex-direction: row;\n justify-content: center;\n}\n\n.kg-gallery-image img {\n display: block;\n margin: 0;\n width: 100%;\n height: 100%;\n}\n\n.kg-gallery-row:not(:first-of-type) {\n margin: var(--gap) 0 0;\n}\n\n.kg-gallery-image:not(:first-of-type) {\n margin: 0 0 0 var(--gap);\n}\n\n@media (max-width: 600px) {\n .kg-gallery-card,\n .kg-image-card {\n --gap: 0.6rem;\n }\n}\n", Xe = /* @__PURE__ */ e({ default: () => Ze }), Ze = ".kg-header-card,\n.kg-header-card * {\n box-sizing: border-box;\n}\n\n.kg-header-card {\n padding: 12vmin 4em;\n min-height: 60vh;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n text-align: center;\n}\n\n.kg-header-card.kg-size-small {\n padding-top: 14vmin;\n padding-bottom: 14vmin;\n min-height: 40vh;\n}\n\n.kg-header-card.kg-size-large {\n padding-top: 18vmin;\n padding-bottom: 18vmin;\n min-height: 80vh;\n}\n\n.kg-header-card.kg-align-left {\n text-align: left;\n align-items: flex-start;\n}\n\n.kg-header-card.kg-style-dark {\n background: #151515;\n color: #ffffff;\n}\n\n.kg-header-card.kg-style-light {\n background-color: #fafafa;\n}\n\n.kg-header-card.kg-style-accent {\n background-color: var(--ghost-accent-color);\n}\n\n.kg-header-card.kg-style-image {\n position: relative;\n background-color: #e7e7e7;\n background-size: cover;\n background-position: center;\n}\n\n.kg-header-card.kg-style-image::before {\n position: absolute;\n display: block;\n content: '';\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: linear-gradient(0deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.2));\n}\n\n.kg-header-card h2.kg-header-card-header {\n font-size: 5em;\n font-weight: 700;\n line-height: 1.1em;\n letter-spacing: -0.01em;\n margin: 0;\n}\n\n.kg-header-card h2.kg-header-card-header strong {\n font-weight: 800;\n}\n\n.kg-header-card.kg-size-small h2.kg-header-card-header {\n font-size: 4em;\n}\n\n.kg-header-card.kg-size-large h2.kg-header-card-header {\n font-size: 6em;\n}\n\n.kg-header-card h3.kg-header-card-subheader {\n font-size: 1.5em;\n font-weight: 500;\n line-height: 1.4em;\n margin: 0;\n max-width: 40em;\n}\n\n.kg-header-card h2 + h3.kg-header-card-subheader {\n margin: 0.35em 0 0;\n}\n\n.kg-header-card h3.kg-header-card-subheader strong {\n font-weight: 600;\n}\n\n.kg-header-card.kg-size-small h3.kg-header-card-subheader {\n font-size: 1.25em;\n}\n\n.kg-header-card.kg-size-large h3.kg-header-card-subheader {\n font-size: 1.75em;\n}\n\n.kg-header-card:not(.kg-style-light) h2.kg-header-card-header,\n.kg-header-card:not(.kg-style-light) h3.kg-header-card-subheader {\n color: #ffffff;\n}\n\n.kg-header-card.kg-style-accent h3.kg-header-card-subheader,\n.kg-header-card.kg-style-image h3.kg-header-card-subheader {\n opacity: 1;\n}\n\n.kg-header-card.kg-style-image h2.kg-header-card-header,\n.kg-header-card.kg-style-image h3.kg-header-card-subheader,\n.kg-header-card.kg-style-image a.kg-header-card-button {\n z-index: 999;\n}\n\n.kg-header-card h2.kg-header-card-header a,\n.kg-header-card h3.kg-header-card-subheader a {\n color: var(--ghost-accent-color);\n}\n\n.kg-header-card.kg-style-accent h2.kg-header-card-header a,\n.kg-header-card.kg-style-accent h3.kg-header-card-subheader a,\n.kg-header-card.kg-style-image h2.kg-header-card-header a,\n.kg-header-card.kg-style-image h3.kg-header-card-subheader a {\n color: #fff;\n}\n\n.kg-header-card a.kg-header-card-button {\n display: flex;\n position: static;\n align-items: center;\n fill: #fff;\n background: #fff;\n border-radius: 3px;\n outline: none;\n font-family:\n -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell',\n 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;\n font-size: 1.05em;\n font-weight: 600;\n line-height: 1em;\n text-align: center;\n text-decoration: none;\n letter-spacing: 0.2px;\n white-space: nowrap;\n text-overflow: ellipsis;\n color: #151515;\n height: 2.7em;\n padding: 0 1.2em;\n transition: opacity 0.2s ease;\n}\n\n.kg-header-card h2 + a.kg-header-card-button,\n.kg-header-card h3 + a.kg-header-card-button {\n margin: 1.75em 0 0;\n}\n\n.kg-header-card a.kg-header-card-button:hover {\n opacity: 0.85;\n}\n\n.kg-header-card.kg-size-large a.kg-header-card-button {\n font-size: 1.1em;\n height: 2.9em;\n}\n\n.kg-header-card.kg-size-large h2 + a.kg-header-card-button,\n.kg-header-card.kg-size-large h3 + a.kg-header-card-button {\n margin-top: 2em;\n}\n\n.kg-header-card.kg-size-small a.kg-header-card-button {\n height: 2.4em;\n font-size: 1em;\n}\n\n.kg-header-card.kg-size-small h2 + a.kg-header-card-button,\n.kg-header-card.kg-size-small h3 + a.kg-header-card-button {\n margin-top: 1.5em;\n}\n\n.kg-header-card.kg-style-image a.kg-header-card-button,\n.kg-header-card.kg-style-dark a.kg-header-card-button {\n background: #fff;\n color: #151515;\n}\n\n.kg-header-card.kg-style-light a.kg-header-card-button {\n background: var(--ghost-accent-color);\n color: #fff;\n}\n\n.kg-header-card.kg-style-accent a.kg-header-card-button {\n background: #fff;\n color: #151515;\n}\n\n@media (max-width: 640px) {\n .kg-header-card {\n padding-left: 1em;\n padding-right: 1em;\n }\n\n .kg-header-card h2.kg-header-card-header {\n font-size: 3.5em;\n }\n\n .kg-header-card.kg-size-large h2.kg-header-card-header {\n font-size: 4em;\n }\n\n .kg-header-card.kg-size-small h2.kg-header-card-header {\n font-size: 3em;\n }\n\n .kg-header-card h3.kg-header-card-subheader {\n font-size: 1.25em;\n }\n\n .kg-header-card.kg-size-large h3.kg-header-card-subheader {\n font-size: 1.5em;\n }\n\n .kg-header-card.kg-size-small h3.kg-header-card-subheader {\n font-size: 1em;\n }\n}\n", Qe = /* @__PURE__ */ e({ default: () => $e }), $e = ".kg-header-card.kg-v2 {\n position: relative;\n padding: 0;\n min-height: initial;\n text-align: initial;\n}\n\n.kg-header-card.kg-v2,\n.kg-header-card.kg-v2 * {\n box-sizing: border-box;\n}\n\n.kg-header-card.kg-v2 a,\n.kg-header-card.kg-v2 a span {\n color: currentColor;\n}\n\n.kg-header-card.kg-style-accent.kg-v2 {\n background-color: var(--ghost-accent-color);\n}\n\n.kg-header-card-content {\n width: 100%;\n}\n\n.kg-layout-split .kg-header-card-content {\n display: grid;\n grid-template-columns: 1fr 1fr;\n}\n\n.kg-header-card-text {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n height: 100%;\n padding: min(6.4vmax, 120px) min(4vmax, 80px);\n background-size: cover;\n background-position: center;\n text-align: left;\n}\n\n.kg-width-wide .kg-header-card-text {\n padding: min(10vmax, 220px) min(6.4vmax, 140px);\n}\n\n.kg-width-full .kg-header-card-text {\n padding: min(12vmax, 260px) 0;\n}\n\n.kg-layout-split .kg-header-card-text {\n padding: min(12vmax, 260px) min(4vmax, 80px);\n}\n\n.kg-layout-split.kg-content-wide .kg-header-card-text {\n padding: min(10vmax, 220px) 0 min(10vmax, 220px) min(4vmax, 80px);\n}\n\n.kg-layout-split.kg-content-wide.kg-swapped .kg-header-card-text {\n padding: min(10vmax, 220px) min(4vmax, 80px) min(10vmax, 220px) 0;\n}\n\n.kg-swapped .kg-header-card-text {\n grid-row: 1;\n}\n\n.kg-header-card-text.kg-align-center {\n align-items: center;\n text-align: center;\n}\n\n.kg-header-card.kg-style-image h2.kg-header-card-heading,\n.kg-header-card.kg-style-image .kg-header-card-subheading,\n.kg-header-card.kg-style-image.kg-v2 .kg-header-card-button {\n z-index: 999;\n}\n\n/* Background image */\n\n.kg-header-card > picture > .kg-header-card-image {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\n background-color: #ffffff;\n pointer-events: none;\n}\n\n/* Split layout image */\n\n.kg-header-card-content .kg-header-card-image {\n width: 100%;\n /* this will force the image to follow the signup card height */\n height: 0;\n min-height: 100%;\n /**/\n object-fit: cover;\n object-position: center;\n}\n\n.kg-content-wide .kg-header-card-content .kg-header-card-image {\n height: 100%;\n padding: 5.6em 0;\n object-fit: contain;\n}\n\n/* Heading */\n\n.kg-header-card h2.kg-header-card-heading {\n margin: 0;\n font-size: clamp(1.7em, 4vw, 2.5em);\n font-weight: 700;\n line-height: 1.05em;\n letter-spacing: -0.01em;\n}\n\n.kg-header-card.kg-width-wide h2.kg-header-card-heading {\n font-size: clamp(1.7em, 5vw, 3.3em);\n}\n\n.kg-header-card.kg-width-full h2.kg-header-card-heading {\n font-size: clamp(1.9em, 5.6vw, 4.2em);\n}\n\n.kg-header-card.kg-width-full.kg-layout-split h2.kg-header-card-heading {\n font-size: clamp(1.9em, 4vw, 3.3em);\n}\n\n/* Subheading */\n\n.kg-header-card-subheading {\n margin: 0 0 2em;\n}\n\n.kg-header-card .kg-header-card-subheading {\n max-width: 40em;\n margin: 0;\n font-size: clamp(1.05em, 2vw, 1.4em);\n font-weight: 500;\n line-height: 1.2em;\n}\n\n.kg-header-card h2 + .kg-header-card-subheading {\n margin: 0.6em 0 0;\n}\n\n.kg-header-card .kg-header-card-subheading strong {\n font-weight: 600;\n}\n\n.kg-header-card.kg-width-wide .kg-header-card-subheading {\n font-size: clamp(1.05em, 2vw, 1.55em);\n}\n\n.kg-header-card.kg-width-full\n .kg-header-card-subheading:not(.kg-layout-split .kg-header-card-subheading) {\n max-width: min(65vmax, 1200px);\n font-size: clamp(1.05em, 2vw, 1.7em);\n}\n\n.kg-header-card.kg-width-full.kg-layout-split .kg-header-card-subheading {\n font-size: clamp(1.05em, 2vw, 1.55em);\n}\n\n.kg-header-card.kg-v2 .kg-header-card-button {\n display: flex;\n position: relative;\n align-items: center;\n height: 2.9em;\n min-height: 46px;\n padding: 0 1.2em;\n outline: none;\n border: none;\n font-size: 1em;\n font-weight: 600;\n line-height: 1em;\n text-align: center;\n text-decoration: none;\n letter-spacing: 0.2px;\n white-space: nowrap;\n text-overflow: ellipsis;\n border-radius: 3px;\n transition: opacity 0.2s ease;\n}\n\n.kg-header-card.kg-v2 .kg-header-card-button.kg-style-accent {\n background-color: var(--ghost-accent-color);\n}\n\n.kg-header-card.kg-v2 h2 + .kg-header-card-button,\n.kg-header-card.kg-v2 p + .kg-header-card-button {\n margin: 1.5em 0 0;\n}\n\n.kg-header-card.kg-v2 .kg-header-card-button:hover {\n opacity: 0.85;\n}\n\n.kg-header-card.kg-v2.kg-width-wide .kg-header-card-button {\n font-size: 1.05em;\n}\n\n.kg-header-card.kg-v2.kg-width-wide h2 + .kg-header-card-button,\n.kg-header-card.kg-v2.kg-width-wide p + .kg-header-card-button {\n margin-top: 1.75em;\n}\n\n.kg-header-card.kg-v2.kg-width-full .kg-header-card-button {\n font-size: 1.1em;\n}\n\n.kg-header-card.kg-v2.kg-width-full h2 + .kg-header-card-button,\n.kg-header-card.kg-v2.kg-width-full p + .kg-header-card-button {\n margin-top: 2em;\n}\n\n/* Responsive styles */\n\n@media (max-width: 640px) {\n .kg-layout-split .kg-header-card-content {\n grid-template-columns: 1fr;\n }\n\n .kg-width-wide .kg-header-card-text {\n padding: min(6.4vmax, 120px) min(4vmax, 80px);\n }\n\n .kg-layout-split.kg-content-wide .kg-header-card-text,\n .kg-layout-split.kg-content-wide.kg-swapped .kg-header-card-text {\n padding: min(9.6vmax, 180px) 0;\n }\n\n .kg-header-card.kg-width-full\n .kg-header-card-subheading:not(.kg-layout-split .kg-header-card-subheading) {\n max-width: unset;\n }\n\n .kg-header-card-content\n .kg-header-card-image:not(.kg-content-wide .kg-header-card-content .kg-header-card-image) {\n height: auto;\n min-height: unset;\n aspect-ratio: 1 / 1;\n }\n\n .kg-content-wide .kg-header-card-content .kg-header-card-image {\n padding: 1.7em 0 0;\n }\n\n .kg-content-wide.kg-swapped .kg-header-card-content .kg-header-card-image {\n padding: 0 0 1.7em;\n }\n\n .kg-header-card.kg-v2 .kg-header-card-button {\n height: 2.9em;\n }\n\n .kg-header-card.kg-v2.kg-width-wide .kg-header-card-button,\n .kg-header-card.kg-v2.kg-width-full .kg-header-card-button {\n font-size: 1em;\n }\n}\n", et = /* @__PURE__ */ e({ default: () => tt }), tt = ".kg-nft-card,\n.kg-nft-card * {\n box-sizing: border-box;\n}\n\n.kg-nft-card {\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 100%;\n margin-left: auto;\n margin-right: auto;\n}\n\n.kg-nft-card a.kg-nft-card-container {\n position: static;\n display: flex;\n flex: auto;\n flex-direction: column;\n text-decoration: none;\n font-family:\n -apple-system, BlinkMacSystemFont, 'avenir next', avenir, 'helvetica neue', helvetica, ubuntu,\n roboto, noto, 'segoe ui', arial, sans-serif;\n font-size: 14px;\n font-weight: 400;\n box-shadow:\n 0 2px 6px -2px rgb(0 0 0 / 10%),\n 0 0 1px rgb(0 0 0 / 40%);\n width: 100%;\n max-width: 512px;\n color: #222;\n background: #fff;\n border-radius: 5px;\n transition: none;\n}\n\n.kg-nft-card * {\n position: static;\n}\n\n.kg-nft-metadata {\n padding: 20px;\n width: 100%;\n}\n\n.kg-nft-image {\n border-radius: 5px 5px 0 0;\n width: 100%;\n}\n\n.kg-nft-header {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n gap: 20px;\n}\n\n.kg-nft-header h4.kg-nft-title {\n font-family: inherit;\n font-size: 19px;\n font-weight: 700;\n line-height: 1.3em;\n min-width: unset;\n max-width: unset;\n margin: 0;\n color: #222;\n}\n\n.kg-nft-opensea-logo {\n margin-top: 2px;\n width: 100px;\n object-fit: scale-down;\n}\n\n.kg-nft-creator {\n font-family: inherit;\n line-height: 1.4em;\n margin: 4px 0 0;\n color: #ababab;\n}\n\n.kg-nft-creator span {\n font-weight: 500;\n color: #222;\n}\n\n.kg-nft-card p.kg-nft-description {\n font-family: inherit;\n font-size: 14px;\n line-height: 1.4em;\n margin: 20px 0 0;\n color: #222;\n}\n", nt = /* @__PURE__ */ e({ default: () => rt }), rt = ".kg-product-card,\n.kg-product-card * {\n box-sizing: border-box;\n}\n\n.kg-product-card {\n display: flex;\n align-items: center;\n flex-direction: column;\n width: 100%;\n}\n\n.kg-product-card-container {\n display: grid;\n grid-template-columns: auto min-content;\n align-items: center;\n grid-row-gap: 16px;\n background: transparent;\n max-width: 550px;\n padding: 20px;\n width: 100%;\n background: #fff;\n color: #222;\n border-radius: 5px;\n box-shadow: inset 0 0 0 1px rgb(124 139 154 / 25%);\n font-family:\n -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell',\n 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;\n}\n\n.kg-product-card-image {\n grid-column: 1 / 3;\n justify-self: center;\n height: auto;\n}\n\n.kg-product-card-title-container {\n grid-column: 1 / 2;\n}\n\n.kg-product-card h4.kg-product-card-title {\n text-decoration: none;\n font-weight: 600;\n font-size: 21px;\n margin-top: 0;\n margin-bottom: 0;\n line-height: 1.15em;\n}\n\n.kg-product-card-description {\n grid-column: 1 / 3;\n}\n\n.kg-product-card .kg-product-card-description p,\n.kg-product-card .kg-product-card-description ol,\n.kg-product-card .kg-product-card-description ul {\n font-size: 14px;\n line-height: 1.5em;\n opacity: 0.7;\n margin-bottom: 0;\n}\n\n.kg-product-card .kg-product-card-description p:first-of-type {\n margin-top: -4px;\n}\n\n.kg-product-card .kg-product-card-description p:not(:first-of-type),\n.kg-product-card .kg-product-card-description ul,\n.kg-product-card .kg-product-card-description ol {\n margin-top: 0.95em;\n}\n\n.kg-product-card .kg-product-card-description li + li {\n margin-top: 0.5em;\n}\n\n.kg-product-card-rating {\n display: flex;\n align-items: center;\n grid-column: 2 / 3;\n align-self: start;\n justify-self: end;\n padding-left: 16px;\n}\n\n@media (max-width: 400px) {\n .kg-product-card-title-container {\n grid-column: 1 / 3;\n }\n\n .kg-product-card-rating {\n grid-column: 1 / 3;\n justify-self: start;\n margin-top: -15px;\n padding-left: 0;\n }\n}\n\n.kg-product-card-rating-star {\n height: 20px;\n width: 20px;\n}\n\n.kg-product-card-rating-star svg {\n width: 16px;\n height: 16px;\n fill: currentColor;\n opacity: 0.15;\n}\n\n.kg-product-card-rating-active.kg-product-card-rating-star svg {\n opacity: 1;\n}\n\n.kg-product-card a.kg-product-card-button {\n justify-content: center;\n grid-column: 1 / 3;\n display: flex;\n position: static;\n align-items: center;\n font-size: 14px;\n font-weight: 600;\n line-height: 1em;\n text-decoration: none;\n width: 100%;\n height: 38px;\n border-radius: 6px;\n padding: 0 12px;\n transition: opacity 0.2s ease-in-out;\n}\n\n.kg-product-card a.kg-product-card-btn-accent {\n background-color: var(--ghost-accent-color);\n color: #fff;\n}\n", it = /* @__PURE__ */ e({ default: () => at }), at = ".kg-signup-card {\n position: relative;\n}\n\n.kg-signup-card,\n.kg-signup-card * {\n box-sizing: border-box;\n}\n\n.kg-signup-card a,\n.kg-signup-card a span {\n color: currentColor;\n}\n\n.kg-signup-card.kg-style-accent {\n background-color: var(--ghost-accent-color);\n}\n\n.kg-layout-split .kg-signup-card-content {\n display: grid;\n grid-template-columns: 1fr 1fr;\n}\n\n.kg-signup-card-text {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n height: 100%;\n padding: min(4vmax, 80px);\n background-size: cover;\n background-position: center;\n text-align: left;\n}\n\n.kg-width-wide .kg-signup-card-text {\n padding: min(6.4vmax, 120px);\n}\n\n.kg-width-full .kg-signup-card-text {\n padding: min(12vmax, 260px) 0;\n}\n\n.kg-layout-split .kg-signup-card-text {\n padding: min(12vmax, 260px) min(4vmax, 80px);\n}\n\n.kg-layout-split.kg-content-wide .kg-signup-card-text {\n padding: min(10vmax, 220px) 0 min(10vmax, 220px) min(4vmax, 80px);\n}\n\n.kg-layout-split.kg-content-wide.kg-swapped .kg-signup-card-text {\n padding: min(10vmax, 220px) min(4vmax, 80px) min(10vmax, 220px) 0;\n}\n\n.kg-swapped .kg-signup-card-text {\n grid-row: 1;\n}\n\n.kg-signup-card-text.kg-align-center {\n align-items: center;\n text-align: center;\n}\n\n.kg-signup-card.kg-style-image h2.kg-signup-card-heading,\n.kg-signup-card.kg-style-image .kg-signup-card-subheading,\n.kg-signup-card.kg-style-image .kg-signup-card-button {\n z-index: 999;\n}\n\n/* Background image */\n\n.kg-signup-card > picture > .kg-signup-card-image {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\n background-color: #ffffff;\n pointer-events: none;\n}\n\n/* Split layout image */\n\n.kg-signup-card-content .kg-signup-card-image {\n width: 100%;\n /* this will force the image to follow the signup card height */\n height: 0;\n min-height: 100%;\n /**/\n object-fit: cover;\n object-position: center;\n}\n\n.kg-content-wide .kg-signup-card-content .kg-signup-card-image {\n height: 100%;\n padding: 5.6em 0;\n object-fit: contain;\n}\n\n/* Heading */\n\n.kg-signup-card h2.kg-signup-card-heading {\n margin: 0;\n font-size: clamp(1.7em, 4vw, 2.5em);\n font-weight: 700;\n line-height: 1.05em;\n letter-spacing: -0.01em;\n}\n\n.kg-signup-card.kg-width-wide h2.kg-signup-card-heading {\n font-size: clamp(1.7em, 5vw, 3.3em);\n}\n\n.kg-signup-card.kg-width-full h2.kg-signup-card-heading {\n font-size: clamp(1.9em, 5.6vw, 4.2em);\n}\n\n.kg-signup-card.kg-width-full.kg-layout-split h2.kg-signup-card-heading {\n font-size: clamp(1.9em, 4vw, 3.3em);\n}\n\n/* Subheading */\n\n.kg-signup-card-subheading {\n margin: 0 0 2em;\n}\n\n.kg-signup-card .kg-signup-card-subheading {\n max-width: 40em;\n margin: 0;\n font-size: clamp(1.05em, 2vw, 1.4em);\n font-weight: 500;\n line-height: 1.2em;\n}\n\n.kg-signup-card h2 + .kg-signup-card-subheading {\n margin: 0.6em 0 0;\n}\n\n.kg-signup-card .kg-signup-card-subheading strong {\n font-weight: 600;\n}\n\n.kg-signup-card.kg-width-wide .kg-signup-card-subheading {\n font-size: clamp(1.05em, 2vw, 1.55em);\n}\n\n.kg-signup-card.kg-width-full\n .kg-signup-card-subheading:not(.kg-layout-split .kg-signup-card-subheading) {\n max-width: min(65vmax, 1200px);\n font-size: clamp(1.05em, 2vw, 1.7em);\n}\n\n.kg-signup-card.kg-width-full.kg-layout-split .kg-signup-card-subheading {\n font-size: clamp(1.05em, 2vw, 1.55em);\n}\n\n/* Subscribe form */\n\n.kg-signup-card-form {\n position: relative;\n display: flex;\n flex-shrink: 0;\n width: 100%;\n}\n\n.kg-align-center .kg-signup-card-form {\n justify-content: center;\n}\n\n.kg-signup-card-heading + .kg-signup-card-form,\n.kg-signup-card-subheading + .kg-signup-card-form {\n margin: min(2.4vmax, 48px) 0 0;\n}\n\n.kg-width-wide .kg-signup-card-heading + .kg-signup-card-form,\n.kg-width-wide .kg-signup-card-subheading + .kg-signup-card-form {\n margin: min(3.2vmax, 64px) 0 0;\n}\n\n.kg-width-full .kg-signup-card-heading + .kg-signup-card-form,\n.kg-width-full .kg-signup-card-subheading + .kg-signup-card-form {\n margin: min(4vmax, 80px) 0 0;\n}\n\n.kg-signup-card-fields {\n display: flex;\n width: 100%;\n padding: 3px;\n background: #ffffff;\n border: 1px solid #e6e6e6;\n border-radius: 4px;\n}\n\n.kg-width-wide .kg-signup-card-fields,\n.kg-width-full .kg-signup-card-fields {\n width: 100%;\n max-width: 500px;\n}\n\n.kg-signup-card-input {\n width: 100%;\n height: 2.9em;\n min-height: 46px;\n margin: 0 3px 0 0;\n padding: 12px 16px;\n border: none;\n background: #ffffff;\n font-size: 1.1em;\n}\n\n.kg-signup-card-input:focus,\n.kg-signup-card-input:focus-visible {\n outline: none;\n}\n\n.kg-signup-card-button {\n display: flex;\n position: relative;\n align-items: center;\n height: 2.9em;\n min-height: 46px;\n height: 100%;\n padding: 0 1.2em;\n outline: none;\n border: none;\n font-size: 1em;\n font-weight: 600;\n line-height: 1em;\n text-align: center;\n text-decoration: none;\n letter-spacing: 0.2px;\n white-space: nowrap;\n text-overflow: ellipsis;\n border-radius: 3px;\n transition: opacity 0.2s ease;\n cursor: pointer;\n}\n\n.kg-signup-card-button.kg-style-accent {\n background-color: var(--ghost-accent-color);\n}\n\n.kg-signup-card h2 + .kg-signup-card-button,\n.kg-signup-card p + .kg-signup-card-button {\n margin: 1.5em 0 0;\n}\n\n.kg-signup-card .kg-signup-card-button:hover {\n opacity: 0.85;\n}\n\n.kg-signup-card.kg-width-wide .kg-signup-card-button {\n font-size: 1.05em;\n}\n\n.kg-signup-card.kg-width-wide h2 + .kg-signup-card-button,\n.kg-signup-card.kg-width-wide p + .kg-signup-card-button {\n margin-top: 1.75em;\n}\n\n.kg-signup-card.kg-width-full .kg-signup-card-button {\n font-size: 1.1em;\n}\n\n.kg-signup-card.kg-width-full h2 + .kg-signup-card-button,\n.kg-signup-card.kg-width-full p + .kg-signup-card-button {\n margin-top: 2em;\n}\n\n/* Subscribe form states */\n\n.kg-signup-card-success,\n.kg-signup-card-error {\n display: none;\n}\n\n.kg-signup-card-form.success .kg-signup-card-fields {\n display: none;\n}\n\n.kg-signup-card-form.success .kg-signup-card-success {\n display: flex;\n align-items: center;\n height: 3em;\n font-size: 1.25em;\n font-weight: 500;\n line-height: 1.4em;\n}\n\n.kg-signup-card-form.error .kg-signup-card-fields {\n border: 1px solid #ff0000;\n box-shadow: inset 0 0 0 1px rgba(255, 0, 0, 0.2);\n}\n\n.kg-signup-card-form.error .kg-signup-card-error {\n position: absolute;\n bottom: calc(-1rem - 1.6em);\n display: block;\n font-size: inherit;\n}\n\n.kg-signup-card-button-loading {\n position: absolute;\n inset: 0;\n align-items: center;\n justify-content: center;\n display: none;\n}\n\n.kg-signup-card-form.loading .kg-signup-card-button-default {\n color: transparent;\n}\n\n.kg-signup-card-form.loading .kg-signup-card-button-loading {\n display: flex;\n}\n\n/* Disclaimer */\n\n.kg-signup-card-disclaimer {\n margin: 1rem 0 0;\n}\n\n.kg-signup-card-form.success + .kg-signup-card-disclaimer,\n.kg-signup-card-form.error + .kg-signup-card-disclaimer {\n visibility: hidden;\n}\n\n/* Responsive styles */\n\n@media (max-width: 640px) {\n .kg-layout-split .kg-signup-card-content {\n grid-template-columns: 1fr;\n }\n\n .kg-width-wide .kg-signup-card-text {\n padding: min(6.4vmax, 120px) min(4vmax, 80px);\n }\n\n .kg-layout-split.kg-content-wide .kg-signup-card-text,\n .kg-layout-split.kg-content-wide.kg-swapped .kg-signup-card-text {\n padding: min(9.6vmax, 180px) 0;\n }\n\n .kg-signup-card.kg-width-full\n .kg-signup-card-subheading:not(.kg-layout-split .kg-signup-card-subheading) {\n max-width: unset;\n }\n\n .kg-signup-card-content\n .kg-signup-card-image:not(.kg-content-wide .kg-signup-card-content .kg-signup-card-image) {\n height: auto;\n min-height: unset;\n aspect-ratio: 1 / 1;\n }\n\n .kg-content-wide .kg-signup-card-content .kg-signup-card-image {\n padding: 1.7em 0 0;\n }\n\n .kg-content-wide.kg-swapped .kg-signup-card-content .kg-signup-card-image {\n padding: 0 0 1.7em;\n }\n\n .kg-signup-card-input {\n height: 2.9em;\n padding: 6px 12px;\n font-size: 1em;\n }\n\n .kg-signup-card-button {\n height: 2.9em;\n }\n\n .kg-signup-card.kg-width-wide .kg-signup-card-button,\n .kg-signup-card.kg-width-full .kg-signup-card-button {\n font-size: 1em;\n }\n}\n", ot = /* @__PURE__ */ e({ default: () => st }), st = ".kg-toggle-card,\n.kg-toggle-card * {\n box-sizing: border-box;\n}\n\n.kg-toggle-card {\n background: transparent;\n box-shadow: inset 0 0 0 1px rgba(124, 139, 154, 0.25);\n border-radius: 4px;\n padding: 1.2em;\n}\n\n.kg-toggle-card[data-kg-toggle-state='close'] .kg-toggle-content {\n height: 0;\n overflow: hidden;\n transition:\n opacity 0.5s ease,\n top 0.35s ease;\n opacity: 0;\n top: -0.5em;\n position: relative;\n}\n\n.kg-toggle-content {\n height: auto;\n opacity: 1;\n transition:\n opacity 1s ease,\n top 0.35s ease;\n top: 0;\n position: relative;\n}\n\n.kg-toggle-card[data-kg-toggle-state='close'] svg {\n transform: unset;\n}\n\n.kg-toggle-heading {\n cursor: pointer;\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n}\n\n.kg-toggle-card h4.kg-toggle-heading-text {\n font-size: 1.15em;\n font-weight: 700;\n line-height: 1.3em;\n margin-top: 0;\n margin-bottom: 0;\n}\n\n.kg-toggle-content p:first-of-type {\n margin-top: 0.5em;\n}\n\n.kg-toggle-card .kg-toggle-content p,\n.kg-toggle-card .kg-toggle-content ol,\n.kg-toggle-card .kg-toggle-content ul {\n font-size: 0.95em;\n line-height: 1.5em;\n margin-top: 0.95em;\n margin-bottom: 0;\n}\n\n.kg-toggle-card li + li {\n margin-top: 0.5em;\n}\n\n.kg-toggle-card-icon {\n height: 24px;\n width: 24px;\n display: flex;\n justify-content: center;\n align-items: center;\n margin-left: 1em;\n padding: 0;\n background: none;\n border: 0;\n cursor: pointer;\n}\n\n.kg-toggle-heading svg {\n width: 14px;\n color: rgba(124, 139, 154, 0.5);\n transition: all 0.3s;\n transform: rotate(-180deg);\n}\n\n.kg-toggle-heading path {\n fill: none;\n stroke: currentcolor;\n stroke-linecap: round;\n stroke-linejoin: round;\n stroke-width: 1.5;\n fill-rule: evenodd;\n}\n\n.kg-toggle-card + .kg-toggle-card {\n margin-top: 1em;\n}\n", ct = /* @__PURE__ */ e({ default: () => lt }), lt = ".kg-transistor-card {\n display: flex;\n justify-content: center;\n}\n\n.kg-transistor-placeholder {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 2.4rem;\n width: 100%;\n max-width: 100%;\n padding: 3rem 2.4rem;\n border: 1px solid rgba(255, 255, 255, 0.14);\n border: 1px solid color-mix(in srgb, currentColor 14%, transparent);\n border-radius: 12px;\n background: rgba(255, 255, 255, 0.04);\n background: color-mix(in srgb, currentColor 4%, transparent);\n color: inherit;\n text-align: center;\n box-sizing: border-box;\n}\n\n.kg-transistor-icon {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: 116px;\n height: 116px;\n border-radius: 14px;\n background: var(--ghost-accent-color, #b8a5ac);\n color: #fff;\n}\n\n.kg-transistor-icon svg {\n display: block;\n width: 56px;\n height: 56px;\n}\n\n.kg-transistor-content {\n min-width: 0;\n max-width: 640px;\n}\n\n.kg-transistor-title {\n margin: 0;\n color: inherit;\n font-size: 2.3rem;\n font-weight: 600;\n line-height: 1.2;\n}\n\n.kg-transistor-description {\n margin-top: 1.6rem;\n color: inherit;\n font-size: 1.6rem;\n line-height: 1.5;\n opacity: 0.65;\n}\n\n@media (max-width: 640px) {\n .kg-transistor-placeholder {\n gap: 1.6rem;\n padding: 2.4rem 1.8rem;\n }\n\n .kg-transistor-icon {\n width: 88px;\n height: 88px;\n border-radius: 12px;\n }\n\n .kg-transistor-icon svg {\n width: 44px;\n height: 44px;\n }\n\n .kg-transistor-title {\n font-size: 1.8rem;\n }\n\n .kg-transistor-description {\n margin-top: 1rem;\n font-size: 1.45rem;\n }\n}\n", ut = /* @__PURE__ */ e({ default: () => dt }), dt = ".kg-video-card,\n.kg-video-card * {\n box-sizing: border-box;\n}\n\n.kg-video-card {\n position: relative;\n --seek-before-width: 0%;\n --volume-before-width: 100%;\n --buffered-width: 0%;\n}\n\n.kg-video-card video {\n display: block;\n max-width: 100%;\n height: auto;\n}\n\n.kg-video-container {\n position: relative;\n height: 0;\n width: 100%;\n overflow: hidden;\n}\n\n.kg-video-container video {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n\n.kg-video-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n background-image: linear-gradient(\n 180deg,\n rgba(0, 0, 0, 0.3) 0,\n transparent 70%,\n transparent 100%\n );\n z-index: 999;\n transition: opacity 0.2s ease-in-out;\n}\n\n.kg-video-large-play-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 72px;\n height: 72px;\n padding: 0;\n background: rgba(0, 0, 0, 0.5);\n border-radius: 50%;\n transition: opacity 0.2s ease-in-out;\n}\n\n.kg-video-large-play-icon svg {\n width: 20px;\n height: auto;\n margin-left: 2px;\n fill: #fff;\n}\n\n.kg-video-player-container {\n position: absolute;\n bottom: -1px;\n left: 0;\n right: 0;\n width: 100%;\n height: 80px;\n background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.5));\n z-index: 999;\n transition: opacity 0.2s ease-in-out;\n}\n\n.kg-video-player {\n position: absolute;\n bottom: 0;\n display: flex;\n align-items: center;\n width: 100%;\n z-index: 9999;\n padding: 12px 16px;\n font-family:\n -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell',\n 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;\n background: rgba(0, 0, 0, 0.5);\n}\n\n.kg-video-current-time {\n min-width: 38px;\n padding: 0 4px;\n color: #fff;\n font-family: inherit;\n font-size: 12.5px;\n font-weight: 500;\n line-height: 1.4em;\n white-space: nowrap;\n}\n\n.kg-video-time {\n color: rgba(255, 255, 255, 0.6);\n font-family: inherit;\n font-size: 12.5px;\n font-weight: 500;\n line-height: 1.4em;\n white-space: nowrap;\n}\n\n.kg-video-duration {\n padding: 0 4px;\n}\n\n.kg-video-play-icon,\n.kg-video-pause-icon {\n position: relative;\n padding: 0px 4px 0 0;\n font-size: 0;\n background: transparent;\n}\n\n.kg-video-hide {\n display: none !important;\n}\n\n.kg-video-hide-animated {\n opacity: 0 !important;\n transition: opacity 0.2s ease-in-out;\n cursor: initial;\n}\n\n.kg-video-play-icon svg,\n.kg-video-pause-icon svg {\n width: 14px;\n height: 14px;\n fill: #fff;\n}\n\n.kg-video-seek-slider {\n flex-grow: 1;\n margin: 0 4px;\n}\n\n@media (max-width: 520px) {\n .kg-video-seek-slider {\n display: none;\n }\n}\n\n.kg-video-playback-rate {\n min-width: 37px;\n padding: 0 4px;\n color: #fff;\n font-family: inherit;\n font-size: 12.5px;\n font-weight: 600;\n line-height: 1.4em;\n text-align: left;\n background: transparent;\n white-space: nowrap;\n}\n\n@media (max-width: 520px) {\n .kg-video-playback-rate {\n padding-left: 8px;\n }\n}\n\n.kg-video-mute-icon,\n.kg-video-unmute-icon {\n position: relative;\n bottom: -1px;\n padding: 0 4px;\n font-size: 0;\n background: transparent;\n}\n\n@media (max-width: 520px) {\n .kg-video-mute-icon,\n .kg-video-unmute-icon {\n margin-left: auto;\n }\n}\n\n.kg-video-mute-icon svg,\n.kg-video-unmute-icon svg {\n width: 16px;\n height: 16px;\n fill: #fff;\n}\n\n.kg-video-volume-slider {\n width: 80px;\n}\n\n@media (max-width: 300px) {\n .kg-video-volume-slider {\n display: none;\n }\n}\n\n.kg-video-seek-slider::before {\n content: '';\n position: absolute;\n left: 0;\n width: var(--seek-before-width) !important;\n height: 4px;\n cursor: pointer;\n background-color: #ebeef0;\n border-radius: 2px;\n}\n\n.kg-video-volume-slider::before {\n content: '';\n position: absolute;\n left: 0;\n width: var(--volume-before-width) !important;\n height: 4px;\n cursor: pointer;\n background-color: #ebeef0;\n border-radius: 2px;\n}\n\n/* Resetting browser styles\n/* --------------------------------------------------------------- */\n\n.kg-video-card input[type='range'] {\n position: relative;\n -webkit-appearance: none;\n background: transparent;\n}\n\n.kg-video-card input[type='range']:focus {\n outline: none;\n}\n\n.kg-video-card input[type='range']::-webkit-slider-thumb {\n -webkit-appearance: none;\n}\n\n.kg-video-card input[type='range']::-ms-track {\n cursor: pointer;\n border-color: transparent;\n color: transparent;\n background: transparent;\n}\n\n.kg-video-card button {\n display: flex;\n align-items: center;\n border: 0;\n cursor: pointer;\n}\n\n.kg-video-card input[type='range'] {\n height: auto;\n padding: 0;\n border: 0;\n}\n\n/* Chrome & Safari styles\n/* --------------------------------------------------------------- */\n\n.kg-video-card input[type='range']::-webkit-slider-runnable-track {\n width: 100%;\n height: 4px;\n cursor: pointer;\n background: rgba(255, 255, 255, 0.2);\n border-radius: 2px;\n}\n\n.kg-video-card input[type='range']::-webkit-slider-thumb {\n position: relative;\n box-sizing: content-box;\n width: 13px;\n height: 13px;\n margin: -5px 0 0 0;\n border: 0;\n cursor: pointer;\n background: #fff;\n border-radius: 50%;\n box-shadow:\n 0 0 0 1px rgba(0, 0, 0, 0.08),\n 0 1px 4px rgba(0, 0, 0, 0.24);\n}\n\n.kg-video-card input[type='range']:active::-webkit-slider-thumb {\n transform: scale(1.2);\n}\n\n/* Firefox styles\n/* --------------------------------------------------------------- */\n\n.kg-video-card input[type='range']::-moz-range-track {\n width: 100%;\n height: 4px;\n cursor: pointer;\n background: rgba(255, 255, 255, 0.2);\n border-radius: 2px;\n}\n\n.kg-video-card input[type='range']::-moz-range-progress {\n background: #ebeef0;\n border-radius: 2px;\n}\n\n.kg-video-card input[type='range']::-moz-range-thumb {\n box-sizing: content-box;\n width: 13px;\n height: 13px;\n border: 0;\n cursor: pointer;\n background: #fff;\n border-radius: 50%;\n box-shadow:\n 0 0 0 1px rgba(0, 0, 0, 0.08),\n 0 1px 4px rgba(0, 0, 0, 0.24);\n}\n\n.kg-video-card input[type='range']:active::-moz-range-thumb {\n transform: scale(1.2);\n}\n\n/* Edge & IE styles\n/* --------------------------------------------------------------- */\n\n.kg-video-card input[type='range']::-ms-track {\n width: 100%;\n height: 3px;\n border: solid transparent;\n color: transparent;\n cursor: pointer;\n background: transparent;\n}\n\n.kg-video-card input[type='range']::-ms-fill-lower {\n background: #fff;\n}\n\n.kg-video-card input[type='range']::-ms-fill-upper {\n background: #ebeef0;\n}\n\n.kg-video-card input[type='range']::-ms-thumb {\n box-sizing: content-box;\n width: 13px;\n height: 13px;\n border: 0;\n cursor: pointer;\n background: #fff;\n border-radius: 50%;\n box-shadow:\n 0 0 0 1px rgba(0, 0, 0, 0.08),\n 0 1px 4px rgba(0, 0, 0, 0.24);\n}\n\n.kg-video-card input[type='range']:active::-ms-thumb {\n transform: scale(1.2);\n}\n", ft = /* #__PURE__ */ Object.assign({
341
- "../../ghost/core/core/frontend/src/cards/js/audio.js": ke,
342
- "../../ghost/core/core/frontend/src/cards/js/gallery.js": je,
343
- "../../ghost/core/core/frontend/src/cards/js/toggle.js": Ne,
344
- "../../ghost/core/core/frontend/src/cards/js/video.js": Fe
345
- }), pt = /* #__PURE__ */ Object.assign({
346
- "../../ghost/core/core/frontend/src/cards/css/audio.css": Le,
347
- "../../ghost/core/core/frontend/src/cards/css/blockquote.css": ze,
348
- "../../ghost/core/core/frontend/src/cards/css/bookmark.css": Be,
349
- "../../ghost/core/core/frontend/src/cards/css/button.css": Y,
350
- "../../ghost/core/core/frontend/src/cards/css/callout.css": Ue,
351
- "../../ghost/core/core/frontend/src/cards/css/collection.css": We,
352
- "../../ghost/core/core/frontend/src/cards/css/cta.css": Ke,
353
- "../../ghost/core/core/frontend/src/cards/css/file.css": qe,
354
- "../../ghost/core/core/frontend/src/cards/css/gallery.css": Ye,
355
- "../../ghost/core/core/frontend/src/cards/css/header.css": Xe,
356
- "../../ghost/core/core/frontend/src/cards/css/header_v2.css": Qe,
357
- "../../ghost/core/core/frontend/src/cards/css/nft.css": et,
358
- "../../ghost/core/core/frontend/src/cards/css/product.css": nt,
359
- "../../ghost/core/core/frontend/src/cards/css/signup.css": it,
360
- "../../ghost/core/core/frontend/src/cards/css/toggle.css": ot,
361
- "../../ghost/core/core/frontend/src/cards/css/transistor.css": ct,
362
- "../../ghost/core/core/frontend/src/cards/css/video.css": ut
363
- }), mt = Object.values(ft).map((e) => e.default).join("\n\n"), ht = Object.values(pt).map((e) => e.default).join("\n\n");
340
+ }, ke = () => "<style>\n\n/* Variables */\n\n:root {\n --color-white: #fff;\n --color-lighter-gray: rgb(0 0 0 / 0.05);\n --color-light-gray: #e6e6e6;\n --color-mid-gray: #ccc;\n --color-dark-gray: #444;\n --color-darker-gray: #15171a;\n --color-black: #000;\n --color-primary-text: var(--color-darker-gray);\n --color-secondary-text: rgb(124 139 154);\n --color-border: rgb(0 0 0 / 0.08);\n --color-dark-border: rgb(0 0 0 / 0.55);\n --background-color: #fff;\n --font-sans: Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Oxygen\", \"Ubuntu\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\", sans-serif;\n --font-serif: \"EB Garamond\", Georgia, Times, serif;\n --font-serif-alt: Georgia, Times, serif;\n --font-mono: \"JetBrains Mono\", Menlo, Consolas, Monaco, \"Liberation Mono\", \"Lucida Console\", monospace;\n --letter-spacing: 0;\n --container-width: 1320px;\n --container-gap: clamp(24px, 1.7032rem + 1.9355vw, 48px);\n --ghost-accent-color: #15171a;\n}\n\n:root.has-light-text,\n:is(.gh-navigation, .gh-footer).has-accent-color {\n --color-lighter-gray: rgb(255 255 255 / 0.1);\n --color-darker-gray: #fff;\n --color-secondary-text: rgb(255 255 255 / 0.64);\n --color-border: rgb(255 255 255 / 0.15);\n --color-dark-border: rgb(255 255 255 / 0.5);\n --background-color: #15171a;\n}\n\n/* Resets */\n\n*, *::before, *::after {\n box-sizing: border-box;\n}\n\n* {\n margin: 0;\n}\n\nhtml {\n font-size: 62.5%;\n}\n\nbody {\n font-family: var(--font-sans);\n line-height: 1.5;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\nimg, picture, video, canvas, svg {\n display: block;\n height: auto;\n max-width: 100%;\n}\n\niframe {\n display: block;\n}\n\ninput, button, textarea, select {\n font: inherit;\n}\n\np, h1, h2, h3, h4, h5, h6 {\n overflow-wrap: break-word;\n}\n\nh1, h2, h3, h4, h5, h6 {\n font-family: var(--font-sans);\n line-height: 1.2;\n}\n\n/* Globals */\n\nhtml {\n --container-width: 840px;\n --content-width: 640px;\n}\n\nbody {\n font-family: var(--font-sans);\n font-size: 1.6rem;\n background-color: var(--background-color);\n color: var(--color-primary-text);\n}\n\na {\n color: var(--color-darker-gray);\n text-decoration: none;\n}\n\na:not([class]):hover {\n opacity: 0.8;\n}\n\n.gh-canvas,\n.kg-width-full.kg-content-wide {\n --main: min(var(--content-width, 720px), 100% - var(--container-gap) * 2);\n --wide: minmax(0, calc((var(--container-width, 1200px) - var(--content-width, 720px)) / 2));\n --full: minmax(var(--container-gap), 1fr);\n\n display: grid;\n grid-template-columns:\n [full-start] var(--full)\n [wide-start] var(--wide)\n [main-start] var(--main) [main-end]\n var(--wide) [wide-end]\n var(--full) [full-end];\n}\n\n.gh-canvas > * {\n grid-column: main;\n}\n\n.kg-width-wide,\n.kg-content-wide > div {\n grid-column: full;\n}\n\n.kg-width-full {\n grid-column: full;\n}\n\n/* Article */\n\n.gh-article-header {\n margin: 24px 0 40px;\n}\n\n.gh-article-title {\n font-weight: 700;\n text-wrap: pretty;\n font-size: 3.6rem;\n letter-spacing: -0.015em;\n line-height: 1.1;\n}\n\n.gh-article-excerpt {\n margin-top: 12px;\n font-size: calc(var(--font-size) * 1.06 * var(--font-size-multiplier, 1));\n line-height: 1.4;\n text-wrap: pretty;\n}\n\n.has-serif-body .gh-article-excerpt {\n font-family: var(--font-serif-alt);\n}\n\n.gh-article-meta {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 16px;\n}\n\n.gh-article-meta:hover {\n opacity: 1;\n}\n\n.gh-article-author-image {\n display: flex;\n margin-right: 8px;\n margin-left: 6px;\n}\n\n.gh-article-author-image span {\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n width: 46px;\n height: 46px;\n overflow: hidden;\n margin: 0 -8px;\n background-color: #F4F5F6;\n border-radius: 50%;\n border: 3px solid var(--background-color);\n}\n\nhtml.has-sepia-bg .gh-article-author-image span {\n background-color: #EFEDE6;\n}\n\nhtml.has-light-text .gh-article-author-image span {\n background-color: #394047;\n}\n\n.gh-article-author-image span:first-child {\n z-index: 10;\n}\n\n.gh-article-author-image span:nth-child(2) {\n z-index: 9;\n}\n\n.gh-article-author-image span:nth-child(3) {\n z-index: 8;\n}\n\n.gh-article-author-image img {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n\n.gh-article-author-image svg {\n width: 18px;\n height: 18px;\n color: #95A1AD;\n}\n\n.gh-article-meta-wrapper {\n display: flex;\n flex-direction: column;\n gap: 1px;\n margin-top: -2px;\n}\n\n.gh-article-author-name {\n font-size: 1.5rem;\n font-weight: 600;\n letter-spacing: -0.008em;\n}\n\n.gh-article-source {\n display: flex;\n align-items: center;\n gap: 4px;\n font-size: 1.5rem;\n line-height: 1.2;\n color: var(--color-secondary-text);\n width: fit-content;\n}\n\n.gh-article-source svg {\n width: 12px;\n height: 12px;\n margin-top: 1px;\n}\n\n.gh-article-meta:hover .gh-article-source {\n text-decoration: underline;\n}\n\n.gh-article-image {\n grid-column: full;\n margin-top: 40px;\n}\n\n.gh-article-image img {\n width: 100%;\n}\n\n/* Content */\n\n/* Content refers to styling all page and post content that is\ncreated within the Ghost editor. The main content handles\nheadings, text, images and lists. We deal with cards lower down. */\n\n.gh-content {\n font-size: calc(var(--font-size) * var(--font-size-multiplier, 1));\n overflow-x: hidden;\n letter-spacing: var(--letter-spacing);\n line-height: var(--line-height);\n}\n\n/* Default vertical spacing */\n.gh-content > * + * {\n margin-top: calc(28px * var(--content-spacing-factor, 1));\n margin-bottom: 0;\n}\n\n/* Remove space between full-width cards */\n.gh-content > .kg-width-full + .kg-width-full:not(.kg-width-full.kg-card-hascaption + .kg-width-full) {\n margin-top: 0;\n}\n\n/* Add back a top margin to all headings,\nunless a heading is the very first element in the post content */\n.gh-content > [id]:not(:first-child) {\n margin-top: calc(40px * var(--content-spacing-factor, 1));\n}\n\n/* Add a small margin between a heading and paragraph after it */\n.gh-content > [id] + p {\n margin-top: calc(12px * var(--content-spacing-factor, 1));\n}\n\n/* A larger margin before/after dividers, blockquotes and embeds */\n.gh-content > :is(hr, blockquote, iframe) {\n position: relative;\n margin-top: calc(48px * var(--content-spacing-factor, 1)) !important;\n}\n\n.gh-content > :is(hr, blockquote, iframe) + * {\n margin-top: calc(48px * var(--content-spacing-factor, 1)) !important;\n}\n\n/* Now the content typography styles */\n.gh-content [id] {\n letter-spacing: -0.005em;\n}\n\n.gh-content h1 {\n font-size: 1.9em;\n}\n\n.gh-content h2 {\n font-size: 1.6em;\n}\n\n.gh-content h3 {\n font-size: 1.3em;\n}\n\n.gh-content h4 {\n font-size: 1.2em;\n}\n\n.gh-content h5 {\n font-size: 1.1em;\n}\n\n.gh-content h6 {\n font-size: 1em;\n}\n\n.gh-content a:not([class]) {\n color: #14B8FF;\n text-decoration: underline;\n}\n\nhtml.has-light-text .gh-content a:not([class]) {\n color: #14B8FF;\n}\n\nhtml.has-sepia-bg .gh-content a:not([class]) {\n color: #DD6B02;\n}\n\n.gh-content .kg-callout-card .kg-callout-text,\n.gh-content .kg-toggle-card .kg-toggle-content > :is(ul, ol, p) {\n font-size: 0.95em;\n}\n\n.has-serif-body .gh-content > blockquote,\n.has-serif-body .gh-content > ol,\n.has-serif-body .gh-content > ul,\n.has-serif-body .gh-content > dl,\n.has-serif-body .gh-content > p,\n.has-serif-body .gh-content .kg-callout-text,\n.has-serif-body .gh-content .kg-toggle-content > ol,\n.has-serif-body .gh-content .kg-toggle-content > ul,\n.has-serif-body .gh-content .kg-toggle-content > p {\n font-family: var(--font-serif-alt);\n}\n\n.gh-content :is(ul, ol) {\n padding-left: 28px;\n}\n\n.gh-content :is(li + li, li :is(ul, ol)) {\n margin-top: 8px;\n}\n\n.gh-content ol ol li {\n list-style-type: lower-alpha;\n}\n\n.gh-content ol ol ol li {\n list-style-type: lower-roman;\n}\n\n.gh-content hr {\n width: 100%;\n height: 1px;\n background-color: var(--color-border);\n border: 0;\n}\n\n.gh-content .gh-table {\n overflow-x: scroll;\n -webkit-overflow-scrolling: touch;\n}\n\n.gh-content .gh-table table {\n width: 100%;\n font-family: var(--font-sans);\n font-size: 1.5rem;\n white-space: nowrap;\n vertical-align: top;\n border-spacing: 0;\n border-collapse: collapse;\n}\n\n.gh-content .gh-table table th {\n font-size: 1.2rem;\n font-weight: 700;\n color: var(--color-darkgrey);\n text-align: left;\n text-transform: uppercase;\n letter-spacing: 0.2px;\n}\n\n.gh-content .gh-table table :is(th, td),\n.gh-content .gh-table table td {\n padding: 6px 12px;\n border-bottom: 1px solid var(--color-border);\n}\n\n.gh-content .gh-table table :is(th, td):first-child {\n padding-left: 0;\n}\n\n.gh-content .gh-table table :is(th, td):last-child {\n padding-right: 0;\n}\n\n.gh-content pre {\n overflow: auto;\n padding: 16px;\n font-size: 1.5rem;\n line-height: 1.5em;\n background: var(--color-lighter-gray);\n border-radius: 6px;\n font-family: var(--font-mono);\n}\n\n.gh-content :not(pre) > code {\n vertical-align: baseline;\n padding: 0.15em 0.4em;\n font-weight: 400;\n font-size: 0.95em;\n line-height: 1em;\n background: var(--color-lighter-gray);\n border-radius: 0.25em;\n font-family: var(--font-mono);\n}\n\n.gh-content mark {\n color: inherit;\n background: rgb(255 225 54 / 25%);\n}\n\n/* Cards */\n\n/* Add extra margin before/after any cards, except for when immediately preceeded by a heading */\n\n.gh-content :not(.kg-card):not(table):not([id]) + :is(.kg-card, table) {\n margin-top: calc(48px * var(--content-spacing-factor, 1));\n}\n\n.gh-content :is(.kg-card, table) + :not(.kg-card):not(table):not([id]) {\n margin-top: calc(48px * var(--content-spacing-factor, 1));\n}\n\n.gh-content :not(.kg-card):not([id]) + .kg-card.kg-width-full {\n margin-top: calc(68px * var(--content-spacing-factor, 1));\n}\n\n.gh-content .kg-card.kg-width-full + :not(.kg-card):not([id]) {\n margin-top: calc(68px * var(--content-spacing-factor, 1));\n}\n\n.kg-image {\n margin-right: auto;\n margin-left: auto;\n}\n\n.kg-embed-card {\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 100%;\n}\n\n.kg-image-card a:hover,\n.kg-gallery-image a:hover {\n opacity: 1 !important;\n}\n\nblockquote:not([class]) {\n padding-left: 2rem;\n border-left: 4px solid var(--ghost-accent-color);\n}\n\nblockquote.kg-blockquote-alt {\n font-style: normal;\n font-weight: 400;\n color: var(--color-secondary-text);\n}\n\n.has-serif-body .kg-header-card h3.kg-header-card-subheader {\n font-family: var(--font-serif);\n}\n\n.has-serif-body .kg-product-card-description :is(p, ul, ol) {\n font-family: var(--font-serif-alt);\n}\n\n/* Caption */\n\nfigcaption {\n margin-top: 12px;\n font-size: 1.3rem;\n text-align: center;\n}\n\n.kg-card.kg-width-full figcaption {\n padding: 0 16px;\n}\n\nfigcaption a {\n color: rgb(29 78 216);\n text-decoration: underline;\n}\n\n/* Paid content styles */\n\n.gh-paid-content-notice {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n padding: 36px;\n background: rgba(0, 0, 0, 0.035);\n border-radius: 14px;\n font-size: 16px;\n}\n\nhtml.has-light-text .gh-paid-content-notice {\n background: rgba(255, 255, 255, 0.035);\n}\n\n.gh-paid-content-notice h3 {\n letter-spacing: -0.015em !important;\n}\n\n.gh-paid-content-notice p {\n max-width: 350px;\n text-align: center;\n line-height: 1.3em;\n}\n\n.gh-paid-content-cta {\n display: block;\n color: var(--background-color) !important;\n background: var(--color-primary-text);\n text-decoration: none !important;\n font-weight: 600;\n font-size: 0.9em;\n padding: 8px 16px;\n margin-top: 8px;\n border-radius: 6px;\n}\n\n/* Design settings /*\n\n.has-serif-body {\n --font-size-multiplier: 1.1;\n}\n\n.has-serif-body .gh-content > blockquote,\n.has-serif-body .gh-content > ol,\n.has-serif-body .gh-content > ul,\n.has-serif-body .gh-content > dl,\n.has-serif-body .gh-content > p,\n.has-serif-body .gh-content .kg-callout-card .kg-callout-text,\n.has-serif-body .gh-content .kg-toggle-card .kg-toggle-content > ol,\n.has-serif-body .gh-content .kg-toggle-card .kg-toggle-content > ul,\n.has-serif-body .gh-content .kg-toggle-card .kg-toggle-content > p {\n font-family: var(--font-serif-alt);\n}\n\n</style>", Ae = /* @__PURE__ */ e({ default: () => je }), je = "(function () {\n const handleAudioPlayer = function (audioElementContainer) {\n const audioPlayerContainer = audioElementContainer.querySelector('.kg-audio-player-container');\n const playIconContainer = audioElementContainer.querySelector('.kg-audio-play-icon');\n const pauseIconContainer = audioElementContainer.querySelector('.kg-audio-pause-icon');\n const seekSlider = audioElementContainer.querySelector('.kg-audio-seek-slider');\n const playbackRateContainer = audioElementContainer.querySelector('.kg-audio-playback-rate');\n const muteIconContainer = audioElementContainer.querySelector('.kg-audio-mute-icon');\n const unmuteIconContainer = audioElementContainer.querySelector('.kg-audio-unmute-icon');\n const volumeSlider = audioElementContainer.querySelector('.kg-audio-volume-slider');\n const audio = audioElementContainer.querySelector('audio');\n const durationContainer = audioElementContainer.querySelector('.kg-audio-duration');\n const currentTimeContainer = audioElementContainer.querySelector('.kg-audio-current-time');\n let playbackRates = [\n {\n rate: 0.75,\n label: '0.7×',\n },\n {\n rate: 1.0,\n label: '1×',\n },\n {\n rate: 1.25,\n label: '1.2×',\n },\n {\n rate: 1.75,\n label: '1.7×',\n },\n {\n rate: 2.0,\n label: '2×',\n },\n ];\n\n let raf = null;\n let currentPlaybackRateIdx = 1;\n\n const whilePlaying = () => {\n seekSlider.value = Math.floor(audio.currentTime);\n currentTimeContainer.textContent = calculateTime(seekSlider.value);\n audioPlayerContainer.style.setProperty(\n '--seek-before-width',\n `${(seekSlider.value / seekSlider.max) * 100}%`,\n );\n raf = requestAnimationFrame(whilePlaying);\n };\n\n const showRangeProgress = (rangeInput) => {\n if (rangeInput === seekSlider) {\n audioPlayerContainer.style.setProperty(\n '--seek-before-width',\n (rangeInput.value / rangeInput.max) * 100 + '%',\n );\n } else {\n audioPlayerContainer.style.setProperty(\n '--volume-before-width',\n (rangeInput.value / rangeInput.max) * 100 + '%',\n );\n }\n };\n\n const calculateTime = (secs) => {\n const minutes = Math.floor(secs / 60);\n const seconds = Math.floor(secs % 60);\n const returnedSeconds = seconds < 10 ? `0${seconds}` : `${seconds}`;\n return `${minutes}:${returnedSeconds}`;\n };\n\n const displayDuration = () => {\n durationContainer.textContent = calculateTime(audio.duration);\n };\n\n const setSliderMax = () => {\n seekSlider.max = Math.floor(audio.duration);\n };\n\n const displayBufferedAmount = () => {\n if (audio.buffered.length > 0) {\n const bufferedAmount = Math.floor(audio.buffered.end(audio.buffered.length - 1));\n audioPlayerContainer.style.setProperty(\n '--buffered-width',\n `${(bufferedAmount / seekSlider.max) * 100}%`,\n );\n }\n };\n\n if (audio.readyState > 0) {\n displayDuration();\n setSliderMax();\n displayBufferedAmount();\n } else {\n audio.addEventListener('loadedmetadata', () => {\n displayDuration();\n setSliderMax();\n displayBufferedAmount();\n });\n }\n\n playIconContainer.addEventListener('click', () => {\n playIconContainer.classList.add('kg-audio-hide');\n pauseIconContainer.classList.remove('kg-audio-hide');\n audio.play();\n requestAnimationFrame(whilePlaying);\n });\n\n pauseIconContainer.addEventListener('click', () => {\n pauseIconContainer.classList.add('kg-audio-hide');\n playIconContainer.classList.remove('kg-audio-hide');\n audio.pause();\n cancelAnimationFrame(raf);\n });\n\n muteIconContainer.addEventListener('click', () => {\n muteIconContainer.classList.add('kg-audio-hide');\n unmuteIconContainer.classList.remove('kg-audio-hide');\n audio.muted = false;\n });\n\n unmuteIconContainer.addEventListener('click', () => {\n unmuteIconContainer.classList.add('kg-audio-hide');\n muteIconContainer.classList.remove('kg-audio-hide');\n audio.muted = true;\n });\n\n playbackRateContainer.addEventListener('click', () => {\n let nextPlaybackRate = playbackRates[(currentPlaybackRateIdx + 1) % 5];\n currentPlaybackRateIdx = currentPlaybackRateIdx + 1;\n audio.playbackRate = nextPlaybackRate.rate;\n playbackRateContainer.textContent = nextPlaybackRate.label;\n });\n\n audio.addEventListener('progress', displayBufferedAmount);\n\n seekSlider.addEventListener('input', (e) => {\n showRangeProgress(e.target);\n currentTimeContainer.textContent = calculateTime(seekSlider.value);\n if (!audio.paused) {\n cancelAnimationFrame(raf);\n }\n });\n\n seekSlider.addEventListener('change', () => {\n audio.currentTime = seekSlider.value;\n if (!audio.paused) {\n requestAnimationFrame(whilePlaying);\n }\n });\n\n volumeSlider.addEventListener('input', (e) => {\n const value = e.target.value;\n showRangeProgress(e.target);\n audio.volume = value / 100;\n });\n };\n\n const audioCardElements = document.querySelectorAll('.kg-audio-card');\n\n for (let i = 0; i < audioCardElements.length; i++) {\n handleAudioPlayer(audioCardElements[i]);\n }\n})();\n", Me = /* @__PURE__ */ e({ default: () => Ne }), Ne = "(function () {\n const images = document.querySelectorAll('.kg-gallery-image img');\n images.forEach(function (image) {\n const container = image.closest('.kg-gallery-image');\n const width = image.attributes.width.value;\n const height = image.attributes.height.value;\n const ratio = width / height;\n container.style.flex = ratio + ' 1 0%';\n });\n})();\n", Pe = /* @__PURE__ */ e({ default: () => Fe }), Fe = "(function () {\n const toggleHeadingElements = document.getElementsByClassName('kg-toggle-heading');\n\n const toggleFn = function (event) {\n const targetElement = event.target;\n const parentElement = targetElement.closest('.kg-toggle-card');\n var toggleState = parentElement.getAttribute('data-kg-toggle-state');\n if (toggleState === 'close') {\n parentElement.setAttribute('data-kg-toggle-state', 'open');\n } else {\n parentElement.setAttribute('data-kg-toggle-state', 'close');\n }\n };\n\n for (let i = 0; i < toggleHeadingElements.length; i++) {\n toggleHeadingElements[i].addEventListener('click', toggleFn, false);\n }\n})();\n", Ie = /* @__PURE__ */ e({ default: () => Le }), Le = "(function () {\n const handleVideoPlayer = function (videoElementContainer) {\n const videoPlayer = videoElementContainer.querySelector('.kg-video-player');\n const videoPlayerContainer = videoElementContainer.querySelector('.kg-video-player-container');\n const playIconContainer = videoElementContainer.querySelector('.kg-video-play-icon');\n const pauseIconContainer = videoElementContainer.querySelector('.kg-video-pause-icon');\n const seekSlider = videoElementContainer.querySelector('.kg-video-seek-slider');\n const playbackRateContainer = videoElementContainer.querySelector('.kg-video-playback-rate');\n const muteIconContainer = videoElementContainer.querySelector('.kg-video-mute-icon');\n const unmuteIconContainer = videoElementContainer.querySelector('.kg-video-unmute-icon');\n const volumeSlider = videoElementContainer.querySelector('.kg-video-volume-slider');\n const videoEl = videoElementContainer.querySelector('video');\n const durationContainer = videoElementContainer.querySelector('.kg-video-duration');\n const currentTimeContainer = videoElementContainer.querySelector('.kg-video-current-time');\n const largePlayIcon = videoElementContainer.querySelector('.kg-video-large-play-icon');\n const videoOverlay = videoElementContainer.querySelector('.kg-video-overlay');\n let playbackRates = [\n {\n rate: 0.75,\n label: '0.7×',\n },\n {\n rate: 1.0,\n label: '1×',\n },\n {\n rate: 1.25,\n label: '1.2×',\n },\n {\n rate: 1.75,\n label: '1.7×',\n },\n {\n rate: 2.0,\n label: '2×',\n },\n ];\n\n let raf = null;\n let currentPlaybackRateIdx = 1;\n if (!!videoEl.loop) {\n largePlayIcon.classList.add('kg-video-hide-animated');\n videoOverlay.classList.add('kg-video-hide-animated');\n }\n const whilePlaying = () => {\n seekSlider.value = Math.floor(videoEl.currentTime);\n currentTimeContainer.textContent = calculateTime(seekSlider.value);\n videoPlayer.style.setProperty(\n '--seek-before-width',\n `${(seekSlider.value / seekSlider.max) * 100}%`,\n );\n raf = requestAnimationFrame(whilePlaying);\n };\n\n const showRangeProgress = (rangeInput) => {\n if (rangeInput === seekSlider) {\n videoPlayer.style.setProperty(\n '--seek-before-width',\n (rangeInput.value / rangeInput.max) * 100 + '%',\n );\n } else {\n videoPlayer.style.setProperty(\n '--volume-before-width',\n (rangeInput.value / rangeInput.max) * 100 + '%',\n );\n }\n };\n\n const calculateTime = (secs) => {\n const minutes = Math.floor(secs / 60);\n const seconds = Math.floor(secs % 60);\n const returnedSeconds = seconds < 10 ? `0${seconds}` : `${seconds}`;\n return `${minutes}:${returnedSeconds}`;\n };\n\n const displayDuration = () => {\n durationContainer.textContent = calculateTime(videoEl.duration);\n };\n\n const setSliderMax = () => {\n seekSlider.max = Math.floor(videoEl.duration);\n };\n\n const displayBufferedAmount = () => {\n if (videoEl.buffered.length > 0) {\n const bufferedAmount = Math.floor(videoEl.buffered.end(videoEl.buffered.length - 1));\n videoPlayer.style.setProperty(\n '--buffered-width',\n `${(bufferedAmount / seekSlider.max) * 100}%`,\n );\n }\n };\n\n if (videoEl.readyState > 0) {\n displayDuration();\n setSliderMax();\n displayBufferedAmount();\n if (videoEl.autoplay) {\n raf = requestAnimationFrame(whilePlaying);\n playIconContainer.classList.add('kg-video-hide');\n pauseIconContainer.classList.remove('kg-video-hide');\n }\n if (videoEl.muted) {\n unmuteIconContainer.classList.add('kg-video-hide');\n muteIconContainer.classList.remove('kg-video-hide');\n }\n } else {\n videoEl.addEventListener('loadedmetadata', () => {\n displayDuration();\n setSliderMax();\n displayBufferedAmount();\n if (videoEl.autoplay) {\n raf = requestAnimationFrame(whilePlaying);\n playIconContainer.classList.add('kg-video-hide');\n pauseIconContainer.classList.remove('kg-video-hide');\n }\n if (videoEl.muted) {\n unmuteIconContainer.classList.add('kg-video-hide');\n muteIconContainer.classList.remove('kg-video-hide');\n }\n });\n }\n\n videoElementContainer.onmouseover = () => {\n if (!videoEl.loop) {\n videoPlayerContainer.classList.remove('kg-video-hide-animated');\n }\n };\n\n videoElementContainer.onmouseleave = () => {\n const isPlaying = !!(\n videoEl.currentTime > 0 &&\n !videoEl.paused &&\n !videoEl.ended &&\n videoEl.readyState > 2\n );\n if (isPlaying) {\n videoPlayerContainer.classList.add('kg-video-hide-animated');\n }\n };\n\n videoElementContainer.addEventListener('click', () => {\n if (!videoEl.loop) {\n const isPlaying = !!(\n videoEl.currentTime > 0 &&\n !videoEl.paused &&\n !videoEl.ended &&\n videoEl.readyState > 2\n );\n if (isPlaying) {\n handleOnPause();\n } else {\n handleOnPlay();\n }\n }\n });\n\n videoEl.onplay = () => {\n largePlayIcon.classList.add('kg-video-hide-animated');\n videoOverlay.classList.add('kg-video-hide-animated');\n playIconContainer.classList.add('kg-video-hide');\n pauseIconContainer.classList.remove('kg-video-hide');\n };\n\n const handleOnPlay = () => {\n largePlayIcon.classList.add('kg-video-hide-animated');\n videoOverlay.classList.add('kg-video-hide-animated');\n playIconContainer.classList.add('kg-video-hide');\n pauseIconContainer.classList.remove('kg-video-hide');\n videoEl.play();\n raf = requestAnimationFrame(whilePlaying);\n };\n\n const handleOnPause = () => {\n pauseIconContainer.classList.add('kg-video-hide');\n playIconContainer.classList.remove('kg-video-hide');\n videoEl.pause();\n cancelAnimationFrame(raf);\n };\n\n largePlayIcon.addEventListener('click', (event) => {\n event.stopPropagation();\n handleOnPlay();\n });\n\n playIconContainer.addEventListener('click', (event) => {\n event.stopPropagation();\n handleOnPlay();\n });\n\n pauseIconContainer.addEventListener('click', (event) => {\n event.stopPropagation();\n handleOnPause();\n });\n\n muteIconContainer.addEventListener('click', (event) => {\n event.stopPropagation();\n muteIconContainer.classList.add('kg-video-hide');\n unmuteIconContainer.classList.remove('kg-video-hide');\n videoEl.muted = false;\n });\n\n unmuteIconContainer.addEventListener('click', (event) => {\n event.stopPropagation();\n unmuteIconContainer.classList.add('kg-video-hide');\n muteIconContainer.classList.remove('kg-video-hide');\n videoEl.muted = true;\n });\n\n playbackRateContainer.addEventListener('click', (event) => {\n event.stopPropagation();\n let nextPlaybackRate = playbackRates[(currentPlaybackRateIdx + 1) % 5];\n currentPlaybackRateIdx = currentPlaybackRateIdx + 1;\n videoEl.playbackRate = nextPlaybackRate.rate;\n playbackRateContainer.textContent = nextPlaybackRate.label;\n });\n\n videoEl.addEventListener('progress', displayBufferedAmount);\n\n seekSlider.addEventListener('input', (e) => {\n e.stopPropagation();\n showRangeProgress(e.target);\n currentTimeContainer.textContent = calculateTime(seekSlider.value);\n if (!videoEl.paused) {\n cancelAnimationFrame(raf);\n }\n });\n\n seekSlider.addEventListener('change', (event) => {\n event.stopPropagation();\n videoEl.currentTime = seekSlider.value;\n if (!videoEl.paused) {\n requestAnimationFrame(whilePlaying);\n }\n });\n\n volumeSlider.addEventListener('click', (event) => {\n event.stopPropagation();\n });\n\n seekSlider.addEventListener('click', (event) => {\n event.stopPropagation();\n });\n\n volumeSlider.addEventListener('input', (e) => {\n e.stopPropagation();\n const value = e.target.value;\n showRangeProgress(e.target);\n videoEl.volume = value / 100;\n });\n };\n\n const setVideoContainerAspectRatio = function (videoCard) {\n const container = videoCard.querySelector('.kg-video-container');\n const video = container.querySelector('video');\n if (container && video.width && video.height) {\n const aspectRatio = ((video.height / video.width) * 100).toFixed(3);\n container.style.paddingBottom = `${aspectRatio}%`;\n }\n };\n\n const videoCardElements = document.querySelectorAll('.kg-video-card');\n\n for (let i = 0; i < videoCardElements.length; i++) {\n setVideoContainerAspectRatio(videoCardElements[i]);\n handleVideoPlayer(videoCardElements[i]);\n }\n})();\n", Re = /* @__PURE__ */ e({ default: () => ze }), ze = ".kg-audio-card,\n.kg-audio-card * {\n box-sizing: border-box;\n}\n\n.kg-audio-card {\n display: flex;\n width: 100%;\n min-height: 96px;\n border-radius: 6px;\n padding: 4px;\n background: #fff;\n color: #222;\n box-shadow: inset 0 0 0 1px rgba(124, 139, 154, 0.25);\n font-family:\n -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell',\n 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;\n}\n\n.kg-audio-card + .kg-audio-card {\n margin-top: 1em;\n}\n\n.kg-audio-thumbnail {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 80px;\n min-width: 80px;\n margin: 8px;\n background: transparent;\n object-fit: cover;\n aspect-ratio: 1/1;\n border-radius: 3px;\n}\n\n.kg-audio-thumbnail.placeholder {\n background: var(--ghost-accent-color);\n}\n\n.kg-audio-thumbnail.placeholder svg {\n width: 24px;\n height: 24px;\n fill: white;\n}\n\n.kg-audio-player-container {\n position: relative;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n width: 100%;\n --seek-before-width: 0%;\n --volume-before-width: 100%;\n --buffered-width: 0%;\n}\n\n.kg-audio-title {\n width: 100%;\n margin: 8px 0 0 0;\n padding: 8px 12px;\n border: none;\n font-family: inherit;\n font-size: 16px;\n font-weight: 600;\n line-height: 1.15em;\n background: transparent;\n}\n\n.kg-audio-player {\n display: flex;\n flex-grow: 1;\n align-items: center;\n padding: 8px 12px;\n}\n\n.kg-audio-current-time {\n min-width: 38px;\n padding: 0 4px;\n font-family: inherit;\n font-size: 12.5px;\n font-weight: 500;\n line-height: 1em;\n white-space: nowrap;\n}\n\n.kg-audio-time {\n width: 56px;\n color: #ababab;\n font-family: inherit;\n font-size: 12.5px;\n font-weight: 500;\n line-height: 1em;\n white-space: nowrap;\n}\n\n.kg-audio-duration {\n padding: 0 4px;\n}\n\n.kg-audio-play-icon,\n.kg-audio-pause-icon {\n position: relative;\n bottom: 1px;\n padding: 0px 4px 0 0;\n font-size: 0;\n background: transparent;\n}\n\n.kg-audio-hide {\n display: none !important;\n}\n\n.kg-audio-play-icon svg,\n.kg-audio-pause-icon svg {\n width: 14px;\n height: 14px;\n fill: currentColor;\n}\n\n.kg-audio-seek-slider {\n flex-grow: 1;\n margin: 0 4px;\n}\n\n@media (max-width: 640px) {\n .kg-audio-seek-slider {\n display: none;\n }\n}\n\n.kg-audio-playback-rate {\n min-width: 37px;\n padding: 0 4px;\n font-family: inherit;\n font-size: 12.5px;\n font-weight: 600;\n line-height: 1em;\n text-align: left;\n background: transparent;\n white-space: nowrap;\n}\n\n@media (max-width: 640px) {\n .kg-audio-playback-rate {\n padding-left: 8px;\n }\n}\n\n.kg-audio-mute-icon,\n.kg-audio-unmute-icon {\n position: relative;\n bottom: -1px;\n padding: 0 4px;\n font-size: 0;\n background: transparent;\n}\n\n@media (max-width: 640px) {\n .kg-audio-mute-icon,\n .kg-audio-unmute-icon {\n margin-left: auto;\n }\n}\n\n.kg-audio-mute-icon svg,\n.kg-audio-unmute-icon svg {\n width: 16px;\n height: 16px;\n fill: currentColor;\n}\n\n.kg-audio-volume-slider {\n width: 80px;\n}\n\n@media (max-width: 400px) {\n .kg-audio-volume-slider {\n display: none;\n }\n}\n\n.kg-audio-seek-slider::before {\n content: '';\n position: absolute;\n left: 0;\n width: var(--seek-before-width) !important;\n height: 4px;\n cursor: pointer;\n background-color: currentColor;\n border-radius: 2px;\n}\n\n.kg-audio-volume-slider::before {\n content: '';\n position: absolute;\n left: 0;\n width: var(--volume-before-width) !important;\n height: 4px;\n cursor: pointer;\n background-color: currentColor;\n border-radius: 2px;\n}\n\n/* Resetting browser styles\n/* --------------------------------------------------------------- */\n\n.kg-audio-player-container input[type='range'] {\n position: relative;\n -webkit-appearance: none;\n background: transparent;\n}\n\n.kg-audio-player-container input[type='range']:focus {\n outline: none;\n}\n\n.kg-audio-player-container input[type='range']::-webkit-slider-thumb {\n -webkit-appearance: none;\n}\n\n.kg-audio-player-container input[type='range']::-ms-track {\n cursor: pointer;\n border-color: transparent;\n color: transparent;\n background: transparent;\n}\n\n.kg-audio-player-container button {\n display: flex;\n align-items: center;\n border: 0;\n cursor: pointer;\n}\n\n.kg-audio-player-container input[type='range'] {\n height: auto;\n padding: 0;\n border: 0;\n}\n\n/* Chrome & Safari styles\n/* --------------------------------------------------------------- */\n\n.kg-audio-player-container input[type='range']::-webkit-slider-runnable-track {\n width: 100%;\n height: 4px;\n cursor: pointer;\n background: rgba(124, 139, 154, 0.25);\n border-radius: 2px;\n}\n\n.kg-audio-player-container input[type='range']::-webkit-slider-thumb {\n position: relative;\n box-sizing: content-box;\n width: 13px;\n height: 13px;\n margin: -5px 0 0 0;\n border: 0;\n cursor: pointer;\n background: #fff;\n border-radius: 50%;\n box-shadow:\n 0 0 0 1px rgba(0, 0, 0, 0.08),\n 0 1px 4px rgba(0, 0, 0, 0.24);\n}\n\n.kg-audio-player-container input[type='range']:active::-webkit-slider-thumb {\n transform: scale(1.2);\n}\n\n/* Firefox styles\n/* --------------------------------------------------------------- */\n\n.kg-audio-player-container input[type='range']::-moz-range-track {\n width: 100%;\n height: 4px;\n cursor: pointer;\n background: rgba(124, 139, 154, 0.25);\n border-radius: 2px;\n}\n\n.kg-audio-player-container input[type='range']::-moz-range-progress {\n background: currentColor;\n border-radius: 2px;\n}\n\n.kg-audio-player-container input[type='range']::-moz-range-thumb {\n box-sizing: content-box;\n width: 13px;\n height: 13px;\n border: 0;\n cursor: pointer;\n background: #fff;\n border-radius: 50%;\n box-shadow:\n 0 0 0 1px rgba(0, 0, 0, 0.08),\n 0 1px 4px rgba(0, 0, 0, 0.24);\n}\n\n.kg-audio-player-container input[type='range']:active::-moz-range-thumb {\n transform: scale(1.2);\n}\n\n/* Edge & IE styles\n/* --------------------------------------------------------------- */\n\n.kg-audio-player-container input[type='range']::-ms-track {\n width: 100%;\n height: 3px;\n border: solid transparent;\n color: transparent;\n cursor: pointer;\n background: transparent;\n}\n\n.kg-audio-player-container input[type='range']::-ms-fill-lower {\n background: #fff;\n}\n\n.kg-audio-player-container input[type='range']::-ms-fill-upper {\n background: currentColor;\n}\n\n.kg-audio-player-container input[type='range']::-ms-thumb {\n box-sizing: content-box;\n width: 13px;\n height: 13px;\n border: 0;\n cursor: pointer;\n background: #fff;\n border-radius: 50%;\n box-shadow:\n 0 0 0 1px rgba(0, 0, 0, 0.08),\n 0 1px 4px rgba(0, 0, 0, 0.24);\n}\n\n.kg-audio-player-container input[type='range']:active::-ms-thumb {\n transform: scale(1.2);\n}\n", Be = /* @__PURE__ */ e({ default: () => q }), q = ".kg-blockquote-alt {\n font-size: 1.5em;\n font-style: italic;\n line-height: 1.7em;\n text-align: center;\n padding: 0 2.5em;\n}\n\n@media (max-width: 800px) {\n .kg-blockquote-alt {\n font-size: 1.4em;\n padding-left: 2em;\n padding-right: 2em;\n }\n}\n\n@media (max-width: 600px) {\n .kg-blockquote-alt {\n font-size: 1.2em;\n padding-left: 1.75em;\n padding-right: 1.75em;\n }\n}\n", Ve = /* @__PURE__ */ e({ default: () => He }), He = ".kg-bookmark-card,\n.kg-bookmark-card * {\n box-sizing: border-box;\n}\n\n.kg-bookmark-card,\n.kg-bookmark-publisher {\n position: relative;\n /* width: 100%; */\n}\n\n.kg-bookmark-card a.kg-bookmark-container,\n.kg-bookmark-card a.kg-bookmark-container:hover {\n display: flex;\n background: #fff;\n text-decoration: none;\n border-radius: 6px;\n border: 1px solid rgb(124 139 154 / 25%);\n overflow: hidden;\n color: #222;\n}\n\n.kg-bookmark-content {\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n flex-basis: 100%;\n align-items: flex-start;\n justify-content: flex-start;\n padding: 20px;\n overflow: hidden;\n font-family:\n -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell',\n 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;\n}\n\n.kg-bookmark-title {\n font-size: 15px;\n line-height: 1.4em;\n font-weight: 600;\n}\n\n.kg-bookmark-description {\n display: -webkit-box;\n font-size: 14px;\n line-height: 1.5em;\n margin-top: 3px;\n font-weight: 400;\n max-height: 44px;\n overflow-y: hidden;\n opacity: 0.7;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n}\n\n.kg-bookmark-metadata {\n display: flex;\n align-items: center;\n margin-top: 22px;\n width: 100%;\n font-size: 14px;\n font-weight: 500;\n white-space: nowrap;\n}\n\n.kg-bookmark-metadata > *:not(img) {\n opacity: 0.7;\n}\n\n.kg-bookmark-icon {\n width: 20px;\n height: 20px;\n margin-right: 6px;\n}\n\n.kg-bookmark-author,\n.kg-bookmark-publisher {\n display: inline;\n}\n\n.kg-bookmark-publisher {\n text-overflow: ellipsis;\n overflow: hidden;\n max-width: 240px;\n white-space: nowrap;\n display: block;\n line-height: 1.65em;\n}\n\n.kg-bookmark-metadata > span:nth-of-type(2) {\n font-weight: 400;\n}\n\n.kg-bookmark-metadata > span:nth-of-type(2):before {\n content: '•';\n margin: 0 6px;\n}\n\n.kg-bookmark-metadata > span:last-of-type {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.kg-bookmark-thumbnail {\n position: relative;\n flex-grow: 1;\n min-width: 33%;\n}\n\n.kg-bookmark-thumbnail img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n position: absolute;\n top: 0;\n left: 0;\n border-radius: 0 2px 2px 0;\n}\n", J = /* @__PURE__ */ e({ default: () => Ue }), Ue = ".kg-button-card,\n.kg-button-card * {\n box-sizing: border-box;\n}\n\n.kg-button-card {\n display: flex;\n position: static;\n align-items: center;\n width: 100%;\n justify-content: center;\n}\n\n.kg-button-card.kg-align-left {\n justify-content: flex-start;\n}\n\n.kg-button-card a.kg-btn {\n display: flex;\n position: static;\n align-items: center;\n padding: 0 1.2em;\n height: 2.4em;\n line-height: 1em;\n font-family:\n -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell',\n 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;\n font-size: 0.95em;\n font-weight: 600;\n text-decoration: none;\n border-radius: 5px;\n transition: opacity 0.2s ease-in-out;\n}\n\n.kg-button-card a.kg-btn:hover {\n opacity: 0.85;\n}\n\n.kg-button-card a.kg-btn-accent {\n background-color: var(--ghost-accent-color);\n color: #fff;\n}\n", We = /* @__PURE__ */ e({ default: () => Y }), Y = ".kg-callout-card,\n.kg-callout-card * {\n box-sizing: border-box;\n}\n\n.kg-callout-card {\n display: flex;\n padding: 1.2em 1.6em;\n border-radius: 8px;\n}\n\n.kg-callout-card-grey {\n background: rgba(124, 139, 154, 0.13);\n}\n\n.kg-callout-card-white {\n background: transparent;\n box-shadow: inset 0 0 0 1px rgba(124, 139, 154, 0.2);\n}\n\n.kg-callout-card-blue {\n background: rgba(33, 172, 232, 0.12);\n}\n\n.kg-callout-card-green {\n background: rgba(52, 183, 67, 0.12);\n}\n\n.kg-callout-card-yellow {\n background: rgba(240, 165, 15, 0.13);\n}\n\n.kg-callout-card-red {\n background: rgba(209, 46, 46, 0.11);\n}\n\n.kg-callout-card-pink {\n background: rgba(225, 71, 174, 0.11);\n}\n\n.kg-callout-card-purple {\n background: rgba(135, 85, 236, 0.12);\n}\n\n.kg-callout-card-accent {\n background: var(--ghost-accent-color);\n color: #fff;\n}\n\n.kg-callout-card.kg-callout-card-accent a {\n color: #fff;\n text-decoration: underline;\n}\n\n.kg-callout-card div.kg-callout-emoji {\n padding-right: 0.8em;\n line-height: 1.25em;\n font-size: 1.15em;\n}\n\n.kg-callout-card div.kg-callout-text {\n font-size: 0.95em;\n line-height: 1.5em;\n}\n\n.kg-callout-card + .kg-callout-card {\n margin-top: 1em;\n}\n", Ge = /* @__PURE__ */ e({ default: () => Ke }), Ke = ".kg-collection-card {\n width: 100%;\n margin-top: 6vmin;\n}\n\n.kg-collection-card + * {\n margin-top: 6vmin;\n}\n\n.kg-collection-card-title {\n margin: 0.8rem 0 1.6rem 0;\n font-size: 1.5rem;\n font-weight: 700;\n text-transform: uppercase;\n}\n\na.kg-collection-card-post-wrapper {\n text-decoration: none;\n color: var(--text-color);\n}\n\na.kg-collection-card-post-wrapper:hover {\n opacity: 1;\n}\n\n.kg-collection-card-post {\n display: flex;\n gap: 3.2rem;\n}\n\n.kg-collection-card-img {\n position: relative;\n aspect-ratio: 3/2;\n}\n\n.kg-collection-card-img img {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n\na.kg-collection-card-post-wrapper:hover img {\n opacity: 0.92;\n transition: all 0.2s ease;\n}\n\n.kg-collection-card-content {\n display: flex;\n flex-direction: column;\n font-size: 1.6rem;\n}\n\nh2.kg-collection-card-post-title {\n margin: 0;\n font-size: 2.4rem;\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n}\n\np.kg-collection-card-post-excerpt {\n margin-top: 1.2rem;\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n line-height: 1.4;\n}\n\n.kg-collection-card-post-meta {\n display: flex;\n opacity: 0.5;\n margin-top: 1.2rem;\n font-size: 1.3rem;\n font-weight: 500;\n}\n\n/* List layout */\n\n.kg-collection-card-list {\n display: flex;\n flex-direction: column;\n gap: 3.2rem;\n}\n\n@media (max-width: 767px) {\n .kg-collection-card-list .kg-collection-card-post {\n flex-direction: column;\n }\n}\n\n.kg-collection-card-list .kg-collection-card-img {\n flex: 0 0 30%;\n}\n\n/* Grid layout */\n\n.kg-collection-card-grid {\n display: grid;\n grid-template-columns: repeat(1, minmax(0, 1fr));\n gap: 2.4rem;\n}\n\n@media (min-width: 640px) {\n .kg-collection-card-grid:not(.columns-1) {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n}\n\n@media (min-width: 1024px) {\n .kg-collection-card-grid:not(.columns-1):not(.columns-2) {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n gap: 3.2rem;\n }\n\n .kg-collection-card-grid.columns-1 {\n gap: 4.8rem;\n }\n\n .kg-collection-card-grid.columns-2 {\n gap: 4rem;\n }\n}\n\n@media (min-width: 1280px) {\n .kg-collection-card-grid:not(.columns-1):not(.columns-2):not(.columns-3) {\n grid-template-columns: repeat(4, minmax(0, 1fr));\n }\n}\n\n.kg-collection-card-grid .kg-collection-card-post {\n flex-direction: column;\n gap: 1.2rem;\n}\n\n@media (min-width: 1024px) {\n .kg-collection-card-grid.columns-1 .kg-collection-card-post {\n gap: 2rem;\n }\n\n .kg-collection-card-grid.columns-2 .kg-collection-card-post {\n gap: 1.6rem;\n }\n}\n\n.kg-collection-card-grid.columns-1 .kg-collection-card-img,\n.kg-collection-card-grid.columns-2 .kg-collection-card-img {\n aspect-ratio: 16/9;\n}\n\n.kg-collection-card-grid .kg-collection-card-content {\n font-size: 1.5rem;\n}\n\n@media (min-width: 640px) {\n .kg-collection-card-grid .kg-collection-card-content {\n font-size: 1.6rem;\n }\n}\n\n@media (min-width: 1024px) {\n .kg-collection-card-grid.columns-1 .kg-collection-card-content {\n font-size: 1.8rem;\n }\n\n .kg-collection-card-grid.columns-3 .kg-collection-card-content,\n .kg-collection-card-grid.columns-4 .kg-collection-card-content {\n font-size: 1.5rem;\n }\n}\n\n.kg-collection-card-grid h2.kg-collection-card-post-title {\n font-size: 1.7rem;\n}\n\n.kg-collection-card-grid .kg-collection-card-post-meta {\n font-size: 1.25rem;\n}\n\n@media (min-width: 640px) {\n .kg-collection-card-grid h2.kg-collection-card-post-title {\n font-size: 1.9rem;\n }\n\n .kg-collection-card-grid.columns-1 h2.kg-collection-card-post-title {\n font-size: 2.4rem;\n }\n\n .kg-collection-card-grid:not(.columns-3):not(.columns-4) .kg-collection-card-post-meta {\n font-size: 1.3rem;\n }\n}\n\n@media (min-width: 1024px) {\n .kg-collection-card-grid.columns-1 h2.kg-collection-card-post-title {\n font-size: 3.6rem;\n }\n\n .kg-collection-card-grid.columns-2 h2.kg-collection-card-post-title {\n font-size: 2.4rem;\n }\n\n .kg-collection-card-grid.columns-1 .kg-collection-card-post-meta {\n font-size: 1.4rem;\n }\n}\n\n@media (min-width: 1280px) {\n .kg-collection-card-grid.columns-4 h2.kg-collection-card-post-title {\n font-size: 1.7rem;\n }\n}\n", qe = /* @__PURE__ */ e({ default: () => X }), X = ".kg-cta-card,\n.kg-cta-card * {\n box-sizing: border-box;\n}\n\n.kg-cta-card {\n display: flex;\n flex-direction: column;\n border-radius: 8px;\n}\n\n.kg-cta-bg-grey {\n background: rgba(151, 163, 175, 0.14);\n}\n\n.kg-cta-bg-white {\n background: transparent;\n box-shadow: inset 0 0 0 1px rgba(124, 139, 154, 0.2);\n}\n\n.kg-cta-bg-blue {\n background: rgba(33, 172, 232, 0.12);\n}\n\n.kg-cta-bg-green {\n background: rgba(52, 183, 67, 0.12);\n}\n\n.kg-cta-bg-yellow {\n background: rgba(240, 165, 15, 0.13);\n}\n\n.kg-cta-bg-red {\n background: rgba(209, 46, 46, 0.11);\n}\n\n.kg-cta-bg-pink {\n background: rgba(225, 71, 174, 0.11);\n}\n\n.kg-cta-bg-purple {\n background: rgba(135, 85, 236, 0.12);\n}\n\n.kg-cta-sponsor-label-wrapper {\n margin: 0 1.5em;\n padding: 0.7em 0;\n border-bottom: 1px solid rgba(124, 139, 154, 0.2);\n}\n\n@media (max-width: 600px) {\n .kg-cta-sponsor-label-wrapper {\n margin: 0 1.25em;\n padding: 0.5em 0;\n }\n}\n\n.kg-cta-bg-none .kg-cta-sponsor-label-wrapper {\n margin: 0;\n padding-top: 0;\n}\n\n.kg-cta-has-img\n .kg-cta-sponsor-label-wrapper:not(.kg-cta-bg-none .kg-cta-sponsor-label-wrapper):not(\n .kg-cta-minimal .kg-cta-sponsor-label-wrapper\n ),\n.kg-cta-bg-none.kg-cta-no-dividers .kg-cta-sponsor-label-wrapper {\n border-bottom: 0;\n}\n\n.kg-cta-sponsor-label {\n font-family:\n -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell',\n 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;\n font-size: 12px;\n font-weight: 600;\n text-transform: uppercase;\n text-wrap: pretty;\n}\n\n.kg-cta-sponsor-label span:not(a span) {\n color: color-mix(in srgb, currentColor 45%, transparent);\n}\n\n.kg-cta-sponsor-label a,\n.kg-cta-sponsor-label a span {\n color: currentColor;\n transition: opacity 0.15s ease-in-out;\n}\n\n.kg-cta-sponsor-label a:hover,\n.kg-cta-sponsor-label a:hover span {\n color: currentColor;\n opacity: 0.85;\n}\n\n.kg-cta-link-accent .kg-cta-sponsor-label a {\n color: var(--ghost-accent-color);\n}\n\n.kg-cta-content {\n display: flex;\n padding: 1.5em;\n gap: 1.5em;\n}\n\n@media (max-width: 600px) {\n .kg-cta-content {\n padding: 1.25em;\n gap: 1.25em;\n }\n}\n\n.kg-cta-has-img\n .kg-cta-sponsor-label-wrapper\n + .kg-cta-content:not(.kg-cta-bg-none .kg-cta-content):not(.kg-cta-minimal .kg-cta-content) {\n padding-top: 0;\n}\n\n.kg-cta-bg-none .kg-cta-content {\n padding: 1.5em 0;\n border-bottom: 1px solid rgba(124, 139, 154, 0.2);\n}\n\n.kg-cta-bg-none.kg-cta-no-dividers .kg-cta-content {\n padding: 0;\n border-bottom: none;\n}\n\n.kg-cta-bg-none:not(.kg-cta-no-dividers)\n .kg-cta-content:not(.kg-cta-sponsor-label-wrapper + .kg-cta-content) {\n border-top: 1px solid rgba(124, 139, 154, 0.2);\n}\n\n@media (max-width: 600px) {\n .kg-cta-bg-none .kg-cta-content {\n padding: 1.25em 0;\n }\n}\n\n.kg-cta-minimal .kg-cta-content {\n flex-direction: row;\n}\n\n@media (max-width: 600px) {\n .kg-cta-minimal .kg-cta-content {\n flex-direction: column;\n gap: 1.6rem;\n }\n}\n\n.kg-cta-immersive .kg-cta-content {\n flex-direction: column;\n}\n\n.kg-cta-content-inner {\n display: flex;\n flex-direction: column;\n gap: 1.5em;\n}\n\n@media (max-width: 600px) {\n .kg-cta-content-inner {\n gap: 1.25em;\n }\n}\n\n.kg-cta-immersive.kg-cta-centered .kg-cta-content-inner {\n align-items: center;\n}\n\n.kg-cta-image-container {\n flex-shrink: 0;\n}\n\n.kg-cta-image-container img {\n width: 100%;\n height: auto;\n margin: 0;\n object-fit: cover;\n border-radius: 6px;\n}\n\n.kg-cta-minimal .kg-cta-image-container img {\n width: 64px;\n height: 64px;\n}\n\n@media (max-width: 600px) {\n .kg-cta-minimal .kg-cta-image-container img {\n width: 52px;\n height: 52px;\n }\n}\n\n.kg-cta-text p {\n margin: 0;\n line-height: 1.5em;\n text-wrap: pretty;\n}\n\n.kg-cta-bg-none .kg-cta-text p {\n line-height: unset;\n}\n\n.kg-cta-immersive.kg-cta-centered .kg-cta-text {\n text-align: center;\n}\n\n.kg-cta-text p + p {\n margin-top: 1.25em;\n}\n\n.kg-cta-text a {\n color: currentColor;\n transition: opacity 0.15s ease-in-out;\n}\n\n.kg-cta-text a:hover {\n color: currentColor;\n opacity: 0.85;\n}\n\n.kg-cta-link-accent .kg-cta-text a {\n color: var(--ghost-accent-color);\n}\n\na.kg-cta-button {\n display: flex;\n position: static;\n align-items: center;\n justify-content: center;\n padding: 0 1em;\n height: 2.5em;\n font-family:\n -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell',\n 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;\n font-size: 0.95em;\n font-weight: 500;\n line-height: 1.65;\n text-decoration: none;\n border-radius: 6px;\n transition: opacity 0.15s ease-in-out;\n}\n\na.kg-cta-button:hover {\n opacity: 0.85;\n}\n\na.kg-cta-button.kg-style-accent {\n background-color: var(--ghost-accent-color);\n}\n\na.kg-cta-button {\n width: max-content;\n}\n\n.kg-cta-immersive.kg-cta-has-img a.kg-cta-button {\n width: 100%;\n}\n", Je = /* @__PURE__ */ e({ default: () => Ye }), Ye = ".kg-file-card,\n.kg-file-card * {\n box-sizing: border-box;\n}\n\n.kg-file-card {\n display: flex;\n}\n\n.kg-file-card a.kg-file-card-container {\n display: flex;\n align-items: stretch;\n justify-content: space-between;\n color: inherit;\n padding: 12px;\n min-height: 92px;\n background: #fff;\n color: #222;\n border: 1px solid rgb(124 139 154 / 25%);\n border-radius: 5px;\n transition: all ease-in-out 0.35s;\n text-decoration: none;\n width: 100%;\n font-family:\n -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell',\n 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;\n}\n\n.kg-file-card a.kg-file-card-container:hover {\n border: 1px solid rgb(124 139 154 / 35%);\n}\n\n.kg-file-card-contents {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n margin: 4px 8px;\n width: 100%;\n}\n\n.kg-file-card-title {\n font-size: 16px;\n font-weight: 600;\n line-height: 1.3em;\n}\n\n.kg-file-card-caption {\n font-size: 14px;\n line-height: 1.3em;\n opacity: 0.7;\n}\n\n.kg-file-card-title + .kg-file-card-caption {\n flex-grow: 1;\n margin-top: 3px;\n}\n\n.kg-file-card-metadata {\n display: inline;\n font-size: 14px;\n line-height: 1.3em;\n margin-top: 5px;\n}\n\n.kg-file-card-filename {\n display: inline;\n font-weight: 500;\n}\n\n.kg-file-card-filesize {\n display: inline-block;\n font-size: 14px;\n opacity: 0.6;\n}\n\n.kg-file-card-filesize:before {\n display: inline-block;\n content: '\\2022';\n margin-left: 6px;\n margin-right: 6px;\n}\n\n.kg-file-card-icon {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 80px;\n min-width: 80px;\n height: 100%;\n min-height: 80px;\n}\n\n.kg-file-card-icon:before {\n position: absolute;\n display: block;\n content: '';\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: currentColor;\n opacity: 0.06;\n transition: opacity ease-in-out 0.35s;\n border-radius: 3px;\n}\n\n.kg-file-card a.kg-file-card-container:hover .kg-file-card-icon:before {\n opacity: 0.08;\n}\n\n.kg-file-card-icon svg {\n width: 24px;\n height: 24px;\n color: var(--ghost-accent-color);\n}\n\n/* Size variations */\n.kg-file-card-medium a.kg-file-card-container {\n min-height: 72px;\n}\n\n.kg-file-card-medium .kg-file-card-caption {\n opacity: 1;\n font-weight: 500;\n}\n\n.kg-file-card-small a.kg-file-card-container {\n align-items: center;\n min-height: 52px;\n}\n\n.kg-file-card-small .kg-file-card-metadata {\n font-size: 14px;\n margin-top: 0;\n}\n\n.kg-file-card-small .kg-file-card-icon svg {\n width: 20px;\n height: 20px;\n}\n\n.kg-file-card + .kg-file-card {\n margin-top: 1em;\n}\n", Xe = /* @__PURE__ */ e({ default: () => Z }), Z = ".kg-gallery-card,\n.kg-gallery-card * {\n box-sizing: border-box;\n}\n\n.kg-gallery-card,\n.kg-image-card {\n --gap: 1.2rem;\n}\n\n.kg-image-card:not(.kg-card-hascaption) + .kg-image-card,\n.kg-image-card:not(.kg-card-hascaption) + .kg-gallery-card,\n.kg-gallery-card:not(.kg-card-hascaption) + .kg-image-card,\n.kg-gallery-card:not(.kg-card-hascaption) + .kg-gallery-card {\n margin-top: var(--gap);\n}\n\n.kg-gallery-container {\n position: relative;\n}\n\n.kg-gallery-row {\n display: flex;\n flex-direction: row;\n justify-content: center;\n}\n\n.kg-gallery-image img {\n display: block;\n margin: 0;\n width: 100%;\n height: 100%;\n}\n\n.kg-gallery-row:not(:first-of-type) {\n margin: var(--gap) 0 0;\n}\n\n.kg-gallery-image:not(:first-of-type) {\n margin: 0 0 0 var(--gap);\n}\n\n@media (max-width: 600px) {\n .kg-gallery-card,\n .kg-image-card {\n --gap: 0.6rem;\n }\n}\n", Ze = /* @__PURE__ */ e({ default: () => Qe }), Qe = ".kg-header-card,\n.kg-header-card * {\n box-sizing: border-box;\n}\n\n.kg-header-card {\n padding: 12vmin 4em;\n min-height: 60vh;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n text-align: center;\n}\n\n.kg-header-card.kg-size-small {\n padding-top: 14vmin;\n padding-bottom: 14vmin;\n min-height: 40vh;\n}\n\n.kg-header-card.kg-size-large {\n padding-top: 18vmin;\n padding-bottom: 18vmin;\n min-height: 80vh;\n}\n\n.kg-header-card.kg-align-left {\n text-align: left;\n align-items: flex-start;\n}\n\n.kg-header-card.kg-style-dark {\n background: #151515;\n color: #ffffff;\n}\n\n.kg-header-card.kg-style-light {\n background-color: #fafafa;\n}\n\n.kg-header-card.kg-style-accent {\n background-color: var(--ghost-accent-color);\n}\n\n.kg-header-card.kg-style-image {\n position: relative;\n background-color: #e7e7e7;\n background-size: cover;\n background-position: center;\n}\n\n.kg-header-card.kg-style-image::before {\n position: absolute;\n display: block;\n content: '';\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: linear-gradient(0deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.2));\n}\n\n.kg-header-card h2.kg-header-card-header {\n font-size: 5em;\n font-weight: 700;\n line-height: 1.1em;\n letter-spacing: -0.01em;\n margin: 0;\n}\n\n.kg-header-card h2.kg-header-card-header strong {\n font-weight: 800;\n}\n\n.kg-header-card.kg-size-small h2.kg-header-card-header {\n font-size: 4em;\n}\n\n.kg-header-card.kg-size-large h2.kg-header-card-header {\n font-size: 6em;\n}\n\n.kg-header-card h3.kg-header-card-subheader {\n font-size: 1.5em;\n font-weight: 500;\n line-height: 1.4em;\n margin: 0;\n max-width: 40em;\n}\n\n.kg-header-card h2 + h3.kg-header-card-subheader {\n margin: 0.35em 0 0;\n}\n\n.kg-header-card h3.kg-header-card-subheader strong {\n font-weight: 600;\n}\n\n.kg-header-card.kg-size-small h3.kg-header-card-subheader {\n font-size: 1.25em;\n}\n\n.kg-header-card.kg-size-large h3.kg-header-card-subheader {\n font-size: 1.75em;\n}\n\n.kg-header-card:not(.kg-style-light) h2.kg-header-card-header,\n.kg-header-card:not(.kg-style-light) h3.kg-header-card-subheader {\n color: #ffffff;\n}\n\n.kg-header-card.kg-style-accent h3.kg-header-card-subheader,\n.kg-header-card.kg-style-image h3.kg-header-card-subheader {\n opacity: 1;\n}\n\n.kg-header-card.kg-style-image h2.kg-header-card-header,\n.kg-header-card.kg-style-image h3.kg-header-card-subheader,\n.kg-header-card.kg-style-image a.kg-header-card-button {\n z-index: 999;\n}\n\n.kg-header-card h2.kg-header-card-header a,\n.kg-header-card h3.kg-header-card-subheader a {\n color: var(--ghost-accent-color);\n}\n\n.kg-header-card.kg-style-accent h2.kg-header-card-header a,\n.kg-header-card.kg-style-accent h3.kg-header-card-subheader a,\n.kg-header-card.kg-style-image h2.kg-header-card-header a,\n.kg-header-card.kg-style-image h3.kg-header-card-subheader a {\n color: #fff;\n}\n\n.kg-header-card a.kg-header-card-button {\n display: flex;\n position: static;\n align-items: center;\n fill: #fff;\n background: #fff;\n border-radius: 3px;\n outline: none;\n font-family:\n -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell',\n 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;\n font-size: 1.05em;\n font-weight: 600;\n line-height: 1em;\n text-align: center;\n text-decoration: none;\n letter-spacing: 0.2px;\n white-space: nowrap;\n text-overflow: ellipsis;\n color: #151515;\n height: 2.7em;\n padding: 0 1.2em;\n transition: opacity 0.2s ease;\n}\n\n.kg-header-card h2 + a.kg-header-card-button,\n.kg-header-card h3 + a.kg-header-card-button {\n margin: 1.75em 0 0;\n}\n\n.kg-header-card a.kg-header-card-button:hover {\n opacity: 0.85;\n}\n\n.kg-header-card.kg-size-large a.kg-header-card-button {\n font-size: 1.1em;\n height: 2.9em;\n}\n\n.kg-header-card.kg-size-large h2 + a.kg-header-card-button,\n.kg-header-card.kg-size-large h3 + a.kg-header-card-button {\n margin-top: 2em;\n}\n\n.kg-header-card.kg-size-small a.kg-header-card-button {\n height: 2.4em;\n font-size: 1em;\n}\n\n.kg-header-card.kg-size-small h2 + a.kg-header-card-button,\n.kg-header-card.kg-size-small h3 + a.kg-header-card-button {\n margin-top: 1.5em;\n}\n\n.kg-header-card.kg-style-image a.kg-header-card-button,\n.kg-header-card.kg-style-dark a.kg-header-card-button {\n background: #fff;\n color: #151515;\n}\n\n.kg-header-card.kg-style-light a.kg-header-card-button {\n background: var(--ghost-accent-color);\n color: #fff;\n}\n\n.kg-header-card.kg-style-accent a.kg-header-card-button {\n background: #fff;\n color: #151515;\n}\n\n@media (max-width: 640px) {\n .kg-header-card {\n padding-left: 1em;\n padding-right: 1em;\n }\n\n .kg-header-card h2.kg-header-card-header {\n font-size: 3.5em;\n }\n\n .kg-header-card.kg-size-large h2.kg-header-card-header {\n font-size: 4em;\n }\n\n .kg-header-card.kg-size-small h2.kg-header-card-header {\n font-size: 3em;\n }\n\n .kg-header-card h3.kg-header-card-subheader {\n font-size: 1.25em;\n }\n\n .kg-header-card.kg-size-large h3.kg-header-card-subheader {\n font-size: 1.5em;\n }\n\n .kg-header-card.kg-size-small h3.kg-header-card-subheader {\n font-size: 1em;\n }\n}\n", $e = /* @__PURE__ */ e({ default: () => et }), et = ".kg-header-card.kg-v2 {\n position: relative;\n padding: 0;\n min-height: initial;\n text-align: initial;\n}\n\n.kg-header-card.kg-v2,\n.kg-header-card.kg-v2 * {\n box-sizing: border-box;\n}\n\n.kg-header-card.kg-v2 a,\n.kg-header-card.kg-v2 a span {\n color: currentColor;\n}\n\n.kg-header-card.kg-style-accent.kg-v2 {\n background-color: var(--ghost-accent-color);\n}\n\n.kg-header-card-content {\n width: 100%;\n}\n\n.kg-layout-split .kg-header-card-content {\n display: grid;\n grid-template-columns: 1fr 1fr;\n}\n\n.kg-header-card-text {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n height: 100%;\n padding: min(6.4vmax, 120px) min(4vmax, 80px);\n background-size: cover;\n background-position: center;\n text-align: left;\n}\n\n.kg-width-wide .kg-header-card-text {\n padding: min(10vmax, 220px) min(6.4vmax, 140px);\n}\n\n.kg-width-full .kg-header-card-text {\n padding: min(12vmax, 260px) 0;\n}\n\n.kg-layout-split .kg-header-card-text {\n padding: min(12vmax, 260px) min(4vmax, 80px);\n}\n\n.kg-layout-split.kg-content-wide .kg-header-card-text {\n padding: min(10vmax, 220px) 0 min(10vmax, 220px) min(4vmax, 80px);\n}\n\n.kg-layout-split.kg-content-wide.kg-swapped .kg-header-card-text {\n padding: min(10vmax, 220px) min(4vmax, 80px) min(10vmax, 220px) 0;\n}\n\n.kg-swapped .kg-header-card-text {\n grid-row: 1;\n}\n\n.kg-header-card-text.kg-align-center {\n align-items: center;\n text-align: center;\n}\n\n.kg-header-card.kg-style-image h2.kg-header-card-heading,\n.kg-header-card.kg-style-image .kg-header-card-subheading,\n.kg-header-card.kg-style-image.kg-v2 .kg-header-card-button {\n z-index: 999;\n}\n\n/* Background image */\n\n.kg-header-card > picture > .kg-header-card-image {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\n background-color: #ffffff;\n pointer-events: none;\n}\n\n/* Split layout image */\n\n.kg-header-card-content .kg-header-card-image {\n width: 100%;\n /* this will force the image to follow the signup card height */\n height: 0;\n min-height: 100%;\n /**/\n object-fit: cover;\n object-position: center;\n}\n\n.kg-content-wide .kg-header-card-content .kg-header-card-image {\n height: 100%;\n padding: 5.6em 0;\n object-fit: contain;\n}\n\n/* Heading */\n\n.kg-header-card h2.kg-header-card-heading {\n margin: 0;\n font-size: clamp(1.7em, 4vw, 2.5em);\n font-weight: 700;\n line-height: 1.05em;\n letter-spacing: -0.01em;\n}\n\n.kg-header-card.kg-width-wide h2.kg-header-card-heading {\n font-size: clamp(1.7em, 5vw, 3.3em);\n}\n\n.kg-header-card.kg-width-full h2.kg-header-card-heading {\n font-size: clamp(1.9em, 5.6vw, 4.2em);\n}\n\n.kg-header-card.kg-width-full.kg-layout-split h2.kg-header-card-heading {\n font-size: clamp(1.9em, 4vw, 3.3em);\n}\n\n/* Subheading */\n\n.kg-header-card-subheading {\n margin: 0 0 2em;\n}\n\n.kg-header-card .kg-header-card-subheading {\n max-width: 40em;\n margin: 0;\n font-size: clamp(1.05em, 2vw, 1.4em);\n font-weight: 500;\n line-height: 1.2em;\n}\n\n.kg-header-card h2 + .kg-header-card-subheading {\n margin: 0.6em 0 0;\n}\n\n.kg-header-card .kg-header-card-subheading strong {\n font-weight: 600;\n}\n\n.kg-header-card.kg-width-wide .kg-header-card-subheading {\n font-size: clamp(1.05em, 2vw, 1.55em);\n}\n\n.kg-header-card.kg-width-full\n .kg-header-card-subheading:not(.kg-layout-split .kg-header-card-subheading) {\n max-width: min(65vmax, 1200px);\n font-size: clamp(1.05em, 2vw, 1.7em);\n}\n\n.kg-header-card.kg-width-full.kg-layout-split .kg-header-card-subheading {\n font-size: clamp(1.05em, 2vw, 1.55em);\n}\n\n.kg-header-card.kg-v2 .kg-header-card-button {\n display: flex;\n position: relative;\n align-items: center;\n height: 2.9em;\n min-height: 46px;\n padding: 0 1.2em;\n outline: none;\n border: none;\n font-size: 1em;\n font-weight: 600;\n line-height: 1em;\n text-align: center;\n text-decoration: none;\n letter-spacing: 0.2px;\n white-space: nowrap;\n text-overflow: ellipsis;\n border-radius: 3px;\n transition: opacity 0.2s ease;\n}\n\n.kg-header-card.kg-v2 .kg-header-card-button.kg-style-accent {\n background-color: var(--ghost-accent-color);\n}\n\n.kg-header-card.kg-v2 h2 + .kg-header-card-button,\n.kg-header-card.kg-v2 p + .kg-header-card-button {\n margin: 1.5em 0 0;\n}\n\n.kg-header-card.kg-v2 .kg-header-card-button:hover {\n opacity: 0.85;\n}\n\n.kg-header-card.kg-v2.kg-width-wide .kg-header-card-button {\n font-size: 1.05em;\n}\n\n.kg-header-card.kg-v2.kg-width-wide h2 + .kg-header-card-button,\n.kg-header-card.kg-v2.kg-width-wide p + .kg-header-card-button {\n margin-top: 1.75em;\n}\n\n.kg-header-card.kg-v2.kg-width-full .kg-header-card-button {\n font-size: 1.1em;\n}\n\n.kg-header-card.kg-v2.kg-width-full h2 + .kg-header-card-button,\n.kg-header-card.kg-v2.kg-width-full p + .kg-header-card-button {\n margin-top: 2em;\n}\n\n/* Responsive styles */\n\n@media (max-width: 640px) {\n .kg-layout-split .kg-header-card-content {\n grid-template-columns: 1fr;\n }\n\n .kg-width-wide .kg-header-card-text {\n padding: min(6.4vmax, 120px) min(4vmax, 80px);\n }\n\n .kg-layout-split.kg-content-wide .kg-header-card-text,\n .kg-layout-split.kg-content-wide.kg-swapped .kg-header-card-text {\n padding: min(9.6vmax, 180px) 0;\n }\n\n .kg-header-card.kg-width-full\n .kg-header-card-subheading:not(.kg-layout-split .kg-header-card-subheading) {\n max-width: unset;\n }\n\n .kg-header-card-content\n .kg-header-card-image:not(.kg-content-wide .kg-header-card-content .kg-header-card-image) {\n height: auto;\n min-height: unset;\n aspect-ratio: 1 / 1;\n }\n\n .kg-content-wide .kg-header-card-content .kg-header-card-image {\n padding: 1.7em 0 0;\n }\n\n .kg-content-wide.kg-swapped .kg-header-card-content .kg-header-card-image {\n padding: 0 0 1.7em;\n }\n\n .kg-header-card.kg-v2 .kg-header-card-button {\n height: 2.9em;\n }\n\n .kg-header-card.kg-v2.kg-width-wide .kg-header-card-button,\n .kg-header-card.kg-v2.kg-width-full .kg-header-card-button {\n font-size: 1em;\n }\n}\n", tt = /* @__PURE__ */ e({ default: () => nt }), nt = ".kg-nft-card,\n.kg-nft-card * {\n box-sizing: border-box;\n}\n\n.kg-nft-card {\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 100%;\n margin-left: auto;\n margin-right: auto;\n}\n\n.kg-nft-card a.kg-nft-card-container {\n position: static;\n display: flex;\n flex: auto;\n flex-direction: column;\n text-decoration: none;\n font-family:\n -apple-system, BlinkMacSystemFont, 'avenir next', avenir, 'helvetica neue', helvetica, ubuntu,\n roboto, noto, 'segoe ui', arial, sans-serif;\n font-size: 14px;\n font-weight: 400;\n box-shadow:\n 0 2px 6px -2px rgb(0 0 0 / 10%),\n 0 0 1px rgb(0 0 0 / 40%);\n width: 100%;\n max-width: 512px;\n color: #222;\n background: #fff;\n border-radius: 5px;\n transition: none;\n}\n\n.kg-nft-card * {\n position: static;\n}\n\n.kg-nft-metadata {\n padding: 20px;\n width: 100%;\n}\n\n.kg-nft-image {\n border-radius: 5px 5px 0 0;\n width: 100%;\n}\n\n.kg-nft-header {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n gap: 20px;\n}\n\n.kg-nft-header h4.kg-nft-title {\n font-family: inherit;\n font-size: 19px;\n font-weight: 700;\n line-height: 1.3em;\n min-width: unset;\n max-width: unset;\n margin: 0;\n color: #222;\n}\n\n.kg-nft-opensea-logo {\n margin-top: 2px;\n width: 100px;\n object-fit: scale-down;\n}\n\n.kg-nft-creator {\n font-family: inherit;\n line-height: 1.4em;\n margin: 4px 0 0;\n color: #ababab;\n}\n\n.kg-nft-creator span {\n font-weight: 500;\n color: #222;\n}\n\n.kg-nft-card p.kg-nft-description {\n font-family: inherit;\n font-size: 14px;\n line-height: 1.4em;\n margin: 20px 0 0;\n color: #222;\n}\n", rt = /* @__PURE__ */ e({ default: () => it }), it = ".kg-product-card,\n.kg-product-card * {\n box-sizing: border-box;\n}\n\n.kg-product-card {\n display: flex;\n align-items: center;\n flex-direction: column;\n width: 100%;\n}\n\n.kg-product-card-container {\n display: grid;\n grid-template-columns: auto min-content;\n align-items: center;\n grid-row-gap: 16px;\n background: transparent;\n max-width: 550px;\n padding: 20px;\n width: 100%;\n background: #fff;\n color: #222;\n border-radius: 5px;\n box-shadow: inset 0 0 0 1px rgb(124 139 154 / 25%);\n font-family:\n -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell',\n 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;\n}\n\n.kg-product-card-image {\n grid-column: 1 / 3;\n justify-self: center;\n height: auto;\n}\n\n.kg-product-card-title-container {\n grid-column: 1 / 2;\n}\n\n.kg-product-card h4.kg-product-card-title {\n text-decoration: none;\n font-weight: 600;\n font-size: 21px;\n margin-top: 0;\n margin-bottom: 0;\n line-height: 1.15em;\n}\n\n.kg-product-card-description {\n grid-column: 1 / 3;\n}\n\n.kg-product-card .kg-product-card-description p,\n.kg-product-card .kg-product-card-description ol,\n.kg-product-card .kg-product-card-description ul {\n font-size: 14px;\n line-height: 1.5em;\n opacity: 0.7;\n margin-bottom: 0;\n}\n\n.kg-product-card .kg-product-card-description p:first-of-type {\n margin-top: -4px;\n}\n\n.kg-product-card .kg-product-card-description p:not(:first-of-type),\n.kg-product-card .kg-product-card-description ul,\n.kg-product-card .kg-product-card-description ol {\n margin-top: 0.95em;\n}\n\n.kg-product-card .kg-product-card-description li + li {\n margin-top: 0.5em;\n}\n\n.kg-product-card-rating {\n display: flex;\n align-items: center;\n grid-column: 2 / 3;\n align-self: start;\n justify-self: end;\n padding-left: 16px;\n}\n\n@media (max-width: 400px) {\n .kg-product-card-title-container {\n grid-column: 1 / 3;\n }\n\n .kg-product-card-rating {\n grid-column: 1 / 3;\n justify-self: start;\n margin-top: -15px;\n padding-left: 0;\n }\n}\n\n.kg-product-card-rating-star {\n height: 20px;\n width: 20px;\n}\n\n.kg-product-card-rating-star svg {\n width: 16px;\n height: 16px;\n fill: currentColor;\n opacity: 0.15;\n}\n\n.kg-product-card-rating-active.kg-product-card-rating-star svg {\n opacity: 1;\n}\n\n.kg-product-card a.kg-product-card-button {\n justify-content: center;\n grid-column: 1 / 3;\n display: flex;\n position: static;\n align-items: center;\n font-size: 14px;\n font-weight: 600;\n line-height: 1em;\n text-decoration: none;\n width: 100%;\n height: 38px;\n border-radius: 6px;\n padding: 0 12px;\n transition: opacity 0.2s ease-in-out;\n}\n\n.kg-product-card a.kg-product-card-btn-accent {\n background-color: var(--ghost-accent-color);\n color: #fff;\n}\n", at = /* @__PURE__ */ e({ default: () => ot }), ot = ".kg-signup-card {\n position: relative;\n}\n\n.kg-signup-card,\n.kg-signup-card * {\n box-sizing: border-box;\n}\n\n.kg-signup-card a,\n.kg-signup-card a span {\n color: currentColor;\n}\n\n.kg-signup-card.kg-style-accent {\n background-color: var(--ghost-accent-color);\n}\n\n.kg-layout-split .kg-signup-card-content {\n display: grid;\n grid-template-columns: 1fr 1fr;\n}\n\n.kg-signup-card-text {\n position: relative;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n height: 100%;\n padding: min(4vmax, 80px);\n background-size: cover;\n background-position: center;\n text-align: left;\n}\n\n.kg-width-wide .kg-signup-card-text {\n padding: min(6.4vmax, 120px);\n}\n\n.kg-width-full .kg-signup-card-text {\n padding: min(12vmax, 260px) 0;\n}\n\n.kg-layout-split .kg-signup-card-text {\n padding: min(12vmax, 260px) min(4vmax, 80px);\n}\n\n.kg-layout-split.kg-content-wide .kg-signup-card-text {\n padding: min(10vmax, 220px) 0 min(10vmax, 220px) min(4vmax, 80px);\n}\n\n.kg-layout-split.kg-content-wide.kg-swapped .kg-signup-card-text {\n padding: min(10vmax, 220px) min(4vmax, 80px) min(10vmax, 220px) 0;\n}\n\n.kg-swapped .kg-signup-card-text {\n grid-row: 1;\n}\n\n.kg-signup-card-text.kg-align-center {\n align-items: center;\n text-align: center;\n}\n\n.kg-signup-card.kg-style-image h2.kg-signup-card-heading,\n.kg-signup-card.kg-style-image .kg-signup-card-subheading,\n.kg-signup-card.kg-style-image .kg-signup-card-button {\n z-index: 999;\n}\n\n/* Background image */\n\n.kg-signup-card > picture > .kg-signup-card-image {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\n background-color: #ffffff;\n pointer-events: none;\n}\n\n/* Split layout image */\n\n.kg-signup-card-content .kg-signup-card-image {\n width: 100%;\n /* this will force the image to follow the signup card height */\n height: 0;\n min-height: 100%;\n /**/\n object-fit: cover;\n object-position: center;\n}\n\n.kg-content-wide .kg-signup-card-content .kg-signup-card-image {\n height: 100%;\n padding: 5.6em 0;\n object-fit: contain;\n}\n\n/* Heading */\n\n.kg-signup-card h2.kg-signup-card-heading {\n margin: 0;\n font-size: clamp(1.7em, 4vw, 2.5em);\n font-weight: 700;\n line-height: 1.05em;\n letter-spacing: -0.01em;\n}\n\n.kg-signup-card.kg-width-wide h2.kg-signup-card-heading {\n font-size: clamp(1.7em, 5vw, 3.3em);\n}\n\n.kg-signup-card.kg-width-full h2.kg-signup-card-heading {\n font-size: clamp(1.9em, 5.6vw, 4.2em);\n}\n\n.kg-signup-card.kg-width-full.kg-layout-split h2.kg-signup-card-heading {\n font-size: clamp(1.9em, 4vw, 3.3em);\n}\n\n/* Subheading */\n\n.kg-signup-card-subheading {\n margin: 0 0 2em;\n}\n\n.kg-signup-card .kg-signup-card-subheading {\n max-width: 40em;\n margin: 0;\n font-size: clamp(1.05em, 2vw, 1.4em);\n font-weight: 500;\n line-height: 1.2em;\n}\n\n.kg-signup-card h2 + .kg-signup-card-subheading {\n margin: 0.6em 0 0;\n}\n\n.kg-signup-card .kg-signup-card-subheading strong {\n font-weight: 600;\n}\n\n.kg-signup-card.kg-width-wide .kg-signup-card-subheading {\n font-size: clamp(1.05em, 2vw, 1.55em);\n}\n\n.kg-signup-card.kg-width-full\n .kg-signup-card-subheading:not(.kg-layout-split .kg-signup-card-subheading) {\n max-width: min(65vmax, 1200px);\n font-size: clamp(1.05em, 2vw, 1.7em);\n}\n\n.kg-signup-card.kg-width-full.kg-layout-split .kg-signup-card-subheading {\n font-size: clamp(1.05em, 2vw, 1.55em);\n}\n\n/* Subscribe form */\n\n.kg-signup-card-form {\n position: relative;\n display: flex;\n flex-shrink: 0;\n width: 100%;\n}\n\n.kg-align-center .kg-signup-card-form {\n justify-content: center;\n}\n\n.kg-signup-card-heading + .kg-signup-card-form,\n.kg-signup-card-subheading + .kg-signup-card-form {\n margin: min(2.4vmax, 48px) 0 0;\n}\n\n.kg-width-wide .kg-signup-card-heading + .kg-signup-card-form,\n.kg-width-wide .kg-signup-card-subheading + .kg-signup-card-form {\n margin: min(3.2vmax, 64px) 0 0;\n}\n\n.kg-width-full .kg-signup-card-heading + .kg-signup-card-form,\n.kg-width-full .kg-signup-card-subheading + .kg-signup-card-form {\n margin: min(4vmax, 80px) 0 0;\n}\n\n.kg-signup-card-fields {\n display: flex;\n width: 100%;\n padding: 3px;\n background: #ffffff;\n border: 1px solid #e6e6e6;\n border-radius: 4px;\n}\n\n.kg-width-wide .kg-signup-card-fields,\n.kg-width-full .kg-signup-card-fields {\n width: 100%;\n max-width: 500px;\n}\n\n.kg-signup-card-input {\n width: 100%;\n height: 2.9em;\n min-height: 46px;\n margin: 0 3px 0 0;\n padding: 12px 16px;\n border: none;\n background: #ffffff;\n font-size: 1.1em;\n}\n\n.kg-signup-card-input:focus,\n.kg-signup-card-input:focus-visible {\n outline: none;\n}\n\n.kg-signup-card-button {\n display: flex;\n position: relative;\n align-items: center;\n height: 2.9em;\n min-height: 46px;\n height: 100%;\n padding: 0 1.2em;\n outline: none;\n border: none;\n font-size: 1em;\n font-weight: 600;\n line-height: 1em;\n text-align: center;\n text-decoration: none;\n letter-spacing: 0.2px;\n white-space: nowrap;\n text-overflow: ellipsis;\n border-radius: 3px;\n transition: opacity 0.2s ease;\n cursor: pointer;\n}\n\n.kg-signup-card-button.kg-style-accent {\n background-color: var(--ghost-accent-color);\n}\n\n.kg-signup-card h2 + .kg-signup-card-button,\n.kg-signup-card p + .kg-signup-card-button {\n margin: 1.5em 0 0;\n}\n\n.kg-signup-card .kg-signup-card-button:hover {\n opacity: 0.85;\n}\n\n.kg-signup-card.kg-width-wide .kg-signup-card-button {\n font-size: 1.05em;\n}\n\n.kg-signup-card.kg-width-wide h2 + .kg-signup-card-button,\n.kg-signup-card.kg-width-wide p + .kg-signup-card-button {\n margin-top: 1.75em;\n}\n\n.kg-signup-card.kg-width-full .kg-signup-card-button {\n font-size: 1.1em;\n}\n\n.kg-signup-card.kg-width-full h2 + .kg-signup-card-button,\n.kg-signup-card.kg-width-full p + .kg-signup-card-button {\n margin-top: 2em;\n}\n\n/* Subscribe form states */\n\n.kg-signup-card-success,\n.kg-signup-card-error {\n display: none;\n}\n\n.kg-signup-card-form.success .kg-signup-card-fields {\n display: none;\n}\n\n.kg-signup-card-form.success .kg-signup-card-success {\n display: flex;\n align-items: center;\n height: 3em;\n font-size: 1.25em;\n font-weight: 500;\n line-height: 1.4em;\n}\n\n.kg-signup-card-form.error .kg-signup-card-fields {\n border: 1px solid #ff0000;\n box-shadow: inset 0 0 0 1px rgba(255, 0, 0, 0.2);\n}\n\n.kg-signup-card-form.error .kg-signup-card-error {\n position: absolute;\n bottom: calc(-1rem - 1.6em);\n display: block;\n font-size: inherit;\n}\n\n.kg-signup-card-button-loading {\n position: absolute;\n inset: 0;\n align-items: center;\n justify-content: center;\n display: none;\n}\n\n.kg-signup-card-form.loading .kg-signup-card-button-default {\n color: transparent;\n}\n\n.kg-signup-card-form.loading .kg-signup-card-button-loading {\n display: flex;\n}\n\n/* Disclaimer */\n\n.kg-signup-card-disclaimer {\n margin: 1rem 0 0;\n}\n\n.kg-signup-card-form.success + .kg-signup-card-disclaimer,\n.kg-signup-card-form.error + .kg-signup-card-disclaimer {\n visibility: hidden;\n}\n\n/* Responsive styles */\n\n@media (max-width: 640px) {\n .kg-layout-split .kg-signup-card-content {\n grid-template-columns: 1fr;\n }\n\n .kg-width-wide .kg-signup-card-text {\n padding: min(6.4vmax, 120px) min(4vmax, 80px);\n }\n\n .kg-layout-split.kg-content-wide .kg-signup-card-text,\n .kg-layout-split.kg-content-wide.kg-swapped .kg-signup-card-text {\n padding: min(9.6vmax, 180px) 0;\n }\n\n .kg-signup-card.kg-width-full\n .kg-signup-card-subheading:not(.kg-layout-split .kg-signup-card-subheading) {\n max-width: unset;\n }\n\n .kg-signup-card-content\n .kg-signup-card-image:not(.kg-content-wide .kg-signup-card-content .kg-signup-card-image) {\n height: auto;\n min-height: unset;\n aspect-ratio: 1 / 1;\n }\n\n .kg-content-wide .kg-signup-card-content .kg-signup-card-image {\n padding: 1.7em 0 0;\n }\n\n .kg-content-wide.kg-swapped .kg-signup-card-content .kg-signup-card-image {\n padding: 0 0 1.7em;\n }\n\n .kg-signup-card-input {\n height: 2.9em;\n padding: 6px 12px;\n font-size: 1em;\n }\n\n .kg-signup-card-button {\n height: 2.9em;\n }\n\n .kg-signup-card.kg-width-wide .kg-signup-card-button,\n .kg-signup-card.kg-width-full .kg-signup-card-button {\n font-size: 1em;\n }\n}\n", st = /* @__PURE__ */ e({ default: () => ct }), ct = ".kg-toggle-card,\n.kg-toggle-card * {\n box-sizing: border-box;\n}\n\n.kg-toggle-card {\n background: transparent;\n box-shadow: inset 0 0 0 1px rgba(124, 139, 154, 0.25);\n border-radius: 4px;\n padding: 1.2em;\n}\n\n.kg-toggle-card[data-kg-toggle-state='close'] .kg-toggle-content {\n height: 0;\n overflow: hidden;\n transition:\n opacity 0.5s ease,\n top 0.35s ease;\n opacity: 0;\n top: -0.5em;\n position: relative;\n}\n\n.kg-toggle-content {\n height: auto;\n opacity: 1;\n transition:\n opacity 1s ease,\n top 0.35s ease;\n top: 0;\n position: relative;\n}\n\n.kg-toggle-card[data-kg-toggle-state='close'] svg {\n transform: unset;\n}\n\n.kg-toggle-heading {\n cursor: pointer;\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n}\n\n.kg-toggle-card h4.kg-toggle-heading-text {\n font-size: 1.15em;\n font-weight: 700;\n line-height: 1.3em;\n margin-top: 0;\n margin-bottom: 0;\n}\n\n.kg-toggle-content p:first-of-type {\n margin-top: 0.5em;\n}\n\n.kg-toggle-card .kg-toggle-content p,\n.kg-toggle-card .kg-toggle-content ol,\n.kg-toggle-card .kg-toggle-content ul {\n font-size: 0.95em;\n line-height: 1.5em;\n margin-top: 0.95em;\n margin-bottom: 0;\n}\n\n.kg-toggle-card li + li {\n margin-top: 0.5em;\n}\n\n.kg-toggle-card-icon {\n height: 24px;\n width: 24px;\n display: flex;\n justify-content: center;\n align-items: center;\n margin-left: 1em;\n padding: 0;\n background: none;\n border: 0;\n cursor: pointer;\n}\n\n.kg-toggle-heading svg {\n width: 14px;\n color: rgba(124, 139, 154, 0.5);\n transition: all 0.3s;\n transform: rotate(-180deg);\n}\n\n.kg-toggle-heading path {\n fill: none;\n stroke: currentcolor;\n stroke-linecap: round;\n stroke-linejoin: round;\n stroke-width: 1.5;\n fill-rule: evenodd;\n}\n\n.kg-toggle-card + .kg-toggle-card {\n margin-top: 1em;\n}\n", lt = /* @__PURE__ */ e({ default: () => ut }), ut = ".kg-transistor-card {\n display: flex;\n justify-content: center;\n}\n\n.kg-transistor-placeholder {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 2.4rem;\n width: 100%;\n max-width: 100%;\n padding: 3rem 2.4rem;\n border: 1px solid rgba(255, 255, 255, 0.14);\n border: 1px solid color-mix(in srgb, currentColor 14%, transparent);\n border-radius: 12px;\n background: rgba(255, 255, 255, 0.04);\n background: color-mix(in srgb, currentColor 4%, transparent);\n color: inherit;\n text-align: center;\n box-sizing: border-box;\n}\n\n.kg-transistor-icon {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n width: 116px;\n height: 116px;\n border-radius: 14px;\n background: var(--ghost-accent-color, #b8a5ac);\n color: #fff;\n}\n\n.kg-transistor-icon svg {\n display: block;\n width: 56px;\n height: 56px;\n}\n\n.kg-transistor-content {\n min-width: 0;\n max-width: 640px;\n}\n\n.kg-transistor-title {\n margin: 0;\n color: inherit;\n font-size: 2.3rem;\n font-weight: 600;\n line-height: 1.2;\n}\n\n.kg-transistor-description {\n margin-top: 1.6rem;\n color: inherit;\n font-size: 1.6rem;\n line-height: 1.5;\n opacity: 0.65;\n}\n\n@media (max-width: 640px) {\n .kg-transistor-placeholder {\n gap: 1.6rem;\n padding: 2.4rem 1.8rem;\n }\n\n .kg-transistor-icon {\n width: 88px;\n height: 88px;\n border-radius: 12px;\n }\n\n .kg-transistor-icon svg {\n width: 44px;\n height: 44px;\n }\n\n .kg-transistor-title {\n font-size: 1.8rem;\n }\n\n .kg-transistor-description {\n margin-top: 1rem;\n font-size: 1.45rem;\n }\n}\n", dt = /* @__PURE__ */ e({ default: () => ft }), ft = ".kg-video-card,\n.kg-video-card * {\n box-sizing: border-box;\n}\n\n.kg-video-card {\n position: relative;\n --seek-before-width: 0%;\n --volume-before-width: 100%;\n --buffered-width: 0%;\n}\n\n.kg-video-card video {\n display: block;\n max-width: 100%;\n height: auto;\n}\n\n.kg-video-container {\n position: relative;\n height: 0;\n width: 100%;\n overflow: hidden;\n}\n\n.kg-video-container video {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n\n.kg-video-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n background-image: linear-gradient(\n 180deg,\n rgba(0, 0, 0, 0.3) 0,\n transparent 70%,\n transparent 100%\n );\n z-index: 999;\n transition: opacity 0.2s ease-in-out;\n}\n\n.kg-video-large-play-icon {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 72px;\n height: 72px;\n padding: 0;\n background: rgba(0, 0, 0, 0.5);\n border-radius: 50%;\n transition: opacity 0.2s ease-in-out;\n}\n\n.kg-video-large-play-icon svg {\n width: 20px;\n height: auto;\n margin-left: 2px;\n fill: #fff;\n}\n\n.kg-video-player-container {\n position: absolute;\n bottom: -1px;\n left: 0;\n right: 0;\n width: 100%;\n height: 80px;\n background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.5));\n z-index: 999;\n transition: opacity 0.2s ease-in-out;\n}\n\n.kg-video-player {\n position: absolute;\n bottom: 0;\n display: flex;\n align-items: center;\n width: 100%;\n z-index: 9999;\n padding: 12px 16px;\n font-family:\n -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell',\n 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;\n background: rgba(0, 0, 0, 0.5);\n}\n\n.kg-video-current-time {\n min-width: 38px;\n padding: 0 4px;\n color: #fff;\n font-family: inherit;\n font-size: 12.5px;\n font-weight: 500;\n line-height: 1.4em;\n white-space: nowrap;\n}\n\n.kg-video-time {\n color: rgba(255, 255, 255, 0.6);\n font-family: inherit;\n font-size: 12.5px;\n font-weight: 500;\n line-height: 1.4em;\n white-space: nowrap;\n}\n\n.kg-video-duration {\n padding: 0 4px;\n}\n\n.kg-video-play-icon,\n.kg-video-pause-icon {\n position: relative;\n padding: 0px 4px 0 0;\n font-size: 0;\n background: transparent;\n}\n\n.kg-video-hide {\n display: none !important;\n}\n\n.kg-video-hide-animated {\n opacity: 0 !important;\n transition: opacity 0.2s ease-in-out;\n cursor: initial;\n}\n\n.kg-video-play-icon svg,\n.kg-video-pause-icon svg {\n width: 14px;\n height: 14px;\n fill: #fff;\n}\n\n.kg-video-seek-slider {\n flex-grow: 1;\n margin: 0 4px;\n}\n\n@media (max-width: 520px) {\n .kg-video-seek-slider {\n display: none;\n }\n}\n\n.kg-video-playback-rate {\n min-width: 37px;\n padding: 0 4px;\n color: #fff;\n font-family: inherit;\n font-size: 12.5px;\n font-weight: 600;\n line-height: 1.4em;\n text-align: left;\n background: transparent;\n white-space: nowrap;\n}\n\n@media (max-width: 520px) {\n .kg-video-playback-rate {\n padding-left: 8px;\n }\n}\n\n.kg-video-mute-icon,\n.kg-video-unmute-icon {\n position: relative;\n bottom: -1px;\n padding: 0 4px;\n font-size: 0;\n background: transparent;\n}\n\n@media (max-width: 520px) {\n .kg-video-mute-icon,\n .kg-video-unmute-icon {\n margin-left: auto;\n }\n}\n\n.kg-video-mute-icon svg,\n.kg-video-unmute-icon svg {\n width: 16px;\n height: 16px;\n fill: #fff;\n}\n\n.kg-video-volume-slider {\n width: 80px;\n}\n\n@media (max-width: 300px) {\n .kg-video-volume-slider {\n display: none;\n }\n}\n\n.kg-video-seek-slider::before {\n content: '';\n position: absolute;\n left: 0;\n width: var(--seek-before-width) !important;\n height: 4px;\n cursor: pointer;\n background-color: #ebeef0;\n border-radius: 2px;\n}\n\n.kg-video-volume-slider::before {\n content: '';\n position: absolute;\n left: 0;\n width: var(--volume-before-width) !important;\n height: 4px;\n cursor: pointer;\n background-color: #ebeef0;\n border-radius: 2px;\n}\n\n/* Resetting browser styles\n/* --------------------------------------------------------------- */\n\n.kg-video-card input[type='range'] {\n position: relative;\n -webkit-appearance: none;\n background: transparent;\n}\n\n.kg-video-card input[type='range']:focus {\n outline: none;\n}\n\n.kg-video-card input[type='range']::-webkit-slider-thumb {\n -webkit-appearance: none;\n}\n\n.kg-video-card input[type='range']::-ms-track {\n cursor: pointer;\n border-color: transparent;\n color: transparent;\n background: transparent;\n}\n\n.kg-video-card button {\n display: flex;\n align-items: center;\n border: 0;\n cursor: pointer;\n}\n\n.kg-video-card input[type='range'] {\n height: auto;\n padding: 0;\n border: 0;\n}\n\n/* Chrome & Safari styles\n/* --------------------------------------------------------------- */\n\n.kg-video-card input[type='range']::-webkit-slider-runnable-track {\n width: 100%;\n height: 4px;\n cursor: pointer;\n background: rgba(255, 255, 255, 0.2);\n border-radius: 2px;\n}\n\n.kg-video-card input[type='range']::-webkit-slider-thumb {\n position: relative;\n box-sizing: content-box;\n width: 13px;\n height: 13px;\n margin: -5px 0 0 0;\n border: 0;\n cursor: pointer;\n background: #fff;\n border-radius: 50%;\n box-shadow:\n 0 0 0 1px rgba(0, 0, 0, 0.08),\n 0 1px 4px rgba(0, 0, 0, 0.24);\n}\n\n.kg-video-card input[type='range']:active::-webkit-slider-thumb {\n transform: scale(1.2);\n}\n\n/* Firefox styles\n/* --------------------------------------------------------------- */\n\n.kg-video-card input[type='range']::-moz-range-track {\n width: 100%;\n height: 4px;\n cursor: pointer;\n background: rgba(255, 255, 255, 0.2);\n border-radius: 2px;\n}\n\n.kg-video-card input[type='range']::-moz-range-progress {\n background: #ebeef0;\n border-radius: 2px;\n}\n\n.kg-video-card input[type='range']::-moz-range-thumb {\n box-sizing: content-box;\n width: 13px;\n height: 13px;\n border: 0;\n cursor: pointer;\n background: #fff;\n border-radius: 50%;\n box-shadow:\n 0 0 0 1px rgba(0, 0, 0, 0.08),\n 0 1px 4px rgba(0, 0, 0, 0.24);\n}\n\n.kg-video-card input[type='range']:active::-moz-range-thumb {\n transform: scale(1.2);\n}\n\n/* Edge & IE styles\n/* --------------------------------------------------------------- */\n\n.kg-video-card input[type='range']::-ms-track {\n width: 100%;\n height: 3px;\n border: solid transparent;\n color: transparent;\n cursor: pointer;\n background: transparent;\n}\n\n.kg-video-card input[type='range']::-ms-fill-lower {\n background: #fff;\n}\n\n.kg-video-card input[type='range']::-ms-fill-upper {\n background: #ebeef0;\n}\n\n.kg-video-card input[type='range']::-ms-thumb {\n box-sizing: content-box;\n width: 13px;\n height: 13px;\n border: 0;\n cursor: pointer;\n background: #fff;\n border-radius: 50%;\n box-shadow:\n 0 0 0 1px rgba(0, 0, 0, 0.08),\n 0 1px 4px rgba(0, 0, 0, 0.24);\n}\n\n.kg-video-card input[type='range']:active::-ms-thumb {\n transform: scale(1.2);\n}\n", pt = /* #__PURE__ */ Object.assign({
341
+ "../../ghost/core/core/frontend/src/cards/js/audio.js": Ae,
342
+ "../../ghost/core/core/frontend/src/cards/js/gallery.js": Me,
343
+ "../../ghost/core/core/frontend/src/cards/js/toggle.js": Pe,
344
+ "../../ghost/core/core/frontend/src/cards/js/video.js": Ie
345
+ }), mt = /* #__PURE__ */ Object.assign({
346
+ "../../ghost/core/core/frontend/src/cards/css/audio.css": Re,
347
+ "../../ghost/core/core/frontend/src/cards/css/blockquote.css": Be,
348
+ "../../ghost/core/core/frontend/src/cards/css/bookmark.css": Ve,
349
+ "../../ghost/core/core/frontend/src/cards/css/button.css": J,
350
+ "../../ghost/core/core/frontend/src/cards/css/callout.css": We,
351
+ "../../ghost/core/core/frontend/src/cards/css/collection.css": Ge,
352
+ "../../ghost/core/core/frontend/src/cards/css/cta.css": qe,
353
+ "../../ghost/core/core/frontend/src/cards/css/file.css": Je,
354
+ "../../ghost/core/core/frontend/src/cards/css/gallery.css": Xe,
355
+ "../../ghost/core/core/frontend/src/cards/css/header.css": Ze,
356
+ "../../ghost/core/core/frontend/src/cards/css/header_v2.css": $e,
357
+ "../../ghost/core/core/frontend/src/cards/css/nft.css": tt,
358
+ "../../ghost/core/core/frontend/src/cards/css/product.css": rt,
359
+ "../../ghost/core/core/frontend/src/cards/css/signup.css": at,
360
+ "../../ghost/core/core/frontend/src/cards/css/toggle.css": st,
361
+ "../../ghost/core/core/frontend/src/cards/css/transistor.css": lt,
362
+ "../../ghost/core/core/frontend/src/cards/css/video.css": dt
363
+ }), ht = Object.values(pt).map((e) => e.default).join("\n\n"), gt = Object.values(mt).map((e) => e.default).join("\n\n");
364
364
  //#endregion
365
365
  //#region src/views/inbox/components/reader.tsx
366
366
  i();
367
- var gt = "gh-sensitive-media-hidden", _t = "audio, canvas, embed, iframe, img, object, picture, source, svg, video", vt = ({ postUrl: e, heading: r, image: i, excerpt: c, authors: l, html: u, hideMedia: d = !1, backgroundColor: f, fontSize: p, fontStyle: m, onHeadingsExtracted: h, onIframeLoad: g, onLoadingChange: _, isPopoverOpen: v }) => {
368
- let y = s(null), [b, x] = n(!0), [S, ee] = n("0px"), C = s(null), w = document.documentElement.classList.contains("dark") && f === "SYSTEM" || f === "DARK", T = Oe(), E = typeof window < "u" && typeof window.matchMedia == "function" && window.matchMedia("(hover: none) and (pointer: coarse)").matches, D = t(() => me(N(E ? I(u) : u)), [u, E]), O = a(() => {
369
- let e = y.current, t = e?.contentDocument;
367
+ var Q = "gh-sensitive-media-hidden", _t = "audio, canvas, embed, iframe, img, object, picture, source, svg, video", vt = ({ postUrl: e, heading: r, image: i, excerpt: c, authors: l, html: u, hideMedia: d = !1, backgroundColor: f, fontSize: p, fontStyle: m, onHeadingsExtracted: ee, onIframeLoad: h, onLoadingChange: g, isPopoverOpen: _ }) => {
368
+ let v = s(null), [y, b] = n(!0), [x, te] = n("0px"), S = s(null), C = document.documentElement.classList.contains("dark") && f === "SYSTEM" || f === "DARK", w = ke(), T = typeof window < "u" && typeof window.matchMedia == "function" && window.matchMedia("(hover: none) and (pointer: coarse)").matches, E = t(() => he(M(T ? F(u) : u)), [u, T]), D = a(() => {
369
+ let e = v.current, t = e?.contentDocument;
370
370
  if (!t) return;
371
- t.documentElement.classList.toggle(gt, d);
372
- let n = e.contentWindow;
373
- n && typeof n.resizeIframe == "function" && n.resizeIframe();
374
- }, [d]), k = `
375
- <html class="${d ? `${gt} ` : ""}has-${w ? "light" : "dark"}-text has-${m}-body ${f === "SEPIA" && "has-sepia-bg"}">
371
+ let n = t.documentElement;
372
+ if (n.classList.contains(Q) === d) return;
373
+ n.classList.toggle(Q, d);
374
+ let r = e.contentWindow;
375
+ r && typeof r.resizeIframe == "function" && r.resizeIframe();
376
+ }, [d]), O = `
377
+ <html class="${d ? `${Q} ` : ""}has-${C ? "light" : "dark"}-text has-${m}-body ${f === "SEPIA" && "has-sepia-bg"}">
376
378
  <head>
377
- ${T}
379
+ ${w}
378
380
  <style>
379
381
  :root {
380
382
  --font-size: ${p};
@@ -387,13 +389,13 @@ var gt = "gh-sensitive-media-hidden", _t = "audio, canvas, embed, iframe, img, o
387
389
  .has-sepia-bg {
388
390
  --background-color: #FCF8F1;
389
391
  }
390
- .${gt} .gh-article-image,
391
- .${gt} .gh-content :is(${_t}) {
392
+ .${Q} .gh-article-image,
393
+ .${Q} .gh-content :is(${_t}) {
392
394
  display: none !important;
393
395
  }
394
396
  </style>
395
397
  <style>
396
- ${ht}
398
+ ${gt}
397
399
  </style>
398
400
 
399
401
  <script>
@@ -469,14 +471,14 @@ var gt = "gh-sensitive-media-hidden", _t = "audio, canvas, embed, iframe, img, o
469
471
  </head>
470
472
  <body>
471
473
  <header class='gh-article-header gh-canvas'>
472
- <h1 class='gh-article-title is-title' data-test-article-heading>${P(r)}</h1>
473
- ${c ? `<p class='gh-article-excerpt'>${P(c)}</p>` : ""}
474
- <a href="${e && F(e) ? P(e) : "#"}" target="_blank" rel="noopener noreferrer" class="gh-article-meta">
474
+ <h1 class='gh-article-title is-title' data-test-article-heading>${N(r)}</h1>
475
+ ${c ? `<p class='gh-article-excerpt'>${N(c)}</p>` : ""}
476
+ <a href="${e && P(e) ? N(e) : "#"}" target="_blank" rel="noopener noreferrer" class="gh-article-meta">
475
477
  ${l && l.length > 0 ? `
476
478
  <div class="gh-article-author-image">
477
479
  ${l.map((e) => `
478
480
  <span>
479
- ${e.profile_image ? `<img src="${P(e.profile_image)}" alt="${P(e.name)}">` : "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" height=\"24\" width=\"24\"><path d=\"M6.75 6a5.25 5.25 0 1 0 10.5 0 5.25 5.25 0 1 0 -10.5 0\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"></path><path d=\"M2.25 23.25a9.75 9.75 0 0 1 19.5 0\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"></path></svg>"}
481
+ ${e.profile_image ? `<img src="${N(e.profile_image)}" alt="${N(e.name)}">` : "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" height=\"24\" width=\"24\"><path d=\"M6.75 6a5.25 5.25 0 1 0 10.5 0 5.25 5.25 0 1 0 -10.5 0\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"></path><path d=\"M2.25 23.25a9.75 9.75 0 0 1 19.5 0\" fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"></path></svg>"}
480
482
  </span>
481
483
  `).join("")}
482
484
  </div>
@@ -484,20 +486,20 @@ var gt = "gh-sensitive-media-hidden", _t = "audio, canvas, embed, iframe, img, o
484
486
  <div class="gh-article-meta-wrapper">
485
487
  ${l && l.length > 0 ? `
486
488
  <span class="gh-article-author-name">
487
- ${l.length > 1 ? `${P(l[0].name)} and ${l.length - 1} ${l.length - 1 == 1 ? "other" : "others"}` : P(l[0].name)}
489
+ ${l.length > 1 ? `${N(l[0].name)} and ${l.length - 1} ${l.length - 1 == 1 ? "other" : "others"}` : N(l[0].name)}
488
490
  </span>
489
491
  ` : ""}
490
- <span class="gh-article-source">${e && F(e) ? P(new URL(e).hostname) : ""} <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-external-link-icon lucide-external-link"><path d="M15 3h6v6"/><path d="M10 14 21 3"/><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/></svg></span>
492
+ <span class="gh-article-source">${e && P(e) ? N(new URL(e).hostname) : ""} <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-external-link-icon lucide-external-link"><path d="M15 3h6v6"/><path d="M10 14 21 3"/><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/></svg></span>
491
493
  </div>
492
494
  </a>
493
495
  ${i ? `
494
496
  <figure class='gh-article-image'>
495
- <img src='${P(i)}' alt='${P(r)}' />
497
+ <img src='${N(i)}' alt='${N(r)}' />
496
498
  </figure>
497
499
  ` : ""}
498
500
  </header>
499
501
  <div class='gh-content gh-canvas is-body'>
500
- ${D}
502
+ ${E}
501
503
  </div>
502
504
  <script>
503
505
  (function () {
@@ -513,18 +515,18 @@ var gt = "gh-sensitive-media-hidden", _t = "audio, canvas, embed, iframe, img, o
513
515
  })();
514
516
  <\/script>
515
517
  <script>
516
- ${mt}
518
+ ${ht}
517
519
  <\/script>
518
520
  </body>
519
521
  </html>
520
522
  `;
521
523
  return o(() => {
522
- let t = y.current;
524
+ let t = v.current;
523
525
  if (!t) return;
524
526
  let n = (e) => {
525
527
  if (e.data.type === "resize") {
526
528
  let n = `${e.data.bodyHeight + 24}px`;
527
- ee(n), t.style.height = n, e.data.isLoaded && (O(), x(!1));
529
+ te(n), t.style.height = n, e.data.isLoaded && b(!1);
528
530
  }
529
531
  }, a = (e) => {
530
532
  if (e.key === "Escape") {
@@ -541,40 +543,40 @@ var gt = "gh-sensitive-media-hidden", _t = "audio, canvas, embed, iframe, img, o
541
543
  }
542
544
  }, o = () => {
543
545
  let e = t.contentWindow;
544
- e && e.addEventListener("keydown", a), O();
546
+ e && e.addEventListener("keydown", a), D();
545
547
  };
546
548
  t.addEventListener("load", o), window.addEventListener("message", n);
547
549
  let s = [
548
- D,
550
+ E,
549
551
  r,
550
552
  c ?? "",
551
553
  i ?? "",
552
554
  e ?? "",
553
555
  (l ?? []).map((e) => `${e.name}\0${e.profile_image}`).join("\n")
554
556
  ].join("\n");
555
- return C.current !== s && (C.current = s, x(!0), t.srcdoc = k), () => {
557
+ return S.current !== s && (S.current = s, b(!0), t.srcdoc = O), () => {
556
558
  window.removeEventListener("message", n), t.removeEventListener("load", o);
557
559
  let e = t.contentWindow;
558
560
  e && e.removeEventListener("keydown", a);
559
561
  };
560
562
  }, [
561
- D,
563
+ E,
562
564
  l,
563
565
  c,
564
566
  r,
565
- k,
567
+ O,
566
568
  i,
567
569
  e,
568
- O
570
+ D
569
571
  ]), o(() => {
570
- O();
571
- }, [O]), o(() => {
572
- let e = y.current;
572
+ D();
573
+ }, [D]), o(() => {
574
+ let e = v.current;
573
575
  if (!e) return;
574
576
  let t = e.contentDocument || e.contentWindow?.document;
575
577
  if (!t) return;
576
578
  let n = t.documentElement;
577
- n.style.setProperty("--font-size", p), n.classList.remove("has-sans-body", "has-serif-body"), n.classList.add(`has-${m}-body`), n.classList.remove("has-dark-text", "has-light-text"), n.classList.add(`has-${w ? "light" : "dark"}-text`), f === "SEPIA" ? n.classList.add("has-sepia-bg") : n.classList.remove("has-sepia-bg");
579
+ n.style.setProperty("--font-size", p), n.classList.remove("has-sans-body", "has-serif-body"), n.classList.add(`has-${m}-body`), n.classList.remove("has-dark-text", "has-light-text"), n.classList.add(`has-${C ? "light" : "dark"}-text`), f === "SEPIA" ? n.classList.add("has-sepia-bg") : n.classList.remove("has-sepia-bg");
578
580
  let r = e.contentWindow;
579
581
  if (r && typeof r.resizeIframe == "function") r.resizeIframe();
580
582
  else {
@@ -585,9 +587,9 @@ var gt = "gh-sensitive-media-hidden", _t = "audio, canvas, embed, iframe, img, o
585
587
  p,
586
588
  m,
587
589
  f,
588
- w
590
+ C
589
591
  ]), o(() => {
590
- let e = y.current;
592
+ let e = v.current;
591
593
  if (!e) return;
592
594
  let t = () => {
593
595
  if (!e.contentDocument) return;
@@ -604,126 +606,126 @@ var gt = "gh-sensitive-media-hidden", _t = "audio, canvas, embed, iframe, img, o
604
606
  element: e
605
607
  };
606
608
  });
607
- h?.(r), g?.(e);
609
+ ee?.(r), h?.(e);
608
610
  };
609
611
  return e.addEventListener("load", t), () => e.removeEventListener("load", t);
610
- }, [h, g]), o(() => {
611
- _?.(b);
612
- }, [b, _]), /* @__PURE__ */ (0, V.jsx)("div", {
612
+ }, [ee, h]), o(() => {
613
+ g?.(y);
614
+ }, [y, g]), /* @__PURE__ */ (0, B.jsx)("div", {
613
615
  className: "w-full pb-6",
614
- children: /* @__PURE__ */ (0, V.jsxs)("div", {
616
+ children: /* @__PURE__ */ (0, B.jsxs)("div", {
615
617
  className: "relative -mx-6",
616
- children: [b && /* @__PURE__ */ (0, V.jsxs)("div", {
618
+ children: [y && /* @__PURE__ */ (0, B.jsxs)("div", {
617
619
  className: "mx-auto mt-6 w-full max-w-[640px] max-lg:px-4",
618
620
  children: [
619
- /* @__PURE__ */ (0, V.jsxs)("div", {
621
+ /* @__PURE__ */ (0, B.jsxs)("div", {
620
622
  className: "mb-6 flex flex-col gap-2",
621
- children: [/* @__PURE__ */ (0, V.jsx)(L, { className: "h-8" }), /* @__PURE__ */ (0, V.jsx)(L, { className: "h-8 w-full max-w-md" })]
623
+ children: [/* @__PURE__ */ (0, B.jsx)(I, { className: "h-8" }), /* @__PURE__ */ (0, B.jsx)(I, { className: "h-8 w-full max-w-md" })]
622
624
  }),
623
- /* @__PURE__ */ (0, V.jsx)(L, {
625
+ /* @__PURE__ */ (0, B.jsx)(I, {
624
626
  className: "mt-2 h-4",
625
627
  count: 4,
626
628
  randomize: !0
627
629
  }),
628
- /* @__PURE__ */ (0, V.jsx)(L, { className: "mt-8 h-[400px]" }),
629
- /* @__PURE__ */ (0, V.jsx)(L, {
630
+ /* @__PURE__ */ (0, B.jsx)(I, { className: "mt-8 h-[400px]" }),
631
+ /* @__PURE__ */ (0, B.jsx)(I, {
630
632
  className: "mt-2 h-4",
631
633
  containerClassName: "block mt-7 mb-4",
632
634
  count: 8,
633
635
  randomize: !0
634
636
  })
635
637
  ]
636
- }), /* @__PURE__ */ (0, V.jsx)("iframe", {
637
- ref: y,
638
+ }), /* @__PURE__ */ (0, B.jsx)("iframe", {
639
+ ref: v,
638
640
  id: "gh-ap-article-iframe",
639
641
  style: {
640
642
  width: "100%",
641
643
  border: "none",
642
- height: S,
644
+ height: x,
643
645
  overflow: "hidden",
644
- opacity: +!b,
646
+ opacity: +!y,
645
647
  transition: "opacity 0.2s ease-in-out",
646
- pointerEvents: v ? "none" : "auto"
648
+ pointerEvents: _ ? "none" : "auto"
647
649
  },
648
650
  title: "Embedded Content"
649
651
  })]
650
652
  })
651
653
  });
652
- }, yt = () => /* @__PURE__ */ (0, V.jsx)("div", { className: "h-px bg-black/[8%] dark:bg-gray-950" });
654
+ }, yt = () => /* @__PURE__ */ (0, B.jsx)("div", { className: "h-px bg-black/[8%] dark:bg-gray-950" });
653
655
  function bt(e) {
654
656
  return new DOMParser().parseFromString(e, "text/html").querySelector(_t) !== null;
655
657
  }
656
658
  var $ = /* @__PURE__ */ new Map(), xt = ({ postId: e = null, onClose: i }) => {
657
- let { backgroundColor: c, currentFontSizeIndex: l, fontStyle: u, fontSize: d, handleColorChange: p, setFontStyle: m, increaseFontSize: h, decreaseFontSize: _, resetFontSize: v } = Se(), y = s(null), [b, C] = n(!1), [w, D] = n(!1), [O, ne] = n(/* @__PURE__ */ new Set()), [re, ae] = n(/* @__PURE__ */ new Set()), [se, ce] = n(/* @__PURE__ */ new Set()), [j, me] = n(!1), M = s(null), N = s(null), { post: P, processedReplies: F, isLoading: I, loadMoreChildren: R, loadMoreChildReplies: xe, hasMoreChildren: z, hasMoreChildReplies: B } = be(e ?? "", { includeAncestors: !1 }), H = P, U = H?.object, W = H?.actor, G = H?.object?.metadata?.ghostAuthors, we = U?.replyCount ?? 0, q = U?.content ?? "", Ee = typeof U?.image == "string" ? U.image : U?.image?.url, De = t(() => bt(q), [q]), { contentWarning: Oe, shouldHideContentWarning: ke, shouldHideSensitiveMedia: Ae, canHideSensitiveMedia: je, revealSensitiveMedia: Me, hideSensitiveMedia: Ne, revealContentWarning: Pe } = fe({
658
- contentWarning: U?.contentWarning,
659
- sensitive: U?.sensitive,
660
- hasMedia: !!Ee || (U ? pe(U) !== null : !1) || De,
659
+ let { backgroundColor: c, currentFontSizeIndex: l, fontStyle: u, fontSize: d, handleColorChange: f, setFontStyle: p, increaseFontSize: m, decreaseFontSize: h, resetFontSize: _ } = Ce(), v = s(null), [y, b] = n(!1), [C, w] = n(!1), [ne, re] = n(/* @__PURE__ */ new Set()), [ie, oe] = n(/* @__PURE__ */ new Set()), [se, le] = n(/* @__PURE__ */ new Set()), [A, he] = n(!1), j = s(null), M = s(null), { post: N, processedReplies: P, isLoading: F, loadMoreChildren: L, loadMoreChildReplies: Se, hasMoreChildren: R, hasMoreChildReplies: z } = xe(e ?? "", { includeAncestors: !1 }), V = N, H = V?.object, U = V?.actor, W = V?.object?.metadata?.ghostAuthors, Te = H?.replyCount ?? 0, K = H?.content ?? "", De = typeof H?.image == "string" ? H.image : H?.image?.url, Oe = t(() => bt(K), [K]), { contentWarning: ke, shouldHideContentWarning: Ae, shouldHideSensitiveMedia: je, canHideSensitiveMedia: Me, revealSensitiveMedia: Ne, hideSensitiveMedia: Pe, revealContentWarning: Fe } = pe({
660
+ contentWarning: H?.contentWarning,
661
+ sensitive: H?.sensitive,
662
+ hasMedia: !!De || (H ? me(H) !== null : !1) || Oe,
661
663
  resetKey: e ?? void 0
662
664
  });
663
665
  o(() => {
664
- if (!z) return;
665
- M.current && M.current.disconnect();
666
- let e = y.current;
667
- if (e) return M.current = new IntersectionObserver(async (e) => {
668
- if (e[0].isIntersecting && z && !j) {
669
- me(!0);
666
+ if (!R) return;
667
+ j.current && j.current.disconnect();
668
+ let e = v.current;
669
+ if (e) return j.current = new IntersectionObserver(async (e) => {
670
+ if (e[0].isIntersecting && R && !A) {
671
+ he(!0);
670
672
  try {
671
- await R();
673
+ await L();
672
674
  } catch (e) {
673
675
  console.error("Failed to load more top-level replies:", e);
674
676
  } finally {
675
- me(!1);
677
+ he(!1);
676
678
  }
677
679
  }
678
680
  }, {
679
681
  root: e,
680
682
  rootMargin: "200px"
681
- }), N.current && M.current.observe(N.current), () => {
682
- M.current && M.current.disconnect();
683
+ }), M.current && j.current.observe(M.current), () => {
684
+ j.current && j.current.disconnect();
683
685
  };
684
686
  }, [
685
- z,
686
- j,
687
- R
687
+ R,
688
+ A,
689
+ L
688
690
  ]);
689
- function Fe() {}
690
- function Ie(e) {
691
- ne((t) => {
691
+ function Ie() {}
692
+ function Le(e) {
693
+ re((t) => {
692
694
  let n = new Set(t);
693
- return n.has(e) ? n.delete(e) : (n.add(e), ae((t) => {
695
+ return n.has(e) ? n.delete(e) : (n.add(e), oe((t) => {
694
696
  let n = new Set(t);
695
697
  return n.add(e), n;
696
698
  })), n;
697
699
  });
698
700
  }
699
- async function Le(e, t) {
701
+ async function Re(e, t) {
700
702
  if (!se.has(e)) {
701
- ce((t) => new Set(t).add(e));
703
+ le((t) => new Set(t).add(e));
702
704
  try {
703
- xe && await xe(t);
705
+ Se && await Se(t);
704
706
  } catch (e) {
705
707
  console.error("Failed to load more replies for chain:", e);
706
708
  } finally {
707
- ce((t) => {
709
+ le((t) => {
708
710
  let n = new Set(t);
709
711
  return n.delete(e), n;
710
712
  });
711
713
  }
712
714
  }
713
715
  }
714
- let Re = () => {}, ze = s(null), J = "640px", [Be, Ve] = n(0), [Y, He] = n(!0), [Ue] = le(Ve, 100);
716
+ let ze = () => {}, Be = s(null), q = "640px", [Ve, He] = n(0), [J, Ue] = n(!0), [We] = ue(He, 100);
715
717
  o(() => {
716
- let e = y.current, t = document.getElementById("object-content"), n = () => {
717
- if (Y || !e || !t) return;
718
+ let e = v.current, t = document.getElementById("object-content"), n = () => {
719
+ if (J || !e || !t) return;
718
720
  let n = t.getBoundingClientRect(), r = e.getBoundingClientRect();
719
721
  if (n.height <= r.height) {
720
- Ue(100);
722
+ We(100);
721
723
  return;
722
724
  }
723
725
  let i = Math.max(0, r.top - n.top), a = t.offsetHeight - e.offsetHeight, o = Math.min(Math.max(i / a * 100, 0), 100), s = Math.round(o / 1) * 1;
724
- Ue(s);
726
+ We(s);
725
727
  };
726
- if (Y) return;
728
+ if (J) return;
727
729
  let r = new MutationObserver(n);
728
730
  return t && r.observe(t, {
729
731
  childList: !0,
@@ -732,21 +734,21 @@ var $ = /* @__PURE__ */ new Map(), xt = ({ postId: e = null, onClose: i }) => {
732
734
  }), e?.addEventListener("scroll", n), n(), () => {
733
735
  e?.removeEventListener("scroll", n), r.disconnect();
734
736
  };
735
- }, [Y, Ue]);
736
- let [X, We] = n([]), [Ge, Ke] = n(null), [Z, qe] = n(null), Je = a((e) => {
737
- We(e);
738
- }, []), Ye = a((e) => {
739
- qe(e);
737
+ }, [J, We]);
738
+ let [Y, Ge] = n([]), [Ke, qe] = n(null), [X, Je] = n(null), Ye = a((e) => {
739
+ Ge(e);
740
+ }, []), Xe = a((e) => {
741
+ Je(e);
740
742
  }, []);
741
743
  o(() => {
742
- if (!Z?.contentDocument || !X.length) return;
744
+ if (!X?.contentDocument || !Y.length) return;
743
745
  let e = setTimeout(() => {
744
- let e = y.current;
746
+ let e = v.current;
745
747
  if (!e) return;
746
748
  let t = () => {
747
- let t = Z.contentDocument;
749
+ let t = X.contentDocument;
748
750
  if (!t || !t.documentElement) return;
749
- let n = e.scrollTop, r = X.map((e) => t.getElementById(e.id)).filter((e) => e !== null).map((e) => ({
751
+ let n = e.scrollTop, r = Y.map((e) => t.getElementById(e.id)).filter((e) => e !== null).map((e) => ({
750
752
  element: e,
751
753
  id: e.id,
752
754
  top: e.offsetTop
@@ -755,7 +757,7 @@ var $ = /* @__PURE__ */ new Map(), xt = ({ postId: e = null, onClose: i }) => {
755
757
  let i = null;
756
758
  for (let e of r) if (e.top - 100 <= n) i = e;
757
759
  else break;
758
- Ke(i?.id || null);
760
+ qe(i?.id || null);
759
761
  };
760
762
  return e.addEventListener("scroll", t), t(), () => {
761
763
  e.removeEventListener("scroll", t);
@@ -763,85 +765,85 @@ var $ = /* @__PURE__ */ new Map(), xt = ({ postId: e = null, onClose: i }) => {
763
765
  }, 100);
764
766
  return () => clearTimeout(e);
765
767
  }, [
766
- Z,
767
768
  X,
768
- Ge
769
+ Y,
770
+ Ke
769
771
  ]);
770
- let Q = f();
772
+ let Z = ee();
771
773
  return o(() => {
772
- let t = y.current;
774
+ let t = v.current;
773
775
  return () => {
774
776
  t && e && $.set(e, t.scrollTop);
775
777
  };
776
778
  }, [e]), o(() => {
777
- if (!Y && !I && e && y.current) {
779
+ if (!J && !F && e && v.current) {
778
780
  let t = $.get(e);
779
781
  t !== void 0 && t > 0 && setTimeout(() => {
780
- y.current && (y.current.scrollTop = t);
782
+ v.current && (v.current.scrollTop = t);
781
783
  }, 100);
782
784
  }
783
785
  }, [
784
- Y,
785
- I,
786
+ J,
787
+ F,
786
788
  e
787
- ]), I ? /* @__PURE__ */ (0, V.jsx)("div", {
788
- className: `max-h-full overflow-auto rounded-md ${c === "DARK" && "dark"} ${(c === "LIGHT" || c === "SEPIA") && "light"} ${K[c].background}`,
789
- children: /* @__PURE__ */ (0, V.jsx)("div", {
789
+ ]), F ? /* @__PURE__ */ (0, B.jsx)("div", {
790
+ className: `max-h-full overflow-auto rounded-md ${c === "DARK" && "dark"} ${(c === "LIGHT" || c === "SEPIA") && "light"} ${G[c].background}`,
791
+ children: /* @__PURE__ */ (0, B.jsx)("div", {
790
792
  className: "flex h-full flex-col",
791
- children: /* @__PURE__ */ (0, V.jsxs)("div", {
793
+ children: /* @__PURE__ */ (0, B.jsxs)("div", {
792
794
  className: "relative flex-1",
793
- children: [/* @__PURE__ */ (0, V.jsx)("div", {
794
- className: `sticky top-0 z-50 flex h-[102px] items-center justify-center rounded-t-md border-b max-md:h-[68px] ${K[c].background} ${K[c].border}`,
795
- children: /* @__PURE__ */ (0, V.jsxs)("div", {
795
+ children: [/* @__PURE__ */ (0, B.jsx)("div", {
796
+ className: `sticky top-0 z-50 flex h-[102px] items-center justify-center rounded-t-md border-b max-md:h-[68px] ${G[c].background} ${G[c].border}`,
797
+ children: /* @__PURE__ */ (0, B.jsxs)("div", {
796
798
  className: "grid w-full px-8 max-lg:px-4",
797
- style: { gridTemplateColumns: `1fr minmax(0,${J}) 1fr` },
799
+ style: { gridTemplateColumns: `1fr minmax(0,${q}) 1fr` },
798
800
  children: [
799
- /* @__PURE__ */ (0, V.jsx)("div", {
801
+ /* @__PURE__ */ (0, B.jsx)("div", {
800
802
  className: "flex items-center",
801
- children: /* @__PURE__ */ (0, V.jsx)(E, {
802
- className: K[c].button,
803
+ children: /* @__PURE__ */ (0, B.jsx)(E, {
804
+ className: G[c].button,
803
805
  onClick: i
804
806
  })
805
807
  }),
806
- /* @__PURE__ */ (0, V.jsxs)("div", {
808
+ /* @__PURE__ */ (0, B.jsxs)("div", {
807
809
  className: "col-[2/3] mx-auto flex w-full items-center gap-3 max-md:hidden",
808
- children: [/* @__PURE__ */ (0, V.jsx)(L, { className: "size-10 rounded-full" }), /* @__PURE__ */ (0, V.jsxs)("div", {
810
+ children: [/* @__PURE__ */ (0, B.jsx)(I, { className: "size-10 rounded-full" }), /* @__PURE__ */ (0, B.jsxs)("div", {
809
811
  className: "grow pt-1",
810
- children: [/* @__PURE__ */ (0, V.jsx)(L, { className: "w-full" }), /* @__PURE__ */ (0, V.jsx)(L, { className: "w-2/3" })]
812
+ children: [/* @__PURE__ */ (0, B.jsx)(I, { className: "w-full" }), /* @__PURE__ */ (0, B.jsx)(I, { className: "w-2/3" })]
811
813
  })]
812
814
  }),
813
- /* @__PURE__ */ (0, V.jsx)("div", {
815
+ /* @__PURE__ */ (0, B.jsx)("div", {
814
816
  className: "col-[3/4] flex items-center justify-end gap-2",
815
- children: /* @__PURE__ */ (0, V.jsx)(Ce, {
817
+ children: /* @__PURE__ */ (0, B.jsx)(we, {
816
818
  backgroundColor: c,
817
819
  currentFontSizeIndex: l,
818
820
  fontStyle: u,
819
- onColorChange: p,
820
- onDecreaseFontSize: _,
821
- onFontStyleChange: m,
822
- onIncreaseFontSize: h,
823
- onOpenChange: C,
824
- onResetFontSize: v
821
+ onColorChange: f,
822
+ onDecreaseFontSize: h,
823
+ onFontStyleChange: p,
824
+ onIncreaseFontSize: m,
825
+ onOpenChange: b,
826
+ onResetFontSize: _
825
827
  })
826
828
  })
827
829
  ]
828
830
  })
829
- }), /* @__PURE__ */ (0, V.jsx)("div", {
831
+ }), /* @__PURE__ */ (0, B.jsx)("div", {
830
832
  className: "relative flex-1 max-lg:px-4",
831
- children: /* @__PURE__ */ (0, V.jsxs)("div", {
833
+ children: /* @__PURE__ */ (0, B.jsxs)("div", {
832
834
  className: "mx-auto mt-11 w-full max-w-[640px]",
833
835
  children: [
834
- /* @__PURE__ */ (0, V.jsxs)("div", {
836
+ /* @__PURE__ */ (0, B.jsxs)("div", {
835
837
  className: "mb-6 flex flex-col gap-2",
836
- children: [/* @__PURE__ */ (0, V.jsx)(L, { className: "h-8" }), /* @__PURE__ */ (0, V.jsx)(L, { className: "h-8 w-full max-w-md" })]
838
+ children: [/* @__PURE__ */ (0, B.jsx)(I, { className: "h-8" }), /* @__PURE__ */ (0, B.jsx)(I, { className: "h-8 w-full max-w-md" })]
837
839
  }),
838
- /* @__PURE__ */ (0, V.jsx)(L, {
840
+ /* @__PURE__ */ (0, B.jsx)(I, {
839
841
  className: "mt-2 h-4",
840
842
  count: 4,
841
843
  randomize: !0
842
844
  }),
843
- /* @__PURE__ */ (0, V.jsx)(L, { className: "mt-8 h-[400px]" }),
844
- /* @__PURE__ */ (0, V.jsx)(L, {
845
+ /* @__PURE__ */ (0, B.jsx)(I, { className: "mt-8 h-[400px]" }),
846
+ /* @__PURE__ */ (0, B.jsx)(I, {
845
847
  className: "mt-2 h-4",
846
848
  containerClassName: "block mt-7 mb-4",
847
849
  count: 8,
@@ -852,159 +854,159 @@ var $ = /* @__PURE__ */ new Map(), xt = ({ postId: e = null, onClose: i }) => {
852
854
  })]
853
855
  })
854
856
  })
855
- }) : P ? /* @__PURE__ */ (0, V.jsx)("div", {
856
- ref: y,
857
- className: `max-h-full overflow-auto rounded-md ${c === "DARK" && "dark"} ${(c === "LIGHT" || c === "SEPIA") && "light"} ${K[c].background}`,
857
+ }) : N ? /* @__PURE__ */ (0, B.jsx)("div", {
858
+ ref: v,
859
+ className: `max-h-full overflow-auto rounded-md ${c === "DARK" && "dark"} ${(c === "LIGHT" || c === "SEPIA") && "light"} ${G[c].background}`,
858
860
  "data-scrollable-container": !0,
859
- children: /* @__PURE__ */ (0, V.jsx)(V.Fragment, { children: /* @__PURE__ */ (0, V.jsxs)("div", {
861
+ children: /* @__PURE__ */ (0, B.jsx)(B.Fragment, { children: /* @__PURE__ */ (0, B.jsxs)("div", {
860
862
  className: "flex h-full flex-col",
861
- children: [/* @__PURE__ */ (0, V.jsxs)("div", {
863
+ children: [/* @__PURE__ */ (0, B.jsxs)("div", {
862
864
  className: "relative flex-1",
863
- children: [/* @__PURE__ */ (0, V.jsx)("div", {
864
- className: `sticky top-0 z-50 flex h-[102px] items-center justify-center rounded-t-md border-b max-md:h-[68px] ${K[c].background} ${K[c].border}`,
865
- children: /* @__PURE__ */ (0, V.jsxs)("div", {
865
+ children: [/* @__PURE__ */ (0, B.jsx)("div", {
866
+ className: `sticky top-0 z-50 flex h-[102px] items-center justify-center rounded-t-md border-b max-md:h-[68px] ${G[c].background} ${G[c].border}`,
867
+ children: /* @__PURE__ */ (0, B.jsxs)("div", {
866
868
  className: "grid w-full px-8 max-lg:px-4",
867
- style: { gridTemplateColumns: `1fr minmax(0,${J}) 1fr` },
869
+ style: { gridTemplateColumns: `1fr minmax(0,${q}) 1fr` },
868
870
  children: [
869
- /* @__PURE__ */ (0, V.jsx)("div", {
871
+ /* @__PURE__ */ (0, B.jsx)("div", {
870
872
  className: "flex items-center",
871
- children: /* @__PURE__ */ (0, V.jsx)(E, {
872
- className: K[c].button,
873
+ children: /* @__PURE__ */ (0, B.jsx)(E, {
874
+ className: G[c].button,
873
875
  onClick: i
874
876
  })
875
877
  }),
876
- /* @__PURE__ */ (0, V.jsxs)("div", {
878
+ /* @__PURE__ */ (0, B.jsxs)("div", {
877
879
  className: "col-[2/3] mx-auto flex w-full items-center justify-between gap-3 max-md:hidden",
878
- children: [/* @__PURE__ */ (0, V.jsx)(ee, {
879
- actor: W,
880
- isCurrentUser: U.authored,
881
- children: /* @__PURE__ */ (0, V.jsxs)("div", {
880
+ children: [/* @__PURE__ */ (0, B.jsx)(S, {
881
+ actor: U,
882
+ isCurrentUser: H.authored,
883
+ children: /* @__PURE__ */ (0, B.jsxs)("div", {
882
884
  className: "flex cursor-pointer items-center gap-3",
883
- children: [/* @__PURE__ */ (0, V.jsx)("div", {
885
+ children: [/* @__PURE__ */ (0, B.jsx)("div", {
884
886
  className: "relative z-10 pt-0.5",
885
- children: /* @__PURE__ */ (0, V.jsx)(he, { author: W })
886
- }), /* @__PURE__ */ (0, V.jsxs)("div", {
887
+ children: /* @__PURE__ */ (0, B.jsx)(ge, { author: U })
888
+ }), /* @__PURE__ */ (0, B.jsxs)("div", {
887
889
  className: "relative z-10 mt-0.5 flex min-w-0 cursor-pointer flex-col overflow-visible text-[1.5rem]",
888
- onClick: (e) => x(W, Q, e),
889
- children: [/* @__PURE__ */ (0, V.jsx)("div", {
890
+ onClick: (e) => x(U, Z, e),
891
+ children: [/* @__PURE__ */ (0, B.jsx)("div", {
890
892
  className: "flex w-full",
891
- children: /* @__PURE__ */ (0, V.jsx)("span", {
893
+ children: /* @__PURE__ */ (0, B.jsx)("span", {
892
894
  className: "min-w-0 truncate font-semibold whitespace-nowrap text-black hover:underline dark:text-white",
893
- children: I ? /* @__PURE__ */ (0, V.jsx)(L, { className: "w-20" }) : W.name
895
+ children: F ? /* @__PURE__ */ (0, B.jsx)(I, { className: "w-20" }) : U.name
894
896
  })
895
- }), /* @__PURE__ */ (0, V.jsxs)("div", {
897
+ }), /* @__PURE__ */ (0, B.jsxs)("div", {
896
898
  className: "flex w-full",
897
- children: [!I && /* @__PURE__ */ (0, V.jsx)("span", {
899
+ children: [!F && /* @__PURE__ */ (0, B.jsx)("span", {
898
900
  className: "truncate text-gray-700 after:mx-1 after:font-normal after:text-gray-700 after:content-[\"·\"]",
899
- children: ge(W)
900
- }), /* @__PURE__ */ (0, V.jsx)("span", {
901
+ children: _e(U)
902
+ }), /* @__PURE__ */ (0, B.jsx)("span", {
901
903
  className: "text-gray-700",
902
- children: I ? /* @__PURE__ */ (0, V.jsx)(L, { className: "w-[120px]" }) : k(U, !U.authored)
904
+ children: F ? /* @__PURE__ */ (0, B.jsx)(I, { className: "w-[120px]" }) : D(H, !H.authored)
903
905
  })]
904
906
  })]
905
907
  })]
906
908
  })
907
- }), !U.authored && !I && /* @__PURE__ */ (0, V.jsx)(S, {
908
- following: W.followedByMe ?? !1,
909
- handle: ge(W)
909
+ }), !H.authored && !F && /* @__PURE__ */ (0, B.jsx)(te, {
910
+ following: U.followedByMe ?? !1,
911
+ handle: _e(U)
910
912
  })]
911
913
  }),
912
- /* @__PURE__ */ (0, V.jsx)("div", {
914
+ /* @__PURE__ */ (0, B.jsx)("div", {
913
915
  className: "col-[3/4] flex items-center justify-end gap-2",
914
- children: /* @__PURE__ */ (0, V.jsx)(Ce, {
916
+ children: /* @__PURE__ */ (0, B.jsx)(we, {
915
917
  backgroundColor: c,
916
918
  currentFontSizeIndex: l,
917
919
  fontStyle: u,
918
- onColorChange: p,
919
- onDecreaseFontSize: _,
920
- onFontStyleChange: m,
921
- onIncreaseFontSize: h,
922
- onOpenChange: C,
923
- onResetFontSize: v
920
+ onColorChange: f,
921
+ onDecreaseFontSize: h,
922
+ onFontStyleChange: p,
923
+ onIncreaseFontSize: m,
924
+ onOpenChange: b,
925
+ onResetFontSize: _
924
926
  })
925
927
  })
926
928
  ]
927
929
  })
928
- }), /* @__PURE__ */ (0, V.jsxs)("div", {
930
+ }), /* @__PURE__ */ (0, B.jsxs)("div", {
929
931
  className: "relative flex-1",
930
- children: [/* @__PURE__ */ (0, V.jsx)(Te, {
931
- iframeElement: Z,
932
- modalRef: y,
933
- tocItems: X,
934
- onOpenChange: D
935
- }), !I && /* @__PURE__ */ (0, V.jsx)("div", {
932
+ children: [/* @__PURE__ */ (0, B.jsx)(Ee, {
933
+ iframeElement: X,
934
+ modalRef: v,
935
+ tocItems: Y,
936
+ onOpenChange: w
937
+ }), !F && /* @__PURE__ */ (0, B.jsx)("div", {
936
938
  className: "grow overflow-y-auto",
937
- children: /* @__PURE__ */ (0, V.jsxs)("div", {
939
+ children: /* @__PURE__ */ (0, B.jsxs)("div", {
938
940
  className: "mx-auto px-6 pt-5 pb-10",
939
941
  style: { maxWidth: "904px" },
940
942
  children: [
941
- /* @__PURE__ */ (0, V.jsxs)("div", {
943
+ /* @__PURE__ */ (0, B.jsxs)("div", {
942
944
  className: "flex flex-col items-center pb-8",
943
945
  id: "object-content",
944
- children: [ke && Oe ? /* @__PURE__ */ (0, V.jsx)(oe, {
946
+ children: [Ae && ke ? /* @__PURE__ */ (0, B.jsx)(ce, {
945
947
  className: "w-full",
946
- label: Oe,
947
- onReveal: Pe
948
- }) : /* @__PURE__ */ (0, V.jsxs)(V.Fragment, { children: [
949
- Ae && /* @__PURE__ */ (0, V.jsx)(ue, {
948
+ label: ke,
949
+ onReveal: Fe
950
+ }) : /* @__PURE__ */ (0, B.jsxs)(B.Fragment, { children: [
951
+ je && /* @__PURE__ */ (0, B.jsx)(de, {
950
952
  className: "w-full",
951
- onReveal: Me
953
+ onReveal: Ne
952
954
  }),
953
- je && /* @__PURE__ */ (0, V.jsx)("div", {
955
+ Me && /* @__PURE__ */ (0, B.jsx)("div", {
954
956
  className: "mb-3 flex w-full justify-end",
955
- children: /* @__PURE__ */ (0, V.jsx)(ie, {
957
+ children: /* @__PURE__ */ (0, B.jsx)(ae, {
956
958
  layout: "inline",
957
- onHide: Ne
959
+ onHide: Pe
958
960
  })
959
961
  }),
960
- /* @__PURE__ */ (0, V.jsx)("div", {
962
+ /* @__PURE__ */ (0, B.jsx)("div", {
961
963
  className: "w-full",
962
- children: /* @__PURE__ */ (0, V.jsx)(vt, {
963
- authors: G,
964
+ children: /* @__PURE__ */ (0, B.jsx)(vt, {
965
+ authors: W,
964
966
  backgroundColor: c,
965
- excerpt: U.summary ?? "",
967
+ excerpt: H.summary ?? "",
966
968
  fontSize: d,
967
969
  fontStyle: u,
968
- heading: U.name,
969
- hideMedia: Ae,
970
- html: q,
971
- image: Ee,
972
- isPopoverOpen: b || w,
973
- postUrl: U?.url || "",
974
- onHeadingsExtracted: Je,
975
- onIframeLoad: Ye,
976
- onLoadingChange: He
970
+ heading: H.name,
971
+ hideMedia: je,
972
+ html: K,
973
+ image: De,
974
+ isPopoverOpen: y || C,
975
+ postUrl: H?.url || "",
976
+ onHeadingsExtracted: Ye,
977
+ onIframeLoad: Xe,
978
+ onLoadingChange: Ue
977
979
  })
978
980
  })
979
- ] }), /* @__PURE__ */ (0, V.jsx)("div", {
981
+ ] }), /* @__PURE__ */ (0, B.jsx)("div", {
980
982
  className: "-ml-3 w-full",
981
- style: { maxWidth: J },
982
- children: /* @__PURE__ */ (0, V.jsx)(te, {
983
- actor: W,
984
- commentCount: we,
983
+ style: { maxWidth: q },
984
+ children: /* @__PURE__ */ (0, B.jsx)(O, {
985
+ actor: U,
986
+ commentCount: Te,
985
987
  layout: "modal",
986
- likeCount: U.likeCount ?? 0,
987
- object: U,
988
- repostCount: U.repostCount ?? 0,
989
- onLikeClick: Re
988
+ likeCount: H.likeCount ?? 0,
989
+ object: H,
990
+ repostCount: H.repostCount ?? 0,
991
+ onLikeClick: ze
990
992
  })
991
993
  })]
992
994
  }),
993
- U.type === "Tombstone" && /* @__PURE__ */ (0, V.jsx)(ye, { last: !0 }),
994
- /* @__PURE__ */ (0, V.jsxs)("div", {
995
+ H.type === "Tombstone" && /* @__PURE__ */ (0, B.jsx)(be, { last: !0 }),
996
+ /* @__PURE__ */ (0, B.jsxs)("div", {
995
997
  className: "mx-auto w-full border-t border-black/[8%] dark:border-gray-950",
996
- style: { maxWidth: J },
997
- children: [/* @__PURE__ */ (0, V.jsx)(_e, { object: U }), /* @__PURE__ */ (0, V.jsx)(yt, {})]
998
+ style: { maxWidth: q },
999
+ children: [/* @__PURE__ */ (0, B.jsx)(ve, { object: H }), /* @__PURE__ */ (0, B.jsx)(yt, {})]
998
1000
  }),
999
- I && /* @__PURE__ */ (0, V.jsx)(T, { size: "lg" }),
1000
- /* @__PURE__ */ (0, V.jsxs)("div", {
1001
- ref: ze,
1001
+ F && /* @__PURE__ */ (0, B.jsx)(T, { size: "lg" }),
1002
+ /* @__PURE__ */ (0, B.jsxs)("div", {
1003
+ ref: Be,
1002
1004
  className: "mx-auto w-full",
1003
- style: { maxWidth: J },
1004
- children: [F.map((t, n) => {
1005
- let i = n === F.length - 1, a = t.mainReply.id, o = O.has(a), s = re.has(a), c = se.has(a), l = t.chain.length > 0;
1006
- return /* @__PURE__ */ (0, V.jsxs)(r.Fragment, { children: [
1007
- /* @__PURE__ */ (0, V.jsx)(A, {
1005
+ style: { maxWidth: q },
1006
+ children: [P.map((t, n) => {
1007
+ let i = n === P.length - 1, a = t.mainReply.id, o = ne.has(a), s = ie.has(a), c = se.has(a), l = t.chain.length > 0;
1008
+ return /* @__PURE__ */ (0, B.jsxs)(r.Fragment, { children: [
1009
+ /* @__PURE__ */ (0, B.jsx)(k, {
1008
1010
  actor: t.mainReply.actor,
1009
1011
  allowDelete: t.mainReply.object.authored,
1010
1012
  commentCount: t.mainReply.object.replyCount ?? 0,
@@ -1014,16 +1016,16 @@ var $ = /* @__PURE__ */ new Map(), xt = ({ postId: e = null, onClose: i }) => {
1014
1016
  layout: "reply",
1015
1017
  likeCount: t.mainReply.object.likeCount ?? 0,
1016
1018
  object: t.mainReply.object,
1017
- parentId: U.id,
1019
+ parentId: H.id,
1018
1020
  repostCount: t.mainReply.object.repostCount ?? 0,
1019
1021
  type: "Note",
1020
1022
  onClick: () => {
1021
- let n = y.current;
1022
- n && e && $.set(e, n.scrollTop), Q(`/notes/${encodeURIComponent(t.mainReply.id)}`);
1023
+ let n = v.current;
1024
+ n && e && $.set(e, n.scrollTop), Z(`/notes/${encodeURIComponent(t.mainReply.id)}`);
1023
1025
  },
1024
- onDelete: Fe
1026
+ onDelete: Ie
1025
1027
  }),
1026
- l && t.chain[0] && /* @__PURE__ */ (0, V.jsx)(A, {
1028
+ l && t.chain[0] && /* @__PURE__ */ (0, B.jsx)(k, {
1027
1029
  actor: t.chain[0].actor,
1028
1030
  allowDelete: t.chain[0].object.authored,
1029
1031
  commentCount: t.chain[0].object.replyCount ?? 0,
@@ -1033,18 +1035,18 @@ var $ = /* @__PURE__ */ new Map(), xt = ({ postId: e = null, onClose: i }) => {
1033
1035
  layout: "reply",
1034
1036
  likeCount: t.chain[0].object.likeCount ?? 0,
1035
1037
  object: t.chain[0].object,
1036
- parentId: U.id,
1038
+ parentId: H.id,
1037
1039
  repostCount: t.chain[0].object.repostCount ?? 0,
1038
1040
  type: "Note",
1039
1041
  onClick: () => {
1040
- let n = y.current;
1041
- n && e && $.set(e, n.scrollTop), Q(`/notes/${encodeURIComponent(t.chain[0].id)}`);
1042
+ let n = v.current;
1043
+ n && e && $.set(e, n.scrollTop), Z(`/notes/${encodeURIComponent(t.chain[0].id)}`);
1042
1044
  },
1043
- onDelete: Fe
1045
+ onDelete: Ie
1044
1046
  }, t.chain[0].id),
1045
1047
  l && o && t.chain.slice(1).map((r, i) => {
1046
- let a = i === t.chain.slice(1).length - 1, o = B && B(n), s = a && o;
1047
- return /* @__PURE__ */ (0, V.jsx)(A, {
1048
+ let a = i === t.chain.slice(1).length - 1, o = z && z(n), s = a && o;
1049
+ return /* @__PURE__ */ (0, B.jsx)(k, {
1048
1050
  actor: r.actor,
1049
1051
  allowDelete: r.object.authored,
1050
1052
  commentCount: r.object.replyCount ?? 0,
@@ -1054,73 +1056,73 @@ var $ = /* @__PURE__ */ new Map(), xt = ({ postId: e = null, onClose: i }) => {
1054
1056
  layout: "reply",
1055
1057
  likeCount: r.object.likeCount ?? 0,
1056
1058
  object: r.object,
1057
- parentId: U.id,
1059
+ parentId: H.id,
1058
1060
  repostCount: r.object.repostCount ?? 0,
1059
1061
  type: "Note",
1060
1062
  onClick: () => {
1061
- let t = y.current;
1062
- t && e && $.set(e, t.scrollTop), Q(`/notes/${encodeURIComponent(r.id)}`);
1063
+ let t = v.current;
1064
+ t && e && $.set(e, t.scrollTop), Z(`/notes/${encodeURIComponent(r.id)}`);
1063
1065
  },
1064
- onDelete: Fe
1066
+ onDelete: Ie
1065
1067
  }, r.id);
1066
1068
  }),
1067
- l && t.chain.length > 1 && !o && /* @__PURE__ */ (0, V.jsx)(ve, {
1069
+ l && t.chain.length > 1 && !o && /* @__PURE__ */ (0, B.jsx)(ye, {
1068
1070
  variant: "expand",
1069
- onClick: () => Ie(a)
1071
+ onClick: () => Le(a)
1070
1072
  }),
1071
- l && o && s && B && B(n) && /* @__PURE__ */ (0, V.jsx)(ve, {
1073
+ l && o && s && z && z(n) && /* @__PURE__ */ (0, B.jsx)(ye, {
1072
1074
  loading: c,
1073
1075
  variant: "loadMore",
1074
- onClick: () => Le(a, n)
1076
+ onClick: () => Re(a, n)
1075
1077
  }),
1076
- !i && /* @__PURE__ */ (0, V.jsx)(yt, {})
1078
+ !i && /* @__PURE__ */ (0, B.jsx)(yt, {})
1077
1079
  ] }, t.mainReply.id);
1078
- }), j && /* @__PURE__ */ (0, V.jsx)("div", {
1080
+ }), A && /* @__PURE__ */ (0, B.jsx)("div", {
1079
1081
  className: "flex flex-col items-center justify-center text-center",
1080
- children: /* @__PURE__ */ (0, V.jsx)(T, { size: "md" })
1082
+ children: /* @__PURE__ */ (0, B.jsx)(T, { size: "md" })
1081
1083
  })]
1082
1084
  }),
1083
- z && /* @__PURE__ */ (0, V.jsx)("div", {
1084
- ref: N,
1085
+ R && /* @__PURE__ */ (0, B.jsx)("div", {
1086
+ ref: M,
1085
1087
  className: "h-1"
1086
1088
  })
1087
1089
  ]
1088
1090
  })
1089
1091
  })]
1090
1092
  })]
1091
- }), !I && /* @__PURE__ */ (0, V.jsxs)("div", {
1093
+ }), !F && /* @__PURE__ */ (0, B.jsxs)("div", {
1092
1094
  className: "pointer-events-none visible! sticky bottom-0 hidden items-end justify-between px-10 pb-[42px] lg:flex!",
1093
- children: [/* @__PURE__ */ (0, V.jsx)("div", {
1095
+ children: [/* @__PURE__ */ (0, B.jsx)("div", {
1094
1096
  className: "pointer-events-auto text-gray-600",
1095
- children: de(U.content ?? "")
1096
- }), /* @__PURE__ */ (0, V.jsxs)("div", {
1097
+ children: fe(H.content ?? "")
1098
+ }), /* @__PURE__ */ (0, B.jsxs)("div", {
1097
1099
  className: "pointer-events-auto min-w-10 text-right text-gray-600 transition-all duration-200 ease-out",
1098
- children: [Be, "%"]
1099
- }, Be)]
1100
+ children: [Ve, "%"]
1101
+ }, Ve)]
1100
1102
  })]
1101
1103
  }) })
1102
- }) : /* @__PURE__ */ (0, V.jsx)("div", {
1103
- className: `max-h-full overflow-auto rounded-md ${c === "DARK" && "dark"} ${(c === "LIGHT" || c === "SEPIA") && "light"} ${K[c].background}`,
1104
- children: /* @__PURE__ */ (0, V.jsx)("div", {
1104
+ }) : /* @__PURE__ */ (0, B.jsx)("div", {
1105
+ className: `max-h-full overflow-auto rounded-md ${c === "DARK" && "dark"} ${(c === "LIGHT" || c === "SEPIA") && "light"} ${G[c].background}`,
1106
+ children: /* @__PURE__ */ (0, B.jsx)("div", {
1105
1107
  className: "flex h-full flex-col",
1106
- children: /* @__PURE__ */ (0, V.jsx)("div", {
1108
+ children: /* @__PURE__ */ (0, B.jsx)("div", {
1107
1109
  className: "relative flex-1",
1108
- children: /* @__PURE__ */ (0, V.jsx)("div", {
1109
- className: `sticky top-0 z-50 flex h-[102px] items-center justify-center rounded-t-md border-b max-md:h-[68px] ${K[c].background} ${K[c].border}`,
1110
- children: /* @__PURE__ */ (0, V.jsxs)("div", {
1110
+ children: /* @__PURE__ */ (0, B.jsx)("div", {
1111
+ className: `sticky top-0 z-50 flex h-[102px] items-center justify-center rounded-t-md border-b max-md:h-[68px] ${G[c].background} ${G[c].border}`,
1112
+ children: /* @__PURE__ */ (0, B.jsxs)("div", {
1111
1113
  className: "grid w-full px-8 max-lg:px-4",
1112
- style: { gridTemplateColumns: `1fr minmax(0,${J}) 1fr` },
1113
- children: [/* @__PURE__ */ (0, V.jsx)("div", {
1114
+ style: { gridTemplateColumns: `1fr minmax(0,${q}) 1fr` },
1115
+ children: [/* @__PURE__ */ (0, B.jsx)("div", {
1114
1116
  className: "flex items-center",
1115
- children: /* @__PURE__ */ (0, V.jsx)(E, {
1116
- className: K[c].button,
1117
+ children: /* @__PURE__ */ (0, B.jsx)(E, {
1118
+ className: G[c].button,
1117
1119
  onClick: i
1118
1120
  })
1119
- }), /* @__PURE__ */ (0, V.jsx)("div", {
1121
+ }), /* @__PURE__ */ (0, B.jsx)("div", {
1120
1122
  className: "col-[2/3] mx-auto flex w-full items-center gap-3 max-md:hidden",
1121
- children: /* @__PURE__ */ (0, V.jsx)("div", {
1123
+ children: /* @__PURE__ */ (0, B.jsx)("div", {
1122
1124
  className: "grow text-center",
1123
- children: /* @__PURE__ */ (0, V.jsx)("span", { children: "Error loading article." })
1125
+ children: /* @__PURE__ */ (0, B.jsx)("span", { children: "Error loading article." })
1124
1126
  })
1125
1127
  })]
1126
1128
  })
@@ -1133,47 +1135,47 @@ var $ = /* @__PURE__ */ new Map(), xt = ({ postId: e = null, onClose: i }) => {
1133
1135
  //#region src/views/inbox/components/inbox-list.tsx
1134
1136
  i();
1135
1137
  var St = ({ isLoading: e, activities: t, currentTopic: r, fetchNextPage: i, hasNextPage: a, isFetchingNextPage: c, onTopicChange: u }) => {
1136
- let m = f(), { canGoBack: _, goBack: v } = p(), [y, x] = n(!1), S = l(), { topicsQuery: ee } = h(), { data: C } = ee, w = C && C.topics.length > 0;
1138
+ let f = ee(), { canGoBack: p, goBack: _ } = d(), [v, y] = n(!1), x = l(), { topicsQuery: te } = h(), { data: S } = te, w = S && S.topics.length > 0;
1137
1139
  o(() => {
1138
- x(!!S.postId);
1139
- }, [S.postId]);
1140
- let E = s(null), D = s(null), k = s(null);
1140
+ y(!!x.postId);
1141
+ }, [x.postId]);
1142
+ let E = s(null), D = s(null), O = s(null);
1141
1143
  o(() => (E.current && E.current.disconnect(), E.current = new IntersectionObserver((e) => {
1142
1144
  e[0].isIntersecting && a && !c && i();
1143
- }), D.current && E.current.observe(D.current), k.current && E.current.observe(k.current), () => {
1145
+ }), D.current && E.current.observe(D.current), O.current && E.current.observe(O.current), () => {
1144
1146
  E.current && E.current.disconnect();
1145
1147
  }), [
1146
1148
  a,
1147
1149
  c,
1148
1150
  i
1149
1151
  ]);
1150
- let te = Math.max(0, Math.floor(t.length * .75) - 1);
1151
- return /* @__PURE__ */ (0, V.jsxs)(ae, { children: [
1152
- w && /* @__PURE__ */ (0, V.jsx)(z, {
1152
+ let ne = Math.max(0, Math.floor(t.length * .75) - 1);
1153
+ return /* @__PURE__ */ (0, B.jsxs)(oe, { children: [
1154
+ w && /* @__PURE__ */ (0, B.jsx)(R, {
1153
1155
  currentTopic: r,
1154
1156
  excludeTopics: ["top"],
1155
1157
  onTopicChange: u
1156
1158
  }),
1157
- /* @__PURE__ */ (0, V.jsx)("div", {
1159
+ /* @__PURE__ */ (0, B.jsx)("div", {
1158
1160
  className: "flex w-full flex-col",
1159
- children: /* @__PURE__ */ (0, V.jsx)("div", {
1161
+ children: /* @__PURE__ */ (0, B.jsx)("div", {
1160
1162
  className: "w-full",
1161
- children: t.length > 0 ? /* @__PURE__ */ (0, V.jsx)("div", {
1163
+ children: t.length > 0 ? /* @__PURE__ */ (0, B.jsx)("div", {
1162
1164
  className: "my-4",
1163
- children: /* @__PURE__ */ (0, V.jsx)("div", {
1165
+ children: /* @__PURE__ */ (0, B.jsx)("div", {
1164
1166
  className: "mx-auto flex min-h-[calc(100dvh_-_117px)] items-start gap-11",
1165
- children: /* @__PURE__ */ (0, V.jsx)("div", {
1167
+ children: /* @__PURE__ */ (0, B.jsx)("div", {
1166
1168
  className: "flex w-full min-w-0 flex-col items-center",
1167
- children: /* @__PURE__ */ (0, V.jsxs)("div", {
1169
+ children: /* @__PURE__ */ (0, B.jsxs)("div", {
1168
1170
  className: "flex w-full min-w-0 flex-col items-start",
1169
- children: [/* @__PURE__ */ (0, V.jsxs)("ul", {
1171
+ children: [/* @__PURE__ */ (0, B.jsxs)("ul", {
1170
1172
  className: "mx-auto flex w-full flex-col",
1171
1173
  "data-testid": "inbox-list",
1172
- children: [t.map((n, r) => /* @__PURE__ */ (0, V.jsxs)("li", {
1174
+ children: [t.map((n, r) => /* @__PURE__ */ (0, B.jsxs)("li", {
1173
1175
  "data-testid": "inbox-item",
1174
1176
  "data-test-view-article": !0,
1175
1177
  children: [
1176
- /* @__PURE__ */ (0, V.jsx)(A, {
1178
+ /* @__PURE__ */ (0, B.jsx)(k, {
1177
1179
  actor: n.actor,
1178
1180
  allowDelete: n.object.authored,
1179
1181
  commentCount: n.object.replyCount ?? 0,
@@ -1185,35 +1187,35 @@ var St = ({ isLoading: e, activities: t, currentTopic: r, fetchNextPage: i, hasN
1185
1187
  repostCount: n.object.repostCount ?? 0,
1186
1188
  type: n.type,
1187
1189
  onClick: () => {
1188
- m(`/reader/${encodeURIComponent(n.id)}`);
1190
+ f(`/reader/${encodeURIComponent(n.id)}`);
1189
1191
  }
1190
1192
  }),
1191
- r < t.length - 1 && /* @__PURE__ */ (0, V.jsx)(xe, {}),
1192
- r === te && /* @__PURE__ */ (0, V.jsx)("div", {
1193
+ r < t.length - 1 && /* @__PURE__ */ (0, B.jsx)(Se, {}),
1194
+ r === ne && /* @__PURE__ */ (0, B.jsx)("div", {
1193
1195
  ref: D,
1194
1196
  className: "h-1"
1195
1197
  })
1196
1198
  ]
1197
- }, `${n.id}-${n.type}-${r}`)), c && /* @__PURE__ */ (0, V.jsx)("li", {
1199
+ }, `${n.id}-${n.type}-${r}`)), c && /* @__PURE__ */ (0, B.jsx)("li", {
1198
1200
  className: "flex flex-col items-center justify-center gap-4 text-center",
1199
- children: /* @__PURE__ */ (0, V.jsx)(T, { size: "md" })
1201
+ children: /* @__PURE__ */ (0, B.jsx)(T, { size: "md" })
1200
1202
  })]
1201
- }), /* @__PURE__ */ (0, V.jsx)("div", {
1202
- ref: k,
1203
+ }), /* @__PURE__ */ (0, B.jsx)("div", {
1204
+ ref: O,
1203
1205
  className: "h-1"
1204
1206
  })]
1205
1207
  })
1206
1208
  })
1207
1209
  })
1208
- }) : r === "following" ? /* @__PURE__ */ (0, V.jsx)("div", {
1210
+ }) : r === "following" ? /* @__PURE__ */ (0, B.jsx)("div", {
1209
1211
  className: "mt-[24vh]",
1210
- children: /* @__PURE__ */ (0, V.jsx)(U, {
1211
- actions: w ? /* @__PURE__ */ (0, V.jsx)(d, {
1212
- onClick: () => m("/explore"),
1212
+ children: /* @__PURE__ */ (0, B.jsx)(H, {
1213
+ actions: w ? /* @__PURE__ */ (0, B.jsx)(m, {
1214
+ onClick: () => f("/explore"),
1213
1215
  children: "Find accounts to follow →"
1214
- }) : /* @__PURE__ */ (0, V.jsx)(d, {
1216
+ }) : /* @__PURE__ */ (0, B.jsx)(m, {
1215
1217
  asChild: !0,
1216
- children: /* @__PURE__ */ (0, V.jsx)("a", {
1218
+ children: /* @__PURE__ */ (0, B.jsx)("a", {
1217
1219
  href: "https://explore.ghost.org/social-web",
1218
1220
  rel: "noopener noreferrer",
1219
1221
  target: "_blank",
@@ -1222,32 +1224,32 @@ var St = ({ isLoading: e, activities: t, currentTopic: r, fetchNextPage: i, hasN
1222
1224
  }),
1223
1225
  description: "Start following publishers to see their long-form posts here.",
1224
1226
  title: "Your Reader is empty",
1225
- children: /* @__PURE__ */ (0, V.jsx)(R, {})
1227
+ children: /* @__PURE__ */ (0, B.jsx)(L, {})
1226
1228
  })
1227
- }) : /* @__PURE__ */ (0, V.jsx)("div", {
1229
+ }) : /* @__PURE__ */ (0, B.jsx)("div", {
1228
1230
  className: "mt-[24vh]",
1229
- children: /* @__PURE__ */ (0, V.jsx)(U, {
1231
+ children: /* @__PURE__ */ (0, B.jsx)(H, {
1230
1232
  description: "Explore other topics for more content.",
1231
1233
  title: "Nothing here yet",
1232
- children: /* @__PURE__ */ (0, V.jsx)(R, {})
1234
+ children: /* @__PURE__ */ (0, B.jsx)(L, {})
1233
1235
  })
1234
1236
  })
1235
1237
  })
1236
1238
  }),
1237
- /* @__PURE__ */ (0, V.jsx)(ne, {
1238
- open: y,
1239
+ /* @__PURE__ */ (0, B.jsx)(C, {
1240
+ open: v,
1239
1241
  onOpenChange: (e) => {
1240
- e || (_ ? v() : m("/reader")), x(e);
1242
+ e || (p ? _() : f("/reader")), y(e);
1241
1243
  },
1242
- children: /* @__PURE__ */ (0, V.jsxs)(O, {
1244
+ children: /* @__PURE__ */ (0, B.jsxs)(re, {
1243
1245
  className: "inset-y-3 h-[calc(100vh-24px)] w-screen max-w-[calc(100vw-24px)] animate-none! p-0 focus:outline-hidden dark:bg-gray-950",
1244
- children: [/* @__PURE__ */ (0, V.jsxs)(j, {
1246
+ children: [/* @__PURE__ */ (0, B.jsxs)(b, {
1245
1247
  className: "hidden",
1246
- children: [/* @__PURE__ */ (0, V.jsx)(ce, { children: "Reader" }), /* @__PURE__ */ (0, V.jsx)(b, { children: "Ghost reader for long form articles" })]
1247
- }), S.postId && /* @__PURE__ */ (0, V.jsx)(xt, {
1248
- postId: S.postId,
1248
+ children: [/* @__PURE__ */ (0, B.jsx)(se, { children: "Reader" }), /* @__PURE__ */ (0, B.jsx)(ie, { children: "Ghost reader for long form articles" })]
1249
+ }), x.postId && /* @__PURE__ */ (0, B.jsx)(xt, {
1250
+ postId: x.postId,
1249
1251
  onClose: () => {
1250
- _ ? v() : m("/reader");
1252
+ p ? _() : f("/reader");
1251
1253
  }
1252
1254
  })]
1253
1255
  })
@@ -1262,10 +1264,10 @@ var Ct = () => {
1262
1264
  enabled: e !== "following",
1263
1265
  topic: e
1264
1266
  }), { data: a, error: o, fetchNextPage: s, hasNextPage: c, isFetchingNextPage: l, isLoading: u } = e === "following" ? r : i, d = o && y(o) && o.statusCode === 404 && e !== "following";
1265
- return o && y(o) && !d ? /* @__PURE__ */ (0, V.jsx)(se, {
1267
+ return o && y(o) && !d ? /* @__PURE__ */ (0, B.jsx)(le, {
1266
1268
  errorCode: o.code,
1267
1269
  statusCode: o.statusCode
1268
- }) : /* @__PURE__ */ (0, V.jsx)(St, {
1270
+ }) : /* @__PURE__ */ (0, B.jsx)(St, {
1269
1271
  activities: d ? [] : a?.pages.flatMap((e) => e.posts) ?? Array.from({ length: 5 }, (e, t) => ({
1270
1272
  id: `placeholder-${t}`,
1271
1273
  object: {}
@@ -1281,4 +1283,4 @@ var Ct = () => {
1281
1283
  //#endregion
1282
1284
  export { Ct as default };
1283
1285
 
1284
- //# sourceMappingURL=inbox-BW-yvUoN.js.map
1286
+ //# sourceMappingURL=inbox-DerExBzA.js.map