@fanfare-io/fanfare-sdk-react 0.8.0 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,59 +1,59 @@
1
1
  "use client";
2
2
  import { jsx as t, Fragment as Me, jsxs as u } from "react/jsx-runtime";
3
- import lr from "@fanfare-io/fanfare-sdk-core";
3
+ import cr from "@fanfare-io/fanfare-sdk-core";
4
4
  import * as s from "react";
5
- import { createContext as zt, useMemo as X, useContext as jt, useState as ve, useRef as bt, useEffect as $e, useCallback as B, useSyncExternalStore as cr, forwardRef as kt, useLayoutEffect as dr } from "react";
6
- import { getLocaleMessages as ur, mergeTranslations as aa, createTranslateFunction as ba, isRTLLocale as pr, en as gr, resolveLocaleMapValue as mr, normalizeLocale as hr } from "@fanfare-io/fanfare-sdk-i18n";
7
- import { RTL_LOCALES as Zo, isRTLLocale as Yo } from "@fanfare-io/fanfare-sdk-i18n";
8
- import { ensureFanfareError as mt, toDisplay as ra, classify as wr } from "@fanfare-io/fanfare-sdk-core/errors";
9
- import { getGates as xa, getParticipation as vr, getDistribution as br, getSequenceId as xr, getSequencePhase as yr } from "@fanfare-io/fanfare-sdk-core/internals";
5
+ import { createContext as jt, useMemo as X, useContext as zt, useState as ve, useRef as bt, useEffect as $e, useCallback as B, useSyncExternalStore as dr, forwardRef as kt, useLayoutEffect as ur } from "react";
6
+ import { getLocaleMessages as pr, mergeTranslations as aa, createTranslateFunction as ba, isRTLLocale as gr, en as mr, resolveLocaleMapValue as hr, normalizeLocale as wr } from "@fanfare-io/fanfare-sdk-i18n";
7
+ import { RTL_LOCALES as Yo, isRTLLocale as Go } from "@fanfare-io/fanfare-sdk-i18n";
8
+ import { ensureFanfareError as mt, toDisplay as ra, classify as vr } from "@fanfare-io/fanfare-sdk-core/errors";
9
+ import { getGates as xa, getParticipation as br, getDistribution as xr, getSequenceId as yr, getSequencePhase as kr } from "@fanfare-io/fanfare-sdk-core/internals";
10
10
  import * as ht from "valibot";
11
- import { clsx as kr } from "clsx";
12
- import { extendTailwindMerge as _r } from "tailwind-merge";
13
- import { cva as te } from "class-variance-authority";
14
- import { AnimatePresence as _t, motion as U } from "motion/react";
15
- import { mergeBrandTheme as Nr, DefaultBrandTheme as Sr } from "@fanfare-io/fanfare-sdk-core/theme";
16
- import Cr from "canvas-confetti";
11
+ import { clsx as _r } from "clsx";
12
+ import { extendTailwindMerge as Nr } from "tailwind-merge";
13
+ import { cva as ae } from "class-variance-authority";
14
+ import { AnimatePresence as _t, motion as W } from "motion/react";
15
+ import { mergeBrandTheme as Sr, DefaultBrandTheme as Cr } from "@fanfare-io/fanfare-sdk-core/theme";
16
+ import Dr from "canvas-confetti";
17
17
  import { atom as qe } from "nanostores";
18
- import { bucketFromEtaSeconds as Dr, bucketI18nKey as Vr } from "@fanfare-io/fanfare-sdk-core/queues";
19
- import { createPortal as Er } from "react-dom";
20
- const ya = zt(null), ka = gr, Mr = ba(ka, "en"), Tr = {
18
+ import { bucketFromEtaSeconds as Vr, bucketI18nKey as Er } from "@fanfare-io/fanfare-sdk-core/queues";
19
+ import { createPortal as Mr } from "react-dom";
20
+ const ya = jt(null), ka = mr, Tr = ba(ka, "en"), Rr = {
21
21
  locale: "en",
22
22
  messages: ka,
23
23
  isRoot: !0,
24
- t: Mr,
24
+ t: Tr,
25
25
  dir: "ltr",
26
26
  experienceTranslations: null,
27
27
  setExperienceTranslations: () => {
28
28
  }
29
- }, _a = zt(Tr);
29
+ }, _a = jt(Rr);
30
30
  function Ft() {
31
- return jt(_a);
31
+ return zt(_a);
32
32
  }
33
33
  function K() {
34
34
  const { t: e, locale: a, dir: r } = Ft();
35
35
  return { t: e, locale: a, dir: r };
36
36
  }
37
- function Rr(e, a, r, n) {
37
+ function Lr(e, a, r, n) {
38
38
  const o = Ft();
39
39
  return X(() => {
40
- const i = e ?? o.locale, f = e && e !== o.locale ? ur(e) : o.messages, c = aa(
40
+ const i = e ?? o.locale, f = e && e !== o.locale ? pr(e) : o.messages, l = aa(
41
41
  f,
42
42
  r ?? o.experienceTranslations ?? void 0
43
- ), g = aa(c, a), d = ba(g, i), x = pr(i) ? "rtl" : "ltr";
43
+ ), g = aa(l, a), d = ba(g, i), b = gr(i) ? "rtl" : "ltr";
44
44
  return {
45
45
  locale: i,
46
46
  messages: g,
47
47
  isRoot: !1,
48
48
  t: d,
49
- dir: x,
49
+ dir: b,
50
50
  experienceTranslations: r ?? o.experienceTranslations,
51
51
  setExperienceTranslations: n ?? o.setExperienceTranslations
52
52
  };
53
53
  }, [o, e, a, r, n]);
54
54
  }
55
55
  function Na({ locale: e, translations: a, children: r }) {
56
- const [n, o] = ve(null), i = Rr(e, a, n, o);
56
+ const [n, o] = ve(null), i = Lr(e, a, n, o);
57
57
  return /* @__PURE__ */ t(_a.Provider, { value: i, children: r });
58
58
  }
59
59
  let na = Promise.resolve();
@@ -66,7 +66,7 @@ function oa(e) {
66
66
  }
67
67
  ), a;
68
68
  }
69
- function $o({
69
+ function qo({
70
70
  children: e,
71
71
  autoRestore: a = !0,
72
72
  autoResume: r = !0,
@@ -74,32 +74,32 @@ function $o({
74
74
  locale: o,
75
75
  translations: i,
76
76
  organizationId: f,
77
- publishableKey: c,
77
+ publishableKey: l,
78
78
  environment: g,
79
79
  apiUrl: d,
80
- credentials: x,
80
+ credentials: b,
81
81
  debug: m,
82
82
  auth: v,
83
- logging: w,
84
- sync: y,
83
+ logging: h,
84
+ sync: x,
85
85
  features: C,
86
- beacon: l
86
+ beacon: c
87
87
  }) {
88
- const [h, p] = ve(null), [D, V] = ve(!0), T = bt(null), b = X(
88
+ const [w, p] = ve(null), [D, V] = ve(!0), T = bt(null), y = X(
89
89
  () => ({
90
90
  organizationId: f,
91
- publishableKey: c,
91
+ publishableKey: l,
92
92
  environment: g,
93
93
  apiUrl: d,
94
- credentials: x,
94
+ credentials: b,
95
95
  debug: m,
96
96
  auth: v,
97
- logging: w,
98
- sync: y,
97
+ logging: h,
98
+ sync: x,
99
99
  features: C,
100
- beacon: l
100
+ beacon: c
101
101
  }),
102
- [f, c, g, d, x, m, v, w, y, C, l]
102
+ [f, l, g, d, b, m, v, h, x, C, c]
103
103
  );
104
104
  return $e(() => {
105
105
  let N = !0;
@@ -107,7 +107,7 @@ function $o({
107
107
  async function S() {
108
108
  if (N)
109
109
  try {
110
- const M = await lr({ ...b, autoResume: a && r });
110
+ const M = await cr({ ...y, autoResume: a && r });
111
111
  if (!N) {
112
112
  await M.destroy();
113
113
  return;
@@ -122,34 +122,34 @@ function $o({
122
122
  const M = T.current;
123
123
  T.current = null, M && oa(() => M.destroy());
124
124
  };
125
- }, [b, a, r]), D ? /* @__PURE__ */ t(Me, { children: n }) : h ? /* @__PURE__ */ t(ya.Provider, { value: h, children: /* @__PURE__ */ t(Na, { locale: o, translations: i, children: e }) }) : (console.error("Fanfare SDK failed to initialize"), null);
125
+ }, [y, a, r]), D ? /* @__PURE__ */ t(Me, { children: n }) : w ? /* @__PURE__ */ t(ya.Provider, { value: w, children: /* @__PURE__ */ t(Na, { locale: o, translations: i, children: e }) }) : (console.error("Fanfare SDK failed to initialize"), null);
126
126
  }
127
127
  function Nt() {
128
- const e = jt(ya);
128
+ const e = zt(ya);
129
129
  if (!e)
130
130
  throw new Error(
131
131
  "useFanfare must be used within a FanfareProvider. Make sure your component is wrapped with <FanfareProvider>"
132
132
  );
133
133
  return e;
134
134
  }
135
- function qo() {
135
+ function Uo() {
136
136
  const e = Nt(), [a, r] = ve(e.auth.check());
137
137
  $e(() => {
138
- const c = e.on("auth:authenticated", () => {
138
+ const l = e.on("auth:authenticated", () => {
139
139
  r(e.auth.check());
140
140
  }), g = e.on("auth:logout", () => {
141
141
  r(e.auth.check());
142
142
  });
143
143
  return () => {
144
- c(), g();
144
+ l(), g();
145
145
  };
146
146
  }, [e]);
147
147
  const n = B(async () => {
148
- const c = await e.auth.guest();
149
- return r(e.auth.check()), c;
150
- }, [e]), o = B((c) => e.auth.requestOtp(c), [e]), i = B(
151
- async (c) => {
152
- const g = await e.auth.verifyOtp(c);
148
+ const l = await e.auth.guest();
149
+ return r(e.auth.check()), l;
150
+ }, [e]), o = B((l) => e.auth.requestOtp(l), [e]), i = B(
151
+ async (l) => {
152
+ const g = await e.auth.verifyOtp(l);
153
153
  return r(e.auth.check()), g;
154
154
  },
155
155
  [e]
@@ -165,18 +165,18 @@ function qo() {
165
165
  };
166
166
  }
167
167
  function Sa(e, a) {
168
- const r = Nt(), { locale: n, setExperienceTranslations: o } = Ft(), i = bt(null), f = bt(a), [c, g] = ve(null), [d, x] = ve(null), [m, v] = ve(null), [w, y] = ve(null), [C, l] = ve(null);
168
+ const r = Nt(), { locale: n, setExperienceTranslations: o } = Ft(), i = bt(null), f = bt(a), [l, g] = ve(null), [d, b] = ve(null), [m, v] = ve(null), [h, x] = ve(null), [C, c] = ve(null);
169
169
  $e(() => {
170
170
  f.current = a;
171
171
  }, [a]), $e(() => {
172
172
  if (!e) {
173
- i.current = null, g(null), x(null), v(null), y(null), l(null);
173
+ i.current = null, g(null), b(null), v(null), x(null), c(null);
174
174
  return;
175
175
  }
176
176
  const p = r.journeys.get(e);
177
- i.current = p, g(p), x(p.snapshot$.get()), v(p.view$.get());
177
+ i.current = p, g(p), b(p.snapshot$.get()), v(p.view$.get());
178
178
  const D = p.snapshot$.listen((T) => {
179
- x(T);
179
+ b(T);
180
180
  }), V = p.view$.listen((T) => {
181
181
  v(T);
182
182
  });
@@ -191,138 +191,138 @@ function Sa(e, a) {
191
191
  let p = !1;
192
192
  const D = d?.experience?.experience?.i18n;
193
193
  if (D) {
194
- const V = mr(D, n);
194
+ const V = hr(D, n);
195
195
  o(V ?? null);
196
196
  } else p || o(null);
197
197
  return () => {
198
198
  p = !0, o(null);
199
199
  };
200
200
  }, [e, d?.experience?.experience?.i18n, n, o]);
201
- const h = B(
201
+ const w = B(
202
202
  async (p) => {
203
203
  if (!e)
204
204
  throw new Error("experienceId is required to start an experience journey");
205
205
  const D = i.current ?? r.journeys.get(e);
206
- i.current = D, g(D), y(null), l(null);
206
+ i.current = D, g(D), x(null), c(null);
207
207
  const V = f.current, T = {
208
208
  accessCode: p?.accessCode ?? V?.accessCode,
209
209
  autoEnterWaitlist: p?.autoEnterWaitlist ?? V?.autoEnterWaitlist
210
210
  };
211
211
  try {
212
- const b = D.view$.get();
213
- if (b.journeyStage === "ready") {
212
+ const y = D.view$.get();
213
+ if (y.journeyStage === "ready") {
214
214
  const N = T.accessCode ? { accessCode: T.accessCode } : void 0;
215
- await b.start(N);
215
+ await y.start(N);
216
216
  }
217
217
  if (T.autoEnterWaitlist) {
218
218
  const N = D.view$.get();
219
- N.journeyStage === "routed" && N.sequence.phase === "scheduled" && N.sequence.waitlist?.status === "not_waitlisted" && await N.sequence.waitlist.join();
219
+ N.journeyStage === "routed" && N.sequence.phase === "scheduled" && N.waitlist?.status === "not_waitlisted" && await N.waitlist.join();
220
220
  }
221
221
  return D.view$.get();
222
- } catch (b) {
223
- throw y(b instanceof Error ? b.message : "Unknown error"), l(mt(b)), b;
222
+ } catch (y) {
223
+ throw x(y instanceof Error ? y.message : "Unknown error"), c(mt(y)), y;
224
224
  }
225
225
  },
226
226
  [e, r]
227
227
  );
228
228
  return $e(() => {
229
- a?.autoStart && e && h();
230
- }, [a?.autoStart, e, h]), {
231
- journey: c,
229
+ a?.autoStart && e && w();
230
+ }, [a?.autoStart, e, w]), {
231
+ journey: l,
232
232
  view: m,
233
233
  snapshot: d,
234
- error: w,
234
+ error: h,
235
235
  fanfareError: C,
236
- start: h
236
+ start: w
237
237
  };
238
238
  }
239
- function ze(e) {
239
+ function je(e) {
240
240
  const a = B((n) => e.listen(n), [e]), r = B(() => e.get(), [e]);
241
- return cr(a, r, r);
241
+ return dr(a, r, r);
242
242
  }
243
243
  function Wo(e) {
244
- return ze(e.snapshot$);
244
+ return je(e.snapshot$);
245
245
  }
246
- function Lr({ experienceId: e, autoStart: a, children: r }) {
246
+ function Ar({ experienceId: e, autoStart: a, children: r }) {
247
247
  const n = Sa(e, {
248
248
  autoStart: a
249
249
  });
250
250
  return /* @__PURE__ */ t(Me, { children: r(n) });
251
251
  }
252
- function Uo({ experienceId: e, autoStart: a, renderHeader: r }) {
253
- return /* @__PURE__ */ t(Lr, { experienceId: e, autoStart: a, children: ({ journey: n, view: o, snapshot: i, error: f, start: c }) => {
252
+ function Ho({ experienceId: e, autoStart: a, renderHeader: r }) {
253
+ return /* @__PURE__ */ t(Ar, { experienceId: e, autoStart: a, children: ({ journey: n, view: o, snapshot: i, error: f, start: l }) => {
254
254
  const g = [], d = [];
255
255
  if (o?.journeyStage === "ready" && g.push("start"), o?.journeyStage === "gated" && g.push("reroute", "retry"), o?.journeyStage === "routed") {
256
256
  g.push("reroute", "retry");
257
257
  const v = o.sequence;
258
- v.phase === "scheduled" && v.waitlist?.status === "not_waitlisted" && d.push("joinAttachment"), v.phase === "scheduled" && v.waitlist && v.waitlist.status !== "not_waitlisted" && d.push("leaveAttachment"), v.phase === "enterable" && d.push("enter"), v.phase === "participating" && "leave" in v && d.push("leave"), v.phase === "participating" && "complete" in v && d.push("complete"), "bid" in v && d.push("bid"), "book" in v && d.push("book"), "cancel" in v && d.push("cancel"), "reschedule" in v && d.push("reschedule"), "claim" in v && d.push("claim");
258
+ v.phase === "scheduled" && o.waitlist?.status === "not_waitlisted" && d.push("joinAttachment"), v.phase === "scheduled" && o.waitlist && o.waitlist.status !== "not_waitlisted" && d.push("leaveAttachment"), v.phase === "enterable" && d.push("enter"), v.phase === "participating" && "leave" in v && d.push("leave"), v.phase === "participating" && "complete" in v && d.push("complete"), "bid" in v && d.push("bid"), "book" in v && d.push("book"), "cancel" in v && d.push("cancel"), "reschedule" in v && d.push("reschedule"), "claim" in v && d.push("claim");
259
259
  }
260
- const x = i ? {
260
+ const b = i ? {
261
261
  experienceId: i.experienceId,
262
262
  accessCode: i.accessCode,
263
- sequenceId: xr(i),
264
- distribution: br(i),
265
- participation: vr(i),
263
+ sequenceId: yr(i),
264
+ distribution: xr(i),
265
+ participation: br(i),
266
266
  gates: xa(i)
267
267
  } : null, m = (v) => {
268
268
  if (!n) return;
269
- const w = n.view$.get(), y = {};
270
- if (w.journeyStage === "ready" && (y.start = () => w.start()), w.journeyStage === "gated" && (y.reroute = () => w.reroute(), y.retry = () => w.retry()), w.journeyStage === "routed") {
271
- y.reroute = () => w.reroute(), y.retry = () => w.retry();
272
- const l = w.sequence;
273
- if (l.phase === "scheduled" && l.waitlist?.status === "not_waitlisted") {
274
- const h = l.waitlist.join;
275
- y.joinAttachment = () => h();
269
+ const h = n.view$.get(), x = {};
270
+ if (h.journeyStage === "ready" && (x.start = () => h.start()), h.journeyStage === "gated" && (x.reroute = () => h.reroute(), x.retry = () => h.retry()), h.journeyStage === "routed") {
271
+ x.reroute = () => h.reroute(), x.retry = () => h.retry();
272
+ const c = h.sequence;
273
+ if (c.phase === "scheduled" && h.waitlist?.status === "not_waitlisted") {
274
+ const w = h.waitlist.join;
275
+ x.joinAttachment = () => w();
276
276
  }
277
- if (l.phase === "scheduled" && l.waitlist && l.waitlist.status !== "not_waitlisted") {
278
- const h = l.waitlist.leave;
279
- y.leaveAttachment = () => h();
277
+ if (c.phase === "scheduled" && h.waitlist && h.waitlist.status !== "not_waitlisted") {
278
+ const w = h.waitlist.leave;
279
+ x.leaveAttachment = () => w();
280
280
  }
281
- if (l.phase === "enterable" && "enter" in l) {
282
- const h = l.enter;
283
- y.enter = () => h();
281
+ if (c.phase === "enterable" && "enter" in c) {
282
+ const w = c.enter;
283
+ x.enter = () => w();
284
284
  }
285
- if (l.phase === "participating" && "leave" in l) {
286
- const h = l.leave;
287
- y.leave = () => h();
285
+ if (c.phase === "participating" && "leave" in c) {
286
+ const w = c.leave;
287
+ x.leave = () => w();
288
288
  }
289
- if (l.phase === "participating" && "complete" in l) {
290
- const h = l.complete;
291
- y.complete = () => h();
289
+ if (c.phase === "participating" && "complete" in c) {
290
+ const w = c.complete;
291
+ x.complete = () => w();
292
292
  }
293
- if ("bid" in l) {
294
- const h = l.bid;
295
- y.bid = async () => {
293
+ if ("bid" in c) {
294
+ const w = c.bid;
295
+ x.bid = async () => {
296
296
  const p = globalThis.window?.prompt?.("Bid amount");
297
- p && await h(p);
297
+ p && await w(p);
298
298
  };
299
299
  }
300
- if ("book" in l) {
301
- const h = l.book;
302
- y.book = async () => {
300
+ if ("book" in c) {
301
+ const w = c.book;
302
+ x.book = async () => {
303
303
  const p = globalThis.window?.prompt?.("Slot ID");
304
- p && await h(p);
304
+ p && await w(p);
305
305
  };
306
306
  }
307
- if ("cancel" in l) {
308
- const h = l.cancel;
309
- y.cancel = () => h();
307
+ if ("cancel" in c) {
308
+ const w = c.cancel;
309
+ x.cancel = () => w();
310
310
  }
311
- if ("reschedule" in l) {
312
- const h = l.reschedule;
313
- y.reschedule = async () => {
311
+ if ("reschedule" in c) {
312
+ const w = c.reschedule;
313
+ x.reschedule = async () => {
314
314
  const p = globalThis.window?.prompt?.("New slot ID");
315
- p && await h(p);
315
+ p && await w(p);
316
316
  };
317
317
  }
318
- if ("claim" in l) {
319
- const h = l.claim;
320
- y.claim = async () => {
321
- h();
318
+ if ("claim" in c) {
319
+ const w = c.claim;
320
+ x.claim = async () => {
321
+ w();
322
322
  };
323
323
  }
324
324
  }
325
- const C = y[v];
325
+ const C = x[v];
326
326
  C && C();
327
327
  };
328
328
  return /* @__PURE__ */ u("div", { children: [
@@ -341,7 +341,7 @@ function Uo({ experienceId: e, autoStart: a, renderHeader: r }) {
341
341
  ] }),
342
342
  /* @__PURE__ */ u("div", { children: [
343
343
  "Sequence phase: ",
344
- yr(i)
344
+ kr(i)
345
345
  ] }),
346
346
  /* @__PURE__ */ u("div", { children: [
347
347
  "Journey actions: ",
@@ -358,7 +358,7 @@ function Uo({ experienceId: e, autoStart: a, renderHeader: r }) {
358
358
  type: "button",
359
359
  disabled: !n,
360
360
  onClick: () => {
361
- c();
361
+ l();
362
362
  },
363
363
  children: "Start"
364
364
  }
@@ -374,7 +374,7 @@ function Uo({ experienceId: e, autoStart: a, renderHeader: r }) {
374
374
  d.includes("reschedule") && /* @__PURE__ */ t("button", { type: "button", onClick: () => m("reschedule"), children: "Reschedule" }),
375
375
  d.includes("claim") && /* @__PURE__ */ t("button", { type: "button", onClick: () => m("claim"), children: "Claim" })
376
376
  ] }),
377
- /* @__PURE__ */ t("pre", { children: JSON.stringify(x, null, 2) })
377
+ /* @__PURE__ */ t("pre", { children: JSON.stringify(b, null, 2) })
378
378
  ] })
379
379
  ] });
380
380
  } });
@@ -404,16 +404,16 @@ function Dt(e) {
404
404
  const r = a.replace(/\D/g, "").slice(0, 10);
405
405
  return r.length === 0 ? "" : r.length <= 3 ? `(${r}` : r.length <= 6 ? `(${r.slice(0, 3)}) ${r.slice(3)}` : `(${r.slice(0, 3)}) ${r.slice(3, 6)}-${r.slice(6, 10)}`;
406
406
  }
407
- function Ar(e) {
407
+ function Ir(e) {
408
408
  if (!e) return null;
409
409
  const a = Pt(e), r = a.replace(/\D/g, "");
410
410
  return a.startsWith("+") ? r.length < 10 || r.length > 15 ? null : `+${r}` : r.length === 10 ? `+1${r}` : null;
411
411
  }
412
- function Ir(e) {
412
+ function jr(e) {
413
413
  const a = e.replace(/\D/g, "");
414
414
  return e.startsWith("+") ? a.length >= 10 && a.length <= 15 : a.length === 10;
415
415
  }
416
- const zr = _r({
416
+ const zr = Nr({
417
417
  extend: {
418
418
  classGroups: {
419
419
  "font-size": ["text-xxs"]
@@ -421,14 +421,14 @@ const zr = _r({
421
421
  }
422
422
  });
423
423
  function E(...e) {
424
- return zr(kr(e));
424
+ return zr(_r(e));
425
425
  }
426
426
  function fa(e, a) {
427
427
  if (typeof e == "function")
428
428
  return e(a);
429
429
  e != null && (e.current = a);
430
430
  }
431
- function jr(...e) {
431
+ function Fr(...e) {
432
432
  return (a) => {
433
433
  let r = !1;
434
434
  const n = e.map((o) => {
@@ -444,56 +444,56 @@ function jr(...e) {
444
444
  };
445
445
  };
446
446
  }
447
- var Fr = /* @__PURE__ */ Symbol.for("react.lazy"), xt = s[" use ".trim().toString()];
448
- function Pr(e) {
447
+ var Pr = /* @__PURE__ */ Symbol.for("react.lazy"), xt = s[" use ".trim().toString()];
448
+ function Br(e) {
449
449
  return typeof e == "object" && e !== null && "then" in e;
450
450
  }
451
451
  function Ca(e) {
452
- return e != null && typeof e == "object" && "$$typeof" in e && e.$$typeof === Fr && "_payload" in e && Pr(e._payload);
452
+ return e != null && typeof e == "object" && "$$typeof" in e && e.$$typeof === Pr && "_payload" in e && Br(e._payload);
453
453
  }
454
454
  // @__NO_SIDE_EFFECTS__
455
- function Br(e) {
456
- const a = /* @__PURE__ */ $r(e), r = s.forwardRef((n, o) => {
455
+ function Or(e) {
456
+ const a = /* @__PURE__ */ qr(e), r = s.forwardRef((n, o) => {
457
457
  let { children: i, ...f } = n;
458
458
  Ca(i) && typeof xt == "function" && (i = xt(i._payload));
459
- const c = s.Children.toArray(i), g = c.find(Wr);
459
+ const l = s.Children.toArray(i), g = l.find(Wr);
460
460
  if (g) {
461
- const d = g.props.children, x = c.map((m) => m === g ? s.Children.count(d) > 1 ? s.Children.only(null) : s.isValidElement(d) ? d.props.children : null : m);
462
- return /* @__PURE__ */ t(a, { ...f, ref: o, children: s.isValidElement(d) ? s.cloneElement(d, void 0, x) : null });
461
+ const d = g.props.children, b = l.map((m) => m === g ? s.Children.count(d) > 1 ? s.Children.only(null) : s.isValidElement(d) ? d.props.children : null : m);
462
+ return /* @__PURE__ */ t(a, { ...f, ref: o, children: s.isValidElement(d) ? s.cloneElement(d, void 0, b) : null });
463
463
  }
464
464
  return /* @__PURE__ */ t(a, { ...f, ref: o, children: i });
465
465
  });
466
466
  return r.displayName = `${e}.Slot`, r;
467
467
  }
468
- var Or = /* @__PURE__ */ Br("Slot");
468
+ var $r = /* @__PURE__ */ Or("Slot");
469
469
  // @__NO_SIDE_EFFECTS__
470
- function $r(e) {
470
+ function qr(e) {
471
471
  const a = s.forwardRef((r, n) => {
472
472
  let { children: o, ...i } = r;
473
473
  if (Ca(o) && typeof xt == "function" && (o = xt(o._payload)), s.isValidElement(o)) {
474
- const f = Hr(o), c = Ur(i, o.props);
475
- return o.type !== s.Fragment && (c.ref = n ? jr(n, f) : f), s.cloneElement(o, c);
474
+ const f = Kr(o), l = Hr(i, o.props);
475
+ return o.type !== s.Fragment && (l.ref = n ? Fr(n, f) : f), s.cloneElement(o, l);
476
476
  }
477
477
  return s.Children.count(o) > 1 ? s.Children.only(null) : null;
478
478
  });
479
479
  return a.displayName = `${e}.SlotClone`, a;
480
480
  }
481
- var qr = /* @__PURE__ */ Symbol("radix.slottable");
481
+ var Ur = /* @__PURE__ */ Symbol("radix.slottable");
482
482
  function Wr(e) {
483
- return s.isValidElement(e) && typeof e.type == "function" && "__radixId" in e.type && e.type.__radixId === qr;
483
+ return s.isValidElement(e) && typeof e.type == "function" && "__radixId" in e.type && e.type.__radixId === Ur;
484
484
  }
485
- function Ur(e, a) {
485
+ function Hr(e, a) {
486
486
  const r = { ...a };
487
487
  for (const n in a) {
488
488
  const o = e[n], i = a[n];
489
- /^on[A-Z]/.test(n) ? o && i ? r[n] = (...c) => {
490
- const g = i(...c);
491
- return o(...c), g;
489
+ /^on[A-Z]/.test(n) ? o && i ? r[n] = (...l) => {
490
+ const g = i(...l);
491
+ return o(...l), g;
492
492
  } : o && (r[n] = o) : n === "style" ? r[n] = { ...o, ...i } : n === "className" && (r[n] = [o, i].filter(Boolean).join(" "));
493
493
  }
494
494
  return { ...e, ...r };
495
495
  }
496
- function Hr(e) {
496
+ function Kr(e) {
497
497
  let a = Object.getOwnPropertyDescriptor(e.props, "ref")?.get, r = a && "isReactWarning" in a && a.isReactWarning;
498
498
  return r ? e.ref : (a = Object.getOwnPropertyDescriptor(e, "ref")?.get, r = a && "isReactWarning" in a && a.isReactWarning, r ? e.props.ref : e.props.ref || e.ref);
499
499
  }
@@ -502,15 +502,15 @@ const ot = () => typeof window > "u" ? !1 : window.matchMedia("(prefers-reduced-
502
502
  animate: { opacity: 1 },
503
503
  exit: { opacity: 0 },
504
504
  transition: { duration: 0.2 }
505
- }, Kr = {
505
+ }, Zr = {
506
506
  initial: { opacity: 0 },
507
507
  animate: { opacity: 1 },
508
508
  transition: { duration: 0.25, ease: "easeOut" }
509
- }, Zr = {
509
+ }, Yr = {
510
510
  initial: { opacity: 1 },
511
511
  animate: { opacity: 1 },
512
512
  transition: { duration: 0 }
513
- }, we = () => ot() ? Zr : Kr, re = {
513
+ }, we = () => ot() ? Yr : Zr, re = {
514
514
  // Core colors
515
515
  primary: "--ff-color-primary",
516
516
  primaryForeground: "--ff-color-primary-foreground",
@@ -532,18 +532,18 @@ const ot = () => typeof window > "u" ? !1 : window.matchMedia("(prefers-reduced-
532
532
  // Typography
533
533
  fontFamily: "--ff-font-sans",
534
534
  fontHeading: "--ff-font-heading"
535
- }, Yr = {
536
- theme: Sr,
535
+ }, Gr = {
536
+ theme: Cr,
537
537
  variant: "default",
538
538
  isRoot: !0
539
- }, Tt = zt(Yr);
539
+ }, Tt = jt(Gr);
540
540
  function ft() {
541
- return jt(Tt);
541
+ return zt(Tt);
542
542
  }
543
- function Gr(e, a) {
543
+ function Jr(e, a) {
544
544
  const r = ft();
545
545
  return X(() => ({
546
- theme: e ? Nr({ ...r.theme, ...e }) : r.theme,
546
+ theme: e ? Sr({ ...r.theme, ...e }) : r.theme,
547
547
  variant: a ?? r.variant,
548
548
  isRoot: !1
549
549
  }), [r, e, a]);
@@ -586,12 +586,12 @@ function Da(e) {
586
586
  return e.fontFamily !== void 0 && (a[re.fontFamily] = e.fontFamily, e.fontHeading === void 0 && (a[re.fontHeading] = e.fontFamily)), e.fontHeading !== void 0 && (a[re.fontHeading] = e.fontHeading), a;
587
587
  }
588
588
  function Rt({ theme: e, variant: a, as: r = "div", className: n, children: o }) {
589
- const i = ft(), f = Gr(e, a), c = X(() => Da(e ?? {}), [e]);
589
+ const i = ft(), f = Jr(e, a), l = X(() => Da(e ?? {}), [e]);
590
590
  return e !== void 0 || a !== void 0 || i.isRoot ? /* @__PURE__ */ t(Tt.Provider, { value: f, children: /* @__PURE__ */ t(
591
591
  r,
592
592
  {
593
593
  className: E("fanfare-themed", n),
594
- style: c,
594
+ style: l,
595
595
  "data-fanfare-themed": !0,
596
596
  "data-fanfare-variant": f.variant,
597
597
  children: o
@@ -601,7 +601,7 @@ function Rt({ theme: e, variant: a, as: r = "div", className: n, children: o })
601
601
  function ge() {
602
602
  return ft().variant;
603
603
  }
604
- const Jr = (e, a) => /* @__PURE__ */ t("svg", { viewBox: "0 0 24 24", width: "1.2em", height: "1.2em", ref: a, ...e, children: /* @__PURE__ */ t("path", { fill: "none", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.5, d: "m4.5 12.75l6 6l9-13.5" }) }), Qr = kt(Jr), Xr = (e, a) => /* @__PURE__ */ t("svg", { viewBox: "0 0 24 24", width: "1.2em", height: "1.2em", ref: a, ...e, children: /* @__PURE__ */ t("path", { fill: "none", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.5, d: "M6 18L18 6M6 6l12 12" }) }), en = kt(Xr), tn = te("ff:animate-spin ff:text-current", {
604
+ const Qr = (e, a) => /* @__PURE__ */ t("svg", { viewBox: "0 0 24 24", width: "1.2em", height: "1.2em", ref: a, ...e, children: /* @__PURE__ */ t("path", { fill: "none", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.5, d: "m4.5 12.75l6 6l9-13.5" }) }), Xr = kt(Qr), en = (e, a) => /* @__PURE__ */ t("svg", { viewBox: "0 0 24 24", width: "1.2em", height: "1.2em", ref: a, ...e, children: /* @__PURE__ */ t("path", { fill: "none", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.5, d: "M6 18L18 6M6 6l12 12" }) }), tn = kt(en), an = ae("ff:animate-spin ff:text-current", {
605
605
  variants: {
606
606
  size: {
607
607
  sm: "ff:size-4",
@@ -627,7 +627,7 @@ const Jr = (e, a) => /* @__PURE__ */ t("svg", { viewBox: "0 0 24 24", width: "1.
627
627
  ref: n,
628
628
  viewBox: "0 0 24 24",
629
629
  xmlns: "http://www.w3.org/2000/svg",
630
- className: E(tn({ size: a, styleVariant: o }), e),
630
+ className: E(an({ size: a, styleVariant: o }), e),
631
631
  "data-slot": "spinner",
632
632
  "data-size": a,
633
633
  "aria-hidden": "true",
@@ -668,7 +668,7 @@ const Jr = (e, a) => /* @__PURE__ */ t("svg", { viewBox: "0 0 24 24", width: "1.
668
668
  );
669
669
  });
670
670
  Te.displayName = "Spinner";
671
- const an = te(
671
+ const rn = ae(
672
672
  [
673
673
  "ff:relative ff:inline-flex ff:items-center ff:justify-center",
674
674
  "ff:whitespace-nowrap ff:font-medium",
@@ -799,43 +799,43 @@ const an = te(
799
799
  asChild: o = !1,
800
800
  statusRef: i,
801
801
  contentClassName: f,
802
- disabled: c,
802
+ disabled: l,
803
803
  children: g,
804
804
  ...d
805
- }, x) => {
806
- const m = o ? Or : "button", v = ge(), [w, y] = s.useState(void 0);
805
+ }, b) => {
806
+ const m = o ? $r : "button", v = ge(), [h, x] = s.useState(void 0);
807
807
  s.useImperativeHandle(i, () => ({
808
- success: () => y("success"),
809
- failure: () => y("failure")
808
+ success: () => x("success"),
809
+ failure: () => x("failure")
810
810
  })), s.useEffect(() => {
811
- if (w === "success" || w === "failure") {
812
- const l = setTimeout(() => y(void 0), 1500);
813
- return () => clearTimeout(l);
811
+ if (h === "success" || h === "failure") {
812
+ const c = setTimeout(() => x(void 0), 1500);
813
+ return () => clearTimeout(c);
814
814
  }
815
- }, [w]);
816
- const C = c || n || !!w;
815
+ }, [h]);
816
+ const C = l || n || !!h;
817
817
  return /* @__PURE__ */ u(
818
818
  m,
819
819
  {
820
- ref: x,
820
+ ref: b,
821
821
  "data-slot": "button",
822
822
  "data-variant": a,
823
823
  "data-size": r,
824
824
  "data-loading": n || void 0,
825
- "data-status": w || void 0,
825
+ "data-status": h || void 0,
826
826
  "aria-busy": n || void 0,
827
827
  "aria-disabled": C || void 0,
828
- className: E(an({ variant: a, size: r, styleVariant: v, className: e })),
828
+ className: E(rn({ variant: a, size: r, styleVariant: v, className: e })),
829
829
  disabled: C,
830
830
  ...d,
831
831
  children: [
832
- n && !w && /* @__PURE__ */ t(Te, { size: "sm", className: "ff:absolute", "data-slot": "button-spinner" }),
833
- w && /* @__PURE__ */ t(
832
+ n && !h && /* @__PURE__ */ t(Te, { size: "sm", className: "ff:absolute", "data-slot": "button-spinner" }),
833
+ h && /* @__PURE__ */ t(
834
834
  "span",
835
835
  {
836
836
  "data-slot": "button-status",
837
837
  className: "ff:pointer-events-none ff:absolute ff:inset-0 ff:flex ff:items-center ff:justify-center",
838
- children: /* @__PURE__ */ t(_t, { children: w === "success" ? /* @__PURE__ */ t(U.span, { ...ia, className: "ff:flex", children: /* @__PURE__ */ t(Qr, { className: "ff:size-5" }) }, "success") : /* @__PURE__ */ t(U.span, { ...ia, className: "ff:flex", children: /* @__PURE__ */ t(en, { className: "ff:size-5" }) }, "failure") })
838
+ children: /* @__PURE__ */ t(_t, { children: h === "success" ? /* @__PURE__ */ t(W.span, { ...ia, className: "ff:flex", children: /* @__PURE__ */ t(Xr, { className: "ff:size-5" }) }, "success") : /* @__PURE__ */ t(W.span, { ...ia, className: "ff:flex", children: /* @__PURE__ */ t(tn, { className: "ff:size-5" }) }, "failure") })
839
839
  }
840
840
  ),
841
841
  /* @__PURE__ */ t(
@@ -844,7 +844,7 @@ const an = te(
844
844
  "data-slot": "button-content",
845
845
  className: E(
846
846
  "ff:gap-inherit ff:flex ff:items-center",
847
- (n || w) && "ff:opacity-0",
847
+ (n || h) && "ff:opacity-0",
848
848
  f
849
849
  ),
850
850
  children: g
@@ -856,7 +856,7 @@ const an = te(
856
856
  }
857
857
  );
858
858
  j.displayName = "Button";
859
- const sa = ["default", "rounded"], rn = te(
859
+ const sa = ["default", "rounded"], nn = ae(
860
860
  [
861
861
  "ff:flex ff:w-full ff:rounded-md ff:px-3 ff:py-2",
862
862
  "ff:text-foreground ff:text-sm",
@@ -906,7 +906,7 @@ const sa = ["default", "rounded"], rn = te(
906
906
  styleVariant: "default"
907
907
  }
908
908
  }
909
- ), la = te([], {
909
+ ), la = ae([], {
910
910
  variants: {
911
911
  styleVariant: {
912
912
  default: "",
@@ -919,19 +919,19 @@ const sa = ["default", "rounded"], rn = te(
919
919
  styleVariant: "default"
920
920
  }
921
921
  }), yt = s.forwardRef(
922
- ({ className: e, type: a = "text", label: r, error: n, hasError: o, inlineLabel: i, inlineError: f, ...c }, g) => {
923
- const { variant: d } = ft(), x = ge(), m = c.id || c.name, v = i ?? sa.includes(d), w = f ?? sa.includes(d), y = o || !!n, C = !!n && !o, l = v && r, h = !v && r, p = w && C, D = !w && C, V = E(
924
- rn({ styleVariant: x }),
925
- y && "ff:border-danger ff:focus:border-danger ff:focus:ring-danger",
922
+ ({ className: e, type: a = "text", label: r, error: n, hasError: o, inlineLabel: i, inlineError: f, ...l }, g) => {
923
+ const { variant: d } = ft(), b = ge(), m = l.id || l.name, v = i ?? sa.includes(d), h = f ?? sa.includes(d), x = o || !!n, C = !!n && !o, c = v && r, w = !v && r, p = h && C, D = !h && C, V = E(
924
+ nn({ styleVariant: b }),
925
+ x && "ff:border-danger ff:focus:border-danger ff:focus:ring-danger",
926
926
  // Extra padding for floating label
927
- l && "ff:pt-5 ff:pb-1",
927
+ c && "ff:pt-5 ff:pb-1",
928
928
  e
929
929
  );
930
- return l ? /* @__PURE__ */ u(
930
+ return c ? /* @__PURE__ */ u(
931
931
  "div",
932
932
  {
933
933
  "data-slot": "input-wrapper",
934
- "data-error": y || void 0,
934
+ "data-error": x || void 0,
935
935
  "data-inline-label": "true",
936
936
  className: "ff:group ff:relative",
937
937
  children: [
@@ -942,16 +942,16 @@ const sa = ["default", "rounded"], rn = te(
942
942
  type: a,
943
943
  id: m,
944
944
  "data-slot": "input-field",
945
- "aria-invalid": y,
945
+ "aria-invalid": x,
946
946
  "aria-describedby": C ? `${m}-error` : void 0,
947
- placeholder: c.placeholder || " ",
947
+ placeholder: l.placeholder || " ",
948
948
  className: E(
949
949
  V,
950
950
  // Placeholder shown state for label positioning
951
951
  "ff:peer ff:placeholder:opacity-0 ff:placeholder:transition-opacity ff:placeholder:duration-200",
952
952
  "ff:focus:placeholder:opacity-100"
953
953
  ),
954
- ...c
954
+ ...l
955
955
  }
956
956
  ),
957
957
  /* @__PURE__ */ t(
@@ -972,9 +972,9 @@ const sa = ["default", "rounded"], rn = te(
972
972
  // Disabled state
973
973
  "ff:peer-disabled:text-muted ff:peer-disabled:opacity-50",
974
974
  // Error state
975
- y && "ff:text-danger ff:peer-focus:text-danger",
975
+ x && "ff:text-danger ff:peer-focus:text-danger",
976
976
  // Style variant
977
- la({ styleVariant: x })
977
+ la({ styleVariant: b })
978
978
  ),
979
979
  children: r
980
980
  }
@@ -1002,14 +1002,14 @@ const sa = ["default", "rounded"], rn = te(
1002
1002
  ]
1003
1003
  }
1004
1004
  ) : /* @__PURE__ */ u("div", { "data-slot": "input-wrapper", "data-error": !!n || void 0, className: "ff:relative", children: [
1005
- h && /* @__PURE__ */ t(
1005
+ w && /* @__PURE__ */ t(
1006
1006
  "label",
1007
1007
  {
1008
1008
  htmlFor: m,
1009
1009
  "data-slot": "input-label",
1010
1010
  className: E(
1011
1011
  "ff:text-foreground ff:mb-1.5 ff:block ff:text-sm ff:font-medium",
1012
- la({ styleVariant: x })
1012
+ la({ styleVariant: b })
1013
1013
  ),
1014
1014
  children: r
1015
1015
  }
@@ -1022,10 +1022,10 @@ const sa = ["default", "rounded"], rn = te(
1022
1022
  type: a,
1023
1023
  id: m,
1024
1024
  "data-slot": "input-field",
1025
- "aria-invalid": y,
1025
+ "aria-invalid": x,
1026
1026
  "aria-describedby": C ? `${m}-error` : void 0,
1027
1027
  className: V,
1028
- ...c
1028
+ ...l
1029
1029
  }
1030
1030
  ),
1031
1031
  p && /* @__PURE__ */ t(
@@ -1044,7 +1044,7 @@ const sa = ["default", "rounded"], rn = te(
1044
1044
  }
1045
1045
  );
1046
1046
  yt.displayName = "Input";
1047
- const nn = ht.pipe(ht.string(), ht.email());
1047
+ const on = ht.pipe(ht.string(), ht.email());
1048
1048
  function Va(e) {
1049
1049
  if (!e) return "email";
1050
1050
  const r = Pt(e).replace(/\D/g, "");
@@ -1059,49 +1059,49 @@ const Ea = s.forwardRef(
1059
1059
  onSubmit: o,
1060
1060
  type: i = "auto",
1061
1061
  error: f,
1062
- hasError: c,
1062
+ hasError: l,
1063
1063
  label: g,
1064
1064
  disabled: d,
1065
- ...x
1065
+ ...b
1066
1066
  }, m) => {
1067
- const { t: v } = K(), [w, y] = s.useState(() => i === "auto" ? Va(a) : i), [C, l] = s.useState(!1), [h, p] = s.useState(null), [D, V] = s.useState(!1), [T, b] = s.useState(
1068
- () => w === "phone" ? Dt(a) : a
1067
+ const { t: v } = K(), [h, x] = s.useState(() => i === "auto" ? Va(a) : i), [C, c] = s.useState(!1), [w, p] = s.useState(null), [D, V] = s.useState(!1), [T, y] = s.useState(
1068
+ () => h === "phone" ? Dt(a) : a
1069
1069
  ), N = i === "auto";
1070
1070
  s.useEffect(() => {
1071
- N || y(i);
1071
+ N || x(i);
1072
1072
  }, [i, N]), s.useEffect(() => {
1073
- b(w === "phone" ? Dt(a) : a);
1074
- }, [a, w]);
1073
+ y(h === "phone" ? Dt(a) : a);
1074
+ }, [a, h]);
1075
1075
  const S = s.useCallback(
1076
1076
  (L, J) => {
1077
1077
  if (!L) {
1078
1078
  p(null), V(!1), n?.(!1);
1079
1079
  return;
1080
1080
  }
1081
- J === "email" ? ht.safeParse(nn, L).success ? (p(null), V(!0), n?.(!0)) : (p(v("auth.invalidEmail")), V(!1), n?.(!1)) : Ir(L) ? (p(null), V(!0), n?.(!0)) : (p(v("auth.invalidPhone")), V(!1), n?.(!1));
1081
+ J === "email" ? ht.safeParse(on, L).success ? (p(null), V(!0), n?.(!0)) : (p(v("auth.invalidEmail")), V(!1), n?.(!1)) : jr(L) ? (p(null), V(!0), n?.(!0)) : (p(v("auth.invalidPhone")), V(!1), n?.(!1));
1082
1082
  },
1083
1083
  [n]
1084
1084
  );
1085
1085
  s.useEffect(() => {
1086
- S(a, w);
1087
- }, [a, w, S]);
1086
+ S(a, h);
1087
+ }, [a, h, S]);
1088
1088
  const M = (L) => {
1089
1089
  const J = L.target.value;
1090
- if (w === "phone") {
1090
+ if (h === "phone") {
1091
1091
  const ne = Dt(J);
1092
- b(ne);
1093
- const se = Ar(J);
1094
- r(se || J, w);
1092
+ y(ne);
1093
+ const se = Ir(J);
1094
+ r(se || J, h);
1095
1095
  } else
1096
- b(J), r(J, w);
1096
+ y(J), r(J, h);
1097
1097
  }, A = (L) => {
1098
- l(!0), x.onBlur?.(L);
1098
+ c(!0), b.onBlur?.(L);
1099
1099
  }, I = (L) => {
1100
- L.key === "Enter" && o && (L.preventDefault(), o()), x.onKeyDown?.(L);
1100
+ L.key === "Enter" && o && (L.preventDefault(), o()), b.onKeyDown?.(L);
1101
1101
  }, O = () => {
1102
- const L = w === "email" ? "phone" : "email";
1103
- y(L), b(""), p(null), l(!1), V(!1), r("", L), n?.(!1);
1104
- }, $ = f || (C && !D ? h : null), fe = x.placeholder || v(w === "email" ? "auth.emailPlaceholder" : "auth.phonePlaceholder"), ce = N && /* @__PURE__ */ t(
1102
+ const L = h === "email" ? "phone" : "email";
1103
+ x(L), y(""), p(null), c(!1), V(!1), r("", L), n?.(!1);
1104
+ }, $ = f || (C && !D ? w : null), fe = b.placeholder || v(h === "email" ? "auth.emailPlaceholder" : "auth.phonePlaceholder"), ce = N && /* @__PURE__ */ t(
1105
1105
  j,
1106
1106
  {
1107
1107
  type: "button",
@@ -1110,7 +1110,7 @@ const Ea = s.forwardRef(
1110
1110
  "data-slot": "auth-input-toggle",
1111
1111
  onClick: O,
1112
1112
  disabled: d,
1113
- children: v(w === "email" ? "auth.usePhone" : "auth.useEmail")
1113
+ children: v(h === "email" ? "auth.usePhone" : "auth.useEmail")
1114
1114
  }
1115
1115
  );
1116
1116
  return N ? /* @__PURE__ */ u(
@@ -1118,7 +1118,7 @@ const Ea = s.forwardRef(
1118
1118
  {
1119
1119
  className: E("fanfare-auth-input", e),
1120
1120
  "data-slot": "auth-input",
1121
- "data-mode": w,
1121
+ "data-mode": h,
1122
1122
  "data-valid": D || void 0,
1123
1123
  children: [
1124
1124
  /* @__PURE__ */ u("div", { "data-slot": "auth-input-header", className: "ff:mb-1.5 ff:flex ff:items-center ff:justify-between", children: [
@@ -1129,9 +1129,9 @@ const Ea = s.forwardRef(
1129
1129
  yt,
1130
1130
  {
1131
1131
  ref: m,
1132
- type: w === "email" ? "email" : "tel",
1133
- inputMode: w === "email" ? "email" : "tel",
1134
- autoComplete: w === "email" ? "email" : "tel",
1132
+ type: h === "email" ? "email" : "tel",
1133
+ inputMode: h === "email" ? "email" : "tel",
1134
+ autoComplete: h === "email" ? "email" : "tel",
1135
1135
  value: T,
1136
1136
  onChange: M,
1137
1137
  onBlur: A,
@@ -1139,11 +1139,11 @@ const Ea = s.forwardRef(
1139
1139
  placeholder: fe,
1140
1140
  disabled: d,
1141
1141
  error: $ || void 0,
1142
- hasError: c,
1142
+ hasError: l,
1143
1143
  inlineLabel: !1,
1144
1144
  inlineError: !1,
1145
1145
  "data-slot": "auth-input-field",
1146
- ...x
1146
+ ...b
1147
1147
  }
1148
1148
  )
1149
1149
  ]
@@ -1152,9 +1152,9 @@ const Ea = s.forwardRef(
1152
1152
  yt,
1153
1153
  {
1154
1154
  ref: m,
1155
- type: w === "email" ? "email" : "tel",
1156
- inputMode: w === "email" ? "email" : "tel",
1157
- autoComplete: w === "email" ? "email" : "tel",
1155
+ type: h === "email" ? "email" : "tel",
1156
+ inputMode: h === "email" ? "email" : "tel",
1157
+ autoComplete: h === "email" ? "email" : "tel",
1158
1158
  value: T,
1159
1159
  onChange: M,
1160
1160
  onBlur: A,
@@ -1163,18 +1163,18 @@ const Ea = s.forwardRef(
1163
1163
  disabled: d,
1164
1164
  label: g,
1165
1165
  error: $ || void 0,
1166
- hasError: c,
1166
+ hasError: l,
1167
1167
  className: E("fanfare-auth-input", e),
1168
1168
  "data-slot": "auth-input",
1169
- "data-mode": w,
1169
+ "data-mode": h,
1170
1170
  "data-valid": D || void 0,
1171
- ...x
1171
+ ...b
1172
1172
  }
1173
1173
  );
1174
1174
  }
1175
1175
  );
1176
1176
  Ea.displayName = "AuthInput";
1177
- const on = te(
1177
+ const fn = ae(
1178
1178
  [
1179
1179
  "ff:h-12 ff:w-full ff:min-w-0 ff:text-center ff:text-lg ff:font-semibold",
1180
1180
  "ff:text-foreground",
@@ -1243,61 +1243,61 @@ const on = te(
1243
1243
  }
1244
1244
  }
1245
1245
  ), Ma = s.forwardRef(
1246
- ({ value: e = "", onChange: a, onComplete: r, length: n = 6, error: o, hasError: i, disabled: f, autoFocus: c, ariaDescribedBy: g, className: d }, x) => {
1247
- const m = ge(), v = s.useRef([]), [w, y] = s.useState(() => {
1248
- const b = e.split("").slice(0, n);
1249
- return [...b, ...Array(n - b.length).fill("")];
1246
+ ({ value: e = "", onChange: a, onComplete: r, length: n = 6, error: o, hasError: i, disabled: f, autoFocus: l, ariaDescribedBy: g, className: d }, b) => {
1247
+ const m = ge(), v = s.useRef([]), [h, x] = s.useState(() => {
1248
+ const y = e.split("").slice(0, n);
1249
+ return [...y, ...Array(n - y.length).fill("")];
1250
1250
  });
1251
1251
  s.useEffect(() => {
1252
- const b = e.split("").slice(0, n);
1253
- y([...b, ...Array(n - b.length).fill("")]);
1252
+ const y = e.split("").slice(0, n);
1253
+ x([...y, ...Array(n - y.length).fill("")]);
1254
1254
  }, [e, n]);
1255
- const C = (b) => {
1256
- b >= 0 && b < n && v.current[b]?.focus();
1257
- }, l = (b, N) => {
1255
+ const C = (y) => {
1256
+ y >= 0 && y < n && v.current[y]?.focus();
1257
+ }, c = (y, N) => {
1258
1258
  const S = N.replace(/\D/g, "");
1259
1259
  if (S.length > 1) {
1260
1260
  const O = S.slice(0, n).split(""), $ = [...O, ...Array(n - O.length).fill("")];
1261
- y($);
1261
+ x($);
1262
1262
  const fe = $.join("");
1263
1263
  a?.(fe), fe.length === n ? (r?.(fe), C(n - 1)) : C(O.length);
1264
1264
  return;
1265
1265
  }
1266
- const M = S.slice(-1), A = [...w];
1267
- A[b] = M, y(A);
1266
+ const M = S.slice(-1), A = [...h];
1267
+ A[y] = M, x(A);
1268
1268
  const I = A.join("");
1269
- a?.(I), M && b < n - 1 && C(b + 1), I.length === n && !I.includes("") && r?.(I);
1270
- }, h = (b, N) => {
1269
+ a?.(I), M && y < n - 1 && C(y + 1), I.length === n && !I.includes("") && r?.(I);
1270
+ }, w = (y, N) => {
1271
1271
  switch (N.key) {
1272
1272
  case "Backspace":
1273
- N.preventDefault(), w[b] ? l(b, "") : b > 0 && (C(b - 1), l(b - 1, ""));
1273
+ N.preventDefault(), h[y] ? c(y, "") : y > 0 && (C(y - 1), c(y - 1, ""));
1274
1274
  break;
1275
1275
  case "ArrowLeft":
1276
- N.preventDefault(), C(b - 1);
1276
+ N.preventDefault(), C(y - 1);
1277
1277
  break;
1278
1278
  case "ArrowRight":
1279
- N.preventDefault(), C(b + 1);
1279
+ N.preventDefault(), C(y + 1);
1280
1280
  break;
1281
1281
  case "Delete":
1282
- N.preventDefault(), l(b, "");
1282
+ N.preventDefault(), c(y, "");
1283
1283
  break;
1284
1284
  }
1285
- }, p = (b) => {
1286
- b.preventDefault();
1287
- const N = b.clipboardData.getData("text").replace(/\D/g, "").slice(0, n);
1285
+ }, p = (y) => {
1286
+ y.preventDefault();
1287
+ const N = y.clipboardData.getData("text").replace(/\D/g, "").slice(0, n);
1288
1288
  if (N) {
1289
1289
  const S = N.split(""), M = [...S, ...Array(n - S.length).fill("")];
1290
- y(M);
1290
+ x(M);
1291
1291
  const A = M.join("");
1292
1292
  a?.(A), A.length === n ? (r?.(A), C(n - 1)) : C(S.length);
1293
1293
  }
1294
- }, D = (b) => {
1295
- b.target.select();
1294
+ }, D = (y) => {
1295
+ y.target.select();
1296
1296
  }, V = i || !!o, T = !!o && !i;
1297
1297
  return /* @__PURE__ */ u(
1298
1298
  "div",
1299
1299
  {
1300
- ref: x,
1300
+ ref: b,
1301
1301
  className: E("fanfare-otp-input", "ff:space-y-1.5", d),
1302
1302
  "data-slot": "otp-input",
1303
1303
  "data-error": V || void 0,
@@ -1309,7 +1309,7 @@ const on = te(
1309
1309
  className: "ff:grid ff:gap-2",
1310
1310
  style: { gridTemplateColumns: `repeat(${n}, minmax(0, 1fr))` },
1311
1311
  onPaste: p,
1312
- children: Array.from({ length: n }).map((b, N) => /* @__PURE__ */ t(
1312
+ children: Array.from({ length: n }).map((y, N) => /* @__PURE__ */ t(
1313
1313
  "input",
1314
1314
  {
1315
1315
  ref: (S) => {
@@ -1320,16 +1320,16 @@ const on = te(
1320
1320
  autoComplete: N === 0 ? "one-time-code" : "off",
1321
1321
  maxLength: 1,
1322
1322
  "data-slot": "otp-input-digit",
1323
- value: w[N],
1324
- onChange: (S) => l(N, S.target.value),
1325
- onKeyDown: (S) => h(N, S),
1323
+ value: h[N],
1324
+ onChange: (S) => c(N, S.target.value),
1325
+ onKeyDown: (S) => w(N, S),
1326
1326
  onFocus: D,
1327
1327
  disabled: f,
1328
- autoFocus: c && N === 0,
1328
+ autoFocus: l && N === 0,
1329
1329
  "aria-label": `Digit ${N + 1} of ${n}`,
1330
1330
  "aria-invalid": V,
1331
1331
  "aria-describedby": V ? g : void 0,
1332
- className: on({ styleVariant: m, hasError: V })
1332
+ className: fn({ styleVariant: m, hasError: V })
1333
1333
  },
1334
1334
  N
1335
1335
  ))
@@ -1342,7 +1342,7 @@ const on = te(
1342
1342
  }
1343
1343
  );
1344
1344
  Ma.displayName = "OTPInput";
1345
- const fn = te(["ff:rounded-lg ff:p-6", "ff:bg-background", "ff:text-foreground"], {
1345
+ const sn = ae(["ff:rounded-lg ff:p-6", "ff:bg-background", "ff:text-foreground"], {
1346
1346
  variants: {
1347
1347
  variant: {
1348
1348
  default: "ff:border ff:border-border",
@@ -1380,15 +1380,15 @@ const fn = te(["ff:rounded-lg ff:p-6", "ff:bg-background", "ff:text-foreground"]
1380
1380
  ref: n,
1381
1381
  "data-slot": "card",
1382
1382
  "data-variant": a,
1383
- className: E(fn({ variant: a, styleVariant: o, className: e })),
1383
+ className: E(sn({ variant: a, styleVariant: o, className: e })),
1384
1384
  ...r
1385
1385
  }
1386
1386
  );
1387
1387
  });
1388
1388
  Ta.displayName = "Card";
1389
- const sn = s.forwardRef(({ className: e, ...a }, r) => /* @__PURE__ */ t("div", { ref: r, "data-slot": "card-header", className: E("fanfare-card-header ff:mb-4", e), ...a }));
1390
- sn.displayName = "CardHeader";
1391
- const ln = s.forwardRef(({ className: e, ...a }, r) => /* @__PURE__ */ t(
1389
+ const ln = s.forwardRef(({ className: e, ...a }, r) => /* @__PURE__ */ t("div", { ref: r, "data-slot": "card-header", className: E("fanfare-card-header ff:mb-4", e), ...a }));
1390
+ ln.displayName = "CardHeader";
1391
+ const cn = s.forwardRef(({ className: e, ...a }, r) => /* @__PURE__ */ t(
1392
1392
  "h3",
1393
1393
  {
1394
1394
  ref: r,
@@ -1397,8 +1397,8 @@ const ln = s.forwardRef(({ className: e, ...a }, r) => /* @__PURE__ */ t(
1397
1397
  ...a
1398
1398
  }
1399
1399
  ));
1400
- ln.displayName = "CardTitle";
1401
- const cn = s.forwardRef(
1400
+ cn.displayName = "CardTitle";
1401
+ const dn = s.forwardRef(
1402
1402
  ({ className: e, ...a }, r) => /* @__PURE__ */ t(
1403
1403
  "p",
1404
1404
  {
@@ -1409,10 +1409,10 @@ const cn = s.forwardRef(
1409
1409
  }
1410
1410
  )
1411
1411
  );
1412
- cn.displayName = "CardDescription";
1413
- const dn = s.forwardRef(({ className: e, ...a }, r) => /* @__PURE__ */ t("div", { ref: r, "data-slot": "card-content", className: E(e), ...a }));
1414
- dn.displayName = "CardContent";
1415
- const un = s.forwardRef(({ className: e, ...a }, r) => /* @__PURE__ */ t(
1412
+ dn.displayName = "CardDescription";
1413
+ const un = s.forwardRef(({ className: e, ...a }, r) => /* @__PURE__ */ t("div", { ref: r, "data-slot": "card-content", className: E(e), ...a }));
1414
+ un.displayName = "CardContent";
1415
+ const pn = s.forwardRef(({ className: e, ...a }, r) => /* @__PURE__ */ t(
1416
1416
  "div",
1417
1417
  {
1418
1418
  ref: r,
@@ -1421,7 +1421,7 @@ const un = s.forwardRef(({ className: e, ...a }, r) => /* @__PURE__ */ t(
1421
1421
  ...a
1422
1422
  }
1423
1423
  ));
1424
- un.displayName = "CardFooter";
1424
+ pn.displayName = "CardFooter";
1425
1425
  const Ra = s.forwardRef(({ className: e, ...a }, r) => /* @__PURE__ */ u(
1426
1426
  "svg",
1427
1427
  {
@@ -1595,7 +1595,7 @@ function Lt(e) {
1595
1595
  }
1596
1596
  const Y = s.forwardRef(
1597
1597
  ({ className: e, children: a, ...r }, n) => {
1598
- const o = s.Children.toArray(a), i = o.filter(Lt), f = o.filter((c) => !Lt(c));
1598
+ const o = s.Children.toArray(a), i = o.filter(Lt), f = o.filter((l) => !Lt(l));
1599
1599
  return /* @__PURE__ */ u(
1600
1600
  Ta,
1601
1601
  {
@@ -1612,7 +1612,7 @@ const Y = s.forwardRef(
1612
1612
  }
1613
1613
  );
1614
1614
  Y.displayName = "PanelLayout";
1615
- const pn = ["clean"], gn = te(["ff:inline-flex ff:items-center", "ff:text-xs ff:font-medium"], {
1615
+ const gn = ["clean"], mn = ae(["ff:inline-flex ff:items-center", "ff:text-xs ff:font-medium"], {
1616
1616
  variants: {
1617
1617
  variant: {
1618
1618
  default: "",
@@ -1734,7 +1734,7 @@ const pn = ["clean"], gn = te(["ff:inline-flex ff:items-center", "ff:text-xs ff:
1734
1734
  outline: "ff:bg-foreground/40"
1735
1735
  }, La = s.forwardRef(
1736
1736
  ({ className: e, variant: a = "default", solidBackground: r, children: n, ...o }, i) => {
1737
- const { variant: f } = ft(), c = ge(), g = a ?? "default", d = r ?? !pn.includes(f), x = !d && ca[g];
1737
+ const { variant: f } = ft(), l = ge(), g = a ?? "default", d = r ?? !gn.includes(f), b = !d && ca[g];
1738
1738
  return /* @__PURE__ */ u(
1739
1739
  "span",
1740
1740
  {
@@ -1742,10 +1742,10 @@ const pn = ["clean"], gn = te(["ff:inline-flex ff:items-center", "ff:text-xs ff:
1742
1742
  "data-slot": "badge",
1743
1743
  "data-variant": g,
1744
1744
  "data-solid-background": d,
1745
- className: E(gn({ variant: g, solid: d, styleVariant: c, className: e })),
1745
+ className: E(mn({ variant: g, solid: d, styleVariant: l, className: e })),
1746
1746
  ...o,
1747
1747
  children: [
1748
- x && /* @__PURE__ */ t(
1748
+ b && /* @__PURE__ */ t(
1749
1749
  "span",
1750
1750
  {
1751
1751
  className: E("ff:size-1.5 ff:shrink-0 ff:rounded-full", ca[g]),
@@ -1769,7 +1769,7 @@ const G = s.forwardRef(
1769
1769
  ] })
1770
1770
  );
1771
1771
  G.displayName = "PanelHeading";
1772
- const mn = te(["ff:flex ff:flex-col ff:gap-2", "ff:p-4", "ff:text-xs ff:text-foreground"], {
1772
+ const hn = ae(["ff:flex ff:flex-col ff:gap-2", "ff:p-4", "ff:text-xs ff:text-foreground"], {
1773
1773
  variants: {
1774
1774
  styleVariant: {
1775
1775
  default: ["ff:rounded-md ff:border ff:border-border/50 ff:bg-muted/5"],
@@ -1783,10 +1783,10 @@ const mn = te(["ff:flex ff:flex-col ff:gap-2", "ff:p-4", "ff:text-xs ff:text-for
1783
1783
  }
1784
1784
  }), ie = s.forwardRef(({ className: e, children: a, ...r }, n) => {
1785
1785
  const o = ge();
1786
- return /* @__PURE__ */ t("div", { ref: n, "data-slot": "info-panel", className: E(mn({ styleVariant: o }), e), ...r, children: a });
1786
+ return /* @__PURE__ */ t("div", { ref: n, "data-slot": "info-panel", className: E(hn({ styleVariant: o }), e), ...r, children: a });
1787
1787
  });
1788
1788
  ie.displayName = "InfoPanel";
1789
- const hn = te(["ff:flex ff:items-start ff:gap-3", "ff:rounded-lg ff:p-4"], {
1789
+ const wn = ae(["ff:flex ff:items-start ff:gap-3", "ff:rounded-lg ff:p-4"], {
1790
1790
  variants: {
1791
1791
  tone: {
1792
1792
  danger: "ff:bg-danger/10",
@@ -1796,7 +1796,7 @@ const hn = te(["ff:flex ff:items-start ff:gap-3", "ff:rounded-lg ff:p-4"], {
1796
1796
  defaultVariants: {
1797
1797
  tone: "danger"
1798
1798
  }
1799
- }), wn = te(["ff:flex ff:size-5 ff:shrink-0 ff:items-center ff:justify-center ff:rounded-full"], {
1799
+ }), vn = ae(["ff:flex ff:size-5 ff:shrink-0 ff:items-center ff:justify-center ff:rounded-full"], {
1800
1800
  variants: {
1801
1801
  tone: {
1802
1802
  danger: "ff:bg-danger ff:text-danger-foreground",
@@ -1806,7 +1806,7 @@ const hn = te(["ff:flex ff:items-start ff:gap-3", "ff:rounded-lg ff:p-4"], {
1806
1806
  defaultVariants: {
1807
1807
  tone: "danger"
1808
1808
  }
1809
- }), vn = te(["ff:text-xs ff:font-semibold ff:leading-tight"], {
1809
+ }), bn = ae(["ff:text-xs ff:font-semibold ff:leading-tight"], {
1810
1810
  variants: {
1811
1811
  tone: {
1812
1812
  danger: "ff:text-danger",
@@ -1817,7 +1817,7 @@ const hn = te(["ff:flex ff:items-start ff:gap-3", "ff:rounded-lg ff:p-4"], {
1817
1817
  tone: "danger"
1818
1818
  }
1819
1819
  });
1820
- function bn() {
1820
+ function xn() {
1821
1821
  return /* @__PURE__ */ u(
1822
1822
  "svg",
1823
1823
  {
@@ -1836,7 +1836,7 @@ function bn() {
1836
1836
  }
1837
1837
  );
1838
1838
  }
1839
- function xn() {
1839
+ function yn() {
1840
1840
  return /* @__PURE__ */ t(
1841
1841
  "svg",
1842
1842
  {
@@ -1854,7 +1854,7 @@ function xn() {
1854
1854
  }
1855
1855
  const be = s.forwardRef(
1856
1856
  ({ tone: e = "danger", icon: a, title: r, description: n, className: o, ...i }, f) => {
1857
- const c = e === "success" ? /* @__PURE__ */ t(xn, {}) : /* @__PURE__ */ t(bn, {});
1857
+ const l = e === "success" ? /* @__PURE__ */ t(yn, {}) : /* @__PURE__ */ t(xn, {});
1858
1858
  return /* @__PURE__ */ u(
1859
1859
  "div",
1860
1860
  {
@@ -1862,12 +1862,12 @@ const be = s.forwardRef(
1862
1862
  "data-slot": "alert-panel",
1863
1863
  "data-tone": e,
1864
1864
  role: e === "success" ? "status" : "alert",
1865
- className: E(hn({ tone: e }), o),
1865
+ className: E(wn({ tone: e }), o),
1866
1866
  ...i,
1867
1867
  children: [
1868
- /* @__PURE__ */ t("div", { className: E(wn({ tone: e })), "aria-hidden": "true", children: a ?? c }),
1868
+ /* @__PURE__ */ t("div", { className: E(vn({ tone: e })), "aria-hidden": "true", children: a ?? l }),
1869
1869
  /* @__PURE__ */ u("div", { className: "ff:flex ff:flex-col ff:gap-1", children: [
1870
- r ? /* @__PURE__ */ t("p", { className: E(vn({ tone: e })), children: r }) : null,
1870
+ r ? /* @__PURE__ */ t("p", { className: E(bn({ tone: e })), children: r }) : null,
1871
1871
  n ? /* @__PURE__ */ t("p", { className: "ff:text-xs ff:text-foreground/80", children: n }) : null
1872
1872
  ] })
1873
1873
  ]
@@ -1876,7 +1876,7 @@ const be = s.forwardRef(
1876
1876
  }
1877
1877
  );
1878
1878
  be.displayName = "AlertPanel";
1879
- const yn = {
1879
+ const kn = {
1880
1880
  expired: "expired",
1881
1881
  queue_denied: "not_selected",
1882
1882
  draw_denied: "not_selected",
@@ -1893,9 +1893,9 @@ const yn = {
1893
1893
  unknown: "ended"
1894
1894
  };
1895
1895
  function da(e) {
1896
- return e ? yn[e] ?? "ended" : "ended";
1896
+ return e ? kn[e] ?? "ended" : "ended";
1897
1897
  }
1898
- const kn = te(["ff:relative ff:inline-block ff:overflow-hidden ff:font-heading"], {
1898
+ const _n = ae(["ff:relative ff:inline-block ff:overflow-hidden ff:font-heading"], {
1899
1899
  variants: {
1900
1900
  styleVariant: {
1901
1901
  default: "",
@@ -1916,7 +1916,7 @@ const kn = te(["ff:relative ff:inline-block ff:overflow-hidden ff:font-heading"]
1916
1916
  styleVariant: "default",
1917
1917
  size: "default"
1918
1918
  }
1919
- }), _n = te(
1919
+ }), Nn = ae(
1920
1920
  ["ff:absolute ff:inset-0 ff:flex ff:items-center ff:justify-center ff:font-heading ff:tabular-nums"],
1921
1921
  {
1922
1922
  variants: {
@@ -1946,7 +1946,7 @@ const kn = te(["ff:relative ff:inline-block ff:overflow-hidden ff:font-heading"]
1946
1946
  tone: "calm"
1947
1947
  }
1948
1948
  }
1949
- ), Nn = te(["ff:flex ff:flex-col ff:items-center"], {
1949
+ ), Sn = ae(["ff:flex ff:flex-col ff:items-center"], {
1950
1950
  variants: {
1951
1951
  styleVariant: {
1952
1952
  default: "",
@@ -1988,7 +1988,7 @@ const kn = te(["ff:relative ff:inline-block ff:overflow-hidden ff:font-heading"]
1988
1988
  styleVariant: "default",
1989
1989
  tone: "calm"
1990
1990
  }
1991
- }), Sn = te(
1991
+ }), Cn = ae(
1992
1992
  ["ff:text-xxs ff:font-heading ff:font-medium ff:uppercase ff:tracking-widest ff:text-neutral-500 ff:leading-none"],
1993
1993
  {
1994
1994
  variants: {
@@ -2018,7 +2018,7 @@ const kn = te(["ff:relative ff:inline-block ff:overflow-hidden ff:font-heading"]
2018
2018
  tone: "calm"
2019
2019
  }
2020
2020
  }
2021
- ), Cn = te(["ff:mx-2 ff:self-end ff:pb-2 ff:text-2xl ff:font-light ff:text-neutral-300"], {
2021
+ ), Dn = ae(["ff:mx-2 ff:self-end ff:pb-2 ff:text-2xl ff:font-light ff:text-neutral-300"], {
2022
2022
  variants: {
2023
2023
  styleVariant: {
2024
2024
  default: "",
@@ -2035,7 +2035,7 @@ const kn = te(["ff:relative ff:inline-block ff:overflow-hidden ff:font-heading"]
2035
2035
  styleVariant: "default",
2036
2036
  size: "default"
2037
2037
  }
2038
- }), Dn = te(["ff:flex ff:items-center ff:justify-center ff:font-heading"], {
2038
+ }), Vn = ae(["ff:flex ff:items-center ff:justify-center ff:font-heading"], {
2039
2039
  variants: {
2040
2040
  styleVariant: {
2041
2041
  default: "",
@@ -2063,9 +2063,9 @@ function ua(e) {
2063
2063
  total: n
2064
2064
  };
2065
2065
  }
2066
- function Vn({ value: e, styleVariant: a, size: r, tone: n }) {
2067
- return /* @__PURE__ */ t("div", { "data-slot": "countdown-digit", className: kn({ styleVariant: a, size: r }), children: /* @__PURE__ */ t(_t, { mode: "popLayout", children: /* @__PURE__ */ t(
2068
- U.span,
2066
+ function En({ value: e, styleVariant: a, size: r, tone: n }) {
2067
+ return /* @__PURE__ */ t("div", { "data-slot": "countdown-digit", className: _n({ styleVariant: a, size: r }), children: /* @__PURE__ */ t(_t, { mode: "popLayout", children: /* @__PURE__ */ t(
2068
+ W.span,
2069
2069
  {
2070
2070
  initial: { y: "100%", filter: "blur(2px)" },
2071
2071
  animate: { y: "0%", filter: "blur(0px)" },
@@ -2076,31 +2076,31 @@ function Vn({ value: e, styleVariant: a, size: r, tone: n }) {
2076
2076
  damping: 30,
2077
2077
  mass: 1
2078
2078
  },
2079
- className: _n({ styleVariant: a, size: r, tone: n }),
2079
+ className: Nn({ styleVariant: a, size: r, tone: n }),
2080
2080
  children: e
2081
2081
  },
2082
2082
  e
2083
2083
  ) }) });
2084
2084
  }
2085
- function En({ value: e, label: a, styleVariant: r, size: n, tone: o }) {
2085
+ function Mn({ value: e, label: a, styleVariant: r, size: n, tone: o }) {
2086
2086
  const f = e.toString().padStart(2, "0").split("").map(Number);
2087
- return /* @__PURE__ */ u("div", { "data-slot": "countdown-unit", "data-tone": o, className: Nn({ styleVariant: r, tone: o }), children: [
2088
- /* @__PURE__ */ t("div", { "data-slot": "countdown-unit-digits", className: "ff:flex", children: f.map((c, g) => /* @__PURE__ */ t(Vn, { value: c, styleVariant: r, size: n, tone: o }, g)) }),
2089
- /* @__PURE__ */ t("span", { "data-slot": "countdown-unit-label", className: Sn({ styleVariant: r, size: n, tone: o }), children: a })
2087
+ return /* @__PURE__ */ u("div", { "data-slot": "countdown-unit", "data-tone": o, className: Sn({ styleVariant: r, tone: o }), children: [
2088
+ /* @__PURE__ */ t("div", { "data-slot": "countdown-unit-digits", className: "ff:flex", children: f.map((l, g) => /* @__PURE__ */ t(En, { value: l, styleVariant: r, size: n, tone: o }, g)) }),
2089
+ /* @__PURE__ */ t("span", { "data-slot": "countdown-unit-label", className: Cn({ styleVariant: r, size: n, tone: o }), children: a })
2090
2090
  ] });
2091
2091
  }
2092
- function Mn({ styleVariant: e, size: a }) {
2093
- return e === "rounded" || e === "retro" ? null : /* @__PURE__ */ t("span", { "data-slot": "countdown-separator", className: Cn({ styleVariant: e, size: a }), children: "/" });
2092
+ function Tn({ styleVariant: e, size: a }) {
2093
+ return e === "rounded" || e === "retro" ? null : /* @__PURE__ */ t("span", { "data-slot": "countdown-separator", className: Dn({ styleVariant: e, size: a }), children: "/" });
2094
2094
  }
2095
- function Tn(e, a) {
2095
+ function Rn(e, a) {
2096
2096
  const [r, n] = s.useState(() => ua(e)), [o, i] = s.useState(!1), f = s.useRef(!1);
2097
2097
  return s.useEffect(() => {
2098
2098
  i(!0), f.current = !1;
2099
- const c = setInterval(() => {
2099
+ const l = setInterval(() => {
2100
2100
  const g = ua(e);
2101
- n(g), g.total <= 0 && !f.current && (f.current = !0, a?.(), clearInterval(c));
2101
+ n(g), g.total <= 0 && !f.current && (f.current = !0, a?.(), clearInterval(l));
2102
2102
  }, 1e3);
2103
- return () => clearInterval(c);
2103
+ return () => clearInterval(l);
2104
2104
  }, [e, a]), { timeRemaining: r, isClient: o, isPast: r.total <= 0 };
2105
2105
  }
2106
2106
  function pe({
@@ -2111,35 +2111,35 @@ function pe({
2111
2111
  showDays: o = !0,
2112
2112
  showHours: i = !0,
2113
2113
  showMinutes: f = !0,
2114
- showSeconds: c = !0,
2114
+ showSeconds: l = !0,
2115
2115
  layout: g = "swiss",
2116
2116
  size: d = "default",
2117
- tone: x = "calm"
2117
+ tone: b = "calm"
2118
2118
  }) {
2119
- const { t: m } = K(), { timeRemaining: v, isClient: w, isPast: y } = Tn(e, a), C = ge();
2120
- if (!w)
2119
+ const { t: m } = K(), { timeRemaining: v, isClient: h, isPast: x } = Rn(e, a), C = ge();
2120
+ if (!h)
2121
2121
  return null;
2122
- if (y && r)
2122
+ if (x && r)
2123
2123
  return /* @__PURE__ */ t("span", { className: E("ff:text-muted ff:font-heading", n), "data-slot": "countdown", "data-past": "", children: r });
2124
- const l = y ? "ff:opacity-50" : void 0, p = [
2124
+ const c = x ? "ff:opacity-50" : void 0, p = [
2125
2125
  {
2126
2126
  value: v.days,
2127
- label: m("countdown.days"),
2128
- shortLabel: m("countdown.daysShort"),
2127
+ label: m("duration.days"),
2128
+ shortLabel: m("duration.daysShort"),
2129
2129
  show: o && v.days > 0
2130
2130
  },
2131
- { value: v.hours, label: m("countdown.hours"), shortLabel: m("countdown.hoursShort"), show: i },
2131
+ { value: v.hours, label: m("duration.hours"), shortLabel: m("duration.hoursShort"), show: i },
2132
2132
  {
2133
2133
  value: v.minutes,
2134
- label: m("countdown.minutes"),
2135
- shortLabel: m("countdown.minutesShort"),
2134
+ label: m("duration.minutes"),
2135
+ shortLabel: m("duration.minutesShort"),
2136
2136
  show: f
2137
2137
  },
2138
2138
  {
2139
2139
  value: v.seconds,
2140
- label: m("countdown.seconds"),
2141
- shortLabel: m("countdown.secondsShort"),
2142
- show: c
2140
+ label: m("duration.seconds"),
2141
+ shortLabel: m("duration.secondsShort"),
2142
+ show: l
2143
2143
  }
2144
2144
  ].filter((V) => V.show), D = g === "swiss" ? p.slice(0, 3) : p;
2145
2145
  if (g === "compact") {
@@ -2147,16 +2147,16 @@ function pe({
2147
2147
  return /* @__PURE__ */ t(
2148
2148
  "span",
2149
2149
  {
2150
- className: E("ff:tabular-nums ff:font-heading", l, n),
2150
+ className: E("ff:tabular-nums ff:font-heading", c, n),
2151
2151
  "data-slot": "countdown",
2152
2152
  "data-layout": "compact",
2153
- "data-past": y || void 0,
2153
+ "data-past": x || void 0,
2154
2154
  role: "timer",
2155
- "aria-live": y ? "off" : "polite",
2156
- children: D.map((T, b) => /* @__PURE__ */ u(s.Fragment, { children: [
2155
+ "aria-live": x ? "off" : "polite",
2156
+ children: D.map((T, y) => /* @__PURE__ */ u(s.Fragment, { children: [
2157
2157
  V(T.value),
2158
2158
  T.shortLabel,
2159
- b < D.length - 1 && " "
2159
+ y < D.length - 1 && " "
2160
2160
  ] }, T.label))
2161
2161
  }
2162
2162
  );
@@ -2164,17 +2164,17 @@ function pe({
2164
2164
  return /* @__PURE__ */ t(
2165
2165
  "div",
2166
2166
  {
2167
- className: E(Dn({ styleVariant: C, size: d }), l, n),
2167
+ className: E(Vn({ styleVariant: C, size: d }), c, n),
2168
2168
  "data-slot": "countdown",
2169
2169
  "data-layout": "swiss",
2170
2170
  "data-size": d,
2171
- "data-tone": x,
2172
- "data-past": y || void 0,
2171
+ "data-tone": b,
2172
+ "data-past": x || void 0,
2173
2173
  role: "timer",
2174
- "aria-live": y ? "off" : "polite",
2174
+ "aria-live": x ? "off" : "polite",
2175
2175
  children: D.map((V, T) => /* @__PURE__ */ u(s.Fragment, { children: [
2176
- /* @__PURE__ */ t(En, { value: V.value, label: V.label, styleVariant: C, size: d, tone: x }),
2177
- T < D.length - 1 && /* @__PURE__ */ t(Mn, { styleVariant: C, size: d })
2176
+ /* @__PURE__ */ t(Mn, { value: V.value, label: V.label, styleVariant: C, size: d, tone: b }),
2177
+ T < D.length - 1 && /* @__PURE__ */ t(Tn, { styleVariant: C, size: d })
2178
2178
  ] }, V.label))
2179
2179
  }
2180
2180
  );
@@ -2182,7 +2182,7 @@ function pe({
2182
2182
  function nt({ show: e, presenceKey: a, children: r, className: n }) {
2183
2183
  const o = ot();
2184
2184
  return /* @__PURE__ */ t(_t, { initial: !1, children: e ? /* @__PURE__ */ t(
2185
- U.div,
2185
+ W.div,
2186
2186
  {
2187
2187
  "data-slot": "fade-presence",
2188
2188
  initial: o ? !1 : { opacity: 0, y: -4 },
@@ -2196,7 +2196,7 @@ function nt({ show: e, presenceKey: a, children: r, className: n }) {
2196
2196
  ) : null });
2197
2197
  }
2198
2198
  nt.displayName = "FadePresence";
2199
- const Rn = {
2199
+ const Ln = {
2200
2200
  default: {
2201
2201
  initial: { opacity: 0, scale: 0.98 },
2202
2202
  animate: { opacity: 1, scale: 1 },
@@ -2228,7 +2228,7 @@ const Rn = {
2228
2228
  transition: { duration: 0 }
2229
2229
  };
2230
2230
  function rt({ children: e, transitionKey: a, mode: r, layout: n = !0, className: o }) {
2231
- const i = ge(), f = ot(), c = f ? Vt : Rn[i], d = (!r || r === "none" ? r === "none" ? Vt : null : f ? Vt : {
2231
+ const i = ge(), f = ot(), l = f ? Vt : Ln[i], d = (!r || r === "none" ? r === "none" ? Vt : null : f ? Vt : {
2232
2232
  fade: {
2233
2233
  initial: { opacity: 0 },
2234
2234
  animate: { opacity: 1 },
@@ -2247,9 +2247,9 @@ function rt({ children: e, transitionKey: a, mode: r, layout: n = !0, className:
2247
2247
  exit: { opacity: 0, scale: 0.95 },
2248
2248
  transition: { duration: 0.2, ease: "easeOut" }
2249
2249
  }
2250
- }[r]) ?? c;
2250
+ }[r]) ?? l;
2251
2251
  return /* @__PURE__ */ t(_t, { mode: "wait", initial: !1, children: /* @__PURE__ */ t(
2252
- U.div,
2252
+ W.div,
2253
2253
  {
2254
2254
  initial: d.initial,
2255
2255
  animate: d.animate,
@@ -2264,8 +2264,8 @@ function rt({ children: e, transitionKey: a, mode: r, layout: n = !0, className:
2264
2264
  ) });
2265
2265
  }
2266
2266
  rt.displayName = "Transition";
2267
- const Et = 3e4, Ln = 3e3;
2268
- function An(e) {
2267
+ const Et = 3e4, An = 3e3;
2268
+ function In(e) {
2269
2269
  const a = Math.ceil(e / 1e3), r = Math.floor(a / 60), n = a % 60;
2270
2270
  return `${r.toString().padStart(2, "0")}:${n.toString().padStart(2, "0")}`;
2271
2271
  }
@@ -2277,38 +2277,38 @@ function Aa({
2277
2277
  variant: o = "default",
2278
2278
  label: i,
2279
2279
  title: f,
2280
- description: c,
2280
+ description: l,
2281
2281
  countdownTo: g,
2282
2282
  submitLabel: d,
2283
- verifyLabel: x,
2283
+ verifyLabel: b,
2284
2284
  allowSkip: m = !1,
2285
2285
  showBranding: v = !0,
2286
- defaultStep: w = "credential",
2287
- defaultCredential: y,
2286
+ defaultStep: h = "credential",
2287
+ defaultCredential: x,
2288
2288
  defaultCredentialType: C,
2289
- defaultError: l,
2290
- className: h
2289
+ defaultError: c,
2290
+ className: w
2291
2291
  }) {
2292
- const { t: p } = K(), D = s.useId(), V = i ?? p("auth.badgeLabel"), T = f ?? p("auth.title"), b = c ?? p("auth.description"), N = d ?? p("auth.submit"), S = x ?? p("auth.verify"), [M, A] = s.useState(w), [I, O] = s.useState(y ?? ""), [$, fe] = s.useState(
2293
- C ?? Va(y ?? "")
2294
- ), [ce, L] = s.useState(!1), [J, ne] = s.useState(""), [se, de] = s.useState(!1), [ee, P] = s.useState(l ?? null), [ae, me] = s.useState(
2295
- w === "verify" && (y ?? "").length > 0 ? Date.now() + Et : null
2296
- ), [ke, Re] = s.useState(() => Date.now()), [ue, q] = s.useState(!1), [_e, Ne] = s.useState(!1), st = p($ === "email" ? "auth.email" : "auth.phone");
2292
+ const { t: p } = K(), D = s.useId(), V = i ?? p("auth.badgeLabel"), T = f ?? p("auth.title"), y = l ?? p("auth.description"), N = d ?? p("auth.submit"), S = b ?? p("auth.verify"), [M, A] = s.useState(h), [I, O] = s.useState(x ?? ""), [$, fe] = s.useState(
2293
+ C ?? Va(x ?? "")
2294
+ ), [ce, L] = s.useState(!1), [J, ne] = s.useState(""), [se, de] = s.useState(!1), [ee, P] = s.useState(c ?? null), [te, me] = s.useState(
2295
+ h === "verify" && (x ?? "").length > 0 ? Date.now() + Et : null
2296
+ ), [_e, Re] = s.useState(() => Date.now()), [ue, q] = s.useState(!1), [Ne, xe] = s.useState(!1), st = p($ === "email" ? "auth.email" : "auth.phone");
2297
2297
  s.useEffect(() => {
2298
2298
  if (M !== "verify") return;
2299
- const W = setInterval(() => Re(Date.now()), 1e3);
2300
- return () => clearInterval(W);
2299
+ const U = setInterval(() => Re(Date.now()), 1e3);
2300
+ return () => clearInterval(U);
2301
2301
  }, [M]), s.useEffect(() => {
2302
2302
  if (!ue) return;
2303
- const W = setTimeout(() => q(!1), Ln);
2304
- return () => clearTimeout(W);
2303
+ const U = setTimeout(() => q(!1), An);
2304
+ return () => clearTimeout(U);
2305
2305
  }, [ue]);
2306
- const Ue = ae ? Math.max(0, ae - ke) : 0, lt = Ue > 0, xe = s.useRef(null);
2307
- ee && (xe.current = ee);
2308
- const F = ee ?? xe.current ?? "", je = (W, Se) => {
2309
- O(W), fe(Se), P(null);
2310
- }, Fe = async (W) => {
2311
- if (W?.preventDefault(), !(!ce || !I)) {
2306
+ const We = te ? Math.max(0, te - _e) : 0, lt = We > 0, ye = s.useRef(null);
2307
+ ee && (ye.current = ee);
2308
+ const F = ee ?? ye.current ?? "", ze = (U, Se) => {
2309
+ O(U), fe(Se), P(null);
2310
+ }, Fe = async (U) => {
2311
+ if (U?.preventDefault(), !(!ce || !I)) {
2312
2312
  de(!0), P(null);
2313
2313
  try {
2314
2314
  await e?.(I, $), A("verify"), me(Date.now() + Et);
@@ -2318,12 +2318,12 @@ function Aa({
2318
2318
  de(!1);
2319
2319
  }
2320
2320
  }
2321
- }, Le = (W) => {
2322
- ne(W), P(null);
2323
- }, Ae = async (W) => {
2324
- ne(W), await He(void 0, W);
2325
- }, He = async (W, Se) => {
2326
- W?.preventDefault();
2321
+ }, Le = (U) => {
2322
+ ne(U), P(null);
2323
+ }, Ae = async (U) => {
2324
+ ne(U), await He(void 0, U);
2325
+ }, He = async (U, Se) => {
2326
+ U?.preventDefault();
2327
2327
  const Pe = Se || J;
2328
2328
  if (!(!Pe || Pe.length < 6)) {
2329
2329
  de(!0), P(null);
@@ -2338,19 +2338,19 @@ function Aa({
2338
2338
  }, ct = () => {
2339
2339
  A("credential"), ne(""), P(null), me(null), q(!1);
2340
2340
  }, dt = async () => {
2341
- if (!(!I || _e)) {
2342
- Ne(!0), P(null), ne("");
2341
+ if (!(!I || Ne)) {
2342
+ xe(!0), P(null), ne("");
2343
2343
  try {
2344
2344
  await e?.(I, $), me(Date.now() + Et), Re(Date.now()), q(!0);
2345
- } catch (W) {
2346
- P(W instanceof Error ? W.message : p("auth.sendFailed"));
2345
+ } catch (U) {
2346
+ P(U instanceof Error ? U.message : p("auth.sendFailed"));
2347
2347
  } finally {
2348
- Ne(!1);
2348
+ xe(!1);
2349
2349
  }
2350
2350
  }
2351
2351
  };
2352
2352
  if (M === "success")
2353
- return /* @__PURE__ */ u(Y, { className: E("fanfare-auth-form", h), "data-slot": "auth-form", "data-step": "success", children: [
2353
+ return /* @__PURE__ */ u(Y, { className: E("fanfare-auth-form", w), "data-slot": "auth-form", "data-step": "success", children: [
2354
2354
  /* @__PURE__ */ t(Z, { children: /* @__PURE__ */ u("div", { className: "ff:flex ff:flex-col ff:items-center ff:gap-3 ff:py-4", children: [
2355
2355
  /* @__PURE__ */ t(
2356
2356
  "div",
@@ -2367,17 +2367,17 @@ function Aa({
2367
2367
  ] }) }),
2368
2368
  v && /* @__PURE__ */ t(H, {})
2369
2369
  ] });
2370
- const Ke = M === "credential" ? T : p("auth.verifyTitle");
2371
- return /* @__PURE__ */ u(Y, { className: E("fanfare-auth-form", h), "data-slot": "auth-form", "data-step": M, children: [
2370
+ const Ke = M === "credential" ? T : p("auth.verify.title");
2371
+ return /* @__PURE__ */ u(Y, { className: E("fanfare-auth-form", w), "data-slot": "auth-form", "data-step": M, children: [
2372
2372
  /* @__PURE__ */ t(G, { variant: o, label: V }),
2373
2373
  /* @__PURE__ */ u(Z, { children: [
2374
2374
  g ? /* @__PURE__ */ u("div", { "data-slot": "auth-form-countdown", className: "ff:flex ff:flex-col ff:items-start ff:gap-1", children: [
2375
- /* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children: p("time.opensIn") }),
2375
+ /* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children: p("duration.opensIn") }),
2376
2376
  /* @__PURE__ */ t(pe, { targetDate: g, showDays: !1 })
2377
2377
  ] }) : null,
2378
2378
  /* @__PURE__ */ t("div", { "data-slot": "auth-form-heading", children: /* @__PURE__ */ t(rt, { transitionKey: M, mode: "fade", children: M === "credential" ? /* @__PURE__ */ u(Me, { children: [
2379
2379
  /* @__PURE__ */ t("h2", { className: "ff:text-foreground ff:text-xl ff:font-semibold", children: Ke }),
2380
- /* @__PURE__ */ t("p", { className: "ff:text-muted-foreground ff:text-xs", children: b })
2380
+ /* @__PURE__ */ t("p", { className: "ff:text-muted-foreground ff:text-xs", children: y })
2381
2381
  ] }) : /* @__PURE__ */ u(Me, { children: [
2382
2382
  /* @__PURE__ */ t("h2", { className: "ff:text-foreground ff:text-xl ff:font-semibold", children: Ke }),
2383
2383
  I ? /* @__PURE__ */ u("p", { className: "ff:text-muted-foreground ff:text-xxs", children: [
@@ -2386,21 +2386,21 @@ function Aa({
2386
2386
  /* @__PURE__ */ t("strong", { className: "ff:text-foreground ff:font-semibold", children: I }),
2387
2387
  " · ",
2388
2388
  /* @__PURE__ */ t(j, { type: "button", variant: "link", size: "xs", onClick: ct, disabled: se, children: p("auth.change") })
2389
- ] }) : /* @__PURE__ */ t("p", { className: "ff:text-muted-foreground ff:text-xs", children: p("auth.verifyDescription", { values: { type: st } }) })
2389
+ ] }) : /* @__PURE__ */ t("p", { className: "ff:text-muted-foreground ff:text-xs", children: p("auth.verify.description", { values: { type: st } }) })
2390
2390
  ] }) }) }),
2391
2391
  /* @__PURE__ */ u(
2392
2392
  "form",
2393
2393
  {
2394
2394
  className: "ff:flex ff:flex-1 ff:flex-col ff:gap-5",
2395
- onSubmit: (W) => {
2396
- W.preventDefault(), M === "credential" ? Fe(W) : He(W);
2395
+ onSubmit: (U) => {
2396
+ U.preventDefault(), M === "credential" ? Fe(U) : He(U);
2397
2397
  },
2398
2398
  children: [
2399
2399
  /* @__PURE__ */ t(rt, { transitionKey: M, children: M === "credential" ? /* @__PURE__ */ t(
2400
2400
  Ea,
2401
2401
  {
2402
2402
  value: I,
2403
- onValueChange: je,
2403
+ onValueChange: ze,
2404
2404
  onValidChange: L,
2405
2405
  onSubmit: () => {
2406
2406
  Fe();
@@ -2414,8 +2414,8 @@ function Aa({
2414
2414
  {
2415
2415
  value: J,
2416
2416
  onChange: Le,
2417
- onComplete: (W) => {
2418
- Ae(W);
2417
+ onComplete: (U) => {
2418
+ Ae(U);
2419
2419
  },
2420
2420
  hasError: !!ee,
2421
2421
  ariaDescribedBy: ee ? D : void 0,
@@ -2425,7 +2425,7 @@ function Aa({
2425
2425
  ) }),
2426
2426
  /* @__PURE__ */ t(nt, { show: M === "verify", presenceKey: "resend-area", children: /* @__PURE__ */ t(rt, { transitionKey: ue ? "success" : "cooldown", mode: "fade", layout: !1, children: ue ? /* @__PURE__ */ t(be, { tone: "success", title: p("auth.newCodeSent") }) : /* @__PURE__ */ u("div", { "data-slot": "auth-form-resend", className: "ff:flex ff:items-center ff:justify-between", children: [
2427
2427
  /* @__PURE__ */ t("span", { className: "ff:text-muted-foreground ff:text-xxs", children: p("auth.didntGetIt") }),
2428
- lt ? /* @__PURE__ */ t("span", { className: "ff:text-muted-foreground ff:text-xxs ff:tabular-nums", children: An(Ue) }) : /* @__PURE__ */ t(
2428
+ lt ? /* @__PURE__ */ t("span", { className: "ff:text-muted-foreground ff:text-xxs ff:tabular-nums", children: In(We) }) : /* @__PURE__ */ t(
2429
2429
  j,
2430
2430
  {
2431
2431
  type: "button",
@@ -2434,7 +2434,7 @@ function Aa({
2434
2434
  onClick: () => {
2435
2435
  dt();
2436
2436
  },
2437
- disabled: _e || !I,
2437
+ disabled: Ne || !I,
2438
2438
  children: p("auth.resendCode")
2439
2439
  }
2440
2440
  )
@@ -2446,11 +2446,11 @@ function Aa({
2446
2446
  {
2447
2447
  type: "submit",
2448
2448
  className: "ff:w-full",
2449
- disabled: se || _e || (M === "credential" ? !ce : J.length < 6),
2449
+ disabled: se || Ne || (M === "credential" ? !ce : J.length < 6),
2450
2450
  children: se ? /* @__PURE__ */ t(Te, { size: "sm" }) : M === "credential" ? N : S
2451
2451
  }
2452
2452
  ),
2453
- m && M === "credential" && /* @__PURE__ */ t(j, { type: "button", variant: "outline", className: "ff:w-full", onClick: r, disabled: se, children: p("common.skip") })
2453
+ m && M === "credential" && /* @__PURE__ */ t(j, { type: "button", variant: "outline", className: "ff:w-full", onClick: r, disabled: se, children: p("action.skip") })
2454
2454
  ] })
2455
2455
  ]
2456
2456
  }
@@ -2469,7 +2469,7 @@ const Ia = s.forwardRef(
2469
2469
  error: o,
2470
2470
  hasError: i,
2471
2471
  placeholder: f = "Enter your access code",
2472
- autoUppercase: c = !1,
2472
+ autoUppercase: l = !1,
2473
2473
  ...g
2474
2474
  }, d) => /* @__PURE__ */ t(
2475
2475
  yt,
@@ -2480,8 +2480,8 @@ const Ia = s.forwardRef(
2480
2480
  spellCheck: !1,
2481
2481
  value: a,
2482
2482
  onChange: (v) => {
2483
- let w = v.target.value;
2484
- c && (w = w.toUpperCase()), r(w);
2483
+ let h = v.target.value;
2484
+ l && (h = h.toUpperCase()), r(h);
2485
2485
  },
2486
2486
  onKeyDown: (v) => {
2487
2487
  v.key === "Enter" && n && (v.preventDefault(), n()), g.onKeyDown?.(v);
@@ -2496,7 +2496,7 @@ const Ia = s.forwardRef(
2496
2496
  )
2497
2497
  );
2498
2498
  Ia.displayName = "AccessCodeInput";
2499
- function za({
2499
+ function ja({
2500
2500
  onSubmit: e,
2501
2501
  onSkip: a,
2502
2502
  variant: r = "secondary",
@@ -2504,33 +2504,33 @@ function za({
2504
2504
  title: o,
2505
2505
  description: i,
2506
2506
  countdownTo: f,
2507
- submitLabel: c,
2507
+ submitLabel: l,
2508
2508
  allowSkip: g = !1,
2509
2509
  autoUppercase: d = !0,
2510
- defaultError: x,
2510
+ defaultError: b,
2511
2511
  className: m
2512
2512
  }) {
2513
- const { t: v } = K(), w = n ?? v("accessCode.badgeLabel"), y = o ?? v("accessCode.title"), C = i ?? v("accessCode.description"), l = c ?? v("accessCode.submit"), [h, p] = s.useState(""), [D, V] = s.useState(!1), [T, b] = s.useState(x ?? null), N = async (S) => {
2514
- if (S?.preventDefault(), !!h.trim()) {
2515
- V(!0), b(null);
2513
+ const { t: v } = K(), h = n ?? v("accessCode.badgeLabel"), x = o ?? v("accessCode.title"), C = i ?? v("accessCode.description"), c = l ?? v("accessCode.submit"), [w, p] = s.useState(""), [D, V] = s.useState(!1), [T, y] = s.useState(b ?? null), N = async (S) => {
2514
+ if (S?.preventDefault(), !!w.trim()) {
2515
+ V(!0), y(null);
2516
2516
  try {
2517
- await e?.(h.trim());
2517
+ await e?.(w.trim());
2518
2518
  } catch (M) {
2519
- b(M instanceof Error ? M.message : v("accessCode.invalid"));
2519
+ y(M instanceof Error ? M.message : v("accessCode.invalid"));
2520
2520
  } finally {
2521
2521
  V(!1);
2522
2522
  }
2523
2523
  }
2524
2524
  };
2525
2525
  return /* @__PURE__ */ u(Y, { className: E("fanfare-access-code-form", m), "data-slot": "access-code-form", children: [
2526
- /* @__PURE__ */ t(G, { variant: r, label: w }),
2526
+ /* @__PURE__ */ t(G, { variant: r, label: h }),
2527
2527
  /* @__PURE__ */ u(Z, { children: [
2528
2528
  f ? /* @__PURE__ */ u("div", { "data-slot": "access-code-form-countdown", className: "ff:flex ff:flex-col ff:items-start ff:gap-1", children: [
2529
- /* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children: v("time.opensIn") }),
2529
+ /* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children: v("duration.opensIn") }),
2530
2530
  /* @__PURE__ */ t(pe, { targetDate: f, showDays: !1 })
2531
2531
  ] }) : null,
2532
2532
  /* @__PURE__ */ u("div", { "data-slot": "access-code-form-heading", children: [
2533
- /* @__PURE__ */ t("h2", { className: "ff:text-foreground ff:text-xl ff:font-semibold", children: y }),
2533
+ /* @__PURE__ */ t("h2", { className: "ff:text-foreground ff:text-xl ff:font-semibold", children: x }),
2534
2534
  /* @__PURE__ */ t("p", { className: "ff:text-muted-foreground ff:text-xs", children: C })
2535
2535
  ] }),
2536
2536
  /* @__PURE__ */ u("form", { className: "ff:flex ff:flex-1 ff:flex-col ff:gap-5", onSubmit: (S) => {
@@ -2539,9 +2539,9 @@ function za({
2539
2539
  /* @__PURE__ */ t(
2540
2540
  Ia,
2541
2541
  {
2542
- value: h,
2542
+ value: w,
2543
2543
  onValueChange: (S) => {
2544
- p(S), b(null);
2544
+ p(S), y(null);
2545
2545
  },
2546
2546
  onSubmit: () => {
2547
2547
  N();
@@ -2555,16 +2555,16 @@ function za({
2555
2555
  ),
2556
2556
  T ? /* @__PURE__ */ t(be, { tone: "danger", title: T }) : null,
2557
2557
  /* @__PURE__ */ u("div", { className: "ff:mt-auto ff:flex ff:flex-col ff:gap-2", children: [
2558
- /* @__PURE__ */ t(j, { type: "submit", className: "ff:w-full", disabled: D || !h.trim(), children: D ? /* @__PURE__ */ t(Te, { size: "sm" }) : l }),
2559
- g && /* @__PURE__ */ t(j, { type: "button", variant: "outline", className: "ff:w-full", onClick: a, disabled: D, children: v("common.skip") })
2558
+ /* @__PURE__ */ t(j, { type: "submit", className: "ff:w-full", disabled: D || !w.trim(), children: D ? /* @__PURE__ */ t(Te, { size: "sm" }) : c }),
2559
+ g && /* @__PURE__ */ t(j, { type: "button", variant: "outline", className: "ff:w-full", onClick: a, disabled: D, children: v("action.skip") })
2560
2560
  ] })
2561
2561
  ] })
2562
2562
  ] }),
2563
2563
  /* @__PURE__ */ t(H, {})
2564
2564
  ] });
2565
2565
  }
2566
- za.displayName = "AccessCodeForm";
2567
- function In(e) {
2566
+ ja.displayName = "AccessCodeForm";
2567
+ function jn(e) {
2568
2568
  if (!e || typeof e != "object") return !1;
2569
2569
  const a = e;
2570
2570
  return typeof a.kind != "string" || typeof a.challengeId != "string" ? !1 : a.kind === "fanfare:challenge:turnstile" ? typeof a.token == "string" && a.token.length > 0 : a.kind === "fanfare:challenge:turnstile_error" || a.kind === "fanfare:challenge:turnstile_expired";
@@ -2575,15 +2575,15 @@ function zn(e, a) {
2575
2575
  const n = Date.parse(r);
2576
2576
  return Number.isFinite(n) ? { blocked: a < n, blockedUntil: r } : { blocked: !1 };
2577
2577
  }
2578
- function jn(e, a) {
2578
+ function Fn(e, a) {
2579
2579
  const r = new Date(e);
2580
2580
  try {
2581
- return r.toLocaleString(hr(a));
2581
+ return r.toLocaleString(wr(a));
2582
2582
  } catch {
2583
2583
  return r.toLocaleString();
2584
2584
  }
2585
2585
  }
2586
- function ja({
2586
+ function za({
2587
2587
  challenge: e,
2588
2588
  botMitigation: a,
2589
2589
  onVerifyToken: r,
@@ -2591,12 +2591,12 @@ function ja({
2591
2591
  variant: o = "default",
2592
2592
  label: i,
2593
2593
  title: f,
2594
- description: c,
2594
+ description: l,
2595
2595
  countdownTo: g,
2596
2596
  retryLabel: d,
2597
- className: x
2597
+ className: b
2598
2598
  }) {
2599
- const { t: m, locale: v } = K(), [w, y] = s.useState(0), [C, l] = s.useState(!1), [h, p] = s.useState(!1), [D, V] = s.useState(null), [T, b] = s.useState(!1), [N, S] = s.useState("reload"), [M, A] = s.useState(() => Date.now()), I = X(() => {
2599
+ const { t: m, locale: v } = K(), [h, x] = s.useState(0), [C, c] = s.useState(!1), [w, p] = s.useState(!1), [D, V] = s.useState(null), [T, y] = s.useState(!1), [N, S] = s.useState("reload"), [M, A] = s.useState(() => Date.now()), I = X(() => {
2600
2600
  if (!e?.iframeUrl) return null;
2601
2601
  try {
2602
2602
  return new URL(e.iframeUrl).origin;
@@ -2607,17 +2607,17 @@ function ja({
2607
2607
  if (!e?.iframeUrl) return null;
2608
2608
  try {
2609
2609
  const ee = new URL(e.iframeUrl);
2610
- return ee.searchParams.set("_t", String(w)), ee.toString();
2610
+ return ee.searchParams.set("_t", String(h)), ee.toString();
2611
2611
  } catch {
2612
2612
  return null;
2613
2613
  }
2614
- }, [e?.iframeUrl, w]);
2614
+ }, [e?.iframeUrl, h]);
2615
2615
  s.useEffect(() => {
2616
2616
  const ee = a?.blockedUntil, P = Date.now();
2617
2617
  if (A(P), !ee) return;
2618
- const ae = Date.parse(ee);
2619
- if (!Number.isFinite(ae) || ae <= P) return;
2620
- const me = window.setTimeout(() => A(Date.now()), Math.min(ae - P + 1, 2147483647));
2618
+ const te = Date.parse(ee);
2619
+ if (!Number.isFinite(te) || te <= P) return;
2620
+ const me = window.setTimeout(() => A(Date.now()), Math.min(te - P + 1, 2147483647));
2621
2621
  return () => {
2622
2622
  window.clearTimeout(me);
2623
2623
  };
@@ -2627,18 +2627,18 @@ function ja({
2627
2627
  [a, M]
2628
2628
  ), ce = typeof a?.attemptsRemaining == "number" ? a.attemptsRemaining : void 0;
2629
2629
  s.useEffect(() => {
2630
- y(0), l(!1), p(!1), V(null), b(!1), S("reload");
2630
+ x(0), c(!1), p(!1), V(null), y(!1), S("reload");
2631
2631
  }, [e?.id]), s.useEffect(() => {
2632
2632
  T && a?.message && V(a.message);
2633
2633
  }, [T, a?.message]), s.useEffect(() => {
2634
2634
  if (!e?.id || !I) return;
2635
2635
  const ee = (P) => {
2636
- if (P.origin !== I || !In(P.data) || P.data.challengeId !== e.id) return;
2636
+ if (P.origin !== I || !jn(P.data) || P.data.challengeId !== e.id) return;
2637
2637
  if (P.data.kind === "fanfare:challenge:turnstile") {
2638
- const ke = P.data.token;
2639
- b(!0), p(!0), V(null), (async () => {
2638
+ const _e = P.data.token;
2639
+ y(!0), p(!0), V(null), (async () => {
2640
2640
  try {
2641
- await r(ke);
2641
+ await r(_e);
2642
2642
  } catch (Re) {
2643
2643
  V(Re instanceof Error ? Re.message : m("challenge.verificationFailed"));
2644
2644
  } finally {
@@ -2647,37 +2647,37 @@ function ja({
2647
2647
  })();
2648
2648
  return;
2649
2649
  }
2650
- b(!0);
2651
- const ae = typeof P.data.reason == "string" ? P.data.reason : void 0, me = typeof P.data.message == "string" ? P.data.message : void 0;
2652
- if (ae === "challenge_expired" || ae === "challenge_not_found") {
2650
+ y(!0);
2651
+ const te = typeof P.data.reason == "string" ? P.data.reason : void 0, me = typeof P.data.message == "string" ? P.data.message : void 0;
2652
+ if (te === "challenge_expired" || te === "challenge_not_found") {
2653
2653
  S("reroute"), V(
2654
2654
  me ?? (P.data.kind === "fanfare:challenge:turnstile_expired" ? m("challenge.expiredRefresh") : m("challenge.errorRefresh"))
2655
2655
  );
2656
2656
  return;
2657
2657
  }
2658
2658
  if (S("reload"), P.data.kind === "fanfare:challenge:turnstile_expired") {
2659
- V(me ?? m("challenge.expiredRetry")), y((ke) => ke + 1), l(!1);
2659
+ V(me ?? m("challenge.expiredRetry")), x((_e) => _e + 1), c(!1);
2660
2660
  return;
2661
2661
  }
2662
- V(me ?? m("challenge.errorRetry")), y((ke) => ke + 1), l(!1);
2662
+ V(me ?? m("challenge.errorRetry")), x((_e) => _e + 1), c(!1);
2663
2663
  };
2664
2664
  return window.addEventListener("message", ee), () => {
2665
2665
  window.removeEventListener("message", ee);
2666
2666
  };
2667
2667
  }, [e?.id, I, r, m]);
2668
- const L = f ?? m("challenge.title"), J = c ?? m("challenge.description"), ne = d ?? m("challenge.retry"), se = i ?? m("challenge.badgeLabel"), de = () => {
2668
+ const L = f ?? m("challenge.title"), J = l ?? m("challenge.description"), ne = d ?? m("challenge.retry"), se = i ?? m("challenge.badgeLabel"), de = () => {
2669
2669
  const ee = N;
2670
- if (V(null), b(!1), n && (ee === "reroute" || !O || typeof ce == "number" && ce <= 0)) {
2670
+ if (V(null), y(!1), n && (ee === "reroute" || !O || typeof ce == "number" && ce <= 0)) {
2671
2671
  S("reload"), n();
2672
2672
  return;
2673
2673
  }
2674
- S("reload"), y((P) => P + 1), l(!1);
2674
+ S("reload"), x((P) => P + 1), c(!1);
2675
2675
  };
2676
- return /* @__PURE__ */ u(Y, { className: E("fanfare-challenge-gate", x), "data-slot": "challenge-gate", children: [
2676
+ return /* @__PURE__ */ u(Y, { className: E("fanfare-challenge-gate", b), "data-slot": "challenge-gate", children: [
2677
2677
  /* @__PURE__ */ t(G, { variant: o, label: se }),
2678
2678
  /* @__PURE__ */ u(Z, { children: [
2679
2679
  g ? /* @__PURE__ */ u("div", { "data-slot": "challenge-gate-countdown", className: "ff:flex ff:flex-col ff:items-start ff:gap-1", children: [
2680
- /* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children: m("time.opensIn") }),
2680
+ /* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children: m("duration.opensIn") }),
2681
2681
  /* @__PURE__ */ t(pe, { targetDate: g, showDays: !1 })
2682
2682
  ] }) : null,
2683
2683
  /* @__PURE__ */ u("div", { "data-slot": "challenge-gate-heading", children: [
@@ -2689,11 +2689,11 @@ function ja({
2689
2689
  {
2690
2690
  tone: "danger",
2691
2691
  title: a?.message ?? m("challenge.blockedDefault"),
2692
- description: fe ? m("challenge.blockedUntil", { values: { date: jn(fe, v) } }) : void 0
2692
+ description: fe ? m("challenge.blockedUntil", { values: { date: Fn(fe, v) } }) : void 0
2693
2693
  }
2694
2694
  ) : O ? /* @__PURE__ */ u("div", { className: "ff:relative ff:w-full ff:rounded-md ff:border ff:border-border ff:bg-background ff:overflow-hidden", children: [
2695
2695
  !C && /* @__PURE__ */ t("div", { className: "ff:absolute ff:inset-0 ff:flex ff:items-center ff:justify-center ff:bg-background/60", children: /* @__PURE__ */ t(Te, { size: "lg" }) }),
2696
- h && /* @__PURE__ */ t("div", { className: "ff:absolute ff:inset-0 ff:flex ff:items-center ff:justify-center ff:bg-background/70", children: /* @__PURE__ */ t(Te, { size: "lg" }) }),
2696
+ w && /* @__PURE__ */ t("div", { className: "ff:absolute ff:inset-0 ff:flex ff:items-center ff:justify-center ff:bg-background/70", children: /* @__PURE__ */ t(Te, { size: "lg" }) }),
2697
2697
  /* @__PURE__ */ t(
2698
2698
  "iframe",
2699
2699
  {
@@ -2703,9 +2703,9 @@ function ja({
2703
2703
  style: { height: 120, border: 0 },
2704
2704
  sandbox: "allow-scripts allow-forms allow-same-origin",
2705
2705
  referrerPolicy: "no-referrer",
2706
- onLoad: () => l(!0)
2706
+ onLoad: () => c(!0)
2707
2707
  },
2708
- `${e?.id ?? "challenge"}-${w}`
2708
+ `${e?.id ?? "challenge"}-${h}`
2709
2709
  )
2710
2710
  ] }) : /* @__PURE__ */ t(be, { tone: "danger", title: m("challenge.unableToLoad") }),
2711
2711
  D && /* @__PURE__ */ t(
@@ -2716,24 +2716,24 @@ function ja({
2716
2716
  description: ce !== void 0 ? m("challenge.attemptsRemaining", { values: { count: ce } }) : void 0
2717
2717
  }
2718
2718
  ),
2719
- !$ && /* @__PURE__ */ t(j, { className: "ff:mt-auto ff:w-full", variant: "secondary", onClick: de, disabled: h, children: ne })
2719
+ !$ && /* @__PURE__ */ t(j, { className: "ff:mt-auto ff:w-full", variant: "secondary", onClick: de, disabled: w, children: ne })
2720
2720
  ] }),
2721
2721
  /* @__PURE__ */ t(H, {})
2722
2722
  ] });
2723
2723
  }
2724
- ja.displayName = "ChallengeGate";
2724
+ za.displayName = "ChallengeGate";
2725
2725
  function Fa({ title: e, message: a, endedAt: r, ctaLabel: n, onCtaClick: o, className: i }) {
2726
- const { t: f, locale: c } = K(), g = e ?? f("ended.title"), d = a ?? f("ended.message"), x = s.useMemo(() => r ? (r instanceof Date ? r : new Date(r)).toLocaleDateString(c, {
2726
+ const { t: f, locale: l } = K(), g = e ?? f("ended.title"), d = a ?? f("ended.message"), b = s.useMemo(() => r ? (r instanceof Date ? r : new Date(r)).toLocaleDateString(l, {
2727
2727
  month: "long",
2728
2728
  day: "numeric",
2729
2729
  year: "numeric"
2730
- }) : null, [r, c]), m = we();
2731
- return /* @__PURE__ */ t(U.div, { ...m, children: /* @__PURE__ */ u(Y, { className: E("ff:w-full ff:max-w-sm", i), "data-slot": "ended-module", role: "status", children: [
2730
+ }) : null, [r, l]), m = we();
2731
+ return /* @__PURE__ */ t(W.div, { ...m, children: /* @__PURE__ */ u(Y, { className: E("ff:w-full ff:max-w-sm", i), "data-slot": "ended-module", role: "status", children: [
2732
2732
  /* @__PURE__ */ t(G, { variant: "outline", label: g }),
2733
2733
  /* @__PURE__ */ u(Z, { children: [
2734
2734
  /* @__PURE__ */ u(ie, { children: [
2735
2735
  /* @__PURE__ */ t("p", { className: "ff:text-foreground/80", children: d }),
2736
- x && /* @__PURE__ */ t("p", { className: "ff:text-xs ff:text-muted", children: f("ended.endedOn", { values: { date: x } }) })
2736
+ b && /* @__PURE__ */ t("p", { className: "ff:text-xs ff:text-muted", children: f("ended.endedOn", { values: { date: b } }) })
2737
2737
  ] }),
2738
2738
  n && o && /* @__PURE__ */ t(j, { className: "ff:mt-auto ff:w-full", variant: "outline", onClick: o, children: n })
2739
2739
  ] }),
@@ -2742,7 +2742,7 @@ function Fa({ title: e, message: a, endedAt: r, ctaLabel: n, onCtaClick: o, clas
2742
2742
  }
2743
2743
  Fa.displayName = "EndedModule";
2744
2744
  function et({ error: e, title: a, label: r, info: n, ctaLabel: o, onRetry: i, className: f }) {
2745
- const { t: c } = K(), [g, d] = s.useState(!1), x = r ?? c("error.label"), m = a ?? c("error.title"), w = (e instanceof Error ? e.message : e) ?? c("error.description"), y = o ?? c("error.retry"), C = async () => {
2745
+ const { t: l } = K(), [g, d] = s.useState(!1), b = r ?? l("error.label"), m = a ?? l("error.title"), h = (e instanceof Error ? e.message : e) ?? l("error.description"), x = o ?? l("error.retry"), C = async () => {
2746
2746
  if (i) {
2747
2747
  d(!0);
2748
2748
  try {
@@ -2751,11 +2751,11 @@ function et({ error: e, title: a, label: r, info: n, ctaLabel: o, onRetry: i, cl
2751
2751
  d(!1);
2752
2752
  }
2753
2753
  }
2754
- }, l = we();
2755
- return /* @__PURE__ */ t(U.div, { ...l, children: /* @__PURE__ */ u(Y, { className: E("ff:w-full ff:max-w-sm", f), "data-slot": "error-view", role: "alert", children: [
2756
- /* @__PURE__ */ t(G, { variant: "danger", label: x }),
2754
+ }, c = we();
2755
+ return /* @__PURE__ */ t(W.div, { ...c, children: /* @__PURE__ */ u(Y, { className: E("ff:w-full ff:max-w-sm", f), "data-slot": "error-view", role: "alert", children: [
2756
+ /* @__PURE__ */ t(G, { variant: "danger", label: b }),
2757
2757
  /* @__PURE__ */ u(Z, { children: [
2758
- /* @__PURE__ */ t(be, { tone: "danger", title: m, description: w }),
2758
+ /* @__PURE__ */ t(be, { tone: "danger", title: m, description: h }),
2759
2759
  n ? /* @__PURE__ */ t(ie, { children: n }) : null,
2760
2760
  i ? /* @__PURE__ */ t(
2761
2761
  j,
@@ -2766,7 +2766,7 @@ function et({ error: e, title: a, label: r, info: n, ctaLabel: o, onRetry: i, cl
2766
2766
  },
2767
2767
  disabled: g,
2768
2768
  loading: g,
2769
- children: y
2769
+ children: x
2770
2770
  }
2771
2771
  ) : null
2772
2772
  ] }),
@@ -2774,7 +2774,7 @@ function et({ error: e, title: a, label: r, info: n, ctaLabel: o, onRetry: i, cl
2774
2774
  ] }) });
2775
2775
  }
2776
2776
  et.displayName = "ErrorView";
2777
- const Fn = {
2777
+ const Pn = {
2778
2778
  default: {
2779
2779
  particleCount: 60,
2780
2780
  spread: 70,
@@ -2806,22 +2806,22 @@ const Fn = {
2806
2806
  clean: null
2807
2807
  // No confetti for clean variant - too busy
2808
2808
  };
2809
- function Pn(e, a) {
2809
+ function Bn(e, a) {
2810
2810
  if (ot())
2811
2811
  return;
2812
- const r = Fn[a];
2812
+ const r = Pn[a];
2813
2813
  if (!r)
2814
2814
  return;
2815
2815
  const n = e.getBoundingClientRect(), o = (n.left + n.width / 2) / window.innerWidth, i = (n.top + n.height / 2) / window.innerHeight;
2816
- Cr({
2816
+ Dr({
2817
2817
  ...r,
2818
2818
  origin: { x: o, y: i }
2819
2819
  });
2820
2820
  }
2821
- function Bn(e) {
2821
+ function On(e) {
2822
2822
  const a = ge(), r = s.useRef(!1);
2823
2823
  s.useEffect(() => {
2824
- r.current || e.current && (r.current = !0, Pn(e.current, a));
2824
+ r.current || e.current && (r.current = !0, Bn(e.current, a));
2825
2825
  }, [e, a]);
2826
2826
  }
2827
2827
  function it({
@@ -2832,10 +2832,10 @@ function it({
2832
2832
  onCtaClick: o,
2833
2833
  className: i
2834
2834
  }) {
2835
- const { t: f } = K(), c = s.useRef(null);
2836
- Bn(c);
2835
+ const { t: f } = K(), l = s.useRef(null);
2836
+ On(l);
2837
2837
  const g = we();
2838
- return /* @__PURE__ */ t(U.div, { ...g, children: /* @__PURE__ */ u(
2838
+ return /* @__PURE__ */ t(W.div, { ...g, children: /* @__PURE__ */ u(
2839
2839
  Y,
2840
2840
  {
2841
2841
  className: E("ff:w-full ff:max-w-sm", i),
@@ -2845,8 +2845,8 @@ function it({
2845
2845
  children: [
2846
2846
  /* @__PURE__ */ t(G, { variant: "default", label: e }),
2847
2847
  /* @__PURE__ */ u(Z, { children: [
2848
- /* @__PURE__ */ t("div", { ref: c, className: "ff:flex ff:flex-col ff:items-start ff:gap-1", children: n ? /* @__PURE__ */ u(Me, { children: [
2849
- /* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children: f("granted.timeRemaining") }),
2848
+ /* @__PURE__ */ t("div", { ref: l, className: "ff:flex ff:flex-col ff:items-start ff:gap-1", children: n ? /* @__PURE__ */ u(Me, { children: [
2849
+ /* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children: f("duration.timeRemaining") }),
2850
2850
  /* @__PURE__ */ t(pe, { targetDate: n, showDays: !1 })
2851
2851
  ] }) : /* @__PURE__ */ t("p", { className: "ff:text-foreground/80", children: a }) }),
2852
2852
  /* @__PURE__ */ t(j, { className: "ff:mt-auto", onClick: o, children: r })
@@ -2857,30 +2857,30 @@ function it({
2857
2857
  ) });
2858
2858
  }
2859
2859
  it.displayName = "GrantedPanel";
2860
- const On = {
2861
- queue: "expired.reenter.queue",
2862
- draw: "expired.reenter.draw",
2863
- auction: "expired.reenter.auction",
2864
- timed_release: "expired.reenter.timedRelease",
2865
- appointment: "expired.reenter.appointment"
2860
+ const $n = {
2861
+ queue: "outcome.reenter.queue",
2862
+ draw: "outcome.reenter.draw",
2863
+ auction: "outcome.reenter.auction",
2864
+ timed_release: "outcome.reenter.timedRelease",
2865
+ appointment: "outcome.reenter.appointment"
2866
2866
  }, pa = {
2867
- expired: { title: "expired.title", body: "expired.description", variant: "outline" },
2868
- not_selected: { title: "draw.notSelected", body: "common.betterLuck", variant: "outline" },
2869
- sold_out: { title: "ended.title", body: "ended.message", variant: "outline" },
2870
- outbid: { title: "auction.outbid", body: "auction.outbidMessage", variant: "outline" },
2871
- reserve_not_met: { title: "ended.title", body: "ended.message", variant: "outline" },
2867
+ expired: { title: "outcome.expired.title", body: "outcome.expired.description", variant: "outline" },
2868
+ not_selected: { title: "outcome.notSelected.title", body: "outcome.notSelected.description", variant: "outline" },
2869
+ sold_out: { title: "outcome.soldOut.title", body: "outcome.soldOut.description", variant: "outline" },
2870
+ outbid: { title: "auction.outbid.title", body: "auction.outbid.message", variant: "outline" },
2871
+ reserve_not_met: { title: "outcome.closed.title", body: "outcome.closed.description", variant: "outline" },
2872
2872
  completed: { title: "common.purchaseComplete", body: "common.thankYou", variant: "success" },
2873
- ended: { title: "ended.title", body: "ended.message", variant: "outline" }
2873
+ ended: { title: "outcome.closed.title", body: "outcome.closed.description", variant: "outline" }
2874
2874
  };
2875
- function We({
2875
+ function Ue({
2876
2876
  outcomeReason: e,
2877
2877
  participationType: a,
2878
2878
  onReenter: r,
2879
2879
  isReentering: n,
2880
2880
  className: o
2881
2881
  }) {
2882
- const { t: i } = K(), f = e === "expired", c = pa[e] ?? pa.ended, g = f && typeof r == "function", d = i(a ? On[a] : "expired.reenter"), x = we();
2883
- return /* @__PURE__ */ t(U.div, { ...x, children: /* @__PURE__ */ u(
2882
+ const { t: i } = K(), f = e === "expired", l = pa[e] ?? pa.ended, g = f && typeof r == "function", d = i(a ? $n[a] : "outcome.reenter"), b = we();
2883
+ return /* @__PURE__ */ t(W.div, { ...b, children: /* @__PURE__ */ u(
2884
2884
  Y,
2885
2885
  {
2886
2886
  className: E("ff:w-full ff:max-w-sm", o),
@@ -2888,9 +2888,9 @@ function We({
2888
2888
  "data-stage": "ended",
2889
2889
  "data-reason": e,
2890
2890
  children: [
2891
- /* @__PURE__ */ t(G, { variant: c.variant, label: i(c.title) }),
2891
+ /* @__PURE__ */ t(G, { variant: l.variant, label: i(l.title) }),
2892
2892
  /* @__PURE__ */ u(Z, { children: [
2893
- /* @__PURE__ */ t(ie, { children: /* @__PURE__ */ t("p", { className: "ff:text-foreground/80", children: i(c.body) }) }),
2893
+ /* @__PURE__ */ t(ie, { children: /* @__PURE__ */ t("p", { className: "ff:text-foreground/80", children: i(l.body) }) }),
2894
2894
  g && /* @__PURE__ */ t(j, { className: "ff:mt-auto", onClick: r, disabled: n, loading: n, children: d })
2895
2895
  ] }),
2896
2896
  /* @__PURE__ */ t(H, {})
@@ -2898,7 +2898,7 @@ function We({
2898
2898
  }
2899
2899
  ) });
2900
2900
  }
2901
- We.displayName = "OutcomePanel";
2901
+ Ue.displayName = "OutcomePanel";
2902
2902
  function Pa({
2903
2903
  stage: e,
2904
2904
  onAuthSubmit: a,
@@ -2907,14 +2907,14 @@ function Pa({
2907
2907
  onAuthSuccess: o,
2908
2908
  onAccessCodeSubmit: i,
2909
2909
  onAccessCodeSkip: f,
2910
- allowAuthSkip: c = !1,
2910
+ allowAuthSkip: l = !1,
2911
2911
  allowAccessCodeSkip: g = !1,
2912
2912
  authTitle: d,
2913
- authDescription: x,
2913
+ authDescription: b,
2914
2914
  accessCodeTitle: m,
2915
2915
  accessCodeDescription: v,
2916
- startsAt: w,
2917
- className: y,
2916
+ startsAt: h,
2917
+ className: x,
2918
2918
  children: C
2919
2919
  }) {
2920
2920
  return e === "none" ? /* @__PURE__ */ t(Me, { children: C }) : e === "loading" ? /* @__PURE__ */ t(
@@ -2923,7 +2923,7 @@ function Pa({
2923
2923
  className: E(
2924
2924
  "fanfare-journey-gate",
2925
2925
  "ff:flex ff:flex-col ff:items-center ff:justify-center ff:py-12",
2926
- y
2926
+ x
2927
2927
  ),
2928
2928
  "data-slot": "journey-gate",
2929
2929
  role: "status",
@@ -2931,24 +2931,24 @@ function Pa({
2931
2931
  "aria-busy": "true",
2932
2932
  children: /* @__PURE__ */ t(Te, { size: "lg", className: "ff:text-primary" })
2933
2933
  }
2934
- ) : e === "auth" ? /* @__PURE__ */ t("div", { className: E("fanfare-journey-gate", y), "data-slot": "journey-gate", children: /* @__PURE__ */ t(
2934
+ ) : e === "auth" ? /* @__PURE__ */ t("div", { className: E("fanfare-journey-gate", x), "data-slot": "journey-gate", children: /* @__PURE__ */ t(
2935
2935
  Aa,
2936
2936
  {
2937
2937
  title: d,
2938
- description: x,
2939
- countdownTo: w,
2938
+ description: b,
2939
+ countdownTo: h,
2940
2940
  onSubmit: a,
2941
2941
  onVerify: r,
2942
2942
  onSkip: n,
2943
2943
  onSuccess: o,
2944
- allowSkip: c
2944
+ allowSkip: l
2945
2945
  }
2946
- ) }) : e === "access_code" ? /* @__PURE__ */ t("div", { className: E("fanfare-journey-gate", y), "data-slot": "journey-gate", children: /* @__PURE__ */ t(
2947
- za,
2946
+ ) }) : e === "access_code" ? /* @__PURE__ */ t("div", { className: E("fanfare-journey-gate", x), "data-slot": "journey-gate", children: /* @__PURE__ */ t(
2947
+ ja,
2948
2948
  {
2949
2949
  title: m,
2950
2950
  description: v,
2951
- countdownTo: w,
2951
+ countdownTo: h,
2952
2952
  onSubmit: i,
2953
2953
  onSkip: f,
2954
2954
  allowSkip: g
@@ -2956,10 +2956,10 @@ function Pa({
2956
2956
  ) }) : null;
2957
2957
  }
2958
2958
  Pa.displayName = "JourneyGate";
2959
- function $n(e, a) {
2959
+ function qn(e, a) {
2960
2960
  return Ot(e, { weekday: "long", timeZone: a });
2961
2961
  }
2962
- function qn(e, a) {
2962
+ function Un(e, a) {
2963
2963
  return Ot(e, { month: "long", day: "numeric", timeZone: a });
2964
2964
  }
2965
2965
  function Bt(e, a) {
@@ -3010,7 +3010,7 @@ function ga(e, a) {
3010
3010
  const [r, n, o] = e.split("-").map(Number);
3011
3011
  return !r || !n || !o ? e : new Date(Date.UTC(r, n - 1, o + a)).toISOString().slice(0, 10);
3012
3012
  }
3013
- function Un(e) {
3013
+ function Hn(e) {
3014
3014
  const [a, r, n] = e.split("-").map(Number);
3015
3015
  if (!a || !r || !n) return "";
3016
3016
  const o = new Date(Date.UTC(a, r - 1, n, 12, 0, 0));
@@ -3020,11 +3020,11 @@ function Un(e) {
3020
3020
  return "";
3021
3021
  }
3022
3022
  }
3023
- function Hn(e) {
3023
+ function Kn(e) {
3024
3024
  const [, , a] = e.split("-").map(Number);
3025
3025
  return a ?? 0;
3026
3026
  }
3027
- const Kn = te(["ff:animate-pulse ff:rounded-md", "ff:bg-secondary"], {
3027
+ const Zn = ae(["ff:animate-pulse ff:rounded-md", "ff:bg-secondary"], {
3028
3028
  variants: {
3029
3029
  styleVariant: {
3030
3030
  default: "",
@@ -3051,11 +3051,11 @@ const Kn = te(["ff:animate-pulse ff:rounded-md", "ff:bg-secondary"], {
3051
3051
  }
3052
3052
  }), $a = s.forwardRef(({ className: e, ...a }, r) => {
3053
3053
  const n = ge();
3054
- return /* @__PURE__ */ t("div", { ref: r, "data-slot": "skeleton", className: E(Kn({ styleVariant: n }), e), ...a });
3054
+ return /* @__PURE__ */ t("div", { ref: r, "data-slot": "skeleton", className: E(Zn({ styleVariant: n }), e), ...a });
3055
3055
  });
3056
3056
  $a.displayName = "Skeleton";
3057
- const Zn = (e, a) => /* @__PURE__ */ t("svg", { viewBox: "0 0 24 24", width: "1.2em", height: "1.2em", ref: a, ...e, children: /* @__PURE__ */ t("path", { fill: "none", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.5, d: "M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 0 1 2.25-2.25h13.5A2.25 2.25 0 0 1 21 7.5v11.25m-18 0A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75m-18 0v-7.5A2.25 2.25 0 0 1 5.25 9h13.5A2.25 2.25 0 0 1 21 11.25v7.5m-9-6h.008v.008H12zM12 15h.008v.008H12zm0 2.25h.008v.008H12zM9.75 15h.008v.008H9.75zm0 2.25h.008v.008H9.75zM7.5 15h.008v.008H7.5zm0 2.25h.008v.008H7.5zm6.75-4.5h.008v.008h-.008zm0 2.25h.008v.008h-.008zm0 2.25h.008v.008h-.008zm2.25-4.5h.008v.008H16.5zm0 2.25h.008v.008H16.5z" }) }), Yn = kt(Zn), Gn = (e, a) => /* @__PURE__ */ t("svg", { viewBox: "0 0 24 24", width: "1.2em", height: "1.2em", ref: a, ...e, children: /* @__PURE__ */ t("path", { fill: "none", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.5, d: "m15.75 10.5l4.72-4.72a.75.75 0 0 1 1.28.53v11.38a.75.75 0 0 1-1.28.53l-4.72-4.72M4.5 18.75h9a2.25 2.25 0 0 0 2.25-2.25v-9a2.25 2.25 0 0 0-2.25-2.25h-9A2.25 2.25 0 0 0 2.25 7.5v9a2.25 2.25 0 0 0 2.25 2.25" }) }), qa = kt(Gn);
3058
- function Wa({
3057
+ const Yn = (e, a) => /* @__PURE__ */ t("svg", { viewBox: "0 0 24 24", width: "1.2em", height: "1.2em", ref: a, ...e, children: /* @__PURE__ */ t("path", { fill: "none", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.5, d: "M6.75 3v2.25M17.25 3v2.25M3 18.75V7.5a2.25 2.25 0 0 1 2.25-2.25h13.5A2.25 2.25 0 0 1 21 7.5v11.25m-18 0A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75m-18 0v-7.5A2.25 2.25 0 0 1 5.25 9h13.5A2.25 2.25 0 0 1 21 11.25v7.5m-9-6h.008v.008H12zM12 15h.008v.008H12zm0 2.25h.008v.008H12zM9.75 15h.008v.008H9.75zm0 2.25h.008v.008H9.75zM7.5 15h.008v.008H7.5zm0 2.25h.008v.008H7.5zm6.75-4.5h.008v.008h-.008zm0 2.25h.008v.008h-.008zm0 2.25h.008v.008h-.008zm2.25-4.5h.008v.008H16.5zm0 2.25h.008v.008H16.5z" }) }), Gn = kt(Yn), Jn = (e, a) => /* @__PURE__ */ t("svg", { viewBox: "0 0 24 24", width: "1.2em", height: "1.2em", ref: a, ...e, children: /* @__PURE__ */ t("path", { fill: "none", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 1.5, d: "m15.75 10.5l4.72-4.72a.75.75 0 0 1 1.28.53v11.38a.75.75 0 0 1-1.28.53l-4.72-4.72M4.5 18.75h9a2.25 2.25 0 0 0 2.25-2.25v-9a2.25 2.25 0 0 0-2.25-2.25h-9A2.25 2.25 0 0 0 2.25 7.5v9a2.25 2.25 0 0 0 2.25 2.25" }) }), qa = kt(Jn);
3058
+ function Ua({
3059
3059
  booking: e,
3060
3060
  timezone: a,
3061
3061
  readOnly: r = !1,
@@ -3063,10 +3063,10 @@ function Wa({
3063
3063
  onStartReschedule: o,
3064
3064
  onAddToCalendar: i,
3065
3065
  onJoinCall: f,
3066
- isCancelling: c,
3066
+ isCancelling: l,
3067
3067
  cancelError: g
3068
3068
  }) {
3069
- const { t: d } = K(), [x, m] = s.useState(!1), v = $n(e.startTime, a), w = qn(e.startTime, a), y = Bt(e.startTime, a), C = Ba(e.startTime, e.endTime), l = !e.locationName, h = l ? d("appointment.online") : e.locationName, p = l ? {
3069
+ const { t: d } = K(), [b, m] = s.useState(!1), v = qn(e.startTime, a), h = Un(e.startTime, a), x = Bt(e.startTime, a), C = Ba(e.startTime, e.endTime), c = !e.locationName, w = c ? d("appointment.online") : e.locationName, p = c ? {
3070
3070
  label: d("appointment.joinCall"),
3071
3071
  onClick: () => {
3072
3072
  f ? f() : e.joinUrl && window.open(e.joinUrl, "_blank", "noopener,noreferrer");
@@ -3076,19 +3076,19 @@ function Wa({
3076
3076
  } : {
3077
3077
  label: d("appointment.addToCalendar"),
3078
3078
  onClick: () => i?.(),
3079
- icon: /* @__PURE__ */ t(Yn, { className: "ff:size-4" }),
3079
+ icon: /* @__PURE__ */ t(Gn, { className: "ff:size-4" }),
3080
3080
  disabled: !i
3081
3081
  };
3082
3082
  return /* @__PURE__ */ u("div", { className: "ff:flex ff:flex-col ff:gap-4", "data-slot": "appointment-booking-details", children: [
3083
3083
  /* @__PURE__ */ u("div", { className: "ff:flex ff:flex-col ff:gap-1", children: [
3084
3084
  /* @__PURE__ */ t("span", { className: "ff:text-3xl ff:font-bold ff:leading-tight ff:font-heading ff:text-foreground", children: v }),
3085
- /* @__PURE__ */ t("span", { className: "ff:text-3xl ff:font-bold ff:leading-tight ff:font-heading ff:text-foreground", children: w }),
3086
- /* @__PURE__ */ t("span", { className: "ff:mt-1 ff:text-3xl ff:font-bold ff:tabular-nums ff:font-heading ff:text-foreground", children: y })
3085
+ /* @__PURE__ */ t("span", { className: "ff:text-3xl ff:font-bold ff:leading-tight ff:font-heading ff:text-foreground", children: h }),
3086
+ /* @__PURE__ */ t("span", { className: "ff:mt-1 ff:text-3xl ff:font-bold ff:tabular-nums ff:font-heading ff:text-foreground", children: x })
3087
3087
  ] }),
3088
3088
  /* @__PURE__ */ u("div", { className: "ff:flex ff:flex-col ff:gap-1.5 ff:border-t ff:border-border/40 ff:pt-3 ff:text-sm", children: [
3089
- h && /* @__PURE__ */ u("div", { className: "ff:flex ff:items-baseline ff:justify-between ff:gap-3", children: [
3089
+ w && /* @__PURE__ */ u("div", { className: "ff:flex ff:items-baseline ff:justify-between ff:gap-3", children: [
3090
3090
  /* @__PURE__ */ t("span", { className: "ff:text-muted", children: d("appointment.location") }),
3091
- /* @__PURE__ */ t("span", { className: "ff:text-right ff:font-semibold ff:text-foreground", children: h })
3091
+ /* @__PURE__ */ t("span", { className: "ff:text-right ff:font-semibold ff:text-foreground", children: w })
3092
3092
  ] }),
3093
3093
  C && /* @__PURE__ */ u("div", { className: "ff:flex ff:items-baseline ff:justify-between ff:gap-3", children: [
3094
3094
  /* @__PURE__ */ t("span", { className: "ff:text-muted", children: d("appointment.duration") }),
@@ -3104,7 +3104,7 @@ function Wa({
3104
3104
  p.label
3105
3105
  ] }) }),
3106
3106
  /* @__PURE__ */ t(nt, { show: !!g, children: g && /* @__PURE__ */ t(be, { tone: "danger", description: g }) }),
3107
- /* @__PURE__ */ t(nt, { show: !r && x, children: !r && x && /* @__PURE__ */ u("div", { className: "ff:flex ff:flex-col ff:gap-2", children: [
3107
+ /* @__PURE__ */ t(nt, { show: !r && b, children: !r && b && /* @__PURE__ */ u("div", { className: "ff:flex ff:flex-col ff:gap-2", children: [
3108
3108
  /* @__PURE__ */ t(be, { tone: "danger", title: d("appointment.cancelConfirm") }),
3109
3109
  /* @__PURE__ */ u("div", { className: "ff:flex ff:gap-2", children: [
3110
3110
  /* @__PURE__ */ t(
@@ -3114,8 +3114,8 @@ function Wa({
3114
3114
  variant: "destructive",
3115
3115
  className: "ff:flex-1",
3116
3116
  onClick: n,
3117
- disabled: c,
3118
- loading: c,
3117
+ disabled: l,
3118
+ loading: l,
3119
3119
  children: d("appointment.cancelConfirmYes")
3120
3120
  }
3121
3121
  ),
@@ -3126,22 +3126,22 @@ function Wa({
3126
3126
  variant: "outline",
3127
3127
  className: "ff:flex-1",
3128
3128
  onClick: () => m(!1),
3129
- disabled: c,
3129
+ disabled: l,
3130
3130
  children: d("appointment.cancelConfirmNo")
3131
3131
  }
3132
3132
  )
3133
3133
  ] })
3134
3134
  ] }) }),
3135
- !r && !x && /* @__PURE__ */ u("div", { className: "ff:flex ff:items-center ff:justify-center ff:gap-3 ff:text-xs", children: [
3135
+ !r && !b && /* @__PURE__ */ u("div", { className: "ff:flex ff:items-center ff:justify-center ff:gap-3 ff:text-xs", children: [
3136
3136
  /* @__PURE__ */ t(j, { variant: "link", size: "xs", onClick: o, children: d("appointment.reschedule") }),
3137
3137
  /* @__PURE__ */ t("span", { "aria-hidden": "true", className: "ff:text-muted", children: "·" }),
3138
- /* @__PURE__ */ t(j, { variant: "link", size: "xs", onClick: () => m(!0), disabled: c, children: d("appointment.cancel") })
3138
+ /* @__PURE__ */ t(j, { variant: "link", size: "xs", onClick: () => m(!0), disabled: l, children: d("appointment.cancel") })
3139
3139
  ] })
3140
3140
  ] });
3141
3141
  }
3142
- Wa.displayName = "AppointmentBookingDetails";
3143
- function Ua({ booking: e, timezone: a, onJoinCall: r, onShowPass: n }) {
3144
- const { t: o } = K(), i = !e.locationName, f = Bt(e.startTime, a), c = Ba(e.startTime, e.endTime), g = o("appointment.youreUpAt", { values: { time: f } }), d = i ? o("appointment.youreUpOnlineHint") : o("appointment.youreUpIrlHint", { values: { location: e.locationName ?? "" } });
3142
+ Ua.displayName = "AppointmentBookingDetails";
3143
+ function Wa({ booking: e, timezone: a, onJoinCall: r, onShowPass: n }) {
3144
+ const { t: o } = K(), i = !e.locationName, f = Bt(e.startTime, a), l = Ba(e.startTime, e.endTime), g = o("appointment.youreUpAt", { values: { time: f } }), d = i ? o("appointment.youreUpOnlineHint") : o("appointment.youreUpIrlHint", { values: { location: e.locationName ?? "" } });
3145
3145
  return /* @__PURE__ */ u(
3146
3146
  "div",
3147
3147
  {
@@ -3156,9 +3156,9 @@ function Ua({ booking: e, timezone: a, onJoinCall: r, onShowPass: n }) {
3156
3156
  /* @__PURE__ */ t("span", { className: "ff:text-muted", children: o("appointment.time") }),
3157
3157
  /* @__PURE__ */ t("span", { className: "ff:font-semibold ff:tabular-nums ff:text-foreground", children: f })
3158
3158
  ] }),
3159
- c && /* @__PURE__ */ u("div", { className: "ff:flex ff:items-baseline ff:justify-between ff:gap-3", children: [
3159
+ l && /* @__PURE__ */ u("div", { className: "ff:flex ff:items-baseline ff:justify-between ff:gap-3", children: [
3160
3160
  /* @__PURE__ */ t("span", { className: "ff:text-muted", children: o("appointment.duration") }),
3161
- /* @__PURE__ */ t("span", { className: "ff:font-semibold ff:tabular-nums ff:text-foreground", children: o("appointment.minutes", { values: { count: c } }) })
3161
+ /* @__PURE__ */ t("span", { className: "ff:font-semibold ff:tabular-nums ff:text-foreground", children: o("appointment.minutes", { values: { count: l } }) })
3162
3162
  ] }),
3163
3163
  !i && e.locationName && /* @__PURE__ */ u("div", { className: "ff:flex ff:items-baseline ff:justify-between ff:gap-3", children: [
3164
3164
  /* @__PURE__ */ t("span", { className: "ff:text-muted", children: o("appointment.location") }),
@@ -3188,38 +3188,38 @@ function Ua({ booking: e, timezone: a, onJoinCall: r, onShowPass: n }) {
3188
3188
  }
3189
3189
  );
3190
3190
  }
3191
- Ua.displayName = "AppointmentCheckedInView";
3192
- const Jn = 3e4, Mt = /* @__PURE__ */ new Map();
3191
+ Wa.displayName = "AppointmentCheckedInView";
3192
+ const Qn = 3e4, Mt = /* @__PURE__ */ new Map();
3193
3193
  function ma(e, a, r, n) {
3194
3194
  return `${e}:${a}:${r}:${n ?? ""}`;
3195
3195
  }
3196
- function Qn(e, a) {
3197
- const r = Nt(), [n, o] = s.useState([]), [i, f] = s.useState(!1), [c, g] = s.useState(null), [d, x] = s.useState(0), { startDate: m, endDate: v, timezone: w } = a;
3196
+ function Xn(e, a) {
3197
+ const r = Nt(), [n, o] = s.useState([]), [i, f] = s.useState(!1), [l, g] = s.useState(null), [d, b] = s.useState(0), { startDate: m, endDate: v, timezone: h } = a;
3198
3198
  s.useEffect(() => {
3199
3199
  if (!e || !m || !v) {
3200
3200
  o([]), g(null), f(!1);
3201
3201
  return;
3202
3202
  }
3203
- const C = ma(e, m, v, w), l = Mt.get(C);
3204
- if (l && Date.now() - l.fetchedAt < Jn) {
3205
- o(l.slots), g(null);
3203
+ const C = ma(e, m, v, h), c = Mt.get(C);
3204
+ if (c && Date.now() - c.fetchedAt < Qn) {
3205
+ o(c.slots), g(null);
3206
3206
  return;
3207
3207
  }
3208
- let h = !1;
3209
- return f(!0), g(null), r.appointments.getSlots(e, { startDate: m, endDate: v, timezone: w }).then((p) => {
3210
- h || (Mt.set(C, { fetchedAt: Date.now(), slots: p }), o(p));
3208
+ let w = !1;
3209
+ return f(!0), g(null), r.appointments.getSlots(e, { startDate: m, endDate: v, timezone: h }).then((p) => {
3210
+ w || (Mt.set(C, { fetchedAt: Date.now(), slots: p }), o(p));
3211
3211
  }).catch((p) => {
3212
- h || g(p instanceof Error ? p : new Error(String(p)));
3212
+ w || g(p instanceof Error ? p : new Error(String(p)));
3213
3213
  }).finally(() => {
3214
- h || f(!1);
3214
+ w || f(!1);
3215
3215
  }), () => {
3216
- h = !0;
3216
+ w = !0;
3217
3217
  };
3218
- }, [r, e, m, v, w, d]);
3219
- const y = s.useCallback(() => {
3220
- e && m && v && Mt.delete(ma(e, m, v, w)), x((C) => C + 1);
3221
- }, [e, m, v, w]);
3222
- return { slots: n, isLoading: i, error: c, refresh: y };
3218
+ }, [r, e, m, v, h, d]);
3219
+ const x = s.useCallback(() => {
3220
+ e && m && v && Mt.delete(ma(e, m, v, h)), b((C) => C + 1);
3221
+ }, [e, m, v, h]);
3222
+ return { slots: n, isLoading: i, error: l, refresh: x };
3223
3223
  }
3224
3224
  function Ha({ days: e, selectedDate: a, onSelect: r }) {
3225
3225
  return /* @__PURE__ */ t(
@@ -3297,7 +3297,7 @@ function Ka({
3297
3297
  );
3298
3298
  }
3299
3299
  Ka.displayName = "AppointmentSlotItem";
3300
- const Xn = 9;
3300
+ const eo = 9;
3301
3301
  function Za({
3302
3302
  slots: e,
3303
3303
  isLoading: a,
@@ -3315,7 +3315,7 @@ function Za({
3315
3315
  className: "ff:grid ff:grid-cols-3 ff:gap-1 ff:max-h-44",
3316
3316
  "data-slot": "appointment-slot-grid",
3317
3317
  "data-state": "loading",
3318
- children: Array.from({ length: Xn }).map((f, c) => /* @__PURE__ */ t($a, { className: "ff:h-8 ff:w-full" }, c))
3318
+ children: Array.from({ length: eo }).map((f, l) => /* @__PURE__ */ t($a, { className: "ff:h-8 ff:w-full" }, l))
3319
3319
  }
3320
3320
  ) : e.length === 0 ? /* @__PURE__ */ t(ie, { "data-slot": "appointment-slot-grid", "data-state": "empty", children: /* @__PURE__ */ t("span", { className: "ff:text-muted", children: o ?? i("appointment.noSlotsAvailable") }) }) : /* @__PURE__ */ t(
3321
3321
  "div",
@@ -3325,14 +3325,14 @@ function Za({
3325
3325
  className: "ff:grid ff:grid-cols-3 ff:gap-1 ff:overflow-y-auto ff:max-h-44",
3326
3326
  "data-slot": "appointment-slot-grid",
3327
3327
  children: e.map((f) => {
3328
- const c = f.available <= 0, g = r === f.id, d = Oa(f), x = c ? i("appointment.slotFullAriaLabel", { values: { time: d } }) : d;
3328
+ const l = f.available <= 0, g = r === f.id, d = Oa(f), b = l ? i("appointment.slotFullAriaLabel", { values: { time: d } }) : d;
3329
3329
  return /* @__PURE__ */ t(
3330
3330
  Ka,
3331
3331
  {
3332
3332
  slotId: f.id,
3333
3333
  timeLabel: d,
3334
- ariaLabel: x,
3335
- isFull: c,
3334
+ ariaLabel: b,
3335
+ isFull: l,
3336
3336
  isSelected: g,
3337
3337
  onSelect: n
3338
3338
  },
@@ -3352,16 +3352,16 @@ function Ya({
3352
3352
  onSlotChange: o,
3353
3353
  bookError: i
3354
3354
  }) {
3355
- const { t: f } = K(), c = s.useMemo(
3355
+ const { t: f } = K(), l = s.useMemo(
3356
3356
  () => a ? gt(new Date(a), n) : void 0,
3357
3357
  [a, n]
3358
3358
  ), g = s.useMemo(
3359
3359
  () => r ? gt(new Date(r), n) : void 0,
3360
3360
  [r, n]
3361
- ), { startDate: d, endDate: x } = s.useMemo(() => {
3362
- const N = gt(/* @__PURE__ */ new Date(), n), S = c && c > N ? c : N, M = ga(S, ha - 1), A = g && g < M ? g : M;
3361
+ ), { startDate: d, endDate: b } = s.useMemo(() => {
3362
+ const N = gt(/* @__PURE__ */ new Date(), n), S = l && l > N ? l : N, M = ga(S, ha - 1), A = g && g < M ? g : M;
3363
3363
  return { startDate: S, endDate: A };
3364
- }, [c, g, n]), { slots: m, isLoading: v, error: w } = Qn(e, { startDate: d, endDate: x, timezone: n }), y = s.useMemo(() => {
3364
+ }, [l, g, n]), { slots: m, isLoading: v, error: h } = Xn(e, { startDate: d, endDate: b, timezone: n }), x = s.useMemo(() => {
3365
3365
  const N = /* @__PURE__ */ new Map();
3366
3366
  for (const S of m) {
3367
3367
  const M = S.startTime ? gt(new Date(S.startTime), S.timezone ?? n) : S.id.slice(0, 10), A = N.get(M);
@@ -3373,49 +3373,49 @@ function Ya({
3373
3373
  for (let S = 0; S < ha; S += 1) {
3374
3374
  const M = ga(d, S);
3375
3375
  if (g && M > g) break;
3376
- const A = y.get(M) ?? [], I = A.some(($) => $.available > 0), O = !v && A.length === 0;
3376
+ const A = x.get(M) ?? [], I = A.some(($) => $.available > 0), O = !v && A.length === 0;
3377
3377
  N.push({
3378
3378
  date: M,
3379
- weekdayLabel: Un(M),
3380
- dayNumber: Hn(M),
3379
+ weekdayLabel: Hn(M),
3380
+ dayNumber: Kn(M),
3381
3381
  hasAvailability: I,
3382
3382
  isClosed: O
3383
3383
  });
3384
3384
  }
3385
3385
  return N;
3386
- }, [d, g, y, v]), [l, h] = s.useState(null), [p, D] = s.useState(null);
3386
+ }, [d, g, x, v]), [c, w] = s.useState(null), [p, D] = s.useState(null);
3387
3387
  s.useEffect(() => {
3388
- if (l && C.some((S) => S.date === l && !S.isClosed)) return;
3388
+ if (c && C.some((S) => S.date === c && !S.isClosed)) return;
3389
3389
  const N = C.find((S) => !S.isClosed);
3390
- N && (h(N.date), D(null));
3391
- }, [C, l]);
3392
- const V = s.useMemo(() => l ? y.get(l) ?? [] : [], [l, y]);
3390
+ N && (w(N.date), D(null));
3391
+ }, [C, c]);
3392
+ const V = s.useMemo(() => c ? x.get(c) ?? [] : [], [c, x]);
3393
3393
  s.useEffect(() => {
3394
3394
  if (!o) return;
3395
3395
  const N = V.find((S) => S.id === p) ?? null;
3396
3396
  o(N);
3397
3397
  }, [V, p, o]);
3398
3398
  const T = s.useCallback((N) => {
3399
- h(N), D(null);
3400
- }, []), b = s.useCallback((N) => {
3399
+ w(N), D(null);
3400
+ }, []), y = s.useCallback((N) => {
3401
3401
  D((S) => S === N ? null : N);
3402
3402
  }, []);
3403
3403
  return /* @__PURE__ */ u("div", { className: "ff:flex ff:flex-col ff:gap-2", children: [
3404
- /* @__PURE__ */ t(Ha, { days: C, selectedDate: l, onSelect: T }),
3404
+ /* @__PURE__ */ t(Ha, { days: C, selectedDate: c, onSelect: T }),
3405
3405
  /* @__PURE__ */ t(
3406
3406
  Za,
3407
3407
  {
3408
3408
  slots: V,
3409
3409
  isLoading: v,
3410
3410
  selectedSlotId: p,
3411
- onSelect: b
3411
+ onSelect: y
3412
3412
  }
3413
3413
  ),
3414
- (i || w) && /* @__PURE__ */ t(be, { tone: "danger", description: i ?? w?.message ?? f("appointment.bookingFailed") })
3414
+ (i || h) && /* @__PURE__ */ t(be, { tone: "danger", description: i ?? h?.message ?? f("appointment.bookingFailed") })
3415
3415
  ] });
3416
3416
  }
3417
3417
  Ya.displayName = "AppointmentSlotPicker";
3418
- const eo = qe({});
3418
+ const to = qe({});
3419
3419
  function At({
3420
3420
  appointmentId: e,
3421
3421
  display$: a,
@@ -3424,22 +3424,22 @@ function At({
3424
3424
  bookingWindowCloseAt: o,
3425
3425
  timezone: i,
3426
3426
  defaultLocationId: f,
3427
- onBook: c,
3427
+ onBook: l,
3428
3428
  onCancel: g,
3429
3429
  onReschedule: d,
3430
- isBooking: x,
3430
+ isBooking: b,
3431
3431
  isCancelling: m,
3432
3432
  isRescheduling: v,
3433
- bookError: w,
3434
- cancelError: y,
3433
+ bookError: h,
3434
+ cancelError: x,
3435
3435
  outcomeReason: C,
3436
- onReenter: l,
3437
- isReentering: h,
3436
+ onReenter: c,
3437
+ isReentering: w,
3438
3438
  className: p
3439
3439
  }) {
3440
- const { t: D } = K(), V = ze(a ?? eo), [T, b] = s.useState(!1), N = we();
3440
+ const { t: D } = K(), V = je(a ?? to), [T, y] = s.useState(!1), N = we();
3441
3441
  if (r === "ended")
3442
- return /* @__PURE__ */ t(We, { outcomeReason: C ?? "ended", participationType: "appointment", className: p });
3442
+ return /* @__PURE__ */ t(Ue, { outcomeReason: C ?? "ended", participationType: "appointment", className: p });
3443
3443
  if (r === "participating" && T)
3444
3444
  return /* @__PURE__ */ t(
3445
3445
  wa,
@@ -3449,14 +3449,14 @@ function At({
3449
3449
  bookingWindowCloseAt: o,
3450
3450
  timezone: i,
3451
3451
  defaultLocationId: f,
3452
- headingLabel: D("appointment.rescheduleTitle"),
3452
+ headingLabel: D("appointment.reschedule.title"),
3453
3453
  headingVariant: "default",
3454
3454
  confirmLabelKey: "appointment.continueWithTime",
3455
3455
  idleLabelKey: "appointment.selectATime",
3456
3456
  isPending: v,
3457
- error: w,
3457
+ error: h,
3458
3458
  onConfirm: async (S, M) => {
3459
- await d(S, M), b(!1);
3459
+ await d(S, M), y(!1);
3460
3460
  },
3461
3461
  className: p,
3462
3462
  motionProps: N,
@@ -3465,8 +3465,8 @@ function At({
3465
3465
  }
3466
3466
  );
3467
3467
  if (r === "participating") {
3468
- const S = V.booking, M = S?.consumerStatus, A = M === "checked_in", I = M === "completed", O = I ? "completed" : A ? "checked_in" : "booked", $ = D(I ? "appointment.completedTitle" : A ? "appointment.checkedIn" : "appointment.bookedTitle");
3469
- return /* @__PURE__ */ t(U.div, { ...N, children: /* @__PURE__ */ u(
3468
+ const S = V.booking, M = S?.consumerStatus, A = M === "checked_in", I = M === "completed", O = I ? "completed" : A ? "checked_in" : "booked", $ = D(I ? "appointment.completed.title" : A ? "appointment.checkedIn" : "appointment.booked.title");
3469
+ return /* @__PURE__ */ t(W.div, { ...N, children: /* @__PURE__ */ u(
3470
3470
  Y,
3471
3471
  {
3472
3472
  className: E("ff:w-full ff:max-w-sm", p),
@@ -3475,16 +3475,16 @@ function At({
3475
3475
  "data-substage": O,
3476
3476
  children: [
3477
3477
  /* @__PURE__ */ t(G, { variant: "success", label: $ }),
3478
- /* @__PURE__ */ t(Z, { children: S ? A ? /* @__PURE__ */ t(Ua, { booking: S, timezone: i }) : /* @__PURE__ */ t(
3479
- Wa,
3478
+ /* @__PURE__ */ t(Z, { children: S ? A ? /* @__PURE__ */ t(Wa, { booking: S, timezone: i }) : /* @__PURE__ */ t(
3479
+ Ua,
3480
3480
  {
3481
3481
  booking: S,
3482
3482
  timezone: i,
3483
3483
  readOnly: I,
3484
3484
  onCancel: () => g(),
3485
- onStartReschedule: () => b(!0),
3485
+ onStartReschedule: () => y(!0),
3486
3486
  isCancelling: m,
3487
- cancelError: y
3487
+ cancelError: x
3488
3488
  }
3489
3489
  ) : /* @__PURE__ */ t("span", { className: "ff:text-muted", children: D("appointment.loadingBooking") }) })
3490
3490
  ]
@@ -3503,9 +3503,9 @@ function At({
3503
3503
  headingVariant: "default",
3504
3504
  confirmLabelKey: "appointment.continueWithTime",
3505
3505
  idleLabelKey: "appointment.selectATime",
3506
- isPending: x,
3507
- error: w,
3508
- onConfirm: c,
3506
+ isPending: b,
3507
+ error: h,
3508
+ onConfirm: l,
3509
3509
  className: p,
3510
3510
  motionProps: N,
3511
3511
  dataStage: "enterable"
@@ -3521,27 +3521,27 @@ function wa({
3521
3521
  defaultLocationId: o,
3522
3522
  headingLabel: i,
3523
3523
  headingVariant: f,
3524
- confirmLabelKey: c,
3524
+ confirmLabelKey: l,
3525
3525
  idleLabelKey: g,
3526
3526
  isPending: d,
3527
- error: x,
3527
+ error: b,
3528
3528
  onConfirm: m,
3529
3529
  className: v,
3530
- motionProps: w,
3531
- dataStage: y,
3530
+ motionProps: h,
3531
+ dataStage: x,
3532
3532
  dataMode: C
3533
3533
  }) {
3534
- const { t: l } = K(), [h, p] = s.useState(null), D = h ? l(c, { values: { time: Oa(h) } }) : l(g), V = s.useCallback(async () => {
3535
- if (!h) return;
3536
- const T = h.locationId ?? o;
3537
- await m(h.id, T);
3538
- }, [o, m, h]);
3539
- return /* @__PURE__ */ t(U.div, { ...w, children: /* @__PURE__ */ u(
3534
+ const { t: c } = K(), [w, p] = s.useState(null), D = w ? c(l, { values: { time: Oa(w) } }) : c(g), V = s.useCallback(async () => {
3535
+ if (!w) return;
3536
+ const T = w.locationId ?? o;
3537
+ await m(w.id, T);
3538
+ }, [o, m, w]);
3539
+ return /* @__PURE__ */ t(W.div, { ...h, children: /* @__PURE__ */ u(
3540
3540
  Y,
3541
3541
  {
3542
3542
  className: E("ff:w-full ff:max-w-sm", v),
3543
3543
  "data-slot": "appointment-module",
3544
- "data-stage": y,
3544
+ "data-stage": x,
3545
3545
  "data-mode": C,
3546
3546
  children: [
3547
3547
  /* @__PURE__ */ t(G, { variant: f, label: i }),
@@ -3553,7 +3553,7 @@ function wa({
3553
3553
  bookingWindowCloseAt: r,
3554
3554
  timezone: n,
3555
3555
  onSlotChange: p,
3556
- bookError: x
3556
+ bookError: b
3557
3557
  }
3558
3558
  ) }),
3559
3559
  /* @__PURE__ */ t(H, { children: /* @__PURE__ */ t(
@@ -3562,7 +3562,7 @@ function wa({
3562
3562
  size: "sm",
3563
3563
  className: "ff:w-full",
3564
3564
  onClick: V,
3565
- disabled: !h || d,
3565
+ disabled: !w || d,
3566
3566
  loading: d,
3567
3567
  children: D
3568
3568
  }
@@ -3571,7 +3571,7 @@ function wa({
3571
3571
  }
3572
3572
  ) });
3573
3573
  }
3574
- function to(e, a) {
3574
+ function ao(e, a) {
3575
3575
  try {
3576
3576
  return new Intl.NumberFormat(a, {
3577
3577
  style: "currency",
@@ -3582,7 +3582,7 @@ function to(e, a) {
3582
3582
  return e;
3583
3583
  }
3584
3584
  }
3585
- function ao(e, a) {
3585
+ function ro(e, a) {
3586
3586
  const r = a?.currencyCode, n = a?.minimumFractionDigits ?? 2, o = a?.maximumFractionDigits ?? 2;
3587
3587
  if (r)
3588
3588
  try {
@@ -3595,7 +3595,7 @@ function ao(e, a) {
3595
3595
  }).format(e);
3596
3596
  } catch {
3597
3597
  }
3598
- const i = a?.currencySymbol ?? (r ? to(r, a?.locale) : "$");
3598
+ const i = a?.currencySymbol ?? (r ? ao(r, a?.locale) : "$");
3599
3599
  try {
3600
3600
  const f = e.toLocaleString(a?.locale, { minimumFractionDigits: n, maximumFractionDigits: o });
3601
3601
  return `${i}${f}`;
@@ -3603,8 +3603,8 @@ function ao(e, a) {
3603
3603
  return `${i}${e.toFixed(o)}`;
3604
3604
  }
3605
3605
  }
3606
- const ro = qe({});
3607
- function no(e, a) {
3606
+ const no = qe({});
3607
+ function oo(e, a) {
3608
3608
  const r = { ...e }, n = r;
3609
3609
  for (const [o, i] of Object.entries(a))
3610
3610
  i !== void 0 && (n[o] = i);
@@ -3618,72 +3618,69 @@ function tt({
3618
3618
  canLeave: o,
3619
3619
  onEnter: i,
3620
3620
  onLeave: f,
3621
- onBid: c,
3621
+ onBid: l,
3622
3622
  isEntering: g,
3623
3623
  isLeaving: d,
3624
- countdownTo: x,
3624
+ countdownTo: b,
3625
3625
  defaultBidAmount: m,
3626
3626
  currencyCode: v,
3627
- locale: w,
3628
- grant: y,
3627
+ locale: h,
3628
+ grant: x,
3629
3629
  expiresAt: C,
3630
- checkoutUrl: l,
3631
- onCheckoutClick: h,
3630
+ checkoutUrl: c,
3631
+ onCheckoutClick: w,
3632
3632
  outcomeReason: p,
3633
3633
  onReenter: D,
3634
3634
  isReentering: V,
3635
3635
  className: T
3636
3636
  }) {
3637
- const { t: b } = K(), N = ze(e ?? ro), S = s.useMemo(
3638
- () => no(a, N),
3637
+ const { t: y } = K(), N = je(e ?? no), S = s.useMemo(
3638
+ () => oo(a, N),
3639
3639
  [a, N]
3640
- ), M = s.useMemo(
3641
- () => x ?? (S.closeAt ? new Date(S.closeAt) : void 0),
3642
- [x, S.closeAt]
3643
- ), A = s.useMemo(() => {
3640
+ ), M = s.useMemo(() => S.settleAt ? new Date(S.settleAt) : b || (S.closeAt ? new Date(S.closeAt) : void 0), [b, S.settleAt, S.closeAt]), A = s.useMemo(() => {
3644
3641
  if (C)
3645
3642
  return C instanceof Date ? C : new Date(C);
3646
3643
  }, [C]), I = S.currencyCode ?? v, O = s.useCallback(
3647
3644
  (L) => {
3648
3645
  if (L === void 0) return;
3649
3646
  const J = parseFloat(L);
3650
- return Number.isNaN(J) ? L : ao(
3647
+ return Number.isNaN(J) ? L : ro(
3651
3648
  J,
3652
- I ? { currencyCode: I, locale: w } : { currencySymbol: "$", locale: w }
3649
+ I ? { currencyCode: I, locale: h } : { currencySymbol: "$", locale: h }
3653
3650
  );
3654
3651
  },
3655
- [I, w]
3652
+ [I, h]
3656
3653
  ), $ = we(), fe = () => {
3657
- h ? h() : l && window.open(l, "_blank", "noopener,noreferrer");
3654
+ w ? w() : c && window.open(c, "_blank", "noopener,noreferrer");
3658
3655
  }, ce = async () => {
3659
- if (!c) return;
3656
+ if (!l) return;
3660
3657
  const L = S.minNextBid ?? m;
3661
- L && await c(L);
3658
+ L && await l(L);
3662
3659
  };
3663
3660
  if (r === "enterable")
3664
- return /* @__PURE__ */ t(U.div, { ...$, children: /* @__PURE__ */ u(
3661
+ return /* @__PURE__ */ t(W.div, { ...$, children: /* @__PURE__ */ u(
3665
3662
  Y,
3666
3663
  {
3667
3664
  className: E("ff:w-full ff:max-w-sm", T),
3668
3665
  "data-slot": "auction-module",
3669
3666
  "data-stage": "enterable",
3670
3667
  children: [
3671
- /* @__PURE__ */ t(G, { variant: "default", label: b("auction.title") }),
3668
+ /* @__PURE__ */ t(G, { variant: "default", label: y("auction.title") }),
3672
3669
  /* @__PURE__ */ u(Z, { children: [
3673
3670
  M && /* @__PURE__ */ u("div", { className: "ff:flex ff:flex-col ff:items-start ff:gap-1", children: [
3674
- /* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children: b("auction.endsIn") }),
3671
+ /* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children: y("auction.endsIn") }),
3675
3672
  /* @__PURE__ */ t(pe, { targetDate: M, showDays: !1 })
3676
3673
  ] }),
3677
- /* @__PURE__ */ t(ie, { children: /* @__PURE__ */ t("p", { className: "ff:text-foreground/80", children: b("auction.description") }) }),
3678
- c ? /* @__PURE__ */ t(j, { className: "ff:mt-auto ff:w-full", onClick: ce, children: b("auction.bidAction") }) : n && /* @__PURE__ */ t(j, { className: "ff:mt-auto ff:w-full", onClick: i, disabled: g, loading: g, children: b("auction.enter") })
3674
+ /* @__PURE__ */ t(ie, { children: /* @__PURE__ */ t("p", { className: "ff:text-foreground/80", children: y("auction.description") }) }),
3675
+ l ? /* @__PURE__ */ t(j, { className: "ff:mt-auto ff:w-full", onClick: ce, children: y("auction.bidAction") }) : n && /* @__PURE__ */ t(j, { className: "ff:mt-auto ff:w-full", onClick: i, disabled: g, loading: g, children: y("auction.enter") })
3679
3676
  ] }),
3680
3677
  /* @__PURE__ */ t(H, {})
3681
3678
  ]
3682
3679
  }
3683
3680
  ) });
3684
3681
  if (r === "participating") {
3685
- const L = S.status === "winning", J = L ? "default" : "success", ne = b(L ? "auction.winningTitle" : "auction.title"), se = O(S.highestBid), de = O(S.currentBid);
3686
- return /* @__PURE__ */ t(U.div, { ...$, children: /* @__PURE__ */ u(
3682
+ const L = S.status === "winning", J = L ? "default" : "success", ne = y(L ? "auction.winning.title" : "auction.title"), se = O(S.highestBid), de = O(S.currentBid);
3683
+ return /* @__PURE__ */ t(W.div, { ...$, children: /* @__PURE__ */ u(
3687
3684
  Y,
3688
3685
  {
3689
3686
  className: E("ff:w-full ff:max-w-sm", T),
@@ -3693,21 +3690,21 @@ function tt({
3693
3690
  /* @__PURE__ */ t(G, { variant: J, label: ne }),
3694
3691
  /* @__PURE__ */ u(Z, { children: [
3695
3692
  M && /* @__PURE__ */ u("div", { className: "ff:flex ff:flex-col ff:items-start ff:gap-1", children: [
3696
- /* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children: b("auction.endsIn") }),
3693
+ /* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children: y("auction.endsIn") }),
3697
3694
  /* @__PURE__ */ t(pe, { targetDate: M, showDays: !1 })
3698
3695
  ] }),
3699
3696
  /* @__PURE__ */ u(ie, { children: [
3700
3697
  se !== void 0 && /* @__PURE__ */ u("div", { className: "ff:flex ff:items-center ff:justify-between", children: [
3701
- /* @__PURE__ */ t("span", { className: "ff:text-muted", children: b("auction.currentBid") }),
3698
+ /* @__PURE__ */ t("span", { className: "ff:text-muted", children: y("auction.currentBid") }),
3702
3699
  /* @__PURE__ */ t("span", { className: "ff:font-medium ff:tabular-nums", children: se })
3703
3700
  ] }),
3704
3701
  de !== void 0 && /* @__PURE__ */ u("div", { className: "ff:flex ff:items-center ff:justify-between", children: [
3705
- /* @__PURE__ */ t("span", { className: "ff:text-muted", children: b(L ? "auction.yourWinningBid" : "auction.yourBidLabel") }),
3702
+ /* @__PURE__ */ t("span", { className: "ff:text-muted", children: y(L ? "auction.yourWinningBid" : "auction.yourBidLabel") }),
3706
3703
  /* @__PURE__ */ t("span", { className: "ff:font-medium ff:tabular-nums", children: de })
3707
3704
  ] })
3708
3705
  ] }),
3709
3706
  /* @__PURE__ */ u("div", { className: "ff:mt-auto ff:flex ff:flex-col ff:gap-2", children: [
3710
- c && /* @__PURE__ */ t(j, { className: "ff:w-full", onClick: ce, children: b("auction.bidAction") }),
3707
+ l && /* @__PURE__ */ t(j, { className: "ff:w-full", onClick: ce, children: y("auction.bidAction") }),
3711
3708
  o && /* @__PURE__ */ t(
3712
3709
  j,
3713
3710
  {
@@ -3716,7 +3713,7 @@ function tt({
3716
3713
  onClick: f,
3717
3714
  disabled: d,
3718
3715
  loading: d,
3719
- children: b("common.leave")
3716
+ children: y("action.leave")
3720
3717
  }
3721
3718
  )
3722
3719
  ] })
@@ -3728,18 +3725,18 @@ function tt({
3728
3725
  }
3729
3726
  if (r === "settling") {
3730
3727
  const L = O(S.highestBid);
3731
- return /* @__PURE__ */ t(U.div, { ...$, children: /* @__PURE__ */ u(
3728
+ return /* @__PURE__ */ t(W.div, { ...$, children: /* @__PURE__ */ u(
3732
3729
  Y,
3733
3730
  {
3734
3731
  className: E("ff:w-full ff:max-w-sm", T),
3735
3732
  "data-slot": "auction-module",
3736
3733
  "data-stage": "settling",
3737
3734
  children: [
3738
- /* @__PURE__ */ t(G, { variant: "default", label: b("auction.settlingTitle") }),
3735
+ /* @__PURE__ */ t(G, { variant: "default", label: y("auction.settling.title") }),
3739
3736
  /* @__PURE__ */ t(Z, { children: /* @__PURE__ */ u(ie, { children: [
3740
- /* @__PURE__ */ t("p", { className: "ff:text-foreground/80", children: b("auction.settlingDescription") }),
3737
+ /* @__PURE__ */ t("p", { className: "ff:text-foreground/80", children: y("auction.settling.description") }),
3741
3738
  L !== void 0 && /* @__PURE__ */ u("div", { className: "ff:mt-3 ff:flex ff:items-center ff:justify-between", children: [
3742
- /* @__PURE__ */ t("span", { className: "ff:text-muted", children: b("auction.currentBid") }),
3739
+ /* @__PURE__ */ t("span", { className: "ff:text-muted", children: y("auction.currentBid") }),
3743
3740
  /* @__PURE__ */ t("span", { className: "ff:font-medium ff:tabular-nums", children: L })
3744
3741
  ] })
3745
3742
  ] }) }),
@@ -3751,15 +3748,15 @@ function tt({
3751
3748
  return r === "granted" ? /* @__PURE__ */ t(
3752
3749
  it,
3753
3750
  {
3754
- label: b("auction.wonTitle"),
3755
- fallbackMessage: b("auction.wonDescription"),
3756
- ctaLabel: b("auction.proceedToCheckout"),
3751
+ label: y("auction.won.title"),
3752
+ fallbackMessage: y("auction.won.description"),
3753
+ ctaLabel: y("action.proceedToCheckout"),
3757
3754
  expiresAt: A,
3758
3755
  onCtaClick: fe,
3759
3756
  className: T
3760
3757
  }
3761
3758
  ) : r === "ended" ? /* @__PURE__ */ t(
3762
- We,
3759
+ Ue,
3763
3760
  {
3764
3761
  outcomeReason: p ?? "ended",
3765
3762
  participationType: "auction",
@@ -3770,7 +3767,7 @@ function tt({
3770
3767
  ) : null;
3771
3768
  }
3772
3769
  tt.displayName = "AuctionModule";
3773
- const oo = qe({});
3770
+ const fo = qe({});
3774
3771
  function at({
3775
3772
  display$: e,
3776
3773
  sequencePhase: a,
@@ -3779,93 +3776,93 @@ function at({
3779
3776
  onEnter: o,
3780
3777
  onLeave: i,
3781
3778
  isEntering: f,
3782
- isLeaving: c,
3779
+ isLeaving: l,
3783
3780
  countdownTo: g,
3784
3781
  grant: d,
3785
- expiresAt: x,
3782
+ expiresAt: b,
3786
3783
  checkoutUrl: m,
3787
3784
  onCheckoutClick: v,
3788
- outcomeReason: w,
3789
- onReenter: y,
3785
+ outcomeReason: h,
3786
+ onReenter: x,
3790
3787
  isReentering: C,
3791
- className: l
3788
+ className: c
3792
3789
  }) {
3793
- const { t: h } = K(), p = ze(e ?? oo), D = s.useMemo(
3790
+ const { t: w } = K(), p = je(e ?? fo), D = s.useMemo(
3794
3791
  () => g ?? (p.drawTime ? new Date(p.drawTime) : void 0),
3795
3792
  [g, p.drawTime]
3796
3793
  ), V = s.useMemo(() => {
3797
- if (x)
3798
- return x instanceof Date ? x : new Date(x);
3799
- }, [x]), T = we(), b = () => {
3794
+ if (b)
3795
+ return b instanceof Date ? b : new Date(b);
3796
+ }, [b]), T = we(), y = () => {
3800
3797
  v ? v() : m && window.open(m, "_blank", "noopener,noreferrer");
3801
3798
  };
3802
- return a === "enterable" ? /* @__PURE__ */ t(U.div, { ...T, children: /* @__PURE__ */ u(Y, { className: E("ff:w-full ff:max-w-sm", l), "data-slot": "draw-module", "data-stage": "enterable", children: [
3803
- /* @__PURE__ */ t(G, { variant: "default", label: h("draw.title") }),
3799
+ return a === "enterable" ? /* @__PURE__ */ t(W.div, { ...T, children: /* @__PURE__ */ u(Y, { className: E("ff:w-full ff:max-w-sm", c), "data-slot": "draw-module", "data-stage": "enterable", children: [
3800
+ /* @__PURE__ */ t(G, { variant: "default", label: w("draw.title") }),
3804
3801
  /* @__PURE__ */ u(Z, { children: [
3805
3802
  D && /* @__PURE__ */ u("div", { className: "ff:flex ff:flex-col ff:items-start ff:gap-1", children: [
3806
- /* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children: h("draw.drawClosesIn") }),
3803
+ /* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children: w("draw.drawClosesIn") }),
3807
3804
  /* @__PURE__ */ t(pe, { targetDate: D, showDays: !1 })
3808
3805
  ] }),
3809
- r && /* @__PURE__ */ t(j, { className: "ff:mt-auto ff:w-full", onClick: o, disabled: f, loading: f, children: h("draw.enter") })
3806
+ r && /* @__PURE__ */ t(j, { className: "ff:mt-auto ff:w-full", onClick: o, disabled: f, loading: f, children: w("draw.enter") })
3810
3807
  ] }),
3811
3808
  /* @__PURE__ */ t(H, {})
3812
- ] }) }) : a === "participating" ? /* @__PURE__ */ t(U.div, { ...T, children: /* @__PURE__ */ u(
3809
+ ] }) }) : a === "participating" ? /* @__PURE__ */ t(W.div, { ...T, children: /* @__PURE__ */ u(
3813
3810
  Y,
3814
3811
  {
3815
- className: E("ff:w-full ff:max-w-sm", l),
3812
+ className: E("ff:w-full ff:max-w-sm", c),
3816
3813
  "data-slot": "draw-module",
3817
3814
  "data-stage": "participating",
3818
3815
  children: [
3819
- /* @__PURE__ */ t(G, { variant: "success", label: h("draw.entered") }),
3816
+ /* @__PURE__ */ t(G, { variant: "success", label: w("draw.entered.title") }),
3820
3817
  /* @__PURE__ */ u(Z, { children: [
3821
3818
  p.entryNumber && /* @__PURE__ */ t("span", { className: "ff:text-xs ff:text-muted ff:font-mono", children: p.entryNumber }),
3822
3819
  D ? /* @__PURE__ */ u("div", { className: "ff:flex ff:flex-col ff:items-start ff:gap-1", children: [
3823
- /* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children: h("draw.drawHappensIn") }),
3820
+ /* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children: w("draw.drawHappensIn") }),
3824
3821
  /* @__PURE__ */ t(pe, { targetDate: D, showDays: !1 })
3825
3822
  ] }) : null,
3826
- /* @__PURE__ */ t(ie, { children: /* @__PURE__ */ t("p", { className: "ff:text-foreground/80", children: h(D ? "draw.goodLuck" : "draw.stayTuned") }) }),
3823
+ /* @__PURE__ */ t(ie, { children: /* @__PURE__ */ t("p", { className: "ff:text-foreground/80", children: w(D ? "draw.entered.description" : "draw.stayTuned") }) }),
3827
3824
  n && /* @__PURE__ */ t(
3828
3825
  j,
3829
3826
  {
3830
3827
  className: "ff:mt-auto ff:w-full",
3831
3828
  variant: "outline",
3832
3829
  onClick: i,
3833
- disabled: c,
3834
- loading: c,
3835
- children: h("draw.withdraw")
3830
+ disabled: l,
3831
+ loading: l,
3832
+ children: w("draw.withdraw")
3836
3833
  }
3837
3834
  )
3838
3835
  ] }),
3839
3836
  /* @__PURE__ */ t(H, {})
3840
3837
  ]
3841
3838
  }
3842
- ) }) : a === "settling" ? /* @__PURE__ */ t(U.div, { ...T, children: /* @__PURE__ */ u(Y, { className: E("ff:w-full ff:max-w-sm", l), "data-slot": "draw-module", "data-stage": "settling", children: [
3843
- /* @__PURE__ */ t(G, { variant: "default", label: h("draw.settlingTitle") }),
3844
- /* @__PURE__ */ t(Z, { children: /* @__PURE__ */ t(ie, { children: /* @__PURE__ */ t("p", { className: "ff:text-foreground/80", children: h("draw.settlingDescription") }) }) }),
3839
+ ) }) : a === "settling" ? /* @__PURE__ */ t(W.div, { ...T, children: /* @__PURE__ */ u(Y, { className: E("ff:w-full ff:max-w-sm", c), "data-slot": "draw-module", "data-stage": "settling", children: [
3840
+ /* @__PURE__ */ t(G, { variant: "default", label: w("draw.settling.title") }),
3841
+ /* @__PURE__ */ t(Z, { children: /* @__PURE__ */ t(ie, { children: /* @__PURE__ */ t("p", { className: "ff:text-foreground/80", children: w("draw.settling.description") }) }) }),
3845
3842
  /* @__PURE__ */ t(H, {})
3846
3843
  ] }) }) : a === "granted" ? /* @__PURE__ */ t(
3847
3844
  it,
3848
3845
  {
3849
- label: h("draw.wonTitle"),
3850
- fallbackMessage: h("granted.description"),
3851
- ctaLabel: h("granted.cta"),
3846
+ label: w("draw.won.title"),
3847
+ fallbackMessage: w("granted.description"),
3848
+ ctaLabel: w("granted.cta"),
3852
3849
  expiresAt: V,
3853
- onCtaClick: b,
3854
- className: l
3850
+ onCtaClick: y,
3851
+ className: c
3855
3852
  }
3856
3853
  ) : a === "ended" ? /* @__PURE__ */ t(
3857
- We,
3854
+ Ue,
3858
3855
  {
3859
- outcomeReason: w ?? "ended",
3856
+ outcomeReason: h ?? "ended",
3860
3857
  participationType: "draw",
3861
- onReenter: y,
3858
+ onReenter: x,
3862
3859
  isReentering: C,
3863
- className: l
3860
+ className: c
3864
3861
  }
3865
3862
  ) : null;
3866
3863
  }
3867
3864
  at.displayName = "DrawModule";
3868
- const fo = qe({});
3865
+ const io = qe({});
3869
3866
  function wt({
3870
3867
  display$: e,
3871
3868
  sequencePhase: a,
@@ -3874,61 +3871,61 @@ function wt({
3874
3871
  onEnter: o,
3875
3872
  onLeave: i,
3876
3873
  isEntering: f,
3877
- isLeaving: c,
3874
+ isLeaving: l,
3878
3875
  closeAt: g,
3879
3876
  grant: d,
3880
- expiresAt: x,
3877
+ expiresAt: b,
3881
3878
  checkoutUrl: m,
3882
3879
  onCheckoutClick: v,
3883
- outcomeReason: w,
3884
- onReenter: y,
3880
+ outcomeReason: h,
3881
+ onReenter: x,
3885
3882
  isReentering: C,
3886
- className: l
3883
+ className: c
3887
3884
  }) {
3888
- const { t: h } = K(), p = ze(e ?? fo), D = s.useMemo(() => {
3889
- if (x)
3890
- return x instanceof Date ? x : new Date(x);
3891
- }, [x]), V = we(), T = () => {
3885
+ const { t: w } = K(), p = je(e ?? io), D = s.useMemo(() => {
3886
+ if (b)
3887
+ return b instanceof Date ? b : new Date(b);
3888
+ }, [b]), V = we(), T = () => {
3892
3889
  v ? v() : m && window.open(m, "_blank", "noopener,noreferrer");
3893
3890
  };
3894
3891
  if (a === "enterable")
3895
- return /* @__PURE__ */ t(U.div, { ...V, children: /* @__PURE__ */ u(Y, { className: E("ff:w-full ff:max-w-sm", l), "data-slot": "queue-module", "data-stage": "enterable", children: [
3896
- /* @__PURE__ */ t(G, { variant: "default", label: h("queue.openingSoon") }),
3892
+ return /* @__PURE__ */ t(W.div, { ...V, children: /* @__PURE__ */ u(Y, { className: E("ff:w-full ff:max-w-sm", c), "data-slot": "queue-module", "data-stage": "enterable", children: [
3893
+ /* @__PURE__ */ t(G, { variant: "default", label: w("queue.openingSoon") }),
3897
3894
  /* @__PURE__ */ u(Z, { children: [
3898
3895
  g && /* @__PURE__ */ u("div", { className: "ff:flex ff:flex-col ff:items-start ff:gap-1", children: [
3899
- /* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children: h("queue.queueClosesIn") }),
3896
+ /* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children: w("queue.queueClosesIn") }),
3900
3897
  /* @__PURE__ */ t(pe, { targetDate: g, showDays: !1 })
3901
3898
  ] }),
3902
- r && /* @__PURE__ */ t(j, { className: "ff:mt-auto ff:w-full", onClick: o, disabled: f, loading: f, children: h("queue.enter") })
3899
+ r && /* @__PURE__ */ t(j, { className: "ff:mt-auto ff:w-full", onClick: o, disabled: f, loading: f, children: w("queue.enter") })
3903
3900
  ] }),
3904
3901
  /* @__PURE__ */ t(H, {})
3905
3902
  ] }) });
3906
3903
  if (a === "participating") {
3907
- const b = p.estimatedWaitTime, N = b != null ? Math.ceil(b / 60) : null, S = (O) => O < 1 ? h("queue.waitLessThanMinute") : O === 1 ? h("queue.waitOneMinute") : h("queue.waitMinutes", { values: { count: O } }), M = b != null ? Dr(b) : null, A = M ? h(Vr(M)) : null, I = N !== null ? S(N) : "...";
3908
- return /* @__PURE__ */ t(U.div, { ...V, children: /* @__PURE__ */ u(
3904
+ const y = p.estimatedWaitTime, N = y != null ? Math.ceil(y / 60) : null, S = (O) => O < 1 ? w("queue.waitLessThanMinute") : O === 1 ? w("queue.waitOneMinute") : w("queue.waitMinutes", { values: { count: O } }), M = y != null ? Vr(y) : null, A = M ? w(Er(M)) : null, I = N !== null ? S(N) : "...";
3905
+ return /* @__PURE__ */ t(W.div, { ...V, children: /* @__PURE__ */ u(
3909
3906
  Y,
3910
3907
  {
3911
- className: E("ff:w-full ff:max-w-sm", l),
3908
+ className: E("ff:w-full ff:max-w-sm", c),
3912
3909
  "data-slot": "queue-module",
3913
3910
  "data-stage": "participating",
3914
3911
  children: [
3915
- /* @__PURE__ */ t(G, { variant: "success", label: h("queue.title") }),
3912
+ /* @__PURE__ */ t(G, { variant: "success", label: w("queue.title") }),
3916
3913
  /* @__PURE__ */ u(Z, { children: [
3917
3914
  /* @__PURE__ */ u("div", { className: "ff:flex ff:flex-col ff:items-start ff:gap-1", children: [
3918
- /* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children: h("queue.estimatedWaitLabel") }),
3915
+ /* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children: w("queue.estimatedWaitLabel") }),
3919
3916
  /* @__PURE__ */ t("span", { className: "ff:text-4xl ff:font-bold ff:tabular-nums ff:font-heading", children: I }),
3920
3917
  A && /* @__PURE__ */ t("span", { className: "ff:text-xs ff:text-muted", children: A })
3921
3918
  ] }),
3922
- /* @__PURE__ */ t(ie, { children: /* @__PURE__ */ t("p", { className: "ff:text-muted ff:text-xs", children: h("queue.qualitativeReassurance") }) }),
3919
+ /* @__PURE__ */ t(ie, { children: /* @__PURE__ */ t("p", { className: "ff:text-muted ff:text-xs", children: w("queue.qualitativeReassurance") }) }),
3923
3920
  n && /* @__PURE__ */ t(
3924
3921
  j,
3925
3922
  {
3926
3923
  className: "ff:mt-auto ff:w-full",
3927
3924
  variant: "outline",
3928
3925
  onClick: i,
3929
- disabled: c,
3930
- loading: c,
3931
- children: h("queue.leave")
3926
+ disabled: l,
3927
+ loading: l,
3928
+ children: w("queue.leave")
3932
3929
  }
3933
3930
  )
3934
3931
  ] }),
@@ -3940,26 +3937,26 @@ function wt({
3940
3937
  return a === "granted" ? /* @__PURE__ */ t(
3941
3938
  it,
3942
3939
  {
3943
- label: h("queue.granted"),
3944
- fallbackMessage: h("queue.grantedMessage"),
3945
- ctaLabel: h("granted.cta"),
3940
+ label: w("queue.granted.title"),
3941
+ fallbackMessage: w("queue.granted.message"),
3942
+ ctaLabel: w("granted.cta"),
3946
3943
  expiresAt: D,
3947
3944
  onCtaClick: T,
3948
- className: l
3945
+ className: c
3949
3946
  }
3950
3947
  ) : a === "ended" ? /* @__PURE__ */ t(
3951
- We,
3948
+ Ue,
3952
3949
  {
3953
- outcomeReason: w ?? "ended",
3950
+ outcomeReason: h ?? "ended",
3954
3951
  participationType: "queue",
3955
- onReenter: y,
3952
+ onReenter: x,
3956
3953
  isReentering: C,
3957
- className: l
3954
+ className: c
3958
3955
  }
3959
3956
  ) : null;
3960
3957
  }
3961
3958
  wt.displayName = "QueueModule";
3962
- const io = qe({});
3959
+ const so = qe({});
3963
3960
  function vt({
3964
3961
  display$: e,
3965
3962
  sequencePhase: a,
@@ -3968,28 +3965,28 @@ function vt({
3968
3965
  onEnter: o,
3969
3966
  onLeave: i,
3970
3967
  onComplete: f,
3971
- isEntering: c,
3968
+ isEntering: l,
3972
3969
  isLeaving: g,
3973
3970
  countdownTo: d,
3974
- checkoutUrl: x,
3971
+ checkoutUrl: b,
3975
3972
  onCheckoutClick: m,
3976
3973
  grant: v,
3977
- expiresAt: w,
3978
- outcomeReason: y,
3974
+ expiresAt: h,
3975
+ outcomeReason: x,
3979
3976
  onReenter: C,
3980
- isReentering: l,
3981
- className: h
3977
+ isReentering: c,
3978
+ className: w
3982
3979
  }) {
3983
- const { t: p } = K(), D = ze(e ?? io), V = s.useMemo(() => {
3984
- if (w)
3985
- return w instanceof Date ? w : new Date(w);
3986
- }, [w]), T = x ?? D.checkoutUrl, b = we(), N = () => {
3980
+ const { t: p } = K(), D = je(e ?? so), V = s.useMemo(() => {
3981
+ if (h)
3982
+ return h instanceof Date ? h : new Date(h);
3983
+ }, [h]), T = b ?? D.checkoutUrl, y = we(), N = () => {
3987
3984
  m ? m() : T && window.open(T, "_blank", "noopener,noreferrer");
3988
3985
  };
3989
- return a === "enterable" ? /* @__PURE__ */ t(U.div, { ...b, children: /* @__PURE__ */ u(
3986
+ return a === "enterable" ? /* @__PURE__ */ t(W.div, { ...y, children: /* @__PURE__ */ u(
3990
3987
  Y,
3991
3988
  {
3992
- className: E("ff:w-full ff:max-w-sm", h),
3989
+ className: E("ff:w-full ff:max-w-sm", w),
3993
3990
  "data-slot": "timed-release-module",
3994
3991
  "data-stage": "enterable",
3995
3992
  children: [
@@ -4000,15 +3997,15 @@ function vt({
4000
3997
  /* @__PURE__ */ t(pe, { targetDate: d, showDays: !1 })
4001
3998
  ] }),
4002
3999
  /* @__PURE__ */ t(ie, { children: /* @__PURE__ */ t("p", { className: "ff:text-foreground/80", children: p("timedRelease.description") }) }),
4003
- r && /* @__PURE__ */ t(j, { className: "ff:mt-auto ff:w-full", onClick: o, disabled: c, loading: c, children: p("timedRelease.enter") })
4000
+ r && /* @__PURE__ */ t(j, { className: "ff:mt-auto ff:w-full", onClick: o, disabled: l, loading: l, children: p("timedRelease.enter") })
4004
4001
  ] }),
4005
4002
  /* @__PURE__ */ t(H, {})
4006
4003
  ]
4007
4004
  }
4008
- ) }) : a === "participating" ? /* @__PURE__ */ t(U.div, { ...b, children: /* @__PURE__ */ u(
4005
+ ) }) : a === "participating" ? /* @__PURE__ */ t(W.div, { ...y, children: /* @__PURE__ */ u(
4009
4006
  Y,
4010
4007
  {
4011
- className: E("ff:w-full ff:max-w-sm", h),
4008
+ className: E("ff:w-full ff:max-w-sm", w),
4012
4009
  "data-slot": "timed-release-module",
4013
4010
  "data-stage": "participating",
4014
4011
  children: [
@@ -4054,16 +4051,16 @@ function vt({
4054
4051
  ctaLabel: p("granted.cta"),
4055
4052
  expiresAt: V,
4056
4053
  onCtaClick: N,
4057
- className: h
4054
+ className: w
4058
4055
  }
4059
4056
  ) : a === "ended" ? /* @__PURE__ */ t(
4060
- We,
4057
+ Ue,
4061
4058
  {
4062
- outcomeReason: y ?? "ended",
4059
+ outcomeReason: x ?? "ended",
4063
4060
  participationType: "timed_release",
4064
4061
  onReenter: C,
4065
- isReentering: l,
4066
- className: h
4062
+ isReentering: c,
4063
+ className: w
4067
4064
  }
4068
4065
  ) : null;
4069
4066
  }
@@ -4076,36 +4073,36 @@ function Ga({
4076
4073
  canEnter: o = !1,
4077
4074
  onEnter: i,
4078
4075
  enterLabel: f,
4079
- isEntering: c = !1,
4076
+ isEntering: l = !1,
4080
4077
  className: g
4081
4078
  }) {
4082
- const { t: d } = K(), x = e ?? d("upcoming.title"), m = a ?? d("upcoming.description"), v = s.useMemo(() => r ? r instanceof Date ? r : new Date(r) : null, [r]), w = we();
4083
- return /* @__PURE__ */ t(U.div, { ...w, children: /* @__PURE__ */ u(Y, { className: E("ff:w-full ff:max-w-sm", g), "data-slot": "upcoming-module", children: [
4084
- /* @__PURE__ */ t(G, { variant: "secondary", label: x }),
4079
+ const { t: d } = K(), b = e ?? d("upcoming.title"), m = a ?? d("upcoming.description"), v = s.useMemo(() => r ? r instanceof Date ? r : new Date(r) : null, [r]), h = we();
4080
+ return /* @__PURE__ */ t(W.div, { ...h, children: /* @__PURE__ */ u(Y, { className: E("ff:w-full ff:max-w-sm", g), "data-slot": "upcoming-module", children: [
4081
+ /* @__PURE__ */ t(G, { variant: "secondary", label: b }),
4085
4082
  /* @__PURE__ */ u(Z, { children: [
4086
4083
  v && /* @__PURE__ */ u("div", { className: "ff:flex ff:flex-col ff:items-start ff:gap-1", children: [
4087
- /* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children: d("countdown.startingSoon") }),
4084
+ /* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children: d("duration.startingSoon") }),
4088
4085
  /* @__PURE__ */ t(
4089
4086
  pe,
4090
4087
  {
4091
4088
  targetDate: v,
4092
4089
  onComplete: n,
4093
- expiredLabel: d("countdown.startingSoon")
4090
+ expiredLabel: d("duration.startingSoon")
4094
4091
  }
4095
4092
  )
4096
4093
  ] }),
4097
4094
  /* @__PURE__ */ t(ie, { children: /* @__PURE__ */ t("p", { className: "ff:text-foreground/80", children: m }) }),
4098
- o && i && /* @__PURE__ */ t(j, { className: "ff:mt-auto ff:w-full", onClick: i, disabled: c, loading: c, children: f ?? d("waitlist.enter") })
4095
+ o && i && /* @__PURE__ */ t(j, { className: "ff:mt-auto ff:w-full", onClick: i, disabled: l, loading: l, children: f ?? d("waitlist.enter") })
4099
4096
  ] }),
4100
4097
  /* @__PURE__ */ t(H, {})
4101
4098
  ] }) });
4102
4099
  }
4103
4100
  Ga.displayName = "UpcomingModule";
4104
- const so = {
4101
+ const lo = {
4105
4102
  initial: { opacity: 1 },
4106
4103
  animate: { opacity: 1 },
4107
4104
  transition: { duration: 0 }
4108
- }, lo = {
4105
+ }, co = {
4109
4106
  default: {
4110
4107
  initial: { opacity: 0, scale: 0.95 },
4111
4108
  animate: { opacity: 1, scale: 1 },
@@ -4126,7 +4123,7 @@ const so = {
4126
4123
  animate: { opacity: 1 },
4127
4124
  transition: { duration: 0.4, ease: "easeInOut" }
4128
4125
  }
4129
- }, co = te("ff:flex ff:items-center ff:justify-center", {
4126
+ }, uo = ae("ff:flex ff:items-center ff:justify-center", {
4130
4127
  variants: {
4131
4128
  styleVariant: {
4132
4129
  default: "ff:w-16 ff:h-16 ff:rounded-full ff:bg-primary/5",
@@ -4140,7 +4137,7 @@ const so = {
4140
4137
  }
4141
4138
  },
4142
4139
  defaultVariants: { styleVariant: "default" }
4143
- }), uo = te("ff:mt-4 ff:text-sm", {
4140
+ }), po = ae("ff:mt-4 ff:text-sm", {
4144
4141
  variants: {
4145
4142
  styleVariant: {
4146
4143
  default: "ff:text-muted",
@@ -4152,9 +4149,9 @@ const so = {
4152
4149
  defaultVariants: { styleVariant: "default" }
4153
4150
  });
4154
4151
  function It({ message: e, className: a }) {
4155
- const r = ge(), n = ot() ? so : lo[r], o = r === "clean" ? "md" : "lg";
4152
+ const r = ge(), n = ot() ? lo : co[r], o = r === "clean" ? "md" : "lg";
4156
4153
  return /* @__PURE__ */ u(
4157
- U.div,
4154
+ W.div,
4158
4155
  {
4159
4156
  ...n,
4160
4157
  "data-slot": "loading-view",
@@ -4163,8 +4160,8 @@ function It({ message: e, className: a }) {
4163
4160
  "aria-busy": "true",
4164
4161
  className: E("ff:flex ff:flex-col ff:items-center ff:justify-center ff:py-12", a),
4165
4162
  children: [
4166
- /* @__PURE__ */ t("div", { className: E(co({ styleVariant: r })), children: /* @__PURE__ */ t(Te, { size: o }) }),
4167
- e && /* @__PURE__ */ t("p", { className: E(uo({ styleVariant: r })), children: e })
4163
+ /* @__PURE__ */ t("div", { className: E(uo({ styleVariant: r })), children: /* @__PURE__ */ t(Te, { size: o }) }),
4164
+ e && /* @__PURE__ */ t("p", { className: E(po({ styleVariant: r })), children: e })
4168
4165
  ]
4169
4166
  }
4170
4167
  );
@@ -4178,28 +4175,28 @@ function Ja({
4178
4175
  countdownTo: o,
4179
4176
  info: i,
4180
4177
  ctaLabel: f,
4181
- onStart: c,
4178
+ onStart: l,
4182
4179
  isLoading: g = !1,
4183
4180
  className: d
4184
4181
  }) {
4185
- const { t: x } = K(), m = we();
4186
- return /* @__PURE__ */ t(U.div, { ...m, children: /* @__PURE__ */ u(Y, { className: E("fanfare-start-view", d), "data-slot": "start-view", children: [
4182
+ const { t: b } = K(), m = we();
4183
+ return /* @__PURE__ */ t(W.div, { ...m, children: /* @__PURE__ */ u(Y, { className: E("fanfare-start-view", d), "data-slot": "start-view", children: [
4187
4184
  /* @__PURE__ */ t(
4188
4185
  G,
4189
4186
  {
4190
4187
  variant: e,
4191
4188
  label: a,
4192
- title: r ?? x("start.title"),
4193
- description: n ?? x("start.description")
4189
+ title: r ?? b("start.title"),
4190
+ description: n ?? b("start.description")
4194
4191
  }
4195
4192
  ),
4196
4193
  /* @__PURE__ */ u(Z, { children: [
4197
4194
  o ? /* @__PURE__ */ u("div", { className: "ff:flex ff:flex-col ff:items-start ff:gap-1", children: [
4198
- /* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children: x("time.opensIn") }),
4195
+ /* @__PURE__ */ t("span", { className: "ff:text-xxs ff:font-medium ff:uppercase ff:tracking-widest ff:text-muted", children: b("duration.opensIn") }),
4199
4196
  /* @__PURE__ */ t(pe, { targetDate: o, showDays: !1 })
4200
4197
  ] }) : null,
4201
4198
  i ? /* @__PURE__ */ t(ie, { children: i }) : null,
4202
- /* @__PURE__ */ t(j, { className: "ff:mt-auto ff:w-full", onClick: c, disabled: g, loading: g, children: f ?? x("start.cta") })
4199
+ /* @__PURE__ */ t(j, { className: "ff:mt-auto ff:w-full", onClick: l, disabled: g, loading: g, children: f ?? b("start.cta") })
4203
4200
  ] }),
4204
4201
  /* @__PURE__ */ t(H, {})
4205
4202
  ] }) });
@@ -4214,18 +4211,18 @@ function Qa({
4214
4211
  isLeaving: i = !1,
4215
4212
  className: f
4216
4213
  }) {
4217
- const { t: c } = K(), g = e ?? c("waitlist.enteredTitle"), d = a ?? c("waitlist.enteredDescription"), x = c("time.opensIn"), m = s.useMemo(() => r ? r instanceof Date ? r : new Date(r) : null, [r]), v = we();
4218
- return /* @__PURE__ */ t(U.div, { ...v, children: /* @__PURE__ */ u(Y, { className: E("fanfare-waitlist-view", f), "data-slot": "waitlist-view", children: [
4214
+ const { t: l } = K(), g = e ?? l("waitlist.entered.title"), d = a ?? l("waitlist.entered.description"), b = l("duration.opensIn"), m = s.useMemo(() => r ? r instanceof Date ? r : new Date(r) : null, [r]), v = we();
4215
+ return /* @__PURE__ */ t(W.div, { ...v, children: /* @__PURE__ */ u(Y, { className: E("fanfare-waitlist-view", f), "data-slot": "waitlist-view", children: [
4219
4216
  /* @__PURE__ */ t(G, { variant: "success", title: g, description: d }),
4220
4217
  /* @__PURE__ */ u(Z, { children: [
4221
4218
  m && /* @__PURE__ */ u(ie, { children: [
4222
- /* @__PURE__ */ t("p", { className: "ff:text-muted ff:text-xxs ff:font-heading ff:uppercase ff:tracking-widest", children: x }),
4219
+ /* @__PURE__ */ t("p", { className: "ff:text-muted ff:text-xxs ff:font-heading ff:uppercase ff:tracking-widest", children: b }),
4223
4220
  /* @__PURE__ */ t(
4224
4221
  pe,
4225
4222
  {
4226
4223
  targetDate: m,
4227
4224
  onComplete: n,
4228
- expiredLabel: c("countdown.startingSoon")
4225
+ expiredLabel: l("duration.startingSoon")
4229
4226
  }
4230
4227
  )
4231
4228
  ] }),
@@ -4237,7 +4234,7 @@ function Qa({
4237
4234
  onClick: o,
4238
4235
  disabled: i,
4239
4236
  loading: i,
4240
- children: c("waitlist.leave")
4237
+ children: l("waitlist.leave")
4241
4238
  }
4242
4239
  )
4243
4240
  ] }),
@@ -4246,34 +4243,34 @@ function Qa({
4246
4243
  }
4247
4244
  Qa.displayName = "WaitlistView";
4248
4245
  function Xa({ open: e, invalid: a, submitting: r, onOpen: n, onClose: o, onSubmit: i }) {
4249
- const { t: f } = K(), [c, g] = ve(""), d = () => {
4246
+ const { t: f } = K(), [l, g] = ve(""), d = () => {
4250
4247
  g(""), n();
4251
4248
  };
4252
4249
  return e ? /* @__PURE__ */ u("div", { className: "fanfare-upgrade-offer", "data-slot": "upgrade-offer", children: [
4253
4250
  /* @__PURE__ */ u("form", { className: "fanfare-upgrade-offer__form", onSubmit: (m) => {
4254
- m.preventDefault(), !(!c.trim() || r) && i(c.trim());
4251
+ m.preventDefault(), !(!l.trim() || r) && i(l.trim());
4255
4252
  }, children: [
4256
4253
  /* @__PURE__ */ t(
4257
4254
  "input",
4258
4255
  {
4259
4256
  className: "fanfare-upgrade-offer__input",
4260
4257
  type: "text",
4261
- value: c,
4258
+ value: l,
4262
4259
  onChange: (m) => g(m.target.value),
4263
4260
  placeholder: f("upgradeOffer.placeholder"),
4264
4261
  autoFocus: !0,
4265
4262
  disabled: r
4266
4263
  }
4267
4264
  ),
4268
- /* @__PURE__ */ t("button", { type: "submit", className: "fanfare-upgrade-offer__submit", disabled: r || !c.trim(), children: f(r ? "upgradeOffer.submitting" : "upgradeOffer.submit") }),
4269
- /* @__PURE__ */ t("button", { type: "button", className: "fanfare-upgrade-offer__cancel", onClick: o, disabled: r, children: f("common.cancel") })
4265
+ /* @__PURE__ */ t("button", { type: "submit", className: "fanfare-upgrade-offer__submit", disabled: r || !l.trim(), children: f(r ? "upgradeOffer.submitting" : "upgradeOffer.submit") }),
4266
+ /* @__PURE__ */ t("button", { type: "button", className: "fanfare-upgrade-offer__cancel", onClick: o, disabled: r, children: f("action.cancel") })
4270
4267
  ] }),
4271
4268
  a && !r ? /* @__PURE__ */ t("p", { className: "fanfare-upgrade-offer__error", children: f("upgradeOffer.invalid") }) : null
4272
4269
  ] }) : /* @__PURE__ */ t("div", { className: "fanfare-upgrade-offer", "data-slot": "upgrade-offer", children: /* @__PURE__ */ t("button", { type: "button", className: "fanfare-upgrade-offer__link", onClick: d, children: f("upgradeOffer.prompt") }) });
4273
4270
  }
4274
4271
  Xa.displayName = "UpgradeOffer";
4275
- const po = qe({});
4276
- function go(e) {
4272
+ const go = qe({});
4273
+ function mo(e) {
4277
4274
  return "mechanism" in e && e.mechanism === "auction" && "bid" in e;
4278
4275
  }
4279
4276
  function Ee(e) {
@@ -4282,36 +4279,36 @@ function Ee(e) {
4282
4279
  function va(e) {
4283
4280
  return Ee(e);
4284
4281
  }
4285
- function mo(e) {
4282
+ function ho(e) {
4286
4283
  return e?.phase === "enterable" && Ee(e.mechanism);
4287
4284
  }
4288
- function ho(e) {
4285
+ function wo(e) {
4289
4286
  return e?.phase === "participating" && Ee(e.mechanism);
4290
4287
  }
4291
- function wo(e) {
4288
+ function vo(e) {
4292
4289
  return e?.phase === "granted";
4293
4290
  }
4294
4291
  function St(e) {
4295
4292
  return e?.journeyStage === "routed" ? e.sequence : void 0;
4296
4293
  }
4297
- function vo(e, a) {
4294
+ function bo(e, a) {
4298
4295
  const r = St(e);
4299
4296
  return r && "mechanism" in r && va(r.mechanism) ? r.mechanism : a?.phase === "participating" && "consumer" in a && "mechanism" in a.consumer && va(a.consumer.mechanism) ? a.consumer.mechanism : null;
4300
4297
  }
4301
- function bo(e) {
4298
+ function xo(e) {
4302
4299
  const a = St(e);
4303
4300
  if (!(!a || !("distribution" in a)))
4304
4301
  return a.distribution;
4305
4302
  }
4306
- function xo(e) {
4303
+ function yo(e) {
4307
4304
  const a = St(e);
4308
4305
  if (!(!a || !("consumer" in a)))
4309
4306
  return a.consumer;
4310
4307
  }
4311
- function yo(e, a) {
4308
+ function ko(e, a) {
4312
4309
  return e ? "distributionId" in e && typeof e.distributionId == "string" && e.distributionId ? e.distributionId : e.id ?? a ?? null : a ?? null;
4313
4310
  }
4314
- function ko({
4311
+ function _o({
4315
4312
  experienceId: e,
4316
4313
  autoStart: a = !1,
4317
4314
  accessCode: r,
@@ -4319,34 +4316,39 @@ function ko({
4319
4316
  theme: o,
4320
4317
  variant: i,
4321
4318
  slots: f,
4322
- children: c,
4319
+ children: l,
4323
4320
  checkoutUrl: g,
4324
4321
  onJourneyChange: d,
4325
- onGranted: x,
4322
+ onGranted: b,
4326
4323
  onError: m,
4327
4324
  className: v
4328
4325
  }) {
4329
- const w = Nt(), { t: y } = K(), C = B((k, _) => y(k, _), [y]), { journey: l, view: h, snapshot: p, fanfareError: D, start: V } = Sa(e, {
4326
+ const h = Nt(), { t: x } = K(), C = B((k, _) => x(k, _), [x]), { journey: c, view: w, snapshot: p, fanfareError: D, start: V } = Sa(e, {
4330
4327
  autoStart: a,
4331
4328
  accessCode: r,
4332
4329
  autoEnterWaitlist: n
4333
- }), [T, b] = s.useState(!1), [N, S] = s.useState(!1), [M, A] = s.useState(!1), [I, O] = s.useState(!1), [$, fe] = s.useState(!1), [ce, L] = s.useState(null), [J, ne] = s.useState(!1), [se, de] = s.useState(!1), [ee, P] = s.useState(!1), ae = h?.journeyStage ?? null, me = h?.journeyStage === "routed" ? h : void 0, ke = me?.offers.some((k) => k.gates.some((_) => _.type === "access_code")) ?? !1, Re = h?.journeyStage === "routed" ? ke || J : h?.journeyStage === "routing" && J, ue = St(p), q = ue?.phase ?? me?.sequence.phase ?? null, _e = ce, Ne = _e ? ra(_e, C) : null, st = p?.experience?.experience?.theme, Ue = o ?? st, lt = i ?? o?.variant ?? st?.variant, xe = X(() => p ? xa(p) : [], [p]);
4330
+ }), [T, y] = s.useState(!1), [N, S] = s.useState(!1), [M, A] = s.useState(!1), [I, O] = s.useState(!1), [$, fe] = s.useState(!1), [ce, L] = s.useState(null), [J, ne] = s.useState(!1), [se, de] = s.useState(!1), [ee, P] = s.useState(!1), te = w?.journeyStage ?? null, me = w?.journeyStage === "routed" ? w : void 0, _e = me?.offers.some((k) => k.gates.some((_) => _.type === "access_code")) ?? !1, Re = w?.journeyStage === "routed" ? _e || J : w?.journeyStage === "routing" && J, ue = St(p), q = ue?.phase ?? me?.sequence.phase ?? null, Ne = ce, xe = Ne ? ra(Ne, C) : null, st = p?.experience?.experience?.theme, We = o ?? st, lt = i ?? o?.variant ?? st?.variant, ye = X(() => p ? xa(p) : [], [p]);
4334
4331
  s.useEffect(() => {
4335
4332
  p && d && d(p);
4336
4333
  }, [p, d]), s.useEffect(() => {
4337
- _e && m && m(_e);
4338
- }, [_e, m]);
4334
+ Ne && m && m(Ne);
4335
+ }, [Ne, m]);
4339
4336
  const F = B(
4340
4337
  (k) => {
4341
- const _ = mt(k), { disposition: R } = wr(_.code, _.status, _.action), ye = l?.view$.get();
4342
- if (R === "RESTART" && (ye?.journeyStage === "gated" || ye?.journeyStage === "routed")) {
4343
- m?.(_), ye.reroute().catch((he) => L(mt(he)));
4338
+ const _ = mt(k);
4339
+ if (_.quietable) {
4340
+ L(null), m?.(_);
4341
+ return;
4342
+ }
4343
+ const { disposition: R } = vr(_.code, _.status, _.action), ke = c?.view$.get();
4344
+ if (R === "RESTART" && (ke?.journeyStage === "gated" || ke?.journeyStage === "routed")) {
4345
+ m?.(_), ke.reroute().catch((he) => L(mt(he)));
4344
4346
  return;
4345
4347
  }
4346
4348
  L(_);
4347
4349
  },
4348
- [l, m]
4349
- ), je = B(
4350
+ [c, m]
4351
+ ), ze = B(
4350
4352
  (k) => {
4351
4353
  const _ = mt(k), R = ra(_, C);
4352
4354
  throw R.disposition === "INLINE" || R.disposition === "STEP_RESET" ? m?.(_) : F(_), new Error(R.description);
@@ -4361,34 +4363,34 @@ function ko({
4361
4363
  D !== Fe.current && (Fe.current = D, F(D));
4362
4364
  }, [D, F]);
4363
4365
  const Le = B(async () => {
4364
- b(!0), L(null);
4366
+ y(!0), L(null);
4365
4367
  try {
4366
4368
  await V();
4367
4369
  } catch {
4368
4370
  } finally {
4369
- b(!1);
4371
+ y(!1);
4370
4372
  }
4371
4373
  }, [V]), [Ae, He] = s.useState(null), ct = B(
4372
4374
  async (k, _) => {
4373
4375
  L(null);
4374
4376
  try {
4375
- _ === "email" ? await w.auth.requestOtp({ email: k }) : await w.auth.requestOtp({ phone: k }), He({ value: k, type: _ });
4377
+ _ === "email" ? await h.auth.requestOtp({ email: k }) : await h.auth.requestOtp({ phone: k }), He({ value: k, type: _ });
4376
4378
  } catch (R) {
4377
- je(R);
4379
+ ze(R);
4378
4380
  }
4379
4381
  },
4380
- [je, w]
4382
+ [ze, h]
4381
4383
  ), dt = B(
4382
4384
  async (k) => {
4383
- if (!l || !Ae) return;
4385
+ if (!c || !Ae) return;
4384
4386
  L(null);
4385
4387
  try {
4386
- Ae.type === "email" ? await w.auth.verifyOtp({ email: Ae.value, code: k }) : await w.auth.verifyOtp({ phone: Ae.value, code: k });
4388
+ Ae.type === "email" ? await h.auth.verifyOtp({ email: Ae.value, code: k }) : await h.auth.verifyOtp({ phone: Ae.value, code: k });
4387
4389
  } catch (R) {
4388
- je(R);
4390
+ ze(R);
4389
4391
  }
4390
4392
  He(null);
4391
- const _ = l.view$.get();
4393
+ const _ = c.view$.get();
4392
4394
  if (_.journeyStage === "gated")
4393
4395
  try {
4394
4396
  await _.reroute();
@@ -4396,26 +4398,26 @@ function ko({
4396
4398
  F(R);
4397
4399
  }
4398
4400
  },
4399
- [je, F, w, l, Ae]
4401
+ [ze, F, h, c, Ae]
4400
4402
  ), Ke = B(
4401
4403
  async (k) => {
4402
- if (l) {
4404
+ if (c) {
4403
4405
  L(null);
4404
4406
  try {
4405
- const _ = l.view$.get();
4407
+ const _ = c.view$.get();
4406
4408
  _.journeyStage === "gated" && await _.reroute({ accessCode: k });
4407
4409
  } catch (_) {
4408
4410
  F(_);
4409
4411
  }
4410
4412
  }
4411
4413
  },
4412
- [F, l]
4413
- ), W = B(
4414
+ [F, c]
4415
+ ), U = B(
4414
4416
  async (k) => {
4415
- if (l) {
4417
+ if (c) {
4416
4418
  P(!0), de(!1);
4417
4419
  try {
4418
- const _ = l.view$.get();
4420
+ const _ = c.view$.get();
4419
4421
  if (_.journeyStage !== "routed") return;
4420
4422
  switch ((await _.submitAccessCode(k)).outcome) {
4421
4423
  case "advanced":
@@ -4435,36 +4437,36 @@ function ko({
4435
4437
  }
4436
4438
  }
4437
4439
  },
4438
- [F, l]
4440
+ [F, c]
4439
4441
  ), Se = B(async () => {
4440
- if (l) {
4442
+ if (c) {
4441
4443
  S(!0), L(null);
4442
4444
  try {
4443
- const k = l.view$.get();
4444
- k.journeyStage === "routed" && k.sequence.phase === "scheduled" && await k.sequence.waitlist?.join();
4445
+ const k = c.view$.get();
4446
+ k.journeyStage === "routed" && k.sequence.phase === "scheduled" && await k.waitlist?.join();
4445
4447
  } catch (k) {
4446
4448
  F(k);
4447
4449
  } finally {
4448
4450
  S(!1);
4449
4451
  }
4450
4452
  }
4451
- }, [F, l]), Pe = B(async () => {
4452
- if (l) {
4453
+ }, [F, c]), Pe = B(async () => {
4454
+ if (c) {
4453
4455
  A(!0), L(null);
4454
4456
  try {
4455
- const k = l.view$.get();
4456
- k.journeyStage === "routed" && k.sequence.phase === "scheduled" && await k.sequence.waitlist?.leave();
4457
+ const k = c.view$.get();
4458
+ k.journeyStage === "routed" && k.sequence.phase === "scheduled" && await k.waitlist?.leave();
4457
4459
  } catch (k) {
4458
4460
  F(k);
4459
4461
  } finally {
4460
4462
  A(!1);
4461
4463
  }
4462
4464
  }
4463
- }, [F, l]), Ze = B(async () => {
4464
- if (!l) return;
4465
- const k = l.view$.get();
4465
+ }, [F, c]), Ze = B(async () => {
4466
+ if (!c) return;
4467
+ const k = c.view$.get();
4466
4468
  k.journeyStage === "routed" && k.sequence.phase === "enterable" && "enter" in k.sequence && await k.sequence.enter();
4467
- }, [l]), De = B(async () => {
4469
+ }, [c]), De = B(async () => {
4468
4470
  O(!0), L(null);
4469
4471
  try {
4470
4472
  await Ze();
@@ -4474,10 +4476,10 @@ function ko({
4474
4476
  O(!1);
4475
4477
  }
4476
4478
  }, [Ze, F]), Ve = B(async () => {
4477
- if (l) {
4479
+ if (c) {
4478
4480
  fe(!0), L(null);
4479
4481
  try {
4480
- const k = l.view$.get();
4482
+ const k = c.view$.get();
4481
4483
  k.journeyStage === "routed" && k.sequence.phase === "participating" && "leave" in k.sequence && await k.sequence.leave();
4482
4484
  } catch (k) {
4483
4485
  F(k);
@@ -4485,35 +4487,35 @@ function ko({
4485
4487
  fe(!1);
4486
4488
  }
4487
4489
  }
4488
- }, [F, l]), er = B(async () => {
4489
- if (l) {
4490
+ }, [F, c]), er = B(async () => {
4491
+ if (c) {
4490
4492
  L(null);
4491
4493
  try {
4492
- const k = l.view$.get();
4494
+ const k = c.view$.get();
4493
4495
  k.journeyStage === "routed" && k.sequence.phase === "participating" && "complete" in k.sequence && await k.sequence.complete();
4494
4496
  } catch (k) {
4495
4497
  F(k);
4496
4498
  }
4497
4499
  }
4498
- }, [F, l]), $t = B(
4500
+ }, [F, c]), $t = B(
4499
4501
  async (k) => {
4500
- if (l) {
4502
+ if (c) {
4501
4503
  L(null);
4502
4504
  try {
4503
- const _ = l.view$.get();
4504
- _.journeyStage === "routed" && go(_.sequence) && await _.sequence.bid(k);
4505
+ const _ = c.view$.get();
4506
+ _.journeyStage === "routed" && mo(_.sequence) && await _.sequence.bid(k);
4505
4507
  } catch (_) {
4506
4508
  F(_);
4507
4509
  }
4508
4510
  }
4509
4511
  },
4510
- [F, l]
4511
- ), [tr, qt] = s.useState(!1), [ar, Wt] = s.useState(!1), [rr, Ut] = s.useState(!1), Ht = B(
4512
+ [F, c]
4513
+ ), [tr, qt] = s.useState(!1), [ar, Ut] = s.useState(!1), [rr, Wt] = s.useState(!1), Ht = B(
4512
4514
  async (k, _) => {
4513
- if (l) {
4515
+ if (c) {
4514
4516
  L(null), qt(!0);
4515
4517
  try {
4516
- const R = l.view$.get();
4518
+ const R = c.view$.get();
4517
4519
  R.journeyStage === "routed" && R.sequence.phase === "enterable" && "book" in R.sequence && await R.sequence.book(k, _);
4518
4520
  } catch (R) {
4519
4521
  F(R);
@@ -4522,77 +4524,77 @@ function ko({
4522
4524
  }
4523
4525
  }
4524
4526
  },
4525
- [F, l]
4527
+ [F, c]
4526
4528
  ), Kt = B(
4527
4529
  async (k) => {
4528
- if (l) {
4529
- L(null), Wt(!0);
4530
+ if (c) {
4531
+ L(null), Ut(!0);
4530
4532
  try {
4531
- const _ = l.view$.get();
4533
+ const _ = c.view$.get();
4532
4534
  _.journeyStage === "routed" && _.sequence.phase === "participating" && "cancel" in _.sequence && await _.sequence.cancel(k);
4533
4535
  } catch (_) {
4534
4536
  F(_);
4535
4537
  } finally {
4536
- Wt(!1);
4538
+ Ut(!1);
4537
4539
  }
4538
4540
  }
4539
4541
  },
4540
- [F, l]
4542
+ [F, c]
4541
4543
  ), Zt = B(
4542
4544
  async (k, _) => {
4543
- if (l) {
4544
- L(null), Ut(!0);
4545
+ if (c) {
4546
+ L(null), Wt(!0);
4545
4547
  try {
4546
- const R = l.view$.get();
4548
+ const R = c.view$.get();
4547
4549
  R.journeyStage === "routed" && R.sequence.phase === "participating" && "reschedule" in R.sequence && await R.sequence.reschedule(k, _);
4548
4550
  } catch (R) {
4549
4551
  F(R);
4550
4552
  } finally {
4551
- Ut(!1);
4553
+ Wt(!1);
4552
4554
  }
4553
4555
  }
4554
4556
  },
4555
- [F, l]
4557
+ [F, c]
4556
4558
  ), Ye = B(async () => {
4557
4559
  await Le();
4558
4560
  }, [Le]), Yt = B(
4559
4561
  async (k) => {
4560
- if (l) {
4562
+ if (c) {
4561
4563
  L(null);
4562
4564
  try {
4563
- const _ = xe.find((ye) => ye.type === "bot_check");
4564
- _?.type === "bot_check" && _.challenge && await w.challenges.verify({ challengeId: _.challenge.id, token: k });
4565
- const R = l.view$.get();
4565
+ const _ = ye.find((ke) => ke.type === "bot_check");
4566
+ _?.type === "bot_check" && _.challenge && await h.challenges.verify({ challengeId: _.challenge.id, token: k });
4567
+ const R = c.view$.get();
4566
4568
  R.journeyStage === "gated" && await R.reroute();
4567
4569
  } catch (_) {
4568
4570
  F(_);
4569
4571
  }
4570
4572
  }
4571
4573
  },
4572
- [F, w, l, xe]
4574
+ [F, h, c, ye]
4573
4575
  ), Gt = B(() => {
4574
- if (!l) return;
4576
+ if (!c) return;
4575
4577
  L(null);
4576
- const k = l.view$.get();
4578
+ const k = c.view$.get();
4577
4579
  k.journeyStage === "gated" && k.retry().catch(F);
4578
- }, [F, l]), z = X(() => h?.journeyStage === "routed" && "sequence" in h ? h.sequence : void 0, [h]), Ge = X(() => z?.phase === "scheduled" ? z.waitlist : void 0, [z]), Ce = vo(p, z), oe = bo(p), nr = xo(p), Jt = yo(nr, oe?.id), Ie = ue && "grant" in ue && ue.grant ? ue.grant : void 0, Je = ue && "outcome" in ue && ue.outcome ? ue.outcome : void 0;
4580
+ }, [F, c]), z = X(() => w?.journeyStage === "routed" && "sequence" in w ? w.sequence : void 0, [w]), Ge = X(() => z?.phase === "scheduled" && w?.journeyStage === "routed" ? w.waitlist : void 0, [z, w]), Ce = bo(p, z), oe = xo(p), nr = yo(p), Jt = ko(nr, oe?.id), Ie = ue && "grant" in ue && ue.grant ? ue.grant : void 0, Je = ue && "outcome" in ue && ue.outcome ? ue.outcome : void 0;
4579
4581
  s.useEffect(() => {
4580
- Ie?.token && x && x(Ie.token);
4581
- }, [Ie?.token, x]);
4582
+ Ie?.token && b && b(Ie.token);
4583
+ }, [Ie?.token, b]);
4582
4584
  const or = X(() => Ee(Ce) ? Ce : Ee(oe?.type) ? oe.type : null, [oe?.type, Ce]), Ct = X(() => Ee(Ce) ? Ce : null, [Ce]), Qt = X(() => Ee(Ce) ? Ce : Ee(oe?.type) ? oe.type : null, [oe?.type, Ce]), Xt = X(() => Ge?.status === "not_waitlisted" && typeof Ge.join == "function", [Ge]), Qe = X(() => {
4583
- if (ae === "routing") return "loading";
4584
- if (ae === "gated" && xe.length > 0) {
4585
- const k = xe[0];
4585
+ if (te === "routing") return "loading";
4586
+ if (te === "gated" && ye.length > 0) {
4587
+ const k = ye[0];
4586
4588
  if (k.type === "authentication") return "auth";
4587
4589
  if (k.type === "access_code") return "access_code";
4588
4590
  }
4589
4591
  return "none";
4590
- }, [ae, xe]), ut = X(() => {
4591
- if (ae === "routing") return y("experience.findingPlace");
4592
- }, [ae, y]), Be = X(() => {
4593
- if (!(!l || q !== "participating" || !z || z.phase !== "participating" || !("display$" in z)))
4592
+ }, [te, ye]), ut = X(() => {
4593
+ if (te === "routing") return x("loading.findingPlace");
4594
+ }, [te, x]), Be = X(() => {
4595
+ if (!(!c || q !== "participating" || !z || z.phase !== "participating" || !("display$" in z)))
4594
4596
  return z.display$;
4595
- }, [l, q, z]), pt = ze(Be ?? po), ea = X(() => {
4597
+ }, [c, q, z]), pt = je(Be ?? go), fr = p?.degraded === !0 && te === "routed" && !xe, ea = X(() => {
4596
4598
  const k = oe?.details?.type === "auction" ? oe.details : void 0, _ = z?.phase === "participating" && z.mechanism === "auction" ? z.consumer : void 0, R = pt;
4597
4599
  if (!(!k && !_ && !R))
4598
4600
  return {
@@ -4605,23 +4607,23 @@ function ko({
4605
4607
  minNextBid: R?.minNextBid ?? k?.minNextBid,
4606
4608
  bidIncrement: R?.bidIncrement ?? k?.bidIncrement
4607
4609
  };
4608
- }, [pt, z, oe?.details]), Oe = X(() => z?.phase === "scheduled" && z.startsAt ? new Date(z.startsAt) : oe?.opensAt ? new Date(oe.opensAt) : void 0, [z, oe?.opensAt]), fr = X(() => {
4610
+ }, [pt, z, oe?.details]), Oe = X(() => z?.phase === "scheduled" && z.startsAt ? new Date(z.startsAt) : oe?.opensAt ? new Date(oe.opensAt) : void 0, [z, oe?.opensAt]), ir = X(() => {
4609
4611
  if (!(q !== "participating" || Ct !== "queue"))
4610
4612
  return pt?.position;
4611
4613
  }, [pt, Ct, q]);
4612
- if (c)
4613
- return /* @__PURE__ */ t(Rt, { theme: Ue, variant: lt, children: /* @__PURE__ */ t("div", { className: E("fanfare-experience-widget", v), "data-slot": "experience-widget", children: c({
4614
- journey: l,
4615
- view: h,
4614
+ if (l)
4615
+ return /* @__PURE__ */ t(Rt, { theme: We, variant: lt, children: /* @__PURE__ */ t("div", { className: E("fanfare-experience-widget", v), "data-slot": "experience-widget", children: l({
4616
+ journey: c,
4617
+ view: w,
4616
4618
  snapshot: p,
4617
- error: Ne?.description ?? null,
4619
+ error: xe?.description ?? null,
4618
4620
  start: Le,
4619
4621
  isStarting: T
4620
4622
  }) }) });
4621
- const le = { snapshot: p, view: h, error: Ne?.description ?? null }, ir = () => {
4622
- if (Ne)
4623
- return f?.error ? f.error({ ...le, error: Ne.description, onRetry: Ye }) : /* @__PURE__ */ t(et, { error: Ne.description, title: Ne.title, onRetry: Ye });
4624
- if (ae === "ready")
4623
+ const le = { snapshot: p, view: w, error: xe?.description ?? null }, sr = () => {
4624
+ if (xe)
4625
+ return f?.error ? f.error({ ...le, error: xe.description, onRetry: Ye }) : /* @__PURE__ */ t(et, { error: xe.description, title: xe.title, onRetry: Ye });
4626
+ if (te === "ready")
4625
4627
  return f?.start ? f.start({ ...le, onStart: Le, isStarting: T }) : /* @__PURE__ */ t(Ja, { onStart: Le, isLoading: T });
4626
4628
  if (Qe !== "none")
4627
4629
  return Qe === "auth" && f?.auth ? f.auth({
@@ -4641,8 +4643,8 @@ function ko({
4641
4643
  onAccessCodeSubmit: Ke
4642
4644
  }
4643
4645
  );
4644
- if (ae === "gated" && xe[0]?.type === "bot_check") {
4645
- const k = xe[0], _ = k.challenge ?? null, R = k.mitigation;
4646
+ if (te === "gated" && ye[0]?.type === "bot_check") {
4647
+ const k = ye[0], _ = k.challenge ?? null, R = k.mitigation;
4646
4648
  return f?.challenge ? f.challenge({
4647
4649
  ...le,
4648
4650
  challenge: _,
@@ -4650,7 +4652,7 @@ function ko({
4650
4652
  onVerifyToken: Yt,
4651
4653
  onRetry: Gt
4652
4654
  }) : /* @__PURE__ */ t(
4653
- ja,
4655
+ za,
4654
4656
  {
4655
4657
  challenge: _,
4656
4658
  botMitigation: R,
@@ -4660,12 +4662,12 @@ function ko({
4660
4662
  }
4661
4663
  );
4662
4664
  }
4663
- if (ae === "routed") {
4665
+ if (te === "routed") {
4664
4666
  if (q === "unavailable")
4665
4667
  return f?.ended ? f.ended({
4666
4668
  ...le,
4667
4669
  reason: z?.phase === "unavailable" ? z.reason ?? "unavailable" : "unavailable"
4668
- }) : /* @__PURE__ */ t(Fa, { title: y("experience.noSequenceTitle"), message: y("experience.noSequenceMessage") });
4670
+ }) : /* @__PURE__ */ t(Fa, { title: x("widget.noSequence.title"), message: x("widget.noSequence.message") });
4669
4671
  if (q === "scheduled")
4670
4672
  return Ge && Ge.status !== "not_waitlisted" ? f?.waitlist ? f.waitlist({
4671
4673
  ...le,
@@ -4688,19 +4690,19 @@ function ko({
4688
4690
  }
4689
4691
  );
4690
4692
  if (q === "enterable" || q === "participating") {
4691
- const k = q === "enterable" ? or : Ct, _ = q === "participating" ? Jt : oe?.id, R = z?.phase === "enterable" && "enter" in z && typeof z.enter == "function", ye = z?.phase === "participating" && "leave" in z;
4692
- if (q === "enterable" && f?.enterable && mo(z))
4693
+ const k = q === "enterable" ? or : Ct, _ = q === "participating" ? Jt : oe?.id, R = z?.phase === "enterable" && "enter" in z && typeof z.enter == "function", ke = z?.phase === "participating" && "leave" in z;
4694
+ if (q === "enterable" && f?.enterable && ho(z))
4693
4695
  return f.enterable({
4694
4696
  ...le,
4695
4697
  sequence: z,
4696
4698
  participationType: z.mechanism
4697
4699
  });
4698
- if (q === "participating" && f?.participating && ho(z))
4700
+ if (q === "participating" && f?.participating && wo(z))
4699
4701
  return f.participating({
4700
4702
  ...le,
4701
4703
  sequence: z,
4702
4704
  participationType: z.mechanism,
4703
- position: fr
4705
+ position: ir
4704
4706
  });
4705
4707
  const he = oe?.details;
4706
4708
  if (_)
@@ -4713,7 +4715,7 @@ function ko({
4713
4715
  display$: Be,
4714
4716
  sequencePhase: q,
4715
4717
  canEnter: R,
4716
- canLeave: ye,
4718
+ canLeave: ke,
4717
4719
  onEnter: De,
4718
4720
  onLeave: Ve,
4719
4721
  isEntering: I,
@@ -4730,7 +4732,7 @@ function ko({
4730
4732
  display$: Be,
4731
4733
  sequencePhase: q,
4732
4734
  canEnter: R,
4733
- canLeave: ye,
4735
+ canLeave: ke,
4734
4736
  onEnter: De,
4735
4737
  onLeave: Ve,
4736
4738
  isEntering: I,
@@ -4748,7 +4750,7 @@ function ko({
4748
4750
  fallbackState: ea,
4749
4751
  sequencePhase: q,
4750
4752
  canEnter: R,
4751
- canLeave: ye,
4753
+ canLeave: ke,
4752
4754
  onEnter: De,
4753
4755
  onLeave: Ve,
4754
4756
  onBid: $t,
@@ -4768,7 +4770,7 @@ function ko({
4768
4770
  display$: Be,
4769
4771
  sequencePhase: q,
4770
4772
  canEnter: R,
4771
- canLeave: ye,
4773
+ canLeave: ke,
4772
4774
  onEnter: De,
4773
4775
  onLeave: Ve,
4774
4776
  onComplete: er,
@@ -4803,7 +4805,7 @@ function ko({
4803
4805
  );
4804
4806
  }
4805
4807
  }
4806
- return /* @__PURE__ */ t(et, { error: y("experience.unsupportedDistribution"), onRetry: Ye });
4808
+ return /* @__PURE__ */ t(et, { error: x("widget.unsupportedDistribution"), onRetry: Ye });
4807
4809
  }
4808
4810
  if (q === "settling") {
4809
4811
  if (z?.phase !== "settling")
@@ -4852,7 +4854,7 @@ function ko({
4852
4854
  }
4853
4855
  if (q === "granted") {
4854
4856
  const k = Ie?.expiresAt ? new Date(Ie.expiresAt).getTime() : void 0;
4855
- if (f?.granted && wo(z))
4857
+ if (f?.granted && vo(z))
4856
4858
  return f.granted({
4857
4859
  ...le,
4858
4860
  sequence: z,
@@ -4881,7 +4883,7 @@ function ko({
4881
4883
  case "timed_release":
4882
4884
  return /* @__PURE__ */ t(vt, { ..._ });
4883
4885
  }
4884
- return /* @__PURE__ */ t(et, { error: y("experience.unsupportedDistribution"), onRetry: Ye });
4886
+ return /* @__PURE__ */ t(et, { error: x("widget.unsupportedDistribution"), onRetry: Ye });
4885
4887
  }
4886
4888
  if (q === "ended") {
4887
4889
  const k = Je?.type ?? (z?.phase === "ended" ? z.outcome.reason : void 0) ?? "unknown";
@@ -4934,13 +4936,22 @@ function ko({
4934
4936
  }
4935
4937
  );
4936
4938
  }
4937
- return /* @__PURE__ */ t(et, { error: y("experience.unsupportedDistribution"), onRetry: Ye });
4939
+ return /* @__PURE__ */ t(et, { error: x("widget.unsupportedDistribution"), onRetry: Ye });
4938
4940
  }
4939
4941
  }
4940
4942
  return f?.loading ? f.loading({ ...le, message: ut }) : /* @__PURE__ */ t(It, { message: ut });
4941
- }, sr = `${ae ?? "loading"}-${q ?? "unavailable"}`;
4942
- return /* @__PURE__ */ t(Rt, { theme: Ue, variant: lt, children: /* @__PURE__ */ u("div", { className: E("fanfare-experience-widget", v), "data-slot": "experience-widget", children: [
4943
- /* @__PURE__ */ t(rt, { transitionKey: sr, children: ir() }),
4943
+ }, lr = `${te ?? "loading"}-${q ?? "unavailable"}`;
4944
+ return /* @__PURE__ */ t(Rt, { theme: We, variant: lt, children: /* @__PURE__ */ u("div", { className: E("fanfare-experience-widget", v), "data-slot": "experience-widget", children: [
4945
+ /* @__PURE__ */ t(rt, { transitionKey: lr, children: sr() }),
4946
+ fr ? /* @__PURE__ */ t(
4947
+ "div",
4948
+ {
4949
+ className: "fanfare-degraded-indicator ff:mt-3 ff:text-center ff:text-xs ff:text-muted",
4950
+ "data-slot": "degraded-indicator",
4951
+ role: "status",
4952
+ children: x("status.liveUpdatesPaused")
4953
+ }
4954
+ ) : null,
4944
4955
  Re ? /* @__PURE__ */ t(
4945
4956
  Xa,
4946
4957
  {
@@ -4953,14 +4964,14 @@ function ko({
4953
4964
  onClose: () => {
4954
4965
  de(!1), ne(!1);
4955
4966
  },
4956
- onSubmit: W
4967
+ onSubmit: U
4957
4968
  }
4958
4969
  ) : null
4959
4970
  ] }) });
4960
4971
  }
4961
- ko.displayName = "ExperienceWidget";
4962
- const _o = '@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-space-y-reverse:0;--tw-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-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--ff-font-sans:"Inter",system-ui,sans-serif;--ff-font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ff-color-neutral-50:oklch(98.5% 0 0);--ff-color-neutral-200:oklch(92.2% 0 0);--ff-color-neutral-300:oklch(87% 0 0);--ff-color-neutral-500:oklch(55.6% 0 0);--ff-color-white:#fff;--ff-spacing:.25rem;--ff-container-sm:24rem;--ff-text-xs:.75rem;--ff-text-xs--line-height:calc(1/.75);--ff-text-sm:.875rem;--ff-text-sm--line-height:calc(1.25/.875);--ff-text-base:1rem;--ff-text-base--line-height: 1.5 ;--ff-text-lg:1.125rem;--ff-text-lg--line-height:calc(1.75/1.125);--ff-text-xl:1.25rem;--ff-text-xl--line-height:calc(1.75/1.25);--ff-text-2xl:1.5rem;--ff-text-2xl--line-height:calc(2/1.5);--ff-text-3xl:1.875rem;--ff-text-3xl--line-height: 1.2 ;--ff-text-4xl:2.25rem;--ff-text-4xl--line-height:calc(2.5/2.25);--ff-font-weight-extralight:200;--ff-font-weight-light:300;--ff-font-weight-normal:400;--ff-font-weight-medium:500;--ff-font-weight-semibold:600;--ff-font-weight-bold:700;--ff-font-weight-extrabold:800;--ff-font-weight-black:900;--ff-tracking-tight:-.025em;--ff-tracking-normal:0em;--ff-tracking-wide:.025em;--ff-tracking-wider:.05em;--ff-tracking-widest:.1em;--ff-leading-tight:1.25;--ff-radius-md:.375rem;--ff-radius-lg:.5rem;--ff-radius-xl:.75rem;--ff-radius-2xl:1rem;--ff-radius-3xl:1.5rem;--ff-ease-out:cubic-bezier(0,0,.2,1);--ff-animate-spin:spin 1s linear infinite;--ff-animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--ff-default-transition-duration:.15s;--ff-default-transition-timing-function:cubic-bezier(.4,0,.2,1);--ff-default-font-family:var(--ff-font-sans);--ff-default-mono-font-family:var(--ff-font-mono);--ff-color-primary:#1d1f27;--ff-color-primary-foreground:#fff;--ff-color-secondary:#f4f4f5;--ff-color-background:#fff;--ff-color-surface:transparent;--ff-color-surface-foreground:#1d1f27;--ff-color-foreground:#1d1f27;--ff-color-muted:#4b4e56cc;--ff-color-muted-foreground:#4b4e5699;--ff-color-border:#4b4e5666;--ff-color-success:oklch(77% .18 130);--ff-color-success-foreground:#111;--ff-color-warning:oklch(72% .18 65);--ff-color-warning-foreground:#111;--ff-color-danger:oklch(63% .24 25);--ff-color-danger-foreground:#fff;--ff-font-heading:"Inter",system-ui,sans-serif;--ff-text-xxs:.625rem;--ff-text-xxs--line-height:.875rem;--ff-animate-fade-in:fade-in .2s ease-out;--ff-animate-fade-out:fade-out .2s ease-out;--ff-animate-slide-in:slide-in .2s ease-out;--ff-animate-slide-out:slide-out .2s ease-out;--ff-animate-scale-in:scale-in .2s ease-out;--ff-animate-scale-out:scale-out .2s ease-out;--ff-animate-accordion-down:accordion-down .2s ease-out;--ff-animate-accordion-up:accordion-up .2s ease-out;--ff-animate-celebration:celebration-bounce .6s ease-out;--ff-animate-shake:shake .5s ease-out;--ff-animate-pulse-success:pulse-success 1s ease-out}}@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(--ff-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(--ff-default-font-feature-settings,normal);font-variation-settings:var(--ff-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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--ff-default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--ff-default-mono-font-feature-settings,normal);font-variation-settings:var(--ff-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}.fanfare-themed{font-family:var(--ff-font-sans);color:var(--ff-color-foreground);background-color:var(--ff-color-surface)}.fanfare-themed *,.fanfare-themed :after,.fanfare-themed :before,.fanfare-themed ::backdrop{border-color:var(--ff-color-border);outline-color:var(--ff-color-border)}.fanfare-themed ::file-selector-button{border-color:var(--ff-color-border);outline-color:var(--ff-color-border)}.fanfare-themed button:not(:disabled),.fanfare-themed [role=button]:not(:disabled){cursor:pointer}.fanfare-themed :focus-visible{outline:2px solid var(--ff-color-primary);outline-offset:2px}@media(prefers-reduced-motion:reduce){.fanfare-themed *,.fanfare-themed :before,.fanfare-themed :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.fanfare-root{color:var(--ff-color-foreground);background-color:var(--ff-color-surface);font-family:var(--ff-font-sans)}.fanfare-root *,.fanfare-root :after,.fanfare-root :before,.fanfare-root ::backdrop{border-color:var(--ff-color-border);outline-color:var(--ff-color-border)}.fanfare-root ::file-selector-button{border-color:var(--ff-color-border);outline-color:var(--ff-color-border)}.fanfare-root button:not(:disabled),.fanfare-root [role=button]:not(:disabled){cursor:pointer}@media(prefers-reduced-motion:reduce){.fanfare-root *,.fanfare-root :before,.fanfare-root :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}}@layer components;@layer utilities{.ff\\:pointer-events-none{pointer-events:none}.ff\\:absolute{position:absolute}.ff\\:relative{position:relative}.ff\\:inset-0{inset:calc(var(--ff-spacing)*0)}.ff\\:top-1\\/2{top:50%}.ff\\:top-3{top:calc(var(--ff-spacing)*3)}.ff\\:right-2{right:calc(var(--ff-spacing)*2)}.ff\\:left-3{left:calc(var(--ff-spacing)*3)}.ff\\:z-10{z-index:10}.ff\\:-mx-1{margin-inline:calc(var(--ff-spacing)*-1)}.ff\\:mx-2{margin-inline:calc(var(--ff-spacing)*2)}.ff\\:-mt-0\\.5{margin-top:calc(var(--ff-spacing)*-.5)}.ff\\:mt-0\\.5{margin-top:calc(var(--ff-spacing)*.5)}.ff\\:mt-1{margin-top:calc(var(--ff-spacing)*1)}.ff\\:mt-3{margin-top:calc(var(--ff-spacing)*3)}.ff\\:mt-4{margin-top:calc(var(--ff-spacing)*4)}.ff\\:mt-auto{margin-top:auto}.ff\\:mb-1\\.5{margin-bottom:calc(var(--ff-spacing)*1.5)}.ff\\:mb-2{margin-bottom:calc(var(--ff-spacing)*2)}.ff\\:mb-4{margin-bottom:calc(var(--ff-spacing)*4)}.ff\\:mb-6{margin-bottom:calc(var(--ff-spacing)*6)}.ff\\:block{display:block}.ff\\:flex{display:flex}.ff\\:grid{display:grid}.ff\\:inline-block{display:inline-block}.ff\\:inline-flex{display:inline-flex}.ff\\:size-1{width:calc(var(--ff-spacing)*1);height:calc(var(--ff-spacing)*1)}.ff\\:size-1\\.5{width:calc(var(--ff-spacing)*1.5);height:calc(var(--ff-spacing)*1.5)}.ff\\:size-4{width:calc(var(--ff-spacing)*4);height:calc(var(--ff-spacing)*4)}.ff\\:size-5{width:calc(var(--ff-spacing)*5);height:calc(var(--ff-spacing)*5)}.ff\\:size-6{width:calc(var(--ff-spacing)*6);height:calc(var(--ff-spacing)*6)}.ff\\:size-8{width:calc(var(--ff-spacing)*8);height:calc(var(--ff-spacing)*8)}.ff\\:size-10{width:calc(var(--ff-spacing)*10);height:calc(var(--ff-spacing)*10)}.ff\\:h-0\\.5{height:calc(var(--ff-spacing)*.5)}.ff\\:h-1{height:calc(var(--ff-spacing)*1)}.ff\\:h-2{height:calc(var(--ff-spacing)*2)}.ff\\:h-2\\.5{height:calc(var(--ff-spacing)*2.5)}.ff\\:h-3{height:calc(var(--ff-spacing)*3)}.ff\\:h-4{height:calc(var(--ff-spacing)*4)}.ff\\:h-4\\.5{height:calc(var(--ff-spacing)*4.5)}.ff\\:h-5{height:calc(var(--ff-spacing)*5)}.ff\\:h-6{height:calc(var(--ff-spacing)*6)}.ff\\:h-8{height:calc(var(--ff-spacing)*8)}.ff\\:h-10{height:calc(var(--ff-spacing)*10)}.ff\\:h-12{height:calc(var(--ff-spacing)*12)}.ff\\:h-14{height:calc(var(--ff-spacing)*14)}.ff\\:h-16{height:calc(var(--ff-spacing)*16)}.ff\\:h-20{height:calc(var(--ff-spacing)*20)}.ff\\:h-32{height:calc(var(--ff-spacing)*32)}.ff\\:h-\\[480px\\]{height:480px}.ff\\:h-auto{height:auto}.ff\\:h-full{height:100%}.ff\\:max-h-44{max-height:calc(var(--ff-spacing)*44)}.ff\\:max-h-\\[24rem\\]{max-height:24rem}.ff\\:w-1\\/2{width:50%}.ff\\:w-1\\/3{width:33.3333%}.ff\\:w-2\\/3{width:66.6667%}.ff\\:w-3\\/4{width:75%}.ff\\:w-5\\/6{width:83.3333%}.ff\\:w-6{width:calc(var(--ff-spacing)*6)}.ff\\:w-9{width:calc(var(--ff-spacing)*9)}.ff\\:w-10{width:calc(var(--ff-spacing)*10)}.ff\\:w-12{width:calc(var(--ff-spacing)*12)}.ff\\:w-14{width:calc(var(--ff-spacing)*14)}.ff\\:w-16{width:calc(var(--ff-spacing)*16)}.ff\\:w-20{width:calc(var(--ff-spacing)*20)}.ff\\:w-40{width:calc(var(--ff-spacing)*40)}.ff\\:w-72{width:calc(var(--ff-spacing)*72)}.ff\\:w-80{width:calc(var(--ff-spacing)*80)}.ff\\:w-auto{width:auto}.ff\\:w-full{width:100%}.ff\\:max-w-sm{max-width:var(--ff-container-sm)}.ff\\:min-w-0{min-width:calc(var(--ff-spacing)*0)}.ff\\:flex-1{flex:1}.ff\\:shrink-0{flex-shrink:0}.ff\\:origin-center{transform-origin:50%}.ff\\:origin-top-left{transform-origin:0 0}.ff\\:-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:-translate-y-2{--tw-translate-y:calc(var(--ff-spacing)*-2);translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:scale-75{--tw-scale-x:75%;--tw-scale-y:75%;--tw-scale-z:75%;scale:var(--tw-scale-x)var(--tw-scale-y)}.ff\\:animate-\\[skeleton-shimmer_2s_ease-in-out_infinite\\]{animation:2s ease-in-out infinite skeleton-shimmer}.ff\\:animate-\\[skeleton-slide_2s_ease-in-out_infinite\\]{animation:2s ease-in-out infinite skeleton-slide}.ff\\:animate-\\[spin_1\\.2s_cubic-bezier\\(0\\.4\\,0\\,0\\.6\\,1\\)_infinite\\]{animation:1.2s cubic-bezier(.4,0,.6,1) infinite spin}.ff\\:animate-\\[spin_1\\.8s_linear_infinite\\]{animation:1.8s linear infinite spin}.ff\\:animate-accordion-down{animation:var(--ff-animate-accordion-down)}.ff\\:animate-accordion-up{animation:var(--ff-animate-accordion-up)}.ff\\:animate-celebration{animation:var(--ff-animate-celebration)}.ff\\:animate-fade-in{animation:var(--ff-animate-fade-in)}.ff\\:animate-fade-out{animation:var(--ff-animate-fade-out)}.ff\\:animate-none{animation:none}.ff\\:animate-pulse{animation:var(--ff-animate-pulse)}.ff\\:animate-pulse-success{animation:var(--ff-animate-pulse-success)}.ff\\:animate-scale-in{animation:var(--ff-animate-scale-in)}.ff\\:animate-scale-out{animation:var(--ff-animate-scale-out)}.ff\\:animate-shake{animation:var(--ff-animate-shake)}.ff\\:animate-slide-in{animation:var(--ff-animate-slide-in)}.ff\\:animate-slide-out{animation:var(--ff-animate-slide-out)}.ff\\:animate-spin{animation:var(--ff-animate-spin)}.ff\\:cursor-not-allowed{cursor:not-allowed}.ff\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.ff\\:flex-col{flex-direction:column}.ff\\:flex-row{flex-direction:row}.ff\\:flex-wrap{flex-wrap:wrap}.ff\\:items-baseline{align-items:baseline}.ff\\:items-center{align-items:center}.ff\\:items-start{align-items:flex-start}.ff\\:justify-between{justify-content:space-between}.ff\\:justify-center{justify-content:center}.ff\\:gap-0\\.5{gap:calc(var(--ff-spacing)*.5)}.ff\\:gap-1{gap:calc(var(--ff-spacing)*1)}.ff\\:gap-1\\.5{gap:calc(var(--ff-spacing)*1.5)}.ff\\:gap-2{gap:calc(var(--ff-spacing)*2)}.ff\\:gap-3{gap:calc(var(--ff-spacing)*3)}.ff\\:gap-4{gap:calc(var(--ff-spacing)*4)}.ff\\:gap-5{gap:calc(var(--ff-spacing)*5)}.ff\\:gap-6{gap:calc(var(--ff-spacing)*6)}.ff\\:gap-10{gap:calc(var(--ff-spacing)*10)}.ff\\:gap-12{gap:calc(var(--ff-spacing)*12)}:where(.ff\\:space-y-1\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--ff-spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--ff-spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.ff\\:space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--ff-spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--ff-spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.ff\\:space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--ff-spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--ff-spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.ff\\:space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--ff-spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--ff-spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}.ff\\:self-end{align-self:flex-end}.ff\\:overflow-hidden{overflow:hidden}.ff\\:overflow-visible{overflow:visible}.ff\\:overflow-x-auto{overflow-x:auto}.ff\\:overflow-y-auto{overflow-y:auto}.ff\\:rounded{border-radius:.25rem}.ff\\:rounded-2xl{border-radius:var(--ff-radius-2xl)}.ff\\:rounded-3xl{border-radius:var(--ff-radius-3xl)}.ff\\:rounded-\\[8px\\]{border-radius:8px}.ff\\:rounded-\\[10px\\]{border-radius:10px}.ff\\:rounded-\\[14px\\]{border-radius:14px}.ff\\:rounded-full{border-radius:3.40282e38px}.ff\\:rounded-lg{border-radius:var(--ff-radius-lg)}.ff\\:rounded-md{border-radius:var(--ff-radius-md)}.ff\\:rounded-none{border-radius:0}.ff\\:rounded-xl{border-radius:var(--ff-radius-xl)}.ff\\:border{border-style:var(--tw-border-style);border-width:1px}.ff\\:border-0{border-style:var(--tw-border-style);border-width:0}.ff\\:border-2{border-style:var(--tw-border-style);border-width:2px}.ff\\:border-3{border-style:var(--tw-border-style);border-width:3px}.ff\\:border-\\[1\\.5px\\]{border-style:var(--tw-border-style);border-width:1.5px}.ff\\:border-\\[2\\.5px\\]{border-style:var(--tw-border-style);border-width:2.5px}.ff\\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.ff\\:border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.ff\\:border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.ff\\:border-none{--tw-border-style:none;border-style:none}.ff\\:border-border,.ff\\:border-border\\/40{border-color:var(--ff-color-border)}@supports (color:color-mix(in lab,red,red)){.ff\\:border-border\\/40{border-color:color-mix(in oklab,var(--ff-color-border)40%,transparent)}}.ff\\:border-border\\/50{border-color:var(--ff-color-border)}@supports (color:color-mix(in lab,red,red)){.ff\\:border-border\\/50{border-color:color-mix(in oklab,var(--ff-color-border)50%,transparent)}}.ff\\:border-danger,.ff\\:border-danger\\/50{border-color:var(--ff-color-danger)}@supports (color:color-mix(in lab,red,red)){.ff\\:border-danger\\/50{border-color:color-mix(in oklab,var(--ff-color-danger)50%,transparent)}}.ff\\:border-foreground,.ff\\:border-foreground\\/8{border-color:var(--ff-color-foreground)}@supports (color:color-mix(in lab,red,red)){.ff\\:border-foreground\\/8{border-color:color-mix(in oklab,var(--ff-color-foreground)8%,transparent)}}.ff\\:border-foreground\\/12{border-color:var(--ff-color-foreground)}@supports (color:color-mix(in lab,red,red)){.ff\\:border-foreground\\/12{border-color:color-mix(in oklab,var(--ff-color-foreground)12%,transparent)}}.ff\\:border-foreground\\/20{border-color:var(--ff-color-foreground)}@supports (color:color-mix(in lab,red,red)){.ff\\:border-foreground\\/20{border-color:color-mix(in oklab,var(--ff-color-foreground)20%,transparent)}}.ff\\:border-foreground\\/\\[0\\.08\\]{border-color:var(--ff-color-foreground)}@supports (color:color-mix(in lab,red,red)){.ff\\:border-foreground\\/\\[0\\.08\\]{border-color:color-mix(in oklab,var(--ff-color-foreground)8%,transparent)}}.ff\\:border-neutral-200{border-color:var(--ff-color-neutral-200)}.ff\\:border-primary{border-color:var(--ff-color-primary)}.ff\\:border-transparent{border-color:#0000}.ff\\:border-b-danger{border-bottom-color:var(--ff-color-danger)}.ff\\:bg-\\[\\#ff3a00\\]{background-color:#ff3a00}.ff\\:bg-\\[color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_3\\%\\,var\\(--ff-color-background\\)\\)\\]{background-color:var(--ff-color-foreground)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-\\[color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_3\\%\\,var\\(--ff-color-background\\)\\)\\]{background-color:color-mix(in oklch,var(--ff-color-foreground)3%,var(--ff-color-background))}}.ff\\:bg-background,.ff\\:bg-background\\/60{background-color:var(--ff-color-background)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-background\\/60{background-color:color-mix(in oklab,var(--ff-color-background)60%,transparent)}}.ff\\:bg-background\\/70{background-color:var(--ff-color-background)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-background\\/70{background-color:color-mix(in oklab,var(--ff-color-background)70%,transparent)}}.ff\\:bg-danger,.ff\\:bg-danger\\/10{background-color:var(--ff-color-danger)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-danger\\/10{background-color:color-mix(in oklab,var(--ff-color-danger)10%,transparent)}}.ff\\:bg-foreground\\/5{background-color:var(--ff-color-foreground)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-foreground\\/5{background-color:color-mix(in oklab,var(--ff-color-foreground)5%,transparent)}}.ff\\:bg-foreground\\/40{background-color:var(--ff-color-foreground)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-foreground\\/40{background-color:color-mix(in oklab,var(--ff-color-foreground)40%,transparent)}}.ff\\:bg-foreground\\/\\[0\\.1\\]{background-color:var(--ff-color-foreground)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-foreground\\/\\[0\\.1\\]{background-color:color-mix(in oklab,var(--ff-color-foreground)10%,transparent)}}.ff\\:bg-foreground\\/\\[0\\.08\\]{background-color:var(--ff-color-foreground)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-foreground\\/\\[0\\.08\\]{background-color:color-mix(in oklab,var(--ff-color-foreground)8%,transparent)}}.ff\\:bg-muted\\/5{background-color:var(--ff-color-muted)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-muted\\/5{background-color:color-mix(in oklab,var(--ff-color-muted)5%,transparent)}}.ff\\:bg-neutral-50{background-color:var(--ff-color-neutral-50)}.ff\\:bg-primary{background-color:var(--ff-color-primary)}.ff\\:bg-primary-foreground{background-color:var(--ff-color-primary-foreground)}.ff\\:bg-primary\\/5{background-color:var(--ff-color-primary)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-primary\\/5{background-color:color-mix(in oklab,var(--ff-color-primary)5%,transparent)}}.ff\\:bg-secondary{background-color:var(--ff-color-secondary)}.ff\\:bg-success,.ff\\:bg-success\\/10{background-color:var(--ff-color-success)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-success\\/10{background-color:color-mix(in oklab,var(--ff-color-success)10%,transparent)}}.ff\\:bg-transparent{background-color:#0000}.ff\\:bg-warning,.ff\\:bg-warning\\/10{background-color:var(--ff-color-warning)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-warning\\/10{background-color:color-mix(in oklab,var(--ff-color-warning)10%,transparent)}}.ff\\:bg-linear-to-b{--tw-gradient-position:to bottom}@supports (background-image:linear-gradient(in lab,red,red)){.ff\\:bg-linear-to-b{--tw-gradient-position:to bottom in oklab}}.ff\\:bg-linear-to-b{background-image:linear-gradient(var(--tw-gradient-stops))}.ff\\:from-primary\\/10{--tw-gradient-from:var(--ff-color-primary)}@supports (color:color-mix(in lab,red,red)){.ff\\:from-primary\\/10{--tw-gradient-from:color-mix(in oklab,var(--ff-color-primary)10%,transparent)}}.ff\\:from-primary\\/10{--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))}.ff\\:to-primary\\/5{--tw-gradient-to:var(--ff-color-primary)}@supports (color:color-mix(in lab,red,red)){.ff\\:to-primary\\/5{--tw-gradient-to:color-mix(in oklab,var(--ff-color-primary)5%,transparent)}}.ff\\:to-primary\\/5{--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))}.ff\\:\\[background-size\\:200\\%_100\\%\\]{background-size:200% 100%}.ff\\:p-0{padding:calc(var(--ff-spacing)*0)}.ff\\:p-4{padding:calc(var(--ff-spacing)*4)}.ff\\:p-5{padding:calc(var(--ff-spacing)*5)}.ff\\:p-6{padding:calc(var(--ff-spacing)*6)}.ff\\:p-8{padding:calc(var(--ff-spacing)*8)}.ff\\:px-0{padding-inline:calc(var(--ff-spacing)*0)}.ff\\:px-2{padding-inline:calc(var(--ff-spacing)*2)}.ff\\:px-2\\.5{padding-inline:calc(var(--ff-spacing)*2.5)}.ff\\:px-3{padding-inline:calc(var(--ff-spacing)*3)}.ff\\:px-4{padding-inline:calc(var(--ff-spacing)*4)}.ff\\:px-5{padding-inline:calc(var(--ff-spacing)*5)}.ff\\:px-6{padding-inline:calc(var(--ff-spacing)*6)}.ff\\:py-0\\.5{padding-block:calc(var(--ff-spacing)*.5)}.ff\\:py-1{padding-block:calc(var(--ff-spacing)*1)}.ff\\:py-1\\.5{padding-block:calc(var(--ff-spacing)*1.5)}.ff\\:py-2{padding-block:calc(var(--ff-spacing)*2)}.ff\\:py-2\\.5{padding-block:calc(var(--ff-spacing)*2.5)}.ff\\:py-3{padding-block:calc(var(--ff-spacing)*3)}.ff\\:py-4{padding-block:calc(var(--ff-spacing)*4)}.ff\\:py-12{padding-block:calc(var(--ff-spacing)*12)}.ff\\:pt-2{padding-top:calc(var(--ff-spacing)*2)}.ff\\:pt-3{padding-top:calc(var(--ff-spacing)*3)}.ff\\:pt-5{padding-top:calc(var(--ff-spacing)*5)}.ff\\:pb-0\\.5{padding-bottom:calc(var(--ff-spacing)*.5)}.ff\\:pb-1{padding-bottom:calc(var(--ff-spacing)*1)}.ff\\:pb-2{padding-bottom:calc(var(--ff-spacing)*2)}.ff\\:pb-8{padding-bottom:calc(var(--ff-spacing)*8)}.ff\\:text-center{text-align:center}.ff\\:text-right{text-align:right}.ff\\:font-heading{font-family:var(--ff-font-heading)}.ff\\:font-mono{font-family:var(--ff-font-mono)}.ff\\:text-2xl{font-size:var(--ff-text-2xl);line-height:var(--tw-leading,var(--ff-text-2xl--line-height))}.ff\\:text-3xl{font-size:var(--ff-text-3xl);line-height:var(--tw-leading,var(--ff-text-3xl--line-height))}.ff\\:text-4xl{font-size:var(--ff-text-4xl);line-height:var(--tw-leading,var(--ff-text-4xl--line-height))}.ff\\:text-base{font-size:var(--ff-text-base);line-height:var(--tw-leading,var(--ff-text-base--line-height))}.ff\\:text-lg{font-size:var(--ff-text-lg);line-height:var(--tw-leading,var(--ff-text-lg--line-height))}.ff\\:text-sm{font-size:var(--ff-text-sm);line-height:var(--tw-leading,var(--ff-text-sm--line-height))}.ff\\:text-xl{font-size:var(--ff-text-xl);line-height:var(--tw-leading,var(--ff-text-xl--line-height))}.ff\\:text-xs{font-size:var(--ff-text-xs);line-height:var(--tw-leading,var(--ff-text-xs--line-height))}.ff\\:text-xxs{font-size:var(--ff-text-xxs);line-height:var(--tw-leading,var(--ff-text-xxs--line-height))}.ff\\:text-\\[2rem\\]{font-size:2rem}.ff\\:text-\\[10\\.5px\\]{font-size:10.5px}.ff\\:text-\\[52px\\]{font-size:52px}.ff\\:leading-none{--tw-leading:1;line-height:1}.ff\\:leading-tight{--tw-leading:var(--ff-leading-tight);line-height:var(--ff-leading-tight)}.ff\\:font-black{--tw-font-weight:var(--ff-font-weight-black);font-weight:var(--ff-font-weight-black)}.ff\\:font-bold{--tw-font-weight:var(--ff-font-weight-bold);font-weight:var(--ff-font-weight-bold)}.ff\\:font-extrabold{--tw-font-weight:var(--ff-font-weight-extrabold);font-weight:var(--ff-font-weight-extrabold)}.ff\\:font-extralight{--tw-font-weight:var(--ff-font-weight-extralight);font-weight:var(--ff-font-weight-extralight)}.ff\\:font-light{--tw-font-weight:var(--ff-font-weight-light);font-weight:var(--ff-font-weight-light)}.ff\\:font-medium{--tw-font-weight:var(--ff-font-weight-medium);font-weight:var(--ff-font-weight-medium)}.ff\\:font-normal{--tw-font-weight:var(--ff-font-weight-normal);font-weight:var(--ff-font-weight-normal)}.ff\\:font-semibold{--tw-font-weight:var(--ff-font-weight-semibold);font-weight:var(--ff-font-weight-semibold)}.ff\\:tracking-\\[-0\\.025em\\]{--tw-tracking:-.025em;letter-spacing:-.025em}.ff\\:tracking-\\[0\\.1em\\]{--tw-tracking:.1em;letter-spacing:.1em}.ff\\:tracking-\\[0\\.08em\\]{--tw-tracking:.08em;letter-spacing:.08em}.ff\\:tracking-\\[0\\.15em\\]{--tw-tracking:.15em;letter-spacing:.15em}.ff\\:tracking-normal{--tw-tracking:var(--ff-tracking-normal);letter-spacing:var(--ff-tracking-normal)}.ff\\:tracking-tight{--tw-tracking:var(--ff-tracking-tight);letter-spacing:var(--ff-tracking-tight)}.ff\\:tracking-wide{--tw-tracking:var(--ff-tracking-wide);letter-spacing:var(--ff-tracking-wide)}.ff\\:tracking-wider{--tw-tracking:var(--ff-tracking-wider);letter-spacing:var(--ff-tracking-wider)}.ff\\:tracking-widest{--tw-tracking:var(--ff-tracking-widest);letter-spacing:var(--ff-tracking-widest)}.ff\\:whitespace-nowrap{white-space:nowrap}.ff\\:text-current{color:currentColor}.ff\\:text-danger{color:var(--ff-color-danger)}.ff\\:text-danger-foreground{color:var(--ff-color-danger-foreground)}.ff\\:text-foreground,.ff\\:text-foreground\\/80{color:var(--ff-color-foreground)}@supports (color:color-mix(in lab,red,red)){.ff\\:text-foreground\\/80{color:color-mix(in oklab,var(--ff-color-foreground)80%,transparent)}}.ff\\:text-muted{color:var(--ff-color-muted)}.ff\\:text-muted-foreground{color:var(--ff-color-muted-foreground)}.ff\\:text-muted\\/60{color:var(--ff-color-muted)}@supports (color:color-mix(in lab,red,red)){.ff\\:text-muted\\/60{color:color-mix(in oklab,var(--ff-color-muted)60%,transparent)}}.ff\\:text-neutral-300{color:var(--ff-color-neutral-300)}.ff\\:text-neutral-500{color:var(--ff-color-neutral-500)}.ff\\:text-primary{color:var(--ff-color-primary)}.ff\\:text-primary-foreground{color:var(--ff-color-primary-foreground)}.ff\\:text-success{color:var(--ff-color-success)}.ff\\:text-success-foreground{color:var(--ff-color-success-foreground)}.ff\\:text-warning{color:var(--ff-color-warning)}.ff\\:text-warning-foreground{color:var(--ff-color-warning-foreground)}.ff\\:text-white{color:var(--ff-color-white)}.ff\\:uppercase{text-transform:uppercase}.ff\\:tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.ff\\:accent-foreground{accent-color:var(--ff-color-foreground)}.ff\\:opacity-0{opacity:0}.ff\\:opacity-25{opacity:.25}.ff\\:opacity-40{opacity:.4}.ff\\:opacity-50{opacity:.5}.ff\\:opacity-60{opacity:.6}.ff\\:opacity-80{opacity:.8}.ff\\:shadow-\\[0_0_10px_-2px_var\\(--ff-color-primary\\)\\]{--tw-shadow:0 0 10px -2px var(--tw-shadow-color,var(--ff-color-primary));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[0_1px_3px_rgba\\(0\\,0\\,0\\,0\\.04\\)\\,0_8px_24px_rgba\\(0\\,0\\,0\\,0\\.06\\)\\]{--tw-shadow:0 1px 3px var(--tw-shadow-color,#0000000a),0 8px 24px var(--tw-shadow-color,#0000000f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[0_2px_12px_-3px_rgba\\(0\\,0\\,0\\,0\\.08\\)\\,0_0_12px_-6px_var\\(--ff-color-primary\\)\\]{--tw-shadow:0 2px 12px -3px var(--tw-shadow-color,#00000014),0 0 12px -6px var(--tw-shadow-color,var(--ff-color-primary));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[0_2px_12px_-3px_rgba\\(0\\,0\\,0\\,0\\.08\\)\\]{--tw-shadow:0 2px 12px -3px var(--tw-shadow-color,#00000014);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[2px_2px_0_var\\(--ff-color-foreground\\)\\]{--tw-shadow:2px 2px 0 var(--tw-shadow-color,var(--ff-color-foreground));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[3px_3px_0_var\\(--ff-color-foreground\\)\\]{--tw-shadow:3px 3px 0 var(--tw-shadow-color,var(--ff-color-foreground));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[4px_4px_0_var\\(--ff-color-foreground\\)\\]{--tw-shadow:4px 4px 0 var(--tw-shadow-color,var(--ff-color-foreground));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[6px_6px_0_var\\(--ff-color-foreground\\)\\]{--tw-shadow:6px 6px 0 var(--tw-shadow-color,var(--ff-color-foreground));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[inset_0_-3px_0_rgba\\(0\\,0\\,0\\,0\\.2\\)\\]{--tw-shadow:inset 0 -3px 0 var(--tw-shadow-color,#0003);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[inset_0_1px_4px_-1px_rgba\\(0\\,0\\,0\\,0\\.06\\)\\]{--tw-shadow:inset 0 1px 4px -1px var(--tw-shadow-color,#0000000f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[inset_0_2px_4px_rgba\\(0\\,0\\,0\\,0\\.08\\)\\]{--tw-shadow:inset 0 2px 4px var(--tw-shadow-color,#00000014);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[inset_2px_2px_0_var\\(--ff-color-secondary\\)\\]{--tw-shadow:inset 2px 2px 0 var(--tw-shadow-color,var(--ff-color-secondary));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[inset_3px_3px_0_var\\(--ff-color-secondary\\)\\]{--tw-shadow:inset 3px 3px 0 var(--tw-shadow-color,var(--ff-color-secondary));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\: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)}.ff\\:transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--ff-default-transition-timing-function));transition-duration:var(--tw-duration,var(--ff-default-transition-duration))}.ff\\: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(--ff-default-transition-timing-function));transition-duration:var(--tw-duration,var(--ff-default-transition-duration))}.ff\\:transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--ff-default-transition-timing-function));transition-duration:var(--tw-duration,var(--ff-default-transition-duration))}.ff\\:duration-100{--tw-duration:.1s;transition-duration:.1s}.ff\\:duration-150{--tw-duration:.15s;transition-duration:.15s}.ff\\:duration-200{--tw-duration:.2s;transition-duration:.2s}.ff\\:duration-300{--tw-duration:.3s;transition-duration:.3s}.ff\\:ease-out{--tw-ease:var(--ff-ease-out);transition-timing-function:var(--ff-ease-out)}.ff\\:outline-none{--tw-outline-style:none;outline-style:none}.ff\\:select-none{-webkit-user-select:none;user-select:none}.ff\\:\\[background\\:linear-gradient\\(90deg\\,color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_6\\%\\,transparent\\)_0\\%\\,color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_10\\%\\,transparent\\)_50\\%\\,color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_6\\%\\,transparent\\)_100\\%\\)\\]{background:linear-gradient(90deg,var(--ff-color-foreground)0%,var(--ff-color-foreground)50%,var(--ff-color-foreground)100%)}@supports (color:color-mix(in lab,red,red)){.ff\\:\\[background\\:linear-gradient\\(90deg\\,color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_6\\%\\,transparent\\)_0\\%\\,color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_10\\%\\,transparent\\)_50\\%\\,color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_6\\%\\,transparent\\)_100\\%\\)\\]{background:linear-gradient(90deg,color-mix(in oklch,var(--ff-color-foreground)6%,transparent),color-mix(in oklch,var(--ff-color-foreground)10%,transparent),color-mix(in oklch,var(--ff-color-foreground)6%,transparent))}}.ff\\:\\[background\\:linear-gradient\\(90deg\\,transparent_0\\%\\,color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_6\\%\\,transparent\\)_20\\%\\,color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_6\\%\\,transparent\\)_80\\%\\,transparent_100\\%\\)\\]{background:linear-gradient(90deg,transparent 0%,var(--ff-color-foreground)20%,var(--ff-color-foreground)80%,transparent 100%)}@supports (color:color-mix(in lab,red,red)){.ff\\:\\[background\\:linear-gradient\\(90deg\\,transparent_0\\%\\,color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_6\\%\\,transparent\\)_20\\%\\,color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_6\\%\\,transparent\\)_80\\%\\,transparent_100\\%\\)\\]{background:linear-gradient(90deg,transparent 0%,color-mix(in oklch,var(--ff-color-foreground)6%,transparent)20%,color-mix(in oklch,var(--ff-color-foreground)6%,transparent)80%,transparent 100%)}}.ff\\:\\[background\\:linear-gradient\\(90deg\\,var\\(--ff-color-primary\\)\\,color-mix\\(in_oklch\\,var\\(--ff-color-primary\\)_80\\%\\,white\\)\\)\\]{background:linear-gradient(90deg,var(--ff-color-primary),var(--ff-color-primary))}@supports (color:color-mix(in lab,red,red)){.ff\\:\\[background\\:linear-gradient\\(90deg\\,var\\(--ff-color-primary\\)\\,color-mix\\(in_oklch\\,var\\(--ff-color-primary\\)_80\\%\\,white\\)\\)\\]{background:linear-gradient(90deg,var(--ff-color-primary),color-mix(in oklch,var(--ff-color-primary)80%,white))}}.ff\\:\\[background\\:repeating-linear-gradient\\(-45deg\\,var\\(--ff-color-primary\\)\\,var\\(--ff-color-primary\\)_8px\\,color-mix\\(in_oklch\\,var\\(--ff-color-primary\\)_80\\%\\,black\\)_8px\\,color-mix\\(in_oklch\\,var\\(--ff-color-primary\\)_80\\%\\,black\\)_16px\\)\\]{background:repeating-linear-gradient(-45deg,var(--ff-color-primary),var(--ff-color-primary)8px,var(--ff-color-primary)8px,var(--ff-color-primary)16px)}@supports (color:color-mix(in lab,red,red)){.ff\\:\\[background\\:repeating-linear-gradient\\(-45deg\\,var\\(--ff-color-primary\\)\\,var\\(--ff-color-primary\\)_8px\\,color-mix\\(in_oklch\\,var\\(--ff-color-primary\\)_80\\%\\,black\\)_8px\\,color-mix\\(in_oklch\\,var\\(--ff-color-primary\\)_80\\%\\,black\\)_16px\\)\\]{background:repeating-linear-gradient(-45deg,var(--ff-color-primary),var(--ff-color-primary)8px,color-mix(in oklch,var(--ff-color-primary)80%,black)8px,color-mix(in oklch,var(--ff-color-primary)80%,black)16px)}}.ff\\:\\[background\\:repeating-linear-gradient\\(-45deg\\,var\\(--ff-color-secondary\\)\\,var\\(--ff-color-secondary\\)_4px\\,var\\(--ff-color-surface\\)_4px\\,var\\(--ff-color-surface\\)_8px\\)\\]{background:repeating-linear-gradient(-45deg,var(--ff-color-secondary),var(--ff-color-secondary)4px,var(--ff-color-surface)4px,var(--ff-color-surface)8px)}.ff\\:\\[scrollbar-width\\:none\\]{scrollbar-width:none}.ff\\:duration-100{animation-duration:.1s}.ff\\:duration-150{animation-duration:.15s}.ff\\:duration-200{animation-duration:.2s}.ff\\:duration-300{animation-duration:.3s}.ff\\:ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.ff\\:peer-placeholder-shown\\:translate-y-0:is(:where(.ff\\:peer):placeholder-shown~*){--tw-translate-y:calc(var(--ff-spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:peer-placeholder-shown\\:scale-100:is(:where(.ff\\:peer):placeholder-shown~*){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.ff\\:peer-placeholder-shown\\:font-normal:is(:where(.ff\\:peer):placeholder-shown~*){--tw-font-weight:var(--ff-font-weight-normal);font-weight:var(--ff-font-weight-normal)}.ff\\:peer-placeholder-shown\\:text-muted:is(:where(.ff\\:peer):placeholder-shown~*){color:var(--ff-color-muted)}.ff\\:peer-focus\\:-translate-y-2:is(:where(.ff\\:peer):focus~*){--tw-translate-y:calc(var(--ff-spacing)*-2);translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:peer-focus\\:scale-75:is(:where(.ff\\:peer):focus~*){--tw-scale-x:75%;--tw-scale-y:75%;--tw-scale-z:75%;scale:var(--tw-scale-x)var(--tw-scale-y)}.ff\\:peer-focus\\:font-medium:is(:where(.ff\\:peer):focus~*){--tw-font-weight:var(--ff-font-weight-medium);font-weight:var(--ff-font-weight-medium)}.ff\\:peer-focus\\:text-danger:is(:where(.ff\\:peer):focus~*){color:var(--ff-color-danger)}.ff\\:peer-focus\\:text-primary:is(:where(.ff\\:peer):focus~*){color:var(--ff-color-primary)}.ff\\:peer-disabled\\:text-muted:is(:where(.ff\\:peer):disabled~*){color:var(--ff-color-muted)}.ff\\:peer-disabled\\:opacity-50:is(:where(.ff\\:peer):disabled~*){opacity:.5}.ff\\:placeholder\\:text-muted::placeholder{color:var(--ff-color-muted)}.ff\\:placeholder\\:opacity-0::placeholder{opacity:0}.ff\\:placeholder\\:transition-opacity::placeholder{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--ff-default-transition-timing-function));transition-duration:var(--tw-duration,var(--ff-default-transition-duration))}.ff\\:placeholder\\:duration-200::placeholder{--tw-duration:.2s;transition-duration:.2s;animation-duration:.2s}.ff\\:last\\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.ff\\:last\\:pb-0:last-child{padding-bottom:calc(var(--ff-spacing)*0)}@media(hover:hover){.ff\\:hover\\:-translate-x-0\\.5:hover{--tw-translate-x:calc(var(--ff-spacing)*-.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:hover\\:translate-x-0:hover{--tw-translate-x:calc(var(--ff-spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:hover\\:-translate-y-0\\.5:hover{--tw-translate-y:calc(var(--ff-spacing)*-.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:hover\\:translate-y-0:hover{--tw-translate-y:calc(var(--ff-spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:hover\\:border-foreground:hover{border-color:var(--ff-color-foreground)}.ff\\:hover\\:bg-secondary:hover{background-color:var(--ff-color-secondary)}.ff\\:hover\\:underline:hover{text-decoration-line:underline}.ff\\:hover\\:opacity-90:hover{opacity:.9}.ff\\:hover\\:shadow-\\[0_4px_16px_-4px_rgba\\(0\\,0\\,0\\,0\\.12\\)\\]:hover{--tw-shadow:0 4px 16px -4px var(--tw-shadow-color,#0000001f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:hover\\:shadow-\\[4px_4px_0_var\\(--ff-color-foreground\\)\\]:hover{--tw-shadow:4px 4px 0 var(--tw-shadow-color,var(--ff-color-foreground));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:hover\\:shadow-\\[6px_6px_0_var\\(--ff-color-foreground\\)\\]:hover{--tw-shadow:6px 6px 0 var(--tw-shadow-color,var(--ff-color-foreground));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:hover\\:shadow-none:hover{--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)}}.ff\\:focus\\:border-danger:focus,.ff\\:focus\\:border-danger\\/50:focus{border-color:var(--ff-color-danger)}@supports (color:color-mix(in lab,red,red)){.ff\\:focus\\:border-danger\\/50:focus{border-color:color-mix(in oklab,var(--ff-color-danger)50%,transparent)}}.ff\\:focus\\:border-primary:focus,.ff\\:focus\\:border-primary\\/50:focus{border-color:var(--ff-color-primary)}@supports (color:color-mix(in lab,red,red)){.ff\\:focus\\:border-primary\\/50:focus{border-color:color-mix(in oklab,var(--ff-color-primary)50%,transparent)}}.ff\\:focus\\:border-b-danger:focus{border-bottom-color:var(--ff-color-danger)}.ff\\:focus\\:border-b-primary:focus{border-bottom-color:var(--ff-color-primary)}.ff\\:focus\\:bg-background:focus{background-color:var(--ff-color-background)}.ff\\:focus\\:shadow-\\[inset_0_1px_4px_-1px_rgba\\(0\\,0\\,0\\,0\\.06\\)\\,0_0_0_3px_rgba\\(var\\(--ff-color-danger-rgb\\)\\,0\\.12\\)\\]:focus{--tw-shadow:inset 0 1px 4px -1px var(--tw-shadow-color,#0000000f),0 0 0 3px var(--tw-shadow-color,rgba(var(--ff-color-danger-rgb),.12));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:focus\\:shadow-\\[inset_0_1px_4px_-1px_rgba\\(0\\,0\\,0\\,0\\.06\\)\\,0_0_0_3px_rgba\\(var\\(--ff-color-primary-rgb\\)\\,0\\.12\\)\\]:focus{--tw-shadow:inset 0 1px 4px -1px var(--tw-shadow-color,#0000000f),0 0 0 3px var(--tw-shadow-color,rgba(var(--ff-color-primary-rgb),.12));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:focus\\:shadow-\\[inset_2px_2px_0_var\\(--ff-color-primary\\)\\]:focus{--tw-shadow:inset 2px 2px 0 var(--tw-shadow-color,var(--ff-color-primary));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:focus\\:shadow-\\[inset_3px_3px_0_var\\(--ff-color-primary\\)\\]:focus{--tw-shadow:inset 3px 3px 0 var(--tw-shadow-color,var(--ff-color-primary));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:focus\\:shadow-none:focus{--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)}.ff\\:focus\\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + 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)}.ff\\:focus\\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:focus\\:ring-danger:focus,.ff\\:focus\\:ring-danger\\/20:focus{--tw-ring-color:var(--ff-color-danger)}@supports (color:color-mix(in lab,red,red)){.ff\\:focus\\:ring-danger\\/20:focus{--tw-ring-color:color-mix(in oklab,var(--ff-color-danger)20%,transparent)}}.ff\\:focus\\:ring-primary\\/20:focus{--tw-ring-color:var(--ff-color-primary)}@supports (color:color-mix(in lab,red,red)){.ff\\:focus\\:ring-primary\\/20:focus{--tw-ring-color:color-mix(in oklab,var(--ff-color-primary)20%,transparent)}}.ff\\:focus\\:placeholder\\:opacity-100:focus::placeholder{opacity:1}.ff\\:focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:focus-visible\\:ring-border:focus-visible{--tw-ring-color:var(--ff-color-border)}.ff\\:focus-visible\\:ring-danger:focus-visible{--tw-ring-color:var(--ff-color-danger)}.ff\\:focus-visible\\:ring-primary:focus-visible{--tw-ring-color:var(--ff-color-primary)}.ff\\:focus-visible\\:ring-secondary:focus-visible{--tw-ring-color:var(--ff-color-secondary)}.ff\\:focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.ff\\:active\\:translate-x-0:active{--tw-translate-x:calc(var(--ff-spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:active\\:translate-x-0\\.5:active{--tw-translate-x:calc(var(--ff-spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:active\\:translate-y-0:active{--tw-translate-y:calc(var(--ff-spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:active\\:translate-y-0\\.5:active{--tw-translate-y:calc(var(--ff-spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:active\\:shadow-\\[2px_2px_0_var\\(--ff-color-foreground\\)\\]:active{--tw-shadow:2px 2px 0 var(--tw-shadow-color,var(--ff-color-foreground));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:active\\:shadow-\\[inset_0_2px_4px_rgba\\(0\\,0\\,0\\,0\\.1\\)\\]:active{--tw-shadow:inset 0 2px 4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:active\\:shadow-none:active{--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)}.ff\\:disabled\\:pointer-events-none:disabled{pointer-events:none}.ff\\:disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.ff\\:disabled\\:opacity-35:disabled{opacity:.35}.ff\\:disabled\\:opacity-50:disabled{opacity:.5}.ff\\:\\[\\&\\:\\:-webkit-scrollbar\\]\\:hidden::-webkit-scrollbar{display:none}.ff\\:\\[\\&\\>\\*\\]\\:min-h-0>*{min-height:calc(var(--ff-spacing)*0)}.ff\\:\\[\\&\\>\\*\\]\\:flex-1>*{flex:1}.fanfare-text-balance{text-wrap:balance}.fanfare-text-pretty{text-wrap:pretty}}[data-fanfare-variant=default]{--ff-variant:"default"}[data-fanfare-variant=retro]{--ff-variant:"retro";--ff-color-background:#f4f1ea;--ff-color-foreground:#000;--ff-color-muted:#444;--ff-color-muted-foreground:#444;--ff-color-border:#000;--ff-font-sans:"Inconsolata","JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--ff-font-heading:"Inconsolata","JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--ff-font-mono:"Inconsolata","JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace}[data-fanfare-variant=rounded]{--ff-variant:"rounded"}[data-fanfare-variant=clean]{--ff-variant:"clean";--ff-color-background:#fff;--ff-color-foreground:#0a0a0a;--ff-color-muted:#737373;--ff-color-muted-foreground:#737373;--ff-color-border:#e8e8e8;--ff-font-sans:"Figtree",system-ui,sans-serif;--ff-font-heading:"Figtree",system-ui,sans-serif;--ff-font-mono:"Inconsolata","JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,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}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-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-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes slide-in{0%{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:translateY(0)}}@keyframes slide-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-.5rem)}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes scale-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes celebration-bounce{0%,to{transform:scale(1)}25%{transform:scale(1.2)}50%{transform:scale(.95)}75%{transform:scale(1.1)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}@keyframes pulse-success{0%{box-shadow:0 0 0 0 var(--ff-color-success,#22c55e)}70%{box-shadow:0 0 0 10px #0000}to{box-shadow:0 0 #0000}}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes skeleton-slide{0%{background-position:-100% 0}to{background-position:200% 0}}', No = '@theme{ --color-primary: #1d1f27; --color-primary-foreground: #ffffff; --color-secondary: #f4f4f5; --color-background: #ffffff; --color-surface: transparent; --color-surface-foreground: #1d1f27; --color-foreground: #1d1f27; --color-muted: #4b4e56cc; --color-muted-foreground: #4b4e5699; --color-border: #4b4e5666; --color-success: oklch(.77 .18 130); --color-success-foreground: #111111; --color-warning: oklch(.72 .18 65); --color-warning-foreground: #111111; --color-danger: oklch(.63 .24 25); --color-danger-foreground: #ffffff; --font-sans: "Inter", system-ui, sans-serif; --font-heading: "Inter", system-ui, sans-serif; --text-xxs: .625rem; --text-xxs--line-height: .875rem; }[data-fanfare-variant=default]{--ff-variant: "default"}[data-fanfare-variant=retro]{--ff-variant: "retro";--ff-color-background: #f4f1ea;--ff-color-foreground: #000000;--ff-color-muted: #444444;--ff-color-muted-foreground: #444444;--ff-color-border: #000000;--ff-font-sans: "Inconsolata", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--ff-font-heading: "Inconsolata", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--ff-font-mono: "Inconsolata", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace}[data-fanfare-variant=rounded]{--ff-variant: "rounded"}[data-fanfare-variant=clean]{--ff-variant: "clean";--ff-color-background: #ffffff;--ff-color-foreground: #0a0a0a;--ff-color-muted: #737373;--ff-color-muted-foreground: #737373;--ff-color-border: #e8e8e8;--ff-font-sans: "Figtree", system-ui, sans-serif;--ff-font-heading: "Figtree", system-ui, sans-serif;--ff-font-mono: "Inconsolata", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace}@layer base{.fanfare-themed{font-family:var(--ff-font-sans);color:var(--ff-color-foreground);background-color:var(--ff-color-surface)}.fanfare-themed *,.fanfare-themed :after,.fanfare-themed :before,.fanfare-themed ::backdrop,.fanfare-themed ::file-selector-button{border-color:var(--ff-color-border);outline-color:var(--ff-color-border)}.fanfare-themed button:not(:disabled),.fanfare-themed [role=button]:not(:disabled){cursor:pointer}.fanfare-themed :focus-visible{outline:2px solid var(--ff-color-primary);outline-offset:2px}@media(prefers-reduced-motion:reduce){.fanfare-themed *,.fanfare-themed :before,.fanfare-themed :after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}}';
4963
- function So({
4972
+ _o.displayName = "ExperienceWidget";
4973
+ const No = '@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-space-y-reverse:0;--tw-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-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--ff-font-sans:"Inter",system-ui,sans-serif;--ff-font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ff-color-neutral-50:oklch(98.5% 0 0);--ff-color-neutral-200:oklch(92.2% 0 0);--ff-color-neutral-300:oklch(87% 0 0);--ff-color-neutral-500:oklch(55.6% 0 0);--ff-color-white:#fff;--ff-spacing:.25rem;--ff-container-sm:24rem;--ff-text-xs:.75rem;--ff-text-xs--line-height:calc(1/.75);--ff-text-sm:.875rem;--ff-text-sm--line-height:calc(1.25/.875);--ff-text-base:1rem;--ff-text-base--line-height: 1.5 ;--ff-text-lg:1.125rem;--ff-text-lg--line-height:calc(1.75/1.125);--ff-text-xl:1.25rem;--ff-text-xl--line-height:calc(1.75/1.25);--ff-text-2xl:1.5rem;--ff-text-2xl--line-height:calc(2/1.5);--ff-text-3xl:1.875rem;--ff-text-3xl--line-height: 1.2 ;--ff-text-4xl:2.25rem;--ff-text-4xl--line-height:calc(2.5/2.25);--ff-font-weight-extralight:200;--ff-font-weight-light:300;--ff-font-weight-normal:400;--ff-font-weight-medium:500;--ff-font-weight-semibold:600;--ff-font-weight-bold:700;--ff-font-weight-extrabold:800;--ff-font-weight-black:900;--ff-tracking-tight:-.025em;--ff-tracking-normal:0em;--ff-tracking-wide:.025em;--ff-tracking-wider:.05em;--ff-tracking-widest:.1em;--ff-leading-tight:1.25;--ff-radius-md:.375rem;--ff-radius-lg:.5rem;--ff-radius-xl:.75rem;--ff-radius-2xl:1rem;--ff-radius-3xl:1.5rem;--ff-ease-out:cubic-bezier(0,0,.2,1);--ff-animate-spin:spin 1s linear infinite;--ff-animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--ff-default-transition-duration:.15s;--ff-default-transition-timing-function:cubic-bezier(.4,0,.2,1);--ff-default-font-family:var(--ff-font-sans);--ff-default-mono-font-family:var(--ff-font-mono);--ff-color-primary:#1d1f27;--ff-color-primary-foreground:#fff;--ff-color-secondary:#f4f4f5;--ff-color-background:#fff;--ff-color-surface:transparent;--ff-color-surface-foreground:#1d1f27;--ff-color-foreground:#1d1f27;--ff-color-muted:#4b4e56cc;--ff-color-muted-foreground:#4b4e5699;--ff-color-border:#4b4e5666;--ff-color-success:oklch(77% .18 130);--ff-color-success-foreground:#111;--ff-color-warning:oklch(72% .18 65);--ff-color-warning-foreground:#111;--ff-color-danger:oklch(63% .24 25);--ff-color-danger-foreground:#fff;--ff-font-heading:"Inter",system-ui,sans-serif;--ff-text-xxs:.625rem;--ff-text-xxs--line-height:.875rem;--ff-animate-fade-in:fade-in .2s ease-out;--ff-animate-fade-out:fade-out .2s ease-out;--ff-animate-slide-in:slide-in .2s ease-out;--ff-animate-slide-out:slide-out .2s ease-out;--ff-animate-scale-in:scale-in .2s ease-out;--ff-animate-scale-out:scale-out .2s ease-out;--ff-animate-accordion-down:accordion-down .2s ease-out;--ff-animate-accordion-up:accordion-up .2s ease-out;--ff-animate-celebration:celebration-bounce .6s ease-out;--ff-animate-shake:shake .5s ease-out;--ff-animate-pulse-success:pulse-success 1s ease-out}}@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(--ff-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(--ff-default-font-feature-settings,normal);font-variation-settings:var(--ff-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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--ff-default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--ff-default-mono-font-feature-settings,normal);font-variation-settings:var(--ff-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}.fanfare-themed{font-family:var(--ff-font-sans);color:var(--ff-color-foreground);background-color:var(--ff-color-surface)}.fanfare-themed *,.fanfare-themed :after,.fanfare-themed :before,.fanfare-themed ::backdrop{border-color:var(--ff-color-border);outline-color:var(--ff-color-border)}.fanfare-themed ::file-selector-button{border-color:var(--ff-color-border);outline-color:var(--ff-color-border)}.fanfare-themed button:not(:disabled),.fanfare-themed [role=button]:not(:disabled){cursor:pointer}.fanfare-themed :focus-visible{outline:2px solid var(--ff-color-primary);outline-offset:2px}@media(prefers-reduced-motion:reduce){.fanfare-themed *,.fanfare-themed :before,.fanfare-themed :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.fanfare-root{color:var(--ff-color-foreground);background-color:var(--ff-color-surface);font-family:var(--ff-font-sans)}.fanfare-root *,.fanfare-root :after,.fanfare-root :before,.fanfare-root ::backdrop{border-color:var(--ff-color-border);outline-color:var(--ff-color-border)}.fanfare-root ::file-selector-button{border-color:var(--ff-color-border);outline-color:var(--ff-color-border)}.fanfare-root button:not(:disabled),.fanfare-root [role=button]:not(:disabled){cursor:pointer}@media(prefers-reduced-motion:reduce){.fanfare-root *,.fanfare-root :before,.fanfare-root :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}}@layer components;@layer utilities{.ff\\:pointer-events-none{pointer-events:none}.ff\\:absolute{position:absolute}.ff\\:relative{position:relative}.ff\\:inset-0{inset:calc(var(--ff-spacing)*0)}.ff\\:top-1\\/2{top:50%}.ff\\:top-3{top:calc(var(--ff-spacing)*3)}.ff\\:right-2{right:calc(var(--ff-spacing)*2)}.ff\\:left-3{left:calc(var(--ff-spacing)*3)}.ff\\:z-10{z-index:10}.ff\\:-mx-1{margin-inline:calc(var(--ff-spacing)*-1)}.ff\\:mx-2{margin-inline:calc(var(--ff-spacing)*2)}.ff\\:-mt-0\\.5{margin-top:calc(var(--ff-spacing)*-.5)}.ff\\:mt-0\\.5{margin-top:calc(var(--ff-spacing)*.5)}.ff\\:mt-1{margin-top:calc(var(--ff-spacing)*1)}.ff\\:mt-3{margin-top:calc(var(--ff-spacing)*3)}.ff\\:mt-4{margin-top:calc(var(--ff-spacing)*4)}.ff\\:mt-auto{margin-top:auto}.ff\\:mb-1\\.5{margin-bottom:calc(var(--ff-spacing)*1.5)}.ff\\:mb-2{margin-bottom:calc(var(--ff-spacing)*2)}.ff\\:mb-4{margin-bottom:calc(var(--ff-spacing)*4)}.ff\\:mb-6{margin-bottom:calc(var(--ff-spacing)*6)}.ff\\:block{display:block}.ff\\:flex{display:flex}.ff\\:grid{display:grid}.ff\\:inline-block{display:inline-block}.ff\\:inline-flex{display:inline-flex}.ff\\:size-1{width:calc(var(--ff-spacing)*1);height:calc(var(--ff-spacing)*1)}.ff\\:size-1\\.5{width:calc(var(--ff-spacing)*1.5);height:calc(var(--ff-spacing)*1.5)}.ff\\:size-4{width:calc(var(--ff-spacing)*4);height:calc(var(--ff-spacing)*4)}.ff\\:size-5{width:calc(var(--ff-spacing)*5);height:calc(var(--ff-spacing)*5)}.ff\\:size-6{width:calc(var(--ff-spacing)*6);height:calc(var(--ff-spacing)*6)}.ff\\:size-8{width:calc(var(--ff-spacing)*8);height:calc(var(--ff-spacing)*8)}.ff\\:size-10{width:calc(var(--ff-spacing)*10);height:calc(var(--ff-spacing)*10)}.ff\\:h-0\\.5{height:calc(var(--ff-spacing)*.5)}.ff\\:h-1{height:calc(var(--ff-spacing)*1)}.ff\\:h-2{height:calc(var(--ff-spacing)*2)}.ff\\:h-2\\.5{height:calc(var(--ff-spacing)*2.5)}.ff\\:h-3{height:calc(var(--ff-spacing)*3)}.ff\\:h-4{height:calc(var(--ff-spacing)*4)}.ff\\:h-4\\.5{height:calc(var(--ff-spacing)*4.5)}.ff\\:h-5{height:calc(var(--ff-spacing)*5)}.ff\\:h-6{height:calc(var(--ff-spacing)*6)}.ff\\:h-8{height:calc(var(--ff-spacing)*8)}.ff\\:h-10{height:calc(var(--ff-spacing)*10)}.ff\\:h-12{height:calc(var(--ff-spacing)*12)}.ff\\:h-14{height:calc(var(--ff-spacing)*14)}.ff\\:h-16{height:calc(var(--ff-spacing)*16)}.ff\\:h-20{height:calc(var(--ff-spacing)*20)}.ff\\:h-32{height:calc(var(--ff-spacing)*32)}.ff\\:h-\\[480px\\]{height:480px}.ff\\:h-auto{height:auto}.ff\\:h-full{height:100%}.ff\\:max-h-44{max-height:calc(var(--ff-spacing)*44)}.ff\\:max-h-\\[24rem\\]{max-height:24rem}.ff\\:w-1\\/2{width:50%}.ff\\:w-1\\/3{width:33.3333%}.ff\\:w-2\\/3{width:66.6667%}.ff\\:w-3\\/4{width:75%}.ff\\:w-5\\/6{width:83.3333%}.ff\\:w-6{width:calc(var(--ff-spacing)*6)}.ff\\:w-9{width:calc(var(--ff-spacing)*9)}.ff\\:w-10{width:calc(var(--ff-spacing)*10)}.ff\\:w-12{width:calc(var(--ff-spacing)*12)}.ff\\:w-14{width:calc(var(--ff-spacing)*14)}.ff\\:w-16{width:calc(var(--ff-spacing)*16)}.ff\\:w-20{width:calc(var(--ff-spacing)*20)}.ff\\:w-40{width:calc(var(--ff-spacing)*40)}.ff\\:w-72{width:calc(var(--ff-spacing)*72)}.ff\\:w-80{width:calc(var(--ff-spacing)*80)}.ff\\:w-auto{width:auto}.ff\\:w-full{width:100%}.ff\\:max-w-sm{max-width:var(--ff-container-sm)}.ff\\:min-w-0{min-width:calc(var(--ff-spacing)*0)}.ff\\:flex-1{flex:1}.ff\\:shrink-0{flex-shrink:0}.ff\\:origin-center{transform-origin:50%}.ff\\:origin-top-left{transform-origin:0 0}.ff\\:-translate-y-1\\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:-translate-y-2{--tw-translate-y:calc(var(--ff-spacing)*-2);translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:scale-75{--tw-scale-x:75%;--tw-scale-y:75%;--tw-scale-z:75%;scale:var(--tw-scale-x)var(--tw-scale-y)}.ff\\:animate-\\[skeleton-shimmer_2s_ease-in-out_infinite\\]{animation:2s ease-in-out infinite skeleton-shimmer}.ff\\:animate-\\[skeleton-slide_2s_ease-in-out_infinite\\]{animation:2s ease-in-out infinite skeleton-slide}.ff\\:animate-\\[spin_1\\.2s_cubic-bezier\\(0\\.4\\,0\\,0\\.6\\,1\\)_infinite\\]{animation:1.2s cubic-bezier(.4,0,.6,1) infinite spin}.ff\\:animate-\\[spin_1\\.8s_linear_infinite\\]{animation:1.8s linear infinite spin}.ff\\:animate-accordion-down{animation:var(--ff-animate-accordion-down)}.ff\\:animate-accordion-up{animation:var(--ff-animate-accordion-up)}.ff\\:animate-celebration{animation:var(--ff-animate-celebration)}.ff\\:animate-fade-in{animation:var(--ff-animate-fade-in)}.ff\\:animate-fade-out{animation:var(--ff-animate-fade-out)}.ff\\:animate-none{animation:none}.ff\\:animate-pulse{animation:var(--ff-animate-pulse)}.ff\\:animate-pulse-success{animation:var(--ff-animate-pulse-success)}.ff\\:animate-scale-in{animation:var(--ff-animate-scale-in)}.ff\\:animate-scale-out{animation:var(--ff-animate-scale-out)}.ff\\:animate-shake{animation:var(--ff-animate-shake)}.ff\\:animate-slide-in{animation:var(--ff-animate-slide-in)}.ff\\:animate-slide-out{animation:var(--ff-animate-slide-out)}.ff\\:animate-spin{animation:var(--ff-animate-spin)}.ff\\:cursor-not-allowed{cursor:not-allowed}.ff\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.ff\\:flex-col{flex-direction:column}.ff\\:flex-row{flex-direction:row}.ff\\:flex-wrap{flex-wrap:wrap}.ff\\:items-baseline{align-items:baseline}.ff\\:items-center{align-items:center}.ff\\:items-start{align-items:flex-start}.ff\\:justify-between{justify-content:space-between}.ff\\:justify-center{justify-content:center}.ff\\:gap-0\\.5{gap:calc(var(--ff-spacing)*.5)}.ff\\:gap-1{gap:calc(var(--ff-spacing)*1)}.ff\\:gap-1\\.5{gap:calc(var(--ff-spacing)*1.5)}.ff\\:gap-2{gap:calc(var(--ff-spacing)*2)}.ff\\:gap-3{gap:calc(var(--ff-spacing)*3)}.ff\\:gap-4{gap:calc(var(--ff-spacing)*4)}.ff\\:gap-5{gap:calc(var(--ff-spacing)*5)}.ff\\:gap-6{gap:calc(var(--ff-spacing)*6)}.ff\\:gap-10{gap:calc(var(--ff-spacing)*10)}.ff\\:gap-12{gap:calc(var(--ff-spacing)*12)}:where(.ff\\:space-y-1\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--ff-spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--ff-spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.ff\\:space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--ff-spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--ff-spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.ff\\:space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--ff-spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--ff-spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.ff\\:space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--ff-spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--ff-spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}.ff\\:self-end{align-self:flex-end}.ff\\:overflow-hidden{overflow:hidden}.ff\\:overflow-visible{overflow:visible}.ff\\:overflow-x-auto{overflow-x:auto}.ff\\:overflow-y-auto{overflow-y:auto}.ff\\:rounded{border-radius:.25rem}.ff\\:rounded-2xl{border-radius:var(--ff-radius-2xl)}.ff\\:rounded-3xl{border-radius:var(--ff-radius-3xl)}.ff\\:rounded-\\[8px\\]{border-radius:8px}.ff\\:rounded-\\[10px\\]{border-radius:10px}.ff\\:rounded-\\[14px\\]{border-radius:14px}.ff\\:rounded-full{border-radius:3.40282e38px}.ff\\:rounded-lg{border-radius:var(--ff-radius-lg)}.ff\\:rounded-md{border-radius:var(--ff-radius-md)}.ff\\:rounded-none{border-radius:0}.ff\\:rounded-xl{border-radius:var(--ff-radius-xl)}.ff\\:border{border-style:var(--tw-border-style);border-width:1px}.ff\\:border-0{border-style:var(--tw-border-style);border-width:0}.ff\\:border-2{border-style:var(--tw-border-style);border-width:2px}.ff\\:border-3{border-style:var(--tw-border-style);border-width:3px}.ff\\:border-\\[1\\.5px\\]{border-style:var(--tw-border-style);border-width:1.5px}.ff\\:border-\\[2\\.5px\\]{border-style:var(--tw-border-style);border-width:2.5px}.ff\\:border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.ff\\:border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.ff\\:border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.ff\\:border-none{--tw-border-style:none;border-style:none}.ff\\:border-border,.ff\\:border-border\\/40{border-color:var(--ff-color-border)}@supports (color:color-mix(in lab,red,red)){.ff\\:border-border\\/40{border-color:color-mix(in oklab,var(--ff-color-border)40%,transparent)}}.ff\\:border-border\\/50{border-color:var(--ff-color-border)}@supports (color:color-mix(in lab,red,red)){.ff\\:border-border\\/50{border-color:color-mix(in oklab,var(--ff-color-border)50%,transparent)}}.ff\\:border-danger,.ff\\:border-danger\\/50{border-color:var(--ff-color-danger)}@supports (color:color-mix(in lab,red,red)){.ff\\:border-danger\\/50{border-color:color-mix(in oklab,var(--ff-color-danger)50%,transparent)}}.ff\\:border-foreground,.ff\\:border-foreground\\/8{border-color:var(--ff-color-foreground)}@supports (color:color-mix(in lab,red,red)){.ff\\:border-foreground\\/8{border-color:color-mix(in oklab,var(--ff-color-foreground)8%,transparent)}}.ff\\:border-foreground\\/12{border-color:var(--ff-color-foreground)}@supports (color:color-mix(in lab,red,red)){.ff\\:border-foreground\\/12{border-color:color-mix(in oklab,var(--ff-color-foreground)12%,transparent)}}.ff\\:border-foreground\\/20{border-color:var(--ff-color-foreground)}@supports (color:color-mix(in lab,red,red)){.ff\\:border-foreground\\/20{border-color:color-mix(in oklab,var(--ff-color-foreground)20%,transparent)}}.ff\\:border-foreground\\/\\[0\\.08\\]{border-color:var(--ff-color-foreground)}@supports (color:color-mix(in lab,red,red)){.ff\\:border-foreground\\/\\[0\\.08\\]{border-color:color-mix(in oklab,var(--ff-color-foreground)8%,transparent)}}.ff\\:border-neutral-200{border-color:var(--ff-color-neutral-200)}.ff\\:border-primary{border-color:var(--ff-color-primary)}.ff\\:border-transparent{border-color:#0000}.ff\\:border-b-danger{border-bottom-color:var(--ff-color-danger)}.ff\\:bg-\\[\\#ff3a00\\]{background-color:#ff3a00}.ff\\:bg-\\[color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_3\\%\\,var\\(--ff-color-background\\)\\)\\]{background-color:var(--ff-color-foreground)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-\\[color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_3\\%\\,var\\(--ff-color-background\\)\\)\\]{background-color:color-mix(in oklch,var(--ff-color-foreground)3%,var(--ff-color-background))}}.ff\\:bg-background,.ff\\:bg-background\\/60{background-color:var(--ff-color-background)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-background\\/60{background-color:color-mix(in oklab,var(--ff-color-background)60%,transparent)}}.ff\\:bg-background\\/70{background-color:var(--ff-color-background)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-background\\/70{background-color:color-mix(in oklab,var(--ff-color-background)70%,transparent)}}.ff\\:bg-danger,.ff\\:bg-danger\\/10{background-color:var(--ff-color-danger)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-danger\\/10{background-color:color-mix(in oklab,var(--ff-color-danger)10%,transparent)}}.ff\\:bg-foreground\\/5{background-color:var(--ff-color-foreground)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-foreground\\/5{background-color:color-mix(in oklab,var(--ff-color-foreground)5%,transparent)}}.ff\\:bg-foreground\\/40{background-color:var(--ff-color-foreground)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-foreground\\/40{background-color:color-mix(in oklab,var(--ff-color-foreground)40%,transparent)}}.ff\\:bg-foreground\\/\\[0\\.1\\]{background-color:var(--ff-color-foreground)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-foreground\\/\\[0\\.1\\]{background-color:color-mix(in oklab,var(--ff-color-foreground)10%,transparent)}}.ff\\:bg-foreground\\/\\[0\\.08\\]{background-color:var(--ff-color-foreground)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-foreground\\/\\[0\\.08\\]{background-color:color-mix(in oklab,var(--ff-color-foreground)8%,transparent)}}.ff\\:bg-muted\\/5{background-color:var(--ff-color-muted)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-muted\\/5{background-color:color-mix(in oklab,var(--ff-color-muted)5%,transparent)}}.ff\\:bg-neutral-50{background-color:var(--ff-color-neutral-50)}.ff\\:bg-primary{background-color:var(--ff-color-primary)}.ff\\:bg-primary-foreground{background-color:var(--ff-color-primary-foreground)}.ff\\:bg-primary\\/5{background-color:var(--ff-color-primary)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-primary\\/5{background-color:color-mix(in oklab,var(--ff-color-primary)5%,transparent)}}.ff\\:bg-secondary{background-color:var(--ff-color-secondary)}.ff\\:bg-success,.ff\\:bg-success\\/10{background-color:var(--ff-color-success)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-success\\/10{background-color:color-mix(in oklab,var(--ff-color-success)10%,transparent)}}.ff\\:bg-transparent{background-color:#0000}.ff\\:bg-warning,.ff\\:bg-warning\\/10{background-color:var(--ff-color-warning)}@supports (color:color-mix(in lab,red,red)){.ff\\:bg-warning\\/10{background-color:color-mix(in oklab,var(--ff-color-warning)10%,transparent)}}.ff\\:bg-linear-to-b{--tw-gradient-position:to bottom}@supports (background-image:linear-gradient(in lab,red,red)){.ff\\:bg-linear-to-b{--tw-gradient-position:to bottom in oklab}}.ff\\:bg-linear-to-b{background-image:linear-gradient(var(--tw-gradient-stops))}.ff\\:from-primary\\/10{--tw-gradient-from:var(--ff-color-primary)}@supports (color:color-mix(in lab,red,red)){.ff\\:from-primary\\/10{--tw-gradient-from:color-mix(in oklab,var(--ff-color-primary)10%,transparent)}}.ff\\:from-primary\\/10{--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))}.ff\\:to-primary\\/5{--tw-gradient-to:var(--ff-color-primary)}@supports (color:color-mix(in lab,red,red)){.ff\\:to-primary\\/5{--tw-gradient-to:color-mix(in oklab,var(--ff-color-primary)5%,transparent)}}.ff\\:to-primary\\/5{--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))}.ff\\:\\[background-size\\:200\\%_100\\%\\]{background-size:200% 100%}.ff\\:p-0{padding:calc(var(--ff-spacing)*0)}.ff\\:p-4{padding:calc(var(--ff-spacing)*4)}.ff\\:p-5{padding:calc(var(--ff-spacing)*5)}.ff\\:p-6{padding:calc(var(--ff-spacing)*6)}.ff\\:p-8{padding:calc(var(--ff-spacing)*8)}.ff\\:px-0{padding-inline:calc(var(--ff-spacing)*0)}.ff\\:px-2{padding-inline:calc(var(--ff-spacing)*2)}.ff\\:px-2\\.5{padding-inline:calc(var(--ff-spacing)*2.5)}.ff\\:px-3{padding-inline:calc(var(--ff-spacing)*3)}.ff\\:px-4{padding-inline:calc(var(--ff-spacing)*4)}.ff\\:px-5{padding-inline:calc(var(--ff-spacing)*5)}.ff\\:px-6{padding-inline:calc(var(--ff-spacing)*6)}.ff\\:py-0\\.5{padding-block:calc(var(--ff-spacing)*.5)}.ff\\:py-1{padding-block:calc(var(--ff-spacing)*1)}.ff\\:py-1\\.5{padding-block:calc(var(--ff-spacing)*1.5)}.ff\\:py-2{padding-block:calc(var(--ff-spacing)*2)}.ff\\:py-2\\.5{padding-block:calc(var(--ff-spacing)*2.5)}.ff\\:py-3{padding-block:calc(var(--ff-spacing)*3)}.ff\\:py-4{padding-block:calc(var(--ff-spacing)*4)}.ff\\:py-12{padding-block:calc(var(--ff-spacing)*12)}.ff\\:pt-2{padding-top:calc(var(--ff-spacing)*2)}.ff\\:pt-3{padding-top:calc(var(--ff-spacing)*3)}.ff\\:pt-5{padding-top:calc(var(--ff-spacing)*5)}.ff\\:pb-0\\.5{padding-bottom:calc(var(--ff-spacing)*.5)}.ff\\:pb-1{padding-bottom:calc(var(--ff-spacing)*1)}.ff\\:pb-2{padding-bottom:calc(var(--ff-spacing)*2)}.ff\\:pb-8{padding-bottom:calc(var(--ff-spacing)*8)}.ff\\:text-center{text-align:center}.ff\\:text-right{text-align:right}.ff\\:font-heading{font-family:var(--ff-font-heading)}.ff\\:font-mono{font-family:var(--ff-font-mono)}.ff\\:text-2xl{font-size:var(--ff-text-2xl);line-height:var(--tw-leading,var(--ff-text-2xl--line-height))}.ff\\:text-3xl{font-size:var(--ff-text-3xl);line-height:var(--tw-leading,var(--ff-text-3xl--line-height))}.ff\\:text-4xl{font-size:var(--ff-text-4xl);line-height:var(--tw-leading,var(--ff-text-4xl--line-height))}.ff\\:text-base{font-size:var(--ff-text-base);line-height:var(--tw-leading,var(--ff-text-base--line-height))}.ff\\:text-lg{font-size:var(--ff-text-lg);line-height:var(--tw-leading,var(--ff-text-lg--line-height))}.ff\\:text-sm{font-size:var(--ff-text-sm);line-height:var(--tw-leading,var(--ff-text-sm--line-height))}.ff\\:text-xl{font-size:var(--ff-text-xl);line-height:var(--tw-leading,var(--ff-text-xl--line-height))}.ff\\:text-xs{font-size:var(--ff-text-xs);line-height:var(--tw-leading,var(--ff-text-xs--line-height))}.ff\\:text-xxs{font-size:var(--ff-text-xxs);line-height:var(--tw-leading,var(--ff-text-xxs--line-height))}.ff\\:text-\\[2rem\\]{font-size:2rem}.ff\\:text-\\[10\\.5px\\]{font-size:10.5px}.ff\\:text-\\[52px\\]{font-size:52px}.ff\\:leading-none{--tw-leading:1;line-height:1}.ff\\:leading-tight{--tw-leading:var(--ff-leading-tight);line-height:var(--ff-leading-tight)}.ff\\:font-black{--tw-font-weight:var(--ff-font-weight-black);font-weight:var(--ff-font-weight-black)}.ff\\:font-bold{--tw-font-weight:var(--ff-font-weight-bold);font-weight:var(--ff-font-weight-bold)}.ff\\:font-extrabold{--tw-font-weight:var(--ff-font-weight-extrabold);font-weight:var(--ff-font-weight-extrabold)}.ff\\:font-extralight{--tw-font-weight:var(--ff-font-weight-extralight);font-weight:var(--ff-font-weight-extralight)}.ff\\:font-light{--tw-font-weight:var(--ff-font-weight-light);font-weight:var(--ff-font-weight-light)}.ff\\:font-medium{--tw-font-weight:var(--ff-font-weight-medium);font-weight:var(--ff-font-weight-medium)}.ff\\:font-normal{--tw-font-weight:var(--ff-font-weight-normal);font-weight:var(--ff-font-weight-normal)}.ff\\:font-semibold{--tw-font-weight:var(--ff-font-weight-semibold);font-weight:var(--ff-font-weight-semibold)}.ff\\:tracking-\\[-0\\.025em\\]{--tw-tracking:-.025em;letter-spacing:-.025em}.ff\\:tracking-\\[0\\.1em\\]{--tw-tracking:.1em;letter-spacing:.1em}.ff\\:tracking-\\[0\\.08em\\]{--tw-tracking:.08em;letter-spacing:.08em}.ff\\:tracking-\\[0\\.15em\\]{--tw-tracking:.15em;letter-spacing:.15em}.ff\\:tracking-normal{--tw-tracking:var(--ff-tracking-normal);letter-spacing:var(--ff-tracking-normal)}.ff\\:tracking-tight{--tw-tracking:var(--ff-tracking-tight);letter-spacing:var(--ff-tracking-tight)}.ff\\:tracking-wide{--tw-tracking:var(--ff-tracking-wide);letter-spacing:var(--ff-tracking-wide)}.ff\\:tracking-wider{--tw-tracking:var(--ff-tracking-wider);letter-spacing:var(--ff-tracking-wider)}.ff\\:tracking-widest{--tw-tracking:var(--ff-tracking-widest);letter-spacing:var(--ff-tracking-widest)}.ff\\:whitespace-nowrap{white-space:nowrap}.ff\\:text-current{color:currentColor}.ff\\:text-danger{color:var(--ff-color-danger)}.ff\\:text-danger-foreground{color:var(--ff-color-danger-foreground)}.ff\\:text-foreground,.ff\\:text-foreground\\/80{color:var(--ff-color-foreground)}@supports (color:color-mix(in lab,red,red)){.ff\\:text-foreground\\/80{color:color-mix(in oklab,var(--ff-color-foreground)80%,transparent)}}.ff\\:text-muted{color:var(--ff-color-muted)}.ff\\:text-muted-foreground{color:var(--ff-color-muted-foreground)}.ff\\:text-muted\\/60{color:var(--ff-color-muted)}@supports (color:color-mix(in lab,red,red)){.ff\\:text-muted\\/60{color:color-mix(in oklab,var(--ff-color-muted)60%,transparent)}}.ff\\:text-neutral-300{color:var(--ff-color-neutral-300)}.ff\\:text-neutral-500{color:var(--ff-color-neutral-500)}.ff\\:text-primary{color:var(--ff-color-primary)}.ff\\:text-primary-foreground{color:var(--ff-color-primary-foreground)}.ff\\:text-success{color:var(--ff-color-success)}.ff\\:text-success-foreground{color:var(--ff-color-success-foreground)}.ff\\:text-warning{color:var(--ff-color-warning)}.ff\\:text-warning-foreground{color:var(--ff-color-warning-foreground)}.ff\\:text-white{color:var(--ff-color-white)}.ff\\:uppercase{text-transform:uppercase}.ff\\:tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.ff\\:accent-foreground{accent-color:var(--ff-color-foreground)}.ff\\:opacity-0{opacity:0}.ff\\:opacity-25{opacity:.25}.ff\\:opacity-40{opacity:.4}.ff\\:opacity-50{opacity:.5}.ff\\:opacity-60{opacity:.6}.ff\\:opacity-80{opacity:.8}.ff\\:shadow-\\[0_0_10px_-2px_var\\(--ff-color-primary\\)\\]{--tw-shadow:0 0 10px -2px var(--tw-shadow-color,var(--ff-color-primary));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[0_1px_3px_rgba\\(0\\,0\\,0\\,0\\.04\\)\\,0_8px_24px_rgba\\(0\\,0\\,0\\,0\\.06\\)\\]{--tw-shadow:0 1px 3px var(--tw-shadow-color,#0000000a),0 8px 24px var(--tw-shadow-color,#0000000f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[0_2px_12px_-3px_rgba\\(0\\,0\\,0\\,0\\.08\\)\\,0_0_12px_-6px_var\\(--ff-color-primary\\)\\]{--tw-shadow:0 2px 12px -3px var(--tw-shadow-color,#00000014),0 0 12px -6px var(--tw-shadow-color,var(--ff-color-primary));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[0_2px_12px_-3px_rgba\\(0\\,0\\,0\\,0\\.08\\)\\]{--tw-shadow:0 2px 12px -3px var(--tw-shadow-color,#00000014);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[2px_2px_0_var\\(--ff-color-foreground\\)\\]{--tw-shadow:2px 2px 0 var(--tw-shadow-color,var(--ff-color-foreground));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[3px_3px_0_var\\(--ff-color-foreground\\)\\]{--tw-shadow:3px 3px 0 var(--tw-shadow-color,var(--ff-color-foreground));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[4px_4px_0_var\\(--ff-color-foreground\\)\\]{--tw-shadow:4px 4px 0 var(--tw-shadow-color,var(--ff-color-foreground));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[6px_6px_0_var\\(--ff-color-foreground\\)\\]{--tw-shadow:6px 6px 0 var(--tw-shadow-color,var(--ff-color-foreground));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[inset_0_-3px_0_rgba\\(0\\,0\\,0\\,0\\.2\\)\\]{--tw-shadow:inset 0 -3px 0 var(--tw-shadow-color,#0003);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[inset_0_1px_4px_-1px_rgba\\(0\\,0\\,0\\,0\\.06\\)\\]{--tw-shadow:inset 0 1px 4px -1px var(--tw-shadow-color,#0000000f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[inset_0_2px_4px_rgba\\(0\\,0\\,0\\,0\\.08\\)\\]{--tw-shadow:inset 0 2px 4px var(--tw-shadow-color,#00000014);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[inset_2px_2px_0_var\\(--ff-color-secondary\\)\\]{--tw-shadow:inset 2px 2px 0 var(--tw-shadow-color,var(--ff-color-secondary));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-\\[inset_3px_3px_0_var\\(--ff-color-secondary\\)\\]{--tw-shadow:inset 3px 3px 0 var(--tw-shadow-color,var(--ff-color-secondary));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\: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)}.ff\\:transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--ff-default-transition-timing-function));transition-duration:var(--tw-duration,var(--ff-default-transition-duration))}.ff\\: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(--ff-default-transition-timing-function));transition-duration:var(--tw-duration,var(--ff-default-transition-duration))}.ff\\:transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--ff-default-transition-timing-function));transition-duration:var(--tw-duration,var(--ff-default-transition-duration))}.ff\\:duration-100{--tw-duration:.1s;transition-duration:.1s}.ff\\:duration-150{--tw-duration:.15s;transition-duration:.15s}.ff\\:duration-200{--tw-duration:.2s;transition-duration:.2s}.ff\\:duration-300{--tw-duration:.3s;transition-duration:.3s}.ff\\:ease-out{--tw-ease:var(--ff-ease-out);transition-timing-function:var(--ff-ease-out)}.ff\\:outline-none{--tw-outline-style:none;outline-style:none}.ff\\:select-none{-webkit-user-select:none;user-select:none}.ff\\:\\[background\\:linear-gradient\\(90deg\\,color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_6\\%\\,transparent\\)_0\\%\\,color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_10\\%\\,transparent\\)_50\\%\\,color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_6\\%\\,transparent\\)_100\\%\\)\\]{background:linear-gradient(90deg,var(--ff-color-foreground)0%,var(--ff-color-foreground)50%,var(--ff-color-foreground)100%)}@supports (color:color-mix(in lab,red,red)){.ff\\:\\[background\\:linear-gradient\\(90deg\\,color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_6\\%\\,transparent\\)_0\\%\\,color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_10\\%\\,transparent\\)_50\\%\\,color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_6\\%\\,transparent\\)_100\\%\\)\\]{background:linear-gradient(90deg,color-mix(in oklch,var(--ff-color-foreground)6%,transparent),color-mix(in oklch,var(--ff-color-foreground)10%,transparent),color-mix(in oklch,var(--ff-color-foreground)6%,transparent))}}.ff\\:\\[background\\:linear-gradient\\(90deg\\,transparent_0\\%\\,color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_6\\%\\,transparent\\)_20\\%\\,color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_6\\%\\,transparent\\)_80\\%\\,transparent_100\\%\\)\\]{background:linear-gradient(90deg,transparent 0%,var(--ff-color-foreground)20%,var(--ff-color-foreground)80%,transparent 100%)}@supports (color:color-mix(in lab,red,red)){.ff\\:\\[background\\:linear-gradient\\(90deg\\,transparent_0\\%\\,color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_6\\%\\,transparent\\)_20\\%\\,color-mix\\(in_oklch\\,var\\(--ff-color-foreground\\)_6\\%\\,transparent\\)_80\\%\\,transparent_100\\%\\)\\]{background:linear-gradient(90deg,transparent 0%,color-mix(in oklch,var(--ff-color-foreground)6%,transparent)20%,color-mix(in oklch,var(--ff-color-foreground)6%,transparent)80%,transparent 100%)}}.ff\\:\\[background\\:linear-gradient\\(90deg\\,var\\(--ff-color-primary\\)\\,color-mix\\(in_oklch\\,var\\(--ff-color-primary\\)_80\\%\\,white\\)\\)\\]{background:linear-gradient(90deg,var(--ff-color-primary),var(--ff-color-primary))}@supports (color:color-mix(in lab,red,red)){.ff\\:\\[background\\:linear-gradient\\(90deg\\,var\\(--ff-color-primary\\)\\,color-mix\\(in_oklch\\,var\\(--ff-color-primary\\)_80\\%\\,white\\)\\)\\]{background:linear-gradient(90deg,var(--ff-color-primary),color-mix(in oklch,var(--ff-color-primary)80%,white))}}.ff\\:\\[background\\:repeating-linear-gradient\\(-45deg\\,var\\(--ff-color-primary\\)\\,var\\(--ff-color-primary\\)_8px\\,color-mix\\(in_oklch\\,var\\(--ff-color-primary\\)_80\\%\\,black\\)_8px\\,color-mix\\(in_oklch\\,var\\(--ff-color-primary\\)_80\\%\\,black\\)_16px\\)\\]{background:repeating-linear-gradient(-45deg,var(--ff-color-primary),var(--ff-color-primary)8px,var(--ff-color-primary)8px,var(--ff-color-primary)16px)}@supports (color:color-mix(in lab,red,red)){.ff\\:\\[background\\:repeating-linear-gradient\\(-45deg\\,var\\(--ff-color-primary\\)\\,var\\(--ff-color-primary\\)_8px\\,color-mix\\(in_oklch\\,var\\(--ff-color-primary\\)_80\\%\\,black\\)_8px\\,color-mix\\(in_oklch\\,var\\(--ff-color-primary\\)_80\\%\\,black\\)_16px\\)\\]{background:repeating-linear-gradient(-45deg,var(--ff-color-primary),var(--ff-color-primary)8px,color-mix(in oklch,var(--ff-color-primary)80%,black)8px,color-mix(in oklch,var(--ff-color-primary)80%,black)16px)}}.ff\\:\\[background\\:repeating-linear-gradient\\(-45deg\\,var\\(--ff-color-secondary\\)\\,var\\(--ff-color-secondary\\)_4px\\,var\\(--ff-color-surface\\)_4px\\,var\\(--ff-color-surface\\)_8px\\)\\]{background:repeating-linear-gradient(-45deg,var(--ff-color-secondary),var(--ff-color-secondary)4px,var(--ff-color-surface)4px,var(--ff-color-surface)8px)}.ff\\:\\[scrollbar-width\\:none\\]{scrollbar-width:none}.ff\\:duration-100{animation-duration:.1s}.ff\\:duration-150{animation-duration:.15s}.ff\\:duration-200{animation-duration:.2s}.ff\\:duration-300{animation-duration:.3s}.ff\\:ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.ff\\:peer-placeholder-shown\\:translate-y-0:is(:where(.ff\\:peer):placeholder-shown~*){--tw-translate-y:calc(var(--ff-spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:peer-placeholder-shown\\:scale-100:is(:where(.ff\\:peer):placeholder-shown~*){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.ff\\:peer-placeholder-shown\\:font-normal:is(:where(.ff\\:peer):placeholder-shown~*){--tw-font-weight:var(--ff-font-weight-normal);font-weight:var(--ff-font-weight-normal)}.ff\\:peer-placeholder-shown\\:text-muted:is(:where(.ff\\:peer):placeholder-shown~*){color:var(--ff-color-muted)}.ff\\:peer-focus\\:-translate-y-2:is(:where(.ff\\:peer):focus~*){--tw-translate-y:calc(var(--ff-spacing)*-2);translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:peer-focus\\:scale-75:is(:where(.ff\\:peer):focus~*){--tw-scale-x:75%;--tw-scale-y:75%;--tw-scale-z:75%;scale:var(--tw-scale-x)var(--tw-scale-y)}.ff\\:peer-focus\\:font-medium:is(:where(.ff\\:peer):focus~*){--tw-font-weight:var(--ff-font-weight-medium);font-weight:var(--ff-font-weight-medium)}.ff\\:peer-focus\\:text-danger:is(:where(.ff\\:peer):focus~*){color:var(--ff-color-danger)}.ff\\:peer-focus\\:text-primary:is(:where(.ff\\:peer):focus~*){color:var(--ff-color-primary)}.ff\\:peer-disabled\\:text-muted:is(:where(.ff\\:peer):disabled~*){color:var(--ff-color-muted)}.ff\\:peer-disabled\\:opacity-50:is(:where(.ff\\:peer):disabled~*){opacity:.5}.ff\\:placeholder\\:text-muted::placeholder{color:var(--ff-color-muted)}.ff\\:placeholder\\:opacity-0::placeholder{opacity:0}.ff\\:placeholder\\:transition-opacity::placeholder{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--ff-default-transition-timing-function));transition-duration:var(--tw-duration,var(--ff-default-transition-duration))}.ff\\:placeholder\\:duration-200::placeholder{--tw-duration:.2s;transition-duration:.2s;animation-duration:.2s}.ff\\:last\\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.ff\\:last\\:pb-0:last-child{padding-bottom:calc(var(--ff-spacing)*0)}@media(hover:hover){.ff\\:hover\\:-translate-x-0\\.5:hover{--tw-translate-x:calc(var(--ff-spacing)*-.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:hover\\:translate-x-0:hover{--tw-translate-x:calc(var(--ff-spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:hover\\:-translate-y-0\\.5:hover{--tw-translate-y:calc(var(--ff-spacing)*-.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:hover\\:translate-y-0:hover{--tw-translate-y:calc(var(--ff-spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:hover\\:border-foreground:hover{border-color:var(--ff-color-foreground)}.ff\\:hover\\:bg-secondary:hover{background-color:var(--ff-color-secondary)}.ff\\:hover\\:underline:hover{text-decoration-line:underline}.ff\\:hover\\:opacity-90:hover{opacity:.9}.ff\\:hover\\:shadow-\\[0_4px_16px_-4px_rgba\\(0\\,0\\,0\\,0\\.12\\)\\]:hover{--tw-shadow:0 4px 16px -4px var(--tw-shadow-color,#0000001f);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:hover\\:shadow-\\[4px_4px_0_var\\(--ff-color-foreground\\)\\]:hover{--tw-shadow:4px 4px 0 var(--tw-shadow-color,var(--ff-color-foreground));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:hover\\:shadow-\\[6px_6px_0_var\\(--ff-color-foreground\\)\\]:hover{--tw-shadow:6px 6px 0 var(--tw-shadow-color,var(--ff-color-foreground));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:hover\\:shadow-none:hover{--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)}}.ff\\:focus\\:border-danger:focus,.ff\\:focus\\:border-danger\\/50:focus{border-color:var(--ff-color-danger)}@supports (color:color-mix(in lab,red,red)){.ff\\:focus\\:border-danger\\/50:focus{border-color:color-mix(in oklab,var(--ff-color-danger)50%,transparent)}}.ff\\:focus\\:border-primary:focus,.ff\\:focus\\:border-primary\\/50:focus{border-color:var(--ff-color-primary)}@supports (color:color-mix(in lab,red,red)){.ff\\:focus\\:border-primary\\/50:focus{border-color:color-mix(in oklab,var(--ff-color-primary)50%,transparent)}}.ff\\:focus\\:border-b-danger:focus{border-bottom-color:var(--ff-color-danger)}.ff\\:focus\\:border-b-primary:focus{border-bottom-color:var(--ff-color-primary)}.ff\\:focus\\:bg-background:focus{background-color:var(--ff-color-background)}.ff\\:focus\\:shadow-\\[inset_0_1px_4px_-1px_rgba\\(0\\,0\\,0\\,0\\.06\\)\\,0_0_0_3px_rgba\\(var\\(--ff-color-danger-rgb\\)\\,0\\.12\\)\\]:focus{--tw-shadow:inset 0 1px 4px -1px var(--tw-shadow-color,#0000000f),0 0 0 3px var(--tw-shadow-color,rgba(var(--ff-color-danger-rgb),.12));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:focus\\:shadow-\\[inset_0_1px_4px_-1px_rgba\\(0\\,0\\,0\\,0\\.06\\)\\,0_0_0_3px_rgba\\(var\\(--ff-color-primary-rgb\\)\\,0\\.12\\)\\]:focus{--tw-shadow:inset 0 1px 4px -1px var(--tw-shadow-color,#0000000f),0 0 0 3px var(--tw-shadow-color,rgba(var(--ff-color-primary-rgb),.12));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:focus\\:shadow-\\[inset_2px_2px_0_var\\(--ff-color-primary\\)\\]:focus{--tw-shadow:inset 2px 2px 0 var(--tw-shadow-color,var(--ff-color-primary));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:focus\\:shadow-\\[inset_3px_3px_0_var\\(--ff-color-primary\\)\\]:focus{--tw-shadow:inset 3px 3px 0 var(--tw-shadow-color,var(--ff-color-primary));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:focus\\:shadow-none:focus{--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)}.ff\\:focus\\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + 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)}.ff\\:focus\\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:focus\\:ring-danger:focus,.ff\\:focus\\:ring-danger\\/20:focus{--tw-ring-color:var(--ff-color-danger)}@supports (color:color-mix(in lab,red,red)){.ff\\:focus\\:ring-danger\\/20:focus{--tw-ring-color:color-mix(in oklab,var(--ff-color-danger)20%,transparent)}}.ff\\:focus\\:ring-primary\\/20:focus{--tw-ring-color:var(--ff-color-primary)}@supports (color:color-mix(in lab,red,red)){.ff\\:focus\\:ring-primary\\/20:focus{--tw-ring-color:color-mix(in oklab,var(--ff-color-primary)20%,transparent)}}.ff\\:focus\\:placeholder\\:opacity-100:focus::placeholder{opacity:1}.ff\\:focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:focus-visible\\:ring-border:focus-visible{--tw-ring-color:var(--ff-color-border)}.ff\\:focus-visible\\:ring-danger:focus-visible{--tw-ring-color:var(--ff-color-danger)}.ff\\:focus-visible\\:ring-primary:focus-visible{--tw-ring-color:var(--ff-color-primary)}.ff\\:focus-visible\\:ring-secondary:focus-visible{--tw-ring-color:var(--ff-color-secondary)}.ff\\:focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.ff\\:active\\:translate-x-0:active{--tw-translate-x:calc(var(--ff-spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:active\\:translate-x-0\\.5:active{--tw-translate-x:calc(var(--ff-spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:active\\:translate-y-0:active{--tw-translate-y:calc(var(--ff-spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:active\\:translate-y-0\\.5:active{--tw-translate-y:calc(var(--ff-spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.ff\\:active\\:shadow-\\[2px_2px_0_var\\(--ff-color-foreground\\)\\]:active{--tw-shadow:2px 2px 0 var(--tw-shadow-color,var(--ff-color-foreground));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:active\\:shadow-\\[inset_0_2px_4px_rgba\\(0\\,0\\,0\\,0\\.1\\)\\]:active{--tw-shadow:inset 0 2px 4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ff\\:active\\:shadow-none:active{--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)}.ff\\:disabled\\:pointer-events-none:disabled{pointer-events:none}.ff\\:disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.ff\\:disabled\\:opacity-35:disabled{opacity:.35}.ff\\:disabled\\:opacity-50:disabled{opacity:.5}.ff\\:\\[\\&\\:\\:-webkit-scrollbar\\]\\:hidden::-webkit-scrollbar{display:none}.ff\\:\\[\\&\\>\\*\\]\\:min-h-0>*{min-height:calc(var(--ff-spacing)*0)}.ff\\:\\[\\&\\>\\*\\]\\:flex-1>*{flex:1}.fanfare-text-balance{text-wrap:balance}.fanfare-text-pretty{text-wrap:pretty}}[data-fanfare-variant=default]{--ff-variant:"default"}[data-fanfare-variant=retro]{--ff-variant:"retro";--ff-color-background:#f4f1ea;--ff-color-foreground:#000;--ff-color-muted:#444;--ff-color-muted-foreground:#444;--ff-color-border:#000;--ff-font-sans:"Inconsolata","JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--ff-font-heading:"Inconsolata","JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--ff-font-mono:"Inconsolata","JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace}[data-fanfare-variant=rounded]{--ff-variant:"rounded"}[data-fanfare-variant=clean]{--ff-variant:"clean";--ff-color-background:#fff;--ff-color-foreground:#0a0a0a;--ff-color-muted:#737373;--ff-color-muted-foreground:#737373;--ff-color-border:#e8e8e8;--ff-font-sans:"Figtree",system-ui,sans-serif;--ff-font-heading:"Figtree",system-ui,sans-serif;--ff-font-mono:"Inconsolata","JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,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}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-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-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes slide-in{0%{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:translateY(0)}}@keyframes slide-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-.5rem)}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes scale-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes celebration-bounce{0%,to{transform:scale(1)}25%{transform:scale(1.2)}50%{transform:scale(.95)}75%{transform:scale(1.1)}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-4px)}20%,40%,60%,80%{transform:translate(4px)}}@keyframes pulse-success{0%{box-shadow:0 0 0 0 var(--ff-color-success,#22c55e)}70%{box-shadow:0 0 0 10px #0000}to{box-shadow:0 0 #0000}}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes skeleton-slide{0%{background-position:-100% 0}to{background-position:200% 0}}', So = '@theme{ --color-primary: #1d1f27; --color-primary-foreground: #ffffff; --color-secondary: #f4f4f5; --color-background: #ffffff; --color-surface: transparent; --color-surface-foreground: #1d1f27; --color-foreground: #1d1f27; --color-muted: #4b4e56cc; --color-muted-foreground: #4b4e5699; --color-border: #4b4e5666; --color-success: oklch(.77 .18 130); --color-success-foreground: #111111; --color-warning: oklch(.72 .18 65); --color-warning-foreground: #111111; --color-danger: oklch(.63 .24 25); --color-danger-foreground: #ffffff; --font-sans: "Inter", system-ui, sans-serif; --font-heading: "Inter", system-ui, sans-serif; --text-xxs: .625rem; --text-xxs--line-height: .875rem; }[data-fanfare-variant=default]{--ff-variant: "default"}[data-fanfare-variant=retro]{--ff-variant: "retro";--ff-color-background: #f4f1ea;--ff-color-foreground: #000000;--ff-color-muted: #444444;--ff-color-muted-foreground: #444444;--ff-color-border: #000000;--ff-font-sans: "Inconsolata", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--ff-font-heading: "Inconsolata", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--ff-font-mono: "Inconsolata", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace}[data-fanfare-variant=rounded]{--ff-variant: "rounded"}[data-fanfare-variant=clean]{--ff-variant: "clean";--ff-color-background: #ffffff;--ff-color-foreground: #0a0a0a;--ff-color-muted: #737373;--ff-color-muted-foreground: #737373;--ff-color-border: #e8e8e8;--ff-font-sans: "Figtree", system-ui, sans-serif;--ff-font-heading: "Figtree", system-ui, sans-serif;--ff-font-mono: "Inconsolata", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace}@layer base{.fanfare-themed{font-family:var(--ff-font-sans);color:var(--ff-color-foreground);background-color:var(--ff-color-surface)}.fanfare-themed *,.fanfare-themed :after,.fanfare-themed :before,.fanfare-themed ::backdrop,.fanfare-themed ::file-selector-button{border-color:var(--ff-color-border);outline-color:var(--ff-color-border)}.fanfare-themed button:not(:disabled),.fanfare-themed [role=button]:not(:disabled){cursor:pointer}.fanfare-themed :focus-visible{outline:2px solid var(--ff-color-primary);outline-offset:2px}@media(prefers-reduced-motion:reduce){.fanfare-themed *,.fanfare-themed :before,.fanfare-themed :after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}}';
4974
+ function Co({
4964
4975
  children: e,
4965
4976
  theme: a,
4966
4977
  variant: r,
@@ -4969,61 +4980,61 @@ function So({
4969
4980
  className: i,
4970
4981
  style: f
4971
4982
  }) {
4972
- const c = bt(null), [g, d] = ve(null);
4973
- dr(() => {
4974
- if (c.current && !c.current.shadowRoot) {
4975
- const m = c.current.attachShadow({ mode: "open" });
4983
+ const l = bt(null), [g, d] = ve(null);
4984
+ ur(() => {
4985
+ if (l.current && !l.current.shadowRoot) {
4986
+ const m = l.current.attachShadow({ mode: "open" });
4976
4987
  d(m);
4977
4988
  }
4978
4989
  }, []);
4979
- const x = X(() => a ? Da(a) : {}, [a]);
4980
- return /* @__PURE__ */ t("div", { ref: c, className: i, style: f, children: g && Er(
4990
+ const b = X(() => a ? Da(a) : {}, [a]);
4991
+ return /* @__PURE__ */ t("div", { ref: l, className: i, style: f, children: g && Mr(
4981
4992
  /* @__PURE__ */ u(Me, { children: [
4982
4993
  /* @__PURE__ */ u("style", { "data-fanfare-styles": !0, children: [
4983
- _o,
4984
- No
4994
+ No,
4995
+ So
4985
4996
  ] }),
4986
- /* @__PURE__ */ t(Na, { locale: n, translations: o, children: /* @__PURE__ */ t(Rt, { theme: a, variant: r, className: "ff:h-full ff:w-full", children: /* @__PURE__ */ t("div", { className: "fanfare-root ff:h-full ff:w-full", style: x, children: e }) }) })
4997
+ /* @__PURE__ */ t(Na, { locale: n, translations: o, children: /* @__PURE__ */ t(Rt, { theme: a, variant: r, className: "ff:h-full ff:w-full", children: /* @__PURE__ */ t("div", { className: "fanfare-root ff:h-full ff:w-full", style: b, children: e }) }) })
4987
4998
  ] }),
4988
4999
  g
4989
5000
  ) });
4990
5001
  }
4991
- So.displayName = "ShadowDOMPreview";
5002
+ Co.displayName = "ShadowDOMPreview";
4992
5003
  export {
4993
- za as AccessCodeForm,
5004
+ ja as AccessCodeForm,
4994
5005
  tt as AuctionModule,
4995
5006
  Aa as AuthForm,
4996
5007
  Ea as AuthInput,
4997
5008
  j as Button,
4998
5009
  Ta as Card,
4999
- dn as CardContent,
5000
- cn as CardDescription,
5001
- un as CardFooter,
5002
- sn as CardHeader,
5003
- ln as CardTitle,
5004
- ja as ChallengeGate,
5010
+ un as CardContent,
5011
+ dn as CardDescription,
5012
+ pn as CardFooter,
5013
+ ln as CardHeader,
5014
+ cn as CardTitle,
5015
+ za as ChallengeGate,
5005
5016
  at as DrawModule,
5006
5017
  Fa as EndedModule,
5007
5018
  et as ErrorView,
5008
- Lr as ExperienceJourneyController,
5009
- Uo as ExperienceJourneySkeleton,
5010
- ko as ExperienceWidget,
5019
+ Ar as ExperienceJourneyController,
5020
+ Ho as ExperienceJourneySkeleton,
5021
+ _o as ExperienceWidget,
5011
5022
  ya as FanfareContext,
5012
- $o as FanfareProvider,
5023
+ qo as FanfareProvider,
5013
5024
  it as GrantedPanel,
5014
5025
  Na as I18nProvider,
5015
5026
  ie as InfoPanel,
5016
5027
  yt as Input,
5017
5028
  It as LoadingView,
5018
5029
  Ma as OTPInput,
5019
- We as OutcomePanel,
5030
+ Ue as OutcomePanel,
5020
5031
  Z as PanelBody,
5021
5032
  H as PanelFooter,
5022
5033
  G as PanelHeading,
5023
5034
  Y as PanelLayout,
5024
5035
  wt as QueueModule,
5025
- Zo as RTL_LOCALES,
5026
- So as ShadowDOMPreview,
5036
+ Yo as RTL_LOCALES,
5037
+ Co as ShadowDOMPreview,
5027
5038
  Ja as StartView,
5028
5039
  re as THEME_CSS_VARS,
5029
5040
  Rt as ThemeProvider,
@@ -5031,13 +5042,13 @@ export {
5031
5042
  Ga as UpcomingModule,
5032
5043
  Qa as WaitlistView,
5033
5044
  Da as buildThemeCssVars,
5034
- an as buttonVariants,
5035
- Yo as isRTLLocale,
5045
+ rn as buttonVariants,
5046
+ Go as isRTLLocale,
5036
5047
  da as normalizeOutcomeReason,
5037
5048
  Sa as useExperienceJourney,
5038
5049
  Nt as useFanfare,
5039
- qo as useFanfareAuth,
5050
+ Uo as useFanfareAuth,
5040
5051
  Wo as useJourneySnapshot,
5041
- ze as useNanostore,
5052
+ je as useNanostore,
5042
5053
  K as useTranslations
5043
5054
  };