mesurer-solid 0.1.9 → 0.2.0-beta.1

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/plugins.js CHANGED
@@ -127,21 +127,21 @@ function ee(e, t) {
127
127
  }
128
128
  function N() {
129
129
  if (E) {
130
- P();
130
+ F();
131
131
  return;
132
132
  }
133
133
  T || (T = !0, !O && !U.gt && queueMicrotask(W));
134
134
  }
135
- function te(e) {
135
+ function P(e) {
136
136
  if (E) return;
137
137
  E = !0;
138
138
  let t = "[REACTIVITY_HALTED]";
139
139
  e === void 0 ? console.error(t) : console.error(t, e);
140
140
  }
141
- function P() {
141
+ function F() {
142
142
  D || (D = !0, console.error("[REACTIVITY_HALTED]"));
143
143
  }
144
- var ne = 0, F = class {
144
+ var te = 0, I = class {
145
145
  ke = null;
146
146
  bt = [[], []];
147
147
  vt = [];
@@ -162,7 +162,7 @@ var ne = 0, F = class {
162
162
  let t = this.bt[e - 1];
163
163
  this.bt[e - 1] = [], oe(t, e);
164
164
  }
165
- let t = this.vt, n = ++ne;
165
+ let t = this.vt, n = ++te;
166
166
  for (let r = 0; r < t.length;) {
167
167
  let i = t[r];
168
168
  if (i.kt !== n && (i.kt = n, i.run?.(e), t[r] !== i)) {
@@ -192,7 +192,7 @@ var ne = 0, F = class {
192
192
  r && r.restoreQueues(n);
193
193
  }
194
194
  }
195
- }, I = class e extends F {
195
+ }, L = class e extends I {
196
196
  gt = !1;
197
197
  m = M();
198
198
  static Ce;
@@ -242,7 +242,7 @@ var ne = 0, F = class {
242
242
  let e = M();
243
243
  e.Qt = n.Qt, e.Me = n.Me, e.A = n.A, e.cn = n.cn, ae = this.m = e;
244
244
  }
245
- } else A(this) ? (V(), b.EE >= b.Ve && (ye(b, e.Ce), V())) : (y.size && ye(x, e.Ce), re());
245
+ } else A(this) ? (ne(), b.EE >= b.Ve && (ye(b, e.Ce), ne())) : (y.size && ye(x, e.Ce), re());
246
246
  C++, T = b.EE >= b.Ve, f.size && e.In(1), this.run(1), f.size && e.In(2), this.run(2);
247
247
  } finally {
248
248
  this.gt = !1;
@@ -294,12 +294,12 @@ var ne = 0, F = class {
294
294
  for (let e of f) e.Ne ||= w;
295
295
  }
296
296
  };
297
- function L(e) {
297
+ function R(e) {
298
298
  ae.Qt.push(e);
299
299
  }
300
- var R = !1;
301
- function z(e, t = !1) {
302
- let n = e.Ke || tt, r = e.Le !== void 0, i = R;
300
+ var z = !1;
301
+ function B(e, t = !1) {
302
+ let n = e.Ke || tt, r = e.Le !== void 0, i = z;
303
303
  for (let o = e.o; o !== null; o = o.le) {
304
304
  if (i && (o.fe.se &= ~a), r && o.fe.T & 8) {
305
305
  o.fe.se |= 256;
@@ -308,31 +308,31 @@ function z(e, t = !1) {
308
308
  t && n ? (o.fe.se |= 128, v(o.fe, n)) : t && (o.fe.se |= 128, o.fe.Ke = void 0), fe(o.fe);
309
309
  }
310
310
  }
311
- function B(e) {
311
+ function V(e) {
312
312
  let t = e;
313
313
  if (!t.ce) {
314
- e.De !== o && (e.Ue = e.De, e.De = o), (e.ge || e.pe) && I.un(e);
314
+ e.De !== o && (e.Ue = e.De, e.De = o), (e.ge || e.pe) && L.un(e);
315
315
  return;
316
316
  }
317
- e.De !== o && (e.Ue = e.De, e.De = o, e.Re && e.Re !== 3 && (e.Je = !0)), t.Ee = !1, t.se &= ~i, t.S & 1 || (t.S &= -5), (t.We !== null || t.Qe !== null) && I.me(t, !1, !0), (e.ge || e.pe) && I.un(e);
317
+ e.De !== o && (e.Ue = e.De, e.De = o, e.Re && e.Re !== 3 && (e.Je = !0)), t.Ee = !1, t.se &= ~i, t.S & 1 || (t.S &= -5), (t.We !== null || t.Qe !== null) && L.me(t, !1, !0), (e.ge || e.pe) && L.un(e);
318
318
  }
319
- function V() {
319
+ function ne() {
320
320
  let e = ae.Qt;
321
- for (let t = 0; t < e.length; t++) B(e[t]);
321
+ for (let t = 0; t < e.length; t++) V(e[t]);
322
322
  e.length = 0;
323
323
  }
324
324
  function re(e = null, t = !1) {
325
325
  let n = !t;
326
- n && V(), !t && U.vt.length && H(U);
326
+ n && ne(), !t && U.vt.length && H(U);
327
327
  let r = b.EE >= b.Ve;
328
- if (r && ye(b, I.Ce), n) {
329
- r && V();
328
+ if (r && ye(b, L.Ce), n) {
329
+ r && ne();
330
330
  let t = e ?? U.m;
331
- if (t.Me.length && I.En(t.Me), t.ln.size) {
331
+ if (t.Me.length && L.En(t.Me), t.ln.size) {
332
332
  for (let e of t.ln) e.se & 64 || fe(e);
333
333
  t.ln.clear(), N();
334
334
  }
335
- t.A.length && (I.G(t.A), U.vt.length && H(U)), t.cn.size && I.Dt(t.cn, e), j(), f.size && I.dn(e);
335
+ t.A.length && (L.G(t.A), U.vt.length && H(U)), t.cn.size && L.Dt(t.cn, e), j(), f.size && L.dn(e);
336
336
  }
337
337
  }
338
338
  function H(e) {
@@ -341,7 +341,7 @@ function H(e) {
341
341
  function ie(e) {
342
342
  for (let t = 0; t < e.length; t++) e[t].Ne = w;
343
343
  }
344
- var U = new I(), ae = U.m;
344
+ var U = new L(), ae = U.m;
345
345
  function W(e) {
346
346
  if (e) {
347
347
  O++;
@@ -391,7 +391,7 @@ function ce(e) {
391
391
  break;
392
392
  }
393
393
  }
394
- return t && I.Tn?.(e) && (t = !1), t && (e.fn = !0), t;
394
+ return t && L.Tn?.(e) && (t = !1), t && (e.fn = !0), t;
395
395
  }
396
396
  function le(e) {
397
397
  for (; e.fn && typeof e.fn == "object";) e = e.fn;
@@ -498,7 +498,7 @@ function Se(e, t = !1, n) {
498
498
  if (t) {
499
499
  e.se = r | 64;
500
500
  let t = e;
501
- (t.ge || t.pe) && I.un(t);
501
+ (t.ge || t.pe) && L.un(t);
502
502
  }
503
503
  t && e.ce && (e.Te = null);
504
504
  let i = n ? e.We : e.Fe;
@@ -686,7 +686,7 @@ function Ge(e, t) {
686
686
  He(e, i), n && N();
687
687
  }
688
688
  function Ke(e) {
689
- let t = !1, n, r = /* @__PURE__ */ new Set(), i = I.Se, a = (o) => {
689
+ let t = !1, n, r = /* @__PURE__ */ new Set(), i = L.Se, a = (o) => {
690
690
  if (r.has(o) || !Re(o, e)) return;
691
691
  r.add(o), o.de = C;
692
692
  let s = o.oe?.values().next().value, c = o.S & 2;
@@ -726,11 +726,11 @@ function Je(t, n, r) {
726
726
  Pe(t), Ye(t);
727
727
  let s = h(t);
728
728
  if (s && s.Ae.delete(t), r) r(e), a && Ye(t, !0);
729
- else if (t._e !== void 0) t.De === o && L(t), t.De = e, I.Pe !== null && I.Pe(t, e), _(t) || z(t), t.de = C;
729
+ else if (t._e !== void 0) t.De === o && R(t), t.De = e, L.Pe !== null && L.Pe(t, e), _(t) || B(t), t.de = C;
730
730
  else if (s) {
731
731
  let n = t.Re, r = t.Ue, i = t.be;
732
732
  try {
733
- (!n && a || !i || !i(e, r)) && (t.Ue = e, t.de = C, I.Pe !== null && I.Pe(t, e), z(t, !0));
733
+ (!n && a || !i || !i(e, r)) && (t.Ue = e, t.de = C, L.Pe !== null && L.Pe(t, e), B(t, !0));
734
734
  } catch (e) {
735
735
  Xe(t, 2, e);
736
736
  }
@@ -790,12 +790,12 @@ function Je(t, n, r) {
790
790
  return s;
791
791
  }
792
792
  function Ye(e, t = !1) {
793
- e.oe && ze(e), e.ue &&= !1, e.he = !1, e.S = t ? 0 : e.S & 4, e._ && Ve(e), (e.ge || e.pe) && I.Se(e), e.u && I.Oe !== null && I.Oe(e), e.i && e.i();
793
+ e.oe && ze(e), e.ue &&= !1, e.he = !1, e.S = t ? 0 : e.S & 4, e._ && Ve(e), (e.ge || e.pe) && L.Se(e), e.u && L.Oe !== null && L.Oe(e), e.i && e.i();
794
794
  }
795
795
  function Xe(n, r, i, a, o) {
796
796
  r === 2 && !(i instanceof t) && !(i instanceof e) && (i = new t(n, i));
797
797
  let s = r === 1 && i instanceof e ? i.source : void 0, c = s === n, l = r === 1 && n._e !== void 0 && !c, u = l && _(n);
798
- a || (r === 1 && s ? (Le(n, s), n.S = 1 | n.S & 4, Ve(n, s, i)) : (ze(n), n.S = r | (r === 2 ? 0 : n.S & 4), n._ = i), I.Se !== null && I.Se(n), n.u && I.Oe !== null && I.Oe(n)), o && !a && v(n, o);
798
+ a || (r === 1 && s ? (Le(n, s), n.S = 1 | n.S & 4, Ve(n, s, i)) : (ze(n), n.S = r | (r === 2 ? 0 : n.S & 4), n._ = i), L.Se !== null && L.Se(n), n.u && L.Oe !== null && L.Oe(n)), o && !a && v(n, o);
799
799
  let d = a || u, f = a || l ? void 0 : o;
800
800
  if (n.i) {
801
801
  if (a && r === 1) return;
@@ -808,11 +808,11 @@ function Xe(n, r, i, a, o) {
808
808
  fe(t), N();
809
809
  return;
810
810
  }
811
- !d && !t.Ne && L(t), Xe(t, r, i, d, f);
811
+ !d && !t.Ne && R(t), Xe(t, r, i, d, f);
812
812
  }
813
813
  });
814
814
  }
815
- I.Ce = nt, I.me = Se;
815
+ L.Ce = nt, L.me = Se;
816
816
  var Ze = !1, Qe = !1, $e = !1, et = !1, G = null, tt = null;
817
817
  function nt(t, n = !1) {
818
818
  let r = t.Re;
@@ -823,10 +823,10 @@ function nt(t, n = !1) {
823
823
  Ze = !0;
824
824
  let y = et;
825
825
  if (et = !1, i) {
826
- let e = I.je(t, !0);
826
+ let e = L.je(t, !0);
827
827
  e && (tt = e);
828
828
  } else if (w && !n && w.Me.length) {
829
- let e = I.je(t, !1);
829
+ let e = L.je(t, !1);
830
830
  e && (i = !0, tt = e);
831
831
  }
832
832
  let b = r && r !== 2, x = Qe;
@@ -837,14 +837,14 @@ function nt(t, n = !1) {
837
837
  let e = t.Te, n = t.ce(h), r = typeof n == "object" && !!n, i = t.Te !== e;
838
838
  h = i || !r ? n : Je(t, n), !i && !r && (t.Te = null, t.Ee = !1);
839
839
  }
840
- (t.S !== 0 || t.i !== void 0 || t._ || t.he || t.ue || t.oe !== void 0 || t.ge !== void 0 || t.pe !== void 0 || t.u !== null) && Ye(t, n), t.Ke && I.ze(t);
840
+ (t.S !== 0 || t.i !== void 0 || t._ || t.he || t.ue || t.oe !== void 0 || t.ge !== void 0 || t.pe !== void 0 || t.u !== null) && Ye(t, n), t.Ke && L.ze(t);
841
841
  } catch (n) {
842
842
  let r = n instanceof e;
843
843
  if (r && t.Ee) Be(t, n);
844
844
  else {
845
- r && tt && I.$e(t);
845
+ r && tt && L.$e(t);
846
846
  let e = !1;
847
- r && (t.ue = !0, I.Be !== null && (e = I.Be(t, f))), Xe(t, r ? 1 : 2, n, void 0, r ? t.Ke : void 0), e && I.k(t);
847
+ r && (t.ue = !0, L.Be !== null && (e = L.Be(t, f))), Xe(t, r ? 1 : 2, n, void 0, r ? t.Ke : void 0), e && L.k(t);
848
848
  }
849
849
  } finally {
850
850
  Ze = _, et = y, b && (Qe = x), t.se = 0 | (n ? t.se & 256 : 0), G = m;
@@ -857,16 +857,16 @@ function nt(t, n = !1) {
857
857
  } catch (e) {
858
858
  Xe(t, 2, e);
859
859
  }
860
- if (r && a && (t.Je = !t._, n || t.C.enqueue(r, t.Xe ??= I.et.bind(null, t))), !t._) {
860
+ if (r && a && (t.Je = !t._, n || t.C.enqueue(r, t.Xe ??= L.et.bind(null, t))), !t._) {
861
861
  if (a) {
862
862
  let e = l ? t._e : void 0;
863
- n || r && (w !== t.Ne || w === null) || i ? (t.Ue = h, l && i && (t._e = h === void 0 ? s : h, t.De = o)) : (t.De = h, p && (t.Ee = !0), (w || t.Ne) && I.Pe !== null && I.Pe(t, h)), t.o !== null && (!l || i || t._e !== e) && z(t, i || l);
864
- } else if (l) t.De === o && L(t), t.De = h, p && (t.Ee = !0);
863
+ n || r && (w !== t.Ne || w === null) || i ? (t.Ue = h, l && i && (t._e = h === void 0 ? s : h, t.De = o)) : (t.De = h, p && (t.Ee = !0), (w || t.Ne) && L.Pe !== null && L.Pe(t, h)), t.o !== null && (!l || i || t._e !== e) && B(t, i || l);
864
+ } else if (l) t.De === o && R(t), t.De = h, p && (t.Ee = !0);
865
865
  else if (t.xe != g) for (let e = t.o; e !== null; e = e.le) he(e.fe, de(e.fe));
866
866
  }
867
867
  d !== void 0 && !a && !t._ && Ge(t, d);
868
868
  }
869
- tt = v, (t.De !== o || t.We !== null || t.Qe !== null || t.S & 5) && (!n || t.S & 1) && (!t.Ne || l) && L(t), t.Ne && r && w !== t.Ne && ue(t.Ne, () => nt(t));
869
+ tt = v, (t.De !== o || t.We !== null || t.Qe !== null || t.S & 5) && (!n || t.S & 1) && (!t.Ne || l) && R(t), t.Ne && r && w !== t.Ne && ue(t.Ne, () => nt(t));
870
870
  }
871
871
  function rt(e) {
872
872
  if (e.se & 1) for (let t = e.tt; t; t = t.nt) {
@@ -966,7 +966,7 @@ function st(e, t) {
966
966
  let t = G.Fe;
967
967
  t === null ? G.Fe = e : (e.He = t, t.ct = e, G.Fe = e);
968
968
  }
969
- n && (e.xe = n.xe + 1), I.It !== null && I.It(e), !t?.lazy && nt(e, !0);
969
+ n && (e.xe = n.xe + 1), L.It !== null && L.It(e), !t?.lazy && nt(e, !0);
970
970
  }
971
971
  function ct(e, t, n = null) {
972
972
  let r = {
@@ -987,11 +987,11 @@ function lt(e, t) {
987
987
  return e === t;
988
988
  }
989
989
  function ut(e, t) {
990
- if (I.St === null && !Ze) return e();
990
+ if (L.St === null && !Ze) return e();
991
991
  let n = Ze;
992
992
  Ze = !1;
993
993
  try {
994
- return I.St === null ? e() : I.St(e);
994
+ return L.St === null ? e() : L.St(e);
995
995
  } finally {
996
996
  Ze = n;
997
997
  }
@@ -1000,7 +1000,7 @@ function dt(e, t) {
1000
1000
  e.se & 512 ? (e.se &= -513, nt(e, !0)) : e.se & 64 ? nt(e, !0) : t && rt(e);
1001
1001
  }
1002
1002
  function ft(e) {
1003
- if (et) return I.At(e);
1003
+ if (et) return L.At(e);
1004
1004
  let t = G;
1005
1005
  t?.Nt && (t = t.dt);
1006
1006
  let n = e, r = e.lt || e;
@@ -1013,7 +1013,7 @@ function ft(e) {
1013
1013
  }
1014
1014
  if (r.S & 1) {
1015
1015
  if (t && !(Qe && r.Ne && w !== r.Ne)) {
1016
- if (tt === null || I.Ot(r)) throw !Ze && e !== t && Ie(e, t), r._;
1016
+ if (tt === null || L.Ot(r)) throw !Ze && e !== t && Ie(e, t), r._;
1017
1017
  } else if (t && r !== e && r.S & 4) throw !Ze && e !== t && Ie(e, t), r._;
1018
1018
  else if (!t && r.S & 4) throw r._;
1019
1019
  }
@@ -1022,17 +1022,17 @@ function ft(e) {
1022
1022
  throw r._;
1023
1023
  }
1024
1024
  if (e._e !== void 0 && e._e !== o) return c(e._e);
1025
- if (tt !== null && w !== null && t !== null && I.Rt(e, r, t)) return e.Ue;
1026
- let i = !t || tt !== null && I.Pt(e, r, t) || e.De === o || Qe && e.Ne && w !== e.Ne ? e.Ue : e.De;
1025
+ if (tt !== null && w !== null && t !== null && L.Rt(e, r, t)) return e.Ue;
1026
+ let i = !t || tt !== null && L.Pt(e, r, t) || e.De === o || Qe && e.Ne && w !== e.Ne ? e.Ue : e.De;
1027
1027
  return !t && r === e && typeof n.ce == "function" && e.T & 32 && !(r.S & 1) && !e.o && Fe(e), i;
1028
1028
  }
1029
1029
  function pt(e, t) {
1030
- if (e.Ne && w !== e.Ne && U.initTransition(e.Ne), e._e !== void 0) return I.Gt(e, t);
1030
+ if (e.Ne && w !== e.Ne && U.initTransition(e.Ne), e._e !== void 0) return L.Gt(e, t);
1031
1031
  let n = e.De === o ? e.Ue : e.De;
1032
- return typeof t == "function" && (t = t(n)), e.S & 4 || !e.be || !e.be(n, t) ? (e.De === o && L(e), e.De = t, (e.ge !== void 0 || e.pe !== void 0) && I.Pe !== null && I.Pe(e, t), e.de = C, z(e), N(), t) : t;
1032
+ return typeof t == "function" && (t = t(n)), e.S & 4 || !e.be || !e.be(n, t) ? (e.De === o && R(e), e.De = t, (e.ge !== void 0 || e.pe !== void 0) && L.Pe !== null && L.Pe(e, t), e.de = C, B(e), N(), t) : t;
1033
1033
  }
1034
1034
  function mt(e) {
1035
- ge(e, de(e)), !(e.se & 1024) && e.De === o && (L(e), N()), e.se = e.se & -4 | i;
1035
+ ge(e, de(e)), !(e.se & 1024) && e.De === o && (R(e), N()), e.se = e.se & -4 | i;
1036
1036
  }
1037
1037
  function ht(e, t) {
1038
1038
  let n = pt(e, t);
@@ -1072,7 +1072,7 @@ function bt(e, t) {
1072
1072
  this.S & 2 && (this.Je = !0, this.C.enqueue(this.Re, this.Xe ??= xt.bind(null, this)));
1073
1073
  return;
1074
1074
  }
1075
- if (!this.C.notify(this, 2, 2)) throw te(n(i)), i;
1075
+ if (!this.C.notify(this, 2, 2)) throw P(n(i)), i;
1076
1076
  } else this.Re === 1 && this.C.notify(this, 3, r, i);
1077
1077
  }
1078
1078
  function xt(e) {
@@ -1086,7 +1086,7 @@ function xt(e) {
1086
1086
  e.Tt = void 0, t?.();
1087
1087
  }) : console.error(t);
1088
1088
  } catch (t) {
1089
- if (!e.C.notify(e, 2, 2)) throw te(t), t;
1089
+ if (!e.C.notify(e, 2, 2)) throw P(t), t;
1090
1090
  }
1091
1091
  return;
1092
1092
  }
@@ -1095,12 +1095,12 @@ function xt(e) {
1095
1095
  try {
1096
1096
  r?.(), e.Tt = e.ft(e.Ue, e._t);
1097
1097
  } catch (n) {
1098
- if (e._ = new t(e, n), e.S |= 2, !e.C.notify(e, 2, 2)) throw te(n), n;
1098
+ if (e._ = new t(e, n), e.S |= 2, !e.C.notify(e, 2, 2)) throw P(n), n;
1099
1099
  } finally {
1100
1100
  e._t = e.Ue, e.Je = !1;
1101
1101
  }
1102
1102
  }
1103
- I.et = xt;
1103
+ L.et = xt;
1104
1104
  //#endregion
1105
1105
  //#region ../../node_modules/.bun/@solidjs+signals@2.0.0-rc.0/node_modules/@solidjs/signals/dist/prod/signals.js
1106
1106
  function St(e) {
@@ -2103,40 +2103,202 @@ var ar = (e) => e, or = (e, t = 0, n = 1) => Math.min(n, Math.max(t, e)), sr = (
2103
2103
  e.blue
2104
2104
  ].map((e) => ur(e).toString(16).padStart(2, "0")).join("");
2105
2105
  return e.alpha >= .999 ? `#${t}` : `#${t}${Math.round(e.alpha * 255).toString(16).padStart(2, "0")}`;
2106
- }, fr = () => globalThis.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random()}`, pr = /* @__PURE__ */ new WeakMap(), mr = (e) => (pr.get(e) ?? 0) > 0, hr = /* @__PURE__ */ new WeakMap(), gr = (e) => {
2106
+ }, fr = "mesurer:capture-bridge-ping", pr = "mesurer:capture-bridge-request", mr = "mesurer:capture-bridge-response", hr = (e) => e.__MESURER_HOST__?.captureScreenshot, gr = (e) => {
2107
+ if (e instanceof Blob) return e;
2108
+ if (e instanceof Uint8Array) {
2109
+ let t = new Uint8Array(e.byteLength);
2110
+ return t.set(e), new Blob([t.buffer], { type: "image/png" });
2111
+ }
2112
+ if (e instanceof ArrayBuffer) return new Blob([e.slice(0)], { type: "image/png" });
2113
+ if (e == null) throw Error("Host screenshot capture returned no PNG data.");
2114
+ if (!e.png) throw Error("Host screenshot capture returned unsupported PNG data.");
2115
+ return gr(e.png);
2116
+ }, _r = async (e) => {
2117
+ let t = hr(e);
2118
+ return t ? gr(await t()) : null;
2119
+ }, vr = (e, t, n) => {
2120
+ let r = Math.max(0, Math.min(e.x, t.x, n.width)), i = Math.max(0, Math.min(e.y, t.y, n.height)), a = Math.max(0, Math.min(Math.max(e.x, t.x), n.width)), o = Math.max(0, Math.min(Math.max(e.y, t.y), n.height));
2121
+ return {
2122
+ left: r,
2123
+ top: i,
2124
+ width: Math.max(0, a - r),
2125
+ height: Math.max(0, o - i)
2126
+ };
2127
+ }, yr = async (e, t, n, r) => {
2128
+ let i = await createImageBitmap(e);
2129
+ try {
2130
+ let e = i.width / n.width, a = i.height / n.height, o = Math.max(0, Math.round(t.left * e)), s = Math.max(0, Math.round(t.top * a)), c = Math.max(1, Math.min(i.width - o, Math.round(t.width * e))), l = Math.max(1, Math.min(i.height - s, Math.round(t.height * a))), u = r.createElement("canvas");
2131
+ u.width = c, u.height = l;
2132
+ let d = u.getContext("2d");
2133
+ if (!d) throw Error("Could not crop screenshot");
2134
+ return d.drawImage(i, o, s, c, l, 0, 0, c, l), await new Promise((e, t) => {
2135
+ u.toBlob((n) => {
2136
+ n ? e(n) : t(/* @__PURE__ */ Error("Could not crop screenshot"));
2137
+ }, "image/png");
2138
+ });
2139
+ } finally {
2140
+ i.close();
2141
+ }
2142
+ }, br = async (e, t) => {
2143
+ let n = t.navigator.clipboard, r = globalThis.ClipboardItem;
2144
+ if (!n?.write || !r) throw Error("PNG clipboard copy is not available");
2145
+ await n.write([new r({ "image/png": e })]);
2146
+ }, xr = (e = /* @__PURE__ */ new Date()) => {
2147
+ let t = (e) => String(e).padStart(2, "0");
2148
+ return `mesurer-${e.getFullYear()}-${t(e.getMonth() + 1)}-${t(e.getDate())}-${t(e.getHours())}${t(e.getMinutes())}${t(e.getSeconds())}.png`;
2149
+ }, Sr = (e, t, n, r) => {
2150
+ let i = globalThis.URL.createObjectURL(e), a = n.createElement("a");
2151
+ a.href = i, a.download = t, a.rel = "noopener", n.documentElement.append(a), a.click(), a.remove(), r.setTimeout(() => globalThis.URL.revokeObjectURL(i), 1e3);
2152
+ }, Cr = (e) => new Promise((t) => {
2153
+ e.requestAnimationFrame(() => {
2154
+ e.requestAnimationFrame(() => t());
2155
+ });
2156
+ }), wr = (e) => e.crypto?.randomUUID?.() ?? `mesurer-${Date.now()}-${Math.random().toString(36).slice(2)}`, Tr = (e, t, n = "") => `${e}:${t}:${n}`, Er = (e) => e.location.origin === "null" ? "*" : e.location.origin, Dr = (e, t, n) => {
2157
+ let r = `${t}:${n}:`;
2158
+ return e.startsWith(r) ? e.slice(r.length) : null;
2159
+ }, Or = (e) => new Promise((t) => {
2160
+ let n = wr(e), r = e.location.origin, i = (o) => {
2161
+ o.source === e && o.origin === r && Dr(String(o.data ?? ""), "mesurer:capture-bridge-pong", n) !== null && (e.removeEventListener("message", i), e.clearTimeout(a), t(!0));
2162
+ }, a = e.setTimeout(() => {
2163
+ e.removeEventListener("message", i), t(!1);
2164
+ }, 80);
2165
+ e.addEventListener("message", i), e.postMessage(Tr(fr, n), Er(e));
2166
+ }), kr = (e) => new Promise((t, n) => {
2167
+ let r = wr(e), i = e.location.origin, a = (s) => {
2168
+ if (s.source !== e || s.origin !== i) return;
2169
+ let c = Dr(String(s.data ?? ""), mr, r);
2170
+ if (c === null) return;
2171
+ if (e.removeEventListener("message", a), e.clearTimeout(o), !c.startsWith("ok:")) {
2172
+ t(null);
2173
+ return;
2174
+ }
2175
+ let l = c.slice(3);
2176
+ if (!l) {
2177
+ t(null);
2178
+ return;
2179
+ }
2180
+ e.fetch(l).then((e) => e.blob()).then(t, n);
2181
+ }, o = e.setTimeout(() => {
2182
+ e.removeEventListener("message", a), t(null);
2183
+ }, 4e3);
2184
+ e.addEventListener("message", a), e.postMessage(Tr(pr, r), Er(e));
2185
+ }), Ar = /* @__PURE__ */ new WeakMap(), jr = (e) => {
2186
+ let t = Ar.get(e), n = t?.stream.getVideoTracks()[0];
2187
+ if (!t || !n || n.readyState !== "live") {
2188
+ Ar.delete(e);
2189
+ return;
2190
+ }
2191
+ return t;
2192
+ }, Mr = async (e, t) => {
2193
+ let n = jr(t);
2194
+ if (n) return n;
2195
+ let r = t.navigator.mediaDevices;
2196
+ if (!r?.getDisplayMedia) throw Error("Screenshot capture is unavailable");
2197
+ let i = await r.getDisplayMedia({
2198
+ audio: !1,
2199
+ video: !0,
2200
+ preferCurrentTab: !0,
2201
+ selfBrowserSurface: "include"
2202
+ }), a = i.getVideoTracks()[0];
2203
+ if (!a) throw i.getTracks().forEach((e) => e.stop()), Error("Capture failed");
2204
+ try {
2205
+ let n = e.createElement("video");
2206
+ n.autoplay = !0, n.muted = !0, n.playsInline = !0, n.srcObject = i, await n.play(), (n.videoWidth === 0 || n.videoHeight === 0) && await new Promise((e) => {
2207
+ n.onloadedmetadata = () => e();
2208
+ });
2209
+ let r = {
2210
+ stream: i,
2211
+ video: n
2212
+ };
2213
+ return Ar.set(t, r), a.addEventListener("ended", () => {
2214
+ Ar.get(t) === r && Ar.delete(t);
2215
+ }, { once: !0 }), r;
2216
+ } catch (e) {
2217
+ throw i.getTracks().forEach((e) => e.stop()), e;
2218
+ }
2219
+ }, Nr = (e) => {
2220
+ let t = Ar.get(e);
2221
+ t && (Ar.delete(e), t.video.pause(), t.video.srcObject = null, t.stream.getTracks().forEach((e) => e.stop()));
2222
+ }, Pr = async ({ ownerDocument: e, ownerWindow: t }) => {
2223
+ let { video: n } = await Mr(e, t), r = e.createElement("canvas");
2224
+ r.width = n.videoWidth, r.height = n.videoHeight;
2225
+ let i = r.getContext("2d");
2226
+ if (!i) throw Error("Capture failed");
2227
+ return i.drawImage(n, 0, 0), await new Promise((e, t) => {
2228
+ r.toBlob((n) => {
2229
+ n ? e(n) : t(/* @__PURE__ */ Error("Capture failed"));
2230
+ }, "image/png");
2231
+ });
2232
+ }, Fr = {
2233
+ prepare: async () => void 0,
2234
+ capture: async ({ ownerWindow: e }) => {
2235
+ let t = await _r(e);
2236
+ if (!t) throw Error("Host screenshot capture is unavailable.");
2237
+ return t;
2238
+ },
2239
+ release: () => void 0
2240
+ }, Ir = {
2241
+ prepare: async () => void 0,
2242
+ capture: async ({ ownerWindow: e }) => {
2243
+ let t = await kr(e);
2244
+ if (!t) throw Error("Host screenshot capture failed.");
2245
+ return t;
2246
+ },
2247
+ release: () => void 0
2248
+ }, Lr = {
2249
+ prepare: async ({ ownerDocument: e, ownerWindow: t }) => {
2250
+ await Mr(e, t);
2251
+ },
2252
+ capture: Pr,
2253
+ release: Nr
2254
+ }, Rr = /* @__PURE__ */ new WeakMap(), zr = async (e) => {
2255
+ let t = Rr.get(e.ownerWindow);
2256
+ if (t) return t;
2257
+ let n = Lr;
2258
+ return hr(e.ownerWindow) ? n = Fr : await Or(e.ownerWindow) && (n = Ir), Rr.set(e.ownerWindow, n), n;
2259
+ }, Br = async (e, t) => {
2260
+ let n = {
2261
+ ownerDocument: e,
2262
+ ownerWindow: t
2263
+ };
2264
+ await (await zr(n)).prepare(n);
2265
+ }, Vr = async (e) => (await zr(e)).capture(e), Hr = (e) => {
2266
+ let t = Rr.get(e);
2267
+ Rr.delete(e), t?.release(e);
2268
+ }, Ur = Vr, Wr = () => globalThis.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random()}`, Gr = /* @__PURE__ */ new WeakMap(), Kr = (e) => (Gr.get(e) ?? 0) > 0, qr = /* @__PURE__ */ new WeakMap(), Jr = (e) => {
2107
2269
  let t = e.location.pathname.replace(/\/+$/, "") || "/", n = new URLSearchParams(e.location.search);
2108
2270
  n.sort();
2109
2271
  let r = n.toString(), i = e.location.hash, a = i.startsWith("#/") ? i : "";
2110
2272
  return `${t}${r ? `?${r}` : ""}${a}`;
2111
- }, _r = (e, t) => {
2112
- let n = gr(e);
2273
+ }, Yr = (e, t) => {
2274
+ let n = Jr(e);
2113
2275
  for (let e of t.listeners) e(n);
2114
- }, vr = (e) => {
2115
- let t = hr.get(e);
2276
+ }, Xr = (e) => {
2277
+ let t = qr.get(e);
2116
2278
  if (t) return t;
2117
2279
  let n = e.history, r = n.pushState, i = n.replaceState, a = {
2118
2280
  listeners: /* @__PURE__ */ new Set(),
2119
2281
  pushState: r,
2120
2282
  replaceState: i,
2121
- handleNativeChange: () => _r(e, a)
2283
+ handleNativeChange: () => Yr(e, a)
2122
2284
  };
2123
2285
  return n.pushState = function(...t) {
2124
2286
  let n = r.apply(this, t);
2125
- return _r(e, a), n;
2287
+ return Yr(e, a), n;
2126
2288
  }, n.replaceState = function(...t) {
2127
2289
  let n = i.apply(this, t);
2128
- return _r(e, a), n;
2129
- }, e.addEventListener("popstate", a.handleNativeChange), e.addEventListener("hashchange", a.handleNativeChange), hr.set(e, a), a;
2130
- }, yr = (e, t) => {
2131
- t.listeners.size > 0 || hr.get(e) !== t || (e.history.pushState = t.pushState, e.history.replaceState = t.replaceState, e.removeEventListener("popstate", t.handleNativeChange), e.removeEventListener("hashchange", t.handleNativeChange), hr.delete(e));
2132
- }, br = (e, t) => {
2133
- let n = vr(e);
2290
+ return Yr(e, a), n;
2291
+ }, e.addEventListener("popstate", a.handleNativeChange), e.addEventListener("hashchange", a.handleNativeChange), qr.set(e, a), a;
2292
+ }, Zr = (e, t) => {
2293
+ t.listeners.size > 0 || qr.get(e) !== t || (e.history.pushState = t.pushState, e.history.replaceState = t.replaceState, e.removeEventListener("popstate", t.handleNativeChange), e.removeEventListener("hashchange", t.handleNativeChange), qr.delete(e));
2294
+ }, Qr = (e, t) => {
2295
+ let n = Xr(e);
2134
2296
  n.listeners.add(t);
2135
2297
  let r = !1;
2136
2298
  return () => {
2137
- r || (r = !0, n.listeners.delete(t), yr(e, n));
2299
+ r || (r = !0, n.listeners.delete(t), Zr(e, n));
2138
2300
  };
2139
- }, xr = "--mesurer-nested-scroll-x", Sr = "--mesurer-nested-scroll-y", Cr = (e, t, n, r = {}) => {
2301
+ }, $r = "--mesurer-nested-scroll-x", ei = "--mesurer-nested-scroll-y", ti = (e, t, n, r = {}) => {
2140
2302
  let i = e, a = /* @__PURE__ */ new Map(), o = t.ownerDocument, s = r.trackWindow === !0, c = (e) => {
2141
2303
  if (e.parentElement) return e.parentElement;
2142
2304
  let t = e.getRootNode();
@@ -2162,7 +2324,7 @@ var ar = (e) => e, or = (e, t = 0, n = 1) => Math.min(n, Math.max(t, e)), sr = (
2162
2324
  let i = `${n}px`;
2163
2325
  r !== i && e.style.setProperty(t, i);
2164
2326
  }, g = () => {
2165
- if (!p) for (let e of m()) e.dataset.mesurerNestedScrollCompensation !== "true" && (e.dataset.mesurerNestedScrollCompensation = "true"), h(e, xr, d), h(e, Sr, f);
2327
+ if (!p) for (let e of m()) e.dataset.mesurerNestedScrollCompensation !== "true" && (e.dataset.mesurerNestedScrollCompensation = "true"), h(e, $r, d), h(e, ei, f);
2166
2328
  }, _ = (e, t, n) => {
2167
2329
  let r = t - e.left, i = n - e.top;
2168
2330
  return r === 0 && i === 0 ? !1 : (e.left = t, e.top = n, d -= r, f -= i, !0);
@@ -2195,21 +2357,21 @@ var ar = (e) => e, or = (e, t = 0, n = 1) => Math.min(n, Math.max(t, e)), sr = (
2195
2357
  if (!p) {
2196
2358
  p = !0, s && e.removeEventListener("scroll", y, !0);
2197
2359
  for (let e of a.keys()) e.removeEventListener("scroll", v, !0);
2198
- for (let e of m()) delete e.dataset.mesurerNestedScrollCompensation, e.style.removeProperty(xr), e.style.removeProperty(Sr);
2360
+ for (let e of m()) delete e.dataset.mesurerNestedScrollCompensation, e.style.removeProperty($r), e.style.removeProperty(ei);
2199
2361
  a.clear();
2200
2362
  }
2201
2363
  }
2202
2364
  };
2203
- }, wr = 5;
2204
- Array.from({ length: 801 }, (e, t) => t * wr), Ht(null);
2205
- var Tr = "mesurer-settings-select msr:h-6 msr:w-full msr:appearance-none msr:rounded-control msr:border msr:border-ink-200 msr:bg-white msr:px-1.5 msr:pr-6 msr:text-[11px] msr:outline-none msr:focus:shadow-[inset_0_0_0_1px_var(--msr-accent)]";
2206
- function Er() {
2365
+ }, ni = 5;
2366
+ Array.from({ length: 801 }, (e, t) => t * ni), Ht(null);
2367
+ var ri = "mesurer-settings-select msr:h-6 msr:w-full msr:appearance-none msr:rounded-control msr:border msr:border-ink-200 msr:bg-white msr:px-1.5 msr:pr-6 msr:text-[11px] msr:outline-none msr:focus:shadow-[inset_0_0_0_1px_var(--msr-accent)]";
2368
+ function ii() {
2207
2369
  return Y("span", {
2208
2370
  "aria-hidden": "true",
2209
2371
  class: "msr:pointer-events-none msr:absolute msr:right-2 msr:top-1/2 msr:size-1.5 msr:-translate-y-1/2 msr:rotate-45 msr:border-r msr:border-b msr:border-ink-500"
2210
2372
  });
2211
2373
  }
2212
- function Dr(e) {
2374
+ function ai(e) {
2213
2375
  let t = () => e.variant !== "legacy";
2214
2376
  var n = Y("div"), r = Y("div");
2215
2377
  return X(n, r), Z(r, () => e.left), Z(n, (() => {
@@ -2227,7 +2389,7 @@ function Dr(e) {
2227
2389
  e !== i?.e && Q(n, "class", e, i?.e), t !== i?.t && Q(r, "class", t, i?.t);
2228
2390
  }), n;
2229
2391
  }
2230
- function Or(e) {
2392
+ function oi(e) {
2231
2393
  let t = () => e.variant !== "legacy", n = () => {
2232
2394
  let t = lr(e.value);
2233
2395
  if (t) return t;
@@ -2257,7 +2419,7 @@ function Or(e) {
2257
2419
  e.onChange(n);
2258
2420
  }, v = () => t() ? `msr:col-span-2 msr:grid msr:h-8 msr:w-full ${e.columns ?? "msr:grid-cols-[78px_150px]"} msr:items-center msr:gap-0 msr:text-[12px] msr:text-ink-700` : "msr:col-span-2 msr:grid msr:w-full msr:grid-cols-[78px_156px] msr:items-center msr:gap-3 msr:text-[12px] msr:text-ink-700";
2259
2421
  var y = Y("div"), b = Y("span");
2260
- return X(y, b), Z(b, () => e.label), Z(y, J(Dr, {
2422
+ return X(y, b), Z(b, () => e.label), Z(y, J(ai, {
2261
2423
  get variant() {
2262
2424
  return e.variant;
2263
2425
  },
@@ -2340,7 +2502,7 @@ function Or(e) {
2340
2502
  Q(y, "class", e, t);
2341
2503
  }), y;
2342
2504
  }
2343
- var kr = (e) => (() => {
2505
+ var si = (e) => (() => {
2344
2506
  var t = Y("svg", {
2345
2507
  xmlns: "http://www.w3.org/2000/svg",
2346
2508
  viewBox: "0 0 256 256",
@@ -2355,7 +2517,7 @@ var kr = (e) => (() => {
2355
2517
  }), ({ e, t: n, a: r }, i) => {
2356
2518
  e !== i?.e && Q(t, "width", e, i?.e), n !== i?.t && Q(t, "height", n, i?.t), r !== i?.a && Q(t, "class", r, i?.a);
2357
2519
  }), t;
2358
- })(), Ar = (e) => J(kr, {
2520
+ })(), ci = (e) => J(si, {
2359
2521
  get size() {
2360
2522
  return e.size ?? 8;
2361
2523
  },
@@ -2365,7 +2527,7 @@ var kr = (e) => (() => {
2365
2527
  get children() {
2366
2528
  return Y("path", { d: "M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z" });
2367
2529
  }
2368
- }), jr = (e) => J(kr, {
2530
+ }), li = (e) => J(si, {
2369
2531
  get size() {
2370
2532
  return e.size ?? 12;
2371
2533
  },
@@ -2375,8 +2537,8 @@ var kr = (e) => (() => {
2375
2537
  get children() {
2376
2538
  return Y("path", { d: "M228,128a12,12,0,0,1-12,12H40a12,12,0,0,1,0-24H216A12,12,0,0,1,228,128Z" });
2377
2539
  }
2378
- }), Mr = (e, t, n) => t * 256 / e / n, Nr = (e) => {
2379
- let t = e.size ?? 20, n = Mr(t, e.strokePx ?? 1, e.frameScale ?? 1);
2540
+ }), ui = (e, t, n) => t * 256 / e / n, di = (e) => {
2541
+ let t = e.size ?? 20, n = ui(t, e.strokePx ?? 1, e.frameScale ?? 1);
2380
2542
  var r = Y("svg", {
2381
2543
  xmlns: "http://www.w3.org/2000/svg",
2382
2544
  width: t,
@@ -2400,7 +2562,7 @@ var kr = (e) => (() => {
2400
2562
  return X(r, i), X(r, a), Z(a, () => e.children), q(() => e.class, (e, t) => {
2401
2563
  Q(r, "class", e, t);
2402
2564
  }), r;
2403
- }, Pr = (e) => J(Nr, {
2565
+ }, fi = (e) => J(di, {
2404
2566
  get size() {
2405
2567
  return e.size ?? 20;
2406
2568
  },
@@ -2410,7 +2572,7 @@ var kr = (e) => (() => {
2410
2572
  get children() {
2411
2573
  return Y("path", { d: "M128 48v160M48 128h160" });
2412
2574
  }
2413
- }), Fr = (e) => J(Nr, {
2575
+ }), pi = (e) => J(di, {
2414
2576
  get size() {
2415
2577
  return e.size ?? 20;
2416
2578
  },
@@ -2420,7 +2582,7 @@ var kr = (e) => (() => {
2420
2582
  get children() {
2421
2583
  return Y("path", { d: "M101.33 48v160M154.67 48v160" });
2422
2584
  }
2423
- }), Ir = (e) => J(Nr, {
2585
+ }), mi = (e) => J(di, {
2424
2586
  get size() {
2425
2587
  return e.size ?? 20;
2426
2588
  },
@@ -2430,7 +2592,7 @@ var kr = (e) => (() => {
2430
2592
  get children() {
2431
2593
  return Y("path", { d: "M48 101.33h160M48 154.67h160" });
2432
2594
  }
2433
- }), Lr = (e) => (() => {
2595
+ }), hi = (e) => (() => {
2434
2596
  var t = Y("svg", {
2435
2597
  xmlns: "http://www.w3.org/2000/svg",
2436
2598
  viewBox: "0 0 12 12",
@@ -2449,7 +2611,7 @@ var kr = (e) => (() => {
2449
2611
  }), ({ e, t: n, a: r }, i) => {
2450
2612
  e !== i?.e && Q(t, "width", e, i?.e), n !== i?.t && Q(t, "height", n, i?.t), r !== i?.a && Q(t, "class", r, i?.a);
2451
2613
  }), t;
2452
- })(), Rr = (e) => (() => {
2614
+ })(), gi = (e) => (() => {
2453
2615
  var t = Y("svg", {
2454
2616
  xmlns: "http://www.w3.org/2000/svg",
2455
2617
  viewBox: "0 0 16 16",
@@ -2473,7 +2635,7 @@ var kr = (e) => (() => {
2473
2635
  }), ({ e, t: n, a: r }, i) => {
2474
2636
  e !== i?.e && Q(t, "width", e, i?.e), n !== i?.t && Q(t, "height", n, i?.t), r !== i?.a && Q(t, "class", r, i?.a);
2475
2637
  }), t;
2476
- })(), zr = (e) => (() => {
2638
+ })(), _i = (e) => (() => {
2477
2639
  var t = Y("svg", {
2478
2640
  xmlns: "http://www.w3.org/2000/svg",
2479
2641
  viewBox: "0 0 16 16",
@@ -2497,7 +2659,7 @@ var kr = (e) => (() => {
2497
2659
  }), ({ e, t: n, a: r }, i) => {
2498
2660
  e !== i?.e && Q(t, "width", e, i?.e), n !== i?.t && Q(t, "height", n, i?.t), r !== i?.a && Q(t, "class", r, i?.a);
2499
2661
  }), t;
2500
- })(), Br = (e) => J(kr, {
2662
+ })(), vi = (e) => J(si, {
2501
2663
  get size() {
2502
2664
  return e.size ?? 20;
2503
2665
  },
@@ -2507,7 +2669,7 @@ var kr = (e) => (() => {
2507
2669
  get children() {
2508
2670
  return Y("path", { d: "M216,32H88a8,8,0,0,0-8,8V80H40a8,8,0,0,0-8,8V216a8,8,0,0,0,8,8H168a8,8,0,0,0,8-8V176h40a8,8,0,0,0,8-8V40A8,8,0,0,0,216,32ZM160,208H48V96H160Zm48-48H176V88a8,8,0,0,0-8-8H96V48H208Z" });
2509
2671
  }
2510
- }), Vr = (e) => J(kr, {
2672
+ }), yi = (e) => J(si, {
2511
2673
  get size() {
2512
2674
  return e.size ?? 20;
2513
2675
  },
@@ -2517,7 +2679,7 @@ var kr = (e) => (() => {
2517
2679
  get children() {
2518
2680
  return Y("path", { d: "M229.66,58.34l-32-32a8,8,0,0,0-11.32,0l-96,96A8,8,0,0,0,88,128v32a8,8,0,0,0,8,8h32a8,8,0,0,0,5.66-2.34l96-96A8,8,0,0,0,229.66,58.34ZM124.69,152H104V131.31l64-64L188.69,88ZM200,76.69,179.31,56,192,43.31,212.69,64ZM224,128v80a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V48A16,16,0,0,1,48,32h80a8,8,0,0,1,0,16H48V208H208V128a8,8,0,0,1,16,0Z" });
2519
2681
  }
2520
- }), Hr = (e) => J(kr, {
2682
+ }), bi = (e) => J(si, {
2521
2683
  get size() {
2522
2684
  return e.size ?? 18;
2523
2685
  },
@@ -2527,7 +2689,7 @@ var kr = (e) => (() => {
2527
2689
  get children() {
2528
2690
  return Y("path", { d: "M216,48H176V40a24,24,0,0,0-24-24H104A24,24,0,0,0,80,40v8H40a8,8,0,0,0,0,16h8V208a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V64h8a8,8,0,0,0,0-16ZM96,40a8,8,0,0,1,8-8h48a8,8,0,0,1,8,8v8H96Zm96,168H64V64H192ZM112,104v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm48,0v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Z" });
2529
2691
  }
2530
- }), Ur = (e) => J(kr, {
2692
+ }), xi = (e) => J(si, {
2531
2693
  get size() {
2532
2694
  return e.size ?? 18;
2533
2695
  },
@@ -2537,11 +2699,11 @@ var kr = (e) => (() => {
2537
2699
  get children() {
2538
2700
  return Y("path", { d: "M205.66,194.34a8,8,0,0,1-11.32,11.32L128,139.31,61.66,205.66a8,8,0,0,1-11.32-11.32L116.69,128,50.34,61.66A8,8,0,0,1,61.66,50.34L128,116.69l66.34-66.35a8,8,0,0,1,11.32,11.32L139.31,128Z" });
2539
2701
  }
2540
- }), Wr = (e, t) => {
2702
+ }), Si = (e, t) => {
2541
2703
  let n = t.CSS;
2542
2704
  return n?.escape ? n.escape(e) : e.replace(/[^a-zA-Z0-9_-]/g, (e) => `\\${e}`);
2543
- }, Gr = (e) => (e.textContent ?? "").replace(/\s+/g, " ").trim().slice(0, 200) || null, Kr = (e) => e.nodeType === 9, qr = (e) => e.nodeType === 11;
2544
- function Jr(e) {
2705
+ }, Ci = (e) => (e.textContent ?? "").replace(/\s+/g, " ").trim().slice(0, 200) || null, wi = (e) => e.nodeType === 9, Ti = (e) => e.nodeType === 11;
2706
+ function Ei(e) {
2545
2707
  let t = e.getBoundingClientRect();
2546
2708
  return {
2547
2709
  left: t.left,
@@ -2550,20 +2712,20 @@ function Jr(e) {
2550
2712
  height: t.height
2551
2713
  };
2552
2714
  }
2553
- function Yr(e, t) {
2554
- if (Kr(t)) return !0;
2715
+ function Di(e, t) {
2716
+ if (wi(t)) return !0;
2555
2717
  let n = e;
2556
2718
  for (; n;) {
2557
2719
  if (t === n || t.contains(n)) return !0;
2558
2720
  let e = n.getRootNode();
2559
- if (!qr(e)) return !1;
2721
+ if (!Ti(e)) return !1;
2560
2722
  n = e.host;
2561
2723
  }
2562
2724
  return !1;
2563
2725
  }
2564
- function Xr(e) {
2726
+ function Oi(e) {
2565
2727
  let t = e.ownerDocument.defaultView ?? window;
2566
- if (e.id) return `#${Wr(e.id, t)}`;
2728
+ if (e.id) return `#${Si(e.id, t)}`;
2567
2729
  let n = e.getAttribute("data-testid");
2568
2730
  if (n) return `[data-testid=${JSON.stringify(n)}]`;
2569
2731
  let r = [], i = e;
@@ -2577,7 +2739,7 @@ function Xr(e) {
2577
2739
  }
2578
2740
  return r.join(" > ");
2579
2741
  }
2580
- function Zr(e) {
2742
+ function ki(e) {
2581
2743
  return {
2582
2744
  tag: e.localName,
2583
2745
  id: e.id || null,
@@ -2585,30 +2747,30 @@ function Zr(e) {
2585
2747
  role: e.getAttribute("role"),
2586
2748
  ariaLabel: e.getAttribute("aria-label"),
2587
2749
  classes: [...e.classList],
2588
- text: Gr(e)
2750
+ text: Ci(e)
2589
2751
  };
2590
2752
  }
2591
- function Qr(e) {
2753
+ function Ai(e) {
2592
2754
  return !!(e.id || e.testId || e.role || e.ariaLabel || e.classes.length || e.text);
2593
2755
  }
2594
- function $r(e, t) {
2595
- return e.localName !== t.tag || t.id && e.id !== t.id || t.testId && e.getAttribute("data-testid") !== t.testId || t.role && e.getAttribute("role") !== t.role || t.ariaLabel && e.getAttribute("aria-label") !== t.ariaLabel ? !1 : t.id || t.testId ? !0 : t.classes.some((t) => !e.classList.contains(t)) || t.text && Gr(e) !== t.text ? !1 : Qr(t);
2756
+ function ji(e, t) {
2757
+ return e.localName !== t.tag || t.id && e.id !== t.id || t.testId && e.getAttribute("data-testid") !== t.testId || t.role && e.getAttribute("role") !== t.role || t.ariaLabel && e.getAttribute("aria-label") !== t.ariaLabel ? !1 : t.id || t.testId ? !0 : t.classes.some((t) => !e.classList.contains(t)) || t.text && Ci(e) !== t.text ? !1 : Ai(t);
2596
2758
  }
2597
- var ei = "mesurer:select-gesture-start";
2598
- function ti(e, t) {
2599
- return e.addEventListener(ei, t), () => e.removeEventListener(ei, t);
2759
+ var Mi = "mesurer:select-gesture-start";
2760
+ function Ni(e, t) {
2761
+ return e.addEventListener(Mi, t), () => e.removeEventListener(Mi, t);
2600
2762
  }
2601
2763
  Ht((e) => void 0);
2602
- var ni = "mesurer-solid-styles", ri = (e) => e?.nodeType === 11, ii = (e) => e.nodeType === 9;
2603
- function ai(e, t) {
2764
+ var Pi = "mesurer-solid-styles", Fi = (e) => e?.nodeType === 11, Ii = (e) => e.nodeType === 9;
2765
+ function Li(e, t) {
2604
2766
  let n = t?.ownerDocument ?? globalThis.document;
2605
2767
  if (!n) return;
2606
- let r = ri(t) ? t : n;
2607
- if (r.querySelector(`#${ni}`)) return;
2768
+ let r = Fi(t) ? t : n;
2769
+ if (r.querySelector(`#${Pi}`)) return;
2608
2770
  let i = n.createElement("style");
2609
- i.id = ni, i.textContent = e, ii(r) ? r.head.append(i) : r.append(i);
2771
+ i.id = Pi, i.textContent = e, Ii(r) ? r.head.append(i) : r.append(i);
2610
2772
  }
2611
- var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e8f0)", ci = "var(--msr-color-ink-500, #64748b)", li = "var(--msr-content, #0f172a)", ui = (e, t, n) => {
2773
+ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e8f0)", Bi = "var(--msr-color-ink-500, #64748b)", Vi = "var(--msr-content, #0f172a)", Hi = (e, t, n) => {
2612
2774
  let r = e.createElement("div");
2613
2775
  return Object.assign(r.style, {
2614
2776
  position: "absolute",
@@ -2625,7 +2787,7 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
2625
2787
  height: "100%"
2626
2788
  }
2627
2789
  }), r;
2628
- }, di = (e, t, n) => {
2790
+ }, Ui = (e, t, n) => {
2629
2791
  let r = e.createElement("div");
2630
2792
  Object.assign(r.style, {
2631
2793
  position: "fixed",
@@ -2639,23 +2801,23 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
2639
2801
  "right",
2640
2802
  "bottom",
2641
2803
  "left"
2642
- ]) r.appendChild(ui(e, t, n));
2804
+ ]) r.appendChild(Hi(e, t, n));
2643
2805
  return r;
2644
- }, fi = (e, t) => {
2806
+ }, Wi = (e, t) => {
2645
2807
  Object.assign(e.style, {
2646
2808
  left: `${t.left}px`,
2647
2809
  top: `${t.top}px`,
2648
2810
  width: `${t.width}px`,
2649
2811
  height: `${t.height}px`
2650
2812
  });
2651
- }, pi = (e, t) => {
2813
+ }, Gi = (e, t) => {
2652
2814
  let n = e.createElement("div");
2653
2815
  return Object.assign(n.style, {
2654
2816
  position: "fixed",
2655
2817
  zIndex: "1",
2656
2818
  pointerEvents: t ? "auto" : "none",
2657
2819
  background: "var(--msr-surface-raised, #ffffff)",
2658
- color: li,
2820
+ color: Vi,
2659
2821
  borderRadius: "13px",
2660
2822
  padding: "10px 12px",
2661
2823
  fontSize: "11px",
@@ -2670,7 +2832,7 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
2670
2832
  boxSizing: "border-box",
2671
2833
  boxShadow: "var(--msr-shadow-floating, 0px 0px 0.5px rgba(0, 0, 0, 0.18), 0px 3px 8px rgba(0, 0, 0, 0.1), 0px 1px 3px rgba(0, 0, 0, 0.1))"
2672
2834
  }), n.className = t ? "mesurer-ti-card mesurer-ti-card--pinned" : "mesurer-ti-card", n.dataset.state = "hidden", n;
2673
- }, mi = (e, t, n, r) => {
2835
+ }, Ki = (e, t, n, r) => {
2674
2836
  t.replaceChildren();
2675
2837
  let i = e.createElement("div");
2676
2838
  Object.assign(i.style, {
@@ -2682,8 +2844,8 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
2682
2844
  });
2683
2845
  let a = e.createElement("span");
2684
2846
  if (Object.assign(a.style, {
2685
- color: oi,
2686
- background: li,
2847
+ color: Ri,
2848
+ background: Vi,
2687
2849
  borderRadius: "4px",
2688
2850
  padding: "1px 5px",
2689
2851
  fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace",
@@ -2692,7 +2854,7 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
2692
2854
  }), a.textContent = n.tagName, i.appendChild(a), n.textSnippet) {
2693
2855
  let t = e.createElement("span");
2694
2856
  Object.assign(t.style, {
2695
- color: ci,
2857
+ color: Bi,
2696
2858
  overflow: "hidden",
2697
2859
  textOverflow: "ellipsis",
2698
2860
  whiteSpace: "nowrap",
@@ -2712,7 +2874,7 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
2712
2874
  lineHeight: "14px",
2713
2875
  textAlign: "center",
2714
2876
  borderRadius: "4px",
2715
- color: ci,
2877
+ color: Bi,
2716
2878
  fontSize: "14px"
2717
2879
  }), i.appendChild(t);
2718
2880
  }
@@ -2727,12 +2889,12 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
2727
2889
  });
2728
2890
  for (let t of n.rows) {
2729
2891
  let n = e.createElement("span");
2730
- n.style.color = ci, n.style.fontSize = "11px", n.textContent = t.label;
2892
+ n.style.color = Bi, n.style.fontSize = "11px", n.textContent = t.label;
2731
2893
  let r = e.createElement("span");
2732
2894
  if (Object.assign(r.style, {
2733
2895
  fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace",
2734
2896
  fontSize: "11px",
2735
- color: li,
2897
+ color: Vi,
2736
2898
  overflow: "hidden",
2737
2899
  textOverflow: "ellipsis",
2738
2900
  whiteSpace: "nowrap"
@@ -2741,21 +2903,21 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
2741
2903
  let n = e.createElement("span");
2742
2904
  n.textContent = t.value;
2743
2905
  let i = e.createElement("span");
2744
- i.style.color = si, i.style.margin = "0 6px", i.textContent = "·";
2906
+ i.style.color = zi, i.style.margin = "0 6px", i.textContent = "·";
2745
2907
  let a = e.createElement("span");
2746
2908
  a.style.color = "#0369a1", a.textContent = t.varName, r.append(n, i, a);
2747
2909
  }
2748
2910
  o.append(n, r);
2749
2911
  }
2750
2912
  t.appendChild(o);
2751
- }, hi = (e, t, n, r = 0, i = 0) => {
2913
+ }, qi = (e, t, n, r = 0, i = 0) => {
2752
2914
  let a = Number.parseFloat(t.dataset.mesurerPositionedScrollX ?? ""), o = Number.parseFloat(t.dataset.mesurerPositionedScrollY ?? ""), s = Number.isFinite(a) && a !== e.scrollX || Number.isFinite(o) && o !== e.scrollY, c = n.left + n.width / 2 + r;
2753
2915
  t.style.left = `${c}px`;
2754
2916
  let l = t.getBoundingClientRect(), u = n.bottom + 4 + i;
2755
2917
  u + l.height > e.innerHeight - 8 && (u = n.top - l.height - 4 + i), t.style.top = `${Math.max(8, u)}px`;
2756
2918
  let d = l.width / 2;
2757
2919
  t.style.left = `${Math.min(Math.max(c, 8 + d), e.innerWidth - 8 - d)}px`, t.dataset.mesurerPositionedScrollX = String(e.scrollX), t.dataset.mesurerPositionedScrollY = String(e.scrollY), s && !t.dataset.mesurerNativeScrollAnchor && (t.dataset.mesurerNativeScrollAnchor = "pending");
2758
- }, gi = /* @__PURE__ */ new Map([
2920
+ }, Ji = /* @__PURE__ */ new Map([
2759
2921
  ["100", "thin"],
2760
2922
  ["200", "extralight"],
2761
2923
  ["300", "light"],
@@ -2765,26 +2927,26 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
2765
2927
  ["700", "bold"],
2766
2928
  ["800", "extrabold"],
2767
2929
  ["900", "black"]
2768
- ]), _i = [
2930
+ ]), Yi = [
2769
2931
  "font-family",
2770
2932
  "font-size",
2771
2933
  "font-weight",
2772
2934
  "line-height",
2773
2935
  "letter-spacing"
2774
- ], vi = /* @__PURE__ */ new Map([
2936
+ ], Xi = /* @__PURE__ */ new Map([
2775
2937
  ["Family", "font-family"],
2776
2938
  ["Size", "font-size"],
2777
2939
  ["Weight", "font-weight"],
2778
2940
  ["Line", "line-height"],
2779
2941
  ["Tracking", "letter-spacing"]
2780
- ]), yi = (e) => {
2942
+ ]), Zi = (e) => {
2781
2943
  if (!e || e === "normal") return e || "normal";
2782
2944
  let t = /^(-?[\d.]+)px$/.exec(e);
2783
2945
  return t ? `${Math.round(Number(t[1]) * 10) / 10}px` : e;
2784
- }, bi = (e) => (e.split(",")[0] ?? "").trim().replace(/^['"]|['"]$/g, ""), xi = (e) => {
2785
- let t = gi.get(e);
2946
+ }, Qi = (e) => (e.split(",")[0] ?? "").trim().replace(/^['"]|['"]$/g, ""), $i = (e) => {
2947
+ let t = Ji.get(e);
2786
2948
  return t ? `${e} / ${t}` : e;
2787
- }, Si = (e) => e ? /var\(\s*(--[a-zA-Z0-9_-]+)/.exec(e)?.[1] ?? null : null, Ci = (e) => (e.match(/#[\w-]+/g) ?? []).length * 1e4 + (e.match(/\.[\w-]+|\[[^\]]+\]|:[\w-]+/g) ?? []).length * 100 + (e.match(/(?:^|[ >+~])([a-zA-Z][\w-]*)/g) ?? []).length, wi = (e, t) => !t || (e.important === t.important ? e.specificity === t.specificity ? e.order > t.order : e.specificity > t.specificity : e.important), Ti = class {
2949
+ }, ea = (e) => e ? /var\(\s*(--[a-zA-Z0-9_-]+)/.exec(e)?.[1] ?? null : null, ta = (e) => (e.match(/#[\w-]+/g) ?? []).length * 1e4 + (e.match(/\.[\w-]+|\[[^\]]+\]|:[\w-]+/g) ?? []).length * 100 + (e.match(/(?:^|[ >+~])([a-zA-Z][\w-]*)/g) ?? []).length, na = (e, t) => !t || (e.important === t.important ? e.specificity === t.specificity ? e.order > t.order : e.specificity > t.specificity : e.important), ra = class {
2788
2950
  document;
2789
2951
  window;
2790
2952
  constructor(e, t) {
@@ -2824,11 +2986,11 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
2824
2986
  return e;
2825
2987
  }
2826
2988
  findVarReferences(e) {
2827
- let t = new Map(_i.map((e) => [e, null])), n = this.getRules();
2828
- for (let r of _i) {
2989
+ let t = new Map(Yi.map((e) => [e, null])), n = this.getRules();
2990
+ for (let r of Yi) {
2829
2991
  let i = e;
2830
2992
  for (; i && t.get(r) === null;) {
2831
- let e, a = Si(i.style.getPropertyValue(r));
2993
+ let e, a = ea(i.style.getPropertyValue(r));
2832
2994
  a && (e = {
2833
2995
  name: a,
2834
2996
  specificity: 2 ** 53 - 1,
@@ -2844,15 +3006,15 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
2844
3006
  continue;
2845
3007
  }
2846
3008
  if (!n) continue;
2847
- let s = Si(t.style.getPropertyValue(r));
3009
+ let s = ea(t.style.getPropertyValue(r));
2848
3010
  if (!s) continue;
2849
3011
  let c = {
2850
3012
  name: s,
2851
- specificity: Ci(t.selectorText),
3013
+ specificity: ta(t.selectorText),
2852
3014
  order: o,
2853
3015
  important: t.style.getPropertyPriority(r) === "important"
2854
3016
  };
2855
- wi(c, e) && (e = c);
3017
+ na(c, e) && (e = c);
2856
3018
  }
2857
3019
  e && t.set(r, e.name), i = i.parentElement;
2858
3020
  }
@@ -2863,27 +3025,27 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
2863
3025
  let t = this.window.getComputedStyle(e), n = [
2864
3026
  {
2865
3027
  label: "Family",
2866
- value: bi(t.fontFamily),
3028
+ value: Qi(t.fontFamily),
2867
3029
  varName: null
2868
3030
  },
2869
3031
  {
2870
3032
  label: "Size",
2871
- value: yi(t.fontSize),
3033
+ value: Zi(t.fontSize),
2872
3034
  varName: null
2873
3035
  },
2874
3036
  {
2875
3037
  label: "Weight",
2876
- value: xi(t.fontWeight),
3038
+ value: $i(t.fontWeight),
2877
3039
  varName: null
2878
3040
  },
2879
3041
  {
2880
3042
  label: "Line",
2881
- value: t.lineHeight === "normal" ? "normal" : yi(t.lineHeight),
3043
+ value: t.lineHeight === "normal" ? "normal" : Zi(t.lineHeight),
2882
3044
  varName: null
2883
3045
  },
2884
3046
  {
2885
3047
  label: "Tracking",
2886
- value: t.letterSpacing === "normal" ? "normal" : yi(t.letterSpacing),
3048
+ value: t.letterSpacing === "normal" ? "normal" : Zi(t.letterSpacing),
2887
3049
  varName: null
2888
3050
  }
2889
3051
  ], r = Array.from(e.childNodes).filter((e) => e.nodeType === Node.TEXT_NODE).map((e) => e.nodeValue?.trim() ?? "").filter(Boolean).join(" ").replace(/\s+/g, " ");
@@ -2898,7 +3060,7 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
2898
3060
  return {
2899
3061
  ...t,
2900
3062
  rows: t.rows.map((e) => {
2901
- let t = vi.get(e.label);
3063
+ let t = Xi.get(e.label);
2902
3064
  return {
2903
3065
  ...e,
2904
3066
  varName: t ? n.get(t) ?? null : null
@@ -2906,7 +3068,7 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
2906
3068
  })
2907
3069
  };
2908
3070
  }
2909
- }, Ei = [
3071
+ }, ia = [
2910
3072
  "HTML",
2911
3073
  "BODY",
2912
3074
  "SCRIPT",
@@ -2918,7 +3080,7 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
2918
3080
  "VIDEO",
2919
3081
  "AUDIO",
2920
3082
  "IFRAME"
2921
- ], Di = "color-mix(in oklch, oklch(0.62 0.18 255) 8%, transparent)", Oi = "color-mix(in oklch, oklch(0.62 0.18 255) 80%, transparent)", ki = "color-mix(in oklch, oklch(0.62 0.18 255) 4%, transparent)", Ai = "color-mix(in oklch, oklch(0.62 0.18 255) 35%, transparent)", ji = 80, Mi = 0, Ni = (e, t) => `
3083
+ ], aa = "color-mix(in oklch, oklch(0.62 0.18 255) 8%, transparent)", oa = "color-mix(in oklch, oklch(0.62 0.18 255) 80%, transparent)", sa = "color-mix(in oklch, oklch(0.62 0.18 255) 4%, transparent)", ca = "color-mix(in oklch, oklch(0.62 0.18 255) 35%, transparent)", la = 80, ua = 0, da = (e, t) => `
2922
3084
  .${e},.${e} *{cursor:help!important}
2923
3085
  .${e} [data-mesurer-root],.${e} [data-mesurer-root] *{cursor:auto!important}
2924
3086
  #${t} .mesurer-ti-card{transform:translateX(-50%);opacity:1;transition:none!important;animation:none!important}
@@ -2929,7 +3091,7 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
2929
3091
  #${t} .mesurer-ti-close{cursor:pointer}
2930
3092
  #${t} .mesurer-ti-close:hover{background:color-mix(in srgb,var(--msr-content,#0f172a) 6%,transparent)!important;color:var(--msr-content,#0f172a)!important}
2931
3093
  `;
2932
- function Pi(e = {}, t = !1) {
3094
+ function fa(e = {}, t = !1) {
2933
3095
  let n = e.portalTarget?.ownerDocument ?? globalThis.document, r = n?.defaultView ?? globalThis.window;
2934
3096
  if (!n || !r) {
2935
3097
  let e = () => {};
@@ -2947,7 +3109,7 @@ function Pi(e = {}, t = !1) {
2947
3109
  canRedo: () => !1
2948
3110
  };
2949
3111
  }
2950
- let i = (e.id ?? (t ? "mesurer-text-inspector" : `mesurer-text-inspector-${++Mi}`)).replace(/[^a-zA-Z0-9_-]/g, "-"), a = `${i}-overlay`, o = `${i}-styles`, s = `${i}-mode`, c = new Set((e.ignoredTags ?? Ei).map((e) => e.toUpperCase())), l = Number.isFinite(e.maxPinned) ? Math.max(1, Math.floor(e.maxPinned)) : Infinity, u = new Ti(n, r), d = r.HTMLElement, f = r.SVGElement, p = r.Node, m = !1, h = null, g = null, _ = null, v = null, y = {
3112
+ let i = (e.id ?? (t ? "mesurer-text-inspector" : `mesurer-text-inspector-${++ua}`)).replace(/[^a-zA-Z0-9_-]/g, "-"), a = `${i}-overlay`, o = `${i}-styles`, s = `${i}-mode`, c = new Set((e.ignoredTags ?? ia).map((e) => e.toUpperCase())), l = Number.isFinite(e.maxPinned) ? Math.max(1, Math.floor(e.maxPinned)) : Infinity, u = new ra(n, r), d = r.HTMLElement, f = r.SVGElement, p = r.Node, m = !1, h = null, g = null, _ = null, v = null, y = {
2951
3113
  x: 0,
2952
3114
  y: 0
2953
3115
  }, b = 0, x = 0, S = 0, C = r.scrollX, w = r.scrollY, T = null, E = [], D = [], O = [], k = e.portalTarget ?? n.body, A = () => {
@@ -2956,7 +3118,7 @@ function Pi(e = {}, t = !1) {
2956
3118
  for (let t of e) {
2957
3119
  if (t.querySelector(`#${o}`)) continue;
2958
3120
  let e = n.createElement("style");
2959
- e.id = o, e.textContent = Ni(s, a), t === n ? n.head.append(e) : t.append(e);
3121
+ e.id = o, e.textContent = da(s, a), t === n ? n.head.append(e) : t.append(e);
2960
3122
  }
2961
3123
  }, j = () => h?.isConnected ? h : (h = n.createElement("div"), h.id = a, h.dataset.mesurerInspectorUi = "true", h.dataset.theme = e.theme?.() ?? "system", T ??= e.subscribeTheme?.((e) => {
2962
3124
  h && (h.dataset.theme = e);
@@ -2969,35 +3131,35 @@ function Pi(e = {}, t = !1) {
2969
3131
  e && (e.dataset.state = t ? "visible" : "hidden");
2970
3132
  }, ee = () => {
2971
3133
  let e = j();
2972
- g ??= di(n, Di, Oi), _ ??= pi(n, !1), g.parentNode || e.append(g), _.parentNode || e.append(_);
2973
- }, N = (e) => Array.from(e.childNodes).some((e) => e.nodeType === p.TEXT_NODE && !!e.nodeValue?.trim()), te = (e) => !!e && e instanceof d && !(e instanceof f) && !c.has(e.tagName) && N(e) && !e.closest("[data-mesurer-root]"), P = (e, t) => n.elementsFromPoint(e, t).find((e) => te(e)) ?? null, ne = () => {
3134
+ g ??= Ui(n, aa, oa), _ ??= Gi(n, !1), g.parentNode || e.append(g), _.parentNode || e.append(_);
3135
+ }, N = (e) => Array.from(e.childNodes).some((e) => e.nodeType === p.TEXT_NODE && !!e.nodeValue?.trim()), P = (e) => !!e && e instanceof d && !(e instanceof f) && !c.has(e.tagName) && N(e) && !e.closest("[data-mesurer-root]"), F = (e, t) => n.elementsFromPoint(e, t).find((e) => P(e)) ?? null, te = () => {
2974
3136
  v = null, M(g, !1), M(_, !1);
2975
- }, F = (t) => {
2976
- if (!m || !te(t)) return !1;
3137
+ }, I = (t) => {
3138
+ if (!m || !P(t)) return !1;
2977
3139
  ee();
2978
3140
  let i = t.getBoundingClientRect(), a = u.getFast(t);
2979
- return v = t, mi(n, _, a, !1), fi(g, i), hi(r, _, i), M(g, !0), M(_, !0), r.clearTimeout(x), x = r.setTimeout(() => {
3141
+ return v = t, Ki(n, _, a, !1), Wi(g, i), qi(r, _, i), M(g, !0), M(_, !0), r.clearTimeout(x), x = r.setTimeout(() => {
2980
3142
  if (!m || v !== t || !_) return;
2981
3143
  let i = u.getFull(t, a);
2982
- mi(n, _, i, !1), hi(r, _, t.getBoundingClientRect()), e.onInspect?.(t, i);
3144
+ Ki(n, _, i, !1), qi(r, _, t.getBoundingClientRect()), e.onInspect?.(t, i);
2983
3145
  }, 24), !0;
2984
- }, I = () => E.map((e) => ({
3146
+ }, L = () => E.map((e) => ({
2985
3147
  sourceEl: e.sourceEl,
2986
3148
  left: e.userPlaced ? e.card.getBoundingClientRect().left + e.card.getBoundingClientRect().width / 2 : 0,
2987
3149
  top: e.userPlaced ? e.card.getBoundingClientRect().top : 0,
2988
3150
  userPlaced: e.userPlaced
2989
- })), L = () => {
2990
- D.push(I()), D.length > 100 && D.shift(), O.length = 0;
2991
- }, R = (t, n = !0, r = !0) => {
3151
+ })), R = () => {
3152
+ D.push(L()), D.length > 100 && D.shift(), O.length = 0;
3153
+ }, z = (t, n = !0, r = !0) => {
2992
3154
  let i = E.indexOf(t);
2993
- i < 0 || (n && L(), E.splice(i, 1), t.detach(), t.box.remove(), t.card.remove(), r && e.onUnpin?.(t.sourceEl));
2994
- }, z = (e = !1) => {
2995
- for (; E.length;) R(E[E.length - 1], !1, e);
2996
- }, B = (e) => {
3155
+ i < 0 || (n && R(), E.splice(i, 1), t.detach(), t.box.remove(), t.card.remove(), r && e.onUnpin?.(t.sourceEl));
3156
+ }, B = (e = !1) => {
3157
+ for (; E.length;) z(E[E.length - 1], !1, e);
3158
+ }, V = (e) => {
2997
3159
  let t = -1, n = 0, i = 0, a = 0, o = 0, s = !1, c = !1, l = (l) => {
2998
3160
  if (l.pointerId !== t) return;
2999
3161
  let u = l.clientX - n, d = l.clientY - i;
3000
- !s && Math.abs(u) <= 6 && Math.abs(d) <= 6 || (s || (s = !0, e.card.classList.add("mesurer-ti-card--pinned"), delete e.card.dataset.mesurerNativeScrollAnchor, delete e.card.dataset.mesurerNativeScrollOwner, e.card.style.removeProperty("position-anchor")), c ||= (L(), !0), e.userPlaced = !0, e.card.style.left = `${Math.min(r.innerWidth - 8, Math.max(8, a + u))}px`, e.card.style.top = `${Math.min(r.innerHeight - 8, Math.max(8, o + d))}px`);
3162
+ !s && Math.abs(u) <= 6 && Math.abs(d) <= 6 || (s || (s = !0, e.card.classList.add("mesurer-ti-card--pinned"), delete e.card.dataset.mesurerNativeScrollAnchor, delete e.card.dataset.mesurerNativeScrollOwner, e.card.style.removeProperty("position-anchor")), c ||= (R(), !0), e.userPlaced = !0, e.card.style.left = `${Math.min(r.innerWidth - 8, Math.max(8, a + u))}px`, e.card.style.top = `${Math.min(r.innerHeight - 8, Math.max(8, o + d))}px`);
3001
3163
  }, u = (e) => {
3002
3164
  (t === -1 || e.pointerId === t) && (r.removeEventListener("pointermove", l), r.removeEventListener("pointerup", u), r.removeEventListener("pointercancel", u), t = -1, s = !1, c = !1);
3003
3165
  }, f = (s) => {
@@ -3008,15 +3170,15 @@ function Pi(e = {}, t = !1) {
3008
3170
  return e.card.addEventListener("pointerdown", f), () => {
3009
3171
  e.card.removeEventListener("pointerdown", f), r.removeEventListener("pointermove", l), r.removeEventListener("pointerup", u), r.removeEventListener("pointercancel", u);
3010
3172
  };
3011
- }, V = (t, i, a = !0, o = !0) => {
3173
+ }, ne = (t, i, a = !0, o = !0) => {
3012
3174
  if (E.find((e) => e.sourceEl === t)) return;
3013
- a && L(), E.length >= l && R(E[0], !1, !0);
3014
- let s = j(), c = di(n, ki, Ai), d = pi(n, !0);
3175
+ a && R(), E.length >= l && z(E[0], !1, !0);
3176
+ let s = j(), c = Ui(n, sa, ca), d = Gi(n, !0);
3015
3177
  d.classList.add("mesurer-ti-card--draggable"), d.classList.remove("mesurer-ti-card--pinned");
3016
3178
  let f = u.getFull(t);
3017
- mi(n, d, f, !0), s.append(c, d);
3179
+ Ki(n, d, f, !0), s.append(c, d);
3018
3180
  let p = t.getBoundingClientRect();
3019
- fi(c, p), hi(r, d, p), i?.userPlaced && (d.classList.add("mesurer-ti-card--pinned"), d.style.left = `${i.left}px`, d.style.top = `${i.top}px`), M(c, !0), M(d, !0);
3181
+ Wi(c, p), qi(r, d, p), i?.userPlaced && (d.classList.add("mesurer-ti-card--pinned"), d.style.left = `${i.left}px`, d.style.top = `${i.top}px`), M(c, !0), M(d, !0);
3020
3182
  let m = {
3021
3183
  sourceEl: t,
3022
3184
  box: c,
@@ -3026,38 +3188,38 @@ function Pi(e = {}, t = !1) {
3026
3188
  userPlaced: i?.userPlaced ?? !1,
3027
3189
  detach: () => {}
3028
3190
  };
3029
- E.push(m), m.detach = B(m), d.querySelector(".mesurer-ti-close")?.addEventListener("click", (e) => {
3030
- e.preventDefault(), e.stopPropagation(), R(m);
3191
+ E.push(m), m.detach = V(m), d.querySelector(".mesurer-ti-close")?.addEventListener("click", (e) => {
3192
+ e.preventDefault(), e.stopPropagation(), z(m);
3031
3193
  }), o && e.onPin?.(t, f);
3032
3194
  }, re = (e) => {
3033
- z(!1);
3034
- for (let t of e) t.sourceEl.isConnected && V(t.sourceEl, t, !1, !1);
3195
+ B(!1);
3196
+ for (let t of e) t.sourceEl.isConnected && ne(t.sourceEl, t, !1, !1);
3035
3197
  }, H = () => {
3036
3198
  let e = D.pop();
3037
- return e ? (O.push(I()), re(e), !0) : !1;
3199
+ return e ? (O.push(L()), re(e), !0) : !1;
3038
3200
  }, ie = () => {
3039
3201
  let e = O.pop();
3040
- return e ? (D.push(I()), re(e), !0) : !1;
3202
+ return e ? (D.push(L()), re(e), !0) : !1;
3041
3203
  }, U = () => {
3042
- E.length && (L(), z(!0));
3204
+ E.length && (R(), B(!0));
3043
3205
  }, ae = () => {
3044
3206
  for (let e of E.slice()) {
3045
3207
  if (!e.sourceEl.isConnected) {
3046
- R(e, !1, !1);
3208
+ z(e, !1, !1);
3047
3209
  continue;
3048
3210
  }
3049
3211
  let t = e.sourceEl.getBoundingClientRect();
3050
- fi(e.box, t), e.userPlaced || hi(r, e.card, t);
3212
+ Wi(e.box, t), e.userPlaced || qi(r, e.card, t);
3051
3213
  let n = t.bottom >= 0 && t.right >= 0 && t.left <= r.innerWidth && t.top <= r.innerHeight;
3052
3214
  M(e.box, n), M(e.card, n), e.card.style.pointerEvents = n ? "auto" : "none";
3053
3215
  }
3054
3216
  }, W = () => {
3055
3217
  if (m) {
3056
3218
  if (v && g && _) {
3057
- if (!v.isConnected) ne();
3219
+ if (!v.isConnected) te();
3058
3220
  else {
3059
3221
  let e = v.getBoundingClientRect();
3060
- fi(g, e), hi(r, _, e);
3222
+ Wi(g, e), qi(r, _, e);
3061
3223
  let t = e.bottom >= 0 && e.right >= 0 && e.left <= r.innerWidth && e.top <= r.innerHeight;
3062
3224
  M(g, t), M(_, t);
3063
3225
  }
@@ -3066,12 +3228,12 @@ function Pi(e = {}, t = !1) {
3066
3228
  }
3067
3229
  }, oe = () => {
3068
3230
  if (!m) return;
3069
- let e = P(y.x, y.y);
3070
- if (!e) ne();
3071
- else if (e !== v) F(e);
3231
+ let e = F(y.x, y.y);
3232
+ if (!e) te();
3233
+ else if (e !== v) I(e);
3072
3234
  else if (g && _) {
3073
3235
  let t = e.getBoundingClientRect();
3074
- fi(g, t), hi(r, _, t);
3236
+ Wi(g, t), qi(r, _, t);
3075
3237
  }
3076
3238
  ae();
3077
3239
  }, se = () => {
@@ -3089,23 +3251,23 @@ function Pi(e = {}, t = !1) {
3089
3251
  Number.isFinite(r) && (e.style.left = `${r - t}px`), Number.isFinite(i) && (e.style.top = `${i - n}px`);
3090
3252
  }, ue = () => {
3091
3253
  let e = r.scrollX, t = r.scrollY, i = e - C, a = t - w;
3092
- if (C = e, w = t, mr(n)) {
3254
+ if (C = e, w = t, Kr(n)) {
3093
3255
  if (i || a) {
3094
3256
  le(g, i, a), le(_, i, a);
3095
3257
  for (let e of E) le(e.box, i, a), e.userPlaced || le(e.card, i, a);
3096
3258
  }
3097
3259
  S && r.clearTimeout(S), S = r.setTimeout(() => {
3098
3260
  S = 0, W();
3099
- }, ji);
3261
+ }, la);
3100
3262
  return;
3101
3263
  }
3102
3264
  W(), se();
3103
3265
  }, de = (e) => {
3104
- e.relatedTarget || ne();
3266
+ e.relatedTarget || te();
3105
3267
  }, fe = (e) => e.composedPath().some((e) => e instanceof d && (e.id === a || e.hasAttribute("data-mesurer-root") || e.classList.contains("mesurer-ti-card") || e.classList.contains("mesurer-ti-close"))), pe = (e) => {
3106
3268
  if (!fe(e) && (e.preventDefault(), e.stopImmediatePropagation(), e.button === 0)) {
3107
- let t = P(e.clientX, e.clientY);
3108
- t && V(t);
3269
+ let t = F(e.clientX, e.clientY);
3270
+ t && ne(t);
3109
3271
  }
3110
3272
  }, me = (e) => {
3111
3273
  fe(e) || (e.preventDefault(), e.stopImmediatePropagation());
@@ -3115,7 +3277,7 @@ function Pi(e = {}, t = !1) {
3115
3277
  passive: !0
3116
3278
  }), r.addEventListener("resize", se, !0));
3117
3279
  }, ge = () => {
3118
- m && (m = !1, r.cancelAnimationFrame(b), b = 0, r.clearTimeout(x), r.clearTimeout(S), S = 0, r.removeEventListener("mousemove", ce, !0), r.removeEventListener("mouseout", de, !0), r.removeEventListener("click", pe, !0), r.removeEventListener("auxclick", me, !0), r.removeEventListener("scroll", ue, !0), r.removeEventListener("resize", se, !0), ne(), z(), g?.remove(), _?.remove(), g = null, _ = null, D.length = 0, O.length = 0, n.body.classList.remove(s));
3280
+ m && (m = !1, r.cancelAnimationFrame(b), b = 0, r.clearTimeout(x), r.clearTimeout(S), S = 0, r.removeEventListener("mousemove", ce, !0), r.removeEventListener("mouseout", de, !0), r.removeEventListener("click", pe, !0), r.removeEventListener("auxclick", me, !0), r.removeEventListener("scroll", ue, !0), r.removeEventListener("resize", se, !0), te(), B(), g?.remove(), _?.remove(), g = null, _ = null, D.length = 0, O.length = 0, n.body.classList.remove(s));
3119
3281
  }, _e = () => {
3120
3282
  ge(), T?.(), T = null, h?.remove(), h = null, n.getElementById(o)?.remove(), k instanceof r.ShadowRoot && k.querySelector(`#${o}`)?.remove();
3121
3283
  };
@@ -3125,7 +3287,7 @@ function Pi(e = {}, t = !1) {
3125
3287
  undo: H,
3126
3288
  redo: ie,
3127
3289
  clear: U,
3128
- inspect: F,
3290
+ inspect: I,
3129
3291
  isEnabled: () => m,
3130
3292
  canUndo: () => D.length > 0,
3131
3293
  canRedo: () => O.length > 0,
@@ -3133,24 +3295,24 @@ function Pi(e = {}, t = !1) {
3133
3295
  destroy: _e
3134
3296
  };
3135
3297
  }
3136
- Pi({}, !0);
3137
- var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer theme, base, components, utilities;\n@layer theme {\n :root, :host {\n --msr-font-sans: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\",\n \"Noto Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\",\n \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --msr-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\n \"Courier New\", monospace;\n --msr-color-red-50: oklch(97.1% 0.013 17.38);\n --msr-color-red-200: oklch(88.5% 0.062 18.334);\n --msr-color-red-600: oklch(57.7% 0.245 27.325);\n --msr-color-black: #000;\n --msr-color-white: #fff;\n --msr-spacing: 0.25rem;\n --msr-font-weight-normal: 400;\n --msr-font-weight-medium: 500;\n --msr-font-weight-semibold: 600;\n --msr-radius-md: 0.375rem;\n --msr-radius-lg: 0.5rem;\n --msr-default-transition-duration: 150ms;\n --msr-default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n --msr-default-font-family: var(--msr-font-sans);\n --msr-default-mono-font-family: var(--msr-font-mono);\n --msr-color-ink-50: #f8fafc;\n --msr-color-ink-200: #e2e8f0;\n --msr-color-ink-500: #64748b;\n --msr-color-ink-700: #334155;\n --msr-color-ink-900: #0f172a;\n }\n}\n@layer base {\n *, ::after, ::before, ::backdrop, ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html, :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n font-family: var(--msr-default-font-family, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");\n font-feature-settings: var(--msr-default-font-feature-settings, normal);\n font-variation-settings: var(--msr-default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b, strong {\n font-weight: bolder;\n }\n code, kbd, samp, pre {\n font-family: var(--msr-default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-feature-settings: var(--msr-default-mono-font-feature-settings, normal);\n font-variation-settings: var(--msr-default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub, sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring:where(:not(iframe)) {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol, ul, menu {\n list-style: none;\n }\n img, svg, video, canvas, audio, iframe, embed, object {\n display: block;\n vertical-align: middle;\n }\n img, video {\n max-width: 100%;\n height: auto;\n }\n button, input, select, optgroup, textarea, ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n ::-webkit-calendar-picker-indicator {\n line-height: 1;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n}\n@layer utilities {\n .msr\\:pointer-events-auto {\n pointer-events: auto;\n }\n .msr\\:pointer-events-none {\n pointer-events: none;\n }\n .msr\\:absolute {\n position: absolute;\n }\n .msr\\:fixed {\n position: fixed;\n }\n .msr\\:relative {\n position: relative;\n }\n .msr\\:inset-0 {\n inset: 0px;\n }\n .msr\\:top-0 {\n top: 0px;\n }\n .msr\\:top-1\\/2 {\n top: calc(1 / 2 * 100%);\n }\n .msr\\:top-\\[18px\\] {\n top: 18px;\n }\n .msr\\:top-full {\n top: 100%;\n }\n .msr\\:right-0 {\n right: 0px;\n }\n .msr\\:right-2 {\n right: calc(var(--msr-spacing) * 2);\n }\n .msr\\:right-\\[8px\\] {\n right: 8px;\n }\n .msr\\:bottom-0 {\n bottom: 0px;\n }\n .msr\\:bottom-full {\n bottom: 100%;\n }\n .msr\\:left-0 {\n left: 0px;\n }\n .msr\\:left-1\\/2 {\n left: calc(1 / 2 * 100%);\n }\n .msr\\:left-\\[8px\\] {\n left: 8px;\n }\n .msr\\:left-\\[18px\\] {\n left: 18px;\n }\n .msr\\:z-10 {\n z-index: 10;\n }\n .msr\\:z-\\[70\\] {\n z-index: 70;\n }\n .msr\\:z-\\[80\\] {\n z-index: 80;\n }\n .msr\\:z-\\[90\\] {\n z-index: 90;\n }\n .msr\\:z-\\[94\\] {\n z-index: 94;\n }\n .msr\\:z-\\[95\\] {\n z-index: 95;\n }\n .msr\\:col-span-2 {\n grid-column: span 2 / span 2;\n }\n .msr\\:col-start-1 {\n grid-column-start: 1;\n }\n .msr\\:col-start-2 {\n grid-column-start: 2;\n }\n .msr\\:col-start-3 {\n grid-column-start: 3;\n }\n .msr\\:m-0 {\n margin: 0px;\n }\n .msr\\:mx-1 {\n margin-inline: var(--msr-spacing);\n }\n .msr\\:mt-1 {\n margin-top: var(--msr-spacing);\n }\n .msr\\:mt-1\\.5 {\n margin-top: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:mt-2 {\n margin-top: calc(var(--msr-spacing) * 2);\n }\n .msr\\:mb-1 {\n margin-bottom: var(--msr-spacing);\n }\n .msr\\:mb-2 {\n margin-bottom: calc(var(--msr-spacing) * 2);\n }\n .msr\\:-ml-1 {\n margin-left: calc(var(--msr-spacing) * -1);\n }\n .msr\\:ml-1 {\n margin-left: var(--msr-spacing);\n }\n .msr\\:ml-2 {\n margin-left: calc(var(--msr-spacing) * 2);\n }\n .msr\\:ml-6 {\n margin-left: calc(var(--msr-spacing) * 6);\n }\n .msr\\:box-border {\n box-sizing: border-box;\n }\n .msr\\:block {\n display: block;\n }\n .msr\\:flex {\n display: flex;\n }\n .msr\\:grid {\n display: grid;\n }\n .msr\\:inline-flex {\n display: inline-flex;\n }\n .msr\\:size-1\\.5 {\n width: calc(var(--msr-spacing) * 1.5);\n height: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:size-3 {\n width: calc(var(--msr-spacing) * 3);\n height: calc(var(--msr-spacing) * 3);\n }\n .msr\\:size-4 {\n width: calc(var(--msr-spacing) * 4);\n height: calc(var(--msr-spacing) * 4);\n }\n .msr\\:size-6 {\n width: calc(var(--msr-spacing) * 6);\n height: calc(var(--msr-spacing) * 6);\n }\n .msr\\:size-7 {\n width: calc(var(--msr-spacing) * 7);\n height: calc(var(--msr-spacing) * 7);\n }\n .msr\\:size-8 {\n width: calc(var(--msr-spacing) * 8);\n height: calc(var(--msr-spacing) * 8);\n }\n .msr\\:size-\\[10px\\] {\n width: 10px;\n height: 10px;\n }\n .msr\\:size-\\[18px\\] {\n width: 18px;\n height: 18px;\n }\n .msr\\:size-full {\n width: 100%;\n height: 100%;\n }\n .msr\\:h-5 {\n height: calc(var(--msr-spacing) * 5);\n }\n .msr\\:h-6 {\n height: calc(var(--msr-spacing) * 6);\n }\n .msr\\:h-7 {\n height: calc(var(--msr-spacing) * 7);\n }\n .msr\\:h-8 {\n height: calc(var(--msr-spacing) * 8);\n }\n .msr\\:h-20 {\n height: calc(var(--msr-spacing) * 20);\n }\n .msr\\:h-\\[14px\\] {\n height: 14px;\n }\n .msr\\:h-\\[18px\\] {\n height: 18px;\n }\n .msr\\:h-\\[19px\\] {\n height: 19px;\n }\n .msr\\:h-full {\n height: 100%;\n }\n .msr\\:h-px {\n height: 1px;\n }\n .msr\\:max-h-36 {\n max-height: calc(var(--msr-spacing) * 36);\n }\n .msr\\:max-h-\\[220px\\] {\n max-height: 220px;\n }\n .msr\\:max-h-\\[calc\\(100vh-16px\\)\\] {\n max-height: calc(100vh - 16px);\n }\n .msr\\:max-h-\\[min\\(70vh\\,34rem\\)\\] {\n max-height: min(70vh, 34rem);\n }\n .msr\\:max-h-\\[min\\(320px\\,calc\\(100vh-16px\\)\\)\\] {\n max-height: min(320px, calc(100vh - 16px));\n }\n .msr\\:min-h-0 {\n min-height: 0px;\n }\n .msr\\:w-0 {\n width: 0px;\n }\n .msr\\:w-3 {\n width: calc(var(--msr-spacing) * 3);\n }\n .msr\\:w-4 {\n width: calc(var(--msr-spacing) * 4);\n }\n .msr\\:w-5 {\n width: calc(var(--msr-spacing) * 5);\n }\n .msr\\:w-6 {\n width: calc(var(--msr-spacing) * 6);\n }\n .msr\\:w-9 {\n width: calc(var(--msr-spacing) * 9);\n }\n .msr\\:w-12 {\n width: calc(var(--msr-spacing) * 12);\n }\n .msr\\:w-44 {\n width: calc(var(--msr-spacing) * 44);\n }\n .msr\\:w-60 {\n width: calc(var(--msr-spacing) * 60);\n }\n .msr\\:w-\\[18px\\] {\n width: 18px;\n }\n .msr\\:w-\\[26px\\] {\n width: 26px;\n }\n .msr\\:w-\\[272px\\] {\n width: 272px;\n }\n .msr\\:w-full {\n width: 100%;\n }\n .msr\\:w-px {\n width: 1px;\n }\n .msr\\:max-w-0 {\n max-width: 0px;\n }\n .msr\\:max-w-20 {\n max-width: calc(var(--msr-spacing) * 20);\n }\n .msr\\:max-w-\\[calc\\(100vw-16px\\)\\] {\n max-width: calc(100vw - 16px);\n }\n .msr\\:min-w-0 {\n min-width: 0px;\n }\n .msr\\:min-w-36 {\n min-width: calc(var(--msr-spacing) * 36);\n }\n .msr\\:flex-1 {\n flex: 1;\n }\n .msr\\:flex-none {\n flex: none;\n }\n .msr\\:shrink-0 {\n flex-shrink: 0;\n }\n .msr\\:-translate-x-1 {\n --tw-translate-x: calc(var(--msr-spacing) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .msr\\:-translate-x-1\\/2 {\n --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .msr\\:translate-x-0 {\n --tw-translate-x: 0px;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .msr\\:-translate-y-1\\/2 {\n --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .msr\\:-rotate-90 {\n rotate: calc(90deg * -1);\n }\n .msr\\:rotate-45 {\n rotate: 45deg;\n }\n .msr\\:rotate-90 {\n rotate: 90deg;\n }\n .msr\\:rotate-180 {\n rotate: 180deg;\n }\n .msr\\:rotate-\\[45deg\\] {\n rotate: 45deg;\n }\n .msr\\:rotate-\\[135deg\\] {\n rotate: 135deg;\n }\n .msr\\:cursor-crosshair {\n cursor: crosshair;\n }\n .msr\\:cursor-default {\n cursor: default;\n }\n .msr\\:cursor-pointer {\n cursor: pointer;\n }\n .msr\\:touch-none {\n touch-action: none;\n }\n .msr\\:resize-none {\n resize: none;\n }\n .msr\\:list-none {\n list-style-type: none;\n }\n .msr\\:appearance-none {\n appearance: none;\n }\n .msr\\:grid-cols-\\[78px_150px\\] {\n grid-template-columns: 78px 150px;\n }\n .msr\\:grid-cols-\\[78px_156px\\] {\n grid-template-columns: 78px 156px;\n }\n .msr\\:grid-cols-\\[78px_minmax\\(0\\,1fr\\)\\] {\n grid-template-columns: 78px minmax(0,1fr);\n }\n .msr\\:grid-cols-\\[minmax\\(0\\,1fr\\)_28px_34px\\] {\n grid-template-columns: minmax(0,1fr) 28px 34px;\n }\n .msr\\:flex-col {\n flex-direction: column;\n }\n .msr\\:items-center {\n align-items: center;\n }\n .msr\\:items-start {\n align-items: flex-start;\n }\n .msr\\:items-stretch {\n align-items: stretch;\n }\n .msr\\:justify-between {\n justify-content: space-between;\n }\n .msr\\:justify-center {\n justify-content: center;\n }\n .msr\\:justify-end {\n justify-content: flex-end;\n }\n .msr\\:gap-0 {\n gap: 0px;\n }\n .msr\\:gap-0\\.5 {\n gap: calc(var(--msr-spacing) * 0.5);\n }\n .msr\\:gap-1 {\n gap: var(--msr-spacing);\n }\n .msr\\:gap-1\\.5 {\n gap: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:gap-2 {\n gap: calc(var(--msr-spacing) * 2);\n }\n .msr\\:gap-3 {\n gap: calc(var(--msr-spacing) * 3);\n }\n .msr\\:gap-px {\n gap: 1px;\n }\n .msr\\:gap-x-3 {\n column-gap: calc(var(--msr-spacing) * 3);\n }\n .msr\\:gap-y-1 {\n row-gap: var(--msr-spacing);\n }\n .msr\\:self-stretch {\n align-self: stretch;\n }\n .msr\\:justify-self-end {\n justify-self: flex-end;\n }\n .msr\\:truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .msr\\:overflow-auto {\n overflow: auto;\n }\n .msr\\:overflow-hidden {\n overflow: hidden;\n }\n .msr\\:overflow-visible {\n overflow: visible;\n }\n .msr\\:overflow-x-hidden {\n overflow-x: hidden;\n }\n .msr\\:overflow-y-auto {\n overflow-y: auto;\n }\n .msr\\:rounded {\n border-radius: 0.25rem;\n }\n .msr\\:rounded-\\[3px\\] {\n border-radius: 3px;\n }\n .msr\\:rounded-\\[5px\\] {\n border-radius: 5px;\n }\n .msr\\:rounded-\\[6px\\] {\n border-radius: 6px;\n }\n .msr\\:rounded-\\[7px\\] {\n border-radius: 7px;\n }\n .msr\\:rounded-\\[8px\\] {\n border-radius: 8px;\n }\n .msr\\:rounded-\\[10px\\] {\n border-radius: 10px;\n }\n .msr\\:rounded-\\[12px\\] {\n border-radius: 12px;\n }\n .msr\\:rounded-full {\n border-radius: calc(infinity * 1px);\n }\n .msr\\:rounded-lg {\n border-radius: var(--msr-radius-lg);\n }\n .msr\\:rounded-md {\n border-radius: var(--msr-radius-md);\n }\n .msr\\:rounded-none {\n border-radius: 0;\n }\n .msr\\:border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .msr\\:border-0 {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n .msr\\:border-t {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n }\n .msr\\:border-t-2 {\n border-top-style: var(--tw-border-style);\n border-top-width: 2px;\n }\n .msr\\:border-r {\n border-right-style: var(--tw-border-style);\n border-right-width: 1px;\n }\n .msr\\:border-b {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n .msr\\:border-l {\n border-left-style: var(--tw-border-style);\n border-left-width: 1px;\n }\n .msr\\:border-dashed {\n --tw-border-style: dashed;\n border-style: dashed;\n }\n .msr\\:border-dotted {\n --tw-border-style: dotted;\n border-style: dotted;\n }\n .msr\\:border-solid {\n --tw-border-style: solid;\n border-style: solid;\n }\n .msr\\:border-\\[\\#0d99ff\\] {\n border-color: #0d99ff;\n }\n .msr\\:border-\\[\\#2563eb\\]\\/70 {\n border-color: color-mix(in oklab, #2563eb 70%, transparent);\n }\n .msr\\:border-black\\/8 {\n border-color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--msr-color-black) 8%, transparent);\n }\n }\n .msr\\:border-black\\/10 {\n border-color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--msr-color-black) 10%, transparent);\n }\n }\n .msr\\:border-black\\/15 {\n border-color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--msr-color-black) 15%, transparent);\n }\n }\n .msr\\:border-ink-200 {\n border-color: var(--msr-color-ink-200);\n }\n .msr\\:border-ink-500 {\n border-color: var(--msr-color-ink-500);\n }\n .msr\\:border-ink-700 {\n border-color: var(--msr-color-ink-700);\n }\n .msr\\:border-red-200 {\n border-color: var(--msr-color-red-200);\n }\n .msr\\:border-transparent {\n border-color: transparent;\n }\n .msr\\:bg-\\[\\#0d99ff\\] {\n background-color: #0d99ff;\n }\n .msr\\:bg-\\[\\#0d99ff\\]\\/10 {\n background-color: color-mix(in oklab, #0d99ff 10%, transparent);\n }\n .msr\\:bg-\\[\\#2563eb\\] {\n background-color: #2563eb;\n }\n .msr\\:bg-\\[\\#fff\\] {\n background-color: #fff;\n }\n .msr\\:bg-black {\n background-color: var(--msr-color-black);\n }\n .msr\\:bg-black\\/10 {\n background-color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-black) 10%, transparent);\n }\n }\n .msr\\:bg-ink-50 {\n background-color: var(--msr-color-ink-50);\n }\n .msr\\:bg-ink-50\\/40 {\n background-color: var(--msr-color-ink-50);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-ink-50) 40%, transparent);\n }\n }\n .msr\\:bg-ink-900\\/90 {\n background-color: var(--msr-color-ink-900);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-ink-900) 90%, transparent);\n }\n }\n .msr\\:bg-transparent {\n background-color: transparent;\n }\n .msr\\:bg-white {\n background-color: var(--msr-color-white);\n }\n .msr\\:bg-white\\/60 {\n background-color: var(--msr-color-white);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-white) 60%, transparent);\n }\n }\n .msr\\:p-0 {\n padding: 0px;\n }\n .msr\\:p-1 {\n padding: var(--msr-spacing);\n }\n .msr\\:p-1\\.5 {\n padding: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:p-2 {\n padding: calc(var(--msr-spacing) * 2);\n }\n .msr\\:p-3 {\n padding: calc(var(--msr-spacing) * 3);\n }\n .msr\\:p-px {\n padding: 1px;\n }\n .msr\\:px-0 {\n padding-inline: 0px;\n }\n .msr\\:px-0\\.5 {\n padding-inline: calc(var(--msr-spacing) * 0.5);\n }\n .msr\\:px-1 {\n padding-inline: var(--msr-spacing);\n }\n .msr\\:px-1\\.5 {\n padding-inline: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:px-2 {\n padding-inline: calc(var(--msr-spacing) * 2);\n }\n .msr\\:px-2\\.5 {\n padding-inline: calc(var(--msr-spacing) * 2.5);\n }\n .msr\\:py-0 {\n padding-block: 0px;\n }\n .msr\\:py-0\\.5 {\n padding-block: calc(var(--msr-spacing) * 0.5);\n }\n .msr\\:py-1 {\n padding-block: var(--msr-spacing);\n }\n .msr\\:py-1\\.5 {\n padding-block: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:py-2 {\n padding-block: calc(var(--msr-spacing) * 2);\n }\n .msr\\:pt-2 {\n padding-top: calc(var(--msr-spacing) * 2);\n }\n .msr\\:pr-2 {\n padding-right: calc(var(--msr-spacing) * 2);\n }\n .msr\\:pr-6 {\n padding-right: calc(var(--msr-spacing) * 6);\n }\n .msr\\:pb-1 {\n padding-bottom: var(--msr-spacing);\n }\n .msr\\:pb-2 {\n padding-bottom: calc(var(--msr-spacing) * 2);\n }\n .msr\\:text-center {\n text-align: center;\n }\n .msr\\:text-left {\n text-align: left;\n }\n .msr\\:font-mono {\n font-family: var(--msr-font-mono);\n }\n .msr\\:text-\\[9px\\] {\n font-size: 9px;\n }\n .msr\\:text-\\[10px\\] {\n font-size: 10px;\n }\n .msr\\:text-\\[11px\\] {\n font-size: 11px;\n }\n .msr\\:text-\\[12px\\] {\n font-size: 12px;\n }\n .msr\\:leading-4 {\n --tw-leading: calc(var(--msr-spacing) * 4);\n line-height: calc(var(--msr-spacing) * 4);\n }\n .msr\\:leading-\\[1\\.4\\] {\n --tw-leading: 1.4;\n line-height: 1.4;\n }\n .msr\\:leading-\\[1\\.45\\] {\n --tw-leading: 1.45;\n line-height: 1.45;\n }\n .msr\\:leading-\\[18px\\] {\n --tw-leading: 18px;\n line-height: 18px;\n }\n .msr\\:leading-none {\n --tw-leading: 1;\n line-height: 1;\n }\n .msr\\:font-medium {\n --tw-font-weight: var(--msr-font-weight-medium);\n font-weight: var(--msr-font-weight-medium);\n }\n .msr\\:font-normal {\n --tw-font-weight: var(--msr-font-weight-normal);\n font-weight: var(--msr-font-weight-normal);\n }\n .msr\\:font-semibold {\n --tw-font-weight: var(--msr-font-weight-semibold);\n font-weight: var(--msr-font-weight-semibold);\n }\n .msr\\:text-ellipsis {\n text-overflow: ellipsis;\n }\n .msr\\:whitespace-nowrap {\n white-space: nowrap;\n }\n .msr\\:whitespace-pre-wrap {\n white-space: pre-wrap;\n }\n .msr\\:text-\\[\\#64748b\\] {\n color: #64748b;\n }\n .msr\\:text-black {\n color: var(--msr-color-black);\n }\n .msr\\:text-black\\/30 {\n color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--msr-color-black) 30%, transparent);\n }\n }\n .msr\\:text-black\\/45 {\n color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--msr-color-black) 45%, transparent);\n }\n }\n .msr\\:text-ink-50 {\n color: var(--msr-color-ink-50);\n }\n .msr\\:text-ink-500 {\n color: var(--msr-color-ink-500);\n }\n .msr\\:text-ink-700 {\n color: var(--msr-color-ink-700);\n }\n .msr\\:text-ink-900 {\n color: var(--msr-color-ink-900);\n }\n .msr\\:text-red-600 {\n color: var(--msr-color-red-600);\n }\n .msr\\:text-white {\n color: var(--msr-color-white);\n }\n .msr\\:text-white\\/60 {\n color: var(--msr-color-white);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--msr-color-white) 60%, transparent);\n }\n }\n .msr\\:tabular-nums {\n --tw-numeric-spacing: tabular-nums;\n font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);\n }\n .msr\\:opacity-0 {\n opacity: 0%;\n }\n .msr\\:opacity-60 {\n opacity: 60%;\n }\n .msr\\:opacity-80 {\n opacity: 80%;\n }\n .msr\\:opacity-100 {\n opacity: 100%;\n }\n .msr\\:shadow-lg {\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:shadow-sm {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:outline {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .msr\\:outline-transparent {\n outline-color: transparent;\n }\n .msr\\:transition-\\[max-width\\,opacity\\,transform\\,padding\\] {\n transition-property: max-width,opacity,transform,padding;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-\\[width\\,opacity\\] {\n transition-property: width,opacity;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-colors {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-opacity {\n transition-property: opacity;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-transform {\n transition-property: transform, translate, scale, rotate;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-none {\n transition-property: none;\n }\n .msr\\:duration-150 {\n --tw-duration: 150ms;\n transition-duration: 150ms;\n }\n .msr\\:ease-\\[ease\\] {\n --tw-ease: ease;\n transition-timing-function: ease;\n }\n .msr\\:outline-none {\n --tw-outline-style: none;\n outline-style: none;\n }\n .msr\\:select-none {\n -webkit-user-select: none;\n user-select: none;\n }\n @media (hover: hover) {\n .msr\\:group-hover\\:border-ink-200:is(:where(.msr\\:group):hover *) {\n border-color: var(--msr-color-ink-200);\n }\n }\n .msr\\:focus-within\\:rounded-l-\\[5px\\]:focus-within {\n border-top-left-radius: 5px;\n border-bottom-left-radius: 5px;\n }\n .msr\\:focus-within\\:rounded-r-\\[5px\\]:focus-within {\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px;\n }\n .msr\\:focus-within\\:outline:focus-within {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .msr\\:focus-within\\:outline-1:focus-within {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .msr\\:focus-within\\:outline-offset-\\[-1px\\]:focus-within {\n outline-offset: -1px;\n }\n .msr\\:focus-within\\:outline-\\[\\#0d99ff\\]:focus-within {\n outline-color: #0d99ff;\n }\n .msr\\:focus-within\\:outline-\\[var\\(--msr-accent\\)\\]:focus-within {\n outline-color: var(--msr-accent);\n }\n @media (hover: hover) {\n .msr\\:hover\\:border-ink-200:hover {\n border-color: var(--msr-color-ink-200);\n }\n .msr\\:hover\\:bg-\\[\\#0b8eea\\]:hover {\n background-color: #0b8eea;\n }\n .msr\\:hover\\:bg-\\[\\#0d99ff\\]:hover {\n background-color: #0d99ff;\n }\n .msr\\:hover\\:bg-black\\/4:hover {\n background-color: var(--msr-color-black);\n }\n @supports (color: color-mix(in lab, red, red)) {\n .msr\\:hover\\:bg-black\\/4:hover {\n background-color: color-mix(in oklab, var(--msr-color-black) 4%, transparent);\n }\n }\n .msr\\:hover\\:bg-black\\/10:hover {\n background-color: var(--msr-color-black);\n }\n @supports (color: color-mix(in lab, red, red)) {\n .msr\\:hover\\:bg-black\\/10:hover {\n background-color: color-mix(in oklab, var(--msr-color-black) 10%, transparent);\n }\n }\n .msr\\:hover\\:bg-ink-50:hover {\n background-color: var(--msr-color-ink-50);\n }\n .msr\\:hover\\:bg-red-50:hover {\n background-color: var(--msr-color-red-50);\n }\n .msr\\:hover\\:text-ink-700:hover {\n color: var(--msr-color-ink-700);\n }\n .msr\\:hover\\:text-ink-900:hover {\n color: var(--msr-color-ink-900);\n }\n .msr\\:hover\\:text-white:hover {\n color: var(--msr-color-white);\n }\n .msr\\:hover\\:underline:hover {\n text-decoration-line: underline;\n }\n }\n .msr\\:focus\\:border-\\[\\#0d99ff\\]:focus {\n border-color: #0d99ff;\n }\n .msr\\:focus\\:shadow-\\[inset_0_0_0_1px_\\#0d99ff\\]:focus {\n --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, #0d99ff);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus\\:shadow-\\[inset_0_0_0_1px_var\\(--msr-accent\\)\\]:focus {\n --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, var(--msr-accent));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus\\:outline-none:focus {\n --tw-outline-style: none;\n outline-style: none;\n }\n .msr\\:focus-visible\\:border-\\[\\#0d99ff\\]:focus-visible {\n border-color: #0d99ff;\n }\n .msr\\:focus-visible\\:bg-\\[\\#0d99ff\\]:focus-visible {\n background-color: #0d99ff;\n }\n .msr\\:focus-visible\\:text-white:focus-visible {\n color: var(--msr-color-white);\n }\n .msr\\:focus-visible\\:shadow-\\[inset_0_0_0_1px_\\#0d99ff\\]:focus-visible {\n --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, #0d99ff);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus-visible\\:shadow-\\[inset_0_0_0_1px_\\#ef4444\\]:focus-visible {\n --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, #ef4444);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus-visible\\:ring-1:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus-visible\\:ring-\\[\\#0d99ff\\]\\/25:focus-visible {\n --tw-ring-color: color-mix(in oklab, #0d99ff 25%, transparent);\n }\n .msr\\:focus-visible\\:outline-none:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n .msr\\:disabled\\:cursor-default:disabled {\n cursor: default;\n }\n .msr\\:disabled\\:opacity-40:disabled {\n opacity: 40%;\n }\n .msr\\:disabled\\:opacity-45:disabled {\n opacity: 45%;\n }\n @media (prefers-reduced-motion: reduce) {\n .msr\\:motion-reduce\\:transition-none {\n transition-property: none;\n }\n }\n}\n:root, :host {\n --color-ink-50: #f8fafc;\n --color-ink-200: #e2e8f0;\n --color-ink-500: #64748b;\n --color-ink-700: #334155;\n --color-ink-900: #0f172a;\n}\n:host {\n all: initial;\n display: block;\n color-scheme: light;\n color: #0f172a;\n font-family: ui-sans-serif, system-ui, sans-serif;\n font-size: 16px;\n font-weight: 400;\n line-height: 1.5;\n letter-spacing: normal;\n direction: ltr;\n --msr-spacing: 4px;\n}\n*, *::before, *::after {\n box-sizing: border-box;\n}\n@layer base {\n *, ::before, ::after, ::backdrop {\n --tw-border-style: solid;\n --tw-outline-style: solid;\n --tw-shadow: 0 0 #0000;\n --tw-inset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n }\n button, input, select, textarea {\n appearance: none;\n background-color: transparent;\n padding: 0;\n font: inherit;\n color: inherit;\n letter-spacing: inherit;\n }\n}\n.mesurer-toolbar-surface {\n box-shadow: 0 0 0.5px rgba(0, 0, 0, 0.18), 0 3px 8px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.1);\n}\n.mesurer-menu-surface {\n box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);\n}\n.mesurer-color-picker {\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n}\n.mesurer-settings-tabs {\n box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.08);\n}\n.mesurer-settings-tab[aria-selected=\"true\"] {\n box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.12);\n}\n.mesurer-switch-track {\n box-sizing: border-box;\n border: 1px solid #e2e8f0;\n}\n.mesurer-switch-track[data-checked=\"true\"] {\n border-color: #0d99ff;\n}\n.mesurer-control-shell {\n border: 1px solid transparent;\n}\n.mesurer-control-shell:hover {\n border-color: #e2e8f0;\n}\n.mesurer-control-focus:focus-within {\n outline: 1px solid #0d99ff;\n outline-offset: -1px;\n}\n.mesurer-root {\n --msr-spacing: 4px;\n}\nbody [data-mesurer-native-scroll-anchor=\"box\"][data-mesurer-nested-scroll-compensation=\"true\"] {\n position: absolute !important;\n left: calc(anchor(left) + var(--mesurer-nested-scroll-x, 0px)) !important;\n top: calc(anchor(top) + var(--mesurer-nested-scroll-y, 0px)) !important;\n}\nbody [data-mesurer-native-scroll-anchor=\"label\"][data-mesurer-nested-scroll-compensation=\"true\"] {\n position: absolute !important;\n left: calc(anchor(center) + var(--mesurer-nested-scroll-x, 0px)) !important;\n top: calc(anchor(bottom) + 2px + var(--mesurer-nested-scroll-y, 0px)) !important;\n}\nbody [data-mesurer-native-scroll-anchor=\"offset\"][data-mesurer-nested-scroll-compensation=\"true\"] {\n position: absolute !important;\n left: calc(anchor(left) + var(--mesurer-native-anchor-x, 0px) + var(--mesurer-nested-scroll-x, 0px)) !important;\n top: calc(anchor(top) + var(--mesurer-native-anchor-y, 0px) + var(--mesurer-nested-scroll-y, 0px)) !important;\n}\n[data-mesurer-text-edit-ring=\"true\"], [data-mesurer-text-selection-highlight=\"true\"], [data-mesurer-text-caret=\"true\"] {\n z-index: 2147482900 !important;\n}\n[data-mesurer-text-inspector-placement-shell=\"true\"], .mesurer-ti-card {\n z-index: 2147483647 !important;\n}\n[data-mesurer-context-root=\"true\"] [data-mesurer-annotation-scroll-mode=\"document\"] {\n position: absolute !important;\n}\n[data-mesurer-annotation-scroll-mode=\"native-anchor\"] {\n position: fixed !important;\n}\n[data-mesurer-native-scroll-anchor=\"offset\"][data-mesurer-nested-scroll-compensation=\"true\"][data-mesurer-annotation-scroll-mode=\"native-anchor\"] {\n position: fixed !important;\n}\n[data-mesurer-annotation-badge=\"true\"] {\n width: 20px !important;\n height: 20px !important;\n transform: none !important;\n transition: width 150ms ease, height 150ms ease, background 150ms ease, color 150ms ease, box-shadow 150ms ease !important;\n}\n[data-mesurer-annotation-marker=\"true\"][data-mesurer-annotation-highlighted=\"true\"] > [data-mesurer-annotation-badge=\"true\"] {\n width: 24px !important;\n height: 24px !important;\n}\n[data-mesurer-root=\"true\"][data-mesurer-direct-text-edit-active=\"true\"] [data-mesurer-annotation-trigger=\"true\"], [data-mesurer-context-root=\"true\"][data-mesurer-direct-text-edit-active=\"true\"] [data-mesurer-annotation-trigger=\"true\"] {\n display: none !important;\n}\n[data-mesurer-plugin-settings] [role=\"switch\"] {\n grid-template-columns: minmax(0, 1fr) auto;\n}\n[data-mesurer-plugin-settings] [role=\"switch\"] > span:first-child {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n[data-mesurer-plugin-settings-disclosure=\"plugins\"] {\n width: calc(100% + 16px);\n margin-inline: -8px;\n}\n.mesurer-solid-root {\n position: fixed;\n inset: 0;\n z-index: 2147483000;\n pointer-events: none;\n --msr-spacing: 4px;\n}\n.mesurer-solid-root [role=\"slider\"] {\n border: 0;\n}\n[data-mesurer-distance-kind=\"selection-spacing\"][data-mesurer-distance-active=\"true\"] [data-mesurer-distance-hover-target=\"true\"] {\n opacity: 1 !important;\n}\n[data-mesurer-distance-kind=\"selection-spacing\"][data-mesurer-distance-active=\"true\"]:has([data-mesurer-distance-label-axis=\"x\"]:hover) [data-mesurer-distance-line^=\"vertical\"], [data-mesurer-distance-kind=\"selection-spacing\"][data-mesurer-distance-active=\"true\"]:has([data-mesurer-distance-label-axis=\"y\"]:hover) [data-mesurer-distance-line^=\"horizontal\"], [data-mesurer-distance-kind=\"selection-spacing\"][data-mesurer-distance-active=\"true\"]:has([data-mesurer-distance-label-axis]:hover) [data-mesurer-distance-connector=\"true\"] {\n opacity: 0.16 !important;\n}\nbody.mesurer-solid-xray * {\n outline: solid 1px blue !important;\n}\nbody.mesurer-solid-xray [data-mesurer-root], body.mesurer-solid-xray [data-mesurer-root] *, body.mesurer-solid-xray [data-mesurer-inspector-ui], body.mesurer-solid-xray [data-mesurer-inspector-ui] *, body.mesurer-solid-xray .mesurer-toolbar-surface, body.mesurer-solid-xray .mesurer-toolbar-surface *, body.mesurer-solid-xray .mesurer-ti-box, body.mesurer-solid-xray .mesurer-ti-card, body.mesurer-solid-xray .mesurer-ti-card *, body.mesurer-solid-xray .mesurer-ti-close {\n outline: none !important;\n}\n[data-mesurer-toolbar=\"true\"] > div:has(> [data-mesurer-toolbar-compact-item]) {\n transition: padding-inline 150ms ease;\n}\n[data-mesurer-toolbar=\"true\"][data-mesurer-toolbar-compact=\"true\"] > div:has(> [data-mesurer-toolbar-compact-item]):not(:has(> [data-mesurer-toolbar-compact-item][data-visible=\"true\"])) {\n padding-inline: 0;\n}\n[data-mesurer-selected-measurement=\"true\"]:has(> [data-mesurer-native-scroll-anchor=\"box\"]) {\n display: contents !important;\n}\n@media (prefers-reduced-motion: reduce) {\n [data-mesurer-toolbar=\"true\"] > div:has(> [data-mesurer-toolbar-compact-item]) {\n transition: none;\n }\n [data-mesurer-annotation-badge=\"true\"] {\n transition: none !important;\n }\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) {\n --msr-accent: #0d99ff;\n --msr-surface: #fff;\n --msr-surface-raised: #fff;\n --msr-surface-muted: #f8fafc;\n --msr-content: #18181b;\n --msr-color-white: #fff;\n --msr-color-black: #000;\n --msr-color-ink-50: #f8fafc;\n --msr-color-ink-100: #f1f5f9;\n --msr-color-ink-200: #e2e8f0;\n --msr-color-ink-300: #cbd5e1;\n --msr-color-ink-500: #64748b;\n --msr-color-ink-700: #334155;\n --msr-color-ink-900: #18181b;\n --color-ink-50: var(--msr-color-ink-50);\n --color-ink-100: var(--msr-color-ink-100);\n --color-ink-200: var(--msr-color-ink-200);\n --color-ink-300: var(--msr-color-ink-300);\n --color-ink-500: var(--msr-color-ink-500);\n --color-ink-700: var(--msr-color-ink-700);\n --color-ink-900: var(--msr-color-ink-900);\n --msr-danger-bg: #fef2f2;\n --msr-danger-border: #fecaca;\n --msr-danger-text: #dc2626;\n --msr-danger-solid-bg: #dc2626;\n --msr-danger-solid-hover: #b91c1c;\n --msr-danger-solid-text: #fff;\n --color-red-50: var(--msr-danger-bg);\n --color-red-200: var(--msr-danger-border);\n --color-red-600: var(--msr-danger-text);\n --color-red-700: #b91c1c;\n --msr-control-thumb: #fff;\n --msr-slider-track: rgba(15, 23, 42, 0.16);\n --msr-shadow-toolbar: 0 0 0.4px rgba(0, 0, 0, 0.22),\n 0 6px 18px rgba(0, 0, 0, 0.03),\n 0 3px 9px rgba(0, 0, 0, 0.06),\n 0 1px 1px rgba(0, 0, 0, 0.06);\n --msr-shadow-floating: 0 0 0 0.4px rgba(0, 0, 0, 0.22),\n 0 6px 18px rgba(0, 0, 0, 0.03),\n 0 3px 9px rgba(0, 0, 0, 0.06),\n 0 1px 1px rgba(0, 0, 0, 0.06);\n --msr-shadow-select-menu: var(--msr-shadow-floating);\n color: var(--msr-content);\n color-scheme: light;\n}\n:where( [data-mesurer-root=\"true\"][data-theme=\"dark\"], [data-mesurer-inspector-ui=\"true\"][data-theme=\"dark\"] ) {\n --msr-accent: #0c8ce9;\n --msr-surface: #323232;\n --msr-surface-raised: #3a3a3a;\n --msr-surface-muted: #3a3a3a;\n --msr-content: #f5f5f5;\n --msr-color-white: #f5f5f5;\n --msr-color-black: #171717;\n --msr-color-ink-50: #3a3a3a;\n --msr-color-ink-100: #414141;\n --msr-color-ink-200: #4a4a4a;\n --msr-color-ink-300: #5a5a5a;\n --msr-color-ink-500: #a0a0a0;\n --msr-color-ink-700: #dedede;\n --msr-color-ink-900: #f5f5f5;\n --msr-danger-bg: #3f2020;\n --msr-danger-border: #7f3f46;\n --msr-danger-text: #f87171;\n --msr-danger-solid-bg: #c95058;\n --msr-danger-solid-hover: #b7424b;\n --msr-danger-solid-text: #f5f5f5;\n --color-red-700: #fca5a5;\n --msr-control-thumb: #f4f4f5;\n --msr-slider-track: rgba(245, 245, 245, 0.24);\n --msr-shadow-toolbar: 0 0 0.4px lch(100% 0 0 / 0.10),\n 0 3px 8px lch(0% 0 0 / 0.125),\n 0 2px 5px lch(0% 0 0 / 0.125),\n 0 1px 1px lch(0% 0 0 / 0.125);\n --msr-shadow-floating: 0 0 0 0.4px lch(100% 0 0 / 0.05),\n 0 4px 12px lch(0% 0 0 / 0.12),\n 0 1px 3px lch(0% 0 0 / 0.10);\n --msr-shadow-select-menu: 0 0 0 0.4px lch(100% 0 0 / 0.14),\n 0 4px 12px lch(0% 0 0 / 0.22),\n 0 1px 3px lch(0% 0 0 / 0.18);\n color-scheme: dark;\n}\n@media (prefers-color-scheme: dark) {\n :where( [data-mesurer-root=\"true\"][data-theme=\"system\"], [data-mesurer-inspector-ui=\"true\"][data-theme=\"system\"] ) {\n --msr-accent: #0c8ce9;\n --msr-surface: #323232;\n --msr-surface-raised: #3a3a3a;\n --msr-surface-muted: #3a3a3a;\n --msr-content: #f5f5f5;\n --msr-color-white: #f5f5f5;\n --msr-color-black: #171717;\n --msr-color-ink-50: #3a3a3a;\n --msr-color-ink-100: #414141;\n --msr-color-ink-200: #4a4a4a;\n --msr-color-ink-300: #5a5a5a;\n --msr-color-ink-500: #a0a0a0;\n --msr-color-ink-700: #dedede;\n --msr-color-ink-900: #f5f5f5;\n --msr-danger-bg: #3f2020;\n --msr-danger-border: #7f3f46;\n --msr-danger-text: #f87171;\n --msr-danger-solid-bg: #c95058;\n --msr-danger-solid-hover: #b7424b;\n --msr-danger-solid-text: #f5f5f5;\n --color-red-700: #fca5a5;\n --msr-control-thumb: #f4f4f5;\n --msr-slider-track: rgba(245, 245, 245, 0.24);\n --msr-shadow-toolbar: 0 0 0.4px lch(100% 0 0 / 0.10),\n 0 3px 8px lch(0% 0 0 / 0.125),\n 0 2px 5px lch(0% 0 0 / 0.125),\n 0 1px 1px lch(0% 0 0 / 0.125);\n --msr-shadow-floating: 0 0 0 0.4px lch(100% 0 0 / 0.05),\n 0 4px 12px lch(0% 0 0 / 0.12),\n 0 1px 3px lch(0% 0 0 / 0.10);\n --msr-shadow-select-menu: 0 0 0 0.4px lch(100% 0 0 / 0.14),\n 0 4px 12px lch(0% 0 0 / 0.22),\n 0 1px 3px lch(0% 0 0 / 0.18);\n color-scheme: dark;\n }\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:bg-white\"], :where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:bg-[#fff]\"] {\n background-color: var(--msr-surface) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:text-black\"] {\n color: var(--msr-content) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:hover:bg-black/4\"]:hover, :where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:hover:bg-black/5\"]:hover {\n background-color: var(--msr-content) !important;\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in srgb, var(--msr-content) 6%, transparent) !important;\n }\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) .mesurer-toolbar-surface {\n background-color: var(--msr-surface) !important;\n box-shadow: var(--msr-shadow-toolbar) !important;\n color: var(--msr-content);\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) :is( .mesurer-menu-surface, .mesurer-color-picker, .mesurer-ti-card, [data-mesurer-text-inspector-info=\"true\"], [data-mesurer-annotation-panel=\"true\"], [data-mesurer-annotation-composer=\"true\"] ) {\n background-color: var(--msr-surface-raised) !important;\n color: var(--msr-content) !important;\n box-shadow: var(--msr-shadow-floating) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) .mesurer-switch-track[data-checked=\"false\"], :where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) .mesurer-control-shell {\n background-color: var(--msr-surface-muted) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) .mesurer-switch-track > span {\n background-color: var(--msr-control-thumb) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) :is(.mesurer-settings-select, .mesurer-settings-select-menu) {\n background-color: var(--msr-surface-raised) !important;\n border-color: var(--msr-color-ink-200) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [data-mesurer-rulers=\"true\"] {\n color: var(--msr-color-ink-500) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [data-slider-container=\"true\"] > div:first-child {\n background-color: var(--msr-slider-track) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:bg-[#0d99ff]\"] {\n background-color: var(--msr-accent) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:border-[#0d99ff]\"] {\n border-color: var(--msr-accent) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:hover:bg-[#0d99ff]\"]:hover, :where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:focus-visible:bg-[#0d99ff]\"]:focus-visible {\n background-color: var(--msr-accent) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:text-white\"] {\n color: var(--msr-color-white) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [data-slider-thumb=\"true\"]:focus-visible {\n box-shadow: 0 0 0 1px var(--msr-accent) !important;\n @supports (color: color-mix(in lab, red, red)) {\n box-shadow: 0 0 0 1px color-mix(in srgb, var(--msr-accent) 25%, transparent) !important;\n }\n}\n:where([data-mesurer-root=\"true\"], [data-mesurer-inspector-ui=\"true\"]) {\n --msr-radius-control: 5px;\n}\n@layer utilities {\n .msr\\:rounded-control {\n border-radius: var(--msr-radius-control);\n }\n}\n.mesurer-thin-scrollbar {\n scrollbar-width: thin;\n scrollbar-color: var(--msr-color-ink-200) transparent;\n}\n.mesurer-thin-scrollbar::-webkit-scrollbar {\n width: 4px;\n height: 4px;\n}\n.mesurer-thin-scrollbar::-webkit-scrollbar-track {\n background: transparent;\n}\n.mesurer-thin-scrollbar::-webkit-scrollbar-thumb {\n background: var(--msr-color-ink-200);\n border-radius: var(--msr-radius-control);\n}\n.mesurer-thin-scrollbar:hover {\n scrollbar-color: var(--msr-color-ink-300) transparent;\n}\n.mesurer-thin-scrollbar:hover::-webkit-scrollbar-thumb {\n background: var(--msr-color-ink-300);\n}\n.mesurer-thin-scrollbar::-webkit-scrollbar-corner {\n background: transparent;\n}\n@property --tw-translate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-leading {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ordinal {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-slashed-zero {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-figure {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-spacing {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-fraction {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-inset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-ring-inset {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-offset-width {\n syntax: \"<length>\";\n inherits: false;\n initial-value: 0px;\n}\n@property --tw-ring-offset-color {\n syntax: \"*\";\n inherits: false;\n initial-value: #fff;\n}\n@property --tw-ring-offset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-outline-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-duration {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ease {\n syntax: \"*\";\n inherits: false;\n}\n@layer properties {\n @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {\n *, ::before, ::after, ::backdrop {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-border-style: solid;\n --tw-leading: initial;\n --tw-font-weight: initial;\n --tw-ordinal: initial;\n --tw-slashed-zero: initial;\n --tw-numeric-figure: initial;\n --tw-numeric-spacing: initial;\n --tw-numeric-fraction: initial;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-color: initial;\n --tw-shadow-alpha: 100%;\n --tw-inset-shadow: 0 0 #0000;\n --tw-inset-shadow-color: initial;\n --tw-inset-shadow-alpha: 100%;\n --tw-ring-color: initial;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-color: initial;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-inset: initial;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-outline-style: solid;\n --tw-duration: initial;\n --tw-ease: initial;\n }\n }\n}\n", Ii = {
3298
+ fa({}, !0);
3299
+ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer theme, base, components, utilities;\n@layer theme {\n :root, :host {\n --msr-font-sans: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\",\n \"Noto Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\",\n \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --msr-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\n \"Courier New\", monospace;\n --msr-color-red-50: oklch(97.1% 0.013 17.38);\n --msr-color-red-200: oklch(88.5% 0.062 18.334);\n --msr-color-red-600: oklch(57.7% 0.245 27.325);\n --msr-color-black: #000;\n --msr-color-white: #fff;\n --msr-spacing: 0.25rem;\n --msr-font-weight-normal: 400;\n --msr-font-weight-medium: 500;\n --msr-font-weight-semibold: 600;\n --msr-radius-md: 0.375rem;\n --msr-radius-lg: 0.5rem;\n --msr-default-transition-duration: 150ms;\n --msr-default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n --msr-default-font-family: var(--msr-font-sans);\n --msr-default-mono-font-family: var(--msr-font-mono);\n --msr-color-ink-50: #f8fafc;\n --msr-color-ink-200: #e2e8f0;\n --msr-color-ink-500: #64748b;\n --msr-color-ink-700: #334155;\n --msr-color-ink-900: #0f172a;\n }\n}\n@layer base {\n *, ::after, ::before, ::backdrop, ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html, :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n font-family: var(--msr-default-font-family, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");\n font-feature-settings: var(--msr-default-font-feature-settings, normal);\n font-variation-settings: var(--msr-default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b, strong {\n font-weight: bolder;\n }\n code, kbd, samp, pre {\n font-family: var(--msr-default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-feature-settings: var(--msr-default-mono-font-feature-settings, normal);\n font-variation-settings: var(--msr-default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub, sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring:where(:not(iframe)) {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol, ul, menu {\n list-style: none;\n }\n img, svg, video, canvas, audio, iframe, embed, object {\n display: block;\n vertical-align: middle;\n }\n img, video {\n max-width: 100%;\n height: auto;\n }\n button, input, select, optgroup, textarea, ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n ::-webkit-calendar-picker-indicator {\n line-height: 1;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n}\n@layer utilities {\n .msr\\:pointer-events-auto {\n pointer-events: auto;\n }\n .msr\\:pointer-events-none {\n pointer-events: none;\n }\n .msr\\:absolute {\n position: absolute;\n }\n .msr\\:fixed {\n position: fixed;\n }\n .msr\\:relative {\n position: relative;\n }\n .msr\\:inset-0 {\n inset: 0px;\n }\n .msr\\:top-0 {\n top: 0px;\n }\n .msr\\:top-1\\/2 {\n top: calc(1 / 2 * 100%);\n }\n .msr\\:top-\\[18px\\] {\n top: 18px;\n }\n .msr\\:top-full {\n top: 100%;\n }\n .msr\\:right-0 {\n right: 0px;\n }\n .msr\\:right-2 {\n right: calc(var(--msr-spacing) * 2);\n }\n .msr\\:right-\\[8px\\] {\n right: 8px;\n }\n .msr\\:bottom-0 {\n bottom: 0px;\n }\n .msr\\:bottom-full {\n bottom: 100%;\n }\n .msr\\:left-0 {\n left: 0px;\n }\n .msr\\:left-1\\/2 {\n left: calc(1 / 2 * 100%);\n }\n .msr\\:left-\\[8px\\] {\n left: 8px;\n }\n .msr\\:left-\\[18px\\] {\n left: 18px;\n }\n .msr\\:z-10 {\n z-index: 10;\n }\n .msr\\:z-\\[60\\] {\n z-index: 60;\n }\n .msr\\:z-\\[70\\] {\n z-index: 70;\n }\n .msr\\:z-\\[80\\] {\n z-index: 80;\n }\n .msr\\:z-\\[90\\] {\n z-index: 90;\n }\n .msr\\:z-\\[94\\] {\n z-index: 94;\n }\n .msr\\:z-\\[95\\] {\n z-index: 95;\n }\n .msr\\:col-span-2 {\n grid-column: span 2 / span 2;\n }\n .msr\\:col-start-1 {\n grid-column-start: 1;\n }\n .msr\\:col-start-2 {\n grid-column-start: 2;\n }\n .msr\\:col-start-3 {\n grid-column-start: 3;\n }\n .msr\\:m-0 {\n margin: 0px;\n }\n .msr\\:mx-1 {\n margin-inline: var(--msr-spacing);\n }\n .msr\\:mt-1 {\n margin-top: var(--msr-spacing);\n }\n .msr\\:mt-1\\.5 {\n margin-top: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:mt-2 {\n margin-top: calc(var(--msr-spacing) * 2);\n }\n .msr\\:mb-1 {\n margin-bottom: var(--msr-spacing);\n }\n .msr\\:mb-2 {\n margin-bottom: calc(var(--msr-spacing) * 2);\n }\n .msr\\:-ml-1 {\n margin-left: calc(var(--msr-spacing) * -1);\n }\n .msr\\:ml-1 {\n margin-left: var(--msr-spacing);\n }\n .msr\\:ml-2 {\n margin-left: calc(var(--msr-spacing) * 2);\n }\n .msr\\:ml-6 {\n margin-left: calc(var(--msr-spacing) * 6);\n }\n .msr\\:box-border {\n box-sizing: border-box;\n }\n .msr\\:block {\n display: block;\n }\n .msr\\:flex {\n display: flex;\n }\n .msr\\:grid {\n display: grid;\n }\n .msr\\:inline-flex {\n display: inline-flex;\n }\n .msr\\:size-1\\.5 {\n width: calc(var(--msr-spacing) * 1.5);\n height: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:size-3 {\n width: calc(var(--msr-spacing) * 3);\n height: calc(var(--msr-spacing) * 3);\n }\n .msr\\:size-4 {\n width: calc(var(--msr-spacing) * 4);\n height: calc(var(--msr-spacing) * 4);\n }\n .msr\\:size-6 {\n width: calc(var(--msr-spacing) * 6);\n height: calc(var(--msr-spacing) * 6);\n }\n .msr\\:size-7 {\n width: calc(var(--msr-spacing) * 7);\n height: calc(var(--msr-spacing) * 7);\n }\n .msr\\:size-8 {\n width: calc(var(--msr-spacing) * 8);\n height: calc(var(--msr-spacing) * 8);\n }\n .msr\\:size-\\[10px\\] {\n width: 10px;\n height: 10px;\n }\n .msr\\:size-\\[18px\\] {\n width: 18px;\n height: 18px;\n }\n .msr\\:size-full {\n width: 100%;\n height: 100%;\n }\n .msr\\:h-5 {\n height: calc(var(--msr-spacing) * 5);\n }\n .msr\\:h-6 {\n height: calc(var(--msr-spacing) * 6);\n }\n .msr\\:h-7 {\n height: calc(var(--msr-spacing) * 7);\n }\n .msr\\:h-8 {\n height: calc(var(--msr-spacing) * 8);\n }\n .msr\\:h-20 {\n height: calc(var(--msr-spacing) * 20);\n }\n .msr\\:h-\\[14px\\] {\n height: 14px;\n }\n .msr\\:h-\\[18px\\] {\n height: 18px;\n }\n .msr\\:h-\\[19px\\] {\n height: 19px;\n }\n .msr\\:h-full {\n height: 100%;\n }\n .msr\\:h-px {\n height: 1px;\n }\n .msr\\:max-h-36 {\n max-height: calc(var(--msr-spacing) * 36);\n }\n .msr\\:max-h-\\[220px\\] {\n max-height: 220px;\n }\n .msr\\:max-h-\\[calc\\(100vh-16px\\)\\] {\n max-height: calc(100vh - 16px);\n }\n .msr\\:max-h-\\[min\\(70vh\\,34rem\\)\\] {\n max-height: min(70vh, 34rem);\n }\n .msr\\:max-h-\\[min\\(320px\\,calc\\(100vh-16px\\)\\)\\] {\n max-height: min(320px, calc(100vh - 16px));\n }\n .msr\\:min-h-0 {\n min-height: 0px;\n }\n .msr\\:w-0 {\n width: 0px;\n }\n .msr\\:w-3 {\n width: calc(var(--msr-spacing) * 3);\n }\n .msr\\:w-4 {\n width: calc(var(--msr-spacing) * 4);\n }\n .msr\\:w-5 {\n width: calc(var(--msr-spacing) * 5);\n }\n .msr\\:w-6 {\n width: calc(var(--msr-spacing) * 6);\n }\n .msr\\:w-9 {\n width: calc(var(--msr-spacing) * 9);\n }\n .msr\\:w-12 {\n width: calc(var(--msr-spacing) * 12);\n }\n .msr\\:w-44 {\n width: calc(var(--msr-spacing) * 44);\n }\n .msr\\:w-60 {\n width: calc(var(--msr-spacing) * 60);\n }\n .msr\\:w-\\[18px\\] {\n width: 18px;\n }\n .msr\\:w-\\[26px\\] {\n width: 26px;\n }\n .msr\\:w-\\[272px\\] {\n width: 272px;\n }\n .msr\\:w-full {\n width: 100%;\n }\n .msr\\:w-px {\n width: 1px;\n }\n .msr\\:max-w-0 {\n max-width: 0px;\n }\n .msr\\:max-w-20 {\n max-width: calc(var(--msr-spacing) * 20);\n }\n .msr\\:max-w-\\[calc\\(100vw-16px\\)\\] {\n max-width: calc(100vw - 16px);\n }\n .msr\\:min-w-0 {\n min-width: 0px;\n }\n .msr\\:min-w-36 {\n min-width: calc(var(--msr-spacing) * 36);\n }\n .msr\\:flex-1 {\n flex: 1;\n }\n .msr\\:flex-none {\n flex: none;\n }\n .msr\\:shrink-0 {\n flex-shrink: 0;\n }\n .msr\\:-translate-x-1 {\n --tw-translate-x: calc(var(--msr-spacing) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .msr\\:-translate-x-1\\/2 {\n --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .msr\\:translate-x-0 {\n --tw-translate-x: 0px;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .msr\\:-translate-y-1\\/2 {\n --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .msr\\:-rotate-90 {\n rotate: calc(90deg * -1);\n }\n .msr\\:rotate-45 {\n rotate: 45deg;\n }\n .msr\\:rotate-90 {\n rotate: 90deg;\n }\n .msr\\:rotate-180 {\n rotate: 180deg;\n }\n .msr\\:rotate-\\[45deg\\] {\n rotate: 45deg;\n }\n .msr\\:rotate-\\[135deg\\] {\n rotate: 135deg;\n }\n .msr\\:cursor-crosshair {\n cursor: crosshair;\n }\n .msr\\:cursor-default {\n cursor: default;\n }\n .msr\\:cursor-pointer {\n cursor: pointer;\n }\n .msr\\:touch-none {\n touch-action: none;\n }\n .msr\\:resize-none {\n resize: none;\n }\n .msr\\:list-none {\n list-style-type: none;\n }\n .msr\\:appearance-none {\n appearance: none;\n }\n .msr\\:grid-cols-\\[78px_150px\\] {\n grid-template-columns: 78px 150px;\n }\n .msr\\:grid-cols-\\[78px_156px\\] {\n grid-template-columns: 78px 156px;\n }\n .msr\\:grid-cols-\\[78px_minmax\\(0\\,1fr\\)\\] {\n grid-template-columns: 78px minmax(0,1fr);\n }\n .msr\\:grid-cols-\\[minmax\\(0\\,1fr\\)_28px_34px\\] {\n grid-template-columns: minmax(0,1fr) 28px 34px;\n }\n .msr\\:flex-col {\n flex-direction: column;\n }\n .msr\\:items-center {\n align-items: center;\n }\n .msr\\:items-start {\n align-items: flex-start;\n }\n .msr\\:items-stretch {\n align-items: stretch;\n }\n .msr\\:justify-between {\n justify-content: space-between;\n }\n .msr\\:justify-center {\n justify-content: center;\n }\n .msr\\:justify-end {\n justify-content: flex-end;\n }\n .msr\\:gap-0 {\n gap: 0px;\n }\n .msr\\:gap-0\\.5 {\n gap: calc(var(--msr-spacing) * 0.5);\n }\n .msr\\:gap-1 {\n gap: var(--msr-spacing);\n }\n .msr\\:gap-1\\.5 {\n gap: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:gap-2 {\n gap: calc(var(--msr-spacing) * 2);\n }\n .msr\\:gap-3 {\n gap: calc(var(--msr-spacing) * 3);\n }\n .msr\\:gap-px {\n gap: 1px;\n }\n .msr\\:gap-x-3 {\n column-gap: calc(var(--msr-spacing) * 3);\n }\n .msr\\:gap-y-1 {\n row-gap: var(--msr-spacing);\n }\n .msr\\:self-stretch {\n align-self: stretch;\n }\n .msr\\:justify-self-end {\n justify-self: flex-end;\n }\n .msr\\:truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .msr\\:overflow-auto {\n overflow: auto;\n }\n .msr\\:overflow-hidden {\n overflow: hidden;\n }\n .msr\\:overflow-visible {\n overflow: visible;\n }\n .msr\\:overflow-x-hidden {\n overflow-x: hidden;\n }\n .msr\\:overflow-y-auto {\n overflow-y: auto;\n }\n .msr\\:rounded {\n border-radius: 0.25rem;\n }\n .msr\\:rounded-\\[3px\\] {\n border-radius: 3px;\n }\n .msr\\:rounded-\\[5px\\] {\n border-radius: 5px;\n }\n .msr\\:rounded-\\[6px\\] {\n border-radius: 6px;\n }\n .msr\\:rounded-\\[7px\\] {\n border-radius: 7px;\n }\n .msr\\:rounded-\\[8px\\] {\n border-radius: 8px;\n }\n .msr\\:rounded-\\[10px\\] {\n border-radius: 10px;\n }\n .msr\\:rounded-\\[12px\\] {\n border-radius: 12px;\n }\n .msr\\:rounded-full {\n border-radius: calc(infinity * 1px);\n }\n .msr\\:rounded-lg {\n border-radius: var(--msr-radius-lg);\n }\n .msr\\:rounded-md {\n border-radius: var(--msr-radius-md);\n }\n .msr\\:rounded-none {\n border-radius: 0;\n }\n .msr\\:border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .msr\\:border-0 {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n .msr\\:border-t {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n }\n .msr\\:border-t-2 {\n border-top-style: var(--tw-border-style);\n border-top-width: 2px;\n }\n .msr\\:border-r {\n border-right-style: var(--tw-border-style);\n border-right-width: 1px;\n }\n .msr\\:border-b {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n .msr\\:border-l {\n border-left-style: var(--tw-border-style);\n border-left-width: 1px;\n }\n .msr\\:border-dashed {\n --tw-border-style: dashed;\n border-style: dashed;\n }\n .msr\\:border-dotted {\n --tw-border-style: dotted;\n border-style: dotted;\n }\n .msr\\:border-solid {\n --tw-border-style: solid;\n border-style: solid;\n }\n .msr\\:border-\\[\\#0d99ff\\] {\n border-color: #0d99ff;\n }\n .msr\\:border-\\[\\#2563eb\\]\\/70 {\n border-color: color-mix(in oklab, #2563eb 70%, transparent);\n }\n .msr\\:border-black\\/8 {\n border-color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--msr-color-black) 8%, transparent);\n }\n }\n .msr\\:border-black\\/10 {\n border-color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--msr-color-black) 10%, transparent);\n }\n }\n .msr\\:border-black\\/15 {\n border-color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--msr-color-black) 15%, transparent);\n }\n }\n .msr\\:border-ink-200 {\n border-color: var(--msr-color-ink-200);\n }\n .msr\\:border-ink-500 {\n border-color: var(--msr-color-ink-500);\n }\n .msr\\:border-ink-700 {\n border-color: var(--msr-color-ink-700);\n }\n .msr\\:border-red-200 {\n border-color: var(--msr-color-red-200);\n }\n .msr\\:border-transparent {\n border-color: transparent;\n }\n .msr\\:bg-\\[\\#0d99ff\\] {\n background-color: #0d99ff;\n }\n .msr\\:bg-\\[\\#0d99ff\\]\\/10 {\n background-color: color-mix(in oklab, #0d99ff 10%, transparent);\n }\n .msr\\:bg-\\[\\#2563eb\\] {\n background-color: #2563eb;\n }\n .msr\\:bg-\\[\\#fff\\] {\n background-color: #fff;\n }\n .msr\\:bg-black {\n background-color: var(--msr-color-black);\n }\n .msr\\:bg-black\\/10 {\n background-color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-black) 10%, transparent);\n }\n }\n .msr\\:bg-ink-50 {\n background-color: var(--msr-color-ink-50);\n }\n .msr\\:bg-ink-50\\/40 {\n background-color: var(--msr-color-ink-50);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-ink-50) 40%, transparent);\n }\n }\n .msr\\:bg-ink-900\\/90 {\n background-color: var(--msr-color-ink-900);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-ink-900) 90%, transparent);\n }\n }\n .msr\\:bg-transparent {\n background-color: transparent;\n }\n .msr\\:bg-white {\n background-color: var(--msr-color-white);\n }\n .msr\\:bg-white\\/60 {\n background-color: var(--msr-color-white);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-white) 60%, transparent);\n }\n }\n .msr\\:p-0 {\n padding: 0px;\n }\n .msr\\:p-1 {\n padding: var(--msr-spacing);\n }\n .msr\\:p-1\\.5 {\n padding: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:p-2 {\n padding: calc(var(--msr-spacing) * 2);\n }\n .msr\\:p-3 {\n padding: calc(var(--msr-spacing) * 3);\n }\n .msr\\:p-px {\n padding: 1px;\n }\n .msr\\:px-0 {\n padding-inline: 0px;\n }\n .msr\\:px-0\\.5 {\n padding-inline: calc(var(--msr-spacing) * 0.5);\n }\n .msr\\:px-1 {\n padding-inline: var(--msr-spacing);\n }\n .msr\\:px-1\\.5 {\n padding-inline: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:px-2 {\n padding-inline: calc(var(--msr-spacing) * 2);\n }\n .msr\\:px-2\\.5 {\n padding-inline: calc(var(--msr-spacing) * 2.5);\n }\n .msr\\:py-0 {\n padding-block: 0px;\n }\n .msr\\:py-0\\.5 {\n padding-block: calc(var(--msr-spacing) * 0.5);\n }\n .msr\\:py-1 {\n padding-block: var(--msr-spacing);\n }\n .msr\\:py-1\\.5 {\n padding-block: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:py-2 {\n padding-block: calc(var(--msr-spacing) * 2);\n }\n .msr\\:pt-2 {\n padding-top: calc(var(--msr-spacing) * 2);\n }\n .msr\\:pr-2 {\n padding-right: calc(var(--msr-spacing) * 2);\n }\n .msr\\:pr-6 {\n padding-right: calc(var(--msr-spacing) * 6);\n }\n .msr\\:pb-1 {\n padding-bottom: var(--msr-spacing);\n }\n .msr\\:pb-2 {\n padding-bottom: calc(var(--msr-spacing) * 2);\n }\n .msr\\:text-center {\n text-align: center;\n }\n .msr\\:text-left {\n text-align: left;\n }\n .msr\\:font-mono {\n font-family: var(--msr-font-mono);\n }\n .msr\\:text-\\[9px\\] {\n font-size: 9px;\n }\n .msr\\:text-\\[10px\\] {\n font-size: 10px;\n }\n .msr\\:text-\\[11px\\] {\n font-size: 11px;\n }\n .msr\\:text-\\[12px\\] {\n font-size: 12px;\n }\n .msr\\:leading-4 {\n --tw-leading: calc(var(--msr-spacing) * 4);\n line-height: calc(var(--msr-spacing) * 4);\n }\n .msr\\:leading-\\[1\\.4\\] {\n --tw-leading: 1.4;\n line-height: 1.4;\n }\n .msr\\:leading-\\[1\\.45\\] {\n --tw-leading: 1.45;\n line-height: 1.45;\n }\n .msr\\:leading-\\[18px\\] {\n --tw-leading: 18px;\n line-height: 18px;\n }\n .msr\\:leading-none {\n --tw-leading: 1;\n line-height: 1;\n }\n .msr\\:font-medium {\n --tw-font-weight: var(--msr-font-weight-medium);\n font-weight: var(--msr-font-weight-medium);\n }\n .msr\\:font-normal {\n --tw-font-weight: var(--msr-font-weight-normal);\n font-weight: var(--msr-font-weight-normal);\n }\n .msr\\:font-semibold {\n --tw-font-weight: var(--msr-font-weight-semibold);\n font-weight: var(--msr-font-weight-semibold);\n }\n .msr\\:text-ellipsis {\n text-overflow: ellipsis;\n }\n .msr\\:whitespace-nowrap {\n white-space: nowrap;\n }\n .msr\\:whitespace-pre-wrap {\n white-space: pre-wrap;\n }\n .msr\\:text-\\[\\#64748b\\] {\n color: #64748b;\n }\n .msr\\:text-black {\n color: var(--msr-color-black);\n }\n .msr\\:text-black\\/30 {\n color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--msr-color-black) 30%, transparent);\n }\n }\n .msr\\:text-black\\/45 {\n color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--msr-color-black) 45%, transparent);\n }\n }\n .msr\\:text-ink-50 {\n color: var(--msr-color-ink-50);\n }\n .msr\\:text-ink-500 {\n color: var(--msr-color-ink-500);\n }\n .msr\\:text-ink-700 {\n color: var(--msr-color-ink-700);\n }\n .msr\\:text-ink-900 {\n color: var(--msr-color-ink-900);\n }\n .msr\\:text-red-600 {\n color: var(--msr-color-red-600);\n }\n .msr\\:text-white {\n color: var(--msr-color-white);\n }\n .msr\\:text-white\\/60 {\n color: var(--msr-color-white);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--msr-color-white) 60%, transparent);\n }\n }\n .msr\\:tabular-nums {\n --tw-numeric-spacing: tabular-nums;\n font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);\n }\n .msr\\:opacity-0 {\n opacity: 0%;\n }\n .msr\\:opacity-60 {\n opacity: 60%;\n }\n .msr\\:opacity-80 {\n opacity: 80%;\n }\n .msr\\:opacity-100 {\n opacity: 100%;\n }\n .msr\\:shadow-lg {\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:shadow-sm {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:outline {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .msr\\:outline-transparent {\n outline-color: transparent;\n }\n .msr\\:transition-\\[max-width\\,opacity\\,transform\\,padding\\] {\n transition-property: max-width,opacity,transform,padding;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-\\[width\\,opacity\\] {\n transition-property: width,opacity;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-colors {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-opacity {\n transition-property: opacity;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-transform {\n transition-property: transform, translate, scale, rotate;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-none {\n transition-property: none;\n }\n .msr\\:duration-150 {\n --tw-duration: 150ms;\n transition-duration: 150ms;\n }\n .msr\\:ease-\\[ease\\] {\n --tw-ease: ease;\n transition-timing-function: ease;\n }\n .msr\\:outline-none {\n --tw-outline-style: none;\n outline-style: none;\n }\n .msr\\:select-none {\n -webkit-user-select: none;\n user-select: none;\n }\n @media (hover: hover) {\n .msr\\:group-hover\\:border-ink-200:is(:where(.msr\\:group):hover *) {\n border-color: var(--msr-color-ink-200);\n }\n }\n .msr\\:focus-within\\:rounded-l-\\[5px\\]:focus-within {\n border-top-left-radius: 5px;\n border-bottom-left-radius: 5px;\n }\n .msr\\:focus-within\\:rounded-r-\\[5px\\]:focus-within {\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px;\n }\n .msr\\:focus-within\\:outline:focus-within {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .msr\\:focus-within\\:outline-1:focus-within {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .msr\\:focus-within\\:outline-offset-\\[-1px\\]:focus-within {\n outline-offset: -1px;\n }\n .msr\\:focus-within\\:outline-\\[\\#0d99ff\\]:focus-within {\n outline-color: #0d99ff;\n }\n .msr\\:focus-within\\:outline-\\[var\\(--msr-accent\\)\\]:focus-within {\n outline-color: var(--msr-accent);\n }\n @media (hover: hover) {\n .msr\\:hover\\:border-ink-200:hover {\n border-color: var(--msr-color-ink-200);\n }\n .msr\\:hover\\:bg-\\[\\#0b8eea\\]:hover {\n background-color: #0b8eea;\n }\n .msr\\:hover\\:bg-\\[\\#0d99ff\\]:hover {\n background-color: #0d99ff;\n }\n .msr\\:hover\\:bg-black\\/4:hover {\n background-color: var(--msr-color-black);\n }\n @supports (color: color-mix(in lab, red, red)) {\n .msr\\:hover\\:bg-black\\/4:hover {\n background-color: color-mix(in oklab, var(--msr-color-black) 4%, transparent);\n }\n }\n .msr\\:hover\\:bg-black\\/10:hover {\n background-color: var(--msr-color-black);\n }\n @supports (color: color-mix(in lab, red, red)) {\n .msr\\:hover\\:bg-black\\/10:hover {\n background-color: color-mix(in oklab, var(--msr-color-black) 10%, transparent);\n }\n }\n .msr\\:hover\\:bg-ink-50:hover {\n background-color: var(--msr-color-ink-50);\n }\n .msr\\:hover\\:bg-red-50:hover {\n background-color: var(--msr-color-red-50);\n }\n .msr\\:hover\\:text-ink-700:hover {\n color: var(--msr-color-ink-700);\n }\n .msr\\:hover\\:text-ink-900:hover {\n color: var(--msr-color-ink-900);\n }\n .msr\\:hover\\:text-white:hover {\n color: var(--msr-color-white);\n }\n .msr\\:hover\\:underline:hover {\n text-decoration-line: underline;\n }\n }\n .msr\\:focus\\:border-\\[\\#0d99ff\\]:focus {\n border-color: #0d99ff;\n }\n .msr\\:focus\\:shadow-\\[inset_0_0_0_1px_\\#0d99ff\\]:focus {\n --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, #0d99ff);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus\\:shadow-\\[inset_0_0_0_1px_var\\(--msr-accent\\)\\]:focus {\n --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, var(--msr-accent));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus\\:outline-none:focus {\n --tw-outline-style: none;\n outline-style: none;\n }\n .msr\\:focus-visible\\:border-\\[\\#0d99ff\\]:focus-visible {\n border-color: #0d99ff;\n }\n .msr\\:focus-visible\\:bg-\\[\\#0d99ff\\]:focus-visible {\n background-color: #0d99ff;\n }\n .msr\\:focus-visible\\:text-white:focus-visible {\n color: var(--msr-color-white);\n }\n .msr\\:focus-visible\\:shadow-\\[inset_0_0_0_1px_\\#0d99ff\\]:focus-visible {\n --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, #0d99ff);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus-visible\\:shadow-\\[inset_0_0_0_1px_\\#ef4444\\]:focus-visible {\n --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, #ef4444);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus-visible\\:ring-1:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus-visible\\:ring-\\[\\#0d99ff\\]\\/25:focus-visible {\n --tw-ring-color: color-mix(in oklab, #0d99ff 25%, transparent);\n }\n .msr\\:focus-visible\\:outline-none:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n .msr\\:disabled\\:cursor-default:disabled {\n cursor: default;\n }\n .msr\\:disabled\\:opacity-40:disabled {\n opacity: 40%;\n }\n .msr\\:disabled\\:opacity-45:disabled {\n opacity: 45%;\n }\n @media (prefers-reduced-motion: reduce) {\n .msr\\:motion-reduce\\:transition-none {\n transition-property: none;\n }\n }\n}\n:root, :host {\n --color-ink-50: #f8fafc;\n --color-ink-200: #e2e8f0;\n --color-ink-500: #64748b;\n --color-ink-700: #334155;\n --color-ink-900: #0f172a;\n}\n:host {\n all: initial;\n display: block;\n color-scheme: light;\n color: #0f172a;\n font-family: ui-sans-serif, system-ui, sans-serif;\n font-size: 16px;\n font-weight: 400;\n line-height: 1.5;\n letter-spacing: normal;\n direction: ltr;\n --msr-spacing: 4px;\n}\n*, *::before, *::after {\n box-sizing: border-box;\n}\n@layer base {\n *, ::before, ::after, ::backdrop {\n --tw-border-style: solid;\n --tw-outline-style: solid;\n --tw-shadow: 0 0 #0000;\n --tw-inset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n }\n button, input, select, textarea {\n appearance: none;\n background-color: transparent;\n padding: 0;\n font: inherit;\n color: inherit;\n letter-spacing: inherit;\n }\n}\n.mesurer-toolbar-surface {\n box-shadow: 0 0 0.5px rgba(0, 0, 0, 0.18), 0 3px 8px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.1);\n}\n.mesurer-menu-surface {\n box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);\n}\n.mesurer-color-picker {\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n}\n.mesurer-settings-tabs {\n box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.08);\n}\n.mesurer-settings-tab[aria-selected=\"true\"] {\n box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.12);\n}\n.mesurer-switch-track {\n box-sizing: border-box;\n border: 1px solid #e2e8f0;\n}\n.mesurer-switch-track[data-checked=\"true\"] {\n border-color: #0d99ff;\n}\n.mesurer-control-shell {\n border: 1px solid transparent;\n}\n.mesurer-control-shell:hover {\n border-color: #e2e8f0;\n}\n.mesurer-control-focus:focus-within {\n outline: 1px solid #0d99ff;\n outline-offset: -1px;\n}\n.mesurer-root {\n --msr-spacing: 4px;\n}\nbody [data-mesurer-native-scroll-anchor=\"box\"][data-mesurer-nested-scroll-compensation=\"true\"] {\n position: absolute !important;\n left: calc(anchor(left) + var(--mesurer-nested-scroll-x, 0px)) !important;\n top: calc(anchor(top) + var(--mesurer-nested-scroll-y, 0px)) !important;\n}\nbody [data-mesurer-native-scroll-anchor=\"label\"][data-mesurer-nested-scroll-compensation=\"true\"] {\n position: absolute !important;\n left: calc(anchor(center) + var(--mesurer-nested-scroll-x, 0px)) !important;\n top: calc(anchor(bottom) + 2px + var(--mesurer-nested-scroll-y, 0px)) !important;\n}\nbody [data-mesurer-native-scroll-anchor=\"offset\"][data-mesurer-nested-scroll-compensation=\"true\"] {\n position: absolute !important;\n left: calc(anchor(left) + var(--mesurer-native-anchor-x, 0px) + var(--mesurer-nested-scroll-x, 0px)) !important;\n top: calc(anchor(top) + var(--mesurer-native-anchor-y, 0px) + var(--mesurer-nested-scroll-y, 0px)) !important;\n}\n[data-mesurer-text-edit-ring=\"true\"], [data-mesurer-text-selection-highlight=\"true\"], [data-mesurer-text-caret=\"true\"] {\n z-index: 2147482900 !important;\n}\n[data-mesurer-text-inspector-placement-shell=\"true\"], .mesurer-ti-card {\n z-index: 2147483647 !important;\n}\n[data-mesurer-context-root=\"true\"] [data-mesurer-annotation-scroll-mode=\"document\"] {\n position: absolute !important;\n}\n[data-mesurer-annotation-scroll-mode=\"native-anchor\"] {\n position: fixed !important;\n}\n[data-mesurer-native-scroll-anchor=\"offset\"][data-mesurer-nested-scroll-compensation=\"true\"][data-mesurer-annotation-scroll-mode=\"native-anchor\"] {\n position: fixed !important;\n}\n[data-mesurer-annotation-badge=\"true\"] {\n width: 20px !important;\n height: 20px !important;\n transform: none !important;\n transition: width 150ms ease, height 150ms ease, background 150ms ease, color 150ms ease, box-shadow 150ms ease !important;\n}\n[data-mesurer-annotation-marker=\"true\"][data-mesurer-annotation-highlighted=\"true\"] > [data-mesurer-annotation-badge=\"true\"] {\n width: 24px !important;\n height: 24px !important;\n}\n[data-mesurer-root=\"true\"][data-mesurer-direct-text-edit-active=\"true\"] [data-mesurer-annotation-trigger=\"true\"], [data-mesurer-context-root=\"true\"][data-mesurer-direct-text-edit-active=\"true\"] [data-mesurer-annotation-trigger=\"true\"] {\n display: none !important;\n}\n[data-mesurer-plugin-settings] [role=\"switch\"] {\n grid-template-columns: minmax(0, 1fr) auto;\n}\n[data-mesurer-plugin-settings] [role=\"switch\"] > span:first-child {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n[data-mesurer-plugin-settings-disclosure=\"plugins\"] {\n width: calc(100% + 16px);\n margin-inline: -8px;\n}\n.mesurer-solid-root {\n position: fixed;\n inset: 0;\n z-index: 2147483000;\n pointer-events: none;\n --msr-spacing: 4px;\n}\n.mesurer-solid-root [role=\"slider\"] {\n border: 0;\n}\n[data-mesurer-distance-kind=\"selection-spacing\"][data-mesurer-distance-active=\"true\"] [data-mesurer-distance-hover-target=\"true\"] {\n opacity: 1 !important;\n}\n[data-mesurer-distance-kind=\"selection-spacing\"][data-mesurer-distance-active=\"true\"]:has([data-mesurer-distance-label-axis=\"x\"]:hover) [data-mesurer-distance-line^=\"vertical\"], [data-mesurer-distance-kind=\"selection-spacing\"][data-mesurer-distance-active=\"true\"]:has([data-mesurer-distance-label-axis=\"y\"]:hover) [data-mesurer-distance-line^=\"horizontal\"], [data-mesurer-distance-kind=\"selection-spacing\"][data-mesurer-distance-active=\"true\"]:has([data-mesurer-distance-label-axis]:hover) [data-mesurer-distance-connector=\"true\"] {\n opacity: 0.16 !important;\n}\nbody.mesurer-solid-xray * {\n outline: solid 1px blue !important;\n}\nbody.mesurer-solid-xray [data-mesurer-root], body.mesurer-solid-xray [data-mesurer-root] *, body.mesurer-solid-xray [data-mesurer-inspector-ui], body.mesurer-solid-xray [data-mesurer-inspector-ui] *, body.mesurer-solid-xray .mesurer-toolbar-surface, body.mesurer-solid-xray .mesurer-toolbar-surface *, body.mesurer-solid-xray .mesurer-ti-box, body.mesurer-solid-xray .mesurer-ti-card, body.mesurer-solid-xray .mesurer-ti-card *, body.mesurer-solid-xray .mesurer-ti-close {\n outline: none !important;\n}\n[data-mesurer-toolbar=\"true\"] > div:has(> [data-mesurer-toolbar-compact-item]) {\n transition: padding-inline 150ms ease;\n}\n[data-mesurer-toolbar=\"true\"][data-mesurer-toolbar-compact=\"true\"] > div:has(> [data-mesurer-toolbar-compact-item]):not(:has(> [data-mesurer-toolbar-compact-item][data-visible=\"true\"])) {\n padding-inline: 0;\n}\n[data-mesurer-selected-measurement=\"true\"]:has(> [data-mesurer-native-scroll-anchor=\"box\"]) {\n display: contents !important;\n}\n@media (prefers-reduced-motion: reduce) {\n [data-mesurer-toolbar=\"true\"] > div:has(> [data-mesurer-toolbar-compact-item]) {\n transition: none;\n }\n [data-mesurer-annotation-badge=\"true\"] {\n transition: none !important;\n }\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) {\n --msr-accent: #0d99ff;\n --msr-surface: #fff;\n --msr-surface-raised: #fff;\n --msr-surface-muted: #f8fafc;\n --msr-content: #18181b;\n --msr-color-white: #fff;\n --msr-color-black: #000;\n --msr-color-ink-50: #f8fafc;\n --msr-color-ink-100: #f1f5f9;\n --msr-color-ink-200: #e2e8f0;\n --msr-color-ink-300: #cbd5e1;\n --msr-color-ink-500: #64748b;\n --msr-color-ink-700: #334155;\n --msr-color-ink-900: #18181b;\n --color-ink-50: var(--msr-color-ink-50);\n --color-ink-100: var(--msr-color-ink-100);\n --color-ink-200: var(--msr-color-ink-200);\n --color-ink-300: var(--msr-color-ink-300);\n --color-ink-500: var(--msr-color-ink-500);\n --color-ink-700: var(--msr-color-ink-700);\n --color-ink-900: var(--msr-color-ink-900);\n --msr-danger-bg: #fef2f2;\n --msr-danger-border: #fecaca;\n --msr-danger-text: #dc2626;\n --msr-danger-solid-bg: #dc2626;\n --msr-danger-solid-hover: #b91c1c;\n --msr-danger-solid-text: #fff;\n --color-red-50: var(--msr-danger-bg);\n --color-red-200: var(--msr-danger-border);\n --color-red-600: var(--msr-danger-text);\n --color-red-700: #b91c1c;\n --msr-control-thumb: #fff;\n --msr-slider-track: rgba(15, 23, 42, 0.16);\n --msr-shadow-toolbar: 0 0 0.4px rgba(0, 0, 0, 0.22),\n 0 6px 18px rgba(0, 0, 0, 0.03),\n 0 3px 9px rgba(0, 0, 0, 0.06),\n 0 1px 1px rgba(0, 0, 0, 0.06);\n --msr-shadow-floating: 0 0 0 0.4px rgba(0, 0, 0, 0.22),\n 0 6px 18px rgba(0, 0, 0, 0.03),\n 0 3px 9px rgba(0, 0, 0, 0.06),\n 0 1px 1px rgba(0, 0, 0, 0.06);\n --msr-shadow-select-menu: var(--msr-shadow-floating);\n color: var(--msr-content);\n color-scheme: light;\n}\n:where( [data-mesurer-root=\"true\"][data-theme=\"dark\"], [data-mesurer-inspector-ui=\"true\"][data-theme=\"dark\"] ) {\n --msr-accent: #0c8ce9;\n --msr-surface: #323232;\n --msr-surface-raised: #3a3a3a;\n --msr-surface-muted: #3a3a3a;\n --msr-content: #f5f5f5;\n --msr-color-white: #f5f5f5;\n --msr-color-black: #171717;\n --msr-color-ink-50: #3a3a3a;\n --msr-color-ink-100: #414141;\n --msr-color-ink-200: #4a4a4a;\n --msr-color-ink-300: #5a5a5a;\n --msr-color-ink-500: #a0a0a0;\n --msr-color-ink-700: #dedede;\n --msr-color-ink-900: #f5f5f5;\n --msr-danger-bg: #3f2020;\n --msr-danger-border: #7f3f46;\n --msr-danger-text: #f87171;\n --msr-danger-solid-bg: #c95058;\n --msr-danger-solid-hover: #b7424b;\n --msr-danger-solid-text: #f5f5f5;\n --color-red-700: #fca5a5;\n --msr-control-thumb: #f4f4f5;\n --msr-slider-track: rgba(245, 245, 245, 0.24);\n --msr-shadow-toolbar: 0 0 0.4px lch(100% 0 0 / 0.10),\n 0 3px 8px lch(0% 0 0 / 0.125),\n 0 2px 5px lch(0% 0 0 / 0.125),\n 0 1px 1px lch(0% 0 0 / 0.125);\n --msr-shadow-floating: 0 0 0 0.4px lch(100% 0 0 / 0.05),\n 0 4px 12px lch(0% 0 0 / 0.12),\n 0 1px 3px lch(0% 0 0 / 0.10);\n --msr-shadow-select-menu: 0 0 0 0.4px lch(100% 0 0 / 0.14),\n 0 4px 12px lch(0% 0 0 / 0.22),\n 0 1px 3px lch(0% 0 0 / 0.18);\n color-scheme: dark;\n}\n@media (prefers-color-scheme: dark) {\n :where( [data-mesurer-root=\"true\"][data-theme=\"system\"], [data-mesurer-inspector-ui=\"true\"][data-theme=\"system\"] ) {\n --msr-accent: #0c8ce9;\n --msr-surface: #323232;\n --msr-surface-raised: #3a3a3a;\n --msr-surface-muted: #3a3a3a;\n --msr-content: #f5f5f5;\n --msr-color-white: #f5f5f5;\n --msr-color-black: #171717;\n --msr-color-ink-50: #3a3a3a;\n --msr-color-ink-100: #414141;\n --msr-color-ink-200: #4a4a4a;\n --msr-color-ink-300: #5a5a5a;\n --msr-color-ink-500: #a0a0a0;\n --msr-color-ink-700: #dedede;\n --msr-color-ink-900: #f5f5f5;\n --msr-danger-bg: #3f2020;\n --msr-danger-border: #7f3f46;\n --msr-danger-text: #f87171;\n --msr-danger-solid-bg: #c95058;\n --msr-danger-solid-hover: #b7424b;\n --msr-danger-solid-text: #f5f5f5;\n --color-red-700: #fca5a5;\n --msr-control-thumb: #f4f4f5;\n --msr-slider-track: rgba(245, 245, 245, 0.24);\n --msr-shadow-toolbar: 0 0 0.4px lch(100% 0 0 / 0.10),\n 0 3px 8px lch(0% 0 0 / 0.125),\n 0 2px 5px lch(0% 0 0 / 0.125),\n 0 1px 1px lch(0% 0 0 / 0.125);\n --msr-shadow-floating: 0 0 0 0.4px lch(100% 0 0 / 0.05),\n 0 4px 12px lch(0% 0 0 / 0.12),\n 0 1px 3px lch(0% 0 0 / 0.10);\n --msr-shadow-select-menu: 0 0 0 0.4px lch(100% 0 0 / 0.14),\n 0 4px 12px lch(0% 0 0 / 0.22),\n 0 1px 3px lch(0% 0 0 / 0.18);\n color-scheme: dark;\n }\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:bg-white\"], :where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:bg-[#fff]\"] {\n background-color: var(--msr-surface) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:text-black\"] {\n color: var(--msr-content) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:hover:bg-black/4\"]:hover, :where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:hover:bg-black/5\"]:hover {\n background-color: var(--msr-content) !important;\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in srgb, var(--msr-content) 6%, transparent) !important;\n }\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) .mesurer-toolbar-surface {\n background-color: var(--msr-surface) !important;\n box-shadow: var(--msr-shadow-toolbar) !important;\n color: var(--msr-content);\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) :is( .mesurer-menu-surface, .mesurer-color-picker, .mesurer-ti-card, [data-mesurer-text-inspector-info=\"true\"], [data-mesurer-annotation-panel=\"true\"], [data-mesurer-annotation-composer=\"true\"] ) {\n background-color: var(--msr-surface-raised) !important;\n color: var(--msr-content) !important;\n box-shadow: var(--msr-shadow-floating) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) .mesurer-switch-track[data-checked=\"false\"], :where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) .mesurer-control-shell {\n background-color: var(--msr-surface-muted) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) .mesurer-switch-track > span {\n background-color: var(--msr-control-thumb) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) :is(.mesurer-settings-select, .mesurer-settings-select-menu) {\n background-color: var(--msr-surface-raised) !important;\n border-color: var(--msr-color-ink-200) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [data-mesurer-rulers=\"true\"] {\n color: var(--msr-color-ink-500) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [data-slider-container=\"true\"] > div:first-child {\n background-color: var(--msr-slider-track) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:bg-[#0d99ff]\"] {\n background-color: var(--msr-accent) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:border-[#0d99ff]\"] {\n border-color: var(--msr-accent) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:hover:bg-[#0d99ff]\"]:hover, :where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:focus-visible:bg-[#0d99ff]\"]:focus-visible {\n background-color: var(--msr-accent) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:text-white\"] {\n color: var(--msr-color-white) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [data-slider-thumb=\"true\"]:focus-visible {\n box-shadow: 0 0 0 1px var(--msr-accent) !important;\n @supports (color: color-mix(in lab, red, red)) {\n box-shadow: 0 0 0 1px color-mix(in srgb, var(--msr-accent) 25%, transparent) !important;\n }\n}\n:where([data-mesurer-root=\"true\"], [data-mesurer-inspector-ui=\"true\"]) {\n --msr-radius-control: 5px;\n}\n@layer utilities {\n .msr\\:rounded-control {\n border-radius: var(--msr-radius-control);\n }\n}\n.mesurer-thin-scrollbar {\n scrollbar-width: thin;\n scrollbar-color: var(--msr-color-ink-200) transparent;\n}\n.mesurer-thin-scrollbar::-webkit-scrollbar {\n width: 4px;\n height: 4px;\n}\n.mesurer-thin-scrollbar::-webkit-scrollbar-track {\n background: transparent;\n}\n.mesurer-thin-scrollbar::-webkit-scrollbar-thumb {\n background: var(--msr-color-ink-200);\n border-radius: var(--msr-radius-control);\n}\n.mesurer-thin-scrollbar:hover {\n scrollbar-color: var(--msr-color-ink-300) transparent;\n}\n.mesurer-thin-scrollbar:hover::-webkit-scrollbar-thumb {\n background: var(--msr-color-ink-300);\n}\n.mesurer-thin-scrollbar::-webkit-scrollbar-corner {\n background: transparent;\n}\n@property --tw-translate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-leading {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ordinal {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-slashed-zero {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-figure {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-spacing {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-fraction {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-inset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-ring-inset {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-offset-width {\n syntax: \"<length>\";\n inherits: false;\n initial-value: 0px;\n}\n@property --tw-ring-offset-color {\n syntax: \"*\";\n inherits: false;\n initial-value: #fff;\n}\n@property --tw-ring-offset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-outline-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-duration {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ease {\n syntax: \"*\";\n inherits: false;\n}\n@layer properties {\n @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {\n *, ::before, ::after, ::backdrop {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-border-style: solid;\n --tw-leading: initial;\n --tw-font-weight: initial;\n --tw-ordinal: initial;\n --tw-slashed-zero: initial;\n --tw-numeric-figure: initial;\n --tw-numeric-spacing: initial;\n --tw-numeric-fraction: initial;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-color: initial;\n --tw-shadow-alpha: 100%;\n --tw-inset-shadow: 0 0 #0000;\n --tw-inset-shadow-color: initial;\n --tw-inset-shadow-alpha: 100%;\n --tw-ring-color: initial;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-color: initial;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-inset: initial;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-outline-style: solid;\n --tw-duration: initial;\n --tw-ease: initial;\n }\n }\n}\n", ma = {
3138
3300
  keepTextChanges: !1,
3139
3301
  keepArrangeChanges: !1
3140
- }, Li = (e) => e.state.get("mesurer.presentation.preferences") ?? Ii, Ri = "mesurer.arrange", zi = "arrange", Bi = "mesurer.arrange.intents", Vi = "mesurer.arrange.active", Hi = "mesurer.arrange.settings", Ui = "runtime:solid", Wi = "builtin.select", Gi = "arrange.toggle", Ki = "arrange.commit", qi = "arrange.clear", Ji = "mesurer.arrange.selection-available", Yi = 1, Xi = 24, Zi = 160, Qi = 500, $i = "#ef4444", ea = {
3302
+ }, ha = (e) => e.state.get("mesurer.presentation.preferences") ?? ma, ga = "mesurer.arrange", _a = "arrange", va = "mesurer.arrange.intents", ya = "mesurer.arrange.active", ba = "mesurer.arrange.settings", xa = "runtime:solid", Sa = "builtin.select", Ca = "arrange.toggle", wa = "arrange.commit", Ta = "arrange.clear", Ea = "mesurer.arrange.selection-available", Da = 1, Oa = 24, ka = 160, Aa = 500, ja = "#ef4444", Ma = {
3141
3303
  viewBox: "0 0 24 24",
3142
3304
  paths: ["M12 2.75 8.75 6h2.5v5.25H6V8.75L2.75 12 6 15.25v-2.5h5.25V18h-2.5L12 21.25 15.25 18h-2.5v-5.25H18v2.5L21.25 12 18 8.75v2.5h-5.25V6h2.5L12 2.75Z"]
3143
- }, ta = (e, t) => ({
3305
+ }, Na = (e, t) => ({
3144
3306
  left: e.left + t.x,
3145
3307
  top: e.top + t.y,
3146
3308
  width: e.width,
3147
3309
  height: e.height
3148
- }), na = (e, t) => ({
3310
+ }), Pa = (e, t) => ({
3149
3311
  left: e.left - t.left,
3150
3312
  top: e.top - t.top,
3151
3313
  width: e.width - t.width,
3152
3314
  height: e.height - t.height
3153
- }), ra = (e) => {
3315
+ }), Fa = (e) => {
3154
3316
  if (!e.length) return null;
3155
3317
  let t = Math.min(...e.map((e) => e.left)), n = Math.min(...e.map((e) => e.top)), r = Math.max(...e.map((e) => e.left + e.width)), i = Math.max(...e.map((e) => e.top + e.height));
3156
3318
  return {
@@ -3159,35 +3321,35 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3159
3321
  width: r - t,
3160
3322
  height: i - n
3161
3323
  };
3162
- }, ia = (e, t, n, r) => Math.max(0, Math.max(e, n) - Math.min(t, r)), aa = (e, t, n) => {
3324
+ }, Ia = (e, t, n, r) => Math.max(0, Math.max(e, n) - Math.min(t, r)), La = (e, t, n) => {
3163
3325
  let r = t === "x" ? e.left : e.top, i = t === "x" ? e.width : e.height, a = r + i;
3164
3326
  return n === "edge" ? [r, a] : n === "center" ? [r + i / 2] : [
3165
3327
  r,
3166
3328
  r + i / 2,
3167
3329
  a
3168
3330
  ];
3169
- }, oa = (e, t) => t === "x" ? {
3331
+ }, Ra = (e, t) => t === "x" ? {
3170
3332
  start: e.top,
3171
3333
  end: e.top + e.height
3172
3334
  } : {
3173
3335
  start: e.left,
3174
3336
  end: e.left + e.width
3175
- }, sa = (e) => e.kind === "edge" ? 2 : +(e.kind === "guide"), ca = (e, t, n) => {
3176
- let r = oa(t, e), i = null;
3177
- for (let a of n) if (a.axis === e && !(a.source === "element" && ia(r.start, r.end, a.start, a.end) > Zi)) for (let n of aa(t, e, a.kind)) {
3337
+ }, za = (e) => e.kind === "edge" ? 2 : +(e.kind === "guide"), Ba = (e, t, n) => {
3338
+ let r = Ra(t, e), i = null;
3339
+ for (let a of n) if (a.axis === e && !(a.source === "element" && Ia(r.start, r.end, a.start, a.end) > ka)) for (let n of La(t, e, a.kind)) {
3178
3340
  let e = a.position - n, t = Math.abs(e);
3179
3341
  if (t > 10) continue;
3180
3342
  let r = i ? Math.abs(i.delta) : Infinity;
3181
- (t < r || t === r && (!i || sa(a) > sa(i))) && (i = {
3343
+ (t < r || t === r && (!i || za(a) > za(i))) && (i = {
3182
3344
  ...a,
3183
3345
  delta: e
3184
3346
  });
3185
3347
  }
3186
3348
  return i;
3187
- }, la = (e) => {
3349
+ }, Va = (e) => {
3188
3350
  let { origin: t, pathname: n, search: r } = e.location;
3189
3351
  return `${t}${n}${r}`;
3190
- }, ua = (e, t) => `${t}-${e.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random().toString(36).slice(2)}`}`, da = (e) => ({
3352
+ }, Ha = (e, t) => `${t}-${e.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random().toString(36).slice(2)}`}`, Ua = (e) => ({
3191
3353
  tag: e.fingerprintTag,
3192
3354
  id: e.fingerprintId,
3193
3355
  testId: e.fingerprintTestId,
@@ -3195,10 +3357,10 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3195
3357
  ariaLabel: e.fingerprintAriaLabel,
3196
3358
  classes: [...e.fingerprintClasses],
3197
3359
  text: e.fingerprintText
3198
- }), fa = (e) => ({
3360
+ }), Wa = (e) => ({
3199
3361
  id: e.id,
3200
3362
  selector: e.selector,
3201
- fingerprint: da(e),
3363
+ fingerprint: Ua(e),
3202
3364
  before: {
3203
3365
  left: e.beforeLeft,
3204
3366
  top: e.beforeTop,
@@ -3219,21 +3381,21 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3219
3381
  x: e.desiredOffsetX,
3220
3382
  y: e.desiredOffsetY
3221
3383
  }
3222
- }), pa = (e) => ({
3384
+ }), Ga = (e) => ({
3223
3385
  id: e.id,
3224
3386
  createdAt: e.createdAt,
3225
3387
  pageUrl: e.pageUrl,
3226
- targets: e.targets.map(fa)
3227
- }), ma = (e) => ({
3388
+ targets: e.targets.map(Wa)
3389
+ }), Ka = (e) => ({
3228
3390
  value: e.style.getPropertyValue("transform"),
3229
3391
  priority: e.style.getPropertyPriority("transform")
3230
- }), ha = (e, t) => e.value === t.value && e.priority === t.priority, ga = (e) => {
3392
+ }), qa = (e, t) => e.value === t.value && e.priority === t.priority, Ja = (e) => {
3231
3393
  let { element: t, beforeTransform: n, appliedTransform: r } = e;
3232
- ha(ma(t), r) && (n.value || n.priority ? t.style.setProperty("transform", n.value, n.priority) : t.style.removeProperty("transform"));
3233
- }, _a = (e) => e instanceof Element && !!e.closest("input, textarea, select, [contenteditable='true'], [contenteditable='']"), va = () => ar({
3234
- id: Ri,
3394
+ qa(Ka(t), r) && (n.value || n.priority ? t.style.setProperty("transform", n.value, n.priority) : t.style.removeProperty("transform"));
3395
+ }, Ya = (e) => e instanceof Element && !!e.closest("input, textarea, select, [contenteditable='true'], [contenteditable='']"), Xa = () => ar({
3396
+ id: ga,
3235
3397
  version: "0.1.0",
3236
- requires: [Ui, "tool:select"],
3398
+ requires: [xa, "tool:select"],
3237
3399
  provides: [
3238
3400
  "tool:arrange",
3239
3401
  "intent:arrange",
@@ -3241,19 +3403,19 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3241
3403
  "settings:arrange"
3242
3404
  ],
3243
3405
  setup(e) {
3244
- let t = e.service.get(Ui);
3406
+ let t = e.service.get(xa);
3245
3407
  if (!t) throw Error("Arrange plugin requires the Solid renderer runtime.");
3246
3408
  let { ownerDocument: n, ownerWindow: r } = t, i = t.createWorkspaceRuntime(), a = t.createInspectorMount(), o = t.pageTarget ?? n.body ?? n.documentElement, s = t.portalTarget, c = r;
3247
3409
  e.state.register({
3248
- id: Bi,
3410
+ id: va,
3249
3411
  initial: { intents: [] },
3250
3412
  history: !0,
3251
3413
  persist: !0
3252
3414
  }), e.state.register({
3253
- id: Vi,
3415
+ id: ya,
3254
3416
  initial: !1
3255
3417
  }), e.state.register({
3256
- id: Hi,
3418
+ id: ba,
3257
3419
  initial: {
3258
3420
  snapping: !0,
3259
3421
  elementEdges: !0,
@@ -3267,16 +3429,16 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3267
3429
  let l = a.element;
3268
3430
  l.dataset.mesurerArrange = "true", l.style.position = "fixed", l.style.inset = "0", l.style.zIndex = "84", l.style.pointerEvents = "none";
3269
3431
  let u = n.createElement("div");
3270
- u.dataset.mesurerArrangeSnapLine = "vertical", u.setAttribute("aria-hidden", "true"), u.style.position = "fixed", u.style.display = "none", u.style.width = "1px", u.style.backgroundColor = $i, u.style.pointerEvents = "none";
3432
+ u.dataset.mesurerArrangeSnapLine = "vertical", u.setAttribute("aria-hidden", "true"), u.style.position = "fixed", u.style.display = "none", u.style.width = "1px", u.style.backgroundColor = ja, u.style.pointerEvents = "none";
3271
3433
  let d = n.createElement("div");
3272
- d.dataset.mesurerArrangeSnapLine = "horizontal", d.setAttribute("aria-hidden", "true"), d.style.position = "fixed", d.style.display = "none", d.style.height = "1px", d.style.backgroundColor = $i, d.style.pointerEvents = "none";
3434
+ d.dataset.mesurerArrangeSnapLine = "horizontal", d.setAttribute("aria-hidden", "true"), d.style.position = "fixed", d.style.display = "none", d.style.height = "1px", d.style.backgroundColor = ja, d.style.pointerEvents = "none";
3273
3435
  let f = n.createElement("div");
3274
3436
  f.dataset.mesurerArrangeBox = "true", f.setAttribute("role", "application"), f.setAttribute("aria-label", "Arrange selected elements"), f.style.position = "fixed", f.style.display = "none", f.style.boxSizing = "border-box", f.style.border = "1px solid #0d99ff", f.style.cursor = "grab", f.style.pointerEvents = "auto", f.style.touchAction = "none", f.style.userSelect = "none", l.append(u, d, f);
3275
3437
  let p = /* @__PURE__ */ new Map(), m = /* @__PURE__ */ new Map(), h = {
3276
3438
  intentId: null,
3277
3439
  state: "desired"
3278
3440
  }, g = null, _ = null, v = !1, y = 0, b = null, x = () => e.state.get("mesurer.arrange.intents") ?? { intents: [] }, S = () => e.state.get("mesurer.arrange.active") ?? !1, C = () => {
3279
- let t = e.state.get(Hi);
3441
+ let t = e.state.get(ba);
3280
3442
  return {
3281
3443
  snapping: t?.snapping ?? !0,
3282
3444
  elementEdges: t?.elementEdges ?? !0,
@@ -3286,21 +3448,21 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3286
3448
  snapLines: t?.snapLines ?? !0
3287
3449
  };
3288
3450
  }, w = (t) => {
3289
- e.state.update(Hi, (e) => ({
3451
+ e.state.update(ba, (e) => ({
3290
3452
  ...e,
3291
3453
  ...t
3292
3454
  }));
3293
- }, T = () => la(r), E = () => x().intents.filter((e) => e.pageUrl === T()), D = (e) => !!e.closest("[data-mesurer-island='true'], [data-mesurer-inspector-ui='true'], [data-mesurer-root='true']"), O = (e) => Yr(e, o) && !D(e), k = (e) => {
3455
+ }, T = () => Va(r), E = () => x().intents.filter((e) => e.pageUrl === T()), D = (e) => !!e.closest("[data-mesurer-island='true'], [data-mesurer-inspector-ui='true'], [data-mesurer-root='true']"), O = (e) => Di(e, o) && !D(e), k = (e) => {
3294
3456
  let t = [];
3295
3457
  o instanceof c.HTMLElement && o.matches(e) && !D(o) && t.push(o);
3296
3458
  for (let n of o.querySelectorAll(e)) n instanceof c.HTMLElement && O(n) && t.push(n);
3297
3459
  return t;
3298
3460
  }, A = (e) => {
3299
- let t = da(e);
3300
- if (!Qr(t)) return null;
3461
+ let t = Ua(e);
3462
+ if (!Ai(t)) return null;
3301
3463
  let n = [];
3302
3464
  try {
3303
- n = k(e.selector).filter((e) => $r(e, t));
3465
+ n = k(e.selector).filter((e) => ji(e, t));
3304
3466
  } catch {
3305
3467
  return null;
3306
3468
  }
@@ -3308,7 +3470,7 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3308
3470
  if (!t.id && !t.testId) {
3309
3471
  let e = [];
3310
3472
  try {
3311
- e = k(t.tag).filter((e) => $r(e, t));
3473
+ e = k(t.tag).filter((e) => ji(e, t));
3312
3474
  } catch {
3313
3475
  return null;
3314
3476
  }
@@ -3316,7 +3478,7 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3316
3478
  }
3317
3479
  return n[0] ?? null;
3318
3480
  }, j = () => {
3319
- for (let e of p.values()) ga(e);
3481
+ for (let e of p.values()) Ja(e);
3320
3482
  p.clear();
3321
3483
  }, M = () => {
3322
3484
  u.style.display = "none", d.style.display = "none";
@@ -3336,10 +3498,10 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3336
3498
  value: e.style.getPropertyValue("visibility"),
3337
3499
  priority: e.style.getPropertyPriority("visibility")
3338
3500
  }), e.style.setProperty("visibility", "hidden", "important"));
3339
- }, te = () => {
3501
+ }, P = () => {
3340
3502
  for (let [e, t] of m) t.value || t.priority ? e.style.setProperty("visibility", t.value, t.priority) : e.style.removeProperty("visibility");
3341
3503
  m.clear();
3342
- }, P = (e = E()) => {
3504
+ }, F = (e = E()) => {
3343
3505
  let t = /* @__PURE__ */ new Map();
3344
3506
  for (let n of e) for (let e of n.targets) {
3345
3507
  let n = A(e);
@@ -3349,11 +3511,11 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3349
3511
  });
3350
3512
  }
3351
3513
  return t;
3352
- }, ne = () => {
3514
+ }, te = () => {
3353
3515
  if (h.state === "live") return /* @__PURE__ */ new Map();
3354
- if (!h.intentId) return P();
3516
+ if (!h.intentId) return F();
3355
3517
  let e = x().intents.find((e) => e.id === h.intentId);
3356
- if (!e) return P();
3518
+ if (!e) return F();
3357
3519
  let t = /* @__PURE__ */ new Map();
3358
3520
  for (let n of e.targets) {
3359
3521
  let e = A(n);
@@ -3366,44 +3528,44 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3366
3528
  });
3367
3529
  }
3368
3530
  return t;
3369
- }, F = (e) => {
3531
+ }, I = (e) => {
3370
3532
  j();
3371
3533
  for (let [t, n] of e) {
3372
3534
  if (!t.isConnected || !O(t) || n.x === 0 && n.y === 0) continue;
3373
- let e = ma(t), i = r.getComputedStyle(t).transform, a = i && i !== "none" ? ` ${i}` : "";
3535
+ let e = Ka(t), i = r.getComputedStyle(t).transform, a = i && i !== "none" ? ` ${i}` : "";
3374
3536
  t.style.setProperty("transform", `translate3d(${n.x}px, ${n.y}px, 0)${a}`, "important"), p.set(t, {
3375
3537
  element: t,
3376
3538
  beforeTransform: e,
3377
- appliedTransform: ma(t)
3539
+ appliedTransform: Ka(t)
3378
3540
  });
3379
3541
  }
3380
- }, I = () => F(ne()), L = (e) => {
3542
+ }, L = () => I(te()), R = (e) => {
3381
3543
  j();
3382
3544
  try {
3383
3545
  return e();
3384
3546
  } finally {
3385
- !v && !g && I();
3547
+ !v && !g && L();
3386
3548
  }
3387
- }, R = () => i.currentSelection().elements.filter((e) => e instanceof c.HTMLElement && e.isConnected && O(e));
3549
+ }, z = () => i.currentSelection().elements.filter((e) => e instanceof c.HTMLElement && e.isConnected && O(e));
3388
3550
  e.state.register({
3389
- id: Ji,
3390
- initial: R().length > 0
3551
+ id: Ea,
3552
+ initial: z().length > 0
3391
3553
  });
3392
- let z = () => e.state.get(Ji) ?? !1, B = () => {
3393
- let t = R().length > 0;
3394
- t !== z() && e.state.update(Ji, () => t);
3395
- }, V = () => ra(R().map((e) => Jr(e))), re = (e) => {
3554
+ let B = () => e.state.get(Ea) ?? !1, V = () => {
3555
+ let t = z().length > 0;
3556
+ t !== B() && e.state.update(Ea, () => t);
3557
+ }, ne = () => Fa(z().map((e) => Ei(e))), re = (e) => {
3396
3558
  let t = C();
3397
3559
  if (!t.snapping) return [];
3398
3560
  let n = [], a = new Set(e), s = i.snapshot(), l = s.xrayVisible && t.preferXrayEdges && t.elementEdges, u = 0, d = (i) => {
3399
- if (u >= Qi || a.has(i) || e.some((e) => e.contains(i)) || !O(i)) return;
3561
+ if (u >= Aa || a.has(i) || e.some((e) => e.contains(i)) || !O(i)) return;
3400
3562
  let o = r.getComputedStyle(i);
3401
3563
  if (o.display === "none" || o.visibility === "hidden" || o.visibility === "collapse") return;
3402
3564
  let s = o.outlineStyle === "solid" && (Number.parseFloat(o.outlineWidth) || 0) > 0;
3403
3565
  if (l && !s) return;
3404
- let c = Jr(i);
3566
+ let c = Ei(i);
3405
3567
  if (c.width <= 0 || c.height <= 0) return;
3406
- let d = Zi;
3568
+ let d = ka;
3407
3569
  if (c.left + c.width < -160 || c.top + c.height < -160 || c.left > r.innerWidth + d || c.top > r.innerHeight + d) return;
3408
3570
  u += 1;
3409
3571
  let f = c.left + c.width, p = c.top + c.height;
@@ -3444,7 +3606,7 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3444
3606
  if (t.elementEdges || t.elementCenters) {
3445
3607
  o instanceof c.HTMLElement && d(o);
3446
3608
  for (let e of o.querySelectorAll("*")) {
3447
- if (u >= Qi) break;
3609
+ if (u >= Aa) break;
3448
3610
  e instanceof c.HTMLElement && d(e);
3449
3611
  }
3450
3612
  }
@@ -3469,7 +3631,7 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3469
3631
  f.style.display = "none";
3470
3632
  return;
3471
3633
  }
3472
- let t = e === void 0 ? V() : e;
3634
+ let t = e === void 0 ? ne() : e;
3473
3635
  if (!t) {
3474
3636
  f.style.display = "none";
3475
3637
  return;
@@ -3479,40 +3641,40 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3479
3641
  h = {
3480
3642
  intentId: null,
3481
3643
  state: "desired"
3482
- }, I(), M(), S() ? N() : te();
3644
+ }, L(), M(), S() ? N() : P();
3483
3645
  }, U = () => {
3484
3646
  h = {
3485
3647
  intentId: null,
3486
3648
  state: "live"
3487
- }, j(), M(), te();
3649
+ }, j(), M(), P();
3488
3650
  }, ae = () => {
3489
- v || g || (I(), M(), S() ? N() : te(), H());
3651
+ v || g || (L(), M(), S() ? N() : P(), H());
3490
3652
  }, W = () => {
3491
3653
  y || v || (y = r.requestAnimationFrame(() => {
3492
3654
  y = 0, ae();
3493
3655
  }));
3494
3656
  }, oe = async () => {
3495
- s.querySelector("[data-mesurer-builtin='select'] button")?.getAttribute("aria-pressed") !== "true" && await e.command.execute(Wi, void 0, { source: "arrange" });
3657
+ s.querySelector("[data-mesurer-builtin='select'] button")?.getAttribute("aria-pressed") !== "true" && await e.command.execute(Sa, void 0, { source: "arrange" });
3496
3658
  }, se = (e) => {
3497
3659
  if (!S() || e.button !== 0) return;
3498
- let t = R();
3660
+ let t = z();
3499
3661
  if (!t.length) return;
3500
3662
  e.preventDefault(), e.stopPropagation(), h = {
3501
3663
  intentId: null,
3502
3664
  state: "desired"
3503
- }, I();
3504
- let n = P(E());
3665
+ }, L();
3666
+ let n = F(E());
3505
3667
  j();
3506
3668
  let r = t.map((e, t) => {
3507
- let r = Jr(e), i = n.get(e) ?? {
3669
+ let r = Ei(e), i = n.get(e) ?? {
3508
3670
  x: 0,
3509
3671
  y: 0
3510
- }, a = ta(r, i), o = Zr(e);
3672
+ }, a = Na(r, i), o = ki(e);
3511
3673
  return {
3512
3674
  element: e,
3513
3675
  target: {
3514
3676
  id: `target-${t + 1}`,
3515
- selector: Xr(e),
3677
+ selector: Oi(e),
3516
3678
  fingerprintTag: o.tag,
3517
3679
  fingerprintId: o.id,
3518
3680
  fingerprintTestId: o.testId,
@@ -3534,17 +3696,17 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3534
3696
  desiredOffsetY: i.y
3535
3697
  }
3536
3698
  };
3537
- }), i = ra(r.map(({ target: e }) => ({
3699
+ }), i = Fa(r.map(({ target: e }) => ({
3538
3700
  left: e.beforeLeft,
3539
3701
  top: e.beforeTop,
3540
3702
  width: e.beforeWidth,
3541
3703
  height: e.beforeHeight
3542
3704
  })));
3543
3705
  if (!i) {
3544
- I();
3706
+ L();
3545
3707
  return;
3546
3708
  }
3547
- I(), N(), M(), g = {
3709
+ L(), N(), M(), g = {
3548
3710
  pointerId: e.pointerId,
3549
3711
  originX: e.clientX,
3550
3712
  originY: e.clientY,
@@ -3558,18 +3720,18 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3558
3720
  if (!g || e.pointerId !== g.pointerId) return;
3559
3721
  let t = e.clientX - g.originX, n = e.clientY - g.originY, r = null;
3560
3722
  e.shiftKey && (Math.abs(t) >= Math.abs(n) ? (n = 0, r = "x") : (t = 0, r = "y"));
3561
- let i = ta(g.groupBefore, {
3723
+ let i = Na(g.groupBefore, {
3562
3724
  x: t,
3563
3725
  y: n
3564
- }), a = r === "y" ? null : ca("x", i, g.snapCandidates), o = r === "x" ? null : ca("y", i, g.snapCandidates);
3726
+ }), a = r === "y" ? null : Ba("x", i, g.snapCandidates), o = r === "x" ? null : Ba("y", i, g.snapCandidates);
3565
3727
  t += a?.delta ?? 0, n += o?.delta ?? 0, g.dx = t, g.dy = n;
3566
- let s = P(E());
3728
+ let s = F(E());
3567
3729
  for (let e of g.targets) s.set(e.element, {
3568
3730
  x: e.target.beforeOffsetX + t,
3569
3731
  y: e.target.beforeOffsetY + n
3570
3732
  });
3571
- F(s);
3572
- let c = ta(g.groupBefore, {
3733
+ I(s);
3734
+ let c = Na(g.groupBefore, {
3573
3735
  x: t,
3574
3736
  y: n
3575
3737
  });
@@ -3587,7 +3749,7 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3587
3749
  return;
3588
3750
  }
3589
3751
  _ = {
3590
- id: ua(r, "arrange"),
3752
+ id: Ha(r, "arrange"),
3591
3753
  createdAt: Date.now(),
3592
3754
  pageUrl: T(),
3593
3755
  targets: n.targets.map(({ target: e }) => ({
@@ -3597,16 +3759,16 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3597
3759
  desiredOffsetX: e.beforeOffsetX + n.dx,
3598
3760
  desiredOffsetY: e.beforeOffsetY + n.dy
3599
3761
  }))
3600
- }, e.command.execute(Ki).catch(() => {
3762
+ }, e.command.execute(wa).catch(() => {
3601
3763
  _ = null, ie(), H();
3602
3764
  });
3603
3765
  }, de = (e) => {
3604
3766
  !g || e.pointerId !== g.pointerId || le();
3605
3767
  }, fe = (t) => {
3606
- t.key !== "Escape" || !S() && !g || _a(t.target) || s.querySelector("[data-mesurer-tool-menu]") || (t.preventDefault(), t.stopImmediatePropagation(), g ? le() : (e.state.update("mesurer.arrange.active", () => !1), U(), H()));
3768
+ t.key !== "Escape" || !S() && !g || Ya(t.target) || s.querySelector("[data-mesurer-tool-menu]") || (t.preventDefault(), t.stopImmediatePropagation(), g ? le() : (e.state.update("mesurer.arrange.active", () => !1), U(), H()));
3607
3769
  };
3608
3770
  f.addEventListener("pointerdown", se), f.addEventListener("pointermove", ce), f.addEventListener("pointerup", ue), f.addEventListener("pointercancel", de), r.addEventListener("keydown", fe, !0), r.addEventListener("resize", W), r.addEventListener("scroll", W, !0), o.addEventListener("scroll", W, !0), b = new c.MutationObserver(() => {
3609
- B(), W();
3771
+ V(), W();
3610
3772
  }), b.observe(o, {
3611
3773
  childList: !0,
3612
3774
  subtree: !0,
@@ -3620,21 +3782,21 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3620
3782
  ]
3621
3783
  });
3622
3784
  let pe = i.subscribe(() => {
3623
- B(), W();
3785
+ V(), W();
3624
3786
  }), me = e.state.subscribe(W), he = (e) => x().intents.find((t) => t.id === e) ?? null, ge = (e, t) => {
3625
3787
  let n = null;
3626
- if (n = t === "before" ? ra(e.targets.map((e) => ({
3788
+ if (n = t === "before" ? Fa(e.targets.map((e) => ({
3627
3789
  left: e.beforeLeft,
3628
3790
  top: e.beforeTop,
3629
3791
  width: e.beforeWidth,
3630
3792
  height: e.beforeHeight
3631
- }))) : t === "desired" ? ra(e.targets.map((e) => ({
3793
+ }))) : t === "desired" ? Fa(e.targets.map((e) => ({
3632
3794
  left: e.desiredLeft,
3633
3795
  top: e.desiredTop,
3634
3796
  width: e.desiredWidth,
3635
3797
  height: e.desiredHeight
3636
- }))) : L(() => ra(e.targets.map((e) => A(e)).filter((e) => e !== null).map((e) => Jr(e)))), !n) throw Error(`Arrange intent has no resolvable capture region: ${e.id}`);
3637
- let i = Math.max(0, n.left - Xi), a = Math.max(0, n.top - Xi), o = Math.min(r.innerWidth, n.left + n.width + Xi), s = Math.min(r.innerHeight, n.top + n.height + Xi);
3798
+ }))) : R(() => Fa(e.targets.map((e) => A(e)).filter((e) => e !== null).map((e) => Ei(e)))), !n) throw Error(`Arrange intent has no resolvable capture region: ${e.id}`);
3799
+ let i = Math.max(0, n.left - Oa), a = Math.max(0, n.top - Oa), o = Math.min(r.innerWidth, n.left + n.width + Oa), s = Math.min(r.innerHeight, n.top + n.height + Oa);
3638
3800
  return {
3639
3801
  left: i,
3640
3802
  top: a,
@@ -3643,10 +3805,10 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3643
3805
  };
3644
3806
  }, _e = {
3645
3807
  active: S,
3646
- intents: () => x().intents.map(pa),
3808
+ intents: () => x().intents.map(Ga),
3647
3809
  intent(e) {
3648
3810
  let t = he(e);
3649
- return t ? pa(t) : null;
3811
+ return t ? Ga(t) : null;
3650
3812
  },
3651
3813
  show(e, t) {
3652
3814
  if (!he(e)) throw Error(`Arrange intent not found: ${e}`);
@@ -3679,10 +3841,10 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3679
3841
  }]
3680
3842
  };
3681
3843
  },
3682
- review: (e, t = Yi) => {
3844
+ review: (e, t = Da) => {
3683
3845
  let n = he(e);
3684
3846
  if (!n) throw Error(`Arrange intent not found: ${e}`);
3685
- let r = L(() => n.targets.map((e) => {
3847
+ let r = R(() => n.targets.map((e) => {
3686
3848
  let n = A(e), r = {
3687
3849
  left: e.desiredLeft,
3688
3850
  top: e.desiredTop,
@@ -3697,7 +3859,7 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3697
3859
  delta: null,
3698
3860
  matched: !1
3699
3861
  };
3700
- let i = Jr(n), a = na(i, r), o = Math.abs(a.left) <= t && Math.abs(a.top) <= t && Math.abs(a.width) <= t && Math.abs(a.height) <= t;
3862
+ let i = Ei(n), a = Pa(i, r), o = Math.abs(a.left) <= t && Math.abs(a.top) <= t && Math.abs(a.width) <= t && Math.abs(a.height) <= t;
3701
3863
  return {
3702
3864
  targetId: e.id,
3703
3865
  selector: e.selector,
@@ -3717,7 +3879,7 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3717
3879
  };
3718
3880
  },
3719
3881
  clear: async () => {
3720
- await e.command.execute(qi);
3882
+ await e.command.execute(Ta);
3721
3883
  }
3722
3884
  };
3723
3885
  e.tool.register({
@@ -3725,8 +3887,8 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3725
3887
  label: "Arrange",
3726
3888
  shortcut: "Shift+A",
3727
3889
  order: 65,
3728
- command: Gi,
3729
- icon: ea,
3890
+ command: Ca,
3891
+ icon: Ma,
3730
3892
  active: S,
3731
3893
  menu: {
3732
3894
  label: "Arrange options",
@@ -3833,28 +3995,28 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3833
3995
  disabled: () => !C().snapping
3834
3996
  }
3835
3997
  ]
3836
- }), e.command.register(Gi, async () => {
3998
+ }), e.command.register(Ca, async () => {
3837
3999
  let t = !S();
3838
4000
  if (t && await oe(), e.state.update("mesurer.arrange.active", () => t), !t) {
3839
4001
  g && le(), U(), H();
3840
4002
  return;
3841
4003
  }
3842
4004
  ie(), H();
3843
- }), e.command.register(Ki, () => {
4005
+ }), e.command.register(wa, () => {
3844
4006
  let t = _;
3845
4007
  _ = null, t && (e.state.update("mesurer.arrange.intents", (e) => ({ intents: [...e.intents, t].slice(-100) })), ie(), H());
3846
- }), e.command.register(qi, () => {
3847
- e.state.update(Bi, () => ({ intents: [] })), h = {
4008
+ }), e.command.register(Ta, () => {
4009
+ e.state.update(va, () => ({ intents: [] })), h = {
3848
4010
  intentId: null,
3849
4011
  state: "desired"
3850
- }, j(), M(), S() ? N() : te(), H();
3851
- }), e.service.provide(zi, _e), I(), H(), e.lifecycle.onDispose(() => {
3852
- v = !0, y && r.cancelAnimationFrame(y), b?.disconnect(), b = null, f.removeEventListener("pointerdown", se), f.removeEventListener("pointermove", ce), f.removeEventListener("pointerup", ue), f.removeEventListener("pointercancel", de), r.removeEventListener("keydown", fe, !0), r.removeEventListener("resize", W), r.removeEventListener("scroll", W, !0), o.removeEventListener("scroll", W, !0), pe(), me.dispose(), j(), M(), te(), i.dispose(), a.dispose();
4012
+ }, j(), M(), S() ? N() : P(), H();
4013
+ }), e.service.provide(_a, _e), L(), H(), e.lifecycle.onDispose(() => {
4014
+ v = !0, y && r.cancelAnimationFrame(y), b?.disconnect(), b = null, f.removeEventListener("pointerdown", se), f.removeEventListener("pointermove", ce), f.removeEventListener("pointerup", ue), f.removeEventListener("pointercancel", de), r.removeEventListener("keydown", fe, !0), r.removeEventListener("resize", W), r.removeEventListener("scroll", W, !0), o.removeEventListener("scroll", W, !0), pe(), me.dispose(), j(), M(), P(), i.dispose(), a.dispose();
3853
4015
  });
3854
4016
  }
3855
- }), ya = (e, t, n) => {
4017
+ }), Za = (e, t, n) => {
3856
4018
  let r = !1, i = 0, a = null, o = null, s = () => ({
3857
- visible: (e.state.get("mesurer.arrange.active") ?? !1) || Li(e).keepArrangeChanges,
4019
+ visible: (e.state.get("mesurer.arrange.active") ?? !1) || ha(e).keepArrangeChanges,
3858
4020
  intents: e.state.get("mesurer.arrange.intents")?.intents ?? []
3859
4021
  }), c = (e, t) => e?.visible === t.visible && e.intents === t.intents, l = (e) => {
3860
4022
  if (a = e, e.visible) {
@@ -3875,23 +4037,23 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3875
4037
  l(s()), e.lifecycle.onDispose(() => {
3876
4038
  r = !0, i && n.cancelAnimationFrame(i), i = 0, o = null, d.dispose();
3877
4039
  });
3878
- }, ba = [
4040
+ }, Qa = [
3879
4041
  "[data-mesurer-measurement='true']",
3880
4042
  "[data-mesurer-selected-measurement='true']",
3881
4043
  "[data-mesurer-inspector-ui='true']"
3882
- ].join(""), xa = "[data-mesurer-text-edit-runtime='true']", Sa = "[data-mesurer-text-editor='true']", Ca = (e, t) => {
4044
+ ].join(""), $a = "[data-mesurer-text-edit-runtime='true']", eo = "[data-mesurer-text-editor='true']", to = (e, t) => {
3883
4045
  let n = t.ownerDocument.body;
3884
4046
  if (!n) return;
3885
- let r = t.ownerWindow, i = /* @__PURE__ */ new Map(), a = e.state.get("mesurer.arrange.active") ?? !1, o = null, s = null, c = (e) => e.matches(ba) && e.getRootNode() === t.ownerDocument && e.parentElement === n, l = () => {
4047
+ let r = t.ownerWindow, i = /* @__PURE__ */ new Map(), a = e.state.get("mesurer.arrange.active") ?? !1, o = null, s = null, c = (e) => e.matches(Qa) && e.getRootNode() === t.ownerDocument && e.parentElement === n, l = () => {
3886
4048
  for (let [e, t] of i) e.isConnected && (t.value || t.priority ? e.style.setProperty("visibility", t.value, t.priority) : e.style.removeProperty("visibility"));
3887
4049
  i.clear();
3888
- }, u = () => !!o?.querySelector(Sa), d = (e) => {
4050
+ }, u = () => !!o?.querySelector(eo), d = (e) => {
3889
4051
  !a || u() || !c(e) || (i.has(e) || i.set(e, {
3890
4052
  value: e.style.getPropertyValue("visibility"),
3891
4053
  priority: e.style.getPropertyPriority("visibility")
3892
4054
  }), (e.style.getPropertyValue("visibility") !== "hidden" || e.style.getPropertyPriority("visibility") !== "important") && e.style.setProperty("visibility", "hidden", "important"));
3893
4055
  }, f = () => {
3894
- if (!(!a || u())) for (let e of n.querySelectorAll(ba)) e instanceof r.HTMLElement && d(e);
4056
+ if (!(!a || u())) for (let e of n.querySelectorAll(Qa)) e instanceof r.HTMLElement && d(e);
3895
4057
  }, p = () => {
3896
4058
  !a || u() ? l() : f();
3897
4059
  }, m = (e) => {
@@ -3906,14 +4068,14 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3906
4068
  }), p();
3907
4069
  }
3908
4070
  }, h = () => {
3909
- let e = n.querySelectorAll(xa);
4071
+ let e = n.querySelectorAll($a);
3910
4072
  return e.item(e.length - 1);
3911
4073
  };
3912
4074
  m(h());
3913
4075
  let g = new r.MutationObserver((e) => {
3914
4076
  let t = !1;
3915
4077
  for (let n of e) {
3916
- for (let e of n.addedNodes) e instanceof r.HTMLElement && (e.matches(xa) && (t = !0), d(e));
4078
+ for (let e of n.addedNodes) e instanceof r.HTMLElement && (e.matches($a) && (t = !0), d(e));
3917
4079
  for (let e of n.removedNodes) e === o && (t = !0);
3918
4080
  }
3919
4081
  t && m(h());
@@ -3926,20 +4088,20 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3926
4088
  p(), e.lifecycle.onDispose(() => {
3927
4089
  g.disconnect(), s?.disconnect(), s = null, _.dispose(), l();
3928
4090
  });
3929
- }, wa = () => {
3930
- let e = va();
4091
+ }, no = () => {
4092
+ let e = Xa();
3931
4093
  return {
3932
4094
  ...e,
3933
4095
  async setup(t) {
3934
4096
  await e.setup(t);
3935
- let n = t.service.get(zi);
4097
+ let n = t.service.get(_a);
3936
4098
  if (!n) throw Error("Arrange presentation policy requires the Arrange service.");
3937
4099
  let r = t.service.get("runtime:solid");
3938
4100
  if (!r) throw Error("Arrange presentation policy requires the Solid renderer runtime.");
3939
- ya(t, n, r.ownerWindow), Ca(t, r);
4101
+ Za(t, n, r.ownerWindow), to(t, r);
3940
4102
  }
3941
4103
  };
3942
- }, Ta = (e, t, n, r) => ar({
4104
+ }, ro = (e, t, n, r) => ar({
3943
4105
  id: `mesurer.${e}`,
3944
4106
  version: "0.1.0",
3945
4107
  provides: [`tool:${e}`],
@@ -3953,7 +4115,7 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3953
4115
  command: `builtin.${e}`
3954
4116
  });
3955
4117
  }
3956
- }), Ea = () => Ta("select", "Select", "S", 10), Da = () => Ta("xray", "X-ray", "X", 20), Oa = () => Ta("color-picker", "Color picker", "P", 30), ka = () => Ta("rulers", "Rulers", "R", 40), Aa = () => Ta("text-inspector", "Typography", "A", 50), ja = () => Ta("guides", "Guides", "G", 60), Ma = () => Ta("settings", "Settings", "⌘/Ctrl+,", 90), Na = () => ar({
4118
+ }), io = () => ro("select", "Select", "S", 10), ao = () => ro("xray", "X-ray", "X", 20), oo = () => ro("color-picker", "Color picker", "P", 30), so = () => ro("rulers", "Rulers", "R", 40), co = () => ro("text-inspector", "Typography", "A", 50), lo = () => ro("guides", "Guides", "G", 60), uo = () => ro("settings", "Settings", "⌘/Ctrl+,", 90), fo = () => ar({
3957
4119
  id: "mesurer.distance",
3958
4120
  version: "0.1.0",
3959
4121
  provides: ["overlay:distance", "settings:selection-spacing"],
@@ -3969,21 +4131,21 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3969
4131
  order: 30
3970
4132
  });
3971
4133
  }
3972
- }), Pa = () => [
3973
- Ea(),
3974
- Da(),
3975
- Oa(),
3976
- ka(),
3977
- Aa(),
3978
- ja(),
3979
- Na(),
3980
- Ma()
4134
+ }), po = () => [
4135
+ io(),
4136
+ ao(),
4137
+ oo(),
4138
+ so(),
4139
+ co(),
4140
+ lo(),
4141
+ fo(),
4142
+ uo()
3981
4143
  ];
3982
- function Fa(e = [], t = []) {
4144
+ function mo(e = [], t = []) {
3983
4145
  let n = new Set(t.map((e) => `mesurer.${e}`));
3984
- return [...Pa().filter((e) => !n.has(e.id)), ...e];
4146
+ return [...po().filter((e) => !n.has(e.id)), ...e];
3985
4147
  }
3986
- var Ia = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), La = (e, t, n = 0) => !(e.left + e.width + n <= t.left || t.left + t.width + n <= e.left || e.top + e.height + n <= t.top || t.top + t.height + n <= e.top), Ra = (e, t, n, r, i) => {
4148
+ var ho = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), go = (e, t, n = 0) => !(e.left + e.width + n <= t.left || t.left + t.width + n <= e.left || e.top + e.height + n <= t.top || t.top + t.height + n <= e.top), _o = (e, t, n, r, i) => {
3987
4149
  let a = e.left + e.width, o = e.top + e.height, s = [
3988
4150
  {
3989
4151
  axis: "vertical",
@@ -4031,7 +4193,7 @@ var Ia = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), La = (e, t, n =
4031
4193
  }
4032
4194
  ];
4033
4195
  return i ? s.sort((e, t) => t.space - e.space) : s;
4034
- }, za = (e, t, n) => {
4196
+ }, vo = (e, t, n) => {
4035
4197
  let r = [];
4036
4198
  for (let i = 0; i <= n; i += 1) {
4037
4199
  let n = i * t;
@@ -4057,14 +4219,14 @@ var Ia = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), La = (e, t, n =
4057
4219
  }
4058
4220
  return r;
4059
4221
  };
4060
- function Ba(e, t, n = {}) {
4222
+ function yo(e, t, n = {}) {
4061
4223
  let r = n.markerSize ?? 24, i = n.markerGap ?? 4, a = n.targetGap ?? 6, o = n.targetClearance ?? 2, s = n.viewportPadding ?? 4, c = n.obstacles ?? [], l = Math.max(0, n.maxShiftRings ?? 2), u = n.viewportAware ?? !1, d = r + i, f = Math.max(s, t.width - r - s), p = Math.max(s, t.height - r - s), m = [], h = e.map((e) => e.rect), g = [];
4062
4224
  for (let n of e) {
4063
- let e = /* @__PURE__ */ new Set(), _ = [], v = Ra(n.rect, t, r, a, u);
4064
- for (let t of za(v, d, l)) {
4225
+ let e = /* @__PURE__ */ new Set(), _ = [], v = _o(n.rect, t, r, a, u);
4226
+ for (let t of vo(v, d, l)) {
4065
4227
  let n = u ? {
4066
- left: Ia(t.left, s, f),
4067
- top: Ia(t.top, s, p)
4228
+ left: ho(t.left, s, f),
4229
+ top: ho(t.top, s, p)
4068
4230
  } : t, r = `${n.left}:${n.top}`;
4069
4231
  e.has(r) || (e.add(r), _.push(n));
4070
4232
  }
@@ -4074,21 +4236,21 @@ function Ba(e, t, n = {}) {
4074
4236
  width: r,
4075
4237
  height: r
4076
4238
  };
4077
- return h.every((e) => !La(t, e, o)) && c.every((e) => !La(t, e, i));
4239
+ return h.every((e) => !go(t, e, o)) && c.every((e) => !go(t, e, i));
4078
4240
  }), b = y.find((e) => {
4079
4241
  let t = {
4080
4242
  ...e,
4081
4243
  width: r,
4082
4244
  height: r
4083
4245
  };
4084
- return m.every((e) => !La(t, e, i));
4246
+ return m.every((e) => !go(t, e, i));
4085
4247
  }) ?? y.find((e) => {
4086
4248
  let t = {
4087
4249
  ...e,
4088
4250
  width: r,
4089
4251
  height: r
4090
4252
  };
4091
- return m.every((e) => !La(t, e));
4253
+ return m.every((e) => !go(t, e));
4092
4254
  }) ?? y[0] ?? _[0] ?? {
4093
4255
  left: s,
4094
4256
  top: s
@@ -4104,20 +4266,20 @@ function Ba(e, t, n = {}) {
4104
4266
  }
4105
4267
  return g;
4106
4268
  }
4107
- var Va = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), Ha = 0, Ua = (e) => e.split(",").map((e) => e.trim()).filter((e) => e.length > 0 && e !== "none"), Wa = (e) => {
4269
+ var bo = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), xo = 0, So = (e) => e.split(",").map((e) => e.trim()).filter((e) => e.length > 0 && e !== "none"), Co = (e) => {
4108
4270
  let t = e.ownerDocument.defaultView?.HTMLElement;
4109
4271
  return !!(t && e instanceof t);
4110
- }, Ga = (e, t) => {
4111
- let n = e.style.getPropertyValue("anchor-name"), r = e.style.getPropertyPriority("anchor-name"), i = Ua(n);
4272
+ }, wo = (e, t) => {
4273
+ let n = e.style.getPropertyValue("anchor-name"), r = e.style.getPropertyPriority("anchor-name"), i = So(n);
4112
4274
  i.includes(t) || e.style.setProperty("anchor-name", [...i, t].join(", "), r);
4113
4275
  let a = !1;
4114
4276
  return () => {
4115
4277
  if (a) return;
4116
4278
  a = !0;
4117
- let i = Ua(e.style.getPropertyValue("anchor-name")).filter((e) => e !== t);
4279
+ let i = So(e.style.getPropertyValue("anchor-name")).filter((e) => e !== t);
4118
4280
  i.length ? e.style.setProperty("anchor-name", i.join(", "), e.style.getPropertyPriority("anchor-name")) : n.trim() === "none" ? e.style.setProperty("anchor-name", n, r) : e.style.removeProperty("anchor-name");
4119
4281
  };
4120
- }, Ka = (e) => {
4282
+ }, To = (e) => {
4121
4283
  if (!e.length) return null;
4122
4284
  let t = Math.min(...e.map((e) => e.left)), n = Math.min(...e.map((e) => e.top)), r = Math.max(...e.map((e) => e.left + e.width)), i = Math.max(...e.map((e) => e.top + e.height));
4123
4285
  return {
@@ -4126,14 +4288,14 @@ var Va = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), Ha = 0, Ua = (e)
4126
4288
  width: r - t,
4127
4289
  height: i - n
4128
4290
  };
4129
- }, qa = (e, t, n, r, i = 8) => {
4291
+ }, Eo = (e, t, n, r, i = 8) => {
4130
4292
  let a = r.innerWidth - t - 8, o = r.innerHeight - n - 8, s = e.left + e.width + i, c = e.left - t - i;
4131
4293
  return {
4132
- left: s + t <= r.innerWidth - 8 ? s : c >= 8 ? c : Va(e.left + e.width - t, 8, a),
4133
- top: Va(e.top, 8, o)
4294
+ left: s + t <= r.innerWidth - 8 ? s : c >= 8 ? c : bo(e.left + e.width - t, 8, a),
4295
+ top: bo(e.top, 8, o)
4134
4296
  };
4135
- }, Ja = (e, t, n, r, i = 8) => {
4136
- let a = r.innerWidth - t - 8, o = Va(e.left + e.width / 2 - t / 2, 8, a), s = e.top + e.height + i;
4297
+ }, Do = (e, t, n, r, i = 8) => {
4298
+ let a = r.innerWidth - t - 8, o = bo(e.left + e.width / 2 - t / 2, 8, a), s = e.top + e.height + i;
4137
4299
  if (s + n <= r.innerHeight - 8) return {
4138
4300
  left: o,
4139
4301
  top: s
@@ -4142,12 +4304,12 @@ var Va = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), Ha = 0, Ua = (e)
4142
4304
  return c >= 8 ? {
4143
4305
  left: o,
4144
4306
  top: c
4145
- } : qa(e, t, n, r, i);
4307
+ } : Eo(e, t, n, r, i);
4146
4308
  };
4147
- function Ya(e) {
4148
- let [t, n] = K(0), [r, i] = K(0), [a, o] = K(null), [s, c] = K(null), [l, u] = K(null), [d, f] = K({}), [p, m] = K(null), [h, g] = K(!1), [_, v] = K(""), [y, b] = K(null), [x, S] = K(!1), [C, w] = K(null), [T, E] = K(null), D = `--mesurer-annotation-trigger-${++Ha}`, O = null, k = e.initialTriggerFallback === "current-and-next", A = null, j = null, M = null, ee, N, te = null, P = null, ne = null, F = null, I = null, L = null, R = /* @__PURE__ */ new Map(), z = () => ee?.ownerDocument.defaultView ?? window, B = () => e.coordinateSpace === "viewport", V = (e) => e ? "native-anchor" : B() ? "cached-delta" : "document", re = (e) => {
4149
- if (B()) return e;
4150
- let t = z();
4309
+ function Oo(e) {
4310
+ let [t, n] = K(0), [r, i] = K(0), [a, o] = K(null), [s, c] = K(null), [l, u] = K(null), [d, f] = K({}), [p, m] = K(null), [h, g] = K(!1), [_, v] = K(""), [y, b] = K(null), [x, S] = K(!1), [C, w] = K(null), [T, E] = K(null), D = `--mesurer-annotation-trigger-${++xo}`, O = null, k = e.initialTriggerFallback === "current-and-next", A = null, j = null, M = null, ee, N, P = null, F = null, te = null, I = null, L = null, R = null, z = /* @__PURE__ */ new Map(), B = () => ee?.ownerDocument.defaultView ?? window, V = () => e.coordinateSpace === "viewport", ne = (e) => e ? "native-anchor" : V() ? "cached-delta" : "document", re = (e) => {
4311
+ if (V()) return e;
4312
+ let t = B();
4151
4313
  return {
4152
4314
  left: e.left + t.scrollX,
4153
4315
  top: e.top + t.scrollY
@@ -4161,7 +4323,7 @@ function Ya(e) {
4161
4323
  }, ie = (e, t) => e.elements.length !== t.elements.length || e.elements.some((e, n) => e !== t.elements[n]) ? !1 : e.region === t.region ? !0 : !e.region || !t.region ? !1 : e.region.left === t.region.left && e.region.top === t.region.top && e.region.width === t.region.width && e.region.height === t.region.height, U = () => {
4162
4324
  A = null, v(""), g(!1), b(null), m(null);
4163
4325
  }, ae = () => {
4164
- let e = z();
4326
+ let e = B();
4165
4327
  return !!(e.CSS?.supports("anchor-name: --mesurer-annotation-trigger") && e.CSS.supports("position-anchor: --mesurer-annotation-trigger") && e.CSS.supports("left: anchor(left)"));
4166
4328
  }, W = () => {
4167
4329
  let t = e.runtime.currentSelection().elements;
@@ -4170,18 +4332,18 @@ function Ya(e) {
4170
4332
  return t.find((e) => e === n) ?? t.find((e) => n && e.contains(n)) ?? t[0];
4171
4333
  }, oe = () => ee?.parentElement, se = () => {
4172
4334
  let e = oe();
4173
- return e ? [...e.querySelectorAll("[data-mesurer-annotation-trigger='true'], [data-mesurer-annotation-composer='true']")].filter((e) => e !== N || P === null) : [];
4335
+ return e ? [...e.querySelectorAll("[data-mesurer-annotation-trigger='true'], [data-mesurer-annotation-composer='true']")].filter((e) => e !== N || F === null) : [];
4174
4336
  }, ce = (e) => {
4175
4337
  let t = oe();
4176
4338
  return t ? [...t.querySelectorAll("[data-mesurer-annotation-id]")].filter((t) => t.dataset.mesurerAnnotationId === e) : [];
4177
4339
  }, le = (e) => {
4178
- let t = R.get(e);
4179
- t && (t.scroll.release(), t.releaseAnchor?.(), R.delete(e));
4340
+ let t = z.get(e);
4341
+ t && (t.scroll.release(), t.releaseAnchor?.(), z.delete(e));
4180
4342
  }, ue = (t) => {
4181
4343
  let n = e.runtime.annotation(t);
4182
4344
  return !n || n.anchor.kind !== "elements" ? null : n.resolvedTargets.find(({ element: e }) => e?.isConnected)?.element ?? null;
4183
- }, de = (e) => !!(Wa(e) && B() && ee && ae() && e.getRootNode() === ee.getRootNode()), fe = (e) => {
4184
- let t = ue(e), n = R.get(e);
4345
+ }, de = (e) => !!(Co(e) && V() && ee && ae() && e.getRootNode() === ee.getRootNode()), fe = (e) => {
4346
+ let t = ue(e), n = z.get(e);
4185
4347
  if (!t) {
4186
4348
  n && (le(e), i((e) => e + 1));
4187
4349
  return;
@@ -4194,65 +4356,65 @@ function Ya(e) {
4194
4356
  le(e);
4195
4357
  let a = t.ownerDocument.defaultView;
4196
4358
  if (a) {
4197
- if (r && Wa(t)) {
4198
- let n = `--mesurer-annotation-${++Ha}`;
4199
- R.set(e, {
4359
+ if (r && Co(t)) {
4360
+ let n = `--mesurer-annotation-${++xo}`;
4361
+ z.set(e, {
4200
4362
  target: t,
4201
4363
  anchorName: n,
4202
- releaseAnchor: Ga(t, n),
4203
- scroll: Cr(a, t, () => ce(e), { trackWindow: !1 })
4364
+ releaseAnchor: wo(t, n),
4365
+ scroll: ti(a, t, () => ce(e), { trackWindow: !1 })
4204
4366
  });
4205
- } else R.set(e, {
4367
+ } else z.set(e, {
4206
4368
  target: t,
4207
4369
  anchorName: null,
4208
4370
  releaseAnchor: null,
4209
- scroll: Cr(a, t, () => ce(e), { trackWindow: B() })
4371
+ scroll: ti(a, t, () => ce(e), { trackWindow: V() })
4210
4372
  });
4211
4373
  i((e) => e + 1);
4212
4374
  }
4213
4375
  }, pe = () => {
4214
4376
  let t = new Set(e.runtime.annotations().map((e) => e.id));
4215
- for (let e of R.keys()) t.has(e) || le(e);
4377
+ for (let e of z.keys()) t.has(e) || le(e);
4216
4378
  for (let e of t) fe(e);
4217
4379
  }, me = (e) => {
4218
- z().queueMicrotask(() => fe(e));
4380
+ B().queueMicrotask(() => fe(e));
4219
4381
  }, he = () => {
4220
- z().queueMicrotask(() => {
4382
+ B().queueMicrotask(() => {
4221
4383
  pe();
4222
- for (let e of R.values()) e.anchorName || e.scroll.rebase();
4384
+ for (let e of z.values()) e.anchorName || e.scroll.rebase();
4223
4385
  });
4224
4386
  };
4225
4387
  e.initialTriggerFallback && (O = W());
4226
4388
  let ge = () => {
4227
- F?.release(), F = null, ne?.(), ne = null, te = null, P = null;
4228
- }, _e = (e) => !!(Wa(e) && B() && ee && e !== O && ae() && e.getRootNode() === ee.getRootNode()), ve = () => {
4389
+ I?.release(), I = null, te?.(), te = null, P = null, F = null;
4390
+ }, _e = (e) => !!(Co(e) && V() && ee && e !== O && ae() && e.getRootNode() === ee.getRootNode()), ve = () => {
4229
4391
  let e = W();
4230
4392
  O && e !== O && (O = null);
4231
- let t = te, n = !!(e?.isConnected && _e(e)), r = P === e;
4232
- if (e === te && e?.isConnected && n === r) {
4233
- F?.sync();
4393
+ let t = P, n = !!(e?.isConnected && _e(e)), r = F === e;
4394
+ if (e === P && e?.isConnected && n === r) {
4395
+ I?.sync();
4234
4396
  return;
4235
4397
  }
4236
- let i = e === t ? D : `--mesurer-annotation-trigger-${++Ha}`;
4398
+ let i = e === t ? D : `--mesurer-annotation-trigger-${++xo}`;
4237
4399
  if (ge(), !e?.isConnected) return;
4238
- te = e;
4400
+ P = e;
4239
4401
  let a = e.ownerDocument.defaultView;
4240
4402
  if (a) {
4241
- if (n && Wa(e)) {
4242
- ne = Ga(e, i), P = e, D = i, F = Cr(a, e, se, { trackWindow: !1 });
4403
+ if (n && Co(e)) {
4404
+ te = wo(e, i), F = e, D = i, I = ti(a, e, se, { trackWindow: !1 });
4243
4405
  return;
4244
4406
  }
4245
- D = i, F = Cr(a, e, se, { trackWindow: B() });
4407
+ D = i, I = ti(a, e, se, { trackWindow: V() });
4246
4408
  }
4247
4409
  }, ye = (e) => {
4248
- if (I?.disconnect(), I = null, !e?.isConnected) return;
4410
+ if (L?.disconnect(), L = null, !e?.isConnected) return;
4249
4411
  let t = e.ownerDocument.defaultView;
4250
- t && (I = new t.ResizeObserver(() => {
4412
+ t && (L = new t.ResizeObserver(() => {
4251
4413
  i((e) => e + 1);
4252
- }), I.observe(e));
4414
+ }), L.observe(e));
4253
4415
  }, be = () => {
4254
- let e = z();
4255
- L !== e && (L?.removeEventListener("resize", xe), L = e, L.addEventListener("resize", xe, { passive: !0 }));
4416
+ let e = B();
4417
+ R !== e && (R?.removeEventListener("resize", xe), R = e, R.addEventListener("resize", xe, { passive: !0 }));
4256
4418
  };
4257
4419
  function xe() {
4258
4420
  i((e) => e + 1);
@@ -4265,9 +4427,9 @@ function Ya(e) {
4265
4427
  let r = W(), i = r !== Se;
4266
4428
  i && (Se = r, ye(Se), k && (k = !1, O = r)), ve(), i && xe(), n((e) => e + 1), he();
4267
4429
  });
4268
- ve(), z().queueMicrotask(pe), St(() => {
4269
- I?.disconnect(), I = null, L?.removeEventListener("resize", xe), L = null, ge();
4270
- for (let e of R.keys()) le(e);
4430
+ ve(), B().queueMicrotask(pe), St(() => {
4431
+ L?.disconnect(), L = null, R?.removeEventListener("resize", xe), R = null, ge();
4432
+ for (let e of z.keys()) le(e);
4271
4433
  Ce();
4272
4434
  });
4273
4435
  let we = Gt(() => (t(), e.runtime.currentSelection())), Te = Gt(() => (t(), e.runtime.annotations())), Ee = Gt(() => {
@@ -4308,7 +4470,7 @@ function Ya(e) {
4308
4470
  };
4309
4471
  });
4310
4472
  return e.region && t.push({ ...e.region }), t;
4311
- }), Ne = Gt(() => Ka(Me())), Pe = () => {
4473
+ }), Ne = Gt(() => To(Me())), Pe = () => {
4312
4474
  let e = we().elements.length;
4313
4475
  return e > 1 ? `${e} selected elements` : e === 1 ? "Selected element" : "Selected region";
4314
4476
  }, Fe = (e) => e.anchor.kind === "elements" ? `${e.anchor.targets.length} selected ${e.anchor.targets.length === 1 ? "element" : "elements"}` : "Selected region", Ie = Gt(() => {
@@ -4325,12 +4487,12 @@ function Ya(e) {
4325
4487
  top: t.top,
4326
4488
  width: t.width,
4327
4489
  height: t.height
4328
- }, r = z(), i = [...ut(Re).values()].map((e) => ({
4490
+ }, r = B(), i = [...ut(Re).values()].map((e) => ({
4329
4491
  left: e.left,
4330
4492
  top: e.top,
4331
4493
  width: 24,
4332
4494
  height: 24
4333
- })), [a] = Ba([{
4495
+ })), [a] = yo([{
4334
4496
  id: "selection-note-trigger",
4335
4497
  rect: n
4336
4498
  }], {
@@ -4339,7 +4501,7 @@ function Ya(e) {
4339
4501
  }, {
4340
4502
  obstacles: i,
4341
4503
  maxShiftRings: 1
4342
- }), o = a?.left ?? Va(n.left + n.width + 6, 4, r.innerWidth - 24 - 4), s = a?.top ?? Va(n.top, 4, r.innerHeight - 24 - 4), c = P === e, l = B() && !c;
4504
+ }), o = a?.left ?? bo(n.left + n.width + 6, 4, r.innerWidth - 24 - 4), s = a?.top ?? bo(n.top, 4, r.innerHeight - 24 - 4), c = F === e, l = V() && !c;
4343
4505
  return {
4344
4506
  left: c || l ? o : o + r.scrollX,
4345
4507
  top: c || l ? s : s + r.scrollY,
@@ -4350,20 +4512,20 @@ function Ya(e) {
4350
4512
  };
4351
4513
  }, Re = Gt(() => {
4352
4514
  t(), r();
4353
- let n = z(), i = Te().flatMap((t) => {
4515
+ let n = B(), i = Te().flatMap((t) => {
4354
4516
  let n = e.runtime.annotationRect(t.id);
4355
4517
  return n ? [{
4356
4518
  id: t.id,
4357
4519
  rect: n
4358
4520
  }] : [];
4359
4521
  });
4360
- return new Map(Ba(i, {
4522
+ return new Map(yo(i, {
4361
4523
  width: n.innerWidth,
4362
4524
  height: n.innerHeight
4363
4525
  }, { obstacles: Me() }).map((e) => [e.id, e]));
4364
4526
  }), ze = (e) => Re().get(e) ?? null, Be = (e, t) => {
4365
4527
  r();
4366
- let n = R.get(e);
4528
+ let n = z.get(e);
4367
4529
  if (!n?.anchorName || !n.target.isConnected) return {
4368
4530
  ...re(t),
4369
4531
  nativeAnchor: !1
@@ -4377,18 +4539,18 @@ function Ya(e) {
4377
4539
  anchorY: t.top - i.top
4378
4540
  };
4379
4541
  }, Ve = () => {
4380
- let e = Ne(), t = z(), n = p();
4542
+ let e = Ne(), t = B(), n = p();
4381
4543
  return n && e ? {
4382
4544
  left: e.left + n.left,
4383
4545
  top: e.top + n.top
4384
- } : e ? Ja(e, 272, 168, t) : {
4546
+ } : e ? Do(e, 272, 168, t) : {
4385
4547
  left: 8,
4386
4548
  top: 8
4387
4549
  };
4388
4550
  }, He = () => {
4389
4551
  r();
4390
4552
  let e = Ve(), t = Ie();
4391
- if (!t?.isConnected || P !== t) return {
4553
+ if (!t?.isConnected || F !== t) return {
4392
4554
  ...re(e),
4393
4555
  nativeAnchor: !1
4394
4556
  };
@@ -4401,8 +4563,8 @@ function Ya(e) {
4401
4563
  anchorY: e.top - n.top
4402
4564
  };
4403
4565
  }, Ue = (e, t) => {
4404
- let n = z(), r = Re(), i = r.get(e);
4405
- if (!i) return qa(t, 272, 176, n);
4566
+ let n = B(), r = Re(), i = r.get(e);
4567
+ if (!i) return Eo(t, 272, 176, n);
4406
4568
  let a = n.innerWidth - 272 - 8, o = n.innerHeight - 176 - 8, s = [...r.values()].map((e) => ({
4407
4569
  left: e.left,
4408
4570
  top: e.top,
@@ -4428,8 +4590,8 @@ function Ya(e) {
4428
4590
  }
4429
4591
  ]) {
4430
4592
  let t = {
4431
- left: Va(e.left, 8, a),
4432
- top: Va(e.top, 8, o)
4593
+ left: bo(e.left, 8, a),
4594
+ top: bo(e.top, 8, o)
4433
4595
  }, n = `${t.left}:${t.top}`;
4434
4596
  l.has(n) || (l.add(n), u.push(t));
4435
4597
  }
@@ -4445,7 +4607,7 @@ function Ya(e) {
4445
4607
  targetOverlap: c(r, t),
4446
4608
  index: n
4447
4609
  };
4448
- }).sort((e, t) => e.markerOverlap - t.markerOverlap || e.targetOverlap - t.targetOverlap || e.index - t.index)[0]?.candidate ?? qa(t, 272, 176, n);
4610
+ }).sort((e, t) => e.markerOverlap - t.markerOverlap || e.targetOverlap - t.targetOverlap || e.index - t.index)[0]?.candidate ?? Eo(t, 272, 176, n);
4449
4611
  }, We = (t) => {
4450
4612
  let n = e.runtime.annotationRect(t);
4451
4613
  if (!n) return {
@@ -4458,7 +4620,7 @@ function Ya(e) {
4458
4620
  top: n.top + r.top
4459
4621
  } : Ue(t, n);
4460
4622
  }, Ge = (t) => {
4461
- z().queueMicrotask(() => {
4623
+ B().queueMicrotask(() => {
4462
4624
  let n = e.runtime.annotationRect(t);
4463
4625
  n && f((e) => {
4464
4626
  if (e[t]) return e;
@@ -4479,7 +4641,7 @@ function Ya(e) {
4479
4641
  if (t.button !== 0 || r && i instanceof r && i.closest("button")) return;
4480
4642
  let a = t.currentTarget.parentElement;
4481
4643
  if (!a) return;
4482
- let o = a.getBoundingClientRect(), s = z(), c = s.document.documentElement, l = c.style.userSelect;
4644
+ let o = a.getBoundingClientRect(), s = B(), c = s.document.documentElement, l = c.style.userSelect;
4483
4645
  c.style.setProperty("user-select", "none", "important"), j = {
4484
4646
  surfaceId: n,
4485
4647
  pointerId: t.pointerId,
@@ -4493,8 +4655,8 @@ function Ya(e) {
4493
4655
  let u = (t) => {
4494
4656
  if (!j || t.pointerId !== j.pointerId) return;
4495
4657
  let r = j, i = Math.max(8, s.innerWidth - r.width - 8), a = Math.max(8, s.innerHeight - r.height - 8), o = {
4496
- left: Va(r.originLeft + t.clientX - r.startX, 8, i),
4497
- top: Va(r.originTop + t.clientY - r.startY, 8, a)
4658
+ left: bo(r.originLeft + t.clientX - r.startX, 8, i),
4659
+ top: bo(r.originTop + t.clientY - r.startY, 8, a)
4498
4660
  };
4499
4661
  if (n === "composer") {
4500
4662
  let e = Ne();
@@ -4539,13 +4701,13 @@ function Ya(e) {
4539
4701
  k = !1, A = H(), v(""), b(null), w(null), o(null);
4540
4702
  let e = Ne();
4541
4703
  if (e) {
4542
- let t = Ja(e, 272, 168, z());
4704
+ let t = Do(e, 272, 168, B());
4543
4705
  m({
4544
4706
  left: t.left - e.left,
4545
4707
  top: t.top - e.top
4546
4708
  });
4547
4709
  } else m(null);
4548
- g(!0), z().queueMicrotask(() => F?.sync());
4710
+ g(!0), B().queueMicrotask(() => I?.sync());
4549
4711
  }, Qe = () => {
4550
4712
  let e = h();
4551
4713
  A !== null && !ie(A, H()) ? (O = W(), k = !1, ve(), xe()) : e && (k = !1), Xe();
@@ -4602,10 +4764,10 @@ function Ya(e) {
4602
4764
  }
4603
4765
  });
4604
4766
  return nr(() => (e) => {
4605
- N = e, F?.sync();
4606
- }, t), Z(t, J(Vr, { size: 14 })), q(() => ({
4607
- e: B() ? "viewport" : "document",
4608
- t: V(e().nativeAnchor),
4767
+ N = e, I?.sync();
4768
+ }, t), Z(t, J(yi, { size: 14 })), q(() => ({
4769
+ e: V() ? "viewport" : "document",
4770
+ t: ne(e().nativeAnchor),
4609
4771
  a: {
4610
4772
  position: e().nativeAnchor || e().viewportOwned ? "fixed" : "absolute",
4611
4773
  left: e().nativeAnchor ? `calc(anchor(left) + ${e().anchorX}px)` : `${e().left}px`,
@@ -4668,10 +4830,10 @@ function Ya(e) {
4668
4830
  class: "msr:h-7 msr:rounded-[7px] msr:border-0 msr:bg-[#0d99ff] msr:px-2.5 msr:text-[11px] msr:font-medium msr:text-white msr:hover:bg-[#0b8eea]",
4669
4831
  onClick: et
4670
4832
  });
4671
- return X(t, n), X(t, s), X(t, c), X(n, r), X(n, o), Z(n, J(Vr, {
4833
+ return X(t, n), X(t, s), X(t, c), X(n, r), X(n, o), Z(n, J(yi, {
4672
4834
  size: 14,
4673
4835
  class: "msr:text-ink-700"
4674
- }), r), X(r, i), X(r, a), X(i, Qn("Add note")), Z(a, Pe), Z(o, J(Ur, { size: 14 })), Z(t, J(Xt, {
4836
+ }), r), X(r, i), X(r, a), X(i, Qn("Add note")), Z(a, Pe), Z(o, J(xi, { size: 14 })), Z(t, J(Xt, {
4675
4837
  get when() {
4676
4838
  return y();
4677
4839
  },
@@ -4680,10 +4842,10 @@ function Ya(e) {
4680
4842
  return Z(t, e), t;
4681
4843
  })()
4682
4844
  }), c), X(c, l), X(c, u), X(l, Qn("⌘/Ctrl ↵")), X(u, d), X(u, f), X(d, Qn("Cancel")), X(f, Qn("Add note")), q(() => ({
4683
- e: B() ? "viewport" : "document",
4684
- t: V(e().nativeAnchor),
4845
+ e: V() ? "viewport" : "document",
4846
+ t: ne(e().nativeAnchor),
4685
4847
  a: {
4686
- position: e().nativeAnchor || B() ? "fixed" : "absolute",
4848
+ position: e().nativeAnchor || V() ? "fixed" : "absolute",
4687
4849
  left: e().nativeAnchor ? `calc(anchor(left) + ${e().anchorX}px)` : `${e().left}px`,
4688
4850
  top: e().nativeAnchor ? `calc(anchor(top) + ${e().anchorY}px)` : `${e().top}px`,
4689
4851
  translate: "var(--mesurer-nested-scroll-x, 0px) var(--mesurer-nested-scroll-y, 0px)",
@@ -4726,9 +4888,9 @@ function Ya(e) {
4726
4888
  });
4727
4889
  return q(() => ({
4728
4890
  e: t() ?? void 0,
4729
- t: V(n().nativeAnchor),
4891
+ t: ne(n().nativeAnchor),
4730
4892
  a: {
4731
- position: n().nativeAnchor || B() ? "fixed" : "absolute",
4893
+ position: n().nativeAnchor || V() ? "fixed" : "absolute",
4732
4894
  left: n().nativeAnchor ? `calc(anchor(left) + ${n().anchorX}px)` : `${n().left}px`,
4733
4895
  top: n().nativeAnchor ? `calc(anchor(top) + ${n().anchorY}px)` : `${n().top}px`,
4734
4896
  width: `${e.width}px`,
@@ -4788,13 +4950,13 @@ function Ya(e) {
4788
4950
  t: t() + 1,
4789
4951
  a: i() ? "true" : void 0,
4790
4952
  o: o() ? "true" : void 0,
4791
- i: V(n().nativeAnchor),
4792
- n: B() ? "viewport" : "document",
4953
+ i: ne(n().nativeAnchor),
4954
+ n: V() ? "viewport" : "document",
4793
4955
  s: `Mesurer annotation ${t() + 1}: ${e.note}`,
4794
4956
  h: e.note,
4795
4957
  r: a() === e.id ? "true" : "false",
4796
4958
  d: {
4797
- position: n().nativeAnchor || B() ? "fixed" : "absolute",
4959
+ position: n().nativeAnchor || V() ? "fixed" : "absolute",
4798
4960
  left: n().nativeAnchor ? `calc(anchor(left) + ${n().anchorX}px)` : `${n().left}px`,
4799
4961
  top: n().nativeAnchor ? `calc(anchor(top) + ${n().anchorY}px)` : `${n().top}px`,
4800
4962
  opacity: o() ? "0.36" : "1",
@@ -4871,7 +5033,7 @@ function Ya(e) {
4871
5033
  o(null), w(null);
4872
5034
  }
4873
5035
  }), y = Y("div", { class: "msr:mx-1 msr:mt-1 msr:max-h-36 msr:overflow-auto msr:whitespace-pre-wrap msr:rounded-[7px] msr:bg-ink-50 msr:px-2 msr:py-2 msr:text-[12px] msr:leading-[1.45] msr:text-ink-800" });
4874
- return X(i, a), X(i, y), X(a, s), X(a, l), X(a, h), Z(s, r), X(l, d), X(l, m), X(d, p), Z(d, r, null), Z(m, () => Fe(t())), X(h, g), X(h, _), X(h, v), Z(g, J(Br, { size: 14 })), Z(_, J(Hr, { size: 14 })), Z(v, J(Ur, { size: 14 })), Z(y, () => t().note), Z(i, J(Xt, {
5036
+ return X(i, a), X(i, y), X(a, s), X(a, l), X(a, h), Z(s, r), X(l, d), X(l, m), X(d, p), Z(d, r, null), Z(m, () => Fe(t())), X(h, g), X(h, _), X(h, v), Z(g, J(vi, { size: 14 })), Z(_, J(bi, { size: 14 })), Z(v, J(xi, { size: 14 })), Z(y, () => t().note), Z(i, J(Xt, {
4875
5037
  get when() {
4876
5038
  return C();
4877
5039
  },
@@ -4884,10 +5046,10 @@ function Ya(e) {
4884
5046
  })()
4885
5047
  }), null), q(() => ({
4886
5048
  e: t().id,
4887
- t: V(n().nativeAnchor),
4888
- a: B() ? "viewport" : "document",
5049
+ t: ne(n().nativeAnchor),
5050
+ a: V() ? "viewport" : "document",
4889
5051
  o: {
4890
- position: n().nativeAnchor || B() ? "fixed" : "absolute",
5052
+ position: n().nativeAnchor || V() ? "fixed" : "absolute",
4891
5053
  left: n().nativeAnchor ? `calc(anchor(left) + ${n().anchorX}px)` : `${n().left}px`,
4892
5054
  top: n().nativeAnchor ? `calc(anchor(top) + ${n().anchorY}px)` : `${n().top}px`,
4893
5055
  translate: "var(--mesurer-nested-scroll-x, 0px) var(--mesurer-nested-scroll-y, 0px)",
@@ -4903,11 +5065,11 @@ function Ya(e) {
4903
5065
  })
4904
5066
  ];
4905
5067
  }
4906
- function Xa(e) {
5068
+ function ko(e) {
4907
5069
  let t = null;
4908
- return St(ti(e.ownerWindow, () => {
5070
+ return St(Ni(e.ownerWindow, () => {
4909
5071
  t?.abandonNoteComposer();
4910
- })), J(Ya, {
5072
+ })), J(Oo, {
4911
5073
  get runtime() {
4912
5074
  return e.runtime;
4913
5075
  },
@@ -4925,11 +5087,11 @@ function Xa(e) {
4925
5087
  }
4926
5088
  });
4927
5089
  }
4928
- var Za = "2147482950", Qa = "2147483646", $a = "2147483647";
4929
- function eo(e) {
5090
+ var Ao = "2147482950", jo = "2147483646", Mo = "2147483647";
5091
+ function No(e) {
4930
5092
  let { ownerDocument: t, ownerWindow: n, pageTarget: r } = e, i = t.body;
4931
5093
  if (!(i && !(r instanceof n.ShadowRoot) && r.getRootNode() === t)) return e.createInspectorMount();
4932
- ai(Fi, i);
5094
+ Li(pa, i);
4933
5095
  let a = t.createElement("div");
4934
5096
  a.dataset.mesurerInspectorUi = "true", a.dataset.mesurerDocumentInspectorMount = "true", a.dataset.theme = e.theme?.() ?? "system";
4935
5097
  let o = e.subscribeTheme?.((e) => {
@@ -4947,17 +5109,17 @@ function eo(e) {
4947
5109
  s.dataset.mesurerDocumentInspectorLayerStyle = "true", s.textContent = `
4948
5110
  [data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-target-highlight="true"] {
4949
5111
  position: absolute !important;
4950
- z-index: ${Za} !important;
5112
+ z-index: ${Ao} !important;
4951
5113
  }
4952
5114
  [data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-panel="true"] {
4953
5115
  position: absolute !important;
4954
- z-index: ${Qa} !important;
5116
+ z-index: ${jo} !important;
4955
5117
  }
4956
5118
  [data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-marker="true"],
4957
5119
  [data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-trigger="true"],
4958
5120
  [data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-composer="true"] {
4959
5121
  position: absolute !important;
4960
- z-index: ${$a} !important;
5122
+ z-index: ${Mo} !important;
4961
5123
  }
4962
5124
  `, t.head.append(s), i.append(a);
4963
5125
  let c = !1;
@@ -4968,8 +5130,8 @@ function eo(e) {
4968
5130
  }
4969
5131
  };
4970
5132
  }
4971
- var to = (e) => `color-mix(in srgb, ${e.color} ${e.opacity * 100}%, transparent)`, no = (e) => e === "max" ? "end" : e === "center" ? "center" : "start", ro = (e) => {
4972
- let t = e.kind === "columns", n = e.align === "stretch", r = n ? `repeat(${e.count}, minmax(0, 1fr))` : `repeat(${e.count}, ${e.size}px)`, i = no(e.align);
5133
+ var Po = (e) => `color-mix(in srgb, ${e.color} ${e.opacity * 100}%, transparent)`, Fo = (e) => e === "max" ? "end" : e === "center" ? "center" : "start", Io = (e) => {
5134
+ let t = e.kind === "columns", n = e.align === "stretch", r = n ? `repeat(${e.count}, minmax(0, 1fr))` : `repeat(${e.count}, ${e.size}px)`, i = Fo(e.align);
4973
5135
  return {
4974
5136
  position: "absolute",
4975
5137
  inset: "0",
@@ -4990,7 +5152,7 @@ var to = (e) => `color-mix(in srgb, ${e.color} ${e.opacity * 100}%, transparent)
4990
5152
  transform: e.align === "center" ? t ? `translateX(${e.offset}px)` : `translateY(${e.offset}px)` : void 0
4991
5153
  };
4992
5154
  };
4993
- function io(e) {
5155
+ function Lo(e) {
4994
5156
  let t = () => e.guides.filter((e) => e.visible);
4995
5157
  return J(Xt, {
4996
5158
  get when() {
@@ -5025,7 +5187,7 @@ function io(e) {
5025
5187
  "min-height": "0",
5026
5188
  width: "100%",
5027
5189
  height: "100%",
5028
- "background-color": to(e)
5190
+ "background-color": Po(e)
5029
5191
  }), (e, n) => {
5030
5192
  Q(t, "style", e, n);
5031
5193
  }), t;
@@ -5033,7 +5195,7 @@ function io(e) {
5033
5195
  })), q(() => ({
5034
5196
  e: e.id,
5035
5197
  t: e.kind,
5036
- a: ro(e)
5198
+ a: Io(e)
5037
5199
  }), ({ e, t: n, a: r }, i) => {
5038
5200
  e !== i?.e && Q(t, "data-mesurer-layout-guide", e, i?.e), n !== i?.t && Q(t, "data-mesurer-layout-guide-kind", n, i?.t), r !== i?.a && Q(t, "style", r, i?.a);
5039
5201
  }), t;
@@ -5046,7 +5208,7 @@ function io(e) {
5046
5208
  return q(() => ({
5047
5209
  e: e.id,
5048
5210
  t: {
5049
- "background-image": `linear-gradient(to right, ${to(e)} 1px, transparent 1px), linear-gradient(to bottom, ${to(e)} 1px, transparent 1px)`,
5211
+ "background-image": `linear-gradient(to right, ${Po(e)} 1px, transparent 1px), linear-gradient(to bottom, ${Po(e)} 1px, transparent 1px)`,
5050
5212
  "background-size": `${e.size}px ${e.size}px`
5051
5213
  }
5052
5214
  }), ({ e, t: n }, r) => {
@@ -5058,34 +5220,34 @@ function io(e) {
5058
5220
  }
5059
5221
  });
5060
5222
  }
5061
- var ao = "#FF0000", oo = .1, so = /* @__PURE__ */ new Set([
5223
+ var Ro = "#FF0000", zo = .1, Bo = /* @__PURE__ */ new Set([
5062
5224
  "columns",
5063
5225
  "rows",
5064
5226
  "grid"
5065
- ]), co = /* @__PURE__ */ new Set([
5227
+ ]), Vo = /* @__PURE__ */ new Set([
5066
5228
  "stretch",
5067
5229
  "min",
5068
5230
  "center",
5069
5231
  "max"
5070
- ]), lo = (e, t, n) => Math.min(n, Math.max(t, e)), uo = (e, t) => e !== void 0 && Number.isFinite(e) ? e : t, fo = (e = {}) => {
5071
- let t = e.kind && so.has(e.kind) ? e.kind : "columns", n = e.align && co.has(e.align) ? e.align : t === "grid" ? "min" : "stretch", r = e.id?.trim(), i = e.color?.trim();
5232
+ ]), Ho = (e, t, n) => Math.min(n, Math.max(t, e)), Uo = (e, t) => e !== void 0 && Number.isFinite(e) ? e : t, Wo = (e = {}) => {
5233
+ let t = e.kind && Bo.has(e.kind) ? e.kind : "columns", n = e.align && Vo.has(e.align) ? e.align : t === "grid" ? "min" : "stretch", r = e.id?.trim(), i = e.color?.trim();
5072
5234
  return {
5073
- id: r || fr(),
5235
+ id: r || Wr(),
5074
5236
  kind: t,
5075
5237
  visible: e.visible ?? !0,
5076
5238
  color: i || "#FF0000",
5077
- opacity: lo(uo(e.opacity, oo), 0, 1),
5078
- count: lo(Math.round(uo(e.count, 5)), 1, 24),
5079
- size: lo(uo(e.size, 72), 1, 4096),
5080
- gutter: lo(uo(e.gutter, 20), 0, 800),
5081
- offset: lo(uo(e.offset, 0), 0, 4096),
5239
+ opacity: Ho(Uo(e.opacity, zo), 0, 1),
5240
+ count: Ho(Math.round(Uo(e.count, 5)), 1, 24),
5241
+ size: Ho(Uo(e.size, 72), 1, 4096),
5242
+ gutter: Ho(Uo(e.gutter, 20), 0, 800),
5243
+ offset: Ho(Uo(e.offset, 0), 0, 4096),
5082
5244
  align: n
5083
5245
  };
5084
- }, po = (e) => (e ?? []).map(fo), mo = (e) => {
5246
+ }, Go = (e) => (e ?? []).map(Wo), Ko = (e) => {
5085
5247
  if (e.kind === "grid") return `Grid ${Math.round(e.size)}px`;
5086
5248
  let t = e.kind === "columns" ? "columns" : "rows";
5087
5249
  return e.align === "stretch" ? `${e.count} ${t}` : `${e.count} ${t} (${Math.round(e.size)}px)`;
5088
- }, ho = (e) => (() => {
5250
+ }, qo = (e) => (() => {
5089
5251
  var t = Y("svg", {
5090
5252
  xmlns: "http://www.w3.org/2000/svg",
5091
5253
  viewBox: "0 0 24 24",
@@ -5104,22 +5266,22 @@ var ao = "#FF0000", oo = .1, so = /* @__PURE__ */ new Set([
5104
5266
  }), ({ e, t: n }, r) => {
5105
5267
  e !== r?.e && Q(t, "width", e, r?.e), n !== r?.t && Q(t, "height", n, r?.t);
5106
5268
  }), t;
5107
- })(), go = (e) => e.kind === "rows" ? J(Ir, { size: 14 }) : e.kind === "grid" ? J(Pr, { size: 14 }) : J(Fr, { size: 14 }), _o = "msr:grid-cols-[78px_minmax(0,1fr)]", vo = (e) => (() => {
5269
+ })(), Jo = (e) => e.kind === "rows" ? J(mi, { size: 14 }) : e.kind === "grid" ? J(fi, { size: 14 }) : J(pi, { size: 14 }), Yo = "msr:grid-cols-[78px_minmax(0,1fr)]", Xo = (e) => (() => {
5108
5270
  var t = Y("label", { class: "msr:col-span-2 msr:grid msr:h-8 msr:w-full msr:grid-cols-[78px_minmax(0,1fr)] msr:items-center msr:gap-0 msr:text-[12px] msr:text-ink-700" }), n = Y("span");
5109
5271
  return X(t, n), Z(n, () => e.label), Z(t, () => e.children, null), t;
5110
- })(), yo = (e) => (() => {
5272
+ })(), Zo = (e) => (() => {
5111
5273
  var t = Y("span", { class: "msr:relative msr:block msr:w-full" }), n = Y("select", {
5112
- class: Tr,
5274
+ class: ri,
5113
5275
  onPointerDown: (e) => e.stopPropagation(),
5114
5276
  onChange: (t) => e.onChange(t.currentTarget.value)
5115
5277
  });
5116
- return X(t, n), Z(n, () => e.children), Z(t, J(Er, {}), null), q(() => ({
5278
+ return X(t, n), Z(n, () => e.children), Z(t, J(ii, {}), null), q(() => ({
5117
5279
  e: e.label,
5118
5280
  t: e.value
5119
5281
  }), ({ e, t }, r) => {
5120
5282
  e !== r?.e && Q(n, "aria-label", e, r?.e), t !== r?.t && Q(n, "value", t, r?.t);
5121
5283
  }), t;
5122
- })(), bo = (e) => {
5284
+ })(), Qo = (e) => {
5123
5285
  let [t, n] = K(!1), [r, i] = K(String(e.value)), a = () => e.min ?? 0, o = () => e.max ?? 9999, s = (e) => Math.min(o(), Math.max(a(), e)), c = (t) => {
5124
5286
  let n = Number(t.replace(/[^\d.-]/g, ""));
5125
5287
  if (!Number.isFinite(n)) {
@@ -5128,7 +5290,7 @@ var ao = "#FF0000", oo = .1, so = /* @__PURE__ */ new Set([
5128
5290
  }
5129
5291
  e.onChange(s(n));
5130
5292
  };
5131
- return J(Dr, { get left() {
5293
+ return J(ai, { get left() {
5132
5294
  var a = Y("input", {
5133
5295
  type: "text",
5134
5296
  inputmode: "numeric",
@@ -5160,7 +5322,7 @@ var ao = "#FF0000", oo = .1, so = /* @__PURE__ */ new Set([
5160
5322
  e !== n?.e && Q(a, "aria-label", e, n?.e), t !== n?.t && Q(a, "value", t, n?.t);
5161
5323
  }), a;
5162
5324
  } });
5163
- }, xo = (e) => e === "rows" || e === "grid" ? e : "columns", So = (e) => e === "min" || e === "center" || e === "max" ? e : "stretch", Co = (e) => {
5325
+ }, $o = (e) => e === "rows" || e === "grid" ? e : "columns", es = (e) => e === "min" || e === "center" || e === "max" ? e : "stretch", ts = (e) => {
5164
5326
  let t = Gt(() => e.guide.kind === "rows" ? {
5165
5327
  stretch: "Stretch",
5166
5328
  min: "Top",
@@ -5177,13 +5339,13 @@ var ao = "#FF0000", oo = .1, so = /* @__PURE__ */ new Set([
5177
5339
  "aria-label": "Back to layout guides",
5178
5340
  class: "msr:flex msr:size-6 msr:items-center msr:justify-center msr:rounded-control msr:text-ink-500 msr:outline-none msr:hover:bg-ink-100 msr:hover:text-ink-900"
5179
5341
  });
5180
- return X(r, i), X(i, a), Z(i, J(yo, {
5342
+ return X(r, i), X(i, a), Z(i, J(Zo, {
5181
5343
  label: "Layout guide type",
5182
5344
  get value() {
5183
5345
  return e.guide.kind;
5184
5346
  },
5185
5347
  onChange: (t) => {
5186
- let n = xo(t);
5348
+ let n = $o(t);
5187
5349
  e.onUpdate({
5188
5350
  kind: n,
5189
5351
  align: n === "grid" ? "min" : e.guide.align === "stretch" || n === e.guide.kind ? e.guide.align : "stretch"
@@ -5205,15 +5367,15 @@ var ao = "#FF0000", oo = .1, so = /* @__PURE__ */ new Set([
5205
5367
  })()
5206
5368
  ];
5207
5369
  }
5208
- }), a), Z(a, J(ho, {})), Z(r, J(Xt, {
5370
+ }), a), Z(a, J(qo, {})), Z(r, J(Xt, {
5209
5371
  get when() {
5210
5372
  return e.guide.kind !== "grid";
5211
5373
  },
5212
5374
  get children() {
5213
- return J(vo, {
5375
+ return J(Xo, {
5214
5376
  label: "Count",
5215
5377
  get children() {
5216
- return J(bo, {
5378
+ return J(Qo, {
5217
5379
  label: "Count",
5218
5380
  get value() {
5219
5381
  return e.guide.count;
@@ -5225,16 +5387,16 @@ var ao = "#FF0000", oo = .1, so = /* @__PURE__ */ new Set([
5225
5387
  }
5226
5388
  });
5227
5389
  }
5228
- }), null), Z(r, J(Or, {
5390
+ }), null), Z(r, J(oi, {
5229
5391
  label: "Color",
5230
- columns: _o,
5392
+ columns: Yo,
5231
5393
  get value() {
5232
5394
  return dr({
5233
5395
  ...lr(e.guide.color) ?? lr("#FF0000"),
5234
5396
  alpha: e.guide.opacity
5235
5397
  });
5236
5398
  },
5237
- fallback: ao,
5399
+ fallback: Ro,
5238
5400
  get ownerWindow() {
5239
5401
  return e.ownerWindow;
5240
5402
  },
@@ -5253,15 +5415,15 @@ var ao = "#FF0000", oo = .1, so = /* @__PURE__ */ new Set([
5253
5415
  return e.guide.kind !== "grid";
5254
5416
  },
5255
5417
  get children() {
5256
- return J(vo, {
5418
+ return J(Xo, {
5257
5419
  label: "Type",
5258
5420
  get children() {
5259
- return J(yo, {
5421
+ return J(Zo, {
5260
5422
  label: "Alignment",
5261
5423
  get value() {
5262
5424
  return e.guide.align;
5263
5425
  },
5264
- onChange: (t) => e.onUpdate({ align: So(t) }),
5426
+ onChange: (t) => e.onUpdate({ align: es(t) }),
5265
5427
  get children() {
5266
5428
  return J(Yt, {
5267
5429
  each: [
@@ -5285,12 +5447,12 @@ var ao = "#FF0000", oo = .1, so = /* @__PURE__ */ new Set([
5285
5447
  return e.guide.kind === "grid" || e.guide.align !== "stretch";
5286
5448
  },
5287
5449
  get children() {
5288
- return J(vo, {
5450
+ return J(Xo, {
5289
5451
  get label() {
5290
5452
  return n();
5291
5453
  },
5292
5454
  get children() {
5293
- return J(bo, {
5455
+ return J(Qo, {
5294
5456
  get label() {
5295
5457
  return n();
5296
5458
  },
@@ -5309,10 +5471,10 @@ var ao = "#FF0000", oo = .1, so = /* @__PURE__ */ new Set([
5309
5471
  return e.guide.kind !== "grid";
5310
5472
  },
5311
5473
  get children() {
5312
- return [J(vo, {
5474
+ return [J(Xo, {
5313
5475
  label: "Offset",
5314
5476
  get children() {
5315
- return J(bo, {
5477
+ return J(Qo, {
5316
5478
  label: "Offset",
5317
5479
  get value() {
5318
5480
  return e.guide.offset;
@@ -5322,10 +5484,10 @@ var ao = "#FF0000", oo = .1, so = /* @__PURE__ */ new Set([
5322
5484
  onChange: (t) => e.onUpdate({ offset: t })
5323
5485
  });
5324
5486
  }
5325
- }), J(vo, {
5487
+ }), J(Xo, {
5326
5488
  label: "Gutter",
5327
5489
  get children() {
5328
- return J(bo, {
5490
+ return J(Qo, {
5329
5491
  label: "Gutter",
5330
5492
  get value() {
5331
5493
  return e.guide.gutter;
@@ -5341,7 +5503,7 @@ var ao = "#FF0000", oo = .1, so = /* @__PURE__ */ new Set([
5341
5503
  Q(a, "onClick", e, t);
5342
5504
  }), r;
5343
5505
  };
5344
- function wo(e) {
5506
+ function ns(e) {
5345
5507
  let [t, n] = K(null), r = Gt(() => e.guides.find((e) => e.id === t()) ?? null);
5346
5508
  var i = Y("div", {
5347
5509
  "data-mesurer-layout-guides-panel": "true",
@@ -5363,7 +5525,7 @@ function wo(e) {
5363
5525
  "aria-label": "Add layout guide",
5364
5526
  class: "msr:flex msr:size-6 msr:items-center msr:justify-center msr:rounded-control msr:text-ink-500 msr:outline-none msr:hover:bg-ink-100 msr:hover:text-ink-900"
5365
5527
  });
5366
- return X(t, r), X(r, i), X(r, a), X(i, Qn("Layout guides")), Z(a, J(Lr, {})), Z(t, J(Xt, {
5528
+ return X(t, r), X(r, i), X(r, a), X(i, Qn("Layout guides")), Z(a, J(hi, {})), Z(t, J(Xt, {
5367
5529
  get when() {
5368
5530
  return e.guides.length > 0;
5369
5531
  },
@@ -5390,22 +5552,22 @@ function wo(e) {
5390
5552
  class: "msr:flex msr:size-6 msr:items-center msr:justify-center msr:rounded-control msr:text-ink-400 msr:outline-none msr:hover:bg-ink-100 msr:hover:text-ink-900",
5391
5553
  onClick: () => e.onRemove(t.id)
5392
5554
  });
5393
- return X(r, i), X(r, s), X(r, c), X(i, a), X(i, o), Z(a, J(go, { get kind() {
5555
+ return X(r, i), X(r, s), X(r, c), X(i, a), X(i, o), Z(a, J(Jo, { get kind() {
5394
5556
  return t.kind;
5395
- } })), Z(o, () => mo(t)), Z(i, J(Ar, {
5557
+ } })), Z(o, () => Ko(t)), Z(i, J(ci, {
5396
5558
  size: 8,
5397
5559
  class: "msr:block msr:-rotate-90 msr:text-ink-400"
5398
5560
  }), null), Z(s, (() => {
5399
5561
  var e = Zn(() => !!t.visible);
5400
- return () => e() ? J(Rr, {}) : J(zr, {});
5401
- })()), Z(c, J(jr, {
5562
+ return () => e() ? J(gi, {}) : J(_i, {});
5563
+ })()), Z(c, J(li, {
5402
5564
  size: 10,
5403
5565
  class: "msr:block"
5404
5566
  })), q(() => ({
5405
- e: t.visible ? `Hide ${mo(t)}` : `Show ${mo(t)}`,
5567
+ e: t.visible ? `Hide ${Ko(t)}` : `Show ${Ko(t)}`,
5406
5568
  t: t.visible ? "true" : "false",
5407
5569
  a: `msr:flex msr:size-6 msr:items-center msr:justify-center msr:rounded-control msr:outline-none msr:hover:bg-ink-100 ${t.visible ? "msr:text-ink-700" : "msr:text-ink-400"}`,
5408
- o: `Remove ${mo(t)}`
5570
+ o: `Remove ${Ko(t)}`
5409
5571
  }), ({ e, t, a: n, o: r }, i) => {
5410
5572
  e !== i?.e && Q(s, "aria-label", e, i?.e), t !== i?.t && Q(s, "aria-pressed", t, i?.t), n !== i?.a && Q(s, "class", n, i?.a), r !== i?.o && Q(c, "aria-label", r, i?.o);
5411
5573
  }), r;
@@ -5416,7 +5578,7 @@ function wo(e) {
5416
5578
  Q(a, "onClick", e, t);
5417
5579
  }), t;
5418
5580
  },
5419
- children: (t) => J(Co, {
5581
+ children: (t) => J(ts, {
5420
5582
  get guide() {
5421
5583
  return t();
5422
5584
  },
@@ -5428,56 +5590,56 @@ function wo(e) {
5428
5590
  })
5429
5591
  })), i;
5430
5592
  }
5431
- var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-guides.pages", Oo = "mesurer.layout-guides.active", ko = "runtime:solid", Ao = "layout-guides.toggle", jo = "layout-guides.add", Mo = "layout-guides.update", No = "layout-guides.remove", Po = "layout-guides.clear", Fo = 240, Io = 8, Lo = 8, Ro = () => ({ pages: {} }), zo = (e, t) => e.pages[t] ?? [], Bo = (e) => typeof e == "object" && !!e && !Array.isArray(e), Vo = (e) => typeof e == "string", Ho = (e) => typeof e == "boolean", Uo = (e) => typeof e == "number", Wo = (e) => e === "columns" || e === "rows" || e === "grid", Go = (e) => e === "stretch" || e === "min" || e === "center" || e === "max", Ko = (e) => ({ ...e }), qo = (e) => e.map(Ko), Jo = (e) => Bo(e) ? e : null, Yo = (e) => {
5593
+ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-guides.pages", os = "mesurer.layout-guides.active", ss = "runtime:solid", cs = "layout-guides.toggle", ls = "layout-guides.add", us = "layout-guides.update", ds = "layout-guides.remove", fs = "layout-guides.clear", ps = 240, ms = 8, hs = 8, gs = () => ({ pages: {} }), _s = (e, t) => e.pages[t] ?? [], vs = (e) => typeof e == "object" && !!e && !Array.isArray(e), ys = (e) => typeof e == "string", bs = (e) => typeof e == "boolean", xs = (e) => typeof e == "number", Ss = (e) => e === "columns" || e === "rows" || e === "grid", Cs = (e) => e === "stretch" || e === "min" || e === "center" || e === "max", ws = (e) => ({ ...e }), Ts = (e) => e.map(ws), Es = (e) => vs(e) ? e : null, Ds = (e) => {
5432
5594
  if (!e) return {};
5433
5595
  let t = {};
5434
- return Vo(e.id) && (t.id = e.id), Wo(e.kind) && (t.kind = e.kind), Ho(e.visible) && (t.visible = e.visible), Vo(e.color) && (t.color = e.color), Uo(e.opacity) && (t.opacity = e.opacity), Uo(e.count) && (t.count = e.count), Uo(e.size) && (t.size = e.size), Uo(e.gutter) && (t.gutter = e.gutter), Uo(e.offset) && (t.offset = e.offset), Go(e.align) && (t.align = e.align), t;
5435
- }, Xo = (e) => {
5596
+ return ys(e.id) && (t.id = e.id), Ss(e.kind) && (t.kind = e.kind), bs(e.visible) && (t.visible = e.visible), ys(e.color) && (t.color = e.color), xs(e.opacity) && (t.opacity = e.opacity), xs(e.count) && (t.count = e.count), xs(e.size) && (t.size = e.size), xs(e.gutter) && (t.gutter = e.gutter), xs(e.offset) && (t.offset = e.offset), Cs(e.align) && (t.align = e.align), t;
5597
+ }, Os = (e) => {
5436
5598
  let t = {};
5437
5599
  return e.id !== void 0 && (t.id = e.id), e.kind !== void 0 && (t.kind = e.kind), e.visible !== void 0 && (t.visible = e.visible), e.color !== void 0 && (t.color = e.color), e.opacity !== void 0 && (t.opacity = e.opacity), e.count !== void 0 && (t.count = e.count), e.size !== void 0 && (t.size = e.size), e.gutter !== void 0 && (t.gutter = e.gutter), e.offset !== void 0 && (t.offset = e.offset), e.align !== void 0 && (t.align = e.align), t;
5438
- }, Zo = {
5600
+ }, ks = {
5439
5601
  viewBox: "0 0 256 256",
5440
5602
  paths: ["M48 48h160v8H48zM48 200h160v8H48zM48 56h8v144h-8zM200 56h8v144h-8z", "M101 56h8v144h-8zM147 56h8v144h-8z"]
5441
- }, Qo = () => ar({
5442
- id: To,
5603
+ }, As = () => ar({
5604
+ id: rs,
5443
5605
  version: "0.1.0",
5444
- requires: [ko],
5445
- provides: [Eo, "tool:layout-guides"],
5606
+ requires: [ss],
5607
+ provides: [is, "tool:layout-guides"],
5446
5608
  setup(e) {
5447
- let t = e.service.get(ko);
5609
+ let t = e.service.get(ss);
5448
5610
  if (!t) throw Error("Layout Guides requires the Solid renderer runtime.");
5449
5611
  let n = t.rendererRoot;
5450
5612
  if (!n) throw Error("Layout Guides requires a mounted renderer root.");
5451
5613
  e.state.register({
5452
- id: Do,
5453
- initial: Ro(),
5614
+ id: as,
5615
+ initial: gs(),
5454
5616
  history: !0,
5455
5617
  persist: !0
5456
5618
  }), e.state.register({
5457
- id: Oo,
5619
+ id: os,
5458
5620
  initial: !1
5459
5621
  });
5460
- let r = gr(t.ownerWindow), i = !1, [a, o] = K(0), s = /* @__PURE__ */ new Set(), c = 0, l = () => e.state.get("mesurer.layout-guides.pages") ?? Ro(), u = () => e.state.get("mesurer.layout-guides.active") ?? !1, d = () => po(zo(l(), r)), f = () => (a(), u() ? d() : []), p = (t) => {
5461
- e.state.update(Oo, () => t);
5622
+ let r = Jr(t.ownerWindow), i = !1, [a, o] = K(0), s = /* @__PURE__ */ new Set(), c = 0, l = () => e.state.get("mesurer.layout-guides.pages") ?? gs(), u = () => e.state.get("mesurer.layout-guides.active") ?? !1, d = () => Go(_s(l(), r)), f = () => (a(), u() ? d() : []), p = (t) => {
5623
+ e.state.update(os, () => t);
5462
5624
  }, m = (t) => {
5463
- e.state.update(Do, (e) => ({
5625
+ e.state.update(as, (e) => ({
5464
5626
  ...e,
5465
5627
  pages: {
5466
5628
  ...e.pages,
5467
- [r]: qo(t(po(e.pages[r])))
5629
+ [r]: Ts(t(Go(e.pages[r])))
5468
5630
  }
5469
5631
  }));
5470
5632
  };
5471
- e.command.register(Ao, () => {
5633
+ e.command.register(cs, () => {
5472
5634
  let e = !u();
5473
- return e && d().length === 0 && m(() => [fo()]), i = e, p(e), u();
5474
- }), e.command.register(jo, (e) => {
5475
- let t = fo(Yo(Jo(e)));
5635
+ return e && d().length === 0 && m(() => [Wo()]), i = e, p(e), u();
5636
+ }), e.command.register(ls, (e) => {
5637
+ let t = Wo(Ds(Es(e)));
5476
5638
  return m((e) => [...e, t]), { ...t };
5477
- }), e.command.register(Mo, (e) => {
5478
- let t = Jo(e), n = t && Vo(t.id) ? t.id : null, r = Yo(Jo(t?.patch));
5639
+ }), e.command.register(us, (e) => {
5640
+ let t = Es(e), n = t && ys(t.id) ? t.id : null, r = Ds(Es(t?.patch));
5479
5641
  if (!n) throw Error("layout-guides.update requires a guide id.");
5480
- m((e) => e.map((e) => e.id === n ? fo({
5642
+ m((e) => e.map((e) => e.id === n ? Wo({
5481
5643
  ...e,
5482
5644
  ...r,
5483
5645
  id: e.id
@@ -5485,30 +5647,30 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
5485
5647
  let i = d().find((e) => e.id === n);
5486
5648
  if (!i) throw Error(`Layout guide not found: ${n}`);
5487
5649
  return { ...i };
5488
- }), e.command.register(No, (e) => {
5489
- let t = Jo(e), n = t && Vo(t.id) ? t.id : null;
5650
+ }), e.command.register(ds, (e) => {
5651
+ let t = Es(e), n = t && ys(t.id) ? t.id : null;
5490
5652
  if (!n) throw Error("layout-guides.remove requires a guide id.");
5491
5653
  let r = d().length;
5492
5654
  return m((e) => e.filter((e) => e.id !== n)), d().length !== r;
5493
- }), e.command.register(Po, () => {
5655
+ }), e.command.register(fs, () => {
5494
5656
  m(() => []);
5495
5657
  });
5496
5658
  let h = async (t, n) => {
5497
- let r = Jo(await e.command.execute(t, n));
5659
+ let r = Es(await e.command.execute(t, n));
5498
5660
  if (!r) throw Error(`${t} did not return a layout guide.`);
5499
- return fo(Yo(r));
5661
+ return Wo(Ds(r));
5500
5662
  }, g = {
5501
5663
  list: () => d().map((e) => ({ ...e })),
5502
- add: (e = {}) => h(jo, Xo(e)),
5503
- update: (e, t) => h(Mo, {
5664
+ add: (e = {}) => h(ls, Os(e)),
5665
+ update: (e, t) => h(us, {
5504
5666
  id: e,
5505
- patch: Xo(t)
5667
+ patch: Os(t)
5506
5668
  }),
5507
5669
  async remove(t) {
5508
- return await e.command.execute(No, { id: t }) === !0;
5670
+ return await e.command.execute(ds, { id: t }) === !0;
5509
5671
  },
5510
5672
  async clear() {
5511
- await e.command.execute(Po);
5673
+ await e.command.execute(fs);
5512
5674
  },
5513
5675
  subscribe(e) {
5514
5676
  s.add(e);
@@ -5518,25 +5680,25 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
5518
5680
  };
5519
5681
  }
5520
5682
  };
5521
- e.service.provide(Eo, g), e.tool.register({
5683
+ e.service.provide(is, g), e.tool.register({
5522
5684
  id: "layout-guides",
5523
5685
  label: "Layout guides",
5524
5686
  shortcut: "L",
5525
- command: Ao,
5687
+ command: cs,
5526
5688
  order: 38,
5527
- icon: Zo,
5689
+ icon: ks,
5528
5690
  active: u
5529
5691
  });
5530
5692
  let _ = t.ownerDocument.createElement("div");
5531
5693
  _.dataset.mesurerLayoutGuidesRoot = "true", _.dataset.mesurerLayer = "evidence", _.style.position = "absolute", _.style.inset = "0", _.style.pointerEvents = "none", n.prepend(_);
5532
- let v = Xn(() => J(io, { get guides() {
5694
+ let v = Xn(() => J(Lo, { get guides() {
5533
5695
  return f();
5534
5696
  } }), _), y = t.createInspectorMount();
5535
5697
  y.element.dataset.mesurerLayoutGuidesPanelRoot = "true", Object.assign(y.element.style, {
5536
5698
  position: "fixed",
5537
5699
  left: "0",
5538
5700
  top: "0",
5539
- width: `${Fo}px`,
5701
+ width: `${ps}px`,
5540
5702
  zIndex: "100",
5541
5703
  pointerEvents: "none",
5542
5704
  display: "none"
@@ -5545,13 +5707,13 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
5545
5707
  if (c = 0, !i) return;
5546
5708
  let e = t.portalTarget.querySelector("[data-mesurer-tool-id='layout-guides']");
5547
5709
  if (!e) return;
5548
- let n = e.getBoundingClientRect(), r = Math.min(Math.max(Lo, n.right - Fo), Math.max(Lo, t.ownerWindow.innerWidth - Fo - Lo)), a = t.ownerWindow.innerHeight - n.bottom - Io - Lo, o = Math.min(320, t.ownerWindow.innerHeight - 16), s = a >= Math.min(o, 320) ? n.bottom + Io : Math.max(Lo, n.top - Io - o);
5710
+ let n = e.getBoundingClientRect(), r = Math.min(Math.max(hs, n.right - ps), Math.max(hs, t.ownerWindow.innerWidth - ps - hs)), a = t.ownerWindow.innerHeight - n.bottom - ms - hs, o = Math.min(320, t.ownerWindow.innerHeight - 16), s = a >= Math.min(o, 320) ? n.bottom + ms : Math.max(hs, n.top - ms - o);
5549
5711
  y.element.style.left = `${r}px`, y.element.style.top = `${s}px`;
5550
5712
  }, x = () => {
5551
5713
  c ||= t.ownerWindow.requestAnimationFrame(b);
5552
5714
  }, S = () => {
5553
5715
  y.element.style.display = i ? "block" : "none", i && x();
5554
- }, C = Xn(() => J(wo, {
5716
+ }, C = Xn(() => J(ns, {
5555
5717
  get guides() {
5556
5718
  return f();
5557
5719
  },
@@ -5571,7 +5733,7 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
5571
5733
  o((e) => e + 1);
5572
5734
  for (let e of s) e();
5573
5735
  S();
5574
- }, T = e.state.subscribe(w), E = br(t.ownerWindow, (e) => {
5736
+ }, T = e.state.subscribe(w), E = Qr(t.ownerWindow, (e) => {
5575
5737
  r !== e && (r = e, w());
5576
5738
  }), D = (e) => {
5577
5739
  if (!i) return;
@@ -5586,169 +5748,7 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
5586
5748
  t.ownerDocument.removeEventListener("pointerdown", D, !0), t.ownerDocument.removeEventListener("keydown", O, !0), t.ownerWindow.removeEventListener("resize", x), t.ownerWindow.removeEventListener("pointerup", x, !0), c && t.ownerWindow.cancelAnimationFrame(c), c = 0, s.clear(), T.dispose(), E(), C(), y.dispose(), v(), _.remove();
5587
5749
  });
5588
5750
  }
5589
- }), $o = "mesurer:capture-bridge-ping", es = "mesurer:capture-bridge-request", ts = "mesurer:capture-bridge-response", ns = (e) => e.__MESURER_HOST__?.captureScreenshot, rs = (e) => {
5590
- if (e instanceof Blob) return e;
5591
- if (e instanceof Uint8Array) {
5592
- let t = new Uint8Array(e.byteLength);
5593
- return t.set(e), new Blob([t.buffer], { type: "image/png" });
5594
- }
5595
- if (e instanceof ArrayBuffer) return new Blob([e.slice(0)], { type: "image/png" });
5596
- if (e == null) throw Error("Host screenshot capture returned no PNG data.");
5597
- if (!e.png) throw Error("Host screenshot capture returned unsupported PNG data.");
5598
- return rs(e.png);
5599
- }, is = async (e) => {
5600
- let t = ns(e);
5601
- return t ? rs(await t()) : null;
5602
- }, as = (e, t, n) => {
5603
- let r = Math.max(0, Math.min(e.x, t.x, n.width)), i = Math.max(0, Math.min(e.y, t.y, n.height)), a = Math.max(0, Math.min(Math.max(e.x, t.x), n.width)), o = Math.max(0, Math.min(Math.max(e.y, t.y), n.height));
5604
- return {
5605
- left: r,
5606
- top: i,
5607
- width: Math.max(0, a - r),
5608
- height: Math.max(0, o - i)
5609
- };
5610
- }, os = async (e, t, n, r) => {
5611
- let i = await createImageBitmap(e);
5612
- try {
5613
- let e = i.width / n.width, a = i.height / n.height, o = Math.max(0, Math.round(t.left * e)), s = Math.max(0, Math.round(t.top * a)), c = Math.max(1, Math.min(i.width - o, Math.round(t.width * e))), l = Math.max(1, Math.min(i.height - s, Math.round(t.height * a))), u = r.createElement("canvas");
5614
- u.width = c, u.height = l;
5615
- let d = u.getContext("2d");
5616
- if (!d) throw Error("Could not crop screenshot");
5617
- return d.drawImage(i, o, s, c, l, 0, 0, c, l), await new Promise((e, t) => {
5618
- u.toBlob((n) => {
5619
- n ? e(n) : t(/* @__PURE__ */ Error("Could not crop screenshot"));
5620
- }, "image/png");
5621
- });
5622
- } finally {
5623
- i.close();
5624
- }
5625
- }, ss = async (e, t) => {
5626
- let n = t.navigator.clipboard, r = globalThis.ClipboardItem;
5627
- if (!n?.write || !r) throw Error("PNG clipboard copy is not available");
5628
- await n.write([new r({ "image/png": e })]);
5629
- }, cs = (e = /* @__PURE__ */ new Date()) => {
5630
- let t = (e) => String(e).padStart(2, "0");
5631
- return `mesurer-${e.getFullYear()}-${t(e.getMonth() + 1)}-${t(e.getDate())}-${t(e.getHours())}${t(e.getMinutes())}${t(e.getSeconds())}.png`;
5632
- }, ls = (e, t, n, r) => {
5633
- let i = globalThis.URL.createObjectURL(e), a = n.createElement("a");
5634
- a.href = i, a.download = t, a.rel = "noopener", n.documentElement.append(a), a.click(), a.remove(), r.setTimeout(() => globalThis.URL.revokeObjectURL(i), 1e3);
5635
- }, us = (e) => new Promise((t) => {
5636
- e.requestAnimationFrame(() => {
5637
- e.requestAnimationFrame(() => t());
5638
- });
5639
- }), ds = (e) => e.crypto?.randomUUID?.() ?? `mesurer-${Date.now()}-${Math.random().toString(36).slice(2)}`, fs = (e, t, n = "") => `${e}:${t}:${n}`, ps = (e) => e.location.origin === "null" ? "*" : e.location.origin, ms = (e, t, n) => {
5640
- let r = `${t}:${n}:`;
5641
- return e.startsWith(r) ? e.slice(r.length) : null;
5642
- }, hs = (e) => new Promise((t) => {
5643
- let n = ds(e), r = e.location.origin, i = (o) => {
5644
- o.source === e && o.origin === r && ms(String(o.data ?? ""), "mesurer:capture-bridge-pong", n) !== null && (e.removeEventListener("message", i), e.clearTimeout(a), t(!0));
5645
- }, a = e.setTimeout(() => {
5646
- e.removeEventListener("message", i), t(!1);
5647
- }, 80);
5648
- e.addEventListener("message", i), e.postMessage(fs($o, n), ps(e));
5649
- }), gs = (e) => new Promise((t, n) => {
5650
- let r = ds(e), i = e.location.origin, a = (s) => {
5651
- if (s.source !== e || s.origin !== i) return;
5652
- let c = ms(String(s.data ?? ""), ts, r);
5653
- if (c === null) return;
5654
- if (e.removeEventListener("message", a), e.clearTimeout(o), !c.startsWith("ok:")) {
5655
- t(null);
5656
- return;
5657
- }
5658
- let l = c.slice(3);
5659
- if (!l) {
5660
- t(null);
5661
- return;
5662
- }
5663
- e.fetch(l).then((e) => e.blob()).then(t, n);
5664
- }, o = e.setTimeout(() => {
5665
- e.removeEventListener("message", a), t(null);
5666
- }, 4e3);
5667
- e.addEventListener("message", a), e.postMessage(fs(es, r), ps(e));
5668
- }), _s = /* @__PURE__ */ new WeakMap(), vs = (e) => {
5669
- let t = _s.get(e), n = t?.stream.getVideoTracks()[0];
5670
- if (!t || !n || n.readyState !== "live") {
5671
- _s.delete(e);
5672
- return;
5673
- }
5674
- return t;
5675
- }, ys = async (e, t) => {
5676
- let n = vs(t);
5677
- if (n) return n;
5678
- let r = t.navigator.mediaDevices;
5679
- if (!r?.getDisplayMedia) throw Error("Screenshot capture is unavailable");
5680
- let i = await r.getDisplayMedia({
5681
- audio: !1,
5682
- video: !0,
5683
- preferCurrentTab: !0,
5684
- selfBrowserSurface: "include"
5685
- }), a = i.getVideoTracks()[0];
5686
- if (!a) throw i.getTracks().forEach((e) => e.stop()), Error("Capture failed");
5687
- try {
5688
- let n = e.createElement("video");
5689
- n.autoplay = !0, n.muted = !0, n.playsInline = !0, n.srcObject = i, await n.play(), (n.videoWidth === 0 || n.videoHeight === 0) && await new Promise((e) => {
5690
- n.onloadedmetadata = () => e();
5691
- });
5692
- let r = {
5693
- stream: i,
5694
- video: n
5695
- };
5696
- return _s.set(t, r), a.addEventListener("ended", () => {
5697
- _s.get(t) === r && _s.delete(t);
5698
- }, { once: !0 }), r;
5699
- } catch (e) {
5700
- throw i.getTracks().forEach((e) => e.stop()), e;
5701
- }
5702
- }, bs = (e) => {
5703
- let t = _s.get(e);
5704
- t && (_s.delete(e), t.video.pause(), t.video.srcObject = null, t.stream.getTracks().forEach((e) => e.stop()));
5705
- }, xs = async ({ ownerDocument: e, ownerWindow: t }) => {
5706
- let { video: n } = await ys(e, t), r = e.createElement("canvas");
5707
- r.width = n.videoWidth, r.height = n.videoHeight;
5708
- let i = r.getContext("2d");
5709
- if (!i) throw Error("Capture failed");
5710
- return i.drawImage(n, 0, 0), await new Promise((e, t) => {
5711
- r.toBlob((n) => {
5712
- n ? e(n) : t(/* @__PURE__ */ Error("Capture failed"));
5713
- }, "image/png");
5714
- });
5715
- }, Ss = {
5716
- prepare: async () => void 0,
5717
- capture: async ({ ownerWindow: e }) => {
5718
- let t = await is(e);
5719
- if (!t) throw Error("Host screenshot capture is unavailable.");
5720
- return t;
5721
- },
5722
- release: () => void 0
5723
- }, Cs = {
5724
- prepare: async () => void 0,
5725
- capture: async ({ ownerWindow: e }) => {
5726
- let t = await gs(e);
5727
- if (!t) throw Error("Host screenshot capture failed.");
5728
- return t;
5729
- },
5730
- release: () => void 0
5731
- }, ws = {
5732
- prepare: async ({ ownerDocument: e, ownerWindow: t }) => {
5733
- await ys(e, t);
5734
- },
5735
- capture: xs,
5736
- release: bs
5737
- }, Ts = /* @__PURE__ */ new WeakMap(), Es = async (e) => {
5738
- let t = Ts.get(e.ownerWindow);
5739
- if (t) return t;
5740
- let n = ws;
5741
- return ns(e.ownerWindow) ? n = Ss : await hs(e.ownerWindow) && (n = Cs), Ts.set(e.ownerWindow, n), n;
5742
- }, Ds = async (e, t) => {
5743
- let n = {
5744
- ownerDocument: e,
5745
- ownerWindow: t
5746
- };
5747
- await (await Es(n)).prepare(n);
5748
- }, Os = async (e) => (await Es(e)).capture(e), ks = (e) => {
5749
- let t = Ts.get(e);
5750
- Ts.delete(e), t?.release(e);
5751
- }, As = Os, js = 144, Ms = 96, Ns = 8, Ps = 4, Fs = 1800, Is = (e, t) => {
5751
+ }), js = 144, Ms = 96, Ns = 8, Ps = 4, Fs = 1800, Is = (e, t) => {
5752
5752
  for (let [n, r] of Object.entries(t)) e.style.setProperty(n, r);
5753
5753
  }, Ls = (e, t) => ({
5754
5754
  left: Math.min(Math.max(Ns, e.left), Math.max(Ns, t.innerWidth - js - Ns)),
@@ -5915,18 +5915,18 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
5915
5915
  }, N = async () => {
5916
5916
  let e = v;
5917
5917
  if (e) try {
5918
- await ss(Promise.resolve(e), t), D("Copied screenshot");
5918
+ await br(Promise.resolve(e), t), D("Copied screenshot");
5919
5919
  } catch {
5920
5920
  D("Could not copy screenshot", !0);
5921
5921
  }
5922
- }, te = () => {
5922
+ }, P = () => {
5923
5923
  let n = v;
5924
5924
  if (n) try {
5925
- ls(n, cs(), e, t), D("Saved screenshot");
5925
+ Sr(n, xr(), e, t), D("Saved screenshot");
5926
5926
  } catch {
5927
5927
  D("Could not save screenshot", !0);
5928
5928
  }
5929
- }, P = (e, t, n) => {
5929
+ }, F = (e, t, n) => {
5930
5930
  if (!v) return !1;
5931
5931
  T();
5932
5932
  let r = o.getBoundingClientRect();
@@ -5938,7 +5938,7 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
5938
5938
  top: r.top,
5939
5939
  moved: !1
5940
5940
  }, o.style.cursor = "grabbing", !0;
5941
- }, ne = (e, t) => {
5941
+ }, te = (e, t) => {
5942
5942
  let n = x;
5943
5943
  if (!n) return;
5944
5944
  let r = e - n.startX, i = t - n.startY;
@@ -5946,28 +5946,28 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
5946
5946
  left: n.left + r,
5947
5947
  top: n.top + i
5948
5948
  });
5949
- }, F = () => {
5949
+ }, I = () => {
5950
5950
  let e = x;
5951
5951
  e && (x = null, o.style.cursor = "grab", e.moved || ee());
5952
- }, I = () => {
5952
+ }, L = () => {
5953
5953
  x && (x = null, o.style.cursor = "grab");
5954
- }, L = (e) => {
5955
- e.button !== 0 || !P(e.clientX, e.clientY, null) || e.preventDefault();
5956
5954
  }, R = (e) => {
5957
- x?.pointerId === null && ne(e.clientX, e.clientY);
5955
+ e.button !== 0 || !F(e.clientX, e.clientY, null) || e.preventDefault();
5958
5956
  }, z = (e) => {
5959
- e.button === 0 && x?.pointerId === null && F();
5957
+ x?.pointerId === null && te(e.clientX, e.clientY);
5960
5958
  }, B = (e) => {
5961
- e.pointerType !== "mouse" && e.button === 0 && P(e.clientX, e.clientY, e.pointerId) && (o.setPointerCapture?.(e.pointerId), e.preventDefault());
5959
+ e.button === 0 && x?.pointerId === null && I();
5962
5960
  }, V = (e) => {
5961
+ e.pointerType !== "mouse" && e.button === 0 && F(e.clientX, e.clientY, e.pointerId) && (o.setPointerCapture?.(e.pointerId), e.preventDefault());
5962
+ }, ne = (e) => {
5963
5963
  let t = x?.pointerId;
5964
- t != null && t === e.pointerId && ne(e.clientX, e.clientY);
5964
+ t != null && t === e.pointerId && te(e.clientX, e.clientY);
5965
5965
  }, re = (e) => {
5966
5966
  let t = x?.pointerId;
5967
- t != null && t === e.pointerId && (o.hasPointerCapture?.(e.pointerId) && o.releasePointerCapture(e.pointerId), F());
5967
+ t != null && t === e.pointerId && (o.hasPointerCapture?.(e.pointerId) && o.releasePointerCapture(e.pointerId), I());
5968
5968
  }, H = (e) => {
5969
5969
  let t = x?.pointerId;
5970
- t != null && t === e.pointerId && (o.hasPointerCapture?.(e.pointerId) && o.releasePointerCapture(e.pointerId), I());
5970
+ t != null && t === e.pointerId && (o.hasPointerCapture?.(e.pointerId) && o.releasePointerCapture(e.pointerId), L());
5971
5971
  }, ie = (e) => {
5972
5972
  (e.key === "Enter" || e.key === " ") && (e.preventDefault(), ee());
5973
5973
  }, U = (e) => {
@@ -5979,9 +5979,9 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
5979
5979
  };
5980
5980
  return c.addEventListener("pointerdown", (e) => e.stopPropagation()), c.addEventListener("mousedown", (e) => e.stopPropagation()), c.addEventListener("click", (e) => {
5981
5981
  e.stopPropagation(), A();
5982
- }), o.addEventListener("mousedown", L), o.addEventListener("pointerdown", B), o.addEventListener("keydown", ie), o.addEventListener("contextmenu", U), d.addEventListener("click", ae), m.addEventListener("click", () => {
5982
+ }), o.addEventListener("mousedown", R), o.addEventListener("pointerdown", V), o.addEventListener("keydown", ie), o.addEventListener("contextmenu", U), d.addEventListener("click", ae), m.addEventListener("click", () => {
5983
5983
  N();
5984
- }), h.addEventListener("click", te), g.addEventListener("click", O), t.addEventListener("mousemove", R, !0), t.addEventListener("mouseup", z, !0), t.addEventListener("pointermove", V, !0), t.addEventListener("pointerup", re, !0), t.addEventListener("pointercancel", H, !0), t.addEventListener("keydown", W, !0), {
5984
+ }), h.addEventListener("click", P), g.addEventListener("click", O), t.addEventListener("mousemove", z, !0), t.addEventListener("mouseup", B, !0), t.addEventListener("pointermove", ne, !0), t.addEventListener("pointerup", re, !0), t.addEventListener("pointercancel", H, !0), t.addEventListener("keydown", W, !0), {
5985
5985
  show(e, n) {
5986
5986
  if (w) return;
5987
5987
  T(), O(), k(), v = e;
@@ -5990,7 +5990,7 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
5990
5990
  },
5991
5991
  dismiss: A,
5992
5992
  dispose() {
5993
- w || (w = !0, T(), E(), A(), t.removeEventListener("mousemove", R, !0), t.removeEventListener("mouseup", z, !0), t.removeEventListener("pointermove", V, !0), t.removeEventListener("pointerup", re, !0), t.removeEventListener("pointercancel", H, !0), t.removeEventListener("keydown", W, !0), o.removeEventListener("mousedown", L), o.removeEventListener("pointerdown", B), o.removeEventListener("keydown", ie), o.removeEventListener("contextmenu", U), d.removeEventListener("click", ae), a.remove());
5993
+ w || (w = !0, T(), E(), A(), t.removeEventListener("mousemove", z, !0), t.removeEventListener("mouseup", B, !0), t.removeEventListener("pointermove", ne, !0), t.removeEventListener("pointerup", re, !0), t.removeEventListener("pointercancel", H, !0), t.removeEventListener("keydown", W, !0), o.removeEventListener("mousedown", R), o.removeEventListener("pointerdown", V), o.removeEventListener("keydown", ie), o.removeEventListener("contextmenu", U), d.removeEventListener("click", ae), a.remove());
5994
5994
  }
5995
5995
  };
5996
5996
  }, Hs = "mesurer.screenshot", Us = "screenshot", Ws = "mesurer.screenshot.settings", Gs = "mesurer.screenshot.active", Ks = "runtime:solid", qs = "screenshot.toggle", Js = 2500, Ys = 0, Xs = [
@@ -6070,7 +6070,7 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
6070
6070
  setup(t) {
6071
6071
  let n = t.service.get(Ks);
6072
6072
  if (!n) throw Error("Screenshot plugin requires the Solid renderer runtime.");
6073
- let { ownerDocument: r, ownerWindow: i } = n, a = n.createWorkspaceRuntime(), o = n.createInspectorMount(), s = e.capture ?? e.captureVisibleTab, c = s ?? Os, l = e.previewDurationMs ?? Ys;
6073
+ let { ownerDocument: r, ownerWindow: i } = n, a = n.createWorkspaceRuntime(), o = n.createInspectorMount(), s = e.capture ?? e.captureVisibleTab, c = s ?? Vr, l = e.previewDurationMs ?? Ys;
6074
6074
  t.state.register({
6075
6075
  id: Ws,
6076
6076
  initial: {
@@ -6232,19 +6232,19 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
6232
6232
  y && i.clearTimeout(y), g.style.display = "block", ee(g), y = i.setTimeout(() => {
6233
6233
  y = 0, g.style.display = "none";
6234
6234
  }, Js);
6235
- }, te = () => {
6236
- _ = null, A(null), d.style.visibility = "", d.style.display = "none", u.style.pointerEvents = "none", D(!1), k();
6237
6235
  }, P = () => {
6238
- b += 1, te(), ks(i);
6239
- }, ne = async (e) => {
6236
+ _ = null, A(null), d.style.visibility = "", d.style.display = "none", u.style.pointerEvents = "none", D(!1), k();
6237
+ }, F = () => {
6238
+ b += 1, P(), Hr(i);
6239
+ }, te = async (e) => {
6240
6240
  if (x) throw Error("A screenshot capture is already running.");
6241
6241
  if (e.width < 4 || e.height < 4) throw Error("Screenshot selection must be at least 4px by 4px.");
6242
6242
  x = !0;
6243
6243
  let o = ++b, s = T(), l = s.includeMeasurements ? oc(r) : [], u = s.includeMeasurements ? () => void 0 : ac(n.portalTarget);
6244
6244
  a.prepareCapture(), s.includeMeasurements && sc(l);
6245
6245
  try {
6246
- d.style.visibility = "hidden", await us(i);
6247
- let n = await os(await c({
6246
+ d.style.visibility = "hidden", await Cr(i);
6247
+ let n = await yr(await c({
6248
6248
  ownerDocument: r,
6249
6249
  ownerWindow: i
6250
6250
  }), e, {
@@ -6252,10 +6252,10 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
6252
6252
  height: i.innerHeight
6253
6253
  }, r);
6254
6254
  if (b !== o) throw Error("Screenshot capture was cancelled.");
6255
- let a = !1, l = !1, u = s.copy ? ss(Promise.resolve(n), i).then(() => {
6255
+ let a = !1, l = !1, u = s.copy ? br(Promise.resolve(n), i).then(() => {
6256
6256
  a = !0;
6257
6257
  }) : Promise.resolve(), f = s.download ? Promise.resolve().then(() => {
6258
- ls(n, cs(), r, i), l = !0;
6258
+ Sr(n, xr(), r, i), l = !0;
6259
6259
  }) : Promise.resolve(), p = await Promise.allSettled([u, f]), m = s.copy && p[0]?.status === "rejected", h = s.download && p[1]?.status === "rejected";
6260
6260
  if (b !== o) throw Error("Screenshot capture was cancelled.");
6261
6261
  return M.show(n, {
@@ -6278,16 +6278,16 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
6278
6278
  } finally {
6279
6279
  d.style.visibility = "", u(), a.finishCapture(), x = !1;
6280
6280
  }
6281
- }, F = async () => {
6281
+ }, I = async () => {
6282
6282
  if (T().toolEnabled) {
6283
6283
  if (w()) {
6284
- P();
6284
+ F();
6285
6285
  return;
6286
6286
  }
6287
6287
  if (!S) {
6288
6288
  S = !0, M.dismiss();
6289
6289
  try {
6290
- if (s || await Ds(r, i), C) return;
6290
+ if (s || await Br(r, i), C) return;
6291
6291
  O(), A(null), d.style.visibility = "visible", u.style.pointerEvents = "auto", d.style.display = "block", D(!0);
6292
6292
  } catch (e) {
6293
6293
  throw e instanceof Error && e.name === "AbortError" || N(), e;
@@ -6296,27 +6296,27 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
6296
6296
  }
6297
6297
  }
6298
6298
  }
6299
- }, I = (e) => {
6299
+ }, L = (e) => {
6300
6300
  !w() || e.button !== 0 || (e.preventDefault(), e.stopPropagation(), _ = {
6301
6301
  x: e.clientX,
6302
6302
  y: e.clientY
6303
- }, A(as(_, _, {
6303
+ }, A(vr(_, _, {
6304
6304
  width: i.innerWidth,
6305
6305
  height: i.innerHeight
6306
6306
  })), d.setPointerCapture?.(e.pointerId));
6307
- }, L = (e) => {
6308
- !w() || !_ || A(as(_, {
6307
+ }, R = (e) => {
6308
+ !w() || !_ || A(vr(_, {
6309
6309
  x: e.clientX,
6310
6310
  y: e.clientY
6311
6311
  }, {
6312
6312
  width: i.innerWidth,
6313
6313
  height: i.innerHeight
6314
6314
  }));
6315
- }, R = (e) => {
6315
+ }, z = (e) => {
6316
6316
  let t = _;
6317
6317
  if (_ = null, !w() || !t) return;
6318
6318
  d.hasPointerCapture?.(e.pointerId) && d.releasePointerCapture(e.pointerId);
6319
- let n = as(t, {
6319
+ let n = vr(t, {
6320
6320
  x: e.clientX,
6321
6321
  y: e.clientY
6322
6322
  }, {
@@ -6327,22 +6327,22 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
6327
6327
  A(null);
6328
6328
  return;
6329
6329
  }
6330
- ne(n).catch(() => void 0).finally(() => {
6331
- w() && te();
6330
+ te(n).catch(() => void 0).finally(() => {
6331
+ w() && P();
6332
6332
  });
6333
- }, z = (e) => {
6334
- _ = null, d.hasPointerCapture?.(e.pointerId) && d.releasePointerCapture(e.pointerId), A(null);
6335
6333
  }, B = (e) => {
6336
- e.key !== "Escape" || !w() || (e.preventDefault(), e.stopImmediatePropagation(), P());
6334
+ _ = null, d.hasPointerCapture?.(e.pointerId) && d.releasePointerCapture(e.pointerId), A(null);
6335
+ }, V = (e) => {
6336
+ e.key !== "Escape" || !w() || (e.preventDefault(), e.stopImmediatePropagation(), F());
6337
6337
  };
6338
- d.addEventListener("pointerdown", I), d.addEventListener("pointermove", L), d.addEventListener("pointerup", R), d.addEventListener("pointercancel", z), i.addEventListener("keydown", B, !0);
6339
- let V = {
6338
+ d.addEventListener("pointerdown", L), d.addEventListener("pointermove", R), d.addEventListener("pointerup", z), d.addEventListener("pointercancel", B), i.addEventListener("keydown", V, !0);
6339
+ let ne = {
6340
6340
  active: w,
6341
6341
  settings: T,
6342
6342
  setSettings: E,
6343
- start: F,
6344
- cancel: P,
6345
- capture: ne
6343
+ start: I,
6344
+ cancel: F,
6345
+ capture: te
6346
6346
  };
6347
6347
  t.tool.register({
6348
6348
  id: "screenshot",
@@ -6388,7 +6388,7 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
6388
6388
  description: "Show the camera tool in the toolbar.",
6389
6389
  value: () => T().toolEnabled,
6390
6390
  set: (e) => {
6391
- E({ toolEnabled: e }), !e && w() && P();
6391
+ E({ toolEnabled: e }), !e && w() && F();
6392
6392
  }
6393
6393
  },
6394
6394
  {
@@ -6416,12 +6416,12 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
6416
6416
  set: (e) => E({ includeMeasurements: e })
6417
6417
  }
6418
6418
  ]
6419
- }), t.command.register(qs, F), t.service.provide(Us, V), t.lifecycle.onDispose(() => {
6420
- C = !0, b += 1, d.removeEventListener("pointerdown", I), d.removeEventListener("pointermove", L), d.removeEventListener("pointerup", R), d.removeEventListener("pointercancel", z), i.removeEventListener("keydown", B, !0), y && i.clearTimeout(y), M.dispose(), k(), ks(i), a.finishCapture(), a.dispose(), o.dispose();
6419
+ }), t.command.register(qs, I), t.service.provide(Us, ne), t.lifecycle.onDispose(() => {
6420
+ C = !0, b += 1, d.removeEventListener("pointerdown", L), d.removeEventListener("pointermove", R), d.removeEventListener("pointerup", z), d.removeEventListener("pointercancel", B), i.removeEventListener("keydown", V, !0), y && i.clearTimeout(y), M.dispose(), k(), Hr(i), a.finishCapture(), a.dispose(), o.dispose();
6421
6421
  });
6422
6422
  }
6423
- }), lc = "0.1.9", uc = Vi, dc = Ri, fc = zi, pc = Hi, mc = Bi, hc = () => ({
6424
- ...wa(),
6423
+ }), lc = "0.2.0-beta.1", uc = ya, dc = ga, fc = _a, pc = ba, mc = va, hc = () => ({
6424
+ ...no(),
6425
6425
  version: lc
6426
6426
  }), gc = (e, t) => e.left <= t.left + t.width && e.left + e.width >= t.left && e.top <= t.top + t.height && e.top + e.height >= t.top, _c = (e) => {
6427
6427
  if (!e.length) return null;
@@ -6794,8 +6794,8 @@ var Lc = (e, t, n, r, i) => {
6794
6794
  evidence: t,
6795
6795
  id: n,
6796
6796
  label: r
6797
- });
6798
- function zc(e) {
6797
+ }), zc = (e, t) => Math.abs(e.left - t.left) < .01 && Math.abs(e.top - t.top) < .01 && Math.abs(e.width - t.width) < .01 && Math.abs(e.height - t.height) < .01;
6798
+ function Bc(e) {
6799
6799
  let t = e.runtime.annotation(e.annotationId);
6800
6800
  if (!t) throw Error(`Mesurer annotation not found: ${e.annotationId}`);
6801
6801
  let n = Nc({
@@ -6829,12 +6829,13 @@ function zc(e) {
6829
6829
  Lc(a, "guide", `${e.orientation} guide ${e.id}`, e.position, t.position);
6830
6830
  }
6831
6831
  for (let e of t.baseline.measurements) {
6832
- let t = n.visualContext.measurements.find((t) => t.id === e.id) ?? i.find((t) => t.id === e.id);
6833
- if (!t) {
6834
- Rc(a, "measurement", e.id, e.id);
6832
+ let r = n.visualContext.measurements.find((t) => t.id === e.id) ?? i.find((t) => t.id === e.id);
6833
+ if (!r) {
6834
+ let r = t.baseline.targets.find((t) => zc(t.rect, e.rect));
6835
+ r && n.targets.some((e) => e.ref === r.id) || Rc(a, "measurement", e.id, e.id);
6835
6836
  continue;
6836
6837
  }
6837
- Lc(a, "measurement", `${e.id} width`, e.rect.width, t.rect.width), Lc(a, "measurement", `${e.id} height`, e.rect.height, t.rect.height);
6838
+ Lc(a, "measurement", `${e.id} width`, e.rect.width, r.rect.width), Lc(a, "measurement", `${e.id} height`, e.rect.height, r.rect.height);
6838
6839
  }
6839
6840
  for (let e of t.baseline.distances) {
6840
6841
  let t = n.visualContext.distances.find((t) => t.id === e.id) ?? r.heldDistances.find((t) => t.id === e.id);
@@ -6854,7 +6855,7 @@ function zc(e) {
6854
6855
  changes: a
6855
6856
  };
6856
6857
  }
6857
- async function Bc(e, t, n) {
6858
+ async function Vc(e, t, n) {
6858
6859
  try {
6859
6860
  if (t.navigator.clipboard?.writeText) {
6860
6861
  await t.navigator.clipboard.writeText(n);
@@ -6868,22 +6869,22 @@ async function Bc(e, t, n) {
6868
6869
  }
6869
6870
  //#endregion
6870
6871
  //#region src/layout-guides.ts
6871
- var Vc = To, Hc = Eo, Uc = Do, Wc = Oo, Gc = () => ({
6872
- ...Qo(),
6872
+ var Hc = rs, Uc = is, Wc = as, Gc = os, Kc = () => ({
6873
+ ...As(),
6873
6874
  version: lc
6874
- }), Kc = "mesurer.context", qc = "context:v1", Jc = "mesurer.context.settings", Yc = "context.ui", Xc = "data-mesurer-direct-text-edit-active", Zc = {
6875
+ }), qc = "mesurer.context", Jc = "context:v1", Yc = "mesurer.context.settings", Xc = "context.ui", Zc = "data-mesurer-direct-text-edit-active", Qc = {
6875
6876
  viewBox: "0 0 256 256",
6876
6877
  paths: ["M216,32H88a8,8,0,0,0-8,8V80H40a8,8,0,0,0-8,8V216a8,8,0,0,0,8,8H168a8,8,0,0,0,8-8V176h40a8,8,0,0,0,8-8V40A8,8,0,0,0,216,32ZM160,208H48V96H160Zm48-48H176V88a8,8,0,0,0-8-8H96V48H208Z"]
6877
- }, Qc = {
6878
+ }, $c = {
6878
6879
  viewBox: "0 0 256 256",
6879
6880
  paths: ["M152,40a8,8,0,0,1-8,8H112a8,8,0,0,1,0-16h32A8,8,0,0,1,152,40Zm-8,168H112a8,8,0,0,0,0,16h32a8,8,0,0,0,0-16ZM208,32H184a8,8,0,0,0,0,16h24V72a8,8,0,0,0,16,0V48A16,16,0,0,0,208,32Zm8,72a8,8,0,0,0-8,8v32a8,8,0,0,0,16,0V112A8,8,0,0,0,216,104Zm0,72a8,8,0,0,0-8,8v24H184a8,8,0,0,0,0,16h24a16,16,0,0,0,16-16V184A8,8,0,0,0,216,176ZM40,152a8,8,0,0,0,8-8V112a8,8,0,0,0-16,0v32A8,8,0,0,0,40,152Zm32,56H48V184a8,8,0,0,0-16,0v24a16,16,0,0,0,16,16H72a8,8,0,0,0,0-16ZM72,32H48A16,16,0,0,0,32,48V72a8,8,0,0,0,16,0V48H72a8,8,0,0,0,0-16Z"]
6880
- }, $c = {
6881
+ }, el = {
6881
6882
  viewBox: "0 0 256 256",
6882
6883
  paths: ["M229.66,58.34l-32-32a8,8,0,0,0-11.32,0l-96,96A8,8,0,0,0,88,128v32a8,8,0,0,0,8,8h32a8,8,0,0,0,5.66-2.34l96-96A8,8,0,0,0,229.66,58.34ZM124.69,152H104V131.31l64-64L188.69,88ZM200,76.69,179.31,56,192,43.31,212.69,64ZM224,128v80a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V48A16,16,0,0,1,48,32h80a8,8,0,0,1,0,16H48V208H208V128a8,8,0,0,1,16,0Z"]
6883
- }, el = async (e, t, n = 1) => {
6884
+ }, tl = async (e, t, n = 1) => {
6884
6885
  await e.fonts?.ready;
6885
6886
  for (let e = 0; e < Math.max(1, n); e += 1) await new Promise((e) => t.requestAnimationFrame(() => e()));
6886
- }, tl = (e, t, n, r) => {
6887
+ }, nl = (e, t, n, r) => {
6887
6888
  let i = async (i) => Nc({
6888
6889
  runtime: e,
6889
6890
  ownerDocument: t,
@@ -6894,17 +6895,17 @@ var Vc = To, Hc = Eo, Uc = Do, Wc = Oo, Gc = () => ({
6894
6895
  return {
6895
6896
  context: i,
6896
6897
  contextText: a,
6897
- copyContext: async (e) => Bc(t, n, await a(e)),
6898
+ copyContext: async (e) => Vc(t, n, await a(e)),
6898
6899
  select: async (r) => {
6899
6900
  let a = Array.isArray(r) ? [...r] : [String(r)];
6900
- return e.select(a), await el(t, n), i({ scope: "selection" });
6901
+ return e.select(a), await tl(t, n), i({ scope: "selection" });
6901
6902
  },
6902
6903
  annotations: async () => e.annotations(),
6903
6904
  removeAnnotation: async (r) => {
6904
- e.removeAnnotation(r), await el(t, n);
6905
+ e.removeAnnotation(r), await tl(t, n);
6905
6906
  },
6906
6907
  review: async (i) => {
6907
- if (await el(t, n), i) return zc({
6908
+ if (await tl(t, n), i) return Bc({
6908
6909
  runtime: e,
6909
6910
  ownerDocument: t,
6910
6911
  ownerWindow: n,
@@ -6912,7 +6913,7 @@ var Vc = To, Hc = Eo, Uc = Do, Wc = Oo, Gc = () => ({
6912
6913
  layoutGuides: r()
6913
6914
  });
6914
6915
  let a = r();
6915
- return e.annotations().map((r) => zc({
6916
+ return e.annotations().map((r) => Bc({
6916
6917
  runtime: e,
6917
6918
  ownerDocument: t,
6918
6919
  ownerWindow: n,
@@ -6922,36 +6923,36 @@ var Vc = To, Hc = Eo, Uc = Do, Wc = Oo, Gc = () => ({
6922
6923
  },
6923
6924
  capturePlan: async (e) => Ic(await i(e)),
6924
6925
  prepareCapture: async () => {
6925
- e.prepareCapture(), await el(t, n);
6926
+ e.prepareCapture(), await tl(t, n);
6926
6927
  },
6927
6928
  finishCapture: async () => {
6928
- e.finishCapture(), await el(t, n);
6929
+ e.finishCapture(), await tl(t, n);
6929
6930
  }
6930
6931
  };
6931
- }, nl = (e) => {
6932
+ }, rl = (e) => {
6932
6933
  let t = e.currentSelection();
6933
6934
  return t.elements.length > 0 || t.region !== null;
6934
6935
  };
6935
- function rl(e = {}) {
6936
+ function il(e = {}) {
6936
6937
  return {
6937
- id: Kc,
6938
+ id: qc,
6938
6939
  version: lc,
6939
6940
  requires: ["runtime:solid"],
6940
- provides: [qc],
6941
+ provides: [Jc],
6941
6942
  setup(t) {
6942
6943
  let n = t.service.get("runtime:solid");
6943
6944
  if (!n) throw Error("Mesurer context plugin requires the renderer runtime service.");
6944
- let r = n.createWorkspaceRuntime(Kc), i = tl(r, n.ownerDocument, n.ownerWindow, () => t.service.get(Hc)?.list() ?? []);
6945
- t.service.provide(qc, i), t.state.register({
6946
- id: Jc,
6945
+ let r = n.createWorkspaceRuntime(qc), i = nl(r, n.ownerDocument, n.ownerWindow, () => t.service.get(Uc)?.list() ?? []);
6946
+ t.service.provide(Jc, i), t.state.register({
6947
+ id: Yc,
6947
6948
  initial: { ui: e.ui ?? !0 },
6948
6949
  persist: !0
6949
6950
  }), t.state.register({
6950
- id: Yc,
6951
- initial: { hasSelection: nl(r) }
6951
+ id: Xc,
6952
+ initial: { hasSelection: rl(r) }
6952
6953
  });
6953
- let a = () => t.state.get("mesurer.context.settings")?.ui ?? !0, o = () => t.state.get(Yc)?.hasSelection === !0, s = (e) => {
6954
- t.state.update(Jc, (t) => ({
6954
+ let a = () => t.state.get("mesurer.context.settings")?.ui ?? !0, o = () => t.state.get(Xc)?.hasSelection === !0, s = (e) => {
6955
+ t.state.update(Yc, (t) => ({
6955
6956
  ...t,
6956
6957
  ui: e
6957
6958
  }));
@@ -6965,21 +6966,21 @@ function rl(e = {}) {
6965
6966
  region: e.region ? { ...e.region } : null
6966
6967
  }, r.selectGestureActive() ? c?.abandonNoteComposer() : n && c?.closeNoteComposer();
6967
6968
  let i = e.elements.length > 0 || e.region !== null;
6968
- i !== (t.state.get(Yc)?.hasSelection ?? !1) && t.state.update(Yc, () => ({ hasSelection: i }));
6969
+ i !== (t.state.get(Xc)?.hasSelection ?? !1) && t.state.update(Xc, () => ({ hasSelection: i }));
6969
6970
  });
6970
6971
  t.command.register("context.copy", () => i.copyContext()), t.command.register("context.copy-selection", () => i.copyContext({ scope: "selection" }));
6971
6972
  let g = () => {
6972
6973
  let e = u?.element;
6973
- e && (n.rendererRoot?.hasAttribute(Xc) ? e.setAttribute(Xc, "true") : e.removeAttribute(Xc));
6974
+ e && (n.rendererRoot?.hasAttribute(Zc) ? e.setAttribute(Zc, "true") : e.removeAttribute(Zc));
6974
6975
  }, _ = () => {
6975
6976
  d?.disconnect(), d = null, c = null, l?.(), l = null, u?.dispose(), u = null;
6976
6977
  }, v = () => {
6977
6978
  if (u) return;
6978
- if (u = eo(n), u.element.dataset.mesurerLayer = "evidence", u.element.dataset.mesurerContextRoot = "true", n.rendererRoot) {
6979
+ if (u = No(n), u.element.dataset.mesurerLayer = "evidence", u.element.dataset.mesurerContextRoot = "true", n.rendererRoot) {
6979
6980
  let e = new n.ownerWindow.MutationObserver(g);
6980
6981
  d = e, e.observe(n.rendererRoot, {
6981
6982
  attributes: !0,
6982
- attributeFilter: [Xc]
6983
+ attributeFilter: [Zc]
6983
6984
  }), g();
6984
6985
  }
6985
6986
  let e = {
@@ -6990,7 +6991,7 @@ function rl(e = {}) {
6990
6991
  },
6991
6992
  coordinateSpace: "document"
6992
6993
  };
6993
- l = Dn(() => qt(Xa, En(e, { get ownerWindow() {
6994
+ l = Dn(() => qt(ko, En(e, { get ownerWindow() {
6994
6995
  return n.ownerWindow;
6995
6996
  } })), u.element);
6996
6997
  }, y = () => {
@@ -7002,7 +7003,7 @@ function rl(e = {}) {
7002
7003
  shortcut: "C",
7003
7004
  command: "context.copy",
7004
7005
  order: 70,
7005
- icon: Zc,
7006
+ icon: Qc,
7006
7007
  hidden: () => !a()
7007
7008
  }), t.tool.register({
7008
7009
  id: "context.copy-selection",
@@ -7010,7 +7011,7 @@ function rl(e = {}) {
7010
7011
  shortcut: "Shift+C",
7011
7012
  command: "context.copy-selection",
7012
7013
  order: 71,
7013
- icon: Qc,
7014
+ icon: $c,
7014
7015
  hidden: () => !a(),
7015
7016
  disabled: () => !o()
7016
7017
  }), t.tool.register({
@@ -7019,7 +7020,7 @@ function rl(e = {}) {
7019
7020
  shortcut: "N",
7020
7021
  command: "context.add-note",
7021
7022
  order: 72,
7022
- icon: $c,
7023
+ icon: el,
7023
7024
  hidden: () => !a(),
7024
7025
  disabled: () => !o()
7025
7026
  }), t.settings.register({
@@ -7042,28 +7043,28 @@ function rl(e = {}) {
7042
7043
  }
7043
7044
  //#endregion
7044
7045
  //#region src/codex-plugin.ts
7045
- var il = "mesurer.codex", al = "codex:v1", ol = "http://127.0.0.1:47365", sl = 2e3, cl = 750, ll = 1800, ul = 2e3, dl = 12e4, fl = 10, pl = 5, ml = [
7046
+ var al = "mesurer.codex", ol = "codex:v1", sl = "http://127.0.0.1:47365", cl = 2e3, ll = 750, ul = 1800, dl = 2e3, fl = 12e4, pl = 10, ml = 5, hl = [
7046
7047
  "Implement the current human feedback from Mesurer in this project.",
7047
7048
  "Treat the rendered page as the source of truth, preserve unrelated Mesurer review state,",
7048
7049
  "and verify the affected UI in the live page with Mesurer before claiming completion."
7049
- ].join(" "), hl = {
7050
+ ].join(" "), gl = {
7050
7051
  viewBox: "0 0 256 256",
7051
7052
  paths: ["M224,48,32,120l88,32,32,88Z M120,152l104-104"]
7052
- }, gl = {
7053
+ }, _l = {
7053
7054
  viewBox: "0 0 256 256",
7054
7055
  paths: ["M72,32H184a8,8,0,0,1,0,16h-8v20.69a40,40,0,0,1-11.72,28.28L137.25,124l27.03,27.03A40,40,0,0,1,176,179.31V208h8a8,8,0,0,1,0,16H72a8,8,0,0,1,0-16h8V179.31a40,40,0,0,1,11.72-28.28L118.75,124,91.72,96.97A40,40,0,0,1,80,68.69V48H72a8,8,0,0,1,0-16Zm24,16V68.69a24,24,0,0,0,7.03,16.97L128,110.63l24.97-24.97A24,24,0,0,0,160,68.69V48Zm32,90.63-24.97,24.97A24,24,0,0,0,96,180.57V208h64V180.57a24,24,0,0,0-7.03-16.97Z"]
7055
- }, _l = {
7056
+ }, vl = {
7056
7057
  viewBox: "0 0 256 256",
7057
7058
  paths: ["M229.66,77.66l-128,128a8,8,0,0,1-11.32,0l-56-56a8,8,0,0,1,11.32-11.32L96,188.69,218.34,66.34a8,8,0,0,1,11.32,11.32Z"]
7058
- }, vl = (e) => {
7059
+ }, yl = (e) => {
7059
7060
  try {
7060
7061
  let t = globalThis.location;
7061
7062
  return t?.origin ? `mesurer-codex-ui:v1:${e}:${t.origin}${t.pathname}` : null;
7062
7063
  } catch {
7063
7064
  return null;
7064
7065
  }
7065
- }, yl = (e) => {
7066
- let t = vl(e);
7066
+ }, bl = (e) => {
7067
+ let t = yl(e);
7067
7068
  if (!t) return null;
7068
7069
  try {
7069
7070
  let e = globalThis.sessionStorage?.getItem(t);
@@ -7088,18 +7089,18 @@ var il = "mesurer.codex", al = "codex:v1", ol = "http://127.0.0.1:47365", sl = 2
7088
7089
  } catch {
7089
7090
  return null;
7090
7091
  }
7091
- }, bl = (e, t) => {
7092
- let n = vl(e);
7092
+ }, xl = (e, t) => {
7093
+ let n = yl(e);
7093
7094
  if (n) try {
7094
7095
  globalThis.sessionStorage?.setItem(n, JSON.stringify(t));
7095
7096
  } catch {}
7096
- }, xl = (e, t) => {
7097
+ }, Sl = (e, t) => {
7097
7098
  let n = e.endsWith("/") ? e : `${e}/`;
7098
7099
  return new URL(t, n).toString();
7099
- }, Sl = async (e, t, n) => {
7100
+ }, Cl = async (e, t, n) => {
7100
7101
  let r = new AbortController(), i = setTimeout(() => r.abort(), 15e3);
7101
7102
  try {
7102
- let i = await fetch(xl(e, t), {
7103
+ let i = await fetch(Sl(e, t), {
7103
7104
  ...n,
7104
7105
  signal: r.signal
7105
7106
  }), a = await i.text(), o = {};
@@ -7115,10 +7116,10 @@ var il = "mesurer.codex", al = "codex:v1", ol = "http://127.0.0.1:47365", sl = 2
7115
7116
  } finally {
7116
7117
  clearTimeout(i);
7117
7118
  }
7118
- }, Cl = (e) => ({
7119
+ }, wl = (e) => ({
7119
7120
  thread: e.thread?.trim() || null,
7120
7121
  threads: Array.isArray(e.threads) ? e.threads.filter((e) => e.trim().length > 0) : []
7121
- }), wl = (e) => {
7122
+ }), Tl = (e) => {
7122
7123
  let t = e.deliveryId?.trim(), n = e.thread?.trim(), r = e.status;
7123
7124
  if (!t || !n || !r) throw Error("Mesurer Codex bridge returned an invalid delivery state.");
7124
7125
  let i = {
@@ -7130,7 +7131,7 @@ var il = "mesurer.codex", al = "codex:v1", ol = "http://127.0.0.1:47365", sl = 2
7130
7131
  updatedAt: Number.isFinite(e.updatedAt) ? Number(e.updatedAt) : 0
7131
7132
  };
7132
7133
  return e.queuedSubmissionId !== void 0 && (i.queuedSubmissionId = e.queuedSubmissionId?.trim() || null), e.dispatch !== void 0 && (i.dispatch = e.dispatch), e.dispatchError !== void 0 && (i.dispatchError = e.dispatchError?.trim() || null), i;
7133
- }, Tl = (e) => ({
7134
+ }, El = (e) => ({
7134
7135
  thread: e.thread?.trim() || null,
7135
7136
  threads: Array.isArray(e.threadDetails) ? e.threadDetails.flatMap((e) => {
7136
7137
  let t = e.id?.trim() ?? "";
@@ -7142,7 +7143,7 @@ var il = "mesurer.codex", al = "codex:v1", ol = "http://127.0.0.1:47365", sl = 2
7142
7143
  }] : [];
7143
7144
  }) : [],
7144
7145
  hasMore: e.hasMore === !0
7145
- }), El = async (e, t, n) => {
7146
+ }), Dl = async (e, t, n) => {
7146
7147
  let r = t?.instruction?.trim() || n, i = await e.annotations(), a = t?.annotationIds, o = a ? a.flatMap((e) => {
7147
7148
  let t = i.find((t) => t.id === e);
7148
7149
  return t ? [t] : [];
@@ -7165,18 +7166,18 @@ var il = "mesurer.codex", al = "codex:v1", ol = "http://127.0.0.1:47365", sl = 2
7165
7166
  ])
7166
7167
  ].join("\n").trimEnd()
7167
7168
  };
7168
- }, Dl = (e) => e.length > 16 ? `${e.slice(0, 8)}…${e.slice(-4)}` : e, Ol = (e, t = 42) => e.length > t ? `${e.slice(0, t - 1)}…` : e, kl = (e, t) => e instanceof Error && e.message === `Mesurer Codex bridge is unavailable at ${t}. Start the local bridge before queueing feedback.`;
7169
- function Al(e = {}) {
7170
- let t = e.endpoint ?? ol, n = e.instruction?.trim() || ml, r = e.ui ?? !0, i = e.clearCompletedAnnotations ?? !0;
7169
+ }, Ol = (e) => e.length > 16 ? `${e.slice(0, 8)}…${e.slice(-4)}` : e, kl = (e, t = 42) => e.length > t ? `${e.slice(0, t - 1)}…` : e, Al = (e, t) => e instanceof Error && e.message === `Mesurer Codex bridge is unavailable at ${t}. Start the local bridge before queueing feedback.`;
7170
+ function jl(e = {}) {
7171
+ let t = e.endpoint ?? sl, n = e.instruction?.trim() || hl, r = e.ui ?? !0, i = e.clearCompletedAnnotations ?? !0;
7171
7172
  return {
7172
- id: il,
7173
+ id: al,
7173
7174
  version: lc,
7174
- requires: [qc],
7175
- provides: [al],
7175
+ requires: [Jc],
7176
+ provides: [ol],
7176
7177
  setup(e) {
7177
- let a = e.service.get(qc);
7178
+ let a = e.service.get(Jc);
7178
7179
  if (!a) throw Error("Mesurer Codex plugin requires context() from mesurer-solid/plugins.");
7179
- let o = r ? yl(t) : null, s = "unknown", c = !1, l = o?.originThread ?? null, u = o?.selectedThread ?? o?.originThread ?? null, d = !1, f = null, p = [], m = [], h = !1, g = pl, _, v = "", y = null, b = o?.delivery ? {
7180
+ let o = r ? bl(t) : null, s = "unknown", c = !1, l = o?.originThread ?? null, u = o?.selectedThread ?? o?.originThread ?? null, d = !1, f = null, p = [], m = [], h = !1, g = ml, _, v = "", y = null, b = o?.delivery ? {
7180
7181
  id: o.delivery.id,
7181
7182
  thread: o.delivery.thread,
7182
7183
  status: o.delivery.status,
@@ -7184,22 +7185,22 @@ function Al(e = {}) {
7184
7185
  queuedSubmissionId: o.delivery.queuedSubmissionId ?? null,
7185
7186
  dispatch: o.delivery.dispatch ?? null,
7186
7187
  dispatchError: o.delivery.dispatchError ?? null
7187
- } : null, x = 0, S = 0, C = null, w = !1, T = async () => Cl(await Sl(t, "health")), E = async (e) => wl(await Sl(t, `deliveries/${encodeURIComponent(e)}`)), D = async (e) => {
7188
+ } : null, x = 0, S = 0, C = null, w = !1, T = async () => wl(await Cl(t, "health")), E = async (e) => Tl(await Cl(t, `deliveries/${encodeURIComponent(e)}`)), D = async (e) => {
7188
7189
  if (!e.id || !e.thread) throw Error("Cannot restore a Codex delivery without its id and thread.");
7189
7190
  let n = {
7190
7191
  deliveryId: e.id,
7191
7192
  thread: e.thread
7192
7193
  };
7193
- return e.queuedSubmissionId && (n.queuedSubmissionId = e.queuedSubmissionId), wl(await Sl(t, "deliveries/restore", {
7194
+ return e.queuedSubmissionId && (n.queuedSubmissionId = e.queuedSubmissionId), Tl(await Cl(t, "deliveries/restore", {
7194
7195
  method: "POST",
7195
7196
  headers: { "Content-Type": "application/json" },
7196
7197
  body: JSON.stringify(n)
7197
7198
  }));
7198
7199
  }, O = async (e = {}) => {
7199
7200
  let n = new URLSearchParams();
7200
- n.set("limit", String(e.limit ?? fl));
7201
+ n.set("limit", String(e.limit ?? pl));
7201
7202
  let r = e.thread?.trim();
7202
- return r && n.set("thread", r), Tl(await Sl(t, `threads?${n.toString()}`));
7203
+ return r && n.set("thread", r), El(await Cl(t, `threads?${n.toString()}`));
7203
7204
  }, k = () => u ?? l ?? (d ? null : f), A = () => {
7204
7205
  if (!r) return;
7205
7206
  let e = b?.id && (b.status === "queued" || b.status === "working" || b.status === "interrupted") ? {
@@ -7211,7 +7212,7 @@ function Al(e = {}) {
7211
7212
  dispatch: b.dispatch,
7212
7213
  dispatchError: b.dispatchError
7213
7214
  } : null;
7214
- bl(t, {
7215
+ xl(t, {
7215
7216
  version: 1,
7216
7217
  originThread: l,
7217
7218
  selectedThread: u,
@@ -7225,16 +7226,16 @@ function Al(e = {}) {
7225
7226
  "queued",
7226
7227
  "working",
7227
7228
  "completed"
7228
- ].includes(b.status), ee = () => b?.status === "queued" && (b.dispatch === "desktop-send-uncertain" || b.dispatch === "desktop-wait-failed"), N = (e) => e === "queueing" ? "Queueing…" : e === "queued" ? "Queued" : e === "working" ? "Working…" : e === "completed" ? "Done" : e === "interrupted" ? "Interrupted" : "Failed", te = () => b ? b.status === "queueing" ? "Queueing to Codex…" : ee() ? "Codex delivery blocked" : b.status === "queued" ? "Queued for Codex" : b.status === "working" ? "Codex working…" : b.status === "completed" ? "Codex finished" : b.status === "interrupted" ? "Codex interrupted" : "Queue failed" : null, P = () => b ? [
7229
+ ].includes(b.status), ee = () => b?.status === "queued" && (b.dispatch === "desktop-send-uncertain" || b.dispatch === "desktop-wait-failed"), N = (e) => e === "queueing" ? "Queueing…" : e === "queued" ? "Queued" : e === "working" ? "Working…" : e === "completed" ? "Done" : e === "interrupted" ? "Interrupted" : "Failed", P = () => b ? b.status === "queueing" ? "Queueing to Codex…" : ee() ? "Codex delivery blocked" : b.status === "queued" ? "Queued for Codex" : b.status === "working" ? "Codex working…" : b.status === "completed" ? "Codex finished" : b.status === "interrupted" ? "Codex interrupted" : "Queue failed" : null, F = () => b ? [
7229
7230
  "queueing",
7230
7231
  "queued",
7231
7232
  "working"
7232
- ].includes(b.status) ? gl : b.status === "completed" ? _l : hl : hl, ne = () => {
7233
+ ].includes(b.status) ? _l : b.status === "completed" ? vl : gl : gl, te = () => {
7233
7234
  let e = [], t = /* @__PURE__ */ new Set(), n = (n) => {
7234
7235
  t.has(n.id) || (t.add(n.id), e.push(n));
7235
7236
  }, r = (e) => ({
7236
7237
  id: e,
7237
- title: `Codex ${Dl(e)}`,
7238
+ title: `Codex ${Ol(e)}`,
7238
7239
  updatedAt: null,
7239
7240
  connected: !0
7240
7241
  });
@@ -7244,34 +7245,34 @@ function Al(e = {}) {
7244
7245
  for (let e of m) n(e);
7245
7246
  for (let e of p) n(m.find((t) => t.id === e) ?? r(e));
7246
7247
  return e;
7247
- }, F = (e = !1) => Promise.resolve(), I = () => {
7248
+ }, I = (e = !1) => Promise.resolve(), L = () => {
7248
7249
  if (s !== "available") return [{
7249
7250
  id: "codex.thread.connect",
7250
7251
  label: s === "unavailable" ? "Retry Codex connection" : "Choose Codex thread…",
7251
- run: () => F(!0)
7252
+ run: () => I(!0)
7252
7253
  }];
7253
- let e = ne(), t = e.slice(0, g), n = k(), r = t.map((e) => {
7254
+ let e = te(), t = e.slice(0, g), n = k(), r = t.map((e) => {
7254
7255
  let t = e.id === l ? "Current · " : e.connected ? "Connected · " : "", r = b?.thread === e.id ? ` · ${ee() ? "Blocked" : N(b.status)}` : "";
7255
7256
  return {
7256
7257
  id: `codex.thread.${e.id}`,
7257
- label: `${t}${Ol(e.title)}${r}`,
7258
+ label: `${t}${kl(e.title)}${r}`,
7258
7259
  checked: () => n === e.id,
7259
7260
  disabled: () => M(),
7260
7261
  run() {
7261
- M() || (j(e.id, !l), L());
7262
+ M() || (j(e.id, !l), R());
7262
7263
  }
7263
7264
  };
7264
7265
  });
7265
- return g < fl && (e.length > g || h) && r.push({
7266
+ return g < pl && (e.length > g || h) && r.push({
7266
7267
  id: "codex.thread.show-more",
7267
7268
  label: "Show 5 more…",
7268
7269
  run() {
7269
- g = fl, L();
7270
+ g = pl, R();
7270
7271
  }
7271
7272
  }), r;
7272
- }, L = () => {
7273
+ }, R = () => {
7273
7274
  if (!r || w) return;
7274
- let t = k(), n = I(), i = !M() && !d && s !== "unavailable" && (s === "unknown" || !!t), a = te() ?? (s === "unavailable" ? "Codex unavailable" : d || s === "available" && !t ? "Choose Codex thread" : "Queue to Codex"), o = JSON.stringify({
7275
+ let t = k(), n = L(), i = !M() && !d && s !== "unavailable" && (s === "unknown" || !!t), a = P() ?? (s === "unavailable" ? "Codex unavailable" : d || s === "available" && !t ? "Choose Codex thread" : "Queue to Codex"), o = JSON.stringify({
7275
7276
  bridgeAvailability: s,
7276
7277
  routeNeedsSelection: d,
7277
7278
  target: t,
@@ -7290,50 +7291,50 @@ function Al(e = {}) {
7290
7291
  label: a,
7291
7292
  command: "codex.queue",
7292
7293
  order: 73,
7293
- icon: P(),
7294
+ icon: F(),
7294
7295
  disabled: () => !i,
7295
7296
  menu: n.length ? {
7296
7297
  label: "Codex destination",
7297
7298
  items: n
7298
7299
  } : void 0
7299
7300
  }));
7300
- }, R = async () => {
7301
+ }, z = async () => {
7301
7302
  if (s !== "available") return;
7302
7303
  let e = l && p.includes(l) ? l : f;
7303
7304
  try {
7304
7305
  let t = await O({
7305
- limit: fl,
7306
+ limit: pl,
7306
7307
  thread: e ?? void 0
7307
7308
  });
7308
7309
  m = t.threads, h = t.hasMore;
7309
7310
  } catch {
7310
7311
  m = p.map((e) => ({
7311
7312
  id: e,
7312
- title: `Codex ${Dl(e)}`,
7313
+ title: `Codex ${Ol(e)}`,
7313
7314
  updatedAt: null,
7314
7315
  connected: !0
7315
7316
  })), h = !1;
7316
7317
  }
7317
7318
  };
7318
- F = (e = !1) => w || s === "unknown" && !e ? Promise.resolve() : y || (y = (async () => {
7319
+ I = (e = !1) => w || s === "unknown" && !e ? Promise.resolve() : y || (y = (async () => {
7319
7320
  try {
7320
7321
  let e = await T(), t = e.thread !== f;
7321
7322
  s = "available", c = !0, f = e.thread, p = e.threads;
7322
7323
  let n = u ?? l;
7323
- n ? d = !e.threads.includes(n) : e.threads.length === 1 ? j(e.threads[0], !0) : d = (e.threads.length, !0), (t || m.length === 0 || d) && await R(), d && n && m.some((e) => e.id === n) && (d = !1, A());
7324
+ n ? d = !e.threads.includes(n) : e.threads.length === 1 ? j(e.threads[0], !0) : d = (e.threads.length, !0), (t || m.length === 0 || d) && await z(), d && n && m.some((e) => e.id === n) && (d = !1, A());
7324
7325
  } catch (e) {
7325
7326
  throw s = "unavailable", e;
7326
7327
  } finally {
7327
- y = null, L();
7328
+ y = null, R();
7328
7329
  }
7329
7330
  })(), y);
7330
- let z = () => {
7331
+ let B = () => {
7331
7332
  x &&= (globalThis.clearTimeout(x), 0), S &&= (globalThis.clearTimeout(S), 0);
7332
- }, B = () => {
7333
+ }, V = () => {
7333
7334
  S && globalThis.clearTimeout(S), S = globalThis.setTimeout(() => {
7334
- S = 0, b?.status === "completed" && (b = null, A(), L());
7335
- }, ll);
7336
- }, V = async (e) => {
7335
+ S = 0, b?.status === "completed" && (b = null, A(), R());
7336
+ }, ul);
7337
+ }, ne = async (e) => {
7337
7338
  if (!(!b || b.id !== e.id)) {
7338
7339
  if (b = {
7339
7340
  ...b,
@@ -7344,44 +7345,44 @@ function Al(e = {}) {
7344
7345
  dispatchError: e.dispatchError ?? b.dispatchError
7345
7346
  }, A(), e.status === "completed") {
7346
7347
  if (i) for (let e of b.annotationIds) await a.removeAnnotation(e);
7347
- A(), L(), B();
7348
+ A(), R(), V();
7348
7349
  return;
7349
7350
  }
7350
7351
  if (e.status === "interrupted") {
7351
- A(), L();
7352
+ A(), R();
7352
7353
  let t = e.updatedAt > 0 ? e.updatedAt : Date.now();
7353
- Date.now() - t < dl && (x = globalThis.setTimeout(() => {
7354
+ Date.now() - t < fl && (x = globalThis.setTimeout(() => {
7354
7355
  x = 0, re(e.id);
7355
- }, ul));
7356
+ }, dl));
7356
7357
  return;
7357
7358
  }
7358
- L(), x = globalThis.setTimeout(() => {
7359
+ R(), x = globalThis.setTimeout(() => {
7359
7360
  x = 0, re(e.id);
7360
- }, cl);
7361
+ }, ll);
7361
7362
  }
7362
7363
  }, re = async (e) => {
7363
7364
  if (!(w || b?.id !== e)) try {
7364
- await V(await E(e));
7365
+ await ne(await E(e));
7365
7366
  } catch (n) {
7366
7367
  if (b?.id !== e) return;
7367
7368
  let r = n;
7368
7369
  if (b.status === "queued" && b.thread) try {
7369
- s !== "available" && await F(!0);
7370
+ s !== "available" && await I(!0);
7370
7371
  let e = await D(b);
7371
- await V(e);
7372
+ await ne(e);
7372
7373
  return;
7373
7374
  } catch (e) {
7374
7375
  r = e;
7375
7376
  }
7376
7377
  if (b?.id !== e) return;
7377
7378
  if (b.status === "interrupted") {
7378
- L();
7379
+ R();
7379
7380
  return;
7380
7381
  }
7381
7382
  b = {
7382
7383
  ...b,
7383
7384
  status: "failed"
7384
- }, A(), kl(r, t) && (s = "unavailable"), L();
7385
+ }, A(), Al(r, t) && (s = "unavailable"), R();
7385
7386
  }
7386
7387
  }, H = {
7387
7388
  health: T,
@@ -7390,20 +7391,20 @@ function Al(e = {}) {
7390
7391
  async useThread(e) {
7391
7392
  let n = e.trim();
7392
7393
  if (!n) throw Error("Codex thread must be a non-empty string.");
7393
- let r = Cl(await Sl(t, "target", {
7394
+ let r = wl(await Cl(t, "target", {
7394
7395
  method: "POST",
7395
7396
  headers: { "Content-Type": "application/json" },
7396
7397
  body: JSON.stringify({ thread: n })
7397
7398
  }));
7398
- return j(n, !l), f = r.thread, p = r.threads, s = "available", c = !0, L(), r;
7399
+ return j(n, !l), f = r.thread, p = r.threads, s = "available", c = !0, R(), r;
7399
7400
  },
7400
7401
  async queue(e) {
7401
- let i = await El(a, e, n), o = e?.thread?.trim(), c = o || (r ? k() : null);
7402
+ let i = await Dl(a, e, n), o = e?.thread?.trim(), c = o || (r ? k() : null);
7402
7403
  if (r && !o && (d || !c)) throw Error("Choose a Codex thread before queueing feedback.");
7403
7404
  let l = { message: i.message };
7404
7405
  c && (l.thread = c);
7405
7406
  try {
7406
- let e = await Sl(t, "send", {
7407
+ let e = await Cl(t, "send", {
7407
7408
  method: "POST",
7408
7409
  headers: { "Content-Type": "application/json" },
7409
7410
  body: JSON.stringify(l)
@@ -7419,16 +7420,16 @@ function Al(e = {}) {
7419
7420
  };
7420
7421
  return e.queuedSubmissionId !== void 0 && (r.queuedSubmissionId = e.queuedSubmissionId?.trim() || null), e.dispatch !== void 0 && (r.dispatch = e.dispatch), e.dispatchError !== void 0 && (r.dispatchError = e.dispatchError?.trim() || null), r;
7421
7422
  } catch (e) {
7422
- throw r && kl(e, t) && (s = "unavailable", L()), e;
7423
+ throw r && Al(e, t) && (s = "unavailable", R()), e;
7423
7424
  }
7424
7425
  },
7425
7426
  send(e) {
7426
7427
  return H.queue(e);
7427
7428
  }
7428
7429
  };
7429
- e.service.provide(al, H);
7430
+ e.service.provide(ol, H);
7430
7431
  let ie = async () => {
7431
- if (!(C || M())) return z(), b = {
7432
+ if (!(C || M())) return B(), b = {
7432
7433
  id: null,
7433
7434
  thread: k(),
7434
7435
  status: "queueing",
@@ -7436,9 +7437,9 @@ function Al(e = {}) {
7436
7437
  queuedSubmissionId: null,
7437
7438
  dispatch: null,
7438
7439
  dispatchError: null
7439
- }, L(), C = (async () => {
7440
+ }, R(), C = (async () => {
7440
7441
  try {
7441
- r && s !== "available" && await F(!0);
7442
+ r && s !== "available" && await I(!0);
7442
7443
  let e = await H.queue();
7443
7444
  b = {
7444
7445
  id: e.deliveryId,
@@ -7448,7 +7449,7 @@ function Al(e = {}) {
7448
7449
  queuedSubmissionId: e.queuedSubmissionId ?? null,
7449
7450
  dispatch: e.dispatch ?? null,
7450
7451
  dispatchError: e.dispatchError ?? null
7451
- }, j(e.thread, !l), A(), L(), console.info(`[Mesurer] Queued feedback for Codex thread ${e.thread}.`), e.deliveryId ? e.status === "completed" || e.status === "interrupted" ? await V({
7452
+ }, j(e.thread, !l), A(), R(), console.info(`[Mesurer] Queued feedback for Codex thread ${e.thread}.`), e.deliveryId ? e.status === "completed" || e.status === "interrupted" ? await ne({
7452
7453
  id: e.deliveryId,
7453
7454
  thread: e.thread,
7454
7455
  status: e.status,
@@ -7457,11 +7458,11 @@ function Al(e = {}) {
7457
7458
  updatedAt: 0
7458
7459
  }) : x = globalThis.setTimeout(() => {
7459
7460
  x = 0, re(e.deliveryId);
7460
- }, cl) : S = globalThis.setTimeout(() => {
7461
- S = 0, b?.id === null && b?.status === "queued" && (b = null, A(), L());
7462
- }, ll);
7461
+ }, ll) : S = globalThis.setTimeout(() => {
7462
+ S = 0, b?.id === null && b?.status === "queued" && (b = null, A(), R());
7463
+ }, ul);
7463
7464
  } catch (e) {
7464
- b = null, A(), L();
7465
+ b = null, A(), R();
7465
7466
  let t = e instanceof Error ? e.message : String(e);
7466
7467
  throw console.error(`[Mesurer] Failed to queue feedback for Codex: ${t}`), e;
7467
7468
  } finally {
@@ -7470,14 +7471,14 @@ function Al(e = {}) {
7470
7471
  })(), C;
7471
7472
  };
7472
7473
  if (e.command.register("codex.queue", ie), e.command.register("codex.send", ie), r) {
7473
- L(), b?.id && (c = !0, x = globalThis.setTimeout(() => {
7474
+ R(), b?.id && (c = !0, x = globalThis.setTimeout(() => {
7474
7475
  x = 0, b?.id && re(b.id);
7475
7476
  }, 0));
7476
7477
  let t = globalThis.setInterval(() => {
7477
- c && F().catch(() => void 0);
7478
- }, sl);
7478
+ c && I().catch(() => void 0);
7479
+ }, cl);
7479
7480
  e.lifecycle.onDispose(() => {
7480
- w = !0, z(), globalThis.clearInterval(t), _?.dispose(), _ = void 0;
7481
+ w = !0, B(), globalThis.clearInterval(t), _?.dispose(), _ = void 0;
7481
7482
  });
7482
7483
  }
7483
7484
  }
@@ -7485,12 +7486,12 @@ function Al(e = {}) {
7485
7486
  }
7486
7487
  //#endregion
7487
7488
  //#region src/screenshot.ts
7488
- var jl = Gs, Ml = Hs, Nl = Us, Pl = Ws, Fl = 4, Il = As, Ll = (e, t) => ss(e, t), Rl = (e = /* @__PURE__ */ new Date()) => cs(e), zl = (e, t, n, r) => os(e, t, n, r), Bl = (e, t, n) => as(e, t, n), Vl = (e, t) => Ds(e, t), Hl = (e) => ks(e), Ul = (e = {}) => ({
7489
+ var Ml = Gs, Nl = Hs, Pl = Us, Fl = Ws, Il = 4, Ll = Ur, Rl = (e, t) => br(e, t), zl = (e = /* @__PURE__ */ new Date()) => xr(e), Bl = (e, t, n, r) => yr(e, t, n, r), Vl = (e, t, n) => vr(e, t, n), Hl = (e, t) => Br(e, t), Ul = (e) => Hr(e), Wl = (e = {}) => ({
7489
7490
  ...cc(e),
7490
7491
  version: lc
7491
- }), Wl = (e) => us(e), Gl = (e) => ({
7492
+ }), Gl = (e) => Cr(e), Kl = (e) => ({
7492
7493
  ...e,
7493
7494
  version: lc
7494
- }), Kl = () => Gl(Ea()), ql = () => Gl(Da()), Jl = () => Gl(Oa()), Yl = () => Gl(ka()), Xl = () => Gl(Aa()), Zl = () => Gl(ja()), Ql = () => Gl(Na()), $l = () => Gl(Ma()), eu = () => Pa().map(Gl), tu = (e = [], t = []) => Fa(e, t).map((e) => e.id.startsWith("mesurer.") ? Gl(e) : e);
7495
+ }), ql = () => Kl(io()), Jl = () => Kl(ao()), Yl = () => Kl(oo()), Xl = () => Kl(so()), Zl = () => Kl(co()), Ql = () => Kl(lo()), $l = () => Kl(fo()), eu = () => Kl(uo()), tu = () => po().map(Kl), nu = (e = [], t = []) => mo(e, t).map((e) => e.id.startsWith("mesurer.") ? Kl(e) : e);
7495
7496
  //#endregion
7496
- export { uc as MESURER_ARRANGE_ACTIVE_STATE_ID, dc as MESURER_ARRANGE_PLUGIN_ID, fc as MESURER_ARRANGE_SERVICE_ID, pc as MESURER_ARRANGE_SETTINGS_STATE_ID, mc as MESURER_ARRANGE_STATE_ID, il as MESURER_CODEX_PLUGIN_ID, al as MESURER_CODEX_SERVICE_ID, Kc as MESURER_CONTEXT_PLUGIN_ID, qc as MESURER_CONTEXT_SERVICE_ID, Jc as MESURER_CONTEXT_SETTINGS_STATE_ID, Wc as MESURER_LAYOUT_GUIDES_ACTIVE_STATE_ID, Vc as MESURER_LAYOUT_GUIDES_PLUGIN_ID, Hc as MESURER_LAYOUT_GUIDES_SERVICE_ID, Uc as MESURER_LAYOUT_GUIDES_STATE_ID, jl as MESURER_SCREENSHOT_ACTIVE_STATE_ID, Ml as MESURER_SCREENSHOT_PLUGIN_ID, Nl as MESURER_SCREENSHOT_SERVICE_ID, Pl as MESURER_SCREENSHOT_SETTINGS_STATE_ID, Fl as MIN_SCREENSHOT_SELECTION, hc as arrange, Il as captureVisibleTabPng, Al as codex, Jl as colorPicker, tu as compose, rl as context, Ll as copyPngToClipboard, Rl as createScreenshotFilename, zl as cropPngToViewportRect, eu as defaults, Ql as distance, Zl as guides, Gc as layoutGuides, Bl as normalizeScreenshotRect, Vl as prepareScreenshotCapture, Hl as releaseScreenshotCapture, Yl as rulers, Ul as screenshot, Kl as select, $l as settings, Xl as typography, Wl as waitForNextPaint, ql as xray };
7497
+ export { uc as MESURER_ARRANGE_ACTIVE_STATE_ID, dc as MESURER_ARRANGE_PLUGIN_ID, fc as MESURER_ARRANGE_SERVICE_ID, pc as MESURER_ARRANGE_SETTINGS_STATE_ID, mc as MESURER_ARRANGE_STATE_ID, al as MESURER_CODEX_PLUGIN_ID, ol as MESURER_CODEX_SERVICE_ID, qc as MESURER_CONTEXT_PLUGIN_ID, Jc as MESURER_CONTEXT_SERVICE_ID, Yc as MESURER_CONTEXT_SETTINGS_STATE_ID, Gc as MESURER_LAYOUT_GUIDES_ACTIVE_STATE_ID, Hc as MESURER_LAYOUT_GUIDES_PLUGIN_ID, Uc as MESURER_LAYOUT_GUIDES_SERVICE_ID, Wc as MESURER_LAYOUT_GUIDES_STATE_ID, Ml as MESURER_SCREENSHOT_ACTIVE_STATE_ID, Nl as MESURER_SCREENSHOT_PLUGIN_ID, Pl as MESURER_SCREENSHOT_SERVICE_ID, Fl as MESURER_SCREENSHOT_SETTINGS_STATE_ID, Il as MIN_SCREENSHOT_SELECTION, hc as arrange, Ll as captureVisibleTabPng, jl as codex, Yl as colorPicker, nu as compose, il as context, Rl as copyPngToClipboard, zl as createScreenshotFilename, Bl as cropPngToViewportRect, tu as defaults, $l as distance, Ql as guides, Kc as layoutGuides, Vl as normalizeScreenshotRect, Hl as prepareScreenshotCapture, Ul as releaseScreenshotCapture, Xl as rulers, Wl as screenshot, ql as select, eu as settings, Zl as typography, Gl as waitForNextPaint, Jl as xray };