mesurer-solid 0.2.0-beta.11 → 0.2.0-beta.13

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
@@ -42,7 +42,7 @@ function h(e) {
42
42
  }
43
43
  function g(e) {
44
44
  if (_(e) && e.sn) {
45
- let t = e.sn = ue(e.sn);
45
+ let t = e.sn = le(e.sn);
46
46
  if (t.fn !== !0) return t;
47
47
  e.sn = null;
48
48
  }
@@ -80,7 +80,7 @@ var y = /* @__PURE__ */ new Set(), b = {
80
80
  EE: 0
81
81
  };
82
82
  function S(e) {
83
- e.se & 16 ? e.se &= -12 : (_e(e, x), e.se &= -4);
83
+ e.se & 16 ? e.se &= -12 : (ge(e, x), e.se &= -4);
84
84
  }
85
85
  var C = 0, w = null, T = !1, E = !1, D = !1, O = 0, k = /* @__PURE__ */ new Set();
86
86
  function A(e) {
@@ -127,10 +127,10 @@ function N(e, t) {
127
127
  }
128
128
  function P() {
129
129
  if (E) {
130
- te();
130
+ F();
131
131
  return;
132
132
  }
133
- T || (T = !0, !O && !H.gt && queueMicrotask(U));
133
+ T || (T = !0, !O && !U.gt && queueMicrotask(W));
134
134
  }
135
135
  function ee(e) {
136
136
  if (E) return;
@@ -138,10 +138,10 @@ function ee(e) {
138
138
  let t = "[REACTIVITY_HALTED]";
139
139
  e === void 0 ? console.error(t) : console.error(t, e);
140
140
  }
141
- function te() {
141
+ function F() {
142
142
  D || (D = !0, console.error("[REACTIVITY_HALTED]"));
143
143
  }
144
- var ne = 0, F = class {
144
+ var te = 0, I = class {
145
145
  ke = null;
146
146
  bt = [[], []];
147
147
  vt = [];
@@ -160,9 +160,9 @@ var ne = 0, F = class {
160
160
  run(e) {
161
161
  if (this.bt[e - 1].length) {
162
162
  let t = this.bt[e - 1];
163
- this.bt[e - 1] = [], se(t, e);
163
+ this.bt[e - 1] = [], oe(t, e);
164
164
  }
165
- let t = this.vt, n = ++ne;
165
+ let t = this.vt, n = ++te;
166
166
  for (let r = 0; r < t.length;) {
167
167
  let i = t[r];
168
168
  if (i.kt !== n && (i.kt = n, i.run?.(e), t[r] !== i)) {
@@ -192,7 +192,7 @@ var ne = 0, F = class {
192
192
  r && r.restoreQueues(n);
193
193
  }
194
194
  }
195
- }, I = class e extends F {
195
+ }, L = class e extends I {
196
196
  gt = !1;
197
197
  m = M();
198
198
  static Ce;
@@ -232,17 +232,17 @@ var ne = 0, F = class {
232
232
  this.gt = !0;
233
233
  try {
234
234
  if (ye(b, e.Ce), w) {
235
- if (!le(w)) {
235
+ if (!ce(w)) {
236
236
  let t = w;
237
- ye(x, this.m === t ? S : e.Ce), this.m === t && (oe = this.m = M()), f.size && (e.In(1), e.In(2)), this.stashQueues(t.yt), C++, T = b.EE >= b.Ve || this.m.Qt.length > 0, ae(t.Qt), w = null, re(null, !0);
237
+ ye(x, this.m === t ? S : e.Ce), this.m === t && (ae = this.m = M()), f.size && (e.In(1), e.In(2)), this.stashQueues(t.yt), C++, T = b.EE >= b.Ve || this.m.Qt.length > 0, ie(t.Qt), w = null, ne(null, !0);
238
238
  return;
239
239
  }
240
240
  let t = w, n = this.m;
241
- if (n !== t && n.Qt.push(...t.Qt), this.restoreQueues(t.yt), y.delete(t), w = null, ae(n.Qt), re(t), n === t) {
241
+ if (n !== t && n.Qt.push(...t.Qt), this.restoreQueues(t.yt), y.delete(t), w = null, ie(n.Qt), ne(t), n === t) {
242
242
  let e = M();
243
- e.Qt = n.Qt, e.Me = n.Me, e.A = n.A, e.cn = n.cn, oe = this.m = e;
243
+ e.Qt = n.Qt, e.Me = n.Me, e.A = n.A, e.cn = n.cn, ae = this.m = e;
244
244
  }
245
- } else A(this) ? (V(), b.EE >= b.Ve && (ye(b, e.Ce), V())) : (y.size && ye(x, e.Ce), re());
245
+ } else A(this) ? (H(), b.EE >= b.Ve && (ye(b, e.Ce), H())) : (y.size && ye(x, e.Ce), ne());
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;
@@ -266,7 +266,7 @@ var ne = 0, F = class {
266
266
  return !1;
267
267
  }
268
268
  initTransition(e) {
269
- if (e &&= ue(e), e && e === w || !e && w && w.de === C) return;
269
+ if (e &&= le(e), e && e === w || !e && w && w.de === C) return;
270
270
  if (!w) w = e ?? M();
271
271
  else if (e) {
272
272
  let t = w;
@@ -289,78 +289,78 @@ var ne = 0, F = class {
289
289
  for (let e of t.ln) w.ln.add(e);
290
290
  t.ln.clear();
291
291
  }
292
- oe = this.m = w;
292
+ ae = this.m = w;
293
293
  }
294
294
  for (let e of f) e.Ne ||= w;
295
295
  }
296
296
  };
297
- function L(e) {
298
- oe.Qt.push(e);
297
+ function R(e) {
298
+ ae.Qt.push(e);
299
299
  }
300
- var R = !1;
301
- function z(e, t = !1) {
302
- let n = e.Ke || tt, r = e.Le !== void 0, i = R;
300
+ var z = !1;
301
+ function B(e, t = !1) {
302
+ let n = e.Ke || tt, r = e.Le !== void 0, i = z;
303
303
  for (let o = e.o; o !== null; o = o.le) {
304
304
  if (i && (o.fe.se &= ~a), r && o.fe.T & 8) {
305
305
  o.fe.se |= 256;
306
306
  continue;
307
307
  }
308
- t && n ? (o.fe.se |= 128, v(o.fe, n)) : t && (o.fe.se |= 128, o.fe.Ke = void 0), pe(o.fe);
308
+ t && n ? (o.fe.se |= 128, v(o.fe, n)) : t && (o.fe.se |= 128, o.fe.Ke = void 0), fe(o.fe);
309
309
  }
310
310
  }
311
- function B(e) {
311
+ function V(e) {
312
312
  let t = e;
313
313
  if (!t.ce) {
314
- e.De !== o && (e.Ue = e.De, e.De = o), (e.ge || e.pe) && I.un(e);
314
+ e.De !== o && (e.Ue = e.De, e.De = o), (e.ge || e.pe) && L.un(e);
315
315
  return;
316
316
  }
317
- e.De !== o && (e.Ue = e.De, e.De = o, e.Re && e.Re !== 3 && (e.Je = !0)), t.Ee = !1, t.se &= ~i, t.S & 1 || (t.S &= -5), (t.We !== null || t.Qe !== null) && I.me(t, !1, !0), (e.ge || e.pe) && I.un(e);
317
+ e.De !== o && (e.Ue = e.De, e.De = o, e.Re && e.Re !== 3 && (e.Je = !0)), t.Ee = !1, t.se &= ~i, t.S & 1 || (t.S &= -5), (t.We !== null || t.Qe !== null) && L.me(t, !1, !0), (e.ge || e.pe) && L.un(e);
318
318
  }
319
- function V() {
320
- let e = oe.Qt;
321
- for (let t = 0; t < e.length; t++) B(e[t]);
319
+ function H() {
320
+ let e = ae.Qt;
321
+ for (let t = 0; t < e.length; t++) V(e[t]);
322
322
  e.length = 0;
323
323
  }
324
- function re(e = null, t = !1) {
324
+ function ne(e = null, t = !1) {
325
325
  let n = !t;
326
- n && V(), !t && H.vt.length && ie(H);
326
+ n && H(), !t && U.vt.length && re(U);
327
327
  let r = b.EE >= b.Ve;
328
- if (r && ye(b, I.Ce), n) {
329
- r && V();
330
- let t = e ?? H.m;
331
- if (t.Me.length && I.En(t.Me), t.ln.size) {
332
- for (let e of t.ln) e.se & 64 || pe(e);
328
+ if (r && ye(b, L.Ce), n) {
329
+ r && H();
330
+ let t = e ?? U.m;
331
+ if (t.Me.length && L.En(t.Me), t.ln.size) {
332
+ for (let e of t.ln) e.se & 64 || fe(e);
333
333
  t.ln.clear(), P();
334
334
  }
335
- t.A.length && (I.G(t.A), H.vt.length && ie(H)), t.cn.size && I.Dt(t.cn, e), j(), f.size && I.dn(e);
335
+ t.A.length && (L.G(t.A), U.vt.length && re(U)), t.cn.size && L.Dt(t.cn, e), j(), f.size && L.dn(e);
336
336
  }
337
337
  }
338
- function ie(e) {
339
- for (let t of e.vt) t.ne?.(), ie(t);
338
+ function re(e) {
339
+ for (let t of e.vt) t.ne?.(), re(t);
340
340
  }
341
- function ae(e) {
341
+ function ie(e) {
342
342
  for (let t = 0; t < e.length; t++) e[t].Ne = w;
343
343
  }
344
- var H = new I(), oe = H.m;
345
- function U(e) {
344
+ var U = new L(), ae = U.m;
345
+ function W(e) {
346
346
  if (e) {
347
347
  O++;
348
348
  try {
349
349
  return e();
350
350
  } finally {
351
351
  try {
352
- U();
352
+ W();
353
353
  } finally {
354
354
  O--;
355
355
  }
356
356
  }
357
357
  }
358
- if (!H.gt && !E) for (; T || w;) H.flush();
358
+ if (!U.gt && !E) for (; T || w;) U.flush();
359
359
  }
360
- function se(e, t) {
360
+ function oe(e, t) {
361
361
  for (let n = 0; n < e.length; n++) e[n](t);
362
362
  }
363
- function ce(t, n) {
363
+ function se(t, n) {
364
364
  if (t.se & 96) return !1;
365
365
  if (t.oe?.has(n)) return !0;
366
366
  for (let e = t.tt; e; e = e.nt) {
@@ -372,14 +372,14 @@ function ce(t, n) {
372
372
  }
373
373
  return !!(t.S & 1 && t._ instanceof e && t._.source === n);
374
374
  }
375
- function le(e) {
375
+ function ce(e) {
376
376
  if (e.fn) return !0;
377
377
  if (e.ie.length) return !1;
378
378
  let t = !0;
379
379
  for (let [n, r] of e.Ie) {
380
380
  let i = !1;
381
381
  for (let e of r) {
382
- if (ce(e, n)) {
382
+ if (se(e, n)) {
383
383
  i = !0;
384
384
  break;
385
385
  }
@@ -391,35 +391,35 @@ function le(e) {
391
391
  break;
392
392
  }
393
393
  }
394
- return t && I.Tn?.(e) && (t = !1), t && (e.fn = !0), t;
394
+ return t && L.Tn?.(e) && (t = !1), t && (e.fn = !0), t;
395
395
  }
396
- function ue(e) {
396
+ function le(e) {
397
397
  for (; e.fn && typeof e.fn == "object";) e = e.fn;
398
398
  return e;
399
399
  }
400
- function de(e, t) {
400
+ function ue(e, t) {
401
401
  let n = w;
402
402
  try {
403
- return w = ue(e), t();
403
+ return w = le(e), t();
404
404
  } finally {
405
405
  w = n;
406
406
  }
407
407
  }
408
408
  //#endregion
409
409
  //#region ../../node_modules/.bun/@solidjs+signals@2.0.0-rc.0/node_modules/@solidjs/signals/dist/prod/core/heap.js
410
- function fe(e) {
410
+ function de(e) {
411
411
  return e.se & 32 ? x : b;
412
412
  }
413
- function pe(e) {
413
+ function fe(e) {
414
414
  if (e.Re === 3) {
415
415
  let t = e;
416
416
  t.Je || (t.Je = !0, t.C.enqueue(2, t.Ft));
417
417
  return;
418
418
  }
419
- let t = fe(e);
420
- t.Ve > e.xe && (t.Ve = e.xe), he(e, t);
419
+ let t = de(e);
420
+ t.Ve > e.xe && (t.Ve = e.xe), me(e, t);
421
421
  }
422
- function me(e, t) {
422
+ function pe(e, t) {
423
423
  let n = (e.ke?.Nt ? e.ke.dt?.xe : e.ke?.xe) ?? -1;
424
424
  n >= e.xe && (e.xe = n + 1);
425
425
  let r = e.xe, i = t.eE[r];
@@ -430,15 +430,15 @@ function me(e, t) {
430
430
  }
431
431
  r > t.EE && (t.EE = r);
432
432
  }
433
- function he(e, t) {
433
+ function me(e, t) {
434
434
  let n = e.se;
435
- n & 1036 || (n & 1 ? e.se = n & -4 | 10 : (e.se = n | 8, t.tE && !(n & 2) && (t.tE = !1)), n & 16 || me(e, t));
435
+ n & 1036 || (n & 1 ? e.se = n & -4 | 10 : (e.se = n | 8, t.tE && !(n & 2) && (t.tE = !1)), n & 16 || pe(e, t));
436
436
  }
437
- function ge(e, t) {
437
+ function he(e, t) {
438
438
  let n = e.se;
439
- n & 1052 || (e.se = n | 16, me(e, t));
439
+ n & 1052 || (e.se = n | 16, pe(e, t));
440
440
  }
441
- function _e(e, t) {
441
+ function ge(e, t) {
442
442
  let n = e.se;
443
443
  if (!(n & 24)) return;
444
444
  e.se = n & -25;
@@ -450,7 +450,7 @@ function _e(e, t) {
450
450
  }
451
451
  e.st = e, e.ot = void 0;
452
452
  }
453
- function W(e) {
453
+ function _e(e) {
454
454
  if (!e.tE) {
455
455
  e.tE = !0;
456
456
  for (let t = 0; t <= e.EE; t++) for (let n = e.eE[t]; n !== void 0; n = n.ot) n.se & 8 && ve(n);
@@ -472,7 +472,7 @@ function ye(e, t) {
472
472
  e.EE = 0;
473
473
  }
474
474
  function be(e, t) {
475
- _e(e, t);
475
+ ge(e, t);
476
476
  let n = e.xe;
477
477
  for (let t = e.tt; t; t = t.nt) {
478
478
  let e = t.it, r = e.lt || e;
@@ -480,7 +480,7 @@ function be(e, t) {
480
480
  }
481
481
  if (e.xe !== n) {
482
482
  e.xe = n;
483
- for (let t = e.o; t !== null; t = t.le) ge(t.fe, fe(t.fe));
483
+ for (let t = e.o; t !== null; t = t.le) he(t.fe, de(t.fe));
484
484
  }
485
485
  }
486
486
  //#endregion
@@ -489,7 +489,7 @@ function xe(e) {
489
489
  let t = e.Fe;
490
490
  for (; t;) {
491
491
  let e = t.se;
492
- t.se = e | 32, e & 24 && (_e(t, e & 32 ? x : b), e & 8 ? he(t, x) : ge(t, x)), xe(t), t = t.He;
492
+ t.se = e | 32, e & 24 && (ge(t, e & 32 ? x : b), e & 8 ? me(t, x) : he(t, x)), xe(t), t = t.He;
493
493
  }
494
494
  }
495
495
  function Se(e, t = !1, n) {
@@ -498,13 +498,13 @@ function Se(e, t = !1, n) {
498
498
  if (t) {
499
499
  e.se = r | 64;
500
500
  let t = e;
501
- (t.ge || t.pe) && I.un(t);
501
+ (t.ge || t.pe) && L.un(t);
502
502
  }
503
503
  t && e.ce && (e.Te = null);
504
504
  let i = n ? e.We : e.Fe;
505
505
  for (; i;) {
506
506
  let e = i.He, t = i;
507
- if (t.se & 24 && _e(t, fe(t)), t.tt) {
507
+ if (t.se & 24 && ge(t, de(t)), t.tt) {
508
508
  let e = t.tt;
509
509
  do
510
510
  e = Ne(e);
@@ -568,7 +568,7 @@ function je(e) {
568
568
  He: null,
569
569
  ct: null,
570
570
  ye: null,
571
- C: t?.C ?? H,
571
+ C: t?.C ?? U,
572
572
  we: t?.we || u,
573
573
  qe: 0,
574
574
  Qe: null,
@@ -608,7 +608,7 @@ function Pe(e) {
608
608
  }
609
609
  }
610
610
  function Fe(e) {
611
- _e(e, fe(e));
611
+ ge(e, de(e));
612
612
  let t = e.tt;
613
613
  for (; t !== null;) t = Ne(t);
614
614
  e.tt = null, e.Ye = null, Se(e, !0);
@@ -681,16 +681,16 @@ function We(e) {
681
681
  }
682
682
  function Ge(e, t) {
683
683
  let n = !1, r = /* @__PURE__ */ new Set(), i = (e) => {
684
- r.has(e) || (r.add(e), e._ === t && (pe(e), n = !0), He(e, i));
684
+ r.has(e) || (r.add(e), e._ === t && (fe(e), n = !0), He(e, i));
685
685
  };
686
686
  He(e, i), n && P();
687
687
  }
688
688
  function Ke(e) {
689
- let t = !1, n, r = /* @__PURE__ */ new Set(), i = I.Se, a = (o) => {
689
+ let t = !1, n, r = /* @__PURE__ */ new Set(), i = L.Se, a = (o) => {
690
690
  if (r.has(o) || !Re(o, e)) return;
691
691
  r.add(o), o.de = C;
692
692
  let s = o.oe?.values().next().value, c = o.S & 2;
693
- s ? (c || Ve(o, s), i !== null && i(o)) : (o.S &= -2, c || Ve(o), i !== null && i(o), o.ue && (pe(o), t = !0), o.ue = !1, !o.o && o.T & 32 && (n ??= []).push(o)), He(o, a);
693
+ s ? (c || Ve(o, s), i !== null && i(o)) : (o.S &= -2, c || Ve(o), i !== null && i(o), o.ue && (fe(o), t = !0), o.ue = !1, !o.o && o.T & 32 && (n ??= []).push(o)), He(o, a);
694
694
  };
695
695
  if (He(e, a), n) for (let e of n) Ue(e);
696
696
  t && P();
@@ -706,11 +706,11 @@ function Je(t, n, r) {
706
706
  t.Te = n;
707
707
  let s, c = () => {
708
708
  let e = g(t);
709
- if (e && t.S & 4 && !ue(e).Ie.has(t)) {
709
+ if (e && t.S & 4 && !le(e).Ie.has(t)) {
710
710
  t.Ne = null;
711
711
  return;
712
712
  }
713
- H.initTransition(e);
713
+ U.initTransition(e);
714
714
  }, l = (r) => {
715
715
  if (t.Te !== n) return;
716
716
  let i = r instanceof e;
@@ -726,11 +726,11 @@ function Je(t, n, r) {
726
726
  Pe(t), Ye(t);
727
727
  let s = h(t);
728
728
  if (s && s.Ae.delete(t), r) r(e), a && Ye(t, !0);
729
- else if (t._e !== void 0) t.De === o && L(t), t.De = e, I.Pe !== null && I.Pe(t, e), _(t) || z(t), t.de = C;
729
+ else if (t._e !== void 0) t.De === o && R(t), t.De = e, L.Pe !== null && L.Pe(t, e), _(t) || B(t), t.de = C;
730
730
  else if (s) {
731
731
  let n = t.Re, r = t.Ue, i = t.be;
732
732
  try {
733
- (!n && a || !i || !i(e, r)) && (t.Ue = e, t.de = C, I.Pe !== null && I.Pe(t, e), z(t, !0));
733
+ (!n && a || !i || !i(e, r)) && (t.Ue = e, t.de = C, L.Pe !== null && L.Pe(t, e), B(t, !0));
734
734
  } catch (e) {
735
735
  Xe(t, 2, e);
736
736
  }
@@ -739,7 +739,7 @@ function Je(t, n, r) {
739
739
  } catch (e) {
740
740
  Xe(t, 2, e);
741
741
  }
742
- t.De === o && (t.Ee = !1), Ke(t), P(), U(), i?.();
742
+ t.De === o && (t.Ee = !1), Ke(t), P(), W(), i?.();
743
743
  }, d = () => t.T & 32 && !t.o && !(t.S & 1) ? (Fe(t), !0) : !1;
744
744
  if (a) {
745
745
  let r = !1, i = !1, a, o = !0;
@@ -751,7 +751,7 @@ function Je(t, n, r) {
751
751
  if (r) t.Ee = !1;
752
752
  else {
753
753
  if (t.Ee) return t.Ue;
754
- throw H.initTransition(g(t)), new e(G);
754
+ throw U.initTransition(g(t)), new e(G);
755
755
  }
756
756
  }
757
757
  if (i) {
@@ -772,7 +772,7 @@ function Je(t, n, r) {
772
772
  if ((qe(_) ? _ : { then: (e) => void e(_) }).then((r) => {
773
773
  if (g && o) e = r, m = !0, r.done && (a = !0);
774
774
  else if (t.Te !== n) return;
775
- else r.done ? (a = !0, i ? (P(), U()) : u(void 0), d()) : (i = !0, u(r.value, c));
775
+ else r.done ? (a = !0, i ? (P(), W()) : u(void 0), d()) : (i = !0, u(r.value, c));
776
776
  }, (e) => {
777
777
  g ? (p = e, h = !0) : t.Te === n && (a = !0, l(e), d());
778
778
  }), g = !1, h) {
@@ -783,19 +783,19 @@ function Je(t, n, r) {
783
783
  }, p = f();
784
784
  if (o = !1, !i && !p) {
785
785
  if (t.Ee) return t.Ue;
786
- throw H.initTransition(g(t)), new e(G);
786
+ throw U.initTransition(g(t)), new e(G);
787
787
  }
788
788
  t.Ee = !1;
789
789
  }
790
790
  return s;
791
791
  }
792
792
  function Ye(e, t = !1) {
793
- e.oe && ze(e), e.ue &&= !1, e.he = !1, e.S = t ? 0 : e.S & 4, e._ && Ve(e), (e.ge || e.pe) && I.Se(e), e.u && I.Oe !== null && I.Oe(e), e.i && e.i();
793
+ e.oe && ze(e), e.ue &&= !1, e.he = !1, e.S = t ? 0 : e.S & 4, e._ && Ve(e), (e.ge || e.pe) && L.Se(e), e.u && L.Oe !== null && L.Oe(e), e.i && e.i();
794
794
  }
795
795
  function Xe(n, r, i, a, o) {
796
796
  r === 2 && !(i instanceof t) && !(i instanceof e) && (i = new t(n, i));
797
797
  let s = r === 1 && i instanceof e ? i.source : void 0, c = s === n, l = r === 1 && n._e !== void 0 && !c, u = l && _(n);
798
- a || (r === 1 && s ? (Le(n, s), n.S = 1 | n.S & 4, Ve(n, s, i)) : (ze(n), n.S = r | (r === 2 ? 0 : n.S & 4), n._ = i), I.Se !== null && I.Se(n), n.u && I.Oe !== null && I.Oe(n)), o && !a && v(n, o);
798
+ a || (r === 1 && s ? (Le(n, s), n.S = 1 | n.S & 4, Ve(n, s, i)) : (ze(n), n.S = r | (r === 2 ? 0 : n.S & 4), n._ = i), L.Se !== null && L.Se(n), n.u && L.Oe !== null && L.Oe(n)), o && !a && v(n, o);
799
799
  let d = a || u, f = a || l ? void 0 : o;
800
800
  if (n.i) {
801
801
  if (a && r === 1) return;
@@ -805,28 +805,28 @@ function Xe(n, r, i, a, o) {
805
805
  He(n, (t, n) => {
806
806
  if (t.de = C, r === 1 && s && !t.oe?.has(s) || r !== 1 && (t._ !== i || t.oe)) {
807
807
  if (n.Ge && r !== 1 && !(i instanceof e)) {
808
- pe(t), P();
808
+ fe(t), P();
809
809
  return;
810
810
  }
811
- !d && !t.Ne && L(t), Xe(t, r, i, d, f);
811
+ !d && !t.Ne && R(t), Xe(t, r, i, d, f);
812
812
  }
813
813
  });
814
814
  }
815
- I.Ce = nt, I.me = Se;
815
+ L.Ce = nt, L.me = Se;
816
816
  var Ze = !1, Qe = !1, $e = !1, et = !1, G = null, tt = null;
817
817
  function nt(t, n = !1) {
818
818
  let r = t.Re;
819
- n || (t.Ne && (!r || w) && w !== t.Ne && H.initTransition(t.Ne), _e(t, fe(t)), t.Te = null, t.Ne || r === 3 ? Se(t) : (t.Fe !== null || t.ye !== null) && (xe(t), t.Qe = t.ye, t.We = t.Fe, t.ye = null, t.Fe = null, t.qe = 0));
819
+ n || (t.Ne && (!r || w) && w !== t.Ne && U.initTransition(t.Ne), ge(t, de(t)), t.Te = null, t.Ne || r === 3 ? Se(t) : (t.Fe !== null || t.ye !== null) && (xe(t), t.Qe = t.ye, t.We = t.Fe, t.ye = null, t.Fe = null, t.qe = 0));
820
820
  let i = !!(t.se & 128), l = t._e !== void 0 && t._e !== o, u = !!(t.S & 4), d = t.S & 2 ? t._ : void 0, f = (t.se & a) !== 0, p = t.Ee, m = G;
821
821
  G = t, t.Ye = null, t.Ze++, t.se = 4, t.de = C;
822
822
  let h = t.De === o ? t.Ue : t.De, g = t.xe, _ = Ze, v = tt;
823
823
  Ze = !0;
824
824
  let y = et;
825
825
  if (et = !1, i) {
826
- let e = I.je(t, !0);
826
+ let e = L.je(t, !0);
827
827
  e && (tt = e);
828
828
  } else if (w && !n && w.Me.length) {
829
- let e = I.je(t, !1);
829
+ let e = L.je(t, !1);
830
830
  e && (i = !0, tt = e);
831
831
  }
832
832
  let b = r && r !== 2, x = Qe;
@@ -837,14 +837,14 @@ function nt(t, n = !1) {
837
837
  let e = t.Te, n = t.ce(h), r = typeof n == "object" && !!n, i = t.Te !== e;
838
838
  h = i || !r ? n : Je(t, n), !i && !r && (t.Te = null, t.Ee = !1);
839
839
  }
840
- (t.S !== 0 || t.i !== void 0 || t._ || t.he || t.ue || t.oe !== void 0 || t.ge !== void 0 || t.pe !== void 0 || t.u !== null) && Ye(t, n), t.Ke && I.ze(t);
840
+ (t.S !== 0 || t.i !== void 0 || t._ || t.he || t.ue || t.oe !== void 0 || t.ge !== void 0 || t.pe !== void 0 || t.u !== null) && Ye(t, n), t.Ke && L.ze(t);
841
841
  } catch (n) {
842
842
  let r = n instanceof e;
843
843
  if (r && t.Ee) Be(t, n);
844
844
  else {
845
- r && tt && I.$e(t);
845
+ r && tt && L.$e(t);
846
846
  let e = !1;
847
- r && (t.ue = !0, I.Be !== null && (e = I.Be(t, f))), Xe(t, r ? 1 : 2, n, void 0, r ? t.Ke : void 0), e && I.k(t);
847
+ r && (t.ue = !0, L.Be !== null && (e = L.Be(t, f))), Xe(t, r ? 1 : 2, n, void 0, r ? t.Ke : void 0), e && L.k(t);
848
848
  }
849
849
  } finally {
850
850
  Ze = _, et = y, b && (Qe = x), t.se = 0 | (n ? t.se & 256 : 0), G = m;
@@ -857,16 +857,16 @@ function nt(t, n = !1) {
857
857
  } catch (e) {
858
858
  Xe(t, 2, e);
859
859
  }
860
- if (r && a && (t.Je = !t._, n || t.C.enqueue(r, t.Xe ??= I.et.bind(null, t))), !t._) {
860
+ if (r && a && (t.Je = !t._, n || t.C.enqueue(r, t.Xe ??= L.et.bind(null, t))), !t._) {
861
861
  if (a) {
862
862
  let e = l ? t._e : void 0;
863
- n || r && (w !== t.Ne || w === null) || i ? (t.Ue = h, l && i && (t._e = h === void 0 ? s : h, t.De = o)) : (t.De = h, p && (t.Ee = !0), (w || t.Ne) && I.Pe !== null && I.Pe(t, h)), t.o !== null && (!l || i || t._e !== e) && z(t, i || l);
864
- } else if (l) t.De === o && L(t), t.De = h, p && (t.Ee = !0);
865
- else if (t.xe != g) for (let e = t.o; e !== null; e = e.le) ge(e.fe, fe(e.fe));
863
+ n || r && (w !== t.Ne || w === null) || i ? (t.Ue = h, l && i && (t._e = h === void 0 ? s : h, t.De = o)) : (t.De = h, p && (t.Ee = !0), (w || t.Ne) && L.Pe !== null && L.Pe(t, h)), t.o !== null && (!l || i || t._e !== e) && B(t, i || l);
864
+ } else if (l) t.De === o && R(t), t.De = h, p && (t.Ee = !0);
865
+ else if (t.xe != g) for (let e = t.o; e !== null; e = e.le) he(e.fe, de(e.fe));
866
866
  }
867
867
  d !== void 0 && !a && !t._ && Ge(t, d);
868
868
  }
869
- tt = v, (t.De !== o || t.We !== null || t.Qe !== null || t.S & 5) && (!n || t.S & 1) && (!t.Ne || l) && L(t), t.Ne && r && w !== t.Ne && de(t.Ne, () => nt(t));
869
+ tt = v, (t.De !== o || t.We !== null || t.Qe !== null || t.S & 5) && (!n || t.S & 1) && (!t.Ne || l) && R(t), t.Ne && r && w !== t.Ne && ue(t.Ne, () => nt(t));
870
870
  }
871
871
  function rt(e) {
872
872
  if (e.se & 1) for (let t = e.tt; t; t = t.nt) {
@@ -882,7 +882,7 @@ function it(e, t) {
882
882
  be: t?.equals == null ? lt : t.equals,
883
883
  ut: t?.unobserved,
884
884
  ye: null,
885
- C: G?.C ?? H,
885
+ C: G?.C ?? U,
886
886
  we: G?.we ?? u,
887
887
  qe: 0,
888
888
  ce: e,
@@ -920,7 +920,7 @@ function at(e, t, n, r, i, a) {
920
920
  be: !1,
921
921
  ut: a?.unobserved,
922
922
  ye: null,
923
- C: G?.C ?? H,
923
+ C: G?.C ?? U,
924
924
  we: G?.we ?? u,
925
925
  qe: 0,
926
926
  ce: e,
@@ -966,7 +966,7 @@ function st(e, t) {
966
966
  let t = G.Fe;
967
967
  t === null ? G.Fe = e : (e.He = t, t.ct = e, G.Fe = e);
968
968
  }
969
- n && (e.xe = n.xe + 1), I.It !== null && I.It(e), !t?.lazy && nt(e, !0);
969
+ n && (e.xe = n.xe + 1), L.It !== null && L.It(e), !t?.lazy && nt(e, !0);
970
970
  }
971
971
  function ct(e, t, n = null) {
972
972
  let r = {
@@ -987,11 +987,11 @@ function lt(e, t) {
987
987
  return e === t;
988
988
  }
989
989
  function ut(e, t) {
990
- if (I.St === null && !Ze) return e();
990
+ if (L.St === null && !Ze) return e();
991
991
  let n = Ze;
992
992
  Ze = !1;
993
993
  try {
994
- return I.St === null ? e() : I.St(e);
994
+ return L.St === null ? e() : L.St(e);
995
995
  } finally {
996
996
  Ze = n;
997
997
  }
@@ -1000,20 +1000,20 @@ function dt(e, t) {
1000
1000
  e.se & 512 ? (e.se &= -513, nt(e, !0)) : e.se & 64 ? nt(e, !0) : t && rt(e);
1001
1001
  }
1002
1002
  function ft(e) {
1003
- if (et) return I.At(e);
1003
+ if (et) return L.At(e);
1004
1004
  let t = G;
1005
1005
  t?.Nt && (t = t.dt);
1006
1006
  let n = e, r = e.lt || e;
1007
1007
  if (typeof n.ce == "function" && dt(e, !1), !n.ce && r === e && e._e === void 0 && e.Le === void 0 && w === null && tt === null) return t && Ze && Ie(e, t), !t || e.De === o ? e.Ue : e.De;
1008
1008
  if (t && Ze && (Ie(e, t, $e), r.ce)) {
1009
- let n = fe(e);
1010
- r.xe >= n.Ve && (ve(t), W(n), rt(r));
1009
+ let n = de(e);
1010
+ r.xe >= n.Ve && (ve(t), _e(n), rt(r));
1011
1011
  let i = r.xe;
1012
1012
  i >= t.xe && e.ke !== t && (t.xe = i + 1);
1013
1013
  }
1014
1014
  if (r.S & 1) {
1015
1015
  if (t && !(Qe && r.Ne && w !== r.Ne)) {
1016
- if (tt === null || I.Ot(r)) throw !Ze && e !== t && Ie(e, t), r._;
1016
+ if (tt === null || L.Ot(r)) throw !Ze && e !== t && Ie(e, t), r._;
1017
1017
  } else if (t && r !== e && r.S & 4) throw !Ze && e !== t && Ie(e, t), r._;
1018
1018
  else if (!t && r.S & 4) throw r._;
1019
1019
  }
@@ -1022,17 +1022,17 @@ function ft(e) {
1022
1022
  throw r._;
1023
1023
  }
1024
1024
  if (e._e !== void 0 && e._e !== o) return c(e._e);
1025
- if (tt !== null && w !== null && t !== null && I.Rt(e, r, t)) return e.Ue;
1026
- let i = !t || tt !== null && I.Pt(e, r, t) || e.De === o || Qe && e.Ne && w !== e.Ne ? e.Ue : e.De;
1025
+ if (tt !== null && w !== null && t !== null && L.Rt(e, r, t)) return e.Ue;
1026
+ let i = !t || tt !== null && L.Pt(e, r, t) || e.De === o || Qe && e.Ne && w !== e.Ne ? e.Ue : e.De;
1027
1027
  return !t && r === e && typeof n.ce == "function" && e.T & 32 && !(r.S & 1) && !e.o && Fe(e), i;
1028
1028
  }
1029
1029
  function pt(e, t) {
1030
- if (e.Ne && w !== e.Ne && H.initTransition(e.Ne), e._e !== void 0) return I.Gt(e, t);
1030
+ if (e.Ne && w !== e.Ne && U.initTransition(e.Ne), e._e !== void 0) return L.Gt(e, t);
1031
1031
  let n = e.De === o ? e.Ue : e.De;
1032
- return typeof t == "function" && (t = t(n)), e.S & 4 || !e.be || !e.be(n, t) ? (e.De === o && L(e), e.De = t, (e.ge !== void 0 || e.pe !== void 0) && I.Pe !== null && I.Pe(e, t), e.de = C, z(e), P(), t) : t;
1032
+ return typeof t == "function" && (t = t(n)), e.S & 4 || !e.be || !e.be(n, t) ? (e.De === o && R(e), e.De = t, (e.ge !== void 0 || e.pe !== void 0) && L.Pe !== null && L.Pe(e, t), e.de = C, B(e), P(), t) : t;
1033
1033
  }
1034
1034
  function mt(e) {
1035
- _e(e, fe(e)), !(e.se & 1024) && e.De === o && (L(e), P()), e.se = e.se & -4 | i;
1035
+ ge(e, de(e)), !(e.se & 1024) && e.De === o && (R(e), P()), e.se = e.se & -4 | i;
1036
1036
  }
1037
1037
  function ht(e, t) {
1038
1038
  let n = pt(e, t);
@@ -1100,7 +1100,7 @@ function xt(e) {
1100
1100
  e._t = e.Ue, e.Je = !1;
1101
1101
  }
1102
1102
  }
1103
- I.et = xt;
1103
+ L.et = xt;
1104
1104
  //#endregion
1105
1105
  //#region ../../node_modules/.bun/@solidjs+signals@2.0.0-rc.0/node_modules/@solidjs/signals/dist/prod/signals.js
1106
1106
  function St(e) {
@@ -1685,7 +1685,7 @@ function Dn(e, t, n, r = {}) {
1685
1685
  ...r,
1686
1686
  insertOptions: { schedule: !0 }
1687
1687
  });
1688
- return U(), i;
1688
+ return W(), i;
1689
1689
  } finally {}
1690
1690
  }
1691
1691
  //#endregion
@@ -1891,7 +1891,7 @@ function Pn(e) {
1891
1891
  r = i;
1892
1892
  let a = e();
1893
1893
  n(t, () => a, void 0, void 0, { schedule: !0 });
1894
- }), U(), r;
1894
+ }), W(), r;
1895
1895
  }
1896
1896
  };
1897
1897
  }
@@ -3222,19 +3222,19 @@ function Ca(e = {}, t = !1) {
3222
3222
  }, N = () => {
3223
3223
  let e = j();
3224
3224
  g ??= ea(n, ga, _a), _ ??= na(n, !1), g.parentNode || e.append(g), _.parentNode || e.append(_);
3225
- }, P = (e) => Array.from(e.childNodes).some((e) => e.nodeType === p.TEXT_NODE && !!e.nodeValue?.trim()), ee = (e) => !!e && e instanceof d && !(e instanceof f) && !c.has(e.tagName) && P(e) && !e.closest("[data-mesurer-root], [data-mesurer-inspector-ui='true']"), te = (e, t) => {
3225
+ }, P = (e) => Array.from(e.childNodes).some((e) => e.nodeType === p.TEXT_NODE && !!e.nodeValue?.trim()), ee = (e) => !!e && e instanceof d && !(e instanceof f) && !c.has(e.tagName) && P(e) && !e.closest("[data-mesurer-root], [data-mesurer-inspector-ui='true']"), F = (e, t) => {
3226
3226
  for (let i of n.elementsFromPoint(e, t)) {
3227
3227
  if (Kr(i, r)) return null;
3228
3228
  if (ee(i)) return i;
3229
3229
  }
3230
3230
  return null;
3231
- }, ne = () => {
3231
+ }, te = () => {
3232
3232
  v = null, M(g, !1), M(_, !1);
3233
- }, F = (e, t, n) => {
3233
+ }, I = (e, t, n) => {
3234
3234
  if (!e || e.dataset.state !== "visible") return !1;
3235
3235
  let r = e.getBoundingClientRect();
3236
3236
  return t >= r.left && t <= r.right && n >= r.top && n <= r.bottom;
3237
- }, I = (e, t) => E.some((n) => F(n.card, e, t)), L = (t) => {
3237
+ }, L = (e, t) => E.some((n) => I(n.card, e, t)), R = (t) => {
3238
3238
  if (!m || !ee(t)) return !1;
3239
3239
  N();
3240
3240
  let i = t.getBoundingClientRect(), a = u.getFast(t);
@@ -3243,23 +3243,23 @@ function Ca(e = {}, t = !1) {
3243
3243
  let i = u.getFull(t, a);
3244
3244
  ra(n, _, i, !1), ia(r, _, t.getBoundingClientRect()), e.onInspect?.(t, i);
3245
3245
  }, 24), !0;
3246
- }, R = () => E.map((e) => ({
3246
+ }, z = () => E.map((e) => ({
3247
3247
  sourceEl: e.sourceEl,
3248
3248
  left: e.userPlaced ? e.card.getBoundingClientRect().left + e.card.getBoundingClientRect().width / 2 : 0,
3249
3249
  top: e.userPlaced ? e.card.getBoundingClientRect().top : 0,
3250
3250
  userPlaced: e.userPlaced
3251
- })), z = () => {
3252
- D.push(R()), D.length > 100 && D.shift(), O.length = 0;
3253
- }, B = (t, n = !0, r = !0) => {
3251
+ })), B = () => {
3252
+ D.push(z()), D.length > 100 && D.shift(), O.length = 0;
3253
+ }, V = (t, n = !0, r = !0) => {
3254
3254
  let i = E.indexOf(t);
3255
- i < 0 || (n && z(), E.splice(i, 1), t.detach(), t.box.remove(), t.card.remove(), r && e.onUnpin?.(t.sourceEl));
3256
- }, V = (e = !1) => {
3257
- for (; E.length;) B(E[E.length - 1], !1, e);
3258
- }, re = (e) => {
3255
+ i < 0 || (n && B(), E.splice(i, 1), t.detach(), t.box.remove(), t.card.remove(), r && e.onUnpin?.(t.sourceEl));
3256
+ }, H = (e = !1) => {
3257
+ for (; E.length;) V(E[E.length - 1], !1, e);
3258
+ }, ne = (e) => {
3259
3259
  let t = -1, n = 0, i = 0, a = 0, o = 0, s = !1, c = !1, l = (l) => {
3260
3260
  if (l.pointerId !== t) return;
3261
3261
  let u = l.clientX - n, d = l.clientY - i;
3262
- !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`);
3262
+ !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 ||= (B(), !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`);
3263
3263
  }, u = (e) => {
3264
3264
  (t === -1 || e.pointerId === t) && (r.removeEventListener("pointermove", l), r.removeEventListener("pointerup", u), r.removeEventListener("pointercancel", u), t = -1, s = !1, c = !1);
3265
3265
  }, f = (s) => {
@@ -3270,9 +3270,9 @@ function Ca(e = {}, t = !1) {
3270
3270
  return e.card.addEventListener("pointerdown", f), () => {
3271
3271
  e.card.removeEventListener("pointerdown", f), r.removeEventListener("pointermove", l), r.removeEventListener("pointerup", u), r.removeEventListener("pointercancel", u);
3272
3272
  };
3273
- }, ie = (t, i, a = !0, o = !0) => {
3273
+ }, re = (t, i, a = !0, o = !0) => {
3274
3274
  if (E.find((e) => e.sourceEl === t)) return;
3275
- a && z(), E.length >= l && B(E[0], !1, !0);
3275
+ a && B(), E.length >= l && V(E[0], !1, !0);
3276
3276
  let s = j(), c = ea(n, va, ya), d = na(n, !0);
3277
3277
  d.classList.add("mesurer-ti-card--draggable"), d.classList.remove("mesurer-ti-card--pinned");
3278
3278
  let f = u.getFull(t);
@@ -3288,24 +3288,24 @@ function Ca(e = {}, t = !1) {
3288
3288
  userPlaced: i?.userPlaced ?? !1,
3289
3289
  detach: () => {}
3290
3290
  };
3291
- E.push(m), m.detach = re(m), d.querySelector(".mesurer-ti-close")?.addEventListener("click", (e) => {
3292
- e.preventDefault(), e.stopPropagation(), B(m);
3291
+ E.push(m), m.detach = ne(m), d.querySelector(".mesurer-ti-close")?.addEventListener("click", (e) => {
3292
+ e.preventDefault(), e.stopPropagation(), V(m);
3293
3293
  }), o && e.onPin?.(t, f);
3294
- }, ae = (e) => {
3295
- V(!1);
3296
- for (let t of e) t.sourceEl.isConnected && ie(t.sourceEl, t, !1, !1);
3297
- }, H = () => {
3294
+ }, ie = (e) => {
3295
+ H(!1);
3296
+ for (let t of e) t.sourceEl.isConnected && re(t.sourceEl, t, !1, !1);
3297
+ }, U = () => {
3298
3298
  let e = D.pop();
3299
- return e ? (O.push(R()), ae(e), !0) : !1;
3300
- }, oe = () => {
3299
+ return e ? (O.push(z()), ie(e), !0) : !1;
3300
+ }, ae = () => {
3301
3301
  let e = O.pop();
3302
- return e ? (D.push(R()), ae(e), !0) : !1;
3303
- }, U = () => {
3304
- E.length && (z(), V(!0));
3305
- }, se = () => {
3302
+ return e ? (D.push(z()), ie(e), !0) : !1;
3303
+ }, W = () => {
3304
+ E.length && (B(), H(!0));
3305
+ }, oe = () => {
3306
3306
  for (let e of E.slice()) {
3307
3307
  if (!e.sourceEl.isConnected) {
3308
- B(e, !1, !1);
3308
+ V(e, !1, !1);
3309
3309
  continue;
3310
3310
  }
3311
3311
  let t = e.sourceEl.getBoundingClientRect();
@@ -3313,10 +3313,10 @@ function Ca(e = {}, t = !1) {
3313
3313
  let n = t.bottom >= 0 && t.right >= 0 && t.left <= r.innerWidth && t.top <= r.innerHeight;
3314
3314
  M(e.box, n), M(e.card, n), e.card.style.pointerEvents = n ? "auto" : "none";
3315
3315
  }
3316
- }, ce = () => {
3316
+ }, se = () => {
3317
3317
  if (m) {
3318
3318
  if (v && g && _) {
3319
- if (!v.isConnected) ne();
3319
+ if (!v.isConnected) te();
3320
3320
  else {
3321
3321
  let e = v.getBoundingClientRect();
3322
3322
  ta(g, e), ia(r, _, e);
@@ -3324,86 +3324,86 @@ function Ca(e = {}, t = !1) {
3324
3324
  M(g, t), M(_, t);
3325
3325
  }
3326
3326
  }
3327
- se();
3327
+ oe();
3328
3328
  }
3329
- }, le = () => {
3329
+ }, ce = () => {
3330
3330
  if (!m) return;
3331
- let e = te(y.x, y.y);
3332
- if (!e) ne();
3333
- else if (e !== v) L(e);
3331
+ let e = F(y.x, y.y);
3332
+ if (!e) te();
3333
+ else if (e !== v) R(e);
3334
3334
  else if (g && _) {
3335
3335
  let t = e.getBoundingClientRect();
3336
3336
  ta(g, t), ia(r, _, t);
3337
3337
  }
3338
- se();
3339
- }, ue = () => {
3338
+ oe();
3339
+ }, le = () => {
3340
3340
  b ||= r.requestAnimationFrame(() => {
3341
- b = 0, le();
3341
+ b = 0, ce();
3342
3342
  });
3343
- }, de = (e) => e.composedPath().some((e) => Kr(e, r)), fe = (e) => {
3343
+ }, ue = (e) => e.composedPath().some((e) => Kr(e, r)), de = (e) => {
3344
3344
  if (y = {
3345
3345
  x: e.clientX,
3346
3346
  y: e.clientY
3347
- }, de(e) || I(e.clientX, e.clientY)) {
3348
- ne();
3347
+ }, ue(e) || L(e.clientX, e.clientY)) {
3348
+ te();
3349
3349
  return;
3350
3350
  }
3351
- F(_, e.clientX, e.clientY) || ue();
3352
- }, pe = (e, t, n) => {
3351
+ I(_, e.clientX, e.clientY) || le();
3352
+ }, fe = (e, t, n) => {
3353
3353
  if (!e || e.dataset.mesurerNativeScrollAnchor) return;
3354
3354
  let r = Number.parseFloat(e.style.left), i = Number.parseFloat(e.style.top);
3355
3355
  Number.isFinite(r) && (e.style.left = `${r - t}px`), Number.isFinite(i) && (e.style.top = `${i - n}px`);
3356
- }, me = () => {
3356
+ }, pe = () => {
3357
3357
  let e = r.scrollX, t = r.scrollY, i = e - C, a = t - w;
3358
3358
  if (C = e, w = t, Jr(n)) {
3359
3359
  if (i || a) {
3360
- pe(g, i, a), pe(_, i, a);
3361
- for (let e of E) pe(e.box, i, a), e.userPlaced || pe(e.card, i, a);
3360
+ fe(g, i, a), fe(_, i, a);
3361
+ for (let e of E) fe(e.box, i, a), e.userPlaced || fe(e.card, i, a);
3362
3362
  }
3363
3363
  S && r.clearTimeout(S), S = r.setTimeout(() => {
3364
- S = 0, ce();
3364
+ S = 0, se();
3365
3365
  }, ba);
3366
3366
  return;
3367
3367
  }
3368
- ce(), ue();
3368
+ se(), le();
3369
+ }, me = (e) => {
3370
+ e.relatedTarget || te();
3369
3371
  }, he = (e) => {
3370
- e.relatedTarget || ne();
3371
- }, ge = (e) => {
3372
- if (!de(e)) {
3373
- if (F(_, e.clientX, e.clientY) || I(e.clientX, e.clientY)) {
3372
+ if (!ue(e)) {
3373
+ if (I(_, e.clientX, e.clientY) || L(e.clientX, e.clientY)) {
3374
3374
  e.preventDefault(), e.stopImmediatePropagation();
3375
3375
  return;
3376
3376
  }
3377
3377
  if (e.preventDefault(), e.stopImmediatePropagation(), e.button === 0) {
3378
- let t = te(e.clientX, e.clientY);
3379
- t && ie(t);
3378
+ let t = F(e.clientX, e.clientY);
3379
+ t && re(t);
3380
3380
  }
3381
3381
  }
3382
- }, _e = (e) => {
3383
- if (!de(e)) {
3384
- if (F(_, e.clientX, e.clientY) || I(e.clientX, e.clientY)) {
3382
+ }, ge = (e) => {
3383
+ if (!ue(e)) {
3384
+ if (I(_, e.clientX, e.clientY) || L(e.clientX, e.clientY)) {
3385
3385
  e.preventDefault(), e.stopImmediatePropagation();
3386
3386
  return;
3387
3387
  }
3388
3388
  e.preventDefault(), e.stopImmediatePropagation();
3389
3389
  }
3390
- }, W = () => {
3391
- m || (m = !0, A(), j(), n.body.classList.add(s), C = r.scrollX, w = r.scrollY, r.addEventListener("mousemove", fe, !0), r.addEventListener("mouseout", he, !0), r.addEventListener("click", ge, !0), r.addEventListener("auxclick", _e, !0), r.addEventListener("scroll", me, {
3390
+ }, _e = () => {
3391
+ 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, {
3392
3392
  capture: !0,
3393
3393
  passive: !0
3394
- }), r.addEventListener("resize", ue, !0));
3394
+ }), r.addEventListener("resize", le, !0));
3395
3395
  }, ve = () => {
3396
- m && (m = !1, r.cancelAnimationFrame(b), b = 0, r.clearTimeout(x), r.clearTimeout(S), S = 0, r.removeEventListener("mousemove", fe, !0), r.removeEventListener("mouseout", he, !0), r.removeEventListener("click", ge, !0), r.removeEventListener("auxclick", _e, !0), r.removeEventListener("scroll", me, !0), r.removeEventListener("resize", ue, !0), ne(), V(), g?.remove(), _?.remove(), g = null, _ = null, D.length = 0, O.length = 0, n.body.classList.remove(s));
3396
+ 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), te(), H(), g?.remove(), _?.remove(), g = null, _ = null, D.length = 0, O.length = 0, n.body.classList.remove(s));
3397
3397
  }, ye = () => {
3398
3398
  ve(), T?.(), T = null, h?.remove(), h = null, n.getElementById(o)?.remove(), k instanceof r.ShadowRoot && k.querySelector(`#${o}`)?.remove();
3399
3399
  };
3400
3400
  return {
3401
- enable: W,
3401
+ enable: _e,
3402
3402
  disable: ve,
3403
- undo: H,
3404
- redo: oe,
3405
- clear: U,
3406
- inspect: L,
3403
+ undo: U,
3404
+ redo: ae,
3405
+ clear: W,
3406
+ inspect: R,
3407
3407
  isEnabled: () => m,
3408
3408
  canUndo: () => D.length > 0,
3409
3409
  canRedo: () => O.length > 0,
@@ -3412,7 +3412,7 @@ function Ca(e = {}, t = !1) {
3412
3412
  };
3413
3413
  }
3414
3414
  Ca({}, !0);
3415
- var wa = "/*! 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\\:text-\\[14px\\] {\n font-size: 14px;\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", Ta = {
3415
+ var wa = "/*! 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-0\\.5 {\n padding-top: calc(var(--msr-spacing) * 0.5);\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-1\\.5 {\n padding-bottom: calc(var(--msr-spacing) * 1.5);\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\\:text-\\[14px\\] {\n font-size: 14px;\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", Ta = {
3416
3416
  keepTextChanges: !1,
3417
3417
  keepArrangeChanges: !1
3418
3418
  }, Ea = (e) => e.state.get("mesurer.presentation.preferences") ?? Ta, Da = "mesurer.arrange", Oa = "arrange", ka = "mesurer.arrange.intents", Aa = "mesurer.arrange.active", ja = "mesurer.arrange.settings", Ma = "runtime:solid", Na = "builtin.select", Pa = "arrange.toggle", Fa = "arrange.commit", Ia = "arrange.clear", La = "arrange.reset-selection", Ra = "arrange.reset-all", za = "mesurer.arrange.selection-available", Ba = 1, Va = 24, Ha = 160, Ua = 500, Wa = "#ef4444", Ga = 24, Ka = 6, qa = 30, Ja = .5, Ya = {
@@ -3599,22 +3599,22 @@ var wa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3599
3599
  }, ee = (e) => {
3600
3600
  let t = lo(e, "transition-property");
3601
3601
  (!m.get(e) || !fo(t, P)) && m.set(e, t), fo(t, P) || e.style.setProperty("transition-property", P.value, P.priority);
3602
- }, te = (e) => {
3602
+ }, F = (e) => {
3603
3603
  let t = m.get(e);
3604
3604
  t && (fo(lo(e, "transition-property"), P) && (t.value || t.priority ? e.style.setProperty("transition-property", t.value, t.priority) : e.style.removeProperty("transition-property")), m.delete(e));
3605
- }, ne = (e) => {
3606
- for (let t of m.keys()) e.has(t) || te(t);
3607
- }, F = () => {
3608
- for (let e of m.keys()) te(e);
3605
+ }, te = (e) => {
3606
+ for (let t of m.keys()) e.has(t) || F(t);
3609
3607
  }, I = () => {
3608
+ for (let e of m.keys()) F(e);
3609
+ }, L = () => {
3610
3610
  for (let e of p.values()) mo(e);
3611
3611
  p.clear();
3612
- }, L = () => {
3613
- I(), F();
3614
3612
  }, R = () => {
3613
+ L(), I();
3614
+ }, z = () => {
3615
3615
  u.style.display = "none", d.style.display = "none";
3616
- }, z = (e, t, n) => {
3617
- if (R(), E().snapLines) {
3616
+ }, B = (e, t, n) => {
3617
+ if (z(), E().snapLines) {
3618
3618
  if (e) {
3619
3619
  let t = Math.min(n.top, e.start), r = Math.max(n.top + n.height, e.end);
3620
3620
  u.style.display = "block", u.style.left = `${e.position}px`, u.style.top = `${t}px`, u.style.height = `${Math.max(1, r - t)}px`;
@@ -3624,29 +3624,80 @@ var wa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3624
3624
  d.style.display = "block", d.style.left = `${e}px`, d.style.top = `${t.position}px`, d.style.width = `${Math.max(1, r - e)}px`;
3625
3625
  }
3626
3626
  }
3627
- }, B = () => {
3627
+ }, V = () => {
3628
3628
  if (!(h.size > 0)) for (let e of s.querySelectorAll("[data-mesurer-measurement='true']")) e instanceof c.HTMLElement && (h.set(e, {
3629
3629
  value: e.style.getPropertyValue("visibility"),
3630
3630
  priority: e.style.getPropertyPriority("visibility")
3631
3631
  }), e.style.setProperty("visibility", "hidden", "important"));
3632
- }, V = () => {
3632
+ }, H = () => {
3633
3633
  for (let [e, t] of h) t.value || t.priority ? e.style.setProperty("visibility", t.value, t.priority) : e.style.removeProperty("visibility");
3634
3634
  h.clear();
3635
- }, re = (e = k()) => {
3635
+ }, ne = (e) => {
3636
+ if (e.parentElement instanceof c.HTMLElement) return e.parentElement;
3637
+ let t = e.getRootNode();
3638
+ return t instanceof c.ShadowRoot && t.host instanceof c.HTMLElement ? t.host : null;
3639
+ }, re = (e, t) => {
3640
+ let n = ne(e);
3641
+ for (; n;) {
3642
+ let e = t.get(n);
3643
+ if (e) return e;
3644
+ n = ne(n);
3645
+ }
3646
+ return {
3647
+ x: 0,
3648
+ y: 0
3649
+ };
3650
+ }, ie = (e = k()) => {
3636
3651
  let t = /* @__PURE__ */ new Map();
3637
3652
  for (let n of e) for (let e of n.targets) {
3638
3653
  let n = N(e);
3639
- n && t.set(n, {
3640
- x: e.desiredOffsetX,
3641
- y: e.desiredOffsetY
3642
- });
3654
+ n && t.set(n, e);
3643
3655
  }
3644
3656
  return t;
3645
- }, ie = () => {
3657
+ }, U = (e) => e.offsetSpace !== "local" || e.desiredLocalOffsetX === null || e.desiredLocalOffsetY === null ? null : {
3658
+ x: e.desiredLocalOffsetX,
3659
+ y: e.desiredLocalOffsetY
3660
+ }, ae = (e, t) => {
3661
+ let n = ne(e);
3662
+ for (; n;) {
3663
+ if (t.has(n)) return n;
3664
+ n = ne(n);
3665
+ }
3666
+ return null;
3667
+ }, W = (e = k(), t = /* @__PURE__ */ new Map()) => {
3668
+ let n = ie(e), r = /* @__PURE__ */ new Set([...n.keys(), ...t.keys()]), i = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Set(), o = (e) => {
3669
+ let s = i.get(e);
3670
+ if (s) return s;
3671
+ let c = n.get(e), l = t.get(e) ?? (c ? U(c) : null);
3672
+ if (!l && c) {
3673
+ let t = {
3674
+ x: c.desiredOffsetX,
3675
+ y: c.desiredOffsetY
3676
+ };
3677
+ return i.set(e, t), t;
3678
+ }
3679
+ if (!l) return {
3680
+ x: 0,
3681
+ y: 0
3682
+ };
3683
+ if (a.has(e)) return l;
3684
+ a.add(e);
3685
+ let u = ae(e, r), d = u ? o(u) : {
3686
+ x: 0,
3687
+ y: 0
3688
+ }, f = {
3689
+ x: d.x + l.x,
3690
+ y: d.y + l.y
3691
+ };
3692
+ return a.delete(e), i.set(e, f), f;
3693
+ };
3694
+ for (let e of r) o(e);
3695
+ return i;
3696
+ }, oe = () => {
3646
3697
  if (_.state === "live") return /* @__PURE__ */ new Map();
3647
- if (!_.intentId) return re();
3698
+ if (!_.intentId) return W();
3648
3699
  let e = w().intents.find((e) => e.id === _.intentId);
3649
- if (!e) return re();
3700
+ if (!e) return W();
3650
3701
  let t = /* @__PURE__ */ new Map();
3651
3702
  for (let n of e.targets) {
3652
3703
  let e = N(n);
@@ -3659,25 +3710,10 @@ var wa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3659
3710
  });
3660
3711
  }
3661
3712
  return t;
3662
- }, ae = (e) => {
3663
- if (e.parentElement instanceof c.HTMLElement) return e.parentElement;
3664
- let t = e.getRootNode();
3665
- return t instanceof c.ShadowRoot && t.host instanceof c.HTMLElement ? t.host : null;
3666
- }, H = (e, t) => {
3667
- let n = ae(e);
3668
- for (; n;) {
3669
- let e = t.get(n);
3670
- if (e) return e;
3671
- n = ae(n);
3672
- }
3673
- return {
3674
- x: 0,
3675
- y: 0
3676
- };
3677
- }, oe = (e) => {
3713
+ }, se = (e) => {
3678
3714
  let t = [...e].flatMap(([t, n]) => {
3679
3715
  if (!t.isConnected || !j(t)) return [];
3680
- let r = H(t, e), i = {
3716
+ let r = re(t, e), i = {
3681
3717
  x: n.x - r.x,
3682
3718
  y: n.y - r.y
3683
3719
  };
@@ -3687,7 +3723,7 @@ var wa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3687
3723
  }];
3688
3724
  }), n = new Set(t.map(({ element: e }) => e));
3689
3725
  for (let { element: e } of t) ee(e);
3690
- I();
3726
+ L();
3691
3727
  for (let { element: e, offset: n } of t) {
3692
3728
  let t = uo(e), i = r.getComputedStyle(e).transform, a = i && i !== "none" ? ` ${i}` : "";
3693
3729
  e.style.setProperty("transform", `translate3d(${n.x}px, ${n.y}px, 0)${a}`, "important"), p.set(e, {
@@ -3696,26 +3732,26 @@ var wa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3696
3732
  appliedTransform: uo(e)
3697
3733
  });
3698
3734
  }
3699
- ne(n);
3700
- }, U = () => oe(ie()), se = (e) => {
3701
- I();
3735
+ te(n);
3736
+ }, ce = () => se(oe()), le = (e) => {
3737
+ L();
3702
3738
  try {
3703
3739
  return e();
3704
3740
  } finally {
3705
- !x && !v && U();
3741
+ !x && !v && ce();
3706
3742
  }
3707
- }, ce = () => i.currentSelection().elements.filter((e) => e instanceof c.HTMLElement && e.isConnected && j(e));
3743
+ }, ue = () => i.currentSelection().elements.filter((e) => e instanceof c.HTMLElement && e.isConnected && j(e));
3708
3744
  e.state.register({
3709
3745
  id: za,
3710
- initial: ce().length > 0
3746
+ initial: ue().length > 0
3711
3747
  });
3712
- let le = () => e.state.get(za) ?? !1, ue = () => {
3713
- let t = ce().length > 0;
3714
- t !== le() && e.state.update(za, () => t);
3715
- }, de = () => Qa(ce().map((e) => Oi(e))), fe = () => {
3748
+ let de = () => e.state.get(za) ?? !1, fe = () => {
3749
+ let t = ue().length > 0;
3750
+ t !== de() && e.state.update(za, () => t);
3751
+ }, pe = () => Qa(ue().map((e) => Oi(e))), me = () => {
3716
3752
  for (let e of g.values()) e.remove();
3717
3753
  g.clear();
3718
- }, pe = (e) => {
3754
+ }, he = (e) => {
3719
3755
  let t = e.getBoundingClientRect(), n = t.right + Ka;
3720
3756
  n + Ga > r.innerWidth - 4 && (n = Math.max(4, t.left - Ga - Ka));
3721
3757
  let i = Math.min(Math.max(4, t.top + qa), Math.max(4, r.innerHeight - Ga - 4));
@@ -3723,27 +3759,34 @@ var wa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3723
3759
  left: n,
3724
3760
  top: i
3725
3761
  };
3726
- }, me = () => {
3762
+ }, ge = () => {
3727
3763
  if (!T() || v) {
3728
- fe();
3764
+ me();
3729
3765
  return;
3730
3766
  }
3731
- let t = re(k()), r = /* @__PURE__ */ new Set();
3732
- for (let i of ce()) {
3733
- let a = t.get(i);
3734
- if (!a || Math.abs(a.x) <= Ja && Math.abs(a.y) <= Ja) continue;
3735
- r.add(i);
3736
- let o = g.get(i);
3737
- o || (o = n.createElement("button"), o.type = "button", o.dataset.mesurerArrangeReset = "true", o.dataset.mesurerInspectorUi = "true", o.setAttribute("aria-label", "Reset position"), o.title = "Reset position", o.textContent = "↺", o.className = "msr:pointer-events-auto msr:flex msr:size-6 msr:items-center msr:justify-center msr:rounded-[7px] msr:border msr:border-ink-200 msr:bg-white msr:text-[14px] msr:leading-none msr:text-black msr:outline-none msr:hover:bg-ink-50 msr:focus-visible:border-[#0d99ff]", o.style.position = "fixed", o.addEventListener("pointerdown", (e) => e.stopPropagation()), o.addEventListener("click", (t) => {
3738
- t.preventDefault(), t.stopPropagation(), b = [i], e.command.execute(La, void 0, { source: "arrange-reset-button" }).catch(() => {
3767
+ let t = k(), r = ie(t), i = W(t), a = /* @__PURE__ */ new Set();
3768
+ for (let t of ue()) {
3769
+ let o = r.get(t);
3770
+ if (!o) continue;
3771
+ let s = i.get(t);
3772
+ if (!s) continue;
3773
+ let c = re(t, i), u = U(o) ?? {
3774
+ x: s.x - c.x,
3775
+ y: s.y - c.y
3776
+ };
3777
+ if (Math.abs(u.x) <= Ja && Math.abs(u.y) <= Ja) continue;
3778
+ a.add(t);
3779
+ let d = g.get(t);
3780
+ d || (d = n.createElement("button"), d.type = "button", d.dataset.mesurerArrangeReset = "true", d.dataset.mesurerInspectorUi = "true", d.setAttribute("aria-label", "Reset position"), d.title = "Reset position", d.textContent = "↺", d.className = "msr:pointer-events-auto msr:flex msr:size-6 msr:items-center msr:justify-center msr:rounded-[7px] msr:border msr:border-ink-200 msr:bg-white msr:text-[14px] msr:leading-none msr:text-black msr:outline-none msr:hover:bg-ink-50 msr:focus-visible:border-[#0d99ff]", d.style.position = "fixed", d.addEventListener("pointerdown", (e) => e.stopPropagation()), d.addEventListener("click", (n) => {
3781
+ n.preventDefault(), n.stopPropagation(), b = [t], e.command.execute(La, void 0, { source: "arrange-reset-button" }).catch(() => {
3739
3782
  b = null;
3740
3783
  });
3741
- }), g.set(i, o), l.append(o));
3742
- let s = pe(i);
3743
- o.style.left = `${s.left}px`, o.style.top = `${s.top}px`;
3784
+ }), g.set(t, d), l.append(d));
3785
+ let f = he(t);
3786
+ d.style.left = `${f.left}px`, d.style.top = `${f.top}px`;
3744
3787
  }
3745
- for (let [e, t] of g) r.has(e) || (t.remove(), g.delete(e));
3746
- }, he = (t) => {
3788
+ for (let [e, t] of g) a.has(e) || (t.remove(), g.delete(e));
3789
+ }, _e = (t) => {
3747
3790
  let n = new Set(t);
3748
3791
  n.size && (e.state.update("mesurer.arrange.intents", (e) => {
3749
3792
  let t = !1, r = e.intents.flatMap((e) => {
@@ -3758,13 +3801,13 @@ var wa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3758
3801
  }] : [];
3759
3802
  });
3760
3803
  return t ? { intents: r } : e;
3761
- }), ve(), W());
3762
- }, ge = () => {
3804
+ }), xe(), be());
3805
+ }, ve = () => {
3763
3806
  e.state.update(ka, (e) => {
3764
3807
  let t = e.intents.filter((e) => e.pageUrl !== O());
3765
3808
  return t.length === e.intents.length ? e : { intents: t };
3766
- }), ve(), W();
3767
- }, _e = (e) => {
3809
+ }), xe(), be();
3810
+ }, ye = (e) => {
3768
3811
  let t = E();
3769
3812
  if (!t.snapping) return [];
3770
3813
  let n = [], a = new Set(e), s = i.snapshot(), l = s.xrayVisible && t.preferXrayEdges && t.elementEdges, u = 0, d = (i) => {
@@ -3836,38 +3879,38 @@ var wa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3836
3879
  kind: "guide"
3837
3880
  });
3838
3881
  return n;
3839
- }, W = (e) => {
3882
+ }, be = (e) => {
3840
3883
  if (!T()) {
3841
- f.style.display = "none", fe();
3884
+ f.style.display = "none", me();
3842
3885
  return;
3843
3886
  }
3844
- let t = e === void 0 ? de() : e;
3887
+ let t = e === void 0 ? pe() : e;
3845
3888
  if (!t) {
3846
- f.style.display = "none", fe();
3889
+ f.style.display = "none", me();
3847
3890
  return;
3848
3891
  }
3849
- f.style.display = "block", f.style.left = `${t.left}px`, f.style.top = `${t.top}px`, f.style.width = `${t.width}px`, f.style.height = `${t.height}px`, v ? fe() : me();
3850
- }, ve = () => {
3892
+ f.style.display = "block", f.style.left = `${t.left}px`, f.style.top = `${t.top}px`, f.style.width = `${t.width}px`, f.style.height = `${t.height}px`, v ? me() : ge();
3893
+ }, xe = () => {
3851
3894
  _ = {
3852
3895
  intentId: null,
3853
3896
  state: "desired"
3854
- }, U(), R(), T() ? B() : V();
3855
- }, ye = () => {
3897
+ }, ce(), z(), T() ? V() : H();
3898
+ }, Se = () => {
3856
3899
  _ = {
3857
3900
  intentId: null,
3858
3901
  state: "live"
3859
- }, L(), R(), V();
3860
- }, be = () => {
3861
- x || v || (U(), R(), T() ? B() : V(), W());
3862
- }, xe = () => {
3902
+ }, R(), z(), H();
3903
+ }, Ce = () => {
3904
+ x || v || (ce(), z(), T() ? V() : H(), be());
3905
+ }, we = () => {
3863
3906
  S || x || (S = r.requestAnimationFrame(() => {
3864
- S = 0, be();
3907
+ S = 0, Ce();
3865
3908
  }));
3866
- }, Se = async () => {
3909
+ }, Te = async () => {
3867
3910
  s.querySelector("[data-mesurer-builtin='select'] button")?.getAttribute("aria-pressed") !== "true" && await e.command.execute(Na, void 0, { source: "arrange" });
3868
- }, Ce = (e) => {
3911
+ }, Ee = (e) => {
3869
3912
  if (!T() || e.button !== 0) return;
3870
- let r = ce();
3913
+ let r = ue();
3871
3914
  if (!r.length) return;
3872
3915
  let a = e.shiftKey ? Ri(t.rendererRoot ?? null, () => Ri(l, () => Ii({
3873
3916
  x: e.clientX,
@@ -3880,62 +3923,81 @@ var wa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3880
3923
  e.preventDefault(), e.stopPropagation(), _ = {
3881
3924
  intentId: null,
3882
3925
  state: "desired"
3883
- }, U();
3884
- let s = re(k());
3885
- I();
3886
- let u = r.map((e, t) => {
3887
- let n = Oi(e), r = s.get(e) ?? {
3888
- x: 0,
3889
- y: 0
3890
- }, i = Xa(n, r), a = Bi(e);
3926
+ }, ce();
3927
+ let s = ie(k()), u = W(k()), d = new Set(r);
3928
+ L();
3929
+ let p = r.map((e, t) => {
3930
+ let n = Oi(e), r = re(e, u), i = u.get(e) ?? r, a = s.get(e), o = (a ? U(a) : null) ?? {
3931
+ x: i.x - r.x,
3932
+ y: i.y - r.y
3933
+ }, c = Xa(n, i), l = Bi(e);
3891
3934
  return {
3892
3935
  element: e,
3936
+ movesDirectly: ae(e, d) === null,
3893
3937
  target: {
3894
3938
  id: `target-${t + 1}`,
3895
3939
  selector: zi(e),
3896
- fingerprintTag: a.tag,
3897
- fingerprintId: a.id,
3898
- fingerprintTestId: a.testId,
3899
- fingerprintRole: a.role,
3900
- fingerprintAriaLabel: a.ariaLabel,
3901
- fingerprintClasses: [...a.classes],
3902
- fingerprintText: a.text,
3903
- beforeLeft: i.left,
3904
- beforeTop: i.top,
3905
- beforeWidth: i.width,
3906
- beforeHeight: i.height,
3907
- desiredLeft: i.left,
3908
- desiredTop: i.top,
3909
- desiredWidth: i.width,
3910
- desiredHeight: i.height,
3911
- beforeOffsetX: r.x,
3912
- beforeOffsetY: r.y,
3913
- desiredOffsetX: r.x,
3914
- desiredOffsetY: r.y
3940
+ fingerprintTag: l.tag,
3941
+ fingerprintId: l.id,
3942
+ fingerprintTestId: l.testId,
3943
+ fingerprintRole: l.role,
3944
+ fingerprintAriaLabel: l.ariaLabel,
3945
+ fingerprintClasses: [...l.classes],
3946
+ fingerprintText: l.text,
3947
+ beforeLeft: c.left,
3948
+ beforeTop: c.top,
3949
+ beforeWidth: c.width,
3950
+ beforeHeight: c.height,
3951
+ desiredLeft: c.left,
3952
+ desiredTop: c.top,
3953
+ desiredWidth: c.width,
3954
+ desiredHeight: c.height,
3955
+ beforeOffsetX: i.x,
3956
+ beforeOffsetY: i.y,
3957
+ desiredOffsetX: i.x,
3958
+ desiredOffsetY: i.y,
3959
+ offsetSpace: "local",
3960
+ beforeLocalOffsetX: o.x,
3961
+ beforeLocalOffsetY: o.y,
3962
+ desiredLocalOffsetX: o.x,
3963
+ desiredLocalOffsetY: o.y
3915
3964
  }
3916
3965
  };
3917
- }), d = Qa(u.map(({ target: e }) => ({
3966
+ }), m = Qa(p.map(({ target: e }) => ({
3918
3967
  left: e.beforeLeft,
3919
3968
  top: e.beforeTop,
3920
3969
  width: e.beforeWidth,
3921
3970
  height: e.beforeHeight
3922
3971
  })));
3923
- if (!d) {
3924
- U();
3972
+ if (!m) {
3973
+ ce();
3925
3974
  return;
3926
3975
  }
3927
- U(), B(), R(), v = {
3976
+ ce(), V(), z(), v = {
3928
3977
  pointerId: e.pointerId,
3929
3978
  originX: e.clientX,
3930
3979
  originY: e.clientY,
3931
- targets: u,
3932
- groupBefore: d,
3933
- snapCandidates: _e(r),
3980
+ targets: p,
3981
+ groupBefore: m,
3982
+ snapCandidates: ye(r),
3934
3983
  shiftToggleElement: e.shiftKey && a instanceof c.HTMLElement && r.includes(a) ? a : null,
3935
3984
  dx: 0,
3936
3985
  dy: 0
3937
- }, W(d), f.style.cursor = "grabbing", f.setPointerCapture?.(e.pointerId);
3938
- }, we = (e) => {
3986
+ }, be(m), f.style.cursor = "grabbing", f.setPointerCapture?.(e.pointerId);
3987
+ }, De = (e, t, n) => {
3988
+ let r = /* @__PURE__ */ new Map();
3989
+ for (let i of e.targets) {
3990
+ let e = {
3991
+ x: i.target.beforeLocalOffsetX ?? 0,
3992
+ y: i.target.beforeLocalOffsetY ?? 0
3993
+ };
3994
+ r.set(i.element, i.movesDirectly ? {
3995
+ x: e.x + t,
3996
+ y: e.y + n
3997
+ } : e);
3998
+ }
3999
+ return r;
4000
+ }, Oe = (e) => {
3939
4001
  if (!v || e.pointerId !== v.pointerId) return;
3940
4002
  let t = e.clientX - v.originX, n = e.clientY - v.originY, r = null;
3941
4003
  e.shiftKey && (Math.abs(t) >= Math.abs(n) ? (n = 0, r = "x") : (t = 0, r = "y"));
@@ -3944,60 +4006,71 @@ var wa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3944
4006
  y: n
3945
4007
  }), a = r === "y" ? null : ro("x", i, v.snapCandidates), o = r === "x" ? null : ro("y", i, v.snapCandidates);
3946
4008
  t += a?.delta ?? 0, n += o?.delta ?? 0, v.dx = t, v.dy = n;
3947
- let s = re(k());
3948
- for (let e of v.targets) s.set(e.element, {
3949
- x: e.target.beforeOffsetX + t,
3950
- y: e.target.beforeOffsetY + n
3951
- });
3952
- oe(s);
4009
+ let s = W(k(), De(v, t, n));
4010
+ se(s);
3953
4011
  let c = Xa(v.groupBefore, {
3954
4012
  x: t,
3955
4013
  y: n
3956
4014
  });
3957
- W(c), z(a, o, c);
3958
- }, Te = () => {
4015
+ be(c), B(a, o, c);
4016
+ }, ke = () => {
3959
4017
  if (!v) return;
3960
4018
  let e = v.pointerId;
3961
- v = null, f.hasPointerCapture?.(e) && f.releasePointerCapture(e), f.style.cursor = "grab", ve(), W();
3962
- }, Ee = (t) => {
4019
+ v = null, f.hasPointerCapture?.(e) && f.releasePointerCapture(e), f.style.cursor = "grab", xe(), be();
4020
+ }, Ae = (t) => {
3963
4021
  if (!v || t.pointerId !== v.pointerId) return;
3964
4022
  t.preventDefault(), t.stopPropagation();
3965
4023
  let n = v;
3966
- if (v = null, f.hasPointerCapture?.(t.pointerId) && f.releasePointerCapture(t.pointerId), f.style.cursor = "grab", R(), n.dx === 0 && n.dy === 0) {
3967
- n.shiftToggleElement && i.toggleSelection(n.shiftToggleElement), ve(), W();
4024
+ if (v = null, f.hasPointerCapture?.(t.pointerId) && f.releasePointerCapture(t.pointerId), f.style.cursor = "grab", z(), n.dx === 0 && n.dy === 0) {
4025
+ n.shiftToggleElement && i.toggleSelection(n.shiftToggleElement), xe(), be();
3968
4026
  return;
3969
4027
  }
4028
+ let a = W(k(), De(n, n.dx, n.dy));
3970
4029
  y = {
3971
4030
  id: ao(r, "arrange"),
3972
4031
  createdAt: Date.now(),
3973
4032
  pageUrl: O(),
3974
- targets: n.targets.map(({ target: e }) => ({
3975
- ...e,
3976
- desiredLeft: e.beforeLeft + n.dx,
3977
- desiredTop: e.beforeTop + n.dy,
3978
- desiredOffsetX: e.beforeOffsetX + n.dx,
3979
- desiredOffsetY: e.beforeOffsetY + n.dy
3980
- }))
4033
+ targets: n.targets.map(({ element: e, movesDirectly: t, target: r }) => {
4034
+ let i = {
4035
+ x: r.beforeLocalOffsetX ?? 0,
4036
+ y: r.beforeLocalOffsetY ?? 0
4037
+ }, o = t ? {
4038
+ x: i.x + n.dx,
4039
+ y: i.y + n.dy
4040
+ } : i, s = a.get(e) ?? {
4041
+ x: r.beforeOffsetX + n.dx,
4042
+ y: r.beforeOffsetY + n.dy
4043
+ };
4044
+ return {
4045
+ ...r,
4046
+ desiredLeft: r.beforeLeft + n.dx,
4047
+ desiredTop: r.beforeTop + n.dy,
4048
+ desiredOffsetX: s.x,
4049
+ desiredOffsetY: s.y,
4050
+ desiredLocalOffsetX: o.x,
4051
+ desiredLocalOffsetY: o.y
4052
+ };
4053
+ })
3981
4054
  }, e.command.execute(Fa).catch(() => {
3982
- y = null, ve(), W();
4055
+ y = null, xe(), be();
3983
4056
  });
3984
- }, De = (e) => {
3985
- !v || e.pointerId !== v.pointerId || Te();
3986
- }, Oe = (t) => {
4057
+ }, je = (e) => {
4058
+ !v || e.pointerId !== v.pointerId || ke();
4059
+ }, Me = (t) => {
3987
4060
  if (t.key !== "Escape" || !T() && !v || ho(t.target) || s.querySelector("[data-mesurer-tool-menu]")) return;
3988
4061
  if (t.preventDefault(), t.stopImmediatePropagation(), v) {
3989
- Te();
4062
+ ke();
3990
4063
  return;
3991
4064
  }
3992
4065
  let n = i.currentSelection();
3993
4066
  if (n.elements.length > 0 || n.region) {
3994
- i.clearSelection(), W();
4067
+ i.clearSelection(), be();
3995
4068
  return;
3996
4069
  }
3997
- e.state.update(Aa, () => !1), ye(), W(), e.command.execute(Na, void 0, { source: "arrange-escape" }).catch(() => void 0);
4070
+ e.state.update(Aa, () => !1), Se(), be(), e.command.execute(Na, void 0, { source: "arrange-escape" }).catch(() => void 0);
3998
4071
  };
3999
- f.addEventListener("pointerdown", Ce), f.addEventListener("pointermove", we), f.addEventListener("pointerup", Ee), f.addEventListener("pointercancel", De), r.addEventListener("keydown", Oe, !0), r.addEventListener("resize", xe), r.addEventListener("scroll", xe, !0), o.addEventListener("scroll", xe, !0), C = new c.MutationObserver(() => {
4000
- ue(), xe();
4072
+ f.addEventListener("pointerdown", Ee), f.addEventListener("pointermove", Oe), f.addEventListener("pointerup", Ae), f.addEventListener("pointercancel", je), r.addEventListener("keydown", Me, !0), r.addEventListener("resize", we), r.addEventListener("scroll", we, !0), o.addEventListener("scroll", we, !0), C = new c.MutationObserver(() => {
4073
+ fe(), we();
4001
4074
  }), C.observe(o, {
4002
4075
  childList: !0,
4003
4076
  subtree: !0,
@@ -4010,9 +4083,9 @@ var wa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
4010
4083
  "aria-label"
4011
4084
  ]
4012
4085
  });
4013
- let ke = i.subscribe(() => {
4014
- ue(), xe();
4015
- }), Ae = e.state.subscribe(xe), je = (e) => w().intents.find((t) => t.id === e) ?? null, Me = (e, t) => {
4086
+ let Ne = i.subscribe(() => {
4087
+ fe(), we();
4088
+ }), Pe = e.state.subscribe(we), Fe = (e) => w().intents.find((t) => t.id === e) ?? null, Ie = (e, t) => {
4016
4089
  let n = null;
4017
4090
  if (n = t === "before" ? Qa(e.targets.map((e) => ({
4018
4091
  left: e.beforeLeft,
@@ -4024,7 +4097,7 @@ var wa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
4024
4097
  top: e.desiredTop,
4025
4098
  width: e.desiredWidth,
4026
4099
  height: e.desiredHeight
4027
- }))) : se(() => Qa(e.targets.map((e) => N(e)).filter((e) => e !== null).map((e) => Oi(e)))), !n) throw Error(`Arrange intent has no resolvable capture region: ${e.id}`);
4100
+ }))) : le(() => Qa(e.targets.map((e) => N(e)).filter((e) => e !== null).map((e) => Oi(e)))), !n) throw Error(`Arrange intent has no resolvable capture region: ${e.id}`);
4028
4101
  let i = Math.max(0, n.left - Va), a = Math.max(0, n.top - Va), o = Math.min(r.innerWidth, n.left + n.width + Va), s = Math.min(r.innerHeight, n.top + n.height + Va);
4029
4102
  return {
4030
4103
  left: i,
@@ -4032,28 +4105,28 @@ var wa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
4032
4105
  width: Math.max(0, o - i),
4033
4106
  height: Math.max(0, s - a)
4034
4107
  };
4035
- }, Ne = {
4108
+ }, Le = {
4036
4109
  active: T,
4037
4110
  intents: () => w().intents.map(co),
4038
4111
  intent(e) {
4039
- let t = je(e);
4112
+ let t = Fe(e);
4040
4113
  return t ? co(t) : null;
4041
4114
  },
4042
4115
  show(e, t) {
4043
- if (!je(e)) throw Error(`Arrange intent not found: ${e}`);
4116
+ if (!Fe(e)) throw Error(`Arrange intent not found: ${e}`);
4044
4117
  _ = {
4045
4118
  intentId: e,
4046
4119
  state: t
4047
- }, be();
4120
+ }, Ce();
4048
4121
  },
4049
4122
  showCurrent() {
4050
4123
  _ = {
4051
4124
  intentId: null,
4052
4125
  state: "desired"
4053
- }, be();
4126
+ }, Ce();
4054
4127
  },
4055
4128
  capturePlan(e, t) {
4056
- let n = je(e);
4129
+ let n = Fe(e);
4057
4130
  if (!n) throw Error(`Arrange intent not found: ${e}`);
4058
4131
  return {
4059
4132
  schema: "mesurer.arrange-capture/v1",
@@ -4066,14 +4139,14 @@ var wa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
4066
4139
  }, {
4067
4140
  id: "focus",
4068
4141
  kind: "clip",
4069
- rect: Me(n, t)
4142
+ rect: Ie(n, t)
4070
4143
  }]
4071
4144
  };
4072
4145
  },
4073
4146
  review: (e, t = Ba) => {
4074
- let n = je(e);
4147
+ let n = Fe(e);
4075
4148
  if (!n) throw Error(`Arrange intent not found: ${e}`);
4076
- let r = se(() => n.targets.map((e) => {
4149
+ let r = le(() => n.targets.map((e) => {
4077
4150
  let n = N(e), r = {
4078
4151
  left: e.desiredLeft,
4079
4152
  top: e.desiredTop,
@@ -4240,24 +4313,24 @@ var wa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
4240
4313
  ]
4241
4314
  }), e.command.register(Pa, async () => {
4242
4315
  let t = !T();
4243
- if (t && await Se(), e.state.update("mesurer.arrange.active", () => t), !t) {
4244
- v && Te(), ye(), W();
4316
+ if (t && await Te(), e.state.update("mesurer.arrange.active", () => t), !t) {
4317
+ v && ke(), Se(), be();
4245
4318
  return;
4246
4319
  }
4247
- ve(), W();
4320
+ xe(), be();
4248
4321
  }), e.command.register(Fa, () => {
4249
4322
  let t = y;
4250
- y = null, t && (e.state.update("mesurer.arrange.intents", (e) => ({ intents: [...e.intents, t].slice(-100) })), ve(), W());
4323
+ y = null, t && (e.state.update("mesurer.arrange.intents", (e) => ({ intents: [...e.intents, t].slice(-100) })), xe(), be());
4251
4324
  }), e.command.register(La, () => {
4252
- let e = b ?? ce();
4253
- b = null, he(e);
4254
- }), e.command.register(Ra, ge), e.command.register(Ia, () => {
4325
+ let e = b ?? ue();
4326
+ b = null, _e(e);
4327
+ }), e.command.register(Ra, ve), e.command.register(Ia, () => {
4255
4328
  e.state.update(ka, () => ({ intents: [] })), _ = {
4256
4329
  intentId: null,
4257
4330
  state: "desired"
4258
- }, L(), R(), T() ? B() : V(), W();
4259
- }), e.service.provide(Oa, Ne), U(), W(), e.lifecycle.onDispose(() => {
4260
- x = !0, S && r.cancelAnimationFrame(S), C?.disconnect(), C = null, f.removeEventListener("pointerdown", Ce), f.removeEventListener("pointermove", we), f.removeEventListener("pointerup", Ee), f.removeEventListener("pointercancel", De), r.removeEventListener("keydown", Oe, !0), r.removeEventListener("resize", xe), r.removeEventListener("scroll", xe, !0), o.removeEventListener("scroll", xe, !0), ke(), Ae.dispose(), L(), fe(), R(), V(), i.dispose(), a.dispose();
4331
+ }, R(), z(), T() ? V() : H(), be();
4332
+ }), e.service.provide(Oa, Le), ce(), be(), e.lifecycle.onDispose(() => {
4333
+ x = !0, S && r.cancelAnimationFrame(S), C?.disconnect(), C = null, f.removeEventListener("pointerdown", Ee), f.removeEventListener("pointermove", Oe), f.removeEventListener("pointerup", Ae), f.removeEventListener("pointercancel", je), r.removeEventListener("keydown", Me, !0), r.removeEventListener("resize", we), r.removeEventListener("scroll", we, !0), o.removeEventListener("scroll", we, !0), Ne(), Pe.dispose(), R(), me(), z(), H(), i.dispose(), a.dispose();
4261
4334
  });
4262
4335
  }
4263
4336
  }), _o = (e, t, n) => {
@@ -4553,129 +4626,129 @@ var zo = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), Bo = 0, Vo = (e)
4553
4626
  } : Go(e, t, n, r, i);
4554
4627
  };
4555
4628
  function qo(e) {
4556
- 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-${++Bo}`, O = null, k = e.initialTriggerFallback === "current-and-next", A = null, j = null, M = null, N, P, ee = null, te = null, ne = null, F = null, I = null, L = null, R = /* @__PURE__ */ new Map(), z = () => N?.ownerDocument.defaultView ?? window, B = () => e.coordinateSpace === "viewport", V = (e) => e ? "native-anchor" : B() ? "cached-delta" : "document", re = (e) => {
4557
- if (B()) return e;
4558
- let t = z();
4629
+ 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-${++Bo}`, O = null, k = e.initialTriggerFallback === "current-and-next", A = null, j = null, M = null, N, P, ee = null, F = null, te = null, I = null, L = null, R = null, z = /* @__PURE__ */ new Map(), B = () => N?.ownerDocument.defaultView ?? window, V = () => e.coordinateSpace === "viewport", H = (e) => e ? "native-anchor" : V() ? "cached-delta" : "document", ne = (e) => {
4630
+ if (V()) return e;
4631
+ let t = B();
4559
4632
  return {
4560
4633
  left: e.left + t.scrollX,
4561
4634
  top: e.top + t.scrollY
4562
4635
  };
4563
- }, ie = () => {
4636
+ }, re = () => {
4564
4637
  let t = e.runtime.currentSelection();
4565
4638
  return {
4566
4639
  elements: [...t.elements],
4567
4640
  region: t.region ? { ...t.region } : null
4568
4641
  };
4569
- }, ae = (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, H = () => {
4642
+ }, 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 = () => {
4570
4643
  A = null, v(""), g(!1), b(null), m(null);
4571
- }, oe = () => {
4572
- let e = z();
4644
+ }, ae = () => {
4645
+ let e = B();
4573
4646
  return !!(e.CSS?.supports("anchor-name: --mesurer-annotation-trigger") && e.CSS.supports("position-anchor: --mesurer-annotation-trigger") && e.CSS.supports("left: anchor(left)"));
4574
- }, U = () => {
4647
+ }, W = () => {
4575
4648
  let t = e.runtime.currentSelection().elements;
4576
4649
  if (!t.length) return null;
4577
4650
  let n = e.runtime.hoveredElement();
4578
4651
  return t.find((e) => e === n) ?? t.find((e) => n && e.contains(n)) ?? t[0];
4579
- }, se = () => N?.parentElement, ce = () => {
4580
- let e = se();
4581
- return e ? [...e.querySelectorAll("[data-mesurer-annotation-trigger='true'], [data-mesurer-annotation-composer='true']")].filter((e) => e !== P || te === null) : [];
4582
- }, le = (e) => {
4583
- let t = se();
4652
+ }, oe = () => N?.parentElement, se = () => {
4653
+ let e = oe();
4654
+ return e ? [...e.querySelectorAll("[data-mesurer-annotation-trigger='true'], [data-mesurer-annotation-composer='true']")].filter((e) => e !== P || F === null) : [];
4655
+ }, ce = (e) => {
4656
+ let t = oe();
4584
4657
  return t ? [...t.querySelectorAll("[data-mesurer-annotation-id]")].filter((t) => t.dataset.mesurerAnnotationId === e) : [];
4585
- }, ue = (e) => {
4586
- let t = R.get(e);
4587
- t && (t.scroll.release(), t.releaseAnchor?.(), R.delete(e));
4588
- }, de = (t) => {
4658
+ }, le = (e) => {
4659
+ let t = z.get(e);
4660
+ t && (t.scroll.release(), t.releaseAnchor?.(), z.delete(e));
4661
+ }, ue = (t) => {
4589
4662
  let n = e.runtime.annotation(t);
4590
4663
  return !n || n.anchor.kind !== "elements" ? null : n.resolvedTargets.find(({ element: e }) => e?.isConnected)?.element ?? null;
4591
- }, fe = (e) => !!(Ho(e) && B() && N && oe() && e.getRootNode() === N.getRootNode()), pe = (e) => {
4592
- let t = de(e), n = R.get(e);
4664
+ }, de = (e) => !!(Ho(e) && V() && N && ae() && e.getRootNode() === N.getRootNode()), fe = (e) => {
4665
+ let t = ue(e), n = z.get(e);
4593
4666
  if (!t) {
4594
- n && (ue(e), i((e) => e + 1));
4667
+ n && (le(e), i((e) => e + 1));
4595
4668
  return;
4596
4669
  }
4597
- let r = fe(t);
4670
+ let r = de(t);
4598
4671
  if (n?.target === t && !!n.anchorName === r) {
4599
4672
  n.scroll.sync();
4600
4673
  return;
4601
4674
  }
4602
- ue(e);
4675
+ le(e);
4603
4676
  let a = t.ownerDocument.defaultView;
4604
4677
  if (a) {
4605
4678
  if (r && Ho(t)) {
4606
4679
  let n = `--mesurer-annotation-${++Bo}`;
4607
- R.set(e, {
4680
+ z.set(e, {
4608
4681
  target: t,
4609
4682
  anchorName: n,
4610
4683
  releaseAnchor: Uo(t, n),
4611
- scroll: ri(a, t, () => le(e), { trackWindow: !1 })
4684
+ scroll: ri(a, t, () => ce(e), { trackWindow: !1 })
4612
4685
  });
4613
- } else R.set(e, {
4686
+ } else z.set(e, {
4614
4687
  target: t,
4615
4688
  anchorName: null,
4616
4689
  releaseAnchor: null,
4617
- scroll: ri(a, t, () => le(e), { trackWindow: B() })
4690
+ scroll: ri(a, t, () => ce(e), { trackWindow: V() })
4618
4691
  });
4619
4692
  i((e) => e + 1);
4620
4693
  }
4621
- }, me = () => {
4694
+ }, pe = () => {
4622
4695
  let t = new Set(e.runtime.annotations().map((e) => e.id));
4623
- for (let e of R.keys()) t.has(e) || ue(e);
4624
- for (let e of t) pe(e);
4625
- }, he = (e) => {
4626
- z().queueMicrotask(() => pe(e));
4627
- }, ge = () => {
4628
- z().queueMicrotask(() => {
4629
- me();
4630
- for (let e of R.values()) e.anchorName || e.scroll.rebase();
4696
+ for (let e of z.keys()) t.has(e) || le(e);
4697
+ for (let e of t) fe(e);
4698
+ }, me = (e) => {
4699
+ B().queueMicrotask(() => fe(e));
4700
+ }, he = () => {
4701
+ B().queueMicrotask(() => {
4702
+ pe();
4703
+ for (let e of z.values()) e.anchorName || e.scroll.rebase();
4631
4704
  });
4632
4705
  };
4633
- e.initialTriggerFallback && (O = U());
4634
- let _e = () => {
4635
- F?.release(), F = null, ne?.(), ne = null, ee = null, te = null;
4636
- }, W = (e) => !!(Ho(e) && B() && N && e !== O && oe() && e.getRootNode() === N.getRootNode()), ve = () => {
4637
- let e = U();
4706
+ e.initialTriggerFallback && (O = W());
4707
+ let ge = () => {
4708
+ I?.release(), I = null, te?.(), te = null, ee = null, F = null;
4709
+ }, _e = (e) => !!(Ho(e) && V() && N && e !== O && ae() && e.getRootNode() === N.getRootNode()), ve = () => {
4710
+ let e = W();
4638
4711
  O && e !== O && (O = null);
4639
- let t = ee, n = !!(e?.isConnected && W(e)), r = te === e;
4712
+ let t = ee, n = !!(e?.isConnected && _e(e)), r = F === e;
4640
4713
  if (e === ee && e?.isConnected && n === r) {
4641
- F?.sync();
4714
+ I?.sync();
4642
4715
  return;
4643
4716
  }
4644
4717
  let i = e === t ? D : `--mesurer-annotation-trigger-${++Bo}`;
4645
- if (_e(), !e?.isConnected) return;
4718
+ if (ge(), !e?.isConnected) return;
4646
4719
  ee = e;
4647
4720
  let a = e.ownerDocument.defaultView;
4648
4721
  if (a) {
4649
4722
  if (n && Ho(e)) {
4650
- ne = Uo(e, i), te = e, D = i, F = ri(a, e, ce, { trackWindow: !1 });
4723
+ te = Uo(e, i), F = e, D = i, I = ri(a, e, se, { trackWindow: !1 });
4651
4724
  return;
4652
4725
  }
4653
- D = i, F = ri(a, e, ce, { trackWindow: B() });
4726
+ D = i, I = ri(a, e, se, { trackWindow: V() });
4654
4727
  }
4655
4728
  }, ye = (e) => {
4656
- if (I?.disconnect(), I = null, !e?.isConnected) return;
4729
+ if (L?.disconnect(), L = null, !e?.isConnected) return;
4657
4730
  let t = e.ownerDocument.defaultView;
4658
- t && (I = new t.ResizeObserver(() => {
4731
+ t && (L = new t.ResizeObserver(() => {
4659
4732
  i((e) => e + 1);
4660
- }), I.observe(e));
4733
+ }), L.observe(e));
4661
4734
  }, be = () => {
4662
- let e = z();
4663
- L !== e && (L?.removeEventListener("resize", xe), L = e, L.addEventListener("resize", xe, { passive: !0 }));
4735
+ let e = B();
4736
+ R !== e && (R?.removeEventListener("resize", xe), R = e, R.addEventListener("resize", xe, { passive: !0 }));
4664
4737
  };
4665
4738
  function xe() {
4666
4739
  i((e) => e + 1);
4667
4740
  }
4668
- let Se = U();
4741
+ let Se = W();
4669
4742
  ye(Se);
4670
4743
  let Ce = e.runtime.subscribe(() => {
4671
4744
  let t = e.runtime.selectGestureActive();
4672
- h() && t ? (k = !0, H()) : h() && A !== null && !ae(A, ie()) && (O = U(), k = !1, H());
4673
- let r = U(), i = r !== Se;
4674
- i && (Se = r, ye(Se), k && (k = !1, O = r)), ve(), i && xe(), n((e) => e + 1), ge();
4745
+ h() && t ? (k = !0, U()) : h() && A !== null && !ie(A, re()) && (O = W(), k = !1, U());
4746
+ let r = W(), i = r !== Se;
4747
+ i && (Se = r, ye(Se), k && (k = !1, O = r)), ve(), i && xe(), n((e) => e + 1), he();
4675
4748
  });
4676
- ve(), z().queueMicrotask(me), St(() => {
4677
- I?.disconnect(), I = null, L?.removeEventListener("resize", xe), L = null, _e();
4678
- for (let e of R.keys()) ue(e);
4749
+ ve(), B().queueMicrotask(pe), St(() => {
4750
+ L?.disconnect(), L = null, R?.removeEventListener("resize", xe), R = null, ge();
4751
+ for (let e of z.keys()) le(e);
4679
4752
  Ce();
4680
4753
  });
4681
4754
  let we = Gt(() => (t(), e.runtime.currentSelection())), Te = Gt(() => (t(), e.runtime.annotations())), Ee = Gt(() => {
@@ -4704,7 +4777,7 @@ function qo(e) {
4704
4777
  }), Ae = () => we().elements.length > 0 || we().region !== null, je = () => {
4705
4778
  t();
4706
4779
  let e = A;
4707
- return e !== null && ae(e, ie());
4780
+ return e !== null && ie(e, re());
4708
4781
  }, Me = Gt(() => {
4709
4782
  let e = we(), t = e.elements.filter((e) => e.isConnected).map((e) => {
4710
4783
  let t = e.getBoundingClientRect();
@@ -4733,7 +4806,7 @@ function qo(e) {
4733
4806
  top: t.top,
4734
4807
  width: t.width,
4735
4808
  height: t.height
4736
- }, r = z(), i = [...ut(Re).values()].map((e) => ({
4809
+ }, r = B(), i = [...ut(Re).values()].map((e) => ({
4737
4810
  left: e.left,
4738
4811
  top: e.top,
4739
4812
  width: 24,
@@ -4747,7 +4820,7 @@ function qo(e) {
4747
4820
  }, {
4748
4821
  obstacles: i,
4749
4822
  maxShiftRings: 1
4750
- }), o = a?.left ?? zo(n.left + n.width + 6, 4, r.innerWidth - 24 - 4), s = a?.top ?? zo(n.top, 4, r.innerHeight - 24 - 4), c = te === e, l = B() && !c;
4823
+ }), o = a?.left ?? zo(n.left + n.width + 6, 4, r.innerWidth - 24 - 4), s = a?.top ?? zo(n.top, 4, r.innerHeight - 24 - 4), c = F === e, l = V() && !c;
4751
4824
  return {
4752
4825
  left: c || l ? o : o + r.scrollX,
4753
4826
  top: c || l ? s : s + r.scrollY,
@@ -4758,7 +4831,7 @@ function qo(e) {
4758
4831
  };
4759
4832
  }, Re = Gt(() => {
4760
4833
  t(), r();
4761
- let n = z(), i = Te().flatMap((t) => {
4834
+ let n = B(), i = Te().flatMap((t) => {
4762
4835
  let n = e.runtime.annotationRect(t.id);
4763
4836
  return n ? [{
4764
4837
  id: t.id,
@@ -4771,9 +4844,9 @@ function qo(e) {
4771
4844
  }, { obstacles: Me() }).map((e) => [e.id, e]));
4772
4845
  }), ze = (e) => Re().get(e) ?? null, Be = (e, t) => {
4773
4846
  r();
4774
- let n = R.get(e);
4847
+ let n = z.get(e);
4775
4848
  if (!n?.anchorName || !n.target.isConnected) return {
4776
- ...re(t),
4849
+ ...ne(t),
4777
4850
  nativeAnchor: !1
4778
4851
  };
4779
4852
  let i = n.target.getBoundingClientRect();
@@ -4785,7 +4858,7 @@ function qo(e) {
4785
4858
  anchorY: t.top - i.top
4786
4859
  };
4787
4860
  }, Ve = () => {
4788
- let e = Ne(), t = z(), n = p();
4861
+ let e = Ne(), t = B(), n = p();
4789
4862
  return n && e ? {
4790
4863
  left: e.left + n.left,
4791
4864
  top: e.top + n.top
@@ -4796,8 +4869,8 @@ function qo(e) {
4796
4869
  }, He = () => {
4797
4870
  r();
4798
4871
  let e = Ve(), t = Ie();
4799
- if (!t?.isConnected || te !== t) return {
4800
- ...re(e),
4872
+ if (!t?.isConnected || F !== t) return {
4873
+ ...ne(e),
4801
4874
  nativeAnchor: !1
4802
4875
  };
4803
4876
  let n = t.getBoundingClientRect();
@@ -4809,7 +4882,7 @@ function qo(e) {
4809
4882
  anchorY: e.top - n.top
4810
4883
  };
4811
4884
  }, Ue = (e, t) => {
4812
- let n = z(), r = Re(), i = r.get(e);
4885
+ let n = B(), r = Re(), i = r.get(e);
4813
4886
  if (!i) return Go(t, 272, 176, n);
4814
4887
  let a = n.innerWidth - 272 - 8, o = n.innerHeight - 176 - 8, s = [...r.values()].map((e) => ({
4815
4888
  left: e.left,
@@ -4866,7 +4939,7 @@ function qo(e) {
4866
4939
  top: n.top + r.top
4867
4940
  } : Ue(t, n);
4868
4941
  }, Ge = (t) => {
4869
- z().queueMicrotask(() => {
4942
+ B().queueMicrotask(() => {
4870
4943
  let n = e.runtime.annotationRect(t);
4871
4944
  n && f((e) => {
4872
4945
  if (e[t]) return e;
@@ -4881,13 +4954,13 @@ function qo(e) {
4881
4954
  });
4882
4955
  });
4883
4956
  }, Ke = (e) => Be(e, We(e)), qe = (e) => {
4884
- k = !1, A = null, g(!1), pe(e), Ge(e), o(e), w(null), he(e);
4957
+ k = !1, A = null, g(!1), fe(e), Ge(e), o(e), w(null), me(e);
4885
4958
  }, Je = (t, n) => {
4886
4959
  let r = t.currentTarget.ownerDocument.defaultView?.Element, i = t.target;
4887
4960
  if (t.button !== 0 || r && i instanceof r && i.closest("button")) return;
4888
4961
  let a = t.currentTarget.parentElement;
4889
4962
  if (!a) return;
4890
- let o = a.getBoundingClientRect(), s = z(), c = s.document.documentElement, l = c.style.userSelect;
4963
+ let o = a.getBoundingClientRect(), s = B(), c = s.document.documentElement, l = c.style.userSelect;
4891
4964
  c.style.setProperty("user-select", "none", "important"), j = {
4892
4965
  surfaceId: n,
4893
4966
  pointerId: t.pointerId,
@@ -4942,27 +5015,27 @@ function qo(e) {
4942
5015
  S(!1);
4943
5016
  }
4944
5017
  }
4945
- }, Xe = H, Ze = () => {
5018
+ }, Xe = U, Ze = () => {
4946
5019
  if (!Ae()) return;
4947
- k = !1, A = ie(), v(""), b(null), w(null), o(null);
5020
+ k = !1, A = re(), v(""), b(null), w(null), o(null);
4948
5021
  let e = Ne();
4949
5022
  if (e) {
4950
- let t = Ko(e, 272, 168, z());
5023
+ let t = Ko(e, 272, 168, B());
4951
5024
  m({
4952
5025
  left: t.left - e.left,
4953
5026
  top: t.top - e.top
4954
5027
  });
4955
5028
  } else m(null);
4956
- g(!0), z().queueMicrotask(() => F?.sync());
5029
+ g(!0), B().queueMicrotask(() => I?.sync());
4957
5030
  }, Qe = () => {
4958
5031
  let e = h();
4959
- A !== null && !ae(A, ie()) ? (O = U(), k = !1, ve(), xe()) : e && (k = !1), Xe();
5032
+ A !== null && !ie(A, re()) ? (O = W(), k = !1, ve(), xe()) : e && (k = !1), Xe();
4960
5033
  }, $e = () => {
4961
5034
  h() && (k = !0, Xe());
4962
5035
  }, et = () => {
4963
5036
  try {
4964
5037
  let t = e.runtime.addSelectionAnnotation(_());
4965
- k = !1, A = null, v(""), b(null), g(!1), m(null), pe(t.id), Ge(t.id), o(t.id), w(null), he(t.id);
5038
+ k = !1, A = null, v(""), b(null), g(!1), m(null), fe(t.id), Ge(t.id), o(t.id), w(null), me(t.id);
4966
5039
  } catch (e) {
4967
5040
  b(e instanceof Error ? e.message : String(e));
4968
5041
  }
@@ -5010,10 +5083,10 @@ function qo(e) {
5010
5083
  }
5011
5084
  });
5012
5085
  return nr(() => (e) => {
5013
- P = e, F?.sync();
5086
+ P = e, I?.sync();
5014
5087
  }, t), Z(t, J(xi, { size: 14 })), q(() => ({
5015
- e: B() ? "viewport" : "document",
5016
- t: V(e().nativeAnchor),
5088
+ e: V() ? "viewport" : "document",
5089
+ t: H(e().nativeAnchor),
5017
5090
  a: {
5018
5091
  position: e().nativeAnchor || e().viewportOwned ? "fixed" : "absolute",
5019
5092
  left: e().nativeAnchor ? `calc(anchor(left) + ${e().anchorX}px)` : `${e().left}px`,
@@ -5088,10 +5161,10 @@ function qo(e) {
5088
5161
  return Z(t, e), t;
5089
5162
  })()
5090
5163
  }), 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(() => ({
5091
- e: B() ? "viewport" : "document",
5092
- t: V(e().nativeAnchor),
5164
+ e: V() ? "viewport" : "document",
5165
+ t: H(e().nativeAnchor),
5093
5166
  a: {
5094
- position: e().nativeAnchor || B() ? "fixed" : "absolute",
5167
+ position: e().nativeAnchor || V() ? "fixed" : "absolute",
5095
5168
  left: e().nativeAnchor ? `calc(anchor(left) + ${e().anchorX}px)` : `${e().left}px`,
5096
5169
  top: e().nativeAnchor ? `calc(anchor(top) + ${e().anchorY}px)` : `${e().top}px`,
5097
5170
  translate: "var(--mesurer-nested-scroll-x, 0px) var(--mesurer-nested-scroll-y, 0px)",
@@ -5118,7 +5191,7 @@ function qo(e) {
5118
5191
  left: e.left,
5119
5192
  top: e.top
5120
5193
  }) : {
5121
- ...re({
5194
+ ...ne({
5122
5195
  left: e.left,
5123
5196
  top: e.top
5124
5197
  }),
@@ -5134,9 +5207,9 @@ function qo(e) {
5134
5207
  });
5135
5208
  return q(() => ({
5136
5209
  e: t() ?? void 0,
5137
- t: V(n().nativeAnchor),
5210
+ t: H(n().nativeAnchor),
5138
5211
  a: {
5139
- position: n().nativeAnchor || B() ? "fixed" : "absolute",
5212
+ position: n().nativeAnchor || V() ? "fixed" : "absolute",
5140
5213
  left: n().nativeAnchor ? `calc(anchor(left) + ${n().anchorX}px)` : `${n().left}px`,
5141
5214
  top: n().nativeAnchor ? `calc(anchor(top) + ${n().anchorY}px)` : `${n().top}px`,
5142
5215
  width: `${e.width}px`,
@@ -5171,11 +5244,11 @@ function qo(e) {
5171
5244
  "data-mesurer-layer": "evidence",
5172
5245
  "data-mesurer-annotation-marker": "true",
5173
5246
  onPointerEnter: () => {
5174
- c(e.id), he(e.id);
5247
+ c(e.id), me(e.id);
5175
5248
  },
5176
5249
  onPointerLeave: () => c((t) => t === e.id ? null : t),
5177
5250
  onFocus: () => {
5178
- u(e.id), he(e.id);
5251
+ u(e.id), me(e.id);
5179
5252
  },
5180
5253
  onBlur: () => u((t) => t === e.id ? null : t),
5181
5254
  onPointerDown: (t) => {
@@ -5196,13 +5269,13 @@ function qo(e) {
5196
5269
  t: t() + 1,
5197
5270
  a: i() ? "true" : void 0,
5198
5271
  o: o() ? "true" : void 0,
5199
- i: V(n().nativeAnchor),
5200
- n: B() ? "viewport" : "document",
5272
+ i: H(n().nativeAnchor),
5273
+ n: V() ? "viewport" : "document",
5201
5274
  s: `Mesurer annotation ${t() + 1}: ${e.note}`,
5202
5275
  h: e.note,
5203
5276
  r: a() === e.id ? "true" : "false",
5204
5277
  d: {
5205
- position: n().nativeAnchor || B() ? "fixed" : "absolute",
5278
+ position: n().nativeAnchor || V() ? "fixed" : "absolute",
5206
5279
  left: n().nativeAnchor ? `calc(anchor(left) + ${n().anchorX}px)` : `${n().left}px`,
5207
5280
  top: n().nativeAnchor ? `calc(anchor(top) + ${n().anchorY}px)` : `${n().top}px`,
5208
5281
  opacity: o() ? "0.36" : "1",
@@ -5268,7 +5341,7 @@ function qo(e) {
5268
5341
  e.runtime.removeAnnotation(n), f((e) => {
5269
5342
  let t = { ...e };
5270
5343
  return delete t[n], t;
5271
- }), ue(n), c((e) => e === n ? null : e), u((e) => e === n ? null : e), o(null), w(null);
5344
+ }), le(n), c((e) => e === n ? null : e), u((e) => e === n ? null : e), o(null), w(null);
5272
5345
  }
5273
5346
  }), v = Y("button", {
5274
5347
  type: "button",
@@ -5292,10 +5365,10 @@ function qo(e) {
5292
5365
  })()
5293
5366
  }), null), q(() => ({
5294
5367
  e: t().id,
5295
- t: V(n().nativeAnchor),
5296
- a: B() ? "viewport" : "document",
5368
+ t: H(n().nativeAnchor),
5369
+ a: V() ? "viewport" : "document",
5297
5370
  o: {
5298
- position: n().nativeAnchor || B() ? "fixed" : "absolute",
5371
+ position: n().nativeAnchor || V() ? "fixed" : "absolute",
5299
5372
  left: n().nativeAnchor ? `calc(anchor(left) + ${n().anchorX}px)` : `${n().left}px`,
5300
5373
  top: n().nativeAnchor ? `calc(anchor(top) + ${n().anchorY}px)` : `${n().top}px`,
5301
5374
  translate: "var(--mesurer-nested-scroll-x, 0px) var(--mesurer-nested-scroll-y, 0px)",
@@ -6172,7 +6245,7 @@ var Ss = "mesurer.layout-guides", Cs = "layout-guides:v1", ws = "mesurer.layout-
6172
6245
  } catch {
6173
6246
  D("Could not save screenshot", !0);
6174
6247
  }
6175
- }, te = (e, t, n) => {
6248
+ }, F = (e, t, n) => {
6176
6249
  if (!v) return !1;
6177
6250
  T();
6178
6251
  let r = o.getBoundingClientRect();
@@ -6184,7 +6257,7 @@ var Ss = "mesurer.layout-guides", Cs = "layout-guides:v1", ws = "mesurer.layout-
6184
6257
  top: r.top,
6185
6258
  moved: !1
6186
6259
  }, o.style.cursor = "grabbing", !0;
6187
- }, ne = (e, t) => {
6260
+ }, te = (e, t) => {
6188
6261
  let n = x;
6189
6262
  if (!n) return;
6190
6263
  let r = e - n.startX, i = t - n.startY;
@@ -6192,42 +6265,42 @@ var Ss = "mesurer.layout-guides", Cs = "layout-guides:v1", ws = "mesurer.layout-
6192
6265
  left: n.left + r,
6193
6266
  top: n.top + i
6194
6267
  });
6195
- }, F = () => {
6268
+ }, I = () => {
6196
6269
  let e = x;
6197
6270
  e && (x = null, o.style.cursor = "grab", e.moved || N());
6198
- }, I = () => {
6271
+ }, L = () => {
6199
6272
  x && (x = null, o.style.cursor = "grab");
6200
- }, L = (e) => {
6201
- e.button !== 0 || !te(e.clientX, e.clientY, null) || e.preventDefault();
6202
6273
  }, R = (e) => {
6203
- x?.pointerId === null && ne(e.clientX, e.clientY);
6274
+ e.button !== 0 || !F(e.clientX, e.clientY, null) || e.preventDefault();
6204
6275
  }, z = (e) => {
6205
- e.button === 0 && x?.pointerId === null && F();
6276
+ x?.pointerId === null && te(e.clientX, e.clientY);
6206
6277
  }, B = (e) => {
6207
- e.pointerType !== "mouse" && e.button === 0 && te(e.clientX, e.clientY, e.pointerId) && (o.setPointerCapture?.(e.pointerId), e.preventDefault());
6278
+ e.button === 0 && x?.pointerId === null && I();
6208
6279
  }, V = (e) => {
6280
+ e.pointerType !== "mouse" && e.button === 0 && F(e.clientX, e.clientY, e.pointerId) && (o.setPointerCapture?.(e.pointerId), e.preventDefault());
6281
+ }, H = (e) => {
6282
+ let t = x?.pointerId;
6283
+ t != null && t === e.pointerId && te(e.clientX, e.clientY);
6284
+ }, ne = (e) => {
6209
6285
  let t = x?.pointerId;
6210
- t != null && t === e.pointerId && ne(e.clientX, e.clientY);
6286
+ t != null && t === e.pointerId && (o.hasPointerCapture?.(e.pointerId) && o.releasePointerCapture(e.pointerId), I());
6211
6287
  }, re = (e) => {
6212
6288
  let t = x?.pointerId;
6213
- t != null && t === e.pointerId && (o.hasPointerCapture?.(e.pointerId) && o.releasePointerCapture(e.pointerId), F());
6289
+ t != null && t === e.pointerId && (o.hasPointerCapture?.(e.pointerId) && o.releasePointerCapture(e.pointerId), L());
6214
6290
  }, ie = (e) => {
6215
- let t = x?.pointerId;
6216
- t != null && t === e.pointerId && (o.hasPointerCapture?.(e.pointerId) && o.releasePointerCapture(e.pointerId), I());
6217
- }, ae = (e) => {
6218
6291
  (e.key === "Enter" || e.key === " ") && (e.preventDefault(), N());
6219
- }, H = (e) => {
6292
+ }, U = (e) => {
6220
6293
  e.target !== s && e.preventDefault();
6221
- }, oe = (e) => {
6294
+ }, ae = (e) => {
6222
6295
  e.target === d && O();
6223
- }, U = (e) => {
6296
+ }, W = (e) => {
6224
6297
  e.key === "Escape" && d.style.display !== "none" && (e.preventDefault(), e.stopImmediatePropagation(), O());
6225
6298
  };
6226
6299
  return c.addEventListener("pointerdown", (e) => e.stopPropagation()), c.addEventListener("mousedown", (e) => e.stopPropagation()), c.addEventListener("click", (e) => {
6227
6300
  e.stopPropagation(), A();
6228
- }), o.addEventListener("mousedown", L), o.addEventListener("pointerdown", B), o.addEventListener("keydown", ae), o.addEventListener("contextmenu", H), d.addEventListener("click", oe), m.addEventListener("click", () => {
6301
+ }), o.addEventListener("mousedown", R), o.addEventListener("pointerdown", V), o.addEventListener("keydown", ie), o.addEventListener("contextmenu", U), d.addEventListener("click", ae), m.addEventListener("click", () => {
6229
6302
  P();
6230
- }), h.addEventListener("click", ee), 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", ie, !0), t.addEventListener("keydown", U, !0), {
6303
+ }), h.addEventListener("click", ee), g.addEventListener("click", O), t.addEventListener("mousemove", z, !0), t.addEventListener("mouseup", B, !0), t.addEventListener("pointermove", H, !0), t.addEventListener("pointerup", ne, !0), t.addEventListener("pointercancel", re, !0), t.addEventListener("keydown", W, !0), {
6231
6304
  show(e, n) {
6232
6305
  if (w) return;
6233
6306
  T(), O(), k(), v = e;
@@ -6236,7 +6309,7 @@ var Ss = "mesurer.layout-guides", Cs = "layout-guides:v1", ws = "mesurer.layout-
6236
6309
  },
6237
6310
  dismiss: A,
6238
6311
  dispose() {
6239
- 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", ie, !0), t.removeEventListener("keydown", U, !0), o.removeEventListener("mousedown", L), o.removeEventListener("pointerdown", B), o.removeEventListener("keydown", ae), o.removeEventListener("contextmenu", H), d.removeEventListener("click", oe), a.remove());
6312
+ w || (w = !0, T(), E(), A(), t.removeEventListener("mousemove", z, !0), t.removeEventListener("mouseup", B, !0), t.removeEventListener("pointermove", H, !0), t.removeEventListener("pointerup", ne, !0), t.removeEventListener("pointercancel", re, !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());
6240
6313
  }
6241
6314
  };
6242
6315
  }, sc = "mesurer.screenshot", cc = "screenshot", lc = "mesurer.screenshot.settings", uc = "mesurer.screenshot.active", dc = "runtime:solid", fc = "screenshot.toggle", pc = 2500, mc = 0, hc = [
@@ -6480,9 +6553,9 @@ var Ss = "mesurer.layout-guides", Cs = "layout-guides:v1", ws = "mesurer.layout-
6480
6553
  }, pc);
6481
6554
  }, ee = () => {
6482
6555
  _ = null, A(null), d.style.visibility = "", d.style.display = "none", u.style.pointerEvents = "none", D(!1), k();
6483
- }, te = () => {
6556
+ }, F = () => {
6484
6557
  b += 1, ee(), Hr(i);
6485
- }, ne = async (e) => {
6558
+ }, te = async (e) => {
6486
6559
  if (x) throw Error("A screenshot capture is already running.");
6487
6560
  if (e.width < 4 || e.height < 4) throw Error("Screenshot selection must be at least 4px by 4px.");
6488
6561
  x = !0;
@@ -6524,10 +6597,10 @@ var Ss = "mesurer.layout-guides", Cs = "layout-guides:v1", ws = "mesurer.layout-
6524
6597
  } finally {
6525
6598
  d.style.visibility = "", u(), a.finishCapture(), x = !1;
6526
6599
  }
6527
- }, F = async () => {
6600
+ }, I = async () => {
6528
6601
  if (T().toolEnabled) {
6529
6602
  if (w()) {
6530
- te();
6603
+ F();
6531
6604
  return;
6532
6605
  }
6533
6606
  if (!S) {
@@ -6542,7 +6615,7 @@ var Ss = "mesurer.layout-guides", Cs = "layout-guides:v1", ws = "mesurer.layout-
6542
6615
  }
6543
6616
  }
6544
6617
  }
6545
- }, I = (e) => {
6618
+ }, L = (e) => {
6546
6619
  !w() || e.button !== 0 || (e.preventDefault(), e.stopPropagation(), _ = {
6547
6620
  x: e.clientX,
6548
6621
  y: e.clientY
@@ -6550,7 +6623,7 @@ var Ss = "mesurer.layout-guides", Cs = "layout-guides:v1", ws = "mesurer.layout-
6550
6623
  width: i.innerWidth,
6551
6624
  height: i.innerHeight
6552
6625
  })), d.setPointerCapture?.(e.pointerId));
6553
- }, L = (e) => {
6626
+ }, R = (e) => {
6554
6627
  !w() || !_ || A(vr(_, {
6555
6628
  x: e.clientX,
6556
6629
  y: e.clientY
@@ -6558,7 +6631,7 @@ var Ss = "mesurer.layout-guides", Cs = "layout-guides:v1", ws = "mesurer.layout-
6558
6631
  width: i.innerWidth,
6559
6632
  height: i.innerHeight
6560
6633
  }));
6561
- }, R = (e) => {
6634
+ }, z = (e) => {
6562
6635
  let t = _;
6563
6636
  if (_ = null, !w() || !t) return;
6564
6637
  d.hasPointerCapture?.(e.pointerId) && d.releasePointerCapture(e.pointerId);
@@ -6573,22 +6646,22 @@ var Ss = "mesurer.layout-guides", Cs = "layout-guides:v1", ws = "mesurer.layout-
6573
6646
  A(null);
6574
6647
  return;
6575
6648
  }
6576
- ne(n).catch(() => void 0).finally(() => {
6649
+ te(n).catch(() => void 0).finally(() => {
6577
6650
  w() && ee();
6578
6651
  });
6579
- }, z = (e) => {
6580
- _ = null, d.hasPointerCapture?.(e.pointerId) && d.releasePointerCapture(e.pointerId), A(null);
6581
6652
  }, B = (e) => {
6582
- e.key !== "Escape" || !w() || (e.preventDefault(), e.stopImmediatePropagation(), te());
6653
+ _ = null, d.hasPointerCapture?.(e.pointerId) && d.releasePointerCapture(e.pointerId), A(null);
6654
+ }, V = (e) => {
6655
+ e.key !== "Escape" || !w() || (e.preventDefault(), e.stopImmediatePropagation(), F());
6583
6656
  };
6584
- d.addEventListener("pointerdown", I), d.addEventListener("pointermove", L), d.addEventListener("pointerup", R), d.addEventListener("pointercancel", z), i.addEventListener("keydown", B, !0);
6585
- let V = {
6657
+ d.addEventListener("pointerdown", L), d.addEventListener("pointermove", R), d.addEventListener("pointerup", z), d.addEventListener("pointercancel", B), i.addEventListener("keydown", V, !0);
6658
+ let H = {
6586
6659
  active: w,
6587
6660
  settings: T,
6588
6661
  setSettings: E,
6589
- start: F,
6590
- cancel: te,
6591
- capture: ne
6662
+ start: I,
6663
+ cancel: F,
6664
+ capture: te
6592
6665
  };
6593
6666
  t.tool.register({
6594
6667
  id: "screenshot",
@@ -6634,7 +6707,7 @@ var Ss = "mesurer.layout-guides", Cs = "layout-guides:v1", ws = "mesurer.layout-
6634
6707
  description: "Show the camera tool in the toolbar.",
6635
6708
  value: () => T().toolEnabled,
6636
6709
  set: (e) => {
6637
- E({ toolEnabled: e }), !e && w() && te();
6710
+ E({ toolEnabled: e }), !e && w() && F();
6638
6711
  }
6639
6712
  },
6640
6713
  {
@@ -6662,11 +6735,11 @@ var Ss = "mesurer.layout-guides", Cs = "layout-guides:v1", ws = "mesurer.layout-
6662
6735
  set: (e) => E({ includeMeasurements: e })
6663
6736
  }
6664
6737
  ]
6665
- }), t.command.register(fc, F), t.service.provide(cc, V), t.lifecycle.onDispose(() => {
6666
- 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();
6738
+ }), t.command.register(fc, I), t.service.provide(cc, H), t.lifecycle.onDispose(() => {
6739
+ 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();
6667
6740
  });
6668
6741
  }
6669
- }), Oc = "0.2.0-beta.11", kc = Aa, Ac = Da, jc = Oa, Mc = ja, Nc = ka, Pc = () => ({
6742
+ }), Oc = "0.2.0-beta.13", kc = Aa, Ac = Da, jc = Oa, Mc = ja, Nc = ka, Pc = () => ({
6670
6743
  ...So(),
6671
6744
  version: Oc
6672
6745
  }), Fc = (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, Ic = (e) => {
@@ -7288,34 +7361,34 @@ function Cl(e = {}) {
7288
7361
  };
7289
7362
  }
7290
7363
  //#endregion
7291
- //#region src/codex-plugin.ts
7292
- var wl = "mesurer.codex", Tl = "codex:v1", El = "http://127.0.0.1:47365", Dl = 2e3, Ol = 750, kl = 1800, Al = 2e3, jl = 12e4, Ml = 10, Nl = 5, Pl = [
7364
+ //#region src/plugins/codex/index.ts
7365
+ var wl = "mesurer.codex", Tl = "codex:v1", El = 2e3, Dl = 750, Ol = 1800, kl = 2e3, Al = 12e4, jl = 10, Ml = 5, Nl = [
7293
7366
  "Implement the current human feedback from Mesurer in this project.",
7294
7367
  "Treat the rendered page as the source of truth, preserve unrelated Mesurer review state,",
7295
7368
  "and verify the affected UI in the live page with Mesurer before claiming completion."
7296
- ].join(" "), Fl = {
7369
+ ].join(" "), Pl = {
7297
7370
  viewBox: "0 0 256 256",
7298
7371
  paths: ["M224,48,32,120l88,32,32,88Z M120,152l104-104"]
7299
- }, Il = {
7372
+ }, Fl = {
7300
7373
  viewBox: "0 0 256 256",
7301
7374
  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"]
7302
- }, Ll = {
7375
+ }, Il = {
7303
7376
  viewBox: "0 0 256 256",
7304
7377
  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"]
7305
- }, Rl = (e) => {
7378
+ }, Ll = () => {
7306
7379
  try {
7307
- let t = globalThis.location;
7308
- return t?.origin ? `mesurer-codex-ui:v1:${e}:${t.origin}${t.pathname}` : null;
7380
+ let e = globalThis.location;
7381
+ return e?.origin ? `mesurer-codex-ui:v2:${e.origin}${e.pathname}` : null;
7309
7382
  } catch {
7310
7383
  return null;
7311
7384
  }
7312
- }, zl = (e) => {
7313
- let t = Rl(e);
7314
- if (!t) return null;
7385
+ }, Rl = () => {
7386
+ let e = Ll();
7387
+ if (!e) return null;
7315
7388
  try {
7316
- let e = globalThis.sessionStorage?.getItem(t);
7317
- if (!e) return null;
7318
- let n = JSON.parse(e);
7389
+ let t = globalThis.sessionStorage?.getItem(e);
7390
+ if (!t) return null;
7391
+ let n = JSON.parse(t);
7319
7392
  if (n.version !== 1) return null;
7320
7393
  let r = n.originThread?.trim() || null, i = n.selectedThread?.trim() || null, a = n.delivery;
7321
7394
  return {
@@ -7335,39 +7408,41 @@ var wl = "mesurer.codex", Tl = "codex:v1", El = "http://127.0.0.1:47365", Dl = 2
7335
7408
  } catch {
7336
7409
  return null;
7337
7410
  }
7338
- }, Bl = (e, t) => {
7339
- let n = Rl(e);
7340
- if (n) try {
7341
- globalThis.sessionStorage?.setItem(n, JSON.stringify(t));
7411
+ }, zl = (e) => {
7412
+ let t = Ll();
7413
+ if (t) try {
7414
+ globalThis.sessionStorage?.setItem(t, JSON.stringify(e));
7342
7415
  } catch {}
7343
- }, Vl = (e, t) => {
7344
- let n = e.endsWith("/") ? e : `${e}/`;
7345
- return new URL(t, n).toString();
7346
- }, Hl = async (e, t, n) => {
7347
- let r = new AbortController(), i = setTimeout(() => r.abort(), 15e3);
7348
- try {
7349
- let i = await fetch(Vl(e, t), {
7350
- ...n,
7351
- signal: r.signal
7352
- }), a = await i.text(), o = {};
7353
- if (a) try {
7354
- o = JSON.parse(a);
7355
- } catch {
7356
- o = { error: a };
7357
- }
7358
- if (!i.ok || o.ok === !1) throw Error(o.error || `Mesurer Codex bridge returned HTTP ${i.status}.`);
7359
- return o;
7360
- } catch (t) {
7361
- throw t instanceof Error && t.name === "AbortError" ? Error("Mesurer Codex bridge timed out.") : t instanceof TypeError ? Error(`Mesurer Codex bridge is unavailable at ${e}. Start the local bridge before queueing feedback.`) : t;
7362
- } finally {
7363
- clearTimeout(i);
7364
- }
7365
- }, Ul = (e) => ({
7416
+ }, Bl = async (e) => {
7417
+ let t = window.__MESURER_HOST__?.codexBridge;
7418
+ if (!t) throw Error("Codex Bridge is unavailable in this host.");
7419
+ let n = await t(e);
7420
+ if (n.ok === !1) throw Error(n.error ?? "Codex Bridge request failed.");
7421
+ return n;
7422
+ }, Vl = (e) => {
7423
+ let t = e.runtime;
7424
+ return !t || ![
7425
+ "shared",
7426
+ "standalone",
7427
+ "desktop",
7428
+ "none"
7429
+ ].includes(t.source) || ![
7430
+ "shared-app-server",
7431
+ "desktop-queue",
7432
+ "private-stdio",
7433
+ "none"
7434
+ ].includes(t.transport) || t.reason !== null && t.reason !== "desktop-private-transport" && t.reason !== "runtime-not-found" ? null : {
7435
+ source: t.source,
7436
+ transport: t.transport,
7437
+ available: t.available === !0,
7438
+ reason: t.reason
7439
+ };
7440
+ }, Hl = (e) => ({
7366
7441
  thread: e.thread?.trim() || null,
7367
7442
  threads: Array.isArray(e.threads) ? e.threads.filter((e) => e.trim().length > 0) : []
7368
- }), Wl = (e) => {
7443
+ }), Ul = (e) => {
7369
7444
  let t = e.deliveryId?.trim(), n = e.thread?.trim(), r = e.status;
7370
- if (!t || !n || !r) throw Error("Mesurer Codex bridge returned an invalid delivery state.");
7445
+ if (!t || !n || !r) throw Error("Codex Bridge returned an invalid delivery state.");
7371
7446
  let i = {
7372
7447
  id: t,
7373
7448
  thread: n,
@@ -7377,7 +7452,7 @@ var wl = "mesurer.codex", Tl = "codex:v1", El = "http://127.0.0.1:47365", Dl = 2
7377
7452
  updatedAt: Number.isFinite(e.updatedAt) ? Number(e.updatedAt) : 0
7378
7453
  };
7379
7454
  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;
7380
- }, Gl = (e) => ({
7455
+ }, Wl = (e) => ({
7381
7456
  thread: e.thread?.trim() || null,
7382
7457
  threads: Array.isArray(e.threadDetails) ? e.threadDetails.flatMap((e) => {
7383
7458
  let t = e.id?.trim() ?? "";
@@ -7389,7 +7464,7 @@ var wl = "mesurer.codex", Tl = "codex:v1", El = "http://127.0.0.1:47365", Dl = 2
7389
7464
  }] : [];
7390
7465
  }) : [],
7391
7466
  hasMore: e.hasMore === !0
7392
- }), Kl = async (e, t, n) => {
7467
+ }), Gl = async (e, t, n) => {
7393
7468
  let r = t?.instruction?.trim() || n, i = await e.annotations(), a = t?.annotationIds, o = a ? a.flatMap((e) => {
7394
7469
  let t = i.find((t) => t.id === e);
7395
7470
  return t ? [t] : [];
@@ -7412,76 +7487,87 @@ var wl = "mesurer.codex", Tl = "codex:v1", El = "http://127.0.0.1:47365", Dl = 2
7412
7487
  ])
7413
7488
  ].join("\n").trimEnd()
7414
7489
  };
7415
- }, ql = (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, Yl = (e, t) => e instanceof Error && e.message === `Mesurer Codex bridge is unavailable at ${t}. Start the local bridge before queueing feedback.`;
7416
- function Xl(e = {}) {
7417
- let t = e.endpoint ?? El, n = e.instruction?.trim() || Pl, r = e.ui ?? !0, i = e.clearCompletedAnnotations ?? !0;
7490
+ }, Kl = (e) => e.length > 16 ? `${e.slice(0, 8)}…${e.slice(-4)}` : e, ql = (e, t = 42) => e.length > t ? `${e.slice(0, t - 1)}…` : e, Jl = (e) => e instanceof Error && e.message === "Codex Bridge is unavailable in this host.";
7491
+ function Yl(e = {}) {
7492
+ let t = e.instruction?.trim() || Nl, n = e.ui ?? !0, r = e.clearCompletedAnnotations ?? !0;
7418
7493
  return {
7419
7494
  id: wl,
7420
7495
  version: Oc,
7421
7496
  requires: [pl],
7422
7497
  provides: [Tl],
7423
7498
  setup(e) {
7424
- let a = e.service.get(pl);
7425
- if (!a) throw Error("Mesurer Codex plugin requires context() from mesurer-solid/plugins.");
7426
- let o = r ? zl(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 = Nl, _, v = "", y = null, b = o?.delivery ? {
7427
- id: o.delivery.id,
7428
- thread: o.delivery.thread,
7429
- status: o.delivery.status,
7430
- annotationIds: o.delivery.annotationIds,
7431
- queuedSubmissionId: o.delivery.queuedSubmissionId ?? null,
7432
- dispatch: o.delivery.dispatch ?? null,
7433
- dispatchError: o.delivery.dispatchError ?? null
7434
- } : null, x = 0, S = 0, C = null, w = !1, T = async () => Ul(await Hl(t, "health")), E = async (e) => Wl(await Hl(t, `deliveries/${encodeURIComponent(e)}`)), D = async (e) => {
7499
+ let i = e.service.get(pl);
7500
+ if (!i) throw Error("Mesurer Codex plugin requires context() from mesurer-solid/plugins.");
7501
+ let a = n ? Rl() : null, o = "unknown", s = null, c = !1, l = a?.originThread ?? null, u = a?.selectedThread ?? a?.originThread ?? null, d = !1, f = null, p = [], m = [], h = !1, g = Ml, _, v = "", y = null, b = a?.delivery ? {
7502
+ id: a.delivery.id,
7503
+ thread: a.delivery.thread,
7504
+ status: a.delivery.status,
7505
+ annotationIds: a.delivery.annotationIds,
7506
+ queuedSubmissionId: a.delivery.queuedSubmissionId ?? null,
7507
+ dispatch: a.delivery.dispatch ?? null,
7508
+ dispatchError: a.delivery.dispatchError ?? null
7509
+ } : null, x = 0, S = 0, C = null, w = !1, T = async () => {
7510
+ let e = Vl(await Bl({ action: "runtime" }));
7511
+ if (!e) throw Error("Codex Bridge returned an invalid runtime state.");
7512
+ return s = e, e;
7513
+ }, E = async () => {
7514
+ let e = await Bl({
7515
+ action: "health",
7516
+ thread: u ?? l ?? void 0
7517
+ });
7518
+ return s = Vl(e) ?? s, Hl(e);
7519
+ }, D = E, O = async (e) => Ul(await Bl({
7520
+ action: "delivery",
7521
+ deliveryId: e
7522
+ })), k = async (e) => {
7435
7523
  if (!e.id || !e.thread) throw Error("Cannot restore a Codex delivery without its id and thread.");
7436
- let n = {
7524
+ let t = {
7525
+ action: "restore",
7437
7526
  deliveryId: e.id,
7438
7527
  thread: e.thread
7439
7528
  };
7440
- return e.queuedSubmissionId && (n.queuedSubmissionId = e.queuedSubmissionId), Wl(await Hl(t, "deliveries/restore", {
7441
- method: "POST",
7442
- headers: { "Content-Type": "application/json" },
7443
- body: JSON.stringify(n)
7444
- }));
7445
- }, O = async (e = {}) => {
7446
- let n = new URLSearchParams();
7447
- n.set("limit", String(e.limit ?? Ml));
7448
- let r = e.thread?.trim();
7449
- return r && n.set("thread", r), Gl(await Hl(t, `threads?${n.toString()}`));
7450
- }, k = () => u ?? l ?? (d ? null : f), A = () => {
7451
- if (!r) return;
7529
+ return e.queuedSubmissionId && (t.queuedSubmissionId = e.queuedSubmissionId), Ul(await Bl(t));
7530
+ }, A = async (e = {}) => {
7531
+ let t = {
7532
+ action: "threads",
7533
+ limit: e.limit ?? jl
7534
+ }, n = e.thread?.trim();
7535
+ return n && (t.thread = n), Wl(await Bl(t));
7536
+ }, j = () => u ?? l ?? (d ? null : f), M = () => {
7537
+ if (!n) return;
7452
7538
  let e = b?.id && (b.status === "queued" || b.status === "working" || b.status === "interrupted") ? {
7453
7539
  id: b.id,
7454
- thread: b.thread ?? k() ?? "",
7540
+ thread: b.thread ?? j() ?? "",
7455
7541
  status: b.status,
7456
7542
  annotationIds: [...b.annotationIds],
7457
7543
  queuedSubmissionId: b.queuedSubmissionId,
7458
7544
  dispatch: b.dispatch,
7459
7545
  dispatchError: b.dispatchError
7460
7546
  } : null;
7461
- Bl(t, {
7547
+ zl({
7462
7548
  version: 1,
7463
7549
  originThread: l,
7464
7550
  selectedThread: u,
7465
7551
  delivery: e?.thread ? e : null
7466
7552
  });
7467
- }, j = (e, t = !1) => {
7553
+ }, N = (e, t = !1) => {
7468
7554
  let n = e.trim();
7469
- n && ((t || !l) && (l = n), u = n, d = !1, A());
7470
- }, M = () => b !== null && [
7555
+ n && ((t || !l) && (l = n), u = n, d = !1, M());
7556
+ }, P = () => b !== null && [
7471
7557
  "queueing",
7472
7558
  "queued",
7473
7559
  "working",
7474
7560
  "completed"
7475
- ].includes(b.status), N = () => b?.status === "queued" && (b.dispatch === "desktop-send-uncertain" || b.dispatch === "desktop-wait-failed"), P = (e) => e === "queueing" ? "Queueing…" : e === "queued" ? "Queued" : e === "working" ? "Working…" : e === "completed" ? "Done" : e === "interrupted" ? "Interrupted" : "Failed", ee = () => b ? b.status === "queueing" ? "Queueing to Codex…" : N() ? "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, te = () => b ? [
7561
+ ].includes(b.status), ee = (e) => e === "queueing" ? "Queueing…" : e === "queued" ? "Queued" : e === "working" ? "Working…" : e === "completed" ? "Done" : e === "interrupted" ? "Interrupted" : "Failed", F = () => b ? b.status === "queueing" ? "Queueing to Codex…" : b.status === "queued" ? b.dispatch === "desktop-wake-failed" ? "Queued — open Codex" : "Queued for Codex" : b.status === "working" ? "Codex working…" : b.status === "completed" ? "Codex finished" : b.status === "interrupted" ? "Codex interrupted" : "Queue failed" : null, te = () => b ? [
7476
7562
  "queueing",
7477
7563
  "queued",
7478
7564
  "working"
7479
- ].includes(b.status) ? Il : b.status === "completed" ? Ll : Fl : Fl, ne = () => {
7565
+ ].includes(b.status) ? Fl : b.status === "completed" ? Il : Pl : Pl, I = () => {
7480
7566
  let e = [], t = /* @__PURE__ */ new Set(), n = (n) => {
7481
7567
  t.has(n.id) || (t.add(n.id), e.push(n));
7482
7568
  }, r = (e) => ({
7483
7569
  id: e,
7484
- title: `Codex ${ql(e)}`,
7570
+ title: `Codex ${Kl(e)}`,
7485
7571
  updatedAt: null,
7486
7572
  connected: !0
7487
7573
  });
@@ -7491,96 +7577,94 @@ function Xl(e = {}) {
7491
7577
  for (let e of m) n(e);
7492
7578
  for (let e of p) n(m.find((t) => t.id === e) ?? r(e));
7493
7579
  return e;
7494
- }, F = (e = !1) => Promise.resolve(), I = () => {
7495
- if (s !== "available") return [{
7496
- id: "codex.thread.connect",
7497
- label: s === "unavailable" ? "Retry Codex connection" : "Choose Codex thread…",
7498
- run: () => F(!0)
7499
- }];
7500
- let e = ne(), t = e.slice(0, g), n = k(), r = t.map((e) => {
7501
- let t = e.id === l ? "Current · " : e.connected ? "Connected · " : "", r = b?.thread === e.id ? ` · ${N() ? "Blocked" : P(b.status)}` : "";
7580
+ }, L = (e = !1) => Promise.resolve(), R = () => {
7581
+ if (o !== "available") {
7582
+ let e = s?.source === "desktop" && s.reason === "desktop-private-transport";
7583
+ return [{
7584
+ id: "codex.thread.connect",
7585
+ label: o === "unavailable" ? e ? "Retry Codex Desktop" : "Retry Codex connection" : "Choose Codex thread…",
7586
+ run: () => L(!0)
7587
+ }];
7588
+ }
7589
+ let e = I(), t = e.slice(0, g), n = j(), r = t.map((e) => {
7590
+ let t = e.id === l ? "Current · " : e.connected ? "Loaded · " : "", r = b?.thread === e.id ? ` · ${ee(b.status)}` : "";
7502
7591
  return {
7503
7592
  id: `codex.thread.${e.id}`,
7504
- label: `${t}${Jl(e.title)}${r}`,
7593
+ label: `${t}${ql(e.title)}${r}`,
7505
7594
  checked: () => n === e.id,
7506
- disabled: () => M(),
7595
+ disabled: () => P(),
7507
7596
  run() {
7508
- M() || (j(e.id, !l), L());
7597
+ P() || (N(e.id, !l), z());
7509
7598
  }
7510
7599
  };
7511
7600
  });
7512
- return g < Ml && (e.length > g || h) && r.push({
7601
+ return g < jl && (e.length > g || h) && r.push({
7513
7602
  id: "codex.thread.show-more",
7514
7603
  label: "Show 5 more…",
7515
7604
  run() {
7516
- g = Ml, L();
7605
+ g = jl, z();
7517
7606
  }
7518
7607
  }), r;
7519
- }, L = () => {
7520
- if (!r || w) return;
7521
- let t = k(), n = I(), i = !M() && !d && s !== "unavailable" && (s === "unknown" || !!t), a = ee() ?? (s === "unavailable" ? "Codex unavailable" : d || s === "available" && !t ? "Choose Codex thread" : "Queue to Codex"), o = JSON.stringify({
7522
- bridgeAvailability: s,
7608
+ }, z = () => {
7609
+ if (!n || w) return;
7610
+ let t = j(), r = R(), i = !P() && !d && o !== "unavailable" && (o === "unknown" || !!t), a = s?.source === "desktop" && s.reason === "desktop-private-transport", c = F() ?? (o === "unavailable" ? a ? "Codex Desktop not connected" : "Codex unavailable" : d || o === "available" && !t ? "Choose Codex thread" : "Queue to Codex"), l = JSON.stringify({
7611
+ bridgeAvailability: o,
7612
+ codexRuntime: s,
7523
7613
  routeNeedsSelection: d,
7524
7614
  target: t,
7525
- label: a,
7615
+ label: c,
7526
7616
  visibleThreadCount: g,
7527
7617
  activeDelivery: b,
7528
- items: n.map((e) => ({
7618
+ items: r.map((e) => ({
7529
7619
  id: e.id,
7530
7620
  label: e.label,
7531
7621
  checked: e.checked?.() ?? null,
7532
7622
  disabled: e.disabled?.() ?? !1
7533
7623
  }))
7534
7624
  });
7535
- o !== v && (v = o, _?.dispose(), _ = e.tool.register({
7625
+ l !== v && (v = l, _?.dispose(), _ = e.tool.register({
7536
7626
  id: "codex.send",
7537
- label: a,
7627
+ label: c,
7538
7628
  command: "codex.queue",
7539
7629
  order: 73,
7540
7630
  icon: te(),
7541
7631
  disabled: () => !i,
7542
- menu: n.length ? {
7632
+ menu: r.length ? {
7543
7633
  label: "Codex destination",
7544
- items: n
7634
+ items: r
7545
7635
  } : void 0
7546
7636
  }));
7547
- }, R = async () => {
7548
- if (s !== "available") return;
7549
- let e = l && p.includes(l) ? l : f;
7550
- try {
7551
- let t = await O({
7552
- limit: Ml,
7553
- thread: e ?? void 0
7554
- });
7555
- m = t.threads, h = t.hasMore;
7556
- } catch {
7557
- m = p.map((e) => ({
7558
- id: e,
7559
- title: `Codex ${ql(e)}`,
7560
- updatedAt: null,
7561
- connected: !0
7562
- })), h = !1;
7563
- }
7637
+ }, B = async (e) => {
7638
+ if (o !== "available") return;
7639
+ let t = await A({
7640
+ limit: jl,
7641
+ thread: e ?? void 0
7642
+ });
7643
+ m = t.threads, h = t.hasMore, p = t.threads.filter((e) => e.connected).map((e) => e.id), f = t.thread;
7564
7644
  };
7565
- F = (e = !1) => w || s === "unknown" && !e ? Promise.resolve() : y || (y = (async () => {
7645
+ L = (e = !1) => w || o === "unknown" && !e ? Promise.resolve() : y || (y = (async () => {
7566
7646
  try {
7567
- let e = await T(), t = e.thread !== f;
7568
- s = "available", c = !0, f = e.thread, p = e.threads;
7569
- let n = u ?? l;
7570
- 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());
7647
+ let e = await D();
7648
+ o = "available", c = !0, f = e.thread, await B(u ?? l ?? e.thread);
7649
+ let t = u ?? l;
7650
+ t && p.includes(t) ? d = !1 : p.length === 1 ? N(p[0], !0) : d = !0, !d && t && M();
7571
7651
  } catch (e) {
7572
- throw s = "unavailable", e;
7652
+ throw o = "unavailable", s = await T().catch(() => s), e;
7573
7653
  } finally {
7574
- y = null, L();
7654
+ y = null, z();
7575
7655
  }
7576
7656
  })(), y);
7577
- let z = () => {
7657
+ let V = () => {
7578
7658
  x &&= (globalThis.clearTimeout(x), 0), S &&= (globalThis.clearTimeout(S), 0);
7579
- }, B = () => {
7659
+ }, H = () => {
7660
+ S && globalThis.clearTimeout(S), S = globalThis.setTimeout(() => {
7661
+ S = 0, b?.status === "completed" && (b = null, M(), z());
7662
+ }, Ol);
7663
+ }, ne = () => {
7580
7664
  S && globalThis.clearTimeout(S), S = globalThis.setTimeout(() => {
7581
- S = 0, b?.status === "completed" && (b = null, A(), L());
7582
- }, kl);
7583
- }, V = async (e) => {
7665
+ S = 0, !(b?.status !== "queued" || b.dispatch !== "desktop-opened" && b.dispatch !== "desktop-wake-failed") && (b = null, M(), z());
7666
+ }, Ol);
7667
+ }, re = async (e) => {
7584
7668
  if (!(!b || b.id !== e.id)) {
7585
7669
  if (b = {
7586
7670
  ...b,
@@ -7589,104 +7673,106 @@ function Xl(e = {}) {
7589
7673
  queuedSubmissionId: e.queuedSubmissionId ?? b.queuedSubmissionId,
7590
7674
  dispatch: e.dispatch ?? b.dispatch,
7591
7675
  dispatchError: e.dispatchError ?? b.dispatchError
7592
- }, A(), e.status === "completed") {
7593
- if (i) for (let e of b.annotationIds) await a.removeAnnotation(e);
7594
- A(), L(), B();
7676
+ }, M(), e.status === "queued" && (e.dispatch === "desktop-opened" || e.dispatch === "desktop-wake-failed")) {
7677
+ z(), ne();
7678
+ return;
7679
+ }
7680
+ if (e.status === "completed") {
7681
+ if (r) for (let e of b.annotationIds) await i.removeAnnotation(e);
7682
+ M(), z(), H();
7595
7683
  return;
7596
7684
  }
7597
7685
  if (e.status === "interrupted") {
7598
- A(), L();
7686
+ M(), z();
7599
7687
  let t = e.updatedAt > 0 ? e.updatedAt : Date.now();
7600
- Date.now() - t < jl && (x = globalThis.setTimeout(() => {
7601
- x = 0, re(e.id);
7602
- }, Al));
7688
+ Date.now() - t < Al && (x = globalThis.setTimeout(() => {
7689
+ x = 0, ie(e.id);
7690
+ }, kl));
7603
7691
  return;
7604
7692
  }
7605
- L(), x = globalThis.setTimeout(() => {
7606
- x = 0, re(e.id);
7607
- }, Ol);
7693
+ z(), x = globalThis.setTimeout(() => {
7694
+ x = 0, ie(e.id);
7695
+ }, Dl);
7608
7696
  }
7609
- }, re = async (e) => {
7697
+ }, ie = async (e) => {
7610
7698
  if (!(w || b?.id !== e)) try {
7611
- await V(await E(e));
7612
- } catch (n) {
7699
+ await re(await O(e));
7700
+ } catch (t) {
7613
7701
  if (b?.id !== e) return;
7614
- let r = n;
7702
+ let n = t;
7615
7703
  if (b.status === "queued" && b.thread) try {
7616
- s !== "available" && await F(!0);
7617
- let e = await D(b);
7618
- await V(e);
7704
+ o !== "available" && await L(!0);
7705
+ let e = await k(b);
7706
+ await re(e);
7619
7707
  return;
7620
7708
  } catch (e) {
7621
- r = e;
7709
+ n = e;
7622
7710
  }
7623
7711
  if (b?.id !== e) return;
7624
7712
  if (b.status === "interrupted") {
7625
- L();
7713
+ z();
7626
7714
  return;
7627
7715
  }
7628
7716
  b = {
7629
7717
  ...b,
7630
7718
  status: "failed"
7631
- }, A(), Yl(r, t) && (s = "unavailable"), L();
7719
+ }, M(), Jl(n) && (o = "unavailable"), z();
7632
7720
  }
7633
- }, ie = {
7634
- health: T,
7635
- listThreads: O,
7636
- delivery: E,
7721
+ }, U = {
7722
+ health: E,
7723
+ listThreads: A,
7724
+ delivery: O,
7637
7725
  async useThread(e) {
7638
- let n = e.trim();
7639
- if (!n) throw Error("Codex thread must be a non-empty string.");
7640
- let r = Ul(await Hl(t, "target", {
7641
- method: "POST",
7642
- headers: { "Content-Type": "application/json" },
7643
- body: JSON.stringify({ thread: n })
7644
- }));
7645
- return j(n, !l), f = r.thread, p = r.threads, s = "available", c = !0, L(), r;
7726
+ let t = e.trim();
7727
+ if (!t) throw Error("Codex thread must be a non-empty string.");
7728
+ let n = await Bl({
7729
+ action: "target",
7730
+ thread: t
7731
+ }), r = Hl(n);
7732
+ return s = Vl(n) ?? s, N(t, !l), f = r.thread, p = r.threads, o = "available", c = !0, z(), r;
7646
7733
  },
7647
7734
  async queue(e) {
7648
- let i = await Kl(a, e, n), o = e?.thread?.trim(), c = o || (r ? k() : null);
7649
- if (r && !o && (d || !c)) throw Error("Choose a Codex thread before queueing feedback.");
7650
- let l = { message: i.message };
7651
- c && (l.thread = c);
7735
+ let r = await Gl(i, e, t), a = e?.thread?.trim(), s = a || (n ? j() : null);
7736
+ if (n && !a && (d || !s)) throw Error("Choose a Codex thread before queueing feedback.");
7737
+ let c = { message: r.message };
7738
+ s && (c.thread = s);
7652
7739
  try {
7653
- let e = await Hl(t, "send", {
7654
- method: "POST",
7655
- headers: { "Content-Type": "application/json" },
7656
- body: JSON.stringify(l)
7657
- }), n = e.thread?.trim();
7658
- if (!n) throw Error("Mesurer Codex bridge did not report the destination thread.");
7659
- let r = {
7660
- thread: n,
7740
+ let e = await Bl({
7741
+ action: "queue",
7742
+ ...c
7743
+ }), t = e.thread?.trim();
7744
+ if (!t) throw Error("Codex Bridge did not report the destination thread.");
7745
+ let n = {
7746
+ thread: t,
7661
7747
  output: e.output ?? "",
7662
7748
  delivery: "queued",
7663
7749
  deliveryId: e.deliveryId?.trim() || null,
7664
7750
  status: e.status ?? "queued",
7665
- annotationIds: i.annotationIds
7751
+ annotationIds: r.annotationIds
7666
7752
  };
7667
- 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;
7753
+ return e.queuedSubmissionId !== void 0 && (n.queuedSubmissionId = e.queuedSubmissionId?.trim() || null), e.dispatch !== void 0 && (n.dispatch = e.dispatch), e.dispatchError !== void 0 && (n.dispatchError = e.dispatchError?.trim() || null), n;
7668
7754
  } catch (e) {
7669
- throw r && Yl(e, t) && (s = "unavailable", L()), e;
7755
+ throw n && Jl(e) && (o = "unavailable", z()), e;
7670
7756
  }
7671
7757
  },
7672
7758
  send(e) {
7673
- return ie.queue(e);
7759
+ return U.queue(e);
7674
7760
  }
7675
7761
  };
7676
- e.service.provide(Tl, ie);
7762
+ e.service.provide(Tl, U);
7677
7763
  let ae = async () => {
7678
- if (!(C || M())) return z(), b = {
7764
+ if (!(C || P())) return V(), b = {
7679
7765
  id: null,
7680
- thread: k(),
7766
+ thread: j(),
7681
7767
  status: "queueing",
7682
7768
  annotationIds: [],
7683
7769
  queuedSubmissionId: null,
7684
7770
  dispatch: null,
7685
7771
  dispatchError: null
7686
- }, L(), C = (async () => {
7772
+ }, z(), C = (async () => {
7687
7773
  try {
7688
- r && s !== "available" && await F(!0);
7689
- let e = await ie.queue();
7774
+ n && o !== "available" && await L(!0);
7775
+ let e = await U.queue();
7690
7776
  b = {
7691
7777
  id: e.deliveryId,
7692
7778
  thread: e.thread,
@@ -7695,7 +7781,7 @@ function Xl(e = {}) {
7695
7781
  queuedSubmissionId: e.queuedSubmissionId ?? null,
7696
7782
  dispatch: e.dispatch ?? null,
7697
7783
  dispatchError: e.dispatchError ?? null
7698
- }, 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({
7784
+ }, N(e.thread, !l), M(), z(), console.info(`[Mesurer] Queued feedback for Codex thread ${e.thread}.`), e.deliveryId ? e.status === "completed" || e.status === "interrupted" ? await re({
7699
7785
  id: e.deliveryId,
7700
7786
  thread: e.thread,
7701
7787
  status: e.status,
@@ -7703,12 +7789,12 @@ function Xl(e = {}) {
7703
7789
  createdAt: 0,
7704
7790
  updatedAt: 0
7705
7791
  }) : x = globalThis.setTimeout(() => {
7706
- x = 0, re(e.deliveryId);
7707
- }, Ol) : S = globalThis.setTimeout(() => {
7708
- S = 0, b?.id === null && b?.status === "queued" && (b = null, A(), L());
7709
- }, kl);
7792
+ x = 0, ie(e.deliveryId);
7793
+ }, Dl) : S = globalThis.setTimeout(() => {
7794
+ S = 0, b?.id === null && b?.status === "queued" && (b = null, M(), z());
7795
+ }, Ol);
7710
7796
  } catch (e) {
7711
- b = null, A(), L();
7797
+ b = null, M(), z();
7712
7798
  let t = e instanceof Error ? e.message : String(e);
7713
7799
  throw console.error(`[Mesurer] Failed to queue feedback for Codex: ${t}`), e;
7714
7800
  } finally {
@@ -7716,15 +7802,15 @@ function Xl(e = {}) {
7716
7802
  }
7717
7803
  })(), C;
7718
7804
  };
7719
- if (e.command.register("codex.queue", ae), e.command.register("codex.send", ae), r) {
7720
- L(), b?.id && (c = !0, x = globalThis.setTimeout(() => {
7721
- x = 0, b?.id && re(b.id);
7805
+ if (e.command.register("codex.queue", ae), e.command.register("codex.send", ae), n) {
7806
+ z(), window.__MESURER_HOST__?.codexBridge && L(!0).catch(() => void 0), b?.id && (c = !0, x = globalThis.setTimeout(() => {
7807
+ x = 0, b?.id && ie(b.id);
7722
7808
  }, 0));
7723
7809
  let t = globalThis.setInterval(() => {
7724
- c && F().catch(() => void 0);
7725
- }, Dl);
7810
+ c && L().catch(() => void 0);
7811
+ }, El);
7726
7812
  e.lifecycle.onDispose(() => {
7727
- w = !0, z(), globalThis.clearInterval(t), _?.dispose(), _ = void 0;
7813
+ w = !0, V(), globalThis.clearInterval(t), _?.dispose(), _ = void 0;
7728
7814
  });
7729
7815
  }
7730
7816
  }
@@ -7732,12 +7818,12 @@ function Xl(e = {}) {
7732
7818
  }
7733
7819
  //#endregion
7734
7820
  //#region src/screenshot.ts
7735
- var Zl = uc, Ql = sc, $l = cc, eu = lc, tu = 4, nu = Ur, ru = (e, t) => br(e, t), iu = (e = /* @__PURE__ */ new Date()) => xr(e), au = (e, t, n, r) => yr(e, t, n, r), ou = (e, t, n) => vr(e, t, n), su = (e, t) => Br(e, t), cu = (e) => Hr(e), lu = (e = {}) => ({
7821
+ var Xl = uc, Zl = sc, Ql = cc, $l = lc, eu = 4, tu = Ur, nu = (e, t) => br(e, t), ru = (e = /* @__PURE__ */ new Date()) => xr(e), iu = (e, t, n, r) => yr(e, t, n, r), au = (e, t, n) => vr(e, t, n), ou = (e, t) => Br(e, t), su = (e) => Hr(e), cu = (e = {}) => ({
7736
7822
  ...Dc(e),
7737
7823
  version: Oc
7738
- }), uu = (e) => Cr(e), du = (e) => ({
7824
+ }), lu = (e) => Cr(e), uu = (e) => ({
7739
7825
  ...e,
7740
7826
  version: Oc
7741
- }), fu = () => du(wo()), pu = () => du(To()), mu = () => du(Eo()), hu = () => du(Do()), gu = () => du(Oo()), _u = () => du(ko()), vu = () => du(jo()), yu = () => du(Ao()), bu = () => Mo().map(du), xu = (e = [], t = []) => No(e, t).map((e) => e.id.startsWith("mesurer.") ? du(e) : e);
7827
+ }), du = () => uu(wo()), fu = () => uu(To()), pu = () => uu(Eo()), mu = () => uu(Do()), hu = () => uu(Oo()), gu = () => uu(ko()), _u = () => uu(jo()), vu = () => uu(Ao()), yu = () => Mo().map(uu), bu = (e = [], t = []) => No(e, t).map((e) => e.id.startsWith("mesurer.") ? uu(e) : e);
7742
7828
  //#endregion
7743
- export { kc as MESURER_ARRANGE_ACTIVE_STATE_ID, Ac as MESURER_ARRANGE_PLUGIN_ID, jc as MESURER_ARRANGE_SERVICE_ID, Mc as MESURER_ARRANGE_SETTINGS_STATE_ID, Nc as MESURER_ARRANGE_STATE_ID, wl as MESURER_CODEX_PLUGIN_ID, Tl as MESURER_CODEX_SERVICE_ID, fl as MESURER_CONTEXT_PLUGIN_ID, pl as MESURER_CONTEXT_SERVICE_ID, ml as MESURER_CONTEXT_SETTINGS_STATE_ID, ul as MESURER_LAYOUT_GUIDES_ACTIVE_STATE_ID, sl as MESURER_LAYOUT_GUIDES_PLUGIN_ID, cl as MESURER_LAYOUT_GUIDES_SERVICE_ID, ll as MESURER_LAYOUT_GUIDES_STATE_ID, Zl as MESURER_SCREENSHOT_ACTIVE_STATE_ID, Ql as MESURER_SCREENSHOT_PLUGIN_ID, $l as MESURER_SCREENSHOT_SERVICE_ID, eu as MESURER_SCREENSHOT_SETTINGS_STATE_ID, tu as MIN_SCREENSHOT_SELECTION, Pc as arrange, nu as captureVisibleTabPng, Xl as codex, mu as colorPicker, xu as compose, Cl as context, ru as copyPngToClipboard, iu as createScreenshotFilename, au as cropPngToViewportRect, bu as defaults, vu as distance, _u as guides, dl as layoutGuides, ou as normalizeScreenshotRect, su as prepareScreenshotCapture, cu as releaseScreenshotCapture, hu as rulers, lu as screenshot, fu as select, yu as settings, gu as typography, uu as waitForNextPaint, pu as xray };
7829
+ export { kc as MESURER_ARRANGE_ACTIVE_STATE_ID, Ac as MESURER_ARRANGE_PLUGIN_ID, jc as MESURER_ARRANGE_SERVICE_ID, Mc as MESURER_ARRANGE_SETTINGS_STATE_ID, Nc as MESURER_ARRANGE_STATE_ID, wl as MESURER_CODEX_PLUGIN_ID, Tl as MESURER_CODEX_SERVICE_ID, fl as MESURER_CONTEXT_PLUGIN_ID, pl as MESURER_CONTEXT_SERVICE_ID, ml as MESURER_CONTEXT_SETTINGS_STATE_ID, ul as MESURER_LAYOUT_GUIDES_ACTIVE_STATE_ID, sl as MESURER_LAYOUT_GUIDES_PLUGIN_ID, cl as MESURER_LAYOUT_GUIDES_SERVICE_ID, ll as MESURER_LAYOUT_GUIDES_STATE_ID, Xl as MESURER_SCREENSHOT_ACTIVE_STATE_ID, Zl as MESURER_SCREENSHOT_PLUGIN_ID, Ql as MESURER_SCREENSHOT_SERVICE_ID, $l as MESURER_SCREENSHOT_SETTINGS_STATE_ID, eu as MIN_SCREENSHOT_SELECTION, Pc as arrange, tu as captureVisibleTabPng, Yl as codex, pu as colorPicker, bu as compose, Cl as context, nu as copyPngToClipboard, ru as createScreenshotFilename, iu as cropPngToViewportRect, yu as defaults, _u as distance, gu as guides, dl as layoutGuides, au as normalizeScreenshotRect, ou as prepareScreenshotCapture, su as releaseScreenshotCapture, mu as rulers, cu as screenshot, du as select, vu as settings, hu as typography, lu as waitForNextPaint, fu as xray };