@tryghost/activitypub 3.0.6 → 3.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/dist/activitypub.js +3 -3
  2. package/dist/at-sign-DjgaOOtV.mjs +15 -0
  3. package/dist/at-sign-DjgaOOtV.mjs.map +1 -0
  4. package/dist/avatar-flipboard-8NioODS5.mjs +19 -0
  5. package/dist/avatar-flipboard-8NioODS5.mjs.map +1 -0
  6. package/dist/bluesky-sharing-B4oF-0BN.mjs +150 -0
  7. package/dist/bluesky-sharing-B4oF-0BN.mjs.map +1 -0
  8. package/dist/copy-BxgO1lWX.mjs +15 -0
  9. package/dist/copy-BxgO1lWX.mjs.map +1 -0
  10. package/dist/deleted-feed-item-Ct4Zc7u3.mjs +133 -0
  11. package/dist/deleted-feed-item-Ct4Zc7u3.mjs.map +1 -0
  12. package/dist/edit-profile-DVsYbpNY.mjs +3651 -0
  13. package/dist/edit-profile-DVsYbpNY.mjs.map +1 -0
  14. package/dist/feed-D0aeoOOJ.mjs +207 -0
  15. package/dist/feed-D0aeoOOJ.mjs.map +1 -0
  16. package/dist/hash-B-J30lCU.mjs +17 -0
  17. package/dist/hash-B-J30lCU.mjs.map +1 -0
  18. package/dist/inbox-BrLsHadF.mjs +21 -0
  19. package/dist/inbox-BrLsHadF.mjs.map +1 -0
  20. package/dist/index-BMm_mIRT.mjs +138 -0
  21. package/dist/index-BMm_mIRT.mjs.map +1 -0
  22. package/dist/{index-CFmbpqlr.mjs → index-BdcW7GlH.mjs} +20 -20
  23. package/dist/{index-CFmbpqlr.mjs.map → index-BdcW7GlH.mjs.map} +1 -1
  24. package/dist/index-BftxScf5.mjs +4994 -0
  25. package/dist/index-BftxScf5.mjs.map +1 -0
  26. package/dist/index-DL7eG3Ac.mjs +367 -0
  27. package/dist/index-DL7eG3Ac.mjs.map +1 -0
  28. package/dist/index-DnpX9U7J.mjs +688 -0
  29. package/dist/index-DnpX9U7J.mjs.map +1 -0
  30. package/dist/index-DyFr7l3O.mjs +6508 -0
  31. package/dist/index-DyFr7l3O.mjs.map +1 -0
  32. package/dist/index-WlK4xdmR.mjs +219 -0
  33. package/dist/index-WlK4xdmR.mjs.map +1 -0
  34. package/dist/index-_vEj3NfZ.mjs +27062 -0
  35. package/dist/index-_vEj3NfZ.mjs.map +1 -0
  36. package/dist/moderation-KWQp9gQj.mjs +113 -0
  37. package/dist/moderation-KWQp9gQj.mjs.map +1 -0
  38. package/dist/note-CfQDRkeT.mjs +249 -0
  39. package/dist/note-CfQDRkeT.mjs.map +1 -0
  40. package/dist/reply-BrWarBVQ.mjs +15 -0
  41. package/dist/reply-BrWarBVQ.mjs.map +1 -0
  42. package/dist/separator-nDV4oVPB.mjs +39 -0
  43. package/dist/separator-nDV4oVPB.mjs.map +1 -0
  44. package/dist/settings-CCnMmVaW.mjs +79 -0
  45. package/dist/settings-CCnMmVaW.mjs.map +1 -0
  46. package/dist/step-1-HGv6537o.mjs +73 -0
  47. package/dist/step-1-HGv6537o.mjs.map +1 -0
  48. package/dist/step-2-hqeY_dIc.mjs +143 -0
  49. package/dist/step-2-hqeY_dIc.mjs.map +1 -0
  50. package/dist/step-3-8yg4QPpr.mjs +345 -0
  51. package/dist/step-3-8yg4QPpr.mjs.map +1 -0
  52. package/dist/tabs-BZytpdZ9.mjs +1096 -0
  53. package/dist/tabs-BZytpdZ9.mjs.map +1 -0
  54. package/dist/topic-filter-1kNAxvyr.mjs +39 -0
  55. package/dist/topic-filter-1kNAxvyr.mjs.map +1 -0
  56. package/package.json +1 -1
  57. package/dist/index-BJKUA7bK.mjs +0 -46030
  58. package/dist/index-BJKUA7bK.mjs.map +0 -1
