mesurer-solid 0.2.0-beta.4 → 0.2.0-beta.6

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
- F();
130
+ P();
131
131
  return;
132
132
  }
133
133
  T || (T = !0, !O && !U.gt && queueMicrotask(W));
134
134
  }
135
- function P(e) {
135
+ function te(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 F() {
141
+ function P() {
142
142
  D || (D = !0, console.error("[REACTIVITY_HALTED]"));
143
143
  }
144
- var te = 0, I = class {
144
+ var ne = 0, F = class {
145
145
  ke = null;
146
146
  bt = [[], []];
147
147
  vt = [];
@@ -162,7 +162,7 @@ var te = 0, I = 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 = ++te;
165
+ let t = this.vt, n = ++ne;
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 te = 0, I = class {
192
192
  r && r.restoreQueues(n);
193
193
  }
194
194
  }
195
- }, L = class e extends I {
195
+ }, I = class e extends F {
196
196
  gt = !1;
197
197
  m = M();
198
198
  static Ce;
@@ -242,7 +242,7 @@ var te = 0, I = 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) ? (ne(), b.EE >= b.Ve && (ye(b, e.Ce), ne())) : (y.size && ye(x, e.Ce), re());
245
+ } else A(this) ? (V(), b.EE >= b.Ve && (ye(b, e.Ce), V())) : (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 te = 0, I = class {
294
294
  for (let e of f) e.Ne ||= w;
295
295
  }
296
296
  };
297
- function R(e) {
297
+ function L(e) {
298
298
  ae.Qt.push(e);
299
299
  }
300
- var z = !1;
301
- function B(e, t = !1) {
302
- let n = e.Ke || tt, r = e.Le !== void 0, i = z;
300
+ var R = !1;
301
+ function z(e, t = !1) {
302
+ let n = e.Ke || tt, r = e.Le !== void 0, i = R;
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 B(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 V(e) {
311
+ function B(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) && L.un(e);
314
+ e.De !== o && (e.Ue = e.De, e.De = o), (e.ge || e.pe) && I.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) && L.me(t, !1, !0), (e.ge || e.pe) && L.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) && I.me(t, !1, !0), (e.ge || e.pe) && I.un(e);
318
318
  }
319
- function ne() {
319
+ function V() {
320
320
  let e = ae.Qt;
321
- for (let t = 0; t < e.length; t++) V(e[t]);
321
+ for (let t = 0; t < e.length; t++) B(e[t]);
322
322
  e.length = 0;
323
323
  }
324
324
  function re(e = null, t = !1) {
325
325
  let n = !t;
326
- n && ne(), !t && U.vt.length && H(U);
326
+ n && V(), !t && U.vt.length && H(U);
327
327
  let r = b.EE >= b.Ve;
328
- if (r && ye(b, L.Ce), n) {
329
- r && ne();
328
+ if (r && ye(b, I.Ce), n) {
329
+ r && V();
330
330
  let t = e ?? U.m;
331
- if (t.Me.length && L.En(t.Me), t.ln.size) {
331
+ if (t.Me.length && I.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 && (L.G(t.A), U.vt.length && H(U)), t.cn.size && L.Dt(t.cn, e), j(), f.size && L.dn(e);
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);
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 L(), ae = U.m;
344
+ var U = new I(), 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 && L.Tn?.(e) && (t = !1), t && (e.fn = !0), t;
394
+ return t && I.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) && L.un(t);
501
+ (t.ge || t.pe) && I.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 = L.Se, a = (o) => {
689
+ let t = !1, n, r = /* @__PURE__ */ new Set(), i = I.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 && R(t), t.De = e, L.Pe !== null && L.Pe(t, e), _(t) || B(t), t.de = C;
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;
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, L.Pe !== null && L.Pe(t, e), B(t, !0));
733
+ (!n && a || !i || !i(e, r)) && (t.Ue = e, t.de = C, I.Pe !== null && I.Pe(t, e), z(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) && L.Se(e), e.u && L.Oe !== null && L.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) && I.Se(e), e.u && I.Oe !== null && I.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), L.Se !== null && L.Se(n), n.u && L.Oe !== null && L.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), I.Se !== null && I.Se(n), n.u && I.Oe !== null && I.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 && R(t), Xe(t, r, i, d, f);
811
+ !d && !t.Ne && L(t), Xe(t, r, i, d, f);
812
812
  }
813
813
  });
814
814
  }
815
- L.Ce = nt, L.me = Se;
815
+ I.Ce = nt, I.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 = L.je(t, !0);
826
+ let e = I.je(t, !0);
827
827
  e && (tt = e);
828
828
  } else if (w && !n && w.Me.length) {
829
- let e = L.je(t, !1);
829
+ let e = I.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 && L.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 && I.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 && L.$e(t);
845
+ r && tt && I.$e(t);
846
846
  let e = !1;
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);
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);
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 ??= L.et.bind(null, t))), !t._) {
860
+ if (r && a && (t.Je = !t._, n || t.C.enqueue(r, t.Xe ??= I.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) && 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);
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);
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) && R(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) && L(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), L.It !== null && L.It(e), !t?.lazy && nt(e, !0);
969
+ n && (e.xe = n.xe + 1), I.It !== null && I.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 (L.St === null && !Ze) return e();
990
+ if (I.St === null && !Ze) return e();
991
991
  let n = Ze;
992
992
  Ze = !1;
993
993
  try {
994
- return L.St === null ? e() : L.St(e);
994
+ return I.St === null ? e() : I.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 L.At(e);
1003
+ if (et) return I.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 || L.Ot(r)) throw !Ze && e !== t && Ie(e, t), r._;
1016
+ if (tt === null || I.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 && 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;
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;
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 L.Gt(e, t);
1030
+ if (e.Ne && w !== e.Ne && U.initTransition(e.Ne), e._e !== void 0) return I.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 && 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;
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;
1033
1033
  }
