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