@@ -0,0 +1,4994 @@
1
+ import { a6 as Gn, R as Q, j as n, s as In, b as y, e as L, b6 as Pn, b7 as Fn, B as $, bQ as ne, b8 as Ln, bR as ee, c as U, bS as te, W as jn, d as Rn, bT as un, S as N, P as ae, A as oe, h as re, g as Cn, r as ie, aa as de, aN as ce, k as hn, F as cn, i as sn, bU as se, ab as le, a as ge, u as pe, l as ue, L as he, D as me, n as ke, o as fe, p as be, bV as xe, bW as ve, bX as ye, av as zn, aw as we } from "./index-_vEj3NfZ.mjs";
2
+ import { u as je, D as Ce, A as ze, S as Sn } from "./deleted-feed-item-Ct4Zc7u3.mjs";
3
+ import { T as Se } from "./topic-filter-1kNAxvyr.mjs";
4
+ import { S as _e } from "./separator-nDV4oVPB.mjs";
5
+ import { I as _n } from "./inbox-BrLsHadF.mjs";
6
+ /**
7
+ * @license lucide-react v0.553.0 - ISC
8
+ *
9
+ * This source code is licensed under the ISC license.
10
+ * See the LICENSE file in the root directory of this source tree.
11
+ */
12
+ const Ee = [["path", { d: "M5 12h14", key: "1ays0h" }]], Ne = Gn("minus", Ee), Tn = Q.forwardRef(({ children: a, className: r, ...t }, i) => /* @__PURE__ */ n.jsx(
13
+ "div",
14
+ {
15
+ ref: i,
16
+ className: In("flex items-center justify-center rounded-full bg-muted w-12 h-12 max-w-12 max-h-12 [&_svg]:size-4 [&_svg]:text-muted-foreground [&_svg]:shrink-0", r),
17
+ ...t,
18
+ children: a
19
+ }
20
+ ));
21
+ Tn.displayName = "EmptyBadge";
22
+ const mn = Q.forwardRef(({ children: a, className: r, title: t, description: i, actions: d, ...u }, c) => /* @__PURE__ */ n.jsxs("div", { ref: c, className: In("flex flex-col items-center justify-center space-y-3 text-center", r), ...u, children: [
23
+ /* @__PURE__ */ n.jsx(Tn, { children: a }),
24
+ /* @__PURE__ */ n.jsxs("div", { className: "max-w-[320px] space-y-1.5", children: [
25
+ /* @__PURE__ */ n.jsx("h3", { className: "text-pretty text-md font-medium tracking-normal text-foreground", children: t }),
26
+ i && /* @__PURE__ */ n.jsx("p", { className: "text-pretty text-sm leading-tight text-muted-foreground", children: i })
27
+ ] }),
28
+ d && /* @__PURE__ */ n.jsx("div", { className: "mt-4 flex items-center gap-2", children: d })
29
+ ] }));
30
+ mn.displayName = "EmptyIndicator";
31
+ const kn = ["1.5rem", "1.6rem", "1.7rem", "1.8rem", "2rem"], Y = {
32
+ BACKGROUND_COLOR: "ghost-ap-background-color",
33
+ FONT_SIZE: "ghost-ap-font-size",
34
+ FONT_STYLE: "ghost-ap-font-style"
35
+ }, F = {
36
+ SYSTEM: {
37
+ id: "system",
38
+ color: "#fff",
39
+ background: "bg-white dark:bg-black",
40
+ button: "bg-white dark:bg-black",
41
+ border: "border-black/[8%] dark:border-gray-950"
42
+ },
43
+ SEPIA: {
44
+ id: "sepia",
45
+ color: "#FCF8F1",
46
+ background: "bg-[#FCF8F1]",
47
+ button: "bg-[#FCF8F1] hover:bg-black/[3%] text-black hover:text-black",
48
+ border: "border-black/[8%]"
49
+ },
50
+ LIGHT: {
51
+ id: "light",
52
+ color: "#fff",
53
+ background: "bg-white",
54
+ button: "hover:bg-black/[3%] text-black hover:text-black",
55
+ border: "border-black/[8%] dark:border-gray-950"
56
+ },
57
+ DARK: {
58
+ id: "dark",
59
+ color: "#15171a",
60
+ background: "bg-black",
61
+ button: "text-white dark:bg-black dark:hover:bg-gray-900",
62
+ border: "border-black/[8%] dark:border-gray-950"
63
+ }
64
+ }, Ie = () => {
65
+ const [a, r] = y(() => {
66
+ const o = localStorage.getItem(Y.BACKGROUND_COLOR);
67
+ return (o == null ? void 0 : o.toUpperCase()) || "SYSTEM";
68
+ }), [t, i] = y(() => {
69
+ const o = localStorage.getItem(Y.FONT_SIZE);
70
+ return o ? parseInt(o) : 2;
71
+ }), [d, u] = y(() => localStorage.getItem(Y.FONT_STYLE) || "sans"), c = (o) => {
72
+ r(o), localStorage.setItem(Y.BACKGROUND_COLOR, F[o].id);
73
+ };
74
+ return L(() => {
75
+ localStorage.setItem(Y.FONT_SIZE, t.toString());
76
+ }, [t]), L(() => {
77
+ localStorage.setItem(Y.FONT_STYLE, d);
78
+ }, [d]), {
79
+ backgroundColor: a,
80
+ currentFontSizeIndex: t,
81
+ fontStyle: d,
82
+ handleColorChange: c,
83
+ setFontStyle: u,
84
+ increaseFontSize: () => {
85
+ i((o) => Math.min(o + 1, kn.length - 1));
86
+ },
87
+ decreaseFontSize: () => {
88
+ i((o) => Math.max(o - 1, 0));
89
+ },
90
+ resetFontSize: () => i(2),
91
+ fontSize: kn[t]
92
+ };
93
+ }, En = ({
94
+ backgroundColor: a,
95
+ currentFontSizeIndex: r,
96
+ fontStyle: t,
97
+ onColorChange: i,
98
+ onFontStyleChange: d,
99
+ onDecreaseFontSize: u,
100
+ onIncreaseFontSize: c,
101
+ onResetFontSize: h,
102
+ onOpenChange: v
103
+ }) => {
104
+ const p = (s) => a === s, o = (s) => t === s;
105
+ return /* @__PURE__ */ n.jsx(
106
+ Pe,
107
+ {
108
+ backgroundColor: a,
109
+ currentFontSizeIndex: r,
110
+ fontStyle: t,
111
+ isActiveColor: p,
112
+ isActiveFont: o,
113
+ onColorChange: i,
114
+ onDecreaseFontSize: u,
115
+ onFontStyleChange: d,
116
+ onIncreaseFontSize: c,
117
+ onOpenChange: v,
118
+ onResetFontSize: h
119
+ }
120
+ );
121
+ }, Pe = ({
122
+ backgroundColor: a,
123
+ isActiveColor: r,
124
+ isActiveFont: t,
125
+ onColorChange: i,
126
+ onFontStyleChange: d,
127
+ currentFontSizeIndex: u,
128
+ onDecreaseFontSize: c,
129
+ onIncreaseFontSize: h,
130
+ onResetFontSize: v,
131
+ onOpenChange: p
132
+ }) => /* @__PURE__ */ n.jsxs(Pn, { modal: !1, onOpenChange: p, children: [
133
+ /* @__PURE__ */ n.jsx(Fn, { asChild: !0, children: /* @__PURE__ */ n.jsx($, { className: `size-9 rounded-full ${F[a].button}`, variant: "ghost", children: /* @__PURE__ */ n.jsx(ne.Typography, { className: "!size-[18px]" }) }) }),
134
+ /* @__PURE__ */ n.jsx(Ln, { align: "end", className: "w-[224px]", onCloseAutoFocus: (o) => o.preventDefault(), onOpenAutoFocus: (o) => o.preventDefault(), children: /* @__PURE__ */ n.jsxs("div", { className: "flex flex-col gap-4", children: [
135
+ /* @__PURE__ */ n.jsxs("div", { className: "flex items-center justify-between gap-[6px]", children: [
136
+ /* @__PURE__ */ n.jsx(
137
+ $,
138
+ {
139
+ className: `h-7 flex-1 rounded-[6px] bg-gray-200 p-0 text-[1.1rem] text-black hover:bg-gray-250 dark:bg-gray-925 dark:text-white dark:hover:bg-gray-900 [&_svg]:size-[14px] ${r("SYSTEM") ? "outline outline-2 outline-green" : ""}`,
140
+ variant: "secondary",
141
+ onClick: () => i("SYSTEM"),
142
+ children: "Auto"
143
+ }
144
+ ),
145
+ /* @__PURE__ */ n.jsx(
146
+ $,
147
+ {
148
+ className: `h-7 flex-1 rounded-[6px] bg-[#ece6d9] p-0 hover:bg-[#ece6d9] ${r("SEPIA") ? "outline outline-2 outline-green" : "border border-[#ece6d9]"}`,
149
+ onClick: () => i("SEPIA")
150
+ }
151
+ ),
152
+ /* @__PURE__ */ n.jsx(
153
+ $,
154
+ {
155
+ className: `h-7 flex-1 rounded-[6px] bg-white p-0 hover:bg-white ${r("LIGHT") ? "outline outline-2 outline-green" : "border border-gray-200"}`,
156
+ onClick: () => i("LIGHT")
157
+ }
158
+ ),
159
+ /* @__PURE__ */ n.jsx(
160
+ $,
161
+ {
162
+ className: `h-7 flex-1 rounded-[6px] bg-black p-0 hover:bg-black dark:border dark:border-gray-925 ${r("DARK") ? "outline outline-2 outline-green" : ""}`,
163
+ onClick: () => i("DARK")
164
+ }
165
+ )
166
+ ] }),
167
+ /* @__PURE__ */ n.jsxs("div", { className: "flex gap-2", children: [
168
+ /* @__PURE__ */ n.jsxs(
169
+ $,
170
+ {
171
+ className: `flex h-auto w-full flex-col gap-1 rounded-[6px] bg-gray-200 text-black hover:bg-gray-250 dark:bg-gray-925 dark:text-white dark:hover:bg-gray-900 ${t("sans") && "outline outline-2 outline-green"}`,
172
+ variant: "secondary",
173
+ onClick: () => d("sans"),
174
+ children: [
175
+ /* @__PURE__ */ n.jsx("span", { className: "text-[2rem] font-bold leading-none", children: "Aa" }),
176
+ /* @__PURE__ */ n.jsx("span", { className: "text-[1.1rem]", children: "System" })
177
+ ]
178
+ }
179
+ ),
180
+ /* @__PURE__ */ n.jsxs(
181
+ $,
182
+ {
183
+ className: `flex h-auto w-full flex-col gap-1 rounded-[6px] bg-gray-200 text-black hover:bg-gray-250 dark:bg-gray-925 dark:text-white dark:hover:bg-gray-900 ${t("serif") && "outline outline-2 outline-green"}`,
184
+ variant: "secondary",
185
+ onClick: () => d("serif"),
186
+ children: [
187
+ /* @__PURE__ */ n.jsx("span", { className: "pt-1 font-serif text-[2rem] font-bold leading-none", children: "Aa" }),
188
+ /* @__PURE__ */ n.jsx("span", { className: "font-serif text-[1.2rem]", children: "Serif" })
189
+ ]
190
+ }
191
+ )
192
+ ] }),
193
+ /* @__PURE__ */ n.jsxs("div", { className: "flex gap-2", children: [
194
+ /* @__PURE__ */ n.jsx(
195
+ $,
196
+ {
197
+ className: "h-8 w-full rounded-[6px] bg-gray-200 text-black hover:bg-gray-250 dark:bg-gray-925 dark:text-white dark:hover:bg-gray-900 [&_svg]:size-[14px]",
198
+ disabled: u === 0,
199
+ variant: "secondary",
200
+ onClick: c,
201
+ children: /* @__PURE__ */ n.jsx(Ne, {})
202
+ }
203
+ ),
204
+ /* @__PURE__ */ n.jsx(
205
+ $,
206
+ {
207
+ className: "h-8 w-full rounded-[6px] bg-gray-200 text-black hover:bg-gray-250 dark:bg-gray-925 dark:text-white dark:hover:bg-gray-900",
208
+ variant: "secondary",
209
+ onClick: v,
210
+ children: /* @__PURE__ */ n.jsx("span", { className: "text-[1.6rem] font-bold", children: "Aa" })
211
+ }
212
+ ),
213
+ /* @__PURE__ */ n.jsx(
214
+ $,
215
+ {
216
+ className: "h-8 w-full rounded-[6px] bg-gray-200 text-black hover:bg-gray-250 dark:bg-gray-925 dark:text-white dark:hover:bg-gray-900 [&_svg]:size-[14px]",
217
+ disabled: u === kn.length - 1,
218
+ variant: "secondary",
219
+ onClick: h,
220
+ children: /* @__PURE__ */ n.jsx(ee, {})
221
+ }
222
+ )
223
+ ] })
224
+ ] }) })
225
+ ] }), Fe = ({
226
+ tocItems: a,
227
+ iframeElement: r,
228
+ modalRef: t,
229
+ className: i = "!visible absolute inset-y-0 right-7 z-40 hidden lg:!block",
230
+ onOpenChange: d
231
+ }) => {
232
+ const [u, c] = y(null), h = Q.useRef(!1), v = (p) => {
233
+ if (!(r != null && r.contentDocument))
234
+ return;
235
+ const o = r.contentDocument.getElementById(p);
236
+ o && t.current && (h.current = !0, c(p), t.current.scrollTo({
237
+ top: o.offsetTop - 20,
238
+ behavior: "smooth"
239
+ }), setTimeout(() => {
240
+ h.current = !1;
241
+ }, 1e3));
242
+ };
243
+ return L(() => {
244
+ if (!(r != null && r.contentDocument) || a.length <= 1)
245
+ return;
246
+ const p = t.current;
247
+ if (!p)
248
+ return;
249
+ const o = () => {
250
+ if (h.current)
251
+ return;
252
+ const l = r.contentDocument;
253
+ if (!l)
254
+ return;
255
+ const I = p.scrollTop, R = 100, B = a.map((z) => l.getElementById(z.id)).filter((z) => z !== null).map((z) => ({
256
+ id: z.id,
257
+ top: z.offsetTop
258
+ }));
259
+ if (!B.length)
260
+ return;
261
+ const _ = B.reduce((z, A) => A.top - R <= I ? A : z);
262
+ c((_ == null ? void 0 : _.id) || null);
263
+ }, s = () => {
264
+ requestAnimationFrame(o);
265
+ };
266
+ return p.addEventListener("scroll", s), o(), () => {
267
+ p.removeEventListener("scroll", s);
268
+ };
269
+ }, [r, a, t]), a.length <= 1 ? null : /* @__PURE__ */ n.jsx("div", { className: i, children: /* @__PURE__ */ n.jsx("div", { className: "sticky top-1/2 -translate-y-1/2", children: /* @__PURE__ */ n.jsx(
270
+ Te,
271
+ {
272
+ activeHeading: u || "",
273
+ items: a,
274
+ onItemClick: v,
275
+ onOpenChange: d
276
+ }
277
+ ) }) });
278
+ }, Le = {
279
+ 1: "w-3",
280
+ 2: "w-2",
281
+ 3: "w-1"
282
+ }, Re = {
283
+ 1: "pl-2",
284
+ 2: "pl-6",
285
+ 3: "pl-10"
286
+ }, Te = ({ items: a, activeHeading: r, onItemClick: t, onOpenChange: i }) => {
287
+ const [d, u] = y(!1), c = Q.useRef();
288
+ if (Q.useEffect(() => () => {
289
+ c.current && clearTimeout(c.current);
290
+ }, []), a.length === 0)
291
+ return null;
292
+ const h = (l) => Math.min(l, 3), v = (l) => Le[h(l)], p = (l) => Re[h(l)], o = () => {
293
+ c.current && clearTimeout(c.current), u(!0), i == null || i(!0);
294
+ }, s = () => {
295
+ c.current = setTimeout(() => {
296
+ u(!1), i == null || i(!1);
297
+ }, 100);
298
+ };
299
+ return /* @__PURE__ */ n.jsxs(Pn, { modal: !1, open: d, onOpenChange: u, children: [
300
+ /* @__PURE__ */ n.jsx(Fn, { asChild: !0, children: /* @__PURE__ */ n.jsx(
301
+ "div",
302
+ {
303
+ className: "absolute right-2 top-1/2 flex -translate-y-1/2 flex-col items-end gap-2 rounded-md p-2 text-base dark:bg-black",
304
+ onMouseEnter: o,
305
+ onMouseLeave: s,
306
+ children: a.map((l) => /* @__PURE__ */ n.jsx(
307
+ "div",
308
+ {
309
+ className: `h-[2px] rounded-sm ${r === l.id ? "bg-black dark:bg-white" : "bg-gray-400 dark:bg-gray-700"} pr-1 transition-all ${v(l.level)}`
310
+ },
311
+ l.id
312
+ ))
313
+ }
314
+ ) }),
315
+ /* @__PURE__ */ n.jsx(
316
+ Ln,
317
+ {
318
+ align: "center",
319
+ className: "w-[240px] p-2",
320
+ side: "left",
321
+ sideOffset: -28,
322
+ onCloseAutoFocus: (l) => l.preventDefault(),
323
+ onMouseEnter: o,
324
+ onMouseLeave: s,
325
+ onOpenAutoFocus: (l) => l.preventDefault(),
326
+ children: /* @__PURE__ */ n.jsx(
327
+ "nav",
328
+ {
329
+ "aria-label": "Table of contents navigation",
330
+ className: "max-h-[60vh] overflow-y-auto",
331
+ role: "navigation",
332
+ children: a.map((l) => /* @__PURE__ */ n.jsx(
333
+ "button",
334
+ {
335
+ className: `line-clamp-2 block w-full cursor-pointer rounded py-1 text-left text-sm leading-tight ${r === l.id ? "text-black dark:text-white" : "text-gray-700 dark:text-gray-600"} hover:bg-gray-75 hover:text-gray-900 dark:hover:bg-grey-925 dark:hover:text-white ${p(l.level)}`,
336
+ type: "button",
337
+ onClick: () => t(l.id),
338
+ children: /* @__PURE__ */ n.jsx("span", { className: "line-clamp-2", children: l.text })
339
+ },
340
+ l.id
341
+ ))
342
+ }
343
+ )
344
+ }
345
+ )
346
+ ] });
347
+ }, Oe = () => `<style>
348
+
349
+ /* Variables */
350
+
351
+ :root {
352
+ --color-white: #fff;
353
+ --color-lighter-gray: rgb(0 0 0 / 0.05);
354
+ --color-light-gray: #e6e6e6;
355
+ --color-mid-gray: #ccc;
356
+ --color-dark-gray: #444;
357
+ --color-darker-gray: #15171a;
358
+ --color-black: #000;
359
+ --color-primary-text: var(--color-darker-gray);
360
+ --color-secondary-text: rgb(124 139 154);
361
+ --color-border: rgb(0 0 0 / 0.08);
362
+ --color-dark-border: rgb(0 0 0 / 0.55);
363
+ --background-color: #fff;
364
+ --font-sans: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
365
+ --font-serif: "EB Garamond", Georgia, Times, serif;
366
+ --font-serif-alt: Georgia, Times, serif;
367
+ --font-mono: "JetBrains Mono", Menlo, Consolas, Monaco, "Liberation Mono", "Lucida Console", monospace;
368
+ --letter-spacing: 0;
369
+ --container-width: 1320px;
370
+ --container-gap: clamp(24px, 1.7032rem + 1.9355vw, 48px);
371
+ --ghost-accent-color: #15171a;
372
+ }
373
+
374
+ :root.has-light-text,
375
+ :is(.gh-navigation, .gh-footer).has-accent-color {
376
+ --color-lighter-gray: rgb(255 255 255 / 0.1);
377
+ --color-darker-gray: #fff;
378
+ --color-secondary-text: rgb(255 255 255 / 0.64);
379
+ --color-border: rgb(255 255 255 / 0.15);
380
+ --color-dark-border: rgb(255 255 255 / 0.5);
381
+ --background-color: #15171a;
382
+ }
383
+
384
+ /* Resets */
385
+
386
+ *, *::before, *::after {
387
+ box-sizing: border-box;
388
+ }
389
+
390
+ * {
391
+ margin: 0;
392
+ }
393
+
394
+ html {
395
+ font-size: 62.5%;
396
+ }
397
+
398
+ body {
399
+ font-family: var(--font-sans);
400
+ line-height: 1.5;
401
+ -webkit-font-smoothing: antialiased;
402
+ -moz-osx-font-smoothing: grayscale;
403
+ }
404
+
405
+ img, picture, video, canvas, svg {
406
+ display: block;
407
+ height: auto;
408
+ max-width: 100%;
409
+ }
410
+
411
+ iframe {
412
+ display: block;
413
+ }
414
+
415
+ input, button, textarea, select {
416
+ font: inherit;
417
+ }
418
+
419
+ p, h1, h2, h3, h4, h5, h6 {
420
+ overflow-wrap: break-word;
421
+ }
422
+
423
+ h1, h2, h3, h4, h5, h6 {
424
+ font-family: var(--font-sans);
425
+ line-height: 1.2;
426
+ }
427
+
428
+ /* Globals */
429
+
430
+ html {
431
+ --container-width: 840px;
432
+ --content-width: 640px;
433
+ }
434
+
435
+ body {
436
+ font-family: var(--font-sans);
437
+ font-size: 1.6rem;
438
+ background-color: var(--background-color);
439
+ color: var(--color-primary-text);
440
+ }
441
+
442
+ a {
443
+ color: var(--color-darker-gray);
444
+ text-decoration: none;
445
+ }
446
+
447
+ a:not([class]):hover {
448
+ opacity: 0.8;
449
+ }
450
+
451
+ .gh-canvas,
452
+ .kg-width-full.kg-content-wide {
453
+ --main: min(var(--content-width, 720px), 100% - var(--container-gap) * 2);
454
+ --wide: minmax(0, calc((var(--container-width, 1200px) - var(--content-width, 720px)) / 2));
455
+ --full: minmax(var(--container-gap), 1fr);
456
+
457
+ display: grid;
458
+ grid-template-columns:
459
+ [full-start] var(--full)
460
+ [wide-start] var(--wide)
461
+ [main-start] var(--main) [main-end]
462
+ var(--wide) [wide-end]
463
+ var(--full) [full-end];
464
+ }
465
+
466
+ .gh-canvas > * {
467
+ grid-column: main;
468
+ }
469
+
470
+ .kg-width-wide,
471
+ .kg-content-wide > div {
472
+ grid-column: full;
473
+ }
474
+
475
+ .kg-width-full {
476
+ grid-column: full;
477
+ }
478
+
479
+ /* Article */
480
+
481
+ .gh-article-header {
482
+ margin: 24px 0 40px;
483
+ }
484
+
485
+ .gh-article-title {
486
+ font-weight: 700;
487
+ text-wrap: pretty;
488
+ font-size: 3.6rem;
489
+ letter-spacing: -0.015em;
490
+ line-height: 1.1;
491
+ }
492
+
493
+ .gh-article-excerpt {
494
+ margin-top: 12px;
495
+ font-size: calc(var(--font-size) * 1.06 * var(--font-size-multiplier, 1));
496
+ line-height: 1.4;
497
+ text-wrap: pretty;
498
+ }
499
+
500
+ .has-serif-body .gh-article-excerpt {
501
+ font-family: var(--font-serif-alt);
502
+ }
503
+
504
+ .gh-article-meta {
505
+ display: flex;
506
+ align-items: center;
507
+ gap: 8px;
508
+ margin-top: 16px;
509
+ }
510
+
511
+ .gh-article-meta:hover {
512
+ opacity: 1;
513
+ }
514
+
515
+ .gh-article-author-image {
516
+ display: flex;
517
+ margin-right: 8px;
518
+ margin-left: 6px;
519
+ }
520
+
521
+ .gh-article-author-image span {
522
+ display: flex;
523
+ justify-content: center;
524
+ align-items: center;
525
+ position: relative;
526
+ width: 46px;
527
+ height: 46px;
528
+ overflow: hidden;
529
+ margin: 0 -8px;
530
+ background-color: #F4F5F6;
531
+ border-radius: 50%;
532
+ border: 3px solid var(--background-color);
533
+ }
534
+
535
+ html.has-sepia-bg .gh-article-author-image span {
536
+ background-color: #EFEDE6;
537
+ }
538
+
539
+ html.has-light-text .gh-article-author-image span {
540
+ background-color: #394047;
541
+ }
542
+
543
+ .gh-article-author-image span:first-child {
544
+ z-index: 10;
545
+ }
546
+
547
+ .gh-article-author-image span:nth-child(2) {
548
+ z-index: 9;
549
+ }
550
+
551
+ .gh-article-author-image span:nth-child(3) {
552
+ z-index: 8;
553
+ }
554
+
555
+ .gh-article-author-image img {
556
+ position: absolute;
557
+ inset: 0;
558
+ width: 100%;
559
+ height: 100%;
560
+ object-fit: cover;
561
+ }
562
+
563
+ .gh-article-author-image svg {
564
+ width: 18px;
565
+ height: 18px;
566
+ color: #95A1AD;
567
+ }
568
+
569
+ .gh-article-meta-wrapper {
570
+ display: flex;
571
+ flex-direction: column;
572
+ gap: 1px;
573
+ margin-top: -2px;
574
+ }
575
+
576
+ .gh-article-author-name {
577
+ font-size: 1.5rem;
578
+ font-weight: 600;
579
+ letter-spacing: -0.008em;
580
+ }
581
+
582
+ .gh-article-source {
583
+ display: flex;
584
+ align-items: center;
585
+ gap: 4px;
586
+ font-size: 1.5rem;
587
+ line-height: 1.2;
588
+ color: var(--color-secondary-text);
589
+ width: fit-content;
590
+ }
591
+
592
+ .gh-article-source svg {
593
+ width: 12px;
594
+ height: 12px;
595
+ margin-top: 1px;
596
+ }
597
+
598
+ .gh-article-meta:hover .gh-article-source {
599
+ text-decoration: underline;
600
+ }
601
+
602
+ .gh-article-image {
603
+ grid-column: full;
604
+ margin-top: 40px;
605
+ }
606
+
607
+ .gh-article-image img {
608
+ width: 100%;
609
+ }
610
+
611
+ /* Content */
612
+
613
+ /* Content refers to styling all page and post content that is
614
+ created within the Ghost editor. The main content handles
615
+ headings, text, images and lists. We deal with cards lower down. */
616
+
617
+ .gh-content {
618
+ font-size: calc(var(--font-size) * var(--font-size-multiplier, 1));
619
+ overflow-x: hidden;
620
+ letter-spacing: var(--letter-spacing);
621
+ line-height: var(--line-height);
622
+ }
623
+
624
+ /* Default vertical spacing */
625
+ .gh-content > * + * {
626
+ margin-top: calc(28px * var(--content-spacing-factor, 1));
627
+ margin-bottom: 0;
628
+ }
629
+
630
+ /* Remove space between full-width cards */
631
+ .gh-content > .kg-width-full + .kg-width-full:not(.kg-width-full.kg-card-hascaption + .kg-width-full) {
632
+ margin-top: 0;
633
+ }
634
+
635
+ /* Add back a top margin to all headings,
636
+ unless a heading is the very first element in the post content */
637
+ .gh-content > [id]:not(:first-child) {
638
+ margin-top: calc(40px * var(--content-spacing-factor, 1));
639
+ }
640
+
641
+ /* Add a small margin between a heading and paragraph after it */
642
+ .gh-content > [id] + p {
643
+ margin-top: calc(12px * var(--content-spacing-factor, 1));
644
+ }
645
+
646
+ /* A larger margin before/after dividers, blockquotes and embeds */
647
+ .gh-content > :is(hr, blockquote, iframe) {
648
+ position: relative;
649
+ margin-top: calc(48px * var(--content-spacing-factor, 1)) !important;
650
+ }
651
+
652
+ .gh-content > :is(hr, blockquote, iframe) + * {
653
+ margin-top: calc(48px * var(--content-spacing-factor, 1)) !important;
654
+ }
655
+
656
+ /* Now the content typography styles */
657
+ .gh-content [id] {
658
+ letter-spacing: -0.005em;
659
+ }
660
+
661
+ .gh-content h1 {
662
+ font-size: 1.9em;
663
+ }
664
+
665
+ .gh-content h2 {
666
+ font-size: 1.6em;
667
+ }
668
+
669
+ .gh-content h3 {
670
+ font-size: 1.3em;
671
+ }
672
+
673
+ .gh-content h4 {
674
+ font-size: 1.2em;
675
+ }
676
+
677
+ .gh-content h5 {
678
+ font-size: 1.1em;
679
+ }
680
+
681
+ .gh-content h6 {
682
+ font-size: 1em;
683
+ }
684
+
685
+ .gh-content a:not([class]) {
686
+ color: #14B8FF;
687
+ text-decoration: underline;
688
+ }
689
+
690
+ html.has-light-text .gh-content a:not([class]) {
691
+ color: #14B8FF;
692
+ }
693
+
694
+ html.has-sepia-bg .gh-content a:not([class]) {
695
+ color: #DD6B02;
696
+ }
697
+
698
+ .gh-content .kg-callout-card .kg-callout-text,
699
+ .gh-content .kg-toggle-card .kg-toggle-content > :is(ul, ol, p) {
700
+ font-size: 0.95em;
701
+ }
702
+
703
+ .has-serif-body .gh-content > blockquote,
704
+ .has-serif-body .gh-content > ol,
705
+ .has-serif-body .gh-content > ul,
706
+ .has-serif-body .gh-content > dl,
707
+ .has-serif-body .gh-content > p,
708
+ .has-serif-body .gh-content .kg-callout-text,
709
+ .has-serif-body .gh-content .kg-toggle-content > ol,
710
+ .has-serif-body .gh-content .kg-toggle-content > ul,
711
+ .has-serif-body .gh-content .kg-toggle-content > p {
712
+ font-family: var(--font-serif-alt);
713
+ }
714
+
715
+ .gh-content :is(ul, ol) {
716
+ padding-left: 28px;
717
+ }
718
+
719
+ .gh-content :is(li + li, li :is(ul, ol)) {
720
+ margin-top: 8px;
721
+ }
722
+
723
+ .gh-content ol ol li {
724
+ list-style-type: lower-alpha;
725
+ }
726
+
727
+ .gh-content ol ol ol li {
728
+ list-style-type: lower-roman;
729
+ }
730
+
731
+ .gh-content hr {
732
+ width: 100%;
733
+ height: 1px;
734
+ background-color: var(--color-border);
735
+ border: 0;
736
+ }
737
+
738
+ .gh-content .gh-table {
739
+ overflow-x: scroll;
740
+ -webkit-overflow-scrolling: touch;
741
+ }
742
+
743
+ .gh-content .gh-table table {
744
+ width: 100%;
745
+ font-family: var(--font-sans);
746
+ font-size: 1.5rem;
747
+ white-space: nowrap;
748
+ vertical-align: top;
749
+ border-spacing: 0;
750
+ border-collapse: collapse;
751
+ }
752
+
753
+ .gh-content .gh-table table th {
754
+ font-size: 1.2rem;
755
+ font-weight: 700;
756
+ color: var(--color-darkgrey);
757
+ text-align: left;
758
+ text-transform: uppercase;
759
+ letter-spacing: 0.2px;
760
+ }
761
+
762
+ .gh-content .gh-table table :is(th, td),
763
+ .gh-content .gh-table table td {
764
+ padding: 6px 12px;
765
+ border-bottom: 1px solid var(--color-border);
766
+ }
767
+
768
+ .gh-content .gh-table table :is(th, td):first-child {
769
+ padding-left: 0;
770
+ }
771
+
772
+ .gh-content .gh-table table :is(th, td):last-child {
773
+ padding-right: 0;
774
+ }
775
+
776
+ .gh-content pre {
777
+ overflow: auto;
778
+ padding: 16px;
779
+ font-size: 1.5rem;
780
+ line-height: 1.5em;
781
+ background: var(--color-lighter-gray);
782
+ border-radius: 6px;
783
+ font-family: var(--font-mono);
784
+ }
785
+
786
+ .gh-content :not(pre) > code {
787
+ vertical-align: baseline;
788
+ padding: 0.15em 0.4em;
789
+ font-weight: 400;
790
+ font-size: 0.95em;
791
+ line-height: 1em;
792
+ background: var(--color-lighter-gray);
793
+ border-radius: 0.25em;
794
+ font-family: var(--font-mono);
795
+ }
796
+
797
+ .gh-content mark {
798
+ color: inherit;
799
+ background: rgb(255 225 54 / 25%);
800
+ }
801
+
802
+ /* Cards */
803
+
804
+ /* Add extra margin before/after any cards, except for when immediately preceeded by a heading */
805
+
806
+ .gh-content :not(.kg-card):not(table):not([id]) + :is(.kg-card, table) {
807
+ margin-top: calc(48px * var(--content-spacing-factor, 1));
808
+ }
809
+
810
+ .gh-content :is(.kg-card, table) + :not(.kg-card):not(table):not([id]) {
811
+ margin-top: calc(48px * var(--content-spacing-factor, 1));
812
+ }
813
+
814
+ .gh-content :not(.kg-card):not([id]) + .kg-card.kg-width-full {
815
+ margin-top: calc(68px * var(--content-spacing-factor, 1));
816
+ }
817
+
818
+ .gh-content .kg-card.kg-width-full + :not(.kg-card):not([id]) {
819
+ margin-top: calc(68px * var(--content-spacing-factor, 1));
820
+ }
821
+
822
+ .kg-image {
823
+ margin-right: auto;
824
+ margin-left: auto;
825
+ }
826
+
827
+ .kg-embed-card {
828
+ display: flex;
829
+ flex-direction: column;
830
+ align-items: center;
831
+ width: 100%;
832
+ }
833
+
834
+ .kg-image-card a:hover,
835
+ .kg-gallery-image a:hover {
836
+ opacity: 1 !important;
837
+ }
838
+
839
+ blockquote:not([class]) {
840
+ padding-left: 2rem;
841
+ border-left: 4px solid var(--ghost-accent-color);
842
+ }
843
+
844
+ blockquote.kg-blockquote-alt {
845
+ font-style: normal;
846
+ font-weight: 400;
847
+ color: var(--color-secondary-text);
848
+ }
849
+
850
+ .has-serif-body .kg-header-card h3.kg-header-card-subheader {
851
+ font-family: var(--font-serif);
852
+ }
853
+
854
+ .has-serif-body .kg-product-card-description :is(p, ul, ol) {
855
+ font-family: var(--font-serif-alt);
856
+ }
857
+
858
+ /* Caption */
859
+
860
+ figcaption {
861
+ margin-top: 12px;
862
+ font-size: 1.3rem;
863
+ text-align: center;
864
+ }
865
+
866
+ .kg-card.kg-width-full figcaption {
867
+ padding: 0 16px;
868
+ }
869
+
870
+ figcaption a {
871
+ color: rgb(29 78 216);
872
+ text-decoration: underline;
873
+ }
874
+
875
+ /* Paid content styles */
876
+
877
+ .gh-paid-content-notice {
878
+ display: flex;
879
+ flex-direction: column;
880
+ align-items: center;
881
+ gap: 8px;
882
+ padding: 36px;
883
+ background: rgba(0, 0, 0, 0.035);
884
+ border-radius: 14px;
885
+ font-size: 16px;
886
+ }
887
+
888
+ html.has-light-text .gh-paid-content-notice {
889
+ background: rgba(255, 255, 255, 0.035);
890
+ }
891
+
892
+ .gh-paid-content-notice h3 {
893
+ letter-spacing: -0.015em !important;
894
+ }
895
+
896
+ .gh-paid-content-notice p {
897
+ max-width: 350px;
898
+ text-align: center;
899
+ line-height: 1.3em;
900
+ }
901
+
902
+ .gh-paid-content-cta {
903
+ display: block;
904
+ color: var(--background-color) !important;
905
+ background: var(--color-primary-text);
906
+ text-decoration: none !important;
907
+ font-weight: 600;
908
+ font-size: 0.9em;
909
+ padding: 8px 16px;
910
+ margin-top: 8px;
911
+ border-radius: 6px;
912
+ }
913
+
914
+ /* Design settings /*
915
+
916
+ .has-serif-body {
917
+ --font-size-multiplier: 1.1;
918
+ }
919
+
920
+ .has-serif-body .gh-content > blockquote,
921
+ .has-serif-body .gh-content > ol,
922
+ .has-serif-body .gh-content > ul,
923
+ .has-serif-body .gh-content > dl,
924
+ .has-serif-body .gh-content > p,
925
+ .has-serif-body .gh-content .kg-callout-card .kg-callout-text,
926
+ .has-serif-body .gh-content .kg-toggle-card .kg-toggle-content > ol,
927
+ .has-serif-body .gh-content .kg-toggle-card .kg-toggle-content > ul,
928
+ .has-serif-body .gh-content .kg-toggle-card .kg-toggle-content > p {
929
+ font-family: var(--font-serif-alt);
930
+ }
931
+
932
+ </style>`, Me = `(function() {
933
+ const handleAudioPlayer = function (audioElementContainer) {
934
+ const audioPlayerContainer = audioElementContainer.querySelector('.kg-audio-player-container');
935
+ const playIconContainer = audioElementContainer.querySelector('.kg-audio-play-icon');
936
+ const pauseIconContainer = audioElementContainer.querySelector('.kg-audio-pause-icon');
937
+ const seekSlider = audioElementContainer.querySelector('.kg-audio-seek-slider');
938
+ const playbackRateContainer = audioElementContainer.querySelector('.kg-audio-playback-rate');
939
+ const muteIconContainer = audioElementContainer.querySelector('.kg-audio-mute-icon');
940
+ const unmuteIconContainer = audioElementContainer.querySelector('.kg-audio-unmute-icon');
941
+ const volumeSlider = audioElementContainer.querySelector('.kg-audio-volume-slider');
942
+ const audio = audioElementContainer.querySelector('audio');
943
+ const durationContainer = audioElementContainer.querySelector('.kg-audio-duration');
944
+ const currentTimeContainer = audioElementContainer.querySelector('.kg-audio-current-time');
945
+ let playbackRates = [{
946
+ rate: 0.75,
947
+ label: '0.7×'
948
+ }, {
949
+ rate: 1.0,
950
+ label: '1×'
951
+ }, {
952
+ rate: 1.25,
953
+ label: '1.2×'
954
+ }, {
955
+ rate: 1.75,
956
+ label: '1.7×'
957
+ }, {
958
+ rate: 2.0,
959
+ label: '2×'
960
+ }];
961
+
962
+ let raf = null;
963
+ let currentPlaybackRateIdx = 1;
964
+
965
+ const whilePlaying = () => {
966
+ seekSlider.value = Math.floor(audio.currentTime);
967
+ currentTimeContainer.textContent = calculateTime(seekSlider.value);
968
+ audioPlayerContainer.style.setProperty('--seek-before-width', \`\${seekSlider.value / seekSlider.max * 100}%\`);
969
+ raf = requestAnimationFrame(whilePlaying);
970
+ }
971
+
972
+ const showRangeProgress = (rangeInput) => {
973
+ if (rangeInput === seekSlider) {
974
+ audioPlayerContainer.style.setProperty('--seek-before-width', rangeInput.value / rangeInput.max * 100 + '%');
975
+ }
976
+ else {
977
+ audioPlayerContainer.style.setProperty('--volume-before-width', rangeInput.value / rangeInput.max * 100 + '%');
978
+ }
979
+ }
980
+
981
+ const calculateTime = (secs) => {
982
+ const minutes = Math.floor(secs / 60);
983
+ const seconds = Math.floor(secs % 60);
984
+ const returnedSeconds = seconds < 10 ? \`0\${seconds}\` : \`\${seconds}\`;
985
+ return \`\${minutes}:\${returnedSeconds}\`;
986
+ }
987
+
988
+ const displayDuration = () => {
989
+ durationContainer.textContent = calculateTime(audio.duration);
990
+ }
991
+
992
+ const setSliderMax = () => {
993
+ seekSlider.max = Math.floor(audio.duration);
994
+ }
995
+
996
+ const displayBufferedAmount = () => {
997
+ if (audio.buffered.length > 0) {
998
+ const bufferedAmount = Math.floor(audio.buffered.end(audio.buffered.length - 1));
999
+ audioPlayerContainer.style.setProperty('--buffered-width', \`\${(bufferedAmount / seekSlider.max) * 100}%\`);
1000
+ }
1001
+ }
1002
+
1003
+ if (audio.readyState > 0) {
1004
+ displayDuration();
1005
+ setSliderMax();
1006
+ displayBufferedAmount();
1007
+ } else {
1008
+ audio.addEventListener('loadedmetadata', () => {
1009
+ displayDuration();
1010
+ setSliderMax();
1011
+ displayBufferedAmount();
1012
+ });
1013
+ }
1014
+
1015
+ playIconContainer.addEventListener('click', () => {
1016
+ playIconContainer.classList.add("kg-audio-hide");
1017
+ pauseIconContainer.classList.remove("kg-audio-hide");
1018
+ audio.play();
1019
+ requestAnimationFrame(whilePlaying);
1020
+ });
1021
+
1022
+ pauseIconContainer.addEventListener('click', () => {
1023
+ pauseIconContainer.classList.add("kg-audio-hide");
1024
+ playIconContainer.classList.remove("kg-audio-hide");
1025
+ audio.pause();
1026
+ cancelAnimationFrame(raf);
1027
+ });
1028
+
1029
+ muteIconContainer.addEventListener('click', () => {
1030
+ muteIconContainer.classList.add("kg-audio-hide");
1031
+ unmuteIconContainer.classList.remove("kg-audio-hide");
1032
+ audio.muted = false;
1033
+ });
1034
+
1035
+ unmuteIconContainer.addEventListener('click', () => {
1036
+ unmuteIconContainer.classList.add("kg-audio-hide");
1037
+ muteIconContainer.classList.remove("kg-audio-hide");
1038
+ audio.muted = true;
1039
+ });
1040
+
1041
+ playbackRateContainer.addEventListener('click', () => {
1042
+ let nextPlaybackRate = playbackRates[(currentPlaybackRateIdx + 1) % 5];
1043
+ currentPlaybackRateIdx = currentPlaybackRateIdx + 1;
1044
+ audio.playbackRate = nextPlaybackRate.rate;
1045
+ playbackRateContainer.textContent = nextPlaybackRate.label;
1046
+ });
1047
+
1048
+ audio.addEventListener('progress', displayBufferedAmount);
1049
+
1050
+ seekSlider.addEventListener('input', (e) => {
1051
+ showRangeProgress(e.target);
1052
+ currentTimeContainer.textContent = calculateTime(seekSlider.value);
1053
+ if (!audio.paused) {
1054
+ cancelAnimationFrame(raf);
1055
+ }
1056
+ });
1057
+
1058
+ seekSlider.addEventListener('change', () => {
1059
+ audio.currentTime = seekSlider.value;
1060
+ if (!audio.paused) {
1061
+ requestAnimationFrame(whilePlaying);
1062
+ }
1063
+ });
1064
+
1065
+ volumeSlider.addEventListener('input', (e) => {
1066
+ const value = e.target.value;
1067
+ showRangeProgress(e.target);
1068
+ audio.volume = value / 100;
1069
+ });
1070
+ }
1071
+
1072
+ const audioCardElements = document.querySelectorAll('.kg-audio-card');
1073
+
1074
+ for (let i = 0; i < audioCardElements.length; i++) {
1075
+ handleAudioPlayer(audioCardElements[i]);
1076
+ }
1077
+ })();
1078
+ `, Ae = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1079
+ __proto__: null,
1080
+ default: Me
1081
+ }, Symbol.toStringTag, { value: "Module" })), $e = `(function() {
1082
+ const images = document.querySelectorAll('.kg-gallery-image img');
1083
+ images.forEach(function (image) {
1084
+ const container = image.closest('.kg-gallery-image');
1085
+ const width = image.attributes.width.value;
1086
+ const height = image.attributes.height.value;
1087
+ const ratio = width / height;
1088
+ container.style.flex = ratio + ' 1 0%';
1089
+ })
1090
+ })();
1091
+ `, De = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1092
+ __proto__: null,
1093
+ default: $e
1094
+ }, Symbol.toStringTag, { value: "Module" })), Be = `(function() {
1095
+ const toggleHeadingElements = document.getElementsByClassName("kg-toggle-heading");
1096
+
1097
+ const toggleFn = function(event) {
1098
+ const targetElement = event.target;
1099
+ const parentElement = targetElement.closest('.kg-toggle-card');
1100
+ var toggleState = parentElement.getAttribute("data-kg-toggle-state");
1101
+ if (toggleState === 'close') {
1102
+ parentElement.setAttribute('data-kg-toggle-state', 'open');
1103
+ } else {
1104
+ parentElement.setAttribute('data-kg-toggle-state', 'close');
1105
+ }
1106
+ };
1107
+
1108
+ for (let i = 0; i < toggleHeadingElements.length; i++) {
1109
+ toggleHeadingElements[i].addEventListener('click', toggleFn, false);
1110
+ }
1111
+ })();
1112
+ `, qe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1113
+ __proto__: null,
1114
+ default: Be
1115
+ }, Symbol.toStringTag, { value: "Module" })), He = `(function() {
1116
+ const handleVideoPlayer = function (videoElementContainer) {
1117
+ const videoPlayer = videoElementContainer.querySelector('.kg-video-player');
1118
+ const videoPlayerContainer = videoElementContainer.querySelector('.kg-video-player-container');
1119
+ const playIconContainer = videoElementContainer.querySelector('.kg-video-play-icon');
1120
+ const pauseIconContainer = videoElementContainer.querySelector('.kg-video-pause-icon');
1121
+ const seekSlider = videoElementContainer.querySelector('.kg-video-seek-slider');
1122
+ const playbackRateContainer = videoElementContainer.querySelector('.kg-video-playback-rate');
1123
+ const muteIconContainer = videoElementContainer.querySelector('.kg-video-mute-icon');
1124
+ const unmuteIconContainer = videoElementContainer.querySelector('.kg-video-unmute-icon');
1125
+ const volumeSlider = videoElementContainer.querySelector('.kg-video-volume-slider');
1126
+ const videoEl = videoElementContainer.querySelector('video');
1127
+ const durationContainer = videoElementContainer.querySelector('.kg-video-duration');
1128
+ const currentTimeContainer = videoElementContainer.querySelector('.kg-video-current-time');
1129
+ const largePlayIcon = videoElementContainer.querySelector('.kg-video-large-play-icon');
1130
+ const videoOverlay = videoElementContainer.querySelector('.kg-video-overlay');
1131
+ let playbackRates = [{
1132
+ rate: 0.75,
1133
+ label: '0.7×'
1134
+ }, {
1135
+ rate: 1.0,
1136
+ label: '1×'
1137
+ }, {
1138
+ rate: 1.25,
1139
+ label: '1.2×'
1140
+ }, {
1141
+ rate: 1.75,
1142
+ label: '1.7×'
1143
+ }, {
1144
+ rate: 2.0,
1145
+ label: '2×'
1146
+ }];
1147
+
1148
+ let raf = null;
1149
+ let currentPlaybackRateIdx = 1;
1150
+ if (!!videoEl.loop) {
1151
+ largePlayIcon.classList.add("kg-video-hide-animated");
1152
+ videoOverlay.classList.add("kg-video-hide-animated");
1153
+ }
1154
+ const whilePlaying = () => {
1155
+ seekSlider.value = Math.floor(videoEl.currentTime);
1156
+ currentTimeContainer.textContent = calculateTime(seekSlider.value);
1157
+ videoPlayer.style.setProperty('--seek-before-width', \`\${seekSlider.value / seekSlider.max * 100}%\`);
1158
+ raf = requestAnimationFrame(whilePlaying);
1159
+ }
1160
+
1161
+ const showRangeProgress = (rangeInput) => {
1162
+ if (rangeInput === seekSlider) {
1163
+ videoPlayer.style.setProperty('--seek-before-width', rangeInput.value / rangeInput.max * 100 + '%');
1164
+ }
1165
+ else {
1166
+ videoPlayer.style.setProperty('--volume-before-width', rangeInput.value / rangeInput.max * 100 + '%');
1167
+ }
1168
+ }
1169
+
1170
+ const calculateTime = (secs) => {
1171
+ const minutes = Math.floor(secs / 60);
1172
+ const seconds = Math.floor(secs % 60);
1173
+ const returnedSeconds = seconds < 10 ? \`0\${seconds}\` : \`\${seconds}\`;
1174
+ return \`\${minutes}:\${returnedSeconds}\`;
1175
+ }
1176
+
1177
+ const displayDuration = () => {
1178
+ durationContainer.textContent = calculateTime(videoEl.duration);
1179
+ }
1180
+
1181
+ const setSliderMax = () => {
1182
+ seekSlider.max = Math.floor(videoEl.duration);
1183
+ }
1184
+
1185
+ const displayBufferedAmount = () => {
1186
+ if (videoEl.buffered.length > 0) {
1187
+ const bufferedAmount = Math.floor(videoEl.buffered.end(videoEl.buffered.length - 1));
1188
+ videoPlayer.style.setProperty('--buffered-width', \`\${(bufferedAmount / seekSlider.max) * 100}%\`);
1189
+ }
1190
+ }
1191
+
1192
+ if (videoEl.readyState > 0) {
1193
+ displayDuration();
1194
+ setSliderMax();
1195
+ displayBufferedAmount();
1196
+ if (videoEl.autoplay) {
1197
+ raf = requestAnimationFrame(whilePlaying);
1198
+ playIconContainer.classList.add("kg-video-hide");
1199
+ pauseIconContainer.classList.remove("kg-video-hide");
1200
+ }
1201
+ if (videoEl.muted) {
1202
+ unmuteIconContainer.classList.add("kg-video-hide");
1203
+ muteIconContainer.classList.remove("kg-video-hide");
1204
+ }
1205
+ } else {
1206
+ videoEl.addEventListener('loadedmetadata', () => {
1207
+ displayDuration();
1208
+ setSliderMax();
1209
+ displayBufferedAmount();
1210
+ if (videoEl.autoplay) {
1211
+ raf = requestAnimationFrame(whilePlaying);
1212
+ playIconContainer.classList.add("kg-video-hide");
1213
+ pauseIconContainer.classList.remove("kg-video-hide");
1214
+ }
1215
+ if (videoEl.muted) {
1216
+ unmuteIconContainer.classList.add("kg-video-hide");
1217
+ muteIconContainer.classList.remove("kg-video-hide");
1218
+ }
1219
+ });
1220
+ }
1221
+
1222
+ videoElementContainer.onmouseover = () => {
1223
+ if (!videoEl.loop) {
1224
+ videoPlayerContainer.classList.remove("kg-video-hide-animated");
1225
+ }
1226
+ }
1227
+
1228
+ videoElementContainer.onmouseleave = () => {
1229
+ const isPlaying = !!(videoEl.currentTime > 0 && !videoEl.paused && !videoEl.ended && videoEl.readyState > 2);
1230
+ if (isPlaying) {
1231
+ videoPlayerContainer.classList.add("kg-video-hide-animated");
1232
+ }
1233
+ }
1234
+
1235
+ videoElementContainer.addEventListener('click', () => {
1236
+ if (!videoEl.loop) {
1237
+ const isPlaying = !!(videoEl.currentTime > 0 && !videoEl.paused && !videoEl.ended && videoEl.readyState > 2);
1238
+ if (isPlaying) {
1239
+ handleOnPause();
1240
+ } else {
1241
+ handleOnPlay();
1242
+ }
1243
+ }
1244
+ });
1245
+
1246
+ videoEl.onplay = () => {
1247
+ largePlayIcon.classList.add("kg-video-hide-animated");
1248
+ videoOverlay.classList.add("kg-video-hide-animated");
1249
+ playIconContainer.classList.add("kg-video-hide");
1250
+ pauseIconContainer.classList.remove("kg-video-hide");
1251
+ };
1252
+
1253
+ const handleOnPlay = () => {
1254
+ largePlayIcon.classList.add("kg-video-hide-animated");
1255
+ videoOverlay.classList.add("kg-video-hide-animated");
1256
+ playIconContainer.classList.add("kg-video-hide");
1257
+ pauseIconContainer.classList.remove("kg-video-hide");
1258
+ videoEl.play();
1259
+ raf = requestAnimationFrame(whilePlaying);
1260
+ }
1261
+
1262
+ const handleOnPause = () => {
1263
+ pauseIconContainer.classList.add("kg-video-hide");
1264
+ playIconContainer.classList.remove("kg-video-hide");
1265
+ videoEl.pause();
1266
+ cancelAnimationFrame(raf);
1267
+ }
1268
+
1269
+ largePlayIcon.addEventListener('click', (event) => {
1270
+ event.stopPropagation();
1271
+ handleOnPlay();
1272
+ });
1273
+
1274
+ playIconContainer.addEventListener('click', (event) => {
1275
+ event.stopPropagation();
1276
+ handleOnPlay();
1277
+ });
1278
+
1279
+ pauseIconContainer.addEventListener('click', (event) => {
1280
+ event.stopPropagation();
1281
+ handleOnPause();
1282
+ });
1283
+
1284
+ muteIconContainer.addEventListener('click', (event) => {
1285
+ event.stopPropagation();
1286
+ muteIconContainer.classList.add("kg-video-hide");
1287
+ unmuteIconContainer.classList.remove("kg-video-hide");
1288
+ videoEl.muted = false;
1289
+ });
1290
+
1291
+ unmuteIconContainer.addEventListener('click', (event) => {
1292
+ event.stopPropagation();
1293
+ unmuteIconContainer.classList.add("kg-video-hide");
1294
+ muteIconContainer.classList.remove("kg-video-hide");
1295
+ videoEl.muted = true;
1296
+ });
1297
+
1298
+ playbackRateContainer.addEventListener('click', (event) => {
1299
+ event.stopPropagation();
1300
+ let nextPlaybackRate = playbackRates[(currentPlaybackRateIdx + 1) % 5];
1301
+ currentPlaybackRateIdx = currentPlaybackRateIdx + 1;
1302
+ videoEl.playbackRate = nextPlaybackRate.rate;
1303
+ playbackRateContainer.textContent = nextPlaybackRate.label;
1304
+ });
1305
+
1306
+ videoEl.addEventListener('progress', displayBufferedAmount);
1307
+
1308
+ seekSlider.addEventListener('input', (e) => {
1309
+ e.stopPropagation();
1310
+ showRangeProgress(e.target);
1311
+ currentTimeContainer.textContent = calculateTime(seekSlider.value);
1312
+ if (!videoEl.paused) {
1313
+ cancelAnimationFrame(raf);
1314
+ }
1315
+ });
1316
+
1317
+ seekSlider.addEventListener('change', (event) => {
1318
+ event.stopPropagation();
1319
+ videoEl.currentTime = seekSlider.value;
1320
+ if (!videoEl.paused) {
1321
+ requestAnimationFrame(whilePlaying);
1322
+ }
1323
+ });
1324
+
1325
+ volumeSlider.addEventListener('click', (event) => {
1326
+ event.stopPropagation();
1327
+ });
1328
+
1329
+ seekSlider.addEventListener('click', (event) => {
1330
+ event.stopPropagation();
1331
+ });
1332
+
1333
+ volumeSlider.addEventListener('input', (e) => {
1334
+ e.stopPropagation();
1335
+ const value = e.target.value;
1336
+ showRangeProgress(e.target);
1337
+ videoEl.volume = value / 100;
1338
+ });
1339
+ }
1340
+
1341
+ const setVideoContainerAspectRatio = function(videoCard) {
1342
+ const container = videoCard.querySelector('.kg-video-container');
1343
+ const video = container.querySelector('video');
1344
+ if (container && video.width && video.height) {
1345
+ const aspectRatio = (video.height / video.width * 100).toFixed(3);
1346
+ container.style.paddingBottom = \`\${aspectRatio}%\`;
1347
+ }
1348
+ };
1349
+
1350
+ const videoCardElements = document.querySelectorAll('.kg-video-card');
1351
+
1352
+ for (let i = 0; i < videoCardElements.length; i++) {
1353
+ setVideoContainerAspectRatio(videoCardElements[i]);
1354
+ handleVideoPlayer(videoCardElements[i]);
1355
+ }
1356
+ })();
1357
+ `, Ue = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1358
+ __proto__: null,
1359
+ default: He
1360
+ }, Symbol.toStringTag, { value: "Module" })), We = `.kg-audio-card,
1361
+ .kg-audio-card * {
1362
+ box-sizing: border-box;
1363
+ }
1364
+
1365
+ .kg-audio-card {
1366
+ display: flex;
1367
+ width: 100%;
1368
+ min-height: 96px;
1369
+ border-radius: 6px;
1370
+ padding: 4px;
1371
+ background: #fff;
1372
+ color: #222;
1373
+ box-shadow: inset 0 0 0 1px rgba(124, 139, 154, 0.25);
1374
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
1375
+ }
1376
+
1377
+ .kg-audio-card+.kg-audio-card {
1378
+ margin-top: 1em;
1379
+ }
1380
+
1381
+ .kg-audio-thumbnail {
1382
+ display: flex;
1383
+ justify-content: center;
1384
+ align-items: center;
1385
+ width: 80px;
1386
+ min-width: 80px;
1387
+ margin: 8px;
1388
+ background: transparent;
1389
+ object-fit: cover;
1390
+ aspect-ratio: 1/1;
1391
+ border-radius: 3px;
1392
+ }
1393
+
1394
+ .kg-audio-thumbnail.placeholder {
1395
+ background: var(--ghost-accent-color);
1396
+ }
1397
+
1398
+ .kg-audio-thumbnail.placeholder svg {
1399
+ width: 24px;
1400
+ height: 24px;
1401
+ fill: white;
1402
+ }
1403
+
1404
+ .kg-audio-player-container {
1405
+ position: relative;
1406
+ display: flex;
1407
+ flex-direction: column;
1408
+ justify-content: space-between;
1409
+ width: 100%;
1410
+ --seek-before-width: 0%;
1411
+ --volume-before-width: 100%;
1412
+ --buffered-width: 0%;
1413
+ }
1414
+
1415
+ .kg-audio-title {
1416
+ width: 100%;
1417
+ margin: 8px 0 0 0;
1418
+ padding: 8px 12px;
1419
+ border: none;
1420
+ font-family: inherit;
1421
+ font-size: 16px;
1422
+ font-weight: 600;
1423
+ line-height: 1.15em;
1424
+ background: transparent;
1425
+ }
1426
+
1427
+ .kg-audio-player {
1428
+ display: flex;
1429
+ flex-grow: 1;
1430
+ align-items: center;
1431
+ padding: 8px 12px;
1432
+ }
1433
+
1434
+ .kg-audio-current-time {
1435
+ min-width: 38px;
1436
+ padding: 0 4px;
1437
+ font-family: inherit;
1438
+ font-size: 12.5px;
1439
+ font-weight: 500;
1440
+ line-height: 1em;
1441
+ white-space: nowrap;
1442
+ }
1443
+
1444
+ .kg-audio-time {
1445
+ width: 56px;
1446
+ color: #ababab;
1447
+ font-family: inherit;
1448
+ font-size: 12.5px;
1449
+ font-weight: 500;
1450
+ line-height: 1em;
1451
+ white-space: nowrap;
1452
+ }
1453
+
1454
+ .kg-audio-duration {
1455
+ padding: 0 4px;
1456
+ }
1457
+
1458
+ .kg-audio-play-icon,
1459
+ .kg-audio-pause-icon {
1460
+ position: relative;
1461
+ bottom: 1px;
1462
+ padding: 0px 4px 0 0;
1463
+ font-size: 0;
1464
+ background: transparent;
1465
+ }
1466
+
1467
+ .kg-audio-hide {
1468
+ display: none !important;
1469
+ }
1470
+
1471
+ .kg-audio-play-icon svg,
1472
+ .kg-audio-pause-icon svg {
1473
+ width: 14px;
1474
+ height: 14px;
1475
+ fill: currentColor;
1476
+ }
1477
+
1478
+ .kg-audio-seek-slider {
1479
+ flex-grow: 1;
1480
+ margin: 0 4px;
1481
+ }
1482
+
1483
+ @media (max-width: 640px) {
1484
+ .kg-audio-seek-slider {
1485
+ display: none;
1486
+ }
1487
+ }
1488
+
1489
+ .kg-audio-playback-rate {
1490
+ min-width: 37px;
1491
+ padding: 0 4px;
1492
+ font-family: inherit;
1493
+ font-size: 12.5px;
1494
+ font-weight: 600;
1495
+ line-height: 1em;
1496
+ text-align: left;
1497
+ background: transparent;
1498
+ white-space: nowrap;
1499
+ }
1500
+
1501
+ @media (max-width: 640px) {
1502
+ .kg-audio-playback-rate {
1503
+ padding-left: 8px;
1504
+ }
1505
+ }
1506
+
1507
+ .kg-audio-mute-icon,
1508
+ .kg-audio-unmute-icon {
1509
+ position: relative;
1510
+ bottom: -1px;
1511
+ padding: 0 4px;
1512
+ font-size: 0;
1513
+ background: transparent;
1514
+ }
1515
+
1516
+ @media (max-width: 640px) {
1517
+ .kg-audio-mute-icon,
1518
+ .kg-audio-unmute-icon {
1519
+ margin-left: auto;
1520
+ }
1521
+ }
1522
+
1523
+ .kg-audio-mute-icon svg,
1524
+ .kg-audio-unmute-icon svg {
1525
+ width: 16px;
1526
+ height: 16px;
1527
+ fill: currentColor;
1528
+ }
1529
+
1530
+ .kg-audio-volume-slider {
1531
+ width: 80px;
1532
+ }
1533
+
1534
+ @media (max-width: 400px) {
1535
+ .kg-audio-volume-slider {
1536
+ display: none;
1537
+ }
1538
+ }
1539
+
1540
+ .kg-audio-seek-slider::before {
1541
+ content: "";
1542
+ position: absolute;
1543
+ left: 0;
1544
+ width: var(--seek-before-width) !important;
1545
+ height: 4px;
1546
+ cursor: pointer;
1547
+ background-color: currentColor;
1548
+ border-radius: 2px;
1549
+ }
1550
+
1551
+ .kg-audio-volume-slider::before {
1552
+ content: "";
1553
+ position: absolute;
1554
+ left: 0;
1555
+ width: var(--volume-before-width) !important;
1556
+ height: 4px;
1557
+ cursor: pointer;
1558
+ background-color: currentColor;
1559
+ border-radius: 2px;
1560
+ }
1561
+
1562
+ /* Resetting browser styles
1563
+ /* --------------------------------------------------------------- */
1564
+
1565
+ .kg-audio-player-container input[type=range] {
1566
+ position: relative;
1567
+ -webkit-appearance: none;
1568
+ background: transparent;
1569
+ }
1570
+
1571
+ .kg-audio-player-container input[type=range]:focus {
1572
+ outline: none;
1573
+ }
1574
+
1575
+ .kg-audio-player-container input[type=range]::-webkit-slider-thumb {
1576
+ -webkit-appearance: none;
1577
+ }
1578
+
1579
+ .kg-audio-player-container input[type=range]::-ms-track {
1580
+ cursor: pointer;
1581
+ border-color: transparent;
1582
+ color: transparent;
1583
+ background: transparent;
1584
+ }
1585
+
1586
+ .kg-audio-player-container button {
1587
+ display: flex;
1588
+ align-items: center;
1589
+ border: 0;
1590
+ cursor: pointer;
1591
+ }
1592
+
1593
+ .kg-audio-player-container input[type="range"] {
1594
+ height: auto;
1595
+ padding: 0;
1596
+ border: 0;
1597
+ }
1598
+
1599
+ /* Chrome & Safari styles
1600
+ /* --------------------------------------------------------------- */
1601
+
1602
+ .kg-audio-player-container input[type="range"]::-webkit-slider-runnable-track {
1603
+ width: 100%;
1604
+ height: 4px;
1605
+ cursor: pointer;
1606
+ background: rgba(124, 139, 154, 0.25);
1607
+ border-radius: 2px;
1608
+ }
1609
+
1610
+ .kg-audio-player-container input[type="range"]::-webkit-slider-thumb {
1611
+ position: relative;
1612
+ box-sizing: content-box;
1613
+ width: 13px;
1614
+ height: 13px;
1615
+ margin: -5px 0 0 0;
1616
+ border: 0;
1617
+ cursor: pointer;
1618
+ background: #fff;
1619
+ border-radius: 50%;
1620
+ box-shadow: 0 0 0 1px rgba(0,0,0,.08), 0 1px 4px rgba(0,0,0,0.24);
1621
+ }
1622
+
1623
+ .kg-audio-player-container input[type="range"]:active::-webkit-slider-thumb {
1624
+ transform: scale(1.2);
1625
+ }
1626
+
1627
+ /* Firefox styles
1628
+ /* --------------------------------------------------------------- */
1629
+
1630
+ .kg-audio-player-container input[type="range"]::-moz-range-track {
1631
+ width: 100%;
1632
+ height: 4px;
1633
+ cursor: pointer;
1634
+ background: rgba(124, 139, 154, 0.25);
1635
+ border-radius: 2px;
1636
+ }
1637
+
1638
+ .kg-audio-player-container input[type="range"]::-moz-range-progress {
1639
+ background: currentColor;
1640
+ border-radius: 2px;
1641
+ }
1642
+
1643
+ .kg-audio-player-container input[type="range"]::-moz-range-thumb {
1644
+ box-sizing: content-box;
1645
+ width: 13px;
1646
+ height: 13px;
1647
+ border: 0;
1648
+ cursor: pointer;
1649
+ background: #fff;
1650
+ border-radius: 50%;
1651
+ box-shadow: 0 0 0 1px rgba(0,0,0,.08), 0 1px 4px rgba(0,0,0,0.24);
1652
+ }
1653
+
1654
+ .kg-audio-player-container input[type="range"]:active::-moz-range-thumb {
1655
+ transform: scale(1.2);
1656
+ }
1657
+
1658
+ /* Edge & IE styles
1659
+ /* --------------------------------------------------------------- */
1660
+
1661
+ .kg-audio-player-container input[type="range"]::-ms-track {
1662
+ width: 100%;
1663
+ height: 3px;
1664
+ border: solid transparent;
1665
+ color: transparent;
1666
+ cursor: pointer;
1667
+ background: transparent;
1668
+ }
1669
+
1670
+ .kg-audio-player-container input[type="range"]::-ms-fill-lower {
1671
+ background: #fff;
1672
+ }
1673
+
1674
+ .kg-audio-player-container input[type="range"]::-ms-fill-upper {
1675
+ background: currentColor;
1676
+ }
1677
+
1678
+ .kg-audio-player-container input[type="range"]::-ms-thumb {
1679
+ box-sizing: content-box;
1680
+ width: 13px;
1681
+ height: 13px;
1682
+ border: 0;
1683
+ cursor: pointer;
1684
+ background: #fff;
1685
+ border-radius: 50%;
1686
+ box-shadow: 0 0 0 1px rgba(0,0,0,.08), 0 1px 4px rgba(0,0,0,0.24);
1687
+ }
1688
+
1689
+ .kg-audio-player-container input[type="range"]:active::-ms-thumb {
1690
+ transform: scale(1.2);
1691
+ }
1692
+ `, Ke = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1693
+ __proto__: null,
1694
+ default: We
1695
+ }, Symbol.toStringTag, { value: "Module" })), Ve = `.kg-blockquote-alt {
1696
+ font-size: 1.5em;
1697
+ font-style: italic;
1698
+ line-height: 1.7em;
1699
+ text-align: center;
1700
+ padding: 0 2.5em;
1701
+ }
1702
+
1703
+ @media (max-width: 800px) {
1704
+ .kg-blockquote-alt {
1705
+ font-size: 1.4em;
1706
+ padding-left: 2em;
1707
+ padding-right: 2em;
1708
+ }
1709
+ }
1710
+
1711
+ @media (max-width: 600px) {
1712
+ .kg-blockquote-alt {
1713
+ font-size: 1.2em;
1714
+ padding-left: 1.75em;
1715
+ padding-right: 1.75em;
1716
+ }
1717
+ }
1718
+ `, Ye = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1719
+ __proto__: null,
1720
+ default: Ve
1721
+ }, Symbol.toStringTag, { value: "Module" })), Qe = `.kg-bookmark-card,
1722
+ .kg-bookmark-card * {
1723
+ box-sizing: border-box;
1724
+ }
1725
+
1726
+ .kg-bookmark-card,
1727
+ .kg-bookmark-publisher {
1728
+ position: relative;
1729
+ /* width: 100%; */
1730
+ }
1731
+
1732
+ .kg-bookmark-card a.kg-bookmark-container,
1733
+ .kg-bookmark-card a.kg-bookmark-container:hover {
1734
+ display: flex;
1735
+ background: #fff;
1736
+ text-decoration: none;
1737
+ border-radius: 6px;
1738
+ border: 1px solid rgb(124 139 154 / 25%);
1739
+ overflow: hidden;
1740
+ color: #222;
1741
+ }
1742
+
1743
+ .kg-bookmark-content {
1744
+ display: flex;
1745
+ flex-direction: column;
1746
+ flex-grow: 1;
1747
+ flex-basis: 100%;
1748
+ align-items: flex-start;
1749
+ justify-content: flex-start;
1750
+ padding: 20px;
1751
+ overflow: hidden;
1752
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
1753
+ }
1754
+
1755
+ .kg-bookmark-title {
1756
+ font-size: 15px;
1757
+ line-height: 1.4em;
1758
+ font-weight: 600;
1759
+ }
1760
+
1761
+ .kg-bookmark-description {
1762
+ display: -webkit-box;
1763
+ font-size: 14px;
1764
+ line-height: 1.5em;
1765
+ margin-top: 3px;
1766
+ font-weight: 400;
1767
+ max-height: 44px;
1768
+ overflow-y: hidden;
1769
+ opacity: 0.7;
1770
+ -webkit-line-clamp: 2;
1771
+ -webkit-box-orient: vertical;
1772
+ }
1773
+
1774
+ .kg-bookmark-metadata {
1775
+ display: flex;
1776
+ align-items: center;
1777
+ margin-top: 22px;
1778
+ width: 100%;
1779
+ font-size: 14px;
1780
+ font-weight: 500;
1781
+ white-space: nowrap;
1782
+ }
1783
+
1784
+ .kg-bookmark-metadata > *:not(img) {
1785
+ opacity: 0.7;
1786
+ }
1787
+
1788
+ .kg-bookmark-icon {
1789
+ width: 20px;
1790
+ height: 20px;
1791
+ margin-right: 6px;
1792
+ }
1793
+
1794
+ .kg-bookmark-author,
1795
+ .kg-bookmark-publisher {
1796
+ display: inline;
1797
+ }
1798
+
1799
+ .kg-bookmark-publisher {
1800
+ text-overflow: ellipsis;
1801
+ overflow: hidden;
1802
+ max-width: 240px;
1803
+ white-space: nowrap;
1804
+ display: block;
1805
+ line-height: 1.65em;
1806
+ }
1807
+
1808
+ .kg-bookmark-metadata > span:nth-of-type(2) {
1809
+ font-weight: 400;
1810
+ }
1811
+
1812
+ .kg-bookmark-metadata > span:nth-of-type(2):before {
1813
+ content: "•";
1814
+ margin: 0 6px;
1815
+ }
1816
+
1817
+ .kg-bookmark-metadata > span:last-of-type {
1818
+ overflow: hidden;
1819
+ text-overflow: ellipsis;
1820
+ }
1821
+
1822
+ .kg-bookmark-thumbnail {
1823
+ position: relative;
1824
+ flex-grow: 1;
1825
+ min-width: 33%;
1826
+ }
1827
+
1828
+ .kg-bookmark-thumbnail img {
1829
+ width: 100%;
1830
+ height: 100%;
1831
+ object-fit: cover;
1832
+ position: absolute;
1833
+ top: 0;
1834
+ left: 0;
1835
+ border-radius: 0 2px 2px 0;
1836
+ }
1837
+ `, Ze = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1838
+ __proto__: null,
1839
+ default: Qe
1840
+ }, Symbol.toStringTag, { value: "Module" })), Je = `.kg-button-card,
1841
+ .kg-button-card * {
1842
+ box-sizing: border-box;
1843
+ }
1844
+
1845
+ .kg-button-card {
1846
+ display: flex;
1847
+ position: static;
1848
+ align-items: center;
1849
+ width: 100%;
1850
+ justify-content: center;
1851
+ }
1852
+
1853
+ .kg-button-card.kg-align-left {
1854
+ justify-content: flex-start;
1855
+ }
1856
+
1857
+ .kg-button-card a.kg-btn {
1858
+ display: flex;
1859
+ position: static;
1860
+ align-items: center;
1861
+ padding: 0 1.2em;
1862
+ height: 2.4em;
1863
+ line-height: 1em;
1864
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
1865
+ font-size: 0.95em;
1866
+ font-weight: 600;
1867
+ text-decoration: none;
1868
+ border-radius: 5px;
1869
+ transition: opacity 0.2s ease-in-out;
1870
+ }
1871
+
1872
+ .kg-button-card a.kg-btn:hover {
1873
+ opacity: 0.85;
1874
+ }
1875
+
1876
+ .kg-button-card a.kg-btn-accent {
1877
+ background-color: var(--ghost-accent-color);
1878
+ color: #fff;
1879
+ }`, Xe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1880
+ __proto__: null,
1881
+ default: Je
1882
+ }, Symbol.toStringTag, { value: "Module" })), Ge = `.kg-callout-card,
1883
+ .kg-callout-card * {
1884
+ box-sizing: border-box;
1885
+ }
1886
+
1887
+ .kg-callout-card {
1888
+ display: flex;
1889
+ padding: 1.2em 1.6em;
1890
+ border-radius: 8px;
1891
+ }
1892
+
1893
+ .kg-callout-card-grey {
1894
+ background: rgba(124, 139, 154, 0.13);
1895
+ }
1896
+
1897
+ .kg-callout-card-white {
1898
+ background: transparent;
1899
+ box-shadow: inset 0 0 0 1px rgba(124, 139, 154, 0.2);
1900
+ }
1901
+
1902
+ .kg-callout-card-blue {
1903
+ background: rgba(33, 172, 232, 0.12);
1904
+ }
1905
+
1906
+ .kg-callout-card-green {
1907
+ background: rgba(52, 183, 67, 0.12);
1908
+ }
1909
+
1910
+ .kg-callout-card-yellow {
1911
+ background: rgba(240, 165, 15, 0.13);
1912
+ }
1913
+
1914
+ .kg-callout-card-red {
1915
+ background: rgba(209, 46, 46, 0.11);
1916
+ }
1917
+
1918
+ .kg-callout-card-pink {
1919
+ background: rgba(225, 71, 174, 0.11);
1920
+ }
1921
+
1922
+ .kg-callout-card-purple {
1923
+ background: rgba(135, 85, 236, 0.12);
1924
+ }
1925
+
1926
+ .kg-callout-card-accent {
1927
+ background: var(--ghost-accent-color);
1928
+ color: #fff;
1929
+ }
1930
+
1931
+ .kg-callout-card.kg-callout-card-accent a {
1932
+ color: #fff;
1933
+ text-decoration: underline;
1934
+ }
1935
+
1936
+ .kg-callout-card div.kg-callout-emoji {
1937
+ padding-right: .8em;
1938
+ line-height: 1.25em;
1939
+ font-size: 1.15em;
1940
+ }
1941
+
1942
+ .kg-callout-card div.kg-callout-text {
1943
+ font-size: .95em;
1944
+ line-height: 1.5em;
1945
+ }
1946
+
1947
+ .kg-callout-card + .kg-callout-card {
1948
+ margin-top: 1em;
1949
+ }`, nt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1950
+ __proto__: null,
1951
+ default: Ge
1952
+ }, Symbol.toStringTag, { value: "Module" })), et = `.kg-collection-card {
1953
+ width: 100%;
1954
+ margin-top: 6vmin;
1955
+ }
1956
+
1957
+ .kg-collection-card + * {
1958
+ margin-top: 6vmin;
1959
+ }
1960
+
1961
+ .kg-collection-card-title {
1962
+ margin: .8rem 0 1.6rem 0;
1963
+ font-size: 1.5rem;
1964
+ font-weight: 700;
1965
+ text-transform: uppercase;
1966
+ }
1967
+
1968
+ a.kg-collection-card-post-wrapper {
1969
+ text-decoration: none;
1970
+ color: var(--text-color);
1971
+ }
1972
+
1973
+ a.kg-collection-card-post-wrapper:hover {
1974
+ opacity: 1;
1975
+ }
1976
+
1977
+
1978
+ .kg-collection-card-post {
1979
+ display: flex;
1980
+ gap: 3.2rem;
1981
+ }
1982
+
1983
+ .kg-collection-card-img {
1984
+ position: relative;
1985
+ aspect-ratio: 3/2;
1986
+ }
1987
+
1988
+ .kg-collection-card-img img {
1989
+ position: absolute;
1990
+ inset: 0;
1991
+ width: 100%;
1992
+ height: 100%;
1993
+ object-fit: cover;
1994
+ }
1995
+
1996
+ a.kg-collection-card-post-wrapper:hover img {
1997
+ opacity: .92;
1998
+ transition: all .2s ease;
1999
+ }
2000
+
2001
+ .kg-collection-card-content {
2002
+ display: flex;
2003
+ flex-direction: column;
2004
+ font-size: 1.6rem;
2005
+ }
2006
+
2007
+ h2.kg-collection-card-post-title {
2008
+ margin: 0;
2009
+ font-size: 2.4rem;
2010
+ overflow: hidden;
2011
+ display: -webkit-box;
2012
+ -webkit-box-orient: vertical;
2013
+ -webkit-line-clamp: 2;
2014
+ }
2015
+
2016
+ p.kg-collection-card-post-excerpt {
2017
+ margin-top: 1.2rem;
2018
+ overflow: hidden;
2019
+ display: -webkit-box;
2020
+ -webkit-box-orient: vertical;
2021
+ -webkit-line-clamp: 2;
2022
+ line-height: 1.4;
2023
+ }
2024
+
2025
+ .kg-collection-card-post-meta {
2026
+ display: flex;
2027
+ opacity: .5;
2028
+ margin-top: 1.2rem;
2029
+ font-size: 1.3rem;
2030
+ font-weight: 500;
2031
+ }
2032
+
2033
+ /* List layout */
2034
+
2035
+ .kg-collection-card-list {
2036
+ display: flex;
2037
+ flex-direction: column;
2038
+ gap: 3.2rem;
2039
+ }
2040
+
2041
+ @media (max-width: 767px) {
2042
+ .kg-collection-card-list .kg-collection-card-post {
2043
+ flex-direction: column;
2044
+ }
2045
+ }
2046
+
2047
+ .kg-collection-card-list .kg-collection-card-img {
2048
+ flex: 0 0 30%;
2049
+ }
2050
+
2051
+ /* Grid layout */
2052
+
2053
+ .kg-collection-card-grid {
2054
+ display: grid;
2055
+ grid-template-columns: repeat(1,minmax(0,1fr));
2056
+ gap: 2.4rem;
2057
+ }
2058
+
2059
+ @media (min-width: 640px) {
2060
+ .kg-collection-card-grid:not(.columns-1) {
2061
+ grid-template-columns: repeat(2,minmax(0,1fr));
2062
+ }
2063
+ }
2064
+
2065
+ @media (min-width: 1024px) {
2066
+ .kg-collection-card-grid:not(.columns-1):not(.columns-2) {
2067
+ grid-template-columns: repeat(3,minmax(0,1fr));
2068
+ gap: 3.2rem
2069
+ }
2070
+
2071
+ .kg-collection-card-grid.columns-1 {
2072
+ gap: 4.8rem
2073
+ }
2074
+
2075
+ .kg-collection-card-grid.columns-2 {
2076
+ gap: 4rem
2077
+ }
2078
+ }
2079
+
2080
+ @media (min-width: 1280px) {
2081
+ .kg-collection-card-grid:not(.columns-1):not(.columns-2):not(.columns-3) {
2082
+ grid-template-columns: repeat(4,minmax(0,1fr));
2083
+ }
2084
+ }
2085
+
2086
+ .kg-collection-card-grid .kg-collection-card-post {
2087
+ flex-direction: column;
2088
+ gap: 1.2rem;
2089
+ }
2090
+
2091
+ @media (min-width: 1024px) {
2092
+ .kg-collection-card-grid.columns-1 .kg-collection-card-post {
2093
+ gap: 2rem
2094
+ }
2095
+
2096
+ .kg-collection-card-grid.columns-2 .kg-collection-card-post {
2097
+ gap: 1.6rem
2098
+ }
2099
+ }
2100
+
2101
+ .kg-collection-card-grid.columns-1 .kg-collection-card-img,
2102
+ .kg-collection-card-grid.columns-2 .kg-collection-card-img {
2103
+ aspect-ratio: 16/9;
2104
+ }
2105
+
2106
+ .kg-collection-card-grid .kg-collection-card-content {
2107
+ font-size: 1.5rem;
2108
+ }
2109
+
2110
+ @media (min-width: 640px) {
2111
+ .kg-collection-card-grid .kg-collection-card-content {
2112
+ font-size: 1.6rem;
2113
+ }
2114
+ }
2115
+
2116
+ @media (min-width: 1024px) {
2117
+ .kg-collection-card-grid.columns-1 .kg-collection-card-content {
2118
+ font-size: 1.8rem;
2119
+ }
2120
+
2121
+ .kg-collection-card-grid.columns-3 .kg-collection-card-content,
2122
+ .kg-collection-card-grid.columns-4 .kg-collection-card-content {
2123
+ font-size: 1.5rem;
2124
+ }
2125
+ }
2126
+
2127
+ .kg-collection-card-grid h2.kg-collection-card-post-title {
2128
+ font-size: 1.7rem;
2129
+ }
2130
+
2131
+ .kg-collection-card-grid .kg-collection-card-post-meta {
2132
+ font-size: 1.25rem;
2133
+ }
2134
+
2135
+ @media (min-width: 640px) {
2136
+ .kg-collection-card-grid h2.kg-collection-card-post-title {
2137
+ font-size: 1.9rem;
2138
+ }
2139
+
2140
+ .kg-collection-card-grid.columns-1 h2.kg-collection-card-post-title {
2141
+ font-size: 2.4rem;
2142
+ }
2143
+
2144
+ .kg-collection-card-grid:not(.columns-3):not(.columns-4) .kg-collection-card-post-meta {
2145
+ font-size: 1.3rem;
2146
+ }
2147
+ }
2148
+
2149
+ @media (min-width: 1024px) {
2150
+ .kg-collection-card-grid.columns-1 h2.kg-collection-card-post-title {
2151
+ font-size: 3.6rem;
2152
+ }
2153
+
2154
+ .kg-collection-card-grid.columns-2 h2.kg-collection-card-post-title {
2155
+ font-size: 2.4rem;
2156
+ }
2157
+
2158
+ .kg-collection-card-grid.columns-1 .kg-collection-card-post-meta {
2159
+ font-size: 1.4rem;
2160
+ }
2161
+ }
2162
+
2163
+ @media (min-width: 1280px) {
2164
+ .kg-collection-card-grid.columns-4 h2.kg-collection-card-post-title {
2165
+ font-size: 1.7rem;
2166
+ }
2167
+ }`, tt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2168
+ __proto__: null,
2169
+ default: et
2170
+ }, Symbol.toStringTag, { value: "Module" })), at = `.kg-cta-card,
2171
+ .kg-cta-card * {
2172
+ box-sizing: border-box;
2173
+ }
2174
+
2175
+ .kg-cta-card {
2176
+ display: flex;
2177
+ flex-direction: column;
2178
+ border-radius: 8px;
2179
+ }
2180
+
2181
+ .kg-cta-bg-grey {
2182
+ background: rgba(151, 163, 175, 0.14)
2183
+ }
2184
+
2185
+ .kg-cta-bg-white {
2186
+ background: transparent;
2187
+ box-shadow: inset 0 0 0 1px rgba(124, 139, 154, 0.2);
2188
+ }
2189
+
2190
+ .kg-cta-bg-blue {
2191
+ background: rgba(33, 172, 232, 0.12);
2192
+ }
2193
+
2194
+ .kg-cta-bg-green {
2195
+ background: rgba(52, 183, 67, 0.12);
2196
+ }
2197
+
2198
+ .kg-cta-bg-yellow {
2199
+ background: rgba(240, 165, 15, 0.13);
2200
+ }
2201
+
2202
+ .kg-cta-bg-red {
2203
+ background: rgba(209, 46, 46, 0.11);
2204
+ }
2205
+
2206
+ .kg-cta-bg-pink {
2207
+ background: rgba(225, 71, 174, 0.11);
2208
+ }
2209
+
2210
+ .kg-cta-bg-purple {
2211
+ background: rgba(135, 85, 236, 0.12);
2212
+ }
2213
+
2214
+ .kg-cta-sponsor-label-wrapper {
2215
+ margin: 0 1.5em;
2216
+ padding: .7em 0;
2217
+ border-bottom: 1px solid rgba(124, 139, 154, 0.2);
2218
+ }
2219
+
2220
+ @media (max-width: 600px) {
2221
+ .kg-cta-sponsor-label-wrapper {
2222
+ margin: 0 1.25em;
2223
+ padding: .5em 0;
2224
+ }
2225
+ }
2226
+
2227
+ .kg-cta-bg-none .kg-cta-sponsor-label-wrapper {
2228
+ margin: 0;
2229
+ padding-top: 0;
2230
+ }
2231
+
2232
+ .kg-cta-has-img .kg-cta-sponsor-label-wrapper:not(.kg-cta-bg-none .kg-cta-sponsor-label-wrapper):not(.kg-cta-minimal .kg-cta-sponsor-label-wrapper),
2233
+ .kg-cta-bg-none.kg-cta-no-dividers .kg-cta-sponsor-label-wrapper {
2234
+ border-bottom: 0;
2235
+ }
2236
+
2237
+ .kg-cta-sponsor-label {
2238
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
2239
+ font-size: 12px;
2240
+ font-weight: 600;
2241
+ text-transform: uppercase;
2242
+ text-wrap: pretty;
2243
+ }
2244
+
2245
+ .kg-cta-sponsor-label span:not(a span) {
2246
+ color: color-mix(in srgb, currentColor 45%, transparent);
2247
+ }
2248
+
2249
+ .kg-cta-sponsor-label a,
2250
+ .kg-cta-sponsor-label a span {
2251
+ color: currentColor;
2252
+ transition: opacity 0.15s ease-in-out;
2253
+ }
2254
+
2255
+ .kg-cta-sponsor-label a:hover,
2256
+ .kg-cta-sponsor-label a:hover span {
2257
+ color: currentColor;
2258
+ opacity: 0.85;
2259
+ }
2260
+
2261
+ .kg-cta-link-accent .kg-cta-sponsor-label a {
2262
+ color: var(--ghost-accent-color);
2263
+ }
2264
+
2265
+ .kg-cta-content {
2266
+ display: flex;
2267
+ padding: 1.5em;
2268
+ gap: 1.5em;
2269
+ }
2270
+
2271
+ @media (max-width: 600px) {
2272
+ .kg-cta-content {
2273
+ padding: 1.25em;
2274
+ gap: 1.25em;
2275
+ }
2276
+ }
2277
+
2278
+ .kg-cta-has-img .kg-cta-sponsor-label-wrapper + .kg-cta-content:not(.kg-cta-bg-none .kg-cta-content):not(.kg-cta-minimal .kg-cta-content) {
2279
+ padding-top: 0;
2280
+ }
2281
+
2282
+ .kg-cta-bg-none .kg-cta-content {
2283
+ padding: 1.5em 0;
2284
+ border-bottom: 1px solid rgba(124, 139, 154, 0.2);
2285
+ }
2286
+
2287
+ .kg-cta-bg-none.kg-cta-no-dividers .kg-cta-content {
2288
+ padding: 0;
2289
+ border-bottom: none;
2290
+ }
2291
+
2292
+ .kg-cta-bg-none:not(.kg-cta-no-dividers) .kg-cta-content:not(.kg-cta-sponsor-label-wrapper + .kg-cta-content) {
2293
+ border-top: 1px solid rgba(124, 139, 154, 0.2);
2294
+ }
2295
+
2296
+ @media (max-width: 600px) {
2297
+ .kg-cta-bg-none .kg-cta-content {
2298
+ padding: 1.25em 0;
2299
+ }
2300
+ }
2301
+
2302
+ .kg-cta-minimal .kg-cta-content {
2303
+ flex-direction: row;
2304
+ }
2305
+
2306
+ @media (max-width: 600px) {
2307
+ .kg-cta-minimal .kg-cta-content {
2308
+ flex-direction: column;
2309
+ gap: 1.6rem;
2310
+ }
2311
+ }
2312
+
2313
+ .kg-cta-immersive .kg-cta-content {
2314
+ flex-direction: column;
2315
+ }
2316
+
2317
+ .kg-cta-content-inner {
2318
+ display: flex;
2319
+ flex-direction: column;
2320
+ gap: 1.5em;
2321
+ }
2322
+
2323
+ @media (max-width: 600px) {
2324
+ .kg-cta-content-inner {
2325
+ gap: 1.25em;
2326
+ }
2327
+ }
2328
+
2329
+ .kg-cta-immersive.kg-cta-centered .kg-cta-content-inner {
2330
+ align-items: center;
2331
+ }
2332
+
2333
+ .kg-cta-image-container {
2334
+ flex-shrink: 0;
2335
+ }
2336
+
2337
+ .kg-cta-image-container img {
2338
+ width: 100%;
2339
+ height: auto;
2340
+ margin: 0;
2341
+ object-fit: cover;
2342
+ border-radius: 6px;
2343
+ }
2344
+
2345
+
2346
+ .kg-cta-minimal .kg-cta-image-container img {
2347
+ width: 64px;
2348
+ height: 64px;
2349
+ }
2350
+
2351
+ @media (max-width: 600px) {
2352
+ .kg-cta-minimal .kg-cta-image-container img {
2353
+ width: 52px;
2354
+ height: 52px;
2355
+ }
2356
+ }
2357
+
2358
+ .kg-cta-text p {
2359
+ margin: 0;
2360
+ line-height: 1.5em;
2361
+ text-wrap: pretty;
2362
+ }
2363
+
2364
+ .kg-cta-bg-none .kg-cta-text p {
2365
+ line-height: unset;
2366
+ }
2367
+
2368
+ .kg-cta-immersive.kg-cta-centered .kg-cta-text {
2369
+ text-align: center;
2370
+ }
2371
+
2372
+ .kg-cta-text p + p {
2373
+ margin-top: 1.25em;
2374
+ }
2375
+
2376
+ .kg-cta-text a {
2377
+ color: currentColor;
2378
+ transition: opacity 0.15s ease-in-out;
2379
+ }
2380
+
2381
+ .kg-cta-text a:hover {
2382
+ color: currentColor;
2383
+ opacity: 0.85;
2384
+ }
2385
+
2386
+ .kg-cta-link-accent .kg-cta-text a {
2387
+ color: var(--ghost-accent-color);
2388
+ }
2389
+
2390
+ a.kg-cta-button {
2391
+ display: flex;
2392
+ position: static;
2393
+ align-items: center;
2394
+ justify-content: center;
2395
+ padding: 0 1em;
2396
+ height: 2.5em;
2397
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
2398
+ font-size: 0.95em;
2399
+ font-weight: 500;
2400
+ line-height: 1.65;
2401
+ text-decoration: none;
2402
+ border-radius: 6px;
2403
+ transition: opacity 0.15s ease-in-out;
2404
+ }
2405
+
2406
+ a.kg-cta-button:hover {
2407
+ opacity: 0.85;
2408
+ }
2409
+
2410
+ a.kg-cta-button.kg-style-accent {
2411
+ background-color: var(--ghost-accent-color);
2412
+ }
2413
+
2414
+ a.kg-cta-button {
2415
+ width: max-content;
2416
+ }
2417
+
2418
+ .kg-cta-immersive.kg-cta-has-img a.kg-cta-button {
2419
+ width: 100%;
2420
+ }
2421
+
2422
+ `, ot = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2423
+ __proto__: null,
2424
+ default: at
2425
+ }, Symbol.toStringTag, { value: "Module" })), rt = `.kg-file-card,
2426
+ .kg-file-card * {
2427
+ box-sizing: border-box;
2428
+ }
2429
+
2430
+ .kg-file-card {
2431
+ display: flex;
2432
+ }
2433
+
2434
+ .kg-file-card a.kg-file-card-container {
2435
+ display: flex;
2436
+ align-items: stretch;
2437
+ justify-content: space-between;
2438
+ color: inherit;
2439
+ padding: 12px;
2440
+ min-height: 92px;
2441
+ background: #fff;
2442
+ color: #222;
2443
+ border: 1px solid rgb(124 139 154 / 25%);
2444
+ border-radius: 5px;
2445
+ transition: all ease-in-out 0.35s;
2446
+ text-decoration: none;
2447
+ width: 100%;
2448
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
2449
+ }
2450
+
2451
+ .kg-file-card a.kg-file-card-container:hover {
2452
+ border: 1px solid rgb(124 139 154 / 35%);
2453
+ }
2454
+
2455
+ .kg-file-card-contents {
2456
+ display: flex;
2457
+ flex-direction: column;
2458
+ justify-content: space-between;
2459
+ margin: 4px 8px;
2460
+ width: 100%
2461
+ }
2462
+
2463
+ .kg-file-card-title {
2464
+ font-size: 16px;
2465
+ font-weight: 600;
2466
+ line-height: 1.3em;
2467
+ }
2468
+
2469
+ .kg-file-card-caption {
2470
+ font-size: 14px;
2471
+ line-height: 1.3em;
2472
+ opacity: 0.7;
2473
+ }
2474
+
2475
+ .kg-file-card-title + .kg-file-card-caption {
2476
+ flex-grow: 1;
2477
+ margin-top: 3px;
2478
+ }
2479
+
2480
+ .kg-file-card-metadata {
2481
+ display: inline;
2482
+ font-size: 14px;
2483
+ line-height: 1.3em;
2484
+ margin-top: 5px;
2485
+ }
2486
+
2487
+ .kg-file-card-filename {
2488
+ display: inline;
2489
+ font-weight: 500;
2490
+ }
2491
+
2492
+ .kg-file-card-filesize {
2493
+ display: inline-block;
2494
+ font-size: 14px;
2495
+ opacity: 0.6;
2496
+ }
2497
+
2498
+ .kg-file-card-filesize:before {
2499
+ display: inline-block;
2500
+ content: "\\2022";
2501
+ margin-left: 6px;
2502
+ margin-right: 6px;
2503
+ }
2504
+
2505
+ .kg-file-card-icon {
2506
+ position: relative;
2507
+ display: flex;
2508
+ align-items: center;
2509
+ justify-content: center;
2510
+ width: 80px;
2511
+ min-width: 80px;
2512
+ height: 100%;
2513
+ min-height: 80px;
2514
+ }
2515
+
2516
+ .kg-file-card-icon:before {
2517
+ position: absolute;
2518
+ display: block;
2519
+ content: "";
2520
+ top: 0;
2521
+ left: 0;
2522
+ right: 0;
2523
+ bottom: 0;
2524
+ background: currentColor;
2525
+ opacity: 0.06;
2526
+ transition: opacity ease-in-out 0.35s;
2527
+ border-radius: 3px;
2528
+ }
2529
+
2530
+ .kg-file-card a.kg-file-card-container:hover .kg-file-card-icon:before {
2531
+ opacity: 0.08;
2532
+ }
2533
+
2534
+ .kg-file-card-icon svg {
2535
+ width: 24px;
2536
+ height: 24px;
2537
+ color: var(--ghost-accent-color);
2538
+ }
2539
+
2540
+ /* Size variations */
2541
+ .kg-file-card-medium a.kg-file-card-container {
2542
+ min-height: 72px;
2543
+ }
2544
+
2545
+ .kg-file-card-medium .kg-file-card-caption {
2546
+ opacity: 1.0;
2547
+ font-weight: 500;
2548
+ }
2549
+
2550
+ .kg-file-card-small a.kg-file-card-container {
2551
+ align-items: center;
2552
+ min-height: 52px;
2553
+ }
2554
+
2555
+ .kg-file-card-small .kg-file-card-metadata {
2556
+ font-size: 14px;
2557
+ margin-top: 0;
2558
+ }
2559
+
2560
+ .kg-file-card-small .kg-file-card-icon svg {
2561
+ width: 20px;
2562
+ height: 20px;
2563
+ }
2564
+
2565
+ .kg-file-card + .kg-file-card {
2566
+ margin-top: 1em;
2567
+ }
2568
+ `, it = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2569
+ __proto__: null,
2570
+ default: rt
2571
+ }, Symbol.toStringTag, { value: "Module" })), dt = `.kg-gallery-card,
2572
+ .kg-gallery-card * {
2573
+ box-sizing: border-box;
2574
+ }
2575
+
2576
+ .kg-gallery-card,
2577
+ .kg-image-card {
2578
+ --gap: 1.2rem;
2579
+ }
2580
+
2581
+ .kg-image-card:not(.kg-card-hascaption) + .kg-image-card,
2582
+ .kg-image-card:not(.kg-card-hascaption) + .kg-gallery-card,
2583
+ .kg-gallery-card:not(.kg-card-hascaption) + .kg-image-card,
2584
+ .kg-gallery-card:not(.kg-card-hascaption) + .kg-gallery-card {
2585
+ margin-top: var(--gap);
2586
+ }
2587
+
2588
+ .kg-gallery-container {
2589
+ position: relative;
2590
+ }
2591
+
2592
+ .kg-gallery-row {
2593
+ display: flex;
2594
+ flex-direction: row;
2595
+ justify-content: center;
2596
+ }
2597
+
2598
+ .kg-gallery-image img {
2599
+ display: block;
2600
+ margin: 0;
2601
+ width: 100%;
2602
+ height: 100%;
2603
+ }
2604
+
2605
+ .kg-gallery-row:not(:first-of-type) {
2606
+ margin: var(--gap) 0 0;
2607
+ }
2608
+
2609
+ .kg-gallery-image:not(:first-of-type) {
2610
+ margin: 0 0 0 var(--gap);
2611
+ }
2612
+
2613
+ @media (max-width: 600px) {
2614
+ .kg-gallery-card,
2615
+ .kg-image-card {
2616
+ --gap: 0.6rem;
2617
+ }
2618
+ }
2619
+ `, ct = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2620
+ __proto__: null,
2621
+ default: dt
2622
+ }, Symbol.toStringTag, { value: "Module" })), st = `.kg-header-card,
2623
+ .kg-header-card * {
2624
+ box-sizing: border-box;
2625
+ }
2626
+
2627
+ .kg-header-card {
2628
+ padding: 12vmin 4em;
2629
+ min-height: 60vh;
2630
+ display: flex;
2631
+ flex-direction: column;
2632
+ align-items: center;
2633
+ justify-content: center;
2634
+ text-align: center;
2635
+ }
2636
+
2637
+ .kg-header-card.kg-size-small {
2638
+ padding-top: 14vmin;
2639
+ padding-bottom: 14vmin;
2640
+ min-height: 40vh;
2641
+ }
2642
+
2643
+ .kg-header-card.kg-size-large {
2644
+ padding-top: 18vmin;
2645
+ padding-bottom: 18vmin;
2646
+ min-height: 80vh;
2647
+ }
2648
+
2649
+ .kg-header-card.kg-align-left {
2650
+ text-align: left;
2651
+ align-items: flex-start;
2652
+ }
2653
+
2654
+ .kg-header-card.kg-style-dark {
2655
+ background: #151515;
2656
+ color: #ffffff;
2657
+ }
2658
+
2659
+ .kg-header-card.kg-style-light {
2660
+ background-color: #fafafa;
2661
+ }
2662
+
2663
+ .kg-header-card.kg-style-accent {
2664
+ background-color: var(--ghost-accent-color);
2665
+ }
2666
+
2667
+ .kg-header-card.kg-style-image {
2668
+ position: relative;
2669
+ background-color: #e7e7e7;
2670
+ background-size: cover;
2671
+ background-position: center;
2672
+ }
2673
+
2674
+ .kg-header-card.kg-style-image::before {
2675
+ position: absolute;
2676
+ display: block;
2677
+ content: "";
2678
+ top: 0;
2679
+ right: 0;
2680
+ bottom: 0;
2681
+ left: 0;
2682
+ background: linear-gradient(0deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.2));
2683
+ }
2684
+
2685
+ .kg-header-card h2.kg-header-card-header {
2686
+ font-size: 5em;
2687
+ font-weight: 700;
2688
+ line-height: 1.1em;
2689
+ letter-spacing: -0.01em;
2690
+ margin: 0;
2691
+ }
2692
+
2693
+ .kg-header-card h2.kg-header-card-header strong {
2694
+ font-weight: 800;
2695
+ }
2696
+
2697
+ .kg-header-card.kg-size-small h2.kg-header-card-header {
2698
+ font-size: 4em;
2699
+ }
2700
+
2701
+ .kg-header-card.kg-size-large h2.kg-header-card-header {
2702
+ font-size: 6em;
2703
+ }
2704
+
2705
+ .kg-header-card h3.kg-header-card-subheader {
2706
+ font-size: 1.5em;
2707
+ font-weight: 500;
2708
+ line-height: 1.4em;
2709
+ margin: 0;
2710
+ max-width: 40em;
2711
+ }
2712
+
2713
+ .kg-header-card h2 + h3.kg-header-card-subheader {
2714
+ margin: 0.35em 0 0;
2715
+ }
2716
+
2717
+ .kg-header-card h3.kg-header-card-subheader strong {
2718
+ font-weight: 600;
2719
+ }
2720
+
2721
+ .kg-header-card.kg-size-small h3.kg-header-card-subheader {
2722
+ font-size: 1.25em;
2723
+ }
2724
+
2725
+ .kg-header-card.kg-size-large h3.kg-header-card-subheader {
2726
+ font-size: 1.75em;
2727
+ }
2728
+
2729
+ .kg-header-card:not(.kg-style-light) h2.kg-header-card-header,
2730
+ .kg-header-card:not(.kg-style-light) h3.kg-header-card-subheader {
2731
+ color: #ffffff;
2732
+ }
2733
+
2734
+ .kg-header-card.kg-style-accent h3.kg-header-card-subheader,
2735
+ .kg-header-card.kg-style-image h3.kg-header-card-subheader {
2736
+ opacity: 1.0;
2737
+ }
2738
+
2739
+ .kg-header-card.kg-style-image h2.kg-header-card-header,
2740
+ .kg-header-card.kg-style-image h3.kg-header-card-subheader,
2741
+ .kg-header-card.kg-style-image a.kg-header-card-button {
2742
+ z-index: 999;
2743
+ }
2744
+
2745
+ .kg-header-card h2.kg-header-card-header a,
2746
+ .kg-header-card h3.kg-header-card-subheader a {
2747
+ color: var(--ghost-accent-color);
2748
+ }
2749
+
2750
+ .kg-header-card.kg-style-accent h2.kg-header-card-header a,
2751
+ .kg-header-card.kg-style-accent h3.kg-header-card-subheader a,
2752
+ .kg-header-card.kg-style-image h2.kg-header-card-header a,
2753
+ .kg-header-card.kg-style-image h3.kg-header-card-subheader a {
2754
+ color: #fff;
2755
+ }
2756
+
2757
+ .kg-header-card a.kg-header-card-button {
2758
+ display: flex;
2759
+ position: static;
2760
+ align-items: center;
2761
+ fill: #fff;
2762
+ background: #fff;
2763
+ border-radius: 3px;
2764
+ outline: none;
2765
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
2766
+ font-size: 1.05em;
2767
+ font-weight: 600;
2768
+ line-height: 1em;
2769
+ text-align: center;
2770
+ text-decoration: none;
2771
+ letter-spacing: .2px;
2772
+ white-space: nowrap;
2773
+ text-overflow: ellipsis;
2774
+ color: #151515;
2775
+ height: 2.7em;
2776
+ padding: 0 1.2em;
2777
+ transition: opacity .2s ease;
2778
+ }
2779
+
2780
+ .kg-header-card h2 + a.kg-header-card-button,
2781
+ .kg-header-card h3 + a.kg-header-card-button {
2782
+ margin: 1.75em 0 0;
2783
+ }
2784
+
2785
+ .kg-header-card a.kg-header-card-button:hover {
2786
+ opacity: 0.85;
2787
+ }
2788
+
2789
+ .kg-header-card.kg-size-large a.kg-header-card-button {
2790
+ font-size: 1.1em;
2791
+ height: 2.9em;
2792
+ }
2793
+
2794
+ .kg-header-card.kg-size-large h2 + a.kg-header-card-button,
2795
+ .kg-header-card.kg-size-large h3 + a.kg-header-card-button {
2796
+ margin-top: 2em;
2797
+ }
2798
+
2799
+ .kg-header-card.kg-size-small a.kg-header-card-button {
2800
+ height: 2.4em;
2801
+ font-size: 1em;
2802
+ }
2803
+
2804
+ .kg-header-card.kg-size-small h2 + a.kg-header-card-button,
2805
+ .kg-header-card.kg-size-small h3 + a.kg-header-card-button {
2806
+ margin-top: 1.5em;
2807
+ }
2808
+
2809
+ .kg-header-card.kg-style-image a.kg-header-card-button,
2810
+ .kg-header-card.kg-style-dark a.kg-header-card-button {
2811
+ background: #fff;
2812
+ color: #151515;
2813
+ }
2814
+
2815
+ .kg-header-card.kg-style-light a.kg-header-card-button {
2816
+ background: var(--ghost-accent-color);
2817
+ color: #fff;
2818
+ }
2819
+
2820
+ .kg-header-card.kg-style-accent a.kg-header-card-button {
2821
+ background: #fff;
2822
+ color: #151515;
2823
+ }
2824
+
2825
+ @media (max-width: 640px) {
2826
+ .kg-header-card {
2827
+ padding-left: 1em;
2828
+ padding-right: 1em;
2829
+ }
2830
+
2831
+ .kg-header-card h2.kg-header-card-header {
2832
+ font-size: 3.5em;
2833
+ }
2834
+
2835
+ .kg-header-card.kg-size-large h2.kg-header-card-header {
2836
+ font-size: 4em;
2837
+ }
2838
+
2839
+ .kg-header-card.kg-size-small h2.kg-header-card-header {
2840
+ font-size: 3em;
2841
+ }
2842
+
2843
+ .kg-header-card h3.kg-header-card-subheader {
2844
+ font-size: 1.25em;
2845
+ }
2846
+
2847
+ .kg-header-card.kg-size-large h3.kg-header-card-subheader {
2848
+ font-size: 1.5em;
2849
+ }
2850
+
2851
+ .kg-header-card.kg-size-small h3.kg-header-card-subheader {
2852
+ font-size: 1em;
2853
+ }
2854
+ }
2855
+ `, lt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2856
+ __proto__: null,
2857
+ default: st
2858
+ }, Symbol.toStringTag, { value: "Module" })), gt = `.kg-header-card.kg-v2 {
2859
+ position: relative;
2860
+ padding: 0;
2861
+ min-height: initial;
2862
+ text-align: initial;
2863
+ }
2864
+
2865
+ .kg-header-card.kg-v2,
2866
+ .kg-header-card.kg-v2 * {
2867
+ box-sizing: border-box;
2868
+ }
2869
+
2870
+ .kg-header-card.kg-v2 a,
2871
+ .kg-header-card.kg-v2 a span {
2872
+ color: currentColor;
2873
+ }
2874
+
2875
+ .kg-header-card.kg-style-accent.kg-v2 {
2876
+ background-color: var(--ghost-accent-color);
2877
+ }
2878
+
2879
+ .kg-header-card-content {
2880
+ width: 100%;
2881
+ }
2882
+
2883
+ .kg-layout-split .kg-header-card-content {
2884
+ display: grid;
2885
+ grid-template-columns: 1fr 1fr;
2886
+ }
2887
+
2888
+ .kg-header-card-text {
2889
+ position: relative;
2890
+ display: flex;
2891
+ flex-direction: column;
2892
+ align-items: flex-start;
2893
+ justify-content: center;
2894
+ height: 100%;
2895
+ padding: min(6.4vmax, 120px) min(4vmax, 80px);
2896
+ background-size: cover;
2897
+ background-position: center;
2898
+ text-align: left;
2899
+ }
2900
+
2901
+ .kg-width-wide .kg-header-card-text {
2902
+ padding: min(10vmax, 220px) min(6.4vmax, 140px);
2903
+ }
2904
+
2905
+ .kg-width-full .kg-header-card-text {
2906
+ padding: min(12vmax, 260px) 0;
2907
+ }
2908
+
2909
+ .kg-layout-split .kg-header-card-text {
2910
+ padding: min(12vmax, 260px) min(4vmax, 80px);
2911
+ }
2912
+
2913
+ .kg-layout-split.kg-content-wide .kg-header-card-text {
2914
+ padding: min(10vmax, 220px) 0 min(10vmax, 220px) min(4vmax, 80px);
2915
+ }
2916
+
2917
+ .kg-layout-split.kg-content-wide.kg-swapped .kg-header-card-text {
2918
+ padding: min(10vmax, 220px) min(4vmax, 80px) min(10vmax, 220px) 0;
2919
+ }
2920
+
2921
+ .kg-swapped .kg-header-card-text {
2922
+ grid-row: 1;
2923
+ }
2924
+
2925
+ .kg-header-card-text.kg-align-center {
2926
+ align-items: center;
2927
+ text-align: center;
2928
+ }
2929
+
2930
+ .kg-header-card.kg-style-image h2.kg-header-card-heading,
2931
+ .kg-header-card.kg-style-image .kg-header-card-subheading,
2932
+ .kg-header-card.kg-style-image.kg-v2 .kg-header-card-button {
2933
+ z-index: 999;
2934
+ }
2935
+
2936
+ /* Background image */
2937
+
2938
+ .kg-header-card > picture > .kg-header-card-image {
2939
+ position: absolute;
2940
+ top: 0;
2941
+ left: 0;
2942
+ width: 100%;
2943
+ height: 100%;
2944
+ object-fit: cover;
2945
+ object-position: center;
2946
+ background-color: #FFFFFF;
2947
+ pointer-events: none;
2948
+ }
2949
+
2950
+ /* Split layout image */
2951
+
2952
+ .kg-header-card-content .kg-header-card-image {
2953
+ width: 100%;
2954
+ /* this will force the image to follow the signup card height */
2955
+ height: 0;
2956
+ min-height: 100%;
2957
+ /**/
2958
+ object-fit: cover;
2959
+ object-position: center;
2960
+ }
2961
+
2962
+ .kg-content-wide .kg-header-card-content .kg-header-card-image {
2963
+ height: 100%;
2964
+ padding: 5.6em 0;
2965
+ object-fit: contain;
2966
+ }
2967
+
2968
+ /* Heading */
2969
+
2970
+ .kg-header-card h2.kg-header-card-heading {
2971
+ margin: 0;
2972
+ font-size: clamp(1.7em, 4vw, 2.5em);
2973
+ font-weight: 700;
2974
+ line-height: 1.05em;
2975
+ letter-spacing: -0.01em;
2976
+ }
2977
+
2978
+ .kg-header-card.kg-width-wide h2.kg-header-card-heading {
2979
+ font-size: clamp(1.7em, 5vw, 3.3em);
2980
+ }
2981
+
2982
+ .kg-header-card.kg-width-full h2.kg-header-card-heading {
2983
+ font-size: clamp(1.9em, 5.6vw, 4.2em);
2984
+ }
2985
+
2986
+ .kg-header-card.kg-width-full.kg-layout-split h2.kg-header-card-heading {
2987
+ font-size: clamp(1.9em, 4vw, 3.3em);
2988
+ }
2989
+
2990
+ /* Subheading */
2991
+
2992
+ .kg-header-card-subheading {
2993
+ margin: 0 0 2em;
2994
+ }
2995
+
2996
+ .kg-header-card .kg-header-card-subheading {
2997
+ max-width: 40em;
2998
+ margin: 0;
2999
+ font-size: clamp(1.05em, 2vw, 1.4em);
3000
+ font-weight: 500;
3001
+ line-height: 1.2em;
3002
+ }
3003
+
3004
+ .kg-header-card h2 + .kg-header-card-subheading {
3005
+ margin: 0.6em 0 0;
3006
+ }
3007
+
3008
+ .kg-header-card .kg-header-card-subheading strong {
3009
+ font-weight: 600;
3010
+ }
3011
+
3012
+ .kg-header-card.kg-width-wide .kg-header-card-subheading {
3013
+ font-size: clamp(1.05em, 2vw, 1.55em);
3014
+ }
3015
+
3016
+ .kg-header-card.kg-width-full .kg-header-card-subheading:not(.kg-layout-split .kg-header-card-subheading) {
3017
+ max-width: min(65vmax, 1200px);
3018
+ font-size: clamp(1.05em, 2vw, 1.7em);
3019
+ }
3020
+
3021
+ .kg-header-card.kg-width-full.kg-layout-split .kg-header-card-subheading {
3022
+ font-size: clamp(1.05em, 2vw, 1.55em);
3023
+ }
3024
+
3025
+ .kg-header-card.kg-v2 .kg-header-card-button {
3026
+ display: flex;
3027
+ position: relative;
3028
+ align-items: center;
3029
+ height: 2.9em;
3030
+ min-height: 46px;
3031
+ padding: 0 1.2em;
3032
+ outline: none;
3033
+ border: none;
3034
+ font-size: 1em;
3035
+ font-weight: 600;
3036
+ line-height: 1em;
3037
+ text-align: center;
3038
+ text-decoration: none;
3039
+ letter-spacing: .2px;
3040
+ white-space: nowrap;
3041
+ text-overflow: ellipsis;
3042
+ border-radius: 3px;
3043
+ transition: opacity .2s ease;
3044
+ }
3045
+
3046
+ .kg-header-card.kg-v2 .kg-header-card-button.kg-style-accent {
3047
+ background-color: var(--ghost-accent-color);
3048
+ }
3049
+
3050
+ .kg-header-card.kg-v2 h2 + .kg-header-card-button,
3051
+ .kg-header-card.kg-v2 p + .kg-header-card-button {
3052
+ margin: 1.5em 0 0;
3053
+ }
3054
+
3055
+ .kg-header-card.kg-v2 .kg-header-card-button:hover {
3056
+ opacity: 0.85;
3057
+ }
3058
+
3059
+ .kg-header-card.kg-v2.kg-width-wide .kg-header-card-button {
3060
+ font-size: 1.05em;
3061
+ }
3062
+
3063
+ .kg-header-card.kg-v2.kg-width-wide h2 + .kg-header-card-button,
3064
+ .kg-header-card.kg-v2.kg-width-wide p + .kg-header-card-button {
3065
+ margin-top: 1.75em;
3066
+ }
3067
+
3068
+ .kg-header-card.kg-v2.kg-width-full .kg-header-card-button {
3069
+ font-size: 1.1em;
3070
+ }
3071
+
3072
+ .kg-header-card.kg-v2.kg-width-full h2 + .kg-header-card-button,
3073
+ .kg-header-card.kg-v2.kg-width-full p + .kg-header-card-button {
3074
+ margin-top: 2em;
3075
+ }
3076
+
3077
+ /* Responsive styles */
3078
+
3079
+ @media (max-width: 640px) {
3080
+ .kg-layout-split .kg-header-card-content {
3081
+ grid-template-columns: 1fr;
3082
+ }
3083
+
3084
+ .kg-width-wide .kg-header-card-text {
3085
+ padding: min(6.4vmax, 120px) min(4vmax, 80px);
3086
+ }
3087
+
3088
+ .kg-layout-split.kg-content-wide .kg-header-card-text,
3089
+ .kg-layout-split.kg-content-wide.kg-swapped .kg-header-card-text {
3090
+ padding: min(9.6vmax, 180px) 0;
3091
+ }
3092
+
3093
+ .kg-header-card.kg-width-full .kg-header-card-subheading:not(.kg-layout-split .kg-header-card-subheading) {
3094
+ max-width: unset;
3095
+ }
3096
+
3097
+ .kg-header-card-content .kg-header-card-image:not(.kg-content-wide .kg-header-card-content .kg-header-card-image) {
3098
+ height: auto;
3099
+ min-height: unset;
3100
+ aspect-ratio: 1 / 1;
3101
+ }
3102
+
3103
+ .kg-content-wide .kg-header-card-content .kg-header-card-image {
3104
+ padding: 1.7em 0 0;
3105
+ }
3106
+
3107
+ .kg-content-wide.kg-swapped .kg-header-card-content .kg-header-card-image {
3108
+ padding: 0 0 1.7em;
3109
+ }
3110
+
3111
+ .kg-header-card.kg-v2 .kg-header-card-button {
3112
+ height: 2.9em;
3113
+ }
3114
+
3115
+ .kg-header-card.kg-v2.kg-width-wide .kg-header-card-button,
3116
+ .kg-header-card.kg-v2.kg-width-full .kg-header-card-button {
3117
+ font-size: 1em;
3118
+ }
3119
+ }
3120
+ `, pt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
3121
+ __proto__: null,
3122
+ default: gt
3123
+ }, Symbol.toStringTag, { value: "Module" })), ut = `.kg-nft-card,
3124
+ .kg-nft-card * {
3125
+ box-sizing: border-box;
3126
+ }
3127
+
3128
+ .kg-nft-card {
3129
+ display: flex;
3130
+ flex-direction: column;
3131
+ align-items: center;
3132
+ width: 100%;
3133
+ margin-left: auto;
3134
+ margin-right: auto;
3135
+ }
3136
+
3137
+ .kg-nft-card a.kg-nft-card-container {
3138
+ position: static;
3139
+ display: flex;
3140
+ flex: auto;
3141
+ flex-direction: column;
3142
+ text-decoration: none;
3143
+ font-family: -apple-system, BlinkMacSystemFont,
3144
+ 'avenir next', avenir,
3145
+ 'helvetica neue', helvetica,
3146
+ ubuntu,
3147
+ roboto, noto,
3148
+ 'segoe ui', arial,
3149
+ sans-serif;
3150
+ font-size: 14px;
3151
+ font-weight: 400;
3152
+ box-shadow: 0 2px 6px -2px rgb(0 0 0 / 10%), 0 0 1px rgb(0 0 0 / 40%);
3153
+ width: 100%;
3154
+ max-width: 512px;
3155
+ color: #222;
3156
+ background: #fff;
3157
+ border-radius: 5px;
3158
+ transition: none;
3159
+ }
3160
+
3161
+ .kg-nft-card * {
3162
+ position: static;
3163
+ }
3164
+
3165
+ .kg-nft-metadata {
3166
+ padding: 20px;
3167
+ width: 100%;
3168
+ }
3169
+
3170
+ .kg-nft-image {
3171
+ border-radius: 5px 5px 0 0;
3172
+ width: 100%;
3173
+ }
3174
+
3175
+ .kg-nft-header {
3176
+ display: flex;
3177
+ justify-content: space-between;
3178
+ align-items: flex-start;
3179
+ gap: 20px;
3180
+ }
3181
+
3182
+ .kg-nft-header h4.kg-nft-title {
3183
+ font-family: inherit;
3184
+ font-size: 19px;
3185
+ font-weight: 700;
3186
+ line-height: 1.3em;
3187
+ min-width: unset;
3188
+ max-width: unset;
3189
+ margin: 0;
3190
+ color: #222;
3191
+ }
3192
+
3193
+ .kg-nft-opensea-logo {
3194
+ margin-top: 2px;
3195
+ width: 100px;
3196
+ object-fit: scale-down;
3197
+ }
3198
+
3199
+ .kg-nft-creator {
3200
+ font-family: inherit;
3201
+ line-height: 1.4em;
3202
+ margin: 4px 0 0;
3203
+ color: #ababab;
3204
+ }
3205
+
3206
+ .kg-nft-creator span {
3207
+ font-weight: 500;
3208
+ color: #222;
3209
+ }
3210
+
3211
+ .kg-nft-card p.kg-nft-description {
3212
+ font-family: inherit;
3213
+ font-size: 14px;
3214
+ line-height: 1.4em;
3215
+ margin: 20px 0 0;
3216
+ color: #222;
3217
+ }`, ht = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
3218
+ __proto__: null,
3219
+ default: ut
3220
+ }, Symbol.toStringTag, { value: "Module" })), mt = `.kg-product-card,
3221
+ .kg-product-card * {
3222
+ box-sizing: border-box;
3223
+ }
3224
+
3225
+ .kg-product-card {
3226
+ display: flex;
3227
+ align-items: center;
3228
+ flex-direction: column;
3229
+ width: 100%;
3230
+ }
3231
+
3232
+ .kg-product-card-container {
3233
+ display: grid;
3234
+ grid-template-columns: auto min-content;
3235
+ align-items: center;
3236
+ grid-row-gap: 16px;
3237
+ background: transparent;
3238
+ max-width: 550px;
3239
+ padding: 20px;
3240
+ width: 100%;
3241
+ background: #fff;
3242
+ color: #222;
3243
+ border-radius: 5px;
3244
+ box-shadow: inset 0 0 0 1px rgb(124 139 154 / 25%);
3245
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
3246
+ }
3247
+
3248
+ .kg-product-card-image {
3249
+ grid-column: 1 / 3;
3250
+ justify-self: center;
3251
+ height: auto;
3252
+ }
3253
+
3254
+ .kg-product-card-title-container {
3255
+ grid-column: 1 / 2;
3256
+ }
3257
+
3258
+ .kg-product-card h4.kg-product-card-title {
3259
+ text-decoration: none;
3260
+ font-weight: 600;
3261
+ font-size: 21px;
3262
+ margin-top: 0;
3263
+ margin-bottom: 0;
3264
+ line-height: 1.15em;
3265
+ }
3266
+
3267
+ .kg-product-card-description {
3268
+ grid-column: 1 / 3;
3269
+ }
3270
+
3271
+ .kg-product-card .kg-product-card-description p,
3272
+ .kg-product-card .kg-product-card-description ol,
3273
+ .kg-product-card .kg-product-card-description ul {
3274
+ font-size: 14px;
3275
+ line-height: 1.5em;
3276
+ opacity: .7;
3277
+ margin-bottom: 0;
3278
+ }
3279
+
3280
+ .kg-product-card .kg-product-card-description p:first-of-type {
3281
+ margin-top: -4px;
3282
+ }
3283
+
3284
+ .kg-product-card .kg-product-card-description p:not(:first-of-type),
3285
+ .kg-product-card .kg-product-card-description ul,
3286
+ .kg-product-card .kg-product-card-description ol {
3287
+ margin-top: 0.95em;
3288
+ }
3289
+
3290
+ .kg-product-card .kg-product-card-description li+li {
3291
+ margin-top: 0.5em;
3292
+ }
3293
+
3294
+ .kg-product-card-rating {
3295
+ display: flex;
3296
+ align-items: center;
3297
+ grid-column: 2 / 3;
3298
+ align-self: start;
3299
+ justify-self: end;
3300
+ padding-left: 16px;
3301
+ }
3302
+
3303
+ @media (max-width: 400px) {
3304
+ .kg-product-card-title-container {
3305
+ grid-column: 1 / 3;
3306
+ }
3307
+
3308
+ .kg-product-card-rating {
3309
+ grid-column: 1 / 3;
3310
+ justify-self: start;
3311
+ margin-top: -15px;
3312
+ padding-left: 0;
3313
+ }
3314
+ }
3315
+
3316
+ .kg-product-card-rating-star {
3317
+ height: 20px;
3318
+ width: 20px;
3319
+ }
3320
+
3321
+ .kg-product-card-rating-star svg {
3322
+ width: 16px;
3323
+ height: 16px;
3324
+ fill: currentColor;
3325
+ opacity: 0.15;
3326
+ }
3327
+
3328
+ .kg-product-card-rating-active.kg-product-card-rating-star svg {
3329
+ opacity: 1;
3330
+ }
3331
+
3332
+ .kg-product-card a.kg-product-card-button {
3333
+ justify-content: center;
3334
+ grid-column: 1 / 3;
3335
+ display: flex;
3336
+ position: static;
3337
+ align-items: center;
3338
+ font-size: 14px;
3339
+ font-weight: 600;
3340
+ line-height: 1em;
3341
+ text-decoration: none;
3342
+ width: 100%;
3343
+ height: 38px;
3344
+ border-radius: 6px;
3345
+ padding: 0 12px;
3346
+ transition: opacity 0.2s ease-in-out;
3347
+ }
3348
+
3349
+ .kg-product-card a.kg-product-card-btn-accent {
3350
+ background-color: var(--ghost-accent-color);
3351
+ color: #fff;
3352
+ }
3353
+ `, kt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
3354
+ __proto__: null,
3355
+ default: mt
3356
+ }, Symbol.toStringTag, { value: "Module" })), ft = `.kg-signup-card {
3357
+ position: relative;
3358
+ }
3359
+
3360
+ .kg-signup-card,
3361
+ .kg-signup-card * {
3362
+ box-sizing: border-box;
3363
+ }
3364
+
3365
+ .kg-signup-card a,
3366
+ .kg-signup-card a span {
3367
+ color: currentColor;
3368
+ }
3369
+
3370
+ .kg-signup-card.kg-style-accent {
3371
+ background-color: var(--ghost-accent-color);
3372
+ }
3373
+
3374
+ .kg-layout-split .kg-signup-card-content {
3375
+ display: grid;
3376
+ grid-template-columns: 1fr 1fr;
3377
+ }
3378
+
3379
+ .kg-signup-card-text {
3380
+ position: relative;
3381
+ display: flex;
3382
+ flex-direction: column;
3383
+ align-items: flex-start;
3384
+ justify-content: center;
3385
+ height: 100%;
3386
+ padding: min(4vmax, 80px);
3387
+ background-size: cover;
3388
+ background-position: center;
3389
+ text-align: left;
3390
+ }
3391
+
3392
+ .kg-width-wide .kg-signup-card-text {
3393
+ padding: min(6.4vmax, 120px);
3394
+ }
3395
+
3396
+ .kg-width-full .kg-signup-card-text {
3397
+ padding: min(12vmax, 260px) 0;
3398
+ }
3399
+
3400
+ .kg-layout-split .kg-signup-card-text {
3401
+ padding: min(12vmax, 260px) min(4vmax, 80px);
3402
+ }
3403
+
3404
+ .kg-layout-split.kg-content-wide .kg-signup-card-text {
3405
+ padding: min(10vmax, 220px) 0 min(10vmax, 220px) min(4vmax, 80px);
3406
+ }
3407
+
3408
+ .kg-layout-split.kg-content-wide.kg-swapped .kg-signup-card-text {
3409
+ padding: min(10vmax, 220px) min(4vmax, 80px) min(10vmax, 220px) 0;
3410
+ }
3411
+
3412
+ .kg-swapped .kg-signup-card-text {
3413
+ grid-row: 1;
3414
+ }
3415
+
3416
+ .kg-signup-card-text.kg-align-center {
3417
+ align-items: center;
3418
+ text-align: center;
3419
+ }
3420
+
3421
+ .kg-signup-card.kg-style-image h2.kg-signup-card-heading,
3422
+ .kg-signup-card.kg-style-image .kg-signup-card-subheading,
3423
+ .kg-signup-card.kg-style-image .kg-signup-card-button {
3424
+ z-index: 999;
3425
+ }
3426
+
3427
+ /* Background image */
3428
+
3429
+ .kg-signup-card > picture > .kg-signup-card-image {
3430
+ position: absolute;
3431
+ top: 0;
3432
+ left: 0;
3433
+ width: 100%;
3434
+ height: 100%;
3435
+ object-fit: cover;
3436
+ object-position: center;
3437
+ background-color: #FFFFFF;
3438
+ pointer-events: none;
3439
+ }
3440
+
3441
+ /* Split layout image */
3442
+
3443
+ .kg-signup-card-content .kg-signup-card-image {
3444
+ width: 100%;
3445
+ /* this will force the image to follow the signup card height */
3446
+ height: 0;
3447
+ min-height: 100%;
3448
+ /**/
3449
+ object-fit: cover;
3450
+ object-position: center;
3451
+ }
3452
+
3453
+ .kg-content-wide .kg-signup-card-content .kg-signup-card-image {
3454
+ height: 100%;
3455
+ padding: 5.6em 0;
3456
+ object-fit: contain;
3457
+ }
3458
+
3459
+ /* Heading */
3460
+
3461
+ .kg-signup-card h2.kg-signup-card-heading {
3462
+ margin: 0;
3463
+ font-size: clamp(1.7em, 4vw, 2.5em);
3464
+ font-weight: 700;
3465
+ line-height: 1.05em;
3466
+ letter-spacing: -0.01em;
3467
+ }
3468
+
3469
+ .kg-signup-card.kg-width-wide h2.kg-signup-card-heading {
3470
+ font-size: clamp(1.7em, 5vw, 3.3em);
3471
+ }
3472
+
3473
+ .kg-signup-card.kg-width-full h2.kg-signup-card-heading {
3474
+ font-size: clamp(1.9em, 5.6vw, 4.2em);
3475
+ }
3476
+
3477
+ .kg-signup-card.kg-width-full.kg-layout-split h2.kg-signup-card-heading {
3478
+ font-size: clamp(1.9em, 4vw, 3.3em);
3479
+ }
3480
+
3481
+ /* Subheading */
3482
+
3483
+ .kg-signup-card-subheading {
3484
+ margin: 0 0 2em;
3485
+ }
3486
+
3487
+ .kg-signup-card .kg-signup-card-subheading {
3488
+ max-width: 40em;
3489
+ margin: 0;
3490
+ font-size: clamp(1.05em, 2vw, 1.4em);
3491
+ font-weight: 500;
3492
+ line-height: 1.2em;
3493
+ }
3494
+
3495
+ .kg-signup-card h2 + .kg-signup-card-subheading {
3496
+ margin: 0.6em 0 0;
3497
+ }
3498
+
3499
+ .kg-signup-card .kg-signup-card-subheading strong {
3500
+ font-weight: 600;
3501
+ }
3502
+
3503
+ .kg-signup-card.kg-width-wide .kg-signup-card-subheading {
3504
+ font-size: clamp(1.05em, 2vw, 1.55em);
3505
+ }
3506
+
3507
+ .kg-signup-card.kg-width-full .kg-signup-card-subheading:not(.kg-layout-split .kg-signup-card-subheading) {
3508
+ max-width: min(65vmax, 1200px);
3509
+ font-size: clamp(1.05em, 2vw, 1.7em);
3510
+ }
3511
+
3512
+ .kg-signup-card.kg-width-full.kg-layout-split .kg-signup-card-subheading {
3513
+ font-size: clamp(1.05em, 2vw, 1.55em);
3514
+ }
3515
+
3516
+ /* Subscribe form */
3517
+
3518
+ .kg-signup-card-form {
3519
+ position: relative;
3520
+ display: flex;
3521
+ flex-shrink: 0;
3522
+ width: 100%;
3523
+ }
3524
+
3525
+ .kg-align-center .kg-signup-card-form {
3526
+ justify-content: center;
3527
+ }
3528
+
3529
+ .kg-signup-card-heading + .kg-signup-card-form,
3530
+ .kg-signup-card-subheading + .kg-signup-card-form {
3531
+ margin: min(2.4vmax, 48px) 0 0;
3532
+ }
3533
+
3534
+ .kg-width-wide .kg-signup-card-heading + .kg-signup-card-form,
3535
+ .kg-width-wide .kg-signup-card-subheading + .kg-signup-card-form {
3536
+ margin: min(3.2vmax, 64px) 0 0;
3537
+ }
3538
+
3539
+ .kg-width-full .kg-signup-card-heading + .kg-signup-card-form,
3540
+ .kg-width-full .kg-signup-card-subheading + .kg-signup-card-form {
3541
+ margin: min(4vmax, 80px) 0 0;
3542
+ }
3543
+
3544
+ .kg-signup-card-fields {
3545
+ display: flex;
3546
+ width: 100%;
3547
+ padding: 3px;
3548
+ background: #FFFFFF;
3549
+ border: 1px solid #E6E6E6;
3550
+ border-radius: 4px;
3551
+ }
3552
+
3553
+ .kg-width-wide .kg-signup-card-fields,
3554
+ .kg-width-full .kg-signup-card-fields {
3555
+ width: 100%;
3556
+ max-width: 500px;
3557
+ }
3558
+
3559
+ .kg-signup-card-input {
3560
+ width: 100%;
3561
+ height: 2.9em;
3562
+ min-height: 46px;
3563
+ margin: 0 3px 0 0;
3564
+ padding: 12px 16px;
3565
+ border: none;
3566
+ background: #FFFFFF;
3567
+ font-size: 1.1em;
3568
+ }
3569
+
3570
+ .kg-signup-card-input:focus,
3571
+ .kg-signup-card-input:focus-visible {
3572
+ outline: none;
3573
+ }
3574
+
3575
+ .kg-signup-card-button {
3576
+ display: flex;
3577
+ position: relative;
3578
+ align-items: center;
3579
+ height: 2.9em;
3580
+ min-height: 46px;
3581
+ height: 100%;
3582
+ padding: 0 1.2em;
3583
+ outline: none;
3584
+ border: none;
3585
+ font-size: 1em;
3586
+ font-weight: 600;
3587
+ line-height: 1em;
3588
+ text-align: center;
3589
+ text-decoration: none;
3590
+ letter-spacing: .2px;
3591
+ white-space: nowrap;
3592
+ text-overflow: ellipsis;
3593
+ border-radius: 3px;
3594
+ transition: opacity .2s ease;
3595
+ cursor: pointer;
3596
+ }
3597
+
3598
+ .kg-signup-card-button.kg-style-accent {
3599
+ background-color: var(--ghost-accent-color);
3600
+ }
3601
+
3602
+ .kg-signup-card h2 + .kg-signup-card-button,
3603
+ .kg-signup-card p + .kg-signup-card-button {
3604
+ margin: 1.5em 0 0;
3605
+ }
3606
+
3607
+ .kg-signup-card .kg-signup-card-button:hover {
3608
+ opacity: 0.85;
3609
+ }
3610
+
3611
+ .kg-signup-card.kg-width-wide .kg-signup-card-button {
3612
+ font-size: 1.05em;
3613
+ }
3614
+
3615
+ .kg-signup-card.kg-width-wide h2 + .kg-signup-card-button,
3616
+ .kg-signup-card.kg-width-wide p + .kg-signup-card-button {
3617
+ margin-top: 1.75em;
3618
+ }
3619
+
3620
+ .kg-signup-card.kg-width-full .kg-signup-card-button {
3621
+ font-size: 1.1em;
3622
+ }
3623
+
3624
+ .kg-signup-card.kg-width-full h2 + .kg-signup-card-button,
3625
+ .kg-signup-card.kg-width-full p + .kg-signup-card-button {
3626
+ margin-top: 2em;
3627
+ }
3628
+
3629
+ /* Subscribe form states */
3630
+
3631
+ .kg-signup-card-success,
3632
+ .kg-signup-card-error {
3633
+ display: none;
3634
+ }
3635
+
3636
+ .kg-signup-card-form.success .kg-signup-card-fields {
3637
+ display: none;
3638
+ }
3639
+
3640
+ .kg-signup-card-form.success .kg-signup-card-success {
3641
+ display: flex;
3642
+ align-items: center;
3643
+ height: 3em;
3644
+ font-size: 1.25em;
3645
+ font-weight: 500;
3646
+ line-height: 1.4em;
3647
+ }
3648
+
3649
+ .kg-signup-card-form.error .kg-signup-card-fields {
3650
+ border: 1px solid #FF0000;
3651
+ box-shadow: inset 0 0 0 1px rgba(255, 0, 0, 0.2);
3652
+ }
3653
+
3654
+ .kg-signup-card-form.error .kg-signup-card-error {
3655
+ position: absolute;
3656
+ bottom: calc(-1rem - 1.6em);
3657
+ display: block;
3658
+ font-size: inherit;
3659
+ }
3660
+
3661
+ .kg-signup-card-button-loading {
3662
+ position: absolute;
3663
+ inset: 0;
3664
+ align-items: center;
3665
+ justify-content: center;
3666
+ display: none;
3667
+ }
3668
+
3669
+ .kg-signup-card-form.loading .kg-signup-card-button-default {
3670
+ color: transparent;
3671
+ }
3672
+
3673
+ .kg-signup-card-form.loading .kg-signup-card-button-loading {
3674
+ display: flex;
3675
+ }
3676
+
3677
+ /* Disclaimer */
3678
+
3679
+ .kg-signup-card-disclaimer {
3680
+ margin: 1rem 0 0;
3681
+ }
3682
+
3683
+ .kg-signup-card-form.success + .kg-signup-card-disclaimer,
3684
+ .kg-signup-card-form.error + .kg-signup-card-disclaimer {
3685
+ visibility: hidden;
3686
+ }
3687
+
3688
+
3689
+ /* Responsive styles */
3690
+
3691
+ @media (max-width: 640px) {
3692
+ .kg-layout-split .kg-signup-card-content {
3693
+ grid-template-columns: 1fr;
3694
+ }
3695
+
3696
+ .kg-width-wide .kg-signup-card-text {
3697
+ padding: min(6.4vmax, 120px) min(4vmax, 80px);
3698
+ }
3699
+
3700
+ .kg-layout-split.kg-content-wide .kg-signup-card-text,
3701
+ .kg-layout-split.kg-content-wide.kg-swapped .kg-signup-card-text {
3702
+ padding: min(9.6vmax, 180px) 0;
3703
+ }
3704
+
3705
+ .kg-signup-card.kg-width-full .kg-signup-card-subheading:not(.kg-layout-split .kg-signup-card-subheading) {
3706
+ max-width: unset;
3707
+ }
3708
+
3709
+ .kg-signup-card-content .kg-signup-card-image:not(.kg-content-wide .kg-signup-card-content .kg-signup-card-image) {
3710
+ height: auto;
3711
+ min-height: unset;
3712
+ aspect-ratio: 1 / 1;
3713
+ }
3714
+
3715
+ .kg-content-wide .kg-signup-card-content .kg-signup-card-image {
3716
+ padding: 1.7em 0 0;
3717
+ }
3718
+
3719
+ .kg-content-wide.kg-swapped .kg-signup-card-content .kg-signup-card-image {
3720
+ padding: 0 0 1.7em;
3721
+ }
3722
+
3723
+ .kg-signup-card-input {
3724
+ height: 2.9em;
3725
+ padding: 6px 12px;
3726
+ font-size: 1em;
3727
+ }
3728
+
3729
+ .kg-signup-card-button {
3730
+ height: 2.9em;
3731
+ }
3732
+
3733
+ .kg-signup-card.kg-width-wide .kg-signup-card-button,
3734
+ .kg-signup-card.kg-width-full .kg-signup-card-button {
3735
+ font-size: 1em;
3736
+ }
3737
+ }
3738
+ `, bt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
3739
+ __proto__: null,
3740
+ default: ft
3741
+ }, Symbol.toStringTag, { value: "Module" })), xt = `.kg-toggle-card,
3742
+ .kg-toggle-card * {
3743
+ box-sizing: border-box;
3744
+ }
3745
+
3746
+ .kg-toggle-card {
3747
+ background: transparent;
3748
+ box-shadow: inset 0 0 0 1px rgba(124, 139, 154, 0.25);
3749
+ border-radius: 4px;
3750
+ padding: 1.2em;
3751
+ }
3752
+
3753
+ .kg-toggle-card[data-kg-toggle-state="close"] .kg-toggle-content{
3754
+ height: 0;
3755
+ overflow: hidden;
3756
+ transition: opacity .5s ease, top .35s ease;
3757
+ opacity: 0;
3758
+ top: -0.5em;
3759
+ position: relative;
3760
+ }
3761
+
3762
+ .kg-toggle-content {
3763
+ height: auto;
3764
+ opacity: 1;
3765
+ transition: opacity 1s ease, top .35s ease;
3766
+ top: 0;
3767
+ position: relative;
3768
+ }
3769
+
3770
+ .kg-toggle-card[data-kg-toggle-state="close"] svg {
3771
+ transform: unset;
3772
+ }
3773
+
3774
+ .kg-toggle-heading {
3775
+ cursor: pointer;
3776
+ display: flex;
3777
+ justify-content: space-between;
3778
+ align-items: flex-start;
3779
+ }
3780
+
3781
+ .kg-toggle-card h4.kg-toggle-heading-text {
3782
+ font-size: 1.15em;
3783
+ font-weight: 700;
3784
+ line-height: 1.3em;
3785
+ margin-top: 0;
3786
+ margin-bottom: 0;
3787
+ }
3788
+
3789
+ .kg-toggle-content p:first-of-type {
3790
+ margin-top: 0.5em;
3791
+ }
3792
+
3793
+ .kg-toggle-card .kg-toggle-content p,
3794
+ .kg-toggle-card .kg-toggle-content ol,
3795
+ .kg-toggle-card .kg-toggle-content ul {
3796
+ font-size: 0.95em;
3797
+ line-height: 1.5em;
3798
+ margin-top: 0.95em;
3799
+ margin-bottom: 0;
3800
+ }
3801
+
3802
+ .kg-toggle-card li + li {
3803
+ margin-top: 0.5em;
3804
+ }
3805
+
3806
+ .kg-toggle-card-icon {
3807
+ height: 24px;
3808
+ width: 24px;
3809
+ display: flex;
3810
+ justify-content: center;
3811
+ align-items: center;
3812
+ margin-left: 1em;
3813
+ padding: 0;
3814
+ background: none;
3815
+ border: 0;
3816
+ cursor: pointer;
3817
+ }
3818
+
3819
+ .kg-toggle-heading svg {
3820
+ width: 14px;
3821
+ color: rgba(124, 139, 154, 0.5);
3822
+ transition: all 0.3s;
3823
+ transform: rotate(-180deg);
3824
+ }
3825
+
3826
+ .kg-toggle-heading path {
3827
+ fill: none;
3828
+ stroke: currentcolor;
3829
+ stroke-linecap: round;
3830
+ stroke-linejoin: round;
3831
+ stroke-width: 1.5;
3832
+ fill-rule: evenodd;
3833
+ }
3834
+
3835
+ .kg-toggle-card + .kg-toggle-card {
3836
+ margin-top: 1em;
3837
+ }
3838
+ `, vt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
3839
+ __proto__: null,
3840
+ default: xt
3841
+ }, Symbol.toStringTag, { value: "Module" })), yt = `.kg-video-card,
3842
+ .kg-video-card * {
3843
+ box-sizing: border-box;
3844
+ }
3845
+
3846
+ .kg-video-card {
3847
+ position: relative;
3848
+ --seek-before-width: 0%;
3849
+ --volume-before-width: 100%;
3850
+ --buffered-width: 0%;
3851
+ }
3852
+
3853
+ .kg-video-card video {
3854
+ display: block;
3855
+ max-width: 100%;
3856
+ height: auto;
3857
+ }
3858
+
3859
+ .kg-video-container {
3860
+ position: relative;
3861
+ height: 0;
3862
+ width: 100%;
3863
+ overflow: hidden;
3864
+ }
3865
+
3866
+ .kg-video-container video {
3867
+ position: absolute;
3868
+ top: 0;
3869
+ left: 0;
3870
+ width: 100%;
3871
+ height: 100%;
3872
+ object-fit: cover;
3873
+ }
3874
+
3875
+ .kg-video-overlay {
3876
+ position: absolute;
3877
+ top: 0;
3878
+ right: 0;
3879
+ bottom: 0;
3880
+ left: 0;
3881
+ display: flex;
3882
+ justify-content: center;
3883
+ align-items: center;
3884
+ background-image: linear-gradient(180deg,rgba(0,0,0,0.3) 0,transparent 70%,transparent 100%);
3885
+ z-index: 999;
3886
+ transition: opacity .2s ease-in-out;
3887
+ }
3888
+
3889
+ .kg-video-large-play-icon {
3890
+ display: flex;
3891
+ justify-content: center;
3892
+ align-items: center;
3893
+ width: 72px;
3894
+ height: 72px;
3895
+ padding: 0;
3896
+ background: rgba(0, 0, 0, 0.5);
3897
+ border-radius: 50%;
3898
+ transition: opacity .2s ease-in-out;
3899
+ }
3900
+
3901
+ .kg-video-large-play-icon svg {
3902
+ width: 20px;
3903
+ height: auto;
3904
+ margin-left: 2px;
3905
+ fill: #fff;
3906
+ }
3907
+
3908
+ .kg-video-player-container {
3909
+ position: absolute;
3910
+ bottom: -1px;
3911
+ left: 0;
3912
+ right: 0;
3913
+ width: 100%;
3914
+ height: 80px;
3915
+ background: linear-gradient(rgba(0,0,0,0), rgba(0,0,0,.5));
3916
+ z-index: 999;
3917
+ transition: opacity .2s ease-in-out;
3918
+ }
3919
+
3920
+ .kg-video-player {
3921
+ position: absolute;
3922
+ bottom: 0;
3923
+ display: flex;
3924
+ align-items: center;
3925
+ width: 100%;
3926
+ z-index: 9999;
3927
+ padding: 12px 16px;
3928
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
3929
+ }
3930
+
3931
+ .kg-video-current-time {
3932
+ min-width: 38px;
3933
+ padding: 0 4px;
3934
+ color: #fff;
3935
+ font-family: inherit;
3936
+ font-size: 12.5px;
3937
+ font-weight: 500;
3938
+ line-height: 1.4em;
3939
+ white-space: nowrap;
3940
+ }
3941
+
3942
+ .kg-video-time {
3943
+ color: rgba(255, 255, 255, 0.6);
3944
+ font-family: inherit;
3945
+ font-size: 12.5px;
3946
+ font-weight: 500;
3947
+ line-height: 1.4em;
3948
+ white-space: nowrap;
3949
+ }
3950
+
3951
+ .kg-video-duration {
3952
+ padding: 0 4px;
3953
+ }
3954
+
3955
+ .kg-video-play-icon,
3956
+ .kg-video-pause-icon {
3957
+ position: relative;
3958
+ padding: 0px 4px 0 0;
3959
+ font-size: 0;
3960
+ background: transparent;
3961
+ }
3962
+
3963
+ .kg-video-hide {
3964
+ display: none !important;
3965
+ }
3966
+
3967
+ .kg-video-hide-animated {
3968
+ opacity: 0 !important;
3969
+ transition: opacity .2s ease-in-out;
3970
+ cursor: initial;
3971
+ }
3972
+
3973
+ .kg-video-play-icon svg,
3974
+ .kg-video-pause-icon svg {
3975
+ width: 14px;
3976
+ height: 14px;
3977
+ fill: #fff;
3978
+ }
3979
+
3980
+ .kg-video-seek-slider {
3981
+ flex-grow: 1;
3982
+ margin: 0 4px;
3983
+ }
3984
+
3985
+ @media (max-width: 520px) {
3986
+ .kg-video-seek-slider {
3987
+ display: none;
3988
+ }
3989
+ }
3990
+
3991
+ .kg-video-playback-rate {
3992
+ min-width: 37px;
3993
+ padding: 0 4px;
3994
+ color: #fff;
3995
+ font-family: inherit;
3996
+ font-size: 12.5px;
3997
+ font-weight: 600;
3998
+ line-height: 1.4em;
3999
+ text-align: left;
4000
+ background: transparent;
4001
+ white-space: nowrap;
4002
+ }
4003
+
4004
+ @media (max-width: 520px) {
4005
+ .kg-video-playback-rate {
4006
+ padding-left: 8px;
4007
+ }
4008
+ }
4009
+
4010
+ .kg-video-mute-icon,
4011
+ .kg-video-unmute-icon {
4012
+ position: relative;
4013
+ bottom: -1px;
4014
+ padding: 0 4px;
4015
+ font-size: 0;
4016
+ background: transparent;
4017
+ }
4018
+
4019
+ @media (max-width: 520px) {
4020
+ .kg-video-mute-icon,
4021
+ .kg-video-unmute-icon {
4022
+ margin-left: auto;
4023
+ }
4024
+ }
4025
+
4026
+ .kg-video-mute-icon svg,
4027
+ .kg-video-unmute-icon svg {
4028
+ width: 16px;
4029
+ height: 16px;
4030
+ fill: #fff;
4031
+ }
4032
+
4033
+ .kg-video-volume-slider {
4034
+ width: 80px;
4035
+ }
4036
+
4037
+ @media (max-width: 300px) {
4038
+ .kg-video-volume-slider {
4039
+ display: none;
4040
+ }
4041
+ }
4042
+
4043
+ .kg-video-seek-slider::before {
4044
+ content: "";
4045
+ position: absolute;
4046
+ left: 0;
4047
+ width: var(--seek-before-width) !important;
4048
+ height: 4px;
4049
+ cursor: pointer;
4050
+ background-color: #EBEEF0;
4051
+ border-radius: 2px;
4052
+ }
4053
+
4054
+ .kg-video-volume-slider::before {
4055
+ content: "";
4056
+ position: absolute;
4057
+ left: 0;
4058
+ width: var(--volume-before-width) !important;
4059
+ height: 4px;
4060
+ cursor: pointer;
4061
+ background-color: #EBEEF0;
4062
+ border-radius: 2px;
4063
+ }
4064
+
4065
+ /* Resetting browser styles
4066
+ /* --------------------------------------------------------------- */
4067
+
4068
+ .kg-video-card input[type=range] {
4069
+ position: relative;
4070
+ -webkit-appearance: none;
4071
+ background: transparent;
4072
+ }
4073
+
4074
+ .kg-video-card input[type=range]:focus {
4075
+ outline: none;
4076
+ }
4077
+
4078
+ .kg-video-card input[type=range]::-webkit-slider-thumb {
4079
+ -webkit-appearance: none;
4080
+ }
4081
+
4082
+ .kg-video-card input[type=range]::-ms-track {
4083
+ cursor: pointer;
4084
+ border-color: transparent;
4085
+ color: transparent;
4086
+ background: transparent;
4087
+ }
4088
+
4089
+ .kg-video-card button {
4090
+ display: flex;
4091
+ align-items: center;
4092
+ border: 0;
4093
+ cursor: pointer;
4094
+ }
4095
+
4096
+ .kg-video-card input[type="range"] {
4097
+ height: auto;
4098
+ padding: 0;
4099
+ border: 0;
4100
+ }
4101
+
4102
+ /* Chrome & Safari styles
4103
+ /* --------------------------------------------------------------- */
4104
+
4105
+ .kg-video-card input[type="range"]::-webkit-slider-runnable-track {
4106
+ width: 100%;
4107
+ height: 4px;
4108
+ cursor: pointer;
4109
+ background: rgba(255, 255, 255, 0.2);
4110
+ border-radius: 2px;
4111
+ }
4112
+
4113
+ .kg-video-card input[type="range"]::-webkit-slider-thumb {
4114
+ position: relative;
4115
+ box-sizing: content-box;
4116
+ width: 13px;
4117
+ height: 13px;
4118
+ margin: -5px 0 0 0;
4119
+ border: 0;
4120
+ cursor: pointer;
4121
+ background: #fff;
4122
+ border-radius: 50%;
4123
+ box-shadow: 0 0 0 1px rgba(0,0,0,.08), 0 1px 4px rgba(0,0,0,0.24);
4124
+ }
4125
+
4126
+ .kg-video-card input[type="range"]:active::-webkit-slider-thumb {
4127
+ transform: scale(1.2);
4128
+ }
4129
+
4130
+ /* Firefox styles
4131
+ /* --------------------------------------------------------------- */
4132
+
4133
+ .kg-video-card input[type="range"]::-moz-range-track {
4134
+ width: 100%;
4135
+ height: 4px;
4136
+ cursor: pointer;
4137
+ background: rgba(255, 255, 255, 0.2);
4138
+ border-radius: 2px;
4139
+ }
4140
+
4141
+ .kg-video-card input[type="range"]::-moz-range-progress {
4142
+ background: #EBEEF0;
4143
+ border-radius: 2px;
4144
+ }
4145
+
4146
+ .kg-video-card input[type="range"]::-moz-range-thumb {
4147
+ box-sizing: content-box;
4148
+ width: 13px;
4149
+ height: 13px;
4150
+ border: 0;
4151
+ cursor: pointer;
4152
+ background: #fff;
4153
+ border-radius: 50%;
4154
+ box-shadow: 0 0 0 1px rgba(0,0,0,.08), 0 1px 4px rgba(0,0,0,0.24);
4155
+ }
4156
+
4157
+ .kg-video-card input[type="range"]:active::-moz-range-thumb {
4158
+ transform: scale(1.2);
4159
+ }
4160
+
4161
+ /* Edge & IE styles
4162
+ /* --------------------------------------------------------------- */
4163
+
4164
+ .kg-video-card input[type="range"]::-ms-track {
4165
+ width: 100%;
4166
+ height: 3px;
4167
+ border: solid transparent;
4168
+ color: transparent;
4169
+ cursor: pointer;
4170
+ background: transparent;
4171
+ }
4172
+
4173
+ .kg-video-card input[type="range"]::-ms-fill-lower {
4174
+ background: #fff;
4175
+ }
4176
+
4177
+ .kg-video-card input[type="range"]::-ms-fill-upper {
4178
+ background: #EBEEF0;
4179
+ }
4180
+
4181
+ .kg-video-card input[type="range"]::-ms-thumb {
4182
+ box-sizing: content-box;
4183
+ width: 13px;
4184
+ height: 13px;
4185
+ border: 0;
4186
+ cursor: pointer;
4187
+ background: #fff;
4188
+ border-radius: 50%;
4189
+ box-shadow: 0 0 0 1px rgba(0,0,0,.08), 0 1px 4px rgba(0,0,0,0.24);
4190
+ }
4191
+
4192
+ .kg-video-card input[type="range"]:active::-ms-thumb {
4193
+ transform: scale(1.2);
4194
+ }
4195
+
4196
+ `, wt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4197
+ __proto__: null,
4198
+ default: yt
4199
+ }, Symbol.toStringTag, { value: "Module" })), jt = /* @__PURE__ */ Object.assign({ "../../ghost/core/core/frontend/src/cards/js/audio.js": Ae, "../../ghost/core/core/frontend/src/cards/js/gallery.js": De, "../../ghost/core/core/frontend/src/cards/js/toggle.js": qe, "../../ghost/core/core/frontend/src/cards/js/video.js": Ue }), Ct = /* @__PURE__ */ Object.assign({ "../../ghost/core/core/frontend/src/cards/css/audio.css": Ke, "../../ghost/core/core/frontend/src/cards/css/blockquote.css": Ye, "../../ghost/core/core/frontend/src/cards/css/bookmark.css": Ze, "../../ghost/core/core/frontend/src/cards/css/button.css": Xe, "../../ghost/core/core/frontend/src/cards/css/callout.css": nt, "../../ghost/core/core/frontend/src/cards/css/collection.css": tt, "../../ghost/core/core/frontend/src/cards/css/cta.css": ot, "../../ghost/core/core/frontend/src/cards/css/file.css": it, "../../ghost/core/core/frontend/src/cards/css/gallery.css": ct, "../../ghost/core/core/frontend/src/cards/css/header.css": lt, "../../ghost/core/core/frontend/src/cards/css/header_v2.css": pt, "../../ghost/core/core/frontend/src/cards/css/nft.css": ht, "../../ghost/core/core/frontend/src/cards/css/product.css": kt, "../../ghost/core/core/frontend/src/cards/css/signup.css": bt, "../../ghost/core/core/frontend/src/cards/css/toggle.css": vt, "../../ghost/core/core/frontend/src/cards/css/video.css": wt }), zt = Object.values(jt).map((a) => a.default).join(`
4200
+
4201
+ `), St = Object.values(Ct).map((a) => a.default).join(`
4202
+
4203
+ `), _t = ({
4204
+ postUrl: a,
4205
+ heading: r,
4206
+ image: t,
4207
+ excerpt: i,
4208
+ authors: d,
4209
+ html: u,
4210
+ backgroundColor: c,
4211
+ fontSize: h,
4212
+ fontStyle: v,
4213
+ onHeadingsExtracted: p,
4214
+ onIframeLoad: o,
4215
+ onLoadingChange: s,
4216
+ isPopoverOpen: l
4217
+ }) => {
4218
+ const I = U(null), [R, B] = y(!0), [_, z] = y("0px"), A = document.documentElement.classList.contains("dark") && c === "SYSTEM" || c === "DARK", Z = Oe(), f = `
4219
+ <html class="has-${A ? "light" : "dark"}-text has-${v}-body ${c === "SEPIA" && "has-sepia-bg"}">
4220
+ <head>
4221
+ ${Z}
4222
+ <style>
4223
+ :root {
4224
+ --font-size: ${h};
4225
+ }
4226
+ body {
4227
+ margin: 0;
4228
+ padding: 0;
4229
+ overflow-y: hidden;
4230
+ }
4231
+ .has-sepia-bg {
4232
+ --background-color: #FCF8F1;
4233
+ }
4234
+ </style>
4235
+ <style>
4236
+ ${St}
4237
+ </style>
4238
+
4239
+ <script>
4240
+ function resizeIframe() {
4241
+ const height = document.body.scrollHeight;
4242
+ window.parent.postMessage({
4243
+ type: 'resize',
4244
+ bodyHeight: height,
4245
+ isLoaded: true
4246
+ }, '*');
4247
+ }
4248
+
4249
+ // Initialize resize observers
4250
+ function setupResizeObservers() {
4251
+ // ResizeObserver for overall size changes
4252
+ const resizeObserver = new ResizeObserver(() => {
4253
+ resizeIframe();
4254
+ });
4255
+ resizeObserver.observe(document.body);
4256
+
4257
+ // MutationObserver for DOM changes
4258
+ const mutationObserver = new MutationObserver(() => {
4259
+ resizeIframe();
4260
+ });
4261
+ mutationObserver.observe(document.body, {
4262
+ childList: true,
4263
+ subtree: true,
4264
+ attributes: true
4265
+ });
4266
+
4267
+ // Handle window resize
4268
+ window.addEventListener('resize', resizeIframe);
4269
+
4270
+ // Initial resize
4271
+ resizeIframe();
4272
+
4273
+ // Clean up function
4274
+ return () => {
4275
+ resizeObserver.disconnect();
4276
+ mutationObserver.disconnect();
4277
+ window.removeEventListener('resize', resizeIframe);
4278
+ };
4279
+ }
4280
+
4281
+ // Wait for images to load
4282
+ function waitForImages() {
4283
+ const images = document.getElementsByTagName('img');
4284
+ Promise.all(Array.from(images).map(img => {
4285
+ if (img.complete) return Promise.resolve();
4286
+ return new Promise(resolve => {
4287
+ img.onload = resolve;
4288
+ img.onerror = resolve;
4289
+ });
4290
+ })).then(resizeIframe);
4291
+ }
4292
+
4293
+ // Handle external resize triggers
4294
+ window.addEventListener('message', (event) => {
4295
+ if (event.data.type === 'triggerResize') {
4296
+ resizeIframe();
4297
+ }
4298
+ });
4299
+
4300
+ // Initialize everything once DOM is ready
4301
+ document.addEventListener('DOMContentLoaded', () => {
4302
+ setupResizeObservers();
4303
+ waitForImages();
4304
+ });
4305
+ <\/script>
4306
+
4307
+ <!-- Reframe.js — a plugin that makes iframes and videos responsive -->
4308
+ <script>!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).reframe=t()}(this,function(){"use strict";function t(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;for(var i=Array(e),o=0,t=0;t<n;t++)for(var r=arguments[t],f=0,d=r.length;f<d;f++,o++)i[o]=r[f];return i}return function(e,s){return void 0===s&&(s="js-reframe"),("string"==typeof e?t(document.querySelectorAll(e)):"length"in e?t(e):[e]).forEach(function(e){var t,n,i,o,r,f,d,l;-1!==e.className.split(" ").indexOf(s)||-1<e.style.width.indexOf("%")||(i=e.getAttribute("height")||e.offsetHeight,o=e.getAttribute("width")||e.offsetWidth,r=("string"==typeof i?parseInt(i):i)/("string"==typeof o?parseInt(o):o)*100,(f=document.createElement("div")).className=s,(d=f.style).position="relative",d.width="100%",d.paddingTop=r+"%",(l=e.style).position="absolute",l.width="100%",l.height="100%",l.left="0",l.top="0",null!==(t=e.parentNode)&&void 0!==t&&t.insertBefore(f,e),null!==(n=e.parentNode)&&void 0!==n&&n.removeChild(e),f.appendChild(e))})}});<\/script>
4309
+ </head>
4310
+ <body>
4311
+ <header class='gh-article-header gh-canvas'>
4312
+ <h1 class='gh-article-title is-title' data-test-article-heading>${r}</h1>
4313
+ ${i ? `<p class='gh-article-excerpt'>${i}</p>` : ""}
4314
+ <a href="${a}" target="_blank" rel="noopener noreferrer" class="gh-article-meta">
4315
+ ${d && d.length > 0 ? `
4316
+ <div class="gh-article-author-image">
4317
+ ${d.map((g) => `
4318
+ <span>
4319
+ ${g.profile_image ? `<img src="${g.profile_image}" alt="${g.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>'}
4320
+ </span>
4321
+ `).join("")}
4322
+ </div>
4323
+ ` : ""}
4324
+ <div class="gh-article-meta-wrapper">
4325
+ ${d && d.length > 0 ? `
4326
+ <span class="gh-article-author-name">
4327
+ ${d.length > 1 ? `${d[0].name} and ${d.length - 1} ${d.length - 1 === 1 ? "other" : "others"}` : d[0].name}
4328
+ </span>
4329
+ ` : ""}
4330
+ <span class="gh-article-source">${a ? new URL(a).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>
4331
+ </div>
4332
+ </a>
4333
+ ${t ? `
4334
+ <figure class='gh-article-image'>
4335
+ <img src='${t}' alt='${r}' />
4336
+ </figure>
4337
+ ` : ""}
4338
+ </header>
4339
+ <div class='gh-content gh-canvas is-body'>
4340
+ ${le(u)}
4341
+ </div>
4342
+ <script>
4343
+ (function () {
4344
+ const sources = [
4345
+ '.gh-content iframe[src*="youtube.com"]',
4346
+ '.gh-content iframe[src*="youtube-nocookie.com"]',
4347
+ '.gh-content iframe[src*="player.vimeo.com"]',
4348
+ '.gh-content iframe[src*="kickstarter.com"][src*="video.html"]',
4349
+ '.gh-content object',
4350
+ '.gh-content embed',
4351
+ ];
4352
+ reframe(document.querySelectorAll(sources.join(',')));
4353
+ })();
4354
+ <\/script>
4355
+ <script>
4356
+ ${zt}
4357
+ <\/script>
4358
+ </body>
4359
+ </html>
4360
+ `;
4361
+ return L(() => {
4362
+ const g = I.current;
4363
+ if (!g)
4364
+ return;
4365
+ g.srcdoc || (g.srcdoc = f);
4366
+ const T = (b) => {
4367
+ if (b.data.type === "resize") {
4368
+ const S = `${b.data.bodyHeight + 24}px`;
4369
+ z(S), g.style.height = S, b.data.isLoaded && B(!1);
4370
+ }
4371
+ }, j = (b) => {
4372
+ if (b.key === "Escape") {
4373
+ b.preventDefault(), b.stopPropagation();
4374
+ const S = new KeyboardEvent("keydown", {
4375
+ key: "Escape",
4376
+ code: "Escape",
4377
+ keyCode: 27,
4378
+ which: 27,
4379
+ bubbles: !0,
4380
+ cancelable: !0
4381
+ });
4382
+ document.dispatchEvent(S);
4383
+ }
4384
+ }, E = () => {
4385
+ const b = g.contentWindow;
4386
+ b && b.addEventListener("keydown", j);
4387
+ };
4388
+ return g.addEventListener("load", E), window.addEventListener("message", T), () => {
4389
+ window.removeEventListener("message", T), g.removeEventListener("load", E);
4390
+ const b = g.contentWindow;
4391
+ b && b.removeEventListener("keydown", j);
4392
+ };
4393
+ }, [f]), L(() => {
4394
+ var b;
4395
+ const g = I.current;
4396
+ if (!g)
4397
+ return;
4398
+ const T = g.contentDocument || ((b = g.contentWindow) == null ? void 0 : b.document);
4399
+ if (!T)
4400
+ return;
4401
+ const j = T.documentElement;
4402
+ j.style.setProperty("--font-size", h), j.classList.remove("has-sans-body", "has-serif-body"), j.classList.add(`has-${v}-body`), j.classList.remove("has-dark-text", "has-light-text"), j.classList.add(`has-${A ? "light" : "dark"}-text`), c === "SEPIA" ? j.classList.add("has-sepia-bg") : j.classList.remove("has-sepia-bg");
4403
+ const E = g.contentWindow;
4404
+ if (E && typeof E.resizeIframe == "function")
4405
+ E.resizeIframe();
4406
+ else {
4407
+ const S = new Event("resize");
4408
+ T.dispatchEvent(S);
4409
+ }
4410
+ }, [h, v, c, A]), L(() => {
4411
+ const g = I.current;
4412
+ if (!g)
4413
+ return;
4414
+ const T = () => {
4415
+ if (!g.contentDocument)
4416
+ return;
4417
+ const j = Array.from(
4418
+ g.contentDocument.querySelectorAll(".gh-content > :is(h2, h3, h4, h5, h6)[id]")
4419
+ );
4420
+ if (j.length === 0)
4421
+ return;
4422
+ const E = Math.min(
4423
+ ...j.map((S) => parseInt(S.tagName[1]))
4424
+ ), b = j.map((S, nn) => {
4425
+ const O = `heading-${nn}`;
4426
+ S.id = O;
4427
+ const en = parseInt(S.tagName[1]) - E + 1;
4428
+ return {
4429
+ id: O,
4430
+ text: S.textContent || "",
4431
+ level: en,
4432
+ element: S
4433
+ };
4434
+ });
4435
+ p == null || p(b), o == null || o(g);
4436
+ };
4437
+ return g.addEventListener("load", T), () => g.removeEventListener("load", T);
4438
+ }, [p, o]), L(() => {
4439
+ s == null || s(R);
4440
+ }, [R, s]), /* @__PURE__ */ n.jsx("div", { className: "w-full pb-6", children: /* @__PURE__ */ n.jsxs("div", { className: "relative -mx-6", children: [
4441
+ R && /* @__PURE__ */ n.jsxs("div", { className: "mx-auto mt-6 w-full max-w-[640px] max-lg:px-4", children: [
4442
+ /* @__PURE__ */ n.jsxs("div", { className: "mb-6 flex flex-col gap-2", children: [
4443
+ /* @__PURE__ */ n.jsx(N, { className: "h-8" }),
4444
+ /* @__PURE__ */ n.jsx(N, { className: "h-8 w-full max-w-md" })
4445
+ ] }),
4446
+ /* @__PURE__ */ n.jsx(N, { className: "mt-2 h-4", count: 4, randomize: !0 }),
4447
+ /* @__PURE__ */ n.jsx(N, { className: "mt-8 h-[400px]" }),
4448
+ /* @__PURE__ */ n.jsx(N, { className: "mt-2 h-4", containerClassName: "block mt-7 mb-4", count: 8, randomize: !0 })
4449
+ ] }),
4450
+ /* @__PURE__ */ n.jsx(
4451
+ "iframe",
4452
+ {
4453
+ ref: I,
4454
+ id: "gh-ap-article-iframe",
4455
+ style: {
4456
+ width: "100%",
4457
+ border: "none",
4458
+ height: _,
4459
+ overflow: "hidden",
4460
+ opacity: R ? 0 : 1,
4461
+ transition: "opacity 0.2s ease-in-out",
4462
+ pointerEvents: l ? "none" : "auto"
4463
+ },
4464
+ title: "Embedded Content"
4465
+ }
4466
+ )
4467
+ ] }) });
4468
+ }, Nn = () => /* @__PURE__ */ n.jsx("div", { className: "h-px bg-black/[8%] dark:bg-gray-950" }), G = /* @__PURE__ */ new Map(), Et = ({
4469
+ postId: a = null,
4470
+ onClose: r
4471
+ }) => {
4472
+ var xn, vn, yn;
4473
+ const {
4474
+ backgroundColor: t,
4475
+ currentFontSizeIndex: i,
4476
+ fontStyle: d,
4477
+ fontSize: u,
4478
+ handleColorChange: c,
4479
+ setFontStyle: h,
4480
+ increaseFontSize: v,
4481
+ decreaseFontSize: p,
4482
+ resetFontSize: o
4483
+ } = Ie(), s = U(null), [l, I] = y(!1), [R, B] = y(!1), [_, z] = y(/* @__PURE__ */ new Set()), [A, Z] = y(/* @__PURE__ */ new Set()), [f, g] = y(/* @__PURE__ */ new Set()), [T, j] = y(!1), E = U(null), b = U(null), {
4484
+ post: S,
4485
+ processedReplies: nn,
4486
+ isLoading: O,
4487
+ loadMoreChildren: ln,
4488
+ loadMoreChildReplies: en,
4489
+ hasMoreChildren: tn,
4490
+ hasMoreChildReplies: an
4491
+ } = je(a ?? "", { includeAncestors: !1 }), q = S, m = q == null ? void 0 : q.object, H = q == null ? void 0 : q.actor, On = (vn = (xn = q == null ? void 0 : q.object) == null ? void 0 : xn.metadata) == null ? void 0 : vn.ghostAuthors, Mn = (m == null ? void 0 : m.replyCount) ?? 0;
4492
+ L(() => {
4493
+ if (!tn)
4494
+ return;
4495
+ E.current && E.current.disconnect();
4496
+ const e = s.current;
4497
+ if (e)
4498
+ return E.current = new IntersectionObserver(async (w) => {
4499
+ if (w[0].isIntersecting && tn && !T) {
4500
+ j(!0);
4501
+ try {
4502
+ await ln();
4503
+ } catch (k) {
4504
+ console.error("Failed to load more top-level replies:", k);
4505
+ } finally {
4506
+ j(!1);
4507
+ }
4508
+ }
4509
+ }, {
4510
+ root: e,
4511
+ rootMargin: "200px"
4512
+ }), b.current && E.current.observe(b.current), () => {
4513
+ E.current && E.current.disconnect();
4514
+ };
4515
+ }, [tn, T, ln]);
4516
+ function gn() {
4517
+ }
4518
+ function An(e) {
4519
+ z((w) => {
4520
+ const k = new Set(w);
4521
+ return k.has(e) ? k.delete(e) : (k.add(e), Z((C) => {
4522
+ const M = new Set(C);
4523
+ return M.add(e), M;
4524
+ })), k;
4525
+ });
4526
+ }
4527
+ async function $n(e, w) {
4528
+ if (!f.has(e)) {
4529
+ g((k) => new Set(k).add(e));
4530
+ try {
4531
+ en && await en(w);
4532
+ } catch (k) {
4533
+ console.error("Failed to load more replies for chain:", k);
4534
+ } finally {
4535
+ g((k) => {
4536
+ const C = new Set(k);
4537
+ return C.delete(e), C;
4538
+ });
4539
+ }
4540
+ }
4541
+ }
4542
+ const Dn = () => {
4543
+ }, Bn = U(null), qn = "904px", W = "640px", [fn, Hn] = y(0), [J, Un] = y(!0), [pn] = te(Hn, 100), bn = 1;
4544
+ L(() => {
4545
+ const e = s.current, w = document.getElementById("object-content"), k = () => {
4546
+ if (J || !e || !w)
4547
+ return;
4548
+ const M = w.getBoundingClientRect(), V = e.getBoundingClientRect();
4549
+ if (M.height <= V.height) {
4550
+ pn(100);
4551
+ return;
4552
+ }
4553
+ const D = Math.max(0, V.top - M.top), x = w.offsetHeight - e.offsetHeight, P = Math.min(Math.max(D / x * 100, 0), 100), dn = Math.round(P / bn) * bn;
4554
+ pn(dn);
4555
+ };
4556
+ if (J)
4557
+ return;
4558
+ const C = new MutationObserver(k);
4559
+ return w && C.observe(w, {
4560
+ childList: !0,
4561
+ subtree: !0,
4562
+ characterData: !0
4563
+ }), e == null || e.addEventListener("scroll", k), k(), () => {
4564
+ e == null || e.removeEventListener("scroll", k), C.disconnect();
4565
+ };
4566
+ }, [J, pn]);
4567
+ const [on, Wn] = y([]), [Kn, Vn] = y(null), [K, Yn] = y(null), Qn = jn((e) => {
4568
+ Wn(e);
4569
+ }, []), Zn = jn((e) => {
4570
+ Yn(e);
4571
+ }, []);
4572
+ L(() => {
4573
+ if (!(K != null && K.contentDocument) || !on.length)
4574
+ return;
4575
+ const w = setTimeout(() => {
4576
+ const k = s.current;
4577
+ if (!k)
4578
+ return;
4579
+ const C = () => {
4580
+ const M = K.contentDocument;
4581
+ if (!M || !M.documentElement)
4582
+ return;
4583
+ const V = k.scrollTop, X = on.map((P) => M.getElementById(P.id)).filter((P) => P !== null).map((P) => ({
4584
+ element: P,
4585
+ id: P.id,
4586
+ top: P.offsetTop
4587
+ }));
4588
+ if (!X.length)
4589
+ return;
4590
+ const D = 100;
4591
+ let x = null;
4592
+ for (const P of X)
4593
+ if (P.top - D <= V)
4594
+ x = P;
4595
+ else
4596
+ break;
4597
+ Vn((x == null ? void 0 : x.id) || null);
4598
+ };
4599
+ return k.addEventListener("scroll", C), C(), () => {
4600
+ k.removeEventListener("scroll", C);
4601
+ };
4602
+ }, 100);
4603
+ return () => clearTimeout(w);
4604
+ }, [K, on, Kn]);
4605
+ const rn = Rn();
4606
+ return L(() => {
4607
+ const e = s.current;
4608
+ return () => {
4609
+ e && a && G.set(a, e.scrollTop);
4610
+ };
4611
+ }, [a]), L(() => {
4612
+ if (!J && !O && a && s.current) {
4613
+ const e = G.get(a);
4614
+ e !== void 0 && e > 0 && setTimeout(() => {
4615
+ s.current && (s.current.scrollTop = e);
4616
+ }, 100);
4617
+ }
4618
+ }, [J, O, a]), O ? /* @__PURE__ */ n.jsx("div", { className: `max-h-full overflow-auto rounded-md ${t === "DARK" && "dark"} ${(t === "LIGHT" || t === "SEPIA") && "light"} ${F[t].background}`, children: /* @__PURE__ */ n.jsx("div", { className: "flex h-full flex-col", children: /* @__PURE__ */ n.jsxs("div", { className: "relative flex-1", children: [
4619
+ /* @__PURE__ */ n.jsx("div", { className: `sticky top-0 z-50 flex h-[102px] items-center justify-center rounded-t-md border-b max-md:h-[68px] ${F[t].background} ${F[t].border}`, children: /* @__PURE__ */ n.jsxs(
4620
+ "div",
4621
+ {
4622
+ className: "grid w-full px-8 max-lg:px-4",
4623
+ style: {
4624
+ gridTemplateColumns: `1fr minmax(0,${W}) 1fr`
4625
+ },
4626
+ children: [
4627
+ /* @__PURE__ */ n.jsx("div", { className: "flex items-center", children: /* @__PURE__ */ n.jsx(un, { className: F[t].button, onClick: r }) }),
4628
+ /* @__PURE__ */ n.jsxs("div", { className: "col-[2/3] mx-auto flex w-full items-center gap-3 max-md:hidden", children: [
4629
+ /* @__PURE__ */ n.jsx(N, { className: "size-10 rounded-full" }),
4630
+ /* @__PURE__ */ n.jsxs("div", { className: "grow pt-1", children: [
4631
+ /* @__PURE__ */ n.jsx(N, { className: "w-full" }),
4632
+ /* @__PURE__ */ n.jsx(N, { className: "w-2/3" })
4633
+ ] })
4634
+ ] }),
4635
+ /* @__PURE__ */ n.jsx("div", { className: "col-[3/4] flex items-center justify-end gap-2", children: /* @__PURE__ */ n.jsx(
4636
+ En,
4637
+ {
4638
+ backgroundColor: t,
4639
+ currentFontSizeIndex: i,
4640
+ fontStyle: d,
4641
+ onColorChange: c,
4642
+ onDecreaseFontSize: p,
4643
+ onFontStyleChange: h,
4644
+ onIncreaseFontSize: v,
4645
+ onOpenChange: I,
4646
+ onResetFontSize: o
4647
+ }
4648
+ ) })
4649
+ ]
4650
+ }
4651
+ ) }),
4652
+ /* @__PURE__ */ n.jsx("div", { className: "relative flex-1 max-lg:px-4", children: /* @__PURE__ */ n.jsxs("div", { className: "mx-auto mt-11 w-full max-w-[640px]", children: [
4653
+ /* @__PURE__ */ n.jsxs("div", { className: "mb-6 flex flex-col gap-2", children: [
4654
+ /* @__PURE__ */ n.jsx(N, { className: "h-8" }),
4655
+ /* @__PURE__ */ n.jsx(N, { className: "h-8 w-full max-w-md" })
4656
+ ] }),
4657
+ /* @__PURE__ */ n.jsx(N, { className: "mt-2 h-4", count: 4, randomize: !0 }),
4658
+ /* @__PURE__ */ n.jsx(N, { className: "mt-8 h-[400px]" }),
4659
+ /* @__PURE__ */ n.jsx(N, { className: "mt-2 h-4", containerClassName: "block mt-7 mb-4", count: 8, randomize: !0 })
4660
+ ] }) })
4661
+ ] }) }) }) : S ? /* @__PURE__ */ n.jsx("div", { ref: s, className: `max-h-full overflow-auto rounded-md ${t === "DARK" && "dark"} ${(t === "LIGHT" || t === "SEPIA") && "light"} ${F[t].background}`, "data-scrollable-container": !0, children: /* @__PURE__ */ n.jsx(n.Fragment, { children: /* @__PURE__ */ n.jsxs("div", { className: "flex h-full flex-col", children: [
4662
+ /* @__PURE__ */ n.jsxs("div", { className: "relative flex-1", children: [
4663
+ /* @__PURE__ */ n.jsx("div", { className: `sticky top-0 z-50 flex h-[102px] items-center justify-center rounded-t-md border-b max-md:h-[68px] ${F[t].background} ${F[t].border}`, children: /* @__PURE__ */ n.jsxs(
4664
+ "div",
4665
+ {
4666
+ className: "grid w-full px-8 max-lg:px-4",
4667
+ style: {
4668
+ gridTemplateColumns: `1fr minmax(0,${W}) 1fr`
4669
+ },
4670
+ children: [
4671
+ /* @__PURE__ */ n.jsx("div", { className: "flex items-center", children: /* @__PURE__ */ n.jsx(un, { className: F[t].button, onClick: r }) }),
4672
+ /* @__PURE__ */ n.jsxs("div", { className: "col-[2/3] mx-auto flex w-full items-center justify-between gap-3 max-md:hidden", children: [
4673
+ /* @__PURE__ */ n.jsx(ae, { actor: H, isCurrentUser: m.authored, children: /* @__PURE__ */ n.jsxs("div", { className: "flex cursor-pointer items-center gap-3", children: [
4674
+ /* @__PURE__ */ n.jsx("div", { className: "relative z-10 pt-0.5", children: /* @__PURE__ */ n.jsx(oe, { author: H }) }),
4675
+ /* @__PURE__ */ n.jsxs("div", { className: "relative z-10 mt-0.5 flex min-w-0 cursor-pointer flex-col overflow-visible text-[1.5rem]", onClick: (e) => re(H, rn, e), children: [
4676
+ /* @__PURE__ */ n.jsx("div", { className: "flex w-full", children: /* @__PURE__ */ n.jsx("span", { className: "min-w-0 truncate whitespace-nowrap font-semibold text-black hover:underline dark:text-white", children: O ? /* @__PURE__ */ n.jsx(N, { className: "w-20" }) : H.name }) }),
4677
+ /* @__PURE__ */ n.jsxs("div", { className: "flex w-full", children: [
4678
+ !O && /* @__PURE__ */ n.jsx("span", { className: 'truncate text-gray-700 after:mx-1 after:font-normal after:text-gray-700 after:content-["·"]', children: Cn(H) }),
4679
+ /* @__PURE__ */ n.jsx("span", { className: "text-gray-700", children: O ? /* @__PURE__ */ n.jsx(N, { className: "w-[120px]" }) : ie(m, !m.authored) })
4680
+ ] })
4681
+ ] })
4682
+ ] }) }),
4683
+ !m.authored && !O && /* @__PURE__ */ n.jsx(
4684
+ de,
4685
+ {
4686
+ following: H.followedByMe ?? !1,
4687
+ handle: Cn(H)
4688
+ }
4689
+ )
4690
+ ] }),
4691
+ /* @__PURE__ */ n.jsx("div", { className: "col-[3/4] flex items-center justify-end gap-2", children: /* @__PURE__ */ n.jsx(
4692
+ En,
4693
+ {
4694
+ backgroundColor: t,
4695
+ currentFontSizeIndex: i,
4696
+ fontStyle: d,
4697
+ onColorChange: c,
4698
+ onDecreaseFontSize: p,
4699
+ onFontStyleChange: h,
4700
+ onIncreaseFontSize: v,
4701
+ onOpenChange: I,
4702
+ onResetFontSize: o
4703
+ }
4704
+ ) })
4705
+ ]
4706
+ }
4707
+ ) }),
4708
+ /* @__PURE__ */ n.jsxs("div", { className: "relative flex-1", children: [
4709
+ /* @__PURE__ */ n.jsx(
4710
+ Fe,
4711
+ {
4712
+ iframeElement: K,
4713
+ modalRef: s,
4714
+ tocItems: on,
4715
+ onOpenChange: B
4716
+ }
4717
+ ),
4718
+ !O && /* @__PURE__ */ n.jsx("div", { className: "grow overflow-y-auto", children: /* @__PURE__ */ n.jsxs("div", { className: "mx-auto px-6 pb-10 pt-5", style: { maxWidth: qn }, children: [
4719
+ /* @__PURE__ */ n.jsxs("div", { className: "flex flex-col items-center pb-8", id: "object-content", children: [
4720
+ /* @__PURE__ */ n.jsx(
4721
+ _t,
4722
+ {
4723
+ authors: On,
4724
+ backgroundColor: t,
4725
+ excerpt: m.summary ?? "",
4726
+ fontSize: u,
4727
+ fontStyle: d,
4728
+ heading: m.name,
4729
+ html: m.content ?? "",
4730
+ image: typeof m.image == "string" ? m.image : (yn = m.image) == null ? void 0 : yn.url,
4731
+ isPopoverOpen: l || R,
4732
+ postUrl: (m == null ? void 0 : m.url) || "",
4733
+ onHeadingsExtracted: Qn,
4734
+ onIframeLoad: Zn,
4735
+ onLoadingChange: Un
4736
+ }
4737
+ ),
4738
+ /* @__PURE__ */ n.jsx("div", { className: "-ml-3 w-full", style: { maxWidth: W }, children: /* @__PURE__ */ n.jsx(
4739
+ ce,
4740
+ {
4741
+ actor: H,
4742
+ commentCount: Mn,
4743
+ layout: "modal",
4744
+ likeCount: m.likeCount ?? 0,
4745
+ object: m,
4746
+ repostCount: m.repostCount ?? 0,
4747
+ onLikeClick: Dn
4748
+ }
4749
+ ) })
4750
+ ] }),
4751
+ m.type === "Tombstone" && /* @__PURE__ */ n.jsx(Ce, { last: !0 }),
4752
+ /* @__PURE__ */ n.jsxs("div", { className: "mx-auto w-full border-t border-black/[8%] dark:border-gray-950", style: { maxWidth: W }, children: [
4753
+ /* @__PURE__ */ n.jsx(
4754
+ ze,
4755
+ {
4756
+ object: m
4757
+ }
4758
+ ),
4759
+ /* @__PURE__ */ n.jsx(Nn, {})
4760
+ ] }),
4761
+ O && /* @__PURE__ */ n.jsx(hn, { size: "lg" }),
4762
+ /* @__PURE__ */ n.jsxs("div", { ref: Bn, className: "mx-auto w-full", style: { maxWidth: W }, children: [
4763
+ nn.map((e, w) => {
4764
+ const k = w === nn.length - 1, C = e.mainReply.id, M = _.has(C), V = A.has(C), X = f.has(C), D = e.chain.length > 0;
4765
+ return /* @__PURE__ */ n.jsxs(Q.Fragment, { children: [
4766
+ /* @__PURE__ */ n.jsx(
4767
+ cn,
4768
+ {
4769
+ actor: e.mainReply.actor,
4770
+ allowDelete: e.mainReply.object.authored,
4771
+ commentCount: e.mainReply.object.replyCount ?? 0,
4772
+ isChainParent: D,
4773
+ isPending: sn(e.mainReply.id),
4774
+ last: !D,
4775
+ layout: "reply",
4776
+ likeCount: e.mainReply.object.likeCount ?? 0,
4777
+ object: e.mainReply.object,
4778
+ parentId: m.id,
4779
+ repostCount: e.mainReply.object.repostCount ?? 0,
4780
+ type: "Note",
4781
+ onClick: () => {
4782
+ const x = s.current;
4783
+ x && a && G.set(a, x.scrollTop), rn(`/notes/${encodeURIComponent(e.mainReply.id)}`);
4784
+ },
4785
+ onDelete: gn
4786
+ }
4787
+ ),
4788
+ D && e.chain[0] && /* @__PURE__ */ n.jsx(
4789
+ cn,
4790
+ {
4791
+ actor: e.chain[0].actor,
4792
+ allowDelete: e.chain[0].object.authored,
4793
+ commentCount: e.chain[0].object.replyCount ?? 0,
4794
+ isChainContinuation: !0,
4795
+ isPending: sn(e.chain[0].id),
4796
+ last: e.chain.length === 1,
4797
+ layout: "reply",
4798
+ likeCount: e.chain[0].object.likeCount ?? 0,
4799
+ object: e.chain[0].object,
4800
+ parentId: m.id,
4801
+ repostCount: e.chain[0].object.repostCount ?? 0,
4802
+ type: "Note",
4803
+ onClick: () => {
4804
+ const x = s.current;
4805
+ x && a && G.set(a, x.scrollTop), rn(`/notes/${encodeURIComponent(e.chain[0].id)}`);
4806
+ },
4807
+ onDelete: gn
4808
+ },
4809
+ e.chain[0].id
4810
+ ),
4811
+ D && M && e.chain.slice(1).map((x, P) => {
4812
+ const dn = P === e.chain.slice(1).length - 1, Jn = an && an(w), Xn = dn && Jn;
4813
+ return /* @__PURE__ */ n.jsx(
4814
+ cn,
4815
+ {
4816
+ actor: x.actor,
4817
+ allowDelete: x.object.authored,
4818
+ commentCount: x.object.replyCount ?? 0,
4819
+ isChainContinuation: !0,
4820
+ isPending: sn(x.id),
4821
+ last: dn && !Xn,
4822
+ layout: "reply",
4823
+ likeCount: x.object.likeCount ?? 0,
4824
+ object: x.object,
4825
+ parentId: m.id,
4826
+ repostCount: x.object.repostCount ?? 0,
4827
+ type: "Note",
4828
+ onClick: () => {
4829
+ const wn = s.current;
4830
+ wn && a && G.set(a, wn.scrollTop), rn(`/notes/${encodeURIComponent(x.id)}`);
4831
+ },
4832
+ onDelete: gn
4833
+ },
4834
+ x.id
4835
+ );
4836
+ }),
4837
+ D && e.chain.length > 1 && !M && /* @__PURE__ */ n.jsx(
4838
+ Sn,
4839
+ {
4840
+ variant: "expand",
4841
+ onClick: () => An(C)
4842
+ }
4843
+ ),
4844
+ D && M && V && an && an(w) && /* @__PURE__ */ n.jsx(
4845
+ Sn,
4846
+ {
4847
+ loading: X,
4848
+ variant: "loadMore",
4849
+ onClick: () => $n(C, w)
4850
+ }
4851
+ ),
4852
+ !k && /* @__PURE__ */ n.jsx(Nn, {})
4853
+ ] }, e.mainReply.id);
4854
+ }),
4855
+ T && /* @__PURE__ */ n.jsx("div", { className: "flex flex-col items-center justify-center text-center", children: /* @__PURE__ */ n.jsx(hn, { size: "md" }) })
4856
+ ] }),
4857
+ tn && /* @__PURE__ */ n.jsx("div", { ref: b, className: "h-1" })
4858
+ ] }) })
4859
+ ] })
4860
+ ] }),
4861
+ !O && /* @__PURE__ */ n.jsxs("div", { className: "pointer-events-none !visible sticky bottom-0 hidden items-end justify-between px-10 pb-[42px] lg:!flex", children: [
4862
+ /* @__PURE__ */ n.jsx("div", { className: "pointer-events-auto text-gray-600", children: se(m.content ?? "") }),
4863
+ /* @__PURE__ */ n.jsxs("div", { className: "pointer-events-auto min-w-10 text-right text-gray-600 transition-all duration-200 ease-out", children: [
4864
+ fn,
4865
+ "%"
4866
+ ] }, fn)
4867
+ ] })
4868
+ ] }) }) }) : /* @__PURE__ */ n.jsx("div", { className: `max-h-full overflow-auto rounded-md ${t === "DARK" && "dark"} ${(t === "LIGHT" || t === "SEPIA") && "light"} ${F[t].background}`, children: /* @__PURE__ */ n.jsx("div", { className: "flex h-full flex-col", children: /* @__PURE__ */ n.jsx("div", { className: "relative flex-1", children: /* @__PURE__ */ n.jsx("div", { className: `sticky top-0 z-50 flex h-[102px] items-center justify-center rounded-t-md border-b max-md:h-[68px] ${F[t].background} ${F[t].border}`, children: /* @__PURE__ */ n.jsxs(
4869
+ "div",
4870
+ {
4871
+ className: "grid w-full px-8 max-lg:px-4",
4872
+ style: {
4873
+ gridTemplateColumns: `1fr minmax(0,${W}) 1fr`
4874
+ },
4875
+ children: [
4876
+ /* @__PURE__ */ n.jsx("div", { className: "flex items-center", children: /* @__PURE__ */ n.jsx(un, { className: F[t].button, onClick: r }) }),
4877
+ /* @__PURE__ */ n.jsx("div", { className: "col-[2/3] mx-auto flex w-full items-center gap-3 max-md:hidden", children: /* @__PURE__ */ n.jsx("div", { className: "grow text-center", children: /* @__PURE__ */ n.jsx("span", { children: "Error loading article." }) }) })
4878
+ ]
4879
+ }
4880
+ ) }) }) }) });
4881
+ }, Nt = ({
4882
+ isLoading: a,
4883
+ activities: r,
4884
+ currentTopic: t,
4885
+ fetchNextPage: i,
4886
+ hasNextPage: d,
4887
+ isFetchingNextPage: u,
4888
+ onTopicChange: c
4889
+ }) => {
4890
+ const h = Rn(), { canGoBack: v, goBack: p } = ge(), [o, s] = y(!1), l = pe(), { topicsQuery: I } = ue(), { data: R } = I, B = R && R.topics.length > 0;
4891
+ L(() => {
4892
+ s(!!l.postId);
4893
+ }, [l.postId]);
4894
+ const _ = U(null), z = U(null), A = U(null);
4895
+ L(() => (_.current && _.current.disconnect(), _.current = new IntersectionObserver((f) => {
4896
+ f[0].isIntersecting && d && !u && i();
4897
+ }), z.current && _.current.observe(z.current), A.current && _.current.observe(A.current), () => {
4898
+ _.current && _.current.disconnect();
4899
+ }), [d, u, i]);
4900
+ const Z = Math.max(0, Math.floor(r.length * 0.75) - 1);
4901
+ return /* @__PURE__ */ n.jsxs(he, { children: [
4902
+ B && /* @__PURE__ */ n.jsx(Se, { currentTopic: t, excludeTopics: ["top"], onTopicChange: c }),
4903
+ /* @__PURE__ */ n.jsx("div", { className: "flex w-full flex-col", children: /* @__PURE__ */ n.jsx("div", { className: "w-full", children: r.length > 0 ? /* @__PURE__ */ n.jsx("div", { className: "my-4", children: /* @__PURE__ */ n.jsx("div", { className: "mx-auto flex min-h-[calc(100dvh_-_117px)] items-start gap-11", children: /* @__PURE__ */ n.jsx("div", { className: "flex w-full min-w-0 flex-col items-center", children: /* @__PURE__ */ n.jsxs("div", { className: "flex w-full min-w-0 flex-col items-start", children: [
4904
+ /* @__PURE__ */ n.jsxs("ul", { className: "mx-auto flex w-full flex-col", "data-testid": "inbox-list", children: [
4905
+ r.map((f, g) => /* @__PURE__ */ n.jsxs(
4906
+ "li",
4907
+ {
4908
+ "data-testid": "inbox-item",
4909
+ "data-test-view-article": !0,
4910
+ children: [
4911
+ /* @__PURE__ */ n.jsx(
4912
+ cn,
4913
+ {
4914
+ actor: f.actor,
4915
+ allowDelete: f.object.authored,
4916
+ commentCount: f.object.replyCount ?? 0,
4917
+ isLoading: a,
4918
+ isPending: sn(f.id),
4919
+ layout: "inbox",
4920
+ likeCount: f.object.likeCount ?? 0,
4921
+ object: f.object,
4922
+ repostCount: f.object.repostCount ?? 0,
4923
+ type: f.type,
4924
+ onClick: () => {
4925
+ h(`/reader/${encodeURIComponent(f.id)}`);
4926
+ }
4927
+ }
4928
+ ),
4929
+ g < r.length - 1 && /* @__PURE__ */ n.jsx(_e, {}),
4930
+ g === Z && /* @__PURE__ */ n.jsx("div", { ref: z, className: "h-1" })
4931
+ ]
4932
+ },
4933
+ `${f.id}-${f.type}-${g}`
4934
+ )),
4935
+ u && /* @__PURE__ */ n.jsx("li", { className: "flex flex-col items-center justify-center space-y-4 text-center", children: /* @__PURE__ */ n.jsx(hn, { size: "md" }) })
4936
+ ] }),
4937
+ /* @__PURE__ */ n.jsx("div", { ref: A, className: "h-1" })
4938
+ ] }) }) }) }) : t !== "following" ? /* @__PURE__ */ n.jsx("div", { className: "mt-[24vh]", children: /* @__PURE__ */ n.jsx(
4939
+ mn,
4940
+ {
4941
+ description: "Explore other topics for more content.",
4942
+ title: "Nothing here yet",
4943
+ children: /* @__PURE__ */ n.jsx(_n, {})
4944
+ }
4945
+ ) }) : /* @__PURE__ */ n.jsx("div", { className: "mt-[24vh]", children: /* @__PURE__ */ n.jsx(
4946
+ mn,
4947
+ {
4948
+ actions: B ? /* @__PURE__ */ n.jsx($, { onClick: () => h("/explore"), children: "Find accounts to follow →" }) : /* @__PURE__ */ n.jsx($, { asChild: !0, children: /* @__PURE__ */ n.jsx("a", { href: "https://explore.ghost.org/social-web", rel: "noopener noreferrer", target: "_blank", children: "Find accounts to follow →" }) }),
4949
+ description: "Start following publishers to see their long-form posts here.",
4950
+ title: "Your Reader is empty",
4951
+ children: /* @__PURE__ */ n.jsx(_n, {})
4952
+ }
4953
+ ) }) }) }),
4954
+ /* @__PURE__ */ n.jsx(
4955
+ me,
4956
+ {
4957
+ open: o,
4958
+ onOpenChange: (f) => {
4959
+ f || (v ? p() : h("/reader")), s(f);
4960
+ },
4961
+ children: /* @__PURE__ */ n.jsxs(ke, { className: "inset-y-3 h-[calc(100vh-24px)] w-screen max-w-[calc(100vw-24px)] !animate-none p-0 focus:outline-none dark:bg-gray-950", children: [
4962
+ /* @__PURE__ */ n.jsxs(fe, { className: "hidden", children: [
4963
+ /* @__PURE__ */ n.jsx(be, { children: "Reader" }),
4964
+ /* @__PURE__ */ n.jsx(xe, { children: "Ghost reader for long form articles" })
4965
+ ] }),
4966
+ l.postId && /* @__PURE__ */ n.jsx(Et, { postId: l.postId, onClose: () => {
4967
+ v ? p() : h("/reader");
4968
+ } })
4969
+ ] })
4970
+ }
4971
+ )
4972
+ ] });
4973
+ }, Tt = () => {
4974
+ const [a, r] = y("following"), { inboxQuery: t } = ve({ enabled: a === "following" }), { discoveryFeedQuery: i } = ye({ enabled: a !== "following", topic: a }), d = a === "following" ? t : i, { data: u, error: c, fetchNextPage: h, hasNextPage: v, isFetchingNextPage: p, isLoading: o } = d, s = c && zn(c) && c.statusCode === 404 && a !== "following";
4975
+ if (c && zn(c) && !s)
4976
+ return /* @__PURE__ */ n.jsx(we, { errorCode: c.code, statusCode: c.statusCode });
4977
+ const l = s ? [] : (u == null ? void 0 : u.pages.flatMap((I) => I.posts)) ?? Array.from({ length: 5 }, (I, R) => ({ id: `placeholder-${R}`, object: {} }));
4978
+ return /* @__PURE__ */ n.jsx(
4979
+ Nt,
4980
+ {
4981
+ activities: l,
4982
+ currentTopic: a,
4983
+ fetchNextPage: h,
4984
+ hasNextPage: v,
4985
+ isFetchingNextPage: p,
4986
+ isLoading: o,
4987
+ onTopicChange: r
4988
+ }
4989
+ );
4990
+ };
4991
+ export {
4992
+ Tt as default
4993
+ };
4994
+ //# sourceMappingURL=index-BftxScf5.mjs.map