@pixelmatters/markup 1.27.2 → 1.27.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/widget.js CHANGED
@@ -42,42 +42,42 @@ function w(e, t) {
42
42
  for (var n; t < e.__k.length; t++) if ((n = e.__k[t]) != null && n.__e != null) return n.__e;
43
43
  return typeof e.type == "function" ? w(e) : null;
44
44
  }
45
- function ee(e) {
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), P(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, F(i, o, a), n.__e = n.__ = null, o.__e != r && T(o);
48
+ o.__v = n.__v + 1, t.vnode && t.vnode(o), F(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, ne(i, o, a), n.__e = n.__ = null, o.__e != r && E(o);
49
49
  }
50
50
  }
51
- function T(e) {
51
+ function E(e) {
52
52
  if ((e = e.__) != null && e.__c != null) return e.__e = e.__c.base = null, e.__k.some(function(t) {
53
53
  if (t != null && t.__e != null) return e.__e = e.__c.base = t.__e;
54
- }), T(e);
54
+ }), E(e);
55
55
  }
56
- function E(e) {
57
- (!e.__d && (e.__d = !0) && r.push(e) && !D.__r++ || i != t.debounceRendering) && ((i = t.debounceRendering) || a)(D);
56
+ function D(e) {
57
+ (!e.__d && (e.__d = !0) && r.push(e) && !O.__r++ || i != t.debounceRendering) && ((i = t.debounceRendering) || a)(O);
58
58
  }
59
- function D() {
59
+ function O() {
60
60
  try {
61
- for (var e, t = 1; r.length;) r.length > t && r.sort(o), e = r.shift(), t = r.length, ee(e);
61
+ for (var e, t = 1; r.length;) r.length > t && r.sort(o), e = r.shift(), t = r.length, T(e);
62
62
  } finally {
63
- r.length = D.__r = 0;
63
+ r.length = O.__r = 0;
64
64
  }
65
65
  }
66
- function te(e, t, n, r, i, a, o, s, c, l, u) {
66
+ function ee(e, t, n, r, i, a, o, s, c, l, u) {
67
67
  var d, f, p, g, _, v, y = r && r.__k || h, b = t.length;
68
- for (c = O(n, t, y, c, b), d = 0; d < b; d++) (p = n.__k[d]) != null && (f = p.__i != -1 && y[p.__i] || m, p.__i = d, v = P(e, p, f, i, a, o, s, c, l, u), g = p.__e, p.ref && f.ref != p.ref && (f.ref && ae(f.ref, null, p), u.push(p.ref, p.__c || g, p)), _ == null && g != null && (_ = g), 4 & p.__u ? (c = k(p, c, e), f.__e && (f.__e = null)) : typeof p.type == "function" && v !== void 0 ? c = v : g && (c = g.nextSibling), p.__u &= -7);
68
+ for (c = k(n, t, y, c, b), d = 0; d < b; d++) (p = n.__k[d]) != null && (f = p.__i != -1 && y[p.__i] || m, p.__i = d, v = F(e, p, f, i, a, o, s, c, l, u), g = p.__e, p.ref && f.ref != p.ref && (f.ref && ae(f.ref, null, p), u.push(p.ref, p.__c || g, p)), _ == null && g != null && (_ = g), 4 & p.__u ? (c = A(p, c, e), 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 O(e, t, n, r, i) {
71
+ function k(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 = A(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;
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 = j(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
74
  if (d) for (a = 0; a < u; a++) (s = n[a]) != null && !(2 & s.__u) && (s.__e == r && (r = w(s)), oe(s, s));
75
75
  return r;
76
76
  }
77
- function k(e, t, n) {
77
+ function A(e, t, n) {
78
78
  var r, i;
79
79
  if (typeof e.type == "function") {
80
- for (r = e.__k, i = 0; r && i < r.length; i++) r[i] && (r[i].__ = e, t = k(r[i], t, n));
80
+ for (r = e.__k, i = 0; r && i < r.length; i++) r[i] && (r[i].__ = e, t = A(r[i], t, n));
81
81
  return t;
82
82
  }
83
83
  e.__e != t && (t && e.type && !t.parentNode && (t = w(e)), t = n.insertBefore(e.__e, t || null));
@@ -86,7 +86,7 @@ function k(e, t, n) {
86
86
  while (t != null && t.nodeType == 8);
87
87
  return t;
88
88
  }
89
- function A(e, t, n, r) {
89
+ function j(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);
91
91
  if (l === null && s == null || u && s == l.key && c == l.type) return n;
92
92
  if (r > +!!u) {
@@ -94,16 +94,16 @@ function A(e, t, n, r) {
94
94
  }
95
95
  return -1;
96
96
  }
97
- function j(e, t, n) {
97
+ function M(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 M(e, t, n, r, i) {
100
+ function N(e, t, n, r, i) {
101
101
  var a, o;
102
102
  n: if (t == "style") {
103
103
  if (typeof n == "string") e.style.cssText = n;
104
104
  else {
105
- if (typeof r == "string" && (e.style.cssText = r = ""), r) for (t in r) n && t in n || j(e.style, t, "");
106
- if (n) for (t in n) r && n[t] == r[t] || j(e.style, t, n[t]);
105
+ if (typeof r == "string" && (e.style.cssText = r = ""), r) for (t in r) n && t in n || M(e.style, t, "");
106
+ if (n) for (t in n) r && n[t] == r[t] || M(e.style, t, n[t]);
107
107
  }
108
108
  } 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);
109
109
  else {
@@ -115,7 +115,7 @@ function M(e, t, n, r, i) {
115
115
  typeof n == "function" || (n == null || !1 === n && t[4] != "-" ? e.removeAttribute(t) : e.setAttribute(t, t == "popover" && n == 1 ? "" : n));
116
116
  }
117
117
  }
118
- function N(e) {
118
+ function P(e) {
119
119
  return function(n) {
120
120
  if (this.l) {
121
121
  var r = this.l[n.type + e];
@@ -125,46 +125,46 @@ function N(e) {
125
125
  }
126
126
  };
127
127
  }
128
- function P(e, n, r, i, a, o, s, c, l, u) {
129
- var d, f, p, m, g, b, x, ee, T, E, D, O, k, A, j, M, N = n.type;
128
+ function F(e, n, r, i, a, o, s, c, l, u) {
129
+ var d, f, p, m, g, b, x, T, E, D, O, k, A, j, M, N, P = n.type;
130
130
  if (n.constructor !== void 0) return null;
131
131
  128 & r.__u && (l = !!(32 & r.__u), o = [c = n.__e = r.__e]), (d = t.__b) && d(n);
132
- n: if (typeof N == "function") {
132
+ n: if (typeof P == "function") {
133
133
  f = s.length;
134
134
  try {
135
- if (T = n.props, E = N.prototype && N.prototype.render, D = (d = N.contextType) && i[d.__c], O = d ? D ? D.props.value : d.__ : i, r.__c ? ee = (p = n.__c = r.__c).__ = p.__E : (E ? n.__c = p = new N(T, O) : (n.__c = p = new C(T, O), p.constructor = N, p.render = se), D && D.sub(p), p.state || (p.state = {}), p.__n = i, m = p.__d = !0, p.__h = [], p._sb = []), E && p.__s == null && (p.__s = p.state), E && N.getDerivedStateFromProps != null && (p.__s == p.state && (p.__s = v({}, p.__s)), v(p.__s, N.getDerivedStateFromProps(T, p.__s))), g = p.props, b = p.state, p.__v = n, m) E && N.getDerivedStateFromProps == null && p.componentWillMount != null && p.componentWillMount(), E && p.componentDidMount != null && p.__h.push(p.componentDidMount);
135
+ if (E = n.props, D = P.prototype && P.prototype.render, O = (d = P.contextType) && i[d.__c], k = d ? O ? O.props.value : d.__ : i, r.__c ? T = (p = n.__c = r.__c).__ = p.__E : (D ? n.__c = p = new P(E, k) : (n.__c = p = new C(E, k), p.constructor = P, p.render = se), O && O.sub(p), p.state || (p.state = {}), p.__n = i, m = p.__d = !0, p.__h = [], p._sb = []), D && p.__s == null && (p.__s = p.state), D && P.getDerivedStateFromProps != null && (p.__s == p.state && (p.__s = v({}, p.__s)), v(p.__s, P.getDerivedStateFromProps(E, p.__s))), g = p.props, b = p.state, p.__v = n, m) D && P.getDerivedStateFromProps == null && p.componentWillMount != null && p.componentWillMount(), D && p.componentDidMount != null && p.__h.push(p.componentDidMount);
136
136
  else {
137
- if (E && N.getDerivedStateFromProps == null && T !== g && p.componentWillReceiveProps != null && p.componentWillReceiveProps(T, O), n.__v == r.__v || !p.__e && p.shouldComponentUpdate != null && !1 === p.shouldComponentUpdate(T, p.__s, O)) {
138
- n.__v != r.__v && (p.props = T, p.state = p.__s, p.__d = !1), n.__e = r.__e, n.__k = r.__k, n.__k.some(function(e) {
137
+ if (D && P.getDerivedStateFromProps == null && E !== g && p.componentWillReceiveProps != null && p.componentWillReceiveProps(E, k), n.__v == r.__v || !p.__e && p.shouldComponentUpdate != null && !1 === p.shouldComponentUpdate(E, p.__s, k)) {
138
+ n.__v != r.__v && (p.props = E, p.state = p.__s, p.__d = !1), n.__e = r.__e, n.__k = r.__k, n.__k.some(function(e) {
139
139
  e && (e.__ = n);
140
140
  }), h.push.apply(p.__h, p._sb), p._sb = [], p.__h.length && s.push(p), c = w(r);
141
141
  break n;
142
142
  }
143
- p.componentWillUpdate != null && p.componentWillUpdate(T, p.__s, O), E && p.componentDidUpdate != null && p.__h.push(function() {
143
+ p.componentWillUpdate != null && p.componentWillUpdate(E, p.__s, k), D && p.componentDidUpdate != null && p.__h.push(function() {
144
144
  p.componentDidUpdate(g, b, x);
145
145
  });
146
146
  }
147
- if (p.context = O, p.props = T, p.__P = e, p.__e = !1, k = t.__r, A = 0, E) p.state = p.__s, p.__d = !1, k && k(n), d = p.render(p.props, p.state, p.context), h.push.apply(p.__h, p._sb), p._sb = [];
147
+ if (p.context = k, p.props = E, p.__P = e, p.__e = !1, A = t.__r, j = 0, D) p.state = p.__s, p.__d = !1, A && A(n), d = p.render(p.props, p.state, p.context), h.push.apply(p.__h, p._sb), p._sb = [];
148
148
  else do
149
- p.__d = !1, k && k(n), d = p.render(p.props, p.state, p.context), p.state = p.__s;
150
- while (p.__d && ++A < 25);
151
- p.state = p.__s, p.getChildContext != null && (i = v(v({}, i), p.getChildContext())), E && !m && p.getSnapshotBeforeUpdate != null && (x = p.getSnapshotBeforeUpdate(g, b)), j = d != null && d.type === S && d.key == null ? re(d.props.children) : d, c = te(e, _(j) ? j : [j], n, r, i, a, o, s, c, l, u), p.base = n.__e, n.__u &= -161, p.__h.length && s.push(p), ee && (p.__E = p.__ = null);
149
+ p.__d = !1, A && A(n), d = p.render(p.props, p.state, p.context), p.state = p.__s;
150
+ while (p.__d && ++j < 25);
151
+ p.state = p.__s, p.getChildContext != null && (i = v(v({}, i), p.getChildContext())), D && !m && p.getSnapshotBeforeUpdate != null && (x = p.getSnapshotBeforeUpdate(g, b)), M = d != null && d.type === S && d.key == null ? re(d.props.children) : d, c = ee(e, _(M) ? M : [M], n, r, i, a, o, s, c, l, u), p.base = n.__e, n.__u &= -161, p.__h.length && s.push(p), T && (p.__E = p.__ = null);
152
152
  } catch (e) {
153
153
  if (s.length = f, n.__v = null, l || o != null) {
154
154
  if (e.then) {
155
155
  for (n.__u |= l ? 160 : 128; c && c.nodeType == 8 && c.nextSibling;) c = c.nextSibling;
156
156
  o != null && (o[o.indexOf(c)] = null), n.__e = c;
157
- } else if (o != null) for (M = o.length; M--;) y(o[M]);
157
+ } else if (o != null) for (N = o.length; N--;) y(o[N]);
158
158
  } else n.__e = r.__e;
159
- n.__k ??= r.__k || [], e.then || ne(n), t.__e(e, n, r);
159
+ n.__k ??= r.__k || [], e.then || te(n), t.__e(e, n, r);
160
160
  }
161
161
  } else o == null && n.__v == r.__v ? (n.__k = r.__k, n.__e = r.__e) : c = n.__e = ie(r.__e, n, r, i, a, o, s, l, u);
162
162
  return (d = t.diffed) && d(n), 128 & n.__u ? void 0 : c;
163
163
  }
164
- function ne(e) {
165
- e && (e.__c && (e.__c.__e = !0), e.__k && e.__k.some(ne));
164
+ function te(e) {
165
+ e && (e.__c && (e.__c.__e = !0), e.__k && e.__k.some(te));
166
166
  }
167
- function F(e, n, r) {
167
+ function ne(e, n, r) {
168
168
  for (var i = 0; i < r.length; i++) ae(r[i], r[++i], r[++i]);
169
169
  t.__c && t.__c(n, e), e.some(function(n) {
170
170
  try {
@@ -194,11 +194,11 @@ function ie(n, r, i, a, o, s, c, l, u) {
194
194
  if (C == null) x === S || l && n.data == S || (n.data = S);
195
195
  else {
196
196
  if (s = C == "textarea" && S.defaultValue != null ? null : 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;
197
- 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 || M(n, d, null, g, o);
198
- 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 || M(n, d, g, x[d], o);
197
+ 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 || N(n, d, null, g, o);
198
+ 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 || N(n, d, g, x[d], o);
199
199
  if (f) l || p && (f.__html == p.__html || f.__html == n.innerHTML) || (n.innerHTML = f.__html), r.__k = [];
200
- else if (p && (n.innerHTML = ""), te(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]);
201
- l && C != "textarea" || (d = "value", C == "progress" && v == null ? n.removeAttribute("value") : v != null && (v !== n[d] || C == "progress" && !v || C == "option" && v != x[d]) && M(n, d, v, x[d], o), d = "checked", b != null && b != n[d] && M(n, d, b, x[d], o));
200
+ 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]);
201
+ l && C != "textarea" || (d = "value", C == "progress" && v == null ? n.removeAttribute("value") : v != null && (v !== n[d] || C == "progress" && !v || C == "option" && v != x[d]) && N(n, d, v, x[d], o), d = "checked", b != null && b != n[d] && N(n, d, b, x[d], o));
202
202
  }
203
203
  return n;
204
204
  }
@@ -230,7 +230,7 @@ function se(e, t, n) {
230
230
  }
231
231
  function ce(n, r, i) {
232
232
  var a, o, s, c;
233
- r == document && (r = document.documentElement), t.__ && t.__(n, r), o = (a = typeof i == "function") ? null : i && i.__k || r.__k, s = [], c = [], P(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), F(s, n, c), n.props.children = null;
233
+ r == document && (r = document.documentElement), t.__ && t.__(n, r), o = (a = typeof i == "function") ? null : i && i.__k || r.__k, s = [], c = [], F(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), ne(s, n, c), n.props.children = null;
234
234
  }
235
235
  e = h.slice, t = { __e: function(e, t, n, r) {
236
236
  for (var i, a, o; t = t.__;) if ((i = t.__c) && !i.__) try {
@@ -241,15 +241,15 @@ e = h.slice, t = { __e: function(e, t, n, r) {
241
241
  throw e;
242
242
  } }, n = 0, C.prototype.setState = function(e, t) {
243
243
  var n = this.__s != null && this.__s != this.state ? this.__s : this.__s = v({}, this.state);
244
- typeof e == "function" && (e = e(v({}, n), this.props)), e && v(n, e), e != null && this.__v && (t && this._sb.push(t), E(this));
244
+ typeof e == "function" && (e = e(v({}, n), this.props)), e && v(n, e), e != null && this.__v && (t && this._sb.push(t), D(this));
245
245
  }, C.prototype.forceUpdate = function(e) {
246
- this.__v && (this.__e = !0, e && this.__h.push(e), E(this));
246
+ this.__v && (this.__e = !0, e && this.__h.push(e), D(this));
247
247
  }, C.prototype.render = S, r = [], a = typeof Promise == "function" ? Promise.prototype.then.bind(Promise.resolve()) : setTimeout, o = function(e, t) {
248
248
  return e.__v.__b - t.__v.__b;
249
- }, D.__r = 0, s = Math.random().toString(8), c = "__d" + s, l = "__a" + s, u = /(PointerCapture)$|Capture$/i, d = 0, f = N(!1), p = N(!0);
249
+ }, O.__r = 0, s = Math.random().toString(8), c = "__d" + s, l = "__a" + s, u = /(PointerCapture)$|Capture$/i, d = 0, f = P(!1), p = P(!0);
250
250
  //#endregion
251
251
  //#region src/styles.css?inline
252
- var le = ":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-popover-w:360px;--markup-pin-enter:.18s;--markup-menu-in:.12s;--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);transform-origin:50% 100%;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);animation:.22s cubic-bezier(.2,.7,.2,1) backwards markup-toolbar-in;display:inline-flex;position:fixed;bottom:22px;left:100%;transform:translate(calc(-100% - 22px))}.markup-toolbar.is-leaving,.markup-toolbar.is-leaving>*{pointer-events:none}.markup-toolbar.is-leaving{animation-name:markup-toolbar-out;animation-duration:var(--markup-toolbar-leave);animation-timing-function:ease-in;animation-fill-mode:forwards}@keyframes markup-toolbar-in{0%{opacity:0;translate:0 10px;scale:.96}to{opacity:1;translate:0;scale:1}}@keyframes markup-toolbar-out{0%{opacity:1;translate:0;scale:1}to{opacity:0;translate:0 6px;scale:.97}}.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,transform .12s cubic-bezier(.2,.7,.2,1);display:inline-flex;position:relative}.markup-tb-btn:hover{background:var(--markup-hover);color:var(--markup-ink)}.markup-tb-btn:active{transform:scale(.97)}.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;transition:transform .15s cubic-bezier(.2,.7,.2,1),opacity .15s cubic-bezier(.2,.7,.2,1);display:inline-flex;position:absolute;top:0;right:0}.markup-tb-badge[data-unread=false]{opacity:0;transform:scale(.5)}.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]{--markup-view-w:260px;--markup-view-fit:min(var(--markup-view-w), calc(100vw - 24px));width:var(--markup-view-fit);align-items:flex-end;transition:width .16s cubic-bezier(.2,.7,.2,1),height .16s cubic-bezier(.2,.7,.2,1);display:flex}.markup-pop[data-pop=overflow]>*{width:var(--markup-view-fit);flex:none}.markup-pop[data-pop=overflow].is-anchor-right{justify-content:flex-end}.markup-pop[data-pop=overflow].is-anchor-center{justify-content:center}.markup-pop[data-pop=overflow]:focus{outline:none}.markup-pop[data-pop=overflow][data-view=privacy]{--markup-view-w:340px}.markup-pop[data-pop=overflow][data-view=shortcuts]{--markup-view-w:320px}.markup-menu-view{padding:6px;display:block}.markup-pop[data-pop=identity]{width:240px;padding:6px}.markup-pop[data-pop=inbox]{width:var(--markup-popover-w);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.is-leaving{pointer-events:none;animation-name:markup-pop-out;animation-duration:var(--markup-pop-leave);animation-timing-function:ease-in;animation-fill-mode:forwards}.markup-pop.is-anchor-center.is-leaving{animation-name:markup-pop-out-center}@keyframes markup-pop-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(6px)}}@keyframes markup-pop-out-center{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,6px)}}.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.no-underline{text-decoration:none}.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);align-items:center;margin-left:auto;font-size:10.5px;display:inline-flex}.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:10px;margin-top:6px;padding:14px 10px 8px;font-size:11px;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;display:inline-flex;position:fixed;bottom:24px}.markup-hud-hidden-toast.is-leaving{animation-name:markup-hud-hidden-out;animation-duration:var(--markup-toast-leave);animation-timing-function:ease-in;animation-fill-mode:forwards}.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;opacity:var(--markup-pin-opacity,1);transform-origin:0 100%;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.is-entering{animation:markup-pin-in var(--markup-pin-enter) cubic-bezier(.2, .7, .2, 1) backwards}.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-leaving{pointer-events:none;animation-name:markup-pin-out;animation-duration:var(--markup-pin-leave);animation-timing-function:ease-in;animation-iteration-count:1;animation-fill-mode:forwards}.markup-pin-ghost.is-leaving{animation-duration:var(--markup-popover-leave)}@keyframes markup-pin-in{0%{opacity:0;transform:translate(-50%,-100%)scale(.5)}to{opacity:var(--markup-pin-opacity,1);transform:translate(-50%,-100%)scale(1)}}@keyframes markup-pin-out{0%{opacity:var(--markup-pin-opacity,1);transform:translate(-50%,-100%)scale(1)}to{opacity:0;transform:translate(-50%,-100%)scale(.7)}}.markup-pin.is-unresolved{--markup-pin-opacity:.6}.markup-pin.is-closed,.markup-pin.is-closed.is-active{background:var(--markup-paper);color:var(--markup-muted);border-color:var(--markup-muted);box-shadow:0 4px 14px -4px #00000040}.markup-pin.is-closed:hover{background:var(--markup-paper);color:var(--markup-ink)}.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);pointer-events:none;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:var(--markup-popover-w);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}}@supports (transition-behavior:allow-discrete) and selector(:popover-open){.markup-popover{opacity:0;transition:opacity var(--markup-popover-leave) ease, transform var(--markup-popover-leave) ease, overlay var(--markup-popover-leave) allow-discrete, display var(--markup-popover-leave) allow-discrete;animation:none;display:none;transform:translateY(-4px)scale(.98)}.markup-popover:popover-open{opacity:1;display:flex;transform:none}@starting-style{.markup-popover:popover-open{opacity:0;transform:translateY(-4px)scale(.98)}}.markup-popover:not(:popover-open){pointer-events:none}}.markup-popover.is-leaving{pointer-events:none}.markup-popover.is-hud-hidden{transition-property:none;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);animation:markup-menu-in var(--markup-menu-in) ease-out;padding:4px;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:translate(var(--markup-menu-from-x,0), var(--markup-menu-from-y,-4px))}to{opacity:1;transform:translate(0)}}@keyframes markup-menu-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(var(--markup-menu-from-x,0), var(--markup-menu-from-y,-4px))}}.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,transform .12s cubic-bezier(.2,.7,.2,1);display:inline-flex}.markup-icon-btn:hover,.markup-icon-btn.is-open{background:var(--markup-border);color:var(--markup-ink)}.markup-icon-btn:active{transform:scale(.97)}.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.is-new{animation:.2s cubic-bezier(.2,.7,.2,1) markup-comment-in}@keyframes markup-comment-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.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-link{color:var(--markup-brand);text-underline-offset:2px;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--markup-brand) 40%, transparent);text-decoration-color:color-mix(in srgb, var(--markup-brand) 40%, transparent)}.markup-comment-link:hover{-webkit-text-decoration-color:var(--markup-brand);text-decoration-color:var(--markup-brand)}.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{--markup-menu-from-y:4px;top:auto;bottom:calc(100% + 6px)}.markup-comment-menu.is-side .markup-thread-menu-list{--markup-menu-from-x:4px;--markup-menu-from-y:0;top:-4px;right:calc(100% + 2px)}.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);animation:markup-menu-in var(--markup-menu-in) ease;border-radius:8px;gap:2px;padding:4px;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{--markup-menu-from-y:4px;top:auto;bottom:calc(100% + 6px)}.markup-reaction-picker-wrap.is-side .markup-reaction-picker{--markup-menu-from-x:4px;--markup-menu-from-y:0;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-author-copy{color:var(--markup-fg);margin:0;font-size:13px;line-height:1.5}.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,transform .12s cubic-bezier(.2,.7,.2,1);display:inline-flex}.markup-btn:disabled{opacity:.5;cursor:not-allowed}.markup-btn:active:not(:disabled){transform:scale(.97)}.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-btn-danger{color:var(--markup-danger)}.markup-btn-danger:hover:not(:disabled){background:color-mix(in srgb, var(--markup-danger) 10%, transparent)}.markup-discard-confirm{background:color-mix(in srgb, var(--markup-paper) 92%, transparent);-webkit-backdrop-filter:blur(6px);animation:markup-menu-in var(--markup-menu-in) ease-out;flex-direction:column;justify-content:center;gap:4px;padding:16px;display:flex;position:absolute;inset:0}.markup-thread-menu-list.is-leaving,.markup-reaction-picker.is-leaving,.markup-discard-confirm.is-leaving{pointer-events:none;animation-name:markup-menu-out;animation-duration:var(--markup-menu-leave);animation-timing-function:ease-in;animation-fill-mode:forwards}.markup-discard-confirm-title{color:var(--markup-ink);margin:0;font-size:13px;font-weight:600}.markup-discard-confirm-desc{color:var(--markup-muted);margin:0;font-size:12px}.markup-discard-confirm-actions{gap:6px;margin-top:10px;display:flex}.markup-screenshot-row{border:1px dashed var(--markup-border-strong);color:var(--markup-muted);border-radius:6px;flex-direction:column;gap:8px;margin-top:0;padding:6px 8px;font-size:11.5px;display:flex}.markup-screenshot-row.is-attached{border-style:solid;border-color:var(--markup-border);padding:8px}.markup-screenshot-row-head{justify-content:space-between;align-items:center;gap:8px;min-height:16px;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-row.is-failed{opacity:.85;border-style:dotted}.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-link{border:1px solid var(--markup-border-strong);cursor:zoom-in;background:0 0;border-radius:3px;margin:-4px auto -4px -4px;padding:0;transition:border-color .12s;display:block;overflow:hidden}.markup-screenshot-thumb-link:hover,.markup-screenshot-thumb-link:focus-visible{border-color:var(--markup-brand)}.markup-screenshot-thumb{object-fit:cover;object-position:top;width:auto;height:22px;display:block}.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);white-space:nowrap;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{flex-direction:column;gap:2px;display:flex}.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:0;font-size:10px;line-height:1.5}.markup-screenshot-help-link{color:var(--markup-ink);text-underline-offset:2px;text-decoration:underline}.markup-screenshot-help-link:hover{color:var(--markup-brand)}.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}@supports (transition-behavior:allow-discrete){.markup-lightbox{opacity:0;transition:opacity var(--markup-lightbox-leave) ease, overlay var(--markup-lightbox-leave) allow-discrete, display var(--markup-lightbox-leave) allow-discrete}.markup-lightbox[open]{opacity:1}@starting-style{.markup-lightbox[open]{opacity:0}}}.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-toolbar.is-leaving,.markup-hud-hidden-toast,.markup-hud-hidden-toast.is-leaving,.markup-tb-btn,.markup-tb-badge,.markup-comment,.markup-pin,.markup-pin.is-entering,.markup-pin.is-leaving,.markup-pop,.markup-pop.is-leaving,.markup-pop[data-pop=overflow],.markup-pop.is-anchor-center,.markup-pop.is-anchor-center.is-leaving,.markup-thread-menu-list,.markup-thread-menu-list.is-leaving,.markup-reaction-picker,.markup-reaction-picker.is-leaving,.markup-discard-confirm,.markup-discard-confirm.is-leaving,.markup-icon-btn,.markup-btn,.markup-popover,.markup-pin-ghost,.markup-placement-overlay,.markup-placement-cursor-help,.markup-lightbox,.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;box-sizing:border-box;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;padding:4px;list-style:none;position:fixed;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-panel-pop{z-index:11;pointer-events:auto;width:var(--markup-popover-w);max-width:calc(100vw - 24px);position:fixed;bottom:76px}.markup-panel-pop-right{right:22px}.markup-panel-pop-left{left:22px}.markup-panel-pop-center{left:50%;transform:translate(-50%)}.markup-panel-pop .markup-pop{width:100%;position:static}.markup-panel-pop .markup-notifications-panel{max-height:min(60vh,480px)}.markup-panel-pop .markup-notifications-panel-header{padding:12px 14px}.markup-panel-pop .markup-notifications-panel-header .markup-icon-btn{display:none}.markup-panel{max-height:min(70vh,520px);color:var(--markup-ink);flex-direction:column;display:flex}.markup-panel-header{border-bottom:1px solid var(--markup-border);align-items:center;gap:8px;padding:12px 14px;display:flex}.markup-panel-header .markup-eyebrow{flex:1}.markup-panel-back{color:var(--markup-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;align-items:center;gap:2px;margin-left:-4px;padding:3px 6px 3px 4px;font-family:inherit;font-size:12px;display:inline-flex}.markup-panel-back:hover{background:var(--markup-hover);color:var(--markup-ink)}.markup-panel-body{flex:1;padding:4px 14px 14px;overflow-y:auto}.markup-panel-body:focus{outline:none}.markup-panel-body:focus-visible{box-shadow:inset 0 0 0 2px var(--markup-accent-glow);outline:none}.markup-panel-section{border-bottom:1px solid var(--markup-border);padding:10px 0}.markup-panel-section:last-child{border-bottom:none;padding-bottom:2px}.markup-panel-section-title{font-family:var(--markup-font-mono);letter-spacing:.06em;text-transform:lowercase;color:var(--markup-muted);margin:0 0 6px;font-size:10px;font-weight:400}.markup-panel-text{color:var(--markup-ink-soft);margin:0;font-size:12.5px;line-height:1.5}.markup-panel-text strong{color:var(--markup-ink);font-weight:600}.markup-panel-mono{font-family:var(--markup-font-mono);color:var(--markup-ink);word-break:break-all;font-size:11.5px}.markup-panel-list{color:var(--markup-ink-soft);margin:0;padding-left:16px;font-size:12.5px;line-height:1.5}.markup-panel-list li{margin-bottom:3px}.markup-panel-list li::marker{color:var(--markup-muted)}.markup-panel-note{color:var(--markup-muted);margin:8px 0 0;font-size:11.5px;line-height:1.45}.markup-panel-error{color:var(--markup-danger);margin:8px 0 0;font-size:11.5px;line-height:1.45}.markup-panel-action{border:1px solid var(--markup-border-strong);width:100%;height:30px;color:var(--markup-ink);font:inherit;cursor:pointer;background:0 0;border-radius:7px;margin-top:10px;padding:0 10px;font-size:12.5px;transition:background .12s,border-color .12s,color .12s}.markup-panel-action:hover:not(:disabled){background:var(--markup-hover)}.markup-panel-action:disabled{opacity:.6;cursor:default}.markup-panel-action.is-danger{border-color:color-mix(in srgb, var(--markup-danger) 45%, transparent);color:var(--markup-danger)}.markup-panel-action.is-danger:hover:not(:disabled){background:color-mix(in srgb, var(--markup-danger) 10%, transparent)}.markup-shortcut-list{margin:0;padding:0;list-style:none}.markup-shortcut-row{align-items:center;gap:10px;min-height:24px;padding:2px 0;display:flex}.markup-shortcut-label{min-width:0;color:var(--markup-ink-soft);flex:1;font-size:12.5px;line-height:1.4}.markup-shortcut-keys{flex-shrink:0;align-items:center;gap:4px;display:inline-flex}.markup-shortcut-chord{align-items:center;gap:3px;display:inline-flex}.markup-shortcut-or{color:var(--markup-muted);margin-right:1px;font-size:10px}", ue = 1e4, de = 20, fe = 60, pe = null, me = [], he = null, ge = !1, _e = ve();
252
+ var le = ":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-brand-fill:var(--markup-brand-hover);--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:#b91c1c;--markup-success:oklch(62% .16 150);--markup-success-ink:oklch(45% .13 150);--markup-radius:6px;--markup-radius-sm:4px;--markup-popover-w:360px;--markup-pin-enter:.18s;--markup-menu-in:.12s;--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-brand-fill:var(--markup-brand);--markup-success-ink:oklch(80% .15 150);--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-brand-fill:var(--markup-brand);--markup-success-ink:oklch(80% .15 150);--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);transform-origin:50% 100%;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);animation:.22s cubic-bezier(.2,.7,.2,1) backwards markup-toolbar-in;display:inline-flex;position:fixed;bottom:22px;left:100%;transform:translate(calc(-100% - 22px))}.markup-toolbar.is-leaving,.markup-toolbar.is-leaving>*{pointer-events:none}.markup-toolbar.is-leaving{animation-name:markup-toolbar-out;animation-duration:var(--markup-toolbar-leave);animation-timing-function:ease-in;animation-fill-mode:forwards}@keyframes markup-toolbar-in{0%{opacity:0;translate:0 10px;scale:.96}to{opacity:1;translate:0;scale:1}}@keyframes markup-toolbar-out{0%{opacity:1;translate:0;scale:1}to{opacity:0;translate:0 6px;scale:.97}}.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,transform .12s cubic-bezier(.2,.7,.2,1);display:inline-flex;position:relative}.markup-tb-btn:hover{background:var(--markup-hover);color:var(--markup-ink)}.markup-tb-btn:active{transform:scale(.97)}.markup-tb-btn:focus-visible{box-shadow:0 0 0 2px var(--markup-surface), 0 0 0 4px var(--markup-brand);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;transition:transform .15s cubic-bezier(.2,.7,.2,1),opacity .15s cubic-bezier(.2,.7,.2,1);display:inline-flex;position:absolute;top:0;right:0}.markup-tb-badge[data-unread=false]{opacity:0;transform:scale(.5)}.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]{--markup-view-w:260px;--markup-view-fit:min(var(--markup-view-w), calc(100vw - 24px));width:var(--markup-view-fit);align-items:flex-end;transition:width .16s cubic-bezier(.2,.7,.2,1),height .16s cubic-bezier(.2,.7,.2,1);display:flex}.markup-pop[data-pop=overflow]>*{width:var(--markup-view-fit);flex:none}.markup-pop[data-pop=overflow].is-anchor-right{justify-content:flex-end}.markup-pop[data-pop=overflow].is-anchor-center{justify-content:center}.markup-pop[data-pop=overflow]:focus{outline:none}.markup-pop[data-pop=overflow][data-view=privacy]{--markup-view-w:340px}.markup-pop[data-pop=overflow][data-view=shortcuts]{--markup-view-w:320px}.markup-menu-view{padding:6px;display:block}.markup-pop[data-pop=identity]{width:240px;padding:6px}.markup-pop[data-pop=inbox]{width:var(--markup-popover-w);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.is-leaving{pointer-events:none;animation-name:markup-pop-out;animation-duration:var(--markup-pop-leave);animation-timing-function:ease-in;animation-fill-mode:forwards}.markup-pop.is-anchor-center.is-leaving{animation-name:markup-pop-out-center}@keyframes markup-pop-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(6px)}}@keyframes markup-pop-out-center{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,6px)}}.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.no-underline{text-decoration:none}.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);align-items:center;margin-left:auto;font-size:10.5px;display:inline-flex}.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:10px;margin-top:6px;padding:14px 10px 8px;font-size:11px;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;display:inline-flex;position:fixed;bottom:24px}.markup-hud-hidden-toast.is-leaving{animation-name:markup-hud-hidden-out;animation-duration:var(--markup-toast-leave);animation-timing-function:ease-in;animation-fill-mode:forwards}.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;opacity:var(--markup-pin-opacity,1);transform-origin:0 100%;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.is-entering{animation:markup-pin-in var(--markup-pin-enter) cubic-bezier(.2, .7, .2, 1) backwards}.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-leaving{pointer-events:none;animation-name:markup-pin-out;animation-duration:var(--markup-pin-leave);animation-timing-function:ease-in;animation-iteration-count:1;animation-fill-mode:forwards}.markup-pin-ghost.is-leaving{animation-duration:var(--markup-popover-leave)}@keyframes markup-pin-in{0%{opacity:0;transform:translate(-50%,-100%)scale(.5)}to{opacity:var(--markup-pin-opacity,1);transform:translate(-50%,-100%)scale(1)}}@keyframes markup-pin-out{0%{opacity:var(--markup-pin-opacity,1);transform:translate(-50%,-100%)scale(1)}to{opacity:0;transform:translate(-50%,-100%)scale(.7)}}.markup-pin.is-unresolved{--markup-pin-opacity:.6}.markup-pin.is-closed,.markup-pin.is-closed.is-active{background:var(--markup-paper);color:var(--markup-muted);border-color:var(--markup-muted);box-shadow:0 4px 14px -4px #00000040}.markup-pin.is-closed:hover{background:var(--markup-paper);color:var(--markup-ink)}.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);pointer-events:none;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:var(--markup-popover-w);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}}@supports (transition-behavior:allow-discrete) and selector(:popover-open){.markup-popover{opacity:0;transition:opacity var(--markup-popover-leave) ease, transform var(--markup-popover-leave) ease, overlay var(--markup-popover-leave) allow-discrete, display var(--markup-popover-leave) allow-discrete;animation:none;display:none;transform:translateY(-4px)scale(.98)}.markup-popover:popover-open{opacity:1;display:flex;transform:none}@starting-style{.markup-popover:popover-open{opacity:0;transform:translateY(-4px)scale(.98)}}.markup-popover:not(:popover-open){pointer-events:none}}.markup-popover.is-leaving{pointer-events:none}.markup-popover.is-hud-hidden{transition-property:none;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);animation:markup-menu-in var(--markup-menu-in) ease-out;padding:4px;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)}.markup-thread-menu-item.is-danger:hover{background:color-mix(in srgb, var(--markup-danger) 10%, transparent)}.markup-thread-menu-item:disabled{opacity:.5;cursor:default}@keyframes markup-menu-in{0%{opacity:0;transform:translate(var(--markup-menu-from-x,0), var(--markup-menu-from-y,-4px))}to{opacity:1;transform:translate(0)}}@keyframes markup-menu-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(var(--markup-menu-from-x,0), var(--markup-menu-from-y,-4px))}}.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,transform .12s cubic-bezier(.2,.7,.2,1);display:inline-flex}.markup-icon-btn:hover,.markup-icon-btn.is-open{background:var(--markup-border);color:var(--markup-ink)}.markup-icon-btn:active{transform:scale(.97)}.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.is-new{animation:.2s cubic-bezier(.2,.7,.2,1) markup-comment-in}@keyframes markup-comment-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.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-accent-ink);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-link{color:var(--markup-accent-ink);text-underline-offset:2px;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--markup-accent-ink) 60%, transparent);text-decoration-color:color-mix(in srgb, var(--markup-accent-ink) 60%, transparent)}.markup-comment-link:hover{-webkit-text-decoration-color:var(--markup-accent-ink);text-decoration-color:var(--markup-accent-ink)}.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{--markup-menu-from-y:4px;top:auto;bottom:calc(100% + 6px)}.markup-comment-menu.is-side .markup-thread-menu-list{--markup-menu-from-x:4px;--markup-menu-from-y:0;top:-4px;right:calc(100% + 2px)}.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);animation:markup-menu-in var(--markup-menu-in) ease;border-radius:8px;gap:2px;padding:4px;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{--markup-menu-from-y:4px;top:auto;bottom:calc(100% + 6px)}.markup-reaction-picker-wrap.is-side .markup-reaction-picker{--markup-menu-from-x:4px;--markup-menu-from-y:0;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-accent-ink)}.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-author-copy{color:var(--markup-ink);margin:0;font-size:13px;line-height:1.5}.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,transform .12s cubic-bezier(.2,.7,.2,1);display:inline-flex}.markup-btn:disabled{opacity:.5;cursor:not-allowed}.markup-btn:active:not(:disabled){transform:scale(.97)}.markup-btn-primary{background:var(--markup-ink);color:var(--markup-paper)}.markup-btn-primary:hover:not(:disabled){background:var(--markup-brand-fill)}.markup-btn-ghost{color:var(--markup-muted)}.markup-btn-ghost:hover:not(:disabled){background:var(--markup-border);color:var(--markup-ink)}.markup-btn-danger{color:var(--markup-danger)}.markup-btn-danger:hover:not(:disabled){background:color-mix(in srgb, var(--markup-danger) 10%, transparent)}.markup-discard-confirm{background:color-mix(in srgb, var(--markup-paper) 92%, transparent);-webkit-backdrop-filter:blur(6px);animation:markup-menu-in var(--markup-menu-in) ease-out;flex-direction:column;justify-content:center;gap:4px;padding:16px;display:flex;position:absolute;inset:0}.markup-thread-menu-list.is-leaving,.markup-reaction-picker.is-leaving,.markup-discard-confirm.is-leaving{pointer-events:none;animation-name:markup-menu-out;animation-duration:var(--markup-menu-leave);animation-timing-function:ease-in;animation-fill-mode:forwards}.markup-discard-confirm-title{color:var(--markup-ink);margin:0;font-size:13px;font-weight:600}.markup-discard-confirm-desc{color:var(--markup-muted);margin:0;font-size:12px}.markup-discard-confirm-actions{gap:6px;margin-top:10px;display:flex}.markup-screenshot-row{border:1px dashed var(--markup-border-strong);color:var(--markup-muted);border-radius:6px;flex-direction:column;gap:8px;margin-top:0;padding:6px 8px;font-size:11.5px;display:flex}.markup-screenshot-row.is-attached{border-style:solid;border-color:var(--markup-border);padding:8px}.markup-screenshot-row-head{justify-content:space-between;align-items:center;gap:8px;min-height:16px;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-row.is-failed{opacity:.85;border-style:dotted}.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-link{border:1px solid var(--markup-border-strong);cursor:zoom-in;background:0 0;border-radius:3px;margin:-4px auto -4px -4px;padding:0;transition:border-color .12s;display:block;overflow:hidden}.markup-screenshot-thumb-link:hover,.markup-screenshot-thumb-link:focus-visible{border-color:var(--markup-brand)}.markup-screenshot-thumb{object-fit:cover;object-position:top;width:auto;height:22px;display:block}.markup-screenshot-redacted-chip{background:color-mix(in srgb, var(--markup-success,oklch(62% .16 150)) 16%, transparent);color:var(--markup-success-ink);font-family:var(--markup-font-mono);white-space:nowrap;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{flex-direction:column;gap:2px;display:flex}.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:0;font-size:10px;line-height:1.5}.markup-screenshot-help-link{color:var(--markup-ink);text-underline-offset:2px;text-decoration:underline}.markup-screenshot-help-link:hover{color:var(--markup-accent-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}@supports (transition-behavior:allow-discrete){.markup-lightbox{opacity:0;transition:opacity var(--markup-lightbox-leave) ease, overlay var(--markup-lightbox-leave) allow-discrete, display var(--markup-lightbox-leave) allow-discrete}.markup-lightbox[open]{opacity:1}@starting-style{.markup-lightbox[open]{opacity:0}}}.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-toolbar.is-leaving,.markup-hud-hidden-toast,.markup-hud-hidden-toast.is-leaving,.markup-tb-btn,.markup-tb-badge,.markup-comment,.markup-pin,.markup-pin.is-entering,.markup-pin.is-leaving,.markup-pop,.markup-pop.is-leaving,.markup-pop[data-pop=overflow],.markup-pop.is-anchor-center,.markup-pop.is-anchor-center.is-leaving,.markup-thread-menu-list,.markup-thread-menu-list.is-leaving,.markup-reaction-picker,.markup-reaction-picker.is-leaving,.markup-discard-confirm,.markup-discard-confirm.is-leaving,.markup-icon-btn,.markup-btn,.markup-popover,.markup-pin-ghost,.markup-placement-overlay,.markup-placement-cursor-help,.markup-lightbox,.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;box-sizing:border-box;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;padding:4px;list-style:none;position:fixed;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-panel-pop{z-index:11;pointer-events:auto;width:var(--markup-popover-w);max-width:calc(100vw - 24px);position:fixed;bottom:76px}.markup-panel-pop-right{right:22px}.markup-panel-pop-left{left:22px}.markup-panel-pop-center{left:50%;transform:translate(-50%)}.markup-panel-pop .markup-pop{width:100%;position:static}.markup-panel-pop .markup-notifications-panel{max-height:min(60vh,480px)}.markup-panel-pop .markup-notifications-panel-header{padding:12px 14px}.markup-panel-pop .markup-notifications-panel-header .markup-icon-btn{display:none}.markup-panel{max-height:min(70vh,520px);color:var(--markup-ink);flex-direction:column;display:flex}.markup-panel-header{border-bottom:1px solid var(--markup-border);align-items:center;gap:8px;padding:12px 14px;display:flex}.markup-panel-header .markup-eyebrow{flex:1}.markup-panel-back{color:var(--markup-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;align-items:center;gap:2px;margin-left:-4px;padding:3px 6px 3px 4px;font-family:inherit;font-size:12px;display:inline-flex}.markup-panel-back:hover{background:var(--markup-hover);color:var(--markup-ink)}.markup-panel-body{flex:1;padding:4px 14px 14px;overflow-y:auto}.markup-panel-body:focus{outline:none}.markup-panel-body:focus-visible{box-shadow:inset 0 0 0 2px var(--markup-accent-glow);outline:none}.markup-panel-section{border-bottom:1px solid var(--markup-border);padding:10px 0}.markup-panel-section:last-child{border-bottom:none;padding-bottom:2px}.markup-panel-section-title{font-family:var(--markup-font-mono);letter-spacing:.06em;text-transform:lowercase;color:var(--markup-muted);margin:0 0 6px;font-size:10px;font-weight:400}.markup-panel-text{color:var(--markup-ink-soft);margin:0;font-size:12.5px;line-height:1.5}.markup-panel-text strong{color:var(--markup-ink);font-weight:600}.markup-panel-mono{font-family:var(--markup-font-mono);color:var(--markup-ink);word-break:break-all;font-size:11.5px}.markup-panel-list{color:var(--markup-ink-soft);margin:0;padding-left:16px;font-size:12.5px;line-height:1.5}.markup-panel-list li{margin-bottom:3px}.markup-panel-list li::marker{color:var(--markup-muted)}.markup-panel-note{color:var(--markup-muted);margin:8px 0 0;font-size:11.5px;line-height:1.45}.markup-panel-error{color:var(--markup-danger);margin:8px 0 0;font-size:11.5px;line-height:1.45}.markup-panel-action{border:1px solid var(--markup-border-strong);width:100%;height:30px;color:var(--markup-ink);font:inherit;cursor:pointer;background:0 0;border-radius:7px;margin-top:10px;padding:0 10px;font-size:12.5px;transition:background .12s,border-color .12s,color .12s}.markup-panel-action:hover:not(:disabled){background:var(--markup-hover)}.markup-panel-action:disabled{opacity:.6;cursor:default}.markup-panel-action.is-danger{border-color:color-mix(in srgb, var(--markup-danger) 45%, transparent);color:var(--markup-danger)}.markup-panel-action.is-danger:hover:not(:disabled){background:color-mix(in srgb, var(--markup-danger) 10%, transparent)}.markup-shortcut-list{margin:0;padding:0;list-style:none}.markup-shortcut-row{align-items:center;gap:10px;min-height:24px;padding:2px 0;display:flex}.markup-shortcut-label{min-width:0;color:var(--markup-ink-soft);flex:1;font-size:12.5px;line-height:1.4}.markup-shortcut-keys{flex-shrink:0;align-items:center;gap:4px;display:inline-flex}.markup-shortcut-chord{align-items:center;gap:3px;display:inline-flex}.markup-shortcut-or{color:var(--markup-muted);margin-right:1px;font-size:10px}", ue = 1e4, de = 20, fe = 60, pe = null, me = [], he = null, ge = !1, _e = ve();
253
253
  function ve() {
254
254
  return typeof crypto < "u" && typeof crypto.randomUUID == "function" ? crypto.randomUUID() : `s-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 10)}`;
255
255
  }
@@ -5019,7 +5019,7 @@ function Sc({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboa
5019
5019
  V(() => {
5020
5020
  v || (m(!1), g(!1));
5021
5021
  }, [v]);
5022
- let y = aa(e), b = Cc(y), x = e.kind === "verified", C = e.kind === "verified" ? e.identity.image : void 0, [w, ee] = B(null), T = x && C != null && w !== C, E = x ? e.identity.email : null, D = t === "bottom-left" ? "is-anchor-left" : t === "bottom-center" ? "is-anchor-center" : "is-anchor-right";
5022
+ let y = aa(e), b = Cc(y), x = e.kind === "verified", C = e.kind === "verified" ? e.identity.image : void 0, [w, T] = B(null), E = x && C != null && w !== C, D = x ? e.identity.email : null, O = t === "bottom-left" ? "is-anchor-left" : t === "bottom-center" ? "is-anchor-center" : "is-anchor-right";
5023
5023
  return /* @__PURE__ */ Q("div", {
5024
5024
  ref: _,
5025
5025
  style: {
@@ -5042,13 +5042,13 @@ function Sc({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboa
5042
5042
  children: [/* @__PURE__ */ Q("span", {
5043
5043
  class: Z("markup-tb-avatar", !x && "is-anon"),
5044
5044
  "aria-hidden": "true",
5045
- children: T ? /* @__PURE__ */ Q("img", {
5045
+ children: E ? /* @__PURE__ */ Q("img", {
5046
5046
  class: "markup-avatar-img",
5047
5047
  src: C,
5048
5048
  alt: "",
5049
5049
  decoding: "async",
5050
5050
  referrerpolicy: "no-referrer",
5051
- onError: () => ee(C)
5051
+ onError: () => T(C)
5052
5052
  }) : x && b ? /* @__PURE__ */ Q("span", {
5053
5053
  class: "markup-avatar-initials",
5054
5054
  children: b
@@ -5058,7 +5058,7 @@ function Sc({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboa
5058
5058
  children: y
5059
5059
  }) : null]
5060
5060
  }), d ? /* @__PURE__ */ Q("div", {
5061
- class: Z("markup-pop", D, f && "is-leaving"),
5061
+ class: Z("markup-pop", O, f && "is-leaving"),
5062
5062
  "data-pop": "identity",
5063
5063
  role: "menu",
5064
5064
  inert: f || void 0,
@@ -5068,9 +5068,9 @@ function Sc({ identity: e, position: t, isSigningIn: n, isSigningOut: r, dashboa
5068
5068
  children: [/* @__PURE__ */ Q("span", {
5069
5069
  class: "nm",
5070
5070
  children: y ?? "Account"
5071
- }), E ? /* @__PURE__ */ Q("span", {
5071
+ }), D ? /* @__PURE__ */ Q("span", {
5072
5072
  class: "em",
5073
- children: E
5073
+ children: D
5074
5074
  }) : null]
5075
5075
  }),
5076
5076
  /* @__PURE__ */ Q("a", {
@@ -5889,16 +5889,16 @@ var fl = [], pl = "https://markup.pixelmatters.dev/docs/install#9-screenshots-pr
5889
5889
  function ml({ pageX: e, pageY: t, authorName: n, authorPromptMode: r, isVerified: i, isIdentityResolving: a, isSigningIn: o, isPending: s, error: c, screenshot: l, isScreenshotCapturing: u, screenshotFailed: d, screenshotRedactedCount: f, screenshotRedactedSelectors: p, members: m = fl, isLeaving: h = !1, onAuthor: g, onSignIn: _, onSignOut: v, onSubmit: y, onClose: b }) {
5890
5890
  let x = U(null);
5891
5891
  Dc(x, !h);
5892
- let C = U(!1), w = U(!1), [ee, T] = B(!1), E = ei(ee || null, 120), D = W((e) => {
5893
- w.current = e, T(e);
5894
- }, []), te = W(() => {
5895
- w.current || (C.current ? D(!0) : b());
5896
- }, [b, D]), O = W(() => {
5897
- D(!1), x.current?.querySelector(".markup-mention-input")?.focus();
5898
- }, [D]), [k, A] = B(!1), [j, M] = B(!1), N = Oc(l), P = U(null), [ne, F] = B(null), { onPointerDown: re, isDragging: ie } = wc({
5892
+ let C = U(!1), w = U(!1), [T, E] = B(!1), D = ei(T || null, 120), O = W((e) => {
5893
+ w.current = e, E(e);
5894
+ }, []), ee = W(() => {
5895
+ w.current || (C.current ? O(!0) : b());
5896
+ }, [b, O]), k = W(() => {
5897
+ O(!1), x.current?.querySelector(".markup-mention-input")?.focus();
5898
+ }, [O]), [A, j] = B(!1), [M, N] = B(!1), P = Oc(l), F = U(null), [te, ne] = B(null), { onPointerDown: re, isDragging: ie } = wc({
5899
5899
  targetRef: x,
5900
5900
  shouldStart: (e) => !e.target?.closest("button, a, input, textarea, select"),
5901
- onMove: F
5901
+ onMove: ne
5902
5902
  });
5903
5903
  H(() => {
5904
5904
  let e = x.current;
@@ -5914,32 +5914,32 @@ function ml({ pageX: e, pageY: t, authorName: n, authorPromptMode: r, isVerified
5914
5914
  t.preventDefault(), t.stopPropagation();
5915
5915
  return;
5916
5916
  }
5917
- C.current && (t.preventDefault(), t.stopPropagation()), te();
5917
+ C.current && (t.preventDefault(), t.stopPropagation()), ee();
5918
5918
  }
5919
5919
  }
5920
5920
  function n(e) {
5921
- e.key !== "Escape" || e.defaultPrevented || P.current?.open || (e.preventDefault(), w.current ? O() : te());
5921
+ e.key !== "Escape" || e.defaultPrevented || F.current?.open || (e.preventDefault(), w.current ? k() : ee());
5922
5922
  }
5923
5923
  let r = bc(e, t);
5924
5924
  return document.addEventListener("keydown", n), () => {
5925
5925
  r(), document.removeEventListener("keydown", n);
5926
5926
  };
5927
5927
  }, [
5928
- te,
5929
- O,
5928
+ ee,
5929
+ k,
5930
5930
  h
5931
5931
  ]), V(() => {
5932
- ee && x.current?.querySelector(".markup-discard-confirm-keep")?.focus();
5933
- }, [ee]);
5934
- let ae = hl(e - window.scrollX + 16, 12, window.innerWidth - 320 - 12), oe = hl(t - window.scrollY - 16, 12, window.innerHeight - 220), se = typeof window < "u" ? window.location.href : "", ce = l != null, le = u || ce || d, ue = k && ce;
5932
+ T && x.current?.querySelector(".markup-discard-confirm-keep")?.focus();
5933
+ }, [T]);
5934
+ let ae = hl(e - window.scrollX + 16, 12, window.innerWidth - 320 - 12), oe = hl(t - window.scrollY - 16, 12, window.innerHeight - 220), se = typeof window < "u" ? window.location.href : "", ce = l != null, le = u || ce || d, ue = A && ce;
5935
5935
  return /* @__PURE__ */ Q("div", {
5936
5936
  ref: x,
5937
- class: Z("markup-popover", ne && "is-floating", ie && "is-dragging", h && "is-leaving"),
5937
+ class: Z("markup-popover", te && "is-floating", ie && "is-dragging", h && "is-leaving"),
5938
5938
  popover: "manual",
5939
5939
  inert: h || void 0,
5940
5940
  style: {
5941
- "--markup-pop-x": `${ne?.left ?? ae}px`,
5942
- "--markup-pop-y": `${ne?.top ?? oe}px`
5941
+ "--markup-pop-x": `${te?.left ?? ae}px`,
5942
+ "--markup-pop-y": `${te?.top ?? oe}px`
5943
5943
  },
5944
5944
  role: "dialog",
5945
5945
  "aria-label": "New markup",
@@ -5955,7 +5955,7 @@ function ml({ pageX: e, pageY: t, authorName: n, authorPromptMode: r, isVerified
5955
5955
  type: "button",
5956
5956
  class: "markup-icon-btn",
5957
5957
  "aria-label": "Discard pin",
5958
- onClick: te,
5958
+ onClick: ee,
5959
5959
  children: /* @__PURE__ */ Q(Ws, { size: 16 })
5960
5960
  })]
5961
5961
  }),
@@ -5982,7 +5982,7 @@ function ml({ pageX: e, pageY: t, authorName: n, authorPromptMode: r, isVerified
5982
5982
  submitLabel: "Post markup",
5983
5983
  isPending: s,
5984
5984
  error: c,
5985
- onSubmit: (e) => y(e, k && ce),
5985
+ onSubmit: (e) => y(e, A && ce),
5986
5986
  onDirtyChange: (e) => {
5987
5987
  C.current = e;
5988
5988
  },
@@ -6014,38 +6014,38 @@ function ml({ pageX: e, pageY: t, authorName: n, authorPromptMode: r, isVerified
6014
6014
  /* @__PURE__ */ Q("input", {
6015
6015
  type: "checkbox",
6016
6016
  class: "markup-screenshot-checkbox",
6017
- checked: k,
6018
- onChange: (e) => A(e.currentTarget.checked)
6017
+ checked: A,
6018
+ onChange: (e) => j(e.currentTarget.checked)
6019
6019
  }),
6020
6020
  /* @__PURE__ */ Q(Ys, { size: 12 }),
6021
6021
  /* @__PURE__ */ Q("span", { children: "Attach screenshot" })
6022
6022
  ]
6023
6023
  }),
6024
- ue && N ? /* @__PURE__ */ Q("a", {
6024
+ ue && P ? /* @__PURE__ */ Q("a", {
6025
6025
  class: "markup-screenshot-thumb-link",
6026
- href: N,
6026
+ href: P,
6027
6027
  target: "_blank",
6028
6028
  rel: "noopener",
6029
6029
  title: "Preview screenshot",
6030
6030
  "aria-label": "Preview screenshot",
6031
6031
  onClick: (e) => {
6032
- e.metaKey || e.ctrlKey || e.shiftKey || e.altKey || e.button !== 0 || (e.preventDefault(), P.current?.showModal());
6032
+ e.metaKey || e.ctrlKey || e.shiftKey || e.altKey || e.button !== 0 || (e.preventDefault(), F.current?.showModal());
6033
6033
  },
6034
6034
  children: /* @__PURE__ */ Q("img", {
6035
6035
  class: "markup-screenshot-thumb",
6036
- src: N,
6036
+ src: P,
6037
6037
  alt: ""
6038
6038
  })
6039
6039
  }) : null,
6040
6040
  ue && f > 0 ? /* @__PURE__ */ Q("button", {
6041
6041
  type: "button",
6042
6042
  class: "markup-screenshot-redacted-chip",
6043
- "aria-expanded": j,
6044
- onClick: () => M((e) => !e),
6043
+ "aria-expanded": M,
6044
+ onClick: () => N((e) => !e),
6045
6045
  children: [
6046
6046
  /* @__PURE__ */ Q("em", {
6047
6047
  class: "markup-screenshot-redacted-arrow",
6048
- children: j ? "▾" : "▸"
6048
+ children: M ? "▾" : "▸"
6049
6049
  }),
6050
6050
  f,
6051
6051
  " ",
@@ -6055,7 +6055,7 @@ function ml({ pageX: e, pageY: t, authorName: n, authorPromptMode: r, isVerified
6055
6055
  ]
6056
6056
  }) : null
6057
6057
  ]
6058
- }), ue ? /* @__PURE__ */ Q(S, { children: [j && f > 0 ? /* @__PURE__ */ Q("div", {
6058
+ }), ue ? /* @__PURE__ */ Q(S, { children: [M && f > 0 ? /* @__PURE__ */ Q("div", {
6059
6059
  class: "markup-screenshot-redacted-list",
6060
6060
  children: p.map((e) => /* @__PURE__ */ Q("code", {
6061
6061
  class: "markup-screenshot-redacted-selector",
@@ -6087,31 +6087,31 @@ function ml({ pageX: e, pageY: t, authorName: n, authorPromptMode: r, isVerified
6087
6087
  onSignIn: _,
6088
6088
  onSignOut: v
6089
6089
  }),
6090
- ue && N ? /* @__PURE__ */ Q("dialog", {
6091
- ref: P,
6090
+ ue && P ? /* @__PURE__ */ Q("dialog", {
6091
+ ref: F,
6092
6092
  class: "markup-lightbox",
6093
- onClick: () => P.current?.close(),
6093
+ onClick: () => F.current?.close(),
6094
6094
  children: [/* @__PURE__ */ Q("button", {
6095
6095
  type: "button",
6096
6096
  class: "markup-lightbox-close markup-icon-btn",
6097
6097
  "aria-label": "Close screenshot",
6098
6098
  onClick: (e) => {
6099
- e.stopPropagation(), P.current?.close();
6099
+ e.stopPropagation(), F.current?.close();
6100
6100
  },
6101
6101
  children: /* @__PURE__ */ Q(Ws, { size: 16 })
6102
6102
  }), /* @__PURE__ */ Q("img", {
6103
6103
  class: "markup-lightbox-img",
6104
- src: N,
6104
+ src: P,
6105
6105
  alt: "Screenshot preview",
6106
6106
  onClick: (e) => e.stopPropagation()
6107
6107
  })]
6108
6108
  }) : null,
6109
- E ? /* @__PURE__ */ Q("div", {
6110
- class: Z("markup-discard-confirm", E.isLeaving && "is-leaving"),
6109
+ D ? /* @__PURE__ */ Q("div", {
6110
+ class: Z("markup-discard-confirm", D.isLeaving && "is-leaving"),
6111
6111
  role: "alertdialog",
6112
6112
  "aria-labelledby": "markup-discard-confirm-title",
6113
6113
  "aria-describedby": "markup-discard-confirm-desc",
6114
- inert: E.isLeaving || void 0,
6114
+ inert: D.isLeaving || void 0,
6115
6115
  children: [
6116
6116
  /* @__PURE__ */ Q("p", {
6117
6117
  id: "markup-discard-confirm-title",
@@ -6128,7 +6128,7 @@ function ml({ pageX: e, pageY: t, authorName: n, authorPromptMode: r, isVerified
6128
6128
  children: [/* @__PURE__ */ Q("button", {
6129
6129
  type: "button",
6130
6130
  class: "markup-btn markup-btn-primary markup-discard-confirm-keep",
6131
- onClick: O,
6131
+ onClick: k,
6132
6132
  children: "Keep editing"
6133
6133
  }), /* @__PURE__ */ Q("button", {
6134
6134
  type: "button",
@@ -6532,22 +6532,22 @@ var Sl = {
6532
6532
  shortcuts: "Keyboard shortcuts"
6533
6533
  };
6534
6534
  function Cl({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked: r = !1, onToggleAutoCapture: i, showResolved: a, onToggleShowResolved: o, isUrlScoped: s, hiddenByUrlScope: c, onToggleUrlScope: l, onHideForSession: u, identity: d, apiUrl: f, commentAccess: p, isForgettingMe: m, forgetMeError: h, onForgetMe: g, version: _, dashboardUrl: v }) {
6535
- let [y, b] = B(!1), [x, S] = B("menu"), C = ei(y || null, 140), w = C?.isLeaving ?? !1, ee = U(null), T = U(null), E = U(null), D = U(null), te = U("menu"), O = U(null), k = U(x);
6536
- k.current = x;
6537
- let A = vl();
6535
+ let [y, b] = B(!1), [x, S] = B("menu"), C = ei(y || null, 140), w = C?.isLeaving ?? !1, T = U(null), E = U(null), D = U(null), O = U(null), ee = U("menu"), k = U(null), A = U(x);
6536
+ A.current = x;
6537
+ let j = vl();
6538
6538
  V(() => {
6539
- y && (S("menu"), te.current = "menu");
6539
+ y && (S("menu"), ee.current = "menu");
6540
6540
  }, [y]), H(() => {
6541
6541
  if (!y) return;
6542
6542
  if (x !== "menu") {
6543
- T.current?.focus({ preventScroll: !0 });
6543
+ E.current?.focus({ preventScroll: !0 });
6544
6544
  return;
6545
6545
  }
6546
- let e = te.current;
6547
- e !== "menu" && (te.current = "menu", (e === "privacy" ? E.current : D.current)?.focus({ preventScroll: !0 }));
6546
+ let e = ee.current;
6547
+ e !== "menu" && (ee.current = "menu", (e === "privacy" ? D.current : O.current)?.focus({ preventScroll: !0 }));
6548
6548
  }, [y, x]), H(() => {
6549
- let e = T.current, t = O.current;
6550
- if (O.current = null, !e || t == null || window.matchMedia("(prefers-reduced-motion: reduce)").matches) return;
6549
+ let e = E.current, t = k.current;
6550
+ if (k.current = null, !e || t == null || window.matchMedia("(prefers-reduced-motion: reduce)").matches) return;
6551
6551
  let n = e.getBoundingClientRect().height;
6552
6552
  if (Math.round(n) === Math.round(t)) return;
6553
6553
  e.style.height = `${t}px`, e.offsetHeight, e.style.height = `${n}px`;
@@ -6559,15 +6559,15 @@ function Cl({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
6559
6559
  };
6560
6560
  }, [x]), V(() => {
6561
6561
  if (!y) return;
6562
- let e = ee.current;
6562
+ let e = T.current;
6563
6563
  if (!e) return;
6564
6564
  let t = (t) => {
6565
6565
  t.composedPath().includes(e) || b(!1);
6566
6566
  };
6567
6567
  function n(e) {
6568
6568
  if (e.key === "Escape") {
6569
- if (k.current !== "menu") {
6570
- j("menu");
6569
+ if (A.current !== "menu") {
6570
+ M("menu");
6571
6571
  return;
6572
6572
  }
6573
6573
  b(!1);
@@ -6578,12 +6578,12 @@ function Cl({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
6578
6578
  r(), document.removeEventListener("keydown", n);
6579
6579
  };
6580
6580
  }, [y]);
6581
- function j(e) {
6582
- O.current = T.current?.getBoundingClientRect().height ?? null, e !== "menu" && (te.current = e), S(e);
6581
+ function M(e) {
6582
+ k.current = E.current?.getBoundingClientRect().height ?? null, e !== "menu" && (ee.current = e), S(e);
6583
6583
  }
6584
- let M = e === "bottom-left" ? "is-anchor-left" : e === "bottom-center" ? "is-anchor-center" : "is-anchor-right", { mod: N } = Vs();
6584
+ let N = e === "bottom-left" ? "is-anchor-left" : e === "bottom-center" ? "is-anchor-center" : "is-anchor-right", { mod: P } = Vs();
6585
6585
  return /* @__PURE__ */ Q("div", {
6586
- ref: ee,
6586
+ ref: T,
6587
6587
  style: {
6588
6588
  position: "relative",
6589
6589
  display: "inline-flex"
@@ -6607,8 +6607,8 @@ function Cl({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
6607
6607
  children: c > 9 ? "9+" : c
6608
6608
  }) : null]
6609
6609
  }), C ? /* @__PURE__ */ Q("div", {
6610
- ref: T,
6611
- class: Z("markup-pop", M, w && "is-leaving"),
6610
+ ref: E,
6611
+ class: Z("markup-pop", N, w && "is-leaving"),
6612
6612
  "data-pop": "overflow",
6613
6613
  "data-view": x,
6614
6614
  role: "dialog",
@@ -6628,8 +6628,8 @@ function Cl({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
6628
6628
  e && b(!1);
6629
6629
  });
6630
6630
  },
6631
- onBack: () => j("menu")
6632
- }) : x === "shortcuts" ? /* @__PURE__ */ Q(xl, { onBack: () => j("menu") }) : /* @__PURE__ */ Q("div", {
6631
+ onBack: () => M("menu")
6632
+ }) : x === "shortcuts" ? /* @__PURE__ */ Q(xl, { onBack: () => M("menu") }) : /* @__PURE__ */ Q("div", {
6633
6633
  role: "menu",
6634
6634
  class: "markup-menu-view",
6635
6635
  children: [
@@ -6646,31 +6646,31 @@ function Cl({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
6646
6646
  /* @__PURE__ */ Q("button", {
6647
6647
  type: "button",
6648
6648
  role: "radio",
6649
- "aria-checked": A.mode === "light",
6649
+ "aria-checked": j.mode === "light",
6650
6650
  "aria-label": "Light",
6651
6651
  title: "Light",
6652
- class: Z(A.mode === "light" && "is-on"),
6653
- onClick: () => A.set("light"),
6652
+ class: Z(j.mode === "light" && "is-on"),
6653
+ onClick: () => j.set("light"),
6654
6654
  children: /* @__PURE__ */ Q(rc, { size: 14 })
6655
6655
  }),
6656
6656
  /* @__PURE__ */ Q("button", {
6657
6657
  type: "button",
6658
6658
  role: "radio",
6659
- "aria-checked": A.mode === "dark",
6659
+ "aria-checked": j.mode === "dark",
6660
6660
  "aria-label": "Dark",
6661
6661
  title: "Dark",
6662
- class: Z(A.mode === "dark" && "is-on"),
6663
- onClick: () => A.set("dark"),
6662
+ class: Z(j.mode === "dark" && "is-on"),
6663
+ onClick: () => j.set("dark"),
6664
6664
  children: /* @__PURE__ */ Q(ic, { size: 14 })
6665
6665
  }),
6666
6666
  /* @__PURE__ */ Q("button", {
6667
6667
  type: "button",
6668
6668
  role: "radio",
6669
- "aria-checked": A.mode === "auto",
6670
- "aria-label": `Auto (currently ${A.resolved})`,
6671
- title: `Auto, currently ${A.resolved}`,
6672
- class: Z(A.mode === "auto" && "is-on"),
6673
- onClick: () => A.set("auto"),
6669
+ "aria-checked": j.mode === "auto",
6670
+ "aria-label": `Auto (currently ${j.resolved})`,
6671
+ title: `Auto, currently ${j.resolved}`,
6672
+ class: Z(j.mode === "auto" && "is-on"),
6673
+ onClick: () => j.set("auto"),
6674
6674
  children: /* @__PURE__ */ Q(ac, { size: 14 })
6675
6675
  })
6676
6676
  ]
@@ -6806,11 +6806,11 @@ function Cl({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
6806
6806
  ]
6807
6807
  }),
6808
6808
  /* @__PURE__ */ Q("button", {
6809
- ref: E,
6809
+ ref: D,
6810
6810
  type: "button",
6811
6811
  role: "menuitem",
6812
6812
  class: "markup-menu-row",
6813
- onClick: () => j("privacy"),
6813
+ onClick: () => M("privacy"),
6814
6814
  children: [
6815
6815
  /* @__PURE__ */ Q("span", {
6816
6816
  class: "ic",
@@ -6828,11 +6828,11 @@ function Cl({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
6828
6828
  ]
6829
6829
  }),
6830
6830
  /* @__PURE__ */ Q("button", {
6831
- ref: D,
6831
+ ref: O,
6832
6832
  type: "button",
6833
6833
  role: "menuitem",
6834
6834
  class: "markup-menu-row",
6835
- onClick: () => j("shortcuts"),
6835
+ onClick: () => M("shortcuts"),
6836
6836
  children: [
6837
6837
  /* @__PURE__ */ Q("span", {
6838
6838
  class: "ic",
@@ -6868,7 +6868,7 @@ function Cl({ position: e, onSetPosition: t, autoCapture: n, autoCaptureLocked:
6868
6868
  }),
6869
6869
  /* @__PURE__ */ Q("span", {
6870
6870
  class: "right",
6871
- children: [N, " ."]
6871
+ children: [P, " ."]
6872
6872
  })
6873
6873
  ]
6874
6874
  }),
@@ -7165,33 +7165,33 @@ var Nl = [], Pl = [
7165
7165
  }
7166
7166
  });
7167
7167
  function Il({ thread: e, authorName: t, authorPromptMode: n, currentClientId: r, isVerified: i, isIdentityResolving: a, isSigningIn: o, canDelete: s, isPending: c, error: l, isHidden: u = !1, isLeaving: d = !1, members: f = Nl, onAuthor: p, onSignIn: m, onSignOut: h, onClose: g, onReply: _, onEditComment: v, onDeleteComment: y, onToggleReaction: b, onResolve: x, onDelete: S }) {
7168
- let C = U(null), w = U(null), ee = U(null), T = U(null), [E, D] = Hr(Fl, { kind: "none" }), te = ei(E.kind === "none" || E.kind === "editing" ? null : E, 120), O = te?.value ?? null, k = te?.isLeaving ?? !1, A = O?.kind === "thread-menu" ? O : null, [j, M] = B(null), { onPointerDown: N, isDragging: P } = wc({
7168
+ let C = U(null), w = U(null), T = U(null), E = U(null), [D, O] = Hr(Fl, { kind: "none" }), ee = ei(D.kind === "none" || D.kind === "editing" ? null : D, 120), k = ee?.value ?? null, A = ee?.isLeaving ?? !1, j = k?.kind === "thread-menu" ? k : null, [M, N] = B(null), { onPointerDown: P, isDragging: F } = wc({
7169
7169
  targetRef: C,
7170
7170
  shouldStart: (e) => !e.target?.closest("button, a, input, textarea, select"),
7171
- onMove: M
7171
+ onMove: N
7172
7172
  });
7173
7173
  Dc(C, !d);
7174
- let ne = e.resolvedAt != null, F = rt(() => e.comments.filter((e) => !e.deleted), [e.comments]);
7174
+ let te = e.resolvedAt != null, ne = rt(() => e.comments.filter((e) => !e.deleted), [e.comments]);
7175
7175
  V(() => {
7176
- if (E.kind === "none" || E.kind === "editing") return;
7176
+ if (D.kind === "none" || D.kind === "editing") return;
7177
7177
  function e(e) {
7178
- let t = T.current;
7179
- t && !e.composedPath().includes(t) && D({ type: "dismiss" });
7178
+ let t = E.current;
7179
+ t && !e.composedPath().includes(t) && O({ type: "dismiss" });
7180
7180
  }
7181
7181
  return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
7182
- }, [E.kind, D]), V(() => {
7183
- if (E.kind !== "editing") return;
7184
- let t = e.comments.find((e) => e._id === E.commentId);
7185
- (!t || t.deleted) && D({ type: "dismiss" });
7182
+ }, [D.kind, O]), V(() => {
7183
+ if (D.kind !== "editing") return;
7184
+ let t = e.comments.find((e) => e._id === D.commentId);
7185
+ (!t || t.deleted) && O({ type: "dismiss" });
7186
7186
  }, [
7187
7187
  e.comments,
7188
- E,
7189
- D
7188
+ D,
7189
+ O
7190
7190
  ]);
7191
7191
  let re = U(null);
7192
7192
  V(() => {
7193
- re.current ??= F.at(-1)?.createdAt ?? 0;
7194
- }, [F]);
7193
+ re.current ??= ne.at(-1)?.createdAt ?? 0;
7194
+ }, [ne]);
7195
7195
  let ie = U(!0);
7196
7196
  V(() => {
7197
7197
  let e = w.current;
@@ -7202,16 +7202,16 @@ function Il({ thread: e, authorName: t, authorPromptMode: n, currentClientId: r,
7202
7202
  }
7203
7203
  e.scrollHeight - e.scrollTop - e.clientHeight < 80 && (e.scrollTop = e.scrollHeight);
7204
7204
  }
7205
- }, [F.length]);
7205
+ }, [ne.length]);
7206
7206
  let ae = U(null);
7207
7207
  H(() => {
7208
7208
  let e = C.current;
7209
7209
  if (e && typeof e.showPopover == "function") try {
7210
- d ? (M((e) => e ?? ae.current), e.matches(":popover-open") && e.hidePopover()) : e.matches(":popover-open") || e.showPopover();
7210
+ d ? (N((e) => e ?? ae.current), e.matches(":popover-open") && e.hidePopover()) : e.matches(":popover-open") || e.showPopover();
7211
7211
  } catch {}
7212
7212
  }, [d]), H(() => {
7213
7213
  let e = C.current;
7214
- if (!e || d || j != null || typeof e.matches == "function" && !e.matches(":popover-open")) return;
7214
+ if (!e || d || M != null || typeof e.matches == "function" && !e.matches(":popover-open")) return;
7215
7215
  let t = getComputedStyle(e), n = Number.parseFloat(t.left), r = Number.parseFloat(t.top);
7216
7216
  Number.isFinite(n) && Number.isFinite(r) && (ae.current = {
7217
7217
  left: n,
@@ -7247,11 +7247,11 @@ function Il({ thread: e, authorName: t, authorPromptMode: n, currentClientId: r,
7247
7247
  return /* @__PURE__ */ Q("div", {
7248
7248
  ref: C,
7249
7249
  id: d ? void 0 : "markup-thread-popover",
7250
- class: Z("markup-popover", j && "is-floating", P && "is-dragging", u && "is-hud-hidden", d && "is-leaving"),
7250
+ class: Z("markup-popover", M && "is-floating", F && "is-dragging", u && "is-hud-hidden", d && "is-leaving"),
7251
7251
  popover: "auto",
7252
7252
  style: {
7253
- "--markup-pop-x": `${j?.left ?? se.left}px`,
7254
- "--markup-pop-y": `${j?.top ?? se.top}px`
7253
+ "--markup-pop-x": `${M?.left ?? se.left}px`,
7254
+ "--markup-pop-y": `${M?.top ?? se.top}px`
7255
7255
  },
7256
7256
  role: "dialog",
7257
7257
  "aria-label": "Markup thread",
@@ -7260,44 +7260,44 @@ function Il({ thread: e, authorName: t, authorPromptMode: n, currentClientId: r,
7260
7260
  children: [
7261
7261
  /* @__PURE__ */ Q("header", {
7262
7262
  class: "markup-popover-header",
7263
- onPointerDown: N,
7263
+ onPointerDown: P,
7264
7264
  children: [/* @__PURE__ */ Q("span", {
7265
7265
  class: "markup-popover-title",
7266
7266
  title: e.url,
7267
- children: F.length === 1 ? "1 comment" : `${F.length} comments`
7267
+ children: ne.length === 1 ? "1 comment" : `${ne.length} comments`
7268
7268
  }), /* @__PURE__ */ Q("div", {
7269
7269
  class: "markup-popover-header-actions",
7270
7270
  children: [
7271
7271
  /* @__PURE__ */ Q("div", {
7272
7272
  class: "markup-thread-menu",
7273
7273
  ref: (e) => {
7274
- E.kind === "thread-menu" && (T.current = e);
7274
+ D.kind === "thread-menu" && (E.current = e);
7275
7275
  },
7276
7276
  children: [/* @__PURE__ */ Q("button", {
7277
7277
  type: "button",
7278
- class: Z("markup-icon-btn", A != null && "is-open"),
7278
+ class: Z("markup-icon-btn", j != null && "is-open"),
7279
7279
  title: "More options",
7280
- onClick: () => D({ type: "toggle-thread-menu" }),
7280
+ onClick: () => O({ type: "toggle-thread-menu" }),
7281
7281
  children: /* @__PURE__ */ Q(qs, { size: 16 })
7282
- }), A ? /* @__PURE__ */ Q("div", {
7283
- class: Z("markup-thread-menu-list", k && "is-leaving"),
7284
- inert: k || void 0,
7282
+ }), j ? /* @__PURE__ */ Q("div", {
7283
+ class: Z("markup-thread-menu-list", A && "is-leaving"),
7284
+ inert: A || void 0,
7285
7285
  children: [/* @__PURE__ */ Q("button", {
7286
7286
  type: "button",
7287
7287
  class: "markup-thread-menu-item",
7288
7288
  onClick: () => {
7289
7289
  let t = Oa(e.url, e._id);
7290
- t && navigator.clipboard.writeText(t).catch(() => {}), D({ type: "dismiss" });
7290
+ t && navigator.clipboard.writeText(t).catch(() => {}), O({ type: "dismiss" });
7291
7291
  },
7292
7292
  children: "Copy link"
7293
7293
  }), s ? /* @__PURE__ */ Q("button", {
7294
7294
  type: "button",
7295
- class: Z("markup-thread-menu-item", A.confirmDelete && "is-danger"),
7295
+ class: Z("markup-thread-menu-item", j.confirmDelete && "is-danger"),
7296
7296
  disabled: c,
7297
7297
  onClick: () => {
7298
- E.kind === "thread-menu" && (E.confirmDelete ? (D({ type: "dismiss" }), S()) : D({ type: "arm-thread-delete" }));
7298
+ D.kind === "thread-menu" && (D.confirmDelete ? (O({ type: "dismiss" }), S()) : O({ type: "arm-thread-delete" }));
7299
7299
  },
7300
- children: A.confirmDelete ? "Confirm delete" : "Delete thread…"
7300
+ children: j.confirmDelete ? "Confirm delete" : "Delete thread…"
7301
7301
  }) : null]
7302
7302
  }) : null]
7303
7303
  }),
@@ -7322,8 +7322,8 @@ function Il({ thread: e, authorName: t, authorPromptMode: n, currentClientId: r,
7322
7322
  /* @__PURE__ */ Q("ol", {
7323
7323
  ref: w,
7324
7324
  class: "markup-comments",
7325
- children: F.map((t, n) => {
7326
- let i = !t.fromDashboard && r != null && t.authorClientId === r, a = n === 0, o = i && !ne && !t.deleted, s = i && !ne && !t.deleted && !a, l = E.kind === "editing" && E.commentId === t._id, u = (o || s) && !l && !t.deleted, d = O?.kind === "comment-menu" && O.commentId === t._id ? O : null, p = O?.kind === "reaction-picker" && O.commentId === t._id ? O : null, m = d != null, h = d?.confirmDelete ?? !1, g = p != null, _ = p?.direction ?? "down", x = d?.direction ?? "down";
7325
+ children: ne.map((t, n) => {
7326
+ let i = !t.fromDashboard && r != null && t.authorClientId === r, a = n === 0, o = i && !te && !t.deleted, s = i && !te && !t.deleted && !a, l = D.kind === "editing" && D.commentId === t._id, u = (o || s) && !l && !t.deleted, d = k?.kind === "comment-menu" && k.commentId === t._id ? k : null, p = k?.kind === "reaction-picker" && k.commentId === t._id ? k : null, m = d != null, h = d?.confirmDelete ?? !1, g = p != null, _ = p?.direction ?? "down", x = d?.direction ?? "down";
7327
7327
  return /* @__PURE__ */ Q("li", {
7328
7328
  class: Z("markup-comment", re.current != null && t.createdAt > re.current && "is-new"),
7329
7329
  children: [
@@ -7360,26 +7360,26 @@ function Il({ thread: e, authorName: t, authorPromptMode: n, currentClientId: r,
7360
7360
  }),
7361
7361
  /* @__PURE__ */ Q("div", {
7362
7362
  class: "markup-thread-actions",
7363
- children: [!ne && !l ? /* @__PURE__ */ Q(Ll, {
7363
+ children: [!te && !l ? /* @__PURE__ */ Q(Ll, {
7364
7364
  comment: t,
7365
7365
  pickerOpen: g,
7366
- pickerLeaving: g && k,
7366
+ pickerLeaving: g && A,
7367
7367
  pickerDirection: _,
7368
- pickerSide: F.length === 1,
7368
+ pickerSide: ne.length === 1,
7369
7369
  pickerRef: (e) => {
7370
- g && (T.current = e);
7370
+ g && (E.current = e);
7371
7371
  },
7372
7372
  onPickerClick: (e) => {
7373
7373
  if (g) {
7374
- D({
7374
+ O({
7375
7375
  type: "toggle-reaction-picker",
7376
7376
  commentId: t._id,
7377
7377
  direction: "down"
7378
7378
  });
7379
7379
  return;
7380
7380
  }
7381
- if (F.length === 1) {
7382
- D({
7381
+ if (ne.length === 1) {
7382
+ O({
7383
7383
  type: "toggle-reaction-picker",
7384
7384
  commentId: t._id,
7385
7385
  direction: "down"
@@ -7387,19 +7387,19 @@ function Il({ thread: e, authorName: t, authorPromptMode: n, currentClientId: r,
7387
7387
  return;
7388
7388
  }
7389
7389
  let n = e.currentTarget.getBoundingClientRect(), r = w.current?.getBoundingClientRect(), i = r ? r.bottom - n.bottom : Infinity;
7390
- D({
7390
+ O({
7391
7391
  type: "toggle-reaction-picker",
7392
7392
  commentId: t._id,
7393
7393
  direction: i < 44 ? "up" : "down"
7394
7394
  });
7395
7395
  },
7396
7396
  onPickerSelect: (e) => {
7397
- D({ type: "dismiss" }), b(t._id, e);
7397
+ O({ type: "dismiss" }), b(t._id, e);
7398
7398
  }
7399
7399
  }) : null, u ? /* @__PURE__ */ Q("div", {
7400
- class: Z("markup-thread-menu markup-comment-menu", m && "is-open", m && x === "up" && "is-up", F.length === 1 && "is-side"),
7400
+ class: Z("markup-thread-menu markup-comment-menu", m && "is-open", m && x === "up" && "is-up", ne.length === 1 && "is-side"),
7401
7401
  ref: (e) => {
7402
- m && (T.current = e);
7402
+ m && (E.current = e);
7403
7403
  },
7404
7404
  children: [/* @__PURE__ */ Q("button", {
7405
7405
  type: "button",
@@ -7407,15 +7407,15 @@ function Il({ thread: e, authorName: t, authorPromptMode: n, currentClientId: r,
7407
7407
  title: "More options",
7408
7408
  onClick: (e) => {
7409
7409
  if (m) {
7410
- D({
7410
+ O({
7411
7411
  type: "toggle-comment-menu",
7412
7412
  commentId: t._id,
7413
7413
  direction: "down"
7414
7414
  });
7415
7415
  return;
7416
7416
  }
7417
- if (F.length === 1) {
7418
- D({
7417
+ if (ne.length === 1) {
7418
+ O({
7419
7419
  type: "toggle-comment-menu",
7420
7420
  commentId: t._id,
7421
7421
  direction: "down"
@@ -7423,7 +7423,7 @@ function Il({ thread: e, authorName: t, authorPromptMode: n, currentClientId: r,
7423
7423
  return;
7424
7424
  }
7425
7425
  let n = e.currentTarget.getBoundingClientRect(), r = w.current?.getBoundingClientRect(), i = (+!!o + +!!s) * 32 + 8 + 6, a = r ? r.bottom - n.bottom : Infinity;
7426
- D({
7426
+ O({
7427
7427
  type: "toggle-comment-menu",
7428
7428
  commentId: t._id,
7429
7429
  direction: a < i ? "up" : "down"
@@ -7431,13 +7431,13 @@ function Il({ thread: e, authorName: t, authorPromptMode: n, currentClientId: r,
7431
7431
  },
7432
7432
  children: /* @__PURE__ */ Q(qs, { size: 16 })
7433
7433
  }), m ? /* @__PURE__ */ Q("div", {
7434
- class: Z("markup-thread-menu-list", k && "is-leaving"),
7435
- inert: k || void 0,
7434
+ class: Z("markup-thread-menu-list", A && "is-leaving"),
7435
+ inert: A || void 0,
7436
7436
  children: [o ? /* @__PURE__ */ Q("button", {
7437
7437
  type: "button",
7438
7438
  class: "markup-thread-menu-item",
7439
7439
  onClick: () => {
7440
- D({
7440
+ O({
7441
7441
  type: "start-edit",
7442
7442
  commentId: t._id,
7443
7443
  body: t.body
@@ -7448,7 +7448,7 @@ function Il({ thread: e, authorName: t, authorPromptMode: n, currentClientId: r,
7448
7448
  type: "button",
7449
7449
  class: Z("markup-thread-menu-item", h && "is-danger"),
7450
7450
  onClick: () => {
7451
- E.kind === "comment-menu" && (E.confirmDelete ? (D({ type: "dismiss" }), y(t._id)) : D({ type: "arm-comment-delete" }));
7451
+ D.kind === "comment-menu" && (D.confirmDelete ? (O({ type: "dismiss" }), y(t._id)) : O({ type: "arm-comment-delete" }));
7452
7452
  },
7453
7453
  children: h ? "Confirm delete" : "Delete…"
7454
7454
  }) : null]
@@ -7457,24 +7457,24 @@ function Il({ thread: e, authorName: t, authorPromptMode: n, currentClientId: r,
7457
7457
  })
7458
7458
  ]
7459
7459
  }),
7460
- l && E.kind === "editing" ? /* @__PURE__ */ Q("form", {
7460
+ l && D.kind === "editing" ? /* @__PURE__ */ Q("form", {
7461
7461
  class: "markup-comment-edit-form",
7462
7462
  onSubmit: async (e) => {
7463
- if (e.preventDefault(), E.kind !== "editing") return;
7464
- let n = E.draft.trim();
7463
+ if (e.preventDefault(), D.kind !== "editing") return;
7464
+ let n = D.draft.trim();
7465
7465
  if (!n || n === t.body) {
7466
- D({ type: "dismiss" });
7466
+ O({ type: "dismiss" });
7467
7467
  return;
7468
7468
  }
7469
7469
  try {
7470
- await v(t._id, n), D({ type: "dismiss" });
7470
+ await v(t._id, n), O({ type: "dismiss" });
7471
7471
  } catch {}
7472
7472
  },
7473
7473
  children: [/* @__PURE__ */ Q(ll, {
7474
7474
  class: "markup-comment-edit-input",
7475
7475
  label: "Edit comment",
7476
- value: E.draft,
7477
- onChange: (e) => D({
7476
+ value: D.draft,
7477
+ onChange: (e) => O({
7478
7478
  type: "update-draft",
7479
7479
  draft: e
7480
7480
  }),
@@ -7486,13 +7486,13 @@ function Il({ thread: e, authorName: t, authorPromptMode: n, currentClientId: r,
7486
7486
  children: [/* @__PURE__ */ Q("button", {
7487
7487
  type: "button",
7488
7488
  class: "markup-btn markup-btn-ghost",
7489
- onClick: () => D({ type: "dismiss" }),
7489
+ onClick: () => O({ type: "dismiss" }),
7490
7490
  disabled: c,
7491
7491
  children: "Cancel"
7492
7492
  }), /* @__PURE__ */ Q("button", {
7493
7493
  type: "submit",
7494
7494
  class: "markup-btn markup-btn-primary",
7495
- disabled: c || E.draft.trim().length === 0,
7495
+ disabled: c || D.draft.trim().length === 0,
7496
7496
  children: "Save"
7497
7497
  })]
7498
7498
  })]
@@ -7503,7 +7503,7 @@ function Il({ thread: e, authorName: t, authorPromptMode: n, currentClientId: r,
7503
7503
  n === 0 && e.screenshotUrl ? /* @__PURE__ */ Q("button", {
7504
7504
  type: "button",
7505
7505
  class: "markup-comment-screenshot",
7506
- onClick: () => ee.current?.showModal(),
7506
+ onClick: () => T.current?.showModal(),
7507
7507
  children: /* @__PURE__ */ Q("img", {
7508
7508
  src: e.screenshotUrl,
7509
7509
  alt: "Screenshot"
@@ -7511,7 +7511,7 @@ function Il({ thread: e, authorName: t, authorPromptMode: n, currentClientId: r,
7511
7511
  }) : null,
7512
7512
  !l && t.reactions.length > 0 ? /* @__PURE__ */ Q(Rl, {
7513
7513
  comment: t,
7514
- isResolved: ne,
7514
+ isResolved: te,
7515
7515
  onToggle: (e) => b(t._id, e)
7516
7516
  }) : null
7517
7517
  ]
@@ -7519,15 +7519,15 @@ function Il({ thread: e, authorName: t, authorPromptMode: n, currentClientId: r,
7519
7519
  })
7520
7520
  }),
7521
7521
  e.screenshotUrl ? /* @__PURE__ */ Q("dialog", {
7522
- ref: ee,
7522
+ ref: T,
7523
7523
  class: "markup-lightbox",
7524
- onClick: () => ee.current?.close(),
7524
+ onClick: () => T.current?.close(),
7525
7525
  children: [/* @__PURE__ */ Q("button", {
7526
7526
  type: "button",
7527
7527
  class: "markup-lightbox-close markup-icon-btn",
7528
7528
  "aria-label": "Close screenshot",
7529
7529
  onClick: (e) => {
7530
- e.stopPropagation(), ee.current?.close();
7530
+ e.stopPropagation(), T.current?.close();
7531
7531
  },
7532
7532
  children: /* @__PURE__ */ Q(Ws, { size: 16 })
7533
7533
  }), /* @__PURE__ */ Q("img", {
@@ -7894,27 +7894,27 @@ function iu({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7894
7894
  n = !0;
7895
7895
  };
7896
7896
  }, [e, t]);
7897
- let [y, b] = B(n), [x, C] = B(!0), [w, ee] = B(!1), [T, E] = B(!0), [D, te] = B(!1), [O, k] = B(null), A = W(() => k(null), []), j = U(h);
7898
- j.current = h, Bs(h, e, t, (e) => g({
7897
+ let [y, b] = B(n), [x, C] = B(!0), [w, T] = B(!1), [E, D] = B(!0), [O, ee] = B(!1), [k, A] = B(null), j = W(() => A(null), []), M = U(h);
7898
+ M.current = h, Bs(h, e, t, (e) => g({
7899
7899
  type: "signed-in",
7900
7900
  identity: e
7901
7901
  }), () => g({ type: "unauthorized" }));
7902
- let M = rt(() => Fi({
7902
+ let N = rt(() => Fi({
7903
7903
  apiUrl: e,
7904
7904
  apiKey: t,
7905
7905
  getToken: () => {
7906
- let e = j.current;
7906
+ let e = M.current;
7907
7907
  return e.kind !== "verified" || e.identity.token == null ? null : {
7908
7908
  token: e.identity.token,
7909
7909
  expiresAt: e.identity.tokenExpiresAt
7910
7910
  };
7911
7911
  },
7912
7912
  getStorageMode: () => {
7913
- let e = j.current;
7913
+ let e = M.current;
7914
7914
  return e.kind === "verified" ? e.identity.storage : null;
7915
7915
  },
7916
7916
  getAnonToken: () => {
7917
- let e = j.current;
7917
+ let e = M.current;
7918
7918
  return e.kind === "anon" ? e.identity.anonToken : null;
7919
7919
  },
7920
7920
  onUnauthorized: () => {
@@ -7924,18 +7924,18 @@ function iu({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7924
7924
  e,
7925
7925
  t,
7926
7926
  g
7927
- ]), [N, P] = B({ kind: "idle" }), [ne, F] = B([]);
7927
+ ]), [P, F] = B({ kind: "idle" }), [te, ne] = B([]);
7928
7928
  V(() => {
7929
7929
  let e = !1;
7930
- return M.listMembers().then((t) => {
7931
- e || F(t.members);
7930
+ return N.listMembers().then((t) => {
7931
+ e || ne(t.members);
7932
7932
  }).catch(() => {}), () => {
7933
7933
  e = !0;
7934
7934
  };
7935
- }, [M]);
7935
+ }, [N]);
7936
7936
  let [re, ie] = B(0), [ae, oe] = Hr(sa, { kind: "idle" }), [se, ce] = B(!1), le = U(0), ue = W(() => {
7937
7937
  let e = le.current;
7938
- oe({ type: "fetch" }), M.listNotifications().then((t) => {
7938
+ oe({ type: "fetch" }), N.listNotifications().then((t) => {
7939
7939
  le.current === e && oe({
7940
7940
  type: "loaded",
7941
7941
  items: t.notifications
@@ -7946,7 +7946,7 @@ function iu({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7946
7946
  error: t instanceof Error ? t.message : "Failed to load."
7947
7947
  });
7948
7948
  });
7949
- }, [M, oe]), de = W((e) => {
7949
+ }, [N, oe]), de = W((e) => {
7950
7950
  le.current += 1, oe({
7951
7951
  type: "patch",
7952
7952
  update: e
@@ -7972,7 +7972,7 @@ function iu({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7972
7972
  if (h.kind !== "unresolved" && h.kind !== "recovering") return;
7973
7973
  let e = h.kind === "recovering" ? h.preserved : m.preserved, t = !1, n = null, r = 1e3;
7974
7974
  function i() {
7975
- M.mintAnonIdentity().then(({ clientId: n, token: r }) => {
7975
+ N.mintAnonIdentity().then(({ clientId: n, token: r }) => {
7976
7976
  if (t) return;
7977
7977
  let i = {
7978
7978
  clientId: n,
@@ -7992,12 +7992,12 @@ function iu({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7992
7992
  t = !0, n && clearTimeout(n);
7993
7993
  };
7994
7994
  }, [
7995
- M,
7995
+ N,
7996
7996
  h,
7997
7997
  g,
7998
7998
  m
7999
7999
  ]);
8000
- let { token: R, isCurrent: Ge } = Is(M, h), [Ke, qe] = B(null);
8000
+ let { token: R, isCurrent: Ge } = Is(N, h), [Ke, qe] = B(null);
8001
8001
  V(() => {
8002
8002
  let t = new Br(e.replace(/\.convex\.site(\/.*)?$/, ".convex.cloud"));
8003
8003
  return qe(t), () => {
@@ -8012,7 +8012,7 @@ function iu({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
8012
8012
  subscriptionToken: R,
8013
8013
  route: o,
8014
8014
  viewerClientId: Le,
8015
- includeResolved: D
8015
+ includeResolved: O
8016
8016
  }, (e) => {
8017
8017
  e !== void 0 && (d(e), p(!0));
8018
8018
  });
@@ -8021,7 +8021,7 @@ function iu({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
8021
8021
  R,
8022
8022
  o,
8023
8023
  Le,
8024
- D,
8024
+ O,
8025
8025
  ve,
8026
8026
  Se
8027
8027
  ]), V(() => {
@@ -8046,7 +8046,7 @@ function iu({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
8046
8046
  ]), V(() => {
8047
8047
  if (Je.current || !f) return;
8048
8048
  let e = wa();
8049
- e !== null && (u.find((t) => t._id === e) && P({
8049
+ e !== null && (u.find((t) => t._id === e) && F({
8050
8050
  kind: "thread",
8051
8051
  threadId: e
8052
8052
  }), Ea()), Je.current = !0;
@@ -8058,7 +8058,7 @@ function iu({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
8058
8058
  }
8059
8059
  return window.addEventListener("keydown", e), () => window.removeEventListener("keydown", e);
8060
8060
  }, [ke]), V(() => {
8061
- Ae && k(null);
8061
+ Ae && A(null);
8062
8062
  }, [Ae]), V(() => {
8063
8063
  if (Oe.kind !== "hidden-with-toast") return;
8064
8064
  let e = window.setTimeout(() => ke({ type: "dismiss-toast" }), 5e3);
@@ -8083,24 +8083,24 @@ function iu({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
8083
8083
  };
8084
8084
  }, []);
8085
8085
  let z = W(() => {
8086
- ve(), Se(), be("comment_started"), P({ kind: "placing" });
8086
+ ve(), Se(), be("comment_started"), F({ kind: "placing" });
8087
8087
  }, [ve, Se]);
8088
8088
  V(() => {
8089
8089
  function e(e) {
8090
- e.key === "c" && (e.metaKey || e.ctrlKey || e.altKey || e.shiftKey || N.kind === "idle" && (Ae || eu() || (e.preventDefault(), z())));
8090
+ e.key === "c" && (e.metaKey || e.ctrlKey || e.altKey || e.shiftKey || P.kind === "idle" && (Ae || eu() || (e.preventDefault(), z())));
8091
8091
  }
8092
8092
  return window.addEventListener("keydown", e), () => window.removeEventListener("keydown", e);
8093
8093
  }, [
8094
- N.kind,
8094
+ P.kind,
8095
8095
  Ae,
8096
8096
  z
8097
8097
  ]);
8098
8098
  let Ye = W(() => {
8099
- P({ kind: "idle" }), ve(), Se();
8099
+ F({ kind: "idle" }), ve(), Se();
8100
8100
  }, [ve, Se]), Xe = U(0), Ze = W((e, t, n) => {
8101
8101
  let i = t + window.scrollX, a = n + window.scrollY, o = ++Xe.current;
8102
- if (r?.enabled === !1 || !T) {
8103
- P({
8102
+ if (r?.enabled === !1 || !E) {
8103
+ F({
8104
8104
  kind: "composing-new",
8105
8105
  coords: e,
8106
8106
  pageX: i,
@@ -8114,7 +8114,7 @@ function iu({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
8114
8114
  });
8115
8115
  return;
8116
8116
  }
8117
- P({
8117
+ F({
8118
8118
  kind: "composing-new",
8119
8119
  coords: e,
8120
8120
  pageX: i,
@@ -8134,7 +8134,7 @@ function iu({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
8134
8134
  x: t,
8135
8135
  y: n
8136
8136
  }, c).then((e) => {
8137
- P((t) => t.kind !== "composing-new" || t.captureToken !== o ? t : {
8137
+ F((t) => t.kind !== "composing-new" || t.captureToken !== o ? t : {
8138
8138
  ...t,
8139
8139
  screenshot: e?.blob ?? null,
8140
8140
  isScreenshotCapturing: !1,
@@ -8143,7 +8143,7 @@ function iu({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
8143
8143
  screenshotRedactedSelectors: e?.redactedSelectors ?? []
8144
8144
  }), be("screenshot_captured", { ok: e != null });
8145
8145
  });
8146
- }, [r, T]), Qe = W((e, t) => {
8146
+ }, [r, E]), Qe = W((e, t) => {
8147
8147
  g({
8148
8148
  type: "author-set",
8149
8149
  name: e,
@@ -8169,17 +8169,17 @@ function iu({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
8169
8169
  ye,
8170
8170
  g
8171
8171
  ]), tt = W(async (e, t) => {
8172
- if (N.kind !== "composing-new") return;
8172
+ if (P.kind !== "composing-new") return;
8173
8173
  let n = oa(h);
8174
8174
  n && await _e(async () => {
8175
8175
  let r;
8176
- if (t && N.screenshot) {
8177
- let { uploadUrl: e } = await M.getScreenshotUploadUrl().catch(We), t;
8176
+ if (t && P.screenshot) {
8177
+ let { uploadUrl: e } = await N.getScreenshotUploadUrl().catch(We), t;
8178
8178
  try {
8179
8179
  t = await fetch(e, {
8180
8180
  method: "POST",
8181
- headers: { "Content-Type": N.screenshot.type || "image/png" },
8182
- body: N.screenshot,
8181
+ headers: { "Content-Type": P.screenshot.type || "image/png" },
8182
+ body: P.screenshot,
8183
8183
  signal: AbortSignal.timeout(6e4)
8184
8184
  });
8185
8185
  } catch (e) {
@@ -8189,17 +8189,17 @@ function iu({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
8189
8189
  let { storageId: n } = await t.json();
8190
8190
  r = n;
8191
8191
  }
8192
- let i = Gr(e), a = await M.createThread({
8192
+ let i = Gr(e), a = await N.createThread({
8193
8193
  url: window.location.href,
8194
8194
  route: o,
8195
- anchorSelector: N.coords.anchorSelector,
8196
- anchorText: N.coords.anchorText,
8197
- anchorX: N.coords.anchorX,
8198
- anchorY: N.coords.anchorY,
8199
- anchorOffsetX: N.coords.anchorOffsetX,
8200
- anchorOffsetY: N.coords.anchorOffsetY,
8201
- viewportW: N.coords.viewportW,
8202
- viewportY: N.coords.viewportY,
8195
+ anchorSelector: P.coords.anchorSelector,
8196
+ anchorText: P.coords.anchorText,
8197
+ anchorX: P.coords.anchorX,
8198
+ anchorY: P.coords.anchorY,
8199
+ anchorOffsetX: P.coords.anchorOffsetX,
8200
+ anchorOffsetY: P.coords.anchorOffsetY,
8201
+ viewportW: P.coords.viewportW,
8202
+ viewportY: P.coords.viewportY,
8203
8203
  userAgent: navigator.userAgent,
8204
8204
  authorName: n.name,
8205
8205
  authorEmail: n.email,
@@ -8210,44 +8210,44 @@ function iu({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
8210
8210
  d((e) => [...e, a.thread]), be("comment_submitted", {
8211
8211
  hasScreenshot: r != null,
8212
8212
  hasMentions: i.length > 0
8213
- }), P({
8213
+ }), F({
8214
8214
  kind: "thread",
8215
8215
  threadId: a.thread._id
8216
8216
  });
8217
8217
  });
8218
8218
  }, [
8219
- M,
8220
- h,
8221
8219
  N,
8220
+ h,
8221
+ P,
8222
8222
  We,
8223
8223
  o,
8224
8224
  _e
8225
8225
  ]), nt = W(async () => {
8226
- if (N.kind !== "thread") return;
8227
- let e = N.threadId;
8226
+ if (P.kind !== "thread") return;
8227
+ let e = P.threadId;
8228
8228
  await _e(async () => {
8229
- await M.deleteThread(e), d((t) => t.filter((t) => t._id !== e)), P({ kind: "idle" });
8229
+ await N.deleteThread(e), d((t) => t.filter((t) => t._id !== e)), F({ kind: "idle" });
8230
8230
  });
8231
8231
  }, [
8232
- M,
8233
8232
  N,
8233
+ P,
8234
8234
  _e
8235
8235
  ]), H = W(async () => {
8236
- if (N.kind !== "thread") return;
8237
- let e = N.threadId;
8236
+ if (P.kind !== "thread") return;
8237
+ let e = P.threadId;
8238
8238
  await _e(async () => {
8239
- await M.resolveThread(e, Le), d((t) => t.filter((t) => t._id !== e)), be("thread_resolved"), P({ kind: "idle" });
8239
+ await N.resolveThread(e, Le), d((t) => t.filter((t) => t._id !== e)), be("thread_resolved"), F({ kind: "idle" });
8240
8240
  });
8241
8241
  }, [
8242
- M,
8243
8242
  N,
8243
+ P,
8244
8244
  Le,
8245
8245
  _e
8246
8246
  ]), it = W((e) => {
8247
8247
  if (e.readAt ?? (ie((e) => Math.max(0, e - 1)), de((t) => t.map((t) => t._id === e._id ? {
8248
8248
  ...t,
8249
8249
  readAt: Date.now()
8250
- } : t)), M.markNotificationRead(e._id).catch(() => {})), u.some((t) => t._id === e.threadId)) P({
8250
+ } : t)), N.markNotificationRead(e._id).catch(() => {})), u.some((t) => t._id === e.threadId)) F({
8251
8251
  kind: "thread",
8252
8252
  threadId: e.threadId
8253
8253
  });
@@ -8256,21 +8256,21 @@ function iu({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
8256
8256
  t && (window.location.href = t);
8257
8257
  }
8258
8258
  }, [
8259
- M,
8259
+ N,
8260
8260
  de,
8261
8261
  u
8262
8262
  ]), at = W(() => {
8263
8263
  ce(!0), ie(0), de((e) => e.map((e) => e.readAt == null ? {
8264
8264
  ...e,
8265
8265
  readAt: Date.now()
8266
- } : e)), M.markAllNotificationsRead().catch(() => {}).finally(() => ce(!1));
8267
- }, [M, de]), ot = W(async (e) => {
8268
- if (N.kind !== "thread") return;
8266
+ } : e)), N.markAllNotificationsRead().catch(() => {}).finally(() => ce(!1));
8267
+ }, [N, de]), ot = W(async (e) => {
8268
+ if (P.kind !== "thread") return;
8269
8269
  let t = oa(h);
8270
8270
  if (!t) return;
8271
- let n = N.threadId;
8271
+ let n = P.threadId;
8272
8272
  await _e(async () => {
8273
- let r = Gr(e), i = await M.addComment(n, {
8273
+ let r = Gr(e), i = await N.addComment(n, {
8274
8274
  body: e,
8275
8275
  authorName: t.name,
8276
8276
  authorEmail: t.email,
@@ -8279,63 +8279,63 @@ function iu({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
8279
8279
  d((e) => e.map((e) => e._id === n ? i.thread : e)), be("reply_submitted", { hasMentions: r.length > 0 });
8280
8280
  });
8281
8281
  }, [
8282
- M,
8283
- h,
8284
8282
  N,
8283
+ h,
8284
+ P,
8285
8285
  We,
8286
8286
  _e
8287
8287
  ]), st = W(async (e, t) => {
8288
- if (N.kind !== "thread" || h.kind !== "anon" && h.kind !== "verified") return;
8289
- let n = N.threadId;
8288
+ if (P.kind !== "thread" || h.kind !== "anon" && h.kind !== "verified") return;
8289
+ let n = P.threadId;
8290
8290
  await _e(async () => {
8291
- let r = Gr(t), i = await M.editComment(n, e, {
8291
+ let r = Gr(t), i = await N.editComment(n, e, {
8292
8292
  body: t,
8293
8293
  mentions: r.length > 0 ? r : void 0
8294
8294
  });
8295
8295
  d((e) => e.map((e) => e._id === n ? i.thread : e));
8296
8296
  }, { rethrow: !0 });
8297
8297
  }, [
8298
- M,
8299
- h,
8300
8298
  N,
8299
+ h,
8300
+ P,
8301
8301
  _e
8302
8302
  ]), ct = W(async (e) => {
8303
- if (N.kind !== "thread" || h.kind !== "anon" && h.kind !== "verified") return;
8304
- let t = N.threadId;
8303
+ if (P.kind !== "thread" || h.kind !== "anon" && h.kind !== "verified") return;
8304
+ let t = P.threadId;
8305
8305
  await _e(async () => {
8306
- let n = await M.deleteComment(t, e);
8306
+ let n = await N.deleteComment(t, e);
8307
8307
  d((e) => e.map((e) => e._id === t ? n.thread : e));
8308
8308
  });
8309
8309
  }, [
8310
- M,
8311
- h,
8312
8310
  N,
8311
+ h,
8312
+ P,
8313
8313
  _e
8314
8314
  ]), lt = W(async (e, t) => {
8315
- if (N.kind !== "thread") return;
8315
+ if (P.kind !== "thread") return;
8316
8316
  if (!He) {
8317
8317
  Ve("sign_in_required");
8318
8318
  return;
8319
8319
  }
8320
8320
  let n = oa(h);
8321
8321
  if (!n) return;
8322
- let r = N.threadId;
8322
+ let r = P.threadId;
8323
8323
  await xe(async () => {
8324
- let i = await M.toggleReaction(e, {
8324
+ let i = await N.toggleReaction(e, {
8325
8325
  emoji: t,
8326
8326
  authorName: n.name
8327
8327
  }).catch(We);
8328
8328
  d((e) => e.map((e) => e._id === r ? i.thread : e)), be("reaction_added");
8329
8329
  });
8330
8330
  }, [
8331
- M,
8331
+ N,
8332
8332
  He,
8333
8333
  h,
8334
- N,
8334
+ P,
8335
8335
  We,
8336
8336
  xe
8337
- ]), [ut, dt] = B(!1), ft = W(async () => await Ce(async () => (await M.forgetMe(), P({ kind: "idle" }), g({ type: "forget-me" }), dt(!0), !0)) === !0, [
8338
- M,
8337
+ ]), [ut, dt] = B(!1), ft = W(async () => await Ce(async () => (await N.forgetMe(), F({ kind: "idle" }), g({ type: "forget-me" }), dt(!0), !0)) === !0, [
8338
+ N,
8339
8339
  Ce,
8340
8340
  g
8341
8341
  ]);
@@ -8346,10 +8346,10 @@ function iu({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
8346
8346
  }, [ut]);
8347
8347
  let [G, pt] = B(!1), mt = W(async () => {
8348
8348
  await we(async () => {
8349
- await M.signOut(), P({ kind: "idle" }), g({ type: "signed-out" }), pt(!0);
8349
+ await N.signOut(), F({ kind: "idle" }), g({ type: "signed-out" }), pt(!0);
8350
8350
  });
8351
8351
  }, [
8352
- M,
8352
+ N,
8353
8353
  we,
8354
8354
  g
8355
8355
  ]);
@@ -8358,13 +8358,13 @@ function iu({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
8358
8358
  let e = window.setTimeout(() => pt(!1), 5e3);
8359
8359
  return () => window.clearTimeout(e);
8360
8360
  }, [G]);
8361
- let ht = N.kind === "thread" ? u.find((e) => e._id === N.threadId) ?? null : null, gt = Fe || Le != null && Le === ht?.authorClientId, _t = N.kind === "thread" ? N.threadId : null, vt = rt(() => w ? u.filter((e) => e._id === _t || Ca(e.url, c, a) === void 0) : u, [
8361
+ let ht = P.kind === "thread" ? u.find((e) => e._id === P.threadId) ?? null : null, gt = Fe || Le != null && Le === ht?.authorClientId, _t = P.kind === "thread" ? P.threadId : null, vt = rt(() => w ? u.filter((e) => e._id === _t || Ca(e.url, c, a) === void 0) : u, [
8362
8362
  u,
8363
8363
  w,
8364
8364
  c,
8365
8365
  _t,
8366
8366
  a
8367
- ]), yt = x && N.kind !== "placing" ? u.length - vt.length : 0, bt = U(/* @__PURE__ */ new Map()), xt = rt(() => {
8367
+ ]), yt = x && P.kind !== "placing" ? u.length - vt.length : 0, bt = U(/* @__PURE__ */ new Map()), xt = rt(() => {
8368
8368
  let e = bt.current, t = vt.map((t) => {
8369
8369
  let { point: n, memory: r } = Ti({
8370
8370
  anchorX: t.anchorX,
@@ -8396,7 +8396,7 @@ function iu({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
8396
8396
  elements: xt.flatMap((e) => e.point.element ? [e.point.element] : [])
8397
8397
  };
8398
8398
  }, [xt]);
8399
- let Ct = vt.some((e) => e.anchorSelector != null), wt = $r(N.kind !== "placing" && !Ae && x ? xt : Yl, (e) => e.thread._id, 140), Tt = $r(!Ae || N.kind === "placing" || N.kind === "composing-new" ? Zl : Ql, (e) => e.key, 160), Et = [];
8399
+ let Ct = vt.some((e) => e.anchorSelector != null), wt = $r(P.kind !== "placing" && !Ae && x ? xt : Yl, (e) => e.thread._id, 140), Tt = $r(!Ae || P.kind === "placing" || P.kind === "composing-new" ? Zl : Ql, (e) => e.key, 160), Et = [];
8400
8400
  Oe.kind === "hidden-with-toast" && Et.push({
8401
8401
  key: "hud-hidden",
8402
8402
  body: /* @__PURE__ */ Q(S, { children: [
@@ -8418,7 +8418,7 @@ function iu({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
8418
8418
  key: "signed-out",
8419
8419
  body: "Signed out — commenting anonymously again."
8420
8420
  });
8421
- let Dt = $r(Et, (e) => e.key, 220), Ot = $r(N.kind === "thread" && ht ? [ht] : Xl, (e) => e._id, 160), K = ei(N.kind === "composing-new" ? N : null, 160), kt = ei(O, 140);
8421
+ let Dt = $r(Et, (e) => e.key, 220), Ot = $r(P.kind === "thread" && ht ? [ht] : Xl, (e) => e._id, 160), K = ei(P.kind === "composing-new" ? P : null, 160), kt = ei(k, 140);
8422
8422
  return V(() => {
8423
8423
  if (!Ct) return;
8424
8424
  let e = null, t = !1;
@@ -8438,9 +8438,9 @@ function iu({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
8438
8438
  r.disconnect(), e != null && cancelAnimationFrame(e);
8439
8439
  };
8440
8440
  }, [Ct]), V(() => {
8441
- N.kind === "thread" && ht == null && Ye();
8441
+ P.kind === "thread" && ht == null && Ye();
8442
8442
  }, [
8443
- N,
8443
+ P,
8444
8444
  ht,
8445
8445
  Ye
8446
8446
  ]), /* @__PURE__ */ Q("div", {
@@ -8451,7 +8451,7 @@ function iu({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
8451
8451
  /* @__PURE__ */ Q("div", {
8452
8452
  class: "markup-pins-layer",
8453
8453
  children: [wt.map(({ key: e, value: { thread: t, point: n }, isLeaving: r, enterDelayMs: i }) => {
8454
- let o = !r && N.kind === "thread" && N.threadId === t._id, s = t.comments.reduce((e, t) => e + +!t.deleted, 0);
8454
+ let o = !r && P.kind === "thread" && P.threadId === t._id, s = t.comments.reduce((e, t) => e + +!t.deleted, 0);
8455
8455
  return /* @__PURE__ */ Q(kl, {
8456
8456
  pageX: n.pageX,
8457
8457
  pageY: n.pageY,
@@ -8463,7 +8463,7 @@ function iu({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
8463
8463
  enterDelayMs: i,
8464
8464
  otherLocation: Ca(t.url, c, a),
8465
8465
  onClick: () => {
8466
- be("thread_opened", { commentCount: s }), P({
8466
+ be("thread_opened", { commentCount: s }), F({
8467
8467
  kind: "thread",
8468
8468
  threadId: t._id
8469
8469
  });
@@ -8475,7 +8475,7 @@ function iu({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
8475
8475
  isLeaving: K.isLeaving
8476
8476
  }) : null]
8477
8477
  }),
8478
- N.kind === "placing" ? /* @__PURE__ */ Q(jl, {
8478
+ P.kind === "placing" ? /* @__PURE__ */ Q(jl, {
8479
8479
  onPlace: Ze,
8480
8480
  onCancel: Ye
8481
8481
  }) : null,
@@ -8492,7 +8492,7 @@ function iu({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
8492
8492
  isPending: Ee,
8493
8493
  error: De,
8494
8494
  isHidden: Ae,
8495
- members: ne,
8495
+ members: te,
8496
8496
  onAuthor: Qe,
8497
8497
  onSignIn: et,
8498
8498
  onSignOut: mt,
@@ -8520,7 +8520,7 @@ function iu({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
8520
8520
  screenshotFailed: K.value.screenshotFailed,
8521
8521
  screenshotRedactedCount: K.value.screenshotRedactedCount,
8522
8522
  screenshotRedactedSelectors: K.value.screenshotRedactedSelectors,
8523
- members: ne,
8523
+ members: te,
8524
8524
  onAuthor: Qe,
8525
8525
  onSignIn: et,
8526
8526
  onSignOut: mt,
@@ -8529,16 +8529,16 @@ function iu({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
8529
8529
  }) : null,
8530
8530
  Tt.map((t) => /* @__PURE__ */ Q(ql, {
8531
8531
  isLeaving: t.isLeaving,
8532
- isActive: N.kind === "placing",
8533
- onToggle: () => N.kind === "placing" ? Ye() : z(),
8532
+ isActive: P.kind === "placing",
8533
+ onToggle: () => P.kind === "placing" ? Ye() : z(),
8534
8534
  onHide: () => ke({ type: "hide-with-toast" }),
8535
8535
  position: y,
8536
8536
  showInbox: Fe,
8537
8537
  unreadCount: Fe ? re : 0,
8538
- inboxOpen: O === "inbox",
8538
+ inboxOpen: k === "inbox",
8539
8539
  onOpenInbox: () => {
8540
- let e = O === "inbox" ? null : "inbox";
8541
- k(e), e && (be("notifications_opened", { unreadCount: re }), ue());
8540
+ let e = k === "inbox" ? null : "inbox";
8541
+ A(e), e && (be("notifications_opened", { unreadCount: re }), ue());
8542
8542
  },
8543
8543
  pinsVisible: x,
8544
8544
  onTogglePins: () => C((e) => !e),
@@ -8556,14 +8556,14 @@ function iu({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
8556
8556
  overflowButton: /* @__PURE__ */ Q(Cl, {
8557
8557
  position: y,
8558
8558
  onSetPosition: b,
8559
- autoCapture: T && r?.enabled !== !1,
8559
+ autoCapture: E && r?.enabled !== !1,
8560
8560
  autoCaptureLocked: r?.enabled === !1,
8561
- onToggleAutoCapture: () => E((e) => !e),
8561
+ onToggleAutoCapture: () => D((e) => !e),
8562
8562
  isUrlScoped: w,
8563
8563
  hiddenByUrlScope: yt,
8564
- onToggleUrlScope: () => ee((e) => !e),
8565
- showResolved: D,
8566
- onToggleShowResolved: () => te((e) => !e),
8564
+ onToggleUrlScope: () => T((e) => !e),
8565
+ showResolved: O,
8566
+ onToggleShowResolved: () => ee((e) => !e),
8567
8567
  onHideForSession: () => ke({ type: "hide-with-toast" }),
8568
8568
  identity: h,
8569
8569
  apiUrl: e,
@@ -8571,7 +8571,7 @@ function iu({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
8571
8571
  isForgettingMe: he.isPending,
8572
8572
  forgetMeError: he.error,
8573
8573
  onForgetMe: ft,
8574
- version: "1.27.2",
8574
+ version: "1.27.3",
8575
8575
  dashboardUrl: i
8576
8576
  })
8577
8577
  }, t.key)),
@@ -8581,13 +8581,13 @@ function iu({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
8581
8581
  position: y,
8582
8582
  ignoreToolbarKind: "inbox",
8583
8583
  isLeaving: kt.isLeaving,
8584
- onClose: A,
8584
+ onClose: j,
8585
8585
  children: /* @__PURE__ */ Q(gl, {
8586
8586
  state: ae,
8587
8587
  isMarkingAll: se,
8588
- onBack: A,
8588
+ onBack: j,
8589
8589
  onItemClick: (e) => {
8590
- A(), it(e);
8590
+ j(), it(e);
8591
8591
  },
8592
8592
  onMarkAllRead: at
8593
8593
  })
@@ -8619,11 +8619,11 @@ function ou(e, t) {
8619
8619
  a.className = "markup-shadow-root", r.appendChild(a), je({
8620
8620
  apiUrl: t.apiUrl,
8621
8621
  apiKey: t.apiKey,
8622
- widgetVersion: "1.27.2"
8622
+ widgetVersion: "1.27.3"
8623
8623
  }), ye(t.analytics === !1 ? null : {
8624
8624
  apiUrl: t.apiUrl,
8625
8625
  apiKey: t.apiKey,
8626
- widgetVersion: "1.27.2"
8626
+ widgetVersion: "1.27.3"
8627
8627
  }), be("widget_loaded");
8628
8628
  let { theme: o, analytics: s, ...c } = t;
8629
8629
  return ce(/* @__PURE__ */ Q(Ce, {
@@ -8635,28 +8635,38 @@ function ou(e, t) {
8635
8635
  }
8636
8636
  //#endregion
8637
8637
  //#region src/widget.ts
8638
- var su = null, cu = null, lu = null, uu = !1;
8639
- function du(e) {
8638
+ var su = null, cu = null, lu = null, uu = null, du = null, fu = !1;
8639
+ function pu(e) {
8640
+ return JSON.stringify(e, (e, t) => typeof t == "object" && t && !Array.isArray(t) ? Object.fromEntries(Object.entries(t).sort(([e], [t]) => e < t ? -1 : +(e > t))) : t);
8641
+ }
8642
+ function mu(e) {
8640
8643
  if (!e.apiUrl || !e.apiKey) return console.warn("[markup] init() requires both apiUrl and apiKey, so the widget was not mounted"), () => {};
8641
- e.fab != null && !uu && (uu = !0, console.warn("[markup] the `fab` option is ignored and will be removed in the next major. The toolbar replaced the floating action button. Remove it from your config.")), fu();
8642
- let t = () => {
8644
+ e.fab != null && !fu && (fu = !0, console.warn("[markup] the `fab` option is ignored and will be removed in the next major. The toolbar replaced the floating action button. Remove it from your config."));
8645
+ let t = pu(e);
8646
+ if (du && t === uu && (lu !== null || cu?.isConnected === !0)) return du;
8647
+ hu(), uu = t;
8648
+ let n = () => {
8649
+ du === n && hu();
8650
+ };
8651
+ du = n;
8652
+ let r = () => {
8643
8653
  if (lu = null, !document.body) return;
8644
8654
  let t = document.createElement("div");
8645
8655
  t.id = "markup-widget", document.body.appendChild(t), cu = t, su = ou(t, e);
8646
8656
  };
8647
8657
  if (document.readyState === "loading" || !document.body) {
8648
- let e = () => t();
8658
+ let e = () => r();
8649
8659
  lu = () => document.removeEventListener("DOMContentLoaded", e), document.addEventListener("DOMContentLoaded", e, { once: !0 });
8650
- } else t();
8651
- return fu;
8660
+ } else r();
8661
+ return n;
8652
8662
  }
8653
- function fu() {
8654
- lu &&= (lu(), null), su &&= (su(), null), cu?.parentNode && cu.parentNode.removeChild(cu), cu = null;
8663
+ function hu() {
8664
+ lu &&= (lu(), null), su &&= (su(), null), cu?.parentNode && cu.parentNode.removeChild(cu), cu = null, uu = null, du = null;
8655
8665
  }
8656
8666
  if (typeof document < "u") {
8657
8667
  let e = document.currentScript ?? document.querySelector("script[data-markup-widget=\"true\"]"), t = e?.dataset.apiUrl, n = e?.dataset.apiKey;
8658
8668
  if (t && n) {
8659
- let r = e?.dataset.position, i = e?.dataset.theme, a = e?.dataset.fab, o = e?.dataset.dashboardUrl, s = e?.dataset.analytics !== "false", c = e?.dataset.routeParams?.split(",").map((e) => e.trim()).filter((e) => e !== ""), l = () => du({
8669
+ let r = e?.dataset.position, i = e?.dataset.theme, a = e?.dataset.fab, o = e?.dataset.dashboardUrl, s = e?.dataset.analytics !== "false", c = e?.dataset.routeParams?.split(",").map((e) => e.trim()).filter((e) => e !== ""), l = () => mu({
8660
8670
  apiUrl: t,
8661
8671
  apiKey: n,
8662
8672
  position: r,
@@ -8670,6 +8680,6 @@ if (typeof document < "u") {
8670
8680
  }
8671
8681
  }
8672
8682
  //#endregion
8673
- export { fu as destroy, du as init };
8683
+ export { hu as destroy, mu as init };
8674
8684
 
8675
8685
  //# sourceMappingURL=widget.js.map