@evelan/jexity-widget 0.21.6 β†’ 0.22.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.mjs CHANGED
@@ -119,7 +119,7 @@ function Wo(t) {
119
119
  };
120
120
  }
121
121
  function no(t, e, n, r, i, o, a, l, c, u) {
122
- var h, m, d, p, x, k, b, v, w, R, y, E, N, L, W, de, F = e.type;
122
+ var h, m, d, p, x, k, b, v, w, R, y, E, N, L, Q, de, F = e.type;
123
123
  if (e.constructor !== void 0) return null;
124
124
  128 & n.__u && (c = !!(32 & n.__u), o = [l = e.__e = n.__e]), (h = P.__b) && h(e);
125
125
  e: if (typeof F == "function") {
@@ -141,7 +141,7 @@ function no(t, e, n, r, i, o, a, l, c, u) {
141
141
  else do
142
142
  d.__d = !1, N && N(e), h = d.render(d.props, d.state, d.context), d.state = d.__s;
143
143
  while (d.__d && ++L < 25);
144
- d.state = d.__s, d.getChildContext != null && (r = ft(ft({}, r), d.getChildContext())), R && !p && d.getSnapshotBeforeUpdate != null && (b = d.getSnapshotBeforeUpdate(x, k)), W = h != null && h.type === ee && h.key == null ? Cs(h.props.children) : h, l = js(t, nr(W) ? W : [W], e, n, r, i, o, a, l, c, u), d.base = e.__e, e.__u &= -161, d.__h.length && a.push(d), v && (d.__E = d.__ = null);
144
+ d.state = d.__s, d.getChildContext != null && (r = ft(ft({}, r), d.getChildContext())), R && !p && d.getSnapshotBeforeUpdate != null && (b = d.getSnapshotBeforeUpdate(x, k)), Q = h != null && h.type === ee && h.key == null ? Cs(h.props.children) : h, l = js(t, nr(Q) ? Q : [Q], e, n, r, i, o, a, l, c, u), d.base = e.__e, e.__u &= -161, d.__h.length && a.push(d), v && (d.__E = d.__ = null);
145
145
  } catch (J) {
146
146
  if (a.length = m, e.__v = null, c || o != null) if (J.then) {
147
147
  for (e.__u |= c ? 160 : 128; l && l.nodeType == 8 && l.nextSibling; ) l = l.nextSibling;
@@ -4070,7 +4070,7 @@ Object.defineProperty(Se.prototype, "value", { get: function() {
4070
4070
  }
4071
4071
  }
4072
4072
  } });
4073
- function H(t, e) {
4073
+ function W(t, e) {
4074
4074
  return new Se(t, e);
4075
4075
  }
4076
4076
  function al(t) {
@@ -4298,7 +4298,7 @@ _n("diffed", function(t, e) {
4298
4298
  t(e);
4299
4299
  });
4300
4300
  function Hd(t, e, n, r) {
4301
- var i = e in t && t.ownerSVGElement === void 0, o = H(n);
4301
+ var i = e in t && t.ownerSVGElement === void 0, o = W(n);
4302
4302
  return { o: function(a, l) {
4303
4303
  o.value = a, r = l;
4304
4304
  }, d: ar(function() {
@@ -4352,7 +4352,7 @@ rt.prototype.shouldComponentUpdate = function(t, e) {
4352
4352
  };
4353
4353
  function fn(t, e) {
4354
4354
  return ge(function() {
4355
- return H(t, e);
4355
+ return W(t, e);
4356
4356
  }, []);
4357
4357
  }
4358
4358
  var Wd = function(t) {
@@ -4368,7 +4368,7 @@ function Qd() {
4368
4368
  function fl() {
4369
4369
  dl.push(this) === 1 && (P.requestAnimationFrame || Wd)(Qd);
4370
4370
  }
4371
- const ae = H(!1), Br = H(void 0), sr = "https://jexitychat.de/privacy", lr = H(sr), uo = H("chip"), Lt = H(void 0), zi = H([]), Bi = H([]), pl = H(null);
4371
+ const ae = W(!1), Br = W(void 0), sr = "https://jexitychat.de/privacy", lr = W(sr), uo = W("chip"), Lt = W(void 0), zi = W([]), Bi = W([]), pl = W(null);
4372
4372
  function Gd(t) {
4373
4373
  return t.replace(/\.convex\.site\b/, ".convex.cloud");
4374
4374
  }
@@ -5095,7 +5095,7 @@ Verwenden Sie sie, um diese Unterhaltung auf jedem GerΓ€t fortzusetzen.`,
5095
5095
  }, ah = [
5096
5096
  { value: "de", label: "Deutsch", flag: "πŸ‡©πŸ‡ͺ" },
5097
5097
  { value: "en", label: "English", flag: "πŸ‡¬πŸ‡§" }
5098
- ], sh = "de", lh = "jex-locale", xt = H("de"), ch = { en: ho, de: xl };
5098
+ ], sh = "de", lh = "jex-locale", xt = W("de"), ch = { en: ho, de: xl };
5099
5099
  function I() {
5100
5100
  return ch[xt.value] ?? ho;
5101
5101
  }
@@ -5136,7 +5136,7 @@ function uh(t) {
5136
5136
  };
5137
5137
  }, [t]);
5138
5138
  }
5139
- const yl = "jex-session-history", vl = yl, wl = 1440 * 60 * 1e3, Ce = H([]), Be = H(null), Nt = H(void 0), Fi = H(!1), fo = qi(() => Ce.value.length > 0), pn = H(null), dh = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789", hh = 6;
5139
+ const yl = "jex-session-history", vl = yl, wl = 1440 * 60 * 1e3, Ce = W([]), Be = W(null), Nt = W(void 0), Fi = W(!1), fo = qi(() => Ce.value.length > 0), pn = W(null), dh = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789", hh = 6;
5140
5140
  function fh() {
5141
5141
  let t = "";
5142
5142
  const e = new Uint8Array(1);
@@ -5215,14 +5215,14 @@ function po(t) {
5215
5215
  );
5216
5216
  Ce.value = n, cr(n);
5217
5217
  }
5218
- const $e = H(_l());
5218
+ const $e = W(_l());
5219
5219
  function _l() {
5220
5220
  return fo.value ? [{ id: "home" }] : [{ id: "home" }, { id: "chat" }];
5221
5221
  }
5222
5222
  function yh() {
5223
5223
  $e.value = _l();
5224
5224
  }
5225
- const vh = H("screen");
5225
+ const vh = W("screen");
5226
5226
  function jt(t) {
5227
5227
  $e.value = [...$e.value, t];
5228
5228
  }
@@ -5232,7 +5232,7 @@ function mo() {
5232
5232
  function Ui(t) {
5233
5233
  $e.value = [...$e.value.slice(0, -1), t];
5234
5234
  }
5235
- const wh = 6e4, Zn = H(!1), Vi = H(!1), Hi = /* @__PURE__ */ new Set();
5235
+ const wh = 6e4, Zn = W(!1), Vi = W(!1), Hi = /* @__PURE__ */ new Set();
5236
5236
  function kh(t) {
5237
5237
  return Hi.add(t), () => {
5238
5238
  Hi.delete(t);
@@ -5429,7 +5429,7 @@ function Mh({ radius: t = "full", iconOption: e = "chat", label: n }) {
5429
5429
  }
5430
5430
  );
5431
5431
  }
5432
- const Ur = H(!1);
5432
+ const Ur = W(!1);
5433
5433
  function Oh(t, e) {
5434
5434
  return e ? `jex-proactive-dismissed:${t}:${e}` : `jex-proactive-dismissed:${t}`;
5435
5435
  }
@@ -5491,7 +5491,7 @@ function Dh({ title: t, message: e, guardKey: n }) {
5491
5491
  }
5492
5492
  );
5493
5493
  }
5494
- const mn = H(""), Dn = H(0), vn = H(null);
5494
+ const mn = W(""), Dn = W(0), vn = W(null);
5495
5495
  function Qi(t) {
5496
5496
  vn.value = t, t && (Dn.value += 1);
5497
5497
  }
@@ -5500,7 +5500,7 @@ function Tl(t) {
5500
5500
  const e = t.replace(/\s+/g, " ").trim();
5501
5501
  return e.length > Ma ? `${e.slice(0, Ma)}…` : e;
5502
5502
  }
5503
- const Jn = H(null), Oa = H(Date.now()), Ar = H(!1), go = H(!1), Xn = H(!1), Vr = H(null);
5503
+ const Jn = W(null), Oa = W(Date.now()), Ar = W(!1), go = W(!1), Xn = W(!1), Vr = W(null);
5504
5504
  function Cl() {
5505
5505
  return uo.value === "explicit" && !go.value;
5506
5506
  }
@@ -5513,7 +5513,7 @@ function qh() {
5513
5513
  function La() {
5514
5514
  go.value = !1, Xn.value = !1, Vr.value = null;
5515
5515
  }
5516
- const Tt = H([]), zh = 4, Bh = 8 * 1024 * 1024;
5516
+ const Tt = W([]), zh = 4, Bh = 8 * 1024 * 1024;
5517
5517
  function Fh() {
5518
5518
  return typeof crypto < "u" && typeof crypto.randomUUID == "function" ? crypto.randomUUID() : `att-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 11)}`;
5519
5519
  }
@@ -5644,7 +5644,7 @@ function Zh() {
5644
5644
  const t = I(), { isActive: e, remainingSeconds: n } = Yh();
5645
5645
  return e ? /* @__PURE__ */ s("div", { class: "jex-rate-limit-notice", role: "status", "aria-live": "polite", children: t.errorRateLimited.replace("{seconds}", String(n)) }) : null;
5646
5646
  }
5647
- const un = H(null), er = H(null);
5647
+ const un = W(null), er = W(null);
5648
5648
  function Pl() {
5649
5649
  er.value = null;
5650
5650
  }
@@ -7132,35 +7132,35 @@ Please report this to https://github.com/markedjs/marked.`, t) {
7132
7132
  };
7133
7133
  }
7134
7134
  }, Qt = new Zf();
7135
- function G(t, e) {
7135
+ function H(t, e) {
7136
7136
  return Qt.parse(t, e);
7137
7137
  }
7138
- G.options = G.setOptions = function(t) {
7139
- return Qt.setOptions(t), G.defaults = Qt.defaults, Ml(G.defaults), G;
7138
+ H.options = H.setOptions = function(t) {
7139
+ return Qt.setOptions(t), H.defaults = Qt.defaults, Ml(H.defaults), H;
7140
7140
  };
7141
- G.getDefaults = bo;
7142
- G.defaults = Yt;
7143
- G.use = function(...t) {
7144
- return Qt.use(...t), G.defaults = Qt.defaults, Ml(G.defaults), G;
7141
+ H.getDefaults = bo;
7142
+ H.defaults = Yt;
7143
+ H.use = function(...t) {
7144
+ return Qt.use(...t), H.defaults = Qt.defaults, Ml(H.defaults), H;
7145
7145
  };
7146
- G.walkTokens = function(t, e) {
7146
+ H.walkTokens = function(t, e) {
7147
7147
  return Qt.walkTokens(t, e);
7148
7148
  };
7149
- G.parseInline = Qt.parseInline;
7150
- G.Parser = tt;
7151
- G.parser = tt.parse;
7152
- G.Renderer = Qr;
7153
- G.TextRenderer = To;
7154
- G.Lexer = et;
7155
- G.lexer = et.lex;
7156
- G.Tokenizer = Wr;
7157
- G.Hooks = qn;
7158
- G.parse = G;
7159
- G.options;
7160
- G.setOptions;
7161
- G.use;
7162
- G.walkTokens;
7163
- G.parseInline;
7149
+ H.parseInline = Qt.parseInline;
7150
+ H.Parser = tt;
7151
+ H.parser = tt.parse;
7152
+ H.Renderer = Qr;
7153
+ H.TextRenderer = To;
7154
+ H.Lexer = et;
7155
+ H.lexer = et.lex;
7156
+ H.Tokenizer = Wr;
7157
+ H.Hooks = qn;
7158
+ H.parse = H;
7159
+ H.options;
7160
+ H.setOptions;
7161
+ H.use;
7162
+ H.walkTokens;
7163
+ H.parseInline;
7164
7164
  tt.parse;
7165
7165
  et.lex;
7166
7166
  function Ga(t, e) {
@@ -7391,7 +7391,7 @@ function Wl() {
7391
7391
  const j = n.createElement("template");
7392
7392
  j.content && j.content.ownerDocument && (n = j.content.ownerDocument);
7393
7393
  }
7394
- let N, L = "", W, de = !1, F = 0;
7394
+ let N, L = "", Q, de = !1, F = 0;
7395
7395
  const J = function() {
7396
7396
  if (F > 0)
7397
7397
  throw Ft('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.');
@@ -7410,7 +7410,7 @@ function Wl() {
7410
7410
  F--;
7411
7411
  }
7412
7412
  }, se = function() {
7413
- return de || (W = Ep(m, i), de = !0), W;
7413
+ return de || (Q = Ep(m, i), de = !0), Q;
7414
7414
  }, it = n, Ye = it.implementation, ot = it.createNodeIterator, Ct = it.createDocumentFragment, bt = it.getElementsByTagName, Dt = r.importNode;
7415
7415
  let Z = ss();
7416
7416
  e.isSupported = typeof Vl == "function" && typeof v == "function" && Ye && Ye.createHTMLDocument !== void 0;
@@ -7419,7 +7419,7 @@ function Wl() {
7419
7419
  const T = q({}, [...ts, ..._i, ...ji, ...Si, ...ns]);
7420
7420
  let C = null;
7421
7421
  const Ve = q({}, [...rs, ...Ti, ...is, ...jr]);
7422
- let Q = Object.seal(dn(null, {
7422
+ let G = Object.seal(dn(null, {
7423
7423
  tagNameCheck: {
7424
7424
  writable: !0,
7425
7425
  configurable: !1,
@@ -7533,7 +7533,7 @@ function Wl() {
7533
7533
  transform: ce
7534
7534
  }), Me = ve(f, "USE_PROFILES") ? f.USE_PROFILES && typeof f.USE_PROFILES == "object" ? Ie(f.USE_PROFILES) : f.USE_PROFILES : !1, De = f.ALLOW_ARIA_ATTR !== !1, Zt = f.ALLOW_DATA_ATTR !== !1, dr = f.ALLOW_UNKNOWN_PROTOCOLS || !1, hr = f.ALLOW_SELF_CLOSE_IN_ATTR !== !1, at = f.SAFE_FOR_TEMPLATES || !1, zt = f.SAFE_FOR_XML !== !1, vt = f.WHOLE_DOCUMENT || !1, At = f.RETURN_DOM || !1, Xt = f.RETURN_DOM_FRAGMENT || !1, en = f.RETURN_TRUSTED_TYPE || !1, Jt = f.FORCE_BODY || !1, U = f.SANITIZE_DOM !== !1, $ = f.SANITIZE_NAMED_PROPS || !1, Je = f.KEEP_CONTENT !== !1, ue = f.IN_PLACE || !1, we = pp(f.ALLOWED_URI_REGEXP) ? f.ALLOWED_URI_REGEXP : os, tn = typeof f.NAMESPACE == "string" ? f.NAMESPACE : st, oi = ve(f, "MATHML_TEXT_INTEGRATION_POINTS") && f.MATHML_TEXT_INTEGRATION_POINTS && typeof f.MATHML_TEXT_INTEGRATION_POINTS == "object" ? Ie(f.MATHML_TEXT_INTEGRATION_POINTS) : q({}, Po), ai = ve(f, "HTML_INTEGRATION_POINTS") && f.HTML_INTEGRATION_POINTS && typeof f.HTML_INTEGRATION_POINTS == "object" ? Ie(f.HTML_INTEGRATION_POINTS) : q({}, No);
7535
7535
  const g = ve(f, "CUSTOM_ELEMENT_HANDLING") && f.CUSTOM_ELEMENT_HANDLING && typeof f.CUSTOM_ELEMENT_HANDLING == "object" ? Ie(f.CUSTOM_ELEMENT_HANDLING) : dn(null);
7536
- if (Q = dn(null), ve(g, "tagNameCheck") && Mo(g.tagNameCheck) && (Q.tagNameCheck = g.tagNameCheck), ve(g, "attributeNameCheck") && Mo(g.attributeNameCheck) && (Q.attributeNameCheck = g.attributeNameCheck), ve(g, "allowCustomizedBuiltInElements") && typeof g.allowCustomizedBuiltInElements == "boolean" && (Q.allowCustomizedBuiltInElements = g.allowCustomizedBuiltInElements), je(Q), at && (Zt = !1), Xt && (At = !0), Me && (K = q({}, ns), C = dn(null), Me.html === !0 && (q(K, ts), q(C, rs)), Me.svg === !0 && (q(K, _i), q(C, Ti), q(C, jr)), Me.svgFilters === !0 && (q(K, ji), q(C, Ti), q(C, jr)), Me.mathMl === !0 && (q(K, Si), q(C, is), q(C, jr))), Re.tagCheck = null, Re.attributeCheck = null, ve(f, "ADD_TAGS") && (typeof f.ADD_TAGS == "function" ? Re.tagCheck = f.ADD_TAGS : Mt(f.ADD_TAGS) && (K === T && (K = Ie(K)), q(K, f.ADD_TAGS, ce))), ve(f, "ADD_ATTR") && (typeof f.ADD_ATTR == "function" ? Re.attributeCheck = f.ADD_ATTR : Mt(f.ADD_ATTR) && (C === Ve && (C = Ie(C)), q(C, f.ADD_ATTR, ce))), ve(f, "ADD_URI_SAFE_ATTR") && Mt(f.ADD_URI_SAFE_ATTR) && q(ni, f.ADD_URI_SAFE_ATTR, ce), ve(f, "FORBID_CONTENTS") && Mt(f.FORBID_CONTENTS) && (He === An && (He = Ie(He)), q(He, f.FORBID_CONTENTS, ce)), ve(f, "ADD_FORBID_CONTENTS") && Mt(f.ADD_FORBID_CONTENTS) && (He === An && (He = Ie(He)), q(He, f.ADD_FORBID_CONTENTS, ce)), Je && (K["#text"] = !0), vt && q(K, ["html", "head", "body"]), K.table && (q(K, ["tbody"]), delete yt.tbody), f.TRUSTED_TYPES_POLICY) {
7536
+ if (G = dn(null), ve(g, "tagNameCheck") && Mo(g.tagNameCheck) && (G.tagNameCheck = g.tagNameCheck), ve(g, "attributeNameCheck") && Mo(g.attributeNameCheck) && (G.attributeNameCheck = g.attributeNameCheck), ve(g, "allowCustomizedBuiltInElements") && typeof g.allowCustomizedBuiltInElements == "boolean" && (G.allowCustomizedBuiltInElements = g.allowCustomizedBuiltInElements), je(G), at && (Zt = !1), Xt && (At = !0), Me && (K = q({}, ns), C = dn(null), Me.html === !0 && (q(K, ts), q(C, rs)), Me.svg === !0 && (q(K, _i), q(C, Ti), q(C, jr)), Me.svgFilters === !0 && (q(K, ji), q(C, Ti), q(C, jr)), Me.mathMl === !0 && (q(K, Si), q(C, is), q(C, jr))), Re.tagCheck = null, Re.attributeCheck = null, ve(f, "ADD_TAGS") && (typeof f.ADD_TAGS == "function" ? Re.tagCheck = f.ADD_TAGS : Mt(f.ADD_TAGS) && (K === T && (K = Ie(K)), q(K, f.ADD_TAGS, ce))), ve(f, "ADD_ATTR") && (typeof f.ADD_ATTR == "function" ? Re.attributeCheck = f.ADD_ATTR : Mt(f.ADD_ATTR) && (C === Ve && (C = Ie(C)), q(C, f.ADD_ATTR, ce))), ve(f, "ADD_URI_SAFE_ATTR") && Mt(f.ADD_URI_SAFE_ATTR) && q(ni, f.ADD_URI_SAFE_ATTR, ce), ve(f, "FORBID_CONTENTS") && Mt(f.FORBID_CONTENTS) && (He === An && (He = Ie(He)), q(He, f.FORBID_CONTENTS, ce)), ve(f, "ADD_FORBID_CONTENTS") && Mt(f.ADD_FORBID_CONTENTS) && (He === An && (He = Ie(He)), q(He, f.ADD_FORBID_CONTENTS, ce)), Je && (K["#text"] = !0), vt && q(K, ["html", "head", "body"]), K.table && (q(K, ["tbody"]), delete yt.tbody), f.TRUSTED_TYPES_POLICY) {
7537
7537
  if (typeof f.TRUSTED_TYPES_POLICY.createHTML != "function")
7538
7538
  throw Ft('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');
7539
7539
  if (typeof f.TRUSTED_TYPES_POLICY.createScriptURL != "function")
@@ -7740,7 +7740,7 @@ function Wl() {
7740
7740
  const kc = function(f, g) {
7741
7741
  return !!(zt && f.hasChildNodes() && !En(f.firstElementChild) && ke(as, f.textContent) && ke(as, f.innerHTML) || zt && f.namespaceURI === st && g === "style" && En(f.firstElementChild) || f.nodeType === ct.processingInstruction || zt && f.nodeType === ct.comment && ke(Tp, f.data));
7742
7742
  }, _c = function(f, g) {
7743
- if (!yt[g] && Fo(g) && (Q.tagNameCheck instanceof RegExp && ke(Q.tagNameCheck, g) || Q.tagNameCheck instanceof Function && Q.tagNameCheck(g)))
7743
+ if (!yt[g] && Fo(g) && (G.tagNameCheck instanceof RegExp && ke(G.tagNameCheck, g) || G.tagNameCheck instanceof Function && G.tagNameCheck(g)))
7744
7744
  return !1;
7745
7745
  if (Je && !He[g]) {
7746
7746
  const _ = v(f), A = b(f);
@@ -7794,9 +7794,9 @@ function Wl() {
7794
7794
  // First condition does a very basic check if a) it's basically a valid custom element tagname AND
7795
7795
  // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
7796
7796
  // and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck
7797
- !(Fo(f) && (Q.tagNameCheck instanceof RegExp && ke(Q.tagNameCheck, f) || Q.tagNameCheck instanceof Function && Q.tagNameCheck(f)) && (Q.attributeNameCheck instanceof RegExp && ke(Q.attributeNameCheck, g) || Q.attributeNameCheck instanceof Function && Q.attributeNameCheck(g, f)) || // Alternative, second condition checks if it's an `is`-attribute, AND
7797
+ !(Fo(f) && (G.tagNameCheck instanceof RegExp && ke(G.tagNameCheck, f) || G.tagNameCheck instanceof Function && G.tagNameCheck(f)) && (G.attributeNameCheck instanceof RegExp && ke(G.attributeNameCheck, g) || G.attributeNameCheck instanceof Function && G.attributeNameCheck(g, f)) || // Alternative, second condition checks if it's an `is`-attribute, AND
7798
7798
  // the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck
7799
- g === "is" && Q.allowCustomizedBuiltInElements && (Q.tagNameCheck instanceof RegExp && ke(Q.tagNameCheck, _) || Q.tagNameCheck instanceof Function && Q.tagNameCheck(_)))
7799
+ g === "is" && G.allowCustomizedBuiltInElements && (G.tagNameCheck instanceof RegExp && ke(G.tagNameCheck, _) || G.tagNameCheck instanceof Function && G.tagNameCheck(_)))
7800
7800
  ) return !1;
7801
7801
  }
7802
7802
  }
@@ -7967,7 +7967,7 @@ function Wl() {
7967
7967
  let j = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
7968
7968
  si(j), Sn = !0, Tn = K, Cn = C;
7969
7969
  }, e.clearConfig = function() {
7970
- nn = null, Sn = !1, Tn = null, Cn = null, N = W, L = "";
7970
+ nn = null, Sn = !1, Tn = null, Cn = null, N = Q, L = "";
7971
7971
  }, e.isValidAttribute = function(j, f, g) {
7972
7972
  nn || si({});
7973
7973
  const _ = ce(j), A = ce(f);
@@ -7989,27 +7989,52 @@ function Wl() {
7989
7989
  }, e;
7990
7990
  }
7991
7991
  var Ip = Wl();
7992
- G.setOptions({
7992
+ function Pp(t) {
7993
+ return t.trim().split(/\n\s*-{3,}\s*\n/).map((e) => {
7994
+ const [n = "", ...r] = e.trim().split(`
7995
+ `);
7996
+ return {
7997
+ title: n.replace(/^\*+|\*+$/g, "").trim(),
7998
+ body: r.join(`
7999
+ `).trim()
8000
+ };
8001
+ }).filter((e) => (e.title !== "" || e.body !== "") && !/^-{3,}$/.test(e.title));
8002
+ }
8003
+ function Np(t) {
8004
+ const e = Pp(t);
8005
+ return e.length === 0 ? "" : `<div class="jex-card-grid">${e.map((r) => {
8006
+ const i = r.title ? `<div class="jex-card-title">${H.parseInline(r.title)}</div>` : "", o = r.body ? H.parse(r.body) : "";
8007
+ return `<div class="jex-card">${i}${o}</div>`;
8008
+ }).join("")}</div>`;
8009
+ }
8010
+ H.setOptions({
7993
8011
  breaks: !0,
7994
8012
  gfm: !0
7995
8013
  });
8014
+ H.use({
8015
+ renderer: {
8016
+ code(t) {
8017
+ return t.lang === "cards" && t.raw.trimEnd().endsWith("```") ? Np(t.text) : !1;
8018
+ }
8019
+ }
8020
+ });
7996
8021
  const Wn = typeof window < "u" ? Ip : null;
7997
8022
  Wn && typeof Wn.addHook == "function" && Wn.addHook("afterSanitizeAttributes", (t) => {
7998
8023
  t.tagName === "A" && t.hasAttribute("href") && (t.setAttribute("target", "_blank"), t.setAttribute("rel", "noopener noreferrer"));
7999
8024
  });
8000
- function Pp(t) {
8025
+ function Mp(t) {
8001
8026
  return t.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;").replace(/'/g, "&#39;");
8002
8027
  }
8003
- function Np(t) {
8028
+ function Op(t) {
8004
8029
  if (!t)
8005
8030
  return "";
8006
8031
  if (!Wn)
8007
- return Pp(t);
8008
- const e = G.parse(t), n = typeof e == "string" ? e : "";
8032
+ return Mp(t);
8033
+ const e = H.parse(t), n = typeof e == "string" ? e : "";
8009
8034
  return Wn.sanitize(n);
8010
8035
  }
8011
- function Mp({ text: t }) {
8012
- const e = ge(() => Np(t), [t]);
8036
+ function Lp({ text: t }) {
8037
+ const e = ge(() => Op(t), [t]);
8013
8038
  return /* @__PURE__ */ s("div", { class: "jex-md", dangerouslySetInnerHTML: { __html: e } });
8014
8039
  }
8015
8040
  function Ql({ onQuote: t }) {
@@ -8026,10 +8051,10 @@ function Ql({ onQuote: t }) {
8026
8051
  }
8027
8052
  );
8028
8053
  }
8029
- function Op(t, e, n) {
8054
+ function $p(t, e, n) {
8030
8055
  return t.role === "user" ? n : t.authorName ?? e ?? "";
8031
8056
  }
8032
- function Lp({ authorLabel: t, content: e, onClick: n }) {
8057
+ function Dp({ authorLabel: t, content: e, onClick: n }) {
8033
8058
  return /* @__PURE__ */ s("button", { type: "button", class: "jex-quoted-chip", onClick: n, children: [
8034
8059
  /* @__PURE__ */ s(xo, { size: 11 }),
8035
8060
  /* @__PURE__ */ s("span", { class: "jex-quoted-chip-text", children: [
@@ -8043,9 +8068,9 @@ function Lp({ authorLabel: t, content: e, onClick: n }) {
8043
8068
  }
8044
8069
  function Gl({ quotes: t, botName: e, yourMessageLabel: n, onQuotedClick: r }) {
8045
8070
  return t.length === 0 ? null : /* @__PURE__ */ s("div", { class: "jex-quoted-list", children: t.map((i) => /* @__PURE__ */ s(
8046
- Lp,
8071
+ Dp,
8047
8072
  {
8048
- authorLabel: Op(i, e, n),
8073
+ authorLabel: $p(i, e, n),
8049
8074
  content: i.content,
8050
8075
  onClick: r ? (o) => {
8051
8076
  r(i.id, o);
@@ -8054,7 +8079,7 @@ function Gl({ quotes: t, botName: e, yourMessageLabel: n, onQuotedClick: r }) {
8054
8079
  i.id
8055
8080
  )) });
8056
8081
  }
8057
- function $p(t) {
8082
+ function qp(t) {
8058
8083
  const e = t.trim().split(/\s+/).filter(Boolean);
8059
8084
  return e.length === 0 ? "?" : e.map((n) => n[0]).join("").slice(0, 2).toUpperCase();
8060
8085
  }
@@ -8065,7 +8090,7 @@ function ln({ text: t, streaming: e, error: n, authorId: r, authorName: i, autho
8065
8090
  ].filter(Boolean).join(" ");
8066
8091
  return /* @__PURE__ */ s("div", { class: "jex-message-row bot", children: [
8067
8092
  /* @__PURE__ */ s("div", { class: "jex-message-head", children: [
8068
- /* @__PURE__ */ s("div", { class: `jex-avatar ${p ? "jex-avatar-agent" : "jex-avatar-bot"}`, children: p && o && !x ? /* @__PURE__ */ s("img", { src: o, alt: i ?? "", class: "jex-avatar-img", onError: b }) : p ? /* @__PURE__ */ s("span", { class: "jex-avatar-initials", children: $p(i ?? "") }) : a && !x ? /* @__PURE__ */ s("img", { src: a, alt: "", class: "jex-avatar-img", onError: b }) : /* @__PURE__ */ s(Xr, { size: 14 }) }),
8093
+ /* @__PURE__ */ s("div", { class: `jex-avatar ${p ? "jex-avatar-agent" : "jex-avatar-bot"}`, children: p && o && !x ? /* @__PURE__ */ s("img", { src: o, alt: i ?? "", class: "jex-avatar-img", onError: b }) : p ? /* @__PURE__ */ s("span", { class: "jex-avatar-initials", children: qp(i ?? "") }) : a && !x ? /* @__PURE__ */ s("img", { src: a, alt: "", class: "jex-avatar-img", onError: b }) : /* @__PURE__ */ s(Xr, { size: 14 }) }),
8069
8094
  v && /* @__PURE__ */ s("span", { class: "jex-message-author", children: v })
8070
8095
  ] }),
8071
8096
  /* @__PURE__ */ s("div", { class: w, id: u, children: [
@@ -8078,13 +8103,13 @@ function ln({ text: t, streaming: e, error: n, authorId: r, authorName: i, autho
8078
8103
  onQuotedClick: m
8079
8104
  }
8080
8105
  ),
8081
- /* @__PURE__ */ s(Mp, { text: t }),
8106
+ /* @__PURE__ */ s(Lp, { text: t }),
8082
8107
  e && /* @__PURE__ */ s("span", { class: "jex-streaming-cursor" }),
8083
8108
  c && /* @__PURE__ */ s(Ql, { onQuote: c })
8084
8109
  ] })
8085
8110
  ] });
8086
8111
  }
8087
- function Dp({ questions: t, disabled: e, onPick: n }) {
8112
+ function zp({ questions: t, disabled: e, onPick: n }) {
8088
8113
  return t.length === 0 ? null : /* @__PURE__ */ s("div", { class: "jex-starter-chips", children: t.map((r) => /* @__PURE__ */ s(
8089
8114
  "button",
8090
8115
  {
@@ -8099,7 +8124,7 @@ function Dp({ questions: t, disabled: e, onPick: n }) {
8099
8124
  r
8100
8125
  )) });
8101
8126
  }
8102
- function qp(t, e) {
8127
+ function Bp(t, e) {
8103
8128
  const n = [
8104
8129
  ...new Set(
8105
8130
  e.flatMap((c) => c.split(/\s+/)).filter((c) => c.length > 1)
@@ -8113,7 +8138,7 @@ function qp(t, e) {
8113
8138
  l.index > a && o.push(t.slice(a, l.index)), o.push(/* @__PURE__ */ s("span", { class: "jex-mention", children: l[0] }, l.index)), a = l.index + l[0].length;
8114
8139
  return a < t.length && o.push(t.slice(a)), o;
8115
8140
  }
8116
- function zp({ text: t, id: e, onQuote: n, botName: r, quoted: i, onQuotedClick: o, agentNames: a }) {
8141
+ function Fp({ text: t, id: e, onQuote: n, botName: r, quoted: i, onQuotedClick: o, agentNames: a }) {
8117
8142
  const l = I();
8118
8143
  return /* @__PURE__ */ s("div", { class: "jex-message user", id: e, children: [
8119
8144
  /* @__PURE__ */ s(
@@ -8125,7 +8150,7 @@ function zp({ text: t, id: e, onQuote: n, botName: r, quoted: i, onQuotedClick:
8125
8150
  onQuotedClick: o
8126
8151
  }
8127
8152
  ),
8128
- qp(t, a ?? []),
8153
+ Bp(t, a ?? []),
8129
8154
  n && /* @__PURE__ */ s(Ql, { onQuote: n })
8130
8155
  ] });
8131
8156
  }
@@ -8140,7 +8165,7 @@ function Yl() {
8140
8165
  });
8141
8166
  };
8142
8167
  }
8143
- function Bp({ message: t, sessionId: e, visitorId: n, waitingSetAt: r }) {
8168
+ function Up({ message: t, sessionId: e, visitorId: n, waitingSetAt: r }) {
8144
8169
  const i = I();
8145
8170
  return t.formData ? /* @__PURE__ */ s("div", { class: "jex-inline-form-submitted", children: [
8146
8171
  /* @__PURE__ */ s("span", { class: "jex-inline-form-check", children: "βœ“" }),
@@ -8153,7 +8178,7 @@ function Bp({ message: t, sessionId: e, visitorId: n, waitingSetAt: r }) {
8153
8178
  ] })
8154
8179
  ] })
8155
8180
  ] }) : /* @__PURE__ */ s("div", { class: "jex-message-row bot", children: /* @__PURE__ */ s(
8156
- Fp,
8181
+ Vp,
8157
8182
  {
8158
8183
  messageId: t._id,
8159
8184
  sessionId: e,
@@ -8162,7 +8187,7 @@ function Bp({ message: t, sessionId: e, visitorId: n, waitingSetAt: r }) {
8162
8187
  }
8163
8188
  ) });
8164
8189
  }
8165
- function Fp({ messageId: t, sessionId: e, visitorId: n, waitingSetAt: r }) {
8190
+ function Vp({ messageId: t, sessionId: e, visitorId: n, waitingSetAt: r }) {
8166
8191
  const i = I(), [o, a] = z(""), [l, c] = z(""), [u, h] = z(!1), m = lr.value, d = /^https?:\/\//i.test(m) ? m : sr, p = Kl(), x = Yl();
8167
8192
  async function k(b) {
8168
8193
  if (b.preventDefault(), !u) {
@@ -8235,29 +8260,29 @@ function Fp({ messageId: t, sessionId: e, visitorId: n, waitingSetAt: r }) {
8235
8260
  ] })
8236
8261
  ] });
8237
8262
  }
8238
- function Up() {
8263
+ function Hp() {
8239
8264
  return Gt(Ae.functions.magicline.public.submitForm);
8240
8265
  }
8241
- function Vp() {
8266
+ function Wp() {
8242
8267
  return or(Ae.functions.magicline.actions.getTrialConfig);
8243
8268
  }
8244
- function Hp() {
8269
+ function Qp() {
8245
8270
  return or(Ae.functions.magicline.actions.listTrialSlots);
8246
8271
  }
8247
- function Wp() {
8272
+ function Gp() {
8248
8273
  return or(Ae.functions.magicline.actions.getRateBundles);
8249
8274
  }
8250
8275
  function Zl() {
8251
8276
  return or(Ae.functions.magicline.actions.getContractPreview);
8252
8277
  }
8253
- function Qp() {
8278
+ function Kp() {
8254
8279
  return or(Ae.functions.magicline.actions.submitContractCreation);
8255
8280
  }
8256
- const Co = { en: ho, de: xl }, Gp = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
8281
+ const Co = { en: ho, de: xl }, Yp = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
8257
8282
  function Jl(t) {
8258
- return Gp.test(t.trim());
8283
+ return Yp.test(t.trim());
8259
8284
  }
8260
- function Kp(t, e = /* @__PURE__ */ new Date()) {
8285
+ function Zp(t, e = /* @__PURE__ */ new Date()) {
8261
8286
  const n = t.trim();
8262
8287
  if (n === "")
8263
8288
  return null;
@@ -8279,7 +8304,7 @@ function ec() {
8279
8304
  const t = lr.value;
8280
8305
  return /^https?:\/\//i.test(t) ? t : sr;
8281
8306
  }
8282
- const Yp = {
8307
+ const Jp = {
8283
8308
  DE: 22,
8284
8309
  AT: 20,
8285
8310
  CH: 21,
@@ -8295,16 +8320,16 @@ const Yp = {
8295
8320
  DK: 18,
8296
8321
  FI: 18,
8297
8322
  PT: 25
8298
- }, Zp = 15, Jp = 34;
8323
+ }, Xp = 15, em = 34;
8299
8324
  function tc(t) {
8300
8325
  return t.replace(/\s+/g, "").toUpperCase();
8301
8326
  }
8302
- function Xp(t) {
8303
- const e = tc(t), n = e.slice(0, 2), r = Yp[n];
8327
+ function tm(t) {
8328
+ const e = tc(t), n = e.slice(0, 2), r = Jp[n];
8304
8329
  if (r !== void 0) {
8305
8330
  if (e.length !== r)
8306
8331
  return !1;
8307
- } else if (e.length < Zp || e.length > Jp)
8332
+ } else if (e.length < Xp || e.length > em)
8308
8333
  return !1;
8309
8334
  const i = e.slice(4) + e.slice(0, 4);
8310
8335
  let o = "";
@@ -8324,7 +8349,7 @@ function Xp(t) {
8324
8349
  }
8325
8350
  return a === 1;
8326
8351
  }
8327
- function em(t) {
8352
+ function nm(t) {
8328
8353
  const e = tc(t);
8329
8354
  if (e.length <= 8)
8330
8355
  return e;
@@ -8354,7 +8379,7 @@ function Gr(t, e, n) {
8354
8379
  const [a, l] = o[n];
8355
8380
  return `${t} ${r ? l : a}`;
8356
8381
  }
8357
- function tm(t, e) {
8382
+ function rm(t, e) {
8358
8383
  const n = t.trim();
8359
8384
  if (n === "")
8360
8385
  return "β€”";
@@ -8378,7 +8403,7 @@ function Ao(t, e, n) {
8378
8403
  }[i];
8379
8404
  return a === void 0 ? `${t} ${e.toLowerCase()}` : a.replace("{n}", String(t));
8380
8405
  }
8381
- function nm(t, e, n, r, i) {
8406
+ function im(t, e, n, r, i) {
8382
8407
  const o = Co[i], a = nt(t, e, i);
8383
8408
  switch (n) {
8384
8409
  case "TERM_BASED":
@@ -8395,19 +8420,19 @@ function nm(t, e, n, r, i) {
8395
8420
  return a;
8396
8421
  }
8397
8422
  }
8398
- function rm(t, e, n, r) {
8423
+ function om(t, e, n, r) {
8399
8424
  return e === "PERCENTAGE" ? `-${t}%` : `-${nt(t, n, r)}`;
8400
8425
  }
8401
- const im = {
8426
+ const am = {
8402
8427
  startpaket: "magiclineFeeStarterPackage",
8403
8428
  "starter package": "magiclineFeeStarterPackage",
8404
8429
  trainerpauschale: "magiclineFeeTrainerFee"
8405
8430
  };
8406
8431
  function nc(t, e) {
8407
- const n = t.trim().toLowerCase(), r = im[n];
8432
+ const n = t.trim().toLowerCase(), r = am[n];
8408
8433
  return r !== void 0 ? e[r] : t;
8409
8434
  }
8410
- function om(t, e, n) {
8435
+ function sm(t, e, n) {
8411
8436
  const r = Co[n];
8412
8437
  if (t === "NONE")
8413
8438
  return r.magiclineRenewalNone;
@@ -8417,7 +8442,7 @@ function om(t, e, n) {
8417
8442
  }
8418
8443
  return "";
8419
8444
  }
8420
- const rc = ["MALE", "FEMALE", "UNISEX"], am = [
8445
+ const rc = ["MALE", "FEMALE", "UNISEX"], lm = [
8421
8446
  { code: "DE", label: "Germany / Deutschland" },
8422
8447
  { code: "AT", label: "Austria / Γ–sterreich" },
8423
8448
  { code: "CH", label: "Switzerland / Schweiz" },
@@ -8434,11 +8459,11 @@ const rc = ["MALE", "FEMALE", "UNISEX"], am = [
8434
8459
  { code: "GB", label: "United Kingdom" },
8435
8460
  { code: "US", label: "United States" }
8436
8461
  ];
8437
- function sm(t, e) {
8462
+ function cm(t, e) {
8438
8463
  const n = [];
8439
8464
  return e && n.push("trainer"), n.push("slot"), n.push("personal"), (t.address.visible || t.zip.visible) && n.push("address"), n.push("confirm"), n;
8440
8465
  }
8441
- const lm = {
8466
+ const um = {
8442
8467
  firstName: "",
8443
8468
  lastName: "",
8444
8469
  email: "",
@@ -8455,7 +8480,7 @@ const lm = {
8455
8480
  consent: !1,
8456
8481
  trainerRequired: !0
8457
8482
  };
8458
- function cm(t, e) {
8483
+ function dm(t, e) {
8459
8484
  switch (e.type) {
8460
8485
  case "set":
8461
8486
  return { ...t, [e.key]: e.value };
@@ -8467,11 +8492,11 @@ function cm(t, e) {
8467
8492
  return t;
8468
8493
  }
8469
8494
  }
8470
- function um({
8495
+ function hm({
8471
8496
  sessionId: t,
8472
8497
  visitorId: e
8473
8498
  }) {
8474
- const n = Vp(), r = Hp(), [i, o] = qe(cm, lm), [a, l] = qe(
8499
+ const n = Wp(), r = Qp(), [i, o] = qe(dm, um), [a, l] = qe(
8475
8500
  (v, w) => w,
8476
8501
  { phase: "loading" }
8477
8502
  ), [c, u] = qe(
@@ -8540,22 +8565,22 @@ function um({
8540
8565
  refetchSlots: x
8541
8566
  };
8542
8567
  }
8543
- function dm({
8568
+ function fm({
8544
8569
  formMessageId: t,
8545
8570
  sessionId: e,
8546
8571
  visitorId: n,
8547
8572
  slotUnavailable: r = !1,
8548
8573
  retryPending: i = !1
8549
8574
  }) {
8550
- const o = I(), a = Up(), { fields: l, setField: c, setTrainerRequired: u, configState: h, slotsState: m, refetchSlots: d } = um({ sessionId: e, visitorId: n });
8575
+ const o = I(), a = Hp(), { fields: l, setField: c, setTrainerRequired: u, configState: h, slotsState: m, refetchSlots: d } = hm({ sessionId: e, visitorId: n });
8551
8576
  return h.phase === "loading" ? /* @__PURE__ */ s("div", { class: "jex-inline-form jex-magicline-form", children: [
8552
8577
  /* @__PURE__ */ s("div", { class: "jex-inline-form-title", children: o.magiclineTrialTitle }),
8553
8578
  /* @__PURE__ */ s("div", { class: "jex-magicline-slots-hint", children: o.magiclineConfigLoading })
8554
8579
  ] }) : h.phase === "error" ? /* @__PURE__ */ s("div", { class: "jex-inline-form jex-magicline-form", children: [
8555
8580
  /* @__PURE__ */ s("div", { class: "jex-inline-form-title", children: o.magiclineTrialTitle }),
8556
- /* @__PURE__ */ s("div", { class: "jex-magicline-slots-hint", role: "alert", children: ym(h.code, h.backendMessage, o) })
8581
+ /* @__PURE__ */ s("div", { class: "jex-magicline-slots-hint", role: "alert", children: wm(h.code, h.backendMessage, o) })
8557
8582
  ] }) : /* @__PURE__ */ s(
8558
- hm,
8583
+ pm,
8559
8584
  {
8560
8585
  formMessageId: t,
8561
8586
  sessionId: e,
@@ -8572,7 +8597,7 @@ function dm({
8572
8597
  }
8573
8598
  );
8574
8599
  }
8575
- function hm({
8600
+ function pm({
8576
8601
  formMessageId: t,
8577
8602
  sessionId: e,
8578
8603
  visitorId: n,
@@ -8587,16 +8612,16 @@ function hm({
8587
8612
  submitForm: m
8588
8613
  }) {
8589
8614
  const d = I(), { plan: p, minimumAge: x, bookingWithoutTrainerAllowed: k, studioZoneId: b } = o, v = ge(
8590
- () => sm(p, k),
8615
+ () => cm(p, k),
8591
8616
  [p, k]
8592
- ), w = r ? Math.max(v.indexOf("slot"), 0) : 0, [R, y] = z(w), [E, N] = z({}), [L, W] = z(!1), [de, F] = z(null), J = ge(() => ec(), []), re = Math.min(R, v.length - 1), S = v[re], se = re === v.length - 1, it = re === 0;
8617
+ ), w = r ? Math.max(v.indexOf("slot"), 0) : 0, [R, y] = z(w), [E, N] = z({}), [L, Q] = z(!1), [de, F] = z(null), J = ge(() => ec(), []), re = Math.min(R, v.length - 1), S = v[re], se = re === v.length - 1, it = re === 0;
8593
8618
  function Ye(ie) {
8594
8619
  const D = {};
8595
8620
  if (ie === "slot")
8596
8621
  return a.slotId === "" && (D.slotId = d.magiclineSlotRequiredError), D;
8597
8622
  if (ie === "personal") {
8598
8623
  if (a.firstName.trim() === "" && (D.firstName = d.magiclineRequiredError), a.lastName.trim() === "" && (D.lastName = d.magiclineRequiredError), p.email.visible && p.email.required && a.email.trim() === "" && (D.email = d.magiclineRequiredError), a.email.trim() !== "" && !Jl(a.email) && (D.email = d.magiclineEmailError), p.phone.visible && p.phone.required && a.phone.trim() === "" && (D.phone = d.magiclineRequiredError), p.gender.visible && p.gender.required && a.gender === "" && (D.gender = d.magiclineRequiredError), p.dateOfBirth.visible && (p.dateOfBirth.required && a.birthDate.trim() === "" && (D.birthDate = d.magiclineRequiredError), a.birthDate.trim() !== "")) {
8599
- const Ne = Kp(a.birthDate);
8624
+ const Ne = Zp(a.birthDate);
8600
8625
  Ne !== null && Ne < 0 ? D.birthDate = d.magiclineRequiredError : x > 0 && Ne !== null && Ne < x && (D.birthDate = d.magiclineMinAgeError.replace("{age}", String(x)));
8601
8626
  }
8602
8627
  return D;
@@ -8622,9 +8647,9 @@ function hm({
8622
8647
  N(ie);
8623
8648
  return;
8624
8649
  }
8625
- N({}), F(null), W(!0);
8650
+ N({}), F(null), Q(!0);
8626
8651
  try {
8627
- const D = vm(p, a);
8652
+ const D = km(p, a);
8628
8653
  await m({
8629
8654
  sessionId: e,
8630
8655
  visitorId: n,
@@ -8633,13 +8658,13 @@ function hm({
8633
8658
  fields: D
8634
8659
  });
8635
8660
  } catch (D) {
8636
- me.error("[TrialSessionBookingForm] Submit failed:", D), F(d.magiclineFailedDetail), W(!1);
8661
+ me.error("[TrialSessionBookingForm] Submit failed:", D), F(d.magiclineFailedDetail), Q(!1);
8637
8662
  }
8638
8663
  }
8639
8664
  function Dt() {
8640
8665
  se ? bt() : ot();
8641
8666
  }
8642
- const Z = bm(S, d), Fe = `jex-ml-consent-${t}`;
8667
+ const Z = vm(S, d), Fe = `jex-ml-consent-${t}`;
8643
8668
  return /* @__PURE__ */ s("div", { class: "jex-inline-form jex-magicline-form", children: [
8644
8669
  /* @__PURE__ */ s("div", { class: "jex-magicline-wizard-header", children: [
8645
8670
  /* @__PURE__ */ s("div", { class: "jex-inline-form-title", children: d.magiclineTrialTitle }),
@@ -8657,7 +8682,7 @@ function hm({
8657
8682
  ] }),
8658
8683
  /* @__PURE__ */ s("div", { class: "jex-form", role: "group", "aria-label": Z, children: [
8659
8684
  S === "trainer" ? /* @__PURE__ */ s(
8660
- fm,
8685
+ mm,
8661
8686
  {
8662
8687
  formMessageId: t,
8663
8688
  trainerRequired: a.trainerRequired,
@@ -8666,7 +8691,7 @@ function hm({
8666
8691
  }
8667
8692
  ) : null,
8668
8693
  S === "slot" ? /* @__PURE__ */ s(
8669
- pm,
8694
+ gm,
8670
8695
  {
8671
8696
  slotsState: u,
8672
8697
  slotId: a.slotId,
@@ -8682,7 +8707,7 @@ function hm({
8682
8707
  }
8683
8708
  ) : null,
8684
8709
  S === "personal" ? /* @__PURE__ */ s(
8685
- mm,
8710
+ xm,
8686
8711
  {
8687
8712
  plan: p,
8688
8713
  fields: a,
@@ -8692,7 +8717,7 @@ function hm({
8692
8717
  }
8693
8718
  ) : null,
8694
8719
  S === "address" ? /* @__PURE__ */ s(
8695
- gm,
8720
+ bm,
8696
8721
  {
8697
8722
  plan: p,
8698
8723
  fields: a,
@@ -8702,7 +8727,7 @@ function hm({
8702
8727
  }
8703
8728
  ) : null,
8704
8729
  S === "confirm" ? /* @__PURE__ */ s(
8705
- xm,
8730
+ ym,
8706
8731
  {
8707
8732
  consentId: Fe,
8708
8733
  privacyUrl: J,
@@ -8739,7 +8764,7 @@ function hm({
8739
8764
  ] })
8740
8765
  ] });
8741
8766
  }
8742
- function fm({ formMessageId: t, trainerRequired: e, disabled: n, onChange: r }) {
8767
+ function mm({ formMessageId: t, trainerRequired: e, disabled: n, onChange: r }) {
8743
8768
  const i = I(), o = `jex-ml-trainer-${t}`;
8744
8769
  return /* @__PURE__ */ s("div", { class: "jex-magicline-radio-group", role: "radiogroup", "aria-label": i.magiclineStepTrainer, children: [
8745
8770
  /* @__PURE__ */ s(
@@ -8786,7 +8811,7 @@ function fm({ formMessageId: t, trainerRequired: e, disabled: n, onChange: r })
8786
8811
  )
8787
8812
  ] });
8788
8813
  }
8789
- function pm({
8814
+ function gm({
8790
8815
  slotsState: t,
8791
8816
  slotId: e,
8792
8817
  studioZoneId: n,
@@ -8839,7 +8864,7 @@ function pm({
8839
8864
  a !== void 0 ? /* @__PURE__ */ s("div", { class: "jex-magicline-error", role: "alert", children: a }) : null
8840
8865
  ] });
8841
8866
  }
8842
- function mm({ plan: t, fields: e, errors: n, disabled: r, setField: i }) {
8867
+ function xm({ plan: t, fields: e, errors: n, disabled: r, setField: i }) {
8843
8868
  const o = I(), a = ge(() => Xl(), []);
8844
8869
  return /* @__PURE__ */ s(ee, { children: [
8845
8870
  /* @__PURE__ */ s("div", { class: "jex-magicline-row", children: [
@@ -8934,12 +8959,12 @@ function mm({ plan: t, fields: e, errors: n, disabled: r, setField: i }) {
8934
8959
  onChange: (l) => {
8935
8960
  i("gender", l);
8936
8961
  },
8937
- options: rc.map((l) => ({ value: l, label: wm(l, o) }))
8962
+ options: rc.map((l) => ({ value: l, label: _m(l, o) }))
8938
8963
  }
8939
8964
  ) : null
8940
8965
  ] });
8941
8966
  }
8942
- function gm({ plan: t, fields: e, errors: n, disabled: r, setField: i }) {
8967
+ function bm({ plan: t, fields: e, errors: n, disabled: r, setField: i }) {
8943
8968
  const o = I();
8944
8969
  return /* @__PURE__ */ s(ee, { children: [
8945
8970
  t.address.visible ? /* @__PURE__ */ s(ee, { children: [
@@ -8999,7 +9024,7 @@ function gm({ plan: t, fields: e, errors: n, disabled: r, setField: i }) {
8999
9024
  onChange: (a) => {
9000
9025
  i("country", a);
9001
9026
  },
9002
- options: am.map((a) => ({ value: a.code, label: a.label }))
9027
+ options: lm.map((a) => ({ value: a.code, label: a.label }))
9003
9028
  }
9004
9029
  )
9005
9030
  ] }) : null,
@@ -9019,7 +9044,7 @@ function gm({ plan: t, fields: e, errors: n, disabled: r, setField: i }) {
9019
9044
  ) : null
9020
9045
  ] });
9021
9046
  }
9022
- function xm({
9047
+ function ym({
9023
9048
  consentId: t,
9024
9049
  privacyUrl: e,
9025
9050
  studioZoneId: n,
@@ -9148,7 +9173,7 @@ function ic({
9148
9173
  function Ge(t, e, n) {
9149
9174
  return e ? t : t + n.magiclineOptionalSuffix;
9150
9175
  }
9151
- function bm(t, e) {
9176
+ function vm(t, e) {
9152
9177
  switch (t) {
9153
9178
  case "trainer":
9154
9179
  return e.magiclineStepTrainer;
@@ -9164,10 +9189,10 @@ function bm(t, e) {
9164
9189
  return "";
9165
9190
  }
9166
9191
  }
9167
- function ym(t, e, n) {
9192
+ function wm(t, e, n) {
9168
9193
  return e.trim() !== "" ? e : t === "unsupported" ? n.magiclineConfigUnsupported : t === "inconsistent" ? n.magiclineConfigInconsistent : n.magiclineConfigUnavailable;
9169
9194
  }
9170
- function vm(t, e) {
9195
+ function km(t, e) {
9171
9196
  const n = {
9172
9197
  firstname: e.firstName.trim(),
9173
9198
  lastname: e.lastName.trim(),
@@ -9177,7 +9202,7 @@ function vm(t, e) {
9177
9202
  };
9178
9203
  return t.email.visible && e.email.trim() !== "" && (n.email = e.email.trim()), t.phone.visible && e.phone.trim() !== "" && (n.phone = e.phone.trim()), t.dateOfBirth.visible && e.birthDate.trim() !== "" && (n.dateOfBirth = e.birthDate.trim()), t.gender.visible && e.gender !== "" && (n.gender = e.gender), t.address.visible && (e.street.trim() !== "" && (n.street = e.street.trim()), e.houseNumber.trim() !== "" && (n.houseNumber = e.houseNumber.trim()), e.city.trim() !== "" && (n.city = e.city.trim()), e.country !== "" && (n.country = e.country)), t.zip.visible && e.zip.trim() !== "" && (n.zip = e.zip.trim()), e.note.trim() !== "" && (n.note = e.note.trim()), n;
9179
9204
  }
9180
- function wm(t, e) {
9205
+ function _m(t, e) {
9181
9206
  return t === "MALE" ? e.magiclineGenderMale : t === "FEMALE" ? e.magiclineGenderFemale : e.magiclineGenderUnisex;
9182
9207
  }
9183
9208
  function oc(t, e, n) {
@@ -9206,7 +9231,7 @@ function oc(t, e, n) {
9206
9231
  });
9207
9232
  }
9208
9233
  }
9209
- const km = {
9234
+ const jm = {
9210
9235
  termId: null,
9211
9236
  selectedModuleIds: [],
9212
9237
  acknowledgedBlocks: {},
@@ -9234,7 +9259,7 @@ const km = {
9234
9259
  sepa: !1
9235
9260
  }
9236
9261
  };
9237
- function _m(t, e) {
9262
+ function Sm(t, e) {
9238
9263
  switch (e.type) {
9239
9264
  case "setTermId":
9240
9265
  return t.termId === e.termId ? t : {
@@ -9296,14 +9321,14 @@ const ls = {
9296
9321
  voucherStatus: "idle",
9297
9322
  voucherRequestId: 0,
9298
9323
  voucherUnavailable: !1
9299
- }, jm = "voucher:";
9300
- function Sm(t) {
9324
+ }, Tm = "voucher:";
9325
+ function Cm(t) {
9301
9326
  const e = {};
9302
9327
  for (const n of Object.keys(t))
9303
- n.startsWith(jm) || (e[n] = t[n]);
9328
+ n.startsWith(Tm) || (e[n] = t[n]);
9304
9329
  return e;
9305
9330
  }
9306
- function Tm(t, e) {
9331
+ function Am(t, e) {
9307
9332
  switch (e.type) {
9308
9333
  case "SET_VOUCHER_DRAFT": {
9309
9334
  const n = t.appliedVoucher !== null || t.voucherStatus === "applied";
@@ -9356,10 +9381,10 @@ function Tm(t, e) {
9356
9381
  return t;
9357
9382
  }
9358
9383
  }
9359
- function Cm(t, e) {
9384
+ function Rm(t, e) {
9360
9385
  switch (e.type) {
9361
9386
  case "dropVoucherAcks": {
9362
- const n = Sm(t.acknowledgedBlocks);
9387
+ const n = Cm(t.acknowledgedBlocks);
9363
9388
  return Object.keys(n).length === Object.keys(t.acknowledgedBlocks).length ? t : { ...t, acknowledgedBlocks: n };
9364
9389
  }
9365
9390
  case "seedVoucherAcks": {
@@ -9371,14 +9396,14 @@ function Cm(t, e) {
9371
9396
  return { ...t, acknowledgedBlocks: n };
9372
9397
  }
9373
9398
  default:
9374
- return _m(t, e);
9399
+ return Sm(t, e);
9375
9400
  }
9376
9401
  }
9377
- function Am({
9402
+ function Em({
9378
9403
  sessionId: t,
9379
9404
  visitorId: e
9380
9405
  }) {
9381
- const n = Wp(), r = Zl(), [i, o] = qe(Cm, km), [a, l] = qe(Tm, ls), [c, u] = qe(
9406
+ const n = Gp(), r = Zl(), [i, o] = qe(Rm, jm), [a, l] = qe(Am, ls), [c, u] = qe(
9382
9407
  (T, C) => C,
9383
9408
  { phase: "loading" }
9384
9409
  ), h = ze(null), [m, d] = qe(
@@ -9398,7 +9423,7 @@ function Am({
9398
9423
  o({ type: "setBlockAck", ackKey: T, value: C });
9399
9424
  }, []), L = Y((T) => {
9400
9425
  o({ type: "setAccountHolder", value: T });
9401
- }, []), W = Y((T) => {
9426
+ }, []), Q = Y((T) => {
9402
9427
  o({ type: "setIban", value: T });
9403
9428
  }, []), de = Y((T, C) => {
9404
9429
  o({ type: "setConsent", key: T, value: C });
@@ -9441,7 +9466,7 @@ function Am({
9441
9466
  for (const C of Fe.textBlocks)
9442
9467
  C.isConfirmationRequired && T.add(C.ackKey);
9443
9468
  for (const C of ie) {
9444
- const Ve = Fe.optionalModules.find((Q) => Q.id === C);
9469
+ const Ve = Fe.optionalModules.find((G) => G.id === C);
9445
9470
  Ve?.consent && T.add(Ve.consent.ackKey);
9446
9471
  }
9447
9472
  if (Ne !== null)
@@ -9482,11 +9507,11 @@ function Am({
9482
9507
  let C = !1;
9483
9508
  const Ve = h.current;
9484
9509
  p(Ve !== null ? { phase: "reloading", pricing: Ve } : { phase: "loading" });
9485
- const Q = T.defaultContractStartDate ?? "", yt = {
9510
+ const G = T.defaultContractStartDate ?? "", yt = {
9486
9511
  sessionId: t,
9487
9512
  visitorId: e,
9488
9513
  termId: T.termId,
9489
- startDate: Q,
9514
+ startDate: G,
9490
9515
  fields: {
9491
9516
  firstname: i.personal.firstName.trim(),
9492
9517
  lastname: i.personal.lastName.trim(),
@@ -9556,7 +9581,7 @@ function Am({
9556
9581
  toggleModule: E,
9557
9582
  setBlockAck: N,
9558
9583
  setAccountHolder: L,
9559
- setIban: W,
9584
+ setIban: Q,
9560
9585
  setConsent: de,
9561
9586
  clearIban: F,
9562
9587
  clearTermId: J,
@@ -9572,17 +9597,17 @@ function Am({
9572
9597
  clearVoucher: Ct
9573
9598
  };
9574
9599
  }
9575
- function Rm(t) {
9600
+ function Im(t) {
9576
9601
  return t !== null && t.optionalModules.length > 0 ? ["offer", "upgrades", "personal", "address", "payment", "review"] : ["offer", "personal", "address", "payment", "review"];
9577
9602
  }
9578
- function Em({
9603
+ function Pm({
9579
9604
  formMessageId: t,
9580
9605
  sessionId: e,
9581
9606
  visitorId: n,
9582
9607
  projectId: r,
9583
9608
  formStatus: i
9584
9609
  }) {
9585
- const o = I(), a = xt.value, l = Qp(), c = Zl(), u = Am({ sessionId: e, visitorId: n }), {
9610
+ const o = I(), a = xt.value, l = Kp(), c = Zl(), u = Em({ sessionId: e, visitorId: n }), {
9586
9611
  fields: h,
9587
9612
  offersState: m,
9588
9613
  previewState: d,
@@ -9597,7 +9622,7 @@ function Em({
9597
9622
  voucherUnavailable: E,
9598
9623
  setTermId: N,
9599
9624
  setPersonal: L,
9600
- setAddress: W,
9625
+ setAddress: Q,
9601
9626
  toggleModule: de,
9602
9627
  setBlockAck: F,
9603
9628
  setAccountHolder: J,
@@ -9613,7 +9638,7 @@ function Em({
9613
9638
  commitVoucherApplied: Z,
9614
9639
  markVoucherInvalid: Fe,
9615
9640
  markVoucherDisabled: ie
9616
- } = u, [D, Ne] = z(0), [Ze, qt] = z({}), [be, Ue] = z(!1), [we, K] = z(null), [T, C] = z(null), [Ve, Q] = z(null), yt = ge(() => ec(), []);
9641
+ } = u, [D, Ne] = z(0), [Ze, qt] = z({}), [be, Ue] = z(!1), [we, K] = z(null), [T, C] = z(null), [Ve, G] = z(null), yt = ge(() => ec(), []);
9617
9642
  if (we !== null && we.status === "succeeded")
9618
9643
  return /* @__PURE__ */ s(cs, { customerNumber: we.customerNumber });
9619
9644
  if (we !== null && we.status === "failed" && !we.retryable) {
@@ -9624,7 +9649,7 @@ function Em({
9624
9649
  return /* @__PURE__ */ s(cs, { customerNumber: null });
9625
9650
  if (we === null && !be && i === "failed")
9626
9651
  return /* @__PURE__ */ s(us, { message: o.magiclineFailedDetail });
9627
- const X = ge(() => Rm(p), [p]), Re = Math.min(D, X.length - 1), De = X[Re], Zt = Re === X.length - 1, dr = Re === 0;
9652
+ const X = ge(() => Im(p), [p]), Re = Math.min(D, X.length - 1), De = X[Re], Zt = Re === X.length - 1, dr = Re === 0;
9628
9653
  function hr(U) {
9629
9654
  const $ = {};
9630
9655
  if (U === "offer")
@@ -9648,7 +9673,7 @@ function Em({
9648
9673
  const le = h.address;
9649
9674
  return le.street.trim() === "" && ($.street = o.magiclineRequiredError), le.houseNumber.trim() === "" && ($.houseNumber = o.magiclineRequiredError), le.zipCode.trim() === "" && ($.zipCode = o.magiclineRequiredError), le.city.trim() === "" && ($.city = o.magiclineRequiredError), $;
9650
9675
  }
9651
- return U === "payment" && (h.payment.accountHolder.trim() === "" && ($.accountHolder = o.magiclineRequiredError), Xp(h.payment.iban) || ($.iban = o.magiclineIbanInvalidError), h.consents.privacy || ($.privacy = o.magiclineConsentError), h.consents.sepa || ($.sepa = o.magiclineConsentError)), $;
9676
+ return U === "payment" && (h.payment.accountHolder.trim() === "" && ($.accountHolder = o.magiclineRequiredError), tm(h.payment.iban) || ($.iban = o.magiclineIbanInvalidError), h.consents.privacy || ($.privacy = o.magiclineConsentError), h.consents.sepa || ($.sepa = o.magiclineConsentError)), $;
9652
9677
  }
9653
9678
  function at() {
9654
9679
  const U = hr(De);
@@ -9740,9 +9765,9 @@ function Em({
9740
9765
  if (d.phase !== "ready" || p === null || w.trim() === "")
9741
9766
  return;
9742
9767
  const U = w.trim(), $ = Dt();
9743
- Q(null);
9768
+ G(null);
9744
9769
  const le = (ue) => {
9745
- Fe(), bt(""), Q(ue);
9770
+ Fe(), bt(""), G(ue);
9746
9771
  }, Je = o.magiclineVoucherInvalid.replace("{code}", U);
9747
9772
  try {
9748
9773
  const ue = await c({
@@ -9794,7 +9819,7 @@ function Em({
9794
9819
  });
9795
9820
  } else
9796
9821
  le(Je);
9797
- } else ue.status === "voucher_invalid" ? le(Je) : ue.status === "voucher_disabled" ? (ie(), bt(""), Q(o.magiclineVoucherDisabled)) : le(Je);
9822
+ } else ue.status === "voucher_invalid" ? le(Je) : ue.status === "voucher_disabled" ? (ie(), bt(""), G(o.magiclineVoucherDisabled)) : le(Je);
9798
9823
  } catch {
9799
9824
  le(Je);
9800
9825
  }
@@ -9802,7 +9827,7 @@ function Em({
9802
9827
  function Cn() {
9803
9828
  Zt ? Sn() : at();
9804
9829
  }
9805
- const Jt = Um(De, o), At = v === "applying" || w.trim() !== "" && w.trim() !== (y ?? ""), Xt = De === "review" && (d.phase !== "ready" || !k || At), en = be || Xt;
9830
+ const Jt = Hm(De, o), At = v === "applying" || w.trim() !== "" && w.trim() !== (y ?? ""), Xt = De === "review" && (d.phase !== "ready" || !k || At), en = be || Xt;
9806
9831
  return /* @__PURE__ */ s("div", { class: "jex-inline-form jex-magicline-form", children: [
9807
9832
  /* @__PURE__ */ s("div", { class: "jex-magicline-wizard-header", children: [
9808
9833
  /* @__PURE__ */ s("div", { class: "jex-inline-form-title", children: o.magiclineContractTitle }),
@@ -9820,7 +9845,7 @@ function Em({
9820
9845
  ] }),
9821
9846
  /* @__PURE__ */ s("div", { class: "jex-form", role: "group", "aria-label": Jt, children: [
9822
9847
  De === "offer" ? /* @__PURE__ */ s(
9823
- Im,
9848
+ Nm,
9824
9849
  {
9825
9850
  offersState: m,
9826
9851
  selectedTermId: h.termId,
@@ -9832,7 +9857,7 @@ function Em({
9832
9857
  }
9833
9858
  ) : null,
9834
9859
  De === "upgrades" && p !== null ? /* @__PURE__ */ s(
9835
- Mm,
9860
+ Lm,
9836
9861
  {
9837
9862
  modules: p.optionalModules,
9838
9863
  selectedModuleIds: h.selectedModuleIds,
@@ -9845,7 +9870,7 @@ function Em({
9845
9870
  }
9846
9871
  ) : null,
9847
9872
  De === "personal" ? /* @__PURE__ */ s(
9848
- Lm,
9873
+ Dm,
9849
9874
  {
9850
9875
  personal: h.personal,
9851
9876
  errors: Ze,
@@ -9854,16 +9879,16 @@ function Em({
9854
9879
  }
9855
9880
  ) : null,
9856
9881
  De === "address" ? /* @__PURE__ */ s(
9857
- $m,
9882
+ qm,
9858
9883
  {
9859
9884
  address: h.address,
9860
9885
  errors: Ze,
9861
9886
  disabled: be,
9862
- setAddress: W
9887
+ setAddress: Q
9863
9888
  }
9864
9889
  ) : null,
9865
9890
  De === "payment" ? /* @__PURE__ */ s(
9866
- Dm,
9891
+ zm,
9867
9892
  {
9868
9893
  formMessageId: t,
9869
9894
  fields: h,
@@ -9876,7 +9901,7 @@ function Em({
9876
9901
  }
9877
9902
  ) : null,
9878
9903
  De === "review" ? /* @__PURE__ */ s(
9879
- qm,
9904
+ Bm,
9880
9905
  {
9881
9906
  fields: h,
9882
9907
  term: p,
@@ -9945,7 +9970,7 @@ function us({ message: t }) {
9945
9970
  ] })
9946
9971
  ] });
9947
9972
  }
9948
- function Im({
9973
+ function Nm({
9949
9974
  offersState: t,
9950
9975
  selectedTermId: e,
9951
9976
  widgetLocale: n,
@@ -9964,13 +9989,13 @@ function Im({
9964
9989
  ] });
9965
9990
  if (t.phase === "empty")
9966
9991
  return /* @__PURE__ */ s("div", { class: "jex-magicline-slots-hint", role: "alert", "aria-live": "polite", children: l.magiclineNoOffers });
9967
- const c = Fm(t.terms);
9992
+ const c = Vm(t.terms);
9968
9993
  return /* @__PURE__ */ s(ee, { children: [
9969
9994
  /* @__PURE__ */ s("div", { class: "jex-magicline-radio-group", role: "radiogroup", "aria-label": l.magiclineStepOffer, children: c.map((u) => /* @__PURE__ */ s("div", { class: "jex-magicline-offer-group", children: [
9970
9995
  /* @__PURE__ */ s("div", { class: "jex-magicline-offer-bundle-name", children: u.bundleName }),
9971
9996
  u.bundleDescription !== null ? /* @__PURE__ */ s("div", { class: "jex-magicline-offer-bundle-desc", children: u.bundleDescription }) : null,
9972
9997
  u.terms.map((h) => /* @__PURE__ */ s(
9973
- Pm,
9998
+ Mm,
9974
9999
  {
9975
10000
  term: h,
9976
10001
  checked: e === h.termId,
@@ -9981,7 +10006,7 @@ function Im({
9981
10006
  h.termId
9982
10007
  )),
9983
10008
  /* @__PURE__ */ s(
9984
- Nm,
10009
+ Om,
9985
10010
  {
9986
10011
  subDescription: u.bundleSubDescription,
9987
10012
  footnote: u.footnote
@@ -9991,7 +10016,7 @@ function Im({
9991
10016
  i !== void 0 ? /* @__PURE__ */ s("div", { class: "jex-magicline-error", role: "alert", children: i }) : null
9992
10017
  ] });
9993
10018
  }
9994
- function Pm({ term: t, checked: e, widgetLocale: n, disabled: r, onSelect: i }) {
10019
+ function Mm({ term: t, checked: e, widgetLocale: n, disabled: r, onSelect: i }) {
9995
10020
  const o = I(), a = Gr(t.termValue, t.termUnit, n), l = nt(t.price, t.currencyCode, n), c = t.flatFees.find((h) => h.isStarterPackage), u = t.flatFees.filter((h) => !h.isStarterPackage);
9996
10021
  return /* @__PURE__ */ s(
9997
10022
  "label",
@@ -10054,8 +10079,8 @@ function Pm({ term: t, checked: e, widgetLocale: n, disabled: r, onSelect: i })
10054
10079
  }
10055
10080
  );
10056
10081
  }
10057
- function Nm({ subDescription: t, footnote: e }) {
10058
- const n = I(), r = Bm(t), i = e !== null && e.trim() !== "";
10082
+ function Om({ subDescription: t, footnote: e }) {
10083
+ const n = I(), r = Um(t), i = e !== null && e.trim() !== "";
10059
10084
  return r.length === 0 && !i ? null : /* @__PURE__ */ s("details", { class: "jex-magicline-bundle-details", children: [
10060
10085
  /* @__PURE__ */ s("summary", { class: "jex-magicline-bundle-details-summary", children: n.magiclineDetails }),
10061
10086
  /* @__PURE__ */ s("div", { class: "jex-magicline-bundle-details-body", children: [
@@ -10064,7 +10089,7 @@ function Nm({ subDescription: t, footnote: e }) {
10064
10089
  ] })
10065
10090
  ] });
10066
10091
  }
10067
- function Mm({
10092
+ function Lm({
10068
10093
  modules: t,
10069
10094
  selectedModuleIds: e,
10070
10095
  acknowledgedBlocks: n,
@@ -10078,7 +10103,7 @@ function Mm({
10078
10103
  return t.length === 0 ? /* @__PURE__ */ s("div", { class: "jex-magicline-slots-hint", children: c.magiclineUpgradesNone }) : /* @__PURE__ */ s(ee, { children: [
10079
10104
  /* @__PURE__ */ s("div", { class: "jex-magicline-slots-hint", children: c.magiclineUpgradesIntro }),
10080
10105
  /* @__PURE__ */ s("div", { class: "jex-magicline-upgrade-group", children: t.map((u) => /* @__PURE__ */ s(
10081
- Om,
10106
+ $m,
10082
10107
  {
10083
10108
  module: u,
10084
10109
  selected: e.includes(u.id),
@@ -10093,7 +10118,7 @@ function Mm({
10093
10118
  o !== void 0 ? /* @__PURE__ */ s("div", { class: "jex-magicline-error", role: "alert", children: o }) : null
10094
10119
  ] });
10095
10120
  }
10096
- function Om({
10121
+ function $m({
10097
10122
  module: t,
10098
10123
  selected: e,
10099
10124
  consentChecked: n,
@@ -10102,13 +10127,13 @@ function Om({
10102
10127
  onToggle: o,
10103
10128
  onAck: a
10104
10129
  }) {
10105
- const l = I(), c = nm(
10130
+ const l = I(), c = im(
10106
10131
  t.price,
10107
10132
  t.currencyCode,
10108
10133
  t.paymentFrequencyType,
10109
10134
  t.recurringUnit,
10110
10135
  r
10111
- ), u = om(t.extensionType, t.termExtension, r), h = t.termLabel !== null && t.termLabel !== "" ? t.termLabel : l.magiclineUpgradeOneTime, m = t.consent;
10136
+ ), u = sm(t.extensionType, t.termExtension, r), h = t.termLabel !== null && t.termLabel !== "" ? t.termLabel : l.magiclineUpgradeOneTime, m = t.consent;
10112
10137
  return /* @__PURE__ */ s("div", { class: e ? "jex-magicline-upgrade-card jex-magicline-upgrade-card-active" : "jex-magicline-upgrade-card", children: [
10113
10138
  /* @__PURE__ */ s("label", { class: "jex-magicline-upgrade-head", children: [
10114
10139
  /* @__PURE__ */ s(
@@ -10147,7 +10172,7 @@ function Om({
10147
10172
  ) : null
10148
10173
  ] });
10149
10174
  }
10150
- function Lm({ personal: t, errors: e, disabled: n, setPersonal: r }) {
10175
+ function Dm({ personal: t, errors: e, disabled: n, setPersonal: r }) {
10151
10176
  const i = I(), o = ge(() => Xl(), []);
10152
10177
  return /* @__PURE__ */ s(ee, { children: [
10153
10178
  /* @__PURE__ */ s("div", { class: "jex-magicline-row", children: [
@@ -10216,7 +10241,7 @@ function Lm({ personal: t, errors: e, disabled: n, setPersonal: r }) {
10216
10241
  e.dateOfBirth !== void 0 ? /* @__PURE__ */ s("span", { class: "jex-magicline-error", role: "alert", children: e.dateOfBirth }) : null
10217
10242
  ] }),
10218
10243
  /* @__PURE__ */ s(
10219
- zm,
10244
+ Fm,
10220
10245
  {
10221
10246
  label: i.magiclineGender,
10222
10247
  value: t.gender,
@@ -10227,7 +10252,7 @@ function Lm({ personal: t, errors: e, disabled: n, setPersonal: r }) {
10227
10252
  onChange: (a) => {
10228
10253
  r("gender", a);
10229
10254
  },
10230
- options: rc.map((a) => ({ value: a, label: Vm(a, i) }))
10255
+ options: rc.map((a) => ({ value: a, label: Wm(a, i) }))
10231
10256
  }
10232
10257
  ),
10233
10258
  /* @__PURE__ */ s(
@@ -10247,7 +10272,7 @@ function Lm({ personal: t, errors: e, disabled: n, setPersonal: r }) {
10247
10272
  )
10248
10273
  ] });
10249
10274
  }
10250
- function $m({ address: t, errors: e, disabled: n, setAddress: r }) {
10275
+ function qm({ address: t, errors: e, disabled: n, setAddress: r }) {
10251
10276
  const i = I();
10252
10277
  return /* @__PURE__ */ s(ee, { children: [
10253
10278
  /* @__PURE__ */ s("div", { class: "jex-magicline-row", children: [
@@ -10316,7 +10341,7 @@ function $m({ address: t, errors: e, disabled: n, setAddress: r }) {
10316
10341
  ] })
10317
10342
  ] });
10318
10343
  }
10319
- function Dm({
10344
+ function zm({
10320
10345
  formMessageId: t,
10321
10346
  fields: e,
10322
10347
  errors: n,
@@ -10393,7 +10418,7 @@ function Dm({
10393
10418
  n.sepa !== void 0 ? /* @__PURE__ */ s("div", { class: "jex-magicline-error", role: "alert", children: n.sepa }) : null
10394
10419
  ] });
10395
10420
  }
10396
- function qm({
10421
+ function Bm({
10397
10422
  fields: t,
10398
10423
  term: e,
10399
10424
  previewState: n,
@@ -10423,7 +10448,7 @@ function qm({
10423
10448
  `${E.street} ${E.houseNumber}`.trim(),
10424
10449
  `${E.zipCode} ${E.city}`.trim(),
10425
10450
  b.magiclineCountryStatic
10426
- ].filter((S) => S !== "").join(", "), L = e !== null ? `${e.bundleName} Β· ${Gr(e.termValue, e.termUnit, r)}` : "β€”", W = e !== null ? e.textBlocks.filter((S) => S.isConfirmationRequired) : [], de = e !== null ? e.textBlocks.filter((S) => !S.isConfirmationRequired) : [], F = e !== null ? e.optionalModules.filter((S) => t.selectedModuleIds.includes(S.id) && S.consent !== null).map((S) => ({ module: S, consent: S.consent })) : [], J = d !== null ? d.textBlocks.filter((S) => S.ackKey.startsWith("voucher:")) : [], re = c && !u;
10451
+ ].filter((S) => S !== "").join(", "), L = e !== null ? `${e.bundleName} Β· ${Gr(e.termValue, e.termUnit, r)}` : "β€”", Q = e !== null ? e.textBlocks.filter((S) => S.isConfirmationRequired) : [], de = e !== null ? e.textBlocks.filter((S) => !S.isConfirmationRequired) : [], F = e !== null ? e.optionalModules.filter((S) => t.selectedModuleIds.includes(S.id) && S.consent !== null).map((S) => ({ module: S, consent: S.consent })) : [], J = d !== null ? d.textBlocks.filter((S) => S.ackKey.startsWith("voucher:")) : [], re = c && !u;
10427
10452
  return /* @__PURE__ */ s("div", { class: "jex-magicline-review-wrap", children: [
10428
10453
  /* @__PURE__ */ s(
10429
10454
  "div",
@@ -10451,7 +10476,7 @@ function qm({
10451
10476
  d !== null && d.voucherType === "DISCOUNT" ? /* @__PURE__ */ s("div", { class: "jex-magicline-summary-row jex-magicline-voucher-discount-row", children: [
10452
10477
  /* @__PURE__ */ s("dt", { children: b.magiclineVoucherAppliedDiscount.replace(
10453
10478
  "{discount}",
10454
- rm(
10479
+ om(
10455
10480
  d.discountValue,
10456
10481
  d.discountType,
10457
10482
  v.currencyCode,
@@ -10488,7 +10513,7 @@ function qm({
10488
10513
  /* @__PURE__ */ s("dl", { class: "jex-magicline-summary jex-magicline-summary-section", children: [
10489
10514
  /* @__PURE__ */ s("div", { class: "jex-magicline-summary-row", children: [
10490
10515
  /* @__PURE__ */ s("dt", { children: b.magiclineReviewStartsOn }),
10491
- /* @__PURE__ */ s("dd", { children: tm(v.startDate, r) })
10516
+ /* @__PURE__ */ s("dd", { children: rm(v.startDate, r) })
10492
10517
  ] }),
10493
10518
  /* @__PURE__ */ s("div", { class: "jex-magicline-summary-row", children: [
10494
10519
  /* @__PURE__ */ s("dt", { children: b.magiclineSummaryName }),
@@ -10500,7 +10525,7 @@ function qm({
10500
10525
  ] }),
10501
10526
  /* @__PURE__ */ s("div", { class: "jex-magicline-summary-row", children: [
10502
10527
  /* @__PURE__ */ s("dt", { children: b.magiclineReviewPayment }),
10503
- /* @__PURE__ */ s("dd", { children: em(t.payment.iban) })
10528
+ /* @__PURE__ */ s("dd", { children: nm(t.payment.iban) })
10504
10529
  ] })
10505
10530
  ] }),
10506
10531
  re ? /* @__PURE__ */ s("div", { class: "jex-magicline-voucher-section", children: [
@@ -10545,12 +10570,12 @@ function qm({
10545
10570
  se.ackKey
10546
10571
  ))
10547
10572
  ] }) : null,
10548
- W.length > 0 || de.length > 0 || J.length > 0 ? /* @__PURE__ */ s("div", { class: "jex-magicline-terms", role: "group", "aria-label": b.magiclineReviewTerms, children: [
10549
- W.length > 0 || J.length > 0 ? /* @__PURE__ */ s("div", { class: "jex-magicline-terms-prompt", children: [
10573
+ Q.length > 0 || de.length > 0 || J.length > 0 ? /* @__PURE__ */ s("div", { class: "jex-magicline-terms", role: "group", "aria-label": b.magiclineReviewTerms, children: [
10574
+ Q.length > 0 || J.length > 0 ? /* @__PURE__ */ s("div", { class: "jex-magicline-terms-prompt", children: [
10550
10575
  b.magiclineConfirmPrompt,
10551
10576
  /* @__PURE__ */ s("span", { class: "jex-magicline-required-pill", children: b.magiclineRequired })
10552
10577
  ] }) : null,
10553
- W.map((S) => /* @__PURE__ */ s(
10578
+ Q.map((S) => /* @__PURE__ */ s(
10554
10579
  Xi,
10555
10580
  {
10556
10581
  ackKey: S.ackKey,
@@ -10679,7 +10704,7 @@ function pt({
10679
10704
  a !== void 0 ? /* @__PURE__ */ s("span", { id: c, class: "jex-magicline-error", role: "alert", children: a }) : null
10680
10705
  ] });
10681
10706
  }
10682
- function zm({
10707
+ function Fm({
10683
10708
  label: t,
10684
10709
  value: e,
10685
10710
  required: n,
@@ -10711,11 +10736,11 @@ function zm({
10711
10736
  o !== void 0 ? /* @__PURE__ */ s("span", { class: "jex-magicline-error", role: "alert", children: o }) : null
10712
10737
  ] });
10713
10738
  }
10714
- function Bm(t) {
10739
+ function Um(t) {
10715
10740
  return t === null ? [] : t.split(`
10716
10741
  `).map((e) => e.replace(/^\s*[-β€’]\s*/, "").trim()).filter((e) => e !== "");
10717
10742
  }
10718
- function Fm(t) {
10743
+ function Vm(t) {
10719
10744
  const e = [], n = /* @__PURE__ */ new Map();
10720
10745
  for (const r of t) {
10721
10746
  let i = n.get(r.bundleId);
@@ -10730,7 +10755,7 @@ function Fm(t) {
10730
10755
  }
10731
10756
  return e;
10732
10757
  }
10733
- function Um(t, e) {
10758
+ function Hm(t, e) {
10734
10759
  switch (t) {
10735
10760
  case "offer":
10736
10761
  return e.magiclineStepOffer;
@@ -10748,10 +10773,10 @@ function Um(t, e) {
10748
10773
  return "";
10749
10774
  }
10750
10775
  }
10751
- function Vm(t, e) {
10776
+ function Wm(t, e) {
10752
10777
  return t === "MALE" ? e.magiclineGenderMale : t === "FEMALE" ? e.magiclineGenderFemale : e.magiclineGenderUnisex;
10753
10778
  }
10754
- function Hm({ message: t, sessionId: e, visitorId: n }) {
10779
+ function Qm({ message: t, sessionId: e, visitorId: n }) {
10755
10780
  const r = I(), i = t.magiclineForm, o = !!i && i.status === "open" && !!i.submissionId, a = Lr(
10756
10781
  Ae.functions.magicline.public.getSubmissionStatus,
10757
10782
  o && i?.submissionId ? { sessionId: e, visitorId: n, submissionId: i.submissionId } : "skip"
@@ -10760,7 +10785,7 @@ function Hm({ message: t, sessionId: e, visitorId: n }) {
10760
10785
  return null;
10761
10786
  if (i.action === "contractCreation")
10762
10787
  return t.projectId ? /* @__PURE__ */ s(
10763
- Em,
10788
+ Pm,
10764
10789
  {
10765
10790
  formMessageId: t._id,
10766
10791
  sessionId: e,
@@ -10789,7 +10814,7 @@ function Hm({ message: t, sessionId: e, visitorId: n }) {
10789
10814
  return null;
10790
10815
  const l = a != null && a.errorCode === "slot_unavailable", c = o && a === void 0;
10791
10816
  return /* @__PURE__ */ s(
10792
- dm,
10817
+ fm,
10793
10818
  {
10794
10819
  formMessageId: t._id,
10795
10820
  sessionId: e,
@@ -10799,13 +10824,13 @@ function Hm({ message: t, sessionId: e, visitorId: n }) {
10799
10824
  }
10800
10825
  );
10801
10826
  }
10802
- const Wm = {
10827
+ const Gm = {
10803
10828
  crawl: "🌐",
10804
10829
  file: "πŸ“„",
10805
10830
  snippet: "πŸ’‘",
10806
10831
  qa: "❓"
10807
10832
  };
10808
- function Qm({ sources: t }) {
10833
+ function Km({ sources: t }) {
10809
10834
  const e = I(), [n, r] = z(!1);
10810
10835
  return t.length === 0 ? null : /* @__PURE__ */ s("div", { class: "jex-sources-row", children: [
10811
10836
  /* @__PURE__ */ s(
@@ -10828,10 +10853,10 @@ function Qm({ sources: t }) {
10828
10853
  }
10829
10854
  ),
10830
10855
  n ? /* @__PURE__ */ s("div", { class: "jex-sources-pills", children: t.map((i, o) => {
10831
- const a = i.sourceType === "crawl", l = Gm(i), c = a && i.url ? `${i.title}
10856
+ const a = i.sourceType === "crawl", l = Ym(i), c = a && i.url ? `${i.title}
10832
10857
  ${i.url}` : i.title, u = /* @__PURE__ */ s(ee, { children: [
10833
10858
  typeof i.id == "number" ? /* @__PURE__ */ s("span", { class: "jex-source-id", children: i.id }) : null,
10834
- /* @__PURE__ */ s("span", { class: "jex-source-type", children: Wm[i.sourceType] }),
10859
+ /* @__PURE__ */ s("span", { class: "jex-source-type", children: Gm[i.sourceType] }),
10835
10860
  /* @__PURE__ */ s("span", { class: "jex-source-label", children: l }),
10836
10861
  /* @__PURE__ */ s("span", { class: "jex-source-score", children: [
10837
10862
  "Β· ",
@@ -10853,7 +10878,7 @@ ${i.url}` : i.title, u = /* @__PURE__ */ s(ee, { children: [
10853
10878
  }) }) : null
10854
10879
  ] });
10855
10880
  }
10856
- function Gm(t) {
10881
+ function Ym(t) {
10857
10882
  if (t.sourceType === "crawl" && t.url)
10858
10883
  try {
10859
10884
  const e = new URL(t.url);
@@ -10862,25 +10887,25 @@ function Gm(t) {
10862
10887
  }
10863
10888
  return t.title;
10864
10889
  }
10865
- function Km() {
10890
+ function Zm() {
10866
10891
  return /* @__PURE__ */ s("div", { class: "jex-typing", children: [
10867
10892
  /* @__PURE__ */ s("span", {}),
10868
10893
  /* @__PURE__ */ s("span", {}),
10869
10894
  /* @__PURE__ */ s("span", {})
10870
10895
  ] });
10871
10896
  }
10872
- const Ym = /\s?\[\d+\]/g;
10897
+ const Jm = /\s?\[\d+\]/g;
10873
10898
  function Rr(t) {
10874
- return t.replace(Ym, "");
10899
+ return t.replace(Jm, "");
10875
10900
  }
10876
- function Zm(t) {
10901
+ function Xm(t) {
10877
10902
  return t?.at(-1)?._creationTime ?? 0;
10878
10903
  }
10879
- function Jm(t) {
10904
+ function eg(t) {
10880
10905
  return { id: t._id, content: Rr(t.content), role: t.role, authorName: t.authorName };
10881
10906
  }
10882
10907
  function hs(t, e) {
10883
- return (t.replyToIds && t.replyToIds.length > 0 ? t.replyToIds : t.replyToId ? [t.replyToId] : []).map((r) => e?.find((i) => i._id === r)).filter((r) => r !== void 0).map(Jm);
10908
+ return (t.replyToIds && t.replyToIds.length > 0 ? t.replyToIds : t.replyToId ? [t.replyToId] : []).map((r) => e?.find((i) => i._id === r)).filter((r) => r !== void 0).map(eg);
10884
10909
  }
10885
10910
  function fs(t, e) {
10886
10911
  const r = e.getRootNode().getElementById(`jex-msg-${t}`);
@@ -10888,7 +10913,7 @@ function fs(t, e) {
10888
10913
  r.classList.remove("jex-msg-highlight");
10889
10914
  }, 1500));
10890
10915
  }
10891
- function Xm(t) {
10916
+ function tg(t) {
10892
10917
  if (!t)
10893
10918
  return [];
10894
10919
  const e = /* @__PURE__ */ new Set();
@@ -10896,8 +10921,8 @@ function Xm(t) {
10896
10921
  n.authorId && n.authorName && e.add(n.authorName), n.noticeKind === "agent-joined" && n.noticeData?.agentName && e.add(n.noticeData.agentName);
10897
10922
  return [...e];
10898
10923
  }
10899
- function eg({ conversations: t, greeting: e, botName: n, starterQuestions: r, onPickStarter: i, sessionNotFound: o, resumeFailed: a, onStartFresh: l, sessionId: c, visitorId: u }) {
10900
- const h = I(), m = ze(null), [d, p] = z(null), x = Zm(t), k = Xm(t), b = Yl(), v = ze(null);
10924
+ function ng({ conversations: t, greeting: e, botName: n, starterQuestions: r, onPickStarter: i, sessionNotFound: o, resumeFailed: a, onStartFresh: l, sessionId: c, visitorId: u }) {
10925
+ const h = I(), m = ze(null), [d, p] = z(null), x = Xm(t), k = tg(t), b = Yl(), v = ze(null);
10901
10926
  O(() => {
10902
10927
  if (!u || !t)
10903
10928
  return;
@@ -10910,7 +10935,7 @@ function eg({ conversations: t, greeting: e, botName: n, starterQuestions: r, on
10910
10935
  return /* @__PURE__ */ s("div", { class: "jex-chat-messages", children: [
10911
10936
  /* @__PURE__ */ s(ln, { text: e, botName: n }),
10912
10937
  R ? /* @__PURE__ */ s(
10913
- Dp,
10938
+ zp,
10914
10939
  {
10915
10940
  questions: r,
10916
10941
  disabled: Ar.value,
@@ -10962,9 +10987,9 @@ function eg({ conversations: t, greeting: e, botName: n, starterQuestions: r, on
10962
10987
  children: h.escalationSkip
10963
10988
  }
10964
10989
  )
10965
- ] }, y._id) : /* @__PURE__ */ s(Bp, { message: y, sessionId: c, visitorId: u, waitingSetAt: x }, y._id);
10990
+ ] }, y._id) : /* @__PURE__ */ s(Up, { message: y, sessionId: c, visitorId: u, waitingSetAt: x }, y._id);
10966
10991
  if (y.contentType === "magicline-form" && c && u)
10967
- return /* @__PURE__ */ s(Hm, { message: y, sessionId: c, visitorId: u }, y._id);
10992
+ return /* @__PURE__ */ s(Qm, { message: y, sessionId: c, visitorId: u }, y._id);
10968
10993
  if (y.contentType === "escalation-confirm") {
10969
10994
  const L = y.noticeKind === "escalation-confirmed" ? h.noticeEscalationConfirmed.replace("{name}", y.noticeData?.visitorName ?? "").replace("{email}", y.noticeData?.visitorEmail ?? "").replace("{ref}", y.noticeData?.visitorId ?? "") : y.content;
10970
10995
  return /* @__PURE__ */ s(ln, { text: L, botName: n }, y._id);
@@ -10972,7 +10997,7 @@ function eg({ conversations: t, greeting: e, botName: n, starterQuestions: r, on
10972
10997
  if (y.role === "user") {
10973
10998
  const L = hs(y, t);
10974
10999
  return /* @__PURE__ */ s(
10975
- zp,
11000
+ Fp,
10976
11001
  {
10977
11002
  id: `jex-msg-${y._id}`,
10978
11003
  text: y.content,
@@ -10981,8 +11006,8 @@ function eg({ conversations: t, greeting: e, botName: n, starterQuestions: r, on
10981
11006
  Qi({ id: y._id, content: y.content, role: "user" });
10982
11007
  },
10983
11008
  quoted: L,
10984
- onQuotedClick: (W, de) => {
10985
- fs(W, de.currentTarget);
11009
+ onQuotedClick: (Q, de) => {
11010
+ fs(Q, de.currentTarget);
10986
11011
  },
10987
11012
  agentNames: k
10988
11013
  },
@@ -10995,7 +11020,7 @@ function eg({ conversations: t, greeting: e, botName: n, starterQuestions: r, on
10995
11020
  authorImage: y.authorImage
10996
11021
  };
10997
11022
  if (y.status === "streaming" && y.content === "")
10998
- return /* @__PURE__ */ s(Km, {}, y._id);
11023
+ return /* @__PURE__ */ s(Zm, {}, y._id);
10999
11024
  if (y.status === "streaming")
11000
11025
  return /* @__PURE__ */ s(ln, { id: `jex-msg-${y._id}`, text: Rr(y.content), streaming: !0, botName: n, ...E }, y._id);
11001
11026
  if (y.status === "error")
@@ -11022,19 +11047,19 @@ function eg({ conversations: t, greeting: e, botName: n, starterQuestions: r, on
11022
11047
  Qi({ id: y._id, content: Rr(y.content), role: "assistant", authorName: y.authorName });
11023
11048
  },
11024
11049
  quoted: N,
11025
- onQuotedClick: (L, W) => {
11026
- fs(L, W.currentTarget);
11050
+ onQuotedClick: (L, Q) => {
11051
+ fs(L, Q.currentTarget);
11027
11052
  },
11028
11053
  ...E
11029
11054
  }
11030
11055
  ),
11031
- y.sources && y.sources.length > 0 ? /* @__PURE__ */ s(Qm, { sources: y.sources }) : null
11056
+ y.sources && y.sources.length > 0 ? /* @__PURE__ */ s(Km, { sources: y.sources }) : null
11032
11057
  ] }, y._id);
11033
11058
  }),
11034
11059
  /* @__PURE__ */ s("div", { ref: m })
11035
11060
  ] });
11036
11061
  }
11037
- function tg() {
11062
+ function rg() {
11038
11063
  const t = I();
11039
11064
  function e() {
11040
11065
  const n = er.peek();
@@ -11074,7 +11099,7 @@ function ac({ message: t }) {
11074
11099
  t && /* @__PURE__ */ s("p", { class: "jex-loading-message", children: t })
11075
11100
  ] }) : null;
11076
11101
  }
11077
- function ng({ sessionId: t, visitorId: e }) {
11102
+ function ig({ sessionId: t, visitorId: e }) {
11078
11103
  const n = Lr(
11079
11104
  Ae.functions.chat.public.conversations.listBySession,
11080
11105
  t && e ? { sessionId: t, visitorId: e } : "skip"
@@ -11089,7 +11114,7 @@ function ng({ sessionId: t, visitorId: e }) {
11089
11114
  isStreaming: o
11090
11115
  };
11091
11116
  }
11092
- function rg(t) {
11117
+ function og(t) {
11093
11118
  const e = I(), n = ze(null), r = ze(null), [i, o] = z(!1);
11094
11119
  O(() => {
11095
11120
  try {
@@ -11162,7 +11187,7 @@ function rg(t) {
11162
11187
  };
11163
11188
  }, []);
11164
11189
  }
11165
- function ig({ sessionId: t, visitorId: e }) {
11190
+ function ag({ sessionId: t, visitorId: e }) {
11166
11191
  const n = Gt(Ae.functions.chat.public.visitorPresence.heartbeat);
11167
11192
  O(() => {
11168
11193
  if (!t || !e)
@@ -11183,11 +11208,11 @@ function ig({ sessionId: t, visitorId: e }) {
11183
11208
  };
11184
11209
  }, [t, e, n]);
11185
11210
  }
11186
- function og() {
11211
+ function sg() {
11187
11212
  return Gt(Ae.functions.chat.public.helpdesk.createEscalationRequest);
11188
11213
  }
11189
11214
  function sc({ sessionId: t, visitorId: e, ensureSession: n, onSkipForm: r }) {
11190
- const i = I(), o = og(), [a, l] = z(!1), [c, u] = z(null);
11215
+ const i = I(), o = sg(), [a, l] = z(!1), [c, u] = z(null);
11191
11216
  async function h() {
11192
11217
  if (!a) {
11193
11218
  l(!0), u(null);
@@ -11219,15 +11244,15 @@ function sc({ sessionId: t, visitorId: e, ensureSession: n, onSkipForm: r }) {
11219
11244
  }
11220
11245
  return { requestHuman: h, busy: a, error: c };
11221
11246
  }
11222
- function ag({ greeting: t, botName: e, starterQuestions: n, sessionId: r, visitorId: i, isLoading: o, sessionNotFound: a, resumeFailed: l, isOrgDeleted: c, ensureSession: u, startFresh: h }) {
11223
- const m = I(), { conversations: d, sessionStatus: p, isLoading: x, isStreaming: k } = ng({ sessionId: r, visitorId: i });
11224
- rg(d), ig({ sessionId: r, visitorId: i }), O(() => {
11247
+ function lg({ greeting: t, botName: e, starterQuestions: n, sessionId: r, visitorId: i, isLoading: o, sessionNotFound: a, resumeFailed: l, isOrgDeleted: c, ensureSession: u, startFresh: h }) {
11248
+ const m = I(), { conversations: d, sessionStatus: p, isLoading: x, isStreaming: k } = ig({ sessionId: r, visitorId: i });
11249
+ og(d), ag({ sessionId: r, visitorId: i }), O(() => {
11225
11250
  const E = er.peek();
11226
11251
  if (E === null || !d || d.length === 0)
11227
11252
  return;
11228
11253
  const { waitingSetAt: N } = E;
11229
11254
  d.some(
11230
- (W) => W._creationTime > N && (W.noticeKind === "agent-joined" || !!W.authorId)
11255
+ (Q) => Q._creationTime > N && (Q.noticeKind === "agent-joined" || !!Q.authorId)
11231
11256
  ) && Pl();
11232
11257
  }, [d]);
11233
11258
  const b = Il({ sessionId: r, visitorId: i, ensureSession: u }), v = ze(
@@ -11246,7 +11271,7 @@ function ag({ greeting: t, botName: e, starterQuestions: n, sessionId: r, visito
11246
11271
  i && po(i);
11247
11272
  }, [i]), c ? /* @__PURE__ */ s("div", { class: "jex-chat-messages", children: /* @__PURE__ */ s("div", { class: "jex-session-notice", children: m.chatNoLongerAvailable }) }) : v === "resume" && (!r || x) ? /* @__PURE__ */ s(ac, { message: m.resumeConversation }) : /* @__PURE__ */ s(ee, { children: [
11248
11273
  /* @__PURE__ */ s(
11249
- eg,
11274
+ ng,
11250
11275
  {
11251
11276
  conversations: d,
11252
11277
  greeting: t,
@@ -11262,7 +11287,7 @@ function ag({ greeting: t, botName: e, starterQuestions: n, sessionId: r, visito
11262
11287
  visitorId: i
11263
11288
  }
11264
11289
  ),
11265
- er.value !== null && /* @__PURE__ */ s(tg, {}),
11290
+ er.value !== null && /* @__PURE__ */ s(rg, {}),
11266
11291
  R && /* @__PURE__ */ s("div", { class: "jex-session-error-notice", role: "alert", style: { margin: "8px 16px 0" }, children: R }),
11267
11292
  /* @__PURE__ */ s(
11268
11293
  uf,
@@ -11287,7 +11312,7 @@ function lc(t) {
11287
11312
  function cc(t) {
11288
11313
  return t?.anyOnline ? "online" : t?.anyAway ? "away" : "offline";
11289
11314
  }
11290
- function sg({ formMessageId: t, sessionId: e, visitorId: n, orgSlug: r }) {
11315
+ function cg({ formMessageId: t, sessionId: e, visitorId: n, orgSlug: r }) {
11291
11316
  const i = I(), o = lr.value, a = /^https?:\/\//i.test(o) ? o : sr, [l, c] = z(""), [u, h] = z(""), m = lc(r), d = m && !m.anyOnline ? i.escalationOfflineSubtitle : i.escalationSubtitle, p = Kl(), [x, k] = z(!1), [b, v] = z(null);
11292
11317
  async function w(R) {
11293
11318
  R.preventDefault(), k(!0), v(null);
@@ -11377,7 +11402,7 @@ function ps({ sessionId: t, visitorId: e, ensureSession: n, availability: r }) {
11377
11402
  l && /* @__PURE__ */ s("div", { class: "jex-handoff-error", role: "alert", children: l })
11378
11403
  ] });
11379
11404
  }
11380
- async function lg() {
11405
+ async function ug() {
11381
11406
  const t = pl.value;
11382
11407
  if (!t)
11383
11408
  return me.warn("[JexityChat] Bootstrap refresh skipped β€” inputs missing"), { ok: !1, reason: "no-inputs" };
@@ -11393,7 +11418,7 @@ function ms(t) {
11393
11418
  function uc(t) {
11394
11419
  return t instanceof Nr ? t.data?.code === "UNAUTHORIZED_ORIGIN" : !1;
11395
11420
  }
11396
- function cg(t = 1e4) {
11421
+ function dg(t = 1e4) {
11397
11422
  return Lt.value ? Promise.resolve(Lt.value) : new Promise((e) => {
11398
11423
  let n = !1;
11399
11424
  const r = (a) => {
@@ -11405,9 +11430,9 @@ function cg(t = 1e4) {
11405
11430
  });
11406
11431
  });
11407
11432
  }
11408
- function ug(t, e) {
11433
+ function hg(t, e) {
11409
11434
  const n = ze(null), r = fn(!1), i = fn(!1), o = fn(!1), a = fn(null), l = Gt(Ae.functions.chat.public.sessions.createOrResume), c = async (p) => {
11410
- const x = await cg();
11435
+ const x = await dg();
11411
11436
  if (!x)
11412
11437
  return me.warn("[JexityChat] No bootstrap token after 10s β€” session creation blocked."), un.value = "no-token", null;
11413
11438
  const k = (w) => ({
@@ -11427,7 +11452,7 @@ function ug(t, e) {
11427
11452
  } catch (w) {
11428
11453
  if (!uc(w))
11429
11454
  throw w;
11430
- const R = await lg();
11455
+ const R = await ug();
11431
11456
  if (!R.ok)
11432
11457
  return un.value = R.reason === "rate_limited" ? "network" : "unauthorized", null;
11433
11458
  b = await l(k(R.token));
@@ -11482,7 +11507,7 @@ function ug(t, e) {
11482
11507
  resetSession: h
11483
11508
  };
11484
11509
  }
11485
- function dg({ botName: t, availability: e, onResetSession: n }) {
11510
+ function fg({ botName: t, availability: e, onResetSession: n }) {
11486
11511
  const r = I(), [i, o] = z(""), a = e?.anyOnline === !0, l = cc(e);
11487
11512
  function c() {
11488
11513
  kr(), pn.value = "escalate", n(), Aa(), jt({ id: "chat" });
@@ -11576,7 +11601,7 @@ function dg({ botName: t, availability: e, onResetSession: n }) {
11576
11601
  ] })
11577
11602
  ] });
11578
11603
  }
11579
- function hg({ title: t }) {
11604
+ function pg({ title: t }) {
11580
11605
  const e = I();
11581
11606
  return /* @__PURE__ */ s("div", { class: "jex-selection", children: [
11582
11607
  /* @__PURE__ */ s("h2", { class: "jex-selection-title", children: e.howCanWeHelp }),
@@ -11608,7 +11633,7 @@ function hg({ title: t }) {
11608
11633
  ] })
11609
11634
  ] });
11610
11635
  }
11611
- function fg() {
11636
+ function mg() {
11612
11637
  const t = I(), [e, n] = z(""), [r, i] = z(""), [o, a] = z("");
11613
11638
  async function l(c) {
11614
11639
  c.preventDefault(), Ui({ id: "loading", message: t.submittingTicket }), await new Promise((h) => {
@@ -11664,7 +11689,7 @@ function fg() {
11664
11689
  ] })
11665
11690
  ] });
11666
11691
  }
11667
- function pg({ ticketRef: t }) {
11692
+ function gg({ ticketRef: t }) {
11668
11693
  const e = I();
11669
11694
  return /* @__PURE__ */ s("div", { class: "jex-confirmation", children: [
11670
11695
  /* @__PURE__ */ s("div", { class: "jex-confirmation-icon", "aria-hidden": "true", children: "βœ“" }),
@@ -11684,7 +11709,7 @@ function pg({ ticketRef: t }) {
11684
11709
  )
11685
11710
  ] });
11686
11711
  }
11687
- function mg({ message: t, onRetry: e, onBack: n }) {
11712
+ function xg({ message: t, onRetry: e, onBack: n }) {
11688
11713
  const r = I();
11689
11714
  return /* @__PURE__ */ s("div", { class: "jex-overlay jex-error", children: [
11690
11715
  /* @__PURE__ */ s("p", { class: "jex-error-message", children: t }),
@@ -11699,11 +11724,11 @@ function gs({ greeting: t, starterQuestions: e, title: n, botName: r, orgSlug: i
11699
11724
  (w) => w.id === "confirmation"
11700
11725
  );
11701
11726
  return /* @__PURE__ */ s("div", { class: "jex-screen-container", children: [
11702
- b.id === "home" && /* @__PURE__ */ s(dg, { botName: r, availability: o, onResetSession: x }),
11703
- b.id === "selection" && /* @__PURE__ */ s(hg, { title: n }),
11704
- b.id === "form" && /* @__PURE__ */ s(fg, {}),
11727
+ b.id === "home" && /* @__PURE__ */ s(fg, { botName: r, availability: o, onResetSession: x }),
11728
+ b.id === "selection" && /* @__PURE__ */ s(pg, { title: n }),
11729
+ b.id === "form" && /* @__PURE__ */ s(mg, {}),
11705
11730
  b.id === "escalation-form" && /* @__PURE__ */ s(
11706
- sg,
11731
+ cg,
11707
11732
  {
11708
11733
  formMessageId: b.formMessageId,
11709
11734
  sessionId: b.sessionId,
@@ -11712,9 +11737,9 @@ function gs({ greeting: t, starterQuestions: e, title: n, botName: r, orgSlug: i
11712
11737
  waitingSetAt: b.waitingSetAt
11713
11738
  }
11714
11739
  ),
11715
- b.id === "confirmation" && v && /* @__PURE__ */ s(pg, { ticketRef: v.ref }),
11740
+ b.id === "confirmation" && v && /* @__PURE__ */ s(gg, { ticketRef: v.ref }),
11716
11741
  b.id === "chat" && /* @__PURE__ */ s(
11717
- ag,
11742
+ lg,
11718
11743
  {
11719
11744
  greeting: t,
11720
11745
  botName: r,
@@ -11731,7 +11756,7 @@ function gs({ greeting: t, starterQuestions: e, title: n, botName: r, orgSlug: i
11731
11756
  ),
11732
11757
  b.id === "loading" && /* @__PURE__ */ s(ac, { message: b.message }),
11733
11758
  b.id === "error" && /* @__PURE__ */ s(
11734
- mg,
11759
+ xg,
11735
11760
  {
11736
11761
  message: b.message,
11737
11762
  onRetry: () => Ui({ id: "loading" }),
@@ -11740,7 +11765,7 @@ function gs({ greeting: t, starterQuestions: e, title: n, botName: r, orgSlug: i
11740
11765
  )
11741
11766
  ] });
11742
11767
  }
11743
- function gg({ options: t }) {
11768
+ function bg({ options: t }) {
11744
11769
  return nh({
11745
11770
  orgSlug: t.orgSlug,
11746
11771
  projSlug: t.projSlug,
@@ -11748,14 +11773,14 @@ function gg({ options: t }) {
11748
11773
  convexUrl: t.convexUrl,
11749
11774
  preAllowedUrls: t.allowedUrls ?? [],
11750
11775
  preExcludedPaths: t.excludePaths
11751
- }), oh() ? /* @__PURE__ */ s(xg, { options: t }) : null;
11776
+ }), oh() ? /* @__PURE__ */ s(yg, { options: t }) : null;
11752
11777
  }
11753
- function xg({ options: t }) {
11778
+ function yg({ options: t }) {
11754
11779
  const e = eh(t.orgSlug, t.projSlug, t.convexUrl);
11755
11780
  uh(t.parentOrigin), O(() => (xh(), yh(), () => {
11756
11781
  Fi.value = !1;
11757
11782
  }), []);
11758
- const { sessionId: n, visitorId: r, isLoading: i, sessionNotFound: o, resumeFailed: a, isOrgDeleted: l, ensureSession: c, startFresh: u, resetSession: h } = ug(t.orgSlug, t.projSlug), m = lc(t.orgSlug), d = Yd(t, e.config), p = Nt.value, x = Fi.value, k = e.config !== null || p !== void 0 || e.settled, b = e.config !== null ? d.sessionTimeoutMs : p !== void 0 ? p : d.sessionTimeoutMs;
11783
+ const { sessionId: n, visitorId: r, isLoading: i, sessionNotFound: o, resumeFailed: a, isOrgDeleted: l, ensureSession: c, startFresh: u, resetSession: h } = hg(t.orgSlug, t.projSlug), m = lc(t.orgSlug), d = Yd(t, e.config), p = Nt.value, x = Fi.value, k = e.config !== null || p !== void 0 || e.settled, b = e.config !== null ? d.sessionTimeoutMs : p !== void 0 ? p : d.sessionTimeoutMs;
11759
11784
  O(() => {
11760
11785
  xt.value = bl(d.locale);
11761
11786
  }, [d.locale]), O(() => {
@@ -11790,9 +11815,9 @@ function xg({ options: t }) {
11790
11815
  borderRadius: d.borderRadius,
11791
11816
  windowWidth: d.windowWidth,
11792
11817
  windowHeight: d.windowHeight
11793
- }), y = d.mode === "embedded", E = $e.value, L = E[E.length - 1]?.id === "chat", W = e.config !== null || y || !!t.parentOrigin, de = W ? R : { ...R, visibility: "hidden" }, F = Oh(t.orgSlug, t.projSlug);
11818
+ }), y = d.mode === "embedded", E = $e.value, L = E[E.length - 1]?.id === "chat", Q = e.config !== null || y || !!t.parentOrigin, de = Q ? R : { ...R, visibility: "hidden" }, F = Oh(t.orgSlug, t.projSlug);
11794
11819
  return O(() => {
11795
- if (y || !W || d.proactiveMode === "off" || Na(F))
11820
+ if (y || !Q || d.proactiveMode === "off" || Na(F))
11796
11821
  return;
11797
11822
  const J = window.setTimeout(() => {
11798
11823
  const re = $h({
@@ -11806,7 +11831,7 @@ function xg({ options: t }) {
11806
11831
  return () => {
11807
11832
  window.clearTimeout(J);
11808
11833
  };
11809
- }, [y, W, d.proactiveMode, d.proactiveDelaySeconds, F]), /* @__PURE__ */ s(
11834
+ }, [y, Q, d.proactiveMode, d.proactiveDelaySeconds, F]), /* @__PURE__ */ s(
11810
11835
  "div",
11811
11836
  {
11812
11837
  class: `jex-widget ${w}`.trim(),
@@ -11887,34 +11912,34 @@ function xg({ options: t }) {
11887
11912
  }
11888
11913
  );
11889
11914
  }
11890
- const bg = `.jex-widget{--jex-primary: #115A62;--jex-primary-hover: var(--jex-accent, color-mix(in srgb, var(--jex-primary) 85%, #000));--jex-radius: .75rem;--jex-font-family: "Inter", system-ui, -apple-system, sans-serif;--jex-font-size: 14px;--jex-window-width: 380px;--jex-window-height: 600px;--jex-shadow: 0 16px 48px -12px rgba(13, 127, 138, .25), 0 4px 16px rgba(0, 0, 0, .08);pointer-events:auto;--jex-bg-trigger: var(--jex-primary);--jex-bg-header: var(--jex-primary);--jex-bg-msg-user: var(--jex-primary);--jex-bg-send-btn: var(--jex-primary);--jex-bg-window: rgba(255, 255, 255, .95);--jex-bg-msg-bot: #f1f5f9;--jex-bg-input: rgba(247, 253, 253, .6);--jex-text-header: #ffffff;--jex-text-msg-user: #ffffff;--jex-text-msg-bot: #0f172a;--jex-text-main: #0f172a;--jex-text-muted: #64748b;--jex-bg-avatar-agent: #d1fae5;--jex-text-avatar-agent: #065f46;--jex-border-window: rgba(226, 232, 240, .8);--jex-border-input: rgba(203, 213, 225, .8);--jex-bg-glass: var(--jex-bg-window);--jex-border-glass: var(--jex-border-window);font-family:var(--jex-font-family);-webkit-font-smoothing:antialiased}.dark .jex-widget,.jex-widget.dark{--jex-primary: #1cb0bf;--jex-primary-hover: var(--jex-accent, color-mix(in srgb, var(--jex-primary) 85%, #000));--jex-bg-window: rgba(10, 15, 26, .95);--jex-bg-msg-bot: #233146;--jex-bg-input: rgba(10, 15, 26, .6);--jex-text-msg-bot: #f8fafc;--jex-text-main: #f8fafc;--jex-text-muted: #94a3b8;--jex-border-window: rgba(30, 41, 59, .8);--jex-border-input: rgba(51, 65, 85, .9);--jex-bg-avatar-agent: #064e3b;--jex-text-avatar-agent: #6ee7b7;--jex-bg-error: #3b1318;--jex-border-error: #5c1d24;--jex-text-error: #fca5a5}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light){--jex-primary: #1cb0bf;--jex-primary-hover: var(--jex-accent, color-mix(in srgb, var(--jex-primary) 85%, #000));--jex-bg-window: rgba(10, 15, 26, .95);--jex-bg-msg-bot: #233146;--jex-bg-input: rgba(10, 15, 26, .6);--jex-text-msg-bot: #f8fafc;--jex-text-main: #f8fafc;--jex-text-muted: #94a3b8;--jex-border-window: rgba(30, 41, 59, .8);--jex-border-input: rgba(51, 65, 85, .9);--jex-bg-error: #3b1318;--jex-border-error: #5c1d24;--jex-text-error: #fca5a5}}.jex-widget *{box-sizing:border-box;margin:0;padding:0}.jex-container{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;align-items:flex-end;gap:16px;z-index:9999}.jex-container.jex-pos-left{right:auto;left:24px;align-items:flex-start}:host(.jex-mode-embedded){display:block;width:100%;height:100%}:host(.jex-mode-embedded) .jex-widget{width:100%;height:100%}.jex-embedded{display:flex;flex-direction:column;width:100%;height:100%;background:var(--jex-bg-window);border:1px solid var(--jex-border-window);overflow:hidden}.jex-embedded .jex-screen-container{flex:1;overflow:hidden;display:flex;flex-direction:column}.jex-floating-button{height:56px;min-width:56px;padding:0;background:var(--jex-bg-trigger);color:var(--jex-text-header);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--jex-shadow);transition:transform .3s cubic-bezier(.175,.885,.32,1.275),background .2s,width .3s ease,border-radius .3s ease}.jex-floating-button.jex-has-label{min-width:110px;padding:0 20px}.jex-fab-inner{display:flex;align-items:center;gap:12px}.jex-fab-label{font-size:15px;font-weight:600;white-space:nowrap}.jex-floating-button:hover{transform:scale(1.1);background:var(--jex-primary-hover)}.jex-floating-button:active{transform:scale(.95)}.jex-fab-pulse{animation:jex-fab-pulse 2.4s ease-out infinite}@keyframes jex-fab-pulse{0%{box-shadow:var(--jex-shadow),0 0 color-mix(in srgb,var(--jex-bg-trigger) 50%,transparent)}70%{box-shadow:var(--jex-shadow),0 0 0 14px color-mix(in srgb,var(--jex-bg-trigger) 0%,transparent)}to{box-shadow:var(--jex-shadow),0 0 color-mix(in srgb,var(--jex-bg-trigger) 0%,transparent)}}@media(prefers-reduced-motion:reduce){.jex-fab-pulse{animation:none}}.jex-proactive-teaser{display:flex;align-items:flex-start;gap:10px;width:280px;max-width:calc(100vw - 48px);padding:12px 14px;align-self:flex-end;background:var(--jex-bg-window);color:var(--jex-text-main);border:1px solid var(--jex-border-window);border-radius:var(--jex-radius);box-shadow:var(--jex-shadow);cursor:pointer;text-align:left;animation:jex-teaser-in .22s ease-out}.jex-proactive-avatar{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9999px;background:var(--jex-bg-avatar-agent);color:var(--jex-text-avatar-agent)}.jex-proactive-body{display:flex;flex-direction:column;gap:2px;min-width:0}.jex-proactive-title{font-weight:600;font-size:13px;line-height:1.2}.jex-proactive-message{font-size:13px;line-height:1.35;color:var(--jex-text-muted)}.jex-proactive-dismiss{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:22px;height:22px;margin:-4px -4px 0 0;padding:0;border:none;background:transparent;color:var(--jex-text-muted);cursor:pointer;border-radius:9999px}.jex-proactive-dismiss:hover{background:var(--jex-bg-msg-bot)}@keyframes jex-teaser-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.jex-proactive-teaser{animation:none}}.jex-chat-window{width:var(--jex-window-width);height:var(--jex-window-height);max-height:calc(100vh - 120px);background:var(--jex-bg-window);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--jex-border-window);border-radius:calc(var(--jex-radius) * 2);box-shadow:var(--jex-shadow);display:flex;flex-direction:column;overflow:hidden;animation:jexSlideUp .4s cubic-bezier(.16,1,.3,1);transform-origin:bottom right;touch-action:manipulation}@keyframes jexSlideUp{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(max-width:480px),(pointer:coarse)and (max-width:768px){.jex-chat-window{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;max-height:none;border:none;border-radius:0;animation:jexSlideUpMobile .3s cubic-bezier(.16,1,.3,1);transform-origin:bottom center}.jex-container:has(.jex-chat-window) .jex-floating-button{display:none}}@keyframes jexSlideUpMobile{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.jex-chat-header{padding:14px 16px;background:var(--jex-bg-header);color:var(--jex-text-header);display:flex;align-items:center;gap:12px;flex-shrink:0}.jex-header-info h3{font-size:16px;font-weight:600;color:var(--jex-text-header);margin:0}.jex-header-info p{font-size:12px;opacity:.8;color:var(--jex-text-header);margin:0}.jex-header-right{margin-left:auto;display:flex;align-items:center;gap:4px}.jex-header-handoff{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid color-mix(in srgb,currentColor 50%,transparent);border-radius:999px;padding:0;color:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease}.jex-header-handoff:hover:not(:disabled){background:color-mix(in srgb,currentColor 12%,transparent);border-color:currentColor}.jex-header-handoff:disabled{opacity:.5;cursor:not-allowed}.jex-header-close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:999px;padding:0;color:inherit;cursor:pointer;transition:background .15s ease}.jex-header-close:hover{background:color-mix(in srgb,currentColor 14%,transparent)}.jex-handoff-error{position:absolute;top:100%;right:8px;background:#fee;color:#b00;padding:4px 8px;font-size:12px;border-radius:4px}.jex-header-back{background:none;border:none;color:var(--jex-text-header);cursor:pointer;padding:4px;display:flex;align-items:center;opacity:.8;transition:opacity .2s;flex-shrink:0}.jex-header-back:hover{opacity:1}.jex-screen-container{flex:1;overflow:hidden;display:flex;flex-direction:column}.jex-home{flex:1;display:flex;flex-direction:column;padding:24px;gap:20px;overflow-y:auto}.jex-home-hero{display:flex;align-items:center;gap:14px;width:100%;padding:0;border:none;background:transparent;font-family:inherit;text-align:left;cursor:pointer;animation:jexFadeIn .4s ease both}.jex-home-hero:disabled{cursor:default;opacity:.7}.jex-home-avatar{position:relative;width:48px;height:48px;border-radius:14px;background:var(--jex-primary);color:var(--jex-text-header);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px color-mix(in srgb,var(--jex-primary) 30%,transparent)}.jex-home-status-dot{position:absolute;bottom:-2px;right:-2px;width:14px;height:14px;border-radius:50%;background:var(--jex-dot-color, #9ca3af);border:2.5px solid var(--jex-bg-window);animation:jexPulse 2s ease-in-out infinite}.jex-home-status-dot--online{--jex-dot-color: #10b981}.jex-home-status-dot--away{--jex-dot-color: #fbbf24}.jex-home-status-dot--offline{--jex-dot-color: #9ca3af}@keyframes jexPulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--jex-dot-color, #9ca3af) 40%,transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--jex-dot-color, #9ca3af) 0%,transparent)}}.jex-home-hero-text{display:flex;flex-direction:column;gap:2px;min-width:0}.jex-home-title{font-size:17px;font-weight:700;color:var(--jex-text-main);margin:0;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jex-home-status{font-size:13px;font-weight:500;color:var(--jex-text-muted);letter-spacing:.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jex-home-section-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--jex-text-muted)}.jex-home-lookup-section{display:flex;flex-direction:column;gap:8px;margin-top:auto}.jex-home-lookup-label{font-size:12px;font-weight:500;color:var(--jex-text-muted)}.jex-home-greeting{background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);border-radius:4px 16px 16px;padding:16px 18px;font-size:14px;line-height:1.55;color:var(--jex-text-main);animation:jexFadeIn .4s .1s ease both}.jex-home-greeting p{margin:0}@keyframes jexFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.jex-home-actions{display:flex;flex-direction:column;gap:10px;animation:jexFadeIn .4s .2s ease both}.jex-home-start-btn{background:var(--jex-bg-send-btn);color:var(--jex-text-header);border:none;border-radius:12px;padding:14px 20px;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s,transform .15s,box-shadow .2s;width:100%;box-shadow:0 2px 8px color-mix(in srgb,var(--jex-primary) 25%,transparent)}.jex-home-start-btn:hover{background:var(--jex-primary-hover);transform:translateY(-1px);box-shadow:0 4px 16px color-mix(in srgb,var(--jex-primary) 35%,transparent)}.jex-home-start-btn:active{transform:translateY(0);box-shadow:0 1px 4px color-mix(in srgb,var(--jex-primary) 20%,transparent)}.jex-home-resume-card{display:flex;flex-direction:column;gap:8px;width:100%;text-align:left;padding:16px 18px;border-radius:14px;border:1.5px solid var(--jex-primary);background:color-mix(in srgb,var(--jex-primary) 6%,var(--jex-bg-window));cursor:pointer;font-family:inherit;transition:background .2s,border-color .2s,transform .15s,box-shadow .2s;box-shadow:0 2px 8px color-mix(in srgb,var(--jex-primary) 12%,transparent)}.jex-home-resume-card:hover{background:color-mix(in srgb,var(--jex-primary) 10%,var(--jex-bg-window));transform:translateY(-1px);box-shadow:0 4px 16px color-mix(in srgb,var(--jex-primary) 20%,transparent)}.jex-home-resume-card:active{transform:translateY(0)}.jex-home-resume-top{display:flex;align-items:center;justify-content:space-between}.jex-home-resume-label{font-size:14px;font-weight:600;color:var(--jex-primary)}.jex-home-resume-arrow{color:var(--jex-primary);opacity:.6;transition:opacity .2s,transform .2s}.jex-home-resume-card:hover .jex-home-resume-arrow{opacity:1;transform:translate(2px)}.jex-home-resume-ref{font-family:ui-monospace,Cascadia Code,Fira Code,monospace;font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--jex-text-muted)}.jex-home-history{display:flex;flex-direction:column;gap:8px}.jex-home-resume-meta{font-size:12px;color:var(--jex-text-muted);margin-top:4px}.jex-home-new-btn{background:transparent;color:var(--jex-text-muted);border:1px solid var(--jex-border-input);border-radius:12px;padding:12px 20px;font-size:14px;font-weight:500;cursor:pointer;font-family:inherit;transition:color .2s,border-color .2s,background .2s;width:100%}.jex-home-new-btn:hover{color:var(--jex-text-main);border-color:var(--jex-text-muted);background:color-mix(in srgb,var(--jex-primary) 3%,transparent)}.jex-session-ref{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);border-radius:8px;font-size:12px}.jex-session-ref-label{color:var(--jex-text-muted);font-weight:500}.jex-session-ref-code{color:var(--jex-primary);font-weight:700;font-family:ui-monospace,Cascadia Code,monospace;letter-spacing:.05em}.jex-chat-messages{flex:1;padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.jex-message-row{display:flex;align-items:flex-end;gap:8px;max-width:85%}.jex-message-row.bot{align-self:flex-start;flex-direction:column;align-items:stretch;gap:6px;max-width:92%}.jex-message-head{display:flex;align-items:center;gap:8px;padding-left:2px}.jex-message-head .jex-avatar{margin-bottom:0}.jex-avatar{width:24px;height:24px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:12px;margin-bottom:2px}.jex-avatar-bot{background:var(--jex-bg-msg-bot);color:var(--jex-primary)}.jex-avatar-agent{background:var(--jex-bg-avatar-agent)}.jex-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover}.jex-avatar-initials{font-size:9px;font-weight:700;color:var(--jex-text-avatar-agent)}.jex-message-author{font-size:13px;font-weight:600;color:var(--jex-text-main);line-height:1.2}.jex-quote-btn{position:absolute;top:-8px;right:-8px;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:1px solid var(--jex-border-window);border-radius:50%;background:var(--jex-bg-window);color:var(--jex-text-muted, #6b7280);box-shadow:0 1px 4px #0000001f;cursor:pointer;opacity:0;transform:scale(.9);transition:opacity .12s,transform .12s,background .15s,color .15s}.jex-quote-btn:hover{background:var(--jex-bg-msg-bot);color:var(--jex-primary, #115A62);transform:scale(1)}.jex-quote-btn:focus-visible{opacity:1;transform:scale(1);outline:2px solid var(--jex-primary, #115A62);outline-offset:1px}@media(hover:hover){.jex-message:hover .jex-quote-btn{opacity:1;transform:scale(1)}}@media(hover:none){.jex-quote-btn{opacity:1;transform:scale(1)}}.jex-message.user .jex-mention{font-weight:700;background:#ffffff38;border-radius:4px;padding:0 3px}.jex-quoted-chip{display:flex;align-items:flex-start;gap:4px;width:100%;margin-bottom:6px;padding-bottom:6px;border:none;border-bottom:1px solid var(--jex-border-window);background:transparent;color:inherit;font:inherit;font-size:12px;opacity:.8;text-align:left;cursor:pointer}.jex-quoted-chip:hover{opacity:1}.jex-quoted-chip-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jex-quoted-chip-author{font-weight:600}.jex-quoted-list{display:flex;flex-direction:column}.jex-quoted-list .jex-quoted-chip{margin-bottom:3px;padding-bottom:3px}.jex-quoted-list .jex-quoted-chip:last-child{margin-bottom:6px;padding-bottom:6px}.jex-msg-highlight{outline:2px solid var(--jex-primary, #115A62);outline-offset:2px;transition:outline-color .2s}.jex-reply-preview{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:10px;background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);font-size:12px;color:var(--jex-text-muted)}.jex-reply-preview-icon{flex:0 0 auto;color:var(--jex-primary)}.jex-reply-preview-text{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jex-reply-preview-author{font-weight:600;color:var(--jex-text-main)}.jex-reply-preview-cancel{flex:0 0 auto;display:inline-flex;padding:2px;border:none;border-radius:4px;background:transparent;color:var(--jex-text-muted);cursor:pointer}.jex-reply-preview-cancel:hover{color:var(--jex-text-main);background:#0000000f}.jex-message{position:relative;padding:12px 16px;border-radius:18px;font-size:14px;line-height:1.4}.jex-message.bot{background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);color:var(--jex-text-msg-bot);border-radius:16px}.jex-message.user{align-self:flex-end;max-width:80%;background:var(--jex-bg-msg-user);color:var(--jex-text-msg-user);border-bottom-right-radius:4px}.jex-typing{align-self:flex-start;display:flex;gap:4px;padding:12px 16px}.jex-typing span{width:8px;height:8px;border-radius:50%;background:var(--jex-text-muted);animation:jexTypingDot 1.2s infinite ease-in-out}.jex-typing span:nth-child(2){animation-delay:.2s}.jex-typing span:nth-child(3){animation-delay:.4s}@keyframes jexTypingDot{0%,80%,to{transform:scale(.8);opacity:.4}40%{transform:scale(1);opacity:1}}.jex-md{word-break:break-word;overflow-wrap:anywhere}.jex-md p{margin:0 0 8px}.jex-md p:last-child{margin-bottom:0}.jex-md strong{font-weight:600}.jex-md em{font-style:italic}.jex-md ul,.jex-md ol{margin:0 0 8px;padding-left:20px}.jex-md ul:last-child,.jex-md ol:last-child{margin-bottom:0}.jex-md ul{list-style-type:disc}.jex-md ol{list-style-type:decimal}.jex-md li{margin-bottom:2px}.jex-md li:last-child{margin-bottom:0}.jex-md a{color:var(--jex-primary);text-decoration:underline;text-underline-offset:2px}.jex-md a:hover{opacity:.8}.jex-md code{background:#00000014;padding:1px 5px;border-radius:4px;font-size:.9em;font-family:ui-monospace,Cascadia Code,Fira Code,monospace}.jex-md pre{background:#0000000f;border-radius:8px;padding:10px 12px;margin:0 0 8px;overflow-x:auto;font-size:.85em}.jex-md pre:last-child{margin-bottom:0}.jex-md pre code{background:none;padding:0;border-radius:0;font-size:inherit}.jex-md h1,.jex-md h2,.jex-md h3,.jex-md h4{font-weight:600;margin:8px 0 4px}.jex-md h1:first-child,.jex-md h2:first-child,.jex-md h3:first-child,.jex-md h4:first-child{margin-top:0}.jex-md h3{font-size:1em}.jex-md h4{font-size:.95em}.jex-md hr{border:none;border-top:1px solid var(--jex-border-window);margin:8px 0}.jex-md blockquote{border-left:3px solid var(--jex-primary);margin:0 0 8px;padding:4px 12px;color:var(--jex-text-muted)}.jex-md blockquote:last-child{margin-bottom:0}.dark .jex-md code,.jex-widget.dark .jex-md code{background:#ffffff1a}.dark .jex-md pre,.jex-widget.dark .jex-md pre{background:#ffffff14}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light) .jex-md code{background:#ffffff1a}:host:not(.light) .jex-widget:not(.light) .jex-md pre{background:#ffffff14}}.jex-streaming-cursor:after{content:"β—Š";margin-left:2px;animation:jexBlinkCursor .8s ease-in-out infinite}@keyframes jexBlinkCursor{0%,to{opacity:1}50%{opacity:0}}.jex-session-notice{align-self:center;text-align:center;padding:8px 16px;margin:8px 0;font-size:12px;color:var(--jex-text-muted);background:var(--jex-bg-input, #f1f5f9);border-radius:8px;line-height:1.4}.jex-message-error{background:var(--jex-bg-error, #fef2f2)!important;border-color:var(--jex-border-error, #fecaca)!important;color:var(--jex-text-error, #991b1b)!important}.jex-chat-input{padding:12px 16px;border-top:1px solid var(--jex-border-window);display:flex;flex-direction:column;gap:8px;flex-shrink:0}.jex-chat-input-composer-gate{position:relative}.jex-chat-input-composer-gate-open{z-index:2}.jex-chat-input-composer-gate-open .jex-composer-card{pointer-events:none}.jex-composer-card{display:flex;flex-direction:column;gap:6px;padding:10px 12px 8px;background:var(--jex-bg-input);border:1px solid var(--jex-border-input);border-radius:16px;cursor:text;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.jex-composer-card:focus-within{border-color:var(--jex-primary);background:var(--jex-bg-window);box-shadow:0 0 0 3px color-mix(in srgb,var(--jex-primary, #115A62) 14%,transparent)}.jex-composer-attachments{display:flex;flex-wrap:wrap;gap:6px;padding:2px 2px 4px}.jex-attachment-chip{position:relative;width:44px;height:44px;border-radius:8px;overflow:hidden;background:var(--jex-bg-msg-bot, #f1f5f9);flex-shrink:0;box-shadow:0 1px 2px #0000000f}.jex-attachment-thumb{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.jex-attachment-remove{position:absolute;top:2px;right:2px;width:16px;height:16px;padding:0;border:none;border-radius:50%;background:#0f172ac7;color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .12s ease,transform .12s ease}.jex-attachment-chip:hover .jex-attachment-remove,.jex-attachment-chip:focus-within .jex-attachment-remove{opacity:1}.jex-attachment-remove:hover{transform:scale(1.08)}.jex-composer-textarea{width:100%;min-height:22px;background:transparent;border:none;outline:none;resize:none;padding:2px 4px;color:var(--jex-text-main);font-family:inherit;font-size:16px;line-height:1.45;overflow-y:hidden}.jex-composer-textarea::placeholder{color:var(--jex-text-muted);opacity:.85}.jex-composer-textarea:disabled{cursor:not-allowed;opacity:.7}.jex-composer-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.jex-composer-actions-left{display:inline-flex;align-items:center;gap:4px}.jex-attach-btn{width:30px;height:30px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--jex-text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s ease,color .12s ease,transform .12s ease}.jex-attach-btn:hover:not(:disabled){background:color-mix(in srgb,var(--jex-text-muted, #64748b) 12%,transparent);color:var(--jex-text-main)}.jex-attach-btn:active:not(:disabled){transform:scale(.92)}.jex-attach-btn:disabled{opacity:.4;cursor:not-allowed}.jex-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.jex-rate-limit-notice{flex:1 0 100%;order:-1;margin-bottom:8px;padding:8px 12px;border-radius:10px;background:var(--jex-bg-msg-bot, #f1f5f9);color:var(--jex-text-muted, #64748b);font-size:12px;line-height:1.4;text-align:center}.jex-session-error-notice{flex:1 0 100%;order:-1;margin-bottom:8px;padding:8px 12px;border-radius:10px;background:var(--jex-bg-error, #fef2f2);border:1px solid var(--jex-border-error, #fecaca);color:var(--jex-text-error, #991b1b);font-size:12px;line-height:1.4;text-align:center}.jex-chat-input input{flex:1;background:var(--jex-bg-input);border:1px solid var(--jex-border-input);border-radius:12px;padding:10px 14px;color:var(--jex-text-main);outline:none;font-family:inherit;font-size:14px}.jex-chat-input input:focus{border-color:var(--jex-primary)}.jex-send-btn{background:color-mix(in srgb,var(--jex-text-muted, #64748b) 18%,transparent);color:var(--jex-text-muted);border:none;border-radius:999px;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,color .15s ease,opacity .15s ease,transform .15s ease;flex-shrink:0}.jex-send-btn-active{background:var(--jex-bg-send-btn, var(--jex-primary));color:var(--jex-text-header, #fff)}.jex-send-btn-active:hover:not(:disabled){background:var(--jex-primary-hover)}.jex-send-btn:active:not(:disabled){transform:scale(.9)}.jex-send-btn:disabled{opacity:.45;cursor:default}.jex-widget-footer{display:flex;align-items:center;justify-content:center;padding:8px 16px;border-top:1px solid var(--jex-border-glass);background:#00000005;flex-shrink:0}.jex-widget.dark .jex-widget-footer{background:#ffffff05}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light) .jex-widget-footer{background:#ffffff05}}.jex-branding{display:flex;align-items:center;gap:6px;text-decoration:none;color:var(--jex-text-muted);font-size:11px;font-weight:500;transition:color .2s}.jex-branding:hover{color:var(--jex-text-main)}.jex-branding-icon{color:var(--jex-primary)}.jex-branding span strong{font-weight:700;color:var(--jex-text-main)}.jex-privacy-notice-link,.jex-privacy-chip-link{color:var(--jex-primary);text-decoration:underline;text-underline-offset:2px;text-decoration-color:color-mix(in srgb,var(--jex-primary) 50%,transparent);transition:text-decoration-color .15s}.jex-privacy-notice-link:hover,.jex-privacy-chip-link:hover{text-decoration-color:var(--jex-primary)}.jex-privacy-chip{align-self:center;display:inline-flex;align-items:center;gap:6px;max-width:100%;margin:0;padding:5px 10px;border-radius:999px;background:color-mix(in srgb,var(--jex-primary) 10%,var(--jex-bg-window));color:var(--jex-primary);font-size:10px;font-weight:650;line-height:1.2}.jex-privacy-chip-icon{display:inline-flex;flex-shrink:0}.jex-privacy-chip-link{color:inherit;text-decoration:none}.jex-privacy-explicit{position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;flex-direction:column;gap:10px;min-height:100%;padding:10px 12px 12px;border:1px solid var(--jex-border-window);border-radius:14px 14px 10px 10px;background:var(--jex-bg-window);box-shadow:0 -12px 36px #0f172a24;pointer-events:auto}.jex-privacy-explicit-content{display:flex;align-items:flex-start;gap:10px}.jex-privacy-explicit-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:8px;background:color-mix(in srgb,var(--jex-primary) 10%,var(--jex-bg-window));color:var(--jex-primary);flex-shrink:0}.jex-privacy-explicit-copy{min-width:0;flex:1}.jex-privacy-explicit-title{color:var(--jex-text-main);font-size:12px;font-weight:750;line-height:1.2;margin-bottom:3px}.jex-privacy-explicit-body{margin:0;color:var(--jex-text-muted);font-size:10px;line-height:1.35}.jex-privacy-explicit-button{width:100%;border:none;border-radius:10px;background:var(--jex-bg-send-btn);color:var(--jex-text-header);cursor:pointer;font-family:inherit;font-size:12px;font-weight:750;padding:9px 12px;transition:background .15s ease,transform .12s ease}.jex-privacy-explicit-button:hover{background:var(--jex-primary-hover)}.jex-privacy-explicit-button:active{transform:scale(.98)}.jex-locale-select-wrapper{position:relative;display:flex;align-items:center}.jex-locale-select{appearance:none;-webkit-appearance:none;background:transparent;border:1px solid transparent;padding:4px 20px 4px 6px;border-radius:6px;font-family:inherit;font-size:11px;font-weight:600;color:var(--jex-text-muted);background-color:transparent;cursor:pointer;outline:none;transition:all .2s ease}.jex-locale-select option{background-color:#fff;color:#0f172a}.jex-locale-select:hover,.jex-locale-select:focus-visible{color:var(--jex-text-main);background:#0000000a}.jex-widget.dark .jex-locale-select:hover,.jex-widget.dark .jex-locale-select:focus-visible{background:#ffffff0d}.jex-widget.dark .jex-locale-select option{background-color:#0f172a;color:#f8fafc}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light) .jex-locale-select:hover,:host:not(.light) .jex-widget:not(.light) .jex-locale-select:focus-visible{background:#ffffff0d}:host:not(.light) .jex-widget:not(.light) .jex-locale-select option{background-color:#0f172a;color:#f8fafc}}.jex-locale-select:focus-visible{border-color:var(--jex-primary)}.jex-locale-chevron{position:absolute;right:4px;pointer-events:none;color:var(--jex-text-muted);transition:color .2s ease}.jex-locale-select-wrapper:hover .jex-locale-chevron{color:var(--jex-text-main)}.jex-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--jex-bg-window, #fff);z-index:10;padding:24px;text-align:center}.jex-loading-spinner{width:32px;height:32px;border:3px solid var(--jex-border-input, #e2e8f0);border-top-color:var(--jex-primary, #115A62);border-radius:50%;animation:jex-spin .7s linear infinite}@keyframes jex-spin{to{transform:rotate(360deg)}}.jex-loading-message{font-size:14px;color:var(--jex-text-muted, #64748b)}.jex-error-message{font-size:14px;color:var(--jex-text-main, #334155)}.jex-error-actions{display:flex;gap:8px}.jex-error-retry,.jex-error-back{padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:none}.jex-error-retry{background:var(--jex-primary, #115A62);color:#fff}.jex-error-back{background:transparent;color:var(--jex-text-muted, #64748b);border:1px solid var(--jex-border-input, #e2e8f0)}.jex-selection{display:flex;flex-direction:column;gap:12px;padding:24px 16px;height:100%}.jex-selection-title{font-size:16px;font-weight:700;color:var(--jex-text-main, #0f172a);margin:0 0 8px}.jex-selection-options{display:flex;flex-direction:column;gap:10px}.jex-selection-option{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:16px;border-radius:12px;border:1px solid var(--jex-border-window, #e2e8f0);background:transparent;cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease}.jex-selection-option:hover{border-color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 5%,transparent)}.jex-selection-icon{font-size:20px}.jex-selection-label{font-size:14px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-selection-sub{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-form-screen{display:flex;flex-direction:column;padding:20px 16px;height:100%;overflow-y:auto}.jex-form-title{font-size:16px;font-weight:700;color:var(--jex-text-main, #0f172a);margin:0 0 16px}.jex-form{display:flex;flex-direction:column;gap:10px}.jex-form-input,.jex-form-textarea{padding:10px 12px;border-radius:8px;border:1px solid var(--jex-border-input, #e2e8f0);font-size:14px;background:transparent;color:var(--jex-text-main, #0f172a);outline:none}@media(pointer:coarse){.jex-form-input,.jex-form-textarea{font-size:16px}}.jex-form-input:focus,.jex-form-textarea:focus{border-color:var(--jex-primary, #115A62)}.jex-form-textarea{min-height:80px;resize:vertical}.jex-form-submit{padding:10px;border-radius:8px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:14px;font-weight:600;cursor:pointer;margin-top:4px}.jex-inline-form{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--jex-bg-msg-bot, #f1f5f9);border:1px solid var(--jex-border-input, #e2e8f0);border-radius:var(--jex-radius, .75rem);width:100%}.jex-inline-form-title{font-weight:600;font-size:15px;color:var(--jex-text-main, #0f172a);margin:0}.jex-inline-form-subtitle{font-size:13px;color:var(--jex-text-muted, #64748b);line-height:1.4;margin:0 0 4px}.jex-inline-form-consent{font-size:11px;color:var(--jex-text-muted, #64748b);line-height:1.3;margin-top:4px;text-align:center}.jex-inline-form .jex-form-submit:disabled{opacity:.7;cursor:not-allowed}.jex-escalation-subtitle{font-size:13px;color:var(--jex-text-muted, #64748b);line-height:1.45;margin:0 0 8px}.jex-escalation-skip{padding:8px 12px;border:none;background:transparent;color:var(--jex-text-muted, #64748b);font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:2px;text-align:center}.jex-escalation-skip:hover{color:var(--jex-text-main, #0f172a)}.jex-inline-form-card{position:relative;padding:14px;gap:8px}.jex-inline-form-dismiss{position:absolute;top:10px;right:10px;width:24px;height:24px;border-radius:50%;border:1px solid var(--jex-border-input, #e2e8f0);background:var(--jex-bg-window, #fff);color:var(--jex-text-muted, #64748b);font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.jex-inline-form-dismiss:hover{background:var(--jex-bg-msg-bot, #f1f5f9);color:var(--jex-text-main, #0f172a)}.jex-inline-form-submitted{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--jex-bg-msg-bot, #f1f5f9);border:1px solid var(--jex-border-input, #e2e8f0);border-radius:var(--jex-radius, .75rem);width:100%}.jex-inline-form-check{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:color-mix(in srgb,var(--jex-primary) 15%,transparent);color:var(--jex-primary, #115A62);font-size:14px;font-weight:700;flex-shrink:0}.jex-inline-form-submitted-title{font-weight:600;font-size:var(--jex-font-size, 14px);color:var(--jex-text-main, #0f172a)}.jex-inline-form-submitted-detail{font-size:12px;color:var(--jex-text-muted, #64748b);margin-top:2px}.jex-magicline-row{display:flex;flex-direction:column;gap:8px}.jex-magicline-row>*{min-width:0}.jex-magicline-field{display:flex;flex-direction:column;gap:4px}.jex-magicline-field-label{font-size:12px;font-weight:500;color:var(--jex-text-muted, #64748b)}.jex-magicline-select{width:100%;appearance:none;cursor:pointer;padding-right:32px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:16px 16px}.jex-magicline-slots-hint{font-size:12px;color:var(--jex-text-muted, #64748b);line-height:1.4;padding:2px 0}.jex-magicline-consent{display:flex;align-items:flex-start;gap:8px;font-size:11px;line-height:1.35;color:var(--jex-text-muted, #64748b);margin-top:2px;cursor:pointer}.jex-magicline-consent input[type=checkbox]{flex-shrink:0;margin-top:1px;accent-color:var(--jex-primary, #115A62)}.jex-magicline-error{font-size:12px;color:#dc2626;line-height:1.35}.jex-magicline-failed{border-color:color-mix(in srgb,#dc2626 35%,var(--jex-border-input, #e2e8f0))}.jex-magicline-failed-icon{background:color-mix(in srgb,#dc2626 15%,transparent);color:#dc2626}.jex-magicline-wizard-header{display:flex;flex-direction:column;gap:6px}.jex-magicline-wizard-progress{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.jex-magicline-wizard-step-label{font-size:13px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-magicline-wizard-counter{font-size:11px;color:var(--jex-text-muted, #64748b);flex-shrink:0}.jex-magicline-wizard-dots{display:flex;gap:6px}.jex-magicline-wizard-dot{width:7px;height:7px;border-radius:50%;background:color-mix(in srgb,var(--jex-text-muted, #64748b) 35%,transparent)}.jex-magicline-wizard-dot-active{background:var(--jex-primary, #115A62)}.jex-magicline-wizard-nav{display:flex;align-items:center;gap:8px;margin-top:4px}.jex-magicline-wizard-next{flex:1;margin-top:0}.jex-magicline-wizard-back{padding:10px 14px;border-radius:8px;border:1px solid var(--jex-border-input, #e2e8f0);background:transparent;color:var(--jex-text-main, #0f172a);font-size:14px;font-weight:600;cursor:pointer}.jex-magicline-wizard-back:hover{background:var(--jex-bg-window, #fff)}.jex-magicline-wizard-back:disabled,.jex-magicline-wizard-next:disabled{opacity:.7;cursor:not-allowed}.jex-magicline-radio-group{display:flex;flex-direction:column;gap:8px}.jex-magicline-radio-card{display:flex;align-items:center;gap:10px;padding:12px;border-radius:10px;border:1px solid var(--jex-border-input, #e2e8f0);font-size:14px;color:var(--jex-text-main, #0f172a);cursor:pointer}.jex-magicline-radio-card-active{border-color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 8%,transparent)}.jex-magicline-radio-card input[type=radio]{flex-shrink:0;accent-color:var(--jex-primary, #115A62)}.jex-magicline-slots-error{display:flex;flex-direction:column;gap:6px}.jex-magicline-retry{align-self:flex-start;padding:6px 12px;border-radius:8px;border:1px solid var(--jex-border-input, #e2e8f0);background:transparent;color:var(--jex-text-main, #0f172a);font-size:13px;font-weight:600;cursor:pointer}.jex-magicline-retry:hover{background:var(--jex-bg-window, #fff)}.jex-magicline-retry:disabled{opacity:.7;cursor:not-allowed}.jex-magicline-voucher-section{display:flex;flex-direction:column;gap:6px;margin-top:4px}.jex-magicline-voucher-field{flex-direction:row;align-items:stretch;gap:8px}.jex-magicline-voucher-field .jex-form-input{flex:1;min-width:0}.jex-magicline-voucher-apply{flex:0 0 auto;padding:10px 16px;border-radius:8px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}.jex-magicline-voucher-apply:hover{background:var(--jex-primary-hover)}.jex-magicline-voucher-apply:disabled{opacity:.7;cursor:not-allowed}.jex-magicline-review-wrap{position:relative}.jex-magicline-review-body{display:flex;flex-direction:column;gap:10px;transition:opacity .15s ease}.jex-magicline-review-body--reloading{opacity:.5;pointer-events:none}.jex-magicline-review-overlay{position:absolute;inset:0;display:flex;align-items:flex-start;justify-content:center;padding-top:48px}.jex-magicline-review-spinner{width:28px;height:28px;border-radius:50%;border:3px solid color-mix(in srgb,var(--jex-primary, #115A62) 25%,transparent);border-top-color:var(--jex-primary, #115A62);animation:jex-magicline-spin .7s linear infinite}@keyframes jex-magicline-spin{to{transform:rotate(360deg)}}.jex-magicline-voucher-discount-row dt,.jex-magicline-voucher-remarks-row dt{flex-shrink:1;min-width:0}.jex-magicline-voucher-remarks-row dd{min-width:0;overflow-wrap:anywhere;word-break:break-word}.jex-magicline-summary{display:flex;flex-direction:column;gap:6px;margin:0;padding:10px 12px;border-radius:8px;background:var(--jex-bg-window, #fff);border:1px solid var(--jex-border-input, #e2e8f0)}.jex-magicline-summary-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.jex-magicline-summary-row dt{font-size:12px;color:var(--jex-text-muted, #64748b);flex-shrink:0}.jex-magicline-summary-row dd{margin:0;font-size:13px;font-weight:500;color:var(--jex-text-main, #0f172a);text-align:right;min-width:0}.jex-magicline-summary-section{margin-top:8px}.jex-magicline-summary-heading{font-size:12px;font-weight:600;color:var(--jex-text-main, #0f172a);margin-bottom:2px}.jex-magicline-summary-totals{background:color-mix(in srgb,var(--jex-primary, #115A62) 6%,transparent);border-color:color-mix(in srgb,var(--jex-primary, #115A62) 25%,transparent)}.jex-magicline-summary-total-row dt,.jex-magicline-summary-total-row dd{font-size:14px;font-weight:700;color:var(--jex-text-main, #0f172a)}.jex-magicline-summary-total-row dt{flex-shrink:1;min-width:0}.jex-magicline-summary-total-row dd{flex-shrink:0;white-space:nowrap;overflow-wrap:normal}.jex-magicline-offer-group{display:flex;flex-direction:column;gap:8px}.jex-magicline-offer-bundle-name{font-size:13px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-magicline-offer-bundle-desc{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-magicline-radio-card .jex-magicline-offer-term{display:flex;flex-direction:column;gap:4px;flex:1}.jex-magicline-offer-term-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.jex-magicline-offer-term-length{font-size:14px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-magicline-offer-term-price{font-size:13px;font-weight:500;color:var(--jex-primary, #115A62)}.jex-magicline-offer-term-note{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-magicline-static-value{padding:9px 12px;border-radius:8px;font-size:14px;color:var(--jex-text-main, #0f172a);background:var(--jex-bg-window, #f8fafc);border:1px solid var(--jex-border-input, #e2e8f0)}.jex-magicline-terms{display:flex;flex-direction:column;gap:10px;padding:10px 12px;border-radius:8px;background:var(--jex-bg-window, #fff);border:1px solid var(--jex-border-input, #e2e8f0)}.jex-magicline-upgrades-recap-title,.jex-magicline-terms-title{font-size:12px;font-weight:600;color:var(--jex-text-main, #0f172a);margin-bottom:2px}.jex-magicline-terms-content{font-size:12px;line-height:1.5;color:var(--jex-text-muted, #64748b);white-space:pre-wrap}.jex-magicline-upgrade-group{display:flex;flex-direction:column;gap:8px}.jex-magicline-upgrade-card{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:10px;border:1px solid var(--jex-border-input, #e2e8f0);font-size:14px;color:var(--jex-text-main, #0f172a);cursor:pointer}.jex-magicline-upgrade-card-active{border-color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 8%,transparent)}.jex-magicline-upgrade-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;cursor:pointer}.jex-magicline-upgrade-info{display:flex;flex-direction:column;gap:2px;flex:1}.jex-magicline-upgrade-name{font-size:14px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-magicline-upgrade-desc{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-magicline-upgrade-price{font-size:13px;font-weight:500;color:var(--jex-primary, #115A62)}.jex-magicline-upgrade-status{flex-shrink:0;font-size:11px;font-weight:600;padding:2px 7px;border-radius:6px;border:1px solid var(--jex-border-input, #e2e8f0);color:var(--jex-text-muted, #64748b);background:transparent;white-space:nowrap}.jex-magicline-upgrade-card-active .jex-magicline-upgrade-status{border-color:var(--jex-primary, #115A62);color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 12%,transparent)}.jex-magicline-terms-prompt{font-size:13px;font-weight:600;color:var(--jex-text-main, #0f172a);margin-bottom:4px}.jex-magicline-bundle-details{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-magicline-bundle-details-summary{cursor:pointer;font-size:12px;font-weight:600;color:var(--jex-primary, #115A62);list-style-position:inside}.jex-magicline-bundle-details-summary:hover{text-decoration:underline}.jex-magicline-bundle-details-body{display:flex;flex-direction:column;gap:6px;margin-top:6px}.jex-magicline-bundle-details-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:2px;line-height:1.4}.jex-magicline-bundle-details-footnote{margin:0;line-height:1.4}.jex-magicline-consent-region{display:flex;flex-direction:column;gap:4px;margin-top:6px;padding:6px 8px;border-left:3px solid var(--jex-primary, #115A62);border-radius:6px;background:color-mix(in srgb,var(--jex-primary, #115A62) 6%,transparent)}.jex-magicline-required-pill{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 12%,transparent);vertical-align:middle}.jex-magicline-consent-body{display:flex;flex-direction:column;gap:1px}.jex-magicline-consent-recap{display:flex;flex-direction:column;gap:2px}.jex-escalation-confirm{border-left:3px solid var(--jex-primary, #115A62);padding-left:8px}.jex-session-prompt{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 16px;margin:8px 0;text-align:center}.jex-session-prompt-text{font-size:13px;color:var(--jex-text-muted, #64748b)}.jex-session-prompt-btn{padding:8px 16px;border-radius:8px;border:1px solid var(--jex-primary, #115A62);background:transparent;color:var(--jex-primary, #115A62);font-size:13px;font-weight:600;cursor:pointer}.jex-session-prompt-btn:hover{background:color-mix(in srgb,var(--jex-primary) 10%,transparent)}.jex-chat-input-resolved{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 16px;border-top:1px solid var(--jex-border-input, #e2e8f0);background:var(--jex-bg-msg-bot, #f1f5f9);text-align:center}.jex-resolved-notice{font-size:13px;font-weight:500;color:var(--jex-text-muted, #64748b)}.jex-resolved-new-btn{padding:10px 20px;border-radius:8px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:13px;font-weight:600;cursor:pointer;width:100%}.jex-resolved-new-btn:hover{opacity:.9}.jex-confirmation{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:32px 24px;height:100%;text-align:center}.jex-confirmation-icon{width:48px;height:48px;border-radius:50%;background:color-mix(in srgb,var(--jex-primary, #115A62) 15%,transparent);color:var(--jex-primary, #115A62);font-size:22px;display:flex;align-items:center;justify-content:center}.jex-confirmation-title{font-size:18px;font-weight:700;color:var(--jex-text-main, #0f172a);margin:0}.jex-confirmation-body{font-size:13px;color:var(--jex-text-muted, #64748b);margin:0}.jex-confirmation-ref{font-size:20px;font-weight:700;letter-spacing:.05em;color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 10%,transparent);padding:10px 20px;border-radius:10px}.jex-confirmation-hint{font-size:12px;color:var(--jex-text-muted, #64748b);margin:0}.jex-confirmation-done{margin-top:8px;padding:10px 28px;border-radius:8px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:14px;font-weight:600;cursor:pointer}.jex-home-lookup-link{background:none;border:none;font-size:12px;color:var(--jex-text-muted, #64748b);cursor:pointer;text-decoration:underline;padding:0;align-self:center}.jex-home-lookup{display:flex;gap:8px;width:100%;animation:jexFadeIn .4s .1s ease both}.jex-home-lookup-input{flex:1;padding:10px 14px;border-radius:10px;border:1px solid var(--jex-border-input, #e2e8f0);background:var(--jex-bg-input);color:var(--jex-text-main);font-size:14px;font-family:ui-monospace,Cascadia Code,Fira Code,monospace;letter-spacing:.04em;outline:none;transition:border-color .2s}@media(pointer:coarse){.jex-home-lookup-input{font-size:16px}}.jex-home-lookup-input::placeholder{font-family:inherit;letter-spacing:.04em;color:var(--jex-text-muted);opacity:.7}.jex-home-lookup-input:focus{border-color:var(--jex-primary, #115A62)}.jex-home-lookup-submit{padding:10px 16px;border-radius:10px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s,opacity .2s;flex-shrink:0}.jex-home-lookup-submit:hover:not(:disabled){background:var(--jex-primary-hover)}.jex-home-lookup-submit:disabled{opacity:.4;cursor:default}.jex-sources-row{margin-top:6px;margin-left:32px;display:flex;flex-direction:column;gap:6px}.jex-sources-toggle{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:transparent;border:none;border-radius:6px;cursor:pointer;font-size:11px;color:var(--jex-text-muted, #6b7280);font-family:inherit;align-self:flex-start;transition:background .15s,color .15s}.jex-sources-toggle:hover{background:#0000000a;color:inherit}.jex-sources-icon{font-size:12px;line-height:1}.jex-sources-chevron{display:inline-block;font-size:10px;transition:transform .15s}.jex-sources-chevron--open{transform:rotate(180deg)}.jex-sources-pills{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.jex-source-pill{display:inline-flex;align-items:center;gap:6px;max-width:240px;padding:2px 8px;border-radius:999px;border:1px solid rgba(0,0,0,.1);background:#0000000a;color:var(--jex-text-muted, #6b7280);font-size:11px;text-decoration:none;cursor:pointer;transition:background .15s,color .15s}.jex-source-pill:hover{background:#00000014;color:inherit}.jex-source-id{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:4px;background:var(--jex-primary, #115A62);color:#fff;font-size:10px;font-weight:600;line-height:1;flex-shrink:0;font-variant-numeric:tabular-nums}.jex-source-type{font-size:10px;flex-shrink:0}.jex-source-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.jex-source-score{opacity:.6;flex-shrink:0;font-variant-numeric:tabular-nums}.jex-starter-chips{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0}.jex-starter-chip{display:inline-flex;align-items:center;border-radius:999px;padding:7px 13px;background:var(--jex-bg-window);border:1px solid var(--jex-border-input);color:var(--jex-primary);text-align:left;font-size:13.5px;font-weight:500;line-height:1.2;cursor:pointer;transition:background .15s,border-color .15s,opacity .15s}.jex-starter-chip:hover:not(:disabled){background:color-mix(in srgb,var(--jex-primary) 8%,var(--jex-bg-window));border-color:var(--jex-primary)}.jex-starter-chip:disabled{opacity:.5;cursor:default}.jex-presence-dot{position:absolute;top:2px;right:2px;width:8px;height:8px;border-radius:999px;box-shadow:0 0 0 2px var(--jex-bg-header, #115A62)}.jex-presence-dot--online{background:#10b981}.jex-presence-dot--away{background:#fbbf24}.jex-presence-dot--offline{background:#9ca3af}@keyframes jex-ripple-expand{0%{transform:scale(1);opacity:.6}to{transform:scale(2.6);opacity:0}}.jex-waiting-card{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;margin:0 12px 8px;background:var(--jex-bg-msg-bot, #f1f5f9);border:1px solid var(--jex-border-input, #e2e8f0);border-radius:var(--jex-radius, .75rem)}.jex-waiting-indicator{position:relative;flex-shrink:0;width:20px;height:20px;margin-top:2px;display:flex;align-items:center;justify-content:center}.jex-waiting-dot{position:relative;z-index:1;width:8px;height:8px;border-radius:50%;background:var(--jex-primary, #115A62)}.jex-waiting-ripple{position:absolute;inset:0;width:8px;height:8px;margin:auto;border-radius:50%;background:var(--jex-primary, #115A62);animation:jex-ripple-expand 1.6s ease-out infinite}@media(prefers-reduced-motion:reduce){.jex-waiting-ripple{animation:none}}.jex-waiting-body{display:flex;flex-direction:column;gap:4px;min-width:0}.jex-waiting-title{font-weight:600;font-size:14px;color:var(--jex-text-main, #0f172a);line-height:1.3}.jex-waiting-subtitle{font-size:12px;color:var(--jex-text-muted, #64748b);line-height:1.4}.jex-waiting-leave-email{margin-top:6px;padding:0;border:none;background:transparent;color:var(--jex-primary, #115A62);font-size:12px;font-family:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer;text-align:left}.jex-waiting-leave-email:hover{opacity:.8}`;
11891
- function yg(t) {
11915
+ const vg = `.jex-widget{--jex-primary: #115A62;--jex-primary-hover: var(--jex-accent, color-mix(in srgb, var(--jex-primary) 85%, #000));--jex-radius: .75rem;--jex-font-family: "Inter", system-ui, -apple-system, sans-serif;--jex-font-size: 14px;--jex-window-width: 380px;--jex-window-height: 600px;--jex-shadow: 0 16px 48px -12px rgba(13, 127, 138, .25), 0 4px 16px rgba(0, 0, 0, .08);pointer-events:auto;--jex-bg-trigger: var(--jex-primary);--jex-bg-header: var(--jex-primary);--jex-bg-msg-user: var(--jex-primary);--jex-bg-send-btn: var(--jex-primary);--jex-bg-window: rgba(255, 255, 255, .95);--jex-bg-msg-bot: #f1f5f9;--jex-bg-input: rgba(247, 253, 253, .6);--jex-text-header: #ffffff;--jex-text-msg-user: #ffffff;--jex-text-msg-bot: #0f172a;--jex-text-main: #0f172a;--jex-text-muted: #64748b;--jex-bg-avatar-agent: #d1fae5;--jex-text-avatar-agent: #065f46;--jex-border-window: rgba(226, 232, 240, .8);--jex-border-input: rgba(203, 213, 225, .8);--jex-bg-glass: var(--jex-bg-window);--jex-border-glass: var(--jex-border-window);font-family:var(--jex-font-family);-webkit-font-smoothing:antialiased}.dark .jex-widget,.jex-widget.dark{--jex-primary: #1cb0bf;--jex-primary-hover: var(--jex-accent, color-mix(in srgb, var(--jex-primary) 85%, #000));--jex-bg-window: rgba(10, 15, 26, .95);--jex-bg-msg-bot: #233146;--jex-bg-input: rgba(10, 15, 26, .6);--jex-text-msg-bot: #f8fafc;--jex-text-main: #f8fafc;--jex-text-muted: #94a3b8;--jex-border-window: rgba(30, 41, 59, .8);--jex-border-input: rgba(51, 65, 85, .9);--jex-bg-avatar-agent: #064e3b;--jex-text-avatar-agent: #6ee7b7;--jex-bg-error: #3b1318;--jex-border-error: #5c1d24;--jex-text-error: #fca5a5}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light){--jex-primary: #1cb0bf;--jex-primary-hover: var(--jex-accent, color-mix(in srgb, var(--jex-primary) 85%, #000));--jex-bg-window: rgba(10, 15, 26, .95);--jex-bg-msg-bot: #233146;--jex-bg-input: rgba(10, 15, 26, .6);--jex-text-msg-bot: #f8fafc;--jex-text-main: #f8fafc;--jex-text-muted: #94a3b8;--jex-border-window: rgba(30, 41, 59, .8);--jex-border-input: rgba(51, 65, 85, .9);--jex-bg-error: #3b1318;--jex-border-error: #5c1d24;--jex-text-error: #fca5a5}}.jex-widget *{box-sizing:border-box;margin:0;padding:0}.jex-container{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;align-items:flex-end;gap:16px;z-index:9999}.jex-container.jex-pos-left{right:auto;left:24px;align-items:flex-start}:host(.jex-mode-embedded){display:block;width:100%;height:100%}:host(.jex-mode-embedded) .jex-widget{width:100%;height:100%}.jex-embedded{display:flex;flex-direction:column;width:100%;height:100%;background:var(--jex-bg-window);border:1px solid var(--jex-border-window);overflow:hidden}.jex-embedded .jex-screen-container{flex:1;overflow:hidden;display:flex;flex-direction:column}.jex-floating-button{height:56px;min-width:56px;padding:0;background:var(--jex-bg-trigger);color:var(--jex-text-header);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--jex-shadow);transition:transform .3s cubic-bezier(.175,.885,.32,1.275),background .2s,width .3s ease,border-radius .3s ease}.jex-floating-button.jex-has-label{min-width:110px;padding:0 20px}.jex-fab-inner{display:flex;align-items:center;gap:12px}.jex-fab-label{font-size:15px;font-weight:600;white-space:nowrap}.jex-floating-button:hover{transform:scale(1.1);background:var(--jex-primary-hover)}.jex-floating-button:active{transform:scale(.95)}.jex-fab-pulse{animation:jex-fab-pulse 2.4s ease-out infinite}@keyframes jex-fab-pulse{0%{box-shadow:var(--jex-shadow),0 0 color-mix(in srgb,var(--jex-bg-trigger) 50%,transparent)}70%{box-shadow:var(--jex-shadow),0 0 0 14px color-mix(in srgb,var(--jex-bg-trigger) 0%,transparent)}to{box-shadow:var(--jex-shadow),0 0 color-mix(in srgb,var(--jex-bg-trigger) 0%,transparent)}}@media(prefers-reduced-motion:reduce){.jex-fab-pulse{animation:none}}.jex-proactive-teaser{display:flex;align-items:flex-start;gap:10px;width:280px;max-width:calc(100vw - 48px);padding:12px 14px;align-self:flex-end;background:var(--jex-bg-window);color:var(--jex-text-main);border:1px solid var(--jex-border-window);border-radius:var(--jex-radius);box-shadow:var(--jex-shadow);cursor:pointer;text-align:left;animation:jex-teaser-in .22s ease-out}.jex-proactive-avatar{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9999px;background:var(--jex-bg-avatar-agent);color:var(--jex-text-avatar-agent)}.jex-proactive-body{display:flex;flex-direction:column;gap:2px;min-width:0}.jex-proactive-title{font-weight:600;font-size:13px;line-height:1.2}.jex-proactive-message{font-size:13px;line-height:1.35;color:var(--jex-text-muted)}.jex-proactive-dismiss{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:22px;height:22px;margin:-4px -4px 0 0;padding:0;border:none;background:transparent;color:var(--jex-text-muted);cursor:pointer;border-radius:9999px}.jex-proactive-dismiss:hover{background:var(--jex-bg-msg-bot)}@keyframes jex-teaser-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.jex-proactive-teaser{animation:none}}.jex-chat-window{width:var(--jex-window-width);height:var(--jex-window-height);max-height:calc(100vh - 120px);background:var(--jex-bg-window);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--jex-border-window);border-radius:calc(var(--jex-radius) * 2);box-shadow:var(--jex-shadow);display:flex;flex-direction:column;overflow:hidden;animation:jexSlideUp .4s cubic-bezier(.16,1,.3,1);transform-origin:bottom right;touch-action:manipulation}@keyframes jexSlideUp{0%{opacity:0;transform:scale(.8) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(max-width:480px),(pointer:coarse)and (max-width:768px){.jex-chat-window{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;max-height:none;border:none;border-radius:0;animation:jexSlideUpMobile .3s cubic-bezier(.16,1,.3,1);transform-origin:bottom center}.jex-container:has(.jex-chat-window) .jex-floating-button{display:none}}@keyframes jexSlideUpMobile{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.jex-chat-header{padding:14px 16px;background:var(--jex-bg-header);color:var(--jex-text-header);display:flex;align-items:center;gap:12px;flex-shrink:0}.jex-header-info h3{font-size:16px;font-weight:600;color:var(--jex-text-header);margin:0}.jex-header-info p{font-size:12px;opacity:.8;color:var(--jex-text-header);margin:0}.jex-header-right{margin-left:auto;display:flex;align-items:center;gap:4px}.jex-header-handoff{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid color-mix(in srgb,currentColor 50%,transparent);border-radius:999px;padding:0;color:inherit;cursor:pointer;transition:background .15s ease,border-color .15s ease}.jex-header-handoff:hover:not(:disabled){background:color-mix(in srgb,currentColor 12%,transparent);border-color:currentColor}.jex-header-handoff:disabled{opacity:.5;cursor:not-allowed}.jex-header-close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:999px;padding:0;color:inherit;cursor:pointer;transition:background .15s ease}.jex-header-close:hover{background:color-mix(in srgb,currentColor 14%,transparent)}.jex-handoff-error{position:absolute;top:100%;right:8px;background:#fee;color:#b00;padding:4px 8px;font-size:12px;border-radius:4px}.jex-header-back{background:none;border:none;color:var(--jex-text-header);cursor:pointer;padding:4px;display:flex;align-items:center;opacity:.8;transition:opacity .2s;flex-shrink:0}.jex-header-back:hover{opacity:1}.jex-screen-container{flex:1;overflow:hidden;display:flex;flex-direction:column}.jex-home{flex:1;display:flex;flex-direction:column;padding:24px;gap:20px;overflow-y:auto}.jex-home-hero{display:flex;align-items:center;gap:14px;width:100%;padding:0;border:none;background:transparent;font-family:inherit;text-align:left;cursor:pointer;animation:jexFadeIn .4s ease both}.jex-home-hero:disabled{cursor:default;opacity:.7}.jex-home-avatar{position:relative;width:48px;height:48px;border-radius:14px;background:var(--jex-primary);color:var(--jex-text-header);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px color-mix(in srgb,var(--jex-primary) 30%,transparent)}.jex-home-status-dot{position:absolute;bottom:-2px;right:-2px;width:14px;height:14px;border-radius:50%;background:var(--jex-dot-color, #9ca3af);border:2.5px solid var(--jex-bg-window);animation:jexPulse 2s ease-in-out infinite}.jex-home-status-dot--online{--jex-dot-color: #10b981}.jex-home-status-dot--away{--jex-dot-color: #fbbf24}.jex-home-status-dot--offline{--jex-dot-color: #9ca3af}@keyframes jexPulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--jex-dot-color, #9ca3af) 40%,transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--jex-dot-color, #9ca3af) 0%,transparent)}}.jex-home-hero-text{display:flex;flex-direction:column;gap:2px;min-width:0}.jex-home-title{font-size:17px;font-weight:700;color:var(--jex-text-main);margin:0;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jex-home-status{font-size:13px;font-weight:500;color:var(--jex-text-muted);letter-spacing:.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jex-home-section-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--jex-text-muted)}.jex-home-lookup-section{display:flex;flex-direction:column;gap:8px;margin-top:auto}.jex-home-lookup-label{font-size:12px;font-weight:500;color:var(--jex-text-muted)}.jex-home-greeting{background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);border-radius:4px 16px 16px;padding:16px 18px;font-size:14px;line-height:1.55;color:var(--jex-text-main);animation:jexFadeIn .4s .1s ease both}.jex-home-greeting p{margin:0}@keyframes jexFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.jex-home-actions{display:flex;flex-direction:column;gap:10px;animation:jexFadeIn .4s .2s ease both}.jex-home-start-btn{background:var(--jex-bg-send-btn);color:var(--jex-text-header);border:none;border-radius:12px;padding:14px 20px;font-size:15px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s,transform .15s,box-shadow .2s;width:100%;box-shadow:0 2px 8px color-mix(in srgb,var(--jex-primary) 25%,transparent)}.jex-home-start-btn:hover{background:var(--jex-primary-hover);transform:translateY(-1px);box-shadow:0 4px 16px color-mix(in srgb,var(--jex-primary) 35%,transparent)}.jex-home-start-btn:active{transform:translateY(0);box-shadow:0 1px 4px color-mix(in srgb,var(--jex-primary) 20%,transparent)}.jex-home-resume-card{display:flex;flex-direction:column;gap:8px;width:100%;text-align:left;padding:16px 18px;border-radius:14px;border:1.5px solid var(--jex-primary);background:color-mix(in srgb,var(--jex-primary) 6%,var(--jex-bg-window));cursor:pointer;font-family:inherit;transition:background .2s,border-color .2s,transform .15s,box-shadow .2s;box-shadow:0 2px 8px color-mix(in srgb,var(--jex-primary) 12%,transparent)}.jex-home-resume-card:hover{background:color-mix(in srgb,var(--jex-primary) 10%,var(--jex-bg-window));transform:translateY(-1px);box-shadow:0 4px 16px color-mix(in srgb,var(--jex-primary) 20%,transparent)}.jex-home-resume-card:active{transform:translateY(0)}.jex-home-resume-top{display:flex;align-items:center;justify-content:space-between}.jex-home-resume-label{font-size:14px;font-weight:600;color:var(--jex-primary)}.jex-home-resume-arrow{color:var(--jex-primary);opacity:.6;transition:opacity .2s,transform .2s}.jex-home-resume-card:hover .jex-home-resume-arrow{opacity:1;transform:translate(2px)}.jex-home-resume-ref{font-family:ui-monospace,Cascadia Code,Fira Code,monospace;font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--jex-text-muted)}.jex-home-history{display:flex;flex-direction:column;gap:8px}.jex-home-resume-meta{font-size:12px;color:var(--jex-text-muted);margin-top:4px}.jex-home-new-btn{background:transparent;color:var(--jex-text-muted);border:1px solid var(--jex-border-input);border-radius:12px;padding:12px 20px;font-size:14px;font-weight:500;cursor:pointer;font-family:inherit;transition:color .2s,border-color .2s,background .2s;width:100%}.jex-home-new-btn:hover{color:var(--jex-text-main);border-color:var(--jex-text-muted);background:color-mix(in srgb,var(--jex-primary) 3%,transparent)}.jex-session-ref{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);border-radius:8px;font-size:12px}.jex-session-ref-label{color:var(--jex-text-muted);font-weight:500}.jex-session-ref-code{color:var(--jex-primary);font-weight:700;font-family:ui-monospace,Cascadia Code,monospace;letter-spacing:.05em}.jex-chat-messages{flex:1;padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.jex-message-row{display:flex;align-items:flex-end;gap:8px;max-width:85%}.jex-message-row.bot{align-self:flex-start;flex-direction:column;align-items:stretch;gap:6px;max-width:92%}.jex-message-head{display:flex;align-items:center;gap:8px;padding-left:2px}.jex-message-head .jex-avatar{margin-bottom:0}.jex-avatar{width:24px;height:24px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:12px;margin-bottom:2px}.jex-avatar-bot{background:var(--jex-bg-msg-bot);color:var(--jex-primary)}.jex-avatar-agent{background:var(--jex-bg-avatar-agent)}.jex-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover}.jex-avatar-initials{font-size:9px;font-weight:700;color:var(--jex-text-avatar-agent)}.jex-message-author{font-size:13px;font-weight:600;color:var(--jex-text-main);line-height:1.2}.jex-quote-btn{position:absolute;top:-8px;right:-8px;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:1px solid var(--jex-border-window);border-radius:50%;background:var(--jex-bg-window);color:var(--jex-text-muted, #6b7280);box-shadow:0 1px 4px #0000001f;cursor:pointer;opacity:0;transform:scale(.9);transition:opacity .12s,transform .12s,background .15s,color .15s}.jex-quote-btn:hover{background:var(--jex-bg-msg-bot);color:var(--jex-primary, #115A62);transform:scale(1)}.jex-quote-btn:focus-visible{opacity:1;transform:scale(1);outline:2px solid var(--jex-primary, #115A62);outline-offset:1px}@media(hover:hover){.jex-message:hover .jex-quote-btn{opacity:1;transform:scale(1)}}@media(hover:none){.jex-quote-btn{opacity:1;transform:scale(1)}}.jex-message.user .jex-mention{font-weight:700;background:#ffffff38;border-radius:4px;padding:0 3px}.jex-quoted-chip{display:flex;align-items:flex-start;gap:4px;width:100%;margin-bottom:6px;padding-bottom:6px;border:none;border-bottom:1px solid var(--jex-border-window);background:transparent;color:inherit;font:inherit;font-size:12px;opacity:.8;text-align:left;cursor:pointer}.jex-quoted-chip:hover{opacity:1}.jex-quoted-chip-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jex-quoted-chip-author{font-weight:600}.jex-quoted-list{display:flex;flex-direction:column}.jex-quoted-list .jex-quoted-chip{margin-bottom:3px;padding-bottom:3px}.jex-quoted-list .jex-quoted-chip:last-child{margin-bottom:6px;padding-bottom:6px}.jex-msg-highlight{outline:2px solid var(--jex-primary, #115A62);outline-offset:2px;transition:outline-color .2s}.jex-reply-preview{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:10px;background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);font-size:12px;color:var(--jex-text-muted)}.jex-reply-preview-icon{flex:0 0 auto;color:var(--jex-primary)}.jex-reply-preview-text{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.jex-reply-preview-author{font-weight:600;color:var(--jex-text-main)}.jex-reply-preview-cancel{flex:0 0 auto;display:inline-flex;padding:2px;border:none;border-radius:4px;background:transparent;color:var(--jex-text-muted);cursor:pointer}.jex-reply-preview-cancel:hover{color:var(--jex-text-main);background:#0000000f}.jex-message{position:relative;padding:12px 16px;border-radius:18px;font-size:14px;line-height:1.4}.jex-message.bot{background:var(--jex-bg-msg-bot);border:1px solid var(--jex-border-window);color:var(--jex-text-msg-bot);border-radius:16px}.jex-message.user{align-self:flex-end;max-width:80%;background:var(--jex-bg-msg-user);color:var(--jex-text-msg-user);border-bottom-right-radius:4px}.jex-typing{align-self:flex-start;display:flex;gap:4px;padding:12px 16px}.jex-typing span{width:8px;height:8px;border-radius:50%;background:var(--jex-text-muted);animation:jexTypingDot 1.2s infinite ease-in-out}.jex-typing span:nth-child(2){animation-delay:.2s}.jex-typing span:nth-child(3){animation-delay:.4s}@keyframes jexTypingDot{0%,80%,to{transform:scale(.8);opacity:.4}40%{transform:scale(1);opacity:1}}.jex-md{word-break:break-word;overflow-wrap:anywhere}.jex-md p{margin:0 0 8px}.jex-md p:last-child{margin-bottom:0}.jex-md strong{font-weight:600}.jex-md em{font-style:italic}.jex-md ul,.jex-md ol{margin:0 0 8px;padding-left:20px}.jex-md ul:last-child,.jex-md ol:last-child{margin-bottom:0}.jex-md ul{list-style-type:disc}.jex-md ol{list-style-type:decimal}.jex-md li{margin-bottom:2px}.jex-md li:last-child{margin-bottom:0}.jex-md a{color:var(--jex-primary);text-decoration:underline;text-underline-offset:2px}.jex-md a:hover{opacity:.8}.jex-md code{background:#00000014;padding:1px 5px;border-radius:4px;font-size:.9em;font-family:ui-monospace,Cascadia Code,Fira Code,monospace}.jex-md pre{background:#0000000f;border-radius:8px;padding:10px 12px;margin:0 0 8px;overflow-x:auto;font-size:.85em}.jex-md pre:last-child{margin-bottom:0}.jex-md pre code{background:none;padding:0;border-radius:0;font-size:inherit}.jex-md h1,.jex-md h2,.jex-md h3,.jex-md h4{font-weight:600;margin:8px 0 4px}.jex-md h1:first-child,.jex-md h2:first-child,.jex-md h3:first-child,.jex-md h4:first-child{margin-top:0}.jex-md h3{font-size:1em}.jex-md h4{font-size:.95em}.jex-md hr{border:none;border-top:1px solid var(--jex-border-window);margin:8px 0}.jex-md blockquote{border-left:3px solid var(--jex-primary);background:color-mix(in srgb,currentColor 6%,transparent);border-radius:0 8px 8px 0;margin:0 0 8px;padding:6px 12px;color:var(--jex-text-muted)}.jex-md blockquote:last-child{margin-bottom:0}.jex-md table{width:100%;border-collapse:collapse;margin:0 0 8px;font-size:.95em}.jex-md table:last-child{margin-bottom:0}.jex-md th,.jex-md td{text-align:left;padding:6px 10px;border-bottom:1px solid color-mix(in srgb,currentColor 14%,transparent)}.jex-md th{font-weight:600;border-bottom-width:2px}.jex-md tr:last-child td{border-bottom:none}.jex-md tbody tr:nth-child(2n) td{background:color-mix(in srgb,currentColor 5%,transparent)}.jex-md .jex-card-grid{display:flex;flex-direction:column;gap:8px;margin:0 0 8px}.jex-md .jex-card-grid:last-child{margin-bottom:0}.jex-md .jex-card{border:1px solid color-mix(in srgb,currentColor 16%,transparent);background:color-mix(in srgb,currentColor 5%,transparent);border-radius:10px;padding:10px 12px}.jex-md .jex-card-title{font-weight:700;margin-bottom:4px}.jex-md .jex-card>:last-child{margin-bottom:0}.dark .jex-md code,.jex-widget.dark .jex-md code{background:#ffffff1a}.dark .jex-md pre,.jex-widget.dark .jex-md pre{background:#ffffff14}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light) .jex-md code{background:#ffffff1a}:host:not(.light) .jex-widget:not(.light) .jex-md pre{background:#ffffff14}}.jex-streaming-cursor:after{content:"β—Š";margin-left:2px;animation:jexBlinkCursor .8s ease-in-out infinite}@keyframes jexBlinkCursor{0%,to{opacity:1}50%{opacity:0}}.jex-session-notice{align-self:center;text-align:center;padding:8px 16px;margin:8px 0;font-size:12px;color:var(--jex-text-muted);background:var(--jex-bg-input, #f1f5f9);border-radius:8px;line-height:1.4}.jex-message-error{background:var(--jex-bg-error, #fef2f2)!important;border-color:var(--jex-border-error, #fecaca)!important;color:var(--jex-text-error, #991b1b)!important}.jex-chat-input{padding:12px 16px;border-top:1px solid var(--jex-border-window);display:flex;flex-direction:column;gap:8px;flex-shrink:0}.jex-chat-input-composer-gate{position:relative}.jex-chat-input-composer-gate-open{z-index:2}.jex-chat-input-composer-gate-open .jex-composer-card{pointer-events:none}.jex-composer-card{display:flex;flex-direction:column;gap:6px;padding:10px 12px 8px;background:var(--jex-bg-input);border:1px solid var(--jex-border-input);border-radius:16px;cursor:text;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.jex-composer-card:focus-within{border-color:var(--jex-primary);background:var(--jex-bg-window);box-shadow:0 0 0 3px color-mix(in srgb,var(--jex-primary, #115A62) 14%,transparent)}.jex-composer-attachments{display:flex;flex-wrap:wrap;gap:6px;padding:2px 2px 4px}.jex-attachment-chip{position:relative;width:44px;height:44px;border-radius:8px;overflow:hidden;background:var(--jex-bg-msg-bot, #f1f5f9);flex-shrink:0;box-shadow:0 1px 2px #0000000f}.jex-attachment-thumb{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.jex-attachment-remove{position:absolute;top:2px;right:2px;width:16px;height:16px;padding:0;border:none;border-radius:50%;background:#0f172ac7;color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .12s ease,transform .12s ease}.jex-attachment-chip:hover .jex-attachment-remove,.jex-attachment-chip:focus-within .jex-attachment-remove{opacity:1}.jex-attachment-remove:hover{transform:scale(1.08)}.jex-composer-textarea{width:100%;min-height:22px;background:transparent;border:none;outline:none;resize:none;padding:2px 4px;color:var(--jex-text-main);font-family:inherit;font-size:16px;line-height:1.45;overflow-y:hidden}.jex-composer-textarea::placeholder{color:var(--jex-text-muted);opacity:.85}.jex-composer-textarea:disabled{cursor:not-allowed;opacity:.7}.jex-composer-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.jex-composer-actions-left{display:inline-flex;align-items:center;gap:4px}.jex-attach-btn{width:30px;height:30px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--jex-text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s ease,color .12s ease,transform .12s ease}.jex-attach-btn:hover:not(:disabled){background:color-mix(in srgb,var(--jex-text-muted, #64748b) 12%,transparent);color:var(--jex-text-main)}.jex-attach-btn:active:not(:disabled){transform:scale(.92)}.jex-attach-btn:disabled{opacity:.4;cursor:not-allowed}.jex-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.jex-rate-limit-notice{flex:1 0 100%;order:-1;margin-bottom:8px;padding:8px 12px;border-radius:10px;background:var(--jex-bg-msg-bot, #f1f5f9);color:var(--jex-text-muted, #64748b);font-size:12px;line-height:1.4;text-align:center}.jex-session-error-notice{flex:1 0 100%;order:-1;margin-bottom:8px;padding:8px 12px;border-radius:10px;background:var(--jex-bg-error, #fef2f2);border:1px solid var(--jex-border-error, #fecaca);color:var(--jex-text-error, #991b1b);font-size:12px;line-height:1.4;text-align:center}.jex-chat-input input{flex:1;background:var(--jex-bg-input);border:1px solid var(--jex-border-input);border-radius:12px;padding:10px 14px;color:var(--jex-text-main);outline:none;font-family:inherit;font-size:14px}.jex-chat-input input:focus{border-color:var(--jex-primary)}.jex-send-btn{background:color-mix(in srgb,var(--jex-text-muted, #64748b) 18%,transparent);color:var(--jex-text-muted);border:none;border-radius:999px;width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease,color .15s ease,opacity .15s ease,transform .15s ease;flex-shrink:0}.jex-send-btn-active{background:var(--jex-bg-send-btn, var(--jex-primary));color:var(--jex-text-header, #fff)}.jex-send-btn-active:hover:not(:disabled){background:var(--jex-primary-hover)}.jex-send-btn:active:not(:disabled){transform:scale(.9)}.jex-send-btn:disabled{opacity:.45;cursor:default}.jex-widget-footer{display:flex;align-items:center;justify-content:center;padding:8px 16px;border-top:1px solid var(--jex-border-glass);background:#00000005;flex-shrink:0}.jex-widget.dark .jex-widget-footer{background:#ffffff05}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light) .jex-widget-footer{background:#ffffff05}}.jex-branding{display:flex;align-items:center;gap:6px;text-decoration:none;color:var(--jex-text-muted);font-size:11px;font-weight:500;transition:color .2s}.jex-branding:hover{color:var(--jex-text-main)}.jex-branding-icon{color:var(--jex-primary)}.jex-branding span strong{font-weight:700;color:var(--jex-text-main)}.jex-privacy-notice-link,.jex-privacy-chip-link{color:var(--jex-primary);text-decoration:underline;text-underline-offset:2px;text-decoration-color:color-mix(in srgb,var(--jex-primary) 50%,transparent);transition:text-decoration-color .15s}.jex-privacy-notice-link:hover,.jex-privacy-chip-link:hover{text-decoration-color:var(--jex-primary)}.jex-privacy-chip{align-self:center;display:inline-flex;align-items:center;gap:6px;max-width:100%;margin:0;padding:5px 10px;border-radius:999px;background:color-mix(in srgb,var(--jex-primary) 10%,var(--jex-bg-window));color:var(--jex-primary);font-size:10px;font-weight:650;line-height:1.2}.jex-privacy-chip-icon{display:inline-flex;flex-shrink:0}.jex-privacy-chip-link{color:inherit;text-decoration:none}.jex-privacy-explicit{position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;flex-direction:column;gap:10px;min-height:100%;padding:10px 12px 12px;border:1px solid var(--jex-border-window);border-radius:14px 14px 10px 10px;background:var(--jex-bg-window);box-shadow:0 -12px 36px #0f172a24;pointer-events:auto}.jex-privacy-explicit-content{display:flex;align-items:flex-start;gap:10px}.jex-privacy-explicit-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:8px;background:color-mix(in srgb,var(--jex-primary) 10%,var(--jex-bg-window));color:var(--jex-primary);flex-shrink:0}.jex-privacy-explicit-copy{min-width:0;flex:1}.jex-privacy-explicit-title{color:var(--jex-text-main);font-size:12px;font-weight:750;line-height:1.2;margin-bottom:3px}.jex-privacy-explicit-body{margin:0;color:var(--jex-text-muted);font-size:10px;line-height:1.35}.jex-privacy-explicit-button{width:100%;border:none;border-radius:10px;background:var(--jex-bg-send-btn);color:var(--jex-text-header);cursor:pointer;font-family:inherit;font-size:12px;font-weight:750;padding:9px 12px;transition:background .15s ease,transform .12s ease}.jex-privacy-explicit-button:hover{background:var(--jex-primary-hover)}.jex-privacy-explicit-button:active{transform:scale(.98)}.jex-locale-select-wrapper{position:relative;display:flex;align-items:center}.jex-locale-select{appearance:none;-webkit-appearance:none;background:transparent;border:1px solid transparent;padding:4px 20px 4px 6px;border-radius:6px;font-family:inherit;font-size:11px;font-weight:600;color:var(--jex-text-muted);background-color:transparent;cursor:pointer;outline:none;transition:all .2s ease}.jex-locale-select option{background-color:#fff;color:#0f172a}.jex-locale-select:hover,.jex-locale-select:focus-visible{color:var(--jex-text-main);background:#0000000a}.jex-widget.dark .jex-locale-select:hover,.jex-widget.dark .jex-locale-select:focus-visible{background:#ffffff0d}.jex-widget.dark .jex-locale-select option{background-color:#0f172a;color:#f8fafc}@media(prefers-color-scheme:dark){:host:not(.light) .jex-widget:not(.light) .jex-locale-select:hover,:host:not(.light) .jex-widget:not(.light) .jex-locale-select:focus-visible{background:#ffffff0d}:host:not(.light) .jex-widget:not(.light) .jex-locale-select option{background-color:#0f172a;color:#f8fafc}}.jex-locale-select:focus-visible{border-color:var(--jex-primary)}.jex-locale-chevron{position:absolute;right:4px;pointer-events:none;color:var(--jex-text-muted);transition:color .2s ease}.jex-locale-select-wrapper:hover .jex-locale-chevron{color:var(--jex-text-main)}.jex-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--jex-bg-window, #fff);z-index:10;padding:24px;text-align:center}.jex-loading-spinner{width:32px;height:32px;border:3px solid var(--jex-border-input, #e2e8f0);border-top-color:var(--jex-primary, #115A62);border-radius:50%;animation:jex-spin .7s linear infinite}@keyframes jex-spin{to{transform:rotate(360deg)}}.jex-loading-message{font-size:14px;color:var(--jex-text-muted, #64748b)}.jex-error-message{font-size:14px;color:var(--jex-text-main, #334155)}.jex-error-actions{display:flex;gap:8px}.jex-error-retry,.jex-error-back{padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:none}.jex-error-retry{background:var(--jex-primary, #115A62);color:#fff}.jex-error-back{background:transparent;color:var(--jex-text-muted, #64748b);border:1px solid var(--jex-border-input, #e2e8f0)}.jex-selection{display:flex;flex-direction:column;gap:12px;padding:24px 16px;height:100%}.jex-selection-title{font-size:16px;font-weight:700;color:var(--jex-text-main, #0f172a);margin:0 0 8px}.jex-selection-options{display:flex;flex-direction:column;gap:10px}.jex-selection-option{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:16px;border-radius:12px;border:1px solid var(--jex-border-window, #e2e8f0);background:transparent;cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease}.jex-selection-option:hover{border-color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 5%,transparent)}.jex-selection-icon{font-size:20px}.jex-selection-label{font-size:14px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-selection-sub{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-form-screen{display:flex;flex-direction:column;padding:20px 16px;height:100%;overflow-y:auto}.jex-form-title{font-size:16px;font-weight:700;color:var(--jex-text-main, #0f172a);margin:0 0 16px}.jex-form{display:flex;flex-direction:column;gap:10px}.jex-form-input,.jex-form-textarea{padding:10px 12px;border-radius:8px;border:1px solid var(--jex-border-input, #e2e8f0);font-size:14px;background:transparent;color:var(--jex-text-main, #0f172a);outline:none}@media(pointer:coarse){.jex-form-input,.jex-form-textarea{font-size:16px}}.jex-form-input:focus,.jex-form-textarea:focus{border-color:var(--jex-primary, #115A62)}.jex-form-textarea{min-height:80px;resize:vertical}.jex-form-submit{padding:10px;border-radius:8px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:14px;font-weight:600;cursor:pointer;margin-top:4px}.jex-inline-form{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--jex-bg-msg-bot, #f1f5f9);border:1px solid var(--jex-border-input, #e2e8f0);border-radius:var(--jex-radius, .75rem);width:100%}.jex-inline-form-title{font-weight:600;font-size:15px;color:var(--jex-text-main, #0f172a);margin:0}.jex-inline-form-subtitle{font-size:13px;color:var(--jex-text-muted, #64748b);line-height:1.4;margin:0 0 4px}.jex-inline-form-consent{font-size:11px;color:var(--jex-text-muted, #64748b);line-height:1.3;margin-top:4px;text-align:center}.jex-inline-form .jex-form-submit:disabled{opacity:.7;cursor:not-allowed}.jex-escalation-subtitle{font-size:13px;color:var(--jex-text-muted, #64748b);line-height:1.45;margin:0 0 8px}.jex-escalation-skip{padding:8px 12px;border:none;background:transparent;color:var(--jex-text-muted, #64748b);font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:2px;text-align:center}.jex-escalation-skip:hover{color:var(--jex-text-main, #0f172a)}.jex-inline-form-card{position:relative;padding:14px;gap:8px}.jex-inline-form-dismiss{position:absolute;top:10px;right:10px;width:24px;height:24px;border-radius:50%;border:1px solid var(--jex-border-input, #e2e8f0);background:var(--jex-bg-window, #fff);color:var(--jex-text-muted, #64748b);font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}.jex-inline-form-dismiss:hover{background:var(--jex-bg-msg-bot, #f1f5f9);color:var(--jex-text-main, #0f172a)}.jex-inline-form-submitted{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--jex-bg-msg-bot, #f1f5f9);border:1px solid var(--jex-border-input, #e2e8f0);border-radius:var(--jex-radius, .75rem);width:100%}.jex-inline-form-check{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:color-mix(in srgb,var(--jex-primary) 15%,transparent);color:var(--jex-primary, #115A62);font-size:14px;font-weight:700;flex-shrink:0}.jex-inline-form-submitted-title{font-weight:600;font-size:var(--jex-font-size, 14px);color:var(--jex-text-main, #0f172a)}.jex-inline-form-submitted-detail{font-size:12px;color:var(--jex-text-muted, #64748b);margin-top:2px}.jex-magicline-row{display:flex;flex-direction:column;gap:8px}.jex-magicline-row>*{min-width:0}.jex-magicline-field{display:flex;flex-direction:column;gap:4px}.jex-magicline-field-label{font-size:12px;font-weight:500;color:var(--jex-text-muted, #64748b)}.jex-magicline-select{width:100%;appearance:none;cursor:pointer;padding-right:32px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:16px 16px}.jex-magicline-slots-hint{font-size:12px;color:var(--jex-text-muted, #64748b);line-height:1.4;padding:2px 0}.jex-magicline-consent{display:flex;align-items:flex-start;gap:8px;font-size:11px;line-height:1.35;color:var(--jex-text-muted, #64748b);margin-top:2px;cursor:pointer}.jex-magicline-consent input[type=checkbox]{flex-shrink:0;margin-top:1px;accent-color:var(--jex-primary, #115A62)}.jex-magicline-error{font-size:12px;color:#dc2626;line-height:1.35}.jex-magicline-failed{border-color:color-mix(in srgb,#dc2626 35%,var(--jex-border-input, #e2e8f0))}.jex-magicline-failed-icon{background:color-mix(in srgb,#dc2626 15%,transparent);color:#dc2626}.jex-magicline-wizard-header{display:flex;flex-direction:column;gap:6px}.jex-magicline-wizard-progress{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.jex-magicline-wizard-step-label{font-size:13px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-magicline-wizard-counter{font-size:11px;color:var(--jex-text-muted, #64748b);flex-shrink:0}.jex-magicline-wizard-dots{display:flex;gap:6px}.jex-magicline-wizard-dot{width:7px;height:7px;border-radius:50%;background:color-mix(in srgb,var(--jex-text-muted, #64748b) 35%,transparent)}.jex-magicline-wizard-dot-active{background:var(--jex-primary, #115A62)}.jex-magicline-wizard-nav{display:flex;align-items:center;gap:8px;margin-top:4px}.jex-magicline-wizard-next{flex:1;margin-top:0}.jex-magicline-wizard-back{padding:10px 14px;border-radius:8px;border:1px solid var(--jex-border-input, #e2e8f0);background:transparent;color:var(--jex-text-main, #0f172a);font-size:14px;font-weight:600;cursor:pointer}.jex-magicline-wizard-back:hover{background:var(--jex-bg-window, #fff)}.jex-magicline-wizard-back:disabled,.jex-magicline-wizard-next:disabled{opacity:.7;cursor:not-allowed}.jex-magicline-radio-group{display:flex;flex-direction:column;gap:8px}.jex-magicline-radio-card{display:flex;align-items:center;gap:10px;padding:12px;border-radius:10px;border:1px solid var(--jex-border-input, #e2e8f0);font-size:14px;color:var(--jex-text-main, #0f172a);cursor:pointer}.jex-magicline-radio-card-active{border-color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 8%,transparent)}.jex-magicline-radio-card input[type=radio]{flex-shrink:0;accent-color:var(--jex-primary, #115A62)}.jex-magicline-slots-error{display:flex;flex-direction:column;gap:6px}.jex-magicline-retry{align-self:flex-start;padding:6px 12px;border-radius:8px;border:1px solid var(--jex-border-input, #e2e8f0);background:transparent;color:var(--jex-text-main, #0f172a);font-size:13px;font-weight:600;cursor:pointer}.jex-magicline-retry:hover{background:var(--jex-bg-window, #fff)}.jex-magicline-retry:disabled{opacity:.7;cursor:not-allowed}.jex-magicline-voucher-section{display:flex;flex-direction:column;gap:6px;margin-top:4px}.jex-magicline-voucher-field{flex-direction:row;align-items:stretch;gap:8px}.jex-magicline-voucher-field .jex-form-input{flex:1;min-width:0}.jex-magicline-voucher-apply{flex:0 0 auto;padding:10px 16px;border-radius:8px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}.jex-magicline-voucher-apply:hover{background:var(--jex-primary-hover)}.jex-magicline-voucher-apply:disabled{opacity:.7;cursor:not-allowed}.jex-magicline-review-wrap{position:relative}.jex-magicline-review-body{display:flex;flex-direction:column;gap:10px;transition:opacity .15s ease}.jex-magicline-review-body--reloading{opacity:.5;pointer-events:none}.jex-magicline-review-overlay{position:absolute;inset:0;display:flex;align-items:flex-start;justify-content:center;padding-top:48px}.jex-magicline-review-spinner{width:28px;height:28px;border-radius:50%;border:3px solid color-mix(in srgb,var(--jex-primary, #115A62) 25%,transparent);border-top-color:var(--jex-primary, #115A62);animation:jex-magicline-spin .7s linear infinite}@keyframes jex-magicline-spin{to{transform:rotate(360deg)}}.jex-magicline-voucher-discount-row dt,.jex-magicline-voucher-remarks-row dt{flex-shrink:1;min-width:0}.jex-magicline-voucher-remarks-row dd{min-width:0;overflow-wrap:anywhere;word-break:break-word}.jex-magicline-summary{display:flex;flex-direction:column;gap:6px;margin:0;padding:10px 12px;border-radius:8px;background:var(--jex-bg-window, #fff);border:1px solid var(--jex-border-input, #e2e8f0)}.jex-magicline-summary-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.jex-magicline-summary-row dt{font-size:12px;color:var(--jex-text-muted, #64748b);flex-shrink:0}.jex-magicline-summary-row dd{margin:0;font-size:13px;font-weight:500;color:var(--jex-text-main, #0f172a);text-align:right;min-width:0}.jex-magicline-summary-section{margin-top:8px}.jex-magicline-summary-heading{font-size:12px;font-weight:600;color:var(--jex-text-main, #0f172a);margin-bottom:2px}.jex-magicline-summary-totals{background:color-mix(in srgb,var(--jex-primary, #115A62) 6%,transparent);border-color:color-mix(in srgb,var(--jex-primary, #115A62) 25%,transparent)}.jex-magicline-summary-total-row dt,.jex-magicline-summary-total-row dd{font-size:14px;font-weight:700;color:var(--jex-text-main, #0f172a)}.jex-magicline-summary-total-row dt{flex-shrink:1;min-width:0}.jex-magicline-summary-total-row dd{flex-shrink:0;white-space:nowrap;overflow-wrap:normal}.jex-magicline-offer-group{display:flex;flex-direction:column;gap:8px}.jex-magicline-offer-bundle-name{font-size:13px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-magicline-offer-bundle-desc{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-magicline-radio-card .jex-magicline-offer-term{display:flex;flex-direction:column;gap:4px;flex:1}.jex-magicline-offer-term-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.jex-magicline-offer-term-length{font-size:14px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-magicline-offer-term-price{font-size:13px;font-weight:500;color:var(--jex-primary, #115A62)}.jex-magicline-offer-term-note{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-magicline-static-value{padding:9px 12px;border-radius:8px;font-size:14px;color:var(--jex-text-main, #0f172a);background:var(--jex-bg-window, #f8fafc);border:1px solid var(--jex-border-input, #e2e8f0)}.jex-magicline-terms{display:flex;flex-direction:column;gap:10px;padding:10px 12px;border-radius:8px;background:var(--jex-bg-window, #fff);border:1px solid var(--jex-border-input, #e2e8f0)}.jex-magicline-upgrades-recap-title,.jex-magicline-terms-title{font-size:12px;font-weight:600;color:var(--jex-text-main, #0f172a);margin-bottom:2px}.jex-magicline-terms-content{font-size:12px;line-height:1.5;color:var(--jex-text-muted, #64748b);white-space:pre-wrap}.jex-magicline-upgrade-group{display:flex;flex-direction:column;gap:8px}.jex-magicline-upgrade-card{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:10px;border:1px solid var(--jex-border-input, #e2e8f0);font-size:14px;color:var(--jex-text-main, #0f172a);cursor:pointer}.jex-magicline-upgrade-card-active{border-color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 8%,transparent)}.jex-magicline-upgrade-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;cursor:pointer}.jex-magicline-upgrade-info{display:flex;flex-direction:column;gap:2px;flex:1}.jex-magicline-upgrade-name{font-size:14px;font-weight:600;color:var(--jex-text-main, #0f172a)}.jex-magicline-upgrade-desc{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-magicline-upgrade-price{font-size:13px;font-weight:500;color:var(--jex-primary, #115A62)}.jex-magicline-upgrade-status{flex-shrink:0;font-size:11px;font-weight:600;padding:2px 7px;border-radius:6px;border:1px solid var(--jex-border-input, #e2e8f0);color:var(--jex-text-muted, #64748b);background:transparent;white-space:nowrap}.jex-magicline-upgrade-card-active .jex-magicline-upgrade-status{border-color:var(--jex-primary, #115A62);color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 12%,transparent)}.jex-magicline-terms-prompt{font-size:13px;font-weight:600;color:var(--jex-text-main, #0f172a);margin-bottom:4px}.jex-magicline-bundle-details{font-size:12px;color:var(--jex-text-muted, #64748b)}.jex-magicline-bundle-details-summary{cursor:pointer;font-size:12px;font-weight:600;color:var(--jex-primary, #115A62);list-style-position:inside}.jex-magicline-bundle-details-summary:hover{text-decoration:underline}.jex-magicline-bundle-details-body{display:flex;flex-direction:column;gap:6px;margin-top:6px}.jex-magicline-bundle-details-list{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:2px;line-height:1.4}.jex-magicline-bundle-details-footnote{margin:0;line-height:1.4}.jex-magicline-consent-region{display:flex;flex-direction:column;gap:4px;margin-top:6px;padding:6px 8px;border-left:3px solid var(--jex-primary, #115A62);border-radius:6px;background:color-mix(in srgb,var(--jex-primary, #115A62) 6%,transparent)}.jex-magicline-required-pill{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 12%,transparent);vertical-align:middle}.jex-magicline-consent-body{display:flex;flex-direction:column;gap:1px}.jex-magicline-consent-recap{display:flex;flex-direction:column;gap:2px}.jex-escalation-confirm{border-left:3px solid var(--jex-primary, #115A62);padding-left:8px}.jex-session-prompt{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 16px;margin:8px 0;text-align:center}.jex-session-prompt-text{font-size:13px;color:var(--jex-text-muted, #64748b)}.jex-session-prompt-btn{padding:8px 16px;border-radius:8px;border:1px solid var(--jex-primary, #115A62);background:transparent;color:var(--jex-primary, #115A62);font-size:13px;font-weight:600;cursor:pointer}.jex-session-prompt-btn:hover{background:color-mix(in srgb,var(--jex-primary) 10%,transparent)}.jex-chat-input-resolved{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 16px;border-top:1px solid var(--jex-border-input, #e2e8f0);background:var(--jex-bg-msg-bot, #f1f5f9);text-align:center}.jex-resolved-notice{font-size:13px;font-weight:500;color:var(--jex-text-muted, #64748b)}.jex-resolved-new-btn{padding:10px 20px;border-radius:8px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:13px;font-weight:600;cursor:pointer;width:100%}.jex-resolved-new-btn:hover{opacity:.9}.jex-confirmation{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:32px 24px;height:100%;text-align:center}.jex-confirmation-icon{width:48px;height:48px;border-radius:50%;background:color-mix(in srgb,var(--jex-primary, #115A62) 15%,transparent);color:var(--jex-primary, #115A62);font-size:22px;display:flex;align-items:center;justify-content:center}.jex-confirmation-title{font-size:18px;font-weight:700;color:var(--jex-text-main, #0f172a);margin:0}.jex-confirmation-body{font-size:13px;color:var(--jex-text-muted, #64748b);margin:0}.jex-confirmation-ref{font-size:20px;font-weight:700;letter-spacing:.05em;color:var(--jex-primary, #115A62);background:color-mix(in srgb,var(--jex-primary, #115A62) 10%,transparent);padding:10px 20px;border-radius:10px}.jex-confirmation-hint{font-size:12px;color:var(--jex-text-muted, #64748b);margin:0}.jex-confirmation-done{margin-top:8px;padding:10px 28px;border-radius:8px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:14px;font-weight:600;cursor:pointer}.jex-home-lookup-link{background:none;border:none;font-size:12px;color:var(--jex-text-muted, #64748b);cursor:pointer;text-decoration:underline;padding:0;align-self:center}.jex-home-lookup{display:flex;gap:8px;width:100%;animation:jexFadeIn .4s .1s ease both}.jex-home-lookup-input{flex:1;padding:10px 14px;border-radius:10px;border:1px solid var(--jex-border-input, #e2e8f0);background:var(--jex-bg-input);color:var(--jex-text-main);font-size:14px;font-family:ui-monospace,Cascadia Code,Fira Code,monospace;letter-spacing:.04em;outline:none;transition:border-color .2s}@media(pointer:coarse){.jex-home-lookup-input{font-size:16px}}.jex-home-lookup-input::placeholder{font-family:inherit;letter-spacing:.04em;color:var(--jex-text-muted);opacity:.7}.jex-home-lookup-input:focus{border-color:var(--jex-primary, #115A62)}.jex-home-lookup-submit{padding:10px 16px;border-radius:10px;border:none;background:var(--jex-primary, #115A62);color:#fff;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:background .2s,opacity .2s;flex-shrink:0}.jex-home-lookup-submit:hover:not(:disabled){background:var(--jex-primary-hover)}.jex-home-lookup-submit:disabled{opacity:.4;cursor:default}.jex-sources-row{margin-top:6px;margin-left:32px;display:flex;flex-direction:column;gap:6px}.jex-sources-toggle{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:transparent;border:none;border-radius:6px;cursor:pointer;font-size:11px;color:var(--jex-text-muted, #6b7280);font-family:inherit;align-self:flex-start;transition:background .15s,color .15s}.jex-sources-toggle:hover{background:#0000000a;color:inherit}.jex-sources-icon{font-size:12px;line-height:1}.jex-sources-chevron{display:inline-block;font-size:10px;transition:transform .15s}.jex-sources-chevron--open{transform:rotate(180deg)}.jex-sources-pills{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.jex-source-pill{display:inline-flex;align-items:center;gap:6px;max-width:240px;padding:2px 8px;border-radius:999px;border:1px solid rgba(0,0,0,.1);background:#0000000a;color:var(--jex-text-muted, #6b7280);font-size:11px;text-decoration:none;cursor:pointer;transition:background .15s,color .15s}.jex-source-pill:hover{background:#00000014;color:inherit}.jex-source-id{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:4px;background:var(--jex-primary, #115A62);color:#fff;font-size:10px;font-weight:600;line-height:1;flex-shrink:0;font-variant-numeric:tabular-nums}.jex-source-type{font-size:10px;flex-shrink:0}.jex-source-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}.jex-source-score{opacity:.6;flex-shrink:0;font-variant-numeric:tabular-nums}.jex-starter-chips{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0}.jex-starter-chip{display:inline-flex;align-items:center;border-radius:999px;padding:7px 13px;background:var(--jex-bg-window);border:1px solid var(--jex-border-input);color:var(--jex-primary);text-align:left;font-size:13.5px;font-weight:500;line-height:1.2;cursor:pointer;transition:background .15s,border-color .15s,opacity .15s}.jex-starter-chip:hover:not(:disabled){background:color-mix(in srgb,var(--jex-primary) 8%,var(--jex-bg-window));border-color:var(--jex-primary)}.jex-starter-chip:disabled{opacity:.5;cursor:default}.jex-presence-dot{position:absolute;top:2px;right:2px;width:8px;height:8px;border-radius:999px;box-shadow:0 0 0 2px var(--jex-bg-header, #115A62)}.jex-presence-dot--online{background:#10b981}.jex-presence-dot--away{background:#fbbf24}.jex-presence-dot--offline{background:#9ca3af}@keyframes jex-ripple-expand{0%{transform:scale(1);opacity:.6}to{transform:scale(2.6);opacity:0}}.jex-waiting-card{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;margin:0 12px 8px;background:var(--jex-bg-msg-bot, #f1f5f9);border:1px solid var(--jex-border-input, #e2e8f0);border-radius:var(--jex-radius, .75rem)}.jex-waiting-indicator{position:relative;flex-shrink:0;width:20px;height:20px;margin-top:2px;display:flex;align-items:center;justify-content:center}.jex-waiting-dot{position:relative;z-index:1;width:8px;height:8px;border-radius:50%;background:var(--jex-primary, #115A62)}.jex-waiting-ripple{position:absolute;inset:0;width:8px;height:8px;margin:auto;border-radius:50%;background:var(--jex-primary, #115A62);animation:jex-ripple-expand 1.6s ease-out infinite}@media(prefers-reduced-motion:reduce){.jex-waiting-ripple{animation:none}}.jex-waiting-body{display:flex;flex-direction:column;gap:4px;min-width:0}.jex-waiting-title{font-weight:600;font-size:14px;color:var(--jex-text-main, #0f172a);line-height:1.3}.jex-waiting-subtitle{font-size:12px;color:var(--jex-text-muted, #64748b);line-height:1.4}.jex-waiting-leave-email{margin-top:6px;padding:0;border:none;background:transparent;color:var(--jex-primary, #115A62);font-size:12px;font-family:inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer;text-align:left}.jex-waiting-leave-email:hover{opacity:.8}`;
11916
+ function wg(t) {
11892
11917
  const e = document.createElement("style");
11893
- e.textContent = bg, t.appendChild(e);
11918
+ e.textContent = vg, t.appendChild(e);
11894
11919
  }
11895
- const vg = "https://festive-mouse-978.eu-west-1.convex.cloud";
11920
+ const kg = "https://festive-mouse-978.eu-west-1.convex.cloud";
11896
11921
  let Ci = null;
11897
- function wg(t) {
11898
- const e = t ?? vg;
11922
+ function _g(t) {
11923
+ const e = t ?? kg;
11899
11924
  if (!e)
11900
11925
  throw new Error("[jexity] No Convex URL β€” set VITE_CONVEX_URL at build time or data-convex-url on the script tag");
11901
11926
  return Ci || (Ci = new Id(Gd(e))), Ci;
11902
11927
  }
11903
- function kg(t, e) {
11928
+ function jg(t, e) {
11904
11929
  const n = t.shadowRoot ?? t.attachShadow({ mode: "open" });
11905
11930
  for (; n.firstChild; )
11906
11931
  n.removeChild(n.firstChild);
11907
- yg(n), Br.value = e.source, Lt.value = e.bootstrapToken, $e.value = [{ id: "home" }], e.mode === "embedded" && (t.classList.add("jex-mode-embedded"), ae.value = !0);
11932
+ wg(n), Br.value = e.source, Lt.value = e.bootstrapToken, $e.value = [{ id: "home" }], e.mode === "embedded" && (t.classList.add("jex-mode-embedded"), ae.value = !0);
11908
11933
  const r = document.createElement("div");
11909
11934
  return e.mode === "embedded" && (r.style.cssText = "width:100%;height:100%"), n.appendChild(r), Ht(
11910
- /* @__PURE__ */ s(Nd, { client: wg(e.convexUrl), children: /* @__PURE__ */ s(gg, { options: e }) }),
11935
+ /* @__PURE__ */ s(Nd, { client: _g(e.convexUrl), children: /* @__PURE__ */ s(bg, { options: e }) }),
11911
11936
  r
11912
11937
  ), function() {
11913
11938
  Ht(null, r), ae.value = !1, Br.value = void 0, Lt.value = void 0, $e.value = [{ id: "home" }];
11914
11939
  };
11915
11940
  }
11916
- function _g(t, e, n) {
11917
- const r = kg(t, e), i = /* @__PURE__ */ new Set(), o = ae.subscribe((l) => {
11941
+ function Sg(t, e, n) {
11942
+ const r = jg(t, e), i = /* @__PURE__ */ new Set(), o = ae.subscribe((l) => {
11918
11943
  for (const c of i)
11919
11944
  c(l);
11920
11945
  });
@@ -11942,16 +11967,16 @@ function _g(t, e, n) {
11942
11967
  };
11943
11968
  }
11944
11969
  let On = null;
11945
- function jg(t) {
11970
+ function Tg(t) {
11946
11971
  On && On.shutdown();
11947
11972
  let e;
11948
11973
  t.container ? e = typeof t.container == "string" ? document.querySelector(t.container) : t.container : (e = document.createElement("div"), e.id = "jexity-chat-widget", document.body.appendChild(e));
11949
- const n = _g(e, t, () => {
11974
+ const n = Sg(e, t, () => {
11950
11975
  t.container || e.remove(), On === n && (On = null);
11951
11976
  });
11952
11977
  return On = n, n;
11953
11978
  }
11954
11979
  export {
11955
- jg as JexityChat
11980
+ Tg as JexityChat
11956
11981
  };
11957
11982
  //# sourceMappingURL=index.mjs.map