jsonresume-theme-cjean 1.3.2 → 1.3.3

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.
package/dist/index.js CHANGED
@@ -18,14 +18,16 @@ function n() {
18
18
  return (e) => e;
19
19
  }
20
20
  //#endregion
21
- //#region ../jsx-string/dist/index.js
22
- var r = new Map([
23
- ["&", "&"],
24
- ["<", "&lt;"],
25
- [">", "&gt;"],
26
- ["\"", "&quot;"],
27
- ["'", "&#x27;"]
28
- ]), i = new Set([
21
+ //#region ../jsx-string/dist/core/types.js
22
+ var r = class {
23
+ value;
24
+ constructor(e) {
25
+ this.value = e;
26
+ }
27
+ toString() {
28
+ return this.value;
29
+ }
30
+ }, i = (e) => new r(e), a = new Set([
29
31
  "href",
30
32
  "src",
31
33
  "action",
@@ -36,34 +38,111 @@ var r = new Map([
36
38
  "data",
37
39
  "xlink:href",
38
40
  "srcset"
39
- ]), a = /[&<>]/g, o = /[&<>"]/g, s = /\p{C}/gu, c = /^[^\s"'>/=]+$/u, l = /^(?:java|vb)script:/i, u = /^data:(?!image\/)/i, d = (e) => e.replace(s, ""), f = (e, t = "content") => {
40
- let n = t === "attr" ? o : a;
41
- return e.replaceAll(n, (e) => r.get(e) ?? e);
41
+ ]), o = /[&<>]/, s = /[&<>"]/, c = /\p{C}/u, l = /\p{C}/gu, u = /^[^\s"'<>/=\p{C}]+$/u, d = /^[a-zA-Z][a-zA-Z0-9-]*$/, f = /^(?:java|vb)script:/i, p = /^data:(?!image\/)/i, m = (e) => c.test(e) ? e.replace(l, "") : e, h = (e) => {
42
+ if (!o.test(e)) return e;
43
+ let t = "", n = 0;
44
+ for (let r = 0; r < e.length; r++) {
45
+ let i;
46
+ switch (e.charCodeAt(r)) {
47
+ case 38:
48
+ i = "&amp;";
49
+ break;
50
+ case 60:
51
+ i = "&lt;";
52
+ break;
53
+ case 62:
54
+ i = "&gt;";
55
+ break;
56
+ default: continue;
57
+ }
58
+ r !== n && (t += e.slice(n, r)), t += i, n = r + 1;
59
+ }
60
+ return t + e.slice(n);
42
61
  }, ee = (e) => {
43
- let t = d(e).trim();
44
- return t ? !(l.test(t) || u.test(t)) : !0;
45
- }, te = (e) => c.test(e), ne = new Set([
46
- "area",
47
- "base",
48
- "br",
49
- "col",
50
- "embed",
51
- "hr",
52
- "img",
53
- "input",
54
- "link",
55
- "meta",
56
- "param",
57
- "source",
58
- "track",
59
- "wbr"
60
- ]), re = /[A-Z]/, ie = /^on[a-z]/i, ae = /expression\s*\(|javascript\s*:/i, oe = new Set([
62
+ if (!s.test(e)) return e;
63
+ let t = "", n = 0;
64
+ for (let r = 0; r < e.length; r++) {
65
+ let i;
66
+ switch (e.charCodeAt(r)) {
67
+ case 38:
68
+ i = "&amp;";
69
+ break;
70
+ case 60:
71
+ i = "&lt;";
72
+ break;
73
+ case 62:
74
+ i = "&gt;";
75
+ break;
76
+ case 34:
77
+ i = "&quot;";
78
+ break;
79
+ default: continue;
80
+ }
81
+ r !== n && (t += e.slice(n, r)), t += i, n = r + 1;
82
+ }
83
+ return t + e.slice(n);
84
+ }, g = (e) => {
85
+ let t = m(e).trim();
86
+ return t ? !(f.test(t) || p.test(t)) : !0;
87
+ }, te = (e) => {
88
+ let t = m(e).trim();
89
+ if (!t) return !0;
90
+ for (let e of t.split(",")) if (!g(e.trimStart().split(/\s+/, 1)[0] ?? "")) return !1;
91
+ return !0;
92
+ }, ne = (e) => u.test(e), re = (e) => d.test(e);
93
+ //#endregion
94
+ //#region ../jsx-string/dist/utils/render-child.js
95
+ function ie(e, t, n, r) {
96
+ let i = e.length - t, a = Array(i);
97
+ a[0] = r;
98
+ for (let n = 1; n < i; n++) a[n] = _(e[t + n]);
99
+ return Promise.all(a).then((e) => {
100
+ let t = n;
101
+ for (let n = 0; n < e.length; n++) t += e[n];
102
+ return t;
103
+ });
104
+ }
105
+ function ae(e) {
106
+ let t = "";
107
+ for (let n = 0; n < e.length; n++) {
108
+ let i = e[n];
109
+ if (i instanceof r) {
110
+ t += i.value;
111
+ continue;
112
+ }
113
+ if (typeof i == "string") {
114
+ t += h(i);
115
+ continue;
116
+ }
117
+ if (typeof i == "number") {
118
+ t += i;
119
+ continue;
120
+ }
121
+ if (i == null || i === !0 || i === !1) continue;
122
+ let a = _(i);
123
+ if (typeof a == "string") t += a;
124
+ else return ie(e, n, t, a);
125
+ }
126
+ return t;
127
+ }
128
+ async function oe(e) {
129
+ let t = "";
130
+ for await (let n of e) t += await _(n);
131
+ return t;
132
+ }
133
+ function _(e) {
134
+ return e == null || e === !0 || e === !1 ? "" : typeof e == "string" ? h(e) : typeof e == "number" ? String(e) : e instanceof r ? e.value : Array.isArray(e) ? ae(e) : e instanceof Promise ? e.then(_) : typeof e[Symbol.iterator] == "function" ? _(Array.from(e)) : typeof e[Symbol.asyncIterator] == "function" ? oe(e) : h(String(e));
135
+ }
136
+ //#endregion
137
+ //#region ../jsx-string/dist/utils/render-attributes.js
138
+ var se = /[A-Z]/g, ce = /^on[a-z]/i, le = /expression\s*\(|javascript\s*:/i, ue = /[A-Z]/, de = new Set([
61
139
  "children",
62
140
  "dangerouslySetInnerHTML",
63
141
  "key",
64
142
  "ref"
65
- ]), se = new Map([
143
+ ]), fe = new Map([
66
144
  ["htmlFor", "for"],
145
+ ["className", "class"],
67
146
  ["acceptCharset", "accept-charset"],
68
147
  ["httpEquiv", "http-equiv"],
69
148
  ["xlinkHref", "xlink:href"],
@@ -80,154 +159,140 @@ var r = new Map([
80
159
  ["autoComplete", "autocomplete"],
81
160
  ["encType", "enctype"],
82
161
  ["noValidate", "novalidate"],
83
- ["dateTime", "datetime"]
84
- ]), ce = (e) => {
85
- if (e instanceof Promise) return !0;
86
- if (Array.isArray(e)) {
87
- for (let t = 0; t < e.length; t++) if (ce(e[t])) return !0;
88
- }
89
- return !1;
90
- }, p = (e) => {
91
- if (!e) return !1;
92
- if (e instanceof Promise) return !0;
93
- if (Array.isArray(e)) {
94
- for (let t = 0; t < e.length; t++) if (p(e[t])) return !0;
95
- return !1;
96
- }
97
- if (typeof e == "object") {
98
- for (let t of Object.values(e)) if (p(t)) return !0;
99
- }
100
- return !1;
101
- }, m = async (e) => {
102
- if (e instanceof Promise) return m(await e);
103
- if (Array.isArray(e)) return Promise.all(e.map((e) => m(e)));
104
- if (e && typeof e == "object") {
105
- let t = await Promise.all(Object.entries(e).map(async ([e, t]) => [e, await m(t)]));
106
- return Object.fromEntries(t);
107
- }
108
- return e;
109
- }, le = (e) => {
110
- let t = d(e);
111
- if (ae.test(t)) return !1;
112
- for (let e of t.matchAll(/url\(\s*(['"]?)(.*?)\1\s*\)/gi)) if (!ee(e[2]?.trim() ?? "")) return !1;
162
+ ["dateTime", "datetime"],
163
+ ["srcSet", "srcset"]
164
+ ]), pe = (e) => {
165
+ let t = m(e);
166
+ if (le.test(t)) return !1;
167
+ for (let e of t.matchAll(/url\(\s*(['"]?)(.*?)\1\s*\)/gi)) if (!g(e[2]?.trim() ?? "")) return !1;
113
168
  return !0;
114
- }, h = class {
115
- value;
116
- constructor(e) {
117
- this.value = e;
118
- }
119
- toString() {
120
- return this.value;
121
- }
122
- }, ue = (e) => new h(e);
123
- function de(e) {
169
+ };
170
+ function me(e) {
124
171
  if (!e) return "";
125
- let t = Object.keys(e);
126
- for (let n = 0; n < t.length; n++) {
127
- let r = t[n], i = r ? e[r] : void 0;
128
- if (r && (ce(i) || r === "style" && typeof i == "object" && p(i))) return Promise.all(t.map(async (t) => [t, await e[t]])).then((e) => m(Object.fromEntries(e))).then((e) => fe(e));
172
+ let t = "", n = null;
173
+ for (let r in e) {
174
+ if (de.has(r)) continue;
175
+ let i = be(r, e[r]);
176
+ typeof i == "string" ? i && (t += ` ${i}`) : (n ??= []).push(i.then((e) => e ? ` ${e}` : ""));
129
177
  }
130
- return fe(e);
131
- }
132
- function fe(e) {
133
- let t = "", n = /* @__PURE__ */ new Set(), r = Object.keys(e);
134
- for (let a = 0; a < r.length; a++) {
135
- let o = r[a];
136
- if (!o) continue;
137
- let s = e[o];
138
- if (oe.has(o) || s === !1 || s == null) continue;
139
- if (o === "class" || o === "className") {
140
- if (typeof s == "string") for (let e of s.split(/\s+/)) e && n.add(e);
141
- continue;
142
- }
143
- let c = se.get(o), l;
144
- if (l = c || (o.startsWith("data-") || o.startsWith("aria-") ? d(o).replace(re, "-$&").toLowerCase() : d(o)), te(l)) {
145
- if (ie.test(l)) {
146
- if (typeof s == "function") {
147
- console.warn(`[jsx-string] Event handler "${l}" was passed a function. This is not supported in static HTML rendering. Use a string instead.`);
148
- continue;
149
- }
150
- if (typeof s != "string") continue;
151
- l = l.toLowerCase();
152
- }
153
- if (l === "style") if (typeof s == "object") {
154
- let e = pe(s);
155
- if (!e) continue;
156
- t += ` style="${f(e, "attr")}"`;
157
- } else {
158
- let e = String(s);
159
- if (!le(e) || !e) continue;
160
- t += ` style="${f(e, "attr")}"`;
161
- }
162
- else if (s === !0) t += ` ${l}`;
163
- else {
164
- let e = String(s);
165
- i.has(l) && !ee(e) && (e = "#blocked"), t += ` ${l}="${f(e, "attr")}"`;
166
- }
167
- }
178
+ return n ? Promise.all(n).then((e) => t + e.join("")) : t;
179
+ }
180
+ var he = /* @__PURE__ */ new Map(), ge = /* @__PURE__ */ new Set();
181
+ function _e(e) {
182
+ if (de.has(e)) return null;
183
+ let t = e;
184
+ if (!ne(t) && (t = m(t), !ne(t))) return null;
185
+ let n = ue.test(t);
186
+ n && (t = fe.get(t) ?? t);
187
+ let r = t.charCodeAt(0), i = (r === 79 || r === 111) && ce.test(t);
188
+ if (i && n && (t = t.toLowerCase()), t === "style") return {
189
+ name: t,
190
+ isEvent: !1,
191
+ isStyle: !0,
192
+ urlKind: 0
193
+ };
194
+ let o = ue.test(t) ? t.toLowerCase() : t, s = o === "srcset" ? 2 : +!!a.has(o);
195
+ return {
196
+ name: t,
197
+ isEvent: i,
198
+ isStyle: !1,
199
+ urlKind: s
200
+ };
201
+ }
202
+ function ve(e) {
203
+ let t = he.get(e);
204
+ if (t !== void 0) return t;
205
+ let n = _e(e);
206
+ return he.set(e, n), n;
207
+ }
208
+ function ye(e, t) {
209
+ if (t === !1 || t == null) return "";
210
+ let n = ve(e);
211
+ if (n === null) return "";
212
+ let r = n.name;
213
+ if (n.isEvent) {
214
+ if (typeof t == "function") return ge.has(e) || (ge.add(e), console.warn(`[jsx-string] Event handler "${e}" was passed a function. This is not supported in static HTML rendering. Use a string instead.`)), "";
215
+ if (typeof t != "string") return "";
168
216
  }
169
- return n.size > 0 && (t = ` class="${f([...n].join(" "), "attr")}"` + t), t;
217
+ if (n.isStyle) {
218
+ let e;
219
+ if (typeof t == "object" && t) e = xe(t);
220
+ else if (e = String(t), !pe(e)) return "";
221
+ return e ? `style="${ee(e)}"` : "";
222
+ }
223
+ if (t === !0) return r;
224
+ let i = typeof t == "string" ? t : String(t);
225
+ return n.urlKind === 2 ? te(i) || (i = "#blocked") : n.urlKind === 1 && !g(i) && (i = "#blocked"), `${r}="${ee(i)}"`;
226
+ }
227
+ function be(e, t) {
228
+ return t instanceof Promise ? t.then((t) => be(e, t)) : ye(e, t);
170
229
  }
171
- function pe(e) {
172
- let t = [];
173
- for (let [n, r] of Object.entries(e)) {
230
+ function xe(e) {
231
+ let t = "";
232
+ for (let n in e) {
233
+ let r = e[n];
174
234
  if (r == null) continue;
175
- let e = n.startsWith("--") ? n : n.replace(re, "-$&").toLowerCase(), i = String(r);
176
- le(i) && t.push(`${e}:${i}`);
177
- }
178
- return t.join(";");
179
- }
180
- function g(e) {
181
- if (e == null || e === !0 || e === !1) return "";
182
- if (e instanceof h) return e;
183
- if (e instanceof Promise) return e.then(g).then((e) => e instanceof h ? e : new h(f(String(e))));
184
- if (Array.isArray(e)) {
185
- let t = e.length, n = Array(t), r = !1;
186
- for (let i = 0; i < t; i++) {
187
- let t = g(e[i]);
188
- n[i] = t, t instanceof Promise && (r = !0);
189
- }
190
- if (!r) {
191
- let e = "";
192
- for (let r = 0; r < t; r++) {
193
- let t = n[r];
194
- e += t instanceof h ? t.value : f(String(t));
195
- }
196
- return new h(e);
197
- }
198
- return Promise.all(n).then((e) => {
199
- let t = "";
200
- for (let n = 0; n < e.length; n++) {
201
- let r = e[n];
202
- t += r instanceof h ? r.value : f(String(r));
203
- }
204
- return new h(t);
205
- });
235
+ let i = n.startsWith("--") ? n : n.replace(se, "-$&").toLowerCase(), a = String(r);
236
+ pe(a) && (t.length > 0 && (t += ";"), t += `${i}:${a}`);
206
237
  }
207
- return String(e);
238
+ return t;
208
239
  }
209
- function me(e, t, n) {
210
- let r = de(t), i = t.dangerouslySetInnerHTML ? new h(t.dangerouslySetInnerHTML.__html == null ? "" : String(t.dangerouslySetInnerHTML.__html)) : g(n);
211
- return r instanceof Promise || i instanceof Promise ? Promise.all([r, i]).then(([t, n]) => he(e, t, n)) : he(e, r, i);
240
+ //#endregion
241
+ //#region ../jsx-string/dist/utils/void-elements.js
242
+ var Se = new Set([
243
+ "area",
244
+ "base",
245
+ "br",
246
+ "col",
247
+ "embed",
248
+ "hr",
249
+ "img",
250
+ "input",
251
+ "link",
252
+ "meta",
253
+ "param",
254
+ "source",
255
+ "track",
256
+ "wbr"
257
+ ]), Ce = /* @__PURE__ */ new Set(), we = /* @__PURE__ */ new Set();
258
+ function Te(e, t, n) {
259
+ if (!Ce.has(e)) {
260
+ if (!re(e)) return we.has(e) || (we.add(e), console.warn(`[jsx-string] Invalid tag name "${e}" was skipped. Tag names must start with a letter and contain only letters, digits, or hyphens.`)), Ee;
261
+ Ce.add(e);
262
+ }
263
+ let i = me(t), a = t.dangerouslySetInnerHTML?.__html, o = t.dangerouslySetInnerHTML ? a == null ? "" : a instanceof Promise ? a.then((e) => e == null ? "" : String(e)) : String(a) : _(n);
264
+ return typeof i == "string" && typeof o == "string" ? new r(De(e, i, o)) : Promise.all([i, o]).then(([t, n]) => new r(De(e, t, n)));
212
265
  }
213
- function he(e, t, n) {
214
- return ne.has(e) ? new h(`<${e}${t}>`) : new h(`<${e}${t}>${n instanceof h ? n.value : f(String(n))}</${e}>`);
266
+ var Ee = new r("");
267
+ function De(e, t, n) {
268
+ return Se.has(e) ? `<${e}${t}>` : `<${e}${t}>${n}</${e}>`;
215
269
  }
216
- function _(e, t, ...n) {
217
- let r = { ...t || {} };
218
- n.length > 0 && r.children === void 0 && (r.children = n.length === 1 ? n[0] : n);
219
- let i = r.children;
220
- return typeof e == "function" ? e(r) : me(e, r, Array.isArray(i) ? i : i === void 0 ? [] : [i]);
270
+ //#endregion
271
+ //#region ../jsx-string/dist/jsx-runtime.js
272
+ var Oe = Symbol("annotated");
273
+ function ke(e, t) {
274
+ return e instanceof Error && !(Oe in e) && (e.message = `[${t.name || "<anonymous>"}] ${e.message}`, Object.defineProperty(e, Oe, { value: !0 })), e;
275
+ }
276
+ function v(e, t, n) {
277
+ let i = t ?? {};
278
+ if (typeof e == "function") try {
279
+ let t = _(e(i));
280
+ return typeof t == "string" ? new r(t) : t.then((e) => new r(e), (t) => Promise.reject(ke(t, e)));
281
+ } catch (t) {
282
+ throw ke(t, e);
283
+ }
284
+ return Te(e, i, i.children);
221
285
  }
222
- var v = _;
223
- function y({ children: e }) {
286
+ var y = v;
287
+ function b({ children: e }) {
224
288
  return e;
225
289
  }
226
290
  //#endregion
227
291
  //#region src/lib/i18n.ts
228
- var ge = {
229
- en: n()({
292
+ var Ae = n(), je = {
293
+ en: Ae({
230
294
  work_experience: "Work Experience",
295
+ projects: "Projects",
231
296
  education: "Education",
232
297
  skills: "Skills",
233
298
  present: "Present",
@@ -238,10 +303,12 @@ var ge = {
238
303
  portrait_alt: "Portrait of {name}",
239
304
  last_modified: "Last updated on {date}",
240
305
  profile_page_name: "{name}'s resume - {label}",
241
- theme_credit: "Theme made with love by {link}"
306
+ theme_credit: "Theme made with love by {link}",
307
+ skip_to_content: "Skip to main content"
242
308
  }),
243
- fr: n()({
309
+ fr: Ae({
244
310
  work_experience: "Expériences professionnelles",
311
+ projects: "Projets",
245
312
  education: "Formations",
246
313
  skills: "Compétences",
247
314
  present: "Présent",
@@ -252,13 +319,14 @@ var ge = {
252
319
  portrait_alt: "Portrait de {name}",
253
320
  last_modified: "Dernière mise à jour le {date}",
254
321
  profile_page_name: "CV de {name} - {label}",
255
- theme_credit: "Thème proposé avec amour par {link}"
322
+ theme_credit: "Thème proposé avec amour par {link}",
323
+ skip_to_content: "Aller au contenu principal"
256
324
  })
257
- }, b = void 0, x = "en", S = (e, ...n) => (b ||= t(ge[x]), b(e, ...n)), _e = (e, ...t) => ue(S(e, ...t));
258
- function ve(e) {
259
- x = e, b = t(ge[e]);
325
+ }, x = void 0, S = "en", C = (e, ...n) => (x ||= t(je[S]), x(e, ...n)), Me = (e, ...t) => i(C(e, ...t));
326
+ function Ne(e) {
327
+ S = e, x = t(je[e]);
260
328
  }
261
- var C = {
329
+ var w = {
262
330
  normalize(e) {
263
331
  let t = typeof e == "string" ? new Date(e) : e;
264
332
  return isNaN(t.getTime()) ? null : t;
@@ -266,7 +334,7 @@ var C = {
266
334
  format(e, t) {
267
335
  let n = this.normalize(e);
268
336
  if (!n) return "";
269
- let r = x === void 0 ? "fr-FR" : x;
337
+ let r = S === void 0 ? "fr-FR" : S;
270
338
  switch (t) {
271
339
  case "month": return new Intl.DateTimeFormat(r, {
272
340
  month: "long",
@@ -285,7 +353,7 @@ var C = {
285
353
  toISO(e) {
286
354
  return this.normalize(e)?.toISOString() ?? "";
287
355
  }
288
- }, ye = class {
356
+ }, Pe = class {
289
357
  seed;
290
358
  constructor(e) {
291
359
  this.seed = e;
@@ -294,11 +362,11 @@ var C = {
294
362
  return this.seed = this.seed * 16807 % 2147483647, (this.seed - 1) / 2147483646;
295
363
  }
296
364
  };
297
- function be(e = {}) {
298
- let { width: t = 900, height: n = 300, cellSize: r = 50, variance: i = .75, seed: a = 1 } = e, o = new ye(a), s = Te(t, n, we(xe(t, n, r, i, o), o));
365
+ function Fe(e = {}) {
366
+ let { width: t = 900, height: n = 300, cellSize: r = 50, variance: i = .75, seed: a = 1 } = e, o = new Pe(a), s = Be(t, n, ze(Ie(t, n, r, i, o), o));
299
367
  return `data:image/svg+xml,${encodeURIComponent(s).replace(/%20/g, " ").replace(/%3D/g, "=").replace(/%3A/g, ":").replace(/%2F/g, "/").replace(/%22/g, "'")}`;
300
368
  }
301
- function xe(e, t, n, r, i) {
369
+ function Ie(e, t, n, r, i) {
302
370
  let a = [], o = Math.ceil(e / n) + 2, s = Math.ceil(t / n) + 2;
303
371
  for (let e = 0; e < s; e++) {
304
372
  let t = [];
@@ -313,15 +381,15 @@ function xe(e, t, n, r, i) {
313
381
  }
314
382
  return a;
315
383
  }
316
- function Se(e) {
384
+ function Le(e) {
317
385
  let t = e.next();
318
386
  return (t > .5 ? "#000000" : "#ffffff") + (Math.round(t * 5) * 5).toString(16).padStart(2, "0");
319
387
  }
320
- function Ce(e, t) {
388
+ function Re(e, t) {
321
389
  let [n, r, i] = e;
322
390
  return `m${n.x - t.x} ${n.y - t.y} ${r.x - n.x} ${r.y - n.y} ${i.x - r.x} ${i.y - r.y}`.replace(/ -/g, "-");
323
391
  }
324
- function we(e, t) {
392
+ function ze(e, t) {
325
393
  let n = {}, r = {}, i = e.length, a = e[0]?.length ?? 0;
326
394
  for (let o = 0; o < i - 1; o++) for (let i = 0; i < a - 1; i++) [[
327
395
  e[o][i],
@@ -332,33 +400,33 @@ function we(e, t) {
332
400
  e[o + 1][i + 1],
333
401
  e[o + 1][i]
334
402
  ]].forEach((e) => {
335
- let i = Se(t);
403
+ let i = Le(t);
336
404
  n[i] || (n[i] = "", r[i] = {
337
405
  x: 0,
338
406
  y: 0
339
407
  });
340
- let a = r[i], o = Ce(e, a);
408
+ let a = r[i], o = Re(e, a);
341
409
  n[i] += o, r[i] = e[2];
342
410
  });
343
411
  return n;
344
412
  }
345
- function Te(e, t, n) {
413
+ function Be(e, t, n) {
346
414
  let r = "";
347
415
  for (let [e, t] of Object.entries(n)) r += `<path fill="${e}" d="${t}"/>`;
348
416
  return `<svg xmlns="http://www.w3.org/2000/svg" width="${e}" height="${t}" viewBox="0 0 ${e} ${t}" preserveAspectRatio="xMidYMid slice">${r}</svg>`;
349
417
  }
350
418
  //#endregion
351
419
  //#region src/components/Banner.tsx
352
- function Ee({ name: e, label: t, children: n, ...r }) {
353
- return /* @__PURE__ */ v("header", {
420
+ function Ve({ name: e, label: t, children: n, ...r }) {
421
+ return /* @__PURE__ */ y("header", {
354
422
  className: "flex-1 grow border-b border-gray-100 pb-8 dark:border-white/5",
355
423
  ...r,
356
424
  children: [
357
- /* @__PURE__ */ _("h1", {
425
+ /* @__PURE__ */ v("h1", {
358
426
  className: "text-primary kerning-normal inline-block text-5xl font-extrabold tracking-tight uppercase sm:text-6xl",
359
427
  children: e
360
428
  }),
361
- t && /* @__PURE__ */ _("p", {
429
+ t && /* @__PURE__ */ v("p", {
362
430
  className: "mt-2 text-3xl font-light tracking-wide text-gray-500 dark:text-slate-400",
363
431
  children: t
364
432
  }),
@@ -368,38 +436,38 @@ function Ee({ name: e, label: t, children: n, ...r }) {
368
436
  }
369
437
  //#endregion
370
438
  //#region src/components/DateTime.tsx
371
- function w({ date: e, format: t, children: n, ...r }) {
372
- let i = C.normalize(e);
373
- if (!i) return /* @__PURE__ */ _("span", {
439
+ function T({ date: e, format: t, children: n, ...r }) {
440
+ let i = w.normalize(e);
441
+ if (!i) return /* @__PURE__ */ v("span", {
374
442
  ...r,
375
443
  children: n
376
444
  });
377
445
  let a = n;
378
- return t && !a && (a = C.format(i, t)), /* @__PURE__ */ _("time", {
379
- dateTime: C.toISO(i),
446
+ return t && !a && (a = w.format(i, t)), /* @__PURE__ */ v("time", {
447
+ dateTime: w.toISO(i),
380
448
  ...r,
381
449
  children: a
382
450
  });
383
451
  }
384
452
  //#endregion
385
453
  //#region src/components/Period.tsx
386
- function T({ startDate: e, endDate: t, format: n, ...r }) {
387
- return !e && !t ? null : /* @__PURE__ */ _("div", {
454
+ function E({ startDate: e, endDate: t, format: n, ...r }) {
455
+ return !e && !t ? null : /* @__PURE__ */ v("div", {
388
456
  ...r,
389
- children: e ? /* @__PURE__ */ v(y, { children: [
390
- /* @__PURE__ */ _(w, {
457
+ children: e ? /* @__PURE__ */ y(b, { children: [
458
+ /* @__PURE__ */ v(T, {
391
459
  date: e,
392
460
  format: n
393
461
  }),
394
462
  "\xA0—\xA0",
395
- t ? /* @__PURE__ */ _(w, {
463
+ t ? /* @__PURE__ */ v(T, {
396
464
  date: t,
397
465
  format: n
398
- }) : /* @__PURE__ */ _("span", {
466
+ }) : /* @__PURE__ */ v("span", {
399
467
  className: "text-primary font-bold",
400
- children: S("present")
468
+ children: C("present")
401
469
  })
402
- ] }) : /* @__PURE__ */ _(w, {
470
+ ] }) : /* @__PURE__ */ v(T, {
403
471
  date: t,
404
472
  format: n
405
473
  })
@@ -407,12 +475,13 @@ function T({ startDate: e, endDate: t, format: n, ...r }) {
407
475
  }
408
476
  //#endregion
409
477
  //#region src/components/Section.tsx
410
- function E({ name: e, children: t, ...n }) {
478
+ function D({ name: e, children: t, ...n }) {
411
479
  let r = e ? `section-${e.toLowerCase().replace(/\s+/g, "-")}` : void 0;
412
- return /* @__PURE__ */ v("section", {
480
+ return /* @__PURE__ */ y("section", {
413
481
  "aria-labelledby": r,
482
+ className: "content-visibility-auto [contain-intrinsic-size:auto_400px]",
414
483
  ...n,
415
- children: [e && /* @__PURE__ */ _("h2", {
484
+ children: [e && /* @__PURE__ */ v("h2", {
416
485
  id: r,
417
486
  className: "before:bg-primary relative mt-8 mb-4 break-after-avoid text-2xl tracking-tight text-gray-900 before:absolute before:-bottom-1 before:left-0 before:h-1 before:w-[3ch] before:rounded-[0_0.25rem_0.25rem_0] dark:text-white before:print:[print-color-adjust:exact]",
418
487
  children: e
@@ -421,44 +490,44 @@ function E({ name: e, children: t, ...n }) {
421
490
  }
422
491
  //#endregion
423
492
  //#region src/components/Education.tsx
424
- function De({ education: e, certificates: t }) {
493
+ function He({ education: e, certificates: t }) {
425
494
  let n = e && e.length > 0, r = t && t.length > 0;
426
- return !n && !r ? null : /* @__PURE__ */ _(E, {
427
- name: S("education"),
428
- children: /* @__PURE__ */ v("ol", {
495
+ return !n && !r ? null : /* @__PURE__ */ v(D, {
496
+ name: C("education"),
497
+ children: /* @__PURE__ */ y("ol", {
429
498
  className: "timeline",
430
- children: [e?.map((e, t) => /* @__PURE__ */ _("li", {
499
+ children: [e?.map((e, t) => /* @__PURE__ */ v("li", {
431
500
  className: "timeline-item",
432
- children: /* @__PURE__ */ _("article", {
501
+ children: /* @__PURE__ */ v("article", {
433
502
  className: "group",
434
- children: /* @__PURE__ */ _("div", {
503
+ children: /* @__PURE__ */ v("div", {
435
504
  className: "min-w-0 flex-1",
436
- children: /* @__PURE__ */ v("div", {
505
+ children: /* @__PURE__ */ y("div", {
437
506
  className: "grid grid-cols-1 gap-x-4 md:grid-cols-[1fr_auto]",
438
- children: [/* @__PURE__ */ v("div", {
507
+ children: [/* @__PURE__ */ y("div", {
439
508
  className: "min-w-0",
440
- children: [/* @__PURE__ */ _("header", { children: /* @__PURE__ */ _("h3", {
509
+ children: [/* @__PURE__ */ v("header", { children: /* @__PURE__ */ v("h3", {
441
510
  className: "truncate text-xl font-bold tracking-tight text-gray-900 md:whitespace-normal dark:text-white",
442
511
  children: e.studyType
443
- }) }), /* @__PURE__ */ v("div", {
512
+ }) }), /* @__PURE__ */ y("div", {
444
513
  className: "mt-1 text-gray-600 dark:text-slate-300",
445
- children: [e.url ? /* @__PURE__ */ _("a", {
514
+ children: [e.url ? /* @__PURE__ */ v("a", {
446
515
  href: e.url,
447
516
  target: "_blank",
448
517
  rel: "noopener noreferrer",
449
518
  translate: "no",
450
519
  className: "hover:text-primary font-medium text-gray-700 underline-offset-4 transition-colors hover:underline dark:text-slate-200",
451
520
  children: e.institution
452
- }) : /* @__PURE__ */ _("span", {
521
+ }) : /* @__PURE__ */ v("span", {
453
522
  translate: "no",
454
523
  className: "font-medium text-gray-700 dark:text-slate-200",
455
524
  children: e.institution
456
- }), e.area && /* @__PURE__ */ v("span", {
525
+ }), e.area && /* @__PURE__ */ y("span", {
457
526
  className: "ml-2 text-sm text-gray-500",
458
527
  children: ["- ", e.area]
459
528
  })]
460
529
  })]
461
- }), /* @__PURE__ */ _(T, {
530
+ }), /* @__PURE__ */ v(E, {
462
531
  startDate: e.startDate,
463
532
  endDate: e.endDate,
464
533
  format: "year",
@@ -467,35 +536,35 @@ function De({ education: e, certificates: t }) {
467
536
  })
468
537
  })
469
538
  })
470
- }, `edu-${t}`)), t?.map((e, t) => /* @__PURE__ */ _("li", {
539
+ }, `edu-${t}`)), t?.map((e, t) => /* @__PURE__ */ v("li", {
471
540
  className: "timeline-item timeline-item-secondary",
472
- children: /* @__PURE__ */ _("article", {
541
+ children: /* @__PURE__ */ v("article", {
473
542
  className: "group",
474
- children: /* @__PURE__ */ _("div", {
543
+ children: /* @__PURE__ */ v("div", {
475
544
  className: "min-w-0 flex-1",
476
- children: /* @__PURE__ */ v("div", {
545
+ children: /* @__PURE__ */ y("div", {
477
546
  className: "grid grid-cols-1 gap-x-4 md:grid-cols-[1fr_auto]",
478
- children: [/* @__PURE__ */ v("div", {
547
+ children: [/* @__PURE__ */ y("div", {
479
548
  className: "min-w-0",
480
- children: [/* @__PURE__ */ _("header", { children: /* @__PURE__ */ _("h3", {
549
+ children: [/* @__PURE__ */ v("header", { children: /* @__PURE__ */ v("h3", {
481
550
  className: "truncate text-xl font-bold tracking-tight text-gray-900 md:whitespace-normal dark:text-white",
482
551
  children: e.name
483
- }) }), /* @__PURE__ */ _("div", {
552
+ }) }), /* @__PURE__ */ v("div", {
484
553
  className: "mt-1 text-gray-600 dark:text-slate-300",
485
- children: e.url ? /* @__PURE__ */ _("a", {
554
+ children: e.url ? /* @__PURE__ */ v("a", {
486
555
  href: e.url,
487
556
  target: "_blank",
488
557
  rel: "noopener noreferrer",
489
558
  translate: "no",
490
559
  className: "hover:text-primary font-medium text-gray-700 underline-offset-4 transition-colors hover:underline dark:text-slate-200",
491
560
  children: e.issuer
492
- }) : /* @__PURE__ */ _("span", {
561
+ }) : /* @__PURE__ */ v("span", {
493
562
  translate: "no",
494
563
  className: "font-medium text-gray-700 dark:text-slate-200",
495
564
  children: e.issuer
496
565
  })
497
566
  })]
498
- }), /* @__PURE__ */ _(T, {
567
+ }), /* @__PURE__ */ v(E, {
499
568
  endDate: e.date,
500
569
  format: "year",
501
570
  className: "mt-1 flex shrink-0 text-sm text-gray-500 capitalize md:mt-1.5 md:items-start md:text-right dark:text-slate-400"
@@ -509,61 +578,64 @@ function De({ education: e, certificates: t }) {
509
578
  }
510
579
  //#endregion
511
580
  //#region src/components/Icons.tsx
512
- var Oe = async (e, t = {}) => {
581
+ var Ue = async (e, t = {}) => {
513
582
  let n = new URL(`https://api.iconify.design/${e}.svg`);
514
583
  for (let [e, r] of Object.entries(t)) r && n.searchParams.set(e, r.toString());
515
584
  let r = await fetch(n);
516
585
  if (!r.ok) throw Error(`Failed to fetch icon ${e}`);
517
586
  return r.text();
518
- }, D = async (e, t = 24, n = !0) => {
519
- let r = await Oe(e, { height: t });
520
- return ue(n ? r.replace("<svg", "<svg aria-hidden=\"true\"") : r);
521
- }, ke = ({ text: e, url: t, icon: n = "tabler:message-circle", ...r }) => /* @__PURE__ */ v(y, { children: [/* @__PURE__ */ v("a", {
587
+ }, O = async (e, t = 24, n = !0) => {
588
+ let r = await Ue(e, { height: t });
589
+ return i(n ? r.replace("<svg", "<svg aria-hidden=\"true\"") : r);
590
+ }, We = ({ text: e, url: t, icon: n = "tabler:message-circle", id: r = "cta-fab", ...i }) => /* @__PURE__ */ y(b, { children: [/* @__PURE__ */ y("a", {
522
591
  href: t,
523
592
  target: "_blank",
524
593
  rel: "noopener noreferrer",
525
- id: "cta-fab",
594
+ id: r,
526
595
  "aria-label": e,
527
- className: "fab--extended group fixed right-8 bottom-8 z-20 inline-flex items-center space-x-2 rounded-full bg-black/80 p-4 text-lg whitespace-nowrap text-white shadow-md backdrop-blur-sm transition-colors hover:bg-black dark:bg-gray-700 dark:text-white print:hidden",
528
- ...r,
529
- children: [/* @__PURE__ */ _("span", {
596
+ className: "fab fab--extended fab-open:pr-6 fixed right-8 bottom-8 z-20 inline-flex items-center overflow-hidden rounded-full bg-black/80 px-4 py-4 text-lg text-white shadow-md backdrop-blur-sm transition-[background-color,padding-right] [transition-duration:150ms,300ms] ease-in-out hover:bg-black dark:bg-gray-700 dark:text-white print:hidden",
597
+ ...i,
598
+ children: [/* @__PURE__ */ v("span", {
530
599
  className: "shrink-0",
531
- children: D(n)
532
- }), /* @__PURE__ */ _("span", {
533
- className: "-mr-2 max-w-0 overflow-hidden text-transparent transition-all duration-300 ease-in-out group-hover:mr-0 group-hover:max-w-96 group-hover:text-inherit group-focus:mr-0 group-focus:max-w-96 group-focus:text-inherit group-[.fab--extended]:mr-0 group-[.fab--extended]:max-w-96 group-[.fab--extended]:text-inherit",
534
- children: e
600
+ children: O(n)
601
+ }), /* @__PURE__ */ v("span", {
602
+ className: "group-fab-open:grid-cols-[1fr] grid grid-cols-[0fr] overflow-hidden transition-[grid-template-columns] duration-300 ease-in-out",
603
+ children: /* @__PURE__ */ v("span", {
604
+ className: "group-fab-open:opacity-100 min-w-0 indent-2 whitespace-nowrap opacity-0 transition-opacity duration-300 ease-in-out",
605
+ children: e
606
+ })
535
607
  })]
536
- }), /* @__PURE__ */ _("script", { dangerouslySetInnerHTML: { __html: `(${Ae.toString()})();` } })] }), Ae = () => {
537
- let e = document.getElementById("cta-fab");
538
- if (!e || window.matchMedia("(prefers-reduced-motion: reduce)").matches) return;
539
- let t = window.scrollY || document.documentElement.scrollTop;
608
+ }), /* @__PURE__ */ v("script", { dangerouslySetInnerHTML: { __html: `(${Ge.toString()})(${JSON.stringify(r)});` } })] }), Ge = (e) => {
609
+ let t = document.getElementById(e);
610
+ if (!t || window.matchMedia("(prefers-reduced-motion: reduce)").matches) return;
611
+ let n = window.scrollY;
540
612
  window.addEventListener("scroll", () => {
541
- let n = window.scrollY || document.documentElement.scrollTop, r = n - t;
542
- Math.abs(r) > 15 && (r > 0 ? e.classList.remove("fab--extended") : e.classList.add("fab--extended"), t = Math.max(n, 0));
613
+ let e = window.scrollY, r = e - n;
614
+ Math.abs(r) > 15 && (r > 0 ? t.classList.remove("fab--extended") : t.classList.add("fab--extended"), n = Math.max(e, 0));
543
615
  }, { passive: !0 });
544
616
  };
545
617
  //#endregion
546
618
  //#region src/components/Footer.tsx
547
- function je({ meta: e, bgTiles: t, ...n }) {
619
+ function Ke({ meta: e, bgTiles: t, ...n }) {
548
620
  let r = e.lastModified;
549
- return /* @__PURE__ */ v("footer", {
621
+ return /* @__PURE__ */ y("footer", {
550
622
  className: "bg-angled-gradient from-footer-from to-footer-to relative isolate z-0 -mt-10 h-32 content-center pt-12 pb-2 text-center text-sm text-white dark:opacity-90 dark:contrast-125 dark:saturate-50 print:hidden",
551
623
  ...n,
552
624
  children: [
553
- /* @__PURE__ */ _("img", {
625
+ /* @__PURE__ */ v("img", {
554
626
  src: t,
555
627
  alt: "",
556
628
  loading: "lazy",
557
629
  className: "absolute inset-0 -z-10 size-full object-cover object-center",
558
630
  "aria-hidden": "true"
559
631
  }),
560
- /* @__PURE__ */ _("div", { children: _e("last_modified", { date: /* @__PURE__ */ _(w, {
632
+ /* @__PURE__ */ v("div", { children: Me("last_modified", { date: /* @__PURE__ */ v(T, {
561
633
  date: r,
562
- children: C.format(r, "date")
634
+ children: w.format(r, "date")
563
635
  }) }) }),
564
- /* @__PURE__ */ _("div", {
636
+ /* @__PURE__ */ v("div", {
565
637
  className: "mt-1 text-xs opacity-75",
566
- children: !e.themeConfig.modest && _e("theme_credit", { link: /* @__PURE__ */ _("a", {
638
+ children: !e.themeConfig.modest && Me("theme_credit", { link: /* @__PURE__ */ v("a", {
567
639
  href: "https://www.cjean.fr",
568
640
  target: "_blank",
569
641
  className: "underline decoration-white/30 underline-offset-2 transition-colors hover:decoration-white/80",
@@ -575,10 +647,10 @@ function je({ meta: e, bgTiles: t, ...n }) {
575
647
  }
576
648
  //#endregion
577
649
  //#region src/components/Header.tsx
578
- var Me = ({ bgTiles: e }) => /* @__PURE__ */ _("div", {
650
+ var qe = ({ bgTiles: e }) => /* @__PURE__ */ v("div", {
579
651
  className: "bg-primary bg-angled-gradient from-header-from to-header-to relative h-2.5 overflow-hidden shadow-inner md:-mb-60 md:h-80 dark:opacity-90 dark:contrast-125 dark:saturate-50 print:hidden",
580
652
  "aria-hidden": "true",
581
- children: /* @__PURE__ */ _("img", {
653
+ children: /* @__PURE__ */ v("img", {
582
654
  src: e,
583
655
  alt: "",
584
656
  fetchPriority: "high",
@@ -587,51 +659,50 @@ var Me = ({ bgTiles: e }) => /* @__PURE__ */ _("div", {
587
659
  });
588
660
  //#endregion
589
661
  //#region src/components/Links.tsx
590
- function Ne(e) {
662
+ function Je(e) {
591
663
  return `https://www.google.com/maps/search/?api=1&query=${encodeURIComponent(e)}`;
592
664
  }
593
- async function Pe(e) {
665
+ async function Ye(e) {
594
666
  try {
595
- return await D(`tabler:brand-${e.toLowerCase()}`);
667
+ return await O(`tabler:brand-${e.toLowerCase()}`);
596
668
  } catch {
597
- return D("tabler:link");
669
+ return O("tabler:link");
598
670
  }
599
671
  }
600
- var O = ({ children: e, ...t }) => /* @__PURE__ */ _("li", {
672
+ var k = ({ children: e, ...t }) => /* @__PURE__ */ v("li", {
601
673
  className: "inline-flex items-center gap-x-1",
602
674
  ...t,
603
675
  children: e
604
676
  });
605
- function Fe({ basics: e, list: t = [
677
+ function Xe({ basics: e, list: t = [
606
678
  "phone",
607
679
  "email",
608
680
  "location",
609
681
  "profiles"
610
682
  ] }) {
611
683
  let { phone: n, email: r, location: i, profiles: a = [] } = e, o = /* @__PURE__ */ new Set();
612
- return /* @__PURE__ */ _("ul", {
684
+ return /* @__PURE__ */ v("ul", {
613
685
  className: "my-3 inline-flex flex-wrap gap-x-[2ch] gap-y-2",
614
- "aria-label": S("contact_info"),
615
686
  children: t.map((e) => {
616
687
  let t = e.toLowerCase();
617
- if (t === "phone" && n) return /* @__PURE__ */ v(O, { children: [D("tabler:phone"), /* @__PURE__ */ _("a", {
688
+ if (t === "phone" && n) return /* @__PURE__ */ y(k, { children: [O("tabler:phone"), /* @__PURE__ */ v("a", {
618
689
  href: `tel:${encodeURIComponent(n)}`,
619
- title: S("phone_call"),
690
+ title: C("phone_call"),
620
691
  children: n
621
692
  })] }, "phone");
622
- if (t === "email" && r) return /* @__PURE__ */ v(O, { children: [D("tabler:mail"), /* @__PURE__ */ _("a", {
693
+ if (t === "email" && r) return /* @__PURE__ */ y(k, { children: [O("tabler:mail"), /* @__PURE__ */ v("a", {
623
694
  href: `mailto:${r}`,
624
- title: S("email_send"),
695
+ title: C("email_send"),
625
696
  children: r
626
697
  })] }, "email");
627
- if (t === "location" && i && i.city && (i.countryCode || i.region)) return /* @__PURE__ */ v(O, { children: [D("tabler:map-pin"), /* @__PURE__ */ v("a", {
628
- href: Ne([
698
+ if (t === "location" && i && i.city && (i.countryCode || i.region)) return /* @__PURE__ */ y(k, { children: [O("tabler:map-pin"), /* @__PURE__ */ y("a", {
699
+ href: Je([
629
700
  i.city,
630
701
  i.postalCode,
631
702
  i.region,
632
703
  i.countryCode
633
704
  ].filter(Boolean).join(", ")),
634
- title: S("show_address"),
705
+ title: C("show_address"),
635
706
  target: "_blank",
636
707
  rel: "noopener noreferrer",
637
708
  referrerPolicy: "no-referrer",
@@ -641,7 +712,7 @@ function Fe({ basics: e, list: t = [
641
712
  i.countryCode || i.region
642
713
  ]
643
714
  })] }, "location");
644
- if (t === "profiles") return a.filter((e) => !o.has(e.network.toLowerCase())).map((e) => (o.add(e.network.toLowerCase()), /* @__PURE__ */ v(O, { children: [Pe(e.network), /* @__PURE__ */ _("a", {
715
+ if (t === "profiles") return a.filter((e) => !o.has(e.network.toLowerCase())).map((e) => (o.add(e.network.toLowerCase()), /* @__PURE__ */ y(k, { children: [Ye(e.network), /* @__PURE__ */ v("a", {
645
716
  href: e.url,
646
717
  rel: "me noopener noreferrer",
647
718
  title: e.username,
@@ -650,7 +721,7 @@ function Fe({ basics: e, list: t = [
650
721
  children: e.network
651
722
  })] }, e.network)));
652
723
  let s = a.find((e) => e.network.toLowerCase() === t);
653
- return s && !o.has(t) ? (o.add(t), /* @__PURE__ */ v(O, { children: [Pe(s.network), /* @__PURE__ */ _("a", {
724
+ return s && !o.has(t) ? (o.add(t), /* @__PURE__ */ y(k, { children: [Ye(s.network), /* @__PURE__ */ v("a", {
654
725
  href: s.url,
655
726
  rel: "me noopener noreferrer",
656
727
  title: s.username,
@@ -663,11 +734,11 @@ function Fe({ basics: e, list: t = [
663
734
  }
664
735
  //#endregion
665
736
  //#region src/components/ProfilePageJsonLd.tsx
666
- function Ie(e) {
737
+ function Ze(e) {
667
738
  return {
668
739
  "@context": "https://schema.org",
669
740
  "@type": "ProfilePage",
670
- name: e.basics.label ? S("profile_page_name", {
741
+ name: e.basics.label ? C("profile_page_name", {
671
742
  name: e.basics.name,
672
743
  label: e.basics.label
673
744
  }) : e.basics.name,
@@ -710,147 +781,16 @@ function Ie(e) {
710
781
  }
711
782
  };
712
783
  }
713
- function Le({ resume: e }) {
714
- return /* @__PURE__ */ _("script", {
784
+ function Qe({ resume: e }) {
785
+ return /* @__PURE__ */ v("script", {
715
786
  type: "application/ld+json",
716
- dangerouslySetInnerHTML: { __html: JSON.stringify(Ie(e)) }
787
+ dangerouslySetInnerHTML: { __html: JSON.stringify(Ze(e)) }
717
788
  });
718
789
  }
719
790
  //#endregion
720
- //#region src/components/SEO.tsx
721
- async function Re({ resume: e }) {
722
- let { basics: t, meta: n } = e, { seo: r } = n.themeConfig, i = r.title || (t.label ? `${t.name} - ${t.label}` : t.name), a = r.description || t.summary, { firstNameSlice: o, lastNameSlice: s } = ze(t.name);
723
- return /* @__PURE__ */ v(y, { children: [
724
- /* @__PURE__ */ _(Be, {
725
- title: i,
726
- description: a,
727
- canonical: r.canonical,
728
- robots: r.robots,
729
- favicon: r.favicon
730
- }),
731
- /* @__PURE__ */ _(Ve, {
732
- title: i,
733
- description: a,
734
- url: r.canonical,
735
- image: r.ogImage || t.image,
736
- firstName: r.firstName || o,
737
- lastName: r.lastName || s
738
- }),
739
- /* @__PURE__ */ _(He, {
740
- title: i,
741
- description: a,
742
- url: r.canonical,
743
- image: r.twitterImage || t.image
744
- })
745
- ] });
746
- }
747
- function ze(e) {
748
- let [t, ...n] = e.split(" ");
749
- return {
750
- firstNameSlice: t,
751
- lastNameSlice: n.join(" ")
752
- };
753
- }
754
- async function Be({ title: e, description: t, canonical: n, robots: r, favicon: i }) {
755
- return /* @__PURE__ */ v(y, { children: [
756
- /* @__PURE__ */ _("title", { children: e }),
757
- t && /* @__PURE__ */ _("meta", {
758
- name: "description",
759
- content: t
760
- }),
761
- /* @__PURE__ */ _("meta", {
762
- name: "robots",
763
- content: r || "index, follow"
764
- }),
765
- n && /* @__PURE__ */ _("link", {
766
- rel: "canonical",
767
- href: n
768
- }),
769
- i && /* @__PURE__ */ _("link", {
770
- rel: "icon",
771
- href: `data:image/svg+xml;base64,${btoa((await D(i)).toString())}`
772
- })
773
- ] });
774
- }
775
- function Ve({ title: e, description: t, url: n, image: r, firstName: i, lastName: a }) {
776
- return /* @__PURE__ */ v(y, { children: [
777
- /* @__PURE__ */ _("meta", {
778
- property: "og:type",
779
- content: "profile"
780
- }),
781
- /* @__PURE__ */ _("meta", {
782
- property: "og:title",
783
- content: e
784
- }),
785
- t && /* @__PURE__ */ _("meta", {
786
- property: "og:description",
787
- content: t
788
- }),
789
- i && /* @__PURE__ */ _("meta", {
790
- property: "profile:first_name",
791
- content: i
792
- }),
793
- a && /* @__PURE__ */ _("meta", {
794
- property: "profile:last_name",
795
- content: a
796
- }),
797
- r && /* @__PURE__ */ _("meta", {
798
- property: "og:image",
799
- content: r
800
- }),
801
- n && /* @__PURE__ */ _("meta", {
802
- property: "og:url",
803
- content: n
804
- })
805
- ] });
806
- }
807
- function He({ title: e, description: t, url: n, image: r }) {
808
- return /* @__PURE__ */ v(y, { children: [
809
- /* @__PURE__ */ _("meta", {
810
- property: "twitter:card",
811
- content: "summary_large_image"
812
- }),
813
- /* @__PURE__ */ _("meta", {
814
- property: "twitter:title",
815
- content: e
816
- }),
817
- t && /* @__PURE__ */ _("meta", {
818
- property: "twitter:description",
819
- content: t
820
- }),
821
- r && /* @__PURE__ */ _("meta", {
822
- property: "twitter:image",
823
- content: r
824
- }),
825
- n && /* @__PURE__ */ _("meta", {
826
- property: "twitter:url",
827
- content: n
828
- })
829
- ] });
830
- }
831
- //#endregion
832
- //#region src/components/Skills.tsx
833
- function Ue({ skills: e, ...t }) {
834
- return !e || e.length === 0 ? null : /* @__PURE__ */ _(E, {
835
- name: S("skills"),
836
- ...t,
837
- children: e.map((e) => /* @__PURE__ */ v("div", {
838
- className: "mb-4 break-inside-avoid",
839
- children: [/* @__PURE__ */ _("h3", {
840
- className: "text-xl font-bold tracking-tight text-gray-900 dark:text-white",
841
- children: e.name
842
- }), /* @__PURE__ */ _("ul", {
843
- className: "my-3 flex flex-wrap gap-2 leading-8",
844
- children: e.keywords?.map((e) => /* @__PURE__ */ _("li", {
845
- className: "badge",
846
- children: e
847
- }, e))
848
- })]
849
- }, e.name))
850
- });
851
- }
852
- Object.freeze({ status: "aborted" });
853
- function k(e, t, n) {
791
+ //#region ../../node_modules/.bun/zod@4.4.3/node_modules/zod/v4/core/core.js
792
+ var $e;
793
+ function A(e, t, n) {
854
794
  function r(n, r) {
855
795
  if (n._zod || Object.defineProperty(n, "_zod", {
856
796
  value: {
@@ -879,28 +819,30 @@ function k(e, t, n) {
879
819
  }
880
820
  return Object.defineProperty(o, "init", { value: r }), Object.defineProperty(o, Symbol.hasInstance, { value: (t) => n?.Parent && t instanceof n.Parent ? !0 : t?._zod?.traits?.has(e) }), Object.defineProperty(o, "name", { value: e }), o;
881
821
  }
882
- var A = class extends Error {
822
+ var j = class extends Error {
883
823
  constructor() {
884
824
  super("Encountered Promise during synchronous parse. Use .parseAsync() instead.");
885
825
  }
886
- }, We = class extends Error {
826
+ }, et = class extends Error {
887
827
  constructor(e) {
888
828
  super(`Encountered unidirectional transform during encode: ${e}`), this.name = "ZodEncodeError";
889
829
  }
890
- }, Ge = {};
891
- function j(e) {
892
- return e && Object.assign(Ge, e), Ge;
830
+ };
831
+ ($e = globalThis).__zod_globalConfig ?? ($e.__zod_globalConfig = {});
832
+ var tt = globalThis.__zod_globalConfig;
833
+ function M(e) {
834
+ return e && Object.assign(tt, e), tt;
893
835
  }
894
836
  //#endregion
895
- //#region ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/util.js
896
- function Ke(e) {
837
+ //#region ../../node_modules/.bun/zod@4.4.3/node_modules/zod/v4/core/util.js
838
+ function nt(e) {
897
839
  let t = Object.values(e).filter((e) => typeof e == "number");
898
840
  return Object.entries(e).filter(([e, n]) => t.indexOf(+e) === -1).map(([e, t]) => t);
899
841
  }
900
- function qe(e, t) {
842
+ function rt(e, t) {
901
843
  return typeof t == "bigint" ? t.toString() : t;
902
844
  }
903
- function Je(e) {
845
+ function it(e) {
904
846
  return { get value() {
905
847
  {
906
848
  let t = e();
@@ -909,19 +851,19 @@ function Je(e) {
909
851
  throw Error("cached value already set");
910
852
  } };
911
853
  }
912
- function Ye(e) {
854
+ function at(e) {
913
855
  return e == null;
914
856
  }
915
- function Xe(e) {
857
+ function ot(e) {
916
858
  let t = +!!e.startsWith("^"), n = e.endsWith("$") ? e.length - 1 : e.length;
917
859
  return e.slice(t, n);
918
860
  }
919
- var Ze = Symbol("evaluating");
920
- function M(e, t, n) {
861
+ var st = /* @__PURE__*/ Symbol("evaluating");
862
+ function N(e, t, n) {
921
863
  let r;
922
864
  Object.defineProperty(e, t, {
923
865
  get() {
924
- if (r !== Ze) return r === void 0 && (r = Ze, r = n()), r;
866
+ if (r !== st) return r === void 0 && (r = st, r = n()), r;
925
867
  },
926
868
  set(n) {
927
869
  Object.defineProperty(e, t, { value: n });
@@ -929,33 +871,33 @@ function M(e, t, n) {
929
871
  configurable: !0
930
872
  });
931
873
  }
932
- var Qe = "captureStackTrace" in Error ? Error.captureStackTrace : (...e) => {};
933
- function N(e) {
874
+ var ct = "captureStackTrace" in Error ? Error.captureStackTrace : (...e) => {};
875
+ function P(e) {
934
876
  return typeof e == "object" && !!e && !Array.isArray(e);
935
877
  }
936
- function $e(e) {
937
- if (N(e) === !1) return !1;
878
+ function lt(e) {
879
+ if (P(e) === !1) return !1;
938
880
  let t = e.constructor;
939
881
  if (t === void 0 || typeof t != "function") return !0;
940
882
  let n = t.prototype;
941
- return !(N(n) === !1 || Object.prototype.hasOwnProperty.call(n, "isPrototypeOf") === !1);
883
+ return !(P(n) === !1 || Object.prototype.hasOwnProperty.call(n, "isPrototypeOf") === !1);
942
884
  }
943
- function et(e) {
944
- return $e(e) ? { ...e } : Array.isArray(e) ? [...e] : e;
885
+ function ut(e) {
886
+ return lt(e) ? { ...e } : Array.isArray(e) ? [...e] : e instanceof Map ? new Map(e) : e instanceof Set ? new Set(e) : e;
945
887
  }
946
- var tt = new Set([
888
+ var dt = /* @__PURE__*/ new Set([
947
889
  "string",
948
890
  "number",
949
891
  "symbol"
950
892
  ]);
951
- function nt(e) {
893
+ function ft(e) {
952
894
  return e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
953
895
  }
954
- function rt(e, t, n) {
896
+ function pt(e, t, n) {
955
897
  let r = new e._zod.constr(t ?? e._zod.def);
956
898
  return (!t || n?.parent) && (r._zod.parent = e), r;
957
899
  }
958
- function P(e) {
900
+ function F(e) {
959
901
  let t = e;
960
902
  if (!t) return {};
961
903
  if (typeof t == "string") return { error: () => t };
@@ -968,35 +910,37 @@ function P(e) {
968
910
  error: () => t.error
969
911
  } : t;
970
912
  }
971
- function it(e) {
913
+ function mt(e) {
972
914
  return Object.keys(e).filter((t) => e[t]._zod.optin === "optional" && e[t]._zod.optout === "optional");
973
915
  }
974
916
  -Number.MAX_VALUE, Number.MAX_VALUE;
975
- function F(e, t = 0) {
917
+ function I(e, t = 0) {
976
918
  if (e.aborted === !0) return !0;
977
919
  for (let n = t; n < e.issues.length; n++) if (e.issues[n]?.continue !== !0) return !0;
978
920
  return !1;
979
921
  }
980
- function at(e, t) {
922
+ function ht(e, t = 0) {
923
+ if (e.aborted === !0) return !0;
924
+ for (let n = t; n < e.issues.length; n++) if (e.issues[n]?.continue === !1) return !0;
925
+ return !1;
926
+ }
927
+ function gt(e, t) {
981
928
  return t.map((t) => {
982
929
  var n;
983
930
  return (n = t).path ?? (n.path = []), t.path.unshift(e), t;
984
931
  });
985
932
  }
986
- function I(e) {
933
+ function L(e) {
987
934
  return typeof e == "string" ? e : e?.message;
988
935
  }
989
- function L(e, t, n) {
990
- let r = {
991
- ...e,
992
- path: e.path ?? []
993
- };
994
- return e.message || (r.message = I(e.inst?._zod.def?.error?.(e)) ?? I(t?.error?.(e)) ?? I(n.customError?.(e)) ?? I(n.localeError?.(e)) ?? "Invalid input"), delete r.inst, delete r.continue, t?.reportInput || delete r.input, r;
936
+ function R(e, t, n) {
937
+ let r = e.message ? e.message : L(e.inst?._zod.def?.error?.(e)) ?? L(t?.error?.(e)) ?? L(n.customError?.(e)) ?? L(n.localeError?.(e)) ?? "Invalid input", { inst: i, continue: a, input: o, ...s } = e;
938
+ return s.path ??= [], s.message = r, t?.reportInput && (s.input = o), s;
995
939
  }
996
- function ot(e) {
940
+ function _t(e) {
997
941
  return Array.isArray(e) ? "array" : typeof e == "string" ? "string" : "unknown";
998
942
  }
999
- function st(...e) {
943
+ function vt(...e) {
1000
944
  let [t, n, r] = e;
1001
945
  return typeof t == "string" ? {
1002
946
  message: t,
@@ -1006,40 +950,46 @@ function st(...e) {
1006
950
  } : { ...t };
1007
951
  }
1008
952
  //#endregion
1009
- //#region ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/errors.js
1010
- var ct = (e, t) => {
953
+ //#region ../../node_modules/.bun/zod@4.4.3/node_modules/zod/v4/core/errors.js
954
+ var yt = (e, t) => {
1011
955
  e.name = "$ZodError", Object.defineProperty(e, "_zod", {
1012
956
  value: e._zod,
1013
957
  enumerable: !1
1014
958
  }), Object.defineProperty(e, "issues", {
1015
959
  value: t,
1016
960
  enumerable: !1
1017
- }), e.message = JSON.stringify(t, qe, 2), Object.defineProperty(e, "toString", {
961
+ }), e.message = JSON.stringify(t, rt, 2), Object.defineProperty(e, "toString", {
1018
962
  value: () => e.message,
1019
963
  enumerable: !1
1020
964
  });
1021
- }, lt = k("$ZodError", ct), R = k("$ZodError", ct, { Parent: Error }), ut = /* @__PURE__ */ ((e) => (t, n, r, i) => {
1022
- let a = r ? Object.assign(r, { async: !1 }) : { async: !1 }, o = t._zod.run({
965
+ }, bt = A("$ZodError", yt), z = A("$ZodError", yt, { Parent: Error }), xt = /* @__PURE__*/ ((e) => (t, n, r, i) => {
966
+ let a = r ? {
967
+ ...r,
968
+ async: !1
969
+ } : { async: !1 }, o = t._zod.run({
1023
970
  value: n,
1024
971
  issues: []
1025
972
  }, a);
1026
- if (o instanceof Promise) throw new A();
973
+ if (o instanceof Promise) throw new j();
1027
974
  if (o.issues.length) {
1028
- let t = new (i?.Err ?? e)(o.issues.map((e) => L(e, a, j())));
1029
- throw Qe(t, i?.callee), t;
975
+ let t = new (i?.Err ?? e)(o.issues.map((e) => R(e, a, M())));
976
+ throw ct(t, i?.callee), t;
1030
977
  }
1031
978
  return o.value;
1032
- })(R), dt = /* @__PURE__ */ ((e) => async (t, n, r, i) => {
1033
- let a = r ? Object.assign(r, { async: !0 }) : { async: !0 }, o = t._zod.run({
979
+ })(z), St = /* @__PURE__*/ ((e) => async (t, n, r, i) => {
980
+ let a = r ? {
981
+ ...r,
982
+ async: !0
983
+ } : { async: !0 }, o = t._zod.run({
1034
984
  value: n,
1035
985
  issues: []
1036
986
  }, a);
1037
987
  if (o instanceof Promise && (o = await o), o.issues.length) {
1038
- let t = new (i?.Err ?? e)(o.issues.map((e) => L(e, a, j())));
1039
- throw Qe(t, i?.callee), t;
988
+ let t = new (i?.Err ?? e)(o.issues.map((e) => R(e, a, M())));
989
+ throw ct(t, i?.callee), t;
1040
990
  }
1041
991
  return o.value;
1042
- })(R), ft = /* @__PURE__ */ ((e) => (t, n, r) => {
992
+ })(z), Ct = /* @__PURE__*/ ((e) => (t, n, r) => {
1043
993
  let i = r ? {
1044
994
  ...r,
1045
995
  async: !1
@@ -1047,44 +997,47 @@ var ct = (e, t) => {
1047
997
  value: n,
1048
998
  issues: []
1049
999
  }, i);
1050
- if (a instanceof Promise) throw new A();
1000
+ if (a instanceof Promise) throw new j();
1051
1001
  return a.issues.length ? {
1052
1002
  success: !1,
1053
- error: new (e ?? lt)(a.issues.map((e) => L(e, i, j())))
1003
+ error: new (e ?? bt)(a.issues.map((e) => R(e, i, M())))
1054
1004
  } : {
1055
1005
  success: !0,
1056
1006
  data: a.value
1057
1007
  };
1058
- })(R), pt = /* @__PURE__ */ ((e) => async (t, n, r) => {
1059
- let i = r ? Object.assign(r, { async: !0 }) : { async: !0 }, a = t._zod.run({
1008
+ })(z), wt = /* @__PURE__*/ ((e) => async (t, n, r) => {
1009
+ let i = r ? {
1010
+ ...r,
1011
+ async: !0
1012
+ } : { async: !0 }, a = t._zod.run({
1060
1013
  value: n,
1061
1014
  issues: []
1062
1015
  }, i);
1063
1016
  return a instanceof Promise && (a = await a), a.issues.length ? {
1064
1017
  success: !1,
1065
- error: new e(a.issues.map((e) => L(e, i, j())))
1018
+ error: new e(a.issues.map((e) => R(e, i, M())))
1066
1019
  } : {
1067
1020
  success: !0,
1068
1021
  data: a.value
1069
1022
  };
1070
- })(R), mt = /^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/, ht = (e) => {
1023
+ })(z), Tt = /^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/, Et = /^https?$/, Dt = (e) => {
1071
1024
  let t = e ? `[\\s\\S]{${e?.minimum ?? 0},${e?.maximum ?? ""}}` : "[\\s\\S]*";
1072
1025
  return RegExp(`^${t}$`);
1073
- }, gt = /^-?\d+(?:\.\d+)?$/, _t = /^(?:true|false)$/i, z = /* @__PURE__ */ k("$ZodCheck", (e, t) => {
1026
+ }, Ot = /^-?\d+(?:\.\d+)?$/, kt = /^(?:true|false)$/i, B = /*@__PURE__*/ A("$ZodCheck", (e, t) => {
1074
1027
  var n;
1075
1028
  e._zod ??= {}, e._zod.def = t, (n = e._zod).onattach ?? (n.onattach = []);
1076
- }), vt = /* @__PURE__ */ k("$ZodCheckLengthEquals", (e, t) => {
1029
+ }), At = /*@__PURE__*/ A("$ZodCheckLengthEquals", (e, t) => {
1077
1030
  var n;
1078
- z.init(e, t), (n = e._zod.def).when ?? (n.when = (e) => {
1031
+ B.init(e, t), (n = e._zod.def).when ?? (n.when = (e) => {
1079
1032
  let t = e.value;
1080
- return !Ye(t) && t.length !== void 0;
1033
+ return !at(t) && t.length !== void 0;
1081
1034
  }), e._zod.onattach.push((e) => {
1082
1035
  let n = e._zod.bag;
1083
1036
  n.minimum = t.length, n.maximum = t.length, n.length = t.length;
1084
1037
  }), e._zod.check = (n) => {
1085
1038
  let r = n.value, i = r.length;
1086
1039
  if (i === t.length) return;
1087
- let a = ot(r), o = i > t.length;
1040
+ let a = _t(r), o = i > t.length;
1088
1041
  n.issues.push({
1089
1042
  origin: a,
1090
1043
  ...o ? {
@@ -1101,9 +1054,9 @@ var ct = (e, t) => {
1101
1054
  continue: !t.abort
1102
1055
  });
1103
1056
  };
1104
- }), yt = /* @__PURE__ */ k("$ZodCheckStringFormat", (e, t) => {
1057
+ }), jt = /*@__PURE__*/ A("$ZodCheckStringFormat", (e, t) => {
1105
1058
  var n, r;
1106
- z.init(e, t), e._zod.onattach.push((e) => {
1059
+ B.init(e, t), e._zod.onattach.push((e) => {
1107
1060
  let n = e._zod.bag;
1108
1061
  n.format = t.format, t.pattern && (n.patterns ??= /* @__PURE__ */ new Set(), n.patterns.add(t.pattern));
1109
1062
  }), t.pattern ? (n = e._zod).check ?? (n.check = (n) => {
@@ -1117,8 +1070,8 @@ var ct = (e, t) => {
1117
1070
  continue: !t.abort
1118
1071
  });
1119
1072
  }) : (r = e._zod).check ?? (r.check = () => {});
1120
- }), bt = /* @__PURE__ */ k("$ZodCheckRegex", (e, t) => {
1121
- yt.init(e, t), e._zod.check = (n) => {
1073
+ }), Mt = /*@__PURE__*/ A("$ZodCheckRegex", (e, t) => {
1074
+ jt.init(e, t), e._zod.check = (n) => {
1122
1075
  t.pattern.lastIndex = 0, !t.pattern.test(n.value) && n.issues.push({
1123
1076
  origin: "string",
1124
1077
  code: "invalid_format",
@@ -1129,13 +1082,13 @@ var ct = (e, t) => {
1129
1082
  continue: !t.abort
1130
1083
  });
1131
1084
  };
1132
- }), xt = {
1085
+ }), Nt = {
1133
1086
  major: 4,
1134
- minor: 3,
1135
- patch: 6
1136
- }, B = /* @__PURE__ */ k("$ZodType", (e, t) => {
1087
+ minor: 4,
1088
+ patch: 3
1089
+ }, V = /*@__PURE__*/ A("$ZodType", (e, t) => {
1137
1090
  var n;
1138
- e ??= {}, e._zod.def = t, e._zod.bag = e._zod.bag || {}, e._zod.version = xt;
1091
+ e ??= {}, e._zod.def = t, e._zod.bag = e._zod.bag || {}, e._zod.version = Nt;
1139
1092
  let r = [...e._zod.def.checks ?? []];
1140
1093
  e._zod.traits.has("$ZodCheck") && r.unshift(e);
1141
1094
  for (let t of r) for (let n of t._zod.onattach) n(e);
@@ -1144,27 +1097,27 @@ var ct = (e, t) => {
1144
1097
  });
1145
1098
  else {
1146
1099
  let t = (e, t, n) => {
1147
- let r = F(e), i;
1100
+ let r = I(e), i;
1148
1101
  for (let a of t) {
1149
1102
  if (a._zod.def.when) {
1150
- if (!a._zod.def.when(e)) continue;
1103
+ if (ht(e) || !a._zod.def.when(e)) continue;
1151
1104
  } else if (r) continue;
1152
1105
  let t = e.issues.length, o = a._zod.check(e);
1153
- if (o instanceof Promise && n?.async === !1) throw new A();
1106
+ if (o instanceof Promise && n?.async === !1) throw new j();
1154
1107
  if (i || o instanceof Promise) i = (i ?? Promise.resolve()).then(async () => {
1155
- await o, e.issues.length !== t && (r ||= F(e, t));
1108
+ await o, e.issues.length !== t && (r ||= I(e, t));
1156
1109
  });
1157
1110
  else {
1158
1111
  if (e.issues.length === t) continue;
1159
- r ||= F(e, t);
1112
+ r ||= I(e, t);
1160
1113
  }
1161
1114
  }
1162
1115
  return i ? i.then(() => e) : e;
1163
1116
  }, n = (n, i, a) => {
1164
- if (F(n)) return n.aborted = !0, n;
1117
+ if (I(n)) return n.aborted = !0, n;
1165
1118
  let o = t(i, r, a);
1166
1119
  if (o instanceof Promise) {
1167
- if (a.async === !1) throw new A();
1120
+ if (a.async === !1) throw new j();
1168
1121
  return o.then((t) => e._zod.parse(t, a));
1169
1122
  }
1170
1123
  return e._zod.parse(o, a);
@@ -1183,26 +1136,26 @@ var ct = (e, t) => {
1183
1136
  }
1184
1137
  let o = e._zod.parse(i, a);
1185
1138
  if (o instanceof Promise) {
1186
- if (a.async === !1) throw new A();
1139
+ if (a.async === !1) throw new j();
1187
1140
  return o.then((e) => t(e, r, a));
1188
1141
  }
1189
1142
  return t(o, r, a);
1190
1143
  };
1191
1144
  }
1192
- M(e, "~standard", () => ({
1145
+ N(e, "~standard", () => ({
1193
1146
  validate: (t) => {
1194
1147
  try {
1195
- let n = ft(e, t);
1148
+ let n = Ct(e, t);
1196
1149
  return n.success ? { value: n.data } : { issues: n.error?.issues };
1197
1150
  } catch {
1198
- return pt(e, t).then((e) => e.success ? { value: e.data } : { issues: e.error?.issues });
1151
+ return wt(e, t).then((e) => e.success ? { value: e.data } : { issues: e.error?.issues });
1199
1152
  }
1200
1153
  },
1201
1154
  vendor: "zod",
1202
1155
  version: 1
1203
1156
  }));
1204
- }), St = /* @__PURE__ */ k("$ZodString", (e, t) => {
1205
- B.init(e, t), e._zod.pattern = [...e?._zod.bag?.patterns ?? []].pop() ?? ht(e._zod.bag), e._zod.parse = (n, r) => {
1157
+ }), Pt = /*@__PURE__*/ A("$ZodString", (e, t) => {
1158
+ V.init(e, t), e._zod.pattern = [...e?._zod.bag?.patterns ?? []].pop() ?? Dt(e._zod.bag), e._zod.parse = (n, r) => {
1206
1159
  if (t.coerce) try {
1207
1160
  n.value = String(n.value);
1208
1161
  } catch {}
@@ -1213,14 +1166,26 @@ var ct = (e, t) => {
1213
1166
  inst: e
1214
1167
  }), n;
1215
1168
  };
1216
- }), V = /* @__PURE__ */ k("$ZodStringFormat", (e, t) => {
1217
- yt.init(e, t), St.init(e, t);
1218
- }), Ct = /* @__PURE__ */ k("$ZodEmail", (e, t) => {
1219
- t.pattern ??= mt, V.init(e, t);
1220
- }), wt = /* @__PURE__ */ k("$ZodURL", (e, t) => {
1221
- V.init(e, t), e._zod.check = (n) => {
1169
+ }), H = /*@__PURE__*/ A("$ZodStringFormat", (e, t) => {
1170
+ jt.init(e, t), Pt.init(e, t);
1171
+ }), Ft = /*@__PURE__*/ A("$ZodEmail", (e, t) => {
1172
+ t.pattern ??= Tt, H.init(e, t);
1173
+ }), It = /*@__PURE__*/ A("$ZodURL", (e, t) => {
1174
+ H.init(e, t), e._zod.check = (n) => {
1222
1175
  try {
1223
- let r = n.value.trim(), i = new URL(r);
1176
+ let r = n.value.trim();
1177
+ if (!t.normalize && t.protocol?.source === Et.source && !/^https?:\/\//i.test(r)) {
1178
+ n.issues.push({
1179
+ code: "invalid_format",
1180
+ format: "url",
1181
+ note: "Invalid URL format",
1182
+ input: n.value,
1183
+ inst: e,
1184
+ continue: !t.abort
1185
+ });
1186
+ return;
1187
+ }
1188
+ let i = new URL(r);
1224
1189
  t.hostname && (t.hostname.lastIndex = 0, t.hostname.test(i.hostname) || n.issues.push({
1225
1190
  code: "invalid_format",
1226
1191
  format: "url",
@@ -1249,8 +1214,8 @@ var ct = (e, t) => {
1249
1214
  });
1250
1215
  }
1251
1216
  };
1252
- }), Tt = /* @__PURE__ */ k("$ZodNumber", (e, t) => {
1253
- B.init(e, t), e._zod.pattern = e._zod.bag.pattern ?? gt, e._zod.parse = (n, r) => {
1217
+ }), Lt = /*@__PURE__*/ A("$ZodNumber", (e, t) => {
1218
+ V.init(e, t), e._zod.pattern = e._zod.bag.pattern ?? Ot, e._zod.parse = (n, r) => {
1254
1219
  if (t.coerce) try {
1255
1220
  n.value = Number(n.value);
1256
1221
  } catch {}
@@ -1265,8 +1230,8 @@ var ct = (e, t) => {
1265
1230
  ...a ? { received: a } : {}
1266
1231
  }), n;
1267
1232
  };
1268
- }), Et = /* @__PURE__ */ k("$ZodBoolean", (e, t) => {
1269
- B.init(e, t), e._zod.pattern = _t, e._zod.parse = (n, r) => {
1233
+ }), Rt = /*@__PURE__*/ A("$ZodBoolean", (e, t) => {
1234
+ V.init(e, t), e._zod.pattern = kt, e._zod.parse = (n, r) => {
1270
1235
  if (t.coerce) try {
1271
1236
  n.value = !!n.value;
1272
1237
  } catch {}
@@ -1278,14 +1243,14 @@ var ct = (e, t) => {
1278
1243
  inst: e
1279
1244
  }), n;
1280
1245
  };
1281
- }), Dt = /* @__PURE__ */ k("$ZodUnknown", (e, t) => {
1282
- B.init(e, t), e._zod.parse = (e) => e;
1246
+ }), zt = /*@__PURE__*/ A("$ZodUnknown", (e, t) => {
1247
+ V.init(e, t), e._zod.parse = (e) => e;
1283
1248
  });
1284
- function Ot(e, t, n) {
1285
- e.issues.length && t.issues.push(...at(n, e.issues)), t.value[n] = e.value;
1249
+ function Bt(e, t, n) {
1250
+ e.issues.length && t.issues.push(...gt(n, e.issues)), t.value[n] = e.value;
1286
1251
  }
1287
- var kt = /* @__PURE__ */ k("$ZodArray", (e, t) => {
1288
- B.init(e, t), e._zod.parse = (n, r) => {
1252
+ var Vt = /*@__PURE__*/ A("$ZodArray", (e, t) => {
1253
+ V.init(e, t), e._zod.parse = (n, r) => {
1289
1254
  let i = n.value;
1290
1255
  if (!Array.isArray(i)) return n.issues.push({
1291
1256
  expected: "array",
@@ -1300,22 +1265,32 @@ var kt = /* @__PURE__ */ k("$ZodArray", (e, t) => {
1300
1265
  value: o,
1301
1266
  issues: []
1302
1267
  }, r);
1303
- s instanceof Promise ? a.push(s.then((t) => Ot(t, n, e))) : Ot(s, n, e);
1268
+ s instanceof Promise ? a.push(s.then((t) => Bt(t, n, e))) : Bt(s, n, e);
1304
1269
  }
1305
1270
  return a.length ? Promise.all(a).then(() => n) : n;
1306
1271
  };
1307
1272
  });
1308
- function H(e, t, n, r, i) {
1273
+ function U(e, t, n, r, i, a) {
1274
+ let o = n in r;
1309
1275
  if (e.issues.length) {
1310
- if (i && !(n in r)) return;
1311
- t.issues.push(...at(n, e.issues));
1276
+ if (i && a && !o) return;
1277
+ t.issues.push(...gt(n, e.issues));
1278
+ }
1279
+ if (!o && !i) {
1280
+ e.issues.length || t.issues.push({
1281
+ code: "invalid_type",
1282
+ expected: "nonoptional",
1283
+ input: void 0,
1284
+ path: [n]
1285
+ });
1286
+ return;
1312
1287
  }
1313
- e.value === void 0 ? n in r && (t.value[n] = void 0) : t.value[n] = e.value;
1288
+ e.value === void 0 ? o && (t.value[n] = void 0) : t.value[n] = e.value;
1314
1289
  }
1315
- function At(e) {
1290
+ function Ht(e) {
1316
1291
  let t = Object.keys(e.shape);
1317
1292
  for (let n of t) if (!e.shape?.[n]?._zod?.traits?.has("$ZodType")) throw Error(`Invalid element at key "${n}": expected a Zod schema`);
1318
- let n = it(e.shape);
1293
+ let n = mt(e.shape);
1319
1294
  return {
1320
1295
  ...e,
1321
1296
  keys: t,
@@ -1324,10 +1299,10 @@ function At(e) {
1324
1299
  optionalKeys: new Set(n)
1325
1300
  };
1326
1301
  }
1327
- function jt(e, t, n, r, i, a) {
1328
- let o = [], s = i.keySet, c = i.catchall._zod, l = c.def.type, u = c.optout === "optional";
1302
+ function Ut(e, t, n, r, i, a) {
1303
+ let o = [], s = i.keySet, c = i.catchall._zod, l = c.def.type, u = c.optin === "optional", d = c.optout === "optional";
1329
1304
  for (let i in t) {
1330
- if (s.has(i)) continue;
1305
+ if (i === "__proto__" || s.has(i)) continue;
1331
1306
  if (l === "never") {
1332
1307
  o.push(i);
1333
1308
  continue;
@@ -1336,7 +1311,7 @@ function jt(e, t, n, r, i, a) {
1336
1311
  value: t[i],
1337
1312
  issues: []
1338
1313
  }, r);
1339
- a instanceof Promise ? e.push(a.then((e) => H(e, n, i, t, u))) : H(a, n, i, t, u);
1314
+ a instanceof Promise ? e.push(a.then((e) => U(e, n, i, t, u, d))) : U(a, n, i, t, u, d);
1340
1315
  }
1341
1316
  return o.length && n.issues.push({
1342
1317
  code: "unrecognized_keys",
@@ -1345,16 +1320,16 @@ function jt(e, t, n, r, i, a) {
1345
1320
  inst: a
1346
1321
  }), e.length ? Promise.all(e).then(() => n) : n;
1347
1322
  }
1348
- var Mt = /* @__PURE__ */ k("$ZodObject", (e, t) => {
1349
- if (B.init(e, t), !Object.getOwnPropertyDescriptor(t, "shape")?.get) {
1323
+ var Wt = /*@__PURE__*/ A("$ZodObject", (e, t) => {
1324
+ if (V.init(e, t), !Object.getOwnPropertyDescriptor(t, "shape")?.get) {
1350
1325
  let e = t.shape;
1351
1326
  Object.defineProperty(t, "shape", { get: () => {
1352
1327
  let n = { ...e };
1353
1328
  return Object.defineProperty(t, "shape", { value: n }), n;
1354
1329
  } });
1355
1330
  }
1356
- let n = Je(() => At(t));
1357
- M(e._zod, "propValues", () => {
1331
+ let n = it(() => Ht(t));
1332
+ N(e._zod, "propValues", () => {
1358
1333
  let e = t.shape, n = {};
1359
1334
  for (let t in e) {
1360
1335
  let r = e[t]._zod;
@@ -1365,7 +1340,7 @@ var Mt = /* @__PURE__ */ k("$ZodObject", (e, t) => {
1365
1340
  }
1366
1341
  return n;
1367
1342
  });
1368
- let r = N, i = t.catchall, a;
1343
+ let r = P, i = t.catchall, a;
1369
1344
  e._zod.parse = (t, o) => {
1370
1345
  a ??= n.value;
1371
1346
  let s = t.value;
@@ -1378,18 +1353,18 @@ var Mt = /* @__PURE__ */ k("$ZodObject", (e, t) => {
1378
1353
  t.value = {};
1379
1354
  let c = [], l = a.shape;
1380
1355
  for (let e of a.keys) {
1381
- let n = l[e], r = n._zod.optout === "optional", i = n._zod.run({
1356
+ let n = l[e], r = n._zod.optin === "optional", i = n._zod.optout === "optional", a = n._zod.run({
1382
1357
  value: s[e],
1383
1358
  issues: []
1384
1359
  }, o);
1385
- i instanceof Promise ? c.push(i.then((n) => H(n, t, e, s, r))) : H(i, t, e, s, r);
1360
+ a instanceof Promise ? c.push(a.then((n) => U(n, t, e, s, r, i))) : U(a, t, e, s, r, i);
1386
1361
  }
1387
- return i ? jt(c, s, t, o, n.value, e) : c.length ? Promise.all(c).then(() => t) : t;
1362
+ return i ? Ut(c, s, t, o, n.value, e) : c.length ? Promise.all(c).then(() => t) : t;
1388
1363
  };
1389
- }), Nt = /* @__PURE__ */ k("$ZodEnum", (e, t) => {
1390
- B.init(e, t);
1391
- let n = Ke(t.entries), r = new Set(n);
1392
- e._zod.values = r, e._zod.pattern = RegExp(`^(${n.filter((e) => tt.has(typeof e)).map((e) => typeof e == "string" ? nt(e) : e.toString()).join("|")})$`), e._zod.parse = (t, i) => {
1364
+ }), Gt = /*@__PURE__*/ A("$ZodEnum", (e, t) => {
1365
+ V.init(e, t);
1366
+ let n = nt(t.entries), r = new Set(n);
1367
+ e._zod.values = r, e._zod.pattern = RegExp(`^(${n.filter((e) => dt.has(typeof e)).map((e) => typeof e == "string" ? ft(e) : e.toString()).join("|")})$`), e._zod.parse = (t, i) => {
1393
1368
  let a = t.value;
1394
1369
  return r.has(a) || t.issues.push({
1395
1370
  code: "invalid_value",
@@ -1398,83 +1373,84 @@ var Mt = /* @__PURE__ */ k("$ZodObject", (e, t) => {
1398
1373
  inst: e
1399
1374
  }), t;
1400
1375
  };
1401
- }), Pt = /* @__PURE__ */ k("$ZodTransform", (e, t) => {
1402
- B.init(e, t), e._zod.parse = (n, r) => {
1403
- if (r.direction === "backward") throw new We(e.constructor.name);
1376
+ }), Kt = /*@__PURE__*/ A("$ZodTransform", (e, t) => {
1377
+ V.init(e, t), e._zod.optin = "optional", e._zod.parse = (n, r) => {
1378
+ if (r.direction === "backward") throw new et(e.constructor.name);
1404
1379
  let i = t.transform(n.value, n);
1405
- if (r.async) return (i instanceof Promise ? i : Promise.resolve(i)).then((e) => (n.value = e, n));
1406
- if (i instanceof Promise) throw new A();
1407
- return n.value = i, n;
1380
+ if (r.async) return (i instanceof Promise ? i : Promise.resolve(i)).then((e) => (n.value = e, n.fallback = !0, n));
1381
+ if (i instanceof Promise) throw new j();
1382
+ return n.value = i, n.fallback = !0, n;
1408
1383
  };
1409
1384
  });
1410
- function Ft(e, t) {
1411
- return e.issues.length && t === void 0 ? {
1385
+ function qt(e, t) {
1386
+ return t === void 0 && (e.issues.length || e.fallback) ? {
1412
1387
  issues: [],
1413
1388
  value: void 0
1414
1389
  } : e;
1415
1390
  }
1416
- var It = /* @__PURE__ */ k("$ZodOptional", (e, t) => {
1417
- B.init(e, t), e._zod.optin = "optional", e._zod.optout = "optional", M(e._zod, "values", () => t.innerType._zod.values ? new Set([...t.innerType._zod.values, void 0]) : void 0), M(e._zod, "pattern", () => {
1391
+ var Jt = /*@__PURE__*/ A("$ZodOptional", (e, t) => {
1392
+ V.init(e, t), e._zod.optin = "optional", e._zod.optout = "optional", N(e._zod, "values", () => t.innerType._zod.values ? new Set([...t.innerType._zod.values, void 0]) : void 0), N(e._zod, "pattern", () => {
1418
1393
  let e = t.innerType._zod.pattern;
1419
- return e ? RegExp(`^(${Xe(e.source)})?$`) : void 0;
1394
+ return e ? RegExp(`^(${ot(e.source)})?$`) : void 0;
1420
1395
  }), e._zod.parse = (e, n) => {
1421
1396
  if (t.innerType._zod.optin === "optional") {
1422
- let r = t.innerType._zod.run(e, n);
1423
- return r instanceof Promise ? r.then((t) => Ft(t, e.value)) : Ft(r, e.value);
1397
+ let r = e.value, i = t.innerType._zod.run(e, n);
1398
+ return i instanceof Promise ? i.then((e) => qt(e, r)) : qt(i, r);
1424
1399
  }
1425
1400
  return e.value === void 0 ? e : t.innerType._zod.run(e, n);
1426
1401
  };
1427
- }), Lt = /* @__PURE__ */ k("$ZodDefault", (e, t) => {
1428
- B.init(e, t), e._zod.optin = "optional", M(e._zod, "values", () => t.innerType._zod.values), e._zod.parse = (e, n) => {
1402
+ }), Yt = /*@__PURE__*/ A("$ZodDefault", (e, t) => {
1403
+ V.init(e, t), e._zod.optin = "optional", N(e._zod, "values", () => t.innerType._zod.values), e._zod.parse = (e, n) => {
1429
1404
  if (n.direction === "backward") return t.innerType._zod.run(e, n);
1430
1405
  if (e.value === void 0) return e.value = t.defaultValue, e;
1431
1406
  let r = t.innerType._zod.run(e, n);
1432
- return r instanceof Promise ? r.then((e) => Rt(e, t)) : Rt(r, t);
1407
+ return r instanceof Promise ? r.then((e) => Xt(e, t)) : Xt(r, t);
1433
1408
  };
1434
1409
  });
1435
- function Rt(e, t) {
1410
+ function Xt(e, t) {
1436
1411
  return e.value === void 0 && (e.value = t.defaultValue), e;
1437
1412
  }
1438
- var zt = /* @__PURE__ */ k("$ZodPrefault", (e, t) => {
1439
- B.init(e, t), e._zod.optin = "optional", M(e._zod, "values", () => t.innerType._zod.values), e._zod.parse = (e, n) => (n.direction === "backward" || e.value === void 0 && (e.value = t.defaultValue), t.innerType._zod.run(e, n));
1440
- }), Bt = /* @__PURE__ */ k("$ZodCatch", (e, t) => {
1441
- B.init(e, t), M(e._zod, "optin", () => t.innerType._zod.optin), M(e._zod, "optout", () => t.innerType._zod.optout), M(e._zod, "values", () => t.innerType._zod.values), e._zod.parse = (e, n) => {
1413
+ var Zt = /*@__PURE__*/ A("$ZodPrefault", (e, t) => {
1414
+ V.init(e, t), e._zod.optin = "optional", N(e._zod, "values", () => t.innerType._zod.values), e._zod.parse = (e, n) => (n.direction === "backward" || e.value === void 0 && (e.value = t.defaultValue), t.innerType._zod.run(e, n));
1415
+ }), Qt = /*@__PURE__*/ A("$ZodCatch", (e, t) => {
1416
+ V.init(e, t), e._zod.optin = "optional", N(e._zod, "optout", () => t.innerType._zod.optout), N(e._zod, "values", () => t.innerType._zod.values), e._zod.parse = (e, n) => {
1442
1417
  if (n.direction === "backward") return t.innerType._zod.run(e, n);
1443
1418
  let r = t.innerType._zod.run(e, n);
1444
1419
  return r instanceof Promise ? r.then((r) => (e.value = r.value, r.issues.length && (e.value = t.catchValue({
1445
1420
  ...e,
1446
- error: { issues: r.issues.map((e) => L(e, n, j())) },
1421
+ error: { issues: r.issues.map((e) => R(e, n, M())) },
1447
1422
  input: e.value
1448
- }), e.issues = []), e)) : (e.value = r.value, r.issues.length && (e.value = t.catchValue({
1423
+ }), e.issues = [], e.fallback = !0), e)) : (e.value = r.value, r.issues.length && (e.value = t.catchValue({
1449
1424
  ...e,
1450
- error: { issues: r.issues.map((e) => L(e, n, j())) },
1425
+ error: { issues: r.issues.map((e) => R(e, n, M())) },
1451
1426
  input: e.value
1452
- }), e.issues = []), e);
1427
+ }), e.issues = [], e.fallback = !0), e);
1453
1428
  };
1454
- }), Vt = /* @__PURE__ */ k("$ZodPipe", (e, t) => {
1455
- B.init(e, t), M(e._zod, "values", () => t.in._zod.values), M(e._zod, "optin", () => t.in._zod.optin), M(e._zod, "optout", () => t.out._zod.optout), M(e._zod, "propValues", () => t.in._zod.propValues), e._zod.parse = (e, n) => {
1429
+ }), $t = /*@__PURE__*/ A("$ZodPipe", (e, t) => {
1430
+ V.init(e, t), N(e._zod, "values", () => t.in._zod.values), N(e._zod, "optin", () => t.in._zod.optin), N(e._zod, "optout", () => t.out._zod.optout), N(e._zod, "propValues", () => t.in._zod.propValues), e._zod.parse = (e, n) => {
1456
1431
  if (n.direction === "backward") {
1457
1432
  let r = t.out._zod.run(e, n);
1458
- return r instanceof Promise ? r.then((e) => U(e, t.in, n)) : U(r, t.in, n);
1433
+ return r instanceof Promise ? r.then((e) => W(e, t.in, n)) : W(r, t.in, n);
1459
1434
  }
1460
1435
  let r = t.in._zod.run(e, n);
1461
- return r instanceof Promise ? r.then((e) => U(e, t.out, n)) : U(r, t.out, n);
1436
+ return r instanceof Promise ? r.then((e) => W(e, t.out, n)) : W(r, t.out, n);
1462
1437
  };
1463
1438
  });
1464
- function U(e, t, n) {
1439
+ function W(e, t, n) {
1465
1440
  return e.issues.length ? (e.aborted = !0, e) : t._zod.run({
1466
1441
  value: e.value,
1467
- issues: e.issues
1442
+ issues: e.issues,
1443
+ fallback: e.fallback
1468
1444
  }, n);
1469
1445
  }
1470
- var Ht = /* @__PURE__ */ k("$ZodCustom", (e, t) => {
1471
- z.init(e, t), B.init(e, t), e._zod.parse = (e, t) => e, e._zod.check = (n) => {
1446
+ var en = /*@__PURE__*/ A("$ZodCustom", (e, t) => {
1447
+ B.init(e, t), V.init(e, t), e._zod.parse = (e, t) => e, e._zod.check = (n) => {
1472
1448
  let r = n.value, i = t.fn(r);
1473
- if (i instanceof Promise) return i.then((t) => Ut(t, n, r, e));
1474
- Ut(i, n, r, e);
1449
+ if (i instanceof Promise) return i.then((t) => tn(t, n, r, e));
1450
+ tn(i, n, r, e);
1475
1451
  };
1476
1452
  });
1477
- function Ut(e, t, n, r) {
1453
+ function tn(e, t, n, r) {
1478
1454
  if (!e) {
1479
1455
  let e = {
1480
1456
  code: "custom",
@@ -1483,422 +1459,619 @@ function Ut(e, t, n, r) {
1483
1459
  path: [...r._zod.def.path ?? []],
1484
1460
  continue: !r._zod.def.abort
1485
1461
  };
1486
- r._zod.def.params && (e.params = r._zod.def.params), t.issues.push(st(e));
1462
+ r._zod.def.params && (e.params = r._zod.def.params), t.issues.push(vt(e));
1487
1463
  }
1488
1464
  }
1489
1465
  //#endregion
1490
- //#region ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/core/api.js
1491
- /* @__NO_SIDE_EFFECTS__ */
1492
- function Wt(e, t) {
1466
+ //#region ../../node_modules/.bun/zod@4.4.3/node_modules/zod/v4/core/api.js
1467
+ // @__NO_SIDE_EFFECTS__
1468
+ function nn(e, t) {
1493
1469
  return new e({
1494
1470
  type: "string",
1495
- ...P(t)
1471
+ ...F(t)
1496
1472
  });
1497
1473
  }
1498
- /* @__NO_SIDE_EFFECTS__ */
1499
- function Gt(e, t) {
1474
+ // @__NO_SIDE_EFFECTS__
1475
+ function rn(e, t) {
1500
1476
  return new e({
1501
1477
  type: "string",
1502
1478
  format: "email",
1503
1479
  check: "string_format",
1504
1480
  abort: !1,
1505
- ...P(t)
1481
+ ...F(t)
1506
1482
  });
1507
1483
  }
1508
- /* @__NO_SIDE_EFFECTS__ */
1509
- function Kt(e, t) {
1484
+ // @__NO_SIDE_EFFECTS__
1485
+ function an(e, t) {
1510
1486
  return new e({
1511
1487
  type: "string",
1512
1488
  format: "url",
1513
1489
  check: "string_format",
1514
1490
  abort: !1,
1515
- ...P(t)
1491
+ ...F(t)
1516
1492
  });
1517
1493
  }
1518
- /* @__NO_SIDE_EFFECTS__ */
1519
- function qt(e, t) {
1494
+ // @__NO_SIDE_EFFECTS__
1495
+ function on(e, t) {
1520
1496
  return new e({
1521
1497
  type: "number",
1522
1498
  checks: [],
1523
- ...P(t)
1499
+ ...F(t)
1524
1500
  });
1525
1501
  }
1526
- /* @__NO_SIDE_EFFECTS__ */
1527
- function Jt(e, t) {
1502
+ // @__NO_SIDE_EFFECTS__
1503
+ function sn(e, t) {
1528
1504
  return new e({
1529
1505
  type: "boolean",
1530
- ...P(t)
1506
+ ...F(t)
1531
1507
  });
1532
1508
  }
1533
- /* @__NO_SIDE_EFFECTS__ */
1534
- function Yt(e) {
1509
+ // @__NO_SIDE_EFFECTS__
1510
+ function cn(e) {
1535
1511
  return new e({ type: "unknown" });
1536
1512
  }
1537
- /* @__NO_SIDE_EFFECTS__ */
1538
- function Xt(e, t) {
1539
- return new vt({
1513
+ // @__NO_SIDE_EFFECTS__
1514
+ function ln(e, t) {
1515
+ return new At({
1540
1516
  check: "length_equals",
1541
- ...P(t),
1517
+ ...F(t),
1542
1518
  length: e
1543
1519
  });
1544
1520
  }
1545
- /* @__NO_SIDE_EFFECTS__ */
1546
- function Zt(e, t) {
1547
- return new bt({
1521
+ // @__NO_SIDE_EFFECTS__
1522
+ function un(e, t) {
1523
+ return new Mt({
1548
1524
  check: "string_format",
1549
1525
  format: "regex",
1550
- ...P(t),
1526
+ ...F(t),
1551
1527
  pattern: e
1552
1528
  });
1553
1529
  }
1554
- /* @__NO_SIDE_EFFECTS__ */
1555
- function Qt(e, t, n) {
1530
+ // @__NO_SIDE_EFFECTS__
1531
+ function dn(e, t, n) {
1556
1532
  return new e({
1557
1533
  type: "custom",
1558
1534
  check: "custom",
1559
1535
  fn: t,
1560
- ...P(n)
1536
+ ...F(n)
1561
1537
  });
1562
1538
  }
1563
1539
  //#endregion
1564
- //#region ../../node_modules/.bun/zod@4.3.6/node_modules/zod/v4/mini/schemas.js
1565
- var W = /* @__PURE__ */ k("ZodMiniType", (e, t) => {
1540
+ //#region ../../node_modules/.bun/zod@4.4.3/node_modules/zod/v4/mini/schemas.js
1541
+ var G = /*@__PURE__*/ A("ZodMiniType", (e, t) => {
1566
1542
  if (!e._zod) throw Error("Uninitialized schema in ZodMiniType.");
1567
- B.init(e, t), e.def = t, e.type = t.type, e.parse = (t, n) => ut(e, t, n, { callee: e.parse }), e.safeParse = (t, n) => ft(e, t, n), e.parseAsync = async (t, n) => dt(e, t, n, { callee: e.parseAsync }), e.safeParseAsync = async (t, n) => pt(e, t, n), e.check = (...n) => e.clone({
1543
+ V.init(e, t), e.def = t, e.type = t.type, e.parse = (t, n) => xt(e, t, n, { callee: e.parse }), e.safeParse = (t, n) => Ct(e, t, n), e.parseAsync = async (t, n) => St(e, t, n, { callee: e.parseAsync }), e.safeParseAsync = async (t, n) => wt(e, t, n), e.check = (...n) => e.clone({
1568
1544
  ...t,
1569
1545
  checks: [...t.checks ?? [], ...n.map((e) => typeof e == "function" ? { _zod: {
1570
1546
  check: e,
1571
1547
  def: { check: "custom" },
1572
1548
  onattach: []
1573
1549
  } } : e)]
1574
- }, { parent: !0 }), e.with = e.check, e.clone = (t, n) => rt(e, t, n), e.brand = () => e, e.register = ((t, n) => (t.add(e, n), e)), e.apply = (t) => t(e);
1575
- }), $t = /* @__PURE__ */ k("ZodMiniString", (e, t) => {
1576
- St.init(e, t), W.init(e, t);
1550
+ }, { parent: !0 }), e.with = e.check, e.clone = (t, n) => pt(e, t, n), e.brand = () => e, e.register = ((t, n) => (t.add(e, n), e)), e.apply = (t) => t(e);
1551
+ }), fn = /*@__PURE__*/ A("ZodMiniString", (e, t) => {
1552
+ Pt.init(e, t), G.init(e, t);
1577
1553
  });
1578
- /* @__NO_SIDE_EFFECTS__ */
1579
- function G(e) {
1580
- return /* @__PURE__ */ Wt($t, e);
1581
- }
1582
- var en = /* @__PURE__ */ k("ZodMiniStringFormat", (e, t) => {
1583
- V.init(e, t), $t.init(e, t);
1584
- }), tn = /* @__PURE__ */ k("ZodMiniEmail", (e, t) => {
1585
- Ct.init(e, t), en.init(e, t);
1554
+ // @__NO_SIDE_EFFECTS__
1555
+ function K(e) {
1556
+ return /* @__PURE__ */ nn(fn, e);
1557
+ }
1558
+ var pn = /*@__PURE__*/ A("ZodMiniStringFormat", (e, t) => {
1559
+ H.init(e, t), fn.init(e, t);
1560
+ }), mn = /*@__PURE__*/ A("ZodMiniEmail", (e, t) => {
1561
+ Ft.init(e, t), pn.init(e, t);
1586
1562
  });
1587
- /* @__NO_SIDE_EFFECTS__ */
1588
- function nn(e) {
1589
- return /* @__PURE__ */ Gt(tn, e);
1563
+ // @__NO_SIDE_EFFECTS__
1564
+ function hn(e) {
1565
+ return /* @__PURE__ */ rn(mn, e);
1590
1566
  }
1591
- var rn = /* @__PURE__ */ k("ZodMiniURL", (e, t) => {
1592
- wt.init(e, t), en.init(e, t);
1567
+ var gn = /*@__PURE__*/ A("ZodMiniURL", (e, t) => {
1568
+ It.init(e, t), pn.init(e, t);
1593
1569
  });
1594
- /* @__NO_SIDE_EFFECTS__ */
1595
- function K(e) {
1596
- return /* @__PURE__ */ Kt(rn, e);
1570
+ // @__NO_SIDE_EFFECTS__
1571
+ function q(e) {
1572
+ return /* @__PURE__ */ an(gn, e);
1597
1573
  }
1598
- var an = /* @__PURE__ */ k("ZodMiniNumber", (e, t) => {
1599
- Tt.init(e, t), W.init(e, t);
1574
+ var _n = /*@__PURE__*/ A("ZodMiniNumber", (e, t) => {
1575
+ Lt.init(e, t), G.init(e, t);
1600
1576
  });
1601
- /* @__NO_SIDE_EFFECTS__ */
1602
- function on(e) {
1603
- return /* @__PURE__ */ qt(an, e);
1577
+ // @__NO_SIDE_EFFECTS__
1578
+ function vn(e) {
1579
+ return /* @__PURE__ */ on(_n, e);
1604
1580
  }
1605
- var sn = /* @__PURE__ */ k("ZodMiniBoolean", (e, t) => {
1606
- Et.init(e, t), W.init(e, t);
1581
+ var yn = /*@__PURE__*/ A("ZodMiniBoolean", (e, t) => {
1582
+ Rt.init(e, t), G.init(e, t);
1607
1583
  });
1608
- /* @__NO_SIDE_EFFECTS__ */
1609
- function cn(e) {
1610
- return /* @__PURE__ */ Jt(sn, e);
1584
+ // @__NO_SIDE_EFFECTS__
1585
+ function bn(e) {
1586
+ return /* @__PURE__ */ sn(yn, e);
1611
1587
  }
1612
- var ln = /* @__PURE__ */ k("ZodMiniUnknown", (e, t) => {
1613
- Dt.init(e, t), W.init(e, t);
1588
+ var xn = /*@__PURE__*/ A("ZodMiniUnknown", (e, t) => {
1589
+ zt.init(e, t), G.init(e, t);
1614
1590
  });
1615
- /* @__NO_SIDE_EFFECTS__ */
1616
- function un() {
1617
- return /* @__PURE__ */ Yt(ln);
1591
+ // @__NO_SIDE_EFFECTS__
1592
+ function Sn() {
1593
+ return /* @__PURE__ */ cn(xn);
1618
1594
  }
1619
- var dn = /* @__PURE__ */ k("ZodMiniArray", (e, t) => {
1620
- kt.init(e, t), W.init(e, t);
1595
+ var Cn = /*@__PURE__*/ A("ZodMiniArray", (e, t) => {
1596
+ Vt.init(e, t), G.init(e, t);
1621
1597
  });
1622
- /* @__NO_SIDE_EFFECTS__ */
1623
- function q(e, t) {
1624
- return new dn({
1598
+ // @__NO_SIDE_EFFECTS__
1599
+ function J(e, t) {
1600
+ return new Cn({
1625
1601
  type: "array",
1626
1602
  element: e,
1627
- ...P(t)
1603
+ ...F(t)
1628
1604
  });
1629
1605
  }
1630
- var fn = /* @__PURE__ */ k("ZodMiniObject", (e, t) => {
1631
- Mt.init(e, t), W.init(e, t), M(e, "shape", () => t.shape);
1606
+ var wn = /*@__PURE__*/ A("ZodMiniObject", (e, t) => {
1607
+ Wt.init(e, t), G.init(e, t), N(e, "shape", () => t.shape);
1632
1608
  });
1633
- /* @__NO_SIDE_EFFECTS__ */
1634
- function J(e, t) {
1635
- return new fn({
1609
+ // @__NO_SIDE_EFFECTS__
1610
+ function Y(e, t) {
1611
+ return new wn({
1636
1612
  type: "object",
1637
1613
  shape: e ?? {},
1638
- ...P(t)
1614
+ ...F(t)
1639
1615
  });
1640
1616
  }
1641
- /* @__NO_SIDE_EFFECTS__ */
1642
- function Y(e, t) {
1643
- return new fn({
1617
+ // @__NO_SIDE_EFFECTS__
1618
+ function X(e, t) {
1619
+ return new wn({
1644
1620
  type: "object",
1645
1621
  shape: e,
1646
- catchall: /* @__PURE__ */ un(),
1647
- ...P(t)
1622
+ catchall: /* @__PURE__ */ Sn(),
1623
+ ...F(t)
1648
1624
  });
1649
1625
  }
1650
- var pn = /* @__PURE__ */ k("ZodMiniEnum", (e, t) => {
1651
- Nt.init(e, t), W.init(e, t), e.options = Object.values(t.entries);
1626
+ var Tn = /*@__PURE__*/ A("ZodMiniEnum", (e, t) => {
1627
+ Gt.init(e, t), G.init(e, t), e.options = Object.values(t.entries);
1652
1628
  });
1653
- /* @__NO_SIDE_EFFECTS__ */
1654
- function mn(e, t) {
1655
- return new pn({
1629
+ // @__NO_SIDE_EFFECTS__
1630
+ function En(e, t) {
1631
+ return new Tn({
1656
1632
  type: "enum",
1657
1633
  entries: Array.isArray(e) ? Object.fromEntries(e.map((e) => [e, e])) : e,
1658
- ...P(t)
1634
+ ...F(t)
1659
1635
  });
1660
1636
  }
1661
- var hn = /* @__PURE__ */ k("ZodMiniTransform", (e, t) => {
1662
- Pt.init(e, t), W.init(e, t);
1637
+ var Dn = /*@__PURE__*/ A("ZodMiniTransform", (e, t) => {
1638
+ Kt.init(e, t), G.init(e, t);
1663
1639
  });
1664
- /* @__NO_SIDE_EFFECTS__ */
1665
- function gn(e) {
1666
- return new hn({
1640
+ // @__NO_SIDE_EFFECTS__
1641
+ function On(e) {
1642
+ return new Dn({
1667
1643
  type: "transform",
1668
1644
  transform: e
1669
1645
  });
1670
1646
  }
1671
- var _n = /* @__PURE__ */ k("ZodMiniOptional", (e, t) => {
1672
- It.init(e, t), W.init(e, t);
1647
+ var kn = /*@__PURE__*/ A("ZodMiniOptional", (e, t) => {
1648
+ Jt.init(e, t), G.init(e, t);
1673
1649
  });
1674
- /* @__NO_SIDE_EFFECTS__ */
1675
- function X(e) {
1676
- return new _n({
1650
+ // @__NO_SIDE_EFFECTS__
1651
+ function Z(e) {
1652
+ return new kn({
1677
1653
  type: "optional",
1678
1654
  innerType: e
1679
1655
  });
1680
1656
  }
1681
- var vn = /* @__PURE__ */ k("ZodMiniDefault", (e, t) => {
1682
- Lt.init(e, t), W.init(e, t);
1657
+ var An = /*@__PURE__*/ A("ZodMiniDefault", (e, t) => {
1658
+ Yt.init(e, t), G.init(e, t);
1683
1659
  });
1684
- /* @__NO_SIDE_EFFECTS__ */
1685
- function Z(e, t) {
1686
- return new vn({
1660
+ // @__NO_SIDE_EFFECTS__
1661
+ function Q(e, t) {
1662
+ return new An({
1687
1663
  type: "default",
1688
1664
  innerType: e,
1689
1665
  get defaultValue() {
1690
- return typeof t == "function" ? t() : et(t);
1666
+ return typeof t == "function" ? t() : ut(t);
1691
1667
  }
1692
1668
  });
1693
1669
  }
1694
- var yn = /* @__PURE__ */ k("ZodMiniPrefault", (e, t) => {
1695
- zt.init(e, t), W.init(e, t);
1670
+ var jn = /*@__PURE__*/ A("ZodMiniPrefault", (e, t) => {
1671
+ Zt.init(e, t), G.init(e, t);
1696
1672
  });
1697
- /* @__NO_SIDE_EFFECTS__ */
1698
- function Q(e, t) {
1699
- return new yn({
1673
+ // @__NO_SIDE_EFFECTS__
1674
+ function $(e, t) {
1675
+ return new jn({
1700
1676
  type: "prefault",
1701
1677
  innerType: e,
1702
1678
  get defaultValue() {
1703
- return typeof t == "function" ? t() : et(t);
1679
+ return typeof t == "function" ? t() : ut(t);
1704
1680
  }
1705
1681
  });
1706
1682
  }
1707
- var bn = /* @__PURE__ */ k("ZodMiniCatch", (e, t) => {
1708
- Bt.init(e, t), W.init(e, t);
1683
+ var Mn = /*@__PURE__*/ A("ZodMiniCatch", (e, t) => {
1684
+ Qt.init(e, t), G.init(e, t);
1709
1685
  });
1710
- /* @__NO_SIDE_EFFECTS__ */
1711
- function xn(e, t) {
1712
- return new bn({
1686
+ // @__NO_SIDE_EFFECTS__
1687
+ function Nn(e, t) {
1688
+ return new Mn({
1713
1689
  type: "catch",
1714
1690
  innerType: e,
1715
1691
  catchValue: typeof t == "function" ? t : () => t
1716
1692
  });
1717
1693
  }
1718
- var Sn = /* @__PURE__ */ k("ZodMiniPipe", (e, t) => {
1719
- Vt.init(e, t), W.init(e, t);
1694
+ var Pn = /*@__PURE__*/ A("ZodMiniPipe", (e, t) => {
1695
+ $t.init(e, t), G.init(e, t);
1720
1696
  });
1721
- /* @__NO_SIDE_EFFECTS__ */
1722
- function Cn(e, t) {
1723
- return new Sn({
1697
+ // @__NO_SIDE_EFFECTS__
1698
+ function Fn(e, t) {
1699
+ return new Pn({
1724
1700
  type: "pipe",
1725
1701
  in: e,
1726
1702
  out: t
1727
1703
  });
1728
1704
  }
1729
- var wn = /* @__PURE__ */ k("ZodMiniCustom", (e, t) => {
1730
- Ht.init(e, t), W.init(e, t);
1705
+ var In = /*@__PURE__*/ A("ZodMiniCustom", (e, t) => {
1706
+ en.init(e, t), G.init(e, t);
1731
1707
  });
1732
- /* @__NO_SIDE_EFFECTS__ */
1733
- function Tn(e, t = {}) {
1734
- return /* @__PURE__ */ Qt(wn, e, t);
1708
+ // @__NO_SIDE_EFFECTS__
1709
+ function Ln(e, t = {}) {
1710
+ return /* @__PURE__ */ dn(In, e, t);
1735
1711
  }
1736
1712
  //#endregion
1737
1713
  //#region src/schema.ts
1738
- var En = /* @__PURE__ */ J({
1739
- ui: /* @__PURE__ */ Q(/* @__PURE__ */ J({
1740
- primary: /* @__PURE__ */ Z(/* @__PURE__ */ G(), "#255b8f"),
1741
- headerFrom: /* @__PURE__ */ Z(/* @__PURE__ */ G(), "#ccc074"),
1742
- headerTo: /* @__PURE__ */ Z(/* @__PURE__ */ G(), "#4971af"),
1743
- footerFrom: /* @__PURE__ */ Z(/* @__PURE__ */ G(), "#463932"),
1744
- footerTo: /* @__PURE__ */ Z(/* @__PURE__ */ G(), "#7fbdbc"),
1745
- backgroundTilesSeed: /* @__PURE__ */ Z(/* @__PURE__ */ on(), 1),
1746
- showLogos: /* @__PURE__ */ Z(/* @__PURE__ */ cn(), !0),
1747
- cta: /* @__PURE__ */ X(/* @__PURE__ */ J({
1748
- text: /* @__PURE__ */ G(),
1749
- url: /* @__PURE__ */ G(),
1750
- icon: /* @__PURE__ */ Z(/* @__PURE__ */ X((/* @__PURE__ */ G()).check(/* @__PURE__ */ Zt(/^[a-z]+:[a-z-]+$/))), "tabler:message-circle")
1714
+ var Rn = /* @__PURE__ */ Y({
1715
+ ui: /* @__PURE__ */ $(/* @__PURE__ */ Y({
1716
+ primary: /* @__PURE__ */ Q(/* @__PURE__ */ K(), "#255b8f"),
1717
+ headerFrom: /* @__PURE__ */ Q(/* @__PURE__ */ K(), "#ccc074"),
1718
+ headerTo: /* @__PURE__ */ Q(/* @__PURE__ */ K(), "#4971af"),
1719
+ footerFrom: /* @__PURE__ */ Q(/* @__PURE__ */ K(), "#463932"),
1720
+ footerTo: /* @__PURE__ */ Q(/* @__PURE__ */ K(), "#7fbdbc"),
1721
+ backgroundTilesSeed: /* @__PURE__ */ Q(/* @__PURE__ */ vn(), 1),
1722
+ showLogos: /* @__PURE__ */ Q(/* @__PURE__ */ bn(), !0),
1723
+ cta: /* @__PURE__ */ Z(/* @__PURE__ */ Y({
1724
+ text: /* @__PURE__ */ K(),
1725
+ url: /* @__PURE__ */ K(),
1726
+ icon: /* @__PURE__ */ Q(/* @__PURE__ */ Z((/* @__PURE__ */ K()).check(/* @__PURE__ */ un(/^[a-z0-9-]+:[a-z0-9-]+$/))), "tabler:message-circle")
1751
1727
  })),
1752
- links: /* @__PURE__ */ Z(/* @__PURE__ */ q(/* @__PURE__ */ G()), [
1728
+ links: /* @__PURE__ */ Q(/* @__PURE__ */ J(/* @__PURE__ */ K()), [
1753
1729
  "phone",
1754
1730
  "email",
1755
1731
  "location",
1756
1732
  "profiles"
1757
1733
  ])
1758
1734
  }), {}),
1759
- seo: /* @__PURE__ */ Q(/* @__PURE__ */ J({
1760
- title: /* @__PURE__ */ X(/* @__PURE__ */ G()),
1761
- description: /* @__PURE__ */ X(/* @__PURE__ */ G()),
1762
- canonical: /* @__PURE__ */ X(/* @__PURE__ */ K()),
1763
- favicon: /* @__PURE__ */ X(/* @__PURE__ */ G()),
1764
- ogImage: /* @__PURE__ */ X(/* @__PURE__ */ K()),
1765
- twitterImage: /* @__PURE__ */ X(/* @__PURE__ */ K()),
1766
- firstName: /* @__PURE__ */ X(/* @__PURE__ */ G()),
1767
- lastName: /* @__PURE__ */ X(/* @__PURE__ */ G()),
1768
- robots: /* @__PURE__ */ Z(/* @__PURE__ */ X(/* @__PURE__ */ G()), "index, follow")
1735
+ seo: /* @__PURE__ */ $(/* @__PURE__ */ Y({
1736
+ title: /* @__PURE__ */ Z(/* @__PURE__ */ K()),
1737
+ description: /* @__PURE__ */ Z(/* @__PURE__ */ K()),
1738
+ canonical: /* @__PURE__ */ Z(/* @__PURE__ */ q()),
1739
+ favicon: /* @__PURE__ */ Z(/* @__PURE__ */ K()),
1740
+ ogImage: /* @__PURE__ */ Z(/* @__PURE__ */ q()),
1741
+ twitterImage: /* @__PURE__ */ Z(/* @__PURE__ */ q()),
1742
+ firstName: /* @__PURE__ */ Z(/* @__PURE__ */ K()),
1743
+ lastName: /* @__PURE__ */ Z(/* @__PURE__ */ K()),
1744
+ robots: /* @__PURE__ */ Q(/* @__PURE__ */ Z(/* @__PURE__ */ K()), "index, follow")
1769
1745
  }), {}),
1770
- modest: /* @__PURE__ */ Z(/* @__PURE__ */ cn(), !1)
1771
- }), Dn = /* @__PURE__ */ Cn((/* @__PURE__ */ Y({
1772
- name: /* @__PURE__ */ X(/* @__PURE__ */ G()),
1773
- company: /* @__PURE__ */ X(/* @__PURE__ */ G()),
1774
- location: /* @__PURE__ */ X(/* @__PURE__ */ G()),
1775
- description: /* @__PURE__ */ X(/* @__PURE__ */ G()),
1776
- position: /* @__PURE__ */ X(/* @__PURE__ */ G()),
1777
- url: /* @__PURE__ */ X(/* @__PURE__ */ K()),
1778
- website: /* @__PURE__ */ X(/* @__PURE__ */ K()),
1779
- startDate: /* @__PURE__ */ G(),
1780
- endDate: /* @__PURE__ */ X(/* @__PURE__ */ G()),
1781
- summary: /* @__PURE__ */ X(/* @__PURE__ */ G()),
1782
- highlights: /* @__PURE__ */ X(/* @__PURE__ */ q(/* @__PURE__ */ G())),
1783
- logo: /* @__PURE__ */ X(/* @__PURE__ */ K())
1784
- })).check(/* @__PURE__ */ Tn(({ name: e, company: t }) => !!(e || t), {
1746
+ modest: /* @__PURE__ */ Q(/* @__PURE__ */ bn(), !1)
1747
+ }), zn = /* @__PURE__ */ Fn((/* @__PURE__ */ X({
1748
+ name: /* @__PURE__ */ Z(/* @__PURE__ */ K()),
1749
+ company: /* @__PURE__ */ Z(/* @__PURE__ */ K()),
1750
+ location: /* @__PURE__ */ Z(/* @__PURE__ */ K()),
1751
+ description: /* @__PURE__ */ Z(/* @__PURE__ */ K()),
1752
+ position: /* @__PURE__ */ Z(/* @__PURE__ */ K()),
1753
+ url: /* @__PURE__ */ Z(/* @__PURE__ */ q()),
1754
+ website: /* @__PURE__ */ Z(/* @__PURE__ */ q()),
1755
+ startDate: /* @__PURE__ */ K(),
1756
+ endDate: /* @__PURE__ */ Z(/* @__PURE__ */ K()),
1757
+ summary: /* @__PURE__ */ Z(/* @__PURE__ */ K()),
1758
+ highlights: /* @__PURE__ */ Z(/* @__PURE__ */ J(/* @__PURE__ */ K())),
1759
+ logo: /* @__PURE__ */ Z(/* @__PURE__ */ q())
1760
+ })).check(/* @__PURE__ */ Ln(({ name: e, company: t }) => !!(e || t), {
1785
1761
  path: ["name"],
1786
1762
  message: "Either 'name' or 'company' must be provided."
1787
- })), /* @__PURE__ */ gn(({ company: e, name: t, url: n, website: r, ...i }) => ({
1763
+ })), /* @__PURE__ */ On(({ company: e, name: t, url: n, website: r, ...i }) => ({
1788
1764
  ...i,
1789
1765
  name: t ?? e,
1790
1766
  ...n || r ? { url: n ?? r } : {}
1791
- }))), On = /* @__PURE__ */ Y({
1792
- network: /* @__PURE__ */ G(),
1793
- username: /* @__PURE__ */ X(/* @__PURE__ */ G()),
1794
- url: /* @__PURE__ */ X(/* @__PURE__ */ K())
1795
- }), kn = /* @__PURE__ */ Y({
1796
- address: /* @__PURE__ */ X(/* @__PURE__ */ G()),
1797
- postalCode: /* @__PURE__ */ X(/* @__PURE__ */ G()),
1798
- city: /* @__PURE__ */ X(/* @__PURE__ */ G()),
1799
- countryCode: /* @__PURE__ */ X((/* @__PURE__ */ G()).check(/* @__PURE__ */ Xt(2))),
1800
- region: /* @__PURE__ */ X(/* @__PURE__ */ G())
1801
- }), An = /* @__PURE__ */ J({
1802
- meta: /* @__PURE__ */ Q(/* @__PURE__ */ Y({
1803
- lang: /* @__PURE__ */ Z(/* @__PURE__ */ xn(/* @__PURE__ */ mn(["en", "fr"]), "en"), "en"),
1804
- lastModified: /* @__PURE__ */ Z(/* @__PURE__ */ G(), () => (/* @__PURE__ */ new Date()).toISOString()),
1805
- themeConfig: /* @__PURE__ */ Q(En, {})
1767
+ }))), Bn = /* @__PURE__ */ X({
1768
+ network: /* @__PURE__ */ K(),
1769
+ username: /* @__PURE__ */ Z(/* @__PURE__ */ K()),
1770
+ url: /* @__PURE__ */ Z(/* @__PURE__ */ q())
1771
+ }), Vn = /* @__PURE__ */ X({
1772
+ address: /* @__PURE__ */ Z(/* @__PURE__ */ K()),
1773
+ postalCode: /* @__PURE__ */ Z(/* @__PURE__ */ K()),
1774
+ city: /* @__PURE__ */ Z(/* @__PURE__ */ K()),
1775
+ countryCode: /* @__PURE__ */ Z((/* @__PURE__ */ K()).check(/* @__PURE__ */ ln(2))),
1776
+ region: /* @__PURE__ */ Z(/* @__PURE__ */ K())
1777
+ }), Hn = /* @__PURE__ */ Y({
1778
+ meta: /* @__PURE__ */ $(/* @__PURE__ */ X({
1779
+ lang: /* @__PURE__ */ Q(/* @__PURE__ */ Nn(/* @__PURE__ */ En(["en", "fr"]), "en"), "en"),
1780
+ lastModified: /* @__PURE__ */ Q(/* @__PURE__ */ K(), () => (/* @__PURE__ */ new Date()).toISOString()),
1781
+ themeConfig: /* @__PURE__ */ $(Rn, {})
1806
1782
  }), {}),
1807
- work: /* @__PURE__ */ Z(/* @__PURE__ */ X(/* @__PURE__ */ q(Dn)), []),
1808
- basics: /* @__PURE__ */ Y({
1809
- name: /* @__PURE__ */ G(),
1810
- label: /* @__PURE__ */ X(/* @__PURE__ */ G()),
1811
- image: /* @__PURE__ */ X(/* @__PURE__ */ K()),
1812
- email: /* @__PURE__ */ X(/* @__PURE__ */ nn()),
1813
- phone: /* @__PURE__ */ X(/* @__PURE__ */ G()),
1814
- birthDate: /* @__PURE__ */ X(/* @__PURE__ */ G()),
1815
- url: /* @__PURE__ */ X(/* @__PURE__ */ K()),
1816
- summary: /* @__PURE__ */ X(/* @__PURE__ */ G()),
1817
- location: /* @__PURE__ */ X(kn),
1818
- profiles: /* @__PURE__ */ X(/* @__PURE__ */ q(On))
1783
+ work: /* @__PURE__ */ Q(/* @__PURE__ */ Z(/* @__PURE__ */ J(zn)), []),
1784
+ projects: /* @__PURE__ */ Q(/* @__PURE__ */ Z(/* @__PURE__ */ J(/* @__PURE__ */ Y({
1785
+ name: /* @__PURE__ */ K(),
1786
+ description: /* @__PURE__ */ Z(/* @__PURE__ */ K()),
1787
+ url: /* @__PURE__ */ Z(/* @__PURE__ */ q()),
1788
+ startDate: /* @__PURE__ */ K(),
1789
+ endDate: /* @__PURE__ */ Z(/* @__PURE__ */ K()),
1790
+ highlights: /* @__PURE__ */ Z(/* @__PURE__ */ J(/* @__PURE__ */ K()))
1791
+ }))), []),
1792
+ basics: /* @__PURE__ */ X({
1793
+ name: /* @__PURE__ */ K(),
1794
+ label: /* @__PURE__ */ Z(/* @__PURE__ */ K()),
1795
+ image: /* @__PURE__ */ Z(/* @__PURE__ */ q()),
1796
+ email: /* @__PURE__ */ Z(/* @__PURE__ */ hn()),
1797
+ phone: /* @__PURE__ */ Z(/* @__PURE__ */ K()),
1798
+ birthDate: /* @__PURE__ */ Z(/* @__PURE__ */ K()),
1799
+ url: /* @__PURE__ */ Z(/* @__PURE__ */ q()),
1800
+ summary: /* @__PURE__ */ Z(/* @__PURE__ */ K()),
1801
+ location: /* @__PURE__ */ Z(Vn),
1802
+ profiles: /* @__PURE__ */ Z(/* @__PURE__ */ J(Bn))
1819
1803
  }),
1820
- education: /* @__PURE__ */ Z(/* @__PURE__ */ X(/* @__PURE__ */ q(/* @__PURE__ */ J({
1821
- institution: /* @__PURE__ */ G(),
1822
- url: /* @__PURE__ */ X(/* @__PURE__ */ K()),
1823
- area: /* @__PURE__ */ X(/* @__PURE__ */ G()),
1824
- studyType: /* @__PURE__ */ X(/* @__PURE__ */ G()),
1825
- startDate: /* @__PURE__ */ G(),
1826
- endDate: /* @__PURE__ */ X(/* @__PURE__ */ G()),
1827
- score: /* @__PURE__ */ X(/* @__PURE__ */ G()),
1828
- courses: /* @__PURE__ */ X(/* @__PURE__ */ q(/* @__PURE__ */ G()))
1804
+ education: /* @__PURE__ */ Q(/* @__PURE__ */ Z(/* @__PURE__ */ J(/* @__PURE__ */ Y({
1805
+ institution: /* @__PURE__ */ K(),
1806
+ url: /* @__PURE__ */ Z(/* @__PURE__ */ q()),
1807
+ area: /* @__PURE__ */ Z(/* @__PURE__ */ K()),
1808
+ studyType: /* @__PURE__ */ Z(/* @__PURE__ */ K()),
1809
+ startDate: /* @__PURE__ */ K(),
1810
+ endDate: /* @__PURE__ */ Z(/* @__PURE__ */ K()),
1811
+ score: /* @__PURE__ */ Z(/* @__PURE__ */ K()),
1812
+ courses: /* @__PURE__ */ Z(/* @__PURE__ */ J(/* @__PURE__ */ K()))
1829
1813
  }))), []),
1830
- certificates: /* @__PURE__ */ Z(/* @__PURE__ */ X(/* @__PURE__ */ q(/* @__PURE__ */ J({
1831
- name: /* @__PURE__ */ G(),
1832
- date: /* @__PURE__ */ X(/* @__PURE__ */ G()),
1833
- url: /* @__PURE__ */ X(/* @__PURE__ */ K()),
1834
- issuer: /* @__PURE__ */ X(/* @__PURE__ */ G())
1814
+ certificates: /* @__PURE__ */ Q(/* @__PURE__ */ Z(/* @__PURE__ */ J(/* @__PURE__ */ Y({
1815
+ name: /* @__PURE__ */ K(),
1816
+ date: /* @__PURE__ */ Z(/* @__PURE__ */ K()),
1817
+ url: /* @__PURE__ */ Z(/* @__PURE__ */ q()),
1818
+ issuer: /* @__PURE__ */ Z(/* @__PURE__ */ K())
1835
1819
  }))), []),
1836
- skills: /* @__PURE__ */ Z(/* @__PURE__ */ X(/* @__PURE__ */ q(/* @__PURE__ */ J({
1837
- name: /* @__PURE__ */ G(),
1838
- level: /* @__PURE__ */ X(/* @__PURE__ */ G()),
1839
- keywords: /* @__PURE__ */ X(/* @__PURE__ */ q(/* @__PURE__ */ G()))
1820
+ skills: /* @__PURE__ */ Q(/* @__PURE__ */ Z(/* @__PURE__ */ J(/* @__PURE__ */ Y({
1821
+ name: /* @__PURE__ */ K(),
1822
+ level: /* @__PURE__ */ Z(/* @__PURE__ */ K()),
1823
+ keywords: /* @__PURE__ */ Z(/* @__PURE__ */ J(/* @__PURE__ */ K()))
1840
1824
  }))), []),
1841
- languages: /* @__PURE__ */ Z(/* @__PURE__ */ X(/* @__PURE__ */ q(/* @__PURE__ */ Y({
1842
- language: /* @__PURE__ */ G(),
1843
- fluency: /* @__PURE__ */ X(/* @__PURE__ */ G())
1825
+ languages: /* @__PURE__ */ Q(/* @__PURE__ */ Z(/* @__PURE__ */ J(/* @__PURE__ */ X({
1826
+ language: /* @__PURE__ */ K(),
1827
+ fluency: /* @__PURE__ */ Z(/* @__PURE__ */ K())
1844
1828
  }))), [])
1845
1829
  });
1846
1830
  //#endregion
1831
+ //#region src/components/Projects.tsx
1832
+ function Un({ projects: e }) {
1833
+ return !e || e.length === 0 ? null : /* @__PURE__ */ v(D, {
1834
+ name: C("projects"),
1835
+ children: /* @__PURE__ */ v("ol", {
1836
+ className: "timeline",
1837
+ reversed: !0,
1838
+ children: e.map((e) => /* @__PURE__ */ v("li", {
1839
+ className: "timeline-item",
1840
+ children: /* @__PURE__ */ y("article", {
1841
+ className: "group",
1842
+ children: [
1843
+ /* @__PURE__ */ y("div", {
1844
+ className: "grid grid-cols-1 items-start gap-x-4 md:grid-cols-[1fr_auto]",
1845
+ children: [/* @__PURE__ */ v("header", {
1846
+ className: "mt-1 min-w-0 text-gray-600 dark:text-slate-300",
1847
+ children: /* @__PURE__ */ v("h3", {
1848
+ className: "truncate text-xl font-bold tracking-tight text-gray-900 md:whitespace-normal dark:text-white",
1849
+ children: e.url ? /* @__PURE__ */ v("a", {
1850
+ href: e.url,
1851
+ target: "_blank",
1852
+ rel: "noopener noreferrer",
1853
+ translate: "no",
1854
+ className: "hover:text-primary font-medium text-gray-700 underline-offset-4 transition-colors hover:underline dark:text-slate-200",
1855
+ children: e.name
1856
+ }) : /* @__PURE__ */ v("span", {
1857
+ translate: "no",
1858
+ className: "font-medium text-gray-700 dark:text-slate-200",
1859
+ children: e.name
1860
+ })
1861
+ })
1862
+ }), /* @__PURE__ */ v(E, {
1863
+ startDate: e.startDate,
1864
+ endDate: e.endDate,
1865
+ format: "month",
1866
+ className: "mt-1 flex shrink-0 text-sm text-gray-500 capitalize md:mt-1.5 md:text-right dark:text-slate-400"
1867
+ })]
1868
+ }),
1869
+ e.description && /* @__PURE__ */ v("p", {
1870
+ className: "mt-3 text-sm leading-relaxed text-pretty text-gray-600 dark:text-slate-400",
1871
+ children: e.description
1872
+ }),
1873
+ e.highlights?.length && /* @__PURE__ */ v("ul", {
1874
+ className: "bullet-list",
1875
+ children: e.highlights.map((e) => /* @__PURE__ */ v("li", {
1876
+ className: "bullet-item",
1877
+ children: /* @__PURE__ */ v("span", { children: e })
1878
+ }, e))
1879
+ })
1880
+ ]
1881
+ })
1882
+ }, `${e.name}-${e.startDate}`))
1883
+ })
1884
+ });
1885
+ }
1886
+ //#endregion
1887
+ //#region src/components/SEO.tsx
1888
+ async function Wn({ resume: e }) {
1889
+ let { basics: t, meta: n } = e, { seo: r } = n.themeConfig, i = r.title || (t.label ? `${t.name} - ${t.label}` : t.name), a = r.description || t.summary, { firstNameSlice: o, lastNameSlice: s } = Gn(t.name);
1890
+ return /* @__PURE__ */ y(b, { children: [
1891
+ /* @__PURE__ */ v(Kn, {
1892
+ title: i,
1893
+ description: a,
1894
+ canonical: r.canonical,
1895
+ robots: r.robots,
1896
+ favicon: r.favicon
1897
+ }),
1898
+ /* @__PURE__ */ v(qn, {
1899
+ title: i,
1900
+ description: a,
1901
+ url: r.canonical,
1902
+ image: r.ogImage || t.image,
1903
+ firstName: r.firstName || o,
1904
+ lastName: r.lastName || s
1905
+ }),
1906
+ /* @__PURE__ */ v(Jn, {
1907
+ title: i,
1908
+ description: a,
1909
+ url: r.canonical,
1910
+ image: r.twitterImage || t.image
1911
+ })
1912
+ ] });
1913
+ }
1914
+ function Gn(e) {
1915
+ let [t, ...n] = e.split(" ");
1916
+ return {
1917
+ firstNameSlice: t,
1918
+ lastNameSlice: n.join(" ")
1919
+ };
1920
+ }
1921
+ async function Kn({ title: e, description: t, canonical: n, robots: r, favicon: i }) {
1922
+ return /* @__PURE__ */ y(b, { children: [
1923
+ /* @__PURE__ */ v("title", { children: e }),
1924
+ t && /* @__PURE__ */ v("meta", {
1925
+ name: "description",
1926
+ content: t
1927
+ }),
1928
+ /* @__PURE__ */ v("meta", {
1929
+ name: "robots",
1930
+ content: r || "index, follow"
1931
+ }),
1932
+ n && /* @__PURE__ */ v("link", {
1933
+ rel: "canonical",
1934
+ href: n
1935
+ }),
1936
+ i && /* @__PURE__ */ v("link", {
1937
+ rel: "icon",
1938
+ href: `data:image/svg+xml;base64,${btoa((await O(i)).toString())}`
1939
+ })
1940
+ ] });
1941
+ }
1942
+ function qn({ title: e, description: t, url: n, image: r, firstName: i, lastName: a }) {
1943
+ return /* @__PURE__ */ y(b, { children: [
1944
+ /* @__PURE__ */ v("meta", {
1945
+ property: "og:type",
1946
+ content: "profile"
1947
+ }),
1948
+ /* @__PURE__ */ v("meta", {
1949
+ property: "og:title",
1950
+ content: e
1951
+ }),
1952
+ t && /* @__PURE__ */ v("meta", {
1953
+ property: "og:description",
1954
+ content: t
1955
+ }),
1956
+ i && /* @__PURE__ */ v("meta", {
1957
+ property: "profile:first_name",
1958
+ content: i
1959
+ }),
1960
+ a && /* @__PURE__ */ v("meta", {
1961
+ property: "profile:last_name",
1962
+ content: a
1963
+ }),
1964
+ r && /* @__PURE__ */ v("meta", {
1965
+ property: "og:image",
1966
+ content: r
1967
+ }),
1968
+ n && /* @__PURE__ */ v("meta", {
1969
+ property: "og:url",
1970
+ content: n
1971
+ })
1972
+ ] });
1973
+ }
1974
+ function Jn({ title: e, description: t, url: n, image: r }) {
1975
+ return /* @__PURE__ */ y(b, { children: [
1976
+ /* @__PURE__ */ v("meta", {
1977
+ property: "twitter:card",
1978
+ content: "summary_large_image"
1979
+ }),
1980
+ /* @__PURE__ */ v("meta", {
1981
+ property: "twitter:title",
1982
+ content: e
1983
+ }),
1984
+ t && /* @__PURE__ */ v("meta", {
1985
+ property: "twitter:description",
1986
+ content: t
1987
+ }),
1988
+ r && /* @__PURE__ */ v("meta", {
1989
+ property: "twitter:image",
1990
+ content: r
1991
+ }),
1992
+ n && /* @__PURE__ */ v("meta", {
1993
+ property: "twitter:url",
1994
+ content: n
1995
+ })
1996
+ ] });
1997
+ }
1998
+ //#endregion
1999
+ //#region src/components/Skills.tsx
2000
+ function Yn({ skills: e, ...t }) {
2001
+ return !e || e.length === 0 ? null : /* @__PURE__ */ v(D, {
2002
+ name: C("skills"),
2003
+ ...t,
2004
+ children: e.map((e) => /* @__PURE__ */ y("div", {
2005
+ className: "mb-4 break-inside-avoid",
2006
+ children: [/* @__PURE__ */ v("h3", {
2007
+ className: "text-xl font-bold tracking-tight text-gray-900 dark:text-white",
2008
+ children: e.name
2009
+ }), /* @__PURE__ */ v("ul", {
2010
+ className: "my-3 flex flex-wrap gap-2 leading-8",
2011
+ children: e.keywords?.map((e) => /* @__PURE__ */ v("li", {
2012
+ className: "badge",
2013
+ children: e
2014
+ }, e))
2015
+ })]
2016
+ }, e.name))
2017
+ });
2018
+ }
2019
+ //#endregion
1847
2020
  //#region src/components/WorkExperience.tsx
1848
- function jn({ works: e, showLogos: t }) {
1849
- return !e || e.length === 0 ? null : /* @__PURE__ */ _(E, {
1850
- name: S("work_experience"),
1851
- children: /* @__PURE__ */ _("ol", {
2021
+ function Xn({ works: e, showLogos: t }) {
2022
+ return !e || e.length === 0 ? null : /* @__PURE__ */ v(D, {
2023
+ name: C("work_experience"),
2024
+ children: /* @__PURE__ */ v("ol", {
1852
2025
  className: "timeline",
1853
2026
  reversed: !0,
1854
- children: e.map((e) => /* @__PURE__ */ _("li", {
2027
+ children: e.map((e) => /* @__PURE__ */ v("li", {
1855
2028
  className: "timeline-item",
1856
- children: /* @__PURE__ */ v("article", {
2029
+ children: /* @__PURE__ */ y("article", {
1857
2030
  className: "group",
1858
2031
  children: [
1859
- /* @__PURE__ */ v("div", {
2032
+ /* @__PURE__ */ y("div", {
1860
2033
  className: "flex items-start gap-4",
1861
- children: [t && /* @__PURE__ */ _("div", {
2034
+ children: [t && /* @__PURE__ */ v("div", {
1862
2035
  className: "mt-1 shrink-0",
1863
- children: e.logo ? /* @__PURE__ */ _("img", {
2036
+ children: e.logo ? /* @__PURE__ */ v("img", {
1864
2037
  src: e.logo,
1865
2038
  alt: e.name,
1866
2039
  width: "48",
1867
2040
  height: "48",
1868
2041
  className: "h-12 w-12 rounded-lg object-contain",
1869
2042
  loading: "lazy"
1870
- }) : /* @__PURE__ */ _("div", {
2043
+ }) : /* @__PURE__ */ v("div", {
1871
2044
  className: "flex h-12 w-12 items-center justify-center rounded-lg bg-gray-100 font-bold text-gray-400 uppercase select-none dark:bg-slate-800 dark:text-slate-500",
1872
2045
  children: e.name?.charAt(0)
1873
2046
  })
1874
- }), /* @__PURE__ */ _("div", {
2047
+ }), /* @__PURE__ */ v("div", {
1875
2048
  className: "min-w-0 flex-1",
1876
- children: /* @__PURE__ */ v("div", {
2049
+ children: /* @__PURE__ */ y("div", {
1877
2050
  className: "grid grid-cols-1 gap-x-4 md:grid-cols-[1fr_auto]",
1878
- children: [/* @__PURE__ */ v("div", {
2051
+ children: [/* @__PURE__ */ y("div", {
1879
2052
  className: "min-w-0",
1880
- children: [/* @__PURE__ */ _("header", { children: /* @__PURE__ */ _("h3", {
2053
+ children: [/* @__PURE__ */ v("header", { children: /* @__PURE__ */ v("h3", {
1881
2054
  className: "truncate text-xl font-bold tracking-tight text-gray-900 md:whitespace-normal dark:text-white",
1882
2055
  children: e.position
1883
- }) }), /* @__PURE__ */ v("div", {
2056
+ }) }), /* @__PURE__ */ y("div", {
1884
2057
  className: "mt-1 text-gray-600 dark:text-slate-300",
1885
- children: [e.url ? /* @__PURE__ */ _("a", {
2058
+ children: [e.url ? /* @__PURE__ */ v("a", {
1886
2059
  href: e.url,
1887
2060
  target: "_blank",
1888
2061
  rel: "noopener noreferrer",
1889
2062
  translate: "no",
1890
2063
  className: "hover:text-primary font-medium text-gray-700 underline-offset-4 transition-colors hover:underline dark:text-slate-200",
1891
2064
  children: e.name
1892
- }) : /* @__PURE__ */ _("span", {
2065
+ }) : /* @__PURE__ */ v("span", {
1893
2066
  translate: "no",
1894
2067
  className: "font-medium text-gray-700 dark:text-slate-200",
1895
2068
  children: e.name
1896
- }), e.description && /* @__PURE__ */ v("span", {
2069
+ }), e.description && /* @__PURE__ */ y("span", {
1897
2070
  className: "ml-2 text-sm text-gray-500",
1898
2071
  children: ["- ", e.description]
1899
2072
  })]
1900
2073
  })]
1901
- }), /* @__PURE__ */ _(T, {
2074
+ }), /* @__PURE__ */ v(E, {
1902
2075
  startDate: e.startDate,
1903
2076
  endDate: e.endDate,
1904
2077
  format: "month",
@@ -1907,15 +2080,15 @@ function jn({ works: e, showLogos: t }) {
1907
2080
  })
1908
2081
  })]
1909
2082
  }),
1910
- e.summary && /* @__PURE__ */ _("p", {
2083
+ e.summary && /* @__PURE__ */ v("p", {
1911
2084
  className: "mt-3 text-sm leading-relaxed text-pretty text-gray-600 dark:text-slate-400",
1912
2085
  children: e.summary
1913
2086
  }),
1914
- /* @__PURE__ */ _("ul", {
2087
+ /* @__PURE__ */ v("ul", {
1915
2088
  className: "bullet-list",
1916
- children: e.highlights?.map((e) => /* @__PURE__ */ _("li", {
2089
+ children: e.highlights?.map((e) => /* @__PURE__ */ v("li", {
1917
2090
  className: "bullet-item",
1918
- children: /* @__PURE__ */ _("span", { children: e })
2091
+ children: /* @__PURE__ */ v("span", { children: e })
1919
2092
  }, e))
1920
2093
  })
1921
2094
  ]
@@ -1926,130 +2099,171 @@ function jn({ works: e, showLogos: t }) {
1926
2099
  }
1927
2100
  //#endregion
1928
2101
  //#region src/components/Layout.tsx
1929
- var Mn = async ({ resume: e, css: t, ...n }) => {
1930
- let { basics: r, work: i, education: a, certificates: o, skills: s, meta: c } = e, { ui: l, modest: u } = c.themeConfig, d = be({
1931
- seed: l.backgroundTilesSeed,
2102
+ function Zn() {
2103
+ return [
2104
+ "camera=()",
2105
+ "microphone=()",
2106
+ "geolocation=()",
2107
+ "payment=()",
2108
+ "usb=()",
2109
+ "midi=()",
2110
+ "sync-xhr=()",
2111
+ "interest-cohort=()"
2112
+ ].join(", ");
2113
+ }
2114
+ var Qn = async ({ resume: e, css: t, ...n }) => {
2115
+ let { basics: r, work: a, education: o, certificates: s, skills: c, meta: l, projects: u } = e, { ui: d, modest: f } = l.themeConfig, p = Fe({
2116
+ seed: d.backgroundTilesSeed,
1932
2117
  cellSize: 60,
1933
2118
  variance: .8
1934
2119
  });
1935
- return /* @__PURE__ */ v("html", {
1936
- lang: c.lang,
1937
- children: [/* @__PURE__ */ v("head", { children: [
1938
- /* @__PURE__ */ _("meta", { charSet: "UTF-8" }),
1939
- /* @__PURE__ */ _("meta", {
2120
+ return /* @__PURE__ */ y(b, { children: [i("<!doctype html>\n"), /* @__PURE__ */ y("html", {
2121
+ lang: l.lang,
2122
+ children: [/* @__PURE__ */ y("head", { children: [
2123
+ /* @__PURE__ */ v("meta", { charSet: "UTF-8" }),
2124
+ /* @__PURE__ */ v("meta", {
2125
+ name: "color-scheme",
2126
+ content: "light dark"
2127
+ }),
2128
+ /* @__PURE__ */ v("meta", {
1940
2129
  name: "viewport",
1941
2130
  content: "width=device-width, initial-scale=1.0"
1942
2131
  }),
1943
- /* @__PURE__ */ _("meta", {
2132
+ /* @__PURE__ */ v("meta", {
1944
2133
  name: "theme-color",
1945
- content: l.primary
2134
+ content: d.primary
1946
2135
  }),
1947
- !u && /* @__PURE__ */ _("meta", {
2136
+ !f && /* @__PURE__ */ v("meta", {
1948
2137
  name: "generator",
1949
2138
  content: "JSON Resume Theme CJEAN"
1950
2139
  }),
1951
- /* @__PURE__ */ _(Re, { resume: e }),
1952
- r.image && /* @__PURE__ */ _("link", {
2140
+ /* @__PURE__ */ v("meta", {
2141
+ name: "referrer",
2142
+ content: "no-referrer"
2143
+ }),
2144
+ /* @__PURE__ */ v("meta", {
2145
+ httpEquiv: "Permissions-Policy",
2146
+ content: Zn()
2147
+ }),
2148
+ /* @__PURE__ */ v(Wn, { resume: e }),
2149
+ r.image && /* @__PURE__ */ y(b, { children: [/* @__PURE__ */ v("link", {
2150
+ rel: "apple-touch-icon",
2151
+ href: r.image
2152
+ }), /* @__PURE__ */ v("link", {
1953
2153
  rel: "preload",
1954
2154
  as: "image",
1955
2155
  href: r.image,
1956
2156
  fetchPriority: "high"
1957
- }),
1958
- /* @__PURE__ */ _("style", { dangerouslySetInnerHTML: { __html: `
1959
- :root {
1960
- --theme-primary: ${l.primary};
1961
- --theme-header-from: ${l.headerFrom};
1962
- --theme-header-to: ${l.headerTo};
1963
- --theme-footer-from: ${l.footerFrom};
1964
- --theme-footer-to: ${l.footerTo};
1965
- }
1966
- ${t}
1967
- ` } })
1968
- ] }), /* @__PURE__ */ v("body", {
2157
+ })] }),
2158
+ /* @__PURE__ */ v("style", { dangerouslySetInnerHTML: { __html: `
2159
+ :root {
2160
+ --theme-primary: ${d.primary};
2161
+ --theme-header-from: ${d.headerFrom};
2162
+ --theme-header-to: ${d.headerTo};
2163
+ --theme-footer-from: ${d.footerFrom};
2164
+ --theme-footer-to: ${d.footerTo};
2165
+ }
2166
+ ${t}
2167
+ ` } })
2168
+ ] }), /* @__PURE__ */ y("body", {
1969
2169
  className: "bg-gray-200 text-gray-800 dark:bg-slate-950 dark:text-slate-300 print:bg-transparent print:text-sm",
1970
2170
  ...n,
1971
2171
  children: [
1972
- /* @__PURE__ */ _(Me, { bgTiles: d }),
1973
- /* @__PURE__ */ _("main", {
2172
+ /* @__PURE__ */ v("a", {
2173
+ href: "#main-content",
2174
+ className: "focus:text-primary focus:outline-primary sr-only focus:not-sr-only focus:fixed focus:top-0 focus:left-0 focus:z-50 focus:h-auto focus:w-auto focus:bg-white focus:p-4 focus:outline-2 focus:outline-offset-2",
2175
+ children: C("skip_to_content")
2176
+ }),
2177
+ /* @__PURE__ */ v(qe, { bgTiles: p }),
2178
+ /* @__PURE__ */ v("main", {
2179
+ id: "main-content",
1974
2180
  className: "relative z-10 container mx-auto max-w-5xl rounded bg-white p-4 shadow-md backdrop-blur-3xl md:p-6 dark:bg-slate-900/95 dark:text-slate-200 dark:shadow-2xl dark:ring-1 dark:ring-white/10 print:rounded-none print:shadow-none [&_a]:underline",
1975
- children: /* @__PURE__ */ v("article", { children: [
1976
- /* @__PURE__ */ _(Ee, {
2181
+ tabIndex: -1,
2182
+ children: /* @__PURE__ */ y("article", { children: [
2183
+ /* @__PURE__ */ v(Ve, {
1977
2184
  name: r.name,
1978
2185
  label: r.label
1979
2186
  }),
1980
- /* @__PURE__ */ _(Fe, {
1981
- basics: r,
1982
- list: c.themeConfig.ui.links
2187
+ /* @__PURE__ */ v("nav", {
2188
+ "aria-label": C("contact_info"),
2189
+ children: /* @__PURE__ */ v(Xe, {
2190
+ basics: r,
2191
+ list: l.themeConfig.ui.links
2192
+ })
1983
2193
  }),
1984
- (r.image || r.summary) && /* @__PURE__ */ v("div", {
2194
+ (r.image || r.summary) && /* @__PURE__ */ y("div", {
1985
2195
  className: "flex break-inside-avoid flex-wrap justify-center gap-4 sm:flex-nowrap",
1986
- children: [r.image && /* @__PURE__ */ _("div", {
2196
+ children: [r.image && /* @__PURE__ */ v("div", {
1987
2197
  className: "relative inline-block",
1988
- children: /* @__PURE__ */ _("img", {
2198
+ children: /* @__PURE__ */ v("img", {
1989
2199
  src: r.image,
1990
- alt: S("portrait_alt", { name: r.name }),
2200
+ alt: C("portrait_alt", { name: r.name }),
1991
2201
  width: "200",
1992
2202
  height: "200",
1993
2203
  fetchPriority: "high",
1994
2204
  className: "relative aspect-square min-w-30 rounded-full object-cover"
1995
2205
  })
1996
- }), r.summary && /* @__PURE__ */ _("p", {
2206
+ }), r.summary && /* @__PURE__ */ v("p", {
1997
2207
  className: "content-center text-lg print:text-base",
1998
2208
  children: r.summary
1999
2209
  })]
2000
2210
  }),
2001
- /* @__PURE__ */ _(jn, {
2002
- works: i,
2003
- showLogos: l.showLogos
2211
+ /* @__PURE__ */ v(Xn, {
2212
+ works: a,
2213
+ showLogos: d.showLogos
2004
2214
  }),
2005
- /* @__PURE__ */ _(De, {
2006
- education: a,
2007
- certificates: o
2215
+ /* @__PURE__ */ v(Un, {
2216
+ projects: u,
2217
+ showLogos: d.showLogos
2008
2218
  }),
2009
- /* @__PURE__ */ _(Ue, { skills: s })
2219
+ /* @__PURE__ */ v(He, {
2220
+ education: o,
2221
+ certificates: s
2222
+ }),
2223
+ /* @__PURE__ */ v(Yn, { skills: c })
2010
2224
  ] })
2011
2225
  }),
2012
- /* @__PURE__ */ _(je, {
2013
- meta: c,
2014
- bgTiles: d
2226
+ /* @__PURE__ */ v(Ke, {
2227
+ meta: l,
2228
+ bgTiles: p
2015
2229
  }),
2016
- l.cta && /* @__PURE__ */ _(ke, {
2017
- text: l.cta.text,
2018
- url: l.cta.url,
2019
- icon: l.cta.icon
2230
+ d.cta && /* @__PURE__ */ v(We, {
2231
+ text: d.cta.text,
2232
+ url: d.cta.url,
2233
+ icon: d.cta.icon
2020
2234
  }),
2021
- /* @__PURE__ */ _(Le, { resume: e }),
2022
- /* @__PURE__ */ _("script", { dangerouslySetInnerHTML: { __html: "if (window.matchMedia('(prefers-color-scheme: dark)').matches) document.documentElement.classList.add('dark');" } })
2235
+ /* @__PURE__ */ v(Qe, { resume: e }),
2236
+ /* @__PURE__ */ v("script", { dangerouslySetInnerHTML: { __html: "if (window.matchMedia('(prefers-color-scheme: dark)').matches) document.documentElement.classList.add('dark');" } })
2023
2237
  ]
2024
2238
  })]
2025
- });
2239
+ })] });
2026
2240
  };
2027
2241
  //#endregion
2028
2242
  //#region src/lib/google.ts
2029
- function Nn(e, t = 64) {
2243
+ function $n(e, t = 64) {
2030
2244
  return `https://www.google.com/s2/favicons?domain=${encodeURIComponent(e)}&sz=${t}`;
2031
2245
  }
2032
2246
  //#endregion
2033
2247
  //#region src/lib/gravatar.ts
2034
- async function Pn(e) {
2248
+ async function er(e) {
2035
2249
  let t = await crypto.subtle.digest("sha-256", new TextEncoder().encode(e.trim().toLowerCase()));
2036
2250
  return Array.from(new Uint8Array(t)).map((e) => e.toString(16).padStart(2, "0")).join("");
2037
2251
  }
2038
- function Fn(e, t = {}) {
2252
+ function tr(e, t = {}) {
2039
2253
  let n = new URL(`https://www.gravatar.com/avatar/${e}`);
2040
2254
  return t.size && n.searchParams.set("s", t.size.toString()), t.rating && n.searchParams.set("r", t.rating), t.d && n.searchParams.set("d", t.d), n.toString();
2041
2255
  }
2042
2256
  //#endregion
2043
2257
  //#region src/lib/wsrv.ts
2044
- function $(e, t = {}) {
2258
+ function nr(e, t = {}) {
2045
2259
  let n = new URL("https://wsrv.nl/");
2046
2260
  return n.searchParams.set("url", e), t.w && n.searchParams.set("w", t.w.toString()), t.h && n.searchParams.set("h", t.h.toString()), t.output && n.searchParams.set("output", t.output), t.encoding && n.searchParams.set("encoding", t.encoding), t.fit && n.searchParams.set("fit", t.fit), t.a && n.searchParams.set("a", t.a), n.toString();
2047
2261
  }
2048
2262
  //#endregion
2049
2263
  //#region src/lib/image.ts
2050
- async function In(e, t = 64) {
2264
+ async function rr(e, t = 64) {
2051
2265
  if (e) try {
2052
- let n = $(Nn(e, t), {
2266
+ let n = nr($n(e, t), {
2053
2267
  w: t,
2054
2268
  h: t,
2055
2269
  output: "webp",
@@ -2064,10 +2278,10 @@ async function In(e, t = 64) {
2064
2278
  return;
2065
2279
  }
2066
2280
  }
2067
- async function Ln(e, t = 200) {
2068
- let n = await Pn(e);
2281
+ async function ir(e, t = 200) {
2282
+ let n = await er(e);
2069
2283
  try {
2070
- let r = $(Fn(n, {
2284
+ let r = nr(tr(n, {
2071
2285
  size: t,
2072
2286
  d: "404"
2073
2287
  }), {
@@ -2087,17 +2301,17 @@ async function Ln(e, t = 200) {
2087
2301
  }
2088
2302
  //#endregion
2089
2303
  //#region src/styles/tailwind.input.css?inline
2090
- var Rn = "/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */\n@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-x-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:\"\";--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-space-y-reverse:0;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-slate-950:oklch(12.9% .042 264.695);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-light:300;--font-weight-medium:500;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-tight:-.025em;--tracking-wide:.025em;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--blur-sm:8px;--blur-3xl:64px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-primary:var(--theme-primary);--color-header-from:var(--theme-header-from);--color-header-to:var(--theme-header-to);--color-footer-from:var(--theme-footer-from);--color-footer-to:var(--theme-footer-to);--min-width-30:7.5rem}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components{.timeline{list-style-type:none;position:relative}:where(.timeline>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}.timeline{border-color:#e5e7eb99}@supports (color:color-mix(in lab, red, red)){.timeline{border-color:color-mix(in oklab, var(--color-gray-200) 60%, transparent)}}@media (width>=48rem){.timeline{margin-left:calc(var(--spacing) * 4);border-left-style:var(--tw-border-style);padding-left:calc(var(--spacing) * 8);border-left-width:4px}}.timeline:where(.dark,.dark *){border-color:#31415880}@supports (color:color-mix(in lab, red, red)){.timeline:where(.dark,.dark *){border-color:color-mix(in oklab, var(--color-slate-700) 50%, transparent)}}.timeline-item{break-inside:avoid;position:relative}.timeline-item:before{top:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 4);width:calc(var(--spacing) * 4);--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y);border-style:var(--tw-border-style);border-width:3px;border-color:var(--color-primary);background-color:var(--color-white);--tw-content:\"\";content:var(--tw-content);border-radius:3.40282e38px;display:none;position:absolute;left:-34px}@media (width>=48rem){.timeline-item:before{display:block}}.timeline-item:before:where(){background-color:var(--color-slate-900)}.timeline-item-secondary:before{border-color:var(--color-gray-200)}.timeline-item-secondary:before:where(){border-color:var(--color-slate-800)}.bullet-list{margin-top:calc(var(--spacing) * 3);margin-left:calc(var(--spacing) * 5);list-style-type:disc}:where(.bullet-list>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}.bullet-list ::marker{color:var(--color-gray-300)}.bullet-list::marker{color:var(--color-gray-300)}.bullet-list ::-webkit-details-marker{color:var(--color-gray-300)}.bullet-list::-webkit-details-marker{color:var(--color-gray-300)}.bullet-list:where(.dark,.dark *) ::marker{color:var(--color-slate-400)}.bullet-list:where(.dark,.dark *)::marker{color:var(--color-slate-400)}.bullet-list:where(.dark,.dark *) ::-webkit-details-marker{color:var(--color-slate-400)}.bullet-list:where(.dark,.dark *)::-webkit-details-marker{color:var(--color-slate-400)}.bullet-item{padding-left:calc(var(--spacing) * 1);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-gray-600)}.bullet-item:where(.dark,.dark *){color:var(--color-slate-400)}.badge{border-radius:var(--radius-md);background-color:var(--color-gray-50);padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--color-gray-600);--tw-inset-ring-shadow:inset 0 0 0 1px var(--tw-inset-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-inset-ring-color:#6a72821a;align-items:center;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.badge{--tw-inset-ring-color:color-mix(in oklab, var(--color-gray-500) 10%, transparent)}}.badge:where(.dark,.dark *){background-color:var(--color-slate-800);color:var(--color-slate-300);--tw-inset-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.badge:where(.dark,.dark *){--tw-inset-ring-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}}@layer utilities{.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.right-8{right:calc(var(--spacing) * 8)}.bottom-8{bottom:calc(var(--spacing) * 8)}.isolate{isolation:isolate}.-z-10{z-index:calc(10 * -1)}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.my-3{margin-block:calc(var(--spacing) * 3)}.-mt-10{margin-top:calc(var(--spacing) * -10)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-8{margin-top:calc(var(--spacing) * 8)}.-mr-2{margin-right:calc(var(--spacing) * -2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.ml-2{margin-left:calc(var(--spacing) * 2)}.flex{display:flex}.grid{display:grid}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.aspect-square{aspect-ratio:1}.size-full{width:100%;height:100%}.h-2\\.5{height:calc(var(--spacing) * 2.5)}.h-12{height:calc(var(--spacing) * 12)}.h-32{height:calc(var(--spacing) * 32)}.w-12{width:calc(var(--spacing) * 12)}.max-w-0{max-width:calc(var(--spacing) * 0)}.max-w-5xl{max-width:var(--container-5xl)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-30{min-width:var(--min-width-30)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.break-inside-avoid{break-inside:avoid}.break-after-avoid{break-after:avoid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-wrap{flex-wrap:wrap}.content-center{align-content:center}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-x-1{column-gap:calc(var(--spacing) * 1)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-\\[2ch\\]{column-gap:2ch}:where(.space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-gray-100{border-color:var(--color-gray-100)}.bg-black\\/80{background-color:#000c}@supports (color:color-mix(in lab, red, red)){.bg-black\\/80{background-color:color-mix(in oklab, var(--color-black) 80%, transparent)}}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-primary{background-color:var(--color-primary)}.bg-white{background-color:var(--color-white)}.bg-angled-gradient{--gradient-angle:16deg;background-image:linear-gradient(var(--gradient-angle), var(--tw-gradient-from,transparent), var(--tw-gradient-to,transparent))}.from-footer-from{--tw-gradient-from:var(--color-footer-from);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-header-from{--tw-gradient-from:var(--color-header-from);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-footer-to{--tw-gradient-to:var(--color-footer-to);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-header-to{--tw-gradient-to:var(--color-header-to);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.object-center{object-position:center}.p-4{padding:calc(var(--spacing) * 4)}.pt-12{padding-top:calc(var(--spacing) * 12)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-8{--tw-leading:calc(var(--spacing) * 8);line-height:calc(var(--spacing) * 8)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-pretty{text-wrap:pretty}.whitespace-nowrap{white-space:nowrap}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-primary{color:var(--color-primary)}.text-transparent{color:#0000}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.decoration-white\\/30{text-decoration-color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.decoration-white\\/30{-webkit-text-decoration-color:color-mix(in oklab, var(--color-white) 30%, transparent);-webkit-text-decoration-color:color-mix(in oklab, var(--color-white) 30%, transparent);-webkit-text-decoration-color:color-mix(in oklab, var(--color-white) 30%, transparent);text-decoration-color:color-mix(in oklab, var(--color-white) 30%, transparent)}}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.opacity-75{opacity:.75}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.backdrop-blur-3xl{--tw-backdrop-blur:blur(var(--blur-3xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.select-none{-webkit-user-select:none;user-select:none}.kerning-normal{font-kerning:normal}@media (hover:hover){.group-hover\\:mr-0:is(:where(.group):hover *){margin-right:calc(var(--spacing) * 0)}.group-hover\\:max-w-96:is(:where(.group):hover *){max-width:calc(var(--spacing) * 96)}.group-hover\\:text-inherit:is(:where(.group):hover *){color:inherit}}.group-focus\\:mr-0:is(:where(.group):focus *){margin-right:calc(var(--spacing) * 0)}.group-focus\\:max-w-96:is(:where(.group):focus *){max-width:calc(var(--spacing) * 96)}.group-focus\\:text-inherit:is(:where(.group):focus *){color:inherit}.group-\\[\\.fab--extended\\]\\:mr-0:is(:where(.group).fab--extended *){margin-right:calc(var(--spacing) * 0)}.group-\\[\\.fab--extended\\]\\:max-w-96:is(:where(.group).fab--extended *){max-width:calc(var(--spacing) * 96)}.group-\\[\\.fab--extended\\]\\:text-inherit:is(:where(.group).fab--extended *){color:inherit}.before\\:absolute:before{content:var(--tw-content);position:absolute}.before\\:-bottom-1:before{content:var(--tw-content);bottom:calc(var(--spacing) * -1)}.before\\:left-0:before{content:var(--tw-content);left:calc(var(--spacing) * 0)}.before\\:h-1:before{content:var(--tw-content);height:calc(var(--spacing) * 1)}.before\\:w-\\[3ch\\]:before{content:var(--tw-content);width:3ch}.before\\:rounded-\\[0_0\\.25rem_0\\.25rem_0\\]:before{content:var(--tw-content);border-radius:0 .25rem .25rem 0}.before\\:bg-primary:before{content:var(--tw-content);background-color:var(--color-primary)}@media (hover:hover){.hover\\:bg-black:hover{background-color:var(--color-black)}.hover\\:text-primary:hover{color:var(--color-primary)}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:decoration-white\\/80:hover{text-decoration-color:#fffc}@supports (color:color-mix(in lab, red, red)){.hover\\:decoration-white\\/80:hover{-webkit-text-decoration-color:color-mix(in oklab, var(--color-white) 80%, transparent);-webkit-text-decoration-color:color-mix(in oklab, var(--color-white) 80%, transparent);-webkit-text-decoration-color:color-mix(in oklab, var(--color-white) 80%, transparent);text-decoration-color:color-mix(in oklab, var(--color-white) 80%, transparent)}}}@media (width>=40rem){.sm\\:flex-nowrap{flex-wrap:nowrap}.sm\\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}}@media (width>=48rem){.md\\:mt-1\\.5{margin-top:calc(var(--spacing) * 1.5)}.md\\:-mb-60{margin-bottom:calc(var(--spacing) * -60)}.md\\:h-80{height:calc(var(--spacing) * 80)}.md\\:grid-cols-\\[1fr_auto\\]{grid-template-columns:1fr auto}.md\\:items-start{align-items:flex-start}.md\\:p-6{padding:calc(var(--spacing) * 6)}.md\\:text-right{text-align:right}.md\\:whitespace-normal{white-space:normal}}.dark\\:border-white\\/5:where(.dark,.dark *){border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.dark\\:border-white\\/5:where(.dark,.dark *){border-color:color-mix(in oklab, var(--color-white) 5%, transparent)}}.dark\\:bg-gray-700:where(.dark,.dark *){background-color:var(--color-gray-700)}.dark\\:bg-slate-800:where(.dark,.dark *){background-color:var(--color-slate-800)}.dark\\:bg-slate-900\\/95:where(.dark,.dark *){background-color:#0f172bf2}@supports (color:color-mix(in lab, red, red)){.dark\\:bg-slate-900\\/95:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-slate-900) 95%, transparent)}}.dark\\:bg-slate-950:where(.dark,.dark *){background-color:var(--color-slate-950)}.dark\\:text-slate-200:where(.dark,.dark *){color:var(--color-slate-200)}.dark\\:text-slate-300:where(.dark,.dark *){color:var(--color-slate-300)}.dark\\:text-slate-400:where(.dark,.dark *){color:var(--color-slate-400)}.dark\\:text-slate-500:where(.dark,.dark *){color:var(--color-slate-500)}.dark\\:text-white:where(.dark,.dark *){color:var(--color-white)}.dark\\:opacity-90:where(.dark,.dark *){opacity:.9}.dark\\:shadow-2xl:where(.dark,.dark *){--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.dark\\:ring-1:where(.dark,.dark *){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.dark\\:ring-white\\/10:where(.dark,.dark *){--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.dark\\:ring-white\\/10:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.dark\\:contrast-125:where(.dark,.dark *){--tw-contrast:contrast(125%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.dark\\:saturate-50:where(.dark,.dark *){--tw-saturate:saturate(50%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}@media print{.print\\:hidden{display:none}.print\\:rounded-none{border-radius:0}.print\\:bg-transparent{background-color:#0000}.print\\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.print\\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.print\\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}.before\\:print\\:\\[print-color-adjust\\:exact\\]:before{content:var(--tw-content)}@media print{.before\\:print\\:\\[print-color-adjust\\:exact\\]:before{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.\\[\\&_a\\]\\:underline a{text-decoration-line:underline}}.dark{--color-primary:oklch(from var(--theme-primary) calc(l * .9) calc(c * .7) h)}@property --tw-space-x-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:\"*\";inherits:false}@property --tw-gradient-from{syntax:\"<color>\";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:\"<color>\";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:\"<color>\";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:\"*\";inherits:false}@property --tw-gradient-via-stops{syntax:\"*\";inherits:false}@property --tw-gradient-from-position{syntax:\"<length-percentage>\";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:\"<length-percentage>\";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:\"<length-percentage>\";inherits:false;initial-value:100%}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-tracking{syntax:\"*\";inherits:false}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-backdrop-blur{syntax:\"*\";inherits:false}@property --tw-backdrop-brightness{syntax:\"*\";inherits:false}@property --tw-backdrop-contrast{syntax:\"*\";inherits:false}@property --tw-backdrop-grayscale{syntax:\"*\";inherits:false}@property --tw-backdrop-hue-rotate{syntax:\"*\";inherits:false}@property --tw-backdrop-invert{syntax:\"*\";inherits:false}@property --tw-backdrop-opacity{syntax:\"*\";inherits:false}@property --tw-backdrop-saturate{syntax:\"*\";inherits:false}@property --tw-backdrop-sepia{syntax:\"*\";inherits:false}@property --tw-duration{syntax:\"*\";inherits:false}@property --tw-ease{syntax:\"*\";inherits:false}@property --tw-content{syntax:\"*\";inherits:false;initial-value:\"\"}@property --tw-blur{syntax:\"*\";inherits:false}@property --tw-brightness{syntax:\"*\";inherits:false}@property --tw-contrast{syntax:\"*\";inherits:false}@property --tw-grayscale{syntax:\"*\";inherits:false}@property --tw-hue-rotate{syntax:\"*\";inherits:false}@property --tw-invert{syntax:\"*\";inherits:false}@property --tw-opacity{syntax:\"*\";inherits:false}@property --tw-saturate{syntax:\"*\";inherits:false}@property --tw-sepia{syntax:\"*\";inherits:false}@property --tw-drop-shadow{syntax:\"*\";inherits:false}@property --tw-drop-shadow-color{syntax:\"*\";inherits:false}@property --tw-drop-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:\"*\";inherits:false}@property --tw-space-y-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-x{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-y{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-z{syntax:\"*\";inherits:false;initial-value:0}";
2304
+ var ar = "/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */\n@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:\"\";--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-space-y-reverse:0;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-slate-950:oklch(12.9% .042 264.695);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-light:300;--font-weight-medium:500;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-tight:-.025em;--tracking-wide:.025em;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--blur-sm:8px;--blur-3xl:64px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-primary:oklch(from var(--theme-primary) calc(l * .9) calc(c * .7) h);--color-header-from:var(--theme-header-from);--color-header-to:var(--theme-header-to);--color-footer-from:var(--theme-footer-from);--color-footer-to:var(--theme-footer-to);--min-width-30:7.5rem}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}html{scrollbar-gutter:stable}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}}@layer components{.timeline{list-style-type:none;position:relative}:where(.timeline>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}.timeline{border-color:#e5e7eb99}@supports (color:color-mix(in lab, red, red)){.timeline{border-color:color-mix(in oklab, var(--color-gray-200) 60%, transparent)}}@media (width>=48rem){.timeline{margin-left:calc(var(--spacing) * 4);border-left-style:var(--tw-border-style);padding-left:calc(var(--spacing) * 8);border-left-width:4px}}.timeline:where(.dark,.dark *){border-color:#31415880}@supports (color:color-mix(in lab, red, red)){.timeline:where(.dark,.dark *){border-color:color-mix(in oklab, var(--color-slate-700) 50%, transparent)}}.timeline-item{break-inside:avoid;position:relative}.timeline-item:before{top:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 4);width:calc(var(--spacing) * 4);--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y);border-style:var(--tw-border-style);border-width:3px;border-color:var(--color-primary);background-color:var(--color-white);--tw-content:\"\";content:var(--tw-content);border-radius:3.40282e38px;display:none;position:absolute;left:-34px}@media (width>=48rem){.timeline-item:before{display:block}}.dark .timeline-item:before{background-color:#0f172bf2}@supports (color:color-mix(in lab, red, red)){.dark .timeline-item:before{background-color:color-mix(in oklab, var(--color-slate-900) 95%, transparent)}}.timeline-item-secondary:before{border-color:var(--color-gray-200)}.timeline-item-secondary:before:where(){border-color:var(--color-slate-800)}.bullet-list{margin-top:calc(var(--spacing) * 3);margin-left:calc(var(--spacing) * 5);list-style-type:disc}:where(.bullet-list>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}.bullet-list ::marker{color:var(--color-gray-300)}.bullet-list::marker{color:var(--color-gray-300)}.bullet-list ::-webkit-details-marker{color:var(--color-gray-300)}.bullet-list::-webkit-details-marker{color:var(--color-gray-300)}.bullet-list:where(.dark,.dark *) ::marker{color:var(--color-slate-400)}.bullet-list:where(.dark,.dark *)::marker{color:var(--color-slate-400)}.bullet-list:where(.dark,.dark *) ::-webkit-details-marker{color:var(--color-slate-400)}.bullet-list:where(.dark,.dark *)::-webkit-details-marker{color:var(--color-slate-400)}.bullet-item{padding-left:calc(var(--spacing) * 1);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-gray-600)}.bullet-item:where(.dark,.dark *){color:var(--color-slate-400)}.badge{border-radius:var(--radius-md);background-color:var(--color-gray-50);padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--color-gray-600);--tw-inset-ring-shadow:inset 0 0 0 1px var(--tw-inset-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-inset-ring-color:#6a72821a;align-items:center;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.badge{--tw-inset-ring-color:color-mix(in oklab, var(--color-gray-500) 10%, transparent)}}.badge:where(.dark,.dark *){background-color:var(--color-slate-800);color:var(--color-slate-300);--tw-inset-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.badge:where(.dark,.dark *){--tw-inset-ring-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}}@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.right-8{right:calc(var(--spacing) * 8)}.bottom-8{bottom:calc(var(--spacing) * 8)}.isolate{isolation:isolate}.-z-10{z-index:calc(10 * -1)}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.my-3{margin-block:calc(var(--spacing) * 3)}.-mt-10{margin-top:calc(var(--spacing) * -10)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.ml-2{margin-left:calc(var(--spacing) * 2)}.flex{display:flex}.grid{display:grid}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.aspect-square{aspect-ratio:1}.size-full{width:100%;height:100%}.h-2\\.5{height:calc(var(--spacing) * 2.5)}.h-12{height:calc(var(--spacing) * 12)}.h-32{height:calc(var(--spacing) * 32)}.w-12{width:calc(var(--spacing) * 12)}.max-w-5xl{max-width:var(--container-5xl)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-30{min-width:var(--min-width-30)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.break-inside-avoid{break-inside:avoid}.break-after-avoid{break-after:avoid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-\\[0fr\\]{grid-template-columns:0fr}.flex-wrap{flex-wrap:wrap}.content-center{align-content:center}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-x-1{column-gap:calc(var(--spacing) * 1)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-\\[2ch\\]{column-gap:2ch}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-gray-100{border-color:var(--color-gray-100)}.bg-black\\/80{background-color:#000c}@supports (color:color-mix(in lab, red, red)){.bg-black\\/80{background-color:color-mix(in oklab, var(--color-black) 80%, transparent)}}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-primary{background-color:var(--color-primary)}.bg-white{background-color:var(--color-white)}.bg-angled-gradient{--gradient-angle:16deg;background-image:linear-gradient(var(--gradient-angle), var(--tw-gradient-from,transparent), var(--tw-gradient-to,transparent))}.from-footer-from{--tw-gradient-from:var(--color-footer-from);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-header-from{--tw-gradient-from:var(--color-header-from);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-footer-to{--tw-gradient-to:var(--color-footer-to);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-header-to{--tw-gradient-to:var(--color-header-to);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.object-center{object-position:center}.p-4{padding:calc(var(--spacing) * 4)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-4{padding-block:calc(var(--spacing) * 4)}.pt-12{padding-top:calc(var(--spacing) * 12)}.pr-6{padding-right:calc(var(--spacing) * 6)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.text-center{text-align:center}.indent-2{text-indent:calc(var(--spacing) * 2)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-8{--tw-leading:calc(var(--spacing) * 8);line-height:calc(var(--spacing) * 8)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-pretty{text-wrap:pretty}.whitespace-nowrap{white-space:nowrap}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-gray-900{color:var(--color-gray-900)}.text-primary{color:var(--color-primary)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.decoration-white\\/30{text-decoration-color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.decoration-white\\/30{-webkit-text-decoration-color:color-mix(in oklab, var(--color-white) 30%, transparent);-webkit-text-decoration-color:color-mix(in oklab, var(--color-white) 30%, transparent);-webkit-text-decoration-color:color-mix(in oklab, var(--color-white) 30%, transparent);text-decoration-color:color-mix(in oklab, var(--color-white) 30%, transparent)}}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-75{opacity:.75}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.backdrop-blur-3xl{--tw-backdrop-blur:blur(var(--blur-3xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition-\\[background-color\\,padding-right\\]{transition-property:background-color,padding-right;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[grid-template-columns\\]{transition-property:grid-template-columns;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-300{--tw-duration:.3s;transition-duration:.3s}.\\[transition-duration\\:150ms\\,300ms\\]{transition-duration:.15s,.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.select-none{-webkit-user-select:none;user-select:none}.\\[contain-intrinsic-size\\:auto_400px\\]{contain-intrinsic-size:auto 400px}.content-visibility-auto{content-visibility:auto}.kerning-normal{font-kerning:normal}.before\\:absolute:before{content:var(--tw-content);position:absolute}.before\\:-bottom-1:before{content:var(--tw-content);bottom:calc(var(--spacing) * -1)}.before\\:left-0:before{content:var(--tw-content);left:calc(var(--spacing) * 0)}.before\\:h-1:before{content:var(--tw-content);height:calc(var(--spacing) * 1)}.before\\:w-\\[3ch\\]:before{content:var(--tw-content);width:3ch}.before\\:rounded-\\[0_0\\.25rem_0\\.25rem_0\\]:before{content:var(--tw-content);border-radius:0 .25rem .25rem 0}.before\\:bg-primary:before{content:var(--tw-content);background-color:var(--color-primary)}@media (hover:hover){.hover\\:bg-black:hover{background-color:var(--color-black)}.hover\\:text-primary:hover{color:var(--color-primary)}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:decoration-white\\/80:hover{text-decoration-color:#fffc}@supports (color:color-mix(in lab, red, red)){.hover\\:decoration-white\\/80:hover{-webkit-text-decoration-color:color-mix(in oklab, var(--color-white) 80%, transparent);-webkit-text-decoration-color:color-mix(in oklab, var(--color-white) 80%, transparent);-webkit-text-decoration-color:color-mix(in oklab, var(--color-white) 80%, transparent);text-decoration-color:color-mix(in oklab, var(--color-white) 80%, transparent)}}}.focus\\:not-sr-only:focus{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.focus\\:fixed:focus{position:fixed}.focus\\:top-0:focus{top:calc(var(--spacing) * 0)}.focus\\:left-0:focus{left:calc(var(--spacing) * 0)}.focus\\:z-50:focus{z-index:50}.focus\\:h-auto:focus{height:auto}.focus\\:w-auto:focus{width:auto}.focus\\:bg-white:focus{background-color:var(--color-white)}.focus\\:p-4:focus{padding:calc(var(--spacing) * 4)}.focus\\:text-primary:focus{color:var(--color-primary)}.focus\\:outline-2:focus{outline-style:var(--tw-outline-style);outline-width:2px}.focus\\:outline-offset-2:focus{outline-offset:2px}.focus\\:outline-primary:focus{outline-color:var(--color-primary)}@media (width>=40rem){.sm\\:flex-nowrap{flex-wrap:nowrap}.sm\\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}}@media (width>=48rem){.md\\:mt-1\\.5{margin-top:calc(var(--spacing) * 1.5)}.md\\:-mb-60{margin-bottom:calc(var(--spacing) * -60)}.md\\:h-80{height:calc(var(--spacing) * 80)}.md\\:grid-cols-\\[1fr_auto\\]{grid-template-columns:1fr auto}.md\\:items-start{align-items:flex-start}.md\\:p-6{padding:calc(var(--spacing) * 6)}.md\\:text-right{text-align:right}.md\\:whitespace-normal{white-space:normal}}.dark\\:border-white\\/5:where(.dark,.dark *){border-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.dark\\:border-white\\/5:where(.dark,.dark *){border-color:color-mix(in oklab, var(--color-white) 5%, transparent)}}.dark\\:bg-gray-700:where(.dark,.dark *){background-color:var(--color-gray-700)}.dark\\:bg-slate-800:where(.dark,.dark *){background-color:var(--color-slate-800)}.dark\\:bg-slate-900\\/95:where(.dark,.dark *){background-color:#0f172bf2}@supports (color:color-mix(in lab, red, red)){.dark\\:bg-slate-900\\/95:where(.dark,.dark *){background-color:color-mix(in oklab, var(--color-slate-900) 95%, transparent)}}.dark\\:bg-slate-950:where(.dark,.dark *){background-color:var(--color-slate-950)}.dark\\:text-slate-200:where(.dark,.dark *){color:var(--color-slate-200)}.dark\\:text-slate-300:where(.dark,.dark *){color:var(--color-slate-300)}.dark\\:text-slate-400:where(.dark,.dark *){color:var(--color-slate-400)}.dark\\:text-slate-500:where(.dark,.dark *){color:var(--color-slate-500)}.dark\\:text-white:where(.dark,.dark *){color:var(--color-white)}.dark\\:opacity-90:where(.dark,.dark *){opacity:.9}.dark\\:shadow-2xl:where(.dark,.dark *){--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.dark\\:ring-1:where(.dark,.dark *){--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.dark\\:ring-white\\/10:where(.dark,.dark *){--tw-ring-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.dark\\:ring-white\\/10:where(.dark,.dark *){--tw-ring-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.dark\\:contrast-125:where(.dark,.dark *){--tw-contrast:contrast(125%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.dark\\:saturate-50:where(.dark,.dark *){--tw-saturate:saturate(50%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}@media print{.print\\:hidden{display:none}.print\\:rounded-none{border-radius:0}.print\\:bg-transparent{background-color:#0000}.print\\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.print\\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.print\\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}.before\\:print\\:\\[print-color-adjust\\:exact\\]:before{content:var(--tw-content)}@media print{.before\\:print\\:\\[print-color-adjust\\:exact\\]:before{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.fab-open\\:pr-6:hover,.fab-open\\:pr-6:focus-visible,.fab-open\\:pr-6.fab--extended{padding-right:calc(var(--spacing) * 6)}:where(.fab:hover,.fab:focus-visible,.fab.fab--extended) .group-fab-open\\:grid-cols-\\[1fr\\]{grid-template-columns:1fr}:where(.fab:hover,.fab:focus-visible,.fab.fab--extended) .group-fab-open\\:opacity-100{opacity:1}.\\[\\&_a\\]\\:underline a{text-decoration-line:underline}}@view-transition{navigation:auto}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:\"*\";inherits:false}@property --tw-gradient-from{syntax:\"<color>\";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:\"<color>\";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:\"<color>\";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:\"*\";inherits:false}@property --tw-gradient-via-stops{syntax:\"*\";inherits:false}@property --tw-gradient-from-position{syntax:\"<length-percentage>\";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:\"<length-percentage>\";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:\"<length-percentage>\";inherits:false;initial-value:100%}@property --tw-leading{syntax:\"*\";inherits:false}@property --tw-font-weight{syntax:\"*\";inherits:false}@property --tw-tracking{syntax:\"*\";inherits:false}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-backdrop-blur{syntax:\"*\";inherits:false}@property --tw-backdrop-brightness{syntax:\"*\";inherits:false}@property --tw-backdrop-contrast{syntax:\"*\";inherits:false}@property --tw-backdrop-grayscale{syntax:\"*\";inherits:false}@property --tw-backdrop-hue-rotate{syntax:\"*\";inherits:false}@property --tw-backdrop-invert{syntax:\"*\";inherits:false}@property --tw-backdrop-opacity{syntax:\"*\";inherits:false}@property --tw-backdrop-saturate{syntax:\"*\";inherits:false}@property --tw-backdrop-sepia{syntax:\"*\";inherits:false}@property --tw-duration{syntax:\"*\";inherits:false}@property --tw-ease{syntax:\"*\";inherits:false}@property --tw-content{syntax:\"*\";inherits:false;initial-value:\"\"}@property --tw-outline-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-blur{syntax:\"*\";inherits:false}@property --tw-brightness{syntax:\"*\";inherits:false}@property --tw-contrast{syntax:\"*\";inherits:false}@property --tw-grayscale{syntax:\"*\";inherits:false}@property --tw-hue-rotate{syntax:\"*\";inherits:false}@property --tw-invert{syntax:\"*\";inherits:false}@property --tw-opacity{syntax:\"*\";inherits:false}@property --tw-saturate{syntax:\"*\";inherits:false}@property --tw-sepia{syntax:\"*\";inherits:false}@property --tw-drop-shadow{syntax:\"*\";inherits:false}@property --tw-drop-shadow-color{syntax:\"*\";inherits:false}@property --tw-drop-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:\"*\";inherits:false}@property --tw-space-y-reverse{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-x{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-y{syntax:\"*\";inherits:false;initial-value:0}@property --tw-translate-z{syntax:\"*\";inherits:false;initial-value:0}";
2091
2305
  //#endregion
2092
- //#region src/index.ts
2093
- async function zn(e) {
2094
- let t = An.parse(e);
2095
- return ve(t.meta.lang), t.meta.themeConfig.ui.showLogos && await Promise.all(t.work.filter((e) => !e.logo).map(async (e) => {
2096
- e.logo = await In(e.url);
2097
- })), !t.basics.image && t.basics.email && (t.basics.image = await Ln(t.basics.email)), `<!doctype html>${await Mn({
2306
+ //#region src/index.tsx
2307
+ async function or(e) {
2308
+ let t = Hn.parse(e);
2309
+ return Ne(t.meta.lang), t.meta.themeConfig.ui.showLogos && await Promise.all(t.work.filter((e) => !e.logo).map(async (e) => {
2310
+ e.logo = await rr(e.url);
2311
+ })), !t.basics.image && t.basics.email && (t.basics.image = await ir(t.basics.email)), (await v(Qn, {
2098
2312
  resume: t,
2099
- css: Rn
2100
- })}`;
2313
+ css: ar
2314
+ })).toString();
2101
2315
  }
2102
2316
  //#endregion
2103
- export { zn as render };
2317
+ export { or as render };