@pixelmatters/markup 1.19.0 → 1.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/widget.js CHANGED
@@ -45,7 +45,7 @@ function w(e, t) {
45
45
  function T(e) {
46
46
  if (e.__P && e.__d) {
47
47
  var n = e.__v, r = n.__e, i = [], a = [], o = v({}, n);
48
- o.__v = n.__v + 1, t.vnode && t.vnode(o), re(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, ae(i, o, a), n.__e = n.__ = null, o.__e != r && E(o);
48
+ o.__v = n.__v + 1, t.vnode && t.vnode(o), ne(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, ie(i, o, a), n.__e = n.__ = null, o.__e != r && E(o);
49
49
  }
50
50
  }
51
51
  function E(e) {
@@ -65,13 +65,13 @@ function O() {
65
65
  }
66
66
  function ee(e, t, n, r, i, a, o, s, c, l, u) {
67
67
  var d, f, p, g, _, v, y, b = r && r.__k || h, x = t.length;
68
- for (c = k(n, t, b, c, x), d = 0; d < x; d++) (p = n.__k[d]) != null && (f = p.__i != -1 && b[p.__i] || m, p.__i = d, v = re(e, p, f, i, a, o, s, c, l, u), g = p.__e, p.ref && f.ref != p.ref && (f.ref && ce(f.ref, null, p), u.push(p.ref, p.__c || g, p)), _ == null && g != null && (_ = g), (y = !!(4 & p.__u)) || f.__k === p.__k ? (c = A(p, c, e, y), y && f.__e && (f.__e = null)) : typeof p.type == "function" && v !== void 0 ? c = v : g && (c = g.nextSibling), p.__u &= -7);
68
+ for (c = k(n, t, b, c, x), d = 0; d < x; d++) (p = n.__k[d]) != null && (f = p.__i != -1 && b[p.__i] || m, p.__i = d, v = ne(e, p, f, i, a, o, s, c, l, u), g = p.__e, p.ref && f.ref != p.ref && (f.ref && se(f.ref, null, p), u.push(p.ref, p.__c || g, p)), _ == null && g != null && (_ = g), (y = !!(4 & p.__u)) || f.__k === p.__k ? (c = A(p, c, e, y), y && f.__e && (f.__e = null)) : typeof p.type == "function" && v !== void 0 ? c = v : g && (c = g.nextSibling), p.__u &= -7);
69
69
  return n.__e = _, c;
70
70
  }
71
71
  function k(e, t, n, r, i) {
72
72
  var a, o, s, c, l, u = n.length, d = u, f = 0;
73
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
- if (d) for (a = 0; a < u; a++) (s = n[a]) != null && !(2 & s.__u) && (s.__e == r && (r = w(s)), le(s, s));
74
+ if (d) for (a = 0; a < u; a++) (s = n[a]) != null && !(2 & s.__u) && (s.__e == r && (r = w(s)), ce(s, s));
75
75
  return r;
76
76
  }
77
77
  function A(e, t, n, r) {
@@ -94,15 +94,15 @@ function j(e, t, n, r) {
94
94
  }
95
95
  return -1;
96
96
  }
97
- function te(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") if (typeof n == "string") e.style.cssText = n;
103
103
  else {
104
- if (typeof r == "string" && (e.style.cssText = r = ""), r) for (t in r) n && t in n || te(e.style, t, "");
105
- if (n) for (t in n) r && n[t] == r[t] || te(e.style, t, n[t]);
104
+ if (typeof r == "string" && (e.style.cssText = r = ""), r) for (t in r) n && t in n || M(e.style, t, "");
105
+ if (n) for (t in n) r && n[t] == r[t] || M(e.style, t, n[t]);
106
106
  }
107
107
  else if (t[0] == "o" && t[1] == "n") a = t != (t = t.replace(u, "$1")), o = t.toLowerCase(), t = o in e || t == "onFocusOut" || t == "onFocusIn" ? o.slice(2) : t.slice(2), e.l ||= {}, e.l[t + a] = n, n ? r ? n[l] = r[l] : (n[l] = d, e.addEventListener(t, a ? p : f, a)) : e.removeEventListener(t, a ? p : f, a);
108
108
  else {
@@ -114,7 +114,7 @@ function M(e, t, n, r, i) {
114
114
  typeof n == "function" || (n == null || !1 === n && t[4] != "-" ? e.removeAttribute(t) : e.setAttribute(t, t == "popover" && n == 1 ? "" : n));
115
115
  }
116
116
  }
117
- function ne(e) {
117
+ function te(e) {
118
118
  return function(n) {
119
119
  if (this.l) {
120
120
  var r = this.l[n.type + e];
@@ -124,16 +124,16 @@ function ne(e) {
124
124
  }
125
125
  };
126
126
  }
127
- function re(e, n, r, i, a, o, s, c, l, u) {
128
- var d, f, p, m, g, b, x, w, T, E, D, O, k, A, j, te, M = n.type;
127
+ function ne(e, n, r, i, a, o, s, c, l, u) {
128
+ var d, f, p, m, g, b, x, w, T, E, D, O, k, A, j, M, N = n.type;
129
129
  if (n.constructor !== void 0) return null;
130
130
  128 & r.__u && (l = !!(32 & r.__u), o = [c = n.__e = r.__e]), (d = t.__b) && d(n);
131
- n: if (typeof M == "function") {
131
+ n: if (typeof N == "function") {
132
132
  f = s.length;
133
133
  try {
134
- if (T = n.props, E = M.prototype && M.prototype.render, D = (d = M.contextType) && i[d.__c], O = d ? D ? D.props.value : d.__ : i, r.__c ? w = (p = n.__c = r.__c).__ = p.__E : (E ? n.__c = p = new M(T, O) : (n.__c = p = new C(T, O), p.constructor = M, p.render = ue), 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 && M.getDerivedStateFromProps != null && (p.__s == p.state && (p.__s = v({}, p.__s)), v(p.__s, M.getDerivedStateFromProps(T, p.__s))), g = p.props, b = p.state, p.__v = n, m) E && M.getDerivedStateFromProps == null && p.componentWillMount != null && p.componentWillMount(), E && p.componentDidMount != null && p.__h.push(p.componentDidMount);
134
+ 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 ? w = (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 = le), 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
135
  else {
136
- if (E && M.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)) {
136
+ 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)) {
137
137
  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) {
138
138
  e && (e.__ = n);
139
139
  }), h.push.apply(p.__h, p._sb), p._sb = [], p.__h.length && s.push(p);
@@ -147,24 +147,24 @@ function re(e, n, r, i, a, o, s, c, l, u) {
147
147
  else do
148
148
  p.__d = !1, k && k(n), d = p.render(p.props, p.state, p.context), p.state = p.__s;
149
149
  while (p.__d && ++A < 25);
150
- 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 ? oe(d.props.children) : d, c = ee(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), w && (p.__E = p.__ = null);
150
+ 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 ? ae(d.props.children) : d, c = ee(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), w && (p.__E = p.__ = null);
151
151
  } catch (e) {
152
152
  if (s.length = f, n.__v = null, l || o != null) {
153
153
  if (e.then) {
154
154
  for (n.__u |= l ? 160 : 128; c && c.nodeType == 8 && c.nextSibling;) c = c.nextSibling;
155
155
  o != null && (o[o.indexOf(c)] = null), n.__e = c;
156
- } else if (o != null) for (te = o.length; te--;) y(o[te]);
156
+ } else if (o != null) for (M = o.length; M--;) y(o[M]);
157
157
  } else n.__e = r.__e;
158
- n.__k ??= r.__k || [], e.then || ie(n), t.__e(e, n, r);
158
+ n.__k ??= r.__k || [], e.then || re(n), t.__e(e, n, r);
159
159
  }
160
- } else o == null && n.__v == r.__v ? (n.__k = r.__k, n.__e = r.__e) : c = n.__e = se(r.__e, n, r, i, a, o, s, l, u);
160
+ } else o == null && n.__v == r.__v ? (n.__k = r.__k, n.__e = r.__e) : c = n.__e = oe(r.__e, n, r, i, a, o, s, l, u);
161
161
  return (d = t.diffed) && d(n), 128 & n.__u ? void 0 : c;
162
162
  }
163
- function ie(e) {
164
- e && (e.__c && (e.__c.__e = !0), e.__k && e.__k.some(ie));
163
+ function re(e) {
164
+ e && (e.__c && (e.__c.__e = !0), e.__k && e.__k.some(re));
165
165
  }
166
- function ae(e, n, r) {
167
- for (var i = 0; i < r.length; i++) ce(r[i], r[++i], r[++i]);
166
+ function ie(e, n, r) {
167
+ for (var i = 0; i < r.length; i++) se(r[i], r[++i], r[++i]);
168
168
  t.__c && t.__c(n, e), e.some(function(n) {
169
169
  try {
170
170
  e = n.__h, n.__h = [], e.some(function(e) {
@@ -175,10 +175,10 @@ function ae(e, n, r) {
175
175
  }
176
176
  });
177
177
  }
178
- function oe(e) {
179
- return typeof e != "object" || !e || e.__b > 0 ? e : _(e) ? e.map(oe) : e.constructor === void 0 ? v({}, e) : null;
178
+ function ae(e) {
179
+ return typeof e != "object" || !e || e.__b > 0 ? e : _(e) ? e.map(ae) : e.constructor === void 0 ? v({}, e) : null;
180
180
  }
181
- function se(n, r, i, a, o, s, c, l, u) {
181
+ function oe(n, r, i, a, o, s, c, l, u) {
182
182
  var d, f, p, h, g, v, b, x = i.props || m, S = r.props, C = r.type;
183
183
  if (C == "svg" ? o = "http://www.w3.org/2000/svg" : C == "math" ? o = "http://www.w3.org/1998/Math/MathML" : o ||= "http://www.w3.org/1999/xhtml", s != null) {
184
184
  for (d = 0; d < s.length; d++) if ((g = s[d]) && "setAttribute" in g == !!C && (C ? g.localName == C : g.nodeType == 3)) {
@@ -193,15 +193,15 @@ function se(n, r, i, a, o, s, c, l, u) {
193
193
  if (C == null) x === S || l && n.data == S || (n.data = S);
194
194
  else {
195
195
  if (s = 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;
196
- for (d in x) g = x[d], d == "dangerouslySetInnerHTML" ? p = g : d == "children" || d in S || d == "value" && "defaultValue" in S || d == "checked" && "defaultChecked" in S || M(n, d, null, g, o);
197
- for (d in S) g = S[d], d == "children" ? h = g : d == "dangerouslySetInnerHTML" ? f = g : d == "value" ? v = g : d == "checked" ? b = g : l && typeof g != "function" || x[d] === g || M(n, d, g, x[d], o);
196
+ for (d in x) g = x[d], d == "dangerouslySetInnerHTML" ? p = g : d == "children" || d in S || d == "value" && "defaultValue" in S || d == "checked" && "defaultChecked" in S || N(n, d, null, g, o);
197
+ for (d in S) g = S[d], d == "children" ? h = g : d == "dangerouslySetInnerHTML" ? f = g : d == "value" ? v = g : d == "checked" ? b = g : l && typeof g != "function" || x[d] === g || N(n, d, g, x[d], o);
198
198
  if (f) l || p && (f.__html == p.__html || f.__html == n.innerHTML) || (n.innerHTML = f.__html), r.__k = [];
199
199
  else if (p && (n.innerHTML = ""), ee(r.type == "template" ? n.content : n, _(h) ? h : [h], r, i, a, C == "foreignObject" ? "http://www.w3.org/1999/xhtml" : o, s, c, s ? s[0] : i.__k && w(i, 0), l, u), s != null) for (d = s.length; d--;) y(s[d]);
200
- l && 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
+ 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));
201
201
  }
202
202
  return n;
203
203
  }
204
- function ce(e, n, r) {
204
+ function se(e, n, r) {
205
205
  try {
206
206
  if (typeof e == "function") {
207
207
  var i = typeof e.__u == "function";
@@ -211,9 +211,9 @@ function ce(e, n, r) {
211
211
  t.__e(e, r);
212
212
  }
213
213
  }
214
- function le(e, n, r) {
214
+ function ce(e, n, r) {
215
215
  var i, a;
216
- if (t.unmount && t.unmount(e), (i = e.ref) && (i.current && i.current != e.__e || ce(i, null, n)), (i = e.__c) != null) {
216
+ if (t.unmount && t.unmount(e), (i = e.ref) && (i.current && i.current != e.__e || se(i, null, n)), (i = e.__c) != null) {
217
217
  if (i.componentWillUnmount) try {
218
218
  i.componentWillUnmount();
219
219
  } catch (e) {
@@ -221,15 +221,15 @@ function le(e, n, r) {
221
221
  }
222
222
  i.base = i.__P = i.__n = null;
223
223
  }
224
- if (i = e.__k) for (a = 0; a < i.length; a++) i[a] && le(i[a], n, r || typeof e.type != "function");
224
+ if (i = e.__k) for (a = 0; a < i.length; a++) i[a] && ce(i[a], n, r || typeof e.type != "function");
225
225
  r || y(e.__e), e.__c = e.__ = e.__e = void 0;
226
226
  }
227
- function ue(e, t, n) {
227
+ function le(e, t, n) {
228
228
  return this.constructor(e, n);
229
229
  }
230
- function de(n, r, i) {
230
+ function ue(n, r, i) {
231
231
  var a, o, s, c;
232
- r == document && (r = document.documentElement), t.__ && t.__(n, r), o = (a = typeof i == "function") ? null : i && i.__k || r.__k, s = [], c = [], re(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), ae(s, n, c), n.props.children = null;
232
+ r == document && (r = document.documentElement), t.__ && t.__(n, r), o = (a = typeof i == "function") ? null : i && i.__k || r.__k, s = [], c = [], ne(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), ie(s, n, c), n.props.children = null;
233
233
  }
234
234
  e = h.slice, t = { __e: function(e, t, n, r) {
235
235
  for (var i, a, o; t = t.__;) if ((i = t.__c) && !i.__) try {
@@ -245,49 +245,49 @@ e = h.slice, t = { __e: function(e, t, n, r) {
245
245
  this.__v && (this.__e = !0, e && this.__h.push(e), D(this));
246
246
  }, C.prototype.render = S, r = [], a = typeof Promise == "function" ? Promise.prototype.then.bind(Promise.resolve()) : setTimeout, o = function(e, t) {
247
247
  return e.__v.__b - t.__v.__b;
248
- }, O.__r = 0, s = Math.random().toString(8), c = "__d" + s, l = "__a" + s, u = /(PointerCapture)$|Capture$/i, d = 0, f = ne(!1), p = ne(!0);
248
+ }, O.__r = 0, s = Math.random().toString(8), c = "__d" + s, l = "__a" + s, u = /(PointerCapture)$|Capture$/i, d = 0, f = te(!1), p = te(!0);
249
249
  //#endregion
250
250
  //#region src/styles.css?inline
251
- var fe = ":host{--markup-paper:#fdfcfa;--markup-surface:#fff;--markup-surface-2:oklch(98.5% .002 250);--markup-surface-3:oklch(95% .003 250);--markup-hover:oklch(95% .003 250);--markup-ink:#1a1614;--markup-ink-soft:oklch(32% .005 250);--markup-muted:#6b6661;--markup-border:#1a16141a;--markup-border-strong:#1a16142e;--markup-brand:#e35d2a;--markup-brand-hover:#c84d20;--markup-accent-soft:oklch(95% .04 60);--markup-accent-ink:oklch(45% .14 38);--markup-accent-glow:color-mix(in srgb, var(--markup-brand) 28%, transparent);--markup-team:#2a4ac8;--markup-shadow:0 1px 2px #1a16140f, 0 8px 28px #1a16141f;--markup-shadow-toolbar:0 1px 1px #0000000a, 0 4px 10px -2px #0f14281a, 0 18px 36px -12px #0f14282e;--markup-shadow-pop:0 1px 1px #0000000a, 0 8px 24px -6px #0f14281f, 0 28px 60px -18px #0f142838;--markup-overlay-tint:#1a16140a;--markup-danger:#dc2626;--markup-success:oklch(62% .16 150);--markup-radius:6px;--markup-radius-sm:4px;--markup-font:\"Geist Variable\", \"Geist\", ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", system-ui, sans-serif;--markup-font-mono:\"Geist Mono Variable\", \"Geist Mono\", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;all:initial;font-family:var(--markup-font);color:var(--markup-ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.5}:host([data-theme=dark]){--markup-paper:#1a1614;--markup-surface:oklch(16% .005 250);--markup-surface-2:oklch(20% .005 250);--markup-surface-3:oklch(24% .005 250);--markup-hover:oklch(24% .005 250);--markup-ink:#fdfcfa;--markup-ink-soft:oklch(80% .005 250);--markup-muted:#a8a39e;--markup-border:#fdfcfa1f;--markup-border-strong:#fdfcfa38;--markup-team:#7b99f0;--markup-accent-soft:color-mix(in srgb, var(--markup-brand) 22%, transparent);--markup-accent-ink:oklch(86% .13 55);--markup-shadow:0 1px 2px #00000059, 0 12px 40px #00000073;--markup-shadow-toolbar:0 1px 0 #ffffff0a inset, 0 1px 2px #0006, 0 12px 30px -10px #0000008c, 0 28px 60px -20px #00000080;--markup-shadow-pop:0 1px 0 #ffffff0a inset, 0 8px 24px -6px #00000073, 0 28px 60px -18px #0000008c;--markup-overlay-tint:#fdfcfa0d;--markup-danger:#f87171}@media (prefers-color-scheme:dark){:host(:not([data-theme])){--markup-paper:#1a1614;--markup-surface:oklch(16% .005 250);--markup-surface-2:oklch(20% .005 250);--markup-surface-3:oklch(24% .005 250);--markup-hover:oklch(24% .005 250);--markup-ink:#fdfcfa;--markup-ink-soft:oklch(80% .005 250);--markup-muted:#a8a39e;--markup-border:#fdfcfa1f;--markup-border-strong:#fdfcfa38;--markup-team:#7b99f0;--markup-accent-soft:color-mix(in srgb, var(--markup-brand) 22%, transparent);--markup-accent-ink:oklch(86% .13 55);--markup-shadow:0 1px 2px #00000059, 0 12px 40px #00000073;--markup-shadow-toolbar:0 1px 0 #ffffff0a inset, 0 1px 2px #0006, 0 12px 30px -10px #0000008c, 0 28px 60px -20px #00000080;--markup-shadow-pop:0 1px 0 #ffffff0a inset, 0 8px 24px -6px #00000073, 0 28px 60px -18px #0000008c;--markup-overlay-tint:#fdfcfa0d;--markup-danger:#f87171}}.markup-sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.markup-shadow-root{font-family:var(--markup-font)}.markup-shadow-root *,.markup-shadow-root :before,.markup-shadow-root :after{box-sizing:border-box}:where(.markup-shadow-root button,.markup-shadow-root input,.markup-shadow-root textarea){font:inherit;color:inherit}.markup-eyebrow{font-family:var(--markup-font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--markup-muted);font-size:10px;font-weight:500}.markup-toolbar{z-index:10;background:var(--markup-surface);border:1px solid var(--markup-border);pointer-events:none;height:44px;box-shadow:var(--markup-shadow-toolbar);border-radius:9999px;align-items:center;gap:2px;padding:4px;transition:box-shadow .15s,left .22s cubic-bezier(.2,.7,.2,1),transform .22s cubic-bezier(.2,.7,.2,1);display:inline-flex;position:fixed;bottom:22px;left:100%;transform:translate(calc(-100% - 22px))}.markup-toolbar>*{pointer-events:auto}.markup-tb-btn{width:36px;height:36px;color:var(--markup-ink-soft);cursor:pointer;touch-action:none;font-family:var(--markup-font);background:0 0;border:1px solid #0000;border-radius:9999px;justify-content:center;align-items:center;gap:6px;padding:0;font-size:13px;font-weight:500;transition:background .12s,color .12s,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]{width:260px;padding:6px}.markup-pop[data-pop=identity]{width:240px;padding:6px}.markup-pop[data-pop=inbox]{width:380px;padding:0}.markup-pop.is-anchor-right{right:0}.markup-pop.is-anchor-left{left:0}.markup-pop.is-anchor-center{left:50%;transform:translate(-50%)}@keyframes markup-pop-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.markup-pop.is-anchor-center{animation-name:markup-pop-in-center}@keyframes markup-pop-in-center{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}.markup-pop-group-label{font-family:var(--markup-font-mono);letter-spacing:.06em;color:var(--markup-muted);text-transform:lowercase;padding:8px 10px 4px;font-size:10px}.markup-segmented-row{border-radius:6px;align-items:center;gap:10px;padding:7px 8px;display:flex}.markup-segmented-row .lbl{min-width:0;color:var(--markup-ink);flex:1;font-size:13px}.markup-segmented{background:var(--markup-surface-3);border-radius:7px;gap:2px;padding:2px;display:inline-flex}.markup-segmented button{font:inherit;width:28px;height:24px;color:var(--markup-muted);cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;padding:0;transition:background .1s,color .1s;display:inline-flex}.markup-segmented button:hover{color:var(--markup-ink)}.markup-segmented button.is-on{background:var(--markup-surface);color:var(--markup-ink);box-shadow:0 1px 2px #0000000d}.markup-menu-row{cursor:pointer;width:100%;color:inherit;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;padding:7px 8px;font-family:inherit;font-size:13px;display:flex}.markup-menu-row:hover{background:var(--markup-hover)}.markup-menu-row:disabled{opacity:.5;cursor:default}.markup-menu-row:disabled:hover{background:0 0}.markup-menu-row .ic{width:16px;height:16px;color:var(--markup-muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.markup-menu-row .lbl{flex-direction:column;flex:1;min-width:0;display:flex}.markup-menu-row .lbl .sub{color:var(--markup-muted);margin-top:1px;font-size:11px}.markup-menu-row .right{font-family:var(--markup-font-mono);color:var(--markup-muted);margin-left:auto;font-size:10.5px}.markup-menu-row.is-danger,.markup-menu-row.is-danger .ic{color:var(--markup-danger)}.markup-menu-row.is-danger:hover{background:color-mix(in srgb, var(--markup-danger) 10%, transparent)}.markup-menu-row .switch{background:var(--markup-border-strong);border-radius:9999px;flex-shrink:0;width:26px;height:16px;transition:background .12s;position:relative}.markup-menu-row .switch:after{content:\"\";background:var(--markup-surface);border-radius:9999px;width:12px;height:12px;transition:left .12s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000026}.markup-menu-row[data-on=true] .switch{background:var(--markup-brand)}.markup-menu-row[data-on=true] .switch:after{left:12px}.markup-menu-divider{background:var(--markup-border);height:1px;margin:4px 0}.markup-brand-line{font-family:var(--markup-font-mono);color:var(--markup-muted);border-top:1px solid var(--markup-border);align-items:center;gap:8px;margin-top:6px;padding:8px 10px;font-size:10.5px;text-decoration:none;display:flex}.markup-brand-line:hover{color:var(--markup-ink)}.markup-brand-line svg{color:var(--markup-brand)}.markup-brand-line .ver{margin-left:auto}.markup-id-who{border-bottom:1px solid var(--markup-border);flex-direction:column;gap:2px;margin-bottom:4px;padding:10px 8px 12px;display:flex}.markup-id-who .nm{color:var(--markup-ink);font-size:13.5px;font-weight:600}.markup-id-who .em{font-family:var(--markup-font-mono);color:var(--markup-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.markup-id-anon{text-align:left;flex-direction:column;gap:10px;padding:14px 10px;display:flex}.markup-id-anon .h{letter-spacing:-.005em;color:var(--markup-ink);font-size:14px;font-weight:600}.markup-id-anon .sub{color:var(--markup-muted);font-size:12.5px;line-height:18px}.markup-id-anon button:not(.markup-menu-row){background:var(--markup-ink);width:100%;color:var(--markup-paper);height:32px;font:inherit;cursor:pointer;border:none;border-radius:7px;justify-content:center;align-items:center;gap:6px;font-size:13px;font-weight:500;display:inline-flex}.markup-id-anon button:disabled{opacity:.7;cursor:default}.markup-id-anon button:not(.markup-menu-row):hover:not(:disabled){background:color-mix(in srgb, var(--markup-ink) 88%, var(--markup-surface))}.markup-hud-hidden-toast{z-index:10;background:var(--markup-ink);color:var(--markup-paper);letter-spacing:-.01em;box-shadow:var(--markup-shadow);pointer-events:none;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:500;animation:.22s ease-out markup-hud-hidden-in,.32s ease-in 4.6s forwards markup-hud-hidden-out;display:inline-flex;position:fixed;bottom:24px}.markup-hud-hidden-toast-right{right:24px}.markup-hud-hidden-toast-left{left:24px}.markup-hud-hidden-toast-center{width:max-content;margin-inline:auto;left:0;right:0}.markup-kbd{background:color-mix(in srgb, var(--markup-paper) 14%, transparent);min-width:18px;height:18px;color:var(--markup-paper);font-family:var(--markup-font);border-radius:4px;justify-content:center;align-items:center;padding:0 5px;font-size:10px;font-weight:600;line-height:1;display:inline-flex}.markup-kbd.is-inline{background:color-mix(in srgb, var(--markup-ink) 8%, transparent);min-width:14px;height:14px;color:var(--markup-muted);border-radius:3px;padding:0 3px;font-size:9.5px}@keyframes markup-hud-hidden-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes markup-hud-hidden-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(4px)}}.markup-pins-layer{pointer-events:none;position:fixed;inset:0}.markup-pin{border:2px solid var(--markup-paper);background:var(--markup-brand);color:#fff;width:28px;height:28px;font-family:var(--markup-font-mono);cursor:pointer;pointer-events:auto;box-shadow:0 4px 14px -4px #00000059, 0 0 0 1px color-mix(in srgb, var(--markup-brand) 50%, transparent);border-radius:999px 999px 999px 4px;justify-content:center;align-items:center;margin:0;padding:0;font-size:11.5px;font-weight:600;line-height:1;transition:background .15s,color .15s,opacity .15s,top .2s,left .2s;display:inline-flex;position:absolute;transform:translate(-50%,-100%)}.markup-pin:hover{background:color-mix(in oklab, var(--markup-brand) 92%, black)}:host([data-theme=dark]) .markup-pin:hover{background:color-mix(in oklab, var(--markup-brand) 88%, var(--markup-paper))}@media (prefers-color-scheme:dark){:host(:not([data-theme])) .markup-pin:hover{background:color-mix(in oklab, var(--markup-brand) 88%, var(--markup-paper))}}.markup-pin.is-active{background:var(--markup-brand);color:#fff;border-color:var(--markup-paper)}.markup-pin.is-anchor{anchor-name:--markup-active-anchor}.markup-pin.is-unresolved{opacity:.6}.markup-pin-ghost{background:var(--markup-brand);color:#fff;cursor:default;pointer-events:none;animation:1.2s ease-in-out infinite markup-ghost-pulse}.markup-pin-num{pointer-events:none;justify-content:center;align-items:center;display:inline-flex}.markup-pin-count{background:var(--markup-ink);min-width:16px;height:16px;color:var(--markup-paper);font-family:var(--markup-font-mono);text-align:center;border:2px solid var(--markup-paper);pointer-events:none;border-radius:999px;padding:0 4px;font-size:9.5px;font-weight:600;line-height:12px;position:absolute;top:-6px;right:-8px}@keyframes markup-ghost-pulse{0%,to{box-shadow:0 4px 14px -4px #00000059,0 0 #e35d2a66}50%{box-shadow:0 4px 14px -4px #00000059,0 0 0 10px #e35d2a00}}.markup-placement-overlay{background:var(--markup-overlay-tint);cursor:crosshair;pointer-events:auto;z-index:1;animation:.18s ease-out markup-overlay-in;position:fixed;inset:0}.markup-placement-cursor-help{background:var(--markup-ink);color:var(--markup-paper);letter-spacing:-.01em;box-shadow:var(--markup-shadow);pointer-events:none;border-radius:999px;padding:10px 16px;font-size:12px;font-weight:500;animation:.22s ease-out 60ms backwards markup-help-in;position:fixed;top:24px;left:50%;transform:translate(-50%)}@keyframes markup-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes markup-help-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.markup-popover{width:360px;max-width:calc(100vw - 24px);height:auto;max-height:calc(100dvh - 24px);inset:auto;left:var(--markup-pop-x,0);top:var(--markup-pop-y,0);background:var(--markup-paper);color:var(--markup-ink);border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius);box-shadow:var(--markup-shadow);pointer-events:auto;flex-direction:column;gap:0;margin:0;padding:0;animation:.16s ease-out markup-popover-in;display:flex;position:fixed;overflow:hidden}@supports (anchor-name:--x){.markup-popover{position-anchor:--markup-active-anchor;left:calc(anchor(right) + 8px);top:calc(anchor(top) - 9px);position-try-fallbacks:flip-block, flip-inline, flip-block flip-inline;position-try-order:most-block-size}.markup-popover.is-floating{left:var(--markup-pop-x,0);top:var(--markup-pop-y,0);position-try-fallbacks:none}}.markup-popover.is-hud-hidden{display:none}@keyframes markup-popover-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.markup-popover-header{border-bottom:1px solid var(--markup-border);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.markup-popover.is-dragging .markup-popover-header{cursor:grabbing}.markup-popover-header-actions{align-items:center;gap:4px;display:flex}.markup-popover-title{min-width:0;font-family:var(--markup-font-mono);letter-spacing:.02em;color:var(--markup-muted);white-space:nowrap;text-overflow:ellipsis;flex:auto;font-size:11px;line-height:1;overflow:hidden}.markup-thread-menu{display:flex;position:relative}.markup-thread-menu-list{z-index:10;background:var(--markup-paper);border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius);min-width:160px;box-shadow:var(--markup-shadow);padding:4px;animation:.12s ease-out markup-menu-in;position:absolute;top:calc(100% + 6px);right:0}.markup-thread-menu-item{border-radius:var(--markup-radius-sm);width:100%;color:var(--markup-ink);text-align:left;cursor:pointer;background:0 0;border:none;padding:7px 10px;font-size:13px;transition:background .1s,color .1s;display:block}.markup-thread-menu-item:hover{background:var(--markup-border)}.markup-thread-menu-item.is-danger{color:var(--markup-danger,#dc2626)}.markup-thread-menu-item.is-danger:hover{background:color-mix(in srgb, var(--markup-danger,#dc2626) 10%, transparent)}.markup-thread-menu-item:disabled{opacity:.5;cursor:default}@keyframes markup-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.markup-popover-body{border-top:1px solid var(--markup-border);background:var(--markup-paper);flex-direction:column;gap:6px;padding:10px 12px 8px;display:flex}.markup-popover-header+.markup-popover-body{border-top:none}.markup-popover-byline{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.markup-popover-name{color:var(--markup-ink);font-weight:500}.markup-icon-btn{border-radius:var(--markup-radius-sm);width:24px;height:24px;color:var(--markup-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s,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-edited{color:var(--markup-muted);font-family:var(--markup-font-mono);margin-left:2px;font-size:10.5px}.markup-comment-edited:before{content:\" · \"}.markup-thread-actions{align-items:center;gap:4px;display:flex}.markup-comment-meta .markup-reaction-picker-wrap,.markup-thread-actions{margin-left:auto}.markup-comment-meta .markup-reaction-add{width:22px;height:22px;margin-top:-4px;margin-bottom:-4px}.markup-reaction-picker-wrap>.markup-icon-btn,.markup-comment-menu>.markup-icon-btn{margin-top:-4px;margin-bottom:-4px}.markup-comment-menu.is-up .markup-thread-menu-list{animation-name:markup-menu-in-up;top:auto;bottom:calc(100% + 6px)}.markup-comment-menu.is-side .markup-thread-menu-list{animation-name:markup-menu-in-side;top:-4px;right:calc(100% + 2px)}@keyframes markup-menu-in-side{0%{opacity:0;transform:translate(4px)}to{opacity:1;transform:translate(0)}}@keyframes markup-menu-in-up{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.markup-comment{position:relative}.markup-reactions{flex-wrap:wrap;align-items:center;gap:4px;margin-top:6px;display:flex}.markup-reaction-chip{border:1px solid var(--markup-border);background:var(--markup-surface-3);color:var(--markup-ink);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:2px 7px;font-size:11.5px;line-height:1.2;transition:background .12s,border-color .12s;display:inline-flex}.markup-reaction-chip:hover:not(:disabled){background:var(--markup-hover)}.markup-reaction-chip.is-mine{background:var(--markup-accent-soft);border-color:color-mix(in srgb, var(--markup-brand) 50%, transparent);color:var(--markup-accent-ink)}.markup-reaction-chip.is-mine:hover:not(:disabled){background:color-mix(in srgb, var(--markup-brand) 18%, transparent)}.markup-reaction-chip:disabled{cursor:default;opacity:.6}.markup-reaction-emoji{font-size:13px;line-height:1}.markup-reaction-count{font-family:var(--markup-font-mono);letter-spacing:.04em;color:var(--markup-muted);font-size:10.5px}.markup-reaction-chip.is-mine .markup-reaction-count{color:var(--markup-accent-ink)}.markup-reaction-picker-wrap{opacity:0;flex:none;transition:opacity .12s;display:inline-flex;position:relative}.markup-comment:hover .markup-reaction-picker-wrap,.markup-comment:focus-within .markup-reaction-picker-wrap,.markup-reaction-picker-wrap.is-open{opacity:1}.markup-reaction-add{width:22px;height:22px;color:var(--markup-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:13px;line-height:1;transition:background .12s,color .12s;display:inline-flex}.markup-reaction-add:hover,.markup-reaction-add.is-open{background:var(--markup-hover);color:var(--markup-ink)}.markup-reaction-picker{z-index:1;border:1px solid var(--markup-border-strong);background:var(--markup-paper);border-radius:8px;gap:2px;padding:4px;animation:.12s markup-menu-in;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 1px 2px #1a16140f,0 8px 28px #1a16141a}.markup-reaction-picker-wrap.is-up .markup-reaction-picker{animation-name:markup-menu-in-up;top:auto;bottom:calc(100% + 6px)}.markup-reaction-picker-wrap.is-side .markup-reaction-picker{animation-name:markup-menu-in-side;top:-4px;right:calc(100% + 2px)}.markup-reaction-picker-item{cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:16px;line-height:1;transition:background .12s;display:inline-flex}.markup-reaction-picker-item:hover{background:color-mix(in srgb, var(--markup-ink) 8%, transparent)}.markup-reaction-picker-item.is-mine{background:color-mix(in srgb, var(--markup-brand) 14%, transparent)}.markup-comment-edit-form{flex-direction:column;gap:6px;display:flex}.markup-comment-edit-actions{justify-content:flex-end;gap:6px;display:flex}.markup-composer{flex-direction:column;display:flex;position:relative}.markup-composer-input{width:100%;min-height:38px;max-height:120px;color:var(--markup-ink);font-family:var(--markup-font);background:0 0;border:none;border-radius:0;padding:2px 0;font-size:13.5px;line-height:19px;transition:none;overflow-y:auto}.markup-composer-input:focus-visible{box-shadow:none;outline:none}.markup-composer-footer-wrap{grid-template-rows:0fr;transition:grid-template-rows .15s;display:grid}.markup-composer.is-filled .markup-composer-footer-wrap{grid-template-rows:1fr}.markup-composer-footer{opacity:0;background:0 0;border:none;border-radius:0;justify-content:space-between;align-items:center;gap:8px;padding:0;transition:opacity .1s;display:flex;overflow:hidden}.markup-composer.is-filled .markup-composer-footer{opacity:1;transition-delay:60ms}.markup-composer-hint{font-family:var(--markup-font-mono);letter-spacing:.04em;color:var(--markup-muted);align-items:center;gap:3px;font-size:10.5px;display:inline-flex}.markup-composer-hint-label{margin-left:2px}.markup-composer-error{color:var(--markup-brand)}.markup-composer-actions{align-items:center;gap:6px;display:flex}.markup-composer .markup-btn-primary{background:var(--markup-ink);height:26px;color:var(--markup-paper);border-radius:6px;padding:0 10px}.markup-composer .markup-btn-primary:hover:not(:disabled){background:color-mix(in srgb, var(--markup-ink) 88%, var(--markup-paper))}.markup-composer-actions-empty{transition:opacity .12s;position:absolute;bottom:0;right:0}.markup-composer.is-filled .markup-composer-actions-empty{opacity:0;pointer-events:none}.markup-author-prompt{flex-direction:column;gap:10px;padding:12px;display:flex}.markup-author-status{color:var(--markup-muted);margin:0;font-size:12px}.markup-input{border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius-sm);background:var(--markup-paper);width:100%;height:36px;color:var(--markup-ink);outline:none;padding:0 10px;font-size:14px;transition:border-color .12s,box-shadow .12s}.markup-input:focus-visible{border-color:var(--markup-brand);box-shadow:0 0 0 3px #e35d2a2e}.markup-btn{border-radius:var(--markup-radius-sm);height:30px;color:var(--markup-ink);cursor:pointer;letter-spacing:-.01em;white-space:nowrap;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:0 8px;font-size:12px;font-weight:500;transition:background .12s,border-color .12s,color .12s,opacity .12s,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);flex-direction:column;justify-content:center;gap:4px;padding:16px;animation:.12s ease-out markup-menu-in;display:flex;position:absolute;inset:0}.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{border:1px solid var(--markup-border-strong);object-fit:cover;object-position:top;border-radius:3px;width:auto;height:22px;margin:-4px 0 -4px 4px;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}.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-tb-btn,.markup-tb-badge,.markup-comment,.markup-pin,.markup-icon-btn,.markup-btn,.markup-popover,.markup-pin-ghost,.markup-placement-overlay,.markup-placement-cursor-help,.markup-lightbox-img{transition:none;animation:none}}.markup-mention-chip{background:var(--markup-accent-soft);color:var(--markup-accent-ink);border-radius:3px;padding:0 2px;font-weight:500;display:inline-block}.markup-mention-input{white-space:pre-wrap;overflow-wrap:anywhere;cursor:text;outline:none;position:relative}.markup-mention-input[aria-disabled=true]{opacity:.6;cursor:default}.markup-mention-input[data-empty]:before{content:attr(data-placeholder);color:var(--markup-muted);pointer-events:none;position:absolute;inset:0 auto auto 0}.markup-mention-input .markup-mention-chip{white-space:nowrap;padding:0 3px}.markup-comment-edit-input{border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius-sm);background:var(--markup-paper);width:100%;min-height:58px;max-height:200px;color:var(--markup-ink);font:inherit;padding:8px 10px;font-size:13px;line-height:1.5;overflow-y:auto}.markup-comment-edit-input:focus-visible{border-color:var(--markup-brand);box-shadow:0 0 0 3px #e35d2a2e}.markup-comment-edit-input[data-empty]:before{inset:8px auto auto 10px}.markup-mention-picker{z-index:10;background:var(--markup-paper);border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius-sm);max-height:180px;box-shadow:var(--markup-shadow);margin:0 0 4px;padding:4px;list-style:none;position:absolute;bottom:100%;left:0;right:0;overflow-y:auto}.markup-mention-picker-item{border-radius:var(--markup-radius-sm);cursor:pointer;color:var(--markup-ink);justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.markup-mention-picker-item.is-active{background:color-mix(in srgb, var(--markup-brand) 12%, transparent)}.markup-mention-picker-name{font-weight:500}.markup-mention-picker-trigger{color:var(--markup-muted);font-family:var(--markup-font-mono);font-size:10px}.markup-notifications-panel{max-height:min(60vh,420px);color:var(--markup-ink);flex-direction:column;display:flex}.markup-notifications-panel-header{border-bottom:1px solid var(--markup-border);align-items:center;gap:8px;padding:8px 10px;display:flex}.markup-notifications-panel-header .markup-eyebrow{flex:1}.markup-notifications-panel-actions{align-items:center;gap:8px;display:flex}.markup-notifications-panel-mark-all{color:var(--markup-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:11px}.markup-notifications-panel-mark-all:hover{color:var(--markup-ink)}.markup-notifications-panel-body{flex:1;overflow-y:auto}.markup-notifications-panel-empty,.markup-notifications-panel-error{text-align:center;color:var(--markup-muted);padding:24px 12px;font-size:12px}.markup-notifications-panel-empty-title{color:var(--markup-ink);margin:0 0 4px;font-weight:500}.markup-notifications-panel-empty-sub{color:var(--markup-muted);margin:0;line-height:1.4}.markup-notifications-panel-error{color:var(--markup-danger,#b91c1c)}.markup-notifications-panel-list{margin:0;padding:4px;list-style:none}.markup-notifications-panel-row{border-radius:var(--markup-radius-sm);text-align:start;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:none;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.markup-notifications-panel-row:hover{background:color-mix(in srgb, var(--markup-brand) 8%, transparent)}.markup-notifications-panel-row.is-unread{background:color-mix(in srgb, var(--markup-brand) 5%, transparent)}.markup-notifications-panel-meta{align-items:center;gap:6px;font-size:11px;display:flex}.markup-notifications-panel-dot{background:var(--markup-brand);border-radius:999px;flex-shrink:0;width:6px;height:6px}.markup-notifications-panel-actor{font-weight:600}.markup-notifications-panel-sep{color:var(--markup-muted)}.markup-notifications-panel-time{color:var(--markup-muted);font-family:var(--markup-font-mono);font-size:10px}.markup-notifications-panel-thread{color:var(--markup-muted);margin:0;font-size:12px}.markup-notifications-panel-thread-title{color:var(--markup-ink)}.markup-notifications-panel-excerpt{color:color-mix(in srgb, var(--markup-ink) 80%, transparent);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:12px;font-style:italic;display:-webkit-box;overflow:hidden}.markup-panel-pop{z-index:11;pointer-events:auto;width:380px;max-width:calc(100vw - 24px);position:fixed;bottom:76px}.markup-panel-pop[data-panel=privacy]{width:340px}.markup-panel-pop[data-panel=shortcuts]{width:320px}.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%;animation:.14s cubic-bezier(.2,.7,.2,1) markup-pop-in;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-pop[data-pop=privacy],.markup-pop[data-pop=shortcuts]{padding:0}.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-body{flex:1;padding:4px 14px 14px;overflow-y:auto}.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}", pe = 1e4, N = 20, me = 60, he = null, ge = [], P = null, _e = !1, ve = ye();
252
- function ye() {
251
+ var de = ":host{--markup-paper:#fdfcfa;--markup-surface:#fff;--markup-surface-2:oklch(98.5% .002 250);--markup-surface-3:oklch(95% .003 250);--markup-hover:oklch(95% .003 250);--markup-ink:#1a1614;--markup-ink-soft:oklch(32% .005 250);--markup-muted:#6b6661;--markup-border:#1a16141a;--markup-border-strong:#1a16142e;--markup-brand:#e35d2a;--markup-brand-hover:#c84d20;--markup-accent-soft:oklch(95% .04 60);--markup-accent-ink:oklch(45% .14 38);--markup-accent-glow:color-mix(in srgb, var(--markup-brand) 28%, transparent);--markup-team:#2a4ac8;--markup-shadow:0 1px 2px #1a16140f, 0 8px 28px #1a16141f;--markup-shadow-toolbar:0 1px 1px #0000000a, 0 4px 10px -2px #0f14281a, 0 18px 36px -12px #0f14282e;--markup-shadow-pop:0 1px 1px #0000000a, 0 8px 24px -6px #0f14281f, 0 28px 60px -18px #0f142838;--markup-overlay-tint:#1a16140a;--markup-danger:#dc2626;--markup-success:oklch(62% .16 150);--markup-radius:6px;--markup-radius-sm:4px;--markup-font:\"Geist Variable\", \"Geist\", ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", system-ui, sans-serif;--markup-font-mono:\"Geist Mono Variable\", \"Geist Mono\", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;all:initial;font-family:var(--markup-font);color:var(--markup-ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.5}:host([data-theme=dark]){--markup-paper:#1a1614;--markup-surface:oklch(16% .005 250);--markup-surface-2:oklch(20% .005 250);--markup-surface-3:oklch(24% .005 250);--markup-hover:oklch(24% .005 250);--markup-ink:#fdfcfa;--markup-ink-soft:oklch(80% .005 250);--markup-muted:#a8a39e;--markup-border:#fdfcfa1f;--markup-border-strong:#fdfcfa38;--markup-team:#7b99f0;--markup-accent-soft:color-mix(in srgb, var(--markup-brand) 22%, transparent);--markup-accent-ink:oklch(86% .13 55);--markup-shadow:0 1px 2px #00000059, 0 12px 40px #00000073;--markup-shadow-toolbar:0 1px 0 #ffffff0a inset, 0 1px 2px #0006, 0 12px 30px -10px #0000008c, 0 28px 60px -20px #00000080;--markup-shadow-pop:0 1px 0 #ffffff0a inset, 0 8px 24px -6px #00000073, 0 28px 60px -18px #0000008c;--markup-overlay-tint:#fdfcfa0d;--markup-danger:#f87171}@media (prefers-color-scheme:dark){:host(:not([data-theme])){--markup-paper:#1a1614;--markup-surface:oklch(16% .005 250);--markup-surface-2:oklch(20% .005 250);--markup-surface-3:oklch(24% .005 250);--markup-hover:oklch(24% .005 250);--markup-ink:#fdfcfa;--markup-ink-soft:oklch(80% .005 250);--markup-muted:#a8a39e;--markup-border:#fdfcfa1f;--markup-border-strong:#fdfcfa38;--markup-team:#7b99f0;--markup-accent-soft:color-mix(in srgb, var(--markup-brand) 22%, transparent);--markup-accent-ink:oklch(86% .13 55);--markup-shadow:0 1px 2px #00000059, 0 12px 40px #00000073;--markup-shadow-toolbar:0 1px 0 #ffffff0a inset, 0 1px 2px #0006, 0 12px 30px -10px #0000008c, 0 28px 60px -20px #00000080;--markup-shadow-pop:0 1px 0 #ffffff0a inset, 0 8px 24px -6px #00000073, 0 28px 60px -18px #0000008c;--markup-overlay-tint:#fdfcfa0d;--markup-danger:#f87171}}.markup-sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.markup-shadow-root{font-family:var(--markup-font)}.markup-shadow-root *,.markup-shadow-root :before,.markup-shadow-root :after{box-sizing:border-box}:where(.markup-shadow-root button,.markup-shadow-root input,.markup-shadow-root textarea){font:inherit;color:inherit}.markup-eyebrow{font-family:var(--markup-font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--markup-muted);font-size:10px;font-weight:500}.markup-toolbar{z-index:10;background:var(--markup-surface);border:1px solid var(--markup-border);pointer-events:none;height:44px;box-shadow:var(--markup-shadow-toolbar);border-radius:9999px;align-items:center;gap:2px;padding:4px;transition:box-shadow .15s,left .22s cubic-bezier(.2,.7,.2,1),transform .22s cubic-bezier(.2,.7,.2,1);display:inline-flex;position:fixed;bottom:22px;left:100%;transform:translate(calc(-100% - 22px))}.markup-toolbar>*{pointer-events:auto}.markup-tb-btn{width:36px;height:36px;color:var(--markup-ink-soft);cursor:pointer;touch-action:none;font-family:var(--markup-font);background:0 0;border:1px solid #0000;border-radius:9999px;justify-content:center;align-items:center;gap:6px;padding:0;font-size:13px;font-weight:500;transition:background .12s,color .12s,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]{width:260px;padding:6px}.markup-pop[data-pop=identity]{width:240px;padding:6px}.markup-pop[data-pop=inbox]{width:380px;padding:0}.markup-pop.is-anchor-right{right:0}.markup-pop.is-anchor-left{left:0}.markup-pop.is-anchor-center{left:50%;transform:translate(-50%)}@keyframes markup-pop-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.markup-pop.is-anchor-center{animation-name:markup-pop-in-center}@keyframes markup-pop-in-center{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}.markup-pop-group-label{font-family:var(--markup-font-mono);letter-spacing:.06em;color:var(--markup-muted);text-transform:lowercase;padding:8px 10px 4px;font-size:10px}.markup-segmented-row{border-radius:6px;align-items:center;gap:10px;padding:7px 8px;display:flex}.markup-segmented-row .lbl{min-width:0;color:var(--markup-ink);flex:1;font-size:13px}.markup-segmented{background:var(--markup-surface-3);border-radius:7px;gap:2px;padding:2px;display:inline-flex}.markup-segmented button{font:inherit;width:28px;height:24px;color:var(--markup-muted);cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;padding:0;transition:background .1s,color .1s;display:inline-flex}.markup-segmented button:hover{color:var(--markup-ink)}.markup-segmented button.is-on{background:var(--markup-surface);color:var(--markup-ink);box-shadow:0 1px 2px #0000000d}.markup-menu-row{cursor:pointer;width:100%;color:inherit;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;padding:7px 8px;font-family:inherit;font-size:13px;display:flex}.markup-menu-row:hover{background:var(--markup-hover)}.markup-menu-row:disabled{opacity:.5;cursor:default}.markup-menu-row:disabled:hover{background:0 0}.markup-menu-row .ic{width:16px;height:16px;color:var(--markup-muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.markup-menu-row .lbl{flex-direction:column;flex:1;min-width:0;display:flex}.markup-menu-row .lbl .sub{color:var(--markup-muted);margin-top:1px;font-size:11px}.markup-menu-row .right{font-family:var(--markup-font-mono);color:var(--markup-muted);margin-left:auto;font-size:10.5px}.markup-menu-row.is-danger,.markup-menu-row.is-danger .ic{color:var(--markup-danger)}.markup-menu-row.is-danger:hover{background:color-mix(in srgb, var(--markup-danger) 10%, transparent)}.markup-menu-row .switch{background:var(--markup-border-strong);border-radius:9999px;flex-shrink:0;width:26px;height:16px;transition:background .12s;position:relative}.markup-menu-row .switch:after{content:\"\";background:var(--markup-surface);border-radius:9999px;width:12px;height:12px;transition:left .12s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000026}.markup-menu-row[data-on=true] .switch{background:var(--markup-brand)}.markup-menu-row[data-on=true] .switch:after{left:12px}.markup-menu-divider{background:var(--markup-border);height:1px;margin:4px 0}.markup-brand-line{font-family:var(--markup-font-mono);color:var(--markup-muted);border-top:1px solid var(--markup-border);align-items:center;gap:8px;margin-top:6px;padding:8px 10px;font-size:10.5px;text-decoration:none;display:flex}.markup-brand-line:hover{color:var(--markup-ink)}.markup-brand-line svg{color:var(--markup-brand)}.markup-brand-line .ver{margin-left:auto}.markup-id-who{border-bottom:1px solid var(--markup-border);flex-direction:column;gap:2px;margin-bottom:4px;padding:10px 8px 12px;display:flex}.markup-id-who .nm{color:var(--markup-ink);font-size:13.5px;font-weight:600}.markup-id-who .em{font-family:var(--markup-font-mono);color:var(--markup-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.markup-id-anon{text-align:left;flex-direction:column;gap:10px;padding:14px 10px;display:flex}.markup-id-anon .h{letter-spacing:-.005em;color:var(--markup-ink);font-size:14px;font-weight:600}.markup-id-anon .sub{color:var(--markup-muted);font-size:12.5px;line-height:18px}.markup-id-anon button:not(.markup-menu-row){background:var(--markup-ink);width:100%;color:var(--markup-paper);height:32px;font:inherit;cursor:pointer;border:none;border-radius:7px;justify-content:center;align-items:center;gap:6px;font-size:13px;font-weight:500;display:inline-flex}.markup-id-anon button:disabled{opacity:.7;cursor:default}.markup-id-anon button:not(.markup-menu-row):hover:not(:disabled){background:color-mix(in srgb, var(--markup-ink) 88%, var(--markup-surface))}.markup-hud-hidden-toast{z-index:10;background:var(--markup-ink);color:var(--markup-paper);letter-spacing:-.01em;box-shadow:var(--markup-shadow);pointer-events:none;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:500;animation:.22s ease-out markup-hud-hidden-in,.32s ease-in 4.6s forwards markup-hud-hidden-out;display:inline-flex;position:fixed;bottom:24px}.markup-hud-hidden-toast-right{right:24px}.markup-hud-hidden-toast-left{left:24px}.markup-hud-hidden-toast-center{width:max-content;margin-inline:auto;left:0;right:0}.markup-kbd{background:color-mix(in srgb, var(--markup-paper) 14%, transparent);min-width:18px;height:18px;color:var(--markup-paper);font-family:var(--markup-font);border-radius:4px;justify-content:center;align-items:center;padding:0 5px;font-size:10px;font-weight:600;line-height:1;display:inline-flex}.markup-kbd.is-inline{background:color-mix(in srgb, var(--markup-ink) 8%, transparent);min-width:14px;height:14px;color:var(--markup-muted);border-radius:3px;padding:0 3px;font-size:9.5px}@keyframes markup-hud-hidden-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes markup-hud-hidden-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(4px)}}.markup-pins-layer{pointer-events:none;position:fixed;inset:0}.markup-pin{border:2px solid var(--markup-paper);background:var(--markup-brand);color:#fff;width:28px;height:28px;font-family:var(--markup-font-mono);cursor:pointer;pointer-events:auto;box-shadow:0 4px 14px -4px #00000059, 0 0 0 1px color-mix(in srgb, var(--markup-brand) 50%, transparent);border-radius:999px 999px 999px 4px;justify-content:center;align-items:center;margin:0;padding:0;font-size:11.5px;font-weight:600;line-height:1;transition:background .15s,color .15s,opacity .15s,top .2s,left .2s;display:inline-flex;position:absolute;transform:translate(-50%,-100%)}.markup-pin:hover{background:color-mix(in oklab, var(--markup-brand) 92%, black)}:host([data-theme=dark]) .markup-pin:hover{background:color-mix(in oklab, var(--markup-brand) 88%, var(--markup-paper))}@media (prefers-color-scheme:dark){:host(:not([data-theme])) .markup-pin:hover{background:color-mix(in oklab, var(--markup-brand) 88%, var(--markup-paper))}}.markup-pin.is-active{background:var(--markup-brand);color:#fff;border-color:var(--markup-paper)}.markup-pin.is-anchor{anchor-name:--markup-active-anchor}.markup-pin.is-unresolved{opacity:.6}.markup-pin-ghost{background:var(--markup-brand);color:#fff;cursor:default;pointer-events:none;animation:1.2s ease-in-out infinite markup-ghost-pulse}.markup-pin-num{pointer-events:none;justify-content:center;align-items:center;display:inline-flex}.markup-pin-count{background:var(--markup-ink);min-width:16px;height:16px;color:var(--markup-paper);font-family:var(--markup-font-mono);text-align:center;border:2px solid var(--markup-paper);pointer-events:none;border-radius:999px;padding:0 4px;font-size:9.5px;font-weight:600;line-height:12px;position:absolute;top:-6px;right:-8px}@keyframes markup-ghost-pulse{0%,to{box-shadow:0 4px 14px -4px #00000059,0 0 #e35d2a66}50%{box-shadow:0 4px 14px -4px #00000059,0 0 0 10px #e35d2a00}}.markup-placement-overlay{background:var(--markup-overlay-tint);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:360px;max-width:calc(100vw - 24px);height:auto;max-height:calc(100dvh - 24px);inset:auto;left:var(--markup-pop-x,0);top:var(--markup-pop-y,0);background:var(--markup-paper);color:var(--markup-ink);border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius);box-shadow:var(--markup-shadow);pointer-events:auto;flex-direction:column;gap:0;margin:0;padding:0;animation:.16s ease-out markup-popover-in;display:flex;position:fixed;overflow:hidden}@supports (anchor-name:--x){.markup-popover{position-anchor:--markup-active-anchor;left:calc(anchor(right) + 8px);top:calc(anchor(top) - 9px);position-try-fallbacks:flip-block, flip-inline, flip-block flip-inline;position-try-order:most-block-size}.markup-popover.is-floating{left:var(--markup-pop-x,0);top:var(--markup-pop-y,0);position-try-fallbacks:none}}.markup-popover.is-hud-hidden{display:none}@keyframes markup-popover-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.markup-popover-header{border-bottom:1px solid var(--markup-border);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.markup-popover.is-dragging .markup-popover-header{cursor:grabbing}.markup-popover-header-actions{align-items:center;gap:4px;display:flex}.markup-popover-title{min-width:0;font-family:var(--markup-font-mono);letter-spacing:.02em;color:var(--markup-muted);white-space:nowrap;text-overflow:ellipsis;flex:auto;font-size:11px;line-height:1;overflow:hidden}.markup-thread-menu{display:flex;position:relative}.markup-thread-menu-list{z-index:10;background:var(--markup-paper);border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius);min-width:160px;box-shadow:var(--markup-shadow);padding:4px;animation:.12s ease-out markup-menu-in;position:absolute;top:calc(100% + 6px);right:0}.markup-thread-menu-item{border-radius:var(--markup-radius-sm);width:100%;color:var(--markup-ink);text-align:left;cursor:pointer;background:0 0;border:none;padding:7px 10px;font-size:13px;transition:background .1s,color .1s;display:block}.markup-thread-menu-item:hover{background:var(--markup-border)}.markup-thread-menu-item.is-danger{color:var(--markup-danger,#dc2626)}.markup-thread-menu-item.is-danger:hover{background:color-mix(in srgb, var(--markup-danger,#dc2626) 10%, transparent)}.markup-thread-menu-item:disabled{opacity:.5;cursor:default}@keyframes markup-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.markup-popover-body{border-top:1px solid var(--markup-border);background:var(--markup-paper);flex-direction:column;gap:6px;padding:10px 12px 8px;display:flex}.markup-popover-header+.markup-popover-body{border-top:none}.markup-popover-byline{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.markup-popover-name{color:var(--markup-ink);font-weight:500}.markup-icon-btn{border-radius:var(--markup-radius-sm);width:24px;height:24px;color:var(--markup-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:background .12s,color .12s,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-edited{color:var(--markup-muted);font-family:var(--markup-font-mono);margin-left:2px;font-size:10.5px}.markup-comment-edited:before{content:\" · \"}.markup-thread-actions{align-items:center;gap:4px;display:flex}.markup-comment-meta .markup-reaction-picker-wrap,.markup-thread-actions{margin-left:auto}.markup-comment-meta .markup-reaction-add{width:22px;height:22px;margin-top:-4px;margin-bottom:-4px}.markup-reaction-picker-wrap>.markup-icon-btn,.markup-comment-menu>.markup-icon-btn{margin-top:-4px;margin-bottom:-4px}.markup-comment-menu.is-up .markup-thread-menu-list{animation-name:markup-menu-in-up;top:auto;bottom:calc(100% + 6px)}.markup-comment-menu.is-side .markup-thread-menu-list{animation-name:markup-menu-in-side;top:-4px;right:calc(100% + 2px)}@keyframes markup-menu-in-side{0%{opacity:0;transform:translate(4px)}to{opacity:1;transform:translate(0)}}@keyframes markup-menu-in-up{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.markup-comment{position:relative}.markup-reactions{flex-wrap:wrap;align-items:center;gap:4px;margin-top:6px;display:flex}.markup-reaction-chip{border:1px solid var(--markup-border);background:var(--markup-surface-3);color:var(--markup-ink);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:2px 7px;font-size:11.5px;line-height:1.2;transition:background .12s,border-color .12s;display:inline-flex}.markup-reaction-chip:hover:not(:disabled){background:var(--markup-hover)}.markup-reaction-chip.is-mine{background:var(--markup-accent-soft);border-color:color-mix(in srgb, var(--markup-brand) 50%, transparent);color:var(--markup-accent-ink)}.markup-reaction-chip.is-mine:hover:not(:disabled){background:color-mix(in srgb, var(--markup-brand) 18%, transparent)}.markup-reaction-chip:disabled{cursor:default;opacity:.6}.markup-reaction-emoji{font-size:13px;line-height:1}.markup-reaction-count{font-family:var(--markup-font-mono);letter-spacing:.04em;color:var(--markup-muted);font-size:10.5px}.markup-reaction-chip.is-mine .markup-reaction-count{color:var(--markup-accent-ink)}.markup-reaction-picker-wrap{opacity:0;flex:none;transition:opacity .12s;display:inline-flex;position:relative}.markup-comment:hover .markup-reaction-picker-wrap,.markup-comment:focus-within .markup-reaction-picker-wrap,.markup-reaction-picker-wrap.is-open{opacity:1}.markup-reaction-add{width:22px;height:22px;color:var(--markup-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;font-size:13px;line-height:1;transition:background .12s,color .12s;display:inline-flex}.markup-reaction-add:hover,.markup-reaction-add.is-open{background:var(--markup-hover);color:var(--markup-ink)}.markup-reaction-picker{z-index:1;border:1px solid var(--markup-border-strong);background:var(--markup-paper);border-radius:8px;gap:2px;padding:4px;animation:.12s markup-menu-in;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 1px 2px #1a16140f,0 8px 28px #1a16141a}.markup-reaction-picker-wrap.is-up .markup-reaction-picker{animation-name:markup-menu-in-up;top:auto;bottom:calc(100% + 6px)}.markup-reaction-picker-wrap.is-side .markup-reaction-picker{animation-name:markup-menu-in-side;top:-4px;right:calc(100% + 2px)}.markup-reaction-picker-item{cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:16px;line-height:1;transition:background .12s;display:inline-flex}.markup-reaction-picker-item:hover{background:color-mix(in srgb, var(--markup-ink) 8%, transparent)}.markup-reaction-picker-item.is-mine{background:color-mix(in srgb, var(--markup-brand) 14%, transparent)}.markup-comment-edit-form{flex-direction:column;gap:6px;display:flex}.markup-comment-edit-actions{justify-content:flex-end;gap:6px;display:flex}.markup-composer{flex-direction:column;display:flex;position:relative}.markup-composer-input{width:100%;min-height:38px;max-height:120px;color:var(--markup-ink);font-family:var(--markup-font);background:0 0;border:none;border-radius:0;padding:2px 0;font-size:13.5px;line-height:19px;transition:none;overflow-y:auto}.markup-composer-input:focus-visible{box-shadow:none;outline:none}.markup-composer-footer-wrap{grid-template-rows:0fr;transition:grid-template-rows .15s;display:grid}.markup-composer.is-filled .markup-composer-footer-wrap{grid-template-rows:1fr}.markup-composer-footer{opacity:0;background:0 0;border:none;border-radius:0;justify-content:space-between;align-items:center;gap:8px;padding:0;transition:opacity .1s;display:flex;overflow:hidden}.markup-composer.is-filled .markup-composer-footer{opacity:1;transition-delay:60ms}.markup-composer-hint{font-family:var(--markup-font-mono);letter-spacing:.04em;color:var(--markup-muted);align-items:center;gap:3px;font-size:10.5px;display:inline-flex}.markup-composer-hint-label{margin-left:2px}.markup-composer-error{color:var(--markup-brand)}.markup-composer-actions{align-items:center;gap:6px;display:flex}.markup-composer .markup-btn-primary{background:var(--markup-ink);height:26px;color:var(--markup-paper);border-radius:6px;padding:0 10px}.markup-composer .markup-btn-primary:hover:not(:disabled){background:color-mix(in srgb, var(--markup-ink) 88%, var(--markup-paper))}.markup-composer-actions-empty{transition:opacity .12s;position:absolute;bottom:0;right:0}.markup-composer.is-filled .markup-composer-actions-empty{opacity:0;pointer-events:none}.markup-author-prompt{flex-direction:column;gap:10px;padding:12px;display:flex}.markup-author-status{color:var(--markup-muted);margin:0;font-size:12px}.markup-input{border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius-sm);background:var(--markup-paper);width:100%;height:36px;color:var(--markup-ink);outline:none;padding:0 10px;font-size:14px;transition:border-color .12s,box-shadow .12s}.markup-input:focus-visible{border-color:var(--markup-brand);box-shadow:0 0 0 3px #e35d2a2e}.markup-btn{border-radius:var(--markup-radius-sm);height:30px;color:var(--markup-ink);cursor:pointer;letter-spacing:-.01em;white-space:nowrap;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:0 8px;font-size:12px;font-weight:500;transition:background .12s,border-color .12s,color .12s,opacity .12s,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);flex-direction:column;justify-content:center;gap:4px;padding:16px;animation:.12s ease-out markup-menu-in;display:flex;position:absolute;inset:0}.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}.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-tb-btn,.markup-tb-badge,.markup-comment,.markup-pin,.markup-icon-btn,.markup-btn,.markup-popover,.markup-pin-ghost,.markup-placement-overlay,.markup-placement-cursor-help,.markup-lightbox-img{transition:none;animation:none}}.markup-mention-chip{background:var(--markup-accent-soft);color:var(--markup-accent-ink);border-radius:3px;padding:0 2px;font-weight:500;display:inline-block}.markup-mention-input{white-space:pre-wrap;overflow-wrap:anywhere;cursor:text;outline:none;position:relative}.markup-mention-input[aria-disabled=true]{opacity:.6;cursor:default}.markup-mention-input[data-empty]:before{content:attr(data-placeholder);color:var(--markup-muted);pointer-events:none;position:absolute;inset:0 auto auto 0}.markup-mention-input .markup-mention-chip{white-space:nowrap;padding:0 3px}.markup-comment-edit-input{border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius-sm);background:var(--markup-paper);width:100%;min-height:58px;max-height:200px;color:var(--markup-ink);font:inherit;padding:8px 10px;font-size:13px;line-height:1.5;overflow-y:auto}.markup-comment-edit-input:focus-visible{border-color:var(--markup-brand);box-shadow:0 0 0 3px #e35d2a2e}.markup-comment-edit-input[data-empty]:before{inset:8px auto auto 10px}.markup-mention-picker{z-index:10;background:var(--markup-paper);border:1px solid var(--markup-border-strong);border-radius:var(--markup-radius-sm);max-height:180px;box-shadow:var(--markup-shadow);margin:0 0 4px;padding:4px;list-style:none;position:absolute;bottom:100%;left:0;right:0;overflow-y:auto}.markup-mention-picker-item{border-radius:var(--markup-radius-sm);cursor:pointer;color:var(--markup-ink);justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.markup-mention-picker-item.is-active{background:color-mix(in srgb, var(--markup-brand) 12%, transparent)}.markup-mention-picker-name{font-weight:500}.markup-mention-picker-trigger{color:var(--markup-muted);font-family:var(--markup-font-mono);font-size:10px}.markup-notifications-panel{max-height:min(60vh,420px);color:var(--markup-ink);flex-direction:column;display:flex}.markup-notifications-panel-header{border-bottom:1px solid var(--markup-border);align-items:center;gap:8px;padding:8px 10px;display:flex}.markup-notifications-panel-header .markup-eyebrow{flex:1}.markup-notifications-panel-actions{align-items:center;gap:8px;display:flex}.markup-notifications-panel-mark-all{color:var(--markup-muted);cursor:pointer;background:0 0;border:none;padding:0;font-size:11px}.markup-notifications-panel-mark-all:hover{color:var(--markup-ink)}.markup-notifications-panel-body{flex:1;overflow-y:auto}.markup-notifications-panel-empty,.markup-notifications-panel-error{text-align:center;color:var(--markup-muted);padding:24px 12px;font-size:12px}.markup-notifications-panel-empty-title{color:var(--markup-ink);margin:0 0 4px;font-weight:500}.markup-notifications-panel-empty-sub{color:var(--markup-muted);margin:0;line-height:1.4}.markup-notifications-panel-error{color:var(--markup-danger,#b91c1c)}.markup-notifications-panel-list{margin:0;padding:4px;list-style:none}.markup-notifications-panel-row{border-radius:var(--markup-radius-sm);text-align:start;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:none;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.markup-notifications-panel-row:hover{background:color-mix(in srgb, var(--markup-brand) 8%, transparent)}.markup-notifications-panel-row.is-unread{background:color-mix(in srgb, var(--markup-brand) 5%, transparent)}.markup-notifications-panel-meta{align-items:center;gap:6px;font-size:11px;display:flex}.markup-notifications-panel-dot{background:var(--markup-brand);border-radius:999px;flex-shrink:0;width:6px;height:6px}.markup-notifications-panel-actor{font-weight:600}.markup-notifications-panel-sep{color:var(--markup-muted)}.markup-notifications-panel-time{color:var(--markup-muted);font-family:var(--markup-font-mono);font-size:10px}.markup-notifications-panel-thread{color:var(--markup-muted);margin:0;font-size:12px}.markup-notifications-panel-thread-title{color:var(--markup-ink)}.markup-notifications-panel-excerpt{color:color-mix(in srgb, var(--markup-ink) 80%, transparent);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:12px;font-style:italic;display:-webkit-box;overflow:hidden}.markup-panel-pop{z-index:11;pointer-events:auto;width:380px;max-width:calc(100vw - 24px);position:fixed;bottom:76px}.markup-panel-pop[data-panel=privacy]{width:340px}.markup-panel-pop[data-panel=shortcuts]{width:320px}.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%;animation:.14s cubic-bezier(.2,.7,.2,1) markup-pop-in;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-pop[data-pop=privacy],.markup-pop[data-pop=shortcuts]{padding:0}.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-body{flex:1;padding:4px 14px 14px;overflow-y:auto}.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}", fe = 1e4, P = 20, pe = 60, me = null, he = [], F = null, ge = !1, _e = ve();
252
+ function ve() {
253
253
  return typeof crypto < "u" && typeof crypto.randomUUID == "function" ? crypto.randomUUID() : `s-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 10)}`;
254
254
  }
255
- function be(e) {
256
- if (he = e, !e) {
257
- ge = [], P &&= (clearTimeout(P), null);
255
+ function ye(e) {
256
+ if (me = e, !e) {
257
+ he = [], F &&= (clearTimeout(F), null);
258
258
  return;
259
259
  }
260
260
  Se();
261
261
  }
262
- function F(e, t) {
263
- if (he && !(ge.length >= me)) {
264
- if (ge.push({
262
+ function be(e, t) {
263
+ if (me && !(he.length >= pe)) {
264
+ if (he.push({
265
265
  name: e,
266
266
  properties: t,
267
267
  timestamp: Date.now()
268
- }), ge.length >= N) {
268
+ }), he.length >= P) {
269
269
  xe();
270
270
  return;
271
271
  }
272
- P ||= setTimeout(() => {
273
- P = null, xe();
274
- }, pe);
272
+ F ||= setTimeout(() => {
273
+ F = null, xe();
274
+ }, fe);
275
275
  }
276
276
  }
277
277
  async function xe() {
278
- if (!he || ge.length === 0) return;
279
- let e = ge.splice(0, N);
280
- P &&= (clearTimeout(P), null);
278
+ if (!me || he.length === 0) return;
279
+ let e = he.splice(0, P);
280
+ F &&= (clearTimeout(F), null);
281
281
  try {
282
- await fetch(`${he.apiUrl.replace(/\/+$/, "")}/widget/events`, {
282
+ await fetch(`${me.apiUrl.replace(/\/+$/, "")}/widget/events`, {
283
283
  method: "POST",
284
284
  headers: {
285
285
  "content-type": "application/json",
286
- "x-markup-api-key": he.apiKey
286
+ "x-markup-api-key": me.apiKey
287
287
  },
288
288
  body: JSON.stringify({
289
- sessionId: ve,
290
- widgetVersion: he.widgetVersion,
289
+ sessionId: _e,
290
+ widgetVersion: me.widgetVersion,
291
291
  events: e.map((e) => ({
292
292
  name: e.name,
293
293
  properties: e.properties,
@@ -297,13 +297,13 @@ async function xe() {
297
297
  keepalive: !0
298
298
  });
299
299
  } catch {}
300
- he && ge.length > 0 && !P && (P = setTimeout(() => {
301
- P = null, xe();
302
- }, pe));
300
+ me && he.length > 0 && !F && (F = setTimeout(() => {
301
+ F = null, xe();
302
+ }, fe));
303
303
  }
304
304
  function Se() {
305
- if (_e || typeof window > "u") return;
306
- _e = !0;
305
+ if (ge || typeof window > "u") return;
306
+ ge = !0;
307
307
  let e = () => void xe();
308
308
  window.addEventListener("pagehide", e), document.addEventListener("visibilitychange", () => {
309
309
  document.visibilityState === "hidden" && e();
@@ -5331,14 +5331,16 @@ var Ys = "https://markup.pixelmatters.dev/docs/install#9-screenshots-privacy";
5331
5331
  function Xs({ pageX: e, pageY: t, authorName: n, isVerified: r, isIdentityResolving: i, isSigningIn: a, isPending: o, error: s, screenshot: c, isScreenshotCapturing: l, screenshotFailed: u, screenshotRedactedCount: d, screenshotRedactedSelectors: f, members: p = [], onAuthor: m, onSignIn: h, onSubmit: g, onClose: _ }) {
5332
5332
  let v = H(null);
5333
5333
  bs(v, !0);
5334
- let y = H(!1), [b, x] = B(!1), C = U(() => {
5335
- y.current ? x(!0) : _();
5336
- }, [_]), w = U(() => {
5337
- x(!1), v.current?.querySelector(".markup-mention-input")?.focus();
5338
- }, []), [T, E] = B(!1), [D, O] = B(!1), ee = xs(c), [k, A] = B(null), { onPointerDown: j, isDragging: te } = _s({
5334
+ let y = H(!1), b = H(!1), [x, C] = B(!1), w = U((e) => {
5335
+ b.current = e, C(e);
5336
+ }, []), T = U(() => {
5337
+ b.current || (y.current ? w(!0) : _());
5338
+ }, [_, w]), E = U(() => {
5339
+ w(!1), v.current?.querySelector(".markup-mention-input")?.focus();
5340
+ }, [w]), [D, O] = B(!1), [ee, k] = B(!1), A = xs(c), j = H(null), [M, N] = B(null), { onPointerDown: te, isDragging: ne } = _s({
5339
5341
  targetRef: v,
5340
5342
  shouldStart: (e) => !e.target?.closest("button, a, input, textarea, select"),
5341
- onMove: A
5343
+ onMove: N
5342
5344
  });
5343
5345
  V(() => {
5344
5346
  let e = v.current;
@@ -5350,50 +5352,46 @@ function Xs({ pageX: e, pageY: t, authorName: n, isVerified: r, isIdentityResolv
5350
5352
  if (!e) return;
5351
5353
  function t(t) {
5352
5354
  if (!t.composedPath().includes(e)) {
5353
- if (b) {
5355
+ if (b.current) {
5354
5356
  t.preventDefault(), t.stopPropagation();
5355
5357
  return;
5356
5358
  }
5357
- y.current && (t.preventDefault(), t.stopPropagation()), C();
5359
+ y.current && (t.preventDefault(), t.stopPropagation()), T();
5358
5360
  }
5359
5361
  }
5360
5362
  function n(e) {
5361
- e.key !== "Escape" || e.defaultPrevented || (e.preventDefault(), b ? w() : C());
5363
+ e.key !== "Escape" || e.defaultPrevented || j.current?.open || (e.preventDefault(), b.current ? E() : T());
5362
5364
  }
5363
5365
  return document.addEventListener("click", t, !0), document.addEventListener("keydown", n), () => {
5364
5366
  document.removeEventListener("click", t, !0), document.removeEventListener("keydown", n);
5365
5367
  };
5366
- }, [
5367
- b,
5368
- C,
5369
- w
5370
- ]), V(() => {
5371
- b && v.current?.querySelector(".markup-discard-confirm-keep")?.focus();
5372
- }, [b]);
5373
- let M = Zs(e - window.scrollX + 16, 12, window.innerWidth - 320 - 12), ne = Zs(t - window.scrollY - 16, 12, window.innerHeight - 220), re = typeof window < "u" ? window.location.href : "", ie = c != null, ae = l || ie || u, oe = T && ie;
5368
+ }, [T, E]), V(() => {
5369
+ x && v.current?.querySelector(".markup-discard-confirm-keep")?.focus();
5370
+ }, [x]);
5371
+ let re = Zs(e - window.scrollX + 16, 12, window.innerWidth - 320 - 12), ie = Zs(t - window.scrollY - 16, 12, window.innerHeight - 220), ae = typeof window < "u" ? window.location.href : "", oe = c != null, se = l || oe || u, ce = D && oe;
5374
5372
  return /* @__PURE__ */ Q("div", {
5375
5373
  ref: v,
5376
- class: Z("markup-popover", k && "is-floating", te && "is-dragging"),
5374
+ class: Z("markup-popover", M && "is-floating", ne && "is-dragging"),
5377
5375
  popover: "manual",
5378
5376
  style: {
5379
- "--markup-pop-x": `${k?.left ?? M}px`,
5380
- "--markup-pop-y": `${k?.top ?? ne}px`
5377
+ "--markup-pop-x": `${M?.left ?? re}px`,
5378
+ "--markup-pop-y": `${M?.top ?? ie}px`
5381
5379
  },
5382
5380
  role: "dialog",
5383
5381
  "aria-label": "New markup",
5384
5382
  children: [
5385
5383
  /* @__PURE__ */ Q("header", {
5386
5384
  class: "markup-popover-header",
5387
- onPointerDown: j,
5385
+ onPointerDown: te,
5388
5386
  children: [/* @__PURE__ */ Q("span", {
5389
5387
  class: "markup-popover-title",
5390
- title: re,
5388
+ title: ae,
5391
5389
  children: "New comment"
5392
5390
  }), /* @__PURE__ */ Q("button", {
5393
5391
  type: "button",
5394
5392
  class: "markup-icon-btn",
5395
5393
  "aria-label": "Discard pin",
5396
- onClick: C,
5394
+ onClick: T,
5397
5395
  children: /* @__PURE__ */ Q(qo, { size: 16 })
5398
5396
  })]
5399
5397
  }),
@@ -5427,66 +5425,80 @@ function Xs({ pageX: e, pageY: t, authorName: n, isVerified: r, isIdentityResolv
5427
5425
  submitLabel: "Post markup",
5428
5426
  isPending: o,
5429
5427
  error: s,
5430
- onSubmit: (e) => g(e, T && ie),
5428
+ onSubmit: (e) => g(e, D && oe),
5431
5429
  onDirtyChange: (e) => {
5432
5430
  y.current = e;
5433
5431
  },
5434
5432
  members: p
5435
5433
  }),
5436
- ae ? /* @__PURE__ */ Q("div", {
5437
- class: Z("markup-screenshot-row", u && "is-failed", oe && "is-attached"),
5434
+ se ? /* @__PURE__ */ Q("div", {
5435
+ class: Z("markup-screenshot-row", u && "is-failed", ce && "is-attached"),
5438
5436
  children: [/* @__PURE__ */ Q("div", {
5439
5437
  class: "markup-screenshot-row-head",
5440
- children: [l ? /* @__PURE__ */ Q("span", {
5441
- class: "markup-screenshot-status",
5442
- children: [
5443
- /* @__PURE__ */ Q("input", {
5444
- type: "checkbox",
5445
- class: "markup-screenshot-checkbox",
5446
- disabled: !0
5447
- }),
5448
- /* @__PURE__ */ Q(Zo, { size: 12 }),
5449
- /* @__PURE__ */ Q("span", { children: "Capturing…" })
5450
- ]
5451
- }) : u ? /* @__PURE__ */ Q("span", {
5452
- class: "markup-screenshot-status",
5453
- title: "This page has something the capture can't read, often a third-party image. Your comment will post without a screenshot.",
5454
- children: [/* @__PURE__ */ Q(Zo, { size: 12 }), /* @__PURE__ */ Q("span", { children: "Screenshot unavailable" })]
5455
- }) : /* @__PURE__ */ Q("label", {
5456
- class: "markup-screenshot-toggle",
5457
- children: [
5458
- /* @__PURE__ */ Q("input", {
5459
- type: "checkbox",
5460
- class: "markup-screenshot-checkbox",
5461
- checked: T,
5462
- onChange: (e) => E(e.currentTarget.checked)
5463
- }),
5464
- /* @__PURE__ */ Q(Zo, { size: 12 }),
5465
- /* @__PURE__ */ Q("span", { children: "Attach screenshot" }),
5466
- oe && ee ? /* @__PURE__ */ Q("img", {
5438
+ children: [
5439
+ l ? /* @__PURE__ */ Q("span", {
5440
+ class: "markup-screenshot-status",
5441
+ children: [
5442
+ /* @__PURE__ */ Q("input", {
5443
+ type: "checkbox",
5444
+ class: "markup-screenshot-checkbox",
5445
+ disabled: !0
5446
+ }),
5447
+ /* @__PURE__ */ Q(Zo, { size: 12 }),
5448
+ /* @__PURE__ */ Q("span", { children: "Capturing…" })
5449
+ ]
5450
+ }) : u ? /* @__PURE__ */ Q("span", {
5451
+ class: "markup-screenshot-status",
5452
+ title: "This page has something the capture can't read, often a third-party image. Your comment will post without a screenshot.",
5453
+ children: [/* @__PURE__ */ Q(Zo, { size: 12 }), /* @__PURE__ */ Q("span", { children: "Screenshot unavailable" })]
5454
+ }) : /* @__PURE__ */ Q("label", {
5455
+ class: "markup-screenshot-toggle",
5456
+ children: [
5457
+ /* @__PURE__ */ Q("input", {
5458
+ type: "checkbox",
5459
+ class: "markup-screenshot-checkbox",
5460
+ checked: D,
5461
+ onChange: (e) => O(e.currentTarget.checked)
5462
+ }),
5463
+ /* @__PURE__ */ Q(Zo, { size: 12 }),
5464
+ /* @__PURE__ */ Q("span", { children: "Attach screenshot" })
5465
+ ]
5466
+ }),
5467
+ ce && A ? /* @__PURE__ */ Q("a", {
5468
+ class: "markup-screenshot-thumb-link",
5469
+ href: A,
5470
+ target: "_blank",
5471
+ rel: "noopener",
5472
+ title: "Preview screenshot",
5473
+ "aria-label": "Preview screenshot",
5474
+ onClick: (e) => {
5475
+ e.metaKey || e.ctrlKey || e.shiftKey || e.altKey || e.button !== 0 || (e.preventDefault(), j.current?.showModal());
5476
+ },
5477
+ children: /* @__PURE__ */ Q("img", {
5467
5478
  class: "markup-screenshot-thumb",
5468
- src: ee,
5469
- alt: "Screenshot preview"
5470
- }) : null
5471
- ]
5472
- }), oe && d > 0 ? /* @__PURE__ */ Q("button", {
5473
- type: "button",
5474
- class: "markup-screenshot-redacted-chip",
5475
- "aria-expanded": D,
5476
- onClick: () => O((e) => !e),
5477
- children: [
5478
- /* @__PURE__ */ Q("em", {
5479
- class: "markup-screenshot-redacted-arrow",
5480
- children: D ? "▾" : "▸"
5481
- }),
5482
- d,
5483
- " ",
5484
- d === 1 ? "field" : "fields",
5485
- " ",
5486
- "redacted"
5487
- ]
5488
- }) : null]
5489
- }), oe ? /* @__PURE__ */ Q(S, { children: [D && d > 0 ? /* @__PURE__ */ Q("div", {
5479
+ src: A,
5480
+ alt: ""
5481
+ })
5482
+ }) : null,
5483
+ ce && d > 0 ? /* @__PURE__ */ Q("button", {
5484
+ type: "button",
5485
+ class: "markup-screenshot-redacted-chip",
5486
+ "aria-expanded": ee,
5487
+ onClick: () => k((e) => !e),
5488
+ children: [
5489
+ /* @__PURE__ */ Q("em", {
5490
+ class: "markup-screenshot-redacted-arrow",
5491
+ children: ee ? "▾" : "▸"
5492
+ }),
5493
+ d,
5494
+ " ",
5495
+ d === 1 ? "field" : "fields",
5496
+ " ",
5497
+ "redacted"
5498
+ ]
5499
+ }) : null
5500
+ ]
5501
+ }), ce ? /* @__PURE__ */ Q(S, { children: [ee && d > 0 ? /* @__PURE__ */ Q("div", {
5490
5502
  class: "markup-screenshot-redacted-list",
5491
5503
  children: f.map((e) => /* @__PURE__ */ Q("code", {
5492
5504
  class: "markup-screenshot-redacted-selector",
@@ -5509,7 +5521,26 @@ function Xs({ pageX: e, pageY: t, authorName: n, isVerified: r, isIdentityResolv
5509
5521
  }) : null
5510
5522
  ]
5511
5523
  }),
5512
- b ? /* @__PURE__ */ Q("div", {
5524
+ ce && A ? /* @__PURE__ */ Q("dialog", {
5525
+ ref: j,
5526
+ class: "markup-lightbox",
5527
+ onClick: () => j.current?.close(),
5528
+ children: [/* @__PURE__ */ Q("button", {
5529
+ type: "button",
5530
+ class: "markup-lightbox-close markup-icon-btn",
5531
+ "aria-label": "Close screenshot",
5532
+ onClick: (e) => {
5533
+ e.stopPropagation(), j.current?.close();
5534
+ },
5535
+ children: /* @__PURE__ */ Q(qo, { size: 16 })
5536
+ }), /* @__PURE__ */ Q("img", {
5537
+ class: "markup-lightbox-img",
5538
+ src: A,
5539
+ alt: "Screenshot preview",
5540
+ onClick: (e) => e.stopPropagation()
5541
+ })]
5542
+ }) : null,
5543
+ x ? /* @__PURE__ */ Q("div", {
5513
5544
  class: "markup-discard-confirm",
5514
5545
  role: "alertdialog",
5515
5546
  "aria-labelledby": "markup-discard-confirm-title",
@@ -5530,7 +5561,7 @@ function Xs({ pageX: e, pageY: t, authorName: n, isVerified: r, isIdentityResolv
5530
5561
  children: [/* @__PURE__ */ Q("button", {
5531
5562
  type: "button",
5532
5563
  class: "markup-btn markup-btn-primary markup-discard-confirm-keep",
5533
- onClick: w,
5564
+ onClick: E,
5534
5565
  children: "Keep editing"
5535
5566
  }), /* @__PURE__ */ Q("button", {
5536
5567
  type: "button",
@@ -6042,22 +6073,39 @@ function sc({ pageX: e, pageY: t }) {
6042
6073
  //#endregion
6043
6074
  //#region src/runtime/ui/placement-overlay.tsx
6044
6075
  function cc({ onPlace: e, onCancel: t }) {
6045
- rt(() => {
6046
- function e(e) {
6076
+ let n = H(null);
6077
+ return rt(() => {
6078
+ let r = n.current?.getRootNode() ?? null, i = (e) => r !== null && e.composedPath().includes(r);
6079
+ function a(e) {
6047
6080
  e.key === "Escape" && t();
6048
6081
  }
6049
- return window.addEventListener("keydown", e), () => window.removeEventListener("keydown", e);
6050
- }, [t]);
6051
- function n(t) {
6052
- t.stopPropagation(), t.preventDefault(), e(vi(t, document.elementsFromPoint(t.clientX, t.clientY).find((e) => !e.shadowRoot) ?? null), t.clientX, t.clientY);
6053
- }
6054
- function r(e) {
6055
- e.preventDefault(), e.stopPropagation();
6056
- }
6057
- return /* @__PURE__ */ Q("div", {
6082
+ function o(e) {
6083
+ i(e) || (e.preventDefault(), e.stopPropagation());
6084
+ }
6085
+ function s(t) {
6086
+ i(t) || (t.preventDefault(), t.stopPropagation(), e(vi(t), t.clientX, t.clientY));
6087
+ }
6088
+ let c = { capture: !0 }, l = [
6089
+ "pointerdown",
6090
+ "pointerup",
6091
+ "mousedown",
6092
+ "mouseup",
6093
+ "dblclick",
6094
+ "auxclick",
6095
+ "contextmenu"
6096
+ ];
6097
+ window.addEventListener("keydown", a);
6098
+ for (let e of l) window.addEventListener(e, o, c);
6099
+ window.addEventListener("click", s, c);
6100
+ let u = lc();
6101
+ return () => {
6102
+ window.removeEventListener("keydown", a);
6103
+ for (let e of l) window.removeEventListener(e, o, c);
6104
+ window.removeEventListener("click", s, c), u();
6105
+ };
6106
+ }, [e, t]), /* @__PURE__ */ Q("div", {
6058
6107
  class: "markup-placement-overlay",
6059
- onPointerDown: r,
6060
- onClick: n,
6108
+ ref: n,
6061
6109
  role: "presentation",
6062
6110
  children: /* @__PURE__ */ Q("div", {
6063
6111
  class: "markup-placement-cursor-help",
@@ -6065,9 +6113,20 @@ function cc({ onPlace: e, onCancel: t }) {
6065
6113
  })
6066
6114
  });
6067
6115
  }
6116
+ function lc() {
6117
+ let e = "html, html * { cursor: crosshair !important; }";
6118
+ if ("adoptedStyleSheets" in document && "replaceSync" in CSSStyleSheet.prototype) {
6119
+ let t = new CSSStyleSheet();
6120
+ return t.replaceSync(e), document.adoptedStyleSheets = [...document.adoptedStyleSheets, t], () => {
6121
+ document.adoptedStyleSheets = document.adoptedStyleSheets.filter((e) => e !== t);
6122
+ };
6123
+ }
6124
+ let t = document.createElement("style");
6125
+ return t.textContent = e, document.head.appendChild(t), () => t.remove();
6126
+ }
6068
6127
  //#endregion
6069
6128
  //#region src/runtime/ui/privacy-panel.tsx
6070
- function lc({ identity: e, apiUrl: t, autoCapture: n, autoCaptureLocked: r, isForgettingMe: i, forgetMeError: a, onForgetMe: o, onClose: s }) {
6129
+ function uc({ identity: e, apiUrl: t, autoCapture: n, autoCaptureLocked: r, isForgettingMe: i, forgetMeError: a, onForgetMe: o, onClose: s }) {
6071
6130
  let [c, l] = B(!1), u = Yi(e), d = e.kind === "verified", f = d ? e.identity.email : void 0, p = e.kind === "anon";
6072
6131
  return /* @__PURE__ */ Q("div", {
6073
6132
  class: "markup-panel",
@@ -6167,7 +6226,7 @@ function lc({ identity: e, apiUrl: t, autoCapture: n, autoCaptureLocked: r, isFo
6167
6226
  "Only ",
6168
6227
  /* @__PURE__ */ Q("span", {
6169
6228
  class: "markup-panel-mono",
6170
- children: uc(t)
6229
+ children: dc(t)
6171
6230
  }),
6172
6231
  ". No analytics, no ad tech, no third-party requests from the widget. If the widget itself crashes it posts the error, this page's URL and your user-agent to that same host, never your identity or what you were writing."
6173
6232
  ]
@@ -6203,7 +6262,7 @@ function lc({ identity: e, apiUrl: t, autoCapture: n, autoCaptureLocked: r, isFo
6203
6262
  })]
6204
6263
  });
6205
6264
  }
6206
- function uc(e) {
6265
+ function dc(e) {
6207
6266
  try {
6208
6267
  return new URL(e).host;
6209
6268
  } catch {
@@ -6212,7 +6271,7 @@ function uc(e) {
6212
6271
  }
6213
6272
  //#endregion
6214
6273
  //#region src/runtime/ui/shortcuts-panel.tsx
6215
- function dc({ onClose: e }) {
6274
+ function fc({ onClose: e }) {
6216
6275
  let { mod: t, enter: n } = Wo();
6217
6276
  return /* @__PURE__ */ Q("div", {
6218
6277
  class: "markup-panel",
@@ -6307,14 +6366,14 @@ function dc({ onClose: e }) {
6307
6366
  }
6308
6367
  //#endregion
6309
6368
  //#region src/runtime/ui/thread-popover.tsx
6310
- var fc = [
6369
+ var pc = [
6311
6370
  "👍",
6312
6371
  "❤️",
6313
6372
  "🎉",
6314
6373
  "😮",
6315
6374
  "😄",
6316
6375
  "❓"
6317
- ], pc = Ur({
6376
+ ], mc = Ur({
6318
6377
  none: {
6319
6378
  "toggle-thread-menu": () => ({
6320
6379
  kind: "thread-menu",
@@ -6370,8 +6429,8 @@ var fc = [
6370
6429
  dismiss: () => ({ kind: "none" })
6371
6430
  }
6372
6431
  });
6373
- function mc({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIdentityResolving: i, isSigningIn: a, canDelete: o, isPending: s, error: c, isHidden: l = !1, members: u = [], onAuthor: d, onSignIn: f, onClose: p, onReply: m, onEditComment: h, onDeleteComment: g, onToggleReaction: _, onResolve: v, onDelete: y }) {
6374
- let b = H(null), x = H(null), S = H(null), C = H(null), [w, T] = Wr(pc, { kind: "none" }), [E, D] = B(null), { onPointerDown: O, isDragging: ee } = _s({
6432
+ function hc({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIdentityResolving: i, isSigningIn: a, canDelete: o, isPending: s, error: c, isHidden: l = !1, members: u = [], onAuthor: d, onSignIn: f, onClose: p, onReply: m, onEditComment: h, onDeleteComment: g, onToggleReaction: _, onResolve: v, onDelete: y }) {
6433
+ let b = H(null), x = H(null), S = H(null), C = H(null), [w, T] = Wr(mc, { kind: "none" }), [E, D] = B(null), { onPointerDown: O, isDragging: ee } = _s({
6375
6434
  targetRef: b,
6376
6435
  shouldStart: (e) => !e.target?.closest("button, a, input, textarea, select"),
6377
6436
  onMove: D
@@ -6398,12 +6457,12 @@ function mc({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
6398
6457
  V(() => {
6399
6458
  j.current ??= A.at(-1)?.createdAt ?? 0;
6400
6459
  }, [A]);
6401
- let te = H(!0);
6460
+ let M = H(!0);
6402
6461
  V(() => {
6403
6462
  let e = x.current;
6404
6463
  if (e) {
6405
- if (te.current) {
6406
- te.current = !1, e.scrollTop = e.scrollHeight;
6464
+ if (M.current) {
6465
+ M.current = !1, e.scrollTop = e.scrollHeight;
6407
6466
  return;
6408
6467
  }
6409
6468
  e.scrollHeight - e.scrollTop - e.clientHeight < 80 && (e.scrollTop = e.scrollHeight);
@@ -6419,15 +6478,15 @@ function mc({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
6419
6478
  }
6420
6479
  return e.addEventListener("toggle", t), () => e.removeEventListener("toggle", t);
6421
6480
  }, [p]);
6422
- let M = it(() => {
6481
+ let N = it(() => {
6423
6482
  let t = yi({
6424
6483
  anchorX: e.anchorX,
6425
6484
  anchorY: e.anchorY,
6426
6485
  anchorSelector: e.anchorSelector
6427
6486
  });
6428
6487
  return {
6429
- left: vc(t.pageX - window.scrollX + 16, 12, window.innerWidth - 320 - 12),
6430
- top: vc(t.pageY - window.scrollY - 16, 12, window.innerHeight - 200)
6488
+ left: yc(t.pageX - window.scrollX + 16, 12, window.innerWidth - 320 - 12),
6489
+ top: yc(t.pageY - window.scrollY - 16, 12, window.innerHeight - 200)
6431
6490
  };
6432
6491
  }, [
6433
6492
  e.anchorX,
@@ -6440,8 +6499,8 @@ function mc({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
6440
6499
  class: Z("markup-popover", E && "is-floating", ee && "is-dragging", l && "is-hud-hidden"),
6441
6500
  popover: "auto",
6442
6501
  style: {
6443
- "--markup-pop-x": `${E?.left ?? M.left}px`,
6444
- "--markup-pop-y": `${E?.top ?? M.top}px`
6502
+ "--markup-pop-x": `${E?.left ?? N.left}px`,
6503
+ "--markup-pop-y": `${E?.top ?? N.top}px`
6445
6504
  },
6446
6505
  role: "dialog",
6447
6506
  "aria-label": "Markup thread",
@@ -6515,10 +6574,10 @@ function mc({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
6515
6574
  return /* @__PURE__ */ Q("li", {
6516
6575
  class: Z("markup-comment", j.current != null && t.createdAt > j.current && "is-new"),
6517
6576
  children: [
6518
- /* @__PURE__ */ Q(yc, {
6577
+ /* @__PURE__ */ Q(bc, {
6519
6578
  name: t.authorName,
6520
6579
  image: t.authorImage,
6521
- tone: xc(t.authorClientId ?? t.authorName)
6580
+ tone: Sc(t.authorClientId ?? t.authorName)
6522
6581
  }),
6523
6582
  /* @__PURE__ */ Q("div", {
6524
6583
  class: "markup-comment-meta",
@@ -6537,18 +6596,18 @@ function mc({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
6537
6596
  /* @__PURE__ */ Q("time", {
6538
6597
  class: "markup-comment-time",
6539
6598
  datetime: new Date(t.createdAt).toISOString(),
6540
- title: Cc(t.createdAt),
6541
- children: Sc(t.createdAt)
6599
+ title: wc(t.createdAt),
6600
+ children: Cc(t.createdAt)
6542
6601
  }),
6543
6602
  t.editedAt == null ? null : /* @__PURE__ */ Q("time", {
6544
6603
  class: "markup-comment-edited",
6545
6604
  datetime: new Date(t.editedAt).toISOString(),
6546
- title: Cc(t.editedAt),
6605
+ title: wc(t.editedAt),
6547
6606
  children: "edited"
6548
6607
  }),
6549
6608
  /* @__PURE__ */ Q("div", {
6550
6609
  class: "markup-thread-actions",
6551
- children: [!k && !l ? /* @__PURE__ */ Q(hc, {
6610
+ children: [!k && !l ? /* @__PURE__ */ Q(gc, {
6552
6611
  comment: t,
6553
6612
  pickerOpen: m,
6554
6613
  pickerDirection: v,
@@ -6695,7 +6754,7 @@ function mc({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
6695
6754
  alt: "Screenshot"
6696
6755
  })
6697
6756
  }) : null,
6698
- !l && t.reactions.length > 0 ? /* @__PURE__ */ Q(gc, {
6757
+ !l && t.reactions.length > 0 ? /* @__PURE__ */ Q(_c, {
6699
6758
  comment: t,
6700
6759
  isResolved: k,
6701
6760
  onToggle: (e) => _(t._id, e)
@@ -6759,7 +6818,7 @@ function mc({ thread: e, authorName: t, currentClientId: n, isVerified: r, isIde
6759
6818
  ]
6760
6819
  });
6761
6820
  }
6762
- function hc({ comment: e, pickerOpen: t, pickerDirection: n, pickerSide: r, pickerRef: i, onPickerClick: a, onPickerSelect: o }) {
6821
+ function gc({ comment: e, pickerOpen: t, pickerDirection: n, pickerSide: r, pickerRef: i, onPickerClick: a, onPickerSelect: o }) {
6763
6822
  return /* @__PURE__ */ Q("div", {
6764
6823
  class: Z("markup-reaction-picker-wrap", t && "is-open", t && n === "up" && "is-up", r && "is-side"),
6765
6824
  ref: i,
@@ -6773,7 +6832,7 @@ function hc({ comment: e, pickerOpen: t, pickerDirection: n, pickerSide: r, pick
6773
6832
  }), t ? /* @__PURE__ */ Q("div", {
6774
6833
  class: "markup-reaction-picker",
6775
6834
  role: "menu",
6776
- children: fc.map((t) => /* @__PURE__ */ Q("button", {
6835
+ children: pc.map((t) => /* @__PURE__ */ Q("button", {
6777
6836
  type: "button",
6778
6837
  role: "menuitem",
6779
6838
  class: Z("markup-reaction-picker-item", (e.reactions.find((e) => e.emoji === t)?.mine ?? !1) && "is-mine"),
@@ -6783,11 +6842,11 @@ function hc({ comment: e, pickerOpen: t, pickerDirection: n, pickerSide: r, pick
6783
6842
  }) : null]
6784
6843
  });
6785
6844
  }
6786
- function gc({ comment: e, isResolved: t, onToggle: n }) {
6845
+ function _c({ comment: e, isResolved: t, onToggle: n }) {
6787
6846
  return /* @__PURE__ */ Q("div", {
6788
6847
  class: "markup-reactions",
6789
6848
  children: e.reactions.map((e) => {
6790
- let r = _c(e.reactors, e.mine, e.count, e.emoji);
6849
+ let r = vc(e.reactors, e.mine, e.count, e.emoji);
6791
6850
  return /* @__PURE__ */ Q("button", {
6792
6851
  type: "button",
6793
6852
  class: Z("markup-reaction-chip", e.mine && "is-mine"),
@@ -6808,14 +6867,14 @@ function gc({ comment: e, isResolved: t, onToggle: n }) {
6808
6867
  })
6809
6868
  });
6810
6869
  }
6811
- function _c(e, t, n, r) {
6870
+ function vc(e, t, n, r) {
6812
6871
  let i = e.slice(), a = i.length + +!!t, o = Math.max(0, n - a);
6813
6872
  return o > 0 && i.push(`${o} other${o === 1 ? "" : "s"}`), t && i.push("you"), i.length === 0 ? `${n} reacted with ${r}` : `${i.length === 1 ? i[0] : `${i.slice(0, -1).join(", ")} and ${i[i.length - 1]}`} reacted with ${r}`;
6814
6873
  }
6815
- function vc(e, t, n) {
6874
+ function yc(e, t, n) {
6816
6875
  return Math.max(t, Math.min(n, e));
6817
6876
  }
6818
- function yc({ name: e, image: t, tone: n }) {
6877
+ function bc({ name: e, image: t, tone: n }) {
6819
6878
  let [r, i] = B(null);
6820
6879
  return /* @__PURE__ */ Q("span", {
6821
6880
  class: "markup-comment-avatar",
@@ -6831,11 +6890,11 @@ function yc({ name: e, image: t, tone: n }) {
6831
6890
  onError: () => i(t)
6832
6891
  }) : /* @__PURE__ */ Q("span", {
6833
6892
  class: "markup-avatar-initials",
6834
- children: bc(e)
6893
+ children: xc(e)
6835
6894
  })
6836
6895
  });
6837
6896
  }
6838
- function bc(e) {
6897
+ function xc(e) {
6839
6898
  let t = e.trim();
6840
6899
  if (!t) return "??";
6841
6900
  let n = t.split(/\s+/).filter(Boolean), r = n[0] ?? "";
@@ -6843,12 +6902,12 @@ function bc(e) {
6843
6902
  let i = n[n.length - 1] ?? "";
6844
6903
  return ((r[0] ?? "") + (i[0] ?? "")).toUpperCase();
6845
6904
  }
6846
- function xc(e) {
6905
+ function Sc(e) {
6847
6906
  let t = 0;
6848
6907
  for (let n = 0; n < e.length; n++) t = t * 31 + e.charCodeAt(n) | 0;
6849
6908
  return Math.abs(t) % 5 + 1;
6850
6909
  }
6851
- function Sc(e) {
6910
+ function Cc(e) {
6852
6911
  let t = Date.now() - e, n = Math.floor(t / 1e3);
6853
6912
  if (n < 60) return "just now";
6854
6913
  let r = Math.floor(n / 60);
@@ -6865,7 +6924,7 @@ function Sc(e) {
6865
6924
  year: "numeric"
6866
6925
  });
6867
6926
  }
6868
- function Cc(e) {
6927
+ function wc(e) {
6869
6928
  return new Date(e).toLocaleDateString([], {
6870
6929
  month: "long",
6871
6930
  day: "numeric",
@@ -6876,7 +6935,7 @@ function Cc(e) {
6876
6935
  }
6877
6936
  //#endregion
6878
6937
  //#region src/runtime/ui/toolbar.tsx
6879
- function wc({ isActive: e, onToggle: t, onHide: n, position: r = "bottom-right", unreadCount: i = 0, showInbox: a = !1, onOpenInbox: o, inboxOpen: s = !1, pinsVisible: c = !0, onTogglePins: l, identityButton: u, overflowButton: d }) {
6938
+ function Tc({ isActive: e, onToggle: t, onHide: n, position: r = "bottom-right", unreadCount: i = 0, showInbox: a = !1, onOpenInbox: o, inboxOpen: s = !1, pinsVisible: c = !0, onTogglePins: l, identityButton: u, overflowButton: d }) {
6880
6939
  let f = H(0);
6881
6940
  i > 0 && (f.current = i);
6882
6941
  let p = r === "bottom-left" ? "markup-toolbar-left" : r === "bottom-center" ? "markup-toolbar-center" : "markup-toolbar-right";
@@ -6953,7 +7012,7 @@ function wc({ isActive: e, onToggle: t, onHide: n, position: r = "bottom-right",
6953
7012
  }
6954
7013
  //#endregion
6955
7014
  //#region src/runtime/ui/app.tsx
6956
- function Tc(e) {
7015
+ function Ec(e) {
6957
7016
  let t = {
6958
7017
  clientId: `markup_user_${e.identity.id}`,
6959
7018
  name: e.identity.name,
@@ -6979,17 +7038,17 @@ function Tc(e) {
6979
7038
  } : {}
6980
7039
  };
6981
7040
  }
6982
- function Ec() {
7041
+ function Dc() {
6983
7042
  let e = document.activeElement;
6984
7043
  for (; e && e.shadowRoot && e.shadowRoot.activeElement;) e = e.shadowRoot.activeElement;
6985
7044
  if (!e) return !1;
6986
7045
  let t = e.tagName;
6987
7046
  return t === "INPUT" || t === "TEXTAREA" || t === "SELECT" || e.isContentEditable;
6988
7047
  }
6989
- function Dc() {
7048
+ function Oc() {
6990
7049
  return window.location.host + window.location.pathname;
6991
7050
  }
6992
- var Oc = Ur({
7051
+ var kc = Ur({
6993
7052
  visible: {
6994
7053
  "hide-with-toast": () => ({ kind: "hidden-with-toast" }),
6995
7054
  toggle: () => ({ kind: "hidden" })
@@ -7000,26 +7059,26 @@ var Oc = Ur({
7000
7059
  },
7001
7060
  hidden: { toggle: () => ({ kind: "visible" }) }
7002
7061
  });
7003
- function kc(e) {
7062
+ function Ac(e) {
7004
7063
  return qi(e), e;
7005
7064
  }
7006
- var Ac = Ur({
7065
+ var jc = Ur({
7007
7066
  unresolved: {
7008
- "mint-success": (e, t) => kc({
7067
+ "mint-success": (e, t) => Ac({
7009
7068
  kind: "anon",
7010
7069
  identity: t.identity
7011
7070
  }),
7012
- "signed-in": (e, t) => kc({
7071
+ "signed-in": (e, t) => Ac({
7013
7072
  kind: "verified",
7014
7073
  identity: t.identity
7015
7074
  })
7016
7075
  },
7017
7076
  anon: {
7018
- "signed-in": (e, t) => kc({
7077
+ "signed-in": (e, t) => Ac({
7019
7078
  kind: "verified",
7020
7079
  identity: t.identity
7021
7080
  }),
7022
- "author-set": (e, t) => kc({
7081
+ "author-set": (e, t) => Ac({
7023
7082
  kind: "anon",
7024
7083
  identity: {
7025
7084
  ...e.identity,
@@ -7027,35 +7086,35 @@ var Ac = Ur({
7027
7086
  email: t.email
7028
7087
  }
7029
7088
  }),
7030
- "forget-me": () => kc({ kind: "unresolved" })
7089
+ "forget-me": () => Ac({ kind: "unresolved" })
7031
7090
  },
7032
7091
  verified: {
7033
- "signed-in": (e, t) => kc({
7092
+ "signed-in": (e, t) => Ac({
7034
7093
  kind: "verified",
7035
7094
  identity: t.identity
7036
7095
  }),
7037
- unauthorized: (e) => kc({
7096
+ unauthorized: (e) => Ac({
7038
7097
  kind: "recovering",
7039
7098
  preserved: {
7040
7099
  name: e.identity.name,
7041
7100
  email: e.identity.email
7042
7101
  }
7043
7102
  }),
7044
- "signed-out": () => kc({ kind: "unresolved" })
7103
+ "signed-out": () => Ac({ kind: "unresolved" })
7045
7104
  },
7046
7105
  recovering: {
7047
- "mint-success": (e, t) => kc({
7106
+ "mint-success": (e, t) => Ac({
7048
7107
  kind: "anon",
7049
7108
  identity: t.identity
7050
7109
  }),
7051
- "signed-in": (e, t) => kc({
7110
+ "signed-in": (e, t) => Ac({
7052
7111
  kind: "verified",
7053
7112
  identity: t.identity
7054
7113
  })
7055
7114
  }
7056
7115
  });
7057
- function jc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r, dashboardUrl: i }) {
7058
- let [a, o] = B(Dc), [s, c] = B([]), [l, u] = B(!1), d = it(() => Ki(), []), [f, p] = Wr(Ac, d.state), [m, h] = B(null);
7116
+ function Mc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r, dashboardUrl: i }) {
7117
+ let [a, o] = B(Oc), [s, c] = B([]), [l, u] = B(!1), d = it(() => Ki(), []), [f, p] = Wr(jc, d.state), [m, h] = B(null);
7059
7118
  V(() => {
7060
7119
  let n = !1;
7061
7120
  return Mi(e, t).then((e) => {
@@ -7103,15 +7162,15 @@ function jc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7103
7162
  e = !0;
7104
7163
  };
7105
7164
  }, [E]);
7106
- let [A, j] = B(0), [te, M] = B([]), [ne, re] = B(!1), [ie, ae] = B(void 0), [oe, se] = B(!1), ce = U(() => {
7107
- re(!0), ae(void 0), E.listNotifications().then((e) => {
7108
- M(e.notifications);
7165
+ let [A, j] = B(0), [M, N] = B([]), [te, ne] = B(!1), [re, ie] = B(void 0), [ae, oe] = B(!1), se = U(() => {
7166
+ ne(!0), ie(void 0), E.listNotifications().then((e) => {
7167
+ N(e.notifications);
7109
7168
  }).catch((e) => {
7110
- ae(e instanceof Error ? e.message : "Failed to load.");
7169
+ ie(e instanceof Error ? e.message : "Failed to load.");
7111
7170
  }).finally(() => {
7112
- re(!1);
7171
+ ne(!1);
7113
7172
  });
7114
- }, [E]), le = Zr(), ue = Zr(), de = Zr(), fe = Zr(), pe = Zr(), { run: N, reset: me } = le, { run: he } = ue, { run: ge, reset: P } = de, { run: _e } = fe, { run: ve } = pe, ye = pe.isPending, be = le.isPending, xe = le.error ?? ue.error ?? de.error, [Se, Ce] = Wr(Oc, { kind: "visible" }), we = Se.kind !== "visible", [Te, Ee] = B(0), De = H(null), Oe = Yi(f), ke = f.kind === "verified", Ae = f.kind === "unresolved" || f.kind === "recovering", je = Ji(f);
7173
+ }, [E]), ce = Zr(), le = Zr(), ue = Zr(), de = Zr(), fe = Zr(), { run: P, reset: pe } = ce, { run: me } = le, { run: he, reset: F } = ue, { run: ge } = de, { run: _e } = fe, ve = fe.isPending, ye = ce.isPending, xe = ce.error ?? le.error ?? ue.error, [Se, Ce] = Wr(kc, { kind: "visible" }), we = Se.kind !== "visible", [Te, Ee] = B(0), De = H(null), Oe = Yi(f), ke = f.kind === "verified", Ae = f.kind === "unresolved" || f.kind === "recovering", je = Ji(f);
7115
7174
  V(() => {
7116
7175
  if (f.kind !== "unresolved" && f.kind !== "recovering") return;
7117
7176
  let e = f.kind === "recovering" ? f.preserved : d.preserved, t = !1, n = null, r = 1e3;
@@ -7150,7 +7209,7 @@ function jc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7150
7209
  }, [e]);
7151
7210
  let L = H(!1);
7152
7211
  V(() => {
7153
- if (!(!Me || !I)) return me(), P(), Me.onUpdate(Nn("widget/queries:subscribeThreadsForRoute"), {
7212
+ if (!(!Me || !I)) return pe(), F(), Me.onUpdate(Nn("widget/queries:subscribeThreadsForRoute"), {
7154
7213
  subscriptionToken: I,
7155
7214
  route: a,
7156
7215
  viewerClientId: je
@@ -7162,8 +7221,8 @@ function jc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7162
7221
  I,
7163
7222
  a,
7164
7223
  je,
7165
- me,
7166
- P
7224
+ pe,
7225
+ F
7167
7226
  ]), V(() => {
7168
7227
  if (f.kind !== "verified") {
7169
7228
  j(0);
@@ -7187,7 +7246,7 @@ function jc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7187
7246
  }), history.replaceState(null, "", window.location.pathname + window.location.search);
7188
7247
  }
7189
7248
  L.current = !0;
7190
- }, [s, l]), V(() => zi(() => o(Dc())), []), V(() => {
7249
+ }, [s, l]), V(() => zi(() => o(Oc())), []), V(() => {
7191
7250
  function e(e) {
7192
7251
  e.key === "." && (e.metaKey || e.ctrlKey) && (e.altKey || e.shiftKey || (e.preventDefault(), Ce({ type: "toggle" })));
7193
7252
  }
@@ -7212,11 +7271,11 @@ function jc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7212
7271
  };
7213
7272
  }, []);
7214
7273
  let Pe = U(() => {
7215
- me(), P(), F("comment_started"), O({ kind: "placing" });
7216
- }, [me, P]);
7274
+ pe(), F(), be("comment_started"), O({ kind: "placing" });
7275
+ }, [pe, F]);
7217
7276
  V(() => {
7218
7277
  function e(e) {
7219
- e.key === "c" && (e.metaKey || e.ctrlKey || e.altKey || e.shiftKey || D.kind === "idle" && (we || Ec() || (e.preventDefault(), Pe())));
7278
+ e.key === "c" && (e.metaKey || e.ctrlKey || e.altKey || e.shiftKey || D.kind === "idle" && (we || Dc() || (e.preventDefault(), Pe())));
7220
7279
  }
7221
7280
  return window.addEventListener("keydown", e), () => window.removeEventListener("keydown", e);
7222
7281
  }, [
@@ -7225,8 +7284,8 @@ function jc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7225
7284
  Pe
7226
7285
  ]);
7227
7286
  let Fe = U(() => {
7228
- O({ kind: "idle" }), me(), P();
7229
- }, [me, P]), Ie = H(0), Le = U((e, t, n) => {
7287
+ O({ kind: "idle" }), pe(), F();
7288
+ }, [pe, F]), Ie = H(0), Le = U((e, t, n) => {
7230
7289
  let i = t + window.scrollX, a = n + window.scrollY, o = ++Ie.current;
7231
7290
  if (r?.enabled === !1 || !b) {
7232
7291
  O({
@@ -7270,7 +7329,7 @@ function jc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7270
7329
  screenshotFailed: e == null,
7271
7330
  screenshotRedactedCount: e?.redactedCount ?? 0,
7272
7331
  screenshotRedactedSelectors: e?.redactedSelectors ?? []
7273
- }), F("screenshot_captured", { ok: e != null });
7332
+ }), be("screenshot_captured", { ok: e != null });
7274
7333
  });
7275
7334
  }, [r, b]), Re = U((e, t) => {
7276
7335
  p({
@@ -7278,9 +7337,9 @@ function jc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7278
7337
  name: e,
7279
7338
  email: t
7280
7339
  });
7281
- }, [p]), ze = ue.isPending, Be = U(async () => {
7282
- F("sign_in_started"), await he(async () => {
7283
- let n = Tc(await ta({
7340
+ }, [p]), ze = le.isPending, Be = U(async () => {
7341
+ be("sign_in_started"), await me(async () => {
7342
+ let n = Ec(await ta({
7284
7343
  apiUrl: e,
7285
7344
  apiKey: t,
7286
7345
  useCookies: m === !0
@@ -7289,18 +7348,18 @@ function jc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7289
7348
  p({
7290
7349
  type: "signed-in",
7291
7350
  identity: n
7292
- }), F("sign_in_completed");
7351
+ }), be("sign_in_completed");
7293
7352
  });
7294
7353
  }, [
7295
7354
  e,
7296
7355
  t,
7297
7356
  m,
7298
- he,
7357
+ me,
7299
7358
  p
7300
7359
  ]), Ve = U(async (e, t) => {
7301
7360
  if (D.kind !== "composing-new") return;
7302
7361
  let n = Xi(f);
7303
- n && await N(async () => {
7362
+ n && await P(async () => {
7304
7363
  let r;
7305
7364
  if (t && D.screenshot) {
7306
7365
  let { uploadUrl: e } = await E.getScreenshotUploadUrl(), t;
@@ -7335,7 +7394,7 @@ function jc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7335
7394
  mentions: i.length > 0 ? i : void 0,
7336
7395
  screenshotStorageId: r
7337
7396
  });
7338
- c((e) => [...e, o.thread]), F("comment_submitted", {
7397
+ c((e) => [...e, o.thread]), be("comment_submitted", {
7339
7398
  hasScreenshot: r != null,
7340
7399
  hasMentions: i.length > 0
7341
7400
  }), O({
@@ -7348,30 +7407,30 @@ function jc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7348
7407
  f,
7349
7408
  D,
7350
7409
  a,
7351
- N
7410
+ P
7352
7411
  ]), He = U(async () => {
7353
7412
  if (D.kind !== "thread") return;
7354
7413
  let e = D.threadId;
7355
- await N(async () => {
7414
+ await P(async () => {
7356
7415
  await E.deleteThread(e), c((t) => t.filter((t) => t._id !== e)), O({ kind: "idle" });
7357
7416
  });
7358
7417
  }, [
7359
7418
  E,
7360
7419
  D,
7361
- N
7420
+ P
7362
7421
  ]), Ue = U(async () => {
7363
7422
  if (D.kind !== "thread") return;
7364
7423
  let e = D.threadId;
7365
- await N(async () => {
7366
- await E.resolveThread(e, je), c((t) => t.filter((t) => t._id !== e)), F("thread_resolved"), O({ kind: "idle" });
7424
+ await P(async () => {
7425
+ await E.resolveThread(e, je), c((t) => t.filter((t) => t._id !== e)), be("thread_resolved"), O({ kind: "idle" });
7367
7426
  });
7368
7427
  }, [
7369
7428
  E,
7370
7429
  D,
7371
7430
  je,
7372
- N
7431
+ P
7373
7432
  ]), We = U((e) => {
7374
- if (e.readAt ?? (j((e) => Math.max(0, e - 1)), M((t) => t.map((t) => t._id === e._id ? {
7433
+ if (e.readAt ?? (j((e) => Math.max(0, e - 1)), N((t) => t.map((t) => t._id === e._id ? {
7375
7434
  ...t,
7376
7435
  readAt: Date.now()
7377
7436
  } : t)), E.markNotificationRead(e._id).catch(() => {})), s.some((t) => t._id === e.threadId)) O({
@@ -7383,33 +7442,33 @@ function jc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7383
7442
  t && (t.hash = `markup-thread=${e.threadId}`, window.location.href = t.toString());
7384
7443
  }
7385
7444
  }, [E, s]), R = U(() => {
7386
- se(!0), j(0), M((e) => e.map((e) => e.readAt == null ? {
7445
+ oe(!0), j(0), N((e) => e.map((e) => e.readAt == null ? {
7387
7446
  ...e,
7388
7447
  readAt: Date.now()
7389
- } : e)), E.markAllNotificationsRead().catch(() => {}).finally(() => se(!1));
7448
+ } : e)), E.markAllNotificationsRead().catch(() => {}).finally(() => oe(!1));
7390
7449
  }, [E]), Ge = U(async (e) => {
7391
7450
  if (D.kind !== "thread") return;
7392
7451
  let t = Xi(f);
7393
7452
  if (!t) return;
7394
7453
  let n = D.threadId;
7395
- await N(async () => {
7454
+ await P(async () => {
7396
7455
  let r = qr(e), i = await E.addComment(n, {
7397
7456
  body: e,
7398
7457
  authorName: t.name,
7399
7458
  authorEmail: t.email,
7400
7459
  mentions: r.length > 0 ? r : void 0
7401
7460
  });
7402
- c((e) => e.map((e) => e._id === n ? i.thread : e)), F("reply_submitted", { hasMentions: r.length > 0 });
7461
+ c((e) => e.map((e) => e._id === n ? i.thread : e)), be("reply_submitted", { hasMentions: r.length > 0 });
7403
7462
  });
7404
7463
  }, [
7405
7464
  E,
7406
7465
  f,
7407
7466
  D,
7408
- N
7467
+ P
7409
7468
  ]), Ke = U(async (e, t) => {
7410
7469
  if (D.kind !== "thread" || f.kind !== "anon" && f.kind !== "verified") return;
7411
7470
  let n = D.threadId;
7412
- await N(async () => {
7471
+ await P(async () => {
7413
7472
  let r = qr(t), i = await E.editComment(n, e, {
7414
7473
  body: t,
7415
7474
  mentions: r.length > 0 ? r : void 0
@@ -7420,11 +7479,11 @@ function jc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7420
7479
  E,
7421
7480
  f,
7422
7481
  D,
7423
- N
7482
+ P
7424
7483
  ]), qe = U(async (e) => {
7425
7484
  if (D.kind !== "thread" || f.kind !== "anon" && f.kind !== "verified") return;
7426
7485
  let t = D.threadId;
7427
- await N(async () => {
7486
+ await P(async () => {
7428
7487
  let n = await E.deleteComment(t, e);
7429
7488
  c((e) => e.map((e) => e._id === t ? n.thread : e));
7430
7489
  });
@@ -7432,32 +7491,32 @@ function jc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7432
7491
  E,
7433
7492
  f,
7434
7493
  D,
7435
- N
7494
+ P
7436
7495
  ]), Je = U(async (e, t) => {
7437
7496
  if (D.kind !== "thread") return;
7438
7497
  let n = Xi(f);
7439
7498
  if (!n) return;
7440
7499
  let r = D.threadId;
7441
- await ge(async () => {
7500
+ await he(async () => {
7442
7501
  let i = await E.toggleReaction(e, {
7443
7502
  emoji: t,
7444
7503
  authorName: n.name
7445
7504
  });
7446
- c((e) => e.map((e) => e._id === r ? i.thread : e)), F("reaction_added");
7505
+ c((e) => e.map((e) => e._id === r ? i.thread : e)), be("reaction_added");
7447
7506
  });
7448
7507
  }, [
7449
7508
  E,
7450
7509
  f,
7451
7510
  D,
7452
- ge
7511
+ he
7453
7512
  ]), [z, Ye] = B(!1), Xe = U(async () => {
7454
- await _e(async () => {
7513
+ await ge(async () => {
7455
7514
  await E.forgetMe(), O({ kind: "idle" }), w(), p({ type: "forget-me" }), Ye(!0);
7456
7515
  });
7457
7516
  }, [
7458
7517
  E,
7459
7518
  w,
7460
- _e,
7519
+ ge,
7461
7520
  p
7462
7521
  ]);
7463
7522
  V(() => {
@@ -7466,12 +7525,12 @@ function jc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7466
7525
  return () => window.clearTimeout(e);
7467
7526
  }, [z]);
7468
7527
  let [Ze, Qe] = B(!1), $e = U(async () => {
7469
- await ve(async () => {
7528
+ await _e(async () => {
7470
7529
  await E.signOut(), O({ kind: "idle" }), p({ type: "signed-out" }), Qe(!0);
7471
7530
  });
7472
7531
  }, [
7473
7532
  E,
7474
- ve,
7533
+ _e,
7475
7534
  p
7476
7535
  ]);
7477
7536
  V(() => {
@@ -7545,7 +7604,7 @@ function jc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7545
7604
  isActive: n,
7546
7605
  isUnresolved: !t.resolved,
7547
7606
  onClick: () => {
7548
- F("thread_opened", { commentCount: r }), O({
7607
+ be("thread_opened", { commentCount: r }), O({
7549
7608
  kind: "thread",
7550
7609
  threadId: e._id
7551
7610
  });
@@ -7560,7 +7619,7 @@ function jc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7560
7619
  onPlace: Le,
7561
7620
  onCancel: Fe
7562
7621
  }) : null,
7563
- D.kind === "thread" && et ? /* @__PURE__ */ Q(mc, {
7622
+ D.kind === "thread" && et ? /* @__PURE__ */ Q(hc, {
7564
7623
  thread: et,
7565
7624
  authorName: Oe,
7566
7625
  currentClientId: je ?? null,
@@ -7568,7 +7627,7 @@ function jc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7568
7627
  isIdentityResolving: Ae,
7569
7628
  isSigningIn: ze,
7570
7629
  canDelete: tt,
7571
- isPending: be,
7630
+ isPending: ye,
7572
7631
  error: xe,
7573
7632
  isHidden: we,
7574
7633
  members: ee,
@@ -7589,7 +7648,7 @@ function jc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7589
7648
  isVerified: ke,
7590
7649
  isIdentityResolving: Ae,
7591
7650
  isSigningIn: ze,
7592
- isPending: be,
7651
+ isPending: ye,
7593
7652
  error: xe,
7594
7653
  screenshot: D.screenshot,
7595
7654
  isScreenshotCapturing: D.isScreenshotCapturing,
@@ -7602,7 +7661,7 @@ function jc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7602
7661
  onSubmit: Ve,
7603
7662
  onClose: Fe
7604
7663
  }) : null,
7605
- !we || D.kind === "placing" || D.kind === "composing-new" ? /* @__PURE__ */ Q(wc, {
7664
+ !we || D.kind === "placing" || D.kind === "composing-new" ? /* @__PURE__ */ Q(Tc, {
7606
7665
  isActive: D.kind === "placing",
7607
7666
  onToggle: () => D.kind === "placing" ? Fe() : Pe(),
7608
7667
  onHide: () => Ce({ type: "hide-with-toast" }),
@@ -7612,7 +7671,7 @@ function jc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7612
7671
  inboxOpen: S === "inbox",
7613
7672
  onOpenInbox: () => {
7614
7673
  let e = S === "inbox" ? null : "inbox";
7615
- C(e), e && (F("notifications_opened", { unreadCount: A }), ce());
7674
+ C(e), e && (be("notifications_opened", { unreadCount: A }), se());
7616
7675
  },
7617
7676
  pinsVisible: v,
7618
7677
  onTogglePins: () => y((e) => !e),
@@ -7620,7 +7679,7 @@ function jc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7620
7679
  identity: f,
7621
7680
  position: g,
7622
7681
  isSigningIn: ze,
7623
- isSigningOut: ye,
7682
+ isSigningOut: ve,
7624
7683
  dashboardUrl: i,
7625
7684
  onSignIn: Be,
7626
7685
  onSignOut: $e,
@@ -7635,7 +7694,7 @@ function jc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7635
7694
  onOpenPrivacy: () => C("privacy"),
7636
7695
  onOpenShortcuts: () => C("shortcuts"),
7637
7696
  onHideForSession: () => Ce({ type: "hide-with-toast" }),
7638
- version: "1.19.0",
7697
+ version: "1.20.0",
7639
7698
  dashboardUrl: i
7640
7699
  })
7641
7700
  }) : null,
@@ -7646,10 +7705,10 @@ function jc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7646
7705
  ignoreToolbarKind: "inbox",
7647
7706
  onClose: w,
7648
7707
  children: /* @__PURE__ */ Q(Qs, {
7649
- items: te,
7650
- isLoading: ne,
7651
- error: ie,
7652
- isMarkingAll: oe,
7708
+ items: M,
7709
+ isLoading: te,
7710
+ error: re,
7711
+ isMarkingAll: ae,
7653
7712
  onBack: w,
7654
7713
  onItemClick: (e) => {
7655
7714
  w(), We(e);
@@ -7662,13 +7721,13 @@ function jc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7662
7721
  label: "Privacy and data",
7663
7722
  position: g,
7664
7723
  onClose: w,
7665
- children: /* @__PURE__ */ Q(lc, {
7724
+ children: /* @__PURE__ */ Q(uc, {
7666
7725
  identity: f,
7667
7726
  apiUrl: e,
7668
7727
  autoCapture: b && r?.enabled !== !1,
7669
7728
  autoCaptureLocked: r?.enabled === !1,
7670
- isForgettingMe: fe.isPending,
7671
- forgetMeError: fe.error,
7729
+ isForgettingMe: de.isPending,
7730
+ forgetMeError: de.error,
7672
7731
  onForgetMe: Xe,
7673
7732
  onClose: w
7674
7733
  })
@@ -7678,15 +7737,15 @@ function jc({ apiUrl: e, apiKey: t, position: n = "bottom-right", screenshots: r
7678
7737
  label: "Keyboard shortcuts",
7679
7738
  position: g,
7680
7739
  onClose: w,
7681
- children: /* @__PURE__ */ Q(dc, { onClose: w })
7740
+ children: /* @__PURE__ */ Q(fc, { onClose: w })
7682
7741
  }) : null,
7683
- Se.kind === "hidden-with-toast" ? /* @__PURE__ */ Q(Mc, { position: g }) : null,
7684
- z ? /* @__PURE__ */ Q(Nc, { position: g }) : null,
7685
- Ze ? /* @__PURE__ */ Q(Pc, { position: g }) : null
7742
+ Se.kind === "hidden-with-toast" ? /* @__PURE__ */ Q(Nc, { position: g }) : null,
7743
+ z ? /* @__PURE__ */ Q(Pc, { position: g }) : null,
7744
+ Ze ? /* @__PURE__ */ Q(Fc, { position: g }) : null
7686
7745
  ]
7687
7746
  });
7688
7747
  }
7689
- function Mc({ position: e }) {
7748
+ function Nc({ position: e }) {
7690
7749
  let { mod: t } = Wo();
7691
7750
  return /* @__PURE__ */ Q("div", {
7692
7751
  class: Z("markup-hud-hidden-toast", e === "bottom-left" ? "markup-hud-hidden-toast-left" : e === "bottom-center" ? "markup-hud-hidden-toast-center" : "markup-hud-hidden-toast-right"),
@@ -7706,7 +7765,7 @@ function Mc({ position: e }) {
7706
7765
  ]
7707
7766
  });
7708
7767
  }
7709
- function Nc({ position: e }) {
7768
+ function Pc({ position: e }) {
7710
7769
  return /* @__PURE__ */ Q("div", {
7711
7770
  class: Z("markup-hud-hidden-toast", e === "bottom-left" ? "markup-hud-hidden-toast-left" : e === "bottom-center" ? "markup-hud-hidden-toast-center" : "markup-hud-hidden-toast-right"),
7712
7771
  role: "status",
@@ -7714,7 +7773,7 @@ function Nc({ position: e }) {
7714
7773
  children: "Forgotten on this site — your name and email were cleared."
7715
7774
  });
7716
7775
  }
7717
- function Pc({ position: e }) {
7776
+ function Fc({ position: e }) {
7718
7777
  return /* @__PURE__ */ Q("div", {
7719
7778
  class: Z("markup-hud-hidden-toast", e === "bottom-left" ? "markup-hud-hidden-toast-left" : e === "bottom-center" ? "markup-hud-hidden-toast-center" : "markup-hud-hidden-toast-right"),
7720
7779
  role: "status",
@@ -7724,52 +7783,52 @@ function Pc({ position: e }) {
7724
7783
  }
7725
7784
  //#endregion
7726
7785
  //#region src/runtime/mount.tsx
7727
- function Fc(e, t) {
7786
+ function Ic(e, t) {
7728
7787
  e.style.position = "fixed", e.style.inset = "0", e.style.zIndex = "2147483647", e.style.pointerEvents = "none", Re(e, t.theme ?? "auto");
7729
7788
  let n = Ue(), r = e.attachShadow({ mode: "open" }), i = document.createElement("style");
7730
- i.textContent = fe, r.appendChild(i);
7789
+ i.textContent = de, r.appendChild(i);
7731
7790
  let a = document.createElement("div");
7732
7791
  a.className = "markup-shadow-root", r.appendChild(a), je({
7733
7792
  apiUrl: t.apiUrl,
7734
7793
  apiKey: t.apiKey,
7735
- widgetVersion: "1.19.0"
7736
- }), be(t.analytics === !1 ? null : {
7794
+ widgetVersion: "1.20.0"
7795
+ }), ye(t.analytics === !1 ? null : {
7737
7796
  apiUrl: t.apiUrl,
7738
7797
  apiKey: t.apiKey,
7739
- widgetVersion: "1.19.0"
7740
- }), F("widget_loaded");
7798
+ widgetVersion: "1.20.0"
7799
+ }), be("widget_loaded");
7741
7800
  let { theme: o, analytics: s, ...c } = t;
7742
- return de(/* @__PURE__ */ Q(Ce, {
7801
+ return ue(/* @__PURE__ */ Q(Ce, {
7743
7802
  onError: (e) => I(e, { context: "render" }),
7744
- children: /* @__PURE__ */ Q(jc, { ...c })
7803
+ children: /* @__PURE__ */ Q(Mc, { ...c })
7745
7804
  }), a), () => {
7746
- n(), je(null), be(null), de(null, a);
7805
+ n(), je(null), ye(null), ue(null, a);
7747
7806
  };
7748
7807
  }
7749
7808
  //#endregion
7750
7809
  //#region src/widget.ts
7751
- var Ic = null, Lc = null, Rc = null, zc = !1;
7752
- function Bc(e) {
7810
+ var Lc = null, Rc = null, zc = null, Bc = !1;
7811
+ function Vc(e) {
7753
7812
  if (!e.apiUrl || !e.apiKey) return console.warn("[markup] init() requires both apiUrl and apiKey, so the widget was not mounted"), () => {};
7754
- e.fab != null && !zc && (zc = !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.")), Vc();
7813
+ e.fab != null && !Bc && (Bc = !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.")), Hc();
7755
7814
  let t = () => {
7756
- if (Rc = null, !document.body) return;
7815
+ if (zc = null, !document.body) return;
7757
7816
  let t = document.createElement("div");
7758
- t.id = "markup-widget", document.body.appendChild(t), Lc = t, Ic = Fc(t, e);
7817
+ t.id = "markup-widget", document.body.appendChild(t), Rc = t, Lc = Ic(t, e);
7759
7818
  };
7760
7819
  if (document.readyState === "loading" || !document.body) {
7761
7820
  let e = () => t();
7762
- Rc = () => document.removeEventListener("DOMContentLoaded", e), document.addEventListener("DOMContentLoaded", e, { once: !0 });
7821
+ zc = () => document.removeEventListener("DOMContentLoaded", e), document.addEventListener("DOMContentLoaded", e, { once: !0 });
7763
7822
  } else t();
7764
- return Vc;
7823
+ return Hc;
7765
7824
  }
7766
- function Vc() {
7767
- Rc &&= (Rc(), null), Ic &&= (Ic(), null), Lc?.parentNode && Lc.parentNode.removeChild(Lc), Lc = null;
7825
+ function Hc() {
7826
+ zc &&= (zc(), null), Lc &&= (Lc(), null), Rc?.parentNode && Rc.parentNode.removeChild(Rc), Rc = null;
7768
7827
  }
7769
7828
  if (typeof document < "u") {
7770
7829
  let e = document.currentScript ?? document.querySelector("script[data-markup-widget=\"true\"]"), t = e?.dataset.apiUrl, n = e?.dataset.apiKey;
7771
7830
  if (t && n) {
7772
- let r = e?.dataset.position, i = e?.dataset.theme, a = e?.dataset.fab, o = e?.dataset.dashboardUrl, s = e?.dataset.analytics !== "false", c = () => Bc({
7831
+ let r = e?.dataset.position, i = e?.dataset.theme, a = e?.dataset.fab, o = e?.dataset.dashboardUrl, s = e?.dataset.analytics !== "false", c = () => Vc({
7773
7832
  apiUrl: t,
7774
7833
  apiKey: n,
7775
7834
  position: r,
@@ -7782,6 +7841,6 @@ if (typeof document < "u") {
7782
7841
  }
7783
7842
  }
7784
7843
  //#endregion
7785
- export { Vc as destroy, Bc as init };
7844
+ export { Hc as destroy, Vc as init };
7786
7845
 
7787
7846
  //# sourceMappingURL=widget.js.map