1034
1034
  function mt(e) {
1035
- ge(e, de(e)), !(e.se & 1024) && e.De === o && (R(e), N()), e.se = e.se & -4 | i;
1035
+ ge(e, de(e)), !(e.se & 1024) && e.De === o && (L(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 P(n(i)), i;
1075
+ if (!this.C.notify(this, 2, 2)) throw te(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 P(t), t;
1089
+ if (!e.C.notify(e, 2, 2)) throw te(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 P(n), n;
1098
+ if (e._ = new t(e, n), e.S |= 2, !e.C.notify(e, 2, 2)) throw te(n), n;
1099
1099
  } finally {
1100
1100
  e._t = e.Ue, e.Je = !1;
1101
1101
  }
1102
1102
  }
1103
- L.et = xt;
1103
+ I.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) {
@@ -2265,40 +2265,50 @@ var ar = (e) => e, or = (e, t = 0, n = 1) => Math.min(n, Math.max(t, e)), sr = (
2265
2265
  }, Vr = async (e) => (await zr(e)).capture(e), Hr = (e) => {
2266
2266
  let t = Rr.get(e);
2267
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) => {
2268
+ }, Ur = Vr, Wr = () => globalThis.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random()}`, Gr = (e) => e;
2269
+ function Kr(e, t) {
2270
+ if (!(e instanceof Gr(t).Element)) return !1;
2271
+ let n = e;
2272
+ for (; n;) {
2273
+ if (n.getAttribute("data-mesurer-inspector-ui") === "true" || n.hasAttribute("data-mesurer-toolbar") || n.hasAttribute("data-mesurer-settings")) return !0;
2274
+ n = n.parentElement;
2275
+ }
2276
+ return !1;
2277
+ }
2278
+ var qr = /* @__PURE__ */ new WeakMap(), Jr = (e) => (qr.get(e) ?? 0) > 0, Yr = /* @__PURE__ */ new WeakMap(), Xr = (e) => {
2269
2279
  let t = e.location.pathname.replace(/\/+$/, "") || "/", n = new URLSearchParams(e.location.search);
2270
2280
  n.sort();
2271
2281
  let r = n.toString(), i = e.location.hash, a = i.startsWith("#/") ? i : "";
2272
2282
  return `${t}${r ? `?${r}` : ""}${a}`;
2273
- }, Yr = (e, t) => {
2274
- let n = Jr(e);
2283
+ }, Zr = (e, t) => {
2284
+ let n = Xr(e);
2275
2285
  for (let e of t.listeners) e(n);
2276
- }, Xr = (e) => {
2277
- let t = qr.get(e);
2286
+ }, Qr = (e) => {
2287
+ let t = Yr.get(e);
2278
2288
  if (t) return t;
2279
2289
  let n = e.history, r = n.pushState, i = n.replaceState, a = {
2280
2290
  listeners: /* @__PURE__ */ new Set(),
2281
2291
  pushState: r,
2282
2292
  replaceState: i,
2283
- handleNativeChange: () => Yr(e, a)
2293
+ handleNativeChange: () => Zr(e, a)
2284
2294
  };
2285
2295
  return n.pushState = function(...t) {
2286
2296
  let n = r.apply(this, t);
2287
- return Yr(e, a), n;
2297
+ return Zr(e, a), n;
2288
2298
  }, n.replaceState = function(...t) {
2289
2299
  let n = i.apply(this, t);
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);
2300
+ return Zr(e, a), n;
2301
+ }, e.addEventListener("popstate", a.handleNativeChange), e.addEventListener("hashchange", a.handleNativeChange), Yr.set(e, a), a;
2302
+ }, $r = (e, t) => {
2303
+ t.listeners.size > 0 || Yr.get(e) !== t || (e.history.pushState = t.pushState, e.history.replaceState = t.replaceState, e.removeEventListener("popstate", t.handleNativeChange), e.removeEventListener("hashchange", t.handleNativeChange), Yr.delete(e));
2304
+ }, ei = (e, t) => {
2305
+ let n = Qr(e);
2296
2306
  n.listeners.add(t);
2297
2307
  let r = !1;
2298
2308
  return () => {
2299
- r || (r = !0, n.listeners.delete(t), Zr(e, n));
2309
+ r || (r = !0, n.listeners.delete(t), $r(e, n));
2300
2310
  };
2301
- }, $r = "--mesurer-nested-scroll-x", ei = "--mesurer-nested-scroll-y", ti = (e, t, n, r = {}) => {
2311
+ }, ti = "--mesurer-nested-scroll-x", ni = "--mesurer-nested-scroll-y", ri = (e, t, n, r = {}) => {
2302
2312
  let i = e, a = /* @__PURE__ */ new Map(), o = t.ownerDocument, s = r.trackWindow === !0, c = (e) => {
2303
2313
  if (e.parentElement) return e.parentElement;
2304
2314
  let t = e.getRootNode();
@@ -2324,7 +2334,7 @@ var ar = (e) => e, or = (e, t = 0, n = 1) => Math.min(n, Math.max(t, e)), sr = (
2324
2334
  let i = `${n}px`;
2325
2335
  r !== i && e.style.setProperty(t, i);
2326
2336
  }, g = () => {
2327
- if (!p) for (let e of m()) e.dataset.mesurerNestedScrollCompensation !== "true" && (e.dataset.mesurerNestedScrollCompensation = "true"), h(e, $r, d), h(e, ei, f);
2337
+ if (!p) for (let e of m()) e.dataset.mesurerNestedScrollCompensation !== "true" && (e.dataset.mesurerNestedScrollCompensation = "true"), h(e, ti, d), h(e, ni, f);
2328
2338
  }, _ = (e, t, n) => {
2329
2339
  let r = t - e.left, i = n - e.top;
2330
2340
  return r === 0 && i === 0 ? !1 : (e.left = t, e.top = n, d -= r, f -= i, !0);
@@ -2357,21 +2367,21 @@ var ar = (e) => e, or = (e, t = 0, n = 1) => Math.min(n, Math.max(t, e)), sr = (
2357
2367
  if (!p) {
2358
2368
  p = !0, s && e.removeEventListener("scroll", y, !0);
2359
2369
  for (let e of a.keys()) e.removeEventListener("scroll", v, !0);
2360
- for (let e of m()) delete e.dataset.mesurerNestedScrollCompensation, e.style.removeProperty($r), e.style.removeProperty(ei);
2370
+ for (let e of m()) delete e.dataset.mesurerNestedScrollCompensation, e.style.removeProperty(ti), e.style.removeProperty(ni);
2361
2371
  a.clear();
2362
2372
  }
2363
2373
  }
2364
2374
  };
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() {
2375
+ }, ii = 5;
2376
+ Array.from({ length: 801 }, (e, t) => t * ii), Ht(null);
2377
+ var ai = "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)]";
2378
+ function oi() {
2369
2379
  return Y("span", {
2370
2380
  "aria-hidden": "true",
2371
2381
  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"
2372
2382
  });
2373
2383
  }
2374
- function ai(e) {
2384
+ function si(e) {
2375
2385
  let t = () => e.variant !== "legacy";
2376
2386
  var n = Y("div"), r = Y("div");
2377
2387
  return X(n, r), Z(r, () => e.left), Z(n, (() => {
@@ -2389,7 +2399,7 @@ function ai(e) {
2389
2399
  e !== i?.e && Q(n, "class", e, i?.e), t !== i?.t && Q(r, "class", t, i?.t);
2390
2400
  }), n;
2391
2401
  }
2392
- function oi(e) {
2402
+ function ci(e) {
2393
2403
  let t = () => e.variant !== "legacy", n = () => {
2394
2404
  let t = lr(e.value);
2395
2405
  if (t) return t;
@@ -2419,7 +2429,7 @@ function oi(e) {
2419
2429
  e.onChange(n);
2420
2430
  }, 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";
2421
2431
  var y = Y("div"), b = Y("span");
2422
- return X(y, b), Z(b, () => e.label), Z(y, J(ai, {
2432
+ return X(y, b), Z(b, () => e.label), Z(y, J(si, {
2423
2433
  get variant() {
2424
2434
  return e.variant;
2425
2435
  },
@@ -2502,7 +2512,7 @@ function oi(e) {
2502
2512
  Q(y, "class", e, t);
2503
2513
  }), y;
2504
2514
  }
2505
- var si = (e) => (() => {
2515
+ var li = (e) => (() => {
2506
2516
  var t = Y("svg", {
2507
2517
  xmlns: "http://www.w3.org/2000/svg",
2508
2518
  viewBox: "0 0 256 256",
@@ -2517,7 +2527,7 @@ var si = (e) => (() => {
2517
2527
  }), ({ e, t: n, a: r }, i) => {
2518
2528
  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);
2519
2529
  }), t;
2520
- })(), ci = (e) => J(si, {
2530
+ })(), ui = (e) => J(li, {
2521
2531
  get size() {
2522
2532
  return e.size ?? 8;
2523
2533
  },
@@ -2527,7 +2537,7 @@ var si = (e) => (() => {
2527
2537
  get children() {
2528
2538
  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" });
2529
2539
  }
2530
- }), li = (e) => J(si, {
2540
+ }), di = (e) => J(li, {
2531
2541
  get size() {
2532
2542
  return e.size ?? 12;
2533
2543
  },
@@ -2537,8 +2547,8 @@ var si = (e) => (() => {
2537
2547
  get children() {
2538
2548
  return Y("path", { d: "M228,128a12,12,0,0,1-12,12H40a12,12,0,0,1,0-24H216A12,12,0,0,1,228,128Z" });
2539
2549
  }
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);
2550
+ }), fi = (e, t, n) => t * 256 / e / n, pi = (e) => {
2551
+ let t = e.size ?? 20, n = fi(t, e.strokePx ?? 1, e.frameScale ?? 1);
2542
2552
  var r = Y("svg", {
2543
2553
  xmlns: "http://www.w3.org/2000/svg",
2544
2554
  width: t,
@@ -2562,7 +2572,7 @@ var si = (e) => (() => {
2562
2572
  return X(r, i), X(r, a), Z(a, () => e.children), q(() => e.class, (e, t) => {
2563
2573
  Q(r, "class", e, t);
2564
2574
  }), r;
2565
- }, fi = (e) => J(di, {
2575
+ }, mi = (e) => J(pi, {
2566
2576
  get size() {
2567
2577
  return e.size ?? 20;
2568
2578
  },
@@ -2572,7 +2582,7 @@ var si = (e) => (() => {
2572
2582
  get children() {
2573
2583
  return Y("path", { d: "M128 48v160M48 128h160" });
2574
2584
  }
2575
- }), pi = (e) => J(di, {
2585
+ }), hi = (e) => J(pi, {
2576
2586
  get size() {
2577
2587
  return e.size ?? 20;
2578
2588
  },
@@ -2582,7 +2592,7 @@ var si = (e) => (() => {
2582
2592
  get children() {
2583
2593
  return Y("path", { d: "M101.33 48v160M154.67 48v160" });
2584
2594
  }
2585
- }), mi = (e) => J(di, {
2595
+ }), gi = (e) => J(pi, {
2586
2596
  get size() {
2587
2597
  return e.size ?? 20;
2588
2598
  },
@@ -2592,7 +2602,7 @@ var si = (e) => (() => {
2592
2602
  get children() {
2593
2603
  return Y("path", { d: "M48 101.33h160M48 154.67h160" });
2594
2604
  }
2595
- }), hi = (e) => (() => {
2605
+ }), _i = (e) => (() => {
2596
2606
  var t = Y("svg", {
2597
2607
  xmlns: "http://www.w3.org/2000/svg",
2598
2608
  viewBox: "0 0 12 12",
@@ -2611,7 +2621,7 @@ var si = (e) => (() => {
2611
2621
  }), ({ e, t: n, a: r }, i) => {
2612
2622
  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);
2613
2623
  }), t;
2614
- })(), gi = (e) => (() => {
2624
+ })(), vi = (e) => (() => {
2615
2625
  var t = Y("svg", {
2616
2626
  xmlns: "http://www.w3.org/2000/svg",
2617
2627
  viewBox: "0 0 16 16",
@@ -2635,7 +2645,7 @@ var si = (e) => (() => {
2635
2645
  }), ({ e, t: n, a: r }, i) => {
2636
2646
  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);
2637
2647
  }), t;
2638
- })(), _i = (e) => (() => {
2648
+ })(), yi = (e) => (() => {
2639
2649
  var t = Y("svg", {
2640
2650
  xmlns: "http://www.w3.org/2000/svg",
2641
2651
  viewBox: "0 0 16 16",
@@ -2659,7 +2669,7 @@ var si = (e) => (() => {
2659
2669
  }), ({ e, t: n, a: r }, i) => {
2660
2670
  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);
2661
2671
  }), t;
2662
- })(), vi = (e) => J(si, {
2672
+ })(), bi = (e) => J(li, {
2663
2673
  get size() {
2664
2674
  return e.size ?? 20;
2665
2675
  },
@@ -2669,7 +2679,7 @@ var si = (e) => (() => {
2669
2679
  get children() {
2670
2680
  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" });
2671
2681
  }
2672
- }), yi = (e) => J(si, {
2682
+ }), xi = (e) => J(li, {
2673
2683
  get size() {
2674
2684
  return e.size ?? 20;
2675
2685
  },
@@ -2679,7 +2689,7 @@ var si = (e) => (() => {
2679
2689
  get children() {
2680
2690
  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" });
2681
2691
  }
2682
- }), bi = (e) => J(si, {
2692
+ }), Si = (e) => J(li, {
2683
2693
  get size() {
2684
2694
  return e.size ?? 18;
2685
2695
  },
@@ -2689,7 +2699,7 @@ var si = (e) => (() => {
2689
2699
  get children() {
2690
2700
  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" });
2691
2701
  }
2692
- }), xi = (e) => J(si, {
2702
+ }), Ci = (e) => J(li, {
2693
2703
  get size() {
2694
2704
  return e.size ?? 18;
2695
2705
  },
@@ -2699,11 +2709,11 @@ var si = (e) => (() => {
2699
2709
  get children() {
2700
2710
  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" });
2701
2711
  }
2702
- }), Si = (e, t) => {
2712
+ }), wi = (e, t) => {
2703
2713
  let n = t.CSS;
2704
2714
  return n?.escape ? n.escape(e) : e.replace(/[^a-zA-Z0-9_-]/g, (e) => `\\${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) {
2715
+ }, Ti = (e) => (e.textContent ?? "").replace(/\s+/g, " ").trim().slice(0, 200) || null, Ei = (e) => e.nodeType === 9, Di = (e) => e.nodeType === 11;
2716
+ function Oi(e) {
2707
2717
  let t = e.getBoundingClientRect();
2708
2718
  return {
2709
2719
  left: t.left,
@@ -2712,20 +2722,20 @@ function Ei(e) {
2712
2722
  height: t.height
2713
2723
  };
2714
2724
  }
2715
- function Di(e, t) {
2716
- if (wi(t)) return !0;
2725
+ function ki(e, t) {
2726
+ if (Ei(t)) return !0;
2717
2727
  let n = e;
2718
2728
  for (; n;) {
2719
2729
  if (t === n || t.contains(n)) return !0;
2720
2730
  let e = n.getRootNode();
2721
- if (!Ti(e)) return !1;
2731
+ if (!Di(e)) return !1;
2722
2732
  n = e.host;
2723
2733
  }
2724
2734
  return !1;
2725
2735
  }
2726
- function Oi(e) {
2736
+ function Ai(e) {
2727
2737
  let t = e.ownerDocument.defaultView ?? window;
2728
- if (e.id) return `#${Si(e.id, t)}`;
2738
+ if (e.id) return `#${wi(e.id, t)}`;
2729
2739
  let n = e.getAttribute("data-testid");
2730
2740
  if (n) return `[data-testid=${JSON.stringify(n)}]`;
2731
2741
  let r = [], i = e;
@@ -2739,7 +2749,7 @@ function Oi(e) {
2739
2749
  }
2740
2750
  return r.join(" > ");
2741
2751
  }
2742
- function ki(e) {
2752
+ function ji(e) {
2743
2753
  return {
2744
2754
  tag: e.localName,
2745
2755
  id: e.id || null,
@@ -2747,30 +2757,30 @@ function ki(e) {
2747
2757
  role: e.getAttribute("role"),
2748
2758
  ariaLabel: e.getAttribute("aria-label"),
2749
2759
  classes: [...e.classList],
2750
- text: Ci(e)
2760
+ text: Ti(e)
2751
2761
  };
2752
2762
  }
2753
- function Ai(e) {
2763
+ function Mi(e) {
2754
2764
  return !!(e.id || e.testId || e.role || e.ariaLabel || e.classes.length || e.text);
2755
2765
  }
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);
2758
- }
2759
- var Mi = "mesurer:select-gesture-start";
2760
2766
  function Ni(e, t) {
2761
- return e.addEventListener(Mi, t), () => e.removeEventListener(Mi, t);
2767
+ 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 && Ti(e) !== t.text ? !1 : Mi(t);
2768
+ }
2769
+ var Pi = "mesurer:select-gesture-start";
2770
+ function Fi(e, t) {
2771
+ return e.addEventListener(Pi, t), () => e.removeEventListener(Pi, t);
2762
2772
  }
2763
2773
  Ht((e) => void 0);
2764
- var Pi = "mesurer-solid-styles", Fi = (e) => e?.nodeType === 11, Ii = (e) => e.nodeType === 9;
2765
- function Li(e, t) {
2774
+ var Ii = "mesurer-solid-styles", Li = (e) => e?.nodeType === 11, Ri = (e) => e.nodeType === 9;
2775
+ function zi(e, t) {
2766
2776
  let n = t?.ownerDocument ?? globalThis.document;
2767
2777
  if (!n) return;
2768
- let r = Fi(t) ? t : n;
2769
- if (r.querySelector(`#${Pi}`)) return;
2778
+ let r = Li(t) ? t : n;
2779
+ if (r.querySelector(`#${Ii}`)) return;
2770
2780
  let i = n.createElement("style");
2771
- i.id = Pi, i.textContent = e, Ii(r) ? r.head.append(i) : r.append(i);
2781
+ i.id = Ii, i.textContent = e, Ri(r) ? r.head.append(i) : r.append(i);
2772
2782
  }
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) => {
2783
+ var Bi = "var(--msr-color-ink-50, #f8fafc)", Vi = "var(--msr-color-ink-200, #e2e8f0)", Hi = "var(--msr-color-ink-500, #64748b)", Ui = "var(--msr-content, #0f172a)", Wi = (e, t, n) => {
2774
2784
  let r = e.createElement("div");
2775
2785
  return Object.assign(r.style, {
2776
2786
  position: "absolute",
@@ -2787,7 +2797,7 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
2787
2797
  height: "100%"
2788
2798
  }
2789
2799
  }), r;
2790
- }, Ui = (e, t, n) => {
2800
+ }, Gi = (e, t, n) => {
2791
2801
  let r = e.createElement("div");
2792
2802
  Object.assign(r.style, {
2793
2803
  position: "fixed",
@@ -2801,23 +2811,23 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
2801
2811
  "right",
2802
2812
  "bottom",
2803
2813
  "left"
2804
- ]) r.appendChild(Hi(e, t, n));
2814
+ ]) r.appendChild(Wi(e, t, n));
2805
2815
  return r;
2806
- }, Wi = (e, t) => {
2816
+ }, Ki = (e, t) => {
2807
2817
  Object.assign(e.style, {
2808
2818
  left: `${t.left}px`,
2809
2819
  top: `${t.top}px`,
2810
2820
  width: `${t.width}px`,
2811
2821
  height: `${t.height}px`
2812
2822
  });
2813
- }, Gi = (e, t) => {
2823
+ }, qi = (e, t) => {
2814
2824
  let n = e.createElement("div");
2815
2825
  return Object.assign(n.style, {
2816
2826
  position: "fixed",
2817
2827
  zIndex: "1",
2818
2828
  pointerEvents: t ? "auto" : "none",
2819
2829
  background: "var(--msr-surface-raised, #ffffff)",
2820
- color: Vi,
2830
+ color: Ui,
2821
2831
  borderRadius: "13px",
2822
2832
  padding: "10px 12px",
2823
2833
  fontSize: "11px",
@@ -2832,7 +2842,7 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
2832
2842
  boxSizing: "border-box",
2833
2843
  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))"
2834
2844
  }), n.className = t ? "mesurer-ti-card mesurer-ti-card--pinned" : "mesurer-ti-card", n.dataset.state = "hidden", n;
2835
- }, Ki = (e, t, n, r) => {
2845
+ }, Ji = (e, t, n, r) => {
2836
2846
  t.replaceChildren();
2837
2847
  let i = e.createElement("div");
2838
2848
  Object.assign(i.style, {
@@ -2844,8 +2854,8 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
2844
2854
  });
2845
2855
  let a = e.createElement("span");
2846
2856
  if (Object.assign(a.style, {
2847
- color: Ri,
2848
- background: Vi,
2857
+ color: Bi,
2858
+ background: Ui,
2849
2859
  borderRadius: "4px",
2850
2860
  padding: "1px 5px",
2851
2861
  fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace",
@@ -2854,7 +2864,7 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
2854
2864
  }), a.textContent = n.tagName, i.appendChild(a), n.textSnippet) {
2855
2865
  let t = e.createElement("span");
2856
2866
  Object.assign(t.style, {
2857
- color: Bi,
2867
+ color: Hi,
2858
2868
  overflow: "hidden",
2859
2869
  textOverflow: "ellipsis",
2860
2870
  whiteSpace: "nowrap",
@@ -2874,7 +2884,7 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
2874
2884
  lineHeight: "14px",
2875
2885
  textAlign: "center",
2876
2886
  borderRadius: "4px",
2877
- color: Bi,
2887
+ color: Hi,
2878
2888
  fontSize: "14px"
2879
2889
  }), i.appendChild(t);
2880
2890
  }
@@ -2889,12 +2899,12 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
2889
2899
  });
2890
2900
  for (let t of n.rows) {
2891
2901
  let n = e.createElement("span");
2892
- n.style.color = Bi, n.style.fontSize = "11px", n.textContent = t.label;
2902
+ n.style.color = Hi, n.style.fontSize = "11px", n.textContent = t.label;
2893
2903
  let r = e.createElement("span");
2894
2904
  if (Object.assign(r.style, {
2895
2905
  fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace",
2896
2906
  fontSize: "11px",
2897
- color: Vi,
2907
+ color: Ui,
2898
2908
  overflow: "hidden",
2899
2909
  textOverflow: "ellipsis",
2900
2910
  whiteSpace: "nowrap"
@@ -2903,21 +2913,21 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
2903
2913
  let n = e.createElement("span");
2904
2914
  n.textContent = t.value;
2905
2915
  let i = e.createElement("span");
2906
- i.style.color = zi, i.style.margin = "0 6px", i.textContent = "·";
2916
+ i.style.color = Vi, i.style.margin = "0 6px", i.textContent = "·";
2907
2917
  let a = e.createElement("span");
2908
2918
  a.style.color = "#0369a1", a.textContent = t.varName, r.append(n, i, a);
2909
2919
  }
2910
2920
  o.append(n, r);
2911
2921
  }
2912
2922
  t.appendChild(o);
2913
- }, qi = (e, t, n, r = 0, i = 0) => {
2923
+ }, Yi = (e, t, n, r = 0, i = 0) => {
2914
2924
  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;
2915
2925
  t.style.left = `${c}px`;
2916
2926
  let l = t.getBoundingClientRect(), u = n.bottom + 4 + i;
2917
2927
  u + l.height > e.innerHeight - 8 && (u = n.top - l.height - 4 + i), t.style.top = `${Math.max(8, u)}px`;
2918
2928
  let d = l.width / 2;
2919
2929
  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");
2920
- }, Ji = /* @__PURE__ */ new Map([
2930
+ }, Xi = /* @__PURE__ */ new Map([
2921
2931
  ["100", "thin"],
2922
2932
  ["200", "extralight"],
2923
2933
  ["300", "light"],
@@ -2927,26 +2937,26 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
2927
2937
  ["700", "bold"],
2928
2938
  ["800", "extrabold"],
2929
2939
  ["900", "black"]
2930
- ]), Yi = [
2940
+ ]), Zi = [
2931
2941
  "font-family",
2932
2942
  "font-size",
2933
2943
  "font-weight",
2934
2944
  "line-height",
2935
2945
  "letter-spacing"
2936
- ], Xi = /* @__PURE__ */ new Map([
2946
+ ], Qi = /* @__PURE__ */ new Map([
2937
2947
  ["Family", "font-family"],
2938
2948
  ["Size", "font-size"],
2939
2949
  ["Weight", "font-weight"],
2940
2950
  ["Line", "line-height"],
2941
2951
  ["Tracking", "letter-spacing"]
2942
- ]), Zi = (e) => {
2952
+ ]), $i = (e) => {
2943
2953
  if (!e || e === "normal") return e || "normal";
2944
2954
  let t = /^(-?[\d.]+)px$/.exec(e);
2945
2955
  return t ? `${Math.round(Number(t[1]) * 10) / 10}px` : e;
2946
- }, Qi = (e) => (e.split(",")[0] ?? "").trim().replace(/^['"]|['"]$/g, ""), $i = (e) => {
2947
- let t = Ji.get(e);
2956
+ }, ea = (e) => (e.split(",")[0] ?? "").trim().replace(/^['"]|['"]$/g, ""), ta = (e) => {
2957
+ let t = Xi.get(e);
2948
2958
  return t ? `${e} / ${t}` : e;
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 {
2959
+ }, na = (e) => e ? /var\(\s*(--[a-zA-Z0-9_-]+)/.exec(e)?.[1] ?? null : null, ra = (e) => (e.match(/#[\w-]+/g) ?? []).length * 1e4 + (e.match(/\.[\w-]+|\[[^\]]+\]|:[\w-]+/g) ?? []).length * 100 + (e.match(/(?:^|[ >+~])([a-zA-Z][\w-]*)/g) ?? []).length, ia = (e, t) => !t || (e.important === t.important ? e.specificity === t.specificity ? e.order > t.order : e.specificity > t.specificity : e.important), aa = class {
2950
2960
  document;
2951
2961
  window;
2952
2962
  constructor(e, t) {
@@ -2986,11 +2996,11 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
2986
2996
  return e;
2987
2997
  }
2988
2998
  findVarReferences(e) {
2989
- let t = new Map(Yi.map((e) => [e, null])), n = this.getRules();
2990
- for (let r of Yi) {
2999
+ let t = new Map(Zi.map((e) => [e, null])), n = this.getRules();
3000
+ for (let r of Zi) {
2991
3001
  let i = e;
2992
3002
  for (; i && t.get(r) === null;) {
2993
- let e, a = ea(i.style.getPropertyValue(r));
3003
+ let e, a = na(i.style.getPropertyValue(r));
2994
3004
  a && (e = {
2995
3005
  name: a,
2996
3006
  specificity: 2 ** 53 - 1,
@@ -3006,15 +3016,15 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
3006
3016
  continue;
3007
3017
  }
3008
3018
  if (!n) continue;
3009
- let s = ea(t.style.getPropertyValue(r));
3019
+ let s = na(t.style.getPropertyValue(r));
3010
3020
  if (!s) continue;
3011
3021
  let c = {
3012
3022
  name: s,
3013
- specificity: ta(t.selectorText),
3023
+ specificity: ra(t.selectorText),
3014
3024
  order: o,
3015
3025
  important: t.style.getPropertyPriority(r) === "important"
3016
3026
  };
3017
- na(c, e) && (e = c);
3027
+ ia(c, e) && (e = c);
3018
3028
  }
3019
3029
  e && t.set(r, e.name), i = i.parentElement;
3020
3030
  }
@@ -3025,27 +3035,27 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
3025
3035
  let t = this.window.getComputedStyle(e), n = [
3026
3036
  {
3027
3037
  label: "Family",
3028
- value: Qi(t.fontFamily),
3038
+ value: ea(t.fontFamily),
3029
3039
  varName: null
3030
3040
  },
3031
3041
  {
3032
3042
  label: "Size",
3033
- value: Zi(t.fontSize),
3043
+ value: $i(t.fontSize),
3034
3044
  varName: null
3035
3045
  },
3036
3046
  {
3037
3047
  label: "Weight",
3038
- value: $i(t.fontWeight),
3048
+ value: ta(t.fontWeight),
3039
3049
  varName: null
3040
3050
  },
3041
3051
  {
3042
3052
  label: "Line",
3043
- value: t.lineHeight === "normal" ? "normal" : Zi(t.lineHeight),
3053
+ value: t.lineHeight === "normal" ? "normal" : $i(t.lineHeight),
3044
3054
  varName: null
3045
3055
  },
3046
3056
  {
3047
3057
  label: "Tracking",
3048
- value: t.letterSpacing === "normal" ? "normal" : Zi(t.letterSpacing),
3058
+ value: t.letterSpacing === "normal" ? "normal" : $i(t.letterSpacing),
3049
3059
  varName: null
3050
3060
  }
3051
3061
  ], r = Array.from(e.childNodes).filter((e) => e.nodeType === Node.TEXT_NODE).map((e) => e.nodeValue?.trim() ?? "").filter(Boolean).join(" ").replace(/\s+/g, " ");
@@ -3060,7 +3070,7 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
3060
3070
  return {
3061
3071
  ...t,
3062
3072
  rows: t.rows.map((e) => {
3063
- let t = Xi.get(e.label);
3073
+ let t = Qi.get(e.label);
3064
3074
  return {
3065
3075
  ...e,
3066
3076
  varName: t ? n.get(t) ?? null : null
@@ -3068,7 +3078,7 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
3068
3078
  })
3069
3079
  };
3070
3080
  }
3071
- }, ia = [
3081
+ }, oa = [
3072
3082
  "HTML",
3073
3083
  "BODY",
3074
3084
  "SCRIPT",
@@ -3080,7 +3090,7 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
3080
3090
  "VIDEO",
3081
3091
  "AUDIO",
3082
3092
  "IFRAME"
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) => `
3093
+ ], sa = "color-mix(in oklch, oklch(0.62 0.18 255) 8%, transparent)", ca = "color-mix(in oklch, oklch(0.62 0.18 255) 80%, transparent)", la = "color-mix(in oklch, oklch(0.62 0.18 255) 4%, transparent)", ua = "color-mix(in oklch, oklch(0.62 0.18 255) 35%, transparent)", da = 80, fa = 0, pa = (e, t) => `
3084
3094
  .${e},.${e} *{cursor:help!important}
3085
3095
  .${e} [data-mesurer-root],.${e} [data-mesurer-root] *{cursor:auto!important}
3086
3096
  #${t} .mesurer-ti-card{transform:translateX(-50%);opacity:1;transition:none!important;animation:none!important}
@@ -3091,7 +3101,7 @@ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e
3091
3101
  #${t} .mesurer-ti-close{cursor:pointer}
3092
3102
  #${t} .mesurer-ti-close:hover{background:color-mix(in srgb,var(--msr-content,#0f172a) 6%,transparent)!important;color:var(--msr-content,#0f172a)!important}
3093
3103
  `;
3094
- function fa(e = {}, t = !1) {
3104
+ function ma(e = {}, t = !1) {
3095
3105
  let n = e.portalTarget?.ownerDocument ?? globalThis.document, r = n?.defaultView ?? globalThis.window;
3096
3106
  if (!n || !r) {
3097
3107
  let e = () => {};
@@ -3109,7 +3119,7 @@ function fa(e = {}, t = !1) {
3109
3119
  canRedo: () => !1
3110
3120
  };
3111
3121
  }
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 = {
3122
+ let i = (e.id ?? (t ? "mesurer-text-inspector" : `mesurer-text-inspector-${++fa}`)).replace(/[^a-zA-Z0-9_-]/g, "-"), a = `${i}-overlay`, o = `${i}-styles`, s = `${i}-mode`, c = new Set((e.ignoredTags ?? oa).map((e) => e.toUpperCase())), l = Number.isFinite(e.maxPinned) ? Math.max(1, Math.floor(e.maxPinned)) : Infinity, u = new aa(n, r), d = r.HTMLElement, f = r.SVGElement, p = r.Node, m = !1, h = null, g = null, _ = null, v = null, y = {
3113
3123
  x: 0,
3114
3124
  y: 0
3115
3125
  }, b = 0, x = 0, S = 0, C = r.scrollX, w = r.scrollY, T = null, E = [], D = [], O = [], k = e.portalTarget ?? n.body, A = () => {
@@ -3118,7 +3128,7 @@ function fa(e = {}, t = !1) {
3118
3128
  for (let t of e) {
3119
3129
  if (t.querySelector(`#${o}`)) continue;
3120
3130
  let e = n.createElement("style");
3121
- e.id = o, e.textContent = da(s, a), t === n ? n.head.append(e) : t.append(e);
3131
+ e.id = o, e.textContent = pa(s, a), t === n ? n.head.append(e) : t.append(e);
3122
3132
  }
3123
3133
  }, 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) => {
3124
3134
  h && (h.dataset.theme = e);
@@ -3131,35 +3141,45 @@ function fa(e = {}, t = !1) {
3131
3141
  e && (e.dataset.state = t ? "visible" : "hidden");
3132
3142
  }, ee = () => {
3133
3143
  let e = j();
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 = () => {
3144
+ g ??= Gi(n, sa, ca), _ ??= qi(n, !1), g.parentNode || e.append(g), _.parentNode || e.append(_);
3145
+ }, 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], [data-mesurer-inspector-ui='true']"), P = (e, t) => {
3146
+ for (let i of n.elementsFromPoint(e, t)) {
3147
+ if (Kr(i, r)) return null;
3148
+ if (te(i)) return i;
3149
+ }
3150
+ return null;
3151
+ }, ne = () => {
3136
3152
  v = null, M(g, !1), M(_, !1);
3137
- }, I = (t) => {
3138
- if (!m || !P(t)) return !1;
3153
+ }, F = (e, t, n) => {
3154
+ if (!e || e.dataset.state !== "visible") return !1;
3155
+ let r = e.getBoundingClientRect();
3156
+ return t >= r.left && t <= r.right && n >= r.top && n <= r.bottom;
3157
+ }, I = (e, t) => E.some((n) => F(n.card, e, t)), L = (t) => {
3158
+ if (!m || !te(t)) return !1;
3139
3159
  ee();
3140
3160
  let i = t.getBoundingClientRect(), a = u.getFast(t);
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(() => {
3161
+ return v = t, Ji(n, _, a, !1), Ki(g, i), Yi(r, _, i), M(g, !0), M(_, !0), r.clearTimeout(x), x = r.setTimeout(() => {
3142
3162
  if (!m || v !== t || !_) return;
3143
3163
  let i = u.getFull(t, a);
3144
- Ki(n, _, i, !1), qi(r, _, t.getBoundingClientRect()), e.onInspect?.(t, i);
3164
+ Ji(n, _, i, !1), Yi(r, _, t.getBoundingClientRect()), e.onInspect?.(t, i);
3145
3165
  }, 24), !0;
3146
- }, L = () => E.map((e) => ({
3166
+ }, R = () => E.map((e) => ({
3147
3167
  sourceEl: e.sourceEl,
3148
3168
  left: e.userPlaced ? e.card.getBoundingClientRect().left + e.card.getBoundingClientRect().width / 2 : 0,
3149
3169
  top: e.userPlaced ? e.card.getBoundingClientRect().top : 0,
3150
3170
  userPlaced: e.userPlaced
3151
- })), R = () => {
3152
- D.push(L()), D.length > 100 && D.shift(), O.length = 0;
3153
- }, z = (t, n = !0, r = !0) => {
3171
+ })), z = () => {
3172
+ D.push(R()), D.length > 100 && D.shift(), O.length = 0;
3173
+ }, B = (t, n = !0, r = !0) => {
3154
3174
  let i = E.indexOf(t);
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) => {
3175
+ i < 0 || (n && z(), E.splice(i, 1), t.detach(), t.box.remove(), t.card.remove(), r && e.onUnpin?.(t.sourceEl));
3176
+ }, V = (e = !1) => {
3177
+ for (; E.length;) B(E[E.length - 1], !1, e);
3178
+ }, re = (e) => {
3159
3179
  let t = -1, n = 0, i = 0, a = 0, o = 0, s = !1, c = !1, l = (l) => {
3160
3180
  if (l.pointerId !== t) return;
3161
3181
  let u = l.clientX - n, d = l.clientY - i;
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`);
3182
+ !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 ||= (z(), !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`);
3163
3183
  }, u = (e) => {
3164
3184
  (t === -1 || e.pointerId === t) && (r.removeEventListener("pointermove", l), r.removeEventListener("pointerup", u), r.removeEventListener("pointercancel", u), t = -1, s = !1, c = !1);
3165
3185
  }, f = (s) => {
@@ -3170,15 +3190,15 @@ function fa(e = {}, t = !1) {
3170
3190
  return e.card.addEventListener("pointerdown", f), () => {
3171
3191
  e.card.removeEventListener("pointerdown", f), r.removeEventListener("pointermove", l), r.removeEventListener("pointerup", u), r.removeEventListener("pointercancel", u);
3172
3192
  };
3173
- }, ne = (t, i, a = !0, o = !0) => {
3193
+ }, H = (t, i, a = !0, o = !0) => {
3174
3194
  if (E.find((e) => e.sourceEl === t)) return;
3175
- a && R(), E.length >= l && z(E[0], !1, !0);
3176
- let s = j(), c = Ui(n, sa, ca), d = Gi(n, !0);
3195
+ a && z(), E.length >= l && B(E[0], !1, !0);
3196
+ let s = j(), c = Gi(n, la, ua), d = qi(n, !0);
3177
3197
  d.classList.add("mesurer-ti-card--draggable"), d.classList.remove("mesurer-ti-card--pinned");
3178
3198
  let f = u.getFull(t);
3179
- Ki(n, d, f, !0), s.append(c, d);
3199
+ Ji(n, d, f, !0), s.append(c, d);
3180
3200
  let p = t.getBoundingClientRect();
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);
3201
+ Ki(c, p), Yi(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);
3182
3202
  let m = {
3183
3203
  sourceEl: t,
3184
3204
  box: c,
@@ -3188,131 +3208,147 @@ function fa(e = {}, t = !1) {
3188
3208
  userPlaced: i?.userPlaced ?? !1,
3189
3209
  detach: () => {}
3190
3210
  };
3191
- E.push(m), m.detach = V(m), d.querySelector(".mesurer-ti-close")?.addEventListener("click", (e) => {
3192
- e.preventDefault(), e.stopPropagation(), z(m);
3211
+ E.push(m), m.detach = re(m), d.querySelector(".mesurer-ti-close")?.addEventListener("click", (e) => {
3212
+ e.preventDefault(), e.stopPropagation(), B(m);
3193
3213
  }), o && e.onPin?.(t, f);
3194
- }, re = (e) => {
3195
- B(!1);
3196
- for (let t of e) t.sourceEl.isConnected && ne(t.sourceEl, t, !1, !1);
3197
- }, H = () => {
3198
- let e = D.pop();
3199
- return e ? (O.push(L()), re(e), !0) : !1;
3200
- }, ie = () => {
3201
- let e = O.pop();
3202
- return e ? (D.push(L()), re(e), !0) : !1;
3214
+ }, ie = (e) => {
3215
+ V(!1);
3216
+ for (let t of e) t.sourceEl.isConnected && H(t.sourceEl, t, !1, !1);
3203
3217
  }, U = () => {
3204
- E.length && (R(), B(!0));
3218
+ let e = D.pop();
3219
+ return e ? (O.push(R()), ie(e), !0) : !1;
3205
3220
  }, ae = () => {
3221
+ let e = O.pop();
3222
+ return e ? (D.push(R()), ie(e), !0) : !1;
3223
+ }, W = () => {
3224
+ E.length && (z(), V(!0));
3225
+ }, oe = () => {
3206
3226
  for (let e of E.slice()) {
3207
3227
  if (!e.sourceEl.isConnected) {
3208
- z(e, !1, !1);
3228
+ B(e, !1, !1);
3209
3229
  continue;
3210
3230
  }
3211
3231
  let t = e.sourceEl.getBoundingClientRect();
3212
- Wi(e.box, t), e.userPlaced || qi(r, e.card, t);
3232
+ Ki(e.box, t), e.userPlaced || Yi(r, e.card, t);
3213
3233
  let n = t.bottom >= 0 && t.right >= 0 && t.left <= r.innerWidth && t.top <= r.innerHeight;
3214
3234
  M(e.box, n), M(e.card, n), e.card.style.pointerEvents = n ? "auto" : "none";
3215
3235
  }
3216
- }, W = () => {
3236
+ }, se = () => {
3217
3237
  if (m) {
3218
3238
  if (v && g && _) {
3219
- if (!v.isConnected) te();
3239
+ if (!v.isConnected) ne();
3220
3240
  else {
3221
3241
  let e = v.getBoundingClientRect();
3222
- Wi(g, e), qi(r, _, e);
3242
+ Ki(g, e), Yi(r, _, e);
3223
3243
  let t = e.bottom >= 0 && e.right >= 0 && e.left <= r.innerWidth && e.top <= r.innerHeight;
3224
3244
  M(g, t), M(_, t);
3225
3245
  }
3226
3246
  }
3227
- ae();
3247
+ oe();
3228
3248
  }
3229
- }, oe = () => {
3249
+ }, ce = () => {
3230
3250
  if (!m) return;
3231
- let e = F(y.x, y.y);
3232
- if (!e) te();
3233
- else if (e !== v) I(e);
3251
+ let e = P(y.x, y.y);
3252
+ if (!e) ne();
3253
+ else if (e !== v) L(e);
3234
3254
  else if (g && _) {
3235
3255
  let t = e.getBoundingClientRect();
3236
- Wi(g, t), qi(r, _, t);
3256
+ Ki(g, t), Yi(r, _, t);
3237
3257
  }
3238
- ae();
3239
- }, se = () => {
3258
+ oe();
3259
+ }, le = () => {
3240
3260
  b ||= r.requestAnimationFrame(() => {
3241
- b = 0, oe();
3261
+ b = 0, ce();
3242
3262
  });
3243
- }, ce = (e) => {
3244
- y = {
3263
+ }, ue = (e) => e.composedPath().some((e) => Kr(e, r)), de = (e) => {
3264
+ if (y = {
3245
3265
  x: e.clientX,
3246
3266
  y: e.clientY
3247
- }, se();
3248
- }, le = (e, t, n) => {
3267
+ }, ue(e) || I(e.clientX, e.clientY)) {
3268
+ ne();
3269
+ return;
3270
+ }
3271
+ F(_, e.clientX, e.clientY) || le();
3272
+ }, fe = (e, t, n) => {
3249
3273
  if (!e || e.dataset.mesurerNativeScrollAnchor) return;
3250
3274
  let r = Number.parseFloat(e.style.left), i = Number.parseFloat(e.style.top);
3251
3275
  Number.isFinite(r) && (e.style.left = `${r - t}px`), Number.isFinite(i) && (e.style.top = `${i - n}px`);
3252
- }, ue = () => {
3276
+ }, pe = () => {
3253
3277
  let e = r.scrollX, t = r.scrollY, i = e - C, a = t - w;
3254
- if (C = e, w = t, Kr(n)) {
3278
+ if (C = e, w = t, Jr(n)) {
3255
3279
  if (i || a) {
3256
- le(g, i, a), le(_, i, a);
3257
- for (let e of E) le(e.box, i, a), e.userPlaced || le(e.card, i, a);
3280
+ fe(g, i, a), fe(_, i, a);
3281
+ for (let e of E) fe(e.box, i, a), e.userPlaced || fe(e.card, i, a);
3258
3282
  }
3259
3283
  S && r.clearTimeout(S), S = r.setTimeout(() => {
3260
- S = 0, W();
3261
- }, la);
3284
+ S = 0, se();
3285
+ }, da);
3262
3286
  return;
3263
3287
  }
3264
- W(), se();
3265
- }, de = (e) => {
3266
- e.relatedTarget || te();
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) => {
3268
- if (!fe(e) && (e.preventDefault(), e.stopImmediatePropagation(), e.button === 0)) {
3269
- let t = F(e.clientX, e.clientY);
3270
- t && ne(t);
3271
- }
3288
+ se(), le();
3272
3289
  }, me = (e) => {
3273
- fe(e) || (e.preventDefault(), e.stopImmediatePropagation());
3274
- }, he = () => {
3275
- m || (m = !0, A(), j(), n.body.classList.add(s), C = r.scrollX, w = r.scrollY, r.addEventListener("mousemove", ce, !0), r.addEventListener("mouseout", de, !0), r.addEventListener("click", pe, !0), r.addEventListener("auxclick", me, !0), r.addEventListener("scroll", ue, {
3290
+ e.relatedTarget || ne();
3291
+ }, he = (e) => {
3292
+ if (!ue(e)) {
3293
+ if (F(_, e.clientX, e.clientY) || I(e.clientX, e.clientY)) {
3294
+ e.preventDefault(), e.stopImmediatePropagation();
3295
+ return;
3296
+ }
3297
+ if (e.preventDefault(), e.stopImmediatePropagation(), e.button === 0) {
3298
+ let t = P(e.clientX, e.clientY);
3299
+ t && H(t);
3300
+ }
3301
+ }
3302
+ }, ge = (e) => {
3303
+ if (!ue(e)) {
3304
+ if (F(_, e.clientX, e.clientY) || I(e.clientX, e.clientY)) {
3305
+ e.preventDefault(), e.stopImmediatePropagation();
3306
+ return;
3307
+ }
3308
+ e.preventDefault(), e.stopImmediatePropagation();
3309
+ }
3310
+ }, _e = () => {
3311
+ m || (m = !0, A(), j(), n.body.classList.add(s), C = r.scrollX, w = r.scrollY, r.addEventListener("mousemove", de, !0), r.addEventListener("mouseout", me, !0), r.addEventListener("click", he, !0), r.addEventListener("auxclick", ge, !0), r.addEventListener("scroll", pe, {
3276
3312
  capture: !0,
3277
3313
  passive: !0
3278
- }), r.addEventListener("resize", se, !0));
3279
- }, ge = () => {
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));
3281
- }, _e = () => {
3282
- ge(), T?.(), T = null, h?.remove(), h = null, n.getElementById(o)?.remove(), k instanceof r.ShadowRoot && k.querySelector(`#${o}`)?.remove();
3314
+ }), r.addEventListener("resize", le, !0));
3315
+ }, ve = () => {
3316
+ m && (m = !1, r.cancelAnimationFrame(b), b = 0, r.clearTimeout(x), r.clearTimeout(S), S = 0, r.removeEventListener("mousemove", de, !0), r.removeEventListener("mouseout", me, !0), r.removeEventListener("click", he, !0), r.removeEventListener("auxclick", ge, !0), r.removeEventListener("scroll", pe, !0), r.removeEventListener("resize", le, !0), ne(), V(), g?.remove(), _?.remove(), g = null, _ = null, D.length = 0, O.length = 0, n.body.classList.remove(s));
3317
+ }, ye = () => {
3318
+ ve(), T?.(), T = null, h?.remove(), h = null, n.getElementById(o)?.remove(), k instanceof r.ShadowRoot && k.querySelector(`#${o}`)?.remove();
3283
3319
  };
3284
3320
  return {
3285
- enable: he,
3286
- disable: ge,
3287
- undo: H,
3288
- redo: ie,
3289
- clear: U,
3290
- inspect: I,
3321
+ enable: _e,
3322
+ disable: ve,
3323
+ undo: U,
3324
+ redo: ae,
3325
+ clear: W,
3326
+ inspect: L,
3291
3327
  isEnabled: () => m,
3292
3328
  canUndo: () => D.length > 0,
3293
3329
  canRedo: () => O.length > 0,
3294
- cleanup: _e,
3295
- destroy: _e
3330
+ cleanup: ye,
3331
+ destroy: ye
3296
3332
  };
3297
3333
  }
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 = {
3334
+ ma({}, !0);
3335
+ var ha = "/*! 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", ga = {
3300
3336
  keepTextChanges: !1,
3301
3337
  keepArrangeChanges: !1
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 = {
3338
+ }, _a = (e) => e.state.get("mesurer.presentation.preferences") ?? ga, va = "mesurer.arrange", ya = "arrange", ba = "mesurer.arrange.intents", xa = "mesurer.arrange.active", Sa = "mesurer.arrange.settings", Ca = "runtime:solid", wa = "builtin.select", Ta = "arrange.toggle", Ea = "arrange.commit", Da = "arrange.clear", Oa = "mesurer.arrange.selection-available", ka = 1, Aa = 24, ja = 160, Ma = 500, Na = "#ef4444", Pa = {
3303
3339
  viewBox: "0 0 24 24",
3304
3340
  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"]
3305
- }, Na = (e, t) => ({
3341
+ }, Fa = (e, t) => ({
3306
3342
  left: e.left + t.x,
3307
3343
  top: e.top + t.y,
3308
3344
  width: e.width,
3309
3345
  height: e.height
3310
- }), Pa = (e, t) => ({
3346
+ }), Ia = (e, t) => ({
3311
3347
  left: e.left - t.left,
3312
3348
  top: e.top - t.top,
3313
3349
  width: e.width - t.width,
3314
3350
  height: e.height - t.height
3315
- }), Fa = (e) => {
3351
+ }), La = (e) => {
3316
3352
  if (!e.length) return null;
3317
3353
  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));
3318
3354
  return {
@@ -3321,35 +3357,35 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3321
3357
  width: r - t,
3322
3358
  height: i - n
3323
3359
  };
3324
- }, Ia = (e, t, n, r) => Math.max(0, Math.max(e, n) - Math.min(t, r)), La = (e, t, n) => {
3360
+ }, Ra = (e, t, n, r) => Math.max(0, Math.max(e, n) - Math.min(t, r)), za = (e, t, n) => {
3325
3361
  let r = t === "x" ? e.left : e.top, i = t === "x" ? e.width : e.height, a = r + i;
3326
3362
  return n === "edge" ? [r, a] : n === "center" ? [r + i / 2] : [
3327
3363
  r,
3328
3364
  r + i / 2,
3329
3365
  a
3330
3366
  ];
3331
- }, Ra = (e, t) => t === "x" ? {
3367
+ }, Ba = (e, t) => t === "x" ? {
3332
3368
  start: e.top,
3333
3369
  end: e.top + e.height
3334
3370
  } : {
3335
3371
  start: e.left,
3336
3372
  end: e.left + e.width
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)) {
3373
+ }, Va = (e) => e.kind === "edge" ? 2 : +(e.kind === "guide"), Ha = (e, t, n) => {
3374
+ let r = Ba(t, e), i = null;
3375
+ for (let a of n) if (a.axis === e && !(a.source === "element" && Ra(r.start, r.end, a.start, a.end) > ja)) for (let n of za(t, e, a.kind)) {
3340
3376
  let e = a.position - n, t = Math.abs(e);
3341
3377
  if (t > 10) continue;
3342
3378
  let r = i ? Math.abs(i.delta) : Infinity;
3343
- (t < r || t === r && (!i || za(a) > za(i))) && (i = {
3379
+ (t < r || t === r && (!i || Va(a) > Va(i))) && (i = {
3344
3380
  ...a,
3345
3381
  delta: e
3346
3382
  });
3347
3383
  }
3348
3384
  return i;
3349
- }, Va = (e) => {
3385
+ }, Ua = (e) => {
3350
3386
  let { origin: t, pathname: n, search: r } = e.location;
3351
3387
  return `${t}${n}${r}`;
3352
- }, Ha = (e, t) => `${t}-${e.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random().toString(36).slice(2)}`}`, Ua = (e) => ({
3388
+ }, Wa = (e, t) => `${t}-${e.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random().toString(36).slice(2)}`}`, Ga = (e) => ({
3353
3389
  tag: e.fingerprintTag,
3354
3390
  id: e.fingerprintId,
3355
3391
  testId: e.fingerprintTestId,
@@ -3357,10 +3393,10 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3357
3393
  ariaLabel: e.fingerprintAriaLabel,
3358
3394
  classes: [...e.fingerprintClasses],
3359
3395
  text: e.fingerprintText
3360
- }), Wa = (e) => ({
3396
+ }), Ka = (e) => ({
3361
3397
  id: e.id,
3362
3398
  selector: e.selector,
3363
- fingerprint: Ua(e),
3399
+ fingerprint: Ga(e),
3364
3400
  before: {
3365
3401
  left: e.beforeLeft,
3366
3402
  top: e.beforeTop,
@@ -3381,21 +3417,21 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3381
3417
  x: e.desiredOffsetX,
3382
3418
  y: e.desiredOffsetY
3383
3419
  }
3384
- }), Ga = (e) => ({
3420
+ }), qa = (e) => ({
3385
3421
  id: e.id,
3386
3422
  createdAt: e.createdAt,
3387
3423
  pageUrl: e.pageUrl,
3388
- targets: e.targets.map(Wa)
3389
- }), Ka = (e) => ({
3424
+ targets: e.targets.map(Ka)
3425
+ }), Ja = (e) => ({
3390
3426
  value: e.style.getPropertyValue("transform"),
3391
3427
  priority: e.style.getPropertyPriority("transform")
3392
- }), qa = (e, t) => e.value === t.value && e.priority === t.priority, Ja = (e) => {
3428
+ }), Ya = (e, t) => e.value === t.value && e.priority === t.priority, Xa = (e) => {
3393
3429
  let { element: t, beforeTransform: n, appliedTransform: r } = e;
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,
3430
+ Ya(Ja(t), r) && (n.value || n.priority ? t.style.setProperty("transform", n.value, n.priority) : t.style.removeProperty("transform"));
3431
+ }, Za = (e) => e instanceof Element && !!e.closest("input, textarea, select, [contenteditable='true'], [contenteditable='']"), Qa = () => ar({
3432
+ id: va,
3397
3433
  version: "0.1.0",
3398
- requires: [xa, "tool:select"],
3434
+ requires: [Ca, "tool:select"],
3399
3435
  provides: [
3400
3436
  "tool:arrange",
3401
3437
  "intent:arrange",
@@ -3403,19 +3439,19 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3403
3439
  "settings:arrange"
3404
3440
  ],
3405
3441
  setup(e) {
3406
- let t = e.service.get(xa);
3442
+ let t = e.service.get(Ca);
3407
3443
  if (!t) throw Error("Arrange plugin requires the Solid renderer runtime.");
3408
3444
  let { ownerDocument: n, ownerWindow: r } = t, i = t.createWorkspaceRuntime(), a = t.createInspectorMount(), o = t.pageTarget ?? n.body ?? n.documentElement, s = t.portalTarget, c = r;
3409
3445
  e.state.register({
3410
- id: va,
3446
+ id: ba,
3411
3447
  initial: { intents: [] },
3412
3448
  history: !0,
3413
3449
  persist: !0
3414
3450
  }), e.state.register({
3415
- id: ya,
3451
+ id: xa,
3416
3452
  initial: !1
3417
3453
  }), e.state.register({
3418
- id: ba,
3454
+ id: Sa,
3419
3455
  initial: {
3420
3456
  snapping: !0,
3421
3457
  elementEdges: !0,
@@ -3429,16 +3465,16 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3429
3465
  let l = a.element;
3430
3466
  l.dataset.mesurerArrange = "true", l.style.position = "fixed", l.style.inset = "0", l.style.zIndex = "84", l.style.pointerEvents = "none";
3431
3467
  let u = n.createElement("div");
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";
3468
+ u.dataset.mesurerArrangeSnapLine = "vertical", u.setAttribute("aria-hidden", "true"), u.style.position = "fixed", u.style.display = "none", u.style.width = "1px", u.style.backgroundColor = Na, u.style.pointerEvents = "none";
3433
3469
  let d = n.createElement("div");
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";
3470
+ d.dataset.mesurerArrangeSnapLine = "horizontal", d.setAttribute("aria-hidden", "true"), d.style.position = "fixed", d.style.display = "none", d.style.height = "1px", d.style.backgroundColor = Na, d.style.pointerEvents = "none";
3435
3471
  let f = n.createElement("div");
3436
3472
  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);
3437
3473
  let p = /* @__PURE__ */ new Map(), m = /* @__PURE__ */ new Map(), h = {
3438
3474
  intentId: null,
3439
3475
  state: "desired"
3440
3476
  }, 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 = () => {
3441
- let t = e.state.get(ba);
3477
+ let t = e.state.get(Sa);
3442
3478
  return {
3443
3479
  snapping: t?.snapping ?? !0,
3444
3480
  elementEdges: t?.elementEdges ?? !0,
@@ -3448,21 +3484,21 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3448
3484
  snapLines: t?.snapLines ?? !0
3449
3485
  };
3450
3486
  }, w = (t) => {
3451
- e.state.update(ba, (e) => ({
3487
+ e.state.update(Sa, (e) => ({
3452
3488
  ...e,
3453
3489
  ...t
3454
3490
  }));
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) => {
3491
+ }, T = () => Ua(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) => ki(e, o) && !D(e), k = (e) => {
3456
3492
  let t = [];
3457
3493
  o instanceof c.HTMLElement && o.matches(e) && !D(o) && t.push(o);
3458
3494
  for (let n of o.querySelectorAll(e)) n instanceof c.HTMLElement && O(n) && t.push(n);
3459
3495
  return t;
3460
3496
  }, A = (e) => {
3461
- let t = Ua(e);
3462
- if (!Ai(t)) return null;
3497
+ let t = Ga(e);
3498
+ if (!Mi(t)) return null;
3463
3499
  let n = [];
3464
3500
  try {
3465
- n = k(e.selector).filter((e) => ji(e, t));
3501
+ n = k(e.selector).filter((e) => Ni(e, t));
3466
3502
  } catch {
3467
3503
  return null;
3468
3504
  }
@@ -3470,7 +3506,7 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3470
3506
  if (!t.id && !t.testId) {
3471
3507
  let e = [];
3472
3508
  try {
3473
- e = k(t.tag).filter((e) => ji(e, t));
3509
+ e = k(t.tag).filter((e) => Ni(e, t));
3474
3510
  } catch {
3475
3511
  return null;
3476
3512
  }
@@ -3478,7 +3514,7 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3478
3514
  }
3479
3515
  return n[0] ?? null;
3480
3516
  }, j = () => {
3481
- for (let e of p.values()) Ja(e);
3517
+ for (let e of p.values()) Xa(e);
3482
3518
  p.clear();
3483
3519
  }, M = () => {
3484
3520
  u.style.display = "none", d.style.display = "none";
@@ -3498,10 +3534,10 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3498
3534
  value: e.style.getPropertyValue("visibility"),
3499
3535
  priority: e.style.getPropertyPriority("visibility")
3500
3536
  }), e.style.setProperty("visibility", "hidden", "important"));
3501
- }, P = () => {
3537
+ }, te = () => {
3502
3538
  for (let [e, t] of m) t.value || t.priority ? e.style.setProperty("visibility", t.value, t.priority) : e.style.removeProperty("visibility");
3503
3539
  m.clear();
3504
- }, F = (e = E()) => {
3540
+ }, P = (e = E()) => {
3505
3541
  let t = /* @__PURE__ */ new Map();
3506
3542
  for (let n of e) for (let e of n.targets) {
3507
3543
  let n = A(e);
@@ -3511,11 +3547,11 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3511
3547
  });
3512
3548
  }
3513
3549
  return t;
3514
- }, te = () => {
3550
+ }, ne = () => {
3515
3551
  if (h.state === "live") return /* @__PURE__ */ new Map();
3516
- if (!h.intentId) return F();
3552
+ if (!h.intentId) return P();
3517
3553
  let e = x().intents.find((e) => e.id === h.intentId);
3518
- if (!e) return F();
3554
+ if (!e) return P();
3519
3555
  let t = /* @__PURE__ */ new Map();
3520
3556
  for (let n of e.targets) {
3521
3557
  let e = A(n);
@@ -3528,44 +3564,44 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3528
3564
  });
3529
3565
  }
3530
3566
  return t;
3531
- }, I = (e) => {
3567
+ }, F = (e) => {
3532
3568
  j();
3533
3569
  for (let [t, n] of e) {
3534
3570
  if (!t.isConnected || !O(t) || n.x === 0 && n.y === 0) continue;
3535
- let e = Ka(t), i = r.getComputedStyle(t).transform, a = i && i !== "none" ? ` ${i}` : "";
3571
+ let e = Ja(t), i = r.getComputedStyle(t).transform, a = i && i !== "none" ? ` ${i}` : "";
3536
3572
  t.style.setProperty("transform", `translate3d(${n.x}px, ${n.y}px, 0)${a}`, "important"), p.set(t, {
3537
3573
  element: t,
3538
3574
  beforeTransform: e,
3539
- appliedTransform: Ka(t)
3575
+ appliedTransform: Ja(t)
3540
3576
  });
3541
3577
  }
3542
- }, L = () => I(te()), R = (e) => {
3578
+ }, I = () => F(ne()), L = (e) => {
3543
3579
  j();
3544
3580
  try {
3545
3581
  return e();
3546
3582
  } finally {
3547
- !v && !g && L();
3583
+ !v && !g && I();
3548
3584
  }
3549
- }, z = () => i.currentSelection().elements.filter((e) => e instanceof c.HTMLElement && e.isConnected && O(e));
3585
+ }, R = () => i.currentSelection().elements.filter((e) => e instanceof c.HTMLElement && e.isConnected && O(e));
3550
3586
  e.state.register({
3551
- id: Ea,
3552
- initial: z().length > 0
3587
+ id: Oa,
3588
+ initial: R().length > 0
3553
3589
  });
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) => {
3590
+ let z = () => e.state.get(Oa) ?? !1, B = () => {
3591
+ let t = R().length > 0;
3592
+ t !== z() && e.state.update(Oa, () => t);
3593
+ }, V = () => La(R().map((e) => Oi(e))), re = (e) => {
3558
3594
  let t = C();
3559
3595
  if (!t.snapping) return [];
3560
3596
  let n = [], a = new Set(e), s = i.snapshot(), l = s.xrayVisible && t.preferXrayEdges && t.elementEdges, u = 0, d = (i) => {
3561
- if (u >= Aa || a.has(i) || e.some((e) => e.contains(i)) || !O(i)) return;
3597
+ if (u >= Ma || a.has(i) || e.some((e) => e.contains(i)) || !O(i)) return;
3562
3598
  let o = r.getComputedStyle(i);
3563
3599
  if (o.display === "none" || o.visibility === "hidden" || o.visibility === "collapse") return;
3564
3600
  let s = o.outlineStyle === "solid" && (Number.parseFloat(o.outlineWidth) || 0) > 0;
3565
3601
  if (l && !s) return;
3566
- let c = Ei(i);
3602
+ let c = Oi(i);
3567
3603
  if (c.width <= 0 || c.height <= 0) return;
3568
- let d = ka;
3604
+ let d = ja;
3569
3605
  if (c.left + c.width < -160 || c.top + c.height < -160 || c.left > r.innerWidth + d || c.top > r.innerHeight + d) return;
3570
3606
  u += 1;
3571
3607
  let f = c.left + c.width, p = c.top + c.height;
@@ -3606,7 +3642,7 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3606
3642
  if (t.elementEdges || t.elementCenters) {
3607
3643
  o instanceof c.HTMLElement && d(o);
3608
3644
  for (let e of o.querySelectorAll("*")) {
3609
- if (u >= Aa) break;
3645
+ if (u >= Ma) break;
3610
3646
  e instanceof c.HTMLElement && d(e);
3611
3647
  }
3612
3648
  }
@@ -3631,7 +3667,7 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3631
3667
  f.style.display = "none";
3632
3668
  return;
3633
3669
  }
3634
- let t = e === void 0 ? ne() : e;
3670
+ let t = e === void 0 ? V() : e;
3635
3671
  if (!t) {
3636
3672
  f.style.display = "none";
3637
3673
  return;
@@ -3641,40 +3677,40 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3641
3677
  h = {
3642
3678
  intentId: null,
3643
3679
  state: "desired"
3644
- }, L(), M(), S() ? N() : P();
3680
+ }, I(), M(), S() ? N() : te();
3645
3681
  }, U = () => {
3646
3682
  h = {
3647
3683
  intentId: null,
3648
3684
  state: "live"
3649
- }, j(), M(), P();
3685
+ }, j(), M(), te();
3650
3686
  }, ae = () => {
3651
- v || g || (L(), M(), S() ? N() : P(), H());
3687
+ v || g || (I(), M(), S() ? N() : te(), H());
3652
3688
  }, W = () => {
3653
3689
  y || v || (y = r.requestAnimationFrame(() => {
3654
3690
  y = 0, ae();
3655
3691
  }));
3656
3692
  }, oe = async () => {
3657
- s.querySelector("[data-mesurer-builtin='select'] button")?.getAttribute("aria-pressed") !== "true" && await e.command.execute(Sa, void 0, { source: "arrange" });
3693
+ s.querySelector("[data-mesurer-builtin='select'] button")?.getAttribute("aria-pressed") !== "true" && await e.command.execute(wa, void 0, { source: "arrange" });
3658
3694
  }, se = (e) => {
3659
3695
  if (!S() || e.button !== 0) return;
3660
- let t = z();
3696
+ let t = R();
3661
3697
  if (!t.length) return;
3662
3698
  e.preventDefault(), e.stopPropagation(), h = {
3663
3699
  intentId: null,
3664
3700
  state: "desired"
3665
- }, L();
3666
- let n = F(E());
3701
+ }, I();
3702
+ let n = P(E());
3667
3703
  j();
3668
3704
  let r = t.map((e, t) => {
3669
- let r = Ei(e), i = n.get(e) ?? {
3705
+ let r = Oi(e), i = n.get(e) ?? {
3670
3706
  x: 0,
3671
3707
  y: 0
3672
- }, a = Na(r, i), o = ki(e);
3708
+ }, a = Fa(r, i), o = ji(e);
3673
3709
  return {
3674
3710
  element: e,
3675
3711
  target: {
3676
3712
  id: `target-${t + 1}`,
3677
- selector: Oi(e),
3713
+ selector: Ai(e),
3678
3714
  fingerprintTag: o.tag,
3679
3715
  fingerprintId: o.id,
3680
3716
  fingerprintTestId: o.testId,
@@ -3696,17 +3732,17 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3696
3732
  desiredOffsetY: i.y
3697
3733
  }
3698
3734
  };
3699
- }), i = Fa(r.map(({ target: e }) => ({
3735
+ }), i = La(r.map(({ target: e }) => ({
3700
3736
  left: e.beforeLeft,
3701
3737
  top: e.beforeTop,
3702
3738
  width: e.beforeWidth,
3703
3739
  height: e.beforeHeight
3704
3740
  })));
3705
3741
  if (!i) {
3706
- L();
3742
+ I();
3707
3743
  return;
3708
3744
  }
3709
- L(), N(), M(), g = {
3745
+ I(), N(), M(), g = {
3710
3746
  pointerId: e.pointerId,
3711
3747
  originX: e.clientX,
3712
3748
  originY: e.clientY,
@@ -3720,18 +3756,18 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3720
3756
  if (!g || e.pointerId !== g.pointerId) return;
3721
3757
  let t = e.clientX - g.originX, n = e.clientY - g.originY, r = null;
3722
3758
  e.shiftKey && (Math.abs(t) >= Math.abs(n) ? (n = 0, r = "x") : (t = 0, r = "y"));
3723
- let i = Na(g.groupBefore, {
3759
+ let i = Fa(g.groupBefore, {
3724
3760
  x: t,
3725
3761
  y: n
3726
- }), a = r === "y" ? null : Ba("x", i, g.snapCandidates), o = r === "x" ? null : Ba("y", i, g.snapCandidates);
3762
+ }), a = r === "y" ? null : Ha("x", i, g.snapCandidates), o = r === "x" ? null : Ha("y", i, g.snapCandidates);
3727
3763
  t += a?.delta ?? 0, n += o?.delta ?? 0, g.dx = t, g.dy = n;
3728
- let s = F(E());
3764
+ let s = P(E());
3729
3765
  for (let e of g.targets) s.set(e.element, {
3730
3766
  x: e.target.beforeOffsetX + t,
3731
3767
  y: e.target.beforeOffsetY + n
3732
3768
  });
3733
- I(s);
3734
- let c = Na(g.groupBefore, {
3769
+ F(s);
3770
+ let c = Fa(g.groupBefore, {
3735
3771
  x: t,
3736
3772
  y: n
3737
3773
  });
@@ -3749,7 +3785,7 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3749
3785
  return;
3750
3786
  }
3751
3787
  _ = {
3752
- id: Ha(r, "arrange"),
3788
+ id: Wa(r, "arrange"),
3753
3789
  createdAt: Date.now(),
3754
3790
  pageUrl: T(),
3755
3791
  targets: n.targets.map(({ target: e }) => ({
@@ -3759,16 +3795,16 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3759
3795
  desiredOffsetX: e.beforeOffsetX + n.dx,
3760
3796
  desiredOffsetY: e.beforeOffsetY + n.dy
3761
3797
  }))
3762
- }, e.command.execute(wa).catch(() => {
3798
+ }, e.command.execute(Ea).catch(() => {
3763
3799
  _ = null, ie(), H();
3764
3800
  });
3765
3801
  }, de = (e) => {
3766
3802
  !g || e.pointerId !== g.pointerId || le();
3767
3803
  }, fe = (t) => {
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()));
3804
+ t.key !== "Escape" || !S() && !g || Za(t.target) || s.querySelector("[data-mesurer-tool-menu]") || (t.preventDefault(), t.stopImmediatePropagation(), g ? le() : (e.state.update("mesurer.arrange.active", () => !1), U(), H()));
3769
3805
  };
3770
3806
  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(() => {
3771
- V(), W();
3807
+ B(), W();
3772
3808
  }), b.observe(o, {
3773
3809
  childList: !0,
3774
3810
  subtree: !0,
@@ -3782,21 +3818,21 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3782
3818
  ]
3783
3819
  });
3784
3820
  let pe = i.subscribe(() => {
3785
- V(), W();
3821
+ B(), W();
3786
3822
  }), me = e.state.subscribe(W), he = (e) => x().intents.find((t) => t.id === e) ?? null, ge = (e, t) => {
3787
3823
  let n = null;
3788
- if (n = t === "before" ? Fa(e.targets.map((e) => ({
3824
+ if (n = t === "before" ? La(e.targets.map((e) => ({
3789
3825
  left: e.beforeLeft,
3790
3826
  top: e.beforeTop,
3791
3827
  width: e.beforeWidth,
3792
3828
  height: e.beforeHeight
3793
- }))) : t === "desired" ? Fa(e.targets.map((e) => ({
3829
+ }))) : t === "desired" ? La(e.targets.map((e) => ({
3794
3830
  left: e.desiredLeft,
3795
3831
  top: e.desiredTop,
3796
3832
  width: e.desiredWidth,
3797
3833
  height: e.desiredHeight
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);
3834
+ }))) : L(() => La(e.targets.map((e) => A(e)).filter((e) => e !== null).map((e) => Oi(e)))), !n) throw Error(`Arrange intent has no resolvable capture region: ${e.id}`);
3835
+ let i = Math.max(0, n.left - Aa), a = Math.max(0, n.top - Aa), o = Math.min(r.innerWidth, n.left + n.width + Aa), s = Math.min(r.innerHeight, n.top + n.height + Aa);
3800
3836
  return {
3801
3837
  left: i,
3802
3838
  top: a,
@@ -3805,10 +3841,10 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3805
3841
  };
3806
3842
  }, _e = {
3807
3843
  active: S,
3808
- intents: () => x().intents.map(Ga),
3844
+ intents: () => x().intents.map(qa),
3809
3845
  intent(e) {
3810
3846
  let t = he(e);
3811
- return t ? Ga(t) : null;
3847
+ return t ? qa(t) : null;
3812
3848
  },
3813
3849
  show(e, t) {
3814
3850
  if (!he(e)) throw Error(`Arrange intent not found: ${e}`);
@@ -3841,10 +3877,10 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3841
3877
  }]
3842
3878
  };
3843
3879
  },
3844
- review: (e, t = Da) => {
3880
+ review: (e, t = ka) => {
3845
3881
  let n = he(e);
3846
3882
  if (!n) throw Error(`Arrange intent not found: ${e}`);
3847
- let r = R(() => n.targets.map((e) => {
3883
+ let r = L(() => n.targets.map((e) => {
3848
3884
  let n = A(e), r = {
3849
3885
  left: e.desiredLeft,
3850
3886
  top: e.desiredTop,
@@ -3859,7 +3895,7 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3859
3895
  delta: null,
3860
3896
  matched: !1
3861
3897
  };
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;
3898
+ let i = Oi(n), a = Ia(i, r), o = Math.abs(a.left) <= t && Math.abs(a.top) <= t && Math.abs(a.width) <= t && Math.abs(a.height) <= t;
3863
3899
  return {
3864
3900
  targetId: e.id,
3865
3901
  selector: e.selector,
@@ -3879,7 +3915,7 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3879
3915
  };
3880
3916
  },
3881
3917
  clear: async () => {
3882
- await e.command.execute(Ta);
3918
+ await e.command.execute(Da);
3883
3919
  }
3884
3920
  };
3885
3921
  e.tool.register({
@@ -3887,8 +3923,8 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3887
3923
  label: "Arrange",
3888
3924
  shortcut: "Shift+A",
3889
3925
  order: 65,
3890
- command: Ca,
3891
- icon: Ma,
3926
+ command: Ta,
3927
+ icon: Pa,
3892
3928
  active: S,
3893
3929
  menu: {
3894
3930
  label: "Arrange options",
@@ -3995,28 +4031,28 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3995
4031
  disabled: () => !C().snapping
3996
4032
  }
3997
4033
  ]
3998
- }), e.command.register(Ca, async () => {
4034
+ }), e.command.register(Ta, async () => {
3999
4035
  let t = !S();
4000
4036
  if (t && await oe(), e.state.update("mesurer.arrange.active", () => t), !t) {
4001
4037
  g && le(), U(), H();
4002
4038
  return;
4003
4039
  }
4004
4040
  ie(), H();
4005
- }), e.command.register(wa, () => {
4041
+ }), e.command.register(Ea, () => {
4006
4042
  let t = _;
4007
4043
  _ = null, t && (e.state.update("mesurer.arrange.intents", (e) => ({ intents: [...e.intents, t].slice(-100) })), ie(), H());
4008
- }), e.command.register(Ta, () => {
4009
- e.state.update(va, () => ({ intents: [] })), h = {
4044
+ }), e.command.register(Da, () => {
4045
+ e.state.update(ba, () => ({ intents: [] })), h = {
4010
4046
  intentId: null,
4011
4047
  state: "desired"
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();
4048
+ }, j(), M(), S() ? N() : te(), H();
4049
+ }), e.service.provide(ya, _e), I(), H(), e.lifecycle.onDispose(() => {
4050
+ 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();
4015
4051
  });
4016
4052
  }
4017
- }), Za = (e, t, n) => {
4053
+ }), $a = (e, t, n) => {
4018
4054
  let r = !1, i = 0, a = null, o = null, s = () => ({
4019
- visible: (e.state.get("mesurer.arrange.active") ?? !1) || ha(e).keepArrangeChanges,
4055
+ visible: (e.state.get("mesurer.arrange.active") ?? !1) || _a(e).keepArrangeChanges,
4020
4056
  intents: e.state.get("mesurer.arrange.intents")?.intents ?? []
4021
4057
  }), c = (e, t) => e?.visible === t.visible && e.intents === t.intents, l = (e) => {
4022
4058
  if (a = e, e.visible) {
@@ -4037,23 +4073,23 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
4037
4073
  l(s()), e.lifecycle.onDispose(() => {
4038
4074
  r = !0, i && n.cancelAnimationFrame(i), i = 0, o = null, d.dispose();
4039
4075
  });
4040
- }, Qa = [
4076
+ }, eo = [
4041
4077
  "[data-mesurer-measurement='true']",
4042
4078
  "[data-mesurer-selected-measurement='true']",
4043
4079
  "[data-mesurer-inspector-ui='true']"
4044
- ].join(""), $a = "[data-mesurer-text-edit-runtime='true']", eo = "[data-mesurer-text-editor='true']", to = (e, t) => {
4080
+ ].join(""), to = "[data-mesurer-text-edit-runtime='true']", no = "[data-mesurer-text-editor='true']", ro = (e, t) => {
4045
4081
  let n = t.ownerDocument.body;
4046
4082
  if (!n) return;
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 = () => {
4083
+ let r = t.ownerWindow, i = /* @__PURE__ */ new Map(), a = e.state.get("mesurer.arrange.active") ?? !1, o = null, s = null, c = (e) => e.matches(eo) && e.getRootNode() === t.ownerDocument && e.parentElement === n, l = () => {
4048
4084
  for (let [e, t] of i) e.isConnected && (t.value || t.priority ? e.style.setProperty("visibility", t.value, t.priority) : e.style.removeProperty("visibility"));
4049
4085
  i.clear();
4050
- }, u = () => !!o?.querySelector(eo), d = (e) => {
4086
+ }, u = () => !!o?.querySelector(no), d = (e) => {
4051
4087
  !a || u() || !c(e) || (i.has(e) || i.set(e, {
4052
4088
  value: e.style.getPropertyValue("visibility"),
4053
4089
  priority: e.style.getPropertyPriority("visibility")
4054
4090
  }), (e.style.getPropertyValue("visibility") !== "hidden" || e.style.getPropertyPriority("visibility") !== "important") && e.style.setProperty("visibility", "hidden", "important"));
4055
4091
  }, f = () => {
4056
- if (!(!a || u())) for (let e of n.querySelectorAll(Qa)) e instanceof r.HTMLElement && d(e);
4092
+ if (!(!a || u())) for (let e of n.querySelectorAll(eo)) e instanceof r.HTMLElement && d(e);
4057
4093
  }, p = () => {
4058
4094
  !a || u() ? l() : f();
4059
4095
  }, m = (e) => {
@@ -4068,14 +4104,14 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
4068
4104
  }), p();
4069
4105
  }
4070
4106
  }, h = () => {
4071
- let e = n.querySelectorAll($a);
4107
+ let e = n.querySelectorAll(to);
4072
4108
  return e.item(e.length - 1);
4073
4109
  };
4074
4110
  m(h());
4075
4111
  let g = new r.MutationObserver((e) => {
4076
4112
  let t = !1;
4077
4113
  for (let n of e) {
4078
- for (let e of n.addedNodes) e instanceof r.HTMLElement && (e.matches($a) && (t = !0), d(e));
4114
+ for (let e of n.addedNodes) e instanceof r.HTMLElement && (e.matches(to) && (t = !0), d(e));
4079
4115
  for (let e of n.removedNodes) e === o && (t = !0);
4080
4116
  }
4081
4117
  t && m(h());
@@ -4088,20 +4124,20 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
4088
4124
  p(), e.lifecycle.onDispose(() => {
4089
4125
  g.disconnect(), s?.disconnect(), s = null, _.dispose(), l();
4090
4126
  });
4091
- }, no = () => {
4092
- let e = Xa();
4127
+ }, io = () => {
4128
+ let e = Qa();
4093
4129
  return {
4094
4130
  ...e,
4095
4131
  async setup(t) {
4096
4132
  await e.setup(t);
4097
- let n = t.service.get(_a);
4133
+ let n = t.service.get(ya);
4098
4134
  if (!n) throw Error("Arrange presentation policy requires the Arrange service.");
4099
4135
  let r = t.service.get("runtime:solid");
4100
4136
  if (!r) throw Error("Arrange presentation policy requires the Solid renderer runtime.");
4101
- Za(t, n, r.ownerWindow), to(t, r);
4137
+ $a(t, n, r.ownerWindow), ro(t, r);
4102
4138
  }
4103
4139
  };
4104
- }, ro = (e, t, n, r) => ar({
4140
+ }, ao = (e, t, n, r) => ar({
4105
4141
  id: `mesurer.${e}`,
4106
4142
  version: "0.1.0",
4107
4143
  provides: [`tool:${e}`],
@@ -4115,7 +4151,7 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
4115
4151
  command: `builtin.${e}`
4116
4152
  });
4117
4153
  }
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({
4154
+ }), oo = () => ao("select", "Select", "S", 10), so = () => ao("xray", "X-ray", "X", 20), co = () => ao("color-picker", "Color picker", "P", 30), lo = () => ao("rulers", "Rulers", "R", 40), uo = () => ao("text-inspector", "Typography", "A", 50), fo = () => ao("guides", "Guides", "G", 60), po = () => ao("settings", "Settings", "⌘/Ctrl+,", 90), mo = () => ar({
4119
4155
  id: "mesurer.distance",
4120
4156
  version: "0.1.0",
4121
4157
  provides: ["overlay:distance", "settings:selection-spacing"],
@@ -4131,21 +4167,21 @@ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
4131
4167
  order: 30
4132
4168
  });
4133
4169
  }
4134
- }), po = () => [
4135
- io(),
4136
- ao(),
4170
+ }), ho = () => [
4137
4171
  oo(),
4138
4172
  so(),
4139
4173
  co(),
4140
4174
  lo(),
4175
+ uo(),
4141
4176
  fo(),
4142
- uo()
4177
+ mo(),
4178
+ po()
4143
4179
  ];
4144
- function mo(e = [], t = []) {
4180
+ function go(e = [], t = []) {
4145
4181
  let n = new Set(t.map((e) => `mesurer.${e}`));
4146
- return [...po().filter((e) => !n.has(e.id)), ...e];
4182
+ return [...ho().filter((e) => !n.has(e.id)), ...e];
4147
4183
  }
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) => {
4184
+ var _o = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), vo = (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), yo = (e, t, n, r, i) => {
4149
4185
  let a = e.left + e.width, o = e.top + e.height, s = [
4150
4186
  {
4151
4187
  axis: "vertical",
@@ -4193,7 +4229,7 @@ var ho = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), go = (e, t, n =
4193
4229
  }
4194
4230
  ];
4195
4231
  return i ? s.sort((e, t) => t.space - e.space) : s;
4196
- }, vo = (e, t, n) => {
4232
+ }, bo = (e, t, n) => {
4197
4233
  let r = [];
4198
4234
  for (let i = 0; i <= n; i += 1) {
4199
4235
  let n = i * t;
@@ -4219,14 +4255,14 @@ var ho = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), go = (e, t, n =
4219
4255
  }
4220
4256
  return r;
4221
4257
  };
4222
- function yo(e, t, n = {}) {
4258
+ function xo(e, t, n = {}) {
4223
4259
  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 = [];
4224
4260
  for (let n of e) {
4225
- let e = /* @__PURE__ */ new Set(), _ = [], v = _o(n.rect, t, r, a, u);
4226
- for (let t of vo(v, d, l)) {
4261
+ let e = /* @__PURE__ */ new Set(), _ = [], v = yo(n.rect, t, r, a, u);
4262
+ for (let t of bo(v, d, l)) {
4227
4263
  let n = u ? {
4228
- left: ho(t.left, s, f),
4229
- top: ho(t.top, s, p)
4264
+ left: _o(t.left, s, f),
4265
+ top: _o(t.top, s, p)
4230
4266
  } : t, r = `${n.left}:${n.top}`;
4231
4267
  e.has(r) || (e.add(r), _.push(n));
4232
4268
  }
@@ -4236,21 +4272,21 @@ function yo(e, t, n = {}) {
4236
4272
  width: r,
4237
4273
  height: r
4238
4274
  };
4239
- return h.every((e) => !go(t, e, o)) && c.every((e) => !go(t, e, i));
4275
+ return h.every((e) => !vo(t, e, o)) && c.every((e) => !vo(t, e, i));
4240
4276
  }), b = y.find((e) => {
4241
4277
  let t = {
4242
4278
  ...e,
4243
4279
  width: r,
4244
4280
  height: r
4245
4281
  };
4246
- return m.every((e) => !go(t, e, i));
4282
+ return m.every((e) => !vo(t, e, i));
4247
4283
  }) ?? y.find((e) => {
4248
4284
  let t = {
4249
4285
  ...e,
4250
4286
  width: r,
4251
4287
  height: r
4252
4288
  };
4253
- return m.every((e) => !go(t, e));
4289
+ return m.every((e) => !vo(t, e));
4254
4290
  }) ?? y[0] ?? _[0] ?? {
4255
4291
  left: s,
4256
4292
  top: s
@@ -4266,20 +4302,20 @@ function yo(e, t, n = {}) {
4266
4302
  }
4267
4303
  return g;
4268
4304
  }
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) => {
4305
+ var So = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), Co = 0, wo = (e) => e.split(",").map((e) => e.trim()).filter((e) => e.length > 0 && e !== "none"), To = (e) => {
4270
4306
  let t = e.ownerDocument.defaultView?.HTMLElement;
4271
4307
  return !!(t && e instanceof t);
4272
- }, wo = (e, t) => {
4273
- let n = e.style.getPropertyValue("anchor-name"), r = e.style.getPropertyPriority("anchor-name"), i = So(n);
4308
+ }, Eo = (e, t) => {
4309
+ let n = e.style.getPropertyValue("anchor-name"), r = e.style.getPropertyPriority("anchor-name"), i = wo(n);
4274
4310
  i.includes(t) || e.style.setProperty("anchor-name", [...i, t].join(", "), r);
4275
4311
  let a = !1;
4276
4312
  return () => {
4277
4313
  if (a) return;
4278
4314
  a = !0;
4279
- let i = So(e.style.getPropertyValue("anchor-name")).filter((e) => e !== t);
4315
+ let i = wo(e.style.getPropertyValue("anchor-name")).filter((e) => e !== t);
4280
4316
  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");
4281
4317
  };
4282
- }, To = (e) => {
4318
+ }, Do = (e) => {
4283
4319
  if (!e.length) return null;
4284
4320
  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));
4285
4321
  return {
@@ -4288,14 +4324,14 @@ var bo = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), xo = 0, So = (e)
4288
4324
  width: r - t,
4289
4325
  height: i - n
4290
4326
  };
4291
- }, Eo = (e, t, n, r, i = 8) => {
4327
+ }, Oo = (e, t, n, r, i = 8) => {
4292
4328
  let a = r.innerWidth - t - 8, o = r.innerHeight - n - 8, s = e.left + e.width + i, c = e.left - t - i;
4293
4329
  return {
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)
4330
+ left: s + t <= r.innerWidth - 8 ? s : c >= 8 ? c : So(e.left + e.width - t, 8, a),
4331
+ top: So(e.top, 8, o)
4296
4332
  };
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;
4333
+ }, ko = (e, t, n, r, i = 8) => {
4334
+ let a = r.innerWidth - t - 8, o = So(e.left + e.width / 2 - t / 2, 8, a), s = e.top + e.height + i;
4299
4335
  if (s + n <= r.innerHeight - 8) return {
4300
4336
  left: o,
4301
4337
  top: s
@@ -4304,12 +4340,12 @@ var bo = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), xo = 0, So = (e)
4304
4340
  return c >= 8 ? {
4305
4341
  left: o,
4306
4342
  top: c
4307
- } : Eo(e, t, n, r, i);
4343
+ } : Oo(e, t, n, r, i);
4308
4344
  };
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();
4345
+ function Ao(e) {
4346
+ 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-${++Co}`, 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) => {
4347
+ if (B()) return e;
4348
+ let t = z();
4313
4349
  return {
4314
4350
  left: e.left + t.scrollX,
4315
4351
  top: e.top + t.scrollY
@@ -4323,7 +4359,7 @@ function Oo(e) {
4323
4359
  }, 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 = () => {
4324
4360
  A = null, v(""), g(!1), b(null), m(null);
4325
4361
  }, ae = () => {
4326
- let e = B();
4362
+ let e = z();
4327
4363
  return !!(e.CSS?.supports("anchor-name: --mesurer-annotation-trigger") && e.CSS.supports("position-anchor: --mesurer-annotation-trigger") && e.CSS.supports("left: anchor(left)"));
4328
4364
  }, W = () => {
4329
4365
  let t = e.runtime.currentSelection().elements;
@@ -4332,18 +4368,18 @@ function Oo(e) {
4332
4368
  return t.find((e) => e === n) ?? t.find((e) => n && e.contains(n)) ?? t[0];
4333
4369
  }, oe = () => ee?.parentElement, se = () => {
4334
4370
  let e = oe();
4335
- return e ? [...e.querySelectorAll("[data-mesurer-annotation-trigger='true'], [data-mesurer-annotation-composer='true']")].filter((e) => e !== N || F === null) : [];
4371
+ return e ? [...e.querySelectorAll("[data-mesurer-annotation-trigger='true'], [data-mesurer-annotation-composer='true']")].filter((e) => e !== N || P === null) : [];
4336
4372
  }, ce = (e) => {
4337
4373
  let t = oe();
4338
4374
  return t ? [...t.querySelectorAll("[data-mesurer-annotation-id]")].filter((t) => t.dataset.mesurerAnnotationId === e) : [];
4339
4375
  }, le = (e) => {
4340
- let t = z.get(e);
4341
- t && (t.scroll.release(), t.releaseAnchor?.(), z.delete(e));
4376
+ let t = R.get(e);
4377
+ t && (t.scroll.release(), t.releaseAnchor?.(), R.delete(e));
4342
4378
  }, ue = (t) => {
4343
4379
  let n = e.runtime.annotation(t);
4344
4380
  return !n || n.anchor.kind !== "elements" ? null : n.resolvedTargets.find(({ element: e }) => e?.isConnected)?.element ?? null;
4345
- }, de = (e) => !!(Co(e) && V() && ee && ae() && e.getRootNode() === ee.getRootNode()), fe = (e) => {
4346
- let t = ue(e), n = z.get(e);
4381
+ }, de = (e) => !!(To(e) && B() && ee && ae() && e.getRootNode() === ee.getRootNode()), fe = (e) => {
4382
+ let t = ue(e), n = R.get(e);
4347
4383
  if (!t) {
4348
4384
  n && (le(e), i((e) => e + 1));
4349
4385
  return;
@@ -4356,65 +4392,65 @@ function Oo(e) {
4356
4392
  le(e);
4357
4393
  let a = t.ownerDocument.defaultView;
4358
4394
  if (a) {
4359
- if (r && Co(t)) {
4360
- let n = `--mesurer-annotation-${++xo}`;
4361
- z.set(e, {
4395
+ if (r && To(t)) {
4396
+ let n = `--mesurer-annotation-${++Co}`;
4397
+ R.set(e, {
4362
4398
  target: t,
4363
4399
  anchorName: n,
4364
- releaseAnchor: wo(t, n),
4365
- scroll: ti(a, t, () => ce(e), { trackWindow: !1 })
4400
+ releaseAnchor: Eo(t, n),
4401
+ scroll: ri(a, t, () => ce(e), { trackWindow: !1 })
4366
4402
  });
4367
- } else z.set(e, {
4403
+ } else R.set(e, {
4368
4404
  target: t,
4369
4405
  anchorName: null,
4370
4406
  releaseAnchor: null,
4371
- scroll: ti(a, t, () => ce(e), { trackWindow: V() })
4407
+ scroll: ri(a, t, () => ce(e), { trackWindow: B() })
4372
4408
  });
4373
4409
  i((e) => e + 1);
4374
4410
  }
4375
4411
  }, pe = () => {
4376
4412
  let t = new Set(e.runtime.annotations().map((e) => e.id));
4377
- for (let e of z.keys()) t.has(e) || le(e);
4413
+ for (let e of R.keys()) t.has(e) || le(e);
4378
4414
  for (let e of t) fe(e);
4379
4415
  }, me = (e) => {
4380
- B().queueMicrotask(() => fe(e));
4416
+ z().queueMicrotask(() => fe(e));
4381
4417
  }, he = () => {
4382
- B().queueMicrotask(() => {
4418
+ z().queueMicrotask(() => {
4383
4419
  pe();
4384
- for (let e of z.values()) e.anchorName || e.scroll.rebase();
4420
+ for (let e of R.values()) e.anchorName || e.scroll.rebase();
4385
4421
  });
4386
4422
  };
4387
4423
  e.initialTriggerFallback && (O = W());
4388
4424
  let ge = () => {
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 = () => {
4425
+ F?.release(), F = null, ne?.(), ne = null, te = null, P = null;
4426
+ }, _e = (e) => !!(To(e) && B() && ee && e !== O && ae() && e.getRootNode() === ee.getRootNode()), ve = () => {
4391
4427
  let e = W();
4392
4428
  O && e !== O && (O = null);
4393
- let t = P, n = !!(e?.isConnected && _e(e)), r = F === e;
4394
- if (e === P && e?.isConnected && n === r) {
4395
- I?.sync();
4429
+ let t = te, n = !!(e?.isConnected && _e(e)), r = P === e;
4430
+ if (e === te && e?.isConnected && n === r) {
4431
+ F?.sync();
4396
4432
  return;
4397
4433
  }
4398
- let i = e === t ? D : `--mesurer-annotation-trigger-${++xo}`;
4434
+ let i = e === t ? D : `--mesurer-annotation-trigger-${++Co}`;
4399
4435
  if (ge(), !e?.isConnected) return;
4400
- P = e;
4436
+ te = e;
4401
4437
  let a = e.ownerDocument.defaultView;
4402
4438
  if (a) {
4403
- if (n && Co(e)) {
4404
- te = wo(e, i), F = e, D = i, I = ti(a, e, se, { trackWindow: !1 });
4439
+ if (n && To(e)) {
4440
+ ne = Eo(e, i), P = e, D = i, F = ri(a, e, se, { trackWindow: !1 });
4405
4441
  return;
4406
4442
  }
4407
- D = i, I = ti(a, e, se, { trackWindow: V() });
4443
+ D = i, F = ri(a, e, se, { trackWindow: B() });
4408
4444
  }
4409
4445
  }, ye = (e) => {
4410
- if (L?.disconnect(), L = null, !e?.isConnected) return;
4446
+ if (I?.disconnect(), I = null, !e?.isConnected) return;
4411
4447
  let t = e.ownerDocument.defaultView;
4412
- t && (L = new t.ResizeObserver(() => {
4448
+ t && (I = new t.ResizeObserver(() => {
4413
4449
  i((e) => e + 1);
4414
- }), L.observe(e));
4450
+ }), I.observe(e));
4415
4451
  }, be = () => {
4416
- let e = B();
4417
- R !== e && (R?.removeEventListener("resize", xe), R = e, R.addEventListener("resize", xe, { passive: !0 }));
4452
+ let e = z();
4453
+ L !== e && (L?.removeEventListener("resize", xe), L = e, L.addEventListener("resize", xe, { passive: !0 }));
4418
4454
  };
4419
4455
  function xe() {
4420
4456
  i((e) => e + 1);
@@ -4427,9 +4463,9 @@ function Oo(e) {
4427
4463
  let r = W(), i = r !== Se;
4428
4464
  i && (Se = r, ye(Se), k && (k = !1, O = r)), ve(), i && xe(), n((e) => e + 1), he();
4429
4465
  });
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);
4466
+ ve(), z().queueMicrotask(pe), St(() => {
4467
+ I?.disconnect(), I = null, L?.removeEventListener("resize", xe), L = null, ge();
4468
+ for (let e of R.keys()) le(e);
4433
4469
  Ce();
4434
4470
  });
4435
4471
  let we = Gt(() => (t(), e.runtime.currentSelection())), Te = Gt(() => (t(), e.runtime.annotations())), Ee = Gt(() => {
@@ -4470,7 +4506,7 @@ function Oo(e) {
4470
4506
  };
4471
4507
  });
4472
4508
  return e.region && t.push({ ...e.region }), t;
4473
- }), Ne = Gt(() => To(Me())), Pe = () => {
4509
+ }), Ne = Gt(() => Do(Me())), Pe = () => {
4474
4510
  let e = we().elements.length;
4475
4511
  return e > 1 ? `${e} selected elements` : e === 1 ? "Selected element" : "Selected region";
4476
4512
  }, Fe = (e) => e.anchor.kind === "elements" ? `${e.anchor.targets.length} selected ${e.anchor.targets.length === 1 ? "element" : "elements"}` : "Selected region", Ie = Gt(() => {
@@ -4487,12 +4523,12 @@ function Oo(e) {
4487
4523
  top: t.top,
4488
4524
  width: t.width,
4489
4525
  height: t.height
4490
- }, r = B(), i = [...ut(Re).values()].map((e) => ({
4526
+ }, r = z(), i = [...ut(Re).values()].map((e) => ({
4491
4527
  left: e.left,
4492
4528
  top: e.top,
4493
4529
  width: 24,
4494
4530
  height: 24
4495
- })), [a] = yo([{
4531
+ })), [a] = xo([{
4496
4532
  id: "selection-note-trigger",
4497
4533
  rect: n
4498
4534
  }], {
@@ -4501,7 +4537,7 @@ function Oo(e) {
4501
4537
  }, {
4502
4538
  obstacles: i,
4503
4539
  maxShiftRings: 1
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;
4540
+ }), o = a?.left ?? So(n.left + n.width + 6, 4, r.innerWidth - 24 - 4), s = a?.top ?? So(n.top, 4, r.innerHeight - 24 - 4), c = P === e, l = B() && !c;
4505
4541
  return {
4506
4542
  left: c || l ? o : o + r.scrollX,
4507
4543
  top: c || l ? s : s + r.scrollY,
@@ -4512,20 +4548,20 @@ function Oo(e) {
4512
4548
  };
4513
4549
  }, Re = Gt(() => {
4514
4550
  t(), r();
4515
- let n = B(), i = Te().flatMap((t) => {
4551
+ let n = z(), i = Te().flatMap((t) => {
4516
4552
  let n = e.runtime.annotationRect(t.id);
4517
4553
  return n ? [{
4518
4554
  id: t.id,
4519
4555
  rect: n
4520
4556
  }] : [];
4521
4557
  });
4522
- return new Map(yo(i, {
4558
+ return new Map(xo(i, {
4523
4559
  width: n.innerWidth,
4524
4560
  height: n.innerHeight
4525
4561
  }, { obstacles: Me() }).map((e) => [e.id, e]));
4526
4562
  }), ze = (e) => Re().get(e) ?? null, Be = (e, t) => {
4527
4563
  r();
4528
- let n = z.get(e);
4564
+ let n = R.get(e);
4529
4565
  if (!n?.anchorName || !n.target.isConnected) return {
4530
4566
  ...re(t),
4531
4567
  nativeAnchor: !1
@@ -4539,18 +4575,18 @@ function Oo(e) {
4539
4575
  anchorY: t.top - i.top
4540
4576
  };
4541
4577
  }, Ve = () => {
4542
- let e = Ne(), t = B(), n = p();
4578
+ let e = Ne(), t = z(), n = p();
4543
4579
  return n && e ? {
4544
4580
  left: e.left + n.left,
4545
4581
  top: e.top + n.top
4546
- } : e ? Do(e, 272, 168, t) : {
4582
+ } : e ? ko(e, 272, 168, t) : {
4547
4583
  left: 8,
4548
4584
  top: 8
4549
4585
  };
4550
4586
  }, He = () => {
4551
4587
  r();
4552
4588
  let e = Ve(), t = Ie();
4553
- if (!t?.isConnected || F !== t) return {
4589
+ if (!t?.isConnected || P !== t) return {
4554
4590
  ...re(e),
4555
4591
  nativeAnchor: !1
4556
4592
  };
@@ -4563,8 +4599,8 @@ function Oo(e) {
4563
4599
  anchorY: e.top - n.top
4564
4600
  };
4565
4601
  }, Ue = (e, t) => {
4566
- let n = B(), r = Re(), i = r.get(e);
4567
- if (!i) return Eo(t, 272, 176, n);
4602
+ let n = z(), r = Re(), i = r.get(e);
4603
+ if (!i) return Oo(t, 272, 176, n);
4568
4604
  let a = n.innerWidth - 272 - 8, o = n.innerHeight - 176 - 8, s = [...r.values()].map((e) => ({
4569
4605
  left: e.left,
4570
4606
  top: e.top,
@@ -4590,8 +4626,8 @@ function Oo(e) {
4590
4626
  }
4591
4627
  ]) {
4592
4628
  let t = {
4593
- left: bo(e.left, 8, a),
4594
- top: bo(e.top, 8, o)
4629
+ left: So(e.left, 8, a),
4630
+ top: So(e.top, 8, o)
4595
4631
  }, n = `${t.left}:${t.top}`;
4596
4632
  l.has(n) || (l.add(n), u.push(t));
4597
4633
  }
@@ -4607,7 +4643,7 @@ function Oo(e) {
4607
4643
  targetOverlap: c(r, t),
4608
4644
  index: n
4609
4645
  };
4610
- }).sort((e, t) => e.markerOverlap - t.markerOverlap || e.targetOverlap - t.targetOverlap || e.index - t.index)[0]?.candidate ?? Eo(t, 272, 176, n);
4646
+ }).sort((e, t) => e.markerOverlap - t.markerOverlap || e.targetOverlap - t.targetOverlap || e.index - t.index)[0]?.candidate ?? Oo(t, 272, 176, n);
4611
4647
  }, We = (t) => {
4612
4648
  let n = e.runtime.annotationRect(t);
4613
4649
  if (!n) return {
@@ -4620,7 +4656,7 @@ function Oo(e) {
4620
4656
  top: n.top + r.top
4621
4657
  } : Ue(t, n);
4622
4658
  }, Ge = (t) => {
4623
- B().queueMicrotask(() => {
4659
+ z().queueMicrotask(() => {
4624
4660
  let n = e.runtime.annotationRect(t);
4625
4661
  n && f((e) => {
4626
4662
  if (e[t]) return e;
@@ -4641,7 +4677,7 @@ function Oo(e) {
4641
4677
  if (t.button !== 0 || r && i instanceof r && i.closest("button")) return;
4642
4678
  let a = t.currentTarget.parentElement;
4643
4679
  if (!a) return;
4644
- let o = a.getBoundingClientRect(), s = B(), c = s.document.documentElement, l = c.style.userSelect;
4680
+ let o = a.getBoundingClientRect(), s = z(), c = s.document.documentElement, l = c.style.userSelect;
4645
4681
  c.style.setProperty("user-select", "none", "important"), j = {
4646
4682
  surfaceId: n,
4647
4683
  pointerId: t.pointerId,
@@ -4655,8 +4691,8 @@ function Oo(e) {
4655
4691
  let u = (t) => {
4656
4692
  if (!j || t.pointerId !== j.pointerId) return;
4657
4693
  let r = j, i = Math.max(8, s.innerWidth - r.width - 8), a = Math.max(8, s.innerHeight - r.height - 8), o = {
4658
- left: bo(r.originLeft + t.clientX - r.startX, 8, i),
4659
- top: bo(r.originTop + t.clientY - r.startY, 8, a)
4694
+ left: So(r.originLeft + t.clientX - r.startX, 8, i),
4695
+ top: So(r.originTop + t.clientY - r.startY, 8, a)
4660
4696
  };
4661
4697
  if (n === "composer") {
4662
4698
  let e = Ne();
@@ -4701,13 +4737,13 @@ function Oo(e) {
4701
4737
  k = !1, A = H(), v(""), b(null), w(null), o(null);
4702
4738
  let e = Ne();
4703
4739
  if (e) {
4704
- let t = Do(e, 272, 168, B());
4740
+ let t = ko(e, 272, 168, z());
4705
4741
  m({
4706
4742
  left: t.left - e.left,
4707
4743
  top: t.top - e.top
4708
4744
  });
4709
4745
  } else m(null);
4710
- g(!0), B().queueMicrotask(() => I?.sync());
4746
+ g(!0), z().queueMicrotask(() => F?.sync());
4711
4747
  }, Qe = () => {
4712
4748
  let e = h();
4713
4749
  A !== null && !ie(A, H()) ? (O = W(), k = !1, ve(), xe()) : e && (k = !1), Xe();
@@ -4764,10 +4800,10 @@ function Oo(e) {
4764
4800
  }
4765
4801
  });
4766
4802
  return nr(() => (e) => {
4767
- N = e, I?.sync();
4768
- }, t), Z(t, J(yi, { size: 14 })), q(() => ({
4769
- e: V() ? "viewport" : "document",
4770
- t: ne(e().nativeAnchor),
4803
+ N = e, F?.sync();
4804
+ }, t), Z(t, J(xi, { size: 14 })), q(() => ({
4805
+ e: B() ? "viewport" : "document",
4806
+ t: V(e().nativeAnchor),
4771
4807
  a: {
4772
4808
  position: e().nativeAnchor || e().viewportOwned ? "fixed" : "absolute",
4773
4809
  left: e().nativeAnchor ? `calc(anchor(left) + ${e().anchorX}px)` : `${e().left}px`,
@@ -4830,10 +4866,10 @@ function Oo(e) {
4830
4866
  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]",
4831
4867
  onClick: et
4832
4868
  });
4833
- return X(t, n), X(t, s), X(t, c), X(n, r), X(n, o), Z(n, J(yi, {
4869
+ return X(t, n), X(t, s), X(t, c), X(n, r), X(n, o), Z(n, J(xi, {
4834
4870
  size: 14,
4835
4871
  class: "msr:text-ink-700"
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, {
4872
+ }), r), X(r, i), X(r, a), X(i, Qn("Add note")), Z(a, Pe), Z(o, J(Ci, { size: 14 })), Z(t, J(Xt, {
4837
4873
  get when() {
4838
4874
  return y();
4839
4875
  },
@@ -4842,10 +4878,10 @@ function Oo(e) {
4842
4878
  return Z(t, e), t;
4843
4879
  })()
4844
4880
  }), 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(() => ({
4845
- e: V() ? "viewport" : "document",
4846
- t: ne(e().nativeAnchor),
4881
+ e: B() ? "viewport" : "document",
4882
+ t: V(e().nativeAnchor),
4847
4883
  a: {
4848
- position: e().nativeAnchor || V() ? "fixed" : "absolute",
4884
+ position: e().nativeAnchor || B() ? "fixed" : "absolute",
4849
4885
  left: e().nativeAnchor ? `calc(anchor(left) + ${e().anchorX}px)` : `${e().left}px`,
4850
4886
  top: e().nativeAnchor ? `calc(anchor(top) + ${e().anchorY}px)` : `${e().top}px`,
4851
4887
  translate: "var(--mesurer-nested-scroll-x, 0px) var(--mesurer-nested-scroll-y, 0px)",
@@ -4888,9 +4924,9 @@ function Oo(e) {
4888
4924
  });
4889
4925
  return q(() => ({
4890
4926
  e: t() ?? void 0,
4891
- t: ne(n().nativeAnchor),
4927
+ t: V(n().nativeAnchor),
4892
4928
  a: {
4893
- position: n().nativeAnchor || V() ? "fixed" : "absolute",
4929
+ position: n().nativeAnchor || B() ? "fixed" : "absolute",
4894
4930
  left: n().nativeAnchor ? `calc(anchor(left) + ${n().anchorX}px)` : `${n().left}px`,
4895
4931
  top: n().nativeAnchor ? `calc(anchor(top) + ${n().anchorY}px)` : `${n().top}px`,
4896
4932
  width: `${e.width}px`,
@@ -4950,13 +4986,13 @@ function Oo(e) {
4950
4986
  t: t() + 1,
4951
4987
  a: i() ? "true" : void 0,
4952
4988
  o: o() ? "true" : void 0,
4953
- i: ne(n().nativeAnchor),
4954
- n: V() ? "viewport" : "document",
4989
+ i: V(n().nativeAnchor),
4990
+ n: B() ? "viewport" : "document",
4955
4991
  s: `Mesurer annotation ${t() + 1}: ${e.note}`,
4956
4992
  h: e.note,
4957
4993
  r: a() === e.id ? "true" : "false",
4958
4994
  d: {
4959
- position: n().nativeAnchor || V() ? "fixed" : "absolute",
4995
+ position: n().nativeAnchor || B() ? "fixed" : "absolute",
4960
4996
  left: n().nativeAnchor ? `calc(anchor(left) + ${n().anchorX}px)` : `${n().left}px`,
4961
4997
  top: n().nativeAnchor ? `calc(anchor(top) + ${n().anchorY}px)` : `${n().top}px`,
4962
4998
  opacity: o() ? "0.36" : "1",
@@ -5033,7 +5069,7 @@ function Oo(e) {
5033
5069
  o(null), w(null);
5034
5070
  }
5035
5071
  }), 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" });
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, {
5072
+ 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(bi, { size: 14 })), Z(_, J(Si, { size: 14 })), Z(v, J(Ci, { size: 14 })), Z(y, () => t().note), Z(i, J(Xt, {
5037
5073
  get when() {
5038
5074
  return C();
5039
5075
  },
@@ -5046,10 +5082,10 @@ function Oo(e) {
5046
5082
  })()
5047
5083
  }), null), q(() => ({
5048
5084
  e: t().id,
5049
- t: ne(n().nativeAnchor),
5050
- a: V() ? "viewport" : "document",
5085
+ t: V(n().nativeAnchor),
5086
+ a: B() ? "viewport" : "document",
5051
5087
  o: {
5052
- position: n().nativeAnchor || V() ? "fixed" : "absolute",
5088
+ position: n().nativeAnchor || B() ? "fixed" : "absolute",
5053
5089
  left: n().nativeAnchor ? `calc(anchor(left) + ${n().anchorX}px)` : `${n().left}px`,
5054
5090
  top: n().nativeAnchor ? `calc(anchor(top) + ${n().anchorY}px)` : `${n().top}px`,
5055
5091
  translate: "var(--mesurer-nested-scroll-x, 0px) var(--mesurer-nested-scroll-y, 0px)",
@@ -5065,11 +5101,11 @@ function Oo(e) {
5065
5101
  })
5066
5102
  ];
5067
5103
  }
5068
- function ko(e) {
5104
+ function jo(e) {
5069
5105
  let t = null;
5070
- return St(Ni(e.ownerWindow, () => {
5106
+ return St(Fi(e.ownerWindow, () => {
5071
5107
  t?.abandonNoteComposer();
5072
- })), J(Oo, {
5108
+ })), J(Ao, {
5073
5109
  get runtime() {
5074
5110
  return e.runtime;
5075
5111
  },
@@ -5087,11 +5123,11 @@ function ko(e) {
5087
5123
  }
5088
5124
  });
5089
5125
  }
5090
- var Ao = "2147482950", jo = "2147483646", Mo = "2147483647";
5091
- function No(e) {
5126
+ var Mo = "2147482950", No = "2147483646", Po = "2147483647";
5127
+ function Fo(e) {
5092
5128
  let { ownerDocument: t, ownerWindow: n, pageTarget: r } = e, i = t.body;
5093
5129
  if (!(i && !(r instanceof n.ShadowRoot) && r.getRootNode() === t)) return e.createInspectorMount();
5094
- Li(pa, i);
5130
+ zi(ha, i);
5095
5131
  let a = t.createElement("div");
5096
5132
  a.dataset.mesurerInspectorUi = "true", a.dataset.mesurerDocumentInspectorMount = "true", a.dataset.theme = e.theme?.() ?? "system";
5097
5133
  let o = e.subscribeTheme?.((e) => {
@@ -5109,17 +5145,17 @@ function No(e) {
5109
5145
  s.dataset.mesurerDocumentInspectorLayerStyle = "true", s.textContent = `
5110
5146
  [data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-target-highlight="true"] {
5111
5147
  position: absolute !important;
5112
- z-index: ${Ao} !important;
5148
+ z-index: ${Mo} !important;
5113
5149
  }
5114
5150
  [data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-panel="true"] {
5115
5151
  position: absolute !important;
5116
- z-index: ${jo} !important;
5152
+ z-index: ${No} !important;
5117
5153
  }
5118
5154
  [data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-marker="true"],
5119
5155
  [data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-trigger="true"],
5120
5156
  [data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-composer="true"] {
5121
5157
  position: absolute !important;
5122
- z-index: ${Mo} !important;
5158
+ z-index: ${Po} !important;
5123
5159
  }
5124
5160
  `, t.head.append(s), i.append(a);
5125
5161
  let c = !1;
@@ -5130,8 +5166,8 @@ function No(e) {
5130
5166
  }
5131
5167
  };
5132
5168
  }
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);
5169
+ var Io = (e) => `color-mix(in srgb, ${e.color} ${e.opacity * 100}%, transparent)`, Lo = (e) => e === "max" ? "end" : e === "center" ? "center" : "start", Ro = (e) => {
5170
+ let t = e.kind === "columns", n = e.align === "stretch", r = n ? `repeat(${e.count}, minmax(0, 1fr))` : `repeat(${e.count}, ${e.size}px)`, i = Lo(e.align);
5135
5171
  return {
5136
5172
  position: "absolute",
5137
5173
  inset: "0",
@@ -5152,7 +5188,7 @@ var Po = (e) => `color-mix(in srgb, ${e.color} ${e.opacity * 100}%, transparent)
5152
5188
  transform: e.align === "center" ? t ? `translateX(${e.offset}px)` : `translateY(${e.offset}px)` : void 0
5153
5189
  };
5154
5190
  };
5155
- function Lo(e) {
5191
+ function zo(e) {
5156
5192
  let t = () => e.guides.filter((e) => e.visible);
5157
5193
  return J(Xt, {
5158
5194
  get when() {
@@ -5187,7 +5223,7 @@ function Lo(e) {
5187
5223
  "min-height": "0",
5188
5224
  width: "100%",
5189
5225
  height: "100%",
5190
- "background-color": Po(e)
5226
+ "background-color": Io(e)
5191
5227
  }), (e, n) => {
5192
5228
  Q(t, "style", e, n);
5193
5229
  }), t;
@@ -5195,7 +5231,7 @@ function Lo(e) {
5195
5231
  })), q(() => ({
5196
5232
  e: e.id,
5197
5233
  t: e.kind,
5198
- a: Io(e)
5234
+ a: Ro(e)
5199
5235
  }), ({ e, t: n, a: r }, i) => {
5200
5236
  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);
5201
5237
  }), t;
@@ -5208,7 +5244,7 @@ function Lo(e) {
5208
5244
  return q(() => ({
5209
5245
  e: e.id,
5210
5246
  t: {
5211
- "background-image": `linear-gradient(to right, ${Po(e)} 1px, transparent 1px), linear-gradient(to bottom, ${Po(e)} 1px, transparent 1px)`,
5247
+ "background-image": `linear-gradient(to right, ${Io(e)} 1px, transparent 1px), linear-gradient(to bottom, ${Io(e)} 1px, transparent 1px)`,
5212
5248
  "background-size": `${e.size}px ${e.size}px`
5213
5249
  }
5214
5250
  }), ({ e, t: n }, r) => {
@@ -5220,34 +5256,34 @@ function Lo(e) {
5220
5256
  }
5221
5257
  });
5222
5258
  }
5223
- var Ro = "#FF0000", zo = .1, Bo = /* @__PURE__ */ new Set([
5259
+ var Bo = "#FF0000", Vo = .1, Ho = /* @__PURE__ */ new Set([
5224
5260
  "columns",
5225
5261
  "rows",
5226
5262
  "grid"
5227
- ]), Vo = /* @__PURE__ */ new Set([
5263
+ ]), Uo = /* @__PURE__ */ new Set([
5228
5264
  "stretch",
5229
5265
  "min",
5230
5266
  "center",
5231
5267
  "max"
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();
5268
+ ]), Wo = (e, t, n) => Math.min(n, Math.max(t, e)), Go = (e, t) => e !== void 0 && Number.isFinite(e) ? e : t, Ko = (e = {}) => {
5269
+ let t = e.kind && Ho.has(e.kind) ? e.kind : "columns", n = e.align && Uo.has(e.align) ? e.align : t === "grid" ? "min" : "stretch", r = e.id?.trim(), i = e.color?.trim();
5234
5270
  return {
5235
5271
  id: r || Wr(),
5236
5272
  kind: t,
5237
5273
  visible: e.visible ?? !0,
5238
5274
  color: i || "#FF0000",
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),
5275
+ opacity: Wo(Go(e.opacity, Vo), 0, 1),
5276
+ count: Wo(Math.round(Go(e.count, 5)), 1, 24),
5277
+ size: Wo(Go(e.size, 72), 1, 4096),
5278
+ gutter: Wo(Go(e.gutter, 20), 0, 800),
5279
+ offset: Wo(Go(e.offset, 0), 0, 4096),
5244
5280
  align: n
5245
5281
  };
5246
- }, Go = (e) => (e ?? []).map(Wo), Ko = (e) => {
5282
+ }, qo = (e) => (e ?? []).map(Ko), Jo = (e) => {
5247
5283
  if (e.kind === "grid") return `Grid ${Math.round(e.size)}px`;
5248
5284
  let t = e.kind === "columns" ? "columns" : "rows";
5249
5285
  return e.align === "stretch" ? `${e.count} ${t}` : `${e.count} ${t} (${Math.round(e.size)}px)`;
5250
- }, qo = (e) => (() => {
5286
+ }, Yo = (e) => (() => {
5251
5287
  var t = Y("svg", {
5252
5288
  xmlns: "http://www.w3.org/2000/svg",
5253
5289
  viewBox: "0 0 24 24",
@@ -5266,22 +5302,22 @@ var Ro = "#FF0000", zo = .1, Bo = /* @__PURE__ */ new Set([
5266
5302
  }), ({ e, t: n }, r) => {
5267
5303
  e !== r?.e && Q(t, "width", e, r?.e), n !== r?.t && Q(t, "height", n, r?.t);
5268
5304
  }), t;
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) => (() => {
5305
+ })(), Xo = (e) => e.kind === "rows" ? J(gi, { size: 14 }) : e.kind === "grid" ? J(mi, { size: 14 }) : J(hi, { size: 14 }), Zo = "msr:grid-cols-[78px_minmax(0,1fr)]", Qo = (e) => (() => {
5270
5306
  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");
5271
5307
  return X(t, n), Z(n, () => e.label), Z(t, () => e.children, null), t;
5272
- })(), Zo = (e) => (() => {
5308
+ })(), $o = (e) => (() => {
5273
5309
  var t = Y("span", { class: "msr:relative msr:block msr:w-full" }), n = Y("select", {
5274
- class: ri,
5310
+ class: ai,
5275
5311
  onPointerDown: (e) => e.stopPropagation(),
5276
5312
  onChange: (t) => e.onChange(t.currentTarget.value)
5277
5313
  });
5278
- return X(t, n), Z(n, () => e.children), Z(t, J(ii, {}), null), q(() => ({
5314
+ return X(t, n), Z(n, () => e.children), Z(t, J(oi, {}), null), q(() => ({
5279
5315
  e: e.label,
5280
5316
  t: e.value
5281
5317
  }), ({ e, t }, r) => {
5282
5318
  e !== r?.e && Q(n, "aria-label", e, r?.e), t !== r?.t && Q(n, "value", t, r?.t);
5283
5319
  }), t;
5284
- })(), Qo = (e) => {
5320
+ })(), es = (e) => {
5285
5321
  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) => {
5286
5322
  let n = Number(t.replace(/[^\d.-]/g, ""));
5287
5323
  if (!Number.isFinite(n)) {
@@ -5290,7 +5326,7 @@ var Ro = "#FF0000", zo = .1, Bo = /* @__PURE__ */ new Set([
5290
5326
  }
5291
5327
  e.onChange(s(n));
5292
5328
  };
5293
- return J(ai, { get left() {
5329
+ return J(si, { get left() {
5294
5330
  var a = Y("input", {
5295
5331
  type: "text",
5296
5332
  inputmode: "numeric",
@@ -5322,7 +5358,7 @@ var Ro = "#FF0000", zo = .1, Bo = /* @__PURE__ */ new Set([
5322
5358
  e !== n?.e && Q(a, "aria-label", e, n?.e), t !== n?.t && Q(a, "value", t, n?.t);
5323
5359
  }), a;
5324
5360
  } });
5325
- }, $o = (e) => e === "rows" || e === "grid" ? e : "columns", es = (e) => e === "min" || e === "center" || e === "max" ? e : "stretch", ts = (e) => {
5361
+ }, ts = (e) => e === "rows" || e === "grid" ? e : "columns", ns = (e) => e === "min" || e === "center" || e === "max" ? e : "stretch", rs = (e) => {
5326
5362
  let t = Gt(() => e.guide.kind === "rows" ? {
5327
5363
  stretch: "Stretch",
5328
5364
  min: "Top",
@@ -5339,13 +5375,13 @@ var Ro = "#FF0000", zo = .1, Bo = /* @__PURE__ */ new Set([
5339
5375
  "aria-label": "Back to layout guides",
5340
5376
  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"
5341
5377
  });
5342
- return X(r, i), X(i, a), Z(i, J(Zo, {
5378
+ return X(r, i), X(i, a), Z(i, J($o, {
5343
5379
  label: "Layout guide type",
5344
5380
  get value() {
5345
5381
  return e.guide.kind;
5346
5382
  },
5347
5383
  onChange: (t) => {
5348
- let n = $o(t);
5384
+ let n = ts(t);
5349
5385
  e.onUpdate({
5350
5386
  kind: n,
5351
5387
  align: n === "grid" ? "min" : e.guide.align === "stretch" || n === e.guide.kind ? e.guide.align : "stretch"
@@ -5367,15 +5403,15 @@ var Ro = "#FF0000", zo = .1, Bo = /* @__PURE__ */ new Set([
5367
5403
  })()
5368
5404
  ];
5369
5405
  }
5370
- }), a), Z(a, J(qo, {})), Z(r, J(Xt, {
5406
+ }), a), Z(a, J(Yo, {})), Z(r, J(Xt, {
5371
5407
  get when() {
5372
5408
  return e.guide.kind !== "grid";
5373
5409
  },
5374
5410
  get children() {
5375
- return J(Xo, {
5411
+ return J(Qo, {
5376
5412
  label: "Count",
5377
5413
  get children() {
5378
- return J(Qo, {
5414
+ return J(es, {
5379
5415
  label: "Count",
5380
5416
  get value() {
5381
5417
  return e.guide.count;
@@ -5387,16 +5423,16 @@ var Ro = "#FF0000", zo = .1, Bo = /* @__PURE__ */ new Set([
5387
5423
  }
5388
5424
  });
5389
5425
  }
5390
- }), null), Z(r, J(oi, {
5426
+ }), null), Z(r, J(ci, {
5391
5427
  label: "Color",
5392
- columns: Yo,
5428
+ columns: Zo,
5393
5429
  get value() {
5394
5430
  return dr({
5395
5431
  ...lr(e.guide.color) ?? lr("#FF0000"),
5396
5432
  alpha: e.guide.opacity
5397
5433
  });
5398
5434
  },
5399
- fallback: Ro,
5435
+ fallback: Bo,
5400
5436
  get ownerWindow() {
5401
5437
  return e.ownerWindow;
5402
5438
  },
@@ -5415,15 +5451,15 @@ var Ro = "#FF0000", zo = .1, Bo = /* @__PURE__ */ new Set([
5415
5451
  return e.guide.kind !== "grid";
5416
5452
  },
5417
5453
  get children() {
5418
- return J(Xo, {
5454
+ return J(Qo, {
5419
5455
  label: "Type",
5420
5456
  get children() {
5421
- return J(Zo, {
5457
+ return J($o, {
5422
5458
  label: "Alignment",
5423
5459
  get value() {
5424
5460
  return e.guide.align;
5425
5461
  },
5426
- onChange: (t) => e.onUpdate({ align: es(t) }),
5462
+ onChange: (t) => e.onUpdate({ align: ns(t) }),
5427
5463
  get children() {
5428
5464
  return J(Yt, {
5429
5465
  each: [
@@ -5447,12 +5483,12 @@ var Ro = "#FF0000", zo = .1, Bo = /* @__PURE__ */ new Set([
5447
5483
  return e.guide.kind === "grid" || e.guide.align !== "stretch";
5448
5484
  },
5449
5485
  get children() {
5450
- return J(Xo, {
5486
+ return J(Qo, {
5451
5487
  get label() {
5452
5488
  return n();
5453
5489
  },
5454
5490
  get children() {
5455
- return J(Qo, {
5491
+ return J(es, {
5456
5492
  get label() {
5457
5493
  return n();
5458
5494
  },
@@ -5471,10 +5507,10 @@ var Ro = "#FF0000", zo = .1, Bo = /* @__PURE__ */ new Set([
5471
5507
  return e.guide.kind !== "grid";
5472
5508
  },
5473
5509
  get children() {
5474
- return [J(Xo, {
5510
+ return [J(Qo, {
5475
5511
  label: "Offset",
5476
5512
  get children() {
5477
- return J(Qo, {
5513
+ return J(es, {
5478
5514
  label: "Offset",
5479
5515
  get value() {
5480
5516
  return e.guide.offset;
@@ -5484,10 +5520,10 @@ var Ro = "#FF0000", zo = .1, Bo = /* @__PURE__ */ new Set([
5484
5520
  onChange: (t) => e.onUpdate({ offset: t })
5485
5521
  });
5486
5522
  }
5487
- }), J(Xo, {
5523
+ }), J(Qo, {
5488
5524
  label: "Gutter",
5489
5525
  get children() {
5490
- return J(Qo, {
5526
+ return J(es, {
5491
5527
  label: "Gutter",
5492
5528
  get value() {
5493
5529
  return e.guide.gutter;
@@ -5503,7 +5539,7 @@ var Ro = "#FF0000", zo = .1, Bo = /* @__PURE__ */ new Set([
5503
5539
  Q(a, "onClick", e, t);
5504
5540
  }), r;
5505
5541
  };
5506
- function ns(e) {
5542
+ function is(e) {
5507
5543
  let [t, n] = K(null), r = Gt(() => e.guides.find((e) => e.id === t()) ?? null);
5508
5544
  var i = Y("div", {
5509
5545
  "data-mesurer-layout-guides-panel": "true",
@@ -5525,7 +5561,7 @@ function ns(e) {
5525
5561
  "aria-label": "Add layout guide",
5526
5562
  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"
5527
5563
  });
5528
- return X(t, r), X(r, i), X(r, a), X(i, Qn("Layout guides")), Z(a, J(hi, {})), Z(t, J(Xt, {
5564
+ return X(t, r), X(r, i), X(r, a), X(i, Qn("Layout guides")), Z(a, J(_i, {})), Z(t, J(Xt, {
5529
5565
  get when() {
5530
5566
  return e.guides.length > 0;
5531
5567
  },
@@ -5552,22 +5588,22 @@ function ns(e) {
5552
5588
  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",
5553
5589
  onClick: () => e.onRemove(t.id)
5554
5590
  });
5555
- return X(r, i), X(r, s), X(r, c), X(i, a), X(i, o), Z(a, J(Jo, { get kind() {
5591
+ return X(r, i), X(r, s), X(r, c), X(i, a), X(i, o), Z(a, J(Xo, { get kind() {
5556
5592
  return t.kind;
5557
- } })), Z(o, () => Ko(t)), Z(i, J(ci, {
5593
+ } })), Z(o, () => Jo(t)), Z(i, J(ui, {
5558
5594
  size: 8,
5559
5595
  class: "msr:block msr:-rotate-90 msr:text-ink-400"
5560
5596
  }), null), Z(s, (() => {
5561
5597
  var e = Zn(() => !!t.visible);
5562
- return () => e() ? J(gi, {}) : J(_i, {});
5563
- })()), Z(c, J(li, {
5598
+ return () => e() ? J(vi, {}) : J(yi, {});
5599
+ })()), Z(c, J(di, {
5564
5600
  size: 10,
5565
5601
  class: "msr:block"
5566
5602
  })), q(() => ({
5567
- e: t.visible ? `Hide ${Ko(t)}` : `Show ${Ko(t)}`,
5603
+ e: t.visible ? `Hide ${Jo(t)}` : `Show ${Jo(t)}`,
5568
5604
  t: t.visible ? "true" : "false",
5569
5605
  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"}`,
5570
- o: `Remove ${Ko(t)}`
5606
+ o: `Remove ${Jo(t)}`
5571
5607
  }), ({ e, t, a: n, o: r }, i) => {
5572
5608
  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);
5573
5609
  }), r;
@@ -5578,7 +5614,7 @@ function ns(e) {
5578
5614
  Q(a, "onClick", e, t);
5579
5615
  }), t;
5580
5616
  },
5581
- children: (t) => J(ts, {
5617
+ children: (t) => J(rs, {
5582
5618
  get guide() {
5583
5619
  return t();
5584
5620
  },
@@ -5590,56 +5626,56 @@ function ns(e) {
5590
5626
  })
5591
5627
  })), i;
5592
5628
  }
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) => {
5629
+ var as = "mesurer.layout-guides", os = "layout-guides:v1", ss = "mesurer.layout-guides.pages", cs = "mesurer.layout-guides.active", ls = "runtime:solid", us = "layout-guides.toggle", ds = "layout-guides.add", fs = "layout-guides.update", ps = "layout-guides.remove", ms = "layout-guides.clear", hs = 240, gs = 8, _s = 8, vs = () => ({ pages: {} }), ys = (e, t) => e.pages[t] ?? [], bs = (e) => typeof e == "object" && !!e && !Array.isArray(e), xs = (e) => typeof e == "string", Ss = (e) => typeof e == "boolean", Cs = (e) => typeof e == "number", ws = (e) => e === "columns" || e === "rows" || e === "grid", Ts = (e) => e === "stretch" || e === "min" || e === "center" || e === "max", Es = (e) => ({ ...e }), Ds = (e) => e.map(Es), Os = (e) => bs(e) ? e : null, ks = (e) => {
5594
5630
  if (!e) return {};
5595
5631
  let t = {};
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) => {
5632
+ return xs(e.id) && (t.id = e.id), ws(e.kind) && (t.kind = e.kind), Ss(e.visible) && (t.visible = e.visible), xs(e.color) && (t.color = e.color), Cs(e.opacity) && (t.opacity = e.opacity), Cs(e.count) && (t.count = e.count), Cs(e.size) && (t.size = e.size), Cs(e.gutter) && (t.gutter = e.gutter), Cs(e.offset) && (t.offset = e.offset), Ts(e.align) && (t.align = e.align), t;
5633
+ }, As = (e) => {
5598
5634
  let t = {};
5599
5635
  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;
5600
- }, ks = {
5636
+ }, js = {
5601
5637
  viewBox: "0 0 256 256",
5602
5638
  paths: ["M48 48h160v8H48zM48 200h160v8H48zM48 56h8v144h-8zM200 56h8v144h-8z", "M101 56h8v144h-8zM147 56h8v144h-8z"]
5603
- }, As = () => ar({
5604
- id: rs,
5639
+ }, Ms = () => ar({
5640
+ id: as,
5605
5641
  version: "0.1.0",
5606
- requires: [ss],
5607
- provides: [is, "tool:layout-guides"],
5642
+ requires: [ls],
5643
+ provides: [os, "tool:layout-guides"],
5608
5644
  setup(e) {
5609
- let t = e.service.get(ss);
5645
+ let t = e.service.get(ls);
5610
5646
  if (!t) throw Error("Layout Guides requires the Solid renderer runtime.");
5611
5647
  let n = t.rendererRoot;
5612
5648
  if (!n) throw Error("Layout Guides requires a mounted renderer root.");
5613
5649
  e.state.register({
5614
- id: as,
5615
- initial: gs(),
5650
+ id: ss,
5651
+ initial: vs(),
5616
5652
  history: !0,
5617
5653
  persist: !0
5618
5654
  }), e.state.register({
5619
- id: os,
5655
+ id: cs,
5620
5656
  initial: !1
5621
5657
  });
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);
5658
+ let r = Xr(t.ownerWindow), i = !1, [a, o] = K(0), s = /* @__PURE__ */ new Set(), c = 0, l = () => e.state.get("mesurer.layout-guides.pages") ?? vs(), u = () => e.state.get("mesurer.layout-guides.active") ?? !1, d = () => qo(ys(l(), r)), f = () => (a(), u() ? d() : []), p = (t) => {
5659
+ e.state.update(cs, () => t);
5624
5660
  }, m = (t) => {
5625
- e.state.update(as, (e) => ({
5661
+ e.state.update(ss, (e) => ({
5626
5662
  ...e,
5627
5663
  pages: {
5628
5664
  ...e.pages,
5629
- [r]: Ts(t(Go(e.pages[r])))
5665
+ [r]: Ds(t(qo(e.pages[r])))
5630
5666
  }
5631
5667
  }));
5632
5668
  };
5633
- e.command.register(cs, () => {
5669
+ e.command.register(us, () => {
5634
5670
  let e = !u();
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)));
5671
+ return e && d().length === 0 && m(() => [Ko()]), i = e, p(e), u();
5672
+ }), e.command.register(ds, (e) => {
5673
+ let t = Ko(ks(Os(e)));
5638
5674
  return m((e) => [...e, t]), { ...t };
5639
- }), e.command.register(us, (e) => {
5640
- let t = Es(e), n = t && ys(t.id) ? t.id : null, r = Ds(Es(t?.patch));
5675
+ }), e.command.register(fs, (e) => {
5676
+ let t = Os(e), n = t && xs(t.id) ? t.id : null, r = ks(Os(t?.patch));
5641
5677
  if (!n) throw Error("layout-guides.update requires a guide id.");
5642
- m((e) => e.map((e) => e.id === n ? Wo({
5678
+ m((e) => e.map((e) => e.id === n ? Ko({
5643
5679
  ...e,
5644
5680
  ...r,
5645
5681
  id: e.id
@@ -5647,30 +5683,30 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
5647
5683
  let i = d().find((e) => e.id === n);
5648
5684
  if (!i) throw Error(`Layout guide not found: ${n}`);
5649
5685
  return { ...i };
5650
- }), e.command.register(ds, (e) => {
5651
- let t = Es(e), n = t && ys(t.id) ? t.id : null;
5686
+ }), e.command.register(ps, (e) => {
5687
+ let t = Os(e), n = t && xs(t.id) ? t.id : null;
5652
5688
  if (!n) throw Error("layout-guides.remove requires a guide id.");
5653
5689
  let r = d().length;
5654
5690
  return m((e) => e.filter((e) => e.id !== n)), d().length !== r;
5655
- }), e.command.register(fs, () => {
5691
+ }), e.command.register(ms, () => {
5656
5692
  m(() => []);
5657
5693
  });
5658
5694
  let h = async (t, n) => {
5659
- let r = Es(await e.command.execute(t, n));
5695
+ let r = Os(await e.command.execute(t, n));
5660
5696
  if (!r) throw Error(`${t} did not return a layout guide.`);
5661
- return Wo(Ds(r));
5697
+ return Ko(ks(r));
5662
5698
  }, g = {
5663
5699
  list: () => d().map((e) => ({ ...e })),
5664
- add: (e = {}) => h(ls, Os(e)),
5665
- update: (e, t) => h(us, {
5700
+ add: (e = {}) => h(ds, As(e)),
5701
+ update: (e, t) => h(fs, {
5666
5702
  id: e,
5667
- patch: Os(t)
5703
+ patch: As(t)
5668
5704
  }),
5669
5705
  async remove(t) {
5670
- return await e.command.execute(ds, { id: t }) === !0;
5706
+ return await e.command.execute(ps, { id: t }) === !0;
5671
5707
  },
5672
5708
  async clear() {
5673
- await e.command.execute(fs);
5709
+ await e.command.execute(ms);
5674
5710
  },
5675
5711
  subscribe(e) {
5676
5712
  s.add(e);
@@ -5680,25 +5716,25 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
5680
5716
  };
5681
5717
  }
5682
5718
  };
5683
- e.service.provide(is, g), e.tool.register({
5719
+ e.service.provide(os, g), e.tool.register({
5684
5720
  id: "layout-guides",
5685
5721
  label: "Layout guides",
5686
5722
  shortcut: "L",
5687
- command: cs,
5723
+ command: us,
5688
5724
  order: 38,
5689
- icon: ks,
5725
+ icon: js,
5690
5726
  active: u
5691
5727
  });
5692
5728
  let _ = t.ownerDocument.createElement("div");
5693
5729
  _.dataset.mesurerLayoutGuidesRoot = "true", _.dataset.mesurerLayer = "evidence", _.style.position = "absolute", _.style.inset = "0", _.style.pointerEvents = "none", n.prepend(_);
5694
- let v = Xn(() => J(Lo, { get guides() {
5730
+ let v = Xn(() => J(zo, { get guides() {
5695
5731
  return f();
5696
5732
  } }), _), y = t.createInspectorMount();
5697
5733
  y.element.dataset.mesurerLayoutGuidesPanelRoot = "true", Object.assign(y.element.style, {
5698
5734
  position: "fixed",
5699
5735
  left: "0",
5700
5736
  top: "0",
5701
- width: `${ps}px`,
5737
+ width: `${hs}px`,
5702
5738
  zIndex: "100",
5703
5739
  pointerEvents: "none",
5704
5740
  display: "none"
@@ -5707,13 +5743,13 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
5707
5743
  if (c = 0, !i) return;
5708
5744
  let e = t.portalTarget.querySelector("[data-mesurer-tool-id='layout-guides']");
5709
5745
  if (!e) return;
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);
5746
+ let n = e.getBoundingClientRect(), r = Math.min(Math.max(_s, n.right - hs), Math.max(_s, t.ownerWindow.innerWidth - hs - _s)), a = t.ownerWindow.innerHeight - n.bottom - gs - _s, o = Math.min(320, t.ownerWindow.innerHeight - 16), s = a >= Math.min(o, 320) ? n.bottom + gs : Math.max(_s, n.top - gs - o);
5711
5747
  y.element.style.left = `${r}px`, y.element.style.top = `${s}px`;
5712
5748
  }, x = () => {
5713
5749
  c ||= t.ownerWindow.requestAnimationFrame(b);
5714
5750
  }, S = () => {
5715
5751
  y.element.style.display = i ? "block" : "none", i && x();
5716
- }, C = Xn(() => J(ns, {
5752
+ }, C = Xn(() => J(is, {
5717
5753
  get guides() {
5718
5754
  return f();
5719
5755
  },
@@ -5733,7 +5769,7 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
5733
5769
  o((e) => e + 1);
5734
5770
  for (let e of s) e();
5735
5771
  S();
5736
- }, T = e.state.subscribe(w), E = Qr(t.ownerWindow, (e) => {
5772
+ }, T = e.state.subscribe(w), E = ei(t.ownerWindow, (e) => {
5737
5773
  r !== e && (r = e, w());
5738
5774
  }), D = (e) => {
5739
5775
  if (!i) return;
@@ -5748,14 +5784,14 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
5748
5784
  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();
5749
5785
  });
5750
5786
  }
5751
- }), js = 144, Ms = 96, Ns = 8, Ps = 4, Fs = 1800, Is = (e, t) => {
5787
+ }), Ns = 144, Ps = 96, Fs = 8, Is = 4, Ls = 1800, Rs = (e, t) => {
5752
5788
  for (let [n, r] of Object.entries(t)) e.style.setProperty(n, r);
5753
- }, Ls = (e, t) => ({
5754
- left: Math.min(Math.max(Ns, e.left), Math.max(Ns, t.innerWidth - js - Ns)),
5755
- top: Math.min(Math.max(Ns, e.top), Math.max(Ns, t.innerHeight - Ms - Ns))
5756
- }), Rs = (e, t) => {
5789
+ }, zs = (e, t) => ({
5790
+ left: Math.min(Math.max(Fs, e.left), Math.max(Fs, t.innerWidth - Ns - Fs)),
5791
+ top: Math.min(Math.max(Fs, e.top), Math.max(Fs, t.innerHeight - Ps - Fs))
5792
+ }), Bs = (e, t) => {
5757
5793
  let n = e.createElement("button");
5758
- return n.type = "button", n.textContent = t, Is(n, {
5794
+ return n.type = "button", n.textContent = t, Rs(n, {
5759
5795
  height: "32px",
5760
5796
  padding: "0 12px",
5761
5797
  border: "1px solid rgb(255 255 255 / 18%)",
@@ -5767,11 +5803,11 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
5767
5803
  "font-weight": "500",
5768
5804
  cursor: "pointer"
5769
5805
  }), n;
5770
- }, zs = ({ copied: e, downloaded: t, copyFailed: n, downloadFailed: r }) => e && t ? "Copied and saved screenshot" : e && r ? "Copied screenshot · Save unavailable" : t && n ? "Saved screenshot · Copy unavailable" : e ? "Copied screenshot" : t ? "Saved screenshot" : n && r ? "Screenshot captured · Copy and save unavailable" : n ? "Screenshot captured · Copy unavailable" : r ? "Screenshot captured · Save unavailable" : "Screenshot captured", Bs = (e) => e !== null && (e.nodeType === 1 || e.nodeType === 11), Vs = ({ ownerDocument: e, ownerWindow: t, root: n, previewDurationMs: r }) => {
5806
+ }, Vs = ({ copied: e, downloaded: t, copyFailed: n, downloadFailed: r }) => e && t ? "Copied and saved screenshot" : e && r ? "Copied screenshot · Save unavailable" : t && n ? "Saved screenshot · Copy unavailable" : e ? "Copied screenshot" : t ? "Saved screenshot" : n && r ? "Screenshot captured · Copy and save unavailable" : n ? "Screenshot captured · Copy unavailable" : r ? "Screenshot captured · Save unavailable" : "Screenshot captured", Hs = (e) => e !== null && (e.nodeType === 1 || e.nodeType === 11), Us = ({ ownerDocument: e, ownerWindow: t, root: n, previewDurationMs: r }) => {
5771
5807
  let i = n.closest("[data-mesurer-root='true']")?.parentNode ?? n.parentNode;
5772
- if (!Bs(i)) throw Error("Screenshot preview requires a mounted Mesurer host.");
5808
+ if (!Hs(i)) throw Error("Screenshot preview requires a mounted Mesurer host.");
5773
5809
  let a = e.createElement("div");
5774
- a.dataset.mesurerInspectorUi = "true", a.dataset.mesurerScreenshotInteractive = "true", Is(a, {
5810
+ a.dataset.mesurerInspectorUi = "true", a.dataset.mesurerScreenshotInteractive = "true", Rs(a, {
5775
5811
  position: "fixed",
5776
5812
  left: "0",
5777
5813
  top: "0",
@@ -5783,12 +5819,12 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
5783
5819
  "font-family": "ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif"
5784
5820
  }), i.append(a);
5785
5821
  let o = e.createElement("div");
5786
- o.dataset.mesurerScreenshotPreview = "true", o.setAttribute("role", "button"), o.setAttribute("aria-label", "Open captured screenshot"), o.tabIndex = 0, Is(o, {
5822
+ o.dataset.mesurerScreenshotPreview = "true", o.setAttribute("role", "button"), o.setAttribute("aria-label", "Open captured screenshot"), o.tabIndex = 0, Rs(o, {
5787
5823
  position: "fixed",
5788
5824
  display: "none",
5789
5825
  "z-index": "96",
5790
- width: `${js}px`,
5791
- height: `${Ms}px`,
5826
+ width: `${Ns}px`,
5827
+ height: `${Ps}px`,
5792
5828
  "box-sizing": "border-box",
5793
5829
  overflow: "hidden",
5794
5830
  "border-radius": "10px",
@@ -5801,7 +5837,7 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
5801
5837
  "touch-action": "none"
5802
5838
  });
5803
5839
  let s = e.createElement("img");
5804
- s.dataset.mesurerScreenshotPreviewImage = "true", s.alt = "Captured screenshot", s.draggable = !1, s.title = "Click to open · Right-click for browser image actions", Is(s, {
5840
+ s.dataset.mesurerScreenshotPreviewImage = "true", s.alt = "Captured screenshot", s.draggable = !1, s.title = "Click to open · Right-click for browser image actions", Rs(s, {
5805
5841
  display: "block",
5806
5842
  width: "100%",
5807
5843
  height: "100%",
@@ -5809,7 +5845,7 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
5809
5845
  "background-color": "white"
5810
5846
  }), o.append(s);
5811
5847
  let c = e.createElement("button");
5812
- c.dataset.mesurerScreenshotPreviewDismiss = "true", c.type = "button", c.setAttribute("aria-label", "Dismiss screenshot preview"), c.title = "Dismiss", Is(c, {
5848
+ c.dataset.mesurerScreenshotPreviewDismiss = "true", c.type = "button", c.setAttribute("aria-label", "Dismiss screenshot preview"), c.title = "Dismiss", Rs(c, {
5813
5849
  position: "absolute",
5814
5850
  top: "8px",
5815
5851
  right: "8px",
@@ -5835,7 +5871,7 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
5835
5871
  let u = e.createElementNS("http://www.w3.org/2000/svg", "path");
5836
5872
  u.setAttribute("d", "m4 4 8 8M12 4l-8 8"), u.setAttribute("stroke", "currentColor"), u.setAttribute("stroke-width", "1.75"), u.setAttribute("stroke-linecap", "round"), l.append(u), c.append(l), o.append(c), a.append(o);
5837
5873
  let d = e.createElement("div");
5838
- d.dataset.mesurerScreenshotViewer = "true", d.setAttribute("role", "dialog"), d.setAttribute("aria-modal", "true"), d.setAttribute("aria-label", "Screenshot viewer"), Is(d, {
5874
+ d.dataset.mesurerScreenshotViewer = "true", d.setAttribute("role", "dialog"), d.setAttribute("aria-modal", "true"), d.setAttribute("aria-label", "Screenshot viewer"), Rs(d, {
5839
5875
  position: "fixed",
5840
5876
  inset: "0",
5841
5877
  display: "none",
@@ -5849,7 +5885,7 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
5849
5885
  "pointer-events": "auto"
5850
5886
  });
5851
5887
  let f = e.createElement("img");
5852
- f.dataset.mesurerScreenshotViewerImage = "true", f.alt = "Captured screenshot", Is(f, {
5888
+ f.dataset.mesurerScreenshotViewerImage = "true", f.alt = "Captured screenshot", Rs(f, {
5853
5889
  display: "block",
5854
5890
  "max-width": "calc(100vw - 96px)",
5855
5891
  "max-height": "calc(100vh - 112px)",
@@ -5860,7 +5896,7 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
5860
5896
  "box-shadow": "0 8px 30px rgb(0 0 0 / 28%)"
5861
5897
  }), d.append(f);
5862
5898
  let p = e.createElement("div");
5863
- p.dataset.mesurerScreenshotViewerControls = "true", Is(p, {
5899
+ p.dataset.mesurerScreenshotViewerControls = "true", Rs(p, {
5864
5900
  position: "fixed",
5865
5901
  top: "16px",
5866
5902
  right: "16px",
@@ -5868,14 +5904,14 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
5868
5904
  gap: "8px",
5869
5905
  "pointer-events": "auto"
5870
5906
  });
5871
- let m = Rs(e, "Copy");
5907
+ let m = Bs(e, "Copy");
5872
5908
  m.dataset.mesurerScreenshotViewerCopy = "true", m.setAttribute("aria-label", "Copy screenshot");
5873
- let h = Rs(e, "Save");
5909
+ let h = Bs(e, "Save");
5874
5910
  h.dataset.mesurerScreenshotViewerSave = "true", h.setAttribute("aria-label", "Save screenshot");
5875
- let g = Rs(e, "Close");
5911
+ let g = Bs(e, "Close");
5876
5912
  g.dataset.mesurerScreenshotViewerClose = "true", g.setAttribute("aria-label", "Close screenshot viewer"), p.append(m, h, g), d.append(p), a.append(d);
5877
5913
  let _ = e.createElement("div");
5878
- _.dataset.mesurerScreenshotToast = "true", _.setAttribute("role", "status"), Is(_, {
5914
+ _.dataset.mesurerScreenshotToast = "true", _.setAttribute("role", "status"), Rs(_, {
5879
5915
  position: "fixed",
5880
5916
  left: "50%",
5881
5917
  bottom: "20px",
@@ -5897,18 +5933,18 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
5897
5933
  }, D = (e, n = !1) => {
5898
5934
  E(), _.textContent = e, _.style.backgroundColor = n ? "#b42318" : "rgb(28 28 30 / 90%)", _.style.display = "block", C = t.setTimeout(() => {
5899
5935
  C = 0, _.style.display = "none";
5900
- }, Fs);
5936
+ }, Ls);
5901
5937
  }, O = () => {
5902
5938
  d.style.display = "none";
5903
5939
  }, k = () => {
5904
5940
  y && globalThis.URL.revokeObjectURL(y), y = null, v = null, s.removeAttribute("src"), f.removeAttribute("src");
5905
5941
  }, A = () => {
5906
5942
  T(), O(), o.style.display = "none", k();
5907
- }, j = () => Ls({
5908
- left: t.innerWidth - js - Ns,
5909
- top: t.innerHeight - Ms - Ns
5943
+ }, j = () => zs({
5944
+ left: t.innerWidth - Ns - Fs,
5945
+ top: t.innerHeight - Ps - Fs
5910
5946
  }, t), M = (e) => {
5911
- let n = Ls(e, t);
5947
+ let n = zs(e, t);
5912
5948
  b = n, o.style.left = `${n.left}px`, o.style.top = `${n.top}px`;
5913
5949
  }, ee = () => {
5914
5950
  !v || !y || (T(), d.style.display = "flex", g.focus());
@@ -5919,14 +5955,14 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
5919
5955
  } catch {
5920
5956
  D("Could not copy screenshot", !0);
5921
5957
  }
5922
- }, P = () => {
5958
+ }, te = () => {
5923
5959
  let n = v;
5924
5960
  if (n) try {
5925
5961
  Sr(n, xr(), e, t), D("Saved screenshot");
5926
5962
  } catch {
5927
5963
  D("Could not save screenshot", !0);
5928
5964
  }
5929
- }, F = (e, t, n) => {
5965
+ }, P = (e, t, n) => {
5930
5966
  if (!v) return !1;
5931
5967
  T();
5932
5968
  let r = o.getBoundingClientRect();
@@ -5938,36 +5974,36 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
5938
5974
  top: r.top,
5939
5975
  moved: !1
5940
5976
  }, o.style.cursor = "grabbing", !0;
5941
- }, te = (e, t) => {
5977
+ }, ne = (e, t) => {
5942
5978
  let n = x;
5943
5979
  if (!n) return;
5944
5980
  let r = e - n.startX, i = t - n.startY;
5945
- !n.moved && Math.hypot(r, i) >= Ps && (n.moved = !0), n.moved && M({
5981
+ !n.moved && Math.hypot(r, i) >= Is && (n.moved = !0), n.moved && M({
5946
5982
  left: n.left + r,
5947
5983
  top: n.top + i
5948
5984
  });
5949
- }, I = () => {
5985
+ }, F = () => {
5950
5986
  let e = x;
5951
5987
  e && (x = null, o.style.cursor = "grab", e.moved || ee());
5952
- }, L = () => {
5988
+ }, I = () => {
5953
5989
  x && (x = null, o.style.cursor = "grab");
5990
+ }, L = (e) => {
5991
+ e.button !== 0 || !P(e.clientX, e.clientY, null) || e.preventDefault();
5954
5992
  }, R = (e) => {
5955
- e.button !== 0 || !F(e.clientX, e.clientY, null) || e.preventDefault();
5993
+ x?.pointerId === null && ne(e.clientX, e.clientY);
5956
5994
  }, z = (e) => {
5957
- x?.pointerId === null && te(e.clientX, e.clientY);
5995
+ e.button === 0 && x?.pointerId === null && F();
5958
5996
  }, B = (e) => {
5959
- e.button === 0 && x?.pointerId === null && I();
5997
+ e.pointerType !== "mouse" && e.button === 0 && P(e.clientX, e.clientY, e.pointerId) && (o.setPointerCapture?.(e.pointerId), e.preventDefault());
5960
5998
  }, 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
5999
  let t = x?.pointerId;
5964
- t != null && t === e.pointerId && te(e.clientX, e.clientY);
6000
+ t != null && t === e.pointerId && ne(e.clientX, e.clientY);
5965
6001
  }, re = (e) => {
5966
6002
  let t = x?.pointerId;
5967
- t != null && t === e.pointerId && (o.hasPointerCapture?.(e.pointerId) && o.releasePointerCapture(e.pointerId), I());
6003
+ t != null && t === e.pointerId && (o.hasPointerCapture?.(e.pointerId) && o.releasePointerCapture(e.pointerId), F());
5968
6004
  }, H = (e) => {
5969
6005
  let t = x?.pointerId;
5970
- t != null && t === e.pointerId && (o.hasPointerCapture?.(e.pointerId) && o.releasePointerCapture(e.pointerId), L());
6006
+ t != null && t === e.pointerId && (o.hasPointerCapture?.(e.pointerId) && o.releasePointerCapture(e.pointerId), I());
5971
6007
  }, ie = (e) => {
5972
6008
  (e.key === "Enter" || e.key === " ") && (e.preventDefault(), ee());
5973
6009
  }, U = (e) => {
@@ -5979,32 +6015,32 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
5979
6015
  };
5980
6016
  return c.addEventListener("pointerdown", (e) => e.stopPropagation()), c.addEventListener("mousedown", (e) => e.stopPropagation()), c.addEventListener("click", (e) => {
5981
6017
  e.stopPropagation(), A();
5982
- }), o.addEventListener("mousedown", R), o.addEventListener("pointerdown", V), o.addEventListener("keydown", ie), o.addEventListener("contextmenu", U), d.addEventListener("click", ae), m.addEventListener("click", () => {
6018
+ }), o.addEventListener("mousedown", L), o.addEventListener("pointerdown", B), o.addEventListener("keydown", ie), o.addEventListener("contextmenu", U), d.addEventListener("click", ae), m.addEventListener("click", () => {
5983
6019
  N();
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), {
6020
+ }), 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), {
5985
6021
  show(e, n) {
5986
6022
  if (w) return;
5987
6023
  T(), O(), k(), v = e;
5988
6024
  let i = globalThis.URL.createObjectURL(e);
5989
- y = i, s.src = i, f.src = i, o.style.display = "block", M(b ?? j()), D(zs(n)), r > 0 && (S = t.setTimeout(A, r));
6025
+ y = i, s.src = i, f.src = i, o.style.display = "block", M(b ?? j()), D(Vs(n)), r > 0 && (S = t.setTimeout(A, r));
5990
6026
  },
5991
6027
  dismiss: A,
5992
6028
  dispose() {
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());
6029
+ 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());
5994
6030
  }
5995
6031
  };
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 = [
6032
+ }, Ws = "mesurer.screenshot", Gs = "screenshot", Ks = "mesurer.screenshot.settings", qs = "mesurer.screenshot.active", Js = "runtime:solid", Ys = "screenshot.toggle", Xs = 2500, Zs = 0, Qs = [
5997
6033
  "[data-mesurer-measurement='true']",
5998
6034
  "[data-mesurer-selected-measurement='true']",
5999
6035
  "[data-mesurer-selection-spacing-target='true']",
6000
6036
  "[data-mesurer-guide='true']",
6001
6037
  "[data-mesurer-distance='true']"
6002
- ].join(","), Zs = `${Xs},[data-mesurer-rulers='true']`, Qs = {
6038
+ ].join(","), $s = `${Qs},[data-mesurer-rulers='true']`, ec = {
6003
6039
  viewBox: "0 0 256 256",
6004
6040
  paths: ["m 96,50 a 6.0006,6.0006 0 0 0 -4.992188,2.671875 L 76.789062,74 H 40 C 27.920803,74 18,83.920803 18,96 v 96 c 0,12.0792 9.920803,22 22,22 h 176 c 12.0792,0 22,-9.9208 22,-22 V 96 C 238,83.920803 228.0792,74 216,74 H 179.21094 L 164.99219,52.671875 A 6.0006,6.0006 0 0 0 160,50 Z m 3.210937,12 h 57.578123 l 14.21875,21.328125 A 6.0006,6.0006 0 0 0 176,86 h 40 c 5.59392,0 10,4.406085 10,10 v 96 c 0,5.59392 -4.40608,10 -10,10 H 40 c -5.593915,0 -10,-4.40608 -10,-10 V 96 c 0,-5.593915 4.406085,-10 10,-10 h 40 a 6.0006,6.0006 0 0 0 4.992187,-2.671875 z", "m 128,94 c -23.12489,0 -42,18.87511 -42,42 0,23.12489 18.87511,42 42,42 23.12489,0 42,-18.87511 42,-42 0,-23.12489 -18.87511,-42 -42,-42 z m 0,12 c 16.63961,0 30,13.36039 30,30 0,16.63961 -13.36039,30 -30,30 -16.63961,0 -30,-13.36039 -30,-30 0,-16.63961 13.36039,-30 30,-30 z"]
6005
- }, $s = (e, t) => {
6041
+ }, tc = (e, t) => {
6006
6042
  for (let [n, r] of Object.entries(t)) e.style.setProperty(n, r);
6007
- }, ec = (e, t) => {
6043
+ }, nc = (e, t) => {
6008
6044
  for (let n of [
6009
6045
  "left",
6010
6046
  "top",
@@ -6016,63 +6052,63 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
6016
6052
  let r = t[n];
6017
6053
  r === void 0 ? e.style.removeProperty(n) : e.style.setProperty(n, `${r}px`);
6018
6054
  }
6019
- }, tc = (e) => {
6020
- let t = e(Ws);
6055
+ }, rc = (e) => {
6056
+ let t = e(Ks);
6021
6057
  return {
6022
6058
  toolEnabled: t?.toolEnabled ?? !0,
6023
6059
  copy: t?.copy ?? !0,
6024
6060
  download: t?.download ?? !1,
6025
6061
  includeMeasurements: t?.includeMeasurements ?? !1
6026
6062
  };
6027
- }, nc = (e) => ({
6063
+ }, ic = (e) => ({
6028
6064
  value: e.style.getPropertyValue("display"),
6029
6065
  priority: e.style.getPropertyPriority("display")
6030
- }), rc = (e, t) => {
6066
+ }), ac = (e, t) => {
6031
6067
  t.value || t.priority ? e.style.setProperty("display", t.value, t.priority) : e.style.removeProperty("display");
6032
- }, ic = (e, t) => {
6068
+ }, oc = (e, t) => {
6033
6069
  let n = e;
6034
6070
  for (; n.parentElement && n.parentElement !== t;) n = n.parentElement;
6035
6071
  return n.parentElement === t ? n : null;
6036
- }, ac = (e) => {
6072
+ }, sc = (e) => {
6037
6073
  let t = e.querySelector("[data-mesurer-root='true']");
6038
6074
  if (!t) return () => void 0;
6039
6075
  let n = /* @__PURE__ */ new Set();
6040
6076
  for (let e of t.querySelectorAll("[data-mesurer-rulers='true']")) {
6041
- let r = ic(e, t);
6077
+ let r = oc(e, t);
6042
6078
  r && n.add(r);
6043
6079
  }
6044
- for (let e of t.querySelectorAll(Xs)) {
6045
- let r = ic(e, t);
6080
+ for (let e of t.querySelectorAll(Qs)) {
6081
+ let r = oc(e, t);
6046
6082
  r && n.add(r);
6047
6083
  }
6048
6084
  let r = [];
6049
6085
  for (let e of n) e.dataset.mesurerInspectorUi !== "true" && (r.push({
6050
6086
  element: e,
6051
- display: nc(e)
6087
+ display: ic(e)
6052
6088
  }), e.style.setProperty("display", "none", "important"));
6053
6089
  return () => {
6054
- for (let e of r) rc(e.element, e.display);
6090
+ for (let e of r) ac(e.element, e.display);
6055
6091
  };
6056
- }, oc = (e) => Array.from(e.querySelectorAll(Zs)).filter((e) => e.dataset.mesurerInspectorUi === "true").map((e) => ({
6092
+ }, cc = (e) => Array.from(e.querySelectorAll($s)).filter((e) => e.dataset.mesurerInspectorUi === "true").map((e) => ({
6057
6093
  element: e,
6058
- display: nc(e)
6059
- })), sc = (e) => {
6060
- for (let t of e) t.element.isConnected && rc(t.element, t.display);
6061
- }, cc = (e = {}) => ar({
6062
- id: Hs,
6094
+ display: ic(e)
6095
+ })), lc = (e) => {
6096
+ for (let t of e) t.element.isConnected && ac(t.element, t.display);
6097
+ }, uc = (e = {}) => ar({
6098
+ id: Ws,
6063
6099
  version: "0.1.0",
6064
- requires: [Ks],
6100
+ requires: [Js],
6065
6101
  provides: [
6066
6102
  "tool:screenshot",
6067
6103
  "capture:screenshot",
6068
6104
  "settings:screenshot"
6069
6105
  ],
6070
6106
  setup(t) {
6071
- let n = t.service.get(Ks);
6107
+ let n = t.service.get(Js);
6072
6108
  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 ?? Vr, l = e.previewDurationMs ?? Ys;
6109
+ let { ownerDocument: r, ownerWindow: i } = n, a = n.createWorkspaceRuntime(), o = n.createInspectorMount(), s = e.capture ?? e.captureVisibleTab, c = s ?? Vr, l = e.previewDurationMs ?? Zs;
6074
6110
  t.state.register({
6075
- id: Ws,
6111
+ id: Ks,
6076
6112
  initial: {
6077
6113
  toolEnabled: e.toolEnabled ?? !0,
6078
6114
  copy: e.copy ?? !0,
@@ -6081,11 +6117,11 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
6081
6117
  },
6082
6118
  persist: !0
6083
6119
  }), t.state.register({
6084
- id: Gs,
6120
+ id: qs,
6085
6121
  initial: !1
6086
6122
  });
6087
6123
  let u = o.element;
6088
- u.dataset.mesurerScreenshot = "true", $s(u, {
6124
+ u.dataset.mesurerScreenshot = "true", tc(u, {
6089
6125
  position: "fixed",
6090
6126
  inset: "0",
6091
6127
  "z-index": "85",
@@ -6093,7 +6129,7 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
6093
6129
  "font-family": "ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif"
6094
6130
  });
6095
6131
  let d = r.createElement("div");
6096
- d.dataset.mesurerScreenshotSelect = "true", d.setAttribute("role", "application"), d.setAttribute("aria-label", "Screenshot selection"), $s(d, {
6132
+ d.dataset.mesurerScreenshotSelect = "true", d.setAttribute("role", "application"), d.setAttribute("aria-label", "Screenshot selection"), tc(d, {
6097
6133
  position: "fixed",
6098
6134
  inset: "0",
6099
6135
  display: "none",
@@ -6105,13 +6141,13 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
6105
6141
  }), u.append(d);
6106
6142
  let f = Array.from({ length: 4 }, () => {
6107
6143
  let e = r.createElement("div");
6108
- return $s(e, {
6144
+ return tc(e, {
6109
6145
  position: "fixed",
6110
6146
  "background-color": "rgb(0 0 0 / 40%)",
6111
6147
  "pointer-events": "none"
6112
6148
  }), d.append(e), e;
6113
6149
  }), p = r.createElement("div");
6114
- $s(p, {
6150
+ tc(p, {
6115
6151
  position: "fixed",
6116
6152
  display: "none",
6117
6153
  border: "1px solid #0d99ff",
@@ -6119,7 +6155,7 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
6119
6155
  "pointer-events": "none"
6120
6156
  }), d.append(p);
6121
6157
  let m = r.createElement("div");
6122
- $s(m, {
6158
+ tc(m, {
6123
6159
  position: "fixed",
6124
6160
  display: "none",
6125
6161
  "z-index": "86",
@@ -6133,7 +6169,7 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
6133
6169
  "pointer-events": "none"
6134
6170
  }), d.append(m);
6135
6171
  let h = r.createElement("div");
6136
- h.textContent = "Drag to select · Esc to cancel", $s(h, {
6172
+ h.textContent = "Drag to select · Esc to cancel", tc(h, {
6137
6173
  position: "fixed",
6138
6174
  left: "50%",
6139
6175
  bottom: "16px",
@@ -6146,7 +6182,7 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
6146
6182
  "pointer-events": "none"
6147
6183
  }), d.append(h);
6148
6184
  let g = r.createElement("div");
6149
- g.dataset.mesurerScreenshotError = "true", g.setAttribute("role", "status"), g.textContent = "Could not save screenshot", $s(g, {
6185
+ g.dataset.mesurerScreenshotError = "true", g.setAttribute("role", "status"), g.textContent = "Could not save screenshot", tc(g, {
6150
6186
  position: "fixed",
6151
6187
  display: "none",
6152
6188
  "z-index": "97",
@@ -6157,8 +6193,8 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
6157
6193
  "font-size": "11px",
6158
6194
  "pointer-events": "none"
6159
6195
  }), u.append(g);
6160
- let _ = null, v = null, y = 0, b = 0, x = !1, S = !1, C = !1, w = () => t.state.get("mesurer.screenshot.active") ?? !1, T = () => tc(t.state.get), E = (e) => {
6161
- t.state.update(Ws, (t) => {
6196
+ let _ = null, v = null, y = 0, b = 0, x = !1, S = !1, C = !1, w = () => t.state.get("mesurer.screenshot.active") ?? !1, T = () => rc(t.state.get), E = (e) => {
6197
+ t.state.update(Ks, (t) => {
6162
6198
  let n = { ...t };
6163
6199
  return e.toolEnabled !== void 0 && (n.toolEnabled = e.toolEnabled), e.copy !== void 0 && (n.copy = e.copy), e.download !== void 0 && (n.download = e.download), e.includeMeasurements !== void 0 && (n.includeMeasurements = e.includeMeasurements), n;
6164
6200
  });
@@ -6181,13 +6217,13 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
6181
6217
  }, A = (e) => {
6182
6218
  let t = i.innerWidth, n = i.innerHeight;
6183
6219
  if (!e || e.width <= 0 || e.height <= 0) {
6184
- ec(f[0], {
6220
+ nc(f[0], {
6185
6221
  left: 0,
6186
6222
  top: 0,
6187
6223
  width: t,
6188
6224
  height: n
6189
6225
  });
6190
- for (let e of f.slice(1)) ec(e, {
6226
+ for (let e of f.slice(1)) nc(e, {
6191
6227
  left: 0,
6192
6228
  top: 0,
6193
6229
  width: 0,
@@ -6196,31 +6232,31 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
6196
6232
  p.style.display = "none", m.style.display = "none";
6197
6233
  return;
6198
6234
  }
6199
- ec(f[0], {
6235
+ nc(f[0], {
6200
6236
  left: 0,
6201
6237
  top: 0,
6202
6238
  width: t,
6203
6239
  height: e.top
6204
- }), ec(f[1], {
6240
+ }), nc(f[1], {
6205
6241
  left: 0,
6206
6242
  top: e.top,
6207
6243
  width: e.left,
6208
6244
  height: e.height
6209
- }), ec(f[2], {
6245
+ }), nc(f[2], {
6210
6246
  left: e.left + e.width,
6211
6247
  top: e.top,
6212
6248
  width: Math.max(0, t - e.left - e.width),
6213
6249
  height: e.height
6214
- }), ec(f[3], {
6250
+ }), nc(f[3], {
6215
6251
  left: 0,
6216
6252
  top: e.top + e.height,
6217
6253
  width: t,
6218
6254
  height: Math.max(0, n - e.top - e.height)
6219
- }), p.style.display = "block", ec(p, e), m.style.display = "block", m.textContent = `${Math.round(e.width)} × ${Math.round(e.height)}`, ec(m, {
6255
+ }), p.style.display = "block", nc(p, e), m.style.display = "block", m.textContent = `${Math.round(e.width)} × ${Math.round(e.height)}`, nc(m, {
6220
6256
  left: e.left + e.width / 2,
6221
6257
  top: Math.min(n - 22, e.top + e.height + 6)
6222
6258
  });
6223
- }, j = () => n.portalTarget.querySelector("[data-mesurer-tool-id='screenshot']")?.getBoundingClientRect() ?? null, M = Vs({
6259
+ }, j = () => n.portalTarget.querySelector("[data-mesurer-tool-id='screenshot']")?.getBoundingClientRect() ?? null, M = Us({
6224
6260
  ownerDocument: r,
6225
6261
  ownerWindow: i,
6226
6262
  root: u,
@@ -6231,17 +6267,17 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
6231
6267
  }, N = () => {
6232
6268
  y && i.clearTimeout(y), g.style.display = "block", ee(g), y = i.setTimeout(() => {
6233
6269
  y = 0, g.style.display = "none";
6234
- }, Js);
6235
- }, P = () => {
6270
+ }, Xs);
6271
+ }, te = () => {
6236
6272
  _ = 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) => {
6273
+ }, P = () => {
6274
+ b += 1, te(), Hr(i);
6275
+ }, ne = async (e) => {
6240
6276
  if (x) throw Error("A screenshot capture is already running.");
6241
6277
  if (e.width < 4 || e.height < 4) throw Error("Screenshot selection must be at least 4px by 4px.");
6242
6278
  x = !0;
6243
- let o = ++b, s = T(), l = s.includeMeasurements ? oc(r) : [], u = s.includeMeasurements ? () => void 0 : ac(n.portalTarget);
6244
- a.prepareCapture(), s.includeMeasurements && sc(l);
6279
+ let o = ++b, s = T(), l = s.includeMeasurements ? cc(r) : [], u = s.includeMeasurements ? () => void 0 : sc(n.portalTarget);
6280
+ a.prepareCapture(), s.includeMeasurements && lc(l);
6245
6281
  try {
6246
6282
  d.style.visibility = "hidden", await Cr(i);
6247
6283
  let n = await yr(await c({
@@ -6278,10 +6314,10 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
6278
6314
  } finally {
6279
6315
  d.style.visibility = "", u(), a.finishCapture(), x = !1;
6280
6316
  }
6281
- }, I = async () => {
6317
+ }, F = async () => {
6282
6318
  if (T().toolEnabled) {
6283
6319
  if (w()) {
6284
- F();
6320
+ P();
6285
6321
  return;
6286
6322
  }
6287
6323
  if (!S) {
@@ -6296,7 +6332,7 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
6296
6332
  }
6297
6333
  }
6298
6334
  }
6299
- }, L = (e) => {
6335
+ }, I = (e) => {
6300
6336
  !w() || e.button !== 0 || (e.preventDefault(), e.stopPropagation(), _ = {
6301
6337
  x: e.clientX,
6302
6338
  y: e.clientY
@@ -6304,7 +6340,7 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
6304
6340
  width: i.innerWidth,
6305
6341
  height: i.innerHeight
6306
6342
  })), d.setPointerCapture?.(e.pointerId));
6307
- }, R = (e) => {
6343
+ }, L = (e) => {
6308
6344
  !w() || !_ || A(vr(_, {
6309
6345
  x: e.clientX,
6310
6346
  y: e.clientY
@@ -6312,7 +6348,7 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
6312
6348
  width: i.innerWidth,
6313
6349
  height: i.innerHeight
6314
6350
  }));
6315
- }, z = (e) => {
6351
+ }, R = (e) => {
6316
6352
  let t = _;
6317
6353
  if (_ = null, !w() || !t) return;
6318
6354
  d.hasPointerCapture?.(e.pointerId) && d.releasePointerCapture(e.pointerId);
@@ -6327,30 +6363,30 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
6327
6363
  A(null);
6328
6364
  return;
6329
6365
  }
6330
- te(n).catch(() => void 0).finally(() => {
6331
- w() && P();
6366
+ ne(n).catch(() => void 0).finally(() => {
6367
+ w() && te();
6332
6368
  });
6333
- }, B = (e) => {
6369
+ }, z = (e) => {
6334
6370
  _ = null, d.hasPointerCapture?.(e.pointerId) && d.releasePointerCapture(e.pointerId), A(null);
6335
- }, V = (e) => {
6336
- e.key !== "Escape" || !w() || (e.preventDefault(), e.stopImmediatePropagation(), F());
6371
+ }, B = (e) => {
6372
+ e.key !== "Escape" || !w() || (e.preventDefault(), e.stopImmediatePropagation(), P());
6337
6373
  };
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 = {
6374
+ d.addEventListener("pointerdown", I), d.addEventListener("pointermove", L), d.addEventListener("pointerup", R), d.addEventListener("pointercancel", z), i.addEventListener("keydown", B, !0);
6375
+ let V = {
6340
6376
  active: w,
6341
6377
  settings: T,
6342
6378
  setSettings: E,
6343
- start: I,
6344
- cancel: F,
6345
- capture: te
6379
+ start: F,
6380
+ cancel: P,
6381
+ capture: ne
6346
6382
  };
6347
6383
  t.tool.register({
6348
6384
  id: "screenshot",
6349
6385
  label: "Screenshot",
6350
6386
  shortcut: "Shift+S",
6351
6387
  order: 70,
6352
- command: qs,
6353
- icon: Qs,
6388
+ command: Ys,
6389
+ icon: ec,
6354
6390
  active: w,
6355
6391
  hidden: () => !T().toolEnabled,
6356
6392
  menu: {
@@ -6388,7 +6424,7 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
6388
6424
  description: "Show the camera tool in the toolbar.",
6389
6425
  value: () => T().toolEnabled,
6390
6426
  set: (e) => {
6391
- E({ toolEnabled: e }), !e && w() && F();
6427
+ E({ toolEnabled: e }), !e && w() && P();
6392
6428
  }
6393
6429
  },
6394
6430
  {
@@ -6416,14 +6452,14 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
6416
6452
  set: (e) => E({ includeMeasurements: e })
6417
6453
  }
6418
6454
  ]
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();
6455
+ }), t.command.register(Ys, F), t.service.provide(Gs, V), t.lifecycle.onDispose(() => {
6456
+ 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(), Hr(i), a.finishCapture(), a.dispose(), o.dispose();
6421
6457
  });
6422
6458
  }
6423
- }), lc = "0.2.0-beta.4", uc = ya, dc = ga, fc = _a, pc = ba, mc = va, hc = () => ({
6424
- ...no(),
6425
- version: lc
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) => {
6459
+ }), dc = "0.2.0-beta.6", fc = xa, pc = va, mc = ya, hc = Sa, gc = ba, _c = () => ({
6460
+ ...io(),
6461
+ version: dc
6462
+ }), vc = (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, yc = (e) => {
6427
6463
  if (!e.length) return null;
6428
6464
  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));
6429
6465
  return {
@@ -6432,43 +6468,43 @@ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-
6432
6468
  width: r - t,
6433
6469
  height: i - n
6434
6470
  };
6435
- }, vc = (e, t, n) => t.some((t) => e.orientation === "vertical" ? e.position >= t.left - n && e.position <= t.left + t.width + n : e.position >= t.top - n && e.position <= t.top + t.height + n), yc = (e) => [...e.measurements, ...e.activeMeasurement && !e.measurements.some((t) => t.id === e.activeMeasurement?.id) ? [e.activeMeasurement] : []];
6436
- function bc(e) {
6471
+ }, bc = (e, t, n) => t.some((t) => e.orientation === "vertical" ? e.position >= t.left - n && e.position <= t.left + t.width + n : e.position >= t.top - n && e.position <= t.top + t.height + n), xc = (e) => [...e.measurements, ...e.activeMeasurement && !e.measurements.some((t) => t.id === e.activeMeasurement?.id) ? [e.activeMeasurement] : []];
6472
+ function Sc(e) {
6437
6473
  let { workspace: t, scope: n, guideTolerance: r } = e;
6438
6474
  if (n.kind === "workspace") return {
6439
6475
  guides: t.guides.map((e) => ({ ...e })),
6440
- measurements: yc(t),
6476
+ measurements: xc(t),
6441
6477
  distances: [...t.distances]
6442
6478
  };
6443
- let i = new Set(n.elements), a = (e) => e != null && i.has(e), o = (e) => n.regions.some((t) => gc(e, t));
6479
+ let i = new Set(n.elements), a = (e) => e != null && i.has(e), o = (e) => n.regions.some((t) => vc(e, t));
6444
6480
  return {
6445
- guides: t.guides.filter((e) => vc(e, n.regions, r)).map((e) => ({ ...e })),
6446
- measurements: yc(t).filter((e) => a(e.elementRef) || o(e.rect)),
6481
+ guides: t.guides.filter((e) => bc(e, n.regions, r)).map((e) => ({ ...e })),
6482
+ measurements: xc(t).filter((e) => a(e.elementRef) || o(e.rect)),
6447
6483
  distances: t.distances.filter((e) => a(e.elementRefA) || a(e.elementRefB) || o(e.rectA) || o(e.rectB))
6448
6484
  };
6449
6485
  }
6450
6486
  //#endregion
6451
6487
  //#region ../mesurer-core/dist/domain.js
6452
- var xc = {
6488
+ var Cc = {
6453
6489
  opacity: 1,
6454
6490
  width: 1,
6455
6491
  pattern: "solid",
6456
6492
  dashLength: 6,
6457
6493
  gap: 4
6458
- }, Sc = {
6494
+ }, wc = {
6459
6495
  opacity: 1,
6460
6496
  edgeReveal: !1
6461
6497
  };
6462
- ({ ...xc }), { ...Sc };
6498
+ ({ ...Cc }), { ...wc };
6463
6499
  //#endregion
6464
6500
  //#region ../mesurer-dom/dist/index.js
6465
- var Cc = (e) => Number.parseFloat(e) || 0, wc = 0, Tc = (e, t) => {
6501
+ var Tc = (e) => Number.parseFloat(e) || 0, Ec = 0, Dc = (e, t) => {
6466
6502
  let n = t.CSS;
6467
6503
  return n?.escape ? n.escape(e) : e.replace(/[^a-zA-Z0-9_-]/g, (e) => `\\${e}`);
6468
6504
  };
6469
- function Ec(e) {
6505
+ function Oc(e) {
6470
6506
  let t = e.ownerDocument.defaultView ?? window;
6471
- if (e.id) return `#${Tc(e.id, t)}`;
6507
+ if (e.id) return `#${Dc(e.id, t)}`;
6472
6508
  let n = e.getAttribute("data-testid");
6473
6509
  if (n) return `[data-testid=${JSON.stringify(n)}]`;
6474
6510
  let r = [], i = e;
@@ -6482,17 +6518,17 @@ function Ec(e) {
6482
6518
  }
6483
6519
  return r.join(" > ");
6484
6520
  }
6485
- function Dc(e, t, n = `dom-inspection-${++wc}`) {
6521
+ function kc(e, t, n = `dom-inspection-${++Ec}`) {
6486
6522
  let r = e.getBoundingClientRect(), i = t.getComputedStyle(e), a = {
6487
- top: Cc(i.paddingTop),
6488
- right: Cc(i.paddingRight),
6489
- bottom: Cc(i.paddingBottom),
6490
- left: Cc(i.paddingLeft)
6523
+ top: Tc(i.paddingTop),
6524
+ right: Tc(i.paddingRight),
6525
+ bottom: Tc(i.paddingBottom),
6526
+ left: Tc(i.paddingLeft)
6491
6527
  }, o = {
6492
- top: Cc(i.marginTop),
6493
- right: Cc(i.marginRight),
6494
- bottom: Cc(i.marginBottom),
6495
- left: Cc(i.marginLeft)
6528
+ top: Tc(i.marginTop),
6529
+ right: Tc(i.marginRight),
6530
+ bottom: Tc(i.marginBottom),
6531
+ left: Tc(i.marginLeft)
6496
6532
  }, s = {
6497
6533
  left: r.left + a.left,
6498
6534
  top: r.top + a.top,
@@ -6520,8 +6556,8 @@ function Dc(e, t, n = `dom-inspection-${++wc}`) {
6520
6556
  elementRef: e
6521
6557
  };
6522
6558
  }
6523
- function Oc(e) {
6524
- let t = e.ownerDocument.defaultView ?? window, n = t.getComputedStyle(e), r = e instanceof t.HTMLElement ? e : null, i = e.getBoundingClientRect(), a = r ? Dc(r, t) : null, o = (e) => {
6559
+ function Ac(e) {
6560
+ let t = e.ownerDocument.defaultView ?? window, n = t.getComputedStyle(e), r = e instanceof t.HTMLElement ? e : null, i = e.getBoundingClientRect(), a = r ? kc(r, t) : null, o = (e) => {
6525
6561
  let t = Number.parseFloat(e);
6526
6562
  return Number.isFinite(t) ? t : 0;
6527
6563
  }, s = (e) => ({
@@ -6531,7 +6567,7 @@ function Oc(e) {
6531
6567
  left: o(n.getPropertyValue(`${e}-left${e === "border" ? "-width" : ""}`))
6532
6568
  });
6533
6569
  return {
6534
- selector: Ec(e),
6570
+ selector: Oc(e),
6535
6571
  tag: e.localName,
6536
6572
  id: e.id || null,
6537
6573
  classes: [...e.classList],
@@ -6593,17 +6629,17 @@ function Oc(e) {
6593
6629
  }
6594
6630
  //#endregion
6595
6631
  //#region src/context.ts
6596
- var kc = 10, Ac = (e) => ({
6632
+ var jc = 10, Mc = (e) => ({
6597
6633
  left: e.left,
6598
6634
  top: e.top,
6599
6635
  width: e.width,
6600
6636
  height: e.height
6601
- }), jc = (e) => {
6637
+ }), Nc = (e) => {
6602
6638
  let t = /* @__PURE__ */ new Set(), n = [];
6603
6639
  for (let r of e) !r?.isConnected || t.has(r) || (t.add(r), n.push(r));
6604
6640
  return n;
6605
- }, Mc = (e) => e.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random().toString(36).slice(2)}`;
6606
- function Nc(e) {
6641
+ }, Pc = (e) => e.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random().toString(36).slice(2)}`;
6642
+ function Fc(e) {
6607
6643
  let { runtime: t, ownerDocument: n, ownerWindow: r } = e, i = e.request ?? { scope: "workspace" }, a = t.snapshot();
6608
6644
  if (!a) throw Error("Mesurer workspace is not ready yet.");
6609
6645
  let o = [], s = [], c = { kind: "workspace" }, l = /* @__PURE__ */ new Map();
@@ -6611,7 +6647,7 @@ function Nc(e) {
6611
6647
  let e = t.annotation(i.annotation);
6612
6648
  if (!e) throw Error(`Mesurer annotation not found: ${i.annotation}`);
6613
6649
  for (let t of e.resolvedTargets) t.element?.isConnected && l.set(t.element, t.target.id);
6614
- o = jc(e.resolvedTargets.map((e) => e.element));
6650
+ o = Nc(e.resolvedTargets.map((e) => e.element));
6615
6651
  let n = t.annotationRect(e.id);
6616
6652
  n && (s = [n]);
6617
6653
  let r = e.resolvedTargets.length, a = e.resolvedTargets.filter((e) => e.element?.isConnected).length, u = e.anchor.kind === "region" ? "connected" : r === 0 || a === 0 ? "stale" : a === r ? "connected" : "partial";
@@ -6623,15 +6659,15 @@ function Nc(e) {
6623
6659
  };
6624
6660
  } else if (i.scope === "selection") {
6625
6661
  let e = t.currentSelection();
6626
- if (o = jc(e.elements), !o.length && !e.region) throw Error("Mesurer has no current selection.");
6627
- s = e.region ? [e.region] : o.map((e) => Ac(e.getBoundingClientRect())), c = { kind: "selection" };
6628
- } else o = jc([
6662
+ if (o = Nc(e.elements), !o.length && !e.region) throw Error("Mesurer has no current selection.");
6663
+ s = e.region ? [e.region] : o.map((e) => Mc(e.getBoundingClientRect())), c = { kind: "selection" };
6664
+ } else o = Nc([
6629
6665
  ...t.currentSelection().elements,
6630
6666
  ...a.measurements.map((e) => e.elementRef),
6631
6667
  a.activeMeasurement?.elementRef,
6632
6668
  ...a.heldDistances.flatMap((e) => [e.elementRefA, e.elementRefB])
6633
6669
  ]);
6634
- let u = c.kind === "workspace" ? [] : s.length ? s : o.map((e) => Ac(e.getBoundingClientRect())), d = bc({
6670
+ let u = c.kind === "workspace" ? [] : s.length ? s : o.map((e) => Mc(e.getBoundingClientRect())), d = Sc({
6635
6671
  workspace: {
6636
6672
  guides: a.guides,
6637
6673
  measurements: a.measurements,
@@ -6643,8 +6679,8 @@ function Nc(e) {
6643
6679
  elements: o,
6644
6680
  regions: u
6645
6681
  },
6646
- guideTolerance: a.guideRelevanceTolerance ?? kc
6647
- }), f = d.measurements, p = d.distances, m = d.guides, h = jc([
6682
+ guideTolerance: a.guideRelevanceTolerance ?? jc
6683
+ }), f = d.measurements, p = d.distances, m = d.guides, h = Nc([
6648
6684
  ...o,
6649
6685
  ...f.map((e) => e.elementRef),
6650
6686
  ...p.flatMap((e) => [e.elementRefA, e.elementRefB])
@@ -6656,12 +6692,12 @@ function Nc(e) {
6656
6692
  let t = l.get(e) ?? y();
6657
6693
  return g.set(e, t), {
6658
6694
  ref: t,
6659
- inspection: Oc(e)
6695
+ inspection: Ac(e)
6660
6696
  };
6661
6697
  }), x = f.map((e) => {
6662
6698
  let t = {
6663
6699
  id: e.id,
6664
- rect: Ac(e.rect),
6700
+ rect: Mc(e.rect),
6665
6701
  deltaX: e.deltaX,
6666
6702
  deltaY: e.deltaY
6667
6703
  };
@@ -6671,8 +6707,8 @@ function Nc(e) {
6671
6707
  }), S = p.map((e) => {
6672
6708
  let t = {
6673
6709
  id: e.id,
6674
- rectA: Ac(e.rectA),
6675
- rectB: Ac(e.rectB),
6710
+ rectA: Mc(e.rectA),
6711
+ rectB: Mc(e.rectB),
6676
6712
  horizontal: e.horizontal ? { ...e.horizontal } : null,
6677
6713
  vertical: e.vertical ? { ...e.vertical } : null
6678
6714
  }, n = e.elementRefA ? g.get(e.elementRefA) : void 0, r = e.elementRefB ? g.get(e.elementRefB) : void 0;
@@ -6680,7 +6716,7 @@ function Nc(e) {
6680
6716
  });
6681
6717
  return {
6682
6718
  schema: "mesurer.context/v1",
6683
- id: Mc(r),
6719
+ id: Pc(r),
6684
6720
  createdAt: (/* @__PURE__ */ new Date()).toISOString(),
6685
6721
  scope: c,
6686
6722
  page: {
@@ -6695,7 +6731,7 @@ function Nc(e) {
6695
6731
  scrollY: r.scrollY
6696
6732
  },
6697
6733
  coordinateSpace: "viewport-css-px",
6698
- regions: c.kind === "workspace" ? [] : s.map(Ac),
6734
+ regions: c.kind === "workspace" ? [] : s.map(Mc),
6699
6735
  visualState: {
6700
6736
  rulersVisible: a.rulersVisible,
6701
6737
  xrayVisible: a.xrayVisible
@@ -6709,19 +6745,19 @@ function Nc(e) {
6709
6745
  }
6710
6746
  };
6711
6747
  }
6712
- var $ = (e) => `${Math.round(e * 100) / 100}px`, Pc = (e) => `x=${$(e.left)} y=${$(e.top)} w=${$(e.width)} h=${$(e.height)}`;
6713
- function Fc(e) {
6748
+ var $ = (e) => `${Math.round(e * 100) / 100}px`, Ic = (e) => `x=${$(e.left)} y=${$(e.top)} w=${$(e.width)} h=${$(e.height)}`;
6749
+ function Lc(e) {
6714
6750
  let t = [
6715
6751
  "Mesurer visual context",
6716
6752
  "",
6717
6753
  `Page: ${e.page.url}`,
6718
6754
  `Viewport: ${e.viewport.width} × ${e.viewport.height} CSS px; scroll x=${e.viewport.scrollX} y=${e.viewport.scrollY}`
6719
6755
  ];
6720
- if (e.scope.kind === "annotation" ? t.push("", "Annotation", e.scope.note, `Target status: ${e.scope.targetStatus}`) : t.push("", `Scope: ${e.scope.kind}`), e.regions.length && (t.push("", "Requested regions"), e.regions.forEach((e, n) => t.push(`- region-${n + 1}: ${Pc(e)}`))), (e.visualState.rulersVisible || e.visualState.xrayVisible) && t.push("", `Visual state: rulers=${e.visualState.rulersVisible ? "on" : "off"}; x-ray=${e.visualState.xrayVisible ? "on" : "off"}`), e.targets.length) {
6756
+ if (e.scope.kind === "annotation" ? t.push("", "Annotation", e.scope.note, `Target status: ${e.scope.targetStatus}`) : t.push("", `Scope: ${e.scope.kind}`), e.regions.length && (t.push("", "Requested regions"), e.regions.forEach((e, n) => t.push(`- region-${n + 1}: ${Ic(e)}`))), (e.visualState.rulersVisible || e.visualState.xrayVisible) && t.push("", `Visual state: rulers=${e.visualState.rulersVisible ? "on" : "off"}; x-ray=${e.visualState.xrayVisible ? "on" : "off"}`), e.targets.length) {
6721
6757
  t.push("", "Targets");
6722
6758
  for (let n of e.targets) {
6723
6759
  let e = n.inspection;
6724
- t.push(`[${n.ref}] ${e.selector}`, ` rect: ${Pc(e.rect)}`, ` margin: ${$(e.margin.top)} ${$(e.margin.right)} ${$(e.margin.bottom)} ${$(e.margin.left)}`, ` padding: ${$(e.padding.top)} ${$(e.padding.right)} ${$(e.padding.bottom)} ${$(e.padding.left)}`, ` layout: display=${e.layout.display}; position=${e.layout.position}; gap=${e.layout.gap}`, ` typography: ${e.typography.fontSize} / ${e.typography.lineHeight}; weight=${e.typography.fontWeight}; align=${e.typography.textAlign}`), e.text && t.push(` text: ${JSON.stringify(e.text)}`);
6760
+ t.push(`[${n.ref}] ${e.selector}`, ` rect: ${Ic(e.rect)}`, ` margin: ${$(e.margin.top)} ${$(e.margin.right)} ${$(e.margin.bottom)} ${$(e.margin.left)}`, ` padding: ${$(e.padding.top)} ${$(e.padding.right)} ${$(e.padding.bottom)} ${$(e.padding.left)}`, ` layout: display=${e.layout.display}; position=${e.layout.position}; gap=${e.layout.gap}`, ` typography: ${e.typography.fontSize} / ${e.typography.lineHeight}; weight=${e.typography.fontWeight}; align=${e.typography.textAlign}`), e.text && t.push(` text: ${JSON.stringify(e.text)}`);
6725
6761
  }
6726
6762
  }
6727
6763
  if (e.visualContext.guides.length) {
@@ -6738,7 +6774,7 @@ function Fc(e) {
6738
6774
  }
6739
6775
  if (e.visualContext.measurements.length) {
6740
6776
  t.push("", "Relevant measurements");
6741
- for (let n of e.visualContext.measurements) t.push(`- ${n.targetRef ? `${n.targetRef}: ` : ""}${Pc(n.rect)}; delta=${$(n.deltaX)} × ${$(n.deltaY)}`);
6777
+ for (let n of e.visualContext.measurements) t.push(`- ${n.targetRef ? `${n.targetRef}: ` : ""}${Ic(n.rect)}; delta=${$(n.deltaX)} × ${$(n.deltaY)}`);
6742
6778
  }
6743
6779
  if (e.visualContext.distances.length) {
6744
6780
  t.push("", "Relevant distances");
@@ -6749,8 +6785,8 @@ function Fc(e) {
6749
6785
  }
6750
6786
  return t.join("\n").trimEnd();
6751
6787
  }
6752
- function Ic(e) {
6753
- let t = _c([
6788
+ function Rc(e) {
6789
+ let t = yc([
6754
6790
  ...e.regions,
6755
6791
  ...e.targets.map((e) => e.inspection.rect),
6756
6792
  ...e.visualContext.measurements.map((e) => e.rect),
@@ -6780,7 +6816,7 @@ function Ic(e) {
6780
6816
  captures: n
6781
6817
  };
6782
6818
  }
6783
- var Lc = (e, t, n, r, i) => {
6819
+ var zc = (e, t, n, r, i) => {
6784
6820
  !Number.isFinite(r) || !Number.isFinite(i) || Math.abs(r - i) < .01 || e.push({
6785
6821
  kind: t,
6786
6822
  label: n,
@@ -6789,16 +6825,16 @@ var Lc = (e, t, n, r, i) => {
6789
6825
  delta: i - r,
6790
6826
  unit: "px"
6791
6827
  });
6792
- }, Rc = (e, t, n, r) => e.push({
6828
+ }, Bc = (e, t, n, r) => e.push({
6793
6829
  kind: "missing",
6794
6830
  evidence: t,
6795
6831
  id: n,
6796
6832
  label: r
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) {
6833
+ }), Vc = (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;
6834
+ function Hc(e) {
6799
6835
  let t = e.runtime.annotation(e.annotationId);
6800
6836
  if (!t) throw Error(`Mesurer annotation not found: ${e.annotationId}`);
6801
- let n = Nc({
6837
+ let n = Fc({
6802
6838
  runtime: e.runtime,
6803
6839
  ownerDocument: e.ownerDocument,
6804
6840
  ownerWindow: e.ownerWindow,
@@ -6808,42 +6844,42 @@ function Bc(e) {
6808
6844
  if (n.scope.kind !== "annotation") throw Error("Mesurer annotation context invariant failed.");
6809
6845
  let r = e.runtime.snapshot();
6810
6846
  if (!r) throw Error("Mesurer workspace is not ready yet.");
6811
- let i = yc({
6847
+ let i = xc({
6812
6848
  measurements: r.measurements,
6813
6849
  activeMeasurement: r.activeMeasurement
6814
6850
  }), a = [];
6815
6851
  for (let e of t.baseline.targets) {
6816
6852
  let t = n.targets.find((t) => t.ref === e.id);
6817
6853
  if (!t) {
6818
- Rc(a, "target", e.id, e.selector);
6854
+ Bc(a, "target", e.id, e.selector);
6819
6855
  continue;
6820
6856
  }
6821
- Lc(a, "target-rect", `${t.inspection.selector} left`, e.rect.left, t.inspection.rect.left), Lc(a, "target-rect", `${t.inspection.selector} top`, e.rect.top, t.inspection.rect.top), Lc(a, "target-rect", `${t.inspection.selector} width`, e.rect.width, t.inspection.rect.width), Lc(a, "target-rect", `${t.inspection.selector} height`, e.rect.height, t.inspection.rect.height);
6857
+ zc(a, "target-rect", `${t.inspection.selector} left`, e.rect.left, t.inspection.rect.left), zc(a, "target-rect", `${t.inspection.selector} top`, e.rect.top, t.inspection.rect.top), zc(a, "target-rect", `${t.inspection.selector} width`, e.rect.width, t.inspection.rect.width), zc(a, "target-rect", `${t.inspection.selector} height`, e.rect.height, t.inspection.rect.height);
6822
6858
  }
6823
6859
  for (let e of t.baseline.guides) {
6824
6860
  let t = n.visualContext.guides.find((t) => t.id === e.id) ?? r.guides.find((t) => t.id === e.id);
6825
6861
  if (!t) {
6826
- Rc(a, "guide", e.id, `${e.orientation} guide ${e.id}`);
6862
+ Bc(a, "guide", e.id, `${e.orientation} guide ${e.id}`);
6827
6863
  continue;
6828
6864
  }
6829
- Lc(a, "guide", `${e.orientation} guide ${e.id}`, e.position, t.position);
6865
+ zc(a, "guide", `${e.orientation} guide ${e.id}`, e.position, t.position);
6830
6866
  }
6831
6867
  for (let e of t.baseline.measurements) {
6832
6868
  let r = n.visualContext.measurements.find((t) => t.id === e.id) ?? i.find((t) => t.id === e.id);
6833
6869
  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);
6870
+ let r = t.baseline.targets.find((t) => Vc(t.rect, e.rect));
6871
+ r && n.targets.some((e) => e.ref === r.id) || Bc(a, "measurement", e.id, e.id);
6836
6872
  continue;
6837
6873
  }
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);
6874
+ zc(a, "measurement", `${e.id} width`, e.rect.width, r.rect.width), zc(a, "measurement", `${e.id} height`, e.rect.height, r.rect.height);
6839
6875
  }
6840
6876
  for (let e of t.baseline.distances) {
6841
6877
  let t = n.visualContext.distances.find((t) => t.id === e.id) ?? r.heldDistances.find((t) => t.id === e.id);
6842
6878
  if (!t) {
6843
- Rc(a, "distance", e.id, e.id);
6879
+ Bc(a, "distance", e.id, e.id);
6844
6880
  continue;
6845
6881
  }
6846
- e.horizontal && t.horizontal ? Lc(a, "distance", `${e.id} horizontal`, e.horizontal.value, t.horizontal.value) : e.horizontal && !t.horizontal && Rc(a, "distance", e.id, `${e.id} horizontal`), e.vertical && t.vertical ? Lc(a, "distance", `${e.id} vertical`, e.vertical.value, t.vertical.value) : e.vertical && !t.vertical && Rc(a, "distance", e.id, `${e.id} vertical`);
6882
+ e.horizontal && t.horizontal ? zc(a, "distance", `${e.id} horizontal`, e.horizontal.value, t.horizontal.value) : e.horizontal && !t.horizontal && Bc(a, "distance", e.id, `${e.id} horizontal`), e.vertical && t.vertical ? zc(a, "distance", `${e.id} vertical`, e.vertical.value, t.vertical.value) : e.vertical && !t.vertical && Bc(a, "distance", e.id, `${e.id} vertical`);
6847
6883
  }
6848
6884
  return {
6849
6885
  schema: "mesurer.review/v1",
@@ -6855,7 +6891,7 @@ function Bc(e) {
6855
6891
  changes: a
6856
6892
  };
6857
6893
  }
6858
- async function Vc(e, t, n) {
6894
+ async function Uc(e, t, n) {
6859
6895
  try {
6860
6896
  if (t.navigator.clipboard?.writeText) {
6861
6897
  await t.navigator.clipboard.writeText(n);
@@ -6869,43 +6905,43 @@ async function Vc(e, t, n) {
6869
6905
  }
6870
6906
  //#endregion
6871
6907
  //#region src/layout-guides.ts
6872
- var Hc = rs, Uc = is, Wc = as, Gc = os, Kc = () => ({
6873
- ...As(),
6874
- version: lc
6875
- }), qc = "mesurer.context", Jc = "context:v1", Yc = "mesurer.context.settings", Xc = "context.ui", Zc = "data-mesurer-direct-text-edit-active", Qc = {
6908
+ var Wc = as, Gc = os, Kc = ss, qc = cs, Jc = () => ({
6909
+ ...Ms(),
6910
+ version: dc
6911
+ }), Yc = "mesurer.context", Xc = "context:v1", Zc = "mesurer.context.settings", Qc = "context.ui", $c = "data-mesurer-direct-text-edit-active", el = {
6876
6912
  viewBox: "0 0 256 256",
6877
6913
  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"]
6878
- }, $c = {
6914
+ }, tl = {
6879
6915
  viewBox: "0 0 256 256",
6880
6916
  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"]
6881
- }, el = {
6917
+ }, nl = {
6882
6918
  viewBox: "0 0 256 256",
6883
6919
  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"]
6884
- }, tl = async (e, t, n = 1) => {
6920
+ }, rl = async (e, t, n = 1) => {
6885
6921
  await e.fonts?.ready;
6886
6922
  for (let e = 0; e < Math.max(1, n); e += 1) await new Promise((e) => t.requestAnimationFrame(() => e()));
6887
- }, nl = (e, t, n, r) => {
6888
- let i = async (i) => Nc({
6923
+ }, il = (e, t, n, r) => {
6924
+ let i = async (i) => Fc({
6889
6925
  runtime: e,
6890
6926
  ownerDocument: t,
6891
6927
  ownerWindow: n,
6892
6928
  request: i,
6893
6929
  layoutGuides: r()
6894
- }), a = async (e) => Fc(await i(e));
6930
+ }), a = async (e) => Lc(await i(e));
6895
6931
  return {
6896
6932
  context: i,
6897
6933
  contextText: a,
6898
- copyContext: async (e) => Vc(t, n, await a(e)),
6934
+ copyContext: async (e) => Uc(t, n, await a(e)),
6899
6935
  select: async (r) => {
6900
6936
  let a = Array.isArray(r) ? [...r] : [String(r)];
6901
- return e.select(a), await tl(t, n), i({ scope: "selection" });
6937
+ return e.select(a), await rl(t, n), i({ scope: "selection" });
6902
6938
  },
6903
6939
  annotations: async () => e.annotations(),
6904
6940
  removeAnnotation: async (r) => {
6905
- e.removeAnnotation(r), await tl(t, n);
6941
+ e.removeAnnotation(r), await rl(t, n);
6906
6942
  },
6907
6943
  review: async (i) => {
6908
- if (await tl(t, n), i) return Bc({
6944
+ if (await rl(t, n), i) return Hc({
6909
6945
  runtime: e,
6910
6946
  ownerDocument: t,
6911
6947
  ownerWindow: n,
@@ -6913,7 +6949,7 @@ var Hc = rs, Uc = is, Wc = as, Gc = os, Kc = () => ({
6913
6949
  layoutGuides: r()
6914
6950
  });
6915
6951
  let a = r();
6916
- return e.annotations().map((r) => Bc({
6952
+ return e.annotations().map((r) => Hc({
6917
6953
  runtime: e,
6918
6954
  ownerDocument: t,
6919
6955
  ownerWindow: n,
@@ -6921,38 +6957,38 @@ var Hc = rs, Uc = is, Wc = as, Gc = os, Kc = () => ({
6921
6957
  layoutGuides: a
6922
6958
  }));
6923
6959
  },
6924
- capturePlan: async (e) => Ic(await i(e)),
6960
+ capturePlan: async (e) => Rc(await i(e)),
6925
6961
  prepareCapture: async () => {
6926
- e.prepareCapture(), await tl(t, n);
6962
+ e.prepareCapture(), await rl(t, n);
6927
6963
  },
6928
6964
  finishCapture: async () => {
6929
- e.finishCapture(), await tl(t, n);
6965
+ e.finishCapture(), await rl(t, n);
6930
6966
  }
6931
6967
  };
6932
- }, rl = (e) => {
6968
+ }, al = (e) => {
6933
6969
  let t = e.currentSelection();
6934
6970
  return t.elements.length > 0 || t.region !== null;
6935
6971
  };
6936
- function il(e = {}) {
6972
+ function ol(e = {}) {
6937
6973
  return {
6938
- id: qc,
6939
- version: lc,
6974
+ id: Yc,
6975
+ version: dc,
6940
6976
  requires: ["runtime:solid"],
6941
- provides: [Jc],
6977
+ provides: [Xc],
6942
6978
  setup(t) {
6943
6979
  let n = t.service.get("runtime:solid");
6944
6980
  if (!n) throw Error("Mesurer context plugin requires the renderer runtime service.");
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,
6981
+ let r = n.createWorkspaceRuntime(Yc), i = il(r, n.ownerDocument, n.ownerWindow, () => t.service.get(Gc)?.list() ?? []);
6982
+ t.service.provide(Xc, i), t.state.register({
6983
+ id: Zc,
6948
6984
  initial: { ui: e.ui ?? !0 },
6949
6985
  persist: !0
6950
6986
  }), t.state.register({
6951
- id: Xc,
6952
- initial: { hasSelection: rl(r) }
6987
+ id: Qc,
6988
+ initial: { hasSelection: al(r) }
6953
6989
  });
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) => ({
6990
+ let a = () => t.state.get("mesurer.context.settings")?.ui ?? !0, o = () => t.state.get(Qc)?.hasSelection === !0, s = (e) => {
6991
+ t.state.update(Zc, (t) => ({
6956
6992
  ...t,
6957
6993
  ui: e
6958
6994
  }));
@@ -6966,21 +7002,21 @@ function il(e = {}) {
6966
7002
  region: e.region ? { ...e.region } : null
6967
7003
  }, r.selectGestureActive() ? c?.abandonNoteComposer() : n && c?.closeNoteComposer();
6968
7004
  let i = e.elements.length > 0 || e.region !== null;
6969
- i !== (t.state.get(Xc)?.hasSelection ?? !1) && t.state.update(Xc, () => ({ hasSelection: i }));
7005
+ i !== (t.state.get(Qc)?.hasSelection ?? !1) && t.state.update(Qc, () => ({ hasSelection: i }));
6970
7006
  });
6971
7007
  t.command.register("context.copy", () => i.copyContext()), t.command.register("context.copy-selection", () => i.copyContext({ scope: "selection" }));
6972
7008
  let g = () => {
6973
7009
  let e = u?.element;
6974
- e && (n.rendererRoot?.hasAttribute(Zc) ? e.setAttribute(Zc, "true") : e.removeAttribute(Zc));
7010
+ e && (n.rendererRoot?.hasAttribute($c) ? e.setAttribute($c, "true") : e.removeAttribute($c));
6975
7011
  }, _ = () => {
6976
7012
  d?.disconnect(), d = null, c = null, l?.(), l = null, u?.dispose(), u = null;
6977
7013
  }, v = () => {
6978
7014
  if (u) return;
6979
- if (u = No(n), u.element.dataset.mesurerLayer = "evidence", u.element.dataset.mesurerContextRoot = "true", n.rendererRoot) {
7015
+ if (u = Fo(n), u.element.dataset.mesurerLayer = "evidence", u.element.dataset.mesurerContextRoot = "true", n.rendererRoot) {
6980
7016
  let e = new n.ownerWindow.MutationObserver(g);
6981
7017
  d = e, e.observe(n.rendererRoot, {
6982
7018
  attributes: !0,
6983
- attributeFilter: [Zc]
7019
+ attributeFilter: [$c]
6984
7020
  }), g();
6985
7021
  }
6986
7022
  let e = {
@@ -6991,7 +7027,7 @@ function il(e = {}) {
6991
7027
  },
6992
7028
  coordinateSpace: "document"
6993
7029
  };
6994
- l = Dn(() => qt(ko, En(e, { get ownerWindow() {
7030
+ l = Dn(() => qt(jo, En(e, { get ownerWindow() {
6995
7031
  return n.ownerWindow;
6996
7032
  } })), u.element);
6997
7033
  }, y = () => {
@@ -7003,7 +7039,7 @@ function il(e = {}) {
7003
7039
  shortcut: "C",
7004
7040
  command: "context.copy",
7005
7041
  order: 70,
7006
- icon: Qc,
7042
+ icon: el,
7007
7043
  hidden: () => !a()
7008
7044
  }), t.tool.register({
7009
7045
  id: "context.copy-selection",
@@ -7011,7 +7047,7 @@ function il(e = {}) {
7011
7047
  shortcut: "Shift+C",
7012
7048
  command: "context.copy-selection",
7013
7049
  order: 71,
7014
- icon: $c,
7050
+ icon: tl,
7015
7051
  hidden: () => !a(),
7016
7052
  disabled: () => !o()
7017
7053
  }), t.tool.register({
@@ -7020,7 +7056,7 @@ function il(e = {}) {
7020
7056
  shortcut: "N",
7021
7057
  command: "context.add-note",
7022
7058
  order: 72,
7023
- icon: el,
7059
+ icon: nl,
7024
7060
  hidden: () => !a(),
7025
7061
  disabled: () => !o()
7026
7062
  }), t.settings.register({
@@ -7043,28 +7079,28 @@ function il(e = {}) {
7043
7079
  }
7044
7080
  //#endregion
7045
7081
  //#region src/codex-plugin.ts
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 = [
7082
+ var sl = "mesurer.codex", cl = "codex:v1", ll = "http://127.0.0.1:47365", ul = 2e3, dl = 750, fl = 1800, pl = 2e3, ml = 12e4, hl = 10, gl = 5, _l = [
7047
7083
  "Implement the current human feedback from Mesurer in this project.",
7048
7084
  "Treat the rendered page as the source of truth, preserve unrelated Mesurer review state,",
7049
7085
  "and verify the affected UI in the live page with Mesurer before claiming completion."
7050
- ].join(" "), gl = {
7086
+ ].join(" "), vl = {
7051
7087
  viewBox: "0 0 256 256",
7052
7088
  paths: ["M224,48,32,120l88,32,32,88Z M120,152l104-104"]
7053
- }, _l = {
7089
+ }, yl = {
7054
7090
  viewBox: "0 0 256 256",
7055
7091
  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"]
7056
- }, vl = {
7092
+ }, bl = {
7057
7093
  viewBox: "0 0 256 256",
7058
7094
  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"]
7059
- }, yl = (e) => {
7095
+ }, xl = (e) => {
7060
7096
  try {
7061
7097
  let t = globalThis.location;
7062
7098
  return t?.origin ? `mesurer-codex-ui:v1:${e}:${t.origin}${t.pathname}` : null;
7063
7099
  } catch {
7064
7100
  return null;
7065
7101
  }
7066
- }, bl = (e) => {
7067
- let t = yl(e);
7102
+ }, Sl = (e) => {
7103
+ let t = xl(e);
7068
7104
  if (!t) return null;
7069
7105
  try {
7070
7106
  let e = globalThis.sessionStorage?.getItem(t);
@@ -7089,18 +7125,18 @@ var al = "mesurer.codex", ol = "codex:v1", sl = "http://127.0.0.1:47365", cl = 2
7089
7125
  } catch {
7090
7126
  return null;
7091
7127
  }
7092
- }, xl = (e, t) => {
7093
- let n = yl(e);
7128
+ }, Cl = (e, t) => {
7129
+ let n = xl(e);
7094
7130
  if (n) try {
7095
7131
  globalThis.sessionStorage?.setItem(n, JSON.stringify(t));
7096
7132
  } catch {}
7097
- }, Sl = (e, t) => {
7133
+ }, wl = (e, t) => {
7098
7134
  let n = e.endsWith("/") ? e : `${e}/`;
7099
7135
  return new URL(t, n).toString();
7100
- }, Cl = async (e, t, n) => {
7136
+ }, Tl = async (e, t, n) => {
7101
7137
  let r = new AbortController(), i = setTimeout(() => r.abort(), 15e3);
7102
7138
  try {
7103
- let i = await fetch(Sl(e, t), {
7139
+ let i = await fetch(wl(e, t), {
7104
7140
  ...n,
7105
7141
  signal: r.signal
7106
7142
  }), a = await i.text(), o = {};
@@ -7116,10 +7152,10 @@ var al = "mesurer.codex", ol = "codex:v1", sl = "http://127.0.0.1:47365", cl = 2
7116
7152
  } finally {
7117
7153
  clearTimeout(i);
7118
7154
  }
7119
- }, wl = (e) => ({
7155
+ }, El = (e) => ({
7120
7156
  thread: e.thread?.trim() || null,
7121
7157
  threads: Array.isArray(e.threads) ? e.threads.filter((e) => e.trim().length > 0) : []
7122
- }), Tl = (e) => {
7158
+ }), Dl = (e) => {
7123
7159
  let t = e.deliveryId?.trim(), n = e.thread?.trim(), r = e.status;
7124
7160
  if (!t || !n || !r) throw Error("Mesurer Codex bridge returned an invalid delivery state.");
7125
7161
  let i = {
@@ -7131,7 +7167,7 @@ var al = "mesurer.codex", ol = "codex:v1", sl = "http://127.0.0.1:47365", cl = 2
7131
7167
  updatedAt: Number.isFinite(e.updatedAt) ? Number(e.updatedAt) : 0
7132
7168
  };
7133
7169
  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;
7134
- }, El = (e) => ({
7170
+ }, Ol = (e) => ({
7135
7171
  thread: e.thread?.trim() || null,
7136
7172
  threads: Array.isArray(e.threadDetails) ? e.threadDetails.flatMap((e) => {
7137
7173
  let t = e.id?.trim() ?? "";
@@ -7143,7 +7179,7 @@ var al = "mesurer.codex", ol = "codex:v1", sl = "http://127.0.0.1:47365", cl = 2
7143
7179
  }] : [];
7144
7180
  }) : [],
7145
7181
  hasMore: e.hasMore === !0
7146
- }), Dl = async (e, t, n) => {
7182
+ }), kl = async (e, t, n) => {
7147
7183
  let r = t?.instruction?.trim() || n, i = await e.annotations(), a = t?.annotationIds, o = a ? a.flatMap((e) => {
7148
7184
  let t = i.find((t) => t.id === e);
7149
7185
  return t ? [t] : [];
@@ -7166,18 +7202,18 @@ var al = "mesurer.codex", ol = "codex:v1", sl = "http://127.0.0.1:47365", cl = 2
7166
7202
  ])
7167
7203
  ].join("\n").trimEnd()
7168
7204
  };
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;
7205
+ }, Al = (e) => e.length > 16 ? `${e.slice(0, 8)}…${e.slice(-4)}` : e, jl = (e, t = 42) => e.length > t ? `${e.slice(0, t - 1)}…` : e, Ml = (e, t) => e instanceof Error && e.message === `Mesurer Codex bridge is unavailable at ${t}. Start the local bridge before queueing feedback.`;
7206
+ function Nl(e = {}) {
7207
+ let t = e.endpoint ?? ll, n = e.instruction?.trim() || _l, r = e.ui ?? !0, i = e.clearCompletedAnnotations ?? !0;
7172
7208
  return {
7173
- id: al,
7174
- version: lc,
7175
- requires: [Jc],
7176
- provides: [ol],
7209
+ id: sl,
7210
+ version: dc,
7211
+ requires: [Xc],
7212
+ provides: [cl],
7177
7213
  setup(e) {
7178
- let a = e.service.get(Jc);
7214
+ let a = e.service.get(Xc);
7179
7215
  if (!a) throw Error("Mesurer Codex plugin requires context() from mesurer-solid/plugins.");
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 ? {
7216
+ let o = r ? Sl(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 = gl, _, v = "", y = null, b = o?.delivery ? {
7181
7217
  id: o.delivery.id,
7182
7218
  thread: o.delivery.thread,
7183
7219
  status: o.delivery.status,
@@ -7185,22 +7221,22 @@ function jl(e = {}) {
7185
7221
  queuedSubmissionId: o.delivery.queuedSubmissionId ?? null,
7186
7222
  dispatch: o.delivery.dispatch ?? null,
7187
7223
  dispatchError: o.delivery.dispatchError ?? null
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) => {
7224
+ } : null, x = 0, S = 0, C = null, w = !1, T = async () => El(await Tl(t, "health")), E = async (e) => Dl(await Tl(t, `deliveries/${encodeURIComponent(e)}`)), D = async (e) => {
7189
7225
  if (!e.id || !e.thread) throw Error("Cannot restore a Codex delivery without its id and thread.");
7190
7226
  let n = {
7191
7227
  deliveryId: e.id,
7192
7228
  thread: e.thread
7193
7229
  };
7194
- return e.queuedSubmissionId && (n.queuedSubmissionId = e.queuedSubmissionId), Tl(await Cl(t, "deliveries/restore", {
7230
+ return e.queuedSubmissionId && (n.queuedSubmissionId = e.queuedSubmissionId), Dl(await Tl(t, "deliveries/restore", {
7195
7231
  method: "POST",
7196
7232
  headers: { "Content-Type": "application/json" },
7197
7233
  body: JSON.stringify(n)
7198
7234
  }));
7199
7235
  }, O = async (e = {}) => {
7200
7236
  let n = new URLSearchParams();
7201
- n.set("limit", String(e.limit ?? pl));
7237
+ n.set("limit", String(e.limit ?? hl));
7202
7238
  let r = e.thread?.trim();
7203
- return r && n.set("thread", r), El(await Cl(t, `threads?${n.toString()}`));
7239
+ return r && n.set("thread", r), Ol(await Tl(t, `threads?${n.toString()}`));
7204
7240
  }, k = () => u ?? l ?? (d ? null : f), A = () => {
7205
7241
  if (!r) return;
7206
7242
  let e = b?.id && (b.status === "queued" || b.status === "working" || b.status === "interrupted") ? {
@@ -7212,7 +7248,7 @@ function jl(e = {}) {
7212
7248
  dispatch: b.dispatch,
7213
7249
  dispatchError: b.dispatchError
7214
7250
  } : null;
7215
- xl(t, {
7251
+ Cl(t, {
7216
7252
  version: 1,
7217
7253
  originThread: l,
7218
7254
  selectedThread: u,
@@ -7226,16 +7262,16 @@ function jl(e = {}) {
7226
7262
  "queued",
7227
7263
  "working",
7228
7264
  "completed"
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 ? [
7265
+ ].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 ? [
7230
7266
  "queueing",
7231
7267
  "queued",
7232
7268
  "working"
7233
- ].includes(b.status) ? _l : b.status === "completed" ? vl : gl : gl, te = () => {
7269
+ ].includes(b.status) ? yl : b.status === "completed" ? bl : vl : vl, ne = () => {
7234
7270
  let e = [], t = /* @__PURE__ */ new Set(), n = (n) => {
7235
7271
  t.has(n.id) || (t.add(n.id), e.push(n));
7236
7272
  }, r = (e) => ({
7237
7273
  id: e,
7238
- title: `Codex ${Ol(e)}`,
7274
+ title: `Codex ${Al(e)}`,
7239
7275
  updatedAt: null,
7240
7276
  connected: !0
7241
7277
  });
@@ -7245,34 +7281,34 @@ function jl(e = {}) {
7245
7281
  for (let e of m) n(e);
7246
7282
  for (let e of p) n(m.find((t) => t.id === e) ?? r(e));
7247
7283
  return e;
7248
- }, I = (e = !1) => Promise.resolve(), L = () => {
7284
+ }, F = (e = !1) => Promise.resolve(), I = () => {
7249
7285
  if (s !== "available") return [{
7250
7286
  id: "codex.thread.connect",
7251
7287
  label: s === "unavailable" ? "Retry Codex connection" : "Choose Codex thread…",
7252
- run: () => I(!0)
7288
+ run: () => F(!0)
7253
7289
  }];
7254
- let e = te(), t = e.slice(0, g), n = k(), r = t.map((e) => {
7290
+ let e = ne(), t = e.slice(0, g), n = k(), r = t.map((e) => {
7255
7291
  let t = e.id === l ? "Current · " : e.connected ? "Connected · " : "", r = b?.thread === e.id ? ` · ${ee() ? "Blocked" : N(b.status)}` : "";
7256
7292
  return {
7257
7293
  id: `codex.thread.${e.id}`,
7258
- label: `${t}${kl(e.title)}${r}`,
7294
+ label: `${t}${jl(e.title)}${r}`,
7259
7295
  checked: () => n === e.id,
7260
7296
  disabled: () => M(),
7261
7297
  run() {
7262
- M() || (j(e.id, !l), R());
7298
+ M() || (j(e.id, !l), L());
7263
7299
  }
7264
7300
  };
7265
7301
  });
7266
- return g < pl && (e.length > g || h) && r.push({
7302
+ return g < hl && (e.length > g || h) && r.push({
7267
7303
  id: "codex.thread.show-more",
7268
7304
  label: "Show 5 more…",
7269
7305
  run() {
7270
- g = pl, R();
7306
+ g = hl, L();
7271
7307
  }
7272
7308
  }), r;
7273
- }, R = () => {
7309
+ }, L = () => {
7274
7310
  if (!r || w) return;
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({
7311
+ 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({
7276
7312
  bridgeAvailability: s,
7277
7313
  routeNeedsSelection: d,
7278
7314
  target: t,
@@ -7291,50 +7327,50 @@ function jl(e = {}) {
7291
7327
  label: a,
7292
7328
  command: "codex.queue",
7293
7329
  order: 73,
7294
- icon: F(),
7330
+ icon: P(),
7295
7331
  disabled: () => !i,
7296
7332
  menu: n.length ? {
7297
7333
  label: "Codex destination",
7298
7334
  items: n
7299
7335
  } : void 0
7300
7336
  }));
7301
- }, z = async () => {
7337
+ }, R = async () => {
7302
7338
  if (s !== "available") return;
7303
7339
  let e = l && p.includes(l) ? l : f;
7304
7340
  try {
7305
7341
  let t = await O({
7306
- limit: pl,
7342
+ limit: hl,
7307
7343
  thread: e ?? void 0
7308
7344
  });
7309
7345
  m = t.threads, h = t.hasMore;
7310
7346
  } catch {
7311
7347
  m = p.map((e) => ({
7312
7348
  id: e,
7313
- title: `Codex ${Ol(e)}`,
7349
+ title: `Codex ${Al(e)}`,
7314
7350
  updatedAt: null,
7315
7351
  connected: !0
7316
7352
  })), h = !1;
7317
7353
  }
7318
7354
  };
7319
- I = (e = !1) => w || s === "unknown" && !e ? Promise.resolve() : y || (y = (async () => {
7355
+ F = (e = !1) => w || s === "unknown" && !e ? Promise.resolve() : y || (y = (async () => {
7320
7356
  try {
7321
7357
  let e = await T(), t = e.thread !== f;
7322
7358
  s = "available", c = !0, f = e.thread, p = e.threads;
7323
7359
  let n = u ?? l;
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());
7360
+ 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());
7325
7361
  } catch (e) {
7326
7362
  throw s = "unavailable", e;
7327
7363
  } finally {
7328
- y = null, R();
7364
+ y = null, L();
7329
7365
  }
7330
7366
  })(), y);
7331
- let B = () => {
7367
+ let z = () => {
7332
7368
  x &&= (globalThis.clearTimeout(x), 0), S &&= (globalThis.clearTimeout(S), 0);
7333
- }, V = () => {
7369
+ }, B = () => {
7334
7370
  S && globalThis.clearTimeout(S), S = globalThis.setTimeout(() => {
7335
- S = 0, b?.status === "completed" && (b = null, A(), R());
7336
- }, ul);
7337
- }, ne = async (e) => {
7371
+ S = 0, b?.status === "completed" && (b = null, A(), L());
7372
+ }, fl);
7373
+ }, V = async (e) => {
7338
7374
  if (!(!b || b.id !== e.id)) {
7339
7375
  if (b = {
7340
7376
  ...b,
@@ -7345,44 +7381,44 @@ function jl(e = {}) {
7345
7381
  dispatchError: e.dispatchError ?? b.dispatchError
7346
7382
  }, A(), e.status === "completed") {
7347
7383
  if (i) for (let e of b.annotationIds) await a.removeAnnotation(e);
7348
- A(), R(), V();
7384
+ A(), L(), B();
7349
7385
  return;
7350
7386
  }
7351
7387
  if (e.status === "interrupted") {
7352
- A(), R();
7388
+ A(), L();
7353
7389
  let t = e.updatedAt > 0 ? e.updatedAt : Date.now();
7354
- Date.now() - t < fl && (x = globalThis.setTimeout(() => {
7390
+ Date.now() - t < ml && (x = globalThis.setTimeout(() => {
7355
7391
  x = 0, re(e.id);
7356
- }, dl));
7392
+ }, pl));
7357
7393
  return;
7358
7394
  }
7359
- R(), x = globalThis.setTimeout(() => {
7395
+ L(), x = globalThis.setTimeout(() => {
7360
7396
  x = 0, re(e.id);
7361
- }, ll);
7397
+ }, dl);
7362
7398
  }
7363
7399
  }, re = async (e) => {
7364
7400
  if (!(w || b?.id !== e)) try {
7365
- await ne(await E(e));
7401
+ await V(await E(e));
7366
7402
  } catch (n) {
7367
7403
  if (b?.id !== e) return;
7368
7404
  let r = n;
7369
7405
  if (b.status === "queued" && b.thread) try {
7370
- s !== "available" && await I(!0);
7406
+ s !== "available" && await F(!0);
7371
7407
  let e = await D(b);
7372
- await ne(e);
7408
+ await V(e);
7373
7409
  return;
7374
7410
  } catch (e) {
7375
7411
  r = e;
7376
7412
  }
7377
7413
  if (b?.id !== e) return;
7378
7414
  if (b.status === "interrupted") {
7379
- R();
7415
+ L();
7380
7416
  return;
7381
7417
  }
7382
7418
  b = {
7383
7419
  ...b,
7384
7420
  status: "failed"
7385
- }, A(), Al(r, t) && (s = "unavailable"), R();
7421
+ }, A(), Ml(r, t) && (s = "unavailable"), L();
7386
7422
  }
7387
7423
  }, H = {
7388
7424
  health: T,
@@ -7391,20 +7427,20 @@ function jl(e = {}) {
7391
7427
  async useThread(e) {
7392
7428
  let n = e.trim();
7393
7429
  if (!n) throw Error("Codex thread must be a non-empty string.");
7394
- let r = wl(await Cl(t, "target", {
7430
+ let r = El(await Tl(t, "target", {
7395
7431
  method: "POST",
7396
7432
  headers: { "Content-Type": "application/json" },
7397
7433
  body: JSON.stringify({ thread: n })
7398
7434
  }));
7399
- return j(n, !l), f = r.thread, p = r.threads, s = "available", c = !0, R(), r;
7435
+ return j(n, !l), f = r.thread, p = r.threads, s = "available", c = !0, L(), r;
7400
7436
  },
7401
7437
  async queue(e) {
7402
- let i = await Dl(a, e, n), o = e?.thread?.trim(), c = o || (r ? k() : null);
7438
+ let i = await kl(a, e, n), o = e?.thread?.trim(), c = o || (r ? k() : null);
7403
7439
  if (r && !o && (d || !c)) throw Error("Choose a Codex thread before queueing feedback.");
7404
7440
  let l = { message: i.message };
7405
7441
  c && (l.thread = c);
7406
7442
  try {
7407
- let e = await Cl(t, "send", {
7443
+ let e = await Tl(t, "send", {
7408
7444
  method: "POST",
7409
7445
  headers: { "Content-Type": "application/json" },
7410
7446
  body: JSON.stringify(l)
@@ -7420,16 +7456,16 @@ function jl(e = {}) {
7420
7456
  };
7421
7457
  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;
7422
7458
  } catch (e) {
7423
- throw r && Al(e, t) && (s = "unavailable", R()), e;
7459
+ throw r && Ml(e, t) && (s = "unavailable", L()), e;
7424
7460
  }
7425
7461
  },
7426
7462
  send(e) {
7427
7463
  return H.queue(e);
7428
7464
  }
7429
7465
  };
7430
- e.service.provide(ol, H);
7466
+ e.service.provide(cl, H);
7431
7467
  let ie = async () => {
7432
- if (!(C || M())) return B(), b = {
7468
+ if (!(C || M())) return z(), b = {
7433
7469
  id: null,
7434
7470
  thread: k(),
7435
7471
  status: "queueing",
@@ -7437,9 +7473,9 @@ function jl(e = {}) {
7437
7473
  queuedSubmissionId: null,
7438
7474
  dispatch: null,
7439
7475
  dispatchError: null
7440
- }, R(), C = (async () => {
7476
+ }, L(), C = (async () => {
7441
7477
  try {
7442
- r && s !== "available" && await I(!0);
7478
+ r && s !== "available" && await F(!0);
7443
7479
  let e = await H.queue();
7444
7480
  b = {
7445
7481
  id: e.deliveryId,
@@ -7449,7 +7485,7 @@ function jl(e = {}) {
7449
7485
  queuedSubmissionId: e.queuedSubmissionId ?? null,
7450
7486
  dispatch: e.dispatch ?? null,
7451
7487
  dispatchError: e.dispatchError ?? null
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({
7488
+ }, 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({
7453
7489
  id: e.deliveryId,
7454
7490
  thread: e.thread,
7455
7491
  status: e.status,
@@ -7458,11 +7494,11 @@ function jl(e = {}) {
7458
7494
  updatedAt: 0
7459
7495
  }) : x = globalThis.setTimeout(() => {
7460
7496
  x = 0, re(e.deliveryId);
7461
- }, ll) : S = globalThis.setTimeout(() => {
7462
- S = 0, b?.id === null && b?.status === "queued" && (b = null, A(), R());
7463
- }, ul);
7497
+ }, dl) : S = globalThis.setTimeout(() => {
7498
+ S = 0, b?.id === null && b?.status === "queued" && (b = null, A(), L());
7499
+ }, fl);
7464
7500
  } catch (e) {
7465
- b = null, A(), R();
7501
+ b = null, A(), L();
7466
7502
  let t = e instanceof Error ? e.message : String(e);
7467
7503
  throw console.error(`[Mesurer] Failed to queue feedback for Codex: ${t}`), e;
7468
7504
  } finally {
@@ -7471,14 +7507,14 @@ function jl(e = {}) {
7471
7507
  })(), C;
7472
7508
  };
7473
7509
  if (e.command.register("codex.queue", ie), e.command.register("codex.send", ie), r) {
7474
- R(), b?.id && (c = !0, x = globalThis.setTimeout(() => {
7510
+ L(), b?.id && (c = !0, x = globalThis.setTimeout(() => {
7475
7511
  x = 0, b?.id && re(b.id);
7476
7512
  }, 0));
7477
7513
  let t = globalThis.setInterval(() => {
7478
- c && I().catch(() => void 0);
7479
- }, cl);
7514
+ c && F().catch(() => void 0);
7515
+ }, ul);
7480
7516
  e.lifecycle.onDispose(() => {
7481
- w = !0, B(), globalThis.clearInterval(t), _?.dispose(), _ = void 0;
7517
+ w = !0, z(), globalThis.clearInterval(t), _?.dispose(), _ = void 0;
7482
7518
  });
7483
7519
  }
7484
7520
  }
@@ -7486,12 +7522,12 @@ function jl(e = {}) {
7486
7522
  }
7487
7523
  //#endregion
7488
7524
  //#region src/screenshot.ts
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 = {}) => ({
7490
- ...cc(e),
7491
- version: lc
7492
- }), Gl = (e) => Cr(e), Kl = (e) => ({
7525
+ var Pl = qs, Fl = Ws, Il = Gs, Ll = Ks, Rl = 4, zl = Ur, Bl = (e, t) => br(e, t), Vl = (e = /* @__PURE__ */ new Date()) => xr(e), Hl = (e, t, n, r) => yr(e, t, n, r), Ul = (e, t, n) => vr(e, t, n), Wl = (e, t) => Br(e, t), Gl = (e) => Hr(e), Kl = (e = {}) => ({
7526
+ ...uc(e),
7527
+ version: dc
7528
+ }), ql = (e) => Cr(e), Jl = (e) => ({
7493
7529
  ...e,
7494
- version: lc
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);
7530
+ version: dc
7531
+ }), Yl = () => Jl(oo()), Xl = () => Jl(so()), Zl = () => Jl(co()), Ql = () => Jl(lo()), $l = () => Jl(uo()), eu = () => Jl(fo()), tu = () => Jl(mo()), nu = () => Jl(po()), ru = () => ho().map(Jl), iu = (e = [], t = []) => go(e, t).map((e) => e.id.startsWith("mesurer.") ? Jl(e) : e);
7496
7532
  //#endregion
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 };
7533
+ export { fc as MESURER_ARRANGE_ACTIVE_STATE_ID, pc as MESURER_ARRANGE_PLUGIN_ID, mc as MESURER_ARRANGE_SERVICE_ID, hc as MESURER_ARRANGE_SETTINGS_STATE_ID, gc as MESURER_ARRANGE_STATE_ID, sl as MESURER_CODEX_PLUGIN_ID, cl as MESURER_CODEX_SERVICE_ID, Yc as MESURER_CONTEXT_PLUGIN_ID, Xc as MESURER_CONTEXT_SERVICE_ID, Zc as MESURER_CONTEXT_SETTINGS_STATE_ID, qc as MESURER_LAYOUT_GUIDES_ACTIVE_STATE_ID, Wc as MESURER_LAYOUT_GUIDES_PLUGIN_ID, Gc as MESURER_LAYOUT_GUIDES_SERVICE_ID, Kc as MESURER_LAYOUT_GUIDES_STATE_ID, Pl as MESURER_SCREENSHOT_ACTIVE_STATE_ID, Fl as MESURER_SCREENSHOT_PLUGIN_ID, Il as MESURER_SCREENSHOT_SERVICE_ID, Ll as MESURER_SCREENSHOT_SETTINGS_STATE_ID, Rl as MIN_SCREENSHOT_SELECTION, _c as arrange, zl as captureVisibleTabPng, Nl as codex, Zl as colorPicker, iu as compose, ol as context, Bl as copyPngToClipboard, Vl as createScreenshotFilename, Hl as cropPngToViewportRect, ru as defaults, tu as distance, eu as guides, Jc as layoutGuides, Ul as normalizeScreenshotRect, Wl as prepareScreenshotCapture, Gl as releaseScreenshotCapture, Ql as rulers, Kl as screenshot, Yl as select, nu as settings, $l as typography, ql as waitForNextPaint, Xl as xray };