@pixelmatters/markup 1.15.0 → 1.16.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/widget.js CHANGED
@@ -45,7 +45,7 @@ function w(e, t) {
45
45
  function T(e) {
46
46
  if (e.__P && e.__d) {
47
47
  var n = e.__v, r = n.__e, i = [], a = [], o = v({}, n);
48
- o.__v = n.__v + 1, t.vnode && t.vnode(o), ie(e.__P, o, n, e.__n, e.__P.namespaceURI, 32 & n.__u ? [r] : null, i, r ?? w(n), !!(32 & n.__u), a), o.__v = n.__v, o.__.__k[o.__i] = o, oe(i, o, a), n.__e = n.__ = null, o.__e != r && E(o);
48
+ o.__v = n.__v + 1, t.vnode && t.vnode(o), ae(e.__P, o, n, e.__n, e.__P.namespaceURI, 32 & n.__u ? [r] : null, i, r ?? w(n), !!(32 & n.__u), a), o.__v = n.__v, o.__.__k[o.__i] = o, se(i, o, a), n.__e = n.__ = null, o.__e != r && E(o);
49
49
  }
50
50
  }
51
51
  function E(e) {
@@ -65,19 +65,19 @@ function O() {
65
65
  }
66
66
  function ee(e, t, n, r, i, a, o, s, c, l, u) {
67
67
  var d, f, p, g, _, v, y, b = r && r.__k || h, x = t.length;
68
- for (c = k(n, t, b, c, x), d = 0; d < x; d++) (p = n.__k[d]) != null && (f = p.__i != -1 && b[p.__i] || m, p.__i = d, v = ie(e, p, f, i, a, o, s, c, l, u), g = p.__e, p.ref && f.ref != p.ref && (f.ref && le(f.ref, null, p), u.push(p.ref, p.__c || g, p)), _ == null && g != null && (_ = g), (y = !!(4 & p.__u)) || f.__k === p.__k ? (c = A(p, c, e, y), y && f.__e && (f.__e = null)) : typeof p.type == "function" && v !== void 0 ? c = v : g && (c = g.nextSibling), p.__u &= -7);
68
+ for (c = te(n, t, b, c, x), d = 0; d < x; d++) (p = n.__k[d]) != null && (f = p.__i != -1 && b[p.__i] || m, p.__i = d, v = ae(e, p, f, i, a, o, s, c, l, u), g = p.__e, p.ref && f.ref != p.ref && (f.ref && ue(f.ref, null, p), u.push(p.ref, p.__c || g, p)), _ == null && g != null && (_ = g), (y = !!(4 & p.__u)) || f.__k === p.__k ? (c = k(p, c, e, y), y && f.__e && (f.__e = null)) : typeof p.type == "function" && v !== void 0 ? c = v : g && (c = g.nextSibling), p.__u &= -7);
69
69
  return n.__e = _, c;
70
70
  }
71
- function k(e, t, n, r, i) {
71
+ function te(e, t, n, r, i) {
72
72
  var a, o, s, c, l, u = n.length, d = u, f = 0;
73
- for (e.__k = Array(i), a = 0; a < i; a++) (o = t[a]) != null && typeof o != "boolean" && typeof o != "function" ? (typeof o == "string" || typeof o == "number" || typeof o == "bigint" || o.constructor == String ? o = e.__k[a] = x(null, o, null, null, null) : _(o) ? o = e.__k[a] = x(S, { children: o }, null, null, null) : o.constructor === void 0 && o.__b > 0 ? o = e.__k[a] = x(o.type, o.props, o.key, o.ref ? o.ref : null, o.__v) : e.__k[a] = o, c = a + f, o.__ = e, o.__b = e.__b + 1, s = null, (l = o.__i = te(o, n, c, d)) != -1 && (d--, (s = n[l]) && (s.__u |= 2)), s == null || s.__v == null ? (l == -1 && (i > u ? f-- : i < u && f++), typeof o.type != "function" && (o.__u |= 4)) : l != c && (l == c - 1 ? f-- : l == c + 1 ? f++ : (l > c ? f-- : f++, o.__u |= 4))) : e.__k[a] = null;
74
- if (d) for (a = 0; a < u; a++) (s = n[a]) != null && !(2 & s.__u) && (s.__e == r && (r = w(s)), ue(s, s));
73
+ for (e.__k = Array(i), a = 0; a < i; a++) (o = t[a]) != null && typeof o != "boolean" && typeof o != "function" ? (typeof o == "string" || typeof o == "number" || typeof o == "bigint" || o.constructor == String ? o = e.__k[a] = x(null, o, null, null, null) : _(o) ? o = e.__k[a] = x(S, { children: o }, null, null, null) : o.constructor === void 0 && o.__b > 0 ? o = e.__k[a] = x(o.type, o.props, o.key, o.ref ? o.ref : null, o.__v) : e.__k[a] = o, c = a + f, o.__ = e, o.__b = e.__b + 1, s = null, (l = o.__i = ne(o, n, c, d)) != -1 && (d--, (s = n[l]) && (s.__u |= 2)), s == null || s.__v == null ? (l == -1 && (i > u ? f-- : i < u && f++), typeof o.type != "function" && (o.__u |= 4)) : l != c && (l == c - 1 ? f-- : l == c + 1 ? f++ : (l > c ? f-- : f++, o.__u |= 4))) : e.__k[a] = null;
74
+ if (d) for (a = 0; a < u; a++) (s = n[a]) != null && !(2 & s.__u) && (s.__e == r && (r = w(s)), de(s, s));
75
75
  return r;
76
76
  }
77
- function A(e, t, n, r) {
77
+ function k(e, t, n, r) {
78
78
  var i, a;
79
79
  if (typeof e.type == "function") {
80
- for (i = e.__k, a = 0; i && a < i.length; a++) i[a] && (i[a].__ = e, t = A(i[a], t, n, r));
80
+ for (i = e.__k, a = 0; i && a < i.length; a++) i[a] && (i[a].__ = e, t = k(i[a], t, n, r));
81
81
  return t;
82
82
  }
83
83
  e.__e != t && (r && (t && e.type && !t.parentNode && (t = w(e)), n.insertBefore(e.__e, t || null)), t = e.__e);
@@ -86,7 +86,7 @@ function A(e, t, n, r) {
86
86
  while (t != null && t.nodeType == 8);
87
87
  return t;
88
88
  }
89
- function te(e, t, n, r) {
89
+ function ne(e, t, n, r) {
90
90
  var i, a, o, s = e.key, c = e.type, l = t[n], u = l != null && (2 & l.__u) == 0;
91
91
  if (l === null && s == null || u && s == l.key && c == l.type) return n;
92
92
  if (r > +!!u) {
@@ -94,15 +94,15 @@ function te(e, t, n, r) {
94
94
  }
95
95
  return -1;
96
96
  }
97
- function j(e, t, n) {
97
+ function A(e, t, n) {
98
98
  t[0] == "-" ? e.setProperty(t, n ?? "") : e[t] = n == null ? "" : typeof n != "number" || g.test(t) ? n : n + "px";
99
99
  }
100
- function ne(e, t, n, r, i) {
100
+ function re(e, t, n, r, i) {
101
101
  var a, o;
102
102
  n: if (t == "style") if (typeof n == "string") e.style.cssText = n;
103
103
  else {
104
- if (typeof r == "string" && (e.style.cssText = r = ""), r) for (t in r) n && t in n || j(e.style, t, "");
105
- if (n) for (t in n) r && n[t] == r[t] || j(e.style, t, n[t]);
104
+ if (typeof r == "string" && (e.style.cssText = r = ""), r) for (t in r) n && t in n || A(e.style, t, "");
105
+ if (n) for (t in n) r && n[t] == r[t] || A(e.style, t, n[t]);
106
106
  }
107
107
  else if (t[0] == "o" && t[1] == "n") a = t != (t = t.replace(u, "$1")), o = t.toLowerCase(), t = o in e || t == "onFocusOut" || t == "onFocusIn" ? o.slice(2) : t.slice(2), e.l ||= {}, e.l[t + a] = n, n ? r ? n[l] = r[l] : (n[l] = d, e.addEventListener(t, a ? p : f, a)) : e.removeEventListener(t, a ? p : f, a);
108
108
  else {
@@ -114,7 +114,7 @@ function ne(e, t, n, r, i) {
114
114
  typeof n == "function" || (n == null || !1 === n && t[4] != "-" ? e.removeAttribute(t) : e.setAttribute(t, t == "popover" && n == 1 ? "" : n));
115
115
  }
116
116
  }
117
- function re(e) {
117
+ function ie(e) {
118
118
  return function(n) {
119
119
  if (this.l) {
120
120
  var r = this.l[n.type + e];
@@ -124,14 +124,14 @@ function re(e) {
124
124
  }
125
125
  };
126
126
  }
127
- function ie(e, n, r, i, a, o, s, c, l, u) {
128
- var d, f, p, m, g, b, x, w, T, E, D, O, k, A, te, j = n.type;
127
+ function ae(e, n, r, i, a, o, s, c, l, u) {
128
+ var d, f, p, m, g, b, x, w, T, E, D, O, te, k, ne, A = n.type;
129
129
  if (n.constructor !== void 0) return null;
130
130
  128 & r.__u && (l = !!(32 & r.__u), o = [c = n.__e = r.__e]), (d = t.__b) && d(n);
131
- n: if (typeof j == "function") try {
132
- if (w = n.props, T = j.prototype && j.prototype.render, E = (d = j.contextType) && i[d.__c], D = d ? E ? E.props.value : d.__ : i, r.__c ? x = (f = n.__c = r.__c).__ = f.__E : (T ? n.__c = f = new j(w, D) : (n.__c = f = new C(w, D), f.constructor = j, f.render = de), E && E.sub(f), f.state ||= {}, f.__n = i, p = f.__d = !0, f.__h = [], f._sb = []), T && f.__s == null && (f.__s = f.state), T && j.getDerivedStateFromProps != null && (f.__s == f.state && (f.__s = v({}, f.__s)), v(f.__s, j.getDerivedStateFromProps(w, f.__s))), m = f.props, g = f.state, f.__v = n, p) T && j.getDerivedStateFromProps == null && f.componentWillMount != null && f.componentWillMount(), T && f.componentDidMount != null && f.__h.push(f.componentDidMount);
131
+ n: if (typeof A == "function") try {
132
+ if (w = n.props, T = A.prototype && A.prototype.render, E = (d = A.contextType) && i[d.__c], D = d ? E ? E.props.value : d.__ : i, r.__c ? x = (f = n.__c = r.__c).__ = f.__E : (T ? n.__c = f = new A(w, D) : (n.__c = f = new C(w, D), f.constructor = A, f.render = fe), E && E.sub(f), f.state ||= {}, f.__n = i, p = f.__d = !0, f.__h = [], f._sb = []), T && f.__s == null && (f.__s = f.state), T && A.getDerivedStateFromProps != null && (f.__s == f.state && (f.__s = v({}, f.__s)), v(f.__s, A.getDerivedStateFromProps(w, f.__s))), m = f.props, g = f.state, f.__v = n, p) T && A.getDerivedStateFromProps == null && f.componentWillMount != null && f.componentWillMount(), T && f.componentDidMount != null && f.__h.push(f.componentDidMount);
133
133
  else {
134
- if (T && j.getDerivedStateFromProps == null && w !== m && f.componentWillReceiveProps != null && f.componentWillReceiveProps(w, D), n.__v == r.__v || !f.__e && f.shouldComponentUpdate != null && !1 === f.shouldComponentUpdate(w, f.__s, D)) {
134
+ if (T && A.getDerivedStateFromProps == null && w !== m && f.componentWillReceiveProps != null && f.componentWillReceiveProps(w, D), n.__v == r.__v || !f.__e && f.shouldComponentUpdate != null && !1 === f.shouldComponentUpdate(w, f.__s, D)) {
135
135
  n.__v != r.__v && (f.props = w, f.state = f.__s, f.__d = !1), n.__e = r.__e, n.__k = r.__k, n.__k.some(function(e) {
136
136
  e && (e.__ = n);
137
137
  }), h.push.apply(f.__h, f._sb), f._sb = [], f.__h.length && s.push(f);
@@ -141,30 +141,30 @@ function ie(e, n, r, i, a, o, s, c, l, u) {
141
141
  f.componentDidUpdate(m, g, b);
142
142
  });
143
143
  }
144
- if (f.context = D, f.props = w, f.__P = e, f.__e = !1, O = t.__r, k = 0, T) f.state = f.__s, f.__d = !1, O && O(n), d = f.render(f.props, f.state, f.context), h.push.apply(f.__h, f._sb), f._sb = [];
144
+ if (f.context = D, f.props = w, f.__P = e, f.__e = !1, O = t.__r, te = 0, T) f.state = f.__s, f.__d = !1, O && O(n), d = f.render(f.props, f.state, f.context), h.push.apply(f.__h, f._sb), f._sb = [];
145
145
  else do
146
146
  f.__d = !1, O && O(n), d = f.render(f.props, f.state, f.context), f.state = f.__s;
147
- while (f.__d && ++k < 25);
148
- f.state = f.__s, f.getChildContext != null && (i = v(v({}, i), f.getChildContext())), T && !p && f.getSnapshotBeforeUpdate != null && (b = f.getSnapshotBeforeUpdate(m, g)), A = d != null && d.type === S && d.key == null ? se(d.props.children) : d, c = ee(e, _(A) ? A : [A], n, r, i, a, o, s, c, l, u), f.base = n.__e, n.__u &= -161, f.__h.length && s.push(f), x && (f.__E = f.__ = null);
147
+ while (f.__d && ++te < 25);
148
+ f.state = f.__s, f.getChildContext != null && (i = v(v({}, i), f.getChildContext())), T && !p && f.getSnapshotBeforeUpdate != null && (b = f.getSnapshotBeforeUpdate(m, g)), k = d != null && d.type === S && d.key == null ? ce(d.props.children) : d, c = ee(e, _(k) ? k : [k], n, r, i, a, o, s, c, l, u), f.base = n.__e, n.__u &= -161, f.__h.length && s.push(f), x && (f.__E = f.__ = null);
149
149
  } catch (e) {
150
150
  if (n.__v = null, l || o != null) if (e.then) {
151
151
  for (n.__u |= l ? 160 : 128; c && c.nodeType == 8 && c.nextSibling;) c = c.nextSibling;
152
152
  o[o.indexOf(c)] = null, n.__e = c;
153
153
  } else {
154
- for (te = o.length; te--;) y(o[te]);
155
- ae(n);
154
+ for (ne = o.length; ne--;) y(o[ne]);
155
+ oe(n);
156
156
  }
157
- else n.__e = r.__e, n.__k = r.__k, e.then || ae(n);
157
+ else n.__e = r.__e, n.__k = r.__k, e.then || oe(n);
158
158
  t.__e(e, n, r);
159
159
  }
160
- else o == null && n.__v == r.__v ? (n.__k = r.__k, n.__e = r.__e) : c = n.__e = ce(r.__e, n, r, i, a, o, s, l, u);
160
+ else o == null && n.__v == r.__v ? (n.__k = r.__k, n.__e = r.__e) : c = n.__e = le(r.__e, n, r, i, a, o, s, l, u);
161
161
  return (d = t.diffed) && d(n), 128 & n.__u ? void 0 : c;
162
162
  }
163
- function ae(e) {
164
- e && (e.__c && (e.__c.__e = !0), e.__k && e.__k.some(ae));
163
+ function oe(e) {
164
+ e && (e.__c && (e.__c.__e = !0), e.__k && e.__k.some(oe));
165
165
  }
166
- function oe(e, n, r) {
167
- for (var i = 0; i < r.length; i++) le(r[i], r[++i], r[++i]);
166
+ function se(e, n, r) {
167
+ for (var i = 0; i < r.length; i++) ue(r[i], r[++i], r[++i]);
168
168
  t.__c && t.__c(n, e), e.some(function(n) {
169
169
  try {
170
170
  e = n.__h, n.__h = [], e.some(function(e) {
@@ -175,10 +175,10 @@ function oe(e, n, r) {
175
175
  }
176
176
  });
177
177
  }
178
- function se(e) {
179
- return typeof e != "object" || !e || e.__b > 0 ? e : _(e) ? e.map(se) : v({}, e);
178
+ function ce(e) {
179
+ return typeof e != "object" || !e || e.__b > 0 ? e : _(e) ? e.map(ce) : v({}, e);
180
180
  }
181
- function ce(n, r, i, a, o, s, c, l, u) {
181
+ function le(n, r, i, a, o, s, c, l, u) {
182
182
  var d, f, p, h, g, v, b, x = i.props || m, S = r.props, C = r.type;
183
183
  if (C == "svg" ? o = "http://www.w3.org/2000/svg" : C == "math" ? o = "http://www.w3.org/1998/Math/MathML" : o ||= "http://www.w3.org/1999/xhtml", s != null) {
184
184
  for (d = 0; d < s.length; d++) if ((g = s[d]) && "setAttribute" in g == !!C && (C ? g.localName == C : g.nodeType == 3)) {
@@ -193,15 +193,15 @@ function ce(n, r, i, a, o, s, c, l, u) {
193
193
  if (C == null) x === S || l && n.data == S || (n.data = S);
194
194
  else {
195
195
  if (s &&= e.call(n.childNodes), !l && s != null) for (x = {}, d = 0; d < n.attributes.length; d++) x[(g = n.attributes[d]).name] = g.value;
196
- for (d in x) g = x[d], d == "dangerouslySetInnerHTML" ? p = g : d == "children" || d in S || d == "value" && "defaultValue" in S || d == "checked" && "defaultChecked" in S || ne(n, d, null, g, o);
197
- for (d in S) g = S[d], d == "children" ? h = g : d == "dangerouslySetInnerHTML" ? f = g : d == "value" ? v = g : d == "checked" ? b = g : l && typeof g != "function" || x[d] === g || ne(n, d, g, x[d], o);
196
+ for (d in x) g = x[d], d == "dangerouslySetInnerHTML" ? p = g : d == "children" || d in S || d == "value" && "defaultValue" in S || d == "checked" && "defaultChecked" in S || re(n, d, null, g, o);
197
+ for (d in S) g = S[d], d == "children" ? h = g : d == "dangerouslySetInnerHTML" ? f = g : d == "value" ? v = g : d == "checked" ? b = g : l && typeof g != "function" || x[d] === g || re(n, d, g, x[d], o);
198
198
  if (f) l || p && (f.__html == p.__html || f.__html == n.innerHTML) || (n.innerHTML = f.__html), r.__k = [];
199
199
  else if (p && (n.innerHTML = ""), ee(r.type == "template" ? n.content : n, _(h) ? h : [h], r, i, a, C == "foreignObject" ? "http://www.w3.org/1999/xhtml" : o, s, c, s ? s[0] : i.__k && w(i, 0), l, u), s != null) for (d = s.length; d--;) y(s[d]);
200
- l || (d = "value", C == "progress" && v == null ? n.removeAttribute("value") : v != null && (v !== n[d] || C == "progress" && !v || C == "option" && v != x[d]) && ne(n, d, v, x[d], o), d = "checked", b != null && b != n[d] && ne(n, d, b, x[d], o));
200
+ l || (d = "value", C == "progress" && v == null ? n.removeAttribute("value") : v != null && (v !== n[d] || C == "progress" && !v || C == "option" && v != x[d]) && re(n, d, v, x[d], o), d = "checked", b != null && b != n[d] && re(n, d, b, x[d], o));
201
201
  }
202
202
  return n;
203
203
  }
204
- function le(e, n, r) {
204
+ function ue(e, n, r) {
205
205
  try {
206
206
  if (typeof e == "function") {
207
207
  var i = typeof e.__u == "function";
@@ -211,9 +211,9 @@ function le(e, n, r) {
211
211
  t.__e(e, r);
212
212
  }
213
213
  }
214
- function ue(e, n, r) {
214
+ function de(e, n, r) {
215
215
  var i, a;
216
- if (t.unmount && t.unmount(e), (i = e.ref) && (i.current && i.current != e.__e || le(i, null, n)), (i = e.__c) != null) {
216
+ if (t.unmount && t.unmount(e), (i = e.ref) && (i.current && i.current != e.__e || ue(i, null, n)), (i = e.__c) != null) {
217
217
  if (i.componentWillUnmount) try {
218
218
  i.componentWillUnmount();
219
219
  } catch (e) {
@@ -221,15 +221,15 @@ function ue(e, n, r) {
221
221
  }
222
222
  i.base = i.__P = null;
223
223
  }
224
- if (i = e.__k) for (a = 0; a < i.length; a++) i[a] && ue(i[a], n, r || typeof e.type != "function");
224
+ if (i = e.__k) for (a = 0; a < i.length; a++) i[a] && de(i[a], n, r || typeof e.type != "function");
225
225
  r || y(e.__e), e.__c = e.__ = e.__e = void 0;
226
226
  }
227
- function de(e, t, n) {
227
+ function fe(e, t, n) {
228
228
  return this.constructor(e, n);
229
229
  }
230
- function fe(n, r, i) {
230
+ function pe(n, r, i) {
231
231
  var a, o, s, c;
232
- r == document && (r = document.documentElement), t.__ && t.__(n, r), o = (a = typeof i == "function") ? null : i && i.__k || r.__k, s = [], c = [], ie(r, n = (!a && i || r).__k = b(S, null, [n]), o || m, m, r.namespaceURI, !a && i ? [i] : o ? null : r.firstChild ? e.call(r.childNodes) : null, s, !a && i ? i : o ? o.__e : r.firstChild, a, c), oe(s, n, c);
232
+ r == document && (r = document.documentElement), t.__ && t.__(n, r), o = (a = typeof i == "function") ? null : i && i.__k || r.__k, s = [], c = [], ae(r, n = (!a && i || r).__k = b(S, null, [n]), o || m, m, r.namespaceURI, !a && i ? [i] : o ? null : r.firstChild ? e.call(r.childNodes) : null, s, !a && i ? i : o ? o.__e : r.firstChild, a, c), se(s, n, c);
233
233
  }
234
234
  e = h.slice, t = { __e: function(e, t, n, r) {
235
235
  for (var i, a, o; t = t.__;) if ((i = t.__c) && !i.__) try {
@@ -245,10 +245,10 @@ e = h.slice, t = { __e: function(e, t, n, r) {
245
245
  this.__v && (this.__e = !0, e && this.__h.push(e), D(this));
246
246
  }, C.prototype.render = S, r = [], a = typeof Promise == "function" ? Promise.prototype.then.bind(Promise.resolve()) : setTimeout, o = function(e, t) {
247
247
  return e.__v.__b - t.__v.__b;
248
- }, O.__r = 0, s = Math.random().toString(8), c = "__d" + s, l = "__a" + s, u = /(PointerCapture)$|Capture$/i, d = 0, f = re(!1), p = re(!0);
248
+ }, O.__r = 0, s = Math.random().toString(8), c = "__d" + s, l = "__a" + s, u = /(PointerCapture)$|Capture$/i, d = 0, f = ie(!1), p = ie(!0);
249
249
  //#endregion
250
250
  //#region src/styles.css?inline
251
- var pe = ":host{--markup-paper:#fdfcfa;--markup-surface:#fff;--markup-surface-2:oklch(98.5% .002 250);--markup-surface-3:oklch(95% .003 250);--markup-hover:oklch(95% .003 250);--markup-ink:#1a1614;--markup-ink-soft:oklch(32% .005 250);--markup-muted:#6b6661;--markup-border:#1a16141a;--markup-border-strong:#1a16142e;--markup-brand:#e35d2a;--markup-brand-hover:#c84d20;--markup-accent-soft:oklch(95% .04 60);--markup-accent-ink:oklch(45% .14 38);--markup-accent-glow:color-mix(in srgb, var(--markup-brand) 28%, transparent);--markup-team:#2a4ac8;--markup-shadow:0 1px 2px #1a16140f, 0 8px 28px #1a16141f;--markup-shadow-toolbar:0 1px 1px #0000000a, 0 4px 10px -2px #0f14281a, 0 18px 36px -12px #0f14282e;--markup-shadow-pop:0 1px 1px #0000000a, 0 8px 24px -6px #0f14281f, 0 28px 60px -18px #0f142838;--markup-overlay-tint:#1a16140a;--markup-danger:#dc2626;--markup-success:oklch(62% .16 150);--markup-radius:6px;--markup-radius-sm:4px;--markup-font:\"Geist Variable\", \"Geist\", ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", system-ui, sans-serif;--markup-font-mono:\"Geist Mono Variable\", \"Geist Mono\", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;all:initial;font-family:var(--markup-font);color:var(--markup-ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.5}:host([data-theme=dark]){--markup-paper:#1a1614;--markup-surface:oklch(16% .005 250);--markup-surface-2:oklch(20% .005 250);--markup-surface-3:oklch(24% .005 250);--markup-hover:oklch(24% .005 250);--markup-ink:#fdfcfa;--markup-ink-soft:oklch(80% .005 250);--markup-muted:#a8a39e;--markup-border:#fdfcfa1f;--markup-border-strong:#fdfcfa38;--markup-team:#7b99f0;--markup-accent-soft:color-mix(in srgb, var(--markup-brand) 22%, transparent);--markup-accent-ink:oklch(86% .13 55);--markup-shadow:0 1px 2px #00000059, 0 12px 40px #00000073;--markup-shadow-toolbar:0 1px 0 #ffffff0a inset, 0 1px 2px #0006, 0 12px 30px -10px #0000008c, 0 28px 60px -20px #00000080;--markup-shadow-pop:0 1px 0 #ffffff0a inset, 0 8px 24px -6px #00000073, 0 28px 60px -18px #0000008c;--markup-overlay-tint:#fdfcfa0d;--markup-danger:#f87171}@media (prefers-color-scheme:dark){:host(:not([data-theme])){--markup-paper:#1a1614;--markup-surface:oklch(16% .005 250);--markup-surface-2:oklch(20% .005 250);--markup-surface-3:oklch(24% .005 250);--markup-hover:oklch(24% .005 250);--markup-ink:#fdfcfa;--markup-ink-soft:oklch(80% .005 250);--markup-muted:#a8a39e;--markup-border:#fdfcfa1f;--markup-border-strong:#fdfcfa38;--markup-team:#7b99f0;--markup-accent-soft:color-mix(in srgb, var(--markup-brand) 22%, transparent);--markup-accent-ink:oklch(86% .13 55);--markup-shadow:0 1px 2px #00000059, 0 12px 40px #00000073;--markup-shadow-toolbar:0 1px 0 #ffffff0a inset, 0 1px 2px #0006, 0 12px 30px -10px #0000008c, 0 28px 60px -20px #00000080;--markup-shadow-pop:0 1px 0 #ffffff0a inset, 0 8px 24px -6px #00000073, 0 28px 60px -18px #0000008c;--markup-overlay-tint:#fdfcfa0d;--markup-danger:#f87171}}.markup-sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.markup-shadow-root{font-family:var(--markup-font)}.markup-shadow-root *,.markup-shadow-root :before,.markup-shadow-root :after{box-sizing:border-box}:where(.markup-shadow-root button,.markup-shadow-root input,.markup-shadow-root textarea){font:inherit;color:inherit}.markup-eyebrow{font-family:var(--markup-font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--markup-muted);font-size:10px;font-weight:500}.markup-toolbar{z-index:10;background:var(--markup-surface);border:1px solid var(--markup-border);pointer-events:none;height:44px;box-shadow:var(--markup-shadow-toolbar);border-radius:9999px;align-items:center;gap:2px;padding:4px;transition:box-shadow .15s,left .22s cubic-bezier(.2,.7,.2,1),transform .22s cubic-bezier(.2,.7,.2,1);display:inline-flex;position:fixed;bottom:22px;left:100%;transform:translate(calc(-100% - 22px))}.markup-toolbar>*{pointer-events:auto}.markup-tb-btn{width:36px;height:36px;color:var(--markup-ink-soft);cursor:pointer;touch-action:none;font-family:var(--markup-font);background:0 0;border:1px solid #0000;border-radius:9999px;justify-content:center;align-items:center;gap:6px;padding:0;font-size:13px;font-weight:500;transition:background .12s,color .12s;display:inline-flex;position:relative}.markup-tb-btn:hover{background:var(--markup-hover);color:var(--markup-ink)}.markup-tb-btn:focus-visible{box-shadow:0 0 0 2px var(--markup-surface), 0 0 0 4px var(--markup-accent-glow);outline:none}.markup-tb-btn[data-on=true]{background:var(--markup-ink);color:var(--markup-paper)}@media (prefers-color-scheme:dark){:host(:not([data-theme])) .markup-tb-btn[data-on=true]{background:var(--markup-surface-3);color:var(--markup-ink)}}:host([data-theme=dark]) .markup-tb-btn[data-on=true]{background:var(--markup-surface-3);color:var(--markup-ink)}.markup-tb-btn[data-armed=true]{background:var(--markup-brand);color:#fff}.markup-tb-btn[data-armed=true]:hover{background:var(--markup-brand-hover);color:#fff}.markup-tb-btn[disabled]{color:color-mix(in srgb, var(--markup-muted) 60%, transparent);cursor:default}.markup-tb-btn[disabled]:hover{color:color-mix(in srgb, var(--markup-muted) 60%, transparent);background:0 0}.markup-tb-btn[data-kind=identity]{gap:6px;width:auto;padding:0 4px}.markup-tb-avatar{background:var(--markup-surface-3);width:28px;height:28px;font-family:var(--markup-font-mono);color:var(--markup-ink);border:1px solid var(--markup-border);border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;font-size:10.5px;font-weight:600;display:inline-flex;overflow:hidden}.markup-tb-avatar.is-anon{color:var(--markup-muted);background:var(--markup-surface-2)}.markup-tb-sep{background:var(--markup-border);flex-shrink:0;width:1px;height:20px;margin:0 4px}.markup-tb-badge{background:var(--markup-brand);color:#fff;min-width:16px;height:16px;font-family:var(--markup-font-mono);box-shadow:0 0 0 2px var(--markup-surface);pointer-events:none;border-radius:9999px;justify-content:center;align-items:center;padding:0 4px;font-size:9.5px;font-weight:600;line-height:1;display:inline-flex;position:absolute;top:0;right:0}.markup-toolbar-left{left:0;transform:translate(22px)}.markup-toolbar-center{left:50%;transform:translate(-50%)}.markup-toolbar-right{left:100%;transform:translate(calc(-100% - 22px))}.markup-pop{background:var(--markup-surface);border:1px solid var(--markup-border);box-shadow:var(--markup-shadow-pop);color:var(--markup-ink);z-index:11;border-radius:12px;font-size:13px;animation:.14s cubic-bezier(.2,.7,.2,1) markup-pop-in;position:absolute;bottom:calc(100% + 8px);overflow:hidden}.markup-pop[data-pop=overflow]{width:260px;padding:6px}.markup-pop[data-pop=identity]{width:240px;padding:6px}.markup-pop[data-pop=inbox]{width:380px;padding:0}.markup-pop.is-anchor-right{right:0}.markup-pop.is-anchor-left{left:0}.markup-pop.is-anchor-center{left:50%;transform:translate(-50%)}@keyframes markup-pop-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.markup-pop.is-anchor-center{animation-name:markup-pop-in-center}@keyframes markup-pop-in-center{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}.markup-pop-group-label{font-family:var(--markup-font-mono);letter-spacing:.06em;color:var(--markup-muted);text-transform:lowercase;padding:8px 10px 4px;font-size:10px}.markup-segmented-row{border-radius:6px;align-items:center;gap:10px;padding:7px 8px;display:flex}.markup-segmented-row .lbl{min-width:0;color:var(--markup-ink);flex:1;font-size:13px}.markup-segmented{background:var(--markup-surface-3);border-radius:7px;gap:2px;padding:2px;display:inline-flex}.markup-segmented button{font:inherit;width:28px;height:24px;color:var(--markup-muted);cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;padding:0;transition:background .1s,color .1s;display:inline-flex}.markup-segmented button:hover{color:var(--markup-ink)}.markup-segmented button.is-on{background:var(--markup-surface);color:var(--markup-ink);box-shadow:0 1px 2px #0000000d}.markup-menu-row{cursor:pointer;width:100%;color:inherit;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;padding:7px 8px;font-family:inherit;font-size:13px;display:flex}.markup-menu-row:hover{background:var(--markup-hover)}.markup-menu-row:disabled{opacity:.5;cursor:default}.markup-menu-row:disabled:hover{background:0 0}.markup-menu-row .ic{width:16px;height:16px;color:var(--markup-muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.markup-menu-row .lbl{flex-direction:column;flex:1;min-width:0;display:flex}.markup-menu-row .lbl .sub{color:var(--markup-muted);margin-top:1px;font-size:11px}.markup-menu-row .right{font-family:var(--markup-font-mono);color:var(--markup-muted);margin-left:auto;font-size:10.5px}.markup-menu-row.is-danger,.markup-menu-row.is-danger .ic{color:var(--markup-danger)}.markup-menu-row.is-danger:hover{background:color-mix(in srgb, var(--markup-danger) 10%, transparent)}.markup-menu-row .switch{background:var(--markup-border-strong);border-radius:9999px;flex-shrink:0;width:26px;height:16px;transition:background .12s;position:relative}.markup-menu-row .switch:after{content:\"\";background:var(--markup-surface);border-radius:9999px;width:12px;height:12px;transition:left .12s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000026}.markup-menu-row[data-on=true] .switch{background:var(--markup-brand)}.markup-menu-row[data-on=true] .switch:after{left:12px}.markup-menu-divider{background:var(--markup-border);height:1px;margin:4px 0}.markup-brand-line{font-family:var(--markup-font-mono);color:var(--markup-muted);border-top:1px solid var(--markup-border);align-items:center;gap:8px;margin-top:6px;padding:8px 10px;font-size:10.5px;text-decoration:none;display:flex}.markup-brand-line:hover{color:var(--markup-ink)}.markup-brand-line svg{color:var(--markup-brand)}.markup-brand-line .ver{margin-left:auto}.markup-id-who{border-bottom:1px solid var(--markup-border);flex-direction:column;gap:2px;margin-bottom:4px;padding:10px 8px 12px;display:flex}.markup-id-who .nm{color:var(--markup-ink);font-size:13.5px;font-weight:600}.markup-id-who .em{font-family:var(--markup-font-mono);color:var(--markup-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.markup-id-anon{text-align:left;flex-direction:column;gap:10px;padding:14px 10px;display:flex}.markup-id-anon .h{letter-spacing:-.005em;color:var(--markup-ink);font-size:14px;font-weight:600}.markup-id-anon .sub{color:var(--markup-muted);font-size:12.5px;line-height:18px}.markup-id-anon button:not(.markup-menu-row){background:var(--markup-ink);width:100%;color:var(--markup-paper);height:32px;font:inherit;cursor:pointer;border:none;border-radius:7px;justify-content:center;align-items:center;gap:6px;font-size:13px;font-weight:500;display:inline-flex}.markup-id-anon button:disabled{opacity:.7;cursor:default}.markup-id-anon button:not(.markup-menu-row):hover:not(:disabled){background:color-mix(in srgb, var(--markup-ink) 88%, var(--markup-surface))}.markup-hud-hidden-toast{z-index:10;background:var(--markup-ink);color:var(--markup-paper);letter-spacing:-.01em;box-shadow:var(--markup-shadow);pointer-events:none;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:500;animation:.22s ease-out markup-hud-hidden-in,.32s ease-in 4.6s forwards markup-hud-hidden-out;display:inline-flex;position:fixed;bottom:24px}.markup-hud-hidden-toast-right{right:24px}.markup-hud-hidden-toast-left{left:24px}.markup-hud-hidden-toast-center{width:max-content;margin-inline:auto;left:0;right:0}.markup-kbd{background:color-mix(in srgb, var(--markup-paper) 14%, transparent);min-width:18px;height:18px;color:var(--markup-paper);font-family:var(--markup-font);border-radius:4px;justify-content:center;align-items:center;padding:0 5px;font-size:10px;font-weight:600;line-height:1;display:inline-flex}@keyframes markup-hud-hidden-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes markup-hud-hidden-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(4px)}}.markup-pins-layer{pointer-events:none;position:fixed;inset:0}.markup-pin{border:2px solid var(--markup-paper);background:var(--markup-brand);color:#fff;width:28px;height:28px;font-family:var(--markup-font-mono);cursor:pointer;pointer-events:auto;box-shadow:0 4px 14px -4px #00000059, 0 0 0 1px color-mix(in srgb, var(--markup-brand) 50%, transparent);border-radius:999px 999px 999px 4px;justify-content:center;align-items:center;margin:0;padding:0;font-size:11.5px;font-weight:600;line-height:1;transition:background .15s,color .15s,opacity .15s,top .2s,left .2s;display:inline-flex;position:absolute;transform:translate(-50%,-100%)}.markup-pin:hover{background:color-mix(in oklab, var(--markup-brand) 92%, black)}:host([data-theme=dark]) .markup-pin:hover{background:color-mix(in oklab, var(--markup-brand) 88%, var(--markup-paper))}@media (prefers-color-scheme:dark){:host(:not([data-theme])) .markup-pin:hover{background:color-mix(in oklab, var(--markup-brand) 88%, var(--markup-paper))}}.markup-pin.is-active{background:var(--markup-brand);color:#fff;border-color:var(--markup-paper)}.markup-pin.is-anchor{anchor-name:--markup-active-anchor}.markup-pin.is-unresolved{opacity:.6}.markup-pin-ghost{background:var(--markup-brand);color:#fff;cursor:default;pointer-events:none;animation:1.2s ease-in-out infinite markup-ghost-pulse}.markup-pin-num{pointer-events:none;justify-content:center;align-items:center;display:inline-flex}.markup-pin-count{background:var(--markup-ink);min-width:16px;height:16px;color:var(--markup-paper);font-family:var(--markup-font-mono);text-align:center;border:2px solid var(--markup-paper);pointer-events:none;border-radius:999px;padding:0 4px;font-size:9.5px;font-weight:600;line-height:12px;position:absolute;top:-6px;right:-8px}@keyframes markup-ghost-pulse{0%,to{box-shadow:0 4px 14px -4px #00000059,0 0 #e35d2a66}50%{box-shadow:0 4px 14px -4px #00000059,0 0 0 10px #e35d2a00}}.markup-placement-overlay{background:var(--markup-overlay-tint);cursor:crosshair;pointer-events:auto;z-index:1;animation:.18s ease-out markup-overlay-in;position:fixed;inset:0}.markup-placement-cursor-help{background:var(--markup-ink);color:var(--markup-paper);letter-spacing:-.01em;box-shadow:var(--markup-shadow);pointer-events:none;border-radius:999px;padding:10px 16px;font-size:12px;font-weight:500;animation:.22s ease-out 60ms backwards markup-help-in;position:fixed;top:24px;left:50%;transform:translate(-50%)}@keyframes markup-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes markup-help-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.markup-popover{width:360px;max-width:calc(100vw - 24px);height:auto;max-height:calc(100dvh - 24px);inset:auto;left:var(--markup-pop-x,0);top:var(--markup-pop-y,0);background:var(--markup-paper);color:var(--markup-ink);border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius);box-shadow:var(--markup-shadow);pointer-events:auto;flex-direction:column;gap:0;margin:0;padding:0;animation:.16s ease-out markup-popover-in;display:flex;position:fixed;overflow:hidden}@supports (anchor-name:--x){.markup-popover{position-anchor:--markup-active-anchor;left:calc(anchor(right) + 8px);top:calc(anchor(top) - 9px);position-try-fallbacks:flip-block, flip-inline, flip-block flip-inline;position-try-order:most-block-size}.markup-popover.is-floating{left:var(--markup-pop-x,0);top:var(--markup-pop-y,0);position-try-fallbacks:none}}.markup-popover.is-hud-hidden{display:none}@keyframes markup-popover-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.markup-popover-header{border-bottom:1px solid var(--markup-border);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.markup-popover.is-dragging .markup-popover-header{cursor:grabbing}.markup-popover-header-actions{align-items:center;gap:4px;display:flex}.markup-popover-path{min-width:0;font-family:var(--markup-font-mono);letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;flex:auto;align-items:baseline;gap:0;font-size:11px;line-height:1;display:inline-flex;overflow:hidden}.markup-popover-path-host{color:var(--markup-muted);flex-shrink:0}.markup-popover-path-route{color:var(--markup-ink);text-overflow:ellipsis;min-width:0;overflow:hidden}.markup-popover-path-tag{background:color-mix(in srgb, var(--markup-brand) 14%, transparent);color:var(--markup-brand);letter-spacing:.12em;text-transform:uppercase;border-radius:999px;flex-shrink:0;margin-left:6px;padding:1px 6px;font-size:9px}.markup-thread-menu{display:flex;position:relative}.markup-thread-menu-list{z-index:10;background:var(--markup-paper);border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius);min-width:160px;box-shadow:var(--markup-shadow);padding:4px;animation:.12s ease-out markup-menu-in;position:absolute;top:calc(100% + 6px);right:0}.markup-thread-menu-item{border-radius:var(--markup-radius-sm);width:100%;color:var(--markup-ink);text-align:left;cursor:pointer;background:0 0;border:none;padding:7px 10px;font-size:13px;transition:background .1s,color .1s;display:block}.markup-thread-menu-item:hover{background:var(--markup-border)}.markup-thread-menu-item.is-danger{color:var(--markup-danger,#dc2626)}.markup-thread-menu-item.is-danger:hover{background:color-mix(in srgb, var(--markup-danger,#dc2626) 10%, transparent)}.markup-thread-menu-item:disabled{opacity:.5;cursor:default}@keyframes markup-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.markup-popover-body{border-top:1px solid var(--markup-border);background:var(--markup-paper);flex-direction:column;gap:6px;padding:10px 12px 8px;display:flex}.markup-popover-byline{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.markup-popover-name{color:var(--markup-ink);font-weight:500}.markup-icon-btn{border-radius:var(--markup-radius-sm);width:24px;height:24px;color:var(--markup-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s;display:inline-flex}.markup-icon-btn:hover,.markup-icon-btn.is-open{background:var(--markup-border);color:var(--markup-ink)}.markup-comments{flex-direction:column;max-height:420px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.markup-comment{border-bottom:1px solid var(--markup-border);grid-template-columns:26px 1fr;align-items:start;gap:0 10px;padding:12px;display:grid}.markup-comment:last-child{border-bottom:none}.markup-comment>:not(.markup-comment-avatar){grid-column:2}.markup-comment-avatar{background:var(--markup-border);width:26px;height:26px;color:var(--markup-ink);font-family:var(--markup-font-mono);letter-spacing:.02em;text-transform:uppercase;-webkit-user-select:none;user-select:none;border-radius:999px;grid-area:1/1/span 4;justify-content:center;align-items:center;font-size:10.5px;font-weight:600;display:inline-flex}.markup-comment-avatar[data-tone=\"1\"]{color:oklch(25% .07 230);background:oklch(85% .07 200)}.markup-comment-avatar[data-tone=\"2\"]{color:oklch(30% .1 150);background:oklch(88% .07 130)}.markup-comment-avatar[data-tone=\"3\"]{color:oklch(35% .1 40);background:oklch(90% .05 50)}.markup-comment-avatar[data-tone=\"4\"]{color:oklch(30% .1 320);background:oklch(87% .07 320)}.markup-comment-avatar[data-tone=\"5\"]{color:oklch(32% .09 70);background:oklch(88% .06 80)}.markup-comment-meta{align-items:center;gap:8px;min-width:0;margin-bottom:4px;font-size:13px;display:flex}.markup-comment-author{color:var(--markup-ink);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.markup-comment.is-team .markup-comment-author{color:var(--markup-team)}.markup-comment-badge{background:color-mix(in srgb, var(--markup-team) 12%, transparent);height:14px;color:var(--markup-team);font-family:var(--markup-font-mono);letter-spacing:.12em;text-transform:uppercase;border-radius:999px;align-items:center;padding:0 5px;font-size:9px;font-weight:500;line-height:1;display:inline-flex}.markup-comment-time{color:var(--markup-muted);font-family:var(--markup-font-mono);letter-spacing:.04em;white-space:nowrap;flex-shrink:0;margin-left:auto;font-size:10.5px}.markup-comment-body{color:var(--markup-ink);white-space:pre-wrap;word-break:break-word;margin:0;font-size:13.5px;line-height:19px}.markup-comment-edited{color:var(--markup-muted);font-family:var(--markup-font-mono);margin-left:2px;font-size:10.5px}.markup-comment-edited:before{content:\" · \"}.markup-thread-actions{align-items:center;gap:4px;display:flex}.markup-comment-meta .markup-reaction-picker-wrap,.markup-thread-actions{margin-left:auto}.markup-comment-meta .markup-reaction-add{width:22px;height:22px;margin-top:-4px;margin-bottom:-4px}.markup-reaction-picker-wrap>.markup-icon-btn,.markup-comment-menu>.markup-icon-btn{margin-top:-4px;margin-bottom:-4px}.markup-comment-menu.is-up .markup-thread-menu-list{animation-name:markup-menu-in-up;top:auto;bottom:calc(100% + 6px)}.markup-comment-menu.is-side .markup-thread-menu-list{animation-name:markup-menu-in-side;top:-4px;right:calc(100% + 2px)}@keyframes markup-menu-in-side{0%{opacity:0;transform:translate(4px)}to{opacity:1;transform:translate(0)}}@keyframes markup-menu-in-up{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.markup-comment{position:relative}.markup-reactions{flex-wrap:wrap;align-items:center;gap:4px;margin-top:6px;display:flex}.markup-reaction-chip{border:1px solid var(--markup-border);background:var(--markup-surface-3);color:var(--markup-ink);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:2px 7px;font-size:11.5px;line-height:1.2;transition:background .12s,border-color .12s;display:inline-flex}.markup-reaction-chip:hover:not(:disabled){background:var(--markup-hover)}.markup-reaction-chip.is-mine{background:var(--markup-accent-soft);border-color:color-mix(in srgb, var(--markup-brand) 50%, transparent);color:var(--markup-accent-ink)}.markup-reaction-chip.is-mine:hover:not(:disabled){background:color-mix(in srgb, var(--markup-brand) 18%, transparent)}.markup-reaction-chip:disabled{cursor:default;opacity:.6}.markup-reaction-emoji{font-size:13px;line-height:1}.markup-reaction-count{font-family:var(--markup-font-mono);letter-spacing:.04em;color:var(--markup-muted);font-size:10.5px}.markup-reaction-chip.is-mine .markup-reaction-count{color:var(--markup-accent-ink)}.markup-reaction-picker-wrap{opacity:0;flex:none;transition:opacity .12s;display:inline-flex;position:relative}.markup-comment:hover .markup-reaction-picker-wrap,.markup-comment:focus-within .markup-reaction-picker-wrap,.markup-reaction-picker-wrap.is-open{opacity:1}.markup-reaction-add{width:22px;height:22px;color:var(--markup-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:13px;line-height:1;transition:background .12s,color .12s;display:inline-flex}.markup-reaction-add:hover,.markup-reaction-add.is-open{background:var(--markup-hover);color:var(--markup-ink)}.markup-reaction-picker{z-index:1;border:1px solid var(--markup-border-strong);background:var(--markup-paper);border-radius:8px;gap:2px;padding:4px;animation:.12s markup-menu-in;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 1px 2px #1a16140f,0 8px 28px #1a16141a}.markup-reaction-picker-wrap.is-up .markup-reaction-picker{animation-name:markup-menu-in-up;top:auto;bottom:calc(100% + 6px)}.markup-reaction-picker-wrap.is-side .markup-reaction-picker{animation-name:markup-menu-in-side;top:-4px;right:calc(100% + 2px)}.markup-reaction-picker-item{cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:16px;line-height:1;transition:background .12s;display:inline-flex}.markup-reaction-picker-item:hover{background:color-mix(in srgb, var(--markup-ink) 8%, transparent)}.markup-reaction-picker-item.is-mine{background:color-mix(in srgb, var(--markup-brand) 14%, transparent)}.markup-comment-edit-form{flex-direction:column;gap:6px;display:flex}.markup-comment-edit-actions{justify-content:flex-end;gap:6px;display:flex}.markup-composer{flex-direction:column;display:flex;position:relative}.markup-composer-input{width:100%;min-height:38px;max-height:120px;color:var(--markup-ink);font-family:var(--markup-font);background:0 0;border:none;border-radius:0;padding:2px 0;font-size:13.5px;line-height:19px;transition:none;overflow-y:auto}.markup-composer-input:focus-visible{box-shadow:none;outline:none}.markup-composer-footer-wrap{grid-template-rows:0fr;transition:grid-template-rows .15s;display:grid}.markup-composer.is-filled .markup-composer-footer-wrap{grid-template-rows:1fr}.markup-composer-footer{opacity:0;background:0 0;border:none;border-radius:0;justify-content:space-between;align-items:center;gap:8px;padding:0;transition:opacity .1s;display:flex;overflow:hidden}.markup-composer.is-filled .markup-composer-footer{opacity:1;transition-delay:60ms}.markup-composer-hint{font-family:var(--markup-font-mono);letter-spacing:.04em;color:var(--markup-muted);font-size:10.5px}.markup-composer-error{color:var(--markup-brand)}.markup-composer-actions{align-items:center;gap:6px;display:flex}.markup-composer .markup-btn-primary{background:var(--markup-ink);height:26px;color:var(--markup-paper);border-radius:6px;padding:0 10px}.markup-composer .markup-btn-primary:hover:not(:disabled){background:color-mix(in srgb, var(--markup-ink) 88%, var(--markup-paper))}.markup-composer-actions-empty{transition:opacity .12s;position:absolute;bottom:0;right:0}.markup-composer.is-filled .markup-composer-actions-empty{opacity:0;pointer-events:none}.markup-author-prompt{flex-direction:column;gap:10px;padding:12px;display:flex}.markup-author-status{color:var(--markup-muted);margin:0;font-size:12px}.markup-input{border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius-sm);background:var(--markup-paper);width:100%;height:36px;color:var(--markup-ink);outline:none;padding:0 10px;font-size:14px;transition:border-color .12s,box-shadow .12s}.markup-input:focus-visible{border-color:var(--markup-brand);box-shadow:0 0 0 3px #e35d2a2e}.markup-btn{border-radius:var(--markup-radius-sm);height:30px;color:var(--markup-ink);cursor:pointer;letter-spacing:-.01em;white-space:nowrap;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:0 8px;font-size:12px;font-weight:500;transition:background .12s,border-color .12s,color .12s,opacity .12s;display:inline-flex}.markup-btn:disabled{opacity:.5;cursor:not-allowed}.markup-btn-primary{background:var(--markup-ink);color:var(--markup-paper)}.markup-btn-primary:hover:not(:disabled){background:var(--markup-brand)}.markup-btn-ghost{color:var(--markup-muted)}.markup-btn-ghost:hover:not(:disabled){background:var(--markup-border);color:var(--markup-ink)}.markup-screenshot-row{border:1px dashed var(--markup-border-strong);color:var(--markup-muted);border-radius:6px;align-items:center;gap:8px;margin-top:0;padding:6px 8px;font-size:11.5px;display:flex}.markup-screenshot-status{color:var(--markup-muted);font-family:var(--markup-font-mono);letter-spacing:.04em;align-items:center;gap:5px;font-size:11px;display:flex}.markup-screenshot-toggle{cursor:pointer;color:var(--markup-muted);font-family:var(--markup-font-mono);letter-spacing:.04em;align-items:center;gap:5px;font-size:11px;transition:color .12s;display:flex}.markup-screenshot-toggle:hover{color:var(--markup-ink)}.markup-screenshot-checkbox{width:12px;height:12px;accent-color:var(--markup-brand);cursor:pointer;margin:0}.markup-screenshot-thumb{border:1px solid var(--markup-border-strong);object-fit:cover;border-radius:3px;flex-shrink:0;width:auto;height:25px;margin:-5px 0 -5px auto;display:block}.markup-screenshot-redacted{font-family:var(--markup-font-mono);color:var(--markup-muted);margin-left:auto;font-size:10px}.markup-screenshot-redacted-chip{background:color-mix(in srgb, var(--markup-success,oklch(62% .16 150)) 16%, transparent);color:var(--markup-success,oklch(62% .16 150));font-family:var(--markup-font-mono);cursor:pointer;border:none;border-radius:999px;align-items:center;gap:3px;padding:1px 7px;font-size:10px;display:inline-flex}.markup-screenshot-redacted-chip:hover{filter:brightness(1.05)}.markup-screenshot-redacted-arrow{font-style:normal}.markup-screenshot-redacted-list{margin-top:3px;padding-left:10px}.markup-screenshot-redacted-selector{font-family:var(--markup-font-mono);color:var(--markup-muted);font-size:9px;display:block}.markup-screenshot-help{font-family:var(--markup-font-mono);color:var(--markup-muted);margin:5px 0 0;font-size:10px;line-height:1.5}.markup-screenshot-help-code{font-family:var(--markup-font-mono);color:var(--markup-ink)}.markup-comment-screenshot{border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius-sm);cursor:pointer;background:0 0;margin-top:8px;padding:0;transition:border-color .12s,opacity .12s;display:block;overflow:hidden}.markup-comment-screenshot:hover{border-color:var(--markup-brand);opacity:.9}.markup-comment-screenshot img{object-fit:cover;object-position:top;width:100%;height:auto;max-height:120px;display:block}.markup-lightbox{background:#1a1614e0;border:none;width:100%;max-width:100%;height:100%;max-height:100%;margin:0;padding:24px;position:fixed;inset:0}.markup-lightbox[open]{justify-content:center;align-items:center;display:flex}.markup-lightbox::backdrop{display:none}.markup-lightbox-img{border-radius:var(--markup-radius);object-fit:contain;max-width:100%;max-height:100%;box-shadow:var(--markup-shadow);animation:.16s ease-out markup-lightbox-in}.markup-lightbox-close{color:#fdfcfa;background:#1a161499;position:absolute;top:16px;right:16px}.markup-lightbox-close:hover{color:#fdfcfa;background:#1a1614d9}@keyframes markup-lightbox-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.markup-toolbar,.markup-pin,.markup-icon-btn,.markup-btn,.markup-popover,.markup-pin-ghost,.markup-placement-overlay,.markup-placement-cursor-help,.markup-lightbox-img{transition:none;animation:none}}.markup-mention-chip{background:var(--markup-accent-soft);color:var(--markup-accent-ink);border-radius:3px;padding:0 2px;font-weight:500;display:inline-block}.markup-mention-input{white-space:pre-wrap;overflow-wrap:anywhere;cursor:text;outline:none;position:relative}.markup-mention-input[aria-disabled=true]{opacity:.6;cursor:default}.markup-mention-input[data-empty]:before{content:attr(data-placeholder);color:var(--markup-muted);pointer-events:none;position:absolute;inset:0 auto auto 0}.markup-mention-input .markup-mention-chip{white-space:nowrap;padding:0 3px}.markup-comment-edit-input{border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius-sm);background:var(--markup-paper);width:100%;min-height:58px;max-height:200px;color:var(--markup-ink);font:inherit;padding:8px 10px;font-size:13px;line-height:1.5;overflow-y:auto}.markup-comment-edit-input:focus-visible{border-color:var(--markup-brand);box-shadow:0 0 0 3px #e35d2a2e}.markup-comment-edit-input[data-empty]:before{inset:8px auto auto 10px}.markup-mention-picker{z-index:10;background:var(--markup-paper);border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius-sm);max-height:180px;box-shadow:var(--markup-shadow);margin:0 0 4px;padding:4px;list-style:none;position:absolute;bottom:100%;left:0;right:0;overflow-y:auto}.markup-mention-picker-item{border-radius:var(--markup-radius-sm);cursor:pointer;color:var(--markup-ink);justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.markup-mention-picker-item.is-active{background:color-mix(in srgb, var(--markup-brand) 12%, transparent)}.markup-mention-picker-name{font-weight:500}.markup-mention-picker-trigger{color:var(--markup-muted);font-family:var(--markup-font-mono);font-size:10px}.markup-notifications-panel{max-height:min(60vh,420px);color:var(--markup-ink);flex-direction:column;display:flex}.markup-notifications-panel-header{border-bottom:1px solid var(--markup-border);align-items:center;gap:8px;padding:8px 10px;display:flex}.markup-notifications-panel-header .markup-eyebrow{flex:1}.markup-notifications-panel-actions{align-items:center;gap:8px;display:flex}.markup-notifications-panel-mark-all{color:var(--markup-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:11px}.markup-notifications-panel-mark-all:hover{color:var(--markup-ink)}.markup-notifications-panel-body{flex:1;overflow-y:auto}.markup-notifications-panel-empty,.markup-notifications-panel-error{text-align:center;color:var(--markup-muted);padding:24px 12px;font-size:12px}.markup-notifications-panel-empty-title{color:var(--markup-ink);margin:0 0 4px;font-weight:500}.markup-notifications-panel-empty-sub{color:var(--markup-muted);margin:0;line-height:1.4}.markup-notifications-panel-error{color:var(--markup-danger,#b91c1c)}.markup-notifications-panel-list{margin:0;padding:4px;list-style:none}.markup-notifications-panel-row{border-radius:var(--markup-radius-sm);text-align:start;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:none;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.markup-notifications-panel-row:hover{background:color-mix(in srgb, var(--markup-brand) 8%, transparent)}.markup-notifications-panel-row.is-unread{background:color-mix(in srgb, var(--markup-brand) 5%, transparent)}.markup-notifications-panel-meta{align-items:center;gap:6px;font-size:11px;display:flex}.markup-notifications-panel-dot{background:var(--markup-brand);border-radius:999px;flex-shrink:0;width:6px;height:6px}.markup-notifications-panel-actor{font-weight:600}.markup-notifications-panel-sep{color:var(--markup-muted)}.markup-notifications-panel-time{color:var(--markup-muted);font-family:var(--markup-font-mono);font-size:10px}.markup-notifications-panel-thread{color:var(--markup-muted);margin:0;font-size:12px}.markup-notifications-panel-thread-title{color:var(--markup-ink)}.markup-notifications-panel-excerpt{color:color-mix(in srgb, var(--markup-ink) 80%, transparent);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:12px;font-style:italic;display:-webkit-box;overflow:hidden}.markup-inbox-pop{z-index:11;pointer-events:auto;width:380px;max-width:calc(100vw - 24px);position:fixed;bottom:76px}.markup-inbox-pop-right{right:22px}.markup-inbox-pop-left{left:22px}.markup-inbox-pop-center{left:50%;transform:translate(-50%)}.markup-inbox-pop .markup-pop{width:100%;animation:.14s cubic-bezier(.2,.7,.2,1) markup-pop-in;position:static}.markup-inbox-pop .markup-notifications-panel{max-height:min(60vh,480px)}.markup-inbox-pop .markup-notifications-panel-header{padding:12px 14px}.markup-inbox-pop .markup-notifications-panel-header .markup-icon-btn{display:none}", M = class extends C {
251
+ var me = ":host{--markup-paper:#fdfcfa;--markup-surface:#fff;--markup-surface-2:oklch(98.5% .002 250);--markup-surface-3:oklch(95% .003 250);--markup-hover:oklch(95% .003 250);--markup-ink:#1a1614;--markup-ink-soft:oklch(32% .005 250);--markup-muted:#6b6661;--markup-border:#1a16141a;--markup-border-strong:#1a16142e;--markup-brand:#e35d2a;--markup-brand-hover:#c84d20;--markup-accent-soft:oklch(95% .04 60);--markup-accent-ink:oklch(45% .14 38);--markup-accent-glow:color-mix(in srgb, var(--markup-brand) 28%, transparent);--markup-team:#2a4ac8;--markup-shadow:0 1px 2px #1a16140f, 0 8px 28px #1a16141f;--markup-shadow-toolbar:0 1px 1px #0000000a, 0 4px 10px -2px #0f14281a, 0 18px 36px -12px #0f14282e;--markup-shadow-pop:0 1px 1px #0000000a, 0 8px 24px -6px #0f14281f, 0 28px 60px -18px #0f142838;--markup-overlay-tint:#1a16140a;--markup-danger:#dc2626;--markup-success:oklch(62% .16 150);--markup-radius:6px;--markup-radius-sm:4px;--markup-font:\"Geist Variable\", \"Geist\", ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", system-ui, sans-serif;--markup-font-mono:\"Geist Mono Variable\", \"Geist Mono\", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;all:initial;font-family:var(--markup-font);color:var(--markup-ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.5}:host([data-theme=dark]){--markup-paper:#1a1614;--markup-surface:oklch(16% .005 250);--markup-surface-2:oklch(20% .005 250);--markup-surface-3:oklch(24% .005 250);--markup-hover:oklch(24% .005 250);--markup-ink:#fdfcfa;--markup-ink-soft:oklch(80% .005 250);--markup-muted:#a8a39e;--markup-border:#fdfcfa1f;--markup-border-strong:#fdfcfa38;--markup-team:#7b99f0;--markup-accent-soft:color-mix(in srgb, var(--markup-brand) 22%, transparent);--markup-accent-ink:oklch(86% .13 55);--markup-shadow:0 1px 2px #00000059, 0 12px 40px #00000073;--markup-shadow-toolbar:0 1px 0 #ffffff0a inset, 0 1px 2px #0006, 0 12px 30px -10px #0000008c, 0 28px 60px -20px #00000080;--markup-shadow-pop:0 1px 0 #ffffff0a inset, 0 8px 24px -6px #00000073, 0 28px 60px -18px #0000008c;--markup-overlay-tint:#fdfcfa0d;--markup-danger:#f87171}@media (prefers-color-scheme:dark){:host(:not([data-theme])){--markup-paper:#1a1614;--markup-surface:oklch(16% .005 250);--markup-surface-2:oklch(20% .005 250);--markup-surface-3:oklch(24% .005 250);--markup-hover:oklch(24% .005 250);--markup-ink:#fdfcfa;--markup-ink-soft:oklch(80% .005 250);--markup-muted:#a8a39e;--markup-border:#fdfcfa1f;--markup-border-strong:#fdfcfa38;--markup-team:#7b99f0;--markup-accent-soft:color-mix(in srgb, var(--markup-brand) 22%, transparent);--markup-accent-ink:oklch(86% .13 55);--markup-shadow:0 1px 2px #00000059, 0 12px 40px #00000073;--markup-shadow-toolbar:0 1px 0 #ffffff0a inset, 0 1px 2px #0006, 0 12px 30px -10px #0000008c, 0 28px 60px -20px #00000080;--markup-shadow-pop:0 1px 0 #ffffff0a inset, 0 8px 24px -6px #00000073, 0 28px 60px -18px #0000008c;--markup-overlay-tint:#fdfcfa0d;--markup-danger:#f87171}}.markup-sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.markup-shadow-root{font-family:var(--markup-font)}.markup-shadow-root *,.markup-shadow-root :before,.markup-shadow-root :after{box-sizing:border-box}:where(.markup-shadow-root button,.markup-shadow-root input,.markup-shadow-root textarea){font:inherit;color:inherit}.markup-eyebrow{font-family:var(--markup-font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--markup-muted);font-size:10px;font-weight:500}.markup-toolbar{z-index:10;background:var(--markup-surface);border:1px solid var(--markup-border);pointer-events:none;height:44px;box-shadow:var(--markup-shadow-toolbar);border-radius:9999px;align-items:center;gap:2px;padding:4px;transition:box-shadow .15s,left .22s cubic-bezier(.2,.7,.2,1),transform .22s cubic-bezier(.2,.7,.2,1);display:inline-flex;position:fixed;bottom:22px;left:100%;transform:translate(calc(-100% - 22px))}.markup-toolbar>*{pointer-events:auto}.markup-tb-btn{width:36px;height:36px;color:var(--markup-ink-soft);cursor:pointer;touch-action:none;font-family:var(--markup-font);background:0 0;border:1px solid #0000;border-radius:9999px;justify-content:center;align-items:center;gap:6px;padding:0;font-size:13px;font-weight:500;transition:background .12s,color .12s;display:inline-flex;position:relative}.markup-tb-btn:hover{background:var(--markup-hover);color:var(--markup-ink)}.markup-tb-btn:focus-visible{box-shadow:0 0 0 2px var(--markup-surface), 0 0 0 4px var(--markup-accent-glow);outline:none}.markup-tb-btn[data-on=true]{background:var(--markup-ink);color:var(--markup-paper)}@media (prefers-color-scheme:dark){:host(:not([data-theme])) .markup-tb-btn[data-on=true]{background:var(--markup-surface-3);color:var(--markup-ink)}}:host([data-theme=dark]) .markup-tb-btn[data-on=true]{background:var(--markup-surface-3);color:var(--markup-ink)}.markup-tb-btn[data-armed=true]{background:var(--markup-brand);color:#fff}.markup-tb-btn[data-armed=true]:hover{background:var(--markup-brand-hover);color:#fff}.markup-tb-btn[disabled]{color:color-mix(in srgb, var(--markup-muted) 60%, transparent);cursor:default}.markup-tb-btn[disabled]:hover{color:color-mix(in srgb, var(--markup-muted) 60%, transparent);background:0 0}.markup-tb-btn[data-kind=identity]{gap:6px;width:auto;padding:0 4px}.markup-tb-avatar{background:var(--markup-surface-3);width:28px;height:28px;font-family:var(--markup-font-mono);color:var(--markup-ink);border:1px solid var(--markup-border);border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;font-size:10.5px;font-weight:600;display:inline-flex;overflow:hidden}.markup-tb-avatar.is-anon{color:var(--markup-muted);background:var(--markup-surface-2)}.markup-tb-sep{background:var(--markup-border);flex-shrink:0;width:1px;height:20px;margin:0 4px}.markup-tb-badge{background:var(--markup-brand);color:#fff;min-width:16px;height:16px;font-family:var(--markup-font-mono);box-shadow:0 0 0 2px var(--markup-surface);pointer-events:none;border-radius:9999px;justify-content:center;align-items:center;padding:0 4px;font-size:9.5px;font-weight:600;line-height:1;display:inline-flex;position:absolute;top:0;right:0}.markup-toolbar-left{left:0;transform:translate(22px)}.markup-toolbar-center{left:50%;transform:translate(-50%)}.markup-toolbar-right{left:100%;transform:translate(calc(-100% - 22px))}.markup-pop{background:var(--markup-surface);border:1px solid var(--markup-border);box-shadow:var(--markup-shadow-pop);color:var(--markup-ink);z-index:11;border-radius:12px;font-size:13px;animation:.14s cubic-bezier(.2,.7,.2,1) markup-pop-in;position:absolute;bottom:calc(100% + 8px);overflow:hidden}.markup-pop[data-pop=overflow]{width:260px;padding:6px}.markup-pop[data-pop=identity]{width:240px;padding:6px}.markup-pop[data-pop=inbox]{width:380px;padding:0}.markup-pop.is-anchor-right{right:0}.markup-pop.is-anchor-left{left:0}.markup-pop.is-anchor-center{left:50%;transform:translate(-50%)}@keyframes markup-pop-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.markup-pop.is-anchor-center{animation-name:markup-pop-in-center}@keyframes markup-pop-in-center{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}.markup-pop-group-label{font-family:var(--markup-font-mono);letter-spacing:.06em;color:var(--markup-muted);text-transform:lowercase;padding:8px 10px 4px;font-size:10px}.markup-segmented-row{border-radius:6px;align-items:center;gap:10px;padding:7px 8px;display:flex}.markup-segmented-row .lbl{min-width:0;color:var(--markup-ink);flex:1;font-size:13px}.markup-segmented{background:var(--markup-surface-3);border-radius:7px;gap:2px;padding:2px;display:inline-flex}.markup-segmented button{font:inherit;width:28px;height:24px;color:var(--markup-muted);cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;padding:0;transition:background .1s,color .1s;display:inline-flex}.markup-segmented button:hover{color:var(--markup-ink)}.markup-segmented button.is-on{background:var(--markup-surface);color:var(--markup-ink);box-shadow:0 1px 2px #0000000d}.markup-menu-row{cursor:pointer;width:100%;color:inherit;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;padding:7px 8px;font-family:inherit;font-size:13px;display:flex}.markup-menu-row:hover{background:var(--markup-hover)}.markup-menu-row:disabled{opacity:.5;cursor:default}.markup-menu-row:disabled:hover{background:0 0}.markup-menu-row .ic{width:16px;height:16px;color:var(--markup-muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.markup-menu-row .lbl{flex-direction:column;flex:1;min-width:0;display:flex}.markup-menu-row .lbl .sub{color:var(--markup-muted);margin-top:1px;font-size:11px}.markup-menu-row .right{font-family:var(--markup-font-mono);color:var(--markup-muted);margin-left:auto;font-size:10.5px}.markup-menu-row.is-danger,.markup-menu-row.is-danger .ic{color:var(--markup-danger)}.markup-menu-row.is-danger:hover{background:color-mix(in srgb, var(--markup-danger) 10%, transparent)}.markup-menu-row .switch{background:var(--markup-border-strong);border-radius:9999px;flex-shrink:0;width:26px;height:16px;transition:background .12s;position:relative}.markup-menu-row .switch:after{content:\"\";background:var(--markup-surface);border-radius:9999px;width:12px;height:12px;transition:left .12s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000026}.markup-menu-row[data-on=true] .switch{background:var(--markup-brand)}.markup-menu-row[data-on=true] .switch:after{left:12px}.markup-menu-divider{background:var(--markup-border);height:1px;margin:4px 0}.markup-brand-line{font-family:var(--markup-font-mono);color:var(--markup-muted);border-top:1px solid var(--markup-border);align-items:center;gap:8px;margin-top:6px;padding:8px 10px;font-size:10.5px;text-decoration:none;display:flex}.markup-brand-line:hover{color:var(--markup-ink)}.markup-brand-line svg{color:var(--markup-brand)}.markup-brand-line .ver{margin-left:auto}.markup-id-who{border-bottom:1px solid var(--markup-border);flex-direction:column;gap:2px;margin-bottom:4px;padding:10px 8px 12px;display:flex}.markup-id-who .nm{color:var(--markup-ink);font-size:13.5px;font-weight:600}.markup-id-who .em{font-family:var(--markup-font-mono);color:var(--markup-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.markup-id-anon{text-align:left;flex-direction:column;gap:10px;padding:14px 10px;display:flex}.markup-id-anon .h{letter-spacing:-.005em;color:var(--markup-ink);font-size:14px;font-weight:600}.markup-id-anon .sub{color:var(--markup-muted);font-size:12.5px;line-height:18px}.markup-id-anon button:not(.markup-menu-row){background:var(--markup-ink);width:100%;color:var(--markup-paper);height:32px;font:inherit;cursor:pointer;border:none;border-radius:7px;justify-content:center;align-items:center;gap:6px;font-size:13px;font-weight:500;display:inline-flex}.markup-id-anon button:disabled{opacity:.7;cursor:default}.markup-id-anon button:not(.markup-menu-row):hover:not(:disabled){background:color-mix(in srgb, var(--markup-ink) 88%, var(--markup-surface))}.markup-hud-hidden-toast{z-index:10;background:var(--markup-ink);color:var(--markup-paper);letter-spacing:-.01em;box-shadow:var(--markup-shadow);pointer-events:none;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:500;animation:.22s ease-out markup-hud-hidden-in,.32s ease-in 4.6s forwards markup-hud-hidden-out;display:inline-flex;position:fixed;bottom:24px}.markup-hud-hidden-toast-right{right:24px}.markup-hud-hidden-toast-left{left:24px}.markup-hud-hidden-toast-center{width:max-content;margin-inline:auto;left:0;right:0}.markup-kbd{background:color-mix(in srgb, var(--markup-paper) 14%, transparent);min-width:18px;height:18px;color:var(--markup-paper);font-family:var(--markup-font);border-radius:4px;justify-content:center;align-items:center;padding:0 5px;font-size:10px;font-weight:600;line-height:1;display:inline-flex}.markup-kbd.is-inline{background:color-mix(in srgb, var(--markup-ink) 8%, transparent);min-width:14px;height:14px;color:var(--markup-muted);border-radius:3px;padding:0 3px;font-size:9.5px}@keyframes markup-hud-hidden-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes markup-hud-hidden-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(4px)}}.markup-pins-layer{pointer-events:none;position:fixed;inset:0}.markup-pin{border:2px solid var(--markup-paper);background:var(--markup-brand);color:#fff;width:28px;height:28px;font-family:var(--markup-font-mono);cursor:pointer;pointer-events:auto;box-shadow:0 4px 14px -4px #00000059, 0 0 0 1px color-mix(in srgb, var(--markup-brand) 50%, transparent);border-radius:999px 999px 999px 4px;justify-content:center;align-items:center;margin:0;padding:0;font-size:11.5px;font-weight:600;line-height:1;transition:background .15s,color .15s,opacity .15s,top .2s,left .2s;display:inline-flex;position:absolute;transform:translate(-50%,-100%)}.markup-pin:hover{background:color-mix(in oklab, var(--markup-brand) 92%, black)}:host([data-theme=dark]) .markup-pin:hover{background:color-mix(in oklab, var(--markup-brand) 88%, var(--markup-paper))}@media (prefers-color-scheme:dark){:host(:not([data-theme])) .markup-pin:hover{background:color-mix(in oklab, var(--markup-brand) 88%, var(--markup-paper))}}.markup-pin.is-active{background:var(--markup-brand);color:#fff;border-color:var(--markup-paper)}.markup-pin.is-anchor{anchor-name:--markup-active-anchor}.markup-pin.is-unresolved{opacity:.6}.markup-pin-ghost{background:var(--markup-brand);color:#fff;cursor:default;pointer-events:none;animation:1.2s ease-in-out infinite markup-ghost-pulse}.markup-pin-num{pointer-events:none;justify-content:center;align-items:center;display:inline-flex}.markup-pin-count{background:var(--markup-ink);min-width:16px;height:16px;color:var(--markup-paper);font-family:var(--markup-font-mono);text-align:center;border:2px solid var(--markup-paper);pointer-events:none;border-radius:999px;padding:0 4px;font-size:9.5px;font-weight:600;line-height:12px;position:absolute;top:-6px;right:-8px}@keyframes markup-ghost-pulse{0%,to{box-shadow:0 4px 14px -4px #00000059,0 0 #e35d2a66}50%{box-shadow:0 4px 14px -4px #00000059,0 0 0 10px #e35d2a00}}.markup-placement-overlay{background:var(--markup-overlay-tint);cursor:crosshair;pointer-events:auto;z-index:1;animation:.18s ease-out markup-overlay-in;position:fixed;inset:0}.markup-placement-cursor-help{background:var(--markup-ink);color:var(--markup-paper);letter-spacing:-.01em;box-shadow:var(--markup-shadow);pointer-events:none;border-radius:999px;padding:10px 16px;font-size:12px;font-weight:500;animation:.22s ease-out 60ms backwards markup-help-in;position:fixed;top:24px;left:50%;transform:translate(-50%)}@keyframes markup-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes markup-help-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.markup-popover{width:360px;max-width:calc(100vw - 24px);height:auto;max-height:calc(100dvh - 24px);inset:auto;left:var(--markup-pop-x,0);top:var(--markup-pop-y,0);background:var(--markup-paper);color:var(--markup-ink);border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius);box-shadow:var(--markup-shadow);pointer-events:auto;flex-direction:column;gap:0;margin:0;padding:0;animation:.16s ease-out markup-popover-in;display:flex;position:fixed;overflow:hidden}@supports (anchor-name:--x){.markup-popover{position-anchor:--markup-active-anchor;left:calc(anchor(right) + 8px);top:calc(anchor(top) - 9px);position-try-fallbacks:flip-block, flip-inline, flip-block flip-inline;position-try-order:most-block-size}.markup-popover.is-floating{left:var(--markup-pop-x,0);top:var(--markup-pop-y,0);position-try-fallbacks:none}}.markup-popover.is-hud-hidden{display:none}@keyframes markup-popover-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.markup-popover-header{border-bottom:1px solid var(--markup-border);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.markup-popover.is-dragging .markup-popover-header{cursor:grabbing}.markup-popover-header-actions{align-items:center;gap:4px;display:flex}.markup-popover-title{min-width:0;font-family:var(--markup-font-mono);letter-spacing:.02em;color:var(--markup-muted);white-space:nowrap;text-overflow:ellipsis;flex:auto;font-size:11px;line-height:1;overflow:hidden}.markup-thread-menu{display:flex;position:relative}.markup-thread-menu-list{z-index:10;background:var(--markup-paper);border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius);min-width:160px;box-shadow:var(--markup-shadow);padding:4px;animation:.12s ease-out markup-menu-in;position:absolute;top:calc(100% + 6px);right:0}.markup-thread-menu-item{border-radius:var(--markup-radius-sm);width:100%;color:var(--markup-ink);text-align:left;cursor:pointer;background:0 0;border:none;padding:7px 10px;font-size:13px;transition:background .1s,color .1s;display:block}.markup-thread-menu-item:hover{background:var(--markup-border)}.markup-thread-menu-item.is-danger{color:var(--markup-danger,#dc2626)}.markup-thread-menu-item.is-danger:hover{background:color-mix(in srgb, var(--markup-danger,#dc2626) 10%, transparent)}.markup-thread-menu-item:disabled{opacity:.5;cursor:default}@keyframes markup-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.markup-popover-body{border-top:1px solid var(--markup-border);background:var(--markup-paper);flex-direction:column;gap:6px;padding:10px 12px 8px;display:flex}.markup-popover-header+.markup-popover-body{border-top:none}.markup-popover-byline{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.markup-popover-name{color:var(--markup-ink);font-weight:500}.markup-icon-btn{border-radius:var(--markup-radius-sm);width:24px;height:24px;color:var(--markup-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s;display:inline-flex}.markup-icon-btn:hover,.markup-icon-btn.is-open{background:var(--markup-border);color:var(--markup-ink)}.markup-comments{flex-direction:column;max-height:420px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.markup-comment{border-bottom:1px solid var(--markup-border);grid-template-columns:26px 1fr;align-items:start;gap:0 10px;padding:12px;display:grid}.markup-comment:last-child{border-bottom:none}.markup-comment>:not(.markup-comment-avatar){grid-column:2}.markup-comment-avatar{background:var(--markup-border);width:26px;height:26px;color:var(--markup-ink);font-family:var(--markup-font-mono);letter-spacing:.02em;text-transform:uppercase;-webkit-user-select:none;user-select:none;border-radius:999px;grid-area:1/1/span 4;justify-content:center;align-items:center;margin-top:-3px;font-size:10.5px;font-weight:600;display:inline-flex;overflow:hidden}.markup-avatar-initials{text-box-trim:trim-both;text-box-edge:cap alphabetic;line-height:1}.markup-avatar-img{object-fit:cover;width:100%;height:100%;display:block}.markup-comment-avatar[data-tone=\"1\"]{color:oklch(25% .07 230);background:oklch(85% .07 200)}.markup-comment-avatar[data-tone=\"2\"]{color:oklch(30% .1 150);background:oklch(88% .07 130)}.markup-comment-avatar[data-tone=\"3\"]{color:oklch(35% .1 40);background:oklch(90% .05 50)}.markup-comment-avatar[data-tone=\"4\"]{color:oklch(30% .1 320);background:oklch(87% .07 320)}.markup-comment-avatar[data-tone=\"5\"]{color:oklch(32% .09 70);background:oklch(88% .06 80)}.markup-comment-meta{align-items:center;gap:8px;min-width:0;margin-bottom:4px;font-size:13px;display:flex}.markup-comment-author{color:var(--markup-ink);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.markup-comment-badge{background:color-mix(in srgb, var(--markup-team) 12%, transparent);height:14px;color:var(--markup-team);font-family:var(--markup-font-mono);letter-spacing:.12em;text-transform:uppercase;border-radius:999px;align-items:center;padding:0 5px;font-size:9px;font-weight:500;line-height:1;display:inline-flex}.markup-comment-badge.is-agent{background:color-mix(in srgb, var(--markup-brand) 14%, transparent);color:var(--markup-brand);letter-spacing:normal;justify-content:center;width:14px;padding:0}.markup-comment-time{color:var(--markup-muted);font-family:var(--markup-font-mono);letter-spacing:.04em;white-space:nowrap;flex-shrink:0;font-size:10.5px}.markup-comment-body{color:var(--markup-ink);white-space:pre-wrap;word-break:break-word;margin:0;font-size:13.5px;line-height:19px}.markup-comment-edited{color:var(--markup-muted);font-family:var(--markup-font-mono);margin-left:2px;font-size:10.5px}.markup-comment-edited:before{content:\" · \"}.markup-thread-actions{align-items:center;gap:4px;display:flex}.markup-comment-meta .markup-reaction-picker-wrap,.markup-thread-actions{margin-left:auto}.markup-comment-meta .markup-reaction-add{width:22px;height:22px;margin-top:-4px;margin-bottom:-4px}.markup-reaction-picker-wrap>.markup-icon-btn,.markup-comment-menu>.markup-icon-btn{margin-top:-4px;margin-bottom:-4px}.markup-comment-menu.is-up .markup-thread-menu-list{animation-name:markup-menu-in-up;top:auto;bottom:calc(100% + 6px)}.markup-comment-menu.is-side .markup-thread-menu-list{animation-name:markup-menu-in-side;top:-4px;right:calc(100% + 2px)}@keyframes markup-menu-in-side{0%{opacity:0;transform:translate(4px)}to{opacity:1;transform:translate(0)}}@keyframes markup-menu-in-up{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.markup-comment{position:relative}.markup-reactions{flex-wrap:wrap;align-items:center;gap:4px;margin-top:6px;display:flex}.markup-reaction-chip{border:1px solid var(--markup-border);background:var(--markup-surface-3);color:var(--markup-ink);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:2px 7px;font-size:11.5px;line-height:1.2;transition:background .12s,border-color .12s;display:inline-flex}.markup-reaction-chip:hover:not(:disabled){background:var(--markup-hover)}.markup-reaction-chip.is-mine{background:var(--markup-accent-soft);border-color:color-mix(in srgb, var(--markup-brand) 50%, transparent);color:var(--markup-accent-ink)}.markup-reaction-chip.is-mine:hover:not(:disabled){background:color-mix(in srgb, var(--markup-brand) 18%, transparent)}.markup-reaction-chip:disabled{cursor:default;opacity:.6}.markup-reaction-emoji{font-size:13px;line-height:1}.markup-reaction-count{font-family:var(--markup-font-mono);letter-spacing:.04em;color:var(--markup-muted);font-size:10.5px}.markup-reaction-chip.is-mine .markup-reaction-count{color:var(--markup-accent-ink)}.markup-reaction-picker-wrap{opacity:0;flex:none;transition:opacity .12s;display:inline-flex;position:relative}.markup-comment:hover .markup-reaction-picker-wrap,.markup-comment:focus-within .markup-reaction-picker-wrap,.markup-reaction-picker-wrap.is-open{opacity:1}.markup-reaction-add{width:22px;height:22px;color:var(--markup-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:13px;line-height:1;transition:background .12s,color .12s;display:inline-flex}.markup-reaction-add:hover,.markup-reaction-add.is-open{background:var(--markup-hover);color:var(--markup-ink)}.markup-reaction-picker{z-index:1;border:1px solid var(--markup-border-strong);background:var(--markup-paper);border-radius:8px;gap:2px;padding:4px;animation:.12s markup-menu-in;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 1px 2px #1a16140f,0 8px 28px #1a16141a}.markup-reaction-picker-wrap.is-up .markup-reaction-picker{animation-name:markup-menu-in-up;top:auto;bottom:calc(100% + 6px)}.markup-reaction-picker-wrap.is-side .markup-reaction-picker{animation-name:markup-menu-in-side;top:-4px;right:calc(100% + 2px)}.markup-reaction-picker-item{cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:16px;line-height:1;transition:background .12s;display:inline-flex}.markup-reaction-picker-item:hover{background:color-mix(in srgb, var(--markup-ink) 8%, transparent)}.markup-reaction-picker-item.is-mine{background:color-mix(in srgb, var(--markup-brand) 14%, transparent)}.markup-comment-edit-form{flex-direction:column;gap:6px;display:flex}.markup-comment-edit-actions{justify-content:flex-end;gap:6px;display:flex}.markup-composer{flex-direction:column;display:flex;position:relative}.markup-composer-input{width:100%;min-height:38px;max-height:120px;color:var(--markup-ink);font-family:var(--markup-font);background:0 0;border:none;border-radius:0;padding:2px 0;font-size:13.5px;line-height:19px;transition:none;overflow-y:auto}.markup-composer-input:focus-visible{box-shadow:none;outline:none}.markup-composer-footer-wrap{grid-template-rows:0fr;transition:grid-template-rows .15s;display:grid}.markup-composer.is-filled .markup-composer-footer-wrap{grid-template-rows:1fr}.markup-composer-footer{opacity:0;background:0 0;border:none;border-radius:0;justify-content:space-between;align-items:center;gap:8px;padding:0;transition:opacity .1s;display:flex;overflow:hidden}.markup-composer.is-filled .markup-composer-footer{opacity:1;transition-delay:60ms}.markup-composer-hint{font-family:var(--markup-font-mono);letter-spacing:.04em;color:var(--markup-muted);align-items:center;gap:3px;font-size:10.5px;display:inline-flex}.markup-composer-hint-label{margin-left:2px}.markup-composer-error{color:var(--markup-brand)}.markup-composer-actions{align-items:center;gap:6px;display:flex}.markup-composer .markup-btn-primary{background:var(--markup-ink);height:26px;color:var(--markup-paper);border-radius:6px;padding:0 10px}.markup-composer .markup-btn-primary:hover:not(:disabled){background:color-mix(in srgb, var(--markup-ink) 88%, var(--markup-paper))}.markup-composer-actions-empty{transition:opacity .12s;position:absolute;bottom:0;right:0}.markup-composer.is-filled .markup-composer-actions-empty{opacity:0;pointer-events:none}.markup-author-prompt{flex-direction:column;gap:10px;padding:12px;display:flex}.markup-author-status{color:var(--markup-muted);margin:0;font-size:12px}.markup-input{border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius-sm);background:var(--markup-paper);width:100%;height:36px;color:var(--markup-ink);outline:none;padding:0 10px;font-size:14px;transition:border-color .12s,box-shadow .12s}.markup-input:focus-visible{border-color:var(--markup-brand);box-shadow:0 0 0 3px #e35d2a2e}.markup-btn{border-radius:var(--markup-radius-sm);height:30px;color:var(--markup-ink);cursor:pointer;letter-spacing:-.01em;white-space:nowrap;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:0 8px;font-size:12px;font-weight:500;transition:background .12s,border-color .12s,color .12s,opacity .12s;display:inline-flex}.markup-btn:disabled{opacity:.5;cursor:not-allowed}.markup-btn-primary{background:var(--markup-ink);color:var(--markup-paper)}.markup-btn-primary:hover:not(:disabled){background:var(--markup-brand)}.markup-btn-ghost{color:var(--markup-muted)}.markup-btn-ghost:hover:not(:disabled){background:var(--markup-border);color:var(--markup-ink)}.markup-screenshot-row{border:1px dashed var(--markup-border-strong);color:var(--markup-muted);border-radius:6px;align-items:center;gap:8px;margin-top:0;padding:6px 8px;font-size:11.5px;display:flex}.markup-screenshot-status{color:var(--markup-muted);font-family:var(--markup-font-mono);letter-spacing:.04em;align-items:center;gap:5px;font-size:11px;display:flex}.markup-screenshot-toggle{cursor:pointer;color:var(--markup-muted);font-family:var(--markup-font-mono);letter-spacing:.04em;align-items:center;gap:5px;font-size:11px;transition:color .12s;display:flex}.markup-screenshot-toggle:hover{color:var(--markup-ink)}.markup-screenshot-checkbox{width:12px;height:12px;accent-color:var(--markup-brand);cursor:pointer;margin:0}.markup-screenshot-thumb{border:1px solid var(--markup-border-strong);object-fit:cover;border-radius:3px;flex-shrink:0;width:auto;height:25px;margin:-5px 0 -5px auto;display:block}.markup-screenshot-redacted{font-family:var(--markup-font-mono);color:var(--markup-muted);margin-left:auto;font-size:10px}.markup-screenshot-redacted-chip{background:color-mix(in srgb, var(--markup-success,oklch(62% .16 150)) 16%, transparent);color:var(--markup-success,oklch(62% .16 150));font-family:var(--markup-font-mono);cursor:pointer;border:none;border-radius:999px;align-items:center;gap:3px;padding:1px 7px;font-size:10px;display:inline-flex}.markup-screenshot-redacted-chip:hover{filter:brightness(1.05)}.markup-screenshot-redacted-arrow{font-style:normal}.markup-screenshot-redacted-list{margin-top:3px;padding-left:10px}.markup-screenshot-redacted-selector{font-family:var(--markup-font-mono);color:var(--markup-muted);font-size:9px;display:block}.markup-screenshot-help{font-family:var(--markup-font-mono);color:var(--markup-muted);margin:5px 0 0;font-size:10px;line-height:1.5}.markup-screenshot-help-code{font-family:var(--markup-font-mono);color:var(--markup-ink)}.markup-comment-screenshot{border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius-sm);cursor:pointer;background:0 0;margin-top:8px;padding:0;transition:border-color .12s,opacity .12s;display:block;overflow:hidden}.markup-comment-screenshot:hover{border-color:var(--markup-brand);opacity:.9}.markup-comment-screenshot img{object-fit:cover;object-position:top;width:100%;height:auto;max-height:120px;display:block}.markup-lightbox{background:#1a1614e0;border:none;width:100%;max-width:100%;height:100%;max-height:100%;margin:0;padding:24px;position:fixed;inset:0}.markup-lightbox[open]{justify-content:center;align-items:center;display:flex}.markup-lightbox::backdrop{display:none}.markup-lightbox-img{border-radius:var(--markup-radius);object-fit:contain;max-width:100%;max-height:100%;box-shadow:var(--markup-shadow);animation:.16s ease-out markup-lightbox-in}.markup-lightbox-close{color:#fdfcfa;background:#1a161499;position:absolute;top:16px;right:16px}.markup-lightbox-close:hover{color:#fdfcfa;background:#1a1614d9}@keyframes markup-lightbox-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.markup-toolbar,.markup-pin,.markup-icon-btn,.markup-btn,.markup-popover,.markup-pin-ghost,.markup-placement-overlay,.markup-placement-cursor-help,.markup-lightbox-img{transition:none;animation:none}}.markup-mention-chip{background:var(--markup-accent-soft);color:var(--markup-accent-ink);border-radius:3px;padding:0 2px;font-weight:500;display:inline-block}.markup-mention-input{white-space:pre-wrap;overflow-wrap:anywhere;cursor:text;outline:none;position:relative}.markup-mention-input[aria-disabled=true]{opacity:.6;cursor:default}.markup-mention-input[data-empty]:before{content:attr(data-placeholder);color:var(--markup-muted);pointer-events:none;position:absolute;inset:0 auto auto 0}.markup-mention-input .markup-mention-chip{white-space:nowrap;padding:0 3px}.markup-comment-edit-input{border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius-sm);background:var(--markup-paper);width:100%;min-height:58px;max-height:200px;color:var(--markup-ink);font:inherit;padding:8px 10px;font-size:13px;line-height:1.5;overflow-y:auto}.markup-comment-edit-input:focus-visible{border-color:var(--markup-brand);box-shadow:0 0 0 3px #e35d2a2e}.markup-comment-edit-input[data-empty]:before{inset:8px auto auto 10px}.markup-mention-picker{z-index:10;background:var(--markup-paper);border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius-sm);max-height:180px;box-shadow:var(--markup-shadow);margin:0 0 4px;padding:4px;list-style:none;position:absolute;bottom:100%;left:0;right:0;overflow-y:auto}.markup-mention-picker-item{border-radius:var(--markup-radius-sm);cursor:pointer;color:var(--markup-ink);justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.markup-mention-picker-item.is-active{background:color-mix(in srgb, var(--markup-brand) 12%, transparent)}.markup-mention-picker-name{font-weight:500}.markup-mention-picker-trigger{color:var(--markup-muted);font-family:var(--markup-font-mono);font-size:10px}.markup-notifications-panel{max-height:min(60vh,420px);color:var(--markup-ink);flex-direction:column;display:flex}.markup-notifications-panel-header{border-bottom:1px solid var(--markup-border);align-items:center;gap:8px;padding:8px 10px;display:flex}.markup-notifications-panel-header .markup-eyebrow{flex:1}.markup-notifications-panel-actions{align-items:center;gap:8px;display:flex}.markup-notifications-panel-mark-all{color:var(--markup-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:11px}.markup-notifications-panel-mark-all:hover{color:var(--markup-ink)}.markup-notifications-panel-body{flex:1;overflow-y:auto}.markup-notifications-panel-empty,.markup-notifications-panel-error{text-align:center;color:var(--markup-muted);padding:24px 12px;font-size:12px}.markup-notifications-panel-empty-title{color:var(--markup-ink);margin:0 0 4px;font-weight:500}.markup-notifications-panel-empty-sub{color:var(--markup-muted);margin:0;line-height:1.4}.markup-notifications-panel-error{color:var(--markup-danger,#b91c1c)}.markup-notifications-panel-list{margin:0;padding:4px;list-style:none}.markup-notifications-panel-row{border-radius:var(--markup-radius-sm);text-align:start;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:none;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.markup-notifications-panel-row:hover{background:color-mix(in srgb, var(--markup-brand) 8%, transparent)}.markup-notifications-panel-row.is-unread{background:color-mix(in srgb, var(--markup-brand) 5%, transparent)}.markup-notifications-panel-meta{align-items:center;gap:6px;font-size:11px;display:flex}.markup-notifications-panel-dot{background:var(--markup-brand);border-radius:999px;flex-shrink:0;width:6px;height:6px}.markup-notifications-panel-actor{font-weight:600}.markup-notifications-panel-sep{color:var(--markup-muted)}.markup-notifications-panel-time{color:var(--markup-muted);font-family:var(--markup-font-mono);font-size:10px}.markup-notifications-panel-thread{color:var(--markup-muted);margin:0;font-size:12px}.markup-notifications-panel-thread-title{color:var(--markup-ink)}.markup-notifications-panel-excerpt{color:color-mix(in srgb, var(--markup-ink) 80%, transparent);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:12px;font-style:italic;display:-webkit-box;overflow:hidden}.markup-inbox-pop{z-index:11;pointer-events:auto;width:380px;max-width:calc(100vw - 24px);position:fixed;bottom:76px}.markup-inbox-pop-right{right:22px}.markup-inbox-pop-left{left:22px}.markup-inbox-pop-center{left:50%;transform:translate(-50%)}.markup-inbox-pop .markup-pop{width:100%;animation:.14s cubic-bezier(.2,.7,.2,1) markup-pop-in;position:static}.markup-inbox-pop .markup-notifications-panel{max-height:min(60vh,480px)}.markup-inbox-pop .markup-notifications-panel-header{padding:12px 14px}.markup-inbox-pop .markup-notifications-panel-header .markup-icon-btn{display:none}", j = class extends C {
252
252
  state = { hasError: !1 };
253
253
  static getDerivedStateFromError() {
254
254
  return { hasError: !0 };
@@ -261,12 +261,12 @@ var pe = ":host{--markup-paper:#fdfcfa;--markup-surface:#fff;--markup-surface-2:
261
261
  render() {
262
262
  return this.state.hasError ? null : this.props.children;
263
263
  }
264
- }, me = 1e3;
265
- function he(e) {
264
+ }, he = 1e3;
265
+ function ge(e) {
266
266
  let t = !1, n = 0;
267
267
  return (r) => {
268
268
  let i = Date.now();
269
- t || i - n < me || (t = !0, n = i, fetch(`${e.apiUrl.replace(/\/+$/, "")}/widget/error`, {
269
+ t || i - n < he || (t = !0, n = i, fetch(`${e.apiUrl.replace(/\/+$/, "")}/widget/error`, {
270
270
  method: "POST",
271
271
  headers: {
272
272
  "content-type": "application/json",
@@ -282,97 +282,97 @@ function he(e) {
282
282
  }));
283
283
  };
284
284
  }
285
- function ge() {
285
+ function _e() {
286
286
  return typeof window < "u" ? window.location.href : void 0;
287
287
  }
288
- function _e() {
288
+ function ve() {
289
289
  return typeof navigator < "u" ? navigator.userAgent : void 0;
290
290
  }
291
- var ve = /* @__PURE__ */ new WeakMap();
292
- function ye(e, t, n) {
293
- let r = ve.get(e);
294
- r || (r = he(e), ve.set(e, r));
291
+ var ye = /* @__PURE__ */ new WeakMap();
292
+ function be(e, t, n) {
293
+ let r = ye.get(e);
294
+ r || (r = ge(e), ye.set(e, r));
295
295
  let i = t instanceof Error ? t : Error(String(t));
296
296
  r({
297
297
  message: i.message,
298
298
  name: i.name,
299
299
  stack: i.stack,
300
- url: ge(),
301
- userAgent: _e(),
300
+ url: _e(),
301
+ userAgent: ve(),
302
302
  context: n?.context
303
303
  });
304
304
  }
305
- var be = null;
306
- function xe(e) {
307
- be = e;
305
+ var xe = null;
306
+ function Se(e) {
307
+ xe = e;
308
308
  }
309
- function N(e, t) {
310
- be && ye(be, e, t);
309
+ function M(e, t) {
310
+ xe && be(xe, e, t);
311
311
  }
312
312
  //#endregion
313
313
  //#region src/runtime/theme-store.ts
314
- var Se = "markup:widget:theme", P = null, F = Te() ?? "auto", Ce = Te() != null, we = /* @__PURE__ */ new Set();
315
- function Te() {
314
+ var Ce = "markup:widget:theme", N = null, P = Ee() ?? "auto", we = Ee() != null, Te = /* @__PURE__ */ new Set();
315
+ function Ee() {
316
316
  try {
317
- let e = localStorage.getItem(Se);
317
+ let e = localStorage.getItem(Ce);
318
318
  if (e === "light" || e === "dark" || e === "auto") return e;
319
319
  } catch {}
320
320
  return null;
321
321
  }
322
- function Ee() {
323
- P && (F === "auto" ? delete P.dataset.theme : P.dataset.theme = F);
324
- }
325
- function De(e, t) {
326
- P = e, !Ce && t && (F = t), Ee();
322
+ function De() {
323
+ N && (P === "auto" ? delete N.dataset.theme : N.dataset.theme = P);
327
324
  }
328
- function Oe() {
329
- return F;
325
+ function Oe(e, t) {
326
+ N = e, !we && t && (P = t), De();
330
327
  }
331
328
  function ke() {
332
- return F === "dark" ? "dark" : F === "light" ? "light" : typeof window < "u" && window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
329
+ return P;
333
330
  }
334
- function Ae(e) {
335
- if (e !== F) {
336
- F = e, Ce = !0;
331
+ function Ae() {
332
+ return P === "dark" ? "dark" : P === "light" ? "light" : typeof window < "u" && window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light";
333
+ }
334
+ function je(e) {
335
+ if (e !== P) {
336
+ P = e, we = !0;
337
337
  try {
338
- localStorage.setItem(Se, e);
338
+ localStorage.setItem(Ce, e);
339
339
  } catch {}
340
- Ee();
341
- for (let e of we) e(F);
340
+ De();
341
+ for (let e of Te) e(P);
342
342
  }
343
343
  }
344
- function je(e) {
345
- return we.add(e), () => {
346
- we.delete(e);
344
+ function Me(e) {
345
+ return Te.add(e), () => {
346
+ Te.delete(e);
347
347
  };
348
348
  }
349
- function Me() {
349
+ function Ne() {
350
350
  if (typeof window > "u" || !window.matchMedia) return () => {};
351
351
  let e = window.matchMedia("(prefers-color-scheme: dark)"), t = () => {
352
- if (F === "auto") for (let e of we) e(F);
352
+ if (P === "auto") for (let e of Te) e(P);
353
353
  };
354
354
  return e.addEventListener?.("change", t), () => e.removeEventListener?.("change", t);
355
355
  }
356
356
  //#endregion
357
357
  //#region ../../node_modules/.pnpm/preact@10.29.1/node_modules/preact/hooks/dist/hooks.module.js
358
- var Ne, I, Pe, Fe, Ie = 0, Le = [], L = t, Re = L.__b, ze = L.__r, Be = L.diffed, Ve = L.__c, He = L.unmount, Ue = L.__;
359
- function We(e, t) {
360
- L.__h && L.__h(I, e, Ie || t), Ie = 0;
361
- var n = I.__H ||= {
358
+ var Pe, F, Fe, Ie, Le = 0, Re = [], I = t, ze = I.__b, Be = I.__r, Ve = I.diffed, He = I.__c, Ue = I.unmount, We = I.__;
359
+ function Ge(e, t) {
360
+ I.__h && I.__h(F, e, Le || t), Le = 0;
361
+ var n = F.__H ||= {
362
362
  __: [],
363
363
  __h: []
364
364
  };
365
365
  return e >= n.__.length && n.__.push({}), n.__[e];
366
366
  }
367
- function R(e) {
368
- return Ie = 1, Ge($e, e);
367
+ function L(e) {
368
+ return Le = 1, Ke(et, e);
369
369
  }
370
- function Ge(e, t, n) {
371
- var r = We(Ne++, 2);
372
- if (r.t = e, !r.__c && (r.__ = [n ? n(t) : $e(void 0, t), function(e) {
370
+ function Ke(e, t, n) {
371
+ var r = Ge(Pe++, 2);
372
+ if (r.t = e, !r.__c && (r.__ = [n ? n(t) : et(void 0, t), function(e) {
373
373
  var t = r.__N ? r.__N[0] : r.__[0], n = r.t(t, e);
374
374
  t !== n && (r.__N = [n, r.__[1]], r.__c.setState({}));
375
- }], r.__c = I, !I.__f)) {
375
+ }], r.__c = F, !F.__f)) {
376
376
  var i = function(e, t, n) {
377
377
  if (!r.__c.__H) return !0;
378
378
  var i = r.__c.__H.__.filter(function(e) {
@@ -389,115 +389,115 @@ function Ge(e, t, n) {
389
389
  }
390
390
  }), a && a.call(this, e, t, n) || o;
391
391
  };
392
- I.__f = !0;
393
- var a = I.shouldComponentUpdate, o = I.componentWillUpdate;
394
- I.componentWillUpdate = function(e, t, n) {
392
+ F.__f = !0;
393
+ var a = F.shouldComponentUpdate, o = F.componentWillUpdate;
394
+ F.componentWillUpdate = function(e, t, n) {
395
395
  if (this.__e) {
396
396
  var r = a;
397
397
  a = void 0, i(e, t, n), a = r;
398
398
  }
399
399
  o && o.call(this, e, t, n);
400
- }, I.shouldComponentUpdate = i;
400
+ }, F.shouldComponentUpdate = i;
401
401
  }
402
402
  return r.__N || r.__;
403
403
  }
404
- function z(e, t) {
405
- var n = We(Ne++, 3);
406
- !L.__s && Qe(n.__H, t) && (n.__ = e, n.u = t, I.__H.__h.push(n));
404
+ function R(e, t) {
405
+ var n = Ge(Pe++, 3);
406
+ !I.__s && $e(n.__H, t) && (n.__ = e, n.u = t, F.__H.__h.push(n));
407
407
  }
408
- function Ke(e, t) {
409
- var n = We(Ne++, 4);
410
- !L.__s && Qe(n.__H, t) && (n.__ = e, n.u = t, I.__h.push(n));
408
+ function qe(e, t) {
409
+ var n = Ge(Pe++, 4);
410
+ !I.__s && $e(n.__H, t) && (n.__ = e, n.u = t, F.__h.push(n));
411
411
  }
412
- function B(e) {
413
- return Ie = 5, V(function() {
412
+ function z(e) {
413
+ return Le = 5, B(function() {
414
414
  return { current: e };
415
415
  }, []);
416
416
  }
417
- function V(e, t) {
418
- var n = We(Ne++, 7);
419
- return Qe(n.__H, t) && (n.__ = e(), n.__H = t, n.__h = e), n.__;
417
+ function B(e, t) {
418
+ var n = Ge(Pe++, 7);
419
+ return $e(n.__H, t) && (n.__ = e(), n.__H = t, n.__h = e), n.__;
420
420
  }
421
- function H(e, t) {
422
- return Ie = 8, V(function() {
421
+ function V(e, t) {
422
+ return Le = 8, B(function() {
423
423
  return e;
424
424
  }, t);
425
425
  }
426
- function qe() {
427
- for (var e; e = Le.shift();) {
426
+ function Je() {
427
+ for (var e; e = Re.shift();) {
428
428
  var t = e.__H;
429
429
  if (e.__P && t) try {
430
- t.__h.some(Xe), t.__h.some(Ze), t.__h = [];
430
+ t.__h.some(Ze), t.__h.some(Qe), t.__h = [];
431
431
  } catch (n) {
432
- t.__h = [], L.__e(n, e.__v);
432
+ t.__h = [], I.__e(n, e.__v);
433
433
  }
434
434
  }
435
435
  }
436
- L.__b = function(e) {
437
- I = null, Re && Re(e);
438
- }, L.__ = function(e, t) {
439
- e && t.__k && t.__k.__m && (e.__m = t.__k.__m), Ue && Ue(e, t);
440
- }, L.__r = function(e) {
441
- ze && ze(e), Ne = 0;
442
- var t = (I = e.__c).__H;
443
- t && (Pe === I ? (t.__h = [], I.__h = [], t.__.some(function(e) {
436
+ I.__b = function(e) {
437
+ F = null, ze && ze(e);
438
+ }, I.__ = function(e, t) {
439
+ e && t.__k && t.__k.__m && (e.__m = t.__k.__m), We && We(e, t);
440
+ }, I.__r = function(e) {
441
+ Be && Be(e), Pe = 0;
442
+ var t = (F = e.__c).__H;
443
+ t && (Fe === F ? (t.__h = [], F.__h = [], t.__.some(function(e) {
444
444
  e.__N && (e.__ = e.__N), e.u = e.__N = void 0;
445
- })) : (t.__h.some(Xe), t.__h.some(Ze), t.__h = [], Ne = 0)), Pe = I;
446
- }, L.diffed = function(e) {
447
- Be && Be(e);
445
+ })) : (t.__h.some(Ze), t.__h.some(Qe), t.__h = [], Pe = 0)), Fe = F;
446
+ }, I.diffed = function(e) {
447
+ Ve && Ve(e);
448
448
  var t = e.__c;
449
- t && t.__H && (t.__H.__h.length && (Le.push(t) !== 1 && Fe === L.requestAnimationFrame || ((Fe = L.requestAnimationFrame) || Ye)(qe)), t.__H.__.some(function(e) {
449
+ t && t.__H && (t.__H.__h.length && (Re.push(t) !== 1 && Ie === I.requestAnimationFrame || ((Ie = I.requestAnimationFrame) || Xe)(Je)), t.__H.__.some(function(e) {
450
450
  e.u && (e.__H = e.u), e.u = void 0;
451
- })), Pe = I = null;
452
- }, L.__c = function(e, t) {
451
+ })), Fe = F = null;
452
+ }, I.__c = function(e, t) {
453
453
  t.some(function(e) {
454
454
  try {
455
- e.__h.some(Xe), e.__h = e.__h.filter(function(e) {
456
- return !e.__ || Ze(e);
455
+ e.__h.some(Ze), e.__h = e.__h.filter(function(e) {
456
+ return !e.__ || Qe(e);
457
457
  });
458
458
  } catch (n) {
459
459
  t.some(function(e) {
460
460
  e.__h &&= [];
461
- }), t = [], L.__e(n, e.__v);
461
+ }), t = [], I.__e(n, e.__v);
462
462
  }
463
- }), Ve && Ve(e, t);
464
- }, L.unmount = function(e) {
465
- He && He(e);
463
+ }), He && He(e, t);
464
+ }, I.unmount = function(e) {
465
+ Ue && Ue(e);
466
466
  var t, n = e.__c;
467
467
  n && n.__H && (n.__H.__.some(function(e) {
468
468
  try {
469
- Xe(e);
469
+ Ze(e);
470
470
  } catch (e) {
471
471
  t = e;
472
472
  }
473
- }), n.__H = void 0, t && L.__e(t, n.__v));
473
+ }), n.__H = void 0, t && I.__e(t, n.__v));
474
474
  };
475
- var Je = typeof requestAnimationFrame == "function";
476
- function Ye(e) {
475
+ var Ye = typeof requestAnimationFrame == "function";
476
+ function Xe(e) {
477
477
  var t, n = function() {
478
- clearTimeout(r), Je && cancelAnimationFrame(t), setTimeout(e);
478
+ clearTimeout(r), Ye && cancelAnimationFrame(t), setTimeout(e);
479
479
  }, r = setTimeout(n, 35);
480
- Je && (t = requestAnimationFrame(n));
481
- }
482
- function Xe(e) {
483
- var t = I, n = e.__c;
484
- typeof n == "function" && (e.__c = void 0, n()), I = t;
480
+ Ye && (t = requestAnimationFrame(n));
485
481
  }
486
482
  function Ze(e) {
487
- var t = I;
488
- e.__c = e.__(), I = t;
483
+ var t = F, n = e.__c;
484
+ typeof n == "function" && (e.__c = void 0, n()), F = t;
485
+ }
486
+ function Qe(e) {
487
+ var t = F;
488
+ e.__c = e.__(), F = t;
489
489
  }
490
- function Qe(e, t) {
490
+ function $e(e, t) {
491
491
  return !e || e.length !== t.length || t.some(function(t, n) {
492
492
  return t !== e[n];
493
493
  });
494
494
  }
495
- function $e(e, t) {
495
+ function et(e, t) {
496
496
  return typeof t == "function" ? t(e) : t;
497
497
  }
498
- for (var et = "1.38.0", U = [], W = [], tt = Uint8Array, nt = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", rt = 0, it = nt.length; rt < it; ++rt) U[rt] = nt[rt], W[nt.charCodeAt(rt)] = rt;
499
- W[45] = 62, W[95] = 63;
500
- function at(e) {
498
+ for (var tt = "1.38.0", H = [], U = [], nt = Uint8Array, rt = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", it = 0, at = rt.length; it < at; ++it) H[it] = rt[it], U[rt.charCodeAt(it)] = it;
499
+ U[45] = 62, U[95] = 63;
500
+ function ot(e) {
501
501
  var t = e.length;
502
502
  if (t % 4 > 0) throw Error("Invalid string. Length must be a multiple of 4");
503
503
  var n = e.indexOf("=");
@@ -505,33 +505,33 @@ function at(e) {
505
505
  var r = n === t ? 0 : 4 - n % 4;
506
506
  return [n, r];
507
507
  }
508
- function ot(e, t, n) {
508
+ function st(e, t, n) {
509
509
  return (t + n) * 3 / 4 - n;
510
510
  }
511
- function st(e) {
512
- var t, n = at(e), r = n[0], i = n[1], a = new tt(ot(e, r, i)), o = 0, s = i > 0 ? r - 4 : r, c;
513
- for (c = 0; c < s; c += 4) t = W[e.charCodeAt(c)] << 18 | W[e.charCodeAt(c + 1)] << 12 | W[e.charCodeAt(c + 2)] << 6 | W[e.charCodeAt(c + 3)], a[o++] = t >> 16 & 255, a[o++] = t >> 8 & 255, a[o++] = t & 255;
514
- return i === 2 && (t = W[e.charCodeAt(c)] << 2 | W[e.charCodeAt(c + 1)] >> 4, a[o++] = t & 255), i === 1 && (t = W[e.charCodeAt(c)] << 10 | W[e.charCodeAt(c + 1)] << 4 | W[e.charCodeAt(c + 2)] >> 2, a[o++] = t >> 8 & 255, a[o++] = t & 255), a;
515
- }
516
511
  function ct(e) {
517
- return U[e >> 18 & 63] + U[e >> 12 & 63] + U[e >> 6 & 63] + U[e & 63];
512
+ var t, n = ot(e), r = n[0], i = n[1], a = new nt(st(e, r, i)), o = 0, s = i > 0 ? r - 4 : r, c;
513
+ for (c = 0; c < s; c += 4) t = U[e.charCodeAt(c)] << 18 | U[e.charCodeAt(c + 1)] << 12 | U[e.charCodeAt(c + 2)] << 6 | U[e.charCodeAt(c + 3)], a[o++] = t >> 16 & 255, a[o++] = t >> 8 & 255, a[o++] = t & 255;
514
+ return i === 2 && (t = U[e.charCodeAt(c)] << 2 | U[e.charCodeAt(c + 1)] >> 4, a[o++] = t & 255), i === 1 && (t = U[e.charCodeAt(c)] << 10 | U[e.charCodeAt(c + 1)] << 4 | U[e.charCodeAt(c + 2)] >> 2, a[o++] = t >> 8 & 255, a[o++] = t & 255), a;
515
+ }
516
+ function lt(e) {
517
+ return H[e >> 18 & 63] + H[e >> 12 & 63] + H[e >> 6 & 63] + H[e & 63];
518
518
  }
519
- function lt(e, t, n) {
520
- for (var r, i = [], a = t; a < n; a += 3) r = (e[a] << 16 & 16711680) + (e[a + 1] << 8 & 65280) + (e[a + 2] & 255), i.push(ct(r));
519
+ function ut(e, t, n) {
520
+ for (var r, i = [], a = t; a < n; a += 3) r = (e[a] << 16 & 16711680) + (e[a + 1] << 8 & 65280) + (e[a + 2] & 255), i.push(lt(r));
521
521
  return i.join("");
522
522
  }
523
- function ut(e) {
524
- for (var t, n = e.length, r = n % 3, i = [], a = 16383, o = 0, s = n - r; o < s; o += a) i.push(lt(e, o, o + a > s ? s : o + a));
525
- return r === 1 ? (t = e[n - 1], i.push(U[t >> 2] + U[t << 4 & 63] + "==")) : r === 2 && (t = (e[n - 2] << 8) + e[n - 1], i.push(U[t >> 10] + U[t >> 4 & 63] + U[t << 2 & 63] + "=")), i.join("");
523
+ function dt(e) {
524
+ for (var t, n = e.length, r = n % 3, i = [], a = 16383, o = 0, s = n - r; o < s; o += a) i.push(ut(e, o, o + a > s ? s : o + a));
525
+ return r === 1 ? (t = e[n - 1], i.push(H[t >> 2] + H[t << 4 & 63] + "==")) : r === 2 && (t = (e[n - 2] << 8) + e[n - 1], i.push(H[t >> 10] + H[t >> 4 & 63] + H[t << 2 & 63] + "=")), i.join("");
526
526
  }
527
527
  //#endregion
528
528
  //#region ../../node_modules/.pnpm/convex@1.38.0_react@19.2.6/node_modules/convex/dist/esm/common/index.js
529
- function dt(e) {
529
+ function ft(e) {
530
530
  if (e === void 0) return {};
531
- if (!pt(e)) throw Error(`The arguments to a Convex function must be an object. Received: ${e}`);
531
+ if (!mt(e)) throw Error(`The arguments to a Convex function must be an object. Received: ${e}`);
532
532
  return e;
533
533
  }
534
- function ft(e) {
534
+ function pt(e) {
535
535
  if (e === void 0) throw Error("Client created with undefined deployment address. If you used an environment variable, check that it's set.");
536
536
  if (typeof e != "string") throw Error(`Invalid deployment address: found ${e}".`);
537
537
  if (!(e.startsWith("http:") || e.startsWith("https:"))) throw Error(`Invalid deployment address: Must start with "https://" or "http://". Found "${e}".`);
@@ -542,146 +542,146 @@ function ft(e) {
542
542
  }
543
543
  if (e.endsWith(".convex.site")) throw Error(`Invalid deployment address: "${e}" ends with .convex.site, which is used for HTTP Actions. Convex deployment URLs typically end with .convex.cloud? If you believe this URL is correct, use the \`skipConvexDeploymentUrlCheck\` option to bypass this.`);
544
544
  }
545
- function pt(e) {
545
+ function mt(e) {
546
546
  let t = typeof e == "object", n = Object.getPrototypeOf(e), r = n === null || n === Object.prototype || n?.constructor?.name === "Object";
547
547
  return t && r;
548
548
  }
549
549
  //#endregion
550
550
  //#region ../../node_modules/.pnpm/convex@1.38.0_react@19.2.6/node_modules/convex/dist/esm/values/value.js
551
- var mt = !0, ht = BigInt("-9223372036854775808"), gt = BigInt("9223372036854775807"), _t = BigInt("0"), vt = BigInt("8"), yt = BigInt("256");
552
- function bt(e) {
551
+ var ht = !0, gt = BigInt("-9223372036854775808"), _t = BigInt("9223372036854775807"), vt = BigInt("0"), yt = BigInt("8"), bt = BigInt("256");
552
+ function xt(e) {
553
553
  return Number.isNaN(e) || !Number.isFinite(e) || Object.is(e, -0);
554
554
  }
555
- function xt(e) {
556
- e < _t && (e -= ht + ht);
555
+ function St(e) {
556
+ e < vt && (e -= gt + gt);
557
557
  let t = e.toString(16);
558
558
  t.length % 2 == 1 && (t = "0" + t);
559
559
  let n = new Uint8Array(/* @__PURE__ */ new ArrayBuffer(8)), r = 0;
560
- for (let i of t.match(/.{2}/g).reverse()) n.set([parseInt(i, 16)], r++), e >>= vt;
561
- return ut(n);
560
+ for (let i of t.match(/.{2}/g).reverse()) n.set([parseInt(i, 16)], r++), e >>= yt;
561
+ return dt(n);
562
562
  }
563
- function St(e) {
564
- let t = st(e);
563
+ function Ct(e) {
564
+ let t = ct(e);
565
565
  if (t.byteLength !== 8) throw Error(`Received ${t.byteLength} bytes, expected 8 for $integer`);
566
- let n = _t, r = _t;
567
- for (let e of t) n += BigInt(e) * yt ** r, r++;
568
- return n > gt && (n += ht + ht), n;
566
+ let n = vt, r = vt;
567
+ for (let e of t) n += BigInt(e) * bt ** r, r++;
568
+ return n > _t && (n += gt + gt), n;
569
569
  }
570
- function Ct(e) {
571
- if (e < ht || gt < e) throw Error(`BigInt ${e} does not fit into a 64-bit signed integer.`);
570
+ function wt(e) {
571
+ if (e < gt || _t < e) throw Error(`BigInt ${e} does not fit into a 64-bit signed integer.`);
572
572
  let t = /* @__PURE__ */ new ArrayBuffer(8);
573
- return new DataView(t).setBigInt64(0, e, !0), ut(new Uint8Array(t));
573
+ return new DataView(t).setBigInt64(0, e, !0), dt(new Uint8Array(t));
574
574
  }
575
- function wt(e) {
576
- let t = st(e);
575
+ function Tt(e) {
576
+ let t = ct(e);
577
577
  if (t.byteLength !== 8) throw Error(`Received ${t.byteLength} bytes, expected 8 for $integer`);
578
578
  return new DataView(t.buffer).getBigInt64(0, !0);
579
579
  }
580
- var Tt = DataView.prototype.setBigInt64 ? Ct : xt, Et = DataView.prototype.getBigInt64 ? wt : St, Dt = 1024;
581
- function Ot(e) {
582
- if (e.length > Dt) throw Error(`Field name ${e} exceeds maximum field name length ${Dt}.`);
580
+ var Et = DataView.prototype.setBigInt64 ? wt : St, Dt = DataView.prototype.getBigInt64 ? Tt : Ct, Ot = 1024;
581
+ function kt(e) {
582
+ if (e.length > Ot) throw Error(`Field name ${e} exceeds maximum field name length ${Ot}.`);
583
583
  if (e.startsWith("$")) throw Error(`Field name ${e} starts with a '$', which is reserved.`);
584
584
  for (let t = 0; t < e.length; t += 1) {
585
585
  let n = e.charCodeAt(t);
586
586
  if (n < 32 || n >= 127) throw Error(`Field name ${e} has invalid character '${e[t]}': Field names can only contain non-control ASCII characters`);
587
587
  }
588
588
  }
589
- function kt(e) {
589
+ function At(e) {
590
590
  if (e === null || typeof e == "boolean" || typeof e == "number" || typeof e == "string") return e;
591
- if (Array.isArray(e)) return e.map((e) => kt(e));
591
+ if (Array.isArray(e)) return e.map((e) => At(e));
592
592
  if (typeof e != "object") throw Error(`Unexpected type of ${e}`);
593
593
  let t = Object.entries(e);
594
594
  if (t.length === 1) {
595
595
  let n = t[0][0];
596
596
  if (n === "$bytes") {
597
597
  if (typeof e.$bytes != "string") throw Error(`Malformed $bytes field on ${e}`);
598
- return st(e.$bytes).buffer;
598
+ return ct(e.$bytes).buffer;
599
599
  }
600
600
  if (n === "$integer") {
601
601
  if (typeof e.$integer != "string") throw Error(`Malformed $integer field on ${e}`);
602
- return Et(e.$integer);
602
+ return Dt(e.$integer);
603
603
  }
604
604
  if (n === "$float") {
605
605
  if (typeof e.$float != "string") throw Error(`Malformed $float field on ${e}`);
606
- let t = st(e.$float);
606
+ let t = ct(e.$float);
607
607
  if (t.byteLength !== 8) throw Error(`Received ${t.byteLength} bytes, expected 8 for $float`);
608
- let n = new DataView(t.buffer).getFloat64(0, mt);
609
- if (!bt(n)) throw Error(`Float ${n} should be encoded as a number`);
608
+ let n = new DataView(t.buffer).getFloat64(0, ht);
609
+ if (!xt(n)) throw Error(`Float ${n} should be encoded as a number`);
610
610
  return n;
611
611
  }
612
612
  if (n === "$set") throw Error("Received a Set which is no longer supported as a Convex type.");
613
613
  if (n === "$map") throw Error("Received a Map which is no longer supported as a Convex type.");
614
614
  }
615
615
  let n = {};
616
- for (let [t, r] of Object.entries(e)) Ot(t), n[t] = kt(r);
616
+ for (let [t, r] of Object.entries(e)) kt(t), n[t] = At(r);
617
617
  return n;
618
618
  }
619
- var At = 16384;
620
- function jt(e) {
619
+ var jt = 16384;
620
+ function Mt(e) {
621
621
  let t = JSON.stringify(e, (e, t) => t === void 0 ? "undefined" : typeof t == "bigint" ? `${t.toString()}n` : t);
622
- if (t.length > At) {
623
- let e = At - 14, n = t.codePointAt(e - 1);
622
+ if (t.length > jt) {
623
+ let e = jt - 14, n = t.codePointAt(e - 1);
624
624
  return n !== void 0 && n > 65535 && --e, t.substring(0, e) + "[...truncated]";
625
625
  }
626
626
  return t;
627
627
  }
628
- function Mt(e, t, n, r) {
628
+ function Nt(e, t, n, r) {
629
629
  if (e === void 0) {
630
- let e = n && ` (present at path ${n} in original object ${jt(t)})`;
630
+ let e = n && ` (present at path ${n} in original object ${Mt(t)})`;
631
631
  throw Error(`undefined is not a valid Convex value${e}. To learn about Convex's supported types, see https://docs.convex.dev/using/types.`);
632
632
  }
633
633
  if (e === null) return e;
634
634
  if (typeof e == "bigint") {
635
- if (e < ht || gt < e) throw Error(`BigInt ${e} does not fit into a 64-bit signed integer.`);
636
- return { $integer: Tt(e) };
635
+ if (e < gt || _t < e) throw Error(`BigInt ${e} does not fit into a 64-bit signed integer.`);
636
+ return { $integer: Et(e) };
637
637
  }
638
- if (typeof e == "number") if (bt(e)) {
638
+ if (typeof e == "number") if (xt(e)) {
639
639
  let t = /* @__PURE__ */ new ArrayBuffer(8);
640
- return new DataView(t).setFloat64(0, e, mt), { $float: ut(new Uint8Array(t)) };
640
+ return new DataView(t).setFloat64(0, e, ht), { $float: dt(new Uint8Array(t)) };
641
641
  } else return e;
642
642
  if (typeof e == "boolean" || typeof e == "string") return e;
643
- if (e instanceof ArrayBuffer) return { $bytes: ut(new Uint8Array(e)) };
644
- if (Array.isArray(e)) return e.map((e, r) => Mt(e, t, n + `[${r}]`, !1));
645
- if (e instanceof Set) throw Error(Nt(n, "Set", [...e], t));
646
- if (e instanceof Map) throw Error(Nt(n, "Map", [...e], t));
647
- if (!pt(e)) {
643
+ if (e instanceof ArrayBuffer) return { $bytes: dt(new Uint8Array(e)) };
644
+ if (Array.isArray(e)) return e.map((e, r) => Nt(e, t, n + `[${r}]`, !1));
645
+ if (e instanceof Set) throw Error(Pt(n, "Set", [...e], t));
646
+ if (e instanceof Map) throw Error(Pt(n, "Map", [...e], t));
647
+ if (!mt(e)) {
648
648
  let r = e?.constructor?.name, i = r ? `${r} ` : "";
649
- throw Error(Nt(n, i, e, t));
649
+ throw Error(Pt(n, i, e, t));
650
650
  }
651
651
  let i = {}, a = Object.entries(e);
652
652
  a.sort(([e, t], [n, r]) => e === n ? 0 : e < n ? -1 : 1);
653
- for (let [e, o] of a) o === void 0 ? r && (Ot(e), i[e] = Pt(o, t, n + `.${e}`)) : (Ot(e), i[e] = Mt(o, t, n + `.${e}`, !1));
653
+ for (let [e, o] of a) o === void 0 ? r && (kt(e), i[e] = Ft(o, t, n + `.${e}`)) : (kt(e), i[e] = Nt(o, t, n + `.${e}`, !1));
654
654
  return i;
655
655
  }
656
- function Nt(e, t, n, r) {
657
- return e ? `${t}${jt(n)} is not a supported Convex type (present at path ${e} in original object ${jt(r)}). To learn about Convex's supported types, see https://docs.convex.dev/using/types.` : `${t}${jt(n)} is not a supported Convex type.`;
656
+ function Pt(e, t, n, r) {
657
+ return e ? `${t}${Mt(n)} is not a supported Convex type (present at path ${e} in original object ${Mt(r)}). To learn about Convex's supported types, see https://docs.convex.dev/using/types.` : `${t}${Mt(n)} is not a supported Convex type.`;
658
658
  }
659
- function Pt(e, t, n) {
659
+ function Ft(e, t, n) {
660
660
  if (e === void 0) return { $undefined: null };
661
- if (t === void 0) throw Error(`Programming error. Current value is ${jt(e)} but original value is undefined`);
662
- return Mt(e, t, n, !1);
661
+ if (t === void 0) throw Error(`Programming error. Current value is ${Mt(e)} but original value is undefined`);
662
+ return Nt(e, t, n, !1);
663
663
  }
664
- function Ft(e) {
665
- return Mt(e, e, "", !1);
664
+ function It(e) {
665
+ return Nt(e, e, "", !1);
666
666
  }
667
667
  //#endregion
668
668
  //#region ../../node_modules/.pnpm/convex@1.38.0_react@19.2.6/node_modules/convex/dist/esm/values/errors.js
669
- var It = Object.defineProperty, Lt = (e, t, n) => t in e ? It(e, t, {
669
+ var Lt = Object.defineProperty, Rt = (e, t, n) => t in e ? Lt(e, t, {
670
670
  enumerable: !0,
671
671
  configurable: !0,
672
672
  writable: !0,
673
673
  value: n
674
- }) : e[t] = n, Rt = (e, t, n) => Lt(e, typeof t == "symbol" ? t : t + "", n), zt, Bt, Vt = Symbol.for("ConvexError"), Ht = class extends (Bt = Error, zt = Vt, Bt) {
674
+ }) : e[t] = n, zt = (e, t, n) => Rt(e, typeof t == "symbol" ? t : t + "", n), Bt, Vt, Ht = Symbol.for("ConvexError"), Ut = class extends (Vt = Error, Bt = Ht, Vt) {
675
675
  constructor(e) {
676
- super(typeof e == "string" ? e : jt(e)), Rt(this, "name", "ConvexError"), Rt(this, "data"), Rt(this, zt, !0), this.data = e;
676
+ super(typeof e == "string" ? e : Mt(e)), zt(this, "name", "ConvexError"), zt(this, "data"), zt(this, Bt, !0), this.data = e;
677
677
  }
678
- }, Ut = Object.defineProperty, Wt = (e, t, n) => t in e ? Ut(e, t, {
678
+ }, Wt = Object.defineProperty, Gt = (e, t, n) => t in e ? Wt(e, t, {
679
679
  enumerable: !0,
680
680
  configurable: !0,
681
681
  writable: !0,
682
682
  value: n
683
- }) : e[t] = n, Gt = (e, t, n) => Wt(e, typeof t == "symbol" ? t : t + "", n), Kt = "color:rgb(0, 145, 255)";
684
- function qt(e) {
683
+ }) : e[t] = n, Kt = (e, t, n) => Gt(e, typeof t == "symbol" ? t : t + "", n), qt = "color:rgb(0, 145, 255)";
684
+ function Jt(e) {
685
685
  switch (e) {
686
686
  case "query": return "Q";
687
687
  case "mutation": return "M";
@@ -689,9 +689,9 @@ function qt(e) {
689
689
  case "any": return "?";
690
690
  }
691
691
  }
692
- var Jt = class {
692
+ var Yt = class {
693
693
  constructor(e) {
694
- Gt(this, "_onLogLineFuncs"), Gt(this, "_verbose"), this._onLogLineFuncs = {}, this._verbose = e.verbose;
694
+ Kt(this, "_onLogLineFuncs"), Kt(this, "_verbose"), this._onLogLineFuncs = {}, this._verbose = e.verbose;
695
695
  }
696
696
  addLogLineListener(e) {
697
697
  let t = Math.random().toString(36).substring(2, 15);
@@ -713,8 +713,8 @@ var Jt = class {
713
713
  for (let t of Object.values(this._onLogLineFuncs)) t("error", ...e);
714
714
  }
715
715
  };
716
- function Yt(e) {
717
- let t = new Jt(e);
716
+ function Xt(e) {
717
+ let t = new Yt(e);
718
718
  return t.addLogLineListener((e, ...t) => {
719
719
  switch (e) {
720
720
  case "debug":
@@ -733,11 +733,11 @@ function Yt(e) {
733
733
  }
734
734
  }), t;
735
735
  }
736
- function Xt(e) {
737
- return new Jt(e);
736
+ function Zt(e) {
737
+ return new Yt(e);
738
738
  }
739
- function Zt(e, t, n, r, i) {
740
- let a = qt(n);
739
+ function Qt(e, t, n, r, i) {
740
+ let a = Jt(n);
741
741
  if (typeof i == "object" && (i = `ConvexError ${JSON.stringify(i.errorData, null, 2)}`), t === "info") {
742
742
  let t = i.match(/^\[.*?\] /);
743
743
  if (t === null) {
@@ -745,57 +745,57 @@ function Zt(e, t, n, r, i) {
745
745
  return;
746
746
  }
747
747
  let n = i.slice(1, t[0].length - 2), o = i.slice(t[0].length);
748
- e.log(`%c[CONVEX ${a}(${r})] [${n}]`, Kt, o);
748
+ e.log(`%c[CONVEX ${a}(${r})] [${n}]`, qt, o);
749
749
  } else e.error(`[CONVEX ${a}(${r})] ${i}`);
750
750
  }
751
- function Qt(e, t) {
751
+ function $t(e, t) {
752
752
  let n = `[CONVEX FATAL ERROR] ${t}`;
753
753
  return e.error(n), Error(n);
754
754
  }
755
- function $t(e, t, n) {
756
- return `[CONVEX ${qt(e)}(${t})] ${n.errorMessage}
755
+ function en(e, t, n) {
756
+ return `[CONVEX ${Jt(e)}(${t})] ${n.errorMessage}
757
757
  Called by client`;
758
758
  }
759
- function en(e, t) {
759
+ function tn(e, t) {
760
760
  return t.data = e.errorData, t;
761
761
  }
762
762
  //#endregion
763
763
  //#region ../../node_modules/.pnpm/convex@1.38.0_react@19.2.6/node_modules/convex/dist/esm/browser/sync/udf_path_utils.js
764
- function tn(e) {
764
+ function nn(e) {
765
765
  let t = e.split(":"), n, r;
766
766
  return t.length === 1 ? (n = t[0], r = "default") : (n = t.slice(0, t.length - 1).join(":"), r = t[t.length - 1]), n.endsWith(".js") && (n = n.slice(0, -3)), `${n}:${r}`;
767
767
  }
768
- function nn(e, t) {
768
+ function rn(e, t) {
769
769
  return JSON.stringify({
770
- udfPath: tn(e),
771
- args: Ft(t)
770
+ udfPath: nn(e),
771
+ args: It(t)
772
772
  });
773
773
  }
774
- function rn(e, t, n) {
774
+ function an(e, t, n) {
775
775
  let { initialNumItems: r, id: i } = n;
776
776
  return JSON.stringify({
777
777
  type: "paginated",
778
- udfPath: tn(e),
779
- args: Ft(t),
780
- options: Ft({
778
+ udfPath: nn(e),
779
+ args: It(t),
780
+ options: It({
781
781
  initialNumItems: r,
782
782
  id: i
783
783
  })
784
784
  });
785
785
  }
786
- function an(e) {
786
+ function on(e) {
787
787
  return JSON.parse(e).type === "paginated";
788
788
  }
789
789
  //#endregion
790
790
  //#region ../../node_modules/.pnpm/convex@1.38.0_react@19.2.6/node_modules/convex/dist/esm/browser/sync/local_state.js
791
- var on = Object.defineProperty, sn = (e, t, n) => t in e ? on(e, t, {
791
+ var sn = Object.defineProperty, cn = (e, t, n) => t in e ? sn(e, t, {
792
792
  enumerable: !0,
793
793
  configurable: !0,
794
794
  writable: !0,
795
795
  value: n
796
- }) : e[t] = n, cn = (e, t, n) => sn(e, typeof t == "symbol" ? t : t + "", n), ln = class {
796
+ }) : e[t] = n, W = (e, t, n) => cn(e, typeof t == "symbol" ? t : t + "", n), ln = class {
797
797
  constructor() {
798
- cn(this, "nextQueryId"), cn(this, "querySetVersion"), cn(this, "querySet"), cn(this, "queryIdToToken"), cn(this, "identityVersion"), cn(this, "auth"), cn(this, "outstandingQueriesOlderThanRestart"), cn(this, "outstandingAuthOlderThanRestart"), cn(this, "paused"), cn(this, "pendingQuerySetModifications"), this.nextQueryId = 0, this.querySetVersion = 0, this.identityVersion = 0, this.querySet = /* @__PURE__ */ new Map(), this.queryIdToToken = /* @__PURE__ */ new Map(), this.outstandingQueriesOlderThanRestart = /* @__PURE__ */ new Set(), this.outstandingAuthOlderThanRestart = !1, this.paused = !1, this.pendingQuerySetModifications = /* @__PURE__ */ new Map();
798
+ W(this, "nextQueryId"), W(this, "querySetVersion"), W(this, "querySet"), W(this, "queryIdToToken"), W(this, "identityVersion"), W(this, "auth"), W(this, "outstandingQueriesOlderThanRestart"), W(this, "outstandingAuthOlderThanRestart"), W(this, "paused"), W(this, "pendingQuerySetModifications"), this.nextQueryId = 0, this.querySetVersion = 0, this.identityVersion = 0, this.querySet = /* @__PURE__ */ new Map(), this.queryIdToToken = /* @__PURE__ */ new Map(), this.outstandingQueriesOlderThanRestart = /* @__PURE__ */ new Set(), this.outstandingAuthOlderThanRestart = !1, this.paused = !1, this.pendingQuerySetModifications = /* @__PURE__ */ new Map();
799
799
  }
800
800
  hasSyncedPastLastReconnect() {
801
801
  return this.outstandingQueriesOlderThanRestart.size === 0 && !this.outstandingAuthOlderThanRestart;
@@ -804,7 +804,7 @@ var on = Object.defineProperty, sn = (e, t, n) => t in e ? on(e, t, {
804
804
  this.outstandingAuthOlderThanRestart = !1;
805
805
  }
806
806
  subscribe(e, t, n, r) {
807
- let i = tn(e), a = nn(i, t), o = this.querySet.get(a);
807
+ let i = nn(e), a = rn(i, t), o = this.querySet.get(a);
808
808
  if (o !== void 0) return o.numSubscribers += 1, {
809
809
  queryToken: a,
810
810
  modification: null,
@@ -824,7 +824,7 @@ var on = Object.defineProperty, sn = (e, t, n) => t in e ? on(e, t, {
824
824
  type: "Add",
825
825
  queryId: e,
826
826
  udfPath: i,
827
- args: [Ft(t)],
827
+ args: [It(t)],
828
828
  journal: n,
829
829
  componentPath: r
830
830
  };
@@ -859,7 +859,7 @@ var on = Object.defineProperty, sn = (e, t, n) => t in e ? on(e, t, {
859
859
  }
860
860
  }
861
861
  queryId(e, t) {
862
- let n = nn(tn(e), t), r = this.querySet.get(n);
862
+ let n = rn(nn(e), t), r = this.querySet.get(n);
863
863
  return r === void 0 ? null : r.id;
864
864
  }
865
865
  isCurrentOrNewerAuthVersion(e) {
@@ -931,7 +931,7 @@ var on = Object.defineProperty, sn = (e, t, n) => t in e ? on(e, t, {
931
931
  type: "Add",
932
932
  queryId: t.id,
933
933
  udfPath: t.canonicalizedUdfPath,
934
- args: [Ft(t.args)],
934
+ args: [It(t.args)],
935
935
  journal: t.journal,
936
936
  componentPath: t.componentPath
937
937
  };
@@ -1016,19 +1016,19 @@ var on = Object.defineProperty, sn = (e, t, n) => t in e ? on(e, t, {
1016
1016
  let t = this.inflightRequests.get(e.requestId);
1017
1017
  if (t === void 0 || t.status.status === "Completed") return null;
1018
1018
  let n = t.message.type === "Mutation" ? "mutation" : "action", r = t.message.udfPath;
1019
- for (let t of e.logLines) Zt(this.logger, "info", n, r, t);
1019
+ for (let t of e.logLines) Qt(this.logger, "info", n, r, t);
1020
1020
  let i = t.status, a, o;
1021
1021
  if (e.success) a = {
1022
1022
  success: !0,
1023
1023
  logLines: e.logLines,
1024
- value: kt(e.result)
1024
+ value: At(e.result)
1025
1025
  }, o = () => i.onResult(a);
1026
1026
  else {
1027
1027
  let t = e.result, { errorData: s } = e;
1028
- Zt(this.logger, "error", n, r, t), a = {
1028
+ Qt(this.logger, "error", n, r, t), a = {
1029
1029
  success: !1,
1030
1030
  errorMessage: t,
1031
- errorData: s === void 0 ? void 0 : kt(s),
1031
+ errorData: s === void 0 ? void 0 : At(s),
1032
1032
  logLines: e.logLines
1033
1033
  }, o = () => i.onResult(a);
1034
1034
  }
@@ -1158,19 +1158,19 @@ var Sn = Object.defineProperty, Cn = (e, t, n) => t in e ? Sn(e, t, {
1158
1158
  wn(this, "queryResults"), wn(this, "modifiedQueries"), this.queryResults = e, this.modifiedQueries = [];
1159
1159
  }
1160
1160
  getQuery(t, ...n) {
1161
- let r = dt(n[0]), i = yn(t), a = this.queryResults.get(nn(i, r));
1161
+ let r = ft(n[0]), i = yn(t), a = this.queryResults.get(rn(i, r));
1162
1162
  if (a !== void 0) return e.queryValue(a.result);
1163
1163
  }
1164
1164
  getAllQueries(t) {
1165
1165
  let n = [], r = yn(t);
1166
- for (let t of this.queryResults.values()) t.udfPath === tn(r) && n.push({
1166
+ for (let t of this.queryResults.values()) t.udfPath === nn(r) && n.push({
1167
1167
  args: t.args,
1168
1168
  value: e.queryValue(t.result)
1169
1169
  });
1170
1170
  return n;
1171
1171
  }
1172
1172
  setQuery(e, t, n) {
1173
- let r = dt(t), i = yn(e), a = nn(i, r), o;
1173
+ let r = ft(t), i = yn(e), a = rn(i, r), o;
1174
1174
  o = n === void 0 ? void 0 : {
1175
1175
  success: !0,
1176
1176
  value: n,
@@ -1221,7 +1221,7 @@ var Sn = Object.defineProperty, Cn = (e, t, n) => t in e ? Sn(e, t, {
1221
1221
  let n = t.result;
1222
1222
  if (n !== void 0) {
1223
1223
  if (n.success) return n.value;
1224
- throw n.errorData === void 0 ? Error($t("query", t.udfPath, n)) : en(n, new Ht($t("query", t.udfPath, n)));
1224
+ throw n.errorData === void 0 ? Error(en("query", t.udfPath, n)) : tn(n, new Ut(en("query", t.udfPath, n)));
1225
1225
  }
1226
1226
  }
1227
1227
  hasQueryResult(e) {
@@ -1298,8 +1298,8 @@ var Sn = Object.defineProperty, Cn = (e, t, n) => t in e ? Sn(e, t, {
1298
1298
  for (let t of e.modifications) switch (t.type) {
1299
1299
  case "QueryUpdated": {
1300
1300
  let e = this.queryPath(t.queryId);
1301
- if (e) for (let n of t.logLines) Zt(this.logger, "info", "query", e, n);
1302
- let n = kt(t.value ?? null);
1301
+ if (e) for (let n of t.logLines) Qt(this.logger, "info", "query", e, n);
1302
+ let n = At(t.value ?? null);
1303
1303
  this.remoteQuerySet.set(t.queryId, {
1304
1304
  success: !0,
1305
1305
  value: n,
@@ -1309,12 +1309,12 @@ var Sn = Object.defineProperty, Cn = (e, t, n) => t in e ? Sn(e, t, {
1309
1309
  }
1310
1310
  case "QueryFailed": {
1311
1311
  let e = this.queryPath(t.queryId);
1312
- if (e) for (let n of t.logLines) Zt(this.logger, "info", "query", e, n);
1312
+ if (e) for (let n of t.logLines) Qt(this.logger, "info", "query", e, n);
1313
1313
  let { errorData: n } = t;
1314
1314
  this.remoteQuerySet.set(t.queryId, {
1315
1315
  success: !1,
1316
1316
  errorMessage: t.errorMessage,
1317
- errorData: n === void 0 ? void 0 : kt(n),
1317
+ errorData: n === void 0 ? void 0 : At(n),
1318
1318
  logLines: t.logLines
1319
1319
  });
1320
1320
  break;
@@ -1336,11 +1336,11 @@ var Sn = Object.defineProperty, Cn = (e, t, n) => t in e ? Sn(e, t, {
1336
1336
  //#endregion
1337
1337
  //#region ../../node_modules/.pnpm/convex@1.38.0_react@19.2.6/node_modules/convex/dist/esm/browser/sync/protocol.js
1338
1338
  function Bn(e) {
1339
- let t = st(e);
1339
+ let t = ct(e);
1340
1340
  return An.fromBytesLE(Array.from(t));
1341
1341
  }
1342
1342
  function Vn(e) {
1343
- return ut(new Uint8Array(e.toBytesLE()));
1343
+ return dt(new Uint8Array(e.toBytesLE()));
1344
1344
  }
1345
1345
  function Hn(e) {
1346
1346
  switch (e.type) {
@@ -1969,17 +1969,17 @@ var _r = Object.defineProperty, vr = (e, t, n) => t in e ? _r(e, t, {
1969
1969
  }), q(this, "mark", (e) => {
1970
1970
  this.debug && mr(e, this.sessionId);
1971
1971
  }), typeof e == "object") throw Error("Passing a ClientConfig object is no longer supported. Pass the URL of the Convex deployment as a string directly.");
1972
- n?.skipConvexDeploymentUrlCheck !== !0 && ft(e), n = { ...n };
1972
+ n?.skipConvexDeploymentUrlCheck !== !0 && pt(e), n = { ...n };
1973
1973
  let r = n.authRefreshTokenLeewaySeconds ?? 10, i = n.webSocketConstructor;
1974
1974
  if (!i && typeof WebSocket > "u") throw Error("No WebSocket global variable defined! To use Convex in an environment without WebSocket try the HTTP client: https://docs.convex.dev/api/classes/browser.ConvexHttpClient");
1975
- i ||= WebSocket, this.debug = n.reportDebugInfoToConvex ?? !1, this.address = e, this.logger = n.logger === !1 ? Xt({ verbose: n.verbose ?? !1 }) : n.logger !== !0 && n.logger ? n.logger : Yt({ verbose: n.verbose ?? !1 });
1975
+ i ||= WebSocket, this.debug = n.reportDebugInfoToConvex ?? !1, this.address = e, this.logger = n.logger === !1 ? Zt({ verbose: n.verbose ?? !1 }) : n.logger !== !0 && n.logger ? n.logger : Xt({ verbose: n.verbose ?? !1 });
1976
1976
  let a = e.search("://");
1977
1977
  if (a === -1) throw Error("Provided address was not an absolute URL.");
1978
1978
  let o = e.substring(a + 3), s = e.substring(0, a), c;
1979
1979
  if (s === "http") c = "ws";
1980
1980
  else if (s === "https") c = "wss";
1981
1981
  else throw Error(`Unknown parent protocol ${s}`);
1982
- let l = `${c}://${o}/api/${et}/sync`;
1982
+ let l = `${c}://${o}/api/${tt}/sync`;
1983
1983
  this.state = new ln(), this.remoteQuerySet = new zn((e) => this.state.queryPath(e), this.logger), this.requestManager = new pn(this.logger, this.markConnectionStateDirty);
1984
1984
  let u = () => {
1985
1985
  this.webSocketManager.pause(), this.state.pause();
@@ -2050,7 +2050,7 @@ var _r = Object.defineProperty, vr = (e, t, n) => t in e ? _r(e, t, {
2050
2050
  this.authenticationManager.onAuthError(e);
2051
2051
  break;
2052
2052
  case "FatalError": {
2053
- let t = Qt(this.logger, e.error);
2053
+ let t = $t(this.logger, e.error);
2054
2054
  throw this.webSocketManager.terminate(), t;
2055
2055
  }
2056
2056
  default:
@@ -2133,7 +2133,7 @@ var _r = Object.defineProperty, vr = (e, t, n) => t in e ? _r(e, t, {
2133
2133
  this.webSocketManager.sendMessage(e);
2134
2134
  }
2135
2135
  subscribe(e, t, n) {
2136
- let r = dt(t), { modification: i, queryToken: a, unsubscribe: o } = this.state.subscribe(e, r, n?.journal, n?.componentPath);
2136
+ let r = ft(t), { modification: i, queryToken: a, unsubscribe: o } = this.state.subscribe(e, r, n?.journal, n?.componentPath);
2137
2137
  return i !== null && this.webSocketManager.sendMessage(i), {
2138
2138
  queryToken: a,
2139
2139
  unsubscribe: () => {
@@ -2143,7 +2143,7 @@ var _r = Object.defineProperty, vr = (e, t, n) => t in e ? _r(e, t, {
2143
2143
  };
2144
2144
  }
2145
2145
  localQueryResult(e, t) {
2146
- let n = nn(e, dt(t));
2146
+ let n = rn(e, ft(t));
2147
2147
  return this.optimisticQueryResults.queryResult(n);
2148
2148
  }
2149
2149
  localQueryResultByToken(e) {
@@ -2153,11 +2153,11 @@ var _r = Object.defineProperty, vr = (e, t, n) => t in e ? _r(e, t, {
2153
2153
  return this.optimisticQueryResults.hasQueryResult(e);
2154
2154
  }
2155
2155
  localQueryLogs(e, t) {
2156
- let n = nn(e, dt(t));
2156
+ let n = rn(e, ft(t));
2157
2157
  return this.optimisticQueryResults.queryLogs(n);
2158
2158
  }
2159
2159
  queryJournal(e, t) {
2160
- let n = nn(e, dt(t));
2160
+ let n = rn(e, ft(t));
2161
2161
  return this.state.queryJournal(n);
2162
2162
  }
2163
2163
  connectionState() {
@@ -2181,7 +2181,7 @@ var _r = Object.defineProperty, vr = (e, t, n) => t in e ? _r(e, t, {
2181
2181
  }
2182
2182
  async mutation(e, t, n) {
2183
2183
  let r = await this.mutationInternal(e, t, n);
2184
- if (!r.success) throw r.errorData === void 0 ? Error($t("mutation", e, r)) : en(r, new Ht($t("mutation", e, r)));
2184
+ if (!r.success) throw r.errorData === void 0 ? Error(en("mutation", e, r)) : tn(r, new Ut(en("mutation", e, r)));
2185
2185
  return r.value;
2186
2186
  }
2187
2187
  async mutationInternal(e, t, n, r) {
@@ -2189,7 +2189,7 @@ var _r = Object.defineProperty, vr = (e, t, n) => t in e ? _r(e, t, {
2189
2189
  return i;
2190
2190
  }
2191
2191
  enqueueMutation(e, t, n, r) {
2192
- let i = dt(t);
2192
+ let i = ft(t);
2193
2193
  this.tryReportLongDisconnect();
2194
2194
  let a = this.nextRequestId;
2195
2195
  if (this._nextRequestId++, n !== void 0) {
@@ -2223,7 +2223,7 @@ var _r = Object.defineProperty, vr = (e, t, n) => t in e ? _r(e, t, {
2223
2223
  requestId: a,
2224
2224
  udfPath: e,
2225
2225
  componentPath: r,
2226
- args: [Ft(i)]
2226
+ args: [It(i)]
2227
2227
  }, s = this.webSocketManager.sendMessage(o);
2228
2228
  return {
2229
2229
  requestId: a,
@@ -2232,18 +2232,18 @@ var _r = Object.defineProperty, vr = (e, t, n) => t in e ? _r(e, t, {
2232
2232
  }
2233
2233
  async action(e, t) {
2234
2234
  let n = await this.actionInternal(e, t);
2235
- if (!n.success) throw n.errorData === void 0 ? Error($t("action", e, n)) : en(n, new Ht($t("action", e, n)));
2235
+ if (!n.success) throw n.errorData === void 0 ? Error(en("action", e, n)) : tn(n, new Ut(en("action", e, n)));
2236
2236
  return n.value;
2237
2237
  }
2238
2238
  async actionInternal(e, t, n) {
2239
- let r = dt(t), i = this.nextRequestId;
2239
+ let r = ft(t), i = this.nextRequestId;
2240
2240
  this._nextRequestId++, this.tryReportLongDisconnect();
2241
2241
  let a = {
2242
2242
  type: "Action",
2243
2243
  requestId: i,
2244
2244
  udfPath: e,
2245
2245
  componentPath: n,
2246
- args: [Ft(r)]
2246
+ args: [It(r)]
2247
2247
  }, o = this.webSocketManager.sendMessage(a);
2248
2248
  return this.requestManager.request(a, o);
2249
2249
  }
@@ -2278,7 +2278,7 @@ var _r = Object.defineProperty, vr = (e, t, n) => t in e ? _r(e, t, {
2278
2278
  method: "POST",
2279
2279
  headers: {
2280
2280
  "Content-Type": "application/json",
2281
- "Convex-Client": `npm-${et}`
2281
+ "Convex-Client": `npm-${tt}`
2282
2282
  },
2283
2283
  body: JSON.stringify({ event: "LongWebsocketDisconnect" })
2284
2284
  }).then((e) => {
@@ -2306,7 +2306,7 @@ var xr = Object.defineProperty, Sr = (e, t, n) => t in e ? xr(e, t, {
2306
2306
  this.client = e, this.onTransition = t, Cr(this, "paginatedQuerySet", /* @__PURE__ */ new Map()), Cr(this, "lastTransitionTs"), this.lastTransitionTs = An.fromNumber(0), this.client.addOnTransitionHandler((e) => this.onBaseTransition(e));
2307
2307
  }
2308
2308
  subscribe(e, t, n) {
2309
- let r = tn(e), i = rn(r, t, n), a = () => this.removePaginatedQuerySubscriber(i), o = this.paginatedQuerySet.get(i);
2309
+ let r = nn(e), i = an(r, t, n), a = () => this.removePaginatedQuerySubscriber(i), o = this.paginatedQuerySet.get(i);
2310
2310
  return o ? (o.numSubscribers += 1, {
2311
2311
  paginatedQueryToken: i,
2312
2312
  unsubscribe: a
@@ -2328,7 +2328,7 @@ var xr = Object.defineProperty, Sr = (e, t, n) => t in e ? xr(e, t, {
2328
2328
  });
2329
2329
  }
2330
2330
  localQueryResult(e, t, n) {
2331
- let r = rn(tn(e), t, n);
2331
+ let r = an(nn(e), t, n);
2332
2332
  return this.localQueryResultByToken(r);
2333
2333
  }
2334
2334
  localQueryResultByToken(e) {
@@ -2486,7 +2486,7 @@ var xr = Object.defineProperty, Sr = (e, t, n) => t in e ? xr(e, t, {
2486
2486
  value: n
2487
2487
  }) : e[t] = n, Dr = (e, t, n) => Er(e, typeof t == "symbol" ? t : t + "", n), Or, kr = class {
2488
2488
  constructor(e, t = {}) {
2489
- Dr(this, "listeners"), Dr(this, "_client"), Dr(this, "_paginatedClient"), Dr(this, "callNewListenersWithCurrentValuesTimer"), Dr(this, "_closed"), Dr(this, "_disabled"), t.skipConvexDeploymentUrlCheck !== !0 && ft(e);
2489
+ Dr(this, "listeners"), Dr(this, "_client"), Dr(this, "_paginatedClient"), Dr(this, "callNewListenersWithCurrentValuesTimer"), Dr(this, "_closed"), Dr(this, "_disabled"), t.skipConvexDeploymentUrlCheck !== !0 && pt(e);
2490
2490
  let { disabled: n, ...r } = t;
2491
2491
  this._closed = !1, this._disabled = !!n, Or && !("webSocketConstructor" in r) && typeof WebSocket > "u" && (r.webSocketConstructor = Or), typeof window > "u" && !("unsavedChangesWarning" in r) && (r.unsavedChangesWarning = !1), this.disabled || (this._client = new yr(e, () => {}, r), this._paginatedClient = new wr(this._client, (e) => this._transition(e))), this.listeners = /* @__PURE__ */ new Set();
2492
2492
  }
@@ -2584,7 +2584,7 @@ var xr = Object.defineProperty, Sr = (e, t, n) => t in e ? xr(e, t, {
2584
2584
  _transition({ queries: e, paginatedQueries: t }, n = !1) {
2585
2585
  let r = [...e.map((e) => e.token), ...t.map((e) => e.token)];
2586
2586
  for (let e of this.listeners) {
2587
- let { callback: t, queryToken: i, onError: a, hasEverRun: o } = e, s = an(i), c = s ? !!this.paginatedClient.localQueryResultByToken(i) : this.client.hasLocalQueryResultByToken(i);
2587
+ let { callback: t, queryToken: i, onError: a, hasEverRun: o } = e, s = on(i), c = s ? !!this.paginatedClient.localQueryResultByToken(i) : this.client.hasLocalQueryResultByToken(i);
2588
2588
  if (r.includes(i) || n && !o && c) {
2589
2589
  e.hasEverRun = !0;
2590
2590
  let n;
@@ -2632,10 +2632,10 @@ function Ar(e) {
2632
2632
  return e;
2633
2633
  }
2634
2634
  function jr(e, t) {
2635
- let n = B(e);
2635
+ let n = z(e);
2636
2636
  n.current = e;
2637
- let [r, i] = R(() => typeof t == "function" ? t() : t);
2638
- return [r, H((e) => {
2637
+ let [r, i] = L(() => typeof t == "function" ? t() : t);
2638
+ return [r, V((e) => {
2639
2639
  i((t) => {
2640
2640
  let r = n.current[t.kind]?.[e.type];
2641
2641
  return r ? r(t, e) : t;
@@ -2714,9 +2714,9 @@ var Lr = Ar({
2714
2714
  }
2715
2715
  });
2716
2716
  function Rr() {
2717
- let [e, t] = jr(Lr, { kind: "idle" }), n = e, r = B(n);
2717
+ let [e, t] = jr(Lr, { kind: "idle" }), n = e, r = z(n);
2718
2718
  r.current = n;
2719
- let i = H(async (e, n) => {
2719
+ let i = V(async (e, n) => {
2720
2720
  if (r.current.kind !== "pending") {
2721
2721
  t({ type: "start" });
2722
2722
  try {
@@ -2734,7 +2734,7 @@ function Rr() {
2734
2734
  return;
2735
2735
  }
2736
2736
  }
2737
- }, [t]), a = H(() => t({ type: "reset" }), [t]);
2737
+ }, [t]), a = V(() => t({ type: "reset" }), [t]);
2738
2738
  return {
2739
2739
  state: n,
2740
2740
  isIdle: n.kind === "idle",
@@ -3204,7 +3204,7 @@ async function hi(e, t) {
3204
3204
  } catch {}
3205
3205
  return i;
3206
3206
  } catch (e) {
3207
- return e?.name !== "TypeError" && N(e, { context: "cookie-probe" }), !1;
3207
+ return e?.name !== "TypeError" && M(e, { context: "cookie-probe" }), !1;
3208
3208
  }
3209
3209
  }
3210
3210
  //#endregion
@@ -3215,7 +3215,7 @@ function vi(e) {
3215
3215
  try {
3216
3216
  e();
3217
3217
  } catch (e) {
3218
- N(e, { context: "history-observer-listener" });
3218
+ M(e, { context: "history-observer-listener" });
3219
3219
  }
3220
3220
  });
3221
3221
  }
@@ -3252,27 +3252,42 @@ function Si(e) {
3252
3252
  };
3253
3253
  }
3254
3254
  //#endregion
3255
+ //#region src/runtime/safe-url.ts
3256
+ var Ci = new Set(["http:", "https:"]);
3257
+ function wi(e, t) {
3258
+ let n;
3259
+ try {
3260
+ n = new URL(e, t);
3261
+ } catch {
3262
+ return null;
3263
+ }
3264
+ return Ci.has(n.protocol) ? n : null;
3265
+ }
3266
+ //#endregion
3255
3267
  //#region src/runtime/identity-store.ts
3256
- var Ci = "markup.identity";
3257
- function wi() {
3268
+ var Ti = "markup.identity";
3269
+ function Ei() {
3258
3270
  try {
3259
- let e = localStorage.getItem(Ci);
3271
+ let e = localStorage.getItem(Ti);
3260
3272
  return e ? JSON.parse(e) : null;
3261
3273
  } catch {
3262
3274
  return null;
3263
3275
  }
3264
3276
  }
3265
- function Ti(e) {
3277
+ function Di(e) {
3278
+ if (typeof e.image == "string") return wi(e.image, location.href)?.href ?? void 0;
3279
+ }
3280
+ function Oi(e) {
3266
3281
  try {
3267
3282
  if (e == null) {
3268
- localStorage.removeItem(Ci);
3283
+ localStorage.removeItem(Ti);
3269
3284
  return;
3270
3285
  }
3271
- localStorage.setItem(Ci, JSON.stringify(e));
3286
+ localStorage.setItem(Ti, JSON.stringify(e));
3272
3287
  } catch {}
3273
3288
  }
3274
- function Ei() {
3275
- let e = wi(), t = {
3289
+ function ki() {
3290
+ let e = Ei(), t = {
3276
3291
  name: e?.name,
3277
3292
  email: e?.email
3278
3293
  };
@@ -3290,7 +3305,8 @@ function Ei() {
3290
3305
  tokenExpiresAt: e.tokenExpiresAt,
3291
3306
  refreshTokenExpiresAt: e.refreshTokenExpiresAt,
3292
3307
  name: e.name,
3293
- email: e.email
3308
+ email: e.email,
3309
+ image: Di(e)
3294
3310
  }
3295
3311
  },
3296
3312
  preserved: t
@@ -3310,7 +3326,8 @@ function Ei() {
3310
3326
  refreshTokenExpiresAt: e.refreshTokenExpiresAt
3311
3327
  } : {},
3312
3328
  name: e.name,
3313
- email: e.email
3329
+ email: e.email,
3330
+ image: Di(e)
3314
3331
  }
3315
3332
  },
3316
3333
  preserved: t
@@ -3332,10 +3349,10 @@ function Ei() {
3332
3349
  preserved: t
3333
3350
  };
3334
3351
  }
3335
- function Di(e) {
3352
+ function Ai(e) {
3336
3353
  switch (e.kind) {
3337
3354
  case "verified":
3338
- Ti({
3355
+ Oi({
3339
3356
  clientId: e.identity.clientId,
3340
3357
  storage: e.identity.storage,
3341
3358
  token: e.identity.storage === "cookies" ? void 0 : e.identity.token,
@@ -3344,11 +3361,12 @@ function Di(e) {
3344
3361
  refreshTokenExpiresAt: e.identity.refreshTokenExpiresAt,
3345
3362
  isVerified: !0,
3346
3363
  name: e.identity.name,
3347
- email: e.identity.email
3364
+ email: e.identity.email,
3365
+ image: e.identity.image
3348
3366
  });
3349
3367
  return;
3350
3368
  case "anon":
3351
- Ti({
3369
+ Oi({
3352
3370
  clientId: e.identity.clientId,
3353
3371
  anonToken: e.identity.anonToken,
3354
3372
  name: e.identity.name,
@@ -3356,23 +3374,23 @@ function Di(e) {
3356
3374
  });
3357
3375
  return;
3358
3376
  case "recovering":
3359
- Ti({
3377
+ Oi({
3360
3378
  name: e.preserved.name,
3361
3379
  email: e.preserved.email
3362
3380
  });
3363
3381
  return;
3364
3382
  case "unresolved":
3365
- Ti(null);
3383
+ Oi(null);
3366
3384
  return;
3367
3385
  }
3368
3386
  }
3369
- function Oi(e) {
3387
+ function ji(e) {
3370
3388
  if (e.kind === "anon" || e.kind === "verified") return e.identity.clientId;
3371
3389
  }
3372
- function ki(e) {
3390
+ function Mi(e) {
3373
3391
  return e.kind === "anon" ? e.identity.name ?? null : e.kind === "verified" ? e.identity.name : null;
3374
3392
  }
3375
- function Ai(e) {
3393
+ function Ni(e) {
3376
3394
  if (e.kind === "anon") {
3377
3395
  let t = e.identity.name;
3378
3396
  return t ? {
@@ -3387,8 +3405,8 @@ function Ai(e) {
3387
3405
  }
3388
3406
  //#endregion
3389
3407
  //#region src/runtime/popup-auth.ts
3390
- var ji = "MARKUP_AUTH_RESULT", Mi = "MARKUP_AUTH_RETRY", Ni = "MARKUP_AUTH_EXPIRED", Pi = 5;
3391
- async function Fi(e) {
3408
+ var Pi = "MARKUP_AUTH_RESULT", Fi = "MARKUP_AUTH_RETRY", Ii = "MARKUP_AUTH_EXPIRED", Li = 5;
3409
+ async function Ri(e) {
3392
3410
  let { apiUrl: t, apiKey: n, useCookies: r } = e, i = new URL(t).origin, a = r ? "refresh,cookies" : "refresh";
3393
3411
  async function o() {
3394
3412
  let e = await fetch(`${t.replace(/\/+$/, "")}/widget/popup-exchange`, {
@@ -3407,7 +3425,7 @@ async function Fi(e) {
3407
3425
  try {
3408
3426
  s = await o();
3409
3427
  } catch (e) {
3410
- return e?.name !== "TypeError" && N(e, { context: "popup-exchange" }), Promise.reject(e instanceof Error ? e : /* @__PURE__ */ Error("Failed to start popup exchange"));
3428
+ return e?.name !== "TypeError" && M(e, { context: "popup-exchange" }), Promise.reject(e instanceof Error ? e : /* @__PURE__ */ Error("Failed to start popup exchange"));
3411
3429
  }
3412
3430
  let c = Math.max(0, window.screenX + (window.outerWidth - 420) / 2), l = Math.max(0, window.screenY + (window.outerHeight - 560) / 2), u = window.open(s, "markup-auth", `width=420,height=560,left=${c},top=${l}`);
3413
3431
  if (!u) return Promise.reject(/* @__PURE__ */ Error("Popup blocked — allow popups for this site to sign in"));
@@ -3419,7 +3437,7 @@ async function Fi(e) {
3419
3437
  let s = (e) => {
3420
3438
  if (!r) {
3421
3439
  if (e) {
3422
- if (n >= Pi) {
3440
+ if (n >= Li) {
3423
3441
  a(), t(/* @__PURE__ */ Error("Sign-in could not be restarted — close the window and try again"));
3424
3442
  return;
3425
3443
  }
@@ -3428,7 +3446,7 @@ async function Fi(e) {
3428
3446
  r = !0, o().then((e) => {
3429
3447
  u.closed || (u.location.href = e);
3430
3448
  }).catch((e) => {
3431
- a(), N(e, { context: "popup-exchange-remint" }), t(e instanceof Error ? e : /* @__PURE__ */ Error("Failed to restart sign-in"));
3449
+ a(), M(e, { context: "popup-exchange-remint" }), t(e instanceof Error ? e : /* @__PURE__ */ Error("Failed to restart sign-in"));
3432
3450
  }).finally(() => {
3433
3451
  r = !1;
3434
3452
  });
@@ -3437,15 +3455,15 @@ async function Fi(e) {
3437
3455
  function c(n) {
3438
3456
  if (n.origin !== i || n.source !== u) return;
3439
3457
  let r = n.data;
3440
- if (r?.type === Mi) {
3458
+ if (r?.type === Fi) {
3441
3459
  s(!1);
3442
3460
  return;
3443
3461
  }
3444
- if (r?.type === Ni) {
3462
+ if (r?.type === Ii) {
3445
3463
  s(!0);
3446
3464
  return;
3447
3465
  }
3448
- r?.type === ji && (a(), r.identity?.id && r.identity?.name ? e({
3466
+ r?.type === Pi && (a(), r.identity?.id && r.identity?.name ? e({
3449
3467
  mode: r.mode === "cookies" ? "cookies" : "localStorage",
3450
3468
  identity: r.identity,
3451
3469
  token: typeof r.token == "string" ? r.token : null,
@@ -3476,7 +3494,7 @@ async function Fi(e) {
3476
3494
  });
3477
3495
  if (!e.ok) {
3478
3496
  let t = /* @__PURE__ */ Error(`Failed to install widget cookies (${e.status})`);
3479
- throw N(t, { context: "install-cookies" }), t;
3497
+ throw M(t, { context: "install-cookies" }), t;
3480
3498
  }
3481
3499
  return {
3482
3500
  ...d,
@@ -3487,58 +3505,46 @@ async function Fi(e) {
3487
3505
  return d;
3488
3506
  }
3489
3507
  //#endregion
3490
- //#region src/runtime/safe-url.ts
3491
- var Ii = new Set(["http:", "https:"]);
3492
- function Li(e, t) {
3493
- let n;
3494
- try {
3495
- n = new URL(e, t);
3496
- } catch {
3497
- return null;
3498
- }
3499
- return Ii.has(n.protocol) ? n : null;
3500
- }
3501
- //#endregion
3502
3508
  //#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/util.js
3503
- function Ri(e, t) {
3509
+ function zi(e, t) {
3504
3510
  if (e.match(/^[a-z]+:\/\//i)) return e;
3505
3511
  if (e.match(/^\/\//)) return window.location.protocol + e;
3506
3512
  if (e.match(/^[a-z]+:/i)) return e;
3507
3513
  let n = document.implementation.createHTMLDocument(), r = n.createElement("base"), i = n.createElement("a");
3508
3514
  return n.head.appendChild(r), n.body.appendChild(i), t && (r.href = t), i.href = e, i.href;
3509
3515
  }
3510
- var zi = (() => {
3516
+ var Bi = (() => {
3511
3517
  let e = 0, t = () => `0000${(Math.random() * 36 ** 4 << 0).toString(36)}`.slice(-4);
3512
3518
  return () => (e += 1, `u${t()}${e}`);
3513
3519
  })();
3514
- function Bi(e) {
3520
+ function Vi(e) {
3515
3521
  let t = [];
3516
3522
  for (let n = 0, r = e.length; n < r; n++) t.push(e[n]);
3517
3523
  return t;
3518
3524
  }
3519
- var Vi = null;
3520
- function Hi(e = {}) {
3521
- return Vi || (e.includeStyleProperties ? (Vi = e.includeStyleProperties, Vi) : (Vi = Bi(window.getComputedStyle(document.documentElement)), Vi));
3525
+ var Hi = null;
3526
+ function Ui(e = {}) {
3527
+ return Hi || (e.includeStyleProperties ? (Hi = e.includeStyleProperties, Hi) : (Hi = Vi(window.getComputedStyle(document.documentElement)), Hi));
3522
3528
  }
3523
- function Ui(e, t) {
3529
+ function Wi(e, t) {
3524
3530
  let n = (e.ownerDocument.defaultView || window).getComputedStyle(e).getPropertyValue(t);
3525
3531
  return n ? parseFloat(n.replace("px", "")) : 0;
3526
3532
  }
3527
- function Wi(e) {
3528
- let t = Ui(e, "border-left-width"), n = Ui(e, "border-right-width");
3533
+ function Gi(e) {
3534
+ let t = Wi(e, "border-left-width"), n = Wi(e, "border-right-width");
3529
3535
  return e.clientWidth + t + n;
3530
3536
  }
3531
- function Gi(e) {
3532
- let t = Ui(e, "border-top-width"), n = Ui(e, "border-bottom-width");
3537
+ function Ki(e) {
3538
+ let t = Wi(e, "border-top-width"), n = Wi(e, "border-bottom-width");
3533
3539
  return e.clientHeight + t + n;
3534
3540
  }
3535
- function Ki(e, t = {}) {
3541
+ function qi(e, t = {}) {
3536
3542
  return {
3537
- width: t.width || Wi(e),
3538
- height: t.height || Gi(e)
3543
+ width: t.width || Gi(e),
3544
+ height: t.height || Ki(e)
3539
3545
  };
3540
3546
  }
3541
- function qi() {
3547
+ function Ji() {
3542
3548
  let e, t;
3543
3549
  try {
3544
3550
  t = process;
@@ -3547,10 +3553,10 @@ function qi() {
3547
3553
  return n && (e = parseInt(n, 10), Number.isNaN(e) && (e = 1)), e || window.devicePixelRatio || 1;
3548
3554
  }
3549
3555
  var Y = 16384;
3550
- function Ji(e) {
3556
+ function Yi(e) {
3551
3557
  (e.width > Y || e.height > Y) && (e.width > Y && e.height > Y ? e.width > e.height ? (e.height *= Y / e.width, e.width = Y) : (e.width *= Y / e.height, e.height = Y) : e.width > Y ? (e.height *= Y / e.width, e.width = Y) : (e.width *= Y / e.height, e.height = Y));
3552
3558
  }
3553
- function Yi(e) {
3559
+ function Xi(e) {
3554
3560
  return new Promise((t, n) => {
3555
3561
  let r = new Image();
3556
3562
  r.onload = () => {
@@ -3560,12 +3566,12 @@ function Yi(e) {
3560
3566
  }, r.onerror = n, r.crossOrigin = "anonymous", r.decoding = "async", r.src = e;
3561
3567
  });
3562
3568
  }
3563
- async function Xi(e) {
3569
+ async function Zi(e) {
3564
3570
  return Promise.resolve().then(() => new XMLSerializer().serializeToString(e)).then(encodeURIComponent).then((e) => `data:image/svg+xml;charset=utf-8,${e}`);
3565
3571
  }
3566
- async function Zi(e, t, n) {
3572
+ async function Qi(e, t, n) {
3567
3573
  let r = "http://www.w3.org/2000/svg", i = document.createElementNS(r, "svg"), a = document.createElementNS(r, "foreignObject");
3568
- return i.setAttribute("width", `${t}`), i.setAttribute("height", `${n}`), i.setAttribute("viewBox", `0 0 ${t} ${n}`), a.setAttribute("width", "100%"), a.setAttribute("height", "100%"), a.setAttribute("x", "0"), a.setAttribute("y", "0"), a.setAttribute("externalResourcesRequired", "true"), i.appendChild(a), a.appendChild(e), Xi(i);
3574
+ return i.setAttribute("width", `${t}`), i.setAttribute("height", `${n}`), i.setAttribute("viewBox", `0 0 ${t} ${n}`), a.setAttribute("width", "100%"), a.setAttribute("height", "100%"), a.setAttribute("x", "0"), a.setAttribute("y", "0"), a.setAttribute("externalResourcesRequired", "true"), i.appendChild(a), a.appendChild(e), Zi(i);
3569
3575
  }
3570
3576
  var X = (e, t) => {
3571
3577
  if (e instanceof t) return !0;
@@ -3574,66 +3580,66 @@ var X = (e, t) => {
3574
3580
  };
3575
3581
  //#endregion
3576
3582
  //#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/clone-pseudos.js
3577
- function Qi(e) {
3583
+ function $i(e) {
3578
3584
  let t = e.getPropertyValue("content");
3579
3585
  return `${e.cssText} content: '${t.replace(/'|"/g, "")}';`;
3580
3586
  }
3581
- function $i(e, t) {
3582
- return Hi(t).map((t) => `${t}: ${e.getPropertyValue(t)}${e.getPropertyPriority(t) ? " !important" : ""};`).join(" ");
3587
+ function ea(e, t) {
3588
+ return Ui(t).map((t) => `${t}: ${e.getPropertyValue(t)}${e.getPropertyPriority(t) ? " !important" : ""};`).join(" ");
3583
3589
  }
3584
- function ea(e, t, n, r) {
3585
- let i = `.${e}:${t}`, a = n.cssText ? Qi(n) : $i(n, r);
3590
+ function ta(e, t, n, r) {
3591
+ let i = `.${e}:${t}`, a = n.cssText ? $i(n) : ea(n, r);
3586
3592
  return document.createTextNode(`${i}{${a}}`);
3587
3593
  }
3588
- function ta(e, t, n, r) {
3594
+ function na(e, t, n, r) {
3589
3595
  let i = window.getComputedStyle(e, n), a = i.getPropertyValue("content");
3590
3596
  if (a === "" || a === "none") return;
3591
- let o = zi();
3597
+ let o = Bi();
3592
3598
  try {
3593
3599
  t.className = `${t.className} ${o}`;
3594
3600
  } catch {
3595
3601
  return;
3596
3602
  }
3597
3603
  let s = document.createElement("style");
3598
- s.appendChild(ea(o, n, i, r)), t.appendChild(s);
3604
+ s.appendChild(ta(o, n, i, r)), t.appendChild(s);
3599
3605
  }
3600
- function na(e, t, n) {
3601
- ta(e, t, ":before", n), ta(e, t, ":after", n);
3606
+ function ra(e, t, n) {
3607
+ na(e, t, ":before", n), na(e, t, ":after", n);
3602
3608
  }
3603
3609
  //#endregion
3604
3610
  //#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/mimes.js
3605
- var ra = "application/font-woff", ia = "image/jpeg", aa = {
3606
- woff: ra,
3607
- woff2: ra,
3611
+ var ia = "application/font-woff", aa = "image/jpeg", oa = {
3612
+ woff: ia,
3613
+ woff2: ia,
3608
3614
  ttf: "application/font-truetype",
3609
3615
  eot: "application/vnd.ms-fontobject",
3610
3616
  png: "image/png",
3611
- jpg: ia,
3612
- jpeg: ia,
3617
+ jpg: aa,
3618
+ jpeg: aa,
3613
3619
  gif: "image/gif",
3614
3620
  tiff: "image/tiff",
3615
3621
  svg: "image/svg+xml",
3616
3622
  webp: "image/webp"
3617
3623
  };
3618
- function oa(e) {
3624
+ function sa(e) {
3619
3625
  let t = /\.([^./]*?)$/g.exec(e);
3620
3626
  return t ? t[1] : "";
3621
3627
  }
3622
- function sa(e) {
3623
- return aa[oa(e).toLowerCase()] || "";
3628
+ function ca(e) {
3629
+ return oa[sa(e).toLowerCase()] || "";
3624
3630
  }
3625
3631
  //#endregion
3626
3632
  //#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/dataurl.js
3627
- function ca(e) {
3633
+ function la(e) {
3628
3634
  return e.split(/,/)[1];
3629
3635
  }
3630
- function la(e) {
3636
+ function ua(e) {
3631
3637
  return e.search(/^(data:)/) !== -1;
3632
3638
  }
3633
- function ua(e, t) {
3639
+ function da(e, t) {
3634
3640
  return `data:${t};base64,${e}`;
3635
3641
  }
3636
- async function da(e, t, n) {
3642
+ async function fa(e, t, n) {
3637
3643
  let r = await fetch(e, t);
3638
3644
  if (r.status === 404) throw Error(`Resource "${r.url}" not found`);
3639
3645
  let i = await r.blob();
@@ -3651,78 +3657,78 @@ async function da(e, t, n) {
3651
3657
  }, a.readAsDataURL(i);
3652
3658
  });
3653
3659
  }
3654
- var fa = {};
3655
- function pa(e, t, n) {
3660
+ var pa = {};
3661
+ function ma(e, t, n) {
3656
3662
  let r = e.replace(/\?.*/, "");
3657
3663
  return n && (r = e), /ttf|otf|eot|woff2?/i.test(r) && (r = r.replace(/.*\//, "")), t ? `[${t}]${r}` : r;
3658
3664
  }
3659
- async function ma(e, t, n) {
3660
- let r = pa(e, t, n.includeQueryParams);
3661
- if (fa[r] != null) return fa[r];
3665
+ async function ha(e, t, n) {
3666
+ let r = ma(e, t, n.includeQueryParams);
3667
+ if (pa[r] != null) return pa[r];
3662
3668
  n.cacheBust && (e += (/\?/.test(e) ? "&" : "?") + (/* @__PURE__ */ new Date()).getTime());
3663
3669
  let i;
3664
3670
  try {
3665
- i = ua(await da(e, n.fetchRequestInit, ({ res: e, result: n }) => (t ||= e.headers.get("Content-Type") || "", ca(n))), t);
3671
+ i = da(await fa(e, n.fetchRequestInit, ({ res: e, result: n }) => (t ||= e.headers.get("Content-Type") || "", la(n))), t);
3666
3672
  } catch (t) {
3667
3673
  i = n.imagePlaceholder || "";
3668
3674
  let r = `Failed to fetch resource: ${e}`;
3669
3675
  t && (r = typeof t == "string" ? t : t.message), r && console.warn(r);
3670
3676
  }
3671
- return fa[r] = i, i;
3677
+ return pa[r] = i, i;
3672
3678
  }
3673
3679
  //#endregion
3674
3680
  //#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/clone-node.js
3675
- async function ha(e) {
3681
+ async function ga(e) {
3676
3682
  let t = e.toDataURL();
3677
- return t === "data:," ? e.cloneNode(!1) : Yi(t);
3683
+ return t === "data:," ? e.cloneNode(!1) : Xi(t);
3678
3684
  }
3679
- async function ga(e, t) {
3685
+ async function _a(e, t) {
3680
3686
  if (e.currentSrc) {
3681
3687
  let t = document.createElement("canvas"), n = t.getContext("2d");
3682
- return t.width = e.clientWidth, t.height = e.clientHeight, n?.drawImage(e, 0, 0, t.width, t.height), Yi(t.toDataURL());
3688
+ return t.width = e.clientWidth, t.height = e.clientHeight, n?.drawImage(e, 0, 0, t.width, t.height), Xi(t.toDataURL());
3683
3689
  }
3684
3690
  let n = e.poster;
3685
- return Yi(await ma(n, sa(n), t));
3691
+ return Xi(await ha(n, ca(n), t));
3686
3692
  }
3687
- async function _a(e, t) {
3693
+ async function va(e, t) {
3688
3694
  try {
3689
- if (e?.contentDocument?.body) return await Da(e.contentDocument.body, t, !0);
3695
+ if (e?.contentDocument?.body) return await Oa(e.contentDocument.body, t, !0);
3690
3696
  } catch {}
3691
3697
  return e.cloneNode(!1);
3692
3698
  }
3693
- async function va(e, t) {
3694
- return X(e, HTMLCanvasElement) ? ha(e) : X(e, HTMLVideoElement) ? ga(e, t) : X(e, HTMLIFrameElement) ? _a(e, t) : e.cloneNode(ba(e));
3699
+ async function ya(e, t) {
3700
+ return X(e, HTMLCanvasElement) ? ga(e) : X(e, HTMLVideoElement) ? _a(e, t) : X(e, HTMLIFrameElement) ? va(e, t) : e.cloneNode(xa(e));
3695
3701
  }
3696
- var ya = (e) => e.tagName != null && e.tagName.toUpperCase() === "SLOT", ba = (e) => e.tagName != null && e.tagName.toUpperCase() === "SVG";
3697
- async function xa(e, t, n) {
3698
- if (ba(t)) return t;
3702
+ var ba = (e) => e.tagName != null && e.tagName.toUpperCase() === "SLOT", xa = (e) => e.tagName != null && e.tagName.toUpperCase() === "SVG";
3703
+ async function Sa(e, t, n) {
3704
+ if (xa(t)) return t;
3699
3705
  let r = [];
3700
- return r = ya(e) && e.assignedNodes ? Bi(e.assignedNodes()) : X(e, HTMLIFrameElement) && e.contentDocument?.body ? Bi(e.contentDocument.body.childNodes) : Bi((e.shadowRoot ?? e).childNodes), r.length === 0 || X(e, HTMLVideoElement) || await r.reduce((e, r) => e.then(() => Da(r, n)).then((e) => {
3706
+ return r = ba(e) && e.assignedNodes ? Vi(e.assignedNodes()) : X(e, HTMLIFrameElement) && e.contentDocument?.body ? Vi(e.contentDocument.body.childNodes) : Vi((e.shadowRoot ?? e).childNodes), r.length === 0 || X(e, HTMLVideoElement) || await r.reduce((e, r) => e.then(() => Oa(r, n)).then((e) => {
3701
3707
  e && t.appendChild(e);
3702
3708
  }), Promise.resolve()), t;
3703
3709
  }
3704
- function Sa(e, t, n) {
3710
+ function Ca(e, t, n) {
3705
3711
  let r = t.style;
3706
3712
  if (!r) return;
3707
3713
  let i = window.getComputedStyle(e);
3708
- i.cssText ? (r.cssText = i.cssText, r.transformOrigin = i.transformOrigin) : Hi(n).forEach((n) => {
3714
+ i.cssText ? (r.cssText = i.cssText, r.transformOrigin = i.transformOrigin) : Ui(n).forEach((n) => {
3709
3715
  let a = i.getPropertyValue(n);
3710
3716
  n === "font-size" && a.endsWith("px") && (a = `${Math.floor(parseFloat(a.substring(0, a.length - 2))) - .1}px`), X(e, HTMLIFrameElement) && n === "display" && a === "inline" && (a = "block"), n === "d" && t.getAttribute("d") && (a = `path(${t.getAttribute("d")})`), r.setProperty(n, a, i.getPropertyPriority(n));
3711
3717
  });
3712
3718
  }
3713
- function Ca(e, t) {
3719
+ function wa(e, t) {
3714
3720
  X(e, HTMLTextAreaElement) && (t.innerHTML = e.value), X(e, HTMLInputElement) && t.setAttribute("value", e.value);
3715
3721
  }
3716
- function wa(e, t) {
3722
+ function Ta(e, t) {
3717
3723
  if (X(e, HTMLSelectElement)) {
3718
3724
  let n = t, r = Array.from(n.children).find((t) => e.value === t.getAttribute("value"));
3719
3725
  r && r.setAttribute("selected", "");
3720
3726
  }
3721
3727
  }
3722
- function Ta(e, t, n) {
3723
- return X(t, Element) && (Sa(e, t, n), na(e, t, n), Ca(e, t), wa(e, t)), t;
3728
+ function Ea(e, t, n) {
3729
+ return X(t, Element) && (Ca(e, t, n), ra(e, t, n), wa(e, t), Ta(e, t)), t;
3724
3730
  }
3725
- async function Ea(e, t) {
3731
+ async function Da(e, t) {
3726
3732
  let n = e.querySelectorAll ? e.querySelectorAll("use") : [];
3727
3733
  if (n.length === 0) return e;
3728
3734
  let r = {};
@@ -3730,7 +3736,7 @@ async function Ea(e, t) {
3730
3736
  let a = n[i].getAttribute("xlink:href");
3731
3737
  if (a) {
3732
3738
  let n = e.querySelector(a), i = document.querySelector(a);
3733
- !n && i && !r[a] && (r[a] = await Da(i, t, !0));
3739
+ !n && i && !r[a] && (r[a] = await Oa(i, t, !0));
3734
3740
  }
3735
3741
  }
3736
3742
  let i = Object.values(r);
@@ -3744,61 +3750,61 @@ async function Ea(e, t) {
3744
3750
  }
3745
3751
  return e;
3746
3752
  }
3747
- async function Da(e, t, n) {
3748
- return !n && t.filter && !t.filter(e) ? null : Promise.resolve(e).then((e) => va(e, t)).then((n) => xa(e, n, t)).then((n) => Ta(e, n, t)).then((e) => Ea(e, t));
3753
+ async function Oa(e, t, n) {
3754
+ return !n && t.filter && !t.filter(e) ? null : Promise.resolve(e).then((e) => ya(e, t)).then((n) => Sa(e, n, t)).then((n) => Ea(e, n, t)).then((e) => Da(e, t));
3749
3755
  }
3750
3756
  //#endregion
3751
3757
  //#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/embed-resources.js
3752
- var Oa = /url\((['"]?)([^'"]+?)\1\)/g, ka = /url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g, Aa = /src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;
3753
- function ja(e) {
3758
+ var ka = /url\((['"]?)([^'"]+?)\1\)/g, Aa = /url\([^)]+\)\s*format\((["']?)([^"']+)\1\)/g, ja = /src:\s*(?:url\([^)]+\)\s*format\([^)]+\)[,;]\s*)+/g;
3759
+ function Ma(e) {
3754
3760
  let t = e.replace(/([.*+?^${}()|\[\]\/\\])/g, "\\$1");
3755
3761
  return RegExp(`(url\\(['"]?)(${t})(['"]?\\))`, "g");
3756
3762
  }
3757
- function Ma(e) {
3763
+ function Na(e) {
3758
3764
  let t = [];
3759
- return e.replace(Oa, (e, n, r) => (t.push(r), e)), t.filter((e) => !la(e));
3765
+ return e.replace(ka, (e, n, r) => (t.push(r), e)), t.filter((e) => !ua(e));
3760
3766
  }
3761
- async function Na(e, t, n, r, i) {
3767
+ async function Pa(e, t, n, r, i) {
3762
3768
  try {
3763
- let a = n ? Ri(t, n) : t, o = sa(t), s;
3764
- return s = i ? ua(await i(a), o) : await ma(a, o, r), e.replace(ja(t), `$1${s}$3`);
3769
+ let a = n ? zi(t, n) : t, o = ca(t), s;
3770
+ return s = i ? da(await i(a), o) : await ha(a, o, r), e.replace(Ma(t), `$1${s}$3`);
3765
3771
  } catch {}
3766
3772
  return e;
3767
3773
  }
3768
- function Pa(e, { preferredFontFormat: t }) {
3769
- return t ? e.replace(Aa, (e) => {
3774
+ function Fa(e, { preferredFontFormat: t }) {
3775
+ return t ? e.replace(ja, (e) => {
3770
3776
  for (;;) {
3771
- let [n, , r] = ka.exec(e) || [];
3777
+ let [n, , r] = Aa.exec(e) || [];
3772
3778
  if (!r) return "";
3773
3779
  if (r === t) return `src: ${n};`;
3774
3780
  }
3775
3781
  }) : e;
3776
3782
  }
3777
- function Fa(e) {
3778
- return e.search(Oa) !== -1;
3783
+ function Ia(e) {
3784
+ return e.search(ka) !== -1;
3779
3785
  }
3780
- async function Ia(e, t, n) {
3781
- if (!Fa(e)) return e;
3782
- let r = Pa(e, n);
3783
- return Ma(r).reduce((e, r) => e.then((e) => Na(e, r, t, n)), Promise.resolve(r));
3786
+ async function La(e, t, n) {
3787
+ if (!Ia(e)) return e;
3788
+ let r = Fa(e, n);
3789
+ return Na(r).reduce((e, r) => e.then((e) => Pa(e, r, t, n)), Promise.resolve(r));
3784
3790
  }
3785
3791
  //#endregion
3786
3792
  //#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/embed-images.js
3787
- async function La(e, t, n) {
3793
+ async function Ra(e, t, n) {
3788
3794
  let r = t.style?.getPropertyValue(e);
3789
3795
  if (r) {
3790
- let i = await Ia(r, null, n);
3796
+ let i = await La(r, null, n);
3791
3797
  return t.style.setProperty(e, i, t.style.getPropertyPriority(e)), !0;
3792
3798
  }
3793
3799
  return !1;
3794
3800
  }
3795
- async function Ra(e, t) {
3796
- await La("background", e, t) || await La("background-image", e, t), await La("mask", e, t) || await La("-webkit-mask", e, t) || await La("mask-image", e, t) || await La("-webkit-mask-image", e, t);
3797
- }
3798
3801
  async function za(e, t) {
3802
+ await Ra("background", e, t) || await Ra("background-image", e, t), await Ra("mask", e, t) || await Ra("-webkit-mask", e, t) || await Ra("mask-image", e, t) || await Ra("-webkit-mask-image", e, t);
3803
+ }
3804
+ async function Ba(e, t) {
3799
3805
  let n = X(e, HTMLImageElement);
3800
- if (!(n && !la(e.src)) && !(X(e, SVGImageElement) && !la(e.href.baseVal))) return;
3801
- let r = n ? e.src : e.href.baseVal, i = await ma(r, sa(r), t);
3806
+ if (!(n && !ua(e.src)) && !(X(e, SVGImageElement) && !ua(e.href.baseVal))) return;
3807
+ let r = n ? e.src : e.href.baseVal, i = await ha(r, ca(r), t);
3802
3808
  await new Promise((r, a) => {
3803
3809
  e.onload = r, e.onerror = t.onImageErrorHandler ? (...e) => {
3804
3810
  try {
@@ -3811,16 +3817,16 @@ async function za(e, t) {
3811
3817
  o.decode &&= r, o.loading === "lazy" && (o.loading = "eager"), n ? (e.srcset = "", e.src = i) : e.href.baseVal = i;
3812
3818
  });
3813
3819
  }
3814
- async function Ba(e, t) {
3815
- let n = Bi(e.childNodes).map((e) => Va(e, t));
3820
+ async function Va(e, t) {
3821
+ let n = Vi(e.childNodes).map((e) => Ha(e, t));
3816
3822
  await Promise.all(n).then(() => e);
3817
3823
  }
3818
- async function Va(e, t) {
3819
- X(e, Element) && (await Ra(e, t), await za(e, t), await Ba(e, t));
3824
+ async function Ha(e, t) {
3825
+ X(e, Element) && (await za(e, t), await Ba(e, t), await Va(e, t));
3820
3826
  }
3821
3827
  //#endregion
3822
3828
  //#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/apply-style.js
3823
- function Ha(e, t) {
3829
+ function Ua(e, t) {
3824
3830
  let { style: n } = e;
3825
3831
  t.backgroundColor && (n.backgroundColor = t.backgroundColor), t.width && (n.width = `${t.width}px`), t.height && (n.height = `${t.height}px`);
3826
3832
  let r = t.style;
@@ -3830,22 +3836,22 @@ function Ha(e, t) {
3830
3836
  }
3831
3837
  //#endregion
3832
3838
  //#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/embed-webfonts.js
3833
- var Ua = {};
3834
- async function Wa(e) {
3835
- let t = Ua[e];
3839
+ var Wa = {};
3840
+ async function Ga(e) {
3841
+ let t = Wa[e];
3836
3842
  return t ?? (t = {
3837
3843
  url: e,
3838
3844
  cssText: await (await fetch(e)).text()
3839
- }, Ua[e] = t, t);
3845
+ }, Wa[e] = t, t);
3840
3846
  }
3841
- async function Ga(e, t) {
3847
+ async function Ka(e, t) {
3842
3848
  let n = e.cssText, r = /url\(["']?([^"')]+)["']?\)/g, i = (n.match(/url\([^)]+\)/g) || []).map(async (i) => {
3843
3849
  let a = i.replace(r, "$1");
3844
- return a.startsWith("https://") || (a = new URL(a, e.url).href), da(a, t.fetchRequestInit, ({ result: e }) => (n = n.replace(i, `url(${e})`), [i, e]));
3850
+ return a.startsWith("https://") || (a = new URL(a, e.url).href), fa(a, t.fetchRequestInit, ({ result: e }) => (n = n.replace(i, `url(${e})`), [i, e]));
3845
3851
  });
3846
3852
  return Promise.all(i).then(() => n);
3847
3853
  }
3848
- function Ka(e) {
3854
+ function qa(e) {
3849
3855
  if (e == null) return [];
3850
3856
  let t = [], n = e.replace(/(\/\*[\s\S]*?\*\/)/gi, ""), r = /* @__PURE__ */ RegExp("((@.*?keyframes [\\s\\S]*?){([\\s\\S]*?}\\s*?)})", "gi");
3851
3857
  for (;;) {
@@ -3865,13 +3871,13 @@ function Ka(e) {
3865
3871
  }
3866
3872
  return t;
3867
3873
  }
3868
- async function qa(e, t) {
3874
+ async function Ja(e, t) {
3869
3875
  let n = [], r = [];
3870
3876
  return e.forEach((n) => {
3871
3877
  if ("cssRules" in n) try {
3872
- Bi(n.cssRules || []).forEach((e, i) => {
3878
+ Vi(n.cssRules || []).forEach((e, i) => {
3873
3879
  if (e.type === CSSRule.IMPORT_RULE) {
3874
- let a = i + 1, o = e.href, s = Wa(o).then((e) => Ga(e, t)).then((e) => Ka(e).forEach((e) => {
3880
+ let a = i + 1, o = e.href, s = Ga(o).then((e) => Ka(e, t)).then((e) => qa(e).forEach((e) => {
3875
3881
  try {
3876
3882
  n.insertRule(e, e.startsWith("@import") ? a += 1 : n.cssRules.length);
3877
3883
  } catch (t) {
@@ -3888,7 +3894,7 @@ async function qa(e, t) {
3888
3894
  });
3889
3895
  } catch (i) {
3890
3896
  let a = e.find((e) => e.href == null) || document.styleSheets[0];
3891
- n.href != null && r.push(Wa(n.href).then((e) => Ga(e, t)).then((e) => Ka(e).forEach((e) => {
3897
+ n.href != null && r.push(Ga(n.href).then((e) => Ka(e, t)).then((e) => qa(e).forEach((e) => {
3892
3898
  a.insertRule(e, a.cssRules.length);
3893
3899
  })).catch((e) => {
3894
3900
  console.error("Error loading remote stylesheet", e);
@@ -3896,7 +3902,7 @@ async function qa(e, t) {
3896
3902
  }
3897
3903
  }), Promise.all(r).then(() => (e.forEach((e) => {
3898
3904
  if ("cssRules" in e) try {
3899
- Bi(e.cssRules || []).forEach((e) => {
3905
+ Vi(e.cssRules || []).forEach((e) => {
3900
3906
  n.push(e);
3901
3907
  });
3902
3908
  } catch (t) {
@@ -3904,36 +3910,36 @@ async function qa(e, t) {
3904
3910
  }
3905
3911
  }), n));
3906
3912
  }
3907
- function Ja(e) {
3908
- return e.filter((e) => e.type === CSSRule.FONT_FACE_RULE).filter((e) => Fa(e.style.getPropertyValue("src")));
3913
+ function Ya(e) {
3914
+ return e.filter((e) => e.type === CSSRule.FONT_FACE_RULE).filter((e) => Ia(e.style.getPropertyValue("src")));
3909
3915
  }
3910
- async function Ya(e, t) {
3916
+ async function Xa(e, t) {
3911
3917
  if (e.ownerDocument == null) throw Error("Provided element is not within a Document");
3912
- return Ja(await qa(Bi(e.ownerDocument.styleSheets), t));
3918
+ return Ya(await Ja(Vi(e.ownerDocument.styleSheets), t));
3913
3919
  }
3914
- function Xa(e) {
3920
+ function Za(e) {
3915
3921
  return e.trim().replace(/["']/g, "");
3916
3922
  }
3917
- function Za(e) {
3923
+ function Qa(e) {
3918
3924
  let t = /* @__PURE__ */ new Set();
3919
3925
  function n(e) {
3920
3926
  (e.style.fontFamily || getComputedStyle(e).fontFamily).split(",").forEach((e) => {
3921
- t.add(Xa(e));
3927
+ t.add(Za(e));
3922
3928
  }), Array.from(e.children).forEach((e) => {
3923
3929
  e instanceof HTMLElement && n(e);
3924
3930
  });
3925
3931
  }
3926
3932
  return n(e), t;
3927
3933
  }
3928
- async function Qa(e, t) {
3929
- let n = await Ya(e, t), r = Za(e);
3930
- return (await Promise.all(n.filter((e) => r.has(Xa(e.style.fontFamily))).map((e) => {
3934
+ async function $a(e, t) {
3935
+ let n = await Xa(e, t), r = Qa(e);
3936
+ return (await Promise.all(n.filter((e) => r.has(Za(e.style.fontFamily))).map((e) => {
3931
3937
  let n = e.parentStyleSheet ? e.parentStyleSheet.href : null;
3932
- return Ia(e.cssText, n, t);
3938
+ return La(e.cssText, n, t);
3933
3939
  }))).join("\n");
3934
3940
  }
3935
- async function $a(e, t) {
3936
- let n = t.fontEmbedCSS == null ? t.skipFonts ? null : await Qa(e, t) : t.fontEmbedCSS;
3941
+ async function eo(e, t) {
3942
+ let n = t.fontEmbedCSS == null ? t.skipFonts ? null : await $a(e, t) : t.fontEmbedCSS;
3937
3943
  if (n) {
3938
3944
  let t = document.createElement("style"), r = document.createTextNode(n);
3939
3945
  t.appendChild(r), e.firstChild ? e.insertBefore(t, e.firstChild) : e.appendChild(t);
@@ -3941,18 +3947,18 @@ async function $a(e, t) {
3941
3947
  }
3942
3948
  //#endregion
3943
3949
  //#region ../../node_modules/.pnpm/html-to-image@1.11.13/node_modules/html-to-image/es/index.js
3944
- async function eo(e, t = {}) {
3945
- let { width: n, height: r } = Ki(e, t), i = await Da(e, t, !0);
3946
- return await $a(i, t), await Va(i, t), Ha(i, t), await Zi(i, n, r);
3947
- }
3948
3950
  async function to(e, t = {}) {
3949
- let { width: n, height: r } = Ki(e, t), i = await Yi(await eo(e, t)), a = document.createElement("canvas"), o = a.getContext("2d"), s = t.pixelRatio || qi(), c = t.canvasWidth || n, l = t.canvasHeight || r;
3950
- return a.width = c * s, a.height = l * s, t.skipAutoScale || Ji(a), a.style.width = `${c}`, a.style.height = `${l}`, t.backgroundColor && (o.fillStyle = t.backgroundColor, o.fillRect(0, 0, a.width, a.height)), o.drawImage(i, 0, 0, a.width, a.height), a;
3951
+ let { width: n, height: r } = qi(e, t), i = await Oa(e, t, !0);
3952
+ return await eo(i, t), await Ha(i, t), Ua(i, t), await Qi(i, n, r);
3953
+ }
3954
+ async function no(e, t = {}) {
3955
+ let { width: n, height: r } = qi(e, t), i = await Xi(await to(e, t)), a = document.createElement("canvas"), o = a.getContext("2d"), s = t.pixelRatio || Ji(), c = t.canvasWidth || n, l = t.canvasHeight || r;
3956
+ return a.width = c * s, a.height = l * s, t.skipAutoScale || Yi(a), a.style.width = `${c}`, a.style.height = `${l}`, t.backgroundColor && (o.fillStyle = t.backgroundColor, o.fillRect(0, 0, a.width, a.height)), o.drawImage(i, 0, 0, a.width, a.height), a;
3951
3957
  }
3952
3958
  //#endregion
3953
3959
  //#region src/runtime/screenshot.ts
3954
- var no = 2 * 1024 * 1024, ro = "background:currentColor!important;color:transparent!important;text-shadow:none!important;-webkit-text-fill-color:transparent!important", io = "input[type=\"password\"],input[autocomplete~=\"cc-number\"],input[autocomplete~=\"cc-csc\"],input[autocomplete~=\"cc-exp\"],input[autocomplete~=\"cc-name\"],input[autocomplete~=\"cc-type\"],input[autocomplete~=\"current-password\"],input[autocomplete~=\"new-password\"],input[autocomplete~=\"one-time-code\"]";
3955
- function ao(e) {
3960
+ var ro = 2 * 1024 * 1024, io = "background:currentColor!important;color:transparent!important;text-shadow:none!important;-webkit-text-fill-color:transparent!important", ao = "input[type=\"password\"],input[autocomplete~=\"cc-number\"],input[autocomplete~=\"cc-csc\"],input[autocomplete~=\"cc-exp\"],input[autocomplete~=\"cc-name\"],input[autocomplete~=\"cc-type\"],input[autocomplete~=\"current-password\"],input[autocomplete~=\"new-password\"],input[autocomplete~=\"one-time-code\"]";
3961
+ function oo(e) {
3956
3962
  let t = e.parentElement;
3957
3963
  for (; t;) {
3958
3964
  if (t.hasAttribute("data-markup-safe")) return !0;
@@ -3960,37 +3966,37 @@ function ao(e) {
3960
3966
  }
3961
3967
  return !1;
3962
3968
  }
3963
- function oo(e) {
3969
+ function so(e) {
3964
3970
  let t = /* @__PURE__ */ new Set(), n = [];
3965
3971
  function r(e) {
3966
3972
  t.has(e) || (t.add(e), n.push(e));
3967
3973
  }
3968
3974
  for (let e of document.querySelectorAll("[data-markup-private],[data-markup-redact]")) r(e);
3969
- for (let e of document.querySelectorAll(io)) ao(e) || r(e);
3975
+ for (let e of document.querySelectorAll(ao)) oo(e) || r(e);
3970
3976
  if (e.redactSelector) try {
3971
- for (let t of document.querySelectorAll(e.redactSelector)) ao(t) || r(t);
3977
+ for (let t of document.querySelectorAll(e.redactSelector)) oo(t) || r(t);
3972
3978
  } catch (e) {
3973
- N(e, { context: "screenshot-redact-selector" });
3979
+ M(e, { context: "screenshot-redact-selector" });
3974
3980
  }
3975
- if (e.strictScrub) for (let e of document.querySelectorAll("input,select,textarea")) ao(e) || r(e);
3981
+ if (e.strictScrub) for (let e of document.querySelectorAll("input,select,textarea")) oo(e) || r(e);
3976
3982
  return n;
3977
3983
  }
3978
- function so(e) {
3984
+ function co(e) {
3979
3985
  let t = e.getAttribute("style");
3980
- return e.setAttribute("style", t ? `${t};${ro}` : ro), () => {
3986
+ return e.setAttribute("style", t ? `${t};${io}` : io), () => {
3981
3987
  t === null ? e.removeAttribute("style") : e.setAttribute("style", t);
3982
3988
  };
3983
3989
  }
3984
- function co(e) {
3990
+ function lo(e) {
3985
3991
  if (e.id) return `#${CSS.escape(e.id)}`;
3986
3992
  let t = e.tagName.toLowerCase(), n = e.getAttribute("type"), r = e.getAttribute("name");
3987
3993
  return n && r ? `${t}[type="${n}"][name="${r}"]` : n ? `${t}[type="${n}"]` : r ? `${t}[name="${r}"]` : t;
3988
3994
  }
3989
- async function lo(e, t, n) {
3995
+ async function uo(e, t, n) {
3990
3996
  try {
3991
- let r = window.innerWidth, i = window.innerHeight, a = Math.min(window.devicePixelRatio, 2), o = n ? oo(n) : [], s = o.map(co), c = o.map(so), l;
3997
+ let r = window.innerWidth, i = window.innerHeight, a = Math.min(window.devicePixelRatio, 2), o = n ? so(n) : [], s = o.map(lo), c = o.map(co), l;
3992
3998
  try {
3993
- l = await to(document.documentElement, {
3999
+ l = await no(document.documentElement, {
3994
4000
  width: r,
3995
4001
  height: i,
3996
4002
  cacheBust: !0,
@@ -4009,29 +4015,29 @@ async function lo(e, t, n) {
4009
4015
  }
4010
4016
  if (t) {
4011
4017
  let e = l.getContext("2d");
4012
- e && fo(e, t.x, t.y, a);
4018
+ e && po(e, t.x, t.y, a);
4013
4019
  }
4014
- let u = await uo(l, .85);
4020
+ let u = await fo(l, .85);
4015
4021
  if (!u) return null;
4016
- if (u.size <= no) return {
4022
+ if (u.size <= ro) return {
4017
4023
  blob: u,
4018
4024
  redactedCount: s.length,
4019
4025
  redactedSelectors: s
4020
4026
  };
4021
- let d = await uo(l, .5);
4022
- return !d || d.size > no ? null : {
4027
+ let d = await fo(l, .5);
4028
+ return !d || d.size > ro ? null : {
4023
4029
  blob: d,
4024
4030
  redactedCount: s.length,
4025
4031
  redactedSelectors: s
4026
4032
  };
4027
4033
  } catch (e) {
4028
- return N(e, { context: "screenshot-capture" }), null;
4034
+ return M(e, { context: "screenshot-capture" }), null;
4029
4035
  }
4030
4036
  }
4031
- function uo(e, t) {
4037
+ function fo(e, t) {
4032
4038
  return new Promise((n) => e.toBlob(n, "image/jpeg", t));
4033
4039
  }
4034
- function fo(e, t, n, r) {
4040
+ function po(e, t, n, r) {
4035
4041
  let i = r, a = 28 * i, o = a / 2, s = t * i, c = n * i;
4036
4042
  e.save();
4037
4043
  let l = 2 * i;
@@ -4049,7 +4055,7 @@ function fo(e, t, n, r) {
4049
4055
  }
4050
4056
  //#endregion
4051
4057
  //#region src/runtime/use-subscription-token.ts
4052
- var po = Ar({
4058
+ var mo = Ar({
4053
4059
  idle: { issued: (e, t) => ({
4054
4060
  kind: "active",
4055
4061
  token: t.token,
@@ -4060,10 +4066,10 @@ var po = Ar({
4060
4066
  token: t.token,
4061
4067
  expiresAt: t.expiresAt
4062
4068
  }) }
4063
- }), mo = 30 * 6e4, ho = 6e4, go = 6e4;
4064
- function _o(e) {
4065
- let [t, n] = jr(po, { kind: "idle" });
4066
- return z(() => {
4069
+ }), ho = 30 * 6e4, go = 6e4, _o = 6e4;
4070
+ function vo(e) {
4071
+ let [t, n] = jr(mo, { kind: "idle" });
4072
+ return R(() => {
4067
4073
  let t = !1, r = null;
4068
4074
  async function i() {
4069
4075
  try {
@@ -4074,11 +4080,11 @@ function _o(e) {
4074
4080
  token: a.token,
4075
4081
  expiresAt: a.expiresAt
4076
4082
  });
4077
- let o = Math.max(ho, a.expiresAt - Date.now() - mo);
4083
+ let o = Math.max(go, a.expiresAt - Date.now() - ho);
4078
4084
  r = setTimeout(i, o);
4079
4085
  } catch (e) {
4080
4086
  if (t) return;
4081
- e?.name !== "TypeError" && N(e, { context: "subscription-token-refresh" }), r = setTimeout(i, go);
4087
+ e?.name !== "TypeError" && M(e, { context: "subscription-token-refresh" }), r = setTimeout(i, _o);
4082
4088
  }
4083
4089
  }
4084
4090
  return i(), () => {
@@ -4088,7 +4094,7 @@ function _o(e) {
4088
4094
  }
4089
4095
  //#endregion
4090
4096
  //#region src/runtime/refresh-token.ts
4091
- async function vo(e) {
4097
+ async function yo(e) {
4092
4098
  try {
4093
4099
  let t = {
4094
4100
  method: "POST",
@@ -4119,23 +4125,23 @@ async function vo(e) {
4119
4125
  };
4120
4126
  } catch (e) {
4121
4127
  let t = e?.name;
4122
- return t !== "AbortError" && t !== "TypeError" && N(e, { context: "refresh-token" }), null;
4128
+ return t !== "AbortError" && t !== "TypeError" && M(e, { context: "refresh-token" }), null;
4123
4129
  }
4124
4130
  }
4125
4131
  //#endregion
4126
4132
  //#region src/runtime/use-token-refresh.ts
4127
- var yo = 6e4, bo = 500;
4128
- function xo(e, t, n, r, i) {
4133
+ var bo = 6e4, xo = 500;
4134
+ function So(e, t, n, r, i) {
4129
4135
  let a = e.kind === "verified", o = a ? e.identity.storage : void 0, s = a ? e.identity.refreshToken : void 0, c = a ? e.identity.refreshTokenExpiresAt : void 0, l = a ? e.identity.tokenExpiresAt : void 0;
4130
- z(() => {
4136
+ R(() => {
4131
4137
  if (!a || c == null || l == null || o === "localStorage" && s == null || o !== "cookies" && o !== "localStorage") return;
4132
4138
  let u = Date.now();
4133
4139
  if (c <= u) {
4134
4140
  i();
4135
4141
  return;
4136
4142
  }
4137
- let d = Math.max(bo, l - yo - u), f = new AbortController(), p = window.setTimeout(async () => {
4138
- let a = await vo({
4143
+ let d = Math.max(xo, l - bo - u), f = new AbortController(), p = window.setTimeout(async () => {
4144
+ let a = await yo({
4139
4145
  apiUrl: t,
4140
4146
  apiKey: n,
4141
4147
  mode: o,
@@ -4178,9 +4184,18 @@ function xo(e, t, n, r, i) {
4178
4184
  function Z(...e) {
4179
4185
  return e.filter(Boolean).join(" ");
4180
4186
  }
4187
+ function Co() {
4188
+ return typeof navigator < "u" && /Mac|iPhone|iPad/.test(navigator.platform || navigator.userAgent) ? {
4189
+ mod: "⌘",
4190
+ enter: "↵"
4191
+ } : {
4192
+ mod: "Ctrl",
4193
+ enter: "Enter"
4194
+ };
4195
+ }
4181
4196
  //#endregion
4182
4197
  //#region ../../node_modules/.pnpm/preact@10.29.1/node_modules/preact/jsx-runtime/dist/jsxRuntime.module.js
4183
- var So = 0;
4198
+ var wo = 0;
4184
4199
  Array.isArray;
4185
4200
  function Q(e, n, r, i, a, o) {
4186
4201
  n ||= {};
@@ -4197,7 +4212,7 @@ function Q(e, n, r, i, a, o) {
4197
4212
  __e: null,
4198
4213
  __c: null,
4199
4214
  constructor: void 0,
4200
- __v: --So,
4215
+ __v: --wo,
4201
4216
  __i: -1,
4202
4217
  __u: 0,
4203
4218
  __source: a,
@@ -4208,7 +4223,7 @@ function Q(e, n, r, i, a, o) {
4208
4223
  }
4209
4224
  //#endregion
4210
4225
  //#region src/runtime/ui/icons.tsx
4211
- function Co({ size: e = 16 }) {
4226
+ function To({ size: e = 16 }) {
4212
4227
  return /* @__PURE__ */ Q("svg", {
4213
4228
  width: e,
4214
4229
  height: e,
@@ -4218,7 +4233,7 @@ function Co({ size: e = 16 }) {
4218
4233
  children: /* @__PURE__ */ Q("path", { d: "M63.4561 0.00557731C70.6277 -0.0175584 76.9025 1.04088 83.5898 3.71066C97.7952 9.43043 109.186 20.5001 115.311 34.5359C119.708 44.8002 120.746 54.7869 119.156 65.8171C116.857 82.7956 105.129 98.8382 90.0566 106.846C83.4394 110.362 74.7336 113.029 67.2051 113.271C62.4204 113.425 61.1274 113.32 56.6807 115.204C50.2035 117.858 43.6874 120.417 37.1348 122.879C34.8442 123.763 32.3203 124.902 29.9404 125.51C29.4023 125.648 28.1978 125.009 27.7598 124.646C26.9046 123.951 27.0582 122.505 27.0264 121.484C26.8123 114.646 27.3302 107.458 26.8604 100.656C25.1578 98.6714 22.4026 96.603 20.3086 94.1989C12.1853 84.8731 7.05334 73.9949 6.18164 61.6101C4.95583 46.292 9.97176 31.1285 20.0908 19.5632C29.989 8.13202 44.0369 1.11921 59.1221 0.0788195C60.2694 -0.0356049 62.2637 0.00944821 63.4561 0.00557731ZM92.2676 55.7497C91.5754 39.5314 77.8207 26.9725 61.6064 27.7536C45.5175 28.5287 33.0758 42.1537 33.7627 58.2468C34.4496 74.3398 48.007 86.8553 64.1035 86.2566C80.3254 85.6533 92.9599 71.968 92.2676 55.7497Z" })
4219
4234
  });
4220
4235
  }
4221
- function wo({ size: e = 16 }) {
4236
+ function Eo({ size: e = 16 }) {
4222
4237
  return /* @__PURE__ */ Q("svg", {
4223
4238
  width: e,
4224
4239
  height: e,
@@ -4227,7 +4242,7 @@ function wo({ size: e = 16 }) {
4227
4242
  children: /* @__PURE__ */ Q("path", { d: "M6.28 5.22a.75.75 0 0 0-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 1 0 1.06 1.06L10 11.06l3.72 3.72a.75.75 0 1 0 1.06-1.06L11.06 10l3.72-3.72a.75.75 0 0 0-1.06-1.06L10 8.94 6.28 5.22Z" })
4228
4243
  });
4229
4244
  }
4230
- function To({ size: e = 16 }) {
4245
+ function Do({ size: e = 16 }) {
4231
4246
  return /* @__PURE__ */ Q("svg", {
4232
4247
  width: e,
4233
4248
  height: e,
@@ -4237,7 +4252,7 @@ function To({ size: e = 16 }) {
4237
4252
  children: /* @__PURE__ */ Q("path", { d: "M12.78 5.22a.75.75 0 0 1 0 1.06L9.06 10l3.72 3.72a.75.75 0 1 1-1.06 1.06l-4.25-4.25a.75.75 0 0 1 0-1.06l4.25-4.25a.75.75 0 0 1 1.06 0Z" })
4238
4253
  });
4239
4254
  }
4240
- function Eo({ size: e = 16 }) {
4255
+ function Oo({ size: e = 16 }) {
4241
4256
  return /* @__PURE__ */ Q("svg", {
4242
4257
  width: e,
4243
4258
  height: e,
@@ -4246,7 +4261,7 @@ function Eo({ size: e = 16 }) {
4246
4261
  children: /* @__PURE__ */ Q("path", { d: "M3 10a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM8.5 10a1.5 1.5 0 1 1 3 0 1.5 1.5 0 0 1-3 0ZM15.5 8.5a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3Z" })
4247
4262
  });
4248
4263
  }
4249
- function Do({ size: e = 16 }) {
4264
+ function ko({ size: e = 16 }) {
4250
4265
  return /* @__PURE__ */ Q("svg", {
4251
4266
  xmlns: "http://www.w3.org/2000/svg",
4252
4267
  width: e,
@@ -4256,7 +4271,7 @@ function Do({ size: e = 16 }) {
4256
4271
  children: /* @__PURE__ */ Q("path", { d: "M173.66,98.34a8,8,0,0,1,0,11.32l-56,56a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L112,148.69l50.34-50.35A8,8,0,0,1,173.66,98.34ZM232,128A104,104,0,1,1,128,24,104.11,104.11,0,0,1,232,128Zm-16,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128Z" })
4257
4272
  });
4258
4273
  }
4259
- function Oo({ size: e = 16 }) {
4274
+ function Ao({ size: e = 16 }) {
4260
4275
  return /* @__PURE__ */ Q("svg", {
4261
4276
  width: e,
4262
4277
  height: e,
@@ -4270,7 +4285,7 @@ function Oo({ size: e = 16 }) {
4270
4285
  })
4271
4286
  });
4272
4287
  }
4273
- function ko({ size: e = 16 }) {
4288
+ function jo({ size: e = 16 }) {
4274
4289
  return /* @__PURE__ */ Q("svg", {
4275
4290
  width: e,
4276
4291
  height: e,
@@ -4279,7 +4294,7 @@ function ko({ size: e = 16 }) {
4279
4294
  children: /* @__PURE__ */ Q("path", { d: "M2.87 2.298a.75.75 0 0 0-.812 1.021L3.39 6.624a1 1 0 0 0 .928.626H8.25a.75.75 0 0 1 0 1.5H4.318a1 1 0 0 0-.927.626l-1.333 3.305a.75.75 0 0 0 .811 1.022 24.89 24.89 0 0 0 11.668-5.115.75.75 0 0 0 0-1.175A24.89 24.89 0 0 0 2.869 2.298Z" })
4280
4295
  });
4281
4296
  }
4282
- function Ao({ size: e = 16 }) {
4297
+ function Mo({ size: e = 16 }) {
4283
4298
  return /* @__PURE__ */ Q("svg", {
4284
4299
  width: e,
4285
4300
  height: e,
@@ -4303,19 +4318,19 @@ function $({ size: e = 16, children: t }) {
4303
4318
  children: t
4304
4319
  });
4305
4320
  }
4306
- function jo({ size: e = 16 }) {
4321
+ function No({ size: e = 16 }) {
4307
4322
  return /* @__PURE__ */ Q($, {
4308
4323
  size: e,
4309
4324
  children: /* @__PURE__ */ Q("path", { d: "M21 11.5a8.4 8.4 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.4 8.4 0 0 1-3.8-.9L3 21l1.9-5.7a8.4 8.4 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.4 8.4 0 0 1 3.8-.9h.5a8.5 8.5 0 0 1 8 8v.5z" })
4310
4325
  });
4311
4326
  }
4312
- function Mo({ size: e = 16 }) {
4327
+ function Po({ size: e = 16 }) {
4313
4328
  return /* @__PURE__ */ Q($, {
4314
4329
  size: e,
4315
4330
  children: [/* @__PURE__ */ Q("path", { d: "M22 12h-6l-2 3h-4l-2-3H2" }), /* @__PURE__ */ Q("path", { d: "M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z" })]
4316
4331
  });
4317
4332
  }
4318
- function No({ size: e = 16 }) {
4333
+ function Fo({ size: e = 16 }) {
4319
4334
  return /* @__PURE__ */ Q($, {
4320
4335
  size: e,
4321
4336
  children: [/* @__PURE__ */ Q("path", { d: "M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12z" }), /* @__PURE__ */ Q("circle", {
@@ -4325,7 +4340,7 @@ function No({ size: e = 16 }) {
4325
4340
  })]
4326
4341
  });
4327
4342
  }
4328
- function Po({ size: e = 16 }) {
4343
+ function Io({ size: e = 16 }) {
4329
4344
  return /* @__PURE__ */ Q($, {
4330
4345
  size: e,
4331
4346
  children: [
@@ -4336,13 +4351,13 @@ function Po({ size: e = 16 }) {
4336
4351
  ]
4337
4352
  });
4338
4353
  }
4339
- function Fo({ size: e = 16 }) {
4354
+ function Lo({ size: e = 16 }) {
4340
4355
  return /* @__PURE__ */ Q($, {
4341
4356
  size: e,
4342
4357
  children: /* @__PURE__ */ Q("path", { d: "M3 6h18M3 12h18M3 18h18" })
4343
4358
  });
4344
4359
  }
4345
- function Io({ size: e = 16 }) {
4360
+ function Ro({ size: e = 16 }) {
4346
4361
  return /* @__PURE__ */ Q($, {
4347
4362
  size: e,
4348
4363
  children: [/* @__PURE__ */ Q("circle", {
@@ -4352,13 +4367,13 @@ function Io({ size: e = 16 }) {
4352
4367
  }), /* @__PURE__ */ Q("path", { d: "M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M4.93 19.07l1.41-1.41M17.66 6.34l1.41-1.41" })]
4353
4368
  });
4354
4369
  }
4355
- function Lo({ size: e = 16 }) {
4370
+ function zo({ size: e = 16 }) {
4356
4371
  return /* @__PURE__ */ Q($, {
4357
4372
  size: e,
4358
4373
  children: /* @__PURE__ */ Q("path", { d: "M21 12.79A9 9 0 1 1 11.21 3a7 7 0 0 0 9.79 9.79z" })
4359
4374
  });
4360
4375
  }
4361
- function Ro({ size: e = 16 }) {
4376
+ function Bo({ size: e = 16 }) {
4362
4377
  return /* @__PURE__ */ Q($, {
4363
4378
  size: e,
4364
4379
  children: [/* @__PURE__ */ Q("rect", {
@@ -4370,13 +4385,13 @@ function Ro({ size: e = 16 }) {
4370
4385
  }), /* @__PURE__ */ Q("path", { d: "M8 21h8M12 17v4" })]
4371
4386
  });
4372
4387
  }
4373
- function zo({ size: e = 16 }) {
4388
+ function Vo({ size: e = 16 }) {
4374
4389
  return /* @__PURE__ */ Q($, {
4375
4390
  size: e,
4376
4391
  children: /* @__PURE__ */ Q("path", { d: "M12 22s8-3.5 8-10V5l-8-3-8 3v7c0 6.5 8 10 8 10z" })
4377
4392
  });
4378
4393
  }
4379
- function Bo({ size: e = 16 }) {
4394
+ function Ho({ size: e = 16 }) {
4380
4395
  return /* @__PURE__ */ Q($, {
4381
4396
  size: e,
4382
4397
  children: [/* @__PURE__ */ Q("rect", {
@@ -4388,19 +4403,19 @@ function Bo({ size: e = 16 }) {
4388
4403
  }), /* @__PURE__ */ Q("path", { d: "M6 10h.01M10 10h.01M14 10h.01M18 10h.01M6 14h.01M18 14h.01M10 14h4" })]
4389
4404
  });
4390
4405
  }
4391
- function Vo({ size: e = 16 }) {
4406
+ function Uo({ size: e = 16 }) {
4392
4407
  return /* @__PURE__ */ Q($, {
4393
4408
  size: e,
4394
4409
  children: [/* @__PURE__ */ Q("path", { d: "M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4" }), /* @__PURE__ */ Q("path", { d: "M10 17l5-5-5-5M15 12H3" })]
4395
4410
  });
4396
4411
  }
4397
- function Ho({ size: e = 16 }) {
4412
+ function Wo({ size: e = 16 }) {
4398
4413
  return /* @__PURE__ */ Q($, {
4399
4414
  size: e,
4400
4415
  children: [/* @__PURE__ */ Q("path", { d: "M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4" }), /* @__PURE__ */ Q("path", { d: "M16 17l5-5-5-5M21 12H9" })]
4401
4416
  });
4402
4417
  }
4403
- function Uo({ size: e = 16 }) {
4418
+ function Go({ size: e = 16 }) {
4404
4419
  return /* @__PURE__ */ Q($, {
4405
4420
  size: e,
4406
4421
  children: [/* @__PURE__ */ Q("circle", {
@@ -4410,7 +4425,26 @@ function Uo({ size: e = 16 }) {
4410
4425
  }), /* @__PURE__ */ Q("path", { d: "M4 21a8 8 0 0 1 16 0" })]
4411
4426
  });
4412
4427
  }
4413
- function Wo({ size: e = 16 }) {
4428
+ function Ko({ size: e = 16 }) {
4429
+ return /* @__PURE__ */ Q($, {
4430
+ size: e,
4431
+ children: [
4432
+ /* @__PURE__ */ Q("path", { d: "M12 8V4H8" }),
4433
+ /* @__PURE__ */ Q("rect", {
4434
+ x: "4",
4435
+ y: "8",
4436
+ width: "16",
4437
+ height: "12",
4438
+ rx: "2"
4439
+ }),
4440
+ /* @__PURE__ */ Q("path", { d: "M2 14h2" }),
4441
+ /* @__PURE__ */ Q("path", { d: "M20 14h2" }),
4442
+ /* @__PURE__ */ Q("path", { d: "M15 13v2" }),
4443
+ /* @__PURE__ */ Q("path", { d: "M9 13v2" })
4444
+ ]
4445
+ });
4446
+ }
4447
+ function qo({ size: e = 16 }) {
4414
4448
  return /* @__PURE__ */ Q($, {
4415
4449
  size: e,
4416
4450
  children: [
@@ -4422,9 +4456,9 @@ function Wo({ size: e = 16 }) {
4422
4456
  }
4423
4457
  //#endregion
4424
4458
  //#region src/runtime/ui/identity-menu.tsx
4425
- function Go({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboardUrl: i, onSignIn: a, onSignOut: o, onForgetMe: s }) {
4426
- let [c, l] = R(!1), [u, d] = R(!1), [f, p] = R(!1), m = B(null);
4427
- z(() => {
4459
+ function Jo({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboardUrl: i, onSignIn: a, onSignOut: o, onForgetMe: s }) {
4460
+ let [c, l] = L(!1), [u, d] = L(!1), [f, p] = L(!1), m = z(null);
4461
+ R(() => {
4428
4462
  if (!c) return;
4429
4463
  function e(e) {
4430
4464
  let t = m.current;
@@ -4436,10 +4470,10 @@ function Go({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboa
4436
4470
  return document.addEventListener("click", e, !0), document.addEventListener("keydown", t), () => {
4437
4471
  document.removeEventListener("click", e, !0), document.removeEventListener("keydown", t);
4438
4472
  };
4439
- }, [c]), z(() => {
4473
+ }, [c]), R(() => {
4440
4474
  c || (d(!1), p(!1));
4441
4475
  }, [c]);
4442
- let h = ki(e), g = Ko(h), _ = e.kind === "verified", v = _ ? e.identity.email : null, y = t === "bottom-left" ? "is-anchor-left" : t === "bottom-center" ? "is-anchor-center" : "is-anchor-right";
4476
+ let h = Mi(e), g = Yo(h), _ = e.kind === "verified", v = e.kind === "verified" ? e.identity.image : void 0, [y, b] = L(null), x = _ && v != null && y !== v, C = _ ? e.identity.email : null, w = t === "bottom-left" ? "is-anchor-left" : t === "bottom-center" ? "is-anchor-center" : "is-anchor-right";
4443
4477
  return /* @__PURE__ */ Q("div", {
4444
4478
  ref: m,
4445
4479
  style: {
@@ -4462,13 +4496,23 @@ function Go({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboa
4462
4496
  children: [/* @__PURE__ */ Q("span", {
4463
4497
  class: Z("markup-tb-avatar", !_ && "is-anon"),
4464
4498
  "aria-hidden": "true",
4465
- children: _ && g ? g : /* @__PURE__ */ Q(Uo, { size: 14 })
4499
+ children: x ? /* @__PURE__ */ Q("img", {
4500
+ class: "markup-avatar-img",
4501
+ src: v,
4502
+ alt: "",
4503
+ decoding: "async",
4504
+ referrerpolicy: "no-referrer",
4505
+ onError: () => b(v)
4506
+ }) : _ && g ? /* @__PURE__ */ Q("span", {
4507
+ class: "markup-avatar-initials",
4508
+ children: g
4509
+ }) : /* @__PURE__ */ Q(Go, { size: 14 })
4466
4510
  }), _ && h ? /* @__PURE__ */ Q("span", {
4467
4511
  class: "markup-sr-only",
4468
4512
  children: h
4469
4513
  }) : null]
4470
4514
  }), c ? /* @__PURE__ */ Q("div", {
4471
- class: Z("markup-pop", y),
4515
+ class: Z("markup-pop", w),
4472
4516
  "data-pop": "identity",
4473
4517
  role: "menu",
4474
4518
  children: _ ? /* @__PURE__ */ Q(S, { children: [
@@ -4477,9 +4521,9 @@ function Go({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboa
4477
4521
  children: [/* @__PURE__ */ Q("span", {
4478
4522
  class: "nm",
4479
4523
  children: h ?? "Account"
4480
- }), v ? /* @__PURE__ */ Q("span", {
4524
+ }), C ? /* @__PURE__ */ Q("span", {
4481
4525
  class: "em",
4482
- children: v
4526
+ children: C
4483
4527
  }) : null]
4484
4528
  }),
4485
4529
  i ? /* @__PURE__ */ Q("a", {
@@ -4491,7 +4535,7 @@ function Go({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboa
4491
4535
  onClick: () => l(!1),
4492
4536
  children: [/* @__PURE__ */ Q("span", {
4493
4537
  class: "ic",
4494
- children: /* @__PURE__ */ Q(Wo, { size: 16 })
4538
+ children: /* @__PURE__ */ Q(qo, { size: 16 })
4495
4539
  }), /* @__PURE__ */ Q("span", {
4496
4540
  class: "lbl",
4497
4541
  children: "Account"
@@ -4507,7 +4551,7 @@ function Go({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboa
4507
4551
  },
4508
4552
  children: [/* @__PURE__ */ Q("span", {
4509
4553
  class: "ic",
4510
- children: /* @__PURE__ */ Q(Ho, { size: 16 })
4554
+ children: /* @__PURE__ */ Q(Wo, { size: 16 })
4511
4555
  }), /* @__PURE__ */ Q("span", {
4512
4556
  class: "lbl",
4513
4557
  children: r ? "Signing out…" : f ? "Confirm — sign out of this site" : "Sign out"
@@ -4530,7 +4574,7 @@ function Go({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboa
4530
4574
  onClick: () => {
4531
4575
  l(!1), a();
4532
4576
  },
4533
- children: [/* @__PURE__ */ Q(Vo, { size: 14 }), /* @__PURE__ */ Q("span", { children: n ? "Signing in…" : "Sign in" })]
4577
+ children: [/* @__PURE__ */ Q(Uo, { size: 14 }), /* @__PURE__ */ Q("span", { children: n ? "Signing in…" : "Sign in" })]
4534
4578
  }),
4535
4579
  /* @__PURE__ */ Q("button", {
4536
4580
  type: "button",
@@ -4549,12 +4593,12 @@ function Go({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboa
4549
4593
  }) : null]
4550
4594
  });
4551
4595
  }
4552
- function Ko(e) {
4596
+ function Yo(e) {
4553
4597
  return e && e.trim().split(/\s+/).slice(0, 2).map((e) => e[0]?.toUpperCase() ?? "").join("") || null;
4554
4598
  }
4555
4599
  //#endregion
4556
4600
  //#region src/runtime/ui/notifications-panel.tsx
4557
- function qo({ items: e, isLoading: t, error: n, onBack: r, onItemClick: i, onMarkAllRead: a, isMarkingAll: o }) {
4601
+ function Xo({ items: e, isLoading: t, error: n, onBack: r, onItemClick: i, onMarkAllRead: a, isMarkingAll: o }) {
4558
4602
  let s = e.some((e) => e.readAt == null);
4559
4603
  return /* @__PURE__ */ Q("div", {
4560
4604
  class: "markup-notifications-panel",
@@ -4569,7 +4613,7 @@ function qo({ items: e, isLoading: t, error: n, onBack: r, onItemClick: i, onMar
4569
4613
  title: "Back to menu",
4570
4614
  "aria-label": "Back to menu",
4571
4615
  onClick: r,
4572
- children: /* @__PURE__ */ Q(To, { size: 16 })
4616
+ children: /* @__PURE__ */ Q(Do, { size: 16 })
4573
4617
  }),
4574
4618
  /* @__PURE__ */ Q("span", {
4575
4619
  class: "markup-eyebrow",
@@ -4621,13 +4665,20 @@ function qo({ items: e, isLoading: t, error: n, onBack: r, onItemClick: i, onMar
4621
4665
  class: "markup-notifications-panel-actor",
4622
4666
  children: e.actorName
4623
4667
  }),
4668
+ e.actorVia === "mcp" ? /* @__PURE__ */ Q("span", {
4669
+ class: "markup-comment-badge is-agent",
4670
+ role: "img",
4671
+ "aria-label": "Written by an AI agent",
4672
+ title: "Written by an AI agent on this person's behalf",
4673
+ children: /* @__PURE__ */ Q(Ko, { size: 11 })
4674
+ }) : null,
4624
4675
  /* @__PURE__ */ Q("span", {
4625
4676
  class: "markup-notifications-panel-sep",
4626
4677
  children: "·"
4627
4678
  }),
4628
4679
  /* @__PURE__ */ Q("span", {
4629
4680
  class: "markup-notifications-panel-time",
4630
- children: Jo(e.createdAt)
4681
+ children: Zo(e.createdAt)
4631
4682
  })
4632
4683
  ]
4633
4684
  }),
@@ -4656,7 +4707,7 @@ function qo({ items: e, isLoading: t, error: n, onBack: r, onItemClick: i, onMar
4656
4707
  })]
4657
4708
  });
4658
4709
  }
4659
- function Jo(e) {
4710
+ function Zo(e) {
4660
4711
  let t = Date.now() - e, n = Math.floor(t / 1e3);
4661
4712
  if (n < 60) return "just now";
4662
4713
  let r = Math.floor(n / 60);
@@ -4668,9 +4719,9 @@ function Jo(e) {
4668
4719
  }
4669
4720
  //#endregion
4670
4721
  //#region src/runtime/ui/inbox-popover.tsx
4671
- function Yo({ position: e, items: t, isLoading: n, error: r, isMarkingAll: i, onClose: a, onItemClick: o, onMarkAllRead: s }) {
4672
- let c = B(null);
4673
- return z(() => {
4722
+ function Qo({ position: e, items: t, isLoading: n, error: r, isMarkingAll: i, onClose: a, onItemClick: o, onMarkAllRead: s }) {
4723
+ let c = z(null);
4724
+ return R(() => {
4674
4725
  function e(e) {
4675
4726
  let t = c.current;
4676
4727
  if (t && !e.composedPath().includes(t)) {
@@ -4692,7 +4743,7 @@ function Yo({ position: e, items: t, isLoading: n, error: r, isMarkingAll: i, on
4692
4743
  children: /* @__PURE__ */ Q("div", {
4693
4744
  class: "markup-pop",
4694
4745
  "data-pop": "inbox",
4695
- children: /* @__PURE__ */ Q(qo, {
4746
+ children: /* @__PURE__ */ Q(Xo, {
4696
4747
  items: t,
4697
4748
  isLoading: n,
4698
4749
  error: r,
@@ -4706,12 +4757,12 @@ function Yo({ position: e, items: t, isLoading: n, error: r, isMarkingAll: i, on
4706
4757
  }
4707
4758
  //#endregion
4708
4759
  //#region src/runtime/use-drag.ts
4709
- function Xo(e) {
4710
- let t = B(e);
4760
+ function $o(e) {
4761
+ let t = z(e);
4711
4762
  t.current = e;
4712
- let [n, r] = R(!1);
4763
+ let [n, r] = L(!1);
4713
4764
  return {
4714
- onPointerDown: H((e) => {
4765
+ onPointerDown: V((e) => {
4715
4766
  let n = t.current;
4716
4767
  if (n.preventDefault && e.preventDefault(), n.stopPropagation && e.stopPropagation(), e.button !== 0 || n.shouldStart && !n.shouldStart(e)) return;
4717
4768
  let i = e.currentTarget;
@@ -4734,8 +4785,8 @@ function Xo(e) {
4734
4785
  h = !0, r(!0), t.current.onStart?.();
4735
4786
  }
4736
4787
  let a = Math.max(p, window.innerWidth - u - p), _ = Math.max(p, window.innerHeight - d - p), v = {
4737
- left: Zo(c + n, p, a),
4738
- top: Zo(l + i, p, _)
4788
+ left: es(c + n, p, a),
4789
+ top: es(l + i, p, _)
4739
4790
  };
4740
4791
  g = v, t.current.onMove(v);
4741
4792
  }
@@ -4750,12 +4801,12 @@ function Xo(e) {
4750
4801
  isDragging: n
4751
4802
  };
4752
4803
  }
4753
- function Zo(e, t, n) {
4804
+ function es(e, t, n) {
4754
4805
  return Math.max(t, Math.min(n, e));
4755
4806
  }
4756
4807
  //#endregion
4757
4808
  //#region src/runtime/use-focus-trap.ts
4758
- var Qo = [
4809
+ var ts = [
4759
4810
  "a[href]",
4760
4811
  "button:not([disabled])",
4761
4812
  "input:not([disabled])",
@@ -4763,14 +4814,14 @@ var Qo = [
4763
4814
  "textarea:not([disabled])",
4764
4815
  "[tabindex]:not([tabindex=\"-1\"])"
4765
4816
  ].join(",");
4766
- function $o(e, t) {
4767
- z(() => {
4817
+ function ns(e, t) {
4818
+ R(() => {
4768
4819
  if (!t) return;
4769
4820
  let n = e.current;
4770
4821
  if (!n) return;
4771
4822
  function r(e) {
4772
4823
  if (e.key !== "Tab") return;
4773
- let t = Array.from(n.querySelectorAll(Qo)), r = t[0], i = t[t.length - 1];
4824
+ let t = Array.from(n.querySelectorAll(ts)), r = t[0], i = t[t.length - 1];
4774
4825
  if (!r || !i) return;
4775
4826
  let a = n.getRootNode(), o = a instanceof ShadowRoot ? a.activeElement : document.activeElement;
4776
4827
  (e.shiftKey ? o === r : o === i) && (e.preventDefault(), (e.shiftKey ? i : r).focus());
@@ -4780,9 +4831,9 @@ function $o(e, t) {
4780
4831
  }
4781
4832
  //#endregion
4782
4833
  //#region src/runtime/use-object-url.ts
4783
- function es(e) {
4784
- let [t, n] = R(null);
4785
- return z(() => {
4834
+ function rs(e) {
4835
+ let [t, n] = L(null);
4836
+ return R(() => {
4786
4837
  if (!e) {
4787
4838
  n(null);
4788
4839
  return;
@@ -4793,9 +4844,9 @@ function es(e) {
4793
4844
  }
4794
4845
  //#endregion
4795
4846
  //#region src/runtime/ui/author-prompt.tsx
4796
- function ts({ isPending: e, isConnecting: t = !1, isSigningIn: n = !1, onSubmit: r, onCancel: i, onSignIn: a }) {
4797
- let [o, s] = R(""), [c, l] = R(""), u = B(null);
4798
- z(() => {
4847
+ function is({ isPending: e, isConnecting: t = !1, isSigningIn: n = !1, onSubmit: r, onCancel: i, onSignIn: a }) {
4848
+ let [o, s] = L(""), [c, l] = L(""), u = z(null);
4849
+ R(() => {
4799
4850
  u.current?.focus();
4800
4851
  }, []);
4801
4852
  function d(n) {
@@ -4872,27 +4923,27 @@ function ts({ isPending: e, isConnecting: t = !1, isSigningIn: n = !1, onSubmit:
4872
4923
  }
4873
4924
  //#endregion
4874
4925
  //#region src/runtime/mention-input.ts
4875
- var ns = "data-markup-mention", rs = "data-markup-mention-name", is = new Set([
4926
+ var as = "data-markup-mention", os = "data-markup-mention-name", ss = new Set([
4876
4927
  "DIV",
4877
4928
  "P",
4878
4929
  "LI",
4879
4930
  "BLOCKQUOTE",
4880
4931
  "PRE"
4881
- ]), as = 3, os = 1;
4882
- function ss(e) {
4932
+ ]), cs = 3, ls = 1;
4933
+ function us(e) {
4883
4934
  let t = "", n = (r) => {
4884
4935
  let i = r.childNodes;
4885
4936
  for (let a = 0; a < i.length; a++) {
4886
4937
  let o = i[a];
4887
4938
  if (!o) continue;
4888
- if (o.nodeType === as) {
4939
+ if (o.nodeType === cs) {
4889
4940
  t += o.data;
4890
4941
  continue;
4891
4942
  }
4892
- if (o.nodeType !== os) continue;
4893
- let s = o, c = s.getAttribute(ns);
4943
+ if (o.nodeType !== ls) continue;
4944
+ let s = o, c = s.getAttribute(as);
4894
4945
  if (c) {
4895
- let e = cs(s);
4946
+ let e = ds(s);
4896
4947
  t += Ir({
4897
4948
  userId: c,
4898
4949
  name: e
@@ -4903,77 +4954,77 @@ function ss(e) {
4903
4954
  r === e && a === i.length - 1 || (t += "\n");
4904
4955
  continue;
4905
4956
  }
4906
- is.has(s.tagName) && t !== "" && !t.endsWith("\n") && (t += "\n"), n(s);
4957
+ ss.has(s.tagName) && t !== "" && !t.endsWith("\n") && (t += "\n"), n(s);
4907
4958
  }
4908
4959
  };
4909
4960
  return n(e), t;
4910
4961
  }
4911
- function cs(e) {
4912
- return e.getAttribute(rs) || (e.textContent ?? "").replace(/^@/, "");
4962
+ function ds(e) {
4963
+ return e.getAttribute(os) || (e.textContent ?? "").replace(/^@/, "");
4913
4964
  }
4914
- function ls(e, t, n) {
4965
+ function fs(e, t, n) {
4915
4966
  let r = e.createElement("span");
4916
- return r.className = n, r.setAttribute("contenteditable", "false"), r.setAttribute(ns, t.userId), r.setAttribute(rs, t.name), r.textContent = `@${t.name}`, r;
4967
+ return r.className = n, r.setAttribute("contenteditable", "false"), r.setAttribute(as, t.userId), r.setAttribute(os, t.name), r.textContent = `@${t.name}`, r;
4917
4968
  }
4918
- function us(e, t, n) {
4969
+ function ps(e, t, n) {
4919
4970
  let r = e.createDocumentFragment();
4920
4971
  for (let i of Nr(t)) {
4921
4972
  if (i.type === "text") {
4922
4973
  i.value && r.appendChild(e.createTextNode(i.value));
4923
4974
  continue;
4924
4975
  }
4925
- r.appendChild(ls(e, {
4976
+ r.appendChild(fs(e, {
4926
4977
  userId: i.userId,
4927
4978
  name: i.name
4928
4979
  }, n));
4929
4980
  }
4930
4981
  return r;
4931
4982
  }
4932
- function ds(e) {
4983
+ function ms(e) {
4933
4984
  let t = e.getRootNode();
4934
4985
  return typeof t.getSelection == "function" ? t.getSelection() : e.ownerDocument.getSelection();
4935
4986
  }
4936
- function fs(e) {
4937
- let t = ds(e);
4987
+ function hs(e) {
4988
+ let t = ms(e);
4938
4989
  if (!t || t.rangeCount === 0 || !t.isCollapsed) return null;
4939
4990
  let n = t.focusNode;
4940
- return !n || n.nodeType !== as || !e.contains(n) || ps(n, e) ? null : {
4991
+ return !n || n.nodeType !== cs || !e.contains(n) || gs(n, e) ? null : {
4941
4992
  node: n,
4942
4993
  offset: t.focusOffset
4943
4994
  };
4944
4995
  }
4945
- function ps(e, t) {
4996
+ function gs(e, t) {
4946
4997
  let n = e;
4947
4998
  for (; n && n !== t;) {
4948
- if (n.nodeType === os && n.hasAttribute("data-markup-mention")) return n;
4999
+ if (n.nodeType === ls && n.hasAttribute("data-markup-mention")) return n;
4949
5000
  n = n.parentNode;
4950
5001
  }
4951
5002
  return null;
4952
5003
  }
4953
- function ms(e) {
4954
- let t = ds(e);
5004
+ function _s(e) {
5005
+ let t = ms(e);
4955
5006
  if (!t || t.rangeCount === 0 || !t.isCollapsed) return;
4956
5007
  let n = t.focusNode;
4957
5008
  if (!n || !e.contains(n)) return;
4958
- let r = ps(n, e);
5009
+ let r = gs(n, e);
4959
5010
  if (!r) return;
4960
5011
  let i = r.nextSibling;
4961
- (!i || i.nodeType !== as) && (i = e.ownerDocument.createTextNode(""), r.parentNode?.insertBefore(i, r.nextSibling)), hs(e, i, 0);
5012
+ (!i || i.nodeType !== cs) && (i = e.ownerDocument.createTextNode(""), r.parentNode?.insertBefore(i, r.nextSibling)), vs(e, i, 0);
4962
5013
  }
4963
- function hs(e, t, n) {
4964
- let r = ds(e);
5014
+ function vs(e, t, n) {
5015
+ let r = ms(e);
4965
5016
  if (!r) return;
4966
5017
  let i = e.ownerDocument.createRange();
4967
5018
  i.setStart(t, n), i.collapse(!0), r.removeAllRanges(), r.addRange(i);
4968
5019
  }
4969
- function gs(e) {
5020
+ function ys(e) {
4970
5021
  let t = Fr(e.node.data, e.offset);
4971
5022
  return t ? {
4972
5023
  ...t,
4973
5024
  textNode: e.node
4974
5025
  } : null;
4975
5026
  }
4976
- function _s(e, t, n, r) {
5027
+ function bs(e, t, n, r) {
4977
5028
  if (Ir(n) == null) return !1;
4978
5029
  let i = t.textNode;
4979
5030
  if (!e.contains(i)) return !1;
@@ -4981,31 +5032,31 @@ function _s(e, t, n, r) {
4981
5032
  if (!a || t.caret > i.data.length) return !1;
4982
5033
  i.deleteData(t.at, t.caret - t.at);
4983
5034
  let o = i.splitText(t.at);
4984
- return a.insertBefore(ls(e.ownerDocument, n, r), o), o.data.startsWith(" ") || o.insertData(0, " "), hs(e, o, 1), !0;
5035
+ return a.insertBefore(fs(e.ownerDocument, n, r), o), o.data.startsWith(" ") || o.insertData(0, " "), vs(e, o, 1), !0;
4985
5036
  }
4986
- function vs(e, t) {
4987
- let n = ds(e);
5037
+ function xs(e, t) {
5038
+ let n = ms(e);
4988
5039
  if (!n || n.rangeCount === 0) return;
4989
5040
  let r = n.getRangeAt(0);
4990
5041
  if (!e.contains(r.commonAncestorContainer)) return;
4991
5042
  r.deleteContents();
4992
5043
  let { startContainer: i, startOffset: a } = r;
4993
- if (i.nodeType === as) {
5044
+ if (i.nodeType === cs) {
4994
5045
  let n = i;
4995
- n.insertData(a, t), hs(e, n, a + t.length);
5046
+ n.insertData(a, t), vs(e, n, a + t.length);
4996
5047
  return;
4997
5048
  }
4998
5049
  let o = e.ownerDocument.createTextNode(t);
4999
- r.insertNode(o), hs(e, o, o.data.length);
5050
+ r.insertNode(o), vs(e, o, o.data.length);
5000
5051
  }
5001
- function ys(e, t) {
5052
+ function Ss(e, t) {
5002
5053
  let n = e.ownerDocument, r = null, i = null, a = !0;
5003
5054
  function o(t) {
5004
5055
  let n = t.length === 0;
5005
5056
  n === a && e.hasAttribute("data-empty") === n || (a = n, e.toggleAttribute("data-empty", n));
5006
5057
  }
5007
5058
  function s() {
5008
- let n = ss(e);
5059
+ let n = us(e);
5009
5060
  o(n), t.onChange(n);
5010
5061
  }
5011
5062
  function c(e) {
@@ -5021,7 +5072,7 @@ function ys(e, t) {
5021
5072
  c(null);
5022
5073
  return;
5023
5074
  }
5024
- let n = fs(e), r = n ? gs(n) : null;
5075
+ let n = hs(e), r = n ? ys(n) : null;
5025
5076
  if (r && i && r.textNode === i.node && r.at === i.at) {
5026
5077
  c(null);
5027
5078
  return;
@@ -5029,29 +5080,29 @@ function ys(e, t) {
5029
5080
  i = null, c(r);
5030
5081
  }
5031
5082
  function u(r) {
5032
- e.replaceChildren(us(n, r, t.chipClass)), o(ss(e)), i = null, c(null);
5083
+ e.replaceChildren(ps(n, r, t.chipClass)), o(us(e)), i = null, c(null);
5033
5084
  }
5034
5085
  let d = () => {
5035
5086
  s(), l();
5036
5087
  }, f = () => l(), p = () => {
5037
- ms(e), l();
5088
+ _s(e), l();
5038
5089
  }, m = (t) => {
5039
5090
  let n = t.clipboardData?.getData("text/plain");
5040
- t.preventDefault(), n && (vs(e, n.replace(/\r\n?/g, "\n")), s(), l());
5091
+ t.preventDefault(), n && (xs(e, n.replace(/\r\n?/g, "\n")), s(), l());
5041
5092
  }, h = (e) => {
5042
5093
  e.preventDefault();
5043
5094
  };
5044
5095
  return e.addEventListener("input", d), e.addEventListener("keyup", f), e.addEventListener("mouseup", p), e.addEventListener("focus", p), e.addEventListener("paste", m), e.addEventListener("drop", h), u(t.initialValue ?? ""), {
5045
- getValue: () => ss(e),
5096
+ getValue: () => us(e),
5046
5097
  setValue: u,
5047
5098
  focus() {
5048
5099
  e.focus();
5049
5100
  let t = e.lastChild;
5050
- t && (t.nodeType === as ? hs(e, t, t.data.length) : hs(e, e, e.childNodes.length));
5101
+ t && (t.nodeType === cs ? vs(e, t, t.data.length) : vs(e, e, e.childNodes.length));
5051
5102
  },
5052
5103
  insertMention(n) {
5053
- let a = fs(e), o = (a ? gs(a) : null) ?? r;
5054
- o && _s(e, o, n, t.chipClass) && (s(), i = null, c(null));
5104
+ let a = hs(e), o = (a ? ys(a) : null) ?? r;
5105
+ o && bs(e, o, n, t.chipClass) && (s(), i = null, c(null));
5055
5106
  },
5056
5107
  syncTrigger: l,
5057
5108
  clearTrigger: () => c(null),
@@ -5066,37 +5117,37 @@ function ys(e, t) {
5066
5117
  }
5067
5118
  };
5068
5119
  }
5069
- var bs = null;
5070
- function xs() {
5071
- if (bs) return bs;
5120
+ var Cs = null;
5121
+ function ws() {
5122
+ if (Cs) return Cs;
5072
5123
  if (typeof document > "u") return "true";
5073
5124
  let e = document.createElement("div");
5074
5125
  try {
5075
- e.contentEditable = "plaintext-only", bs = e.contentEditable === "plaintext-only" ? "plaintext-only" : "true";
5126
+ e.contentEditable = "plaintext-only", Cs = e.contentEditable === "plaintext-only" ? "plaintext-only" : "true";
5076
5127
  } catch {
5077
- bs = "true";
5128
+ Cs = "true";
5078
5129
  }
5079
- return bs;
5130
+ return Cs;
5080
5131
  }
5081
5132
  //#endregion
5082
5133
  //#region src/runtime/ui/mentions.tsx
5083
- function Ss({ body: e, mentions: t, trailing: n }) {
5084
- let r = V(() => new Set(t), [t]);
5134
+ function Ts({ body: e, mentions: t, trailing: n }) {
5135
+ let r = B(() => new Set(t), [t]);
5085
5136
  return /* @__PURE__ */ Q("p", {
5086
5137
  class: "markup-comment-body",
5087
- children: [V(() => Nr(e), [e]).map((e, t) => e.type === "mention" && r.has(e.userId) ? /* @__PURE__ */ Q("span", {
5138
+ children: [B(() => Nr(e), [e]).map((e, t) => e.type === "mention" && r.has(e.userId) ? /* @__PURE__ */ Q("span", {
5088
5139
  class: "markup-mention-chip",
5089
5140
  children: ["@", e.name]
5090
5141
  }, t) : /* @__PURE__ */ Q("span", { children: e.type === "mention" ? `@${e.name}` : e.value }, t)), n]
5091
5142
  });
5092
5143
  }
5093
- function Cs(e) {
5094
- let { members: t, trigger: n, onSelect: r, onClose: i } = e, [a, o] = R(0), s = V(() => {
5144
+ function Es(e) {
5145
+ let { members: t, trigger: n, onSelect: r, onClose: i } = e, [a, o] = L(0), s = B(() => {
5095
5146
  if (!n) return [];
5096
5147
  let e = n.query.toLowerCase();
5097
5148
  return t.filter((t) => t.name.toLowerCase().includes(e)).slice(0, 6);
5098
5149
  }, [n, t]);
5099
- z(() => {
5150
+ R(() => {
5100
5151
  o((e) => e >= s.length ? 0 : e);
5101
5152
  }, [s]);
5102
5153
  function c(e) {
@@ -5118,7 +5169,7 @@ function Cs(e) {
5118
5169
  handleKeyDown: c
5119
5170
  };
5120
5171
  }
5121
- function ws({ items: e, highlight: t, setHighlight: n, onSelect: r }) {
5172
+ function Ds({ items: e, highlight: t, setHighlight: n, onSelect: r }) {
5122
5173
  return e.length === 0 ? null : /* @__PURE__ */ Q("ul", {
5123
5174
  class: "markup-mention-picker",
5124
5175
  role: "listbox",
@@ -5144,16 +5195,16 @@ function ws({ items: e, highlight: t, setHighlight: n, onSelect: r }) {
5144
5195
  }
5145
5196
  //#endregion
5146
5197
  //#region src/runtime/ui/mention-input.tsx
5147
- function Ts({ value: e, onChange: t, onKeyDown: n, members: r, label: i, placeholder: a, disabled: o = !1, autoFocus: s = !1, class: c, handle: l }) {
5148
- let u = B(null), d = B(null), [f, p] = R(null), m = B(t);
5198
+ function Os({ value: e, onChange: t, onKeyDown: n, members: r, label: i, placeholder: a, disabled: o = !1, autoFocus: s = !1, class: c, handle: l }) {
5199
+ let u = z(null), d = z(null), [f, p] = L(null), m = z(t);
5149
5200
  m.current = t;
5150
- let h = B(r);
5201
+ let h = z(r);
5151
5202
  h.current = r;
5152
- let g = B(e);
5153
- Ke(() => {
5203
+ let g = z(e);
5204
+ qe(() => {
5154
5205
  let e = u.current;
5155
5206
  if (!e) return;
5156
- let t = ys(e, {
5207
+ let t = Ss(e, {
5157
5208
  chipClass: "markup-mention-chip",
5158
5209
  initialValue: g.current,
5159
5210
  onChange: (e) => m.current(e),
@@ -5163,17 +5214,17 @@ function Ts({ value: e, onChange: t, onKeyDown: n, members: r, label: i, placeho
5163
5214
  return d.current = t, () => {
5164
5215
  t.destroy(), d.current = null;
5165
5216
  };
5166
- }, []), Ke(() => {
5217
+ }, []), qe(() => {
5167
5218
  if (l) return l.current = { focus: () => d.current?.focus() }, () => {
5168
5219
  l.current = null;
5169
5220
  };
5170
- }, [l]), Ke(() => {
5221
+ }, [l]), qe(() => {
5171
5222
  s && d.current?.focus();
5172
- }, [s]), Ke(() => {
5223
+ }, [s]), qe(() => {
5173
5224
  let t = d.current;
5174
5225
  t && t.getValue() !== e && t.setValue(e);
5175
5226
  }, [e]);
5176
- let _ = Cs({
5227
+ let _ = Es({
5177
5228
  members: r ?? [],
5178
5229
  trigger: f,
5179
5230
  onSelect: (e) => d.current?.insertMention(e),
@@ -5186,7 +5237,7 @@ function Ts({ value: e, onChange: t, onKeyDown: n, members: r, label: i, placeho
5186
5237
  "aria-label": i,
5187
5238
  "aria-disabled": o || void 0,
5188
5239
  class: Z("markup-mention-input", c),
5189
- contentEditable: o ? "false" : xs(),
5240
+ contentEditable: o ? "false" : ws(),
5190
5241
  "data-placeholder": a,
5191
5242
  tabIndex: o ? -1 : 0,
5192
5243
  onKeyDown: (e) => {
@@ -5195,7 +5246,7 @@ function Ts({ value: e, onChange: t, onKeyDown: n, members: r, label: i, placeho
5195
5246
  onBlur: () => {
5196
5247
  setTimeout(() => d.current?.clearTrigger(), 120);
5197
5248
  }
5198
- }), _.isOpen ? /* @__PURE__ */ Q(ws, {
5249
+ }), _.isOpen ? /* @__PURE__ */ Q(Ds, {
5199
5250
  items: _.items,
5200
5251
  highlight: _.highlight,
5201
5252
  setHighlight: _.setHighlight,
@@ -5204,13 +5255,13 @@ function Ts({ value: e, onChange: t, onKeyDown: n, members: r, label: i, placeho
5204
5255
  }
5205
5256
  //#endregion
5206
5257
  //#region src/runtime/ui/composer.tsx
5207
- var Es = 4e3;
5208
- function Ds({ label: e, placeholder: t = "Leave feedback…", submitLabel: n = "Post", initialFocus: r = !0, isPending: i, error: a, onSubmit: o, members: s }) {
5209
- let [c, l] = R(""), u = B(null), d = B(!1);
5210
- z(() => {
5258
+ var ks = 4e3;
5259
+ function As({ label: e, placeholder: t = "Leave feedback…", submitLabel: n = "Post", initialFocus: r = !0, isPending: i, error: a, onSubmit: o, members: s }) {
5260
+ let [c, l] = L(""), u = z(null), d = z(!1);
5261
+ R(() => {
5211
5262
  d.current && !i && !a && (l(""), u.current?.focus()), d.current = i;
5212
5263
  }, [i, a]);
5213
- let f = Es - c.length, p = f < 0;
5264
+ let f = ks - c.length, p = f < 0;
5214
5265
  function m(e) {
5215
5266
  e?.preventDefault();
5216
5267
  let t = c.trim();
@@ -5219,8 +5270,8 @@ function Ds({ label: e, placeholder: t = "Leave feedback…", submitLabel: n = "
5219
5270
  function h(e) {
5220
5271
  (e.metaKey || e.ctrlKey) && e.key === "Enter" && m(e);
5221
5272
  }
5222
- let g = c.length > 0;
5223
- function _(e) {
5273
+ let g = c.length > 0, _ = Co();
5274
+ function v(e) {
5224
5275
  return /* @__PURE__ */ Q("button", {
5225
5276
  type: "submit",
5226
5277
  class: "markup-btn markup-btn-primary",
@@ -5228,14 +5279,14 @@ function Ds({ label: e, placeholder: t = "Leave feedback…", submitLabel: n = "
5228
5279
  "aria-label": i ? "Sending…" : n,
5229
5280
  title: i ? "Sending…" : n,
5230
5281
  tabIndex: e,
5231
- children: /* @__PURE__ */ Q(ko, { size: 14 })
5282
+ children: /* @__PURE__ */ Q(jo, { size: 14 })
5232
5283
  });
5233
5284
  }
5234
5285
  return /* @__PURE__ */ Q("form", {
5235
5286
  class: Z("markup-composer", g && "is-filled"),
5236
5287
  onSubmit: m,
5237
5288
  children: [
5238
- /* @__PURE__ */ Q(Ts, {
5289
+ /* @__PURE__ */ Q(Os, {
5239
5290
  class: "markup-composer-input",
5240
5291
  label: e,
5241
5292
  placeholder: t,
@@ -5259,32 +5310,45 @@ function Ds({ label: e, placeholder: t = "Leave feedback…", submitLabel: n = "
5259
5310
  }) : p ? /* @__PURE__ */ Q("span", {
5260
5311
  class: "markup-composer-error",
5261
5312
  children: [Math.abs(f), " too long"]
5262
- }) : /* @__PURE__ */ Q("span", { children: "⌘↵ to send" })
5313
+ }) : /* @__PURE__ */ Q(S, { children: [
5314
+ /* @__PURE__ */ Q("kbd", {
5315
+ class: "markup-kbd is-inline",
5316
+ children: _.mod
5317
+ }),
5318
+ /* @__PURE__ */ Q("kbd", {
5319
+ class: "markup-kbd is-inline",
5320
+ children: _.enter
5321
+ }),
5322
+ /* @__PURE__ */ Q("span", {
5323
+ class: "markup-composer-hint-label",
5324
+ children: "to send"
5325
+ })
5326
+ ] })
5263
5327
  }), /* @__PURE__ */ Q("div", {
5264
5328
  class: "markup-composer-actions",
5265
- children: _(g ? void 0 : -1)
5329
+ children: v(g ? void 0 : -1)
5266
5330
  })]
5267
5331
  })
5268
5332
  }),
5269
5333
  /* @__PURE__ */ Q("span", {
5270
5334
  class: "markup-composer-actions-empty",
5271
5335
  "aria-hidden": g || void 0,
5272
- children: _(g ? -1 : void 0)
5336
+ children: v(g ? -1 : void 0)
5273
5337
  })
5274
5338
  ]
5275
5339
  });
5276
5340
  }
5277
5341
  //#endregion
5278
5342
  //#region src/runtime/ui/new-thread-popover.tsx
5279
- function Os({ pageX: e, pageY: t, authorName: n, isVerified: r, isIdentityResolving: i, isSigningIn: a, isPending: o, error: s, screenshot: c, isScreenshotCapturing: l, screenshotRedactedCount: u, screenshotRedactedSelectors: d, members: f = [], onAuthor: p, onSignIn: m, onSubmit: h, onClose: g }) {
5280
- let _ = B(null);
5281
- $o(_, !0);
5282
- let [v, y] = R(!1), [b, x] = R(!1), C = es(c), [w, T] = R(null), { onPointerDown: E, isDragging: D } = Xo({
5343
+ function js({ pageX: e, pageY: t, authorName: n, isVerified: r, isIdentityResolving: i, isSigningIn: a, isPending: o, error: s, screenshot: c, isScreenshotCapturing: l, screenshotRedactedCount: u, screenshotRedactedSelectors: d, members: f = [], onAuthor: p, onSignIn: m, onSubmit: h, onClose: g }) {
5344
+ let _ = z(null);
5345
+ ns(_, !0);
5346
+ let [v, y] = L(!1), [b, x] = L(!1), C = rs(c), [w, T] = L(null), { onPointerDown: E, isDragging: D } = $o({
5283
5347
  targetRef: _,
5284
5348
  shouldStart: (e) => !e.target?.closest("button, a, input, textarea, select"),
5285
5349
  onMove: T
5286
5350
  });
5287
- z(() => {
5351
+ R(() => {
5288
5352
  let e = _.current;
5289
5353
  if (!e) return;
5290
5354
  if (typeof e.showPopover == "function" && !e.matches(":popover-open")) try {
@@ -5295,7 +5359,7 @@ function Os({ pageX: e, pageY: t, authorName: n, isVerified: r, isIdentityResolv
5295
5359
  }
5296
5360
  return e.addEventListener("toggle", t), () => e.removeEventListener("toggle", t);
5297
5361
  }, [g]);
5298
- let O = ks(e - window.scrollX + 16, 12, window.innerWidth - 320 - 12), ee = ks(t - window.scrollY - 16, 12, window.innerHeight - 220), k = typeof window < "u" ? window.location.href : "", A = c != null, te = l || A;
5362
+ let O = Ms(e - window.scrollX + 16, 12, window.innerWidth - 320 - 12), ee = Ms(t - window.scrollY - 16, 12, window.innerHeight - 220), te = typeof window < "u" ? window.location.href : "", k = c != null, ne = l || k;
5299
5363
  return /* @__PURE__ */ Q("div", {
5300
5364
  ref: _,
5301
5365
  class: Z("markup-popover", w && "is-floating", D && "is-dragging"),
@@ -5310,30 +5374,17 @@ function Os({ pageX: e, pageY: t, authorName: n, isVerified: r, isIdentityResolv
5310
5374
  class: "markup-popover-header",
5311
5375
  onPointerDown: E,
5312
5376
  children: [/* @__PURE__ */ Q("span", {
5313
- class: "markup-popover-path",
5314
- title: k,
5315
- children: [
5316
- /* @__PURE__ */ Q("span", {
5317
- class: "markup-popover-path-host",
5318
- children: As(k)
5319
- }),
5320
- /* @__PURE__ */ Q("span", {
5321
- class: "markup-popover-path-route",
5322
- children: js(k)
5323
- }),
5324
- /* @__PURE__ */ Q("span", {
5325
- class: "markup-popover-path-tag",
5326
- children: "new"
5327
- })
5328
- ]
5377
+ class: "markup-popover-title",
5378
+ title: te,
5379
+ children: "New comment"
5329
5380
  }), /* @__PURE__ */ Q("button", {
5330
5381
  type: "button",
5331
5382
  class: "markup-icon-btn",
5332
5383
  "aria-label": "Discard pin",
5333
5384
  onClick: g,
5334
- children: /* @__PURE__ */ Q(wo, { size: 16 })
5385
+ children: /* @__PURE__ */ Q(Eo, { size: 16 })
5335
5386
  })]
5336
- }), n == null ? /* @__PURE__ */ Q(ts, {
5387
+ }), n == null ? /* @__PURE__ */ Q(is, {
5337
5388
  isPending: o,
5338
5389
  isConnecting: i,
5339
5390
  isSigningIn: a,
@@ -5357,16 +5408,16 @@ function Os({ pageX: e, pageY: t, authorName: n, isVerified: r, isIdentityResolv
5357
5408
  }) : null
5358
5409
  ]
5359
5410
  }),
5360
- /* @__PURE__ */ Q(Ds, {
5411
+ /* @__PURE__ */ Q(As, {
5361
5412
  label: "Feedback",
5362
5413
  placeholder: "What's wrong, missing, or worth noting?",
5363
5414
  submitLabel: "Post markup",
5364
5415
  isPending: o,
5365
5416
  error: s,
5366
- onSubmit: (e) => h(e, v && A),
5417
+ onSubmit: (e) => h(e, v && k),
5367
5418
  members: f
5368
5419
  }),
5369
- te ? /* @__PURE__ */ Q("div", {
5420
+ ne ? /* @__PURE__ */ Q("div", {
5370
5421
  class: "markup-screenshot-row",
5371
5422
  children: [l ? /* @__PURE__ */ Q("span", {
5372
5423
  class: "markup-screenshot-status",
@@ -5376,7 +5427,7 @@ function Os({ pageX: e, pageY: t, authorName: n, isVerified: r, isIdentityResolv
5376
5427
  class: "markup-screenshot-checkbox",
5377
5428
  disabled: !0
5378
5429
  }),
5379
- /* @__PURE__ */ Q(Oo, { size: 12 }),
5430
+ /* @__PURE__ */ Q(Ao, { size: 12 }),
5380
5431
  /* @__PURE__ */ Q("span", { children: "Capturing…" })
5381
5432
  ]
5382
5433
  }) : /* @__PURE__ */ Q("label", {
@@ -5388,7 +5439,7 @@ function Os({ pageX: e, pageY: t, authorName: n, isVerified: r, isIdentityResolv
5388
5439
  checked: v,
5389
5440
  onChange: (e) => y(e.currentTarget.checked)
5390
5441
  }),
5391
- /* @__PURE__ */ Q(Oo, { size: 12 }),
5442
+ /* @__PURE__ */ Q(Ao, { size: 12 }),
5392
5443
  /* @__PURE__ */ Q("span", { children: "Attach screenshot" }),
5393
5444
  C && v ? /* @__PURE__ */ Q("img", {
5394
5445
  class: "markup-screenshot-thumb",
@@ -5396,7 +5447,7 @@ function Os({ pageX: e, pageY: t, authorName: n, isVerified: r, isIdentityResolv
5396
5447
  alt: "Screenshot preview"
5397
5448
  }) : null
5398
5449
  ]
5399
- }), v && A ? /* @__PURE__ */ Q(S, { children: [u > 0 ? /* @__PURE__ */ Q("div", {
5450
+ }), v && k ? /* @__PURE__ */ Q(S, { children: [u > 0 ? /* @__PURE__ */ Q("div", {
5400
5451
  class: "markup-screenshot-redacted",
5401
5452
  children: [/* @__PURE__ */ Q("button", {
5402
5453
  type: "button",
@@ -5436,39 +5487,24 @@ function Os({ pageX: e, pageY: t, authorName: n, isVerified: r, isIdentityResolv
5436
5487
  })]
5437
5488
  });
5438
5489
  }
5439
- function ks(e, t, n) {
5490
+ function Ms(e, t, n) {
5440
5491
  return Math.max(t, Math.min(n, e));
5441
5492
  }
5442
- function As(e) {
5443
- try {
5444
- return new URL(e).host;
5445
- } catch {
5446
- return "";
5447
- }
5448
- }
5449
- function js(e) {
5450
- try {
5451
- let t = new URL(e);
5452
- return `${t.pathname}${t.search}` || "/";
5453
- } catch {
5454
- return "";
5455
- }
5456
- }
5457
5493
  //#endregion
5458
5494
  //#region src/runtime/use-theme.ts
5459
- function Ms() {
5460
- let [, e] = R(0);
5461
- return z(() => je(() => e((e) => e + 1)), []), {
5462
- mode: Oe(),
5463
- resolved: ke(),
5464
- set: Ae
5495
+ function Ns() {
5496
+ let [, e] = L(0);
5497
+ return R(() => Me(() => e((e) => e + 1)), []), {
5498
+ mode: ke(),
5499
+ resolved: Ae(),
5500
+ set: je
5465
5501
  };
5466
5502
  }
5467
5503
  //#endregion
5468
5504
  //#region src/runtime/ui/overflow-menu.tsx
5469
- function Ns({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked: r = !1, onToggleAutoCapture: i, onOpenPrivacy: a, onOpenShortcuts: o, onHideForSession: s, version: c, dashboardUrl: l }) {
5470
- let [u, d] = R(!1), f = B(null), p = Ms();
5471
- z(() => {
5505
+ function Ps({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked: r = !1, onToggleAutoCapture: i, onOpenPrivacy: a, onOpenShortcuts: o, onHideForSession: s, version: c, dashboardUrl: l }) {
5506
+ let [u, d] = L(!1), f = z(null), p = Ns();
5507
+ R(() => {
5472
5508
  if (!u) return;
5473
5509
  function e(e) {
5474
5510
  let t = f.current;
@@ -5481,7 +5517,7 @@ function Ns({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
5481
5517
  document.removeEventListener("click", e, !0), document.removeEventListener("keydown", t);
5482
5518
  };
5483
5519
  }, [u]);
5484
- let m = e === "bottom-left" ? "is-anchor-left" : e === "bottom-center" ? "is-anchor-center" : "is-anchor-right", h = typeof navigator < "u" && /Mac|iPhone|iPad/.test(navigator.platform || navigator.userAgent) ? "⌘" : "Ctrl";
5520
+ let m = e === "bottom-left" ? "is-anchor-left" : e === "bottom-center" ? "is-anchor-center" : "is-anchor-right", { mod: h } = Co();
5485
5521
  return /* @__PURE__ */ Q("div", {
5486
5522
  ref: f,
5487
5523
  style: {
@@ -5500,7 +5536,7 @@ function Ns({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
5500
5536
  onClick: (e) => {
5501
5537
  e.preventDefault(), e.stopPropagation(), d((e) => !e);
5502
5538
  },
5503
- children: /* @__PURE__ */ Q(Fo, { size: 16 })
5539
+ children: /* @__PURE__ */ Q(Lo, { size: 16 })
5504
5540
  }), u ? /* @__PURE__ */ Q("div", {
5505
5541
  class: Z("markup-pop", m),
5506
5542
  "data-pop": "overflow",
@@ -5524,7 +5560,7 @@ function Ns({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
5524
5560
  title: "Light",
5525
5561
  class: Z(p.mode === "light" && "is-on"),
5526
5562
  onClick: () => p.set("light"),
5527
- children: /* @__PURE__ */ Q(Io, { size: 14 })
5563
+ children: /* @__PURE__ */ Q(Ro, { size: 14 })
5528
5564
  }),
5529
5565
  /* @__PURE__ */ Q("button", {
5530
5566
  type: "button",
@@ -5534,7 +5570,7 @@ function Ns({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
5534
5570
  title: "Dark",
5535
5571
  class: Z(p.mode === "dark" && "is-on"),
5536
5572
  onClick: () => p.set("dark"),
5537
- children: /* @__PURE__ */ Q(Lo, { size: 14 })
5573
+ children: /* @__PURE__ */ Q(zo, { size: 14 })
5538
5574
  }),
5539
5575
  /* @__PURE__ */ Q("button", {
5540
5576
  type: "button",
@@ -5544,7 +5580,7 @@ function Ns({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
5544
5580
  title: `Auto — currently ${p.resolved}`,
5545
5581
  class: Z(p.mode === "auto" && "is-on"),
5546
5582
  onClick: () => p.set("auto"),
5547
- children: /* @__PURE__ */ Q(Ro, { size: 14 })
5583
+ children: /* @__PURE__ */ Q(Bo, { size: 14 })
5548
5584
  })
5549
5585
  ]
5550
5586
  })]
@@ -5567,7 +5603,7 @@ function Ns({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
5567
5603
  title: "Bottom left",
5568
5604
  class: Z(e === "bottom-left" && "is-on"),
5569
5605
  onClick: () => t("bottom-left"),
5570
- children: /* @__PURE__ */ Q(Ps, { side: "left" })
5606
+ children: /* @__PURE__ */ Q(Fs, { side: "left" })
5571
5607
  }),
5572
5608
  /* @__PURE__ */ Q("button", {
5573
5609
  type: "button",
@@ -5577,7 +5613,7 @@ function Ns({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
5577
5613
  title: "Bottom center",
5578
5614
  class: Z(e === "bottom-center" && "is-on"),
5579
5615
  onClick: () => t("bottom-center"),
5580
- children: /* @__PURE__ */ Q(Ps, { side: "center" })
5616
+ children: /* @__PURE__ */ Q(Fs, { side: "center" })
5581
5617
  }),
5582
5618
  /* @__PURE__ */ Q("button", {
5583
5619
  type: "button",
@@ -5587,7 +5623,7 @@ function Ns({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
5587
5623
  title: "Bottom right",
5588
5624
  class: Z(e === "bottom-right" && "is-on"),
5589
5625
  onClick: () => t("bottom-right"),
5590
- children: /* @__PURE__ */ Q(Ps, { side: "right" })
5626
+ children: /* @__PURE__ */ Q(Fs, { side: "right" })
5591
5627
  })
5592
5628
  ]
5593
5629
  })]
@@ -5609,7 +5645,7 @@ function Ns({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
5609
5645
  children: [
5610
5646
  /* @__PURE__ */ Q("span", {
5611
5647
  class: "ic",
5612
- children: /* @__PURE__ */ Q(Fs, {})
5648
+ children: /* @__PURE__ */ Q(Is, {})
5613
5649
  }),
5614
5650
  /* @__PURE__ */ Q("span", {
5615
5651
  class: "lbl",
@@ -5634,7 +5670,7 @@ function Ns({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
5634
5670
  },
5635
5671
  children: [/* @__PURE__ */ Q("span", {
5636
5672
  class: "ic",
5637
- children: /* @__PURE__ */ Q(zo, { size: 16 })
5673
+ children: /* @__PURE__ */ Q(Vo, { size: 16 })
5638
5674
  }), /* @__PURE__ */ Q("span", {
5639
5675
  class: "lbl",
5640
5676
  children: "Privacy & data"
@@ -5651,7 +5687,7 @@ function Ns({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
5651
5687
  children: [
5652
5688
  /* @__PURE__ */ Q("span", {
5653
5689
  class: "ic",
5654
- children: /* @__PURE__ */ Q(Bo, { size: 16 })
5690
+ children: /* @__PURE__ */ Q(Ho, { size: 16 })
5655
5691
  }),
5656
5692
  /* @__PURE__ */ Q("span", {
5657
5693
  class: "lbl",
@@ -5674,7 +5710,7 @@ function Ns({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
5674
5710
  children: [
5675
5711
  /* @__PURE__ */ Q("span", {
5676
5712
  class: "ic",
5677
- children: /* @__PURE__ */ Q(Is, {})
5713
+ children: /* @__PURE__ */ Q(Ls, {})
5678
5714
  }),
5679
5715
  /* @__PURE__ */ Q("span", {
5680
5716
  class: "lbl",
@@ -5692,7 +5728,7 @@ function Ns({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
5692
5728
  target: "_blank",
5693
5729
  rel: "noopener noreferrer",
5694
5730
  children: [
5695
- /* @__PURE__ */ Q(Co, { size: 12 }),
5731
+ /* @__PURE__ */ Q(To, { size: 12 }),
5696
5732
  /* @__PURE__ */ Q("span", { children: "Powered by Markup" }),
5697
5733
  /* @__PURE__ */ Q("span", {
5698
5734
  class: "ver",
@@ -5704,7 +5740,7 @@ function Ns({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
5704
5740
  }) : null]
5705
5741
  });
5706
5742
  }
5707
- function Ps({ side: e }) {
5743
+ function Fs({ side: e }) {
5708
5744
  return /* @__PURE__ */ Q("svg", {
5709
5745
  width: 14,
5710
5746
  height: 14,
@@ -5730,7 +5766,7 @@ function Ps({ side: e }) {
5730
5766
  })]
5731
5767
  });
5732
5768
  }
5733
- function Fs() {
5769
+ function Is() {
5734
5770
  return /* @__PURE__ */ Q("svg", {
5735
5771
  width: 16,
5736
5772
  height: 16,
@@ -5748,7 +5784,7 @@ function Fs() {
5748
5784
  })]
5749
5785
  });
5750
5786
  }
5751
- function Is() {
5787
+ function Ls() {
5752
5788
  return /* @__PURE__ */ Q("svg", {
5753
5789
  width: 16,
5754
5790
  height: 16,
@@ -5769,7 +5805,7 @@ function Is() {
5769
5805
  }
5770
5806
  //#endregion
5771
5807
  //#region src/runtime/ui/pin.tsx
5772
- function Ls({ pageX: e, pageY: t, count: n, isActive: r, isUnresolved: i, onClick: a }) {
5808
+ function Rs({ pageX: e, pageY: t, count: n, isActive: r, isUnresolved: i, onClick: a }) {
5773
5809
  let o = t - window.scrollY, s = e - window.scrollX;
5774
5810
  return /* @__PURE__ */ Q("button", {
5775
5811
  type: "button",
@@ -5789,7 +5825,7 @@ function Ls({ pageX: e, pageY: t, count: n, isActive: r, isUnresolved: i, onClic
5789
5825
  })
5790
5826
  });
5791
5827
  }
5792
- function Rs({ pageX: e, pageY: t }) {
5828
+ function zs({ pageX: e, pageY: t }) {
5793
5829
  let n = t - window.scrollY, r = e - window.scrollX;
5794
5830
  return /* @__PURE__ */ Q("div", {
5795
5831
  class: "markup-pin markup-pin-ghost is-anchor",
@@ -5806,8 +5842,8 @@ function Rs({ pageX: e, pageY: t }) {
5806
5842
  }
5807
5843
  //#endregion
5808
5844
  //#region src/runtime/ui/placement-overlay.tsx
5809
- function zs({ onPlace: e, onCancel: t }) {
5810
- z(() => {
5845
+ function Bs({ onPlace: e, onCancel: t }) {
5846
+ R(() => {
5811
5847
  function e(e) {
5812
5848
  e.key === "Escape" && t();
5813
5849
  }
@@ -5832,14 +5868,14 @@ function zs({ onPlace: e, onCancel: t }) {
5832
5868
  }
5833
5869
  //#endregion
5834
5870
  //#region src/runtime/ui/thread-popover.tsx
5835
- var Bs = [
5871
+ var Vs = [
5836
5872
  "👍",
5837
5873
  "❤️",
5838
5874
  "🎉",
5839
5875
  "😮",
5840
5876
  "😄",
5841
5877
  "❓"
5842
- ], Vs = Ar({
5878
+ ], Hs = Ar({
5843
5879
  none: {
5844
5880
  "toggle-thread-menu": () => ({
5845
5881
  kind: "thread-menu",
@@ -5895,22 +5931,22 @@ var Bs = [
5895
5931
  dismiss: () => ({ kind: "none" })
5896
5932
  }
5897
5933
  });
5898
- function Hs({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIdentityResolving: i, isSigningIn: a, canDelete: o, isPending: s, error: c, isHidden: l = !1, members: u = [], onAuthor: d, onSignIn: f, onClose: p, onReply: m, onEditComment: h, onDeleteComment: g, onToggleReaction: _, onResolve: v, onDelete: y }) {
5899
- let b = B(null), x = B(null), S = B(null), C = B(null), [w, T] = jr(Vs, { kind: "none" }), [E, D] = R(null), { onPointerDown: O, isDragging: ee } = Xo({
5934
+ function Us({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIdentityResolving: i, isSigningIn: a, canDelete: o, isPending: s, error: c, isHidden: l = !1, members: u = [], onAuthor: d, onSignIn: f, onClose: p, onReply: m, onEditComment: h, onDeleteComment: g, onToggleReaction: _, onResolve: v, onDelete: y }) {
5935
+ let b = z(null), x = z(null), S = z(null), C = z(null), [w, T] = jr(Hs, { kind: "none" }), [E, D] = L(null), { onPointerDown: O, isDragging: ee } = $o({
5900
5936
  targetRef: b,
5901
5937
  shouldStart: (e) => !e.target?.closest("button, a, input, textarea, select"),
5902
5938
  onMove: D
5903
5939
  });
5904
- $o(b, !0);
5905
- let k = e.resolvedAt != null, A = V(() => e.comments.filter((e) => !e.deleted), [e.comments]);
5906
- z(() => {
5940
+ ns(b, !0);
5941
+ let te = e.resolvedAt != null, k = B(() => e.comments.filter((e) => !e.deleted), [e.comments]);
5942
+ R(() => {
5907
5943
  if (w.kind === "none" || w.kind === "editing") return;
5908
5944
  function e(e) {
5909
5945
  let t = C.current;
5910
5946
  t && !e.composedPath().includes(t) && T({ type: "dismiss" });
5911
5947
  }
5912
5948
  return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
5913
- }, [w.kind, T]), z(() => {
5949
+ }, [w.kind, T]), R(() => {
5914
5950
  if (w.kind !== "editing") return;
5915
5951
  let t = e.comments.find((e) => e._id === w.commentId);
5916
5952
  (!t || t.deleted) && T({ type: "dismiss" });
@@ -5919,17 +5955,17 @@ function Hs({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
5919
5955
  w,
5920
5956
  T
5921
5957
  ]);
5922
- let te = B(!0);
5923
- z(() => {
5958
+ let ne = z(!0);
5959
+ R(() => {
5924
5960
  let e = x.current;
5925
5961
  if (e) {
5926
- if (te.current) {
5927
- te.current = !1, e.scrollTop = e.scrollHeight;
5962
+ if (ne.current) {
5963
+ ne.current = !1, e.scrollTop = e.scrollHeight;
5928
5964
  return;
5929
5965
  }
5930
5966
  e.scrollHeight - e.scrollTop - e.clientHeight < 80 && (e.scrollTop = e.scrollHeight);
5931
5967
  }
5932
- }, [A.length]), z(() => {
5968
+ }, [k.length]), R(() => {
5933
5969
  let e = b.current;
5934
5970
  if (!e) return;
5935
5971
  if (typeof e.showPopover == "function" && !e.matches(":popover-open")) try {
@@ -5940,15 +5976,15 @@ function Hs({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
5940
5976
  }
5941
5977
  return e.addEventListener("toggle", t), () => e.removeEventListener("toggle", t);
5942
5978
  }, [p]);
5943
- let j = V(() => {
5979
+ let A = B(() => {
5944
5980
  let t = oi({
5945
5981
  anchorX: e.anchorX,
5946
5982
  anchorY: e.anchorY,
5947
5983
  anchorSelector: e.anchorSelector
5948
5984
  });
5949
5985
  return {
5950
- left: Ks(t.pageX - window.scrollX + 16, 12, window.innerWidth - 320 - 12),
5951
- top: Ks(t.pageY - window.scrollY - 16, 12, window.innerHeight - 200)
5986
+ left: qs(t.pageX - window.scrollX + 16, 12, window.innerWidth - 320 - 12),
5987
+ top: qs(t.pageY - window.scrollY - 16, 12, window.innerHeight - 200)
5952
5988
  };
5953
5989
  }, [
5954
5990
  e.anchorX,
@@ -5961,8 +5997,8 @@ function Hs({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
5961
5997
  class: Z("markup-popover", E && "is-floating", ee && "is-dragging", l && "is-hud-hidden"),
5962
5998
  popover: "auto",
5963
5999
  style: {
5964
- "--markup-pop-x": `${E?.left ?? j.left}px`,
5965
- "--markup-pop-y": `${E?.top ?? j.top}px`
6000
+ "--markup-pop-x": `${E?.left ?? A.left}px`,
6001
+ "--markup-pop-y": `${E?.top ?? A.top}px`
5966
6002
  },
5967
6003
  role: "dialog",
5968
6004
  "aria-label": "Markup thread",
@@ -5972,15 +6008,9 @@ function Hs({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
5972
6008
  class: "markup-popover-header",
5973
6009
  onPointerDown: O,
5974
6010
  children: [/* @__PURE__ */ Q("span", {
5975
- class: "markup-popover-path",
6011
+ class: "markup-popover-title",
5976
6012
  title: e.url,
5977
- children: [/* @__PURE__ */ Q("span", {
5978
- class: "markup-popover-path-host",
5979
- children: qs(e.url)
5980
- }), /* @__PURE__ */ Q("span", {
5981
- class: "markup-popover-path-route",
5982
- children: Js(e.url)
5983
- })]
6013
+ children: k.length === 1 ? "1 comment" : `${k.length} comments`
5984
6014
  }), /* @__PURE__ */ Q("div", {
5985
6015
  class: "markup-popover-header-actions",
5986
6016
  children: [
@@ -5994,7 +6024,7 @@ function Hs({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
5994
6024
  class: Z("markup-icon-btn", w.kind === "thread-menu" && "is-open"),
5995
6025
  title: "More options",
5996
6026
  onClick: () => T({ type: "toggle-thread-menu" }),
5997
- children: /* @__PURE__ */ Q(Eo, { size: 16 })
6027
+ children: /* @__PURE__ */ Q(Oo, { size: 16 })
5998
6028
  }), w.kind === "thread-menu" ? /* @__PURE__ */ Q("div", {
5999
6029
  class: "markup-thread-menu-list",
6000
6030
  children: [/* @__PURE__ */ Q("button", {
@@ -6022,14 +6052,14 @@ function Hs({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
6022
6052
  title: "Mark as resolved",
6023
6053
  disabled: s,
6024
6054
  onClick: v,
6025
- children: /* @__PURE__ */ Q(Do, { size: 16 })
6055
+ children: /* @__PURE__ */ Q(ko, { size: 16 })
6026
6056
  }) : null,
6027
6057
  /* @__PURE__ */ Q("button", {
6028
6058
  type: "button",
6029
6059
  class: "markup-icon-btn",
6030
6060
  title: "Close thread",
6031
6061
  onClick: p,
6032
- children: /* @__PURE__ */ Q(wo, { size: 16 })
6062
+ children: /* @__PURE__ */ Q(Eo, { size: 16 })
6033
6063
  })
6034
6064
  ]
6035
6065
  })]
@@ -6037,16 +6067,15 @@ function Hs({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
6037
6067
  /* @__PURE__ */ Q("ol", {
6038
6068
  ref: x,
6039
6069
  class: "markup-comments",
6040
- children: A.map((t, r) => {
6041
- let i = !t.fromDashboard && n != null && t.authorClientId === n, a = r === 0, o = i && !k && !t.deleted, c = i && !k && !t.deleted && !a, l = w.kind === "editing" && w.commentId === t._id, d = (o || c) && !l && !t.deleted, f = w.kind === "comment-menu" && w.commentId === t._id, p = f && w.confirmDelete, m = w.kind === "reaction-picker" && w.commentId === t._id, v = m ? w.direction : "down", y = f ? w.direction : "down";
6070
+ children: k.map((t, r) => {
6071
+ let i = !t.fromDashboard && n != null && t.authorClientId === n, a = r === 0, o = i && !te && !t.deleted, c = i && !te && !t.deleted && !a, l = w.kind === "editing" && w.commentId === t._id, d = (o || c) && !l && !t.deleted, f = w.kind === "comment-menu" && w.commentId === t._id, p = f && w.confirmDelete, m = w.kind === "reaction-picker" && w.commentId === t._id, v = m ? w.direction : "down", y = f ? w.direction : "down";
6042
6072
  return /* @__PURE__ */ Q("li", {
6043
- class: Z("markup-comment", t.fromDashboard && "is-team"),
6073
+ class: "markup-comment",
6044
6074
  children: [
6045
- /* @__PURE__ */ Q("span", {
6046
- class: "markup-comment-avatar",
6047
- "data-tone": Xs(t.authorClientId ?? t.authorName),
6048
- "aria-hidden": !0,
6049
- children: Ys(t.authorName)
6075
+ /* @__PURE__ */ Q(Js, {
6076
+ name: t.authorName,
6077
+ image: t.authorImage,
6078
+ tone: Xs(t.authorClientId ?? t.authorName)
6050
6079
  }),
6051
6080
  /* @__PURE__ */ Q("div", {
6052
6081
  class: "markup-comment-meta",
@@ -6055,9 +6084,12 @@ function Hs({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
6055
6084
  class: "markup-comment-author",
6056
6085
  children: t.authorName
6057
6086
  }),
6058
- t.fromDashboard ? /* @__PURE__ */ Q("span", {
6059
- class: "markup-comment-badge",
6060
- children: "team"
6087
+ t.authoredVia === "mcp" ? /* @__PURE__ */ Q("span", {
6088
+ class: "markup-comment-badge is-agent",
6089
+ role: "img",
6090
+ "aria-label": "Written by an AI agent",
6091
+ title: "Written by an AI agent",
6092
+ children: /* @__PURE__ */ Q(Ko, { size: 11 })
6061
6093
  }) : null,
6062
6094
  /* @__PURE__ */ Q("time", {
6063
6095
  class: "markup-comment-time",
@@ -6073,11 +6105,11 @@ function Hs({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
6073
6105
  }),
6074
6106
  /* @__PURE__ */ Q("div", {
6075
6107
  class: "markup-thread-actions",
6076
- children: [!k && !l ? /* @__PURE__ */ Q(Us, {
6108
+ children: [!te && !l ? /* @__PURE__ */ Q(Ws, {
6077
6109
  comment: t,
6078
6110
  pickerOpen: m,
6079
6111
  pickerDirection: v,
6080
- pickerSide: A.length === 1,
6112
+ pickerSide: k.length === 1,
6081
6113
  pickerRef: (e) => {
6082
6114
  m && (C.current = e);
6083
6115
  },
@@ -6090,7 +6122,7 @@ function Hs({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
6090
6122
  });
6091
6123
  return;
6092
6124
  }
6093
- if (A.length === 1) {
6125
+ if (k.length === 1) {
6094
6126
  T({
6095
6127
  type: "toggle-reaction-picker",
6096
6128
  commentId: t._id,
@@ -6109,7 +6141,7 @@ function Hs({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
6109
6141
  T({ type: "dismiss" }), _(t._id, e);
6110
6142
  }
6111
6143
  }) : null, d ? /* @__PURE__ */ Q("div", {
6112
- class: Z("markup-thread-menu markup-comment-menu", f && "is-open", f && y === "up" && "is-up", A.length === 1 && "is-side"),
6144
+ class: Z("markup-thread-menu markup-comment-menu", f && "is-open", f && y === "up" && "is-up", k.length === 1 && "is-side"),
6113
6145
  ref: (e) => {
6114
6146
  f && (C.current = e);
6115
6147
  },
@@ -6126,7 +6158,7 @@ function Hs({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
6126
6158
  });
6127
6159
  return;
6128
6160
  }
6129
- if (A.length === 1) {
6161
+ if (k.length === 1) {
6130
6162
  T({
6131
6163
  type: "toggle-comment-menu",
6132
6164
  commentId: t._id,
@@ -6141,7 +6173,7 @@ function Hs({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
6141
6173
  direction: a < i ? "up" : "down"
6142
6174
  });
6143
6175
  },
6144
- children: /* @__PURE__ */ Q(Eo, { size: 16 })
6176
+ children: /* @__PURE__ */ Q(Oo, { size: 16 })
6145
6177
  }), f ? /* @__PURE__ */ Q("div", {
6146
6178
  class: "markup-thread-menu-list",
6147
6179
  children: [o ? /* @__PURE__ */ Q("button", {
@@ -6181,7 +6213,7 @@ function Hs({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
6181
6213
  await h(t._id, n), T({ type: "dismiss" });
6182
6214
  } catch {}
6183
6215
  },
6184
- children: [/* @__PURE__ */ Q(Ts, {
6216
+ children: [/* @__PURE__ */ Q(Os, {
6185
6217
  class: "markup-comment-edit-input",
6186
6218
  label: "Edit comment",
6187
6219
  value: w.draft,
@@ -6207,7 +6239,7 @@ function Hs({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
6207
6239
  children: "Save"
6208
6240
  })]
6209
6241
  })]
6210
- }) : /* @__PURE__ */ Q(Ss, {
6242
+ }) : /* @__PURE__ */ Q(Ts, {
6211
6243
  body: t.body,
6212
6244
  mentions: t.mentions
6213
6245
  }),
@@ -6220,9 +6252,9 @@ function Hs({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
6220
6252
  alt: "Screenshot"
6221
6253
  })
6222
6254
  }) : null,
6223
- !l && t.reactions.length > 0 ? /* @__PURE__ */ Q(Ws, {
6255
+ !l && t.reactions.length > 0 ? /* @__PURE__ */ Q(Gs, {
6224
6256
  comment: t,
6225
- isResolved: k,
6257
+ isResolved: te,
6226
6258
  onToggle: (e) => _(t._id, e)
6227
6259
  }) : null
6228
6260
  ]
@@ -6240,7 +6272,7 @@ function Hs({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
6240
6272
  onClick: (e) => {
6241
6273
  e.stopPropagation(), S.current?.close();
6242
6274
  },
6243
- children: /* @__PURE__ */ Q(wo, { size: 16 })
6275
+ children: /* @__PURE__ */ Q(Eo, { size: 16 })
6244
6276
  }), /* @__PURE__ */ Q("img", {
6245
6277
  class: "markup-lightbox-img",
6246
6278
  src: e.screenshotUrl,
@@ -6248,7 +6280,7 @@ function Hs({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
6248
6280
  onClick: (e) => e.stopPropagation()
6249
6281
  })]
6250
6282
  }) : null,
6251
- t == null ? /* @__PURE__ */ Q(ts, {
6283
+ t == null ? /* @__PURE__ */ Q(is, {
6252
6284
  isPending: s,
6253
6285
  isConnecting: i,
6254
6286
  isSigningIn: a,
@@ -6270,7 +6302,7 @@ function Hs({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
6270
6302
  children: "team"
6271
6303
  }) : null
6272
6304
  ]
6273
- }), /* @__PURE__ */ Q(Ds, {
6305
+ }), /* @__PURE__ */ Q(As, {
6274
6306
  label: "Reply",
6275
6307
  placeholder: "Write a reply…",
6276
6308
  submitLabel: "Reply",
@@ -6284,7 +6316,7 @@ function Hs({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
6284
6316
  ]
6285
6317
  });
6286
6318
  }
6287
- function Us({ comment: e, pickerOpen: t, pickerDirection: n, pickerSide: r, pickerRef: i, onPickerClick: a, onPickerSelect: o }) {
6319
+ function Ws({ comment: e, pickerOpen: t, pickerDirection: n, pickerSide: r, pickerRef: i, onPickerClick: a, onPickerSelect: o }) {
6288
6320
  return /* @__PURE__ */ Q("div", {
6289
6321
  class: Z("markup-reaction-picker-wrap", t && "is-open", t && n === "up" && "is-up", r && "is-side"),
6290
6322
  ref: i,
@@ -6294,11 +6326,11 @@ function Us({ comment: e, pickerOpen: t, pickerDirection: n, pickerSide: r, pick
6294
6326
  title: "Add reaction",
6295
6327
  "aria-label": "Add reaction",
6296
6328
  onClick: a,
6297
- children: /* @__PURE__ */ Q(Ao, { size: 16 })
6329
+ children: /* @__PURE__ */ Q(Mo, { size: 16 })
6298
6330
  }), t ? /* @__PURE__ */ Q("div", {
6299
6331
  class: "markup-reaction-picker",
6300
6332
  role: "menu",
6301
- children: Bs.map((t) => /* @__PURE__ */ Q("button", {
6333
+ children: Vs.map((t) => /* @__PURE__ */ Q("button", {
6302
6334
  type: "button",
6303
6335
  role: "menuitem",
6304
6336
  class: Z("markup-reaction-picker-item", (e.reactions.find((e) => e.emoji === t)?.mine ?? !1) && "is-mine"),
@@ -6308,11 +6340,11 @@ function Us({ comment: e, pickerOpen: t, pickerDirection: n, pickerSide: r, pick
6308
6340
  }) : null]
6309
6341
  });
6310
6342
  }
6311
- function Ws({ comment: e, isResolved: t, onToggle: n }) {
6343
+ function Gs({ comment: e, isResolved: t, onToggle: n }) {
6312
6344
  return /* @__PURE__ */ Q("div", {
6313
6345
  class: "markup-reactions",
6314
6346
  children: e.reactions.map((e) => {
6315
- let r = Gs(e.reactors, e.mine, e.count, e.emoji);
6347
+ let r = Ks(e.reactors, e.mine, e.count, e.emoji);
6316
6348
  return /* @__PURE__ */ Q("button", {
6317
6349
  type: "button",
6318
6350
  class: Z("markup-reaction-chip", e.mine && "is-mine"),
@@ -6333,27 +6365,32 @@ function Ws({ comment: e, isResolved: t, onToggle: n }) {
6333
6365
  })
6334
6366
  });
6335
6367
  }
6336
- function Gs(e, t, n, r) {
6368
+ function Ks(e, t, n, r) {
6337
6369
  let i = e.slice(), a = i.length + +!!t, o = Math.max(0, n - a);
6338
6370
  return o > 0 && i.push(`${o} other${o === 1 ? "" : "s"}`), t && i.push("you"), i.length === 0 ? `${n} reacted with ${r}` : `${i.length === 1 ? i[0] : `${i.slice(0, -1).join(", ")} and ${i[i.length - 1]}`} reacted with ${r}`;
6339
6371
  }
6340
- function Ks(e, t, n) {
6372
+ function qs(e, t, n) {
6341
6373
  return Math.max(t, Math.min(n, e));
6342
6374
  }
6343
- function qs(e) {
6344
- try {
6345
- return new URL(e).host;
6346
- } catch {
6347
- return "";
6348
- }
6349
- }
6350
- function Js(e) {
6351
- try {
6352
- let t = new URL(e);
6353
- return `${t.pathname}${t.search}` || "/";
6354
- } catch {
6355
- return "";
6356
- }
6375
+ function Js({ name: e, image: t, tone: n }) {
6376
+ let [r, i] = L(null);
6377
+ return /* @__PURE__ */ Q("span", {
6378
+ class: "markup-comment-avatar",
6379
+ "data-tone": n,
6380
+ "aria-hidden": !0,
6381
+ children: t != null && r !== t ? /* @__PURE__ */ Q("img", {
6382
+ class: "markup-avatar-img",
6383
+ src: t,
6384
+ alt: "",
6385
+ loading: "lazy",
6386
+ decoding: "async",
6387
+ referrerpolicy: "no-referrer",
6388
+ onError: () => i(t)
6389
+ }) : /* @__PURE__ */ Q("span", {
6390
+ class: "markup-avatar-initials",
6391
+ children: Ys(e)
6392
+ })
6393
+ });
6357
6394
  }
6358
6395
  function Ys(e) {
6359
6396
  let t = e.trim();
@@ -6418,7 +6455,7 @@ function $s({ isActive: e, onToggle: t, onHide: n, position: r = "bottom-right",
6418
6455
  title: e ? "Cancel placing markup" : "Leave a markup",
6419
6456
  "aria-pressed": e,
6420
6457
  onClick: p,
6421
- children: Q(e ? wo : jo, { size: 16 })
6458
+ children: Q(e ? Eo : No, { size: 16 })
6422
6459
  }),
6423
6460
  a ? /* @__PURE__ */ Q("button", {
6424
6461
  type: "button",
@@ -6430,7 +6467,7 @@ function $s({ isActive: e, onToggle: t, onHide: n, position: r = "bottom-right",
6430
6467
  onClick: (e) => {
6431
6468
  e.preventDefault(), e.stopPropagation(), o?.();
6432
6469
  },
6433
- children: [/* @__PURE__ */ Q(Mo, { size: 16 }), i > 0 ? /* @__PURE__ */ Q("span", {
6470
+ children: [/* @__PURE__ */ Q(Po, { size: 16 }), i > 0 ? /* @__PURE__ */ Q("span", {
6434
6471
  class: "markup-tb-badge",
6435
6472
  "aria-hidden": "true",
6436
6473
  children: i > 9 ? "9+" : i
@@ -6449,7 +6486,7 @@ function $s({ isActive: e, onToggle: t, onHide: n, position: r = "bottom-right",
6449
6486
  onClick: (e) => {
6450
6487
  e.preventDefault(), e.stopPropagation(), l();
6451
6488
  },
6452
- children: Q(c ? No : Po, { size: 16 })
6489
+ children: Q(c ? Fo : Io, { size: 16 })
6453
6490
  })] }) : null,
6454
6491
  u || d ? /* @__PURE__ */ Q("div", {
6455
6492
  class: "markup-tb-sep",
@@ -6463,7 +6500,7 @@ function $s({ isActive: e, onToggle: t, onHide: n, position: r = "bottom-right",
6463
6500
  "data-kind": "overflow",
6464
6501
  "aria-label": "More options",
6465
6502
  disabled: !0,
6466
- children: /* @__PURE__ */ Q(Fo, { size: 16 })
6503
+ children: /* @__PURE__ */ Q(Lo, { size: 16 })
6467
6504
  })
6468
6505
  ]
6469
6506
  });
@@ -6474,7 +6511,8 @@ function ec(e) {
6474
6511
  let t = {
6475
6512
  clientId: `markup_user_${e.identity.id}`,
6476
6513
  name: e.identity.name,
6477
- email: e.identity.email
6514
+ email: e.identity.email,
6515
+ image: e.identity.image == null ? void 0 : wi(e.identity.image, location.href)?.href ?? void 0
6478
6516
  };
6479
6517
  if (e.mode === "cookies") return e.tokenExpiresAt == null || e.refreshTokenExpiresAt == null ? null : {
6480
6518
  storage: "cookies",
@@ -6517,7 +6555,7 @@ var rc = Ar({
6517
6555
  hidden: { toggle: () => ({ kind: "visible" }) }
6518
6556
  });
6519
6557
  function ic(e) {
6520
- return Di(e), e;
6558
+ return Ai(e), e;
6521
6559
  }
6522
6560
  var ac = Ar({
6523
6561
  unresolved: {
@@ -6571,8 +6609,8 @@ var ac = Ar({
6571
6609
  }
6572
6610
  });
6573
6611
  function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r, dashboardUrl: i }) {
6574
- let [a, o] = R(nc), [s, c] = R([]), [l, u] = R(!1), d = V(() => Ei(), []), [f, p] = jr(ac, d.state), [m, h] = R(null);
6575
- z(() => {
6612
+ let [a, o] = L(nc), [s, c] = L([]), [l, u] = L(!1), d = B(() => ki(), []), [f, p] = jr(ac, d.state), [m, h] = L(null);
6613
+ R(() => {
6576
6614
  let n = !1;
6577
6615
  return hi(e, t).then((e) => {
6578
6616
  n || h(e);
@@ -6580,12 +6618,12 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
6580
6618
  n = !0;
6581
6619
  };
6582
6620
  }, [e, t]);
6583
- let [g, _] = R(n), [v, y] = R(!0), [b, x] = R(!0), [S, C] = R(!1), w = B(f);
6584
- w.current = f, xo(f, e, t, (e) => p({
6621
+ let [g, _] = L(n), [v, y] = L(!0), [b, x] = L(!0), [S, C] = L(!1), w = z(f);
6622
+ w.current = f, So(f, e, t, (e) => p({
6585
6623
  type: "signed-in",
6586
6624
  identity: e
6587
6625
  }), () => p({ type: "unauthorized" }));
6588
- let T = V(() => fi({
6626
+ let T = B(() => fi({
6589
6627
  apiUrl: e,
6590
6628
  apiKey: t,
6591
6629
  getToken: () => {
@@ -6610,8 +6648,8 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
6610
6648
  e,
6611
6649
  t,
6612
6650
  p
6613
- ]), [E, D] = R({ kind: "idle" }), [O, ee] = R([]);
6614
- z(() => {
6651
+ ]), [E, D] = L({ kind: "idle" }), [O, ee] = L([]);
6652
+ R(() => {
6615
6653
  let e = !1;
6616
6654
  return T.listMembers().then((t) => {
6617
6655
  e || ee(t.members);
@@ -6619,16 +6657,16 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
6619
6657
  e = !0;
6620
6658
  };
6621
6659
  }, [T]);
6622
- let [k, A] = R(0), [te, j] = R([]), [ne, re] = R(!1), [ie, ae] = R(void 0), [oe, se] = R(!1), ce = H(() => {
6623
- re(!0), ae(void 0), T.listNotifications().then((e) => {
6624
- j(e.notifications);
6660
+ let [te, k] = L(0), [ne, A] = L([]), [re, ie] = L(!1), [ae, oe] = L(void 0), [se, ce] = L(!1), le = V(() => {
6661
+ ie(!0), oe(void 0), T.listNotifications().then((e) => {
6662
+ A(e.notifications);
6625
6663
  }).catch((e) => {
6626
- ae(e instanceof Error ? e.message : "Failed to load.");
6664
+ oe(e instanceof Error ? e.message : "Failed to load.");
6627
6665
  }).finally(() => {
6628
- re(!1);
6666
+ ie(!1);
6629
6667
  });
6630
- }, [T]), le = Rr(), ue = Rr(), de = Rr(), fe = Rr(), pe = Rr(), { run: M, reset: me } = le, { run: he } = ue, { run: ge, reset: _e } = de, { run: ve } = fe, { run: ye } = pe, be = pe.isPending, xe = le.isPending, N = le.error ?? ue.error ?? de.error, [Se, P] = jr(rc, { kind: "visible" }), F = Se.kind !== "visible", [Ce, we] = R(0), Te = B(null), Ee = ki(f), De = f.kind === "verified", Oe = f.kind === "unresolved" || f.kind === "recovering", ke = Oi(f);
6631
- z(() => {
6668
+ }, [T]), ue = Rr(), de = Rr(), fe = Rr(), pe = Rr(), me = Rr(), { run: j, reset: he } = ue, { run: ge } = de, { run: _e, reset: ve } = fe, { run: ye } = pe, { run: be } = me, xe = me.isPending, Se = ue.isPending, M = ue.error ?? de.error ?? fe.error, [Ce, N] = jr(rc, { kind: "visible" }), P = Ce.kind !== "visible", [we, Te] = L(0), Ee = z(null), De = Mi(f), Oe = f.kind === "verified", ke = f.kind === "unresolved" || f.kind === "recovering", Ae = ji(f);
6669
+ R(() => {
6632
6670
  if (f.kind !== "unresolved" && f.kind !== "recovering") return;
6633
6671
  let e = f.kind === "recovering" ? f.preserved : d.preserved, t = !1, n = null, r = 1e3;
6634
6672
  function i() {
@@ -6655,43 +6693,43 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
6655
6693
  p,
6656
6694
  d
6657
6695
  ]);
6658
- let Ae = _o(T), [je, Me] = R(null);
6659
- z(() => {
6696
+ let je = vo(T), [Me, Ne] = L(null);
6697
+ R(() => {
6660
6698
  let t = new kr(e.replace(/\.convex\.site(\/.*)?$/, ".convex.cloud"));
6661
- return Me(t), () => {
6662
- t.close(), Me((e) => e === t ? null : e);
6699
+ return Ne(t), () => {
6700
+ t.close(), Ne((e) => e === t ? null : e);
6663
6701
  };
6664
6702
  }, [e]);
6665
- let Ne = B(!1);
6666
- z(() => {
6667
- if (!(!je || !Ae)) return me(), _e(), je.onUpdate(bn("widget/queries:subscribeThreadsForRoute"), {
6668
- subscriptionToken: Ae,
6703
+ let Pe = z(!1);
6704
+ R(() => {
6705
+ if (!(!Me || !je)) return he(), ve(), Me.onUpdate(bn("widget/queries:subscribeThreadsForRoute"), {
6706
+ subscriptionToken: je,
6669
6707
  route: a,
6670
- viewerClientId: ke
6708
+ viewerClientId: Ae
6671
6709
  }, (e) => {
6672
6710
  e !== void 0 && (c(e), u(!0));
6673
6711
  });
6674
6712
  }, [
6713
+ Me,
6675
6714
  je,
6676
- Ae,
6677
6715
  a,
6678
- ke,
6679
- me,
6680
- _e
6681
- ]), z(() => {
6716
+ Ae,
6717
+ he,
6718
+ ve
6719
+ ]), R(() => {
6682
6720
  if (f.kind !== "verified") {
6683
- A(0);
6721
+ k(0);
6684
6722
  return;
6685
6723
  }
6686
- if (!(!je || !Ae)) return je.onUpdate(bn("widget/queries:subscribeUnreadCountForProject"), { subscriptionToken: Ae }, (e) => {
6687
- e !== void 0 && A(e.count);
6724
+ if (!(!Me || !je)) return Me.onUpdate(bn("widget/queries:subscribeUnreadCountForProject"), { subscriptionToken: je }, (e) => {
6725
+ e !== void 0 && k(e.count);
6688
6726
  });
6689
6727
  }, [
6728
+ Me,
6690
6729
  je,
6691
- Ae,
6692
6730
  f.kind
6693
- ]), z(() => {
6694
- if (Ne.current || !l) return;
6731
+ ]), R(() => {
6732
+ if (Pe.current || !l) return;
6695
6733
  let e = window.location.hash.match(/^#markup-thread=(.+)$/);
6696
6734
  if (e) {
6697
6735
  let t = decodeURIComponent(e[1] ?? "");
@@ -6700,21 +6738,21 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
6700
6738
  threadId: t
6701
6739
  }), history.replaceState(null, "", window.location.pathname + window.location.search);
6702
6740
  }
6703
- Ne.current = !0;
6704
- }, [s, l]), z(() => Si(() => o(nc())), []), z(() => {
6741
+ Pe.current = !0;
6742
+ }, [s, l]), R(() => Si(() => o(nc())), []), R(() => {
6705
6743
  function e(e) {
6706
- e.key === "." && (e.metaKey || e.ctrlKey) && (e.altKey || e.shiftKey || (e.preventDefault(), P({ type: "toggle" })));
6744
+ e.key === "." && (e.metaKey || e.ctrlKey) && (e.altKey || e.shiftKey || (e.preventDefault(), N({ type: "toggle" })));
6707
6745
  }
6708
6746
  return window.addEventListener("keydown", e), () => window.removeEventListener("keydown", e);
6709
- }, [P]), z(() => {
6710
- if (Se.kind !== "hidden-with-toast") return;
6711
- let e = window.setTimeout(() => P({ type: "dismiss-toast" }), 5e3);
6747
+ }, [N]), R(() => {
6748
+ if (Ce.kind !== "hidden-with-toast") return;
6749
+ let e = window.setTimeout(() => N({ type: "dismiss-toast" }), 5e3);
6712
6750
  return () => window.clearTimeout(e);
6713
- }, [Se.kind, P]), z(() => {
6751
+ }, [Ce.kind, N]), R(() => {
6714
6752
  let e = null;
6715
6753
  function t() {
6716
6754
  e ??= requestAnimationFrame(() => {
6717
- e = null, we((e) => e + 1);
6755
+ e = null, Te((e) => e + 1);
6718
6756
  });
6719
6757
  }
6720
6758
  window.addEventListener("scroll", t, { passive: !0 }), window.addEventListener("resize", t);
@@ -6723,23 +6761,23 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
6723
6761
  window.removeEventListener("scroll", t), window.removeEventListener("resize", t), n.disconnect(), e != null && cancelAnimationFrame(e);
6724
6762
  };
6725
6763
  }, []);
6726
- let I = H(() => {
6727
- me(), _e(), D({ kind: "placing" });
6728
- }, [me, _e]);
6729
- z(() => {
6764
+ let F = V(() => {
6765
+ he(), ve(), D({ kind: "placing" });
6766
+ }, [he, ve]);
6767
+ R(() => {
6730
6768
  function e(e) {
6731
- e.key === "c" && (e.metaKey || e.ctrlKey || e.altKey || e.shiftKey || E.kind === "idle" && (F || tc() || (e.preventDefault(), I())));
6769
+ e.key === "c" && (e.metaKey || e.ctrlKey || e.altKey || e.shiftKey || E.kind === "idle" && (P || tc() || (e.preventDefault(), F())));
6732
6770
  }
6733
6771
  return window.addEventListener("keydown", e), () => window.removeEventListener("keydown", e);
6734
6772
  }, [
6735
6773
  E.kind,
6736
- F,
6737
- I
6774
+ P,
6775
+ F
6738
6776
  ]);
6739
- let Pe = H(() => {
6740
- D({ kind: "idle" }), me(), _e();
6741
- }, [me, _e]), Fe = B(0), Ie = H((e, t, n) => {
6742
- let i = t + window.scrollX, a = n + window.scrollY, o = ++Fe.current;
6777
+ let Fe = V(() => {
6778
+ D({ kind: "idle" }), he(), ve();
6779
+ }, [he, ve]), Ie = z(0), Le = V((e, t, n) => {
6780
+ let i = t + window.scrollX, a = n + window.scrollY, o = ++Ie.current;
6743
6781
  if (r?.enabled === !1 || !b) {
6744
6782
  D({
6745
6783
  kind: "composing-new",
@@ -6765,11 +6803,11 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
6765
6803
  screenshotRedactedSelectors: [],
6766
6804
  captureToken: o
6767
6805
  });
6768
- let s = Te.current != null && Te.current.getRootNode() instanceof ShadowRoot ? Te.current.getRootNode().host : null, c = {
6806
+ let s = Ee.current != null && Ee.current.getRootNode() instanceof ShadowRoot ? Ee.current.getRootNode().host : null, c = {
6769
6807
  strictScrub: r?.strictScrub,
6770
6808
  redactSelector: r?.redactSelector
6771
6809
  };
6772
- lo(s, {
6810
+ uo(s, {
6773
6811
  x: t,
6774
6812
  y: n
6775
6813
  }, c).then((e) => {
@@ -6781,15 +6819,15 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
6781
6819
  screenshotRedactedSelectors: e?.redactedSelectors ?? []
6782
6820
  });
6783
6821
  });
6784
- }, [r, b]), Le = H((e, t) => {
6822
+ }, [r, b]), Re = V((e, t) => {
6785
6823
  p({
6786
6824
  type: "author-set",
6787
6825
  name: e,
6788
6826
  email: t
6789
6827
  });
6790
- }, [p]), L = ue.isPending, Re = H(async () => {
6791
- await he(async () => {
6792
- let n = ec(await Fi({
6828
+ }, [p]), I = de.isPending, ze = V(async () => {
6829
+ await ge(async () => {
6830
+ let n = ec(await Ri({
6793
6831
  apiUrl: e,
6794
6832
  apiKey: t,
6795
6833
  useCookies: m === !0
@@ -6804,12 +6842,12 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
6804
6842
  e,
6805
6843
  t,
6806
6844
  m,
6807
- he,
6845
+ ge,
6808
6846
  p
6809
- ]), ze = H(async (e, t) => {
6847
+ ]), Be = V(async (e, t) => {
6810
6848
  if (E.kind !== "composing-new") return;
6811
- let n = Ai(f);
6812
- n && await M(async () => {
6849
+ let n = Ni(f);
6850
+ n && await j(async () => {
6813
6851
  let r;
6814
6852
  if (t && E.screenshot) {
6815
6853
  let { uploadUrl: e } = await T.getScreenshotUploadUrl(), t;
@@ -6854,30 +6892,30 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
6854
6892
  f,
6855
6893
  E,
6856
6894
  a,
6857
- M
6858
- ]), Be = H(async () => {
6895
+ j
6896
+ ]), Ve = V(async () => {
6859
6897
  if (E.kind !== "thread") return;
6860
6898
  let e = E.threadId;
6861
- await M(async () => {
6899
+ await j(async () => {
6862
6900
  await T.deleteThread(e), c((t) => t.filter((t) => t._id !== e)), D({ kind: "idle" });
6863
6901
  });
6864
6902
  }, [
6865
6903
  T,
6866
6904
  E,
6867
- M
6868
- ]), Ve = H(async () => {
6905
+ j
6906
+ ]), He = V(async () => {
6869
6907
  if (E.kind !== "thread") return;
6870
6908
  let e = E.threadId;
6871
- await M(async () => {
6872
- await T.resolveThread(e, ke), c((t) => t.filter((t) => t._id !== e)), D({ kind: "idle" });
6909
+ await j(async () => {
6910
+ await T.resolveThread(e, Ae), c((t) => t.filter((t) => t._id !== e)), D({ kind: "idle" });
6873
6911
  });
6874
6912
  }, [
6875
6913
  T,
6876
6914
  E,
6877
- ke,
6878
- M
6879
- ]), He = H((e) => {
6880
- if (e.readAt ?? (A((e) => Math.max(0, e - 1)), j((t) => t.map((t) => t._id === e._id ? {
6915
+ Ae,
6916
+ j
6917
+ ]), Ue = V((e) => {
6918
+ if (e.readAt ?? (k((e) => Math.max(0, e - 1)), A((t) => t.map((t) => t._id === e._id ? {
6881
6919
  ...t,
6882
6920
  readAt: Date.now()
6883
6921
  } : t)), T.markNotificationRead(e._id).catch(() => {})), s.some((t) => t._id === e.threadId)) D({
@@ -6885,20 +6923,20 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
6885
6923
  threadId: e.threadId
6886
6924
  });
6887
6925
  else {
6888
- let t = Li(e.threadUrl, window.location.href);
6926
+ let t = wi(e.threadUrl, window.location.href);
6889
6927
  t && (t.hash = `markup-thread=${e.threadId}`, window.location.href = t.toString());
6890
6928
  }
6891
- }, [T, s]), Ue = H(() => {
6892
- se(!0), A(0), j((e) => e.map((e) => e.readAt == null ? {
6929
+ }, [T, s]), We = V(() => {
6930
+ ce(!0), k(0), A((e) => e.map((e) => e.readAt == null ? {
6893
6931
  ...e,
6894
6932
  readAt: Date.now()
6895
- } : e)), T.markAllNotificationsRead().catch(() => {}).finally(() => se(!1));
6896
- }, [T]), We = H(async (e) => {
6933
+ } : e)), T.markAllNotificationsRead().catch(() => {}).finally(() => ce(!1));
6934
+ }, [T]), Ge = V(async (e) => {
6897
6935
  if (E.kind !== "thread") return;
6898
- let t = Ai(f);
6936
+ let t = Ni(f);
6899
6937
  if (!t) return;
6900
6938
  let n = E.threadId;
6901
- await M(async () => {
6939
+ await j(async () => {
6902
6940
  let r = Pr(e), i = await T.addComment(n, {
6903
6941
  body: e,
6904
6942
  authorName: t.name,
@@ -6911,11 +6949,11 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
6911
6949
  T,
6912
6950
  f,
6913
6951
  E,
6914
- M
6915
- ]), Ge = H(async (e, t) => {
6952
+ j
6953
+ ]), Ke = V(async (e, t) => {
6916
6954
  if (E.kind !== "thread" || f.kind !== "anon" && f.kind !== "verified") return;
6917
6955
  let n = E.threadId;
6918
- await M(async () => {
6956
+ await j(async () => {
6919
6957
  let r = Pr(t), i = await T.editComment(n, e, {
6920
6958
  body: t,
6921
6959
  mentions: r.length > 0 ? r : void 0
@@ -6926,11 +6964,11 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
6926
6964
  T,
6927
6965
  f,
6928
6966
  E,
6929
- M
6930
- ]), Ke = H(async (e) => {
6967
+ j
6968
+ ]), qe = V(async (e) => {
6931
6969
  if (E.kind !== "thread" || f.kind !== "anon" && f.kind !== "verified") return;
6932
6970
  let t = E.threadId;
6933
- await M(async () => {
6971
+ await j(async () => {
6934
6972
  let n = await T.deleteComment(t, e);
6935
6973
  c((e) => e.map((e) => e._id === t ? n.thread : e));
6936
6974
  });
@@ -6938,13 +6976,13 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
6938
6976
  T,
6939
6977
  f,
6940
6978
  E,
6941
- M
6942
- ]), qe = H(async (e, t) => {
6979
+ j
6980
+ ]), Je = V(async (e, t) => {
6943
6981
  if (E.kind !== "thread") return;
6944
- let n = Ai(f);
6982
+ let n = Ni(f);
6945
6983
  if (!n) return;
6946
6984
  let r = E.threadId;
6947
- await ge(async () => {
6985
+ await _e(async () => {
6948
6986
  let i = await T.toggleReaction(e, {
6949
6987
  emoji: t,
6950
6988
  authorName: n.name
@@ -6955,36 +6993,36 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
6955
6993
  T,
6956
6994
  f,
6957
6995
  E,
6958
- ge
6959
- ]), [Je, Ye] = R(!1), Xe = H(async () => {
6960
- await ve(async () => {
6961
- await T.forgetMe(), D({ kind: "idle" }), p({ type: "forget-me" }), Ye(!0);
6996
+ _e
6997
+ ]), [Ye, Xe] = L(!1), Ze = V(async () => {
6998
+ await ye(async () => {
6999
+ await T.forgetMe(), D({ kind: "idle" }), p({ type: "forget-me" }), Xe(!0);
6962
7000
  });
6963
7001
  }, [
6964
7002
  T,
6965
- ve,
7003
+ ye,
6966
7004
  p
6967
7005
  ]);
6968
- z(() => {
6969
- if (!Je) return;
6970
- let e = window.setTimeout(() => Ye(!1), 5e3);
7006
+ R(() => {
7007
+ if (!Ye) return;
7008
+ let e = window.setTimeout(() => Xe(!1), 5e3);
6971
7009
  return () => window.clearTimeout(e);
6972
- }, [Je]);
6973
- let [Ze, Qe] = R(!1), $e = H(async () => {
6974
- await ye(async () => {
6975
- await T.signOut(), D({ kind: "idle" }), p({ type: "signed-out" }), Qe(!0);
7010
+ }, [Ye]);
7011
+ let [Qe, $e] = L(!1), et = V(async () => {
7012
+ await be(async () => {
7013
+ await T.signOut(), D({ kind: "idle" }), p({ type: "signed-out" }), $e(!0);
6976
7014
  });
6977
7015
  }, [
6978
7016
  T,
6979
- ye,
7017
+ be,
6980
7018
  p
6981
7019
  ]);
6982
- z(() => {
6983
- if (!Ze) return;
6984
- let e = window.setTimeout(() => Qe(!1), 5e3);
7020
+ R(() => {
7021
+ if (!Qe) return;
7022
+ let e = window.setTimeout(() => $e(!1), 5e3);
6985
7023
  return () => window.clearTimeout(e);
6986
- }, [Ze]);
6987
- let et = E.kind === "thread" ? s.find((e) => e._id === E.threadId) ?? null : null, U = De || ke != null && ke === et?.authorClientId, W = V(() => s.map((e) => ({
7024
+ }, [Qe]);
7025
+ let tt = E.kind === "thread" ? s.find((e) => e._id === E.threadId) ?? null : null, H = Oe || Ae != null && Ae === tt?.authorClientId, U = B(() => s.map((e) => ({
6988
7026
  thread: e,
6989
7027
  point: oi({
6990
7028
  anchorX: e.anchorX,
@@ -6993,13 +7031,13 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
6993
7031
  anchorOffsetX: e.anchorOffsetX,
6994
7032
  anchorOffsetY: e.anchorOffsetY
6995
7033
  })
6996
- })), [s, Ce]), tt = W.some((e) => !e.point.resolved);
6997
- return z(() => {
6998
- if (!tt) return;
7034
+ })), [s, we]), nt = U.some((e) => !e.point.resolved);
7035
+ return R(() => {
7036
+ if (!nt) return;
6999
7037
  let e = null;
7000
7038
  function t() {
7001
7039
  e ??= requestAnimationFrame(() => {
7002
- e = null, we((e) => e + 1);
7040
+ e = null, Te((e) => e + 1);
7003
7041
  });
7004
7042
  }
7005
7043
  let n = new MutationObserver(t);
@@ -7009,21 +7047,21 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7009
7047
  }), () => {
7010
7048
  n.disconnect(), e != null && cancelAnimationFrame(e);
7011
7049
  };
7012
- }, [tt]), z(() => {
7013
- E.kind === "thread" && et == null && Pe();
7050
+ }, [nt]), R(() => {
7051
+ E.kind === "thread" && tt == null && Fe();
7014
7052
  }, [
7015
7053
  E,
7016
- et,
7017
- Pe
7054
+ tt,
7055
+ Fe
7018
7056
  ]), /* @__PURE__ */ Q("div", {
7019
7057
  class: "markup-root",
7020
- ref: Te,
7058
+ ref: Ee,
7021
7059
  children: [
7022
7060
  E.kind === "placing" ? null : /* @__PURE__ */ Q("div", {
7023
7061
  class: "markup-pins-layer",
7024
- children: [!F && v ? W.map(({ thread: e, point: t }) => {
7062
+ children: [!P && v ? U.map(({ thread: e, point: t }) => {
7025
7063
  let n = E.kind === "thread" && E.threadId === e._id, r = e.comments.reduce((e, t) => e + +!t.deleted, 0);
7026
- return /* @__PURE__ */ Q(Ls, {
7064
+ return /* @__PURE__ */ Q(Rs, {
7027
7065
  pageX: t.pageX,
7028
7066
  pageY: t.pageY,
7029
7067
  count: r,
@@ -7034,111 +7072,111 @@ function oc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7034
7072
  threadId: e._id
7035
7073
  })
7036
7074
  }, e._id);
7037
- }) : null, E.kind === "composing-new" ? /* @__PURE__ */ Q(Rs, {
7075
+ }) : null, E.kind === "composing-new" ? /* @__PURE__ */ Q(zs, {
7038
7076
  pageX: E.pageX,
7039
7077
  pageY: E.pageY
7040
7078
  }) : null]
7041
7079
  }),
7042
- E.kind === "placing" ? /* @__PURE__ */ Q(zs, {
7043
- onPlace: Ie,
7044
- onCancel: Pe
7080
+ E.kind === "placing" ? /* @__PURE__ */ Q(Bs, {
7081
+ onPlace: Le,
7082
+ onCancel: Fe
7045
7083
  }) : null,
7046
- E.kind === "thread" && et ? /* @__PURE__ */ Q(Hs, {
7047
- thread: et,
7048
- authorName: Ee,
7049
- currentClientId: ke ?? null,
7050
- isVerified: De,
7051
- isIdentityResolving: Oe,
7052
- isSigningIn: L,
7053
- canDelete: U,
7054
- isPending: xe,
7055
- error: N,
7056
- isHidden: F,
7084
+ E.kind === "thread" && tt ? /* @__PURE__ */ Q(Us, {
7085
+ thread: tt,
7086
+ authorName: De,
7087
+ currentClientId: Ae ?? null,
7088
+ isVerified: Oe,
7089
+ isIdentityResolving: ke,
7090
+ isSigningIn: I,
7091
+ canDelete: H,
7092
+ isPending: Se,
7093
+ error: M,
7094
+ isHidden: P,
7057
7095
  members: O,
7058
- onAuthor: Le,
7059
- onSignIn: Re,
7060
- onClose: Pe,
7061
- onReply: We,
7062
- onEditComment: Ge,
7063
- onDeleteComment: Ke,
7064
- onToggleReaction: qe,
7065
- onDelete: Be,
7066
- onResolve: Ve
7067
- }, et._id) : null,
7068
- E.kind === "composing-new" ? /* @__PURE__ */ Q(Os, {
7096
+ onAuthor: Re,
7097
+ onSignIn: ze,
7098
+ onClose: Fe,
7099
+ onReply: Ge,
7100
+ onEditComment: Ke,
7101
+ onDeleteComment: qe,
7102
+ onToggleReaction: Je,
7103
+ onDelete: Ve,
7104
+ onResolve: He
7105
+ }, tt._id) : null,
7106
+ E.kind === "composing-new" ? /* @__PURE__ */ Q(js, {
7069
7107
  pageX: E.pageX,
7070
7108
  pageY: E.pageY,
7071
- authorName: Ee,
7072
- isVerified: De,
7073
- isIdentityResolving: Oe,
7074
- isSigningIn: L,
7075
- isPending: xe,
7076
- error: N,
7109
+ authorName: De,
7110
+ isVerified: Oe,
7111
+ isIdentityResolving: ke,
7112
+ isSigningIn: I,
7113
+ isPending: Se,
7114
+ error: M,
7077
7115
  screenshot: E.screenshot,
7078
7116
  isScreenshotCapturing: E.isScreenshotCapturing,
7079
7117
  screenshotRedactedCount: E.screenshotRedactedCount,
7080
7118
  screenshotRedactedSelectors: E.screenshotRedactedSelectors,
7081
7119
  members: O,
7082
- onAuthor: Le,
7083
- onSignIn: Re,
7084
- onSubmit: ze,
7085
- onClose: Pe
7120
+ onAuthor: Re,
7121
+ onSignIn: ze,
7122
+ onSubmit: Be,
7123
+ onClose: Fe
7086
7124
  }) : null,
7087
- !F || E.kind === "placing" || E.kind === "composing-new" ? /* @__PURE__ */ Q($s, {
7125
+ !P || E.kind === "placing" || E.kind === "composing-new" ? /* @__PURE__ */ Q($s, {
7088
7126
  isActive: E.kind === "placing",
7089
- onToggle: () => E.kind === "placing" ? Pe() : I(),
7090
- onHide: () => P({ type: "hide-with-toast" }),
7127
+ onToggle: () => E.kind === "placing" ? Fe() : F(),
7128
+ onHide: () => N({ type: "hide-with-toast" }),
7091
7129
  position: g,
7092
- showInbox: De,
7093
- unreadCount: De ? k : 0,
7130
+ showInbox: Oe,
7131
+ unreadCount: Oe ? te : 0,
7094
7132
  inboxOpen: S,
7095
7133
  onOpenInbox: () => {
7096
7134
  let e = !S;
7097
- C(e), e && ce();
7135
+ C(e), e && le();
7098
7136
  },
7099
7137
  pinsVisible: v,
7100
7138
  onTogglePins: () => y((e) => !e),
7101
- identityButton: /* @__PURE__ */ Q(Go, {
7139
+ identityButton: /* @__PURE__ */ Q(Jo, {
7102
7140
  identity: f,
7103
7141
  position: g,
7104
- isSigningIn: L,
7105
- isSigningOut: be,
7142
+ isSigningIn: I,
7143
+ isSigningOut: xe,
7106
7144
  dashboardUrl: i,
7107
- onSignIn: Re,
7108
- onSignOut: $e,
7109
- onForgetMe: Xe
7145
+ onSignIn: ze,
7146
+ onSignOut: et,
7147
+ onForgetMe: Ze
7110
7148
  }),
7111
- overflowButton: /* @__PURE__ */ Q(Ns, {
7149
+ overflowButton: /* @__PURE__ */ Q(Ps, {
7112
7150
  position: g,
7113
7151
  onSetPosition: _,
7114
7152
  autoCapture: b && r?.enabled !== !1,
7115
7153
  autoCaptureLocked: r?.enabled === !1,
7116
7154
  onToggleAutoCapture: () => x((e) => !e),
7117
- onHideForSession: () => P({ type: "hide-with-toast" }),
7118
- version: "1.15.0",
7155
+ onHideForSession: () => N({ type: "hide-with-toast" }),
7156
+ version: "1.16.0",
7119
7157
  dashboardUrl: i
7120
7158
  })
7121
7159
  }) : null,
7122
- S && De ? /* @__PURE__ */ Q(Yo, {
7160
+ S && Oe ? /* @__PURE__ */ Q(Qo, {
7123
7161
  position: g,
7124
- items: te,
7125
- isLoading: ne,
7126
- error: ie,
7127
- isMarkingAll: oe,
7162
+ items: ne,
7163
+ isLoading: re,
7164
+ error: ae,
7165
+ isMarkingAll: se,
7128
7166
  onClose: () => C(!1),
7129
7167
  onItemClick: (e) => {
7130
- C(!1), He(e);
7168
+ C(!1), Ue(e);
7131
7169
  },
7132
- onMarkAllRead: Ue
7170
+ onMarkAllRead: We
7133
7171
  }) : null,
7134
- Se.kind === "hidden-with-toast" ? /* @__PURE__ */ Q(sc, { position: g }) : null,
7135
- Je ? /* @__PURE__ */ Q(cc, { position: g }) : null,
7136
- Ze ? /* @__PURE__ */ Q(lc, { position: g }) : null
7172
+ Ce.kind === "hidden-with-toast" ? /* @__PURE__ */ Q(sc, { position: g }) : null,
7173
+ Ye ? /* @__PURE__ */ Q(cc, { position: g }) : null,
7174
+ Qe ? /* @__PURE__ */ Q(lc, { position: g }) : null
7137
7175
  ]
7138
7176
  });
7139
7177
  }
7140
7178
  function sc({ position: e }) {
7141
- let t = /Mac|iPhone|iPad/.test(navigator.platform || navigator.userAgent) ? "⌘" : "Ctrl";
7179
+ let { mod: t } = Co();
7142
7180
  return /* @__PURE__ */ Q("div", {
7143
7181
  class: Z("markup-hud-hidden-toast", e === "bottom-left" ? "markup-hud-hidden-toast-left" : e === "bottom-center" ? "markup-hud-hidden-toast-center" : "markup-hud-hidden-toast-right"),
7144
7182
  role: "status",
@@ -7176,21 +7214,21 @@ function lc({ position: e }) {
7176
7214
  //#endregion
7177
7215
  //#region src/runtime/mount.tsx
7178
7216
  function uc(e, t) {
7179
- e.style.position = "fixed", e.style.inset = "0", e.style.zIndex = "2147483647", e.style.pointerEvents = "none", De(e, t.theme ?? "auto");
7180
- let n = Me(), r = e.attachShadow({ mode: "open" }), i = document.createElement("style");
7181
- i.textContent = pe, r.appendChild(i);
7217
+ e.style.position = "fixed", e.style.inset = "0", e.style.zIndex = "2147483647", e.style.pointerEvents = "none", Oe(e, t.theme ?? "auto");
7218
+ let n = Ne(), r = e.attachShadow({ mode: "open" }), i = document.createElement("style");
7219
+ i.textContent = me, r.appendChild(i);
7182
7220
  let a = document.createElement("div");
7183
- a.className = "markup-shadow-root", r.appendChild(a), xe({
7221
+ a.className = "markup-shadow-root", r.appendChild(a), Se({
7184
7222
  apiUrl: t.apiUrl,
7185
7223
  apiKey: t.apiKey,
7186
- widgetVersion: "1.15.0"
7224
+ widgetVersion: "1.16.0"
7187
7225
  });
7188
7226
  let { theme: o, ...s } = t;
7189
- return fe(/* @__PURE__ */ Q(M, {
7190
- onError: (e) => N(e, { context: "render" }),
7227
+ return pe(/* @__PURE__ */ Q(j, {
7228
+ onError: (e) => M(e, { context: "render" }),
7191
7229
  children: /* @__PURE__ */ Q(oc, { ...s })
7192
7230
  }), a), () => {
7193
- n(), xe(null), fe(null, a);
7231
+ n(), Se(null), pe(null, a);
7194
7232
  };
7195
7233
  }
7196
7234
  //#endregion