mesurer-solid 0.1.9 → 0.2.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/plugins.js CHANGED
@@ -2103,40 +2103,202 @@ var ar = (e) => e, or = (e, t = 0, n = 1) => Math.min(n, Math.max(t, e)), sr = (
2103
2103
  e.blue
2104
2104
  ].map((e) => ur(e).toString(16).padStart(2, "0")).join("");
2105
2105
  return e.alpha >= .999 ? `#${t}` : `#${t}${Math.round(e.alpha * 255).toString(16).padStart(2, "0")}`;
2106
- }, fr = () => globalThis.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random()}`, pr = /* @__PURE__ */ new WeakMap(), mr = (e) => (pr.get(e) ?? 0) > 0, hr = /* @__PURE__ */ new WeakMap(), gr = (e) => {
2106
+ }, fr = "mesurer:capture-bridge-ping", pr = "mesurer:capture-bridge-request", mr = "mesurer:capture-bridge-response", hr = (e) => e.__MESURER_HOST__?.captureScreenshot, gr = (e) => {
2107
+ if (e instanceof Blob) return e;
2108
+ if (e instanceof Uint8Array) {
2109
+ let t = new Uint8Array(e.byteLength);
2110
+ return t.set(e), new Blob([t.buffer], { type: "image/png" });
2111
+ }
2112
+ if (e instanceof ArrayBuffer) return new Blob([e.slice(0)], { type: "image/png" });
2113
+ if (e == null) throw Error("Host screenshot capture returned no PNG data.");
2114
+ if (!e.png) throw Error("Host screenshot capture returned unsupported PNG data.");
2115
+ return gr(e.png);
2116
+ }, _r = async (e) => {
2117
+ let t = hr(e);
2118
+ return t ? gr(await t()) : null;
2119
+ }, vr = (e, t, n) => {
2120
+ let r = Math.max(0, Math.min(e.x, t.x, n.width)), i = Math.max(0, Math.min(e.y, t.y, n.height)), a = Math.max(0, Math.min(Math.max(e.x, t.x), n.width)), o = Math.max(0, Math.min(Math.max(e.y, t.y), n.height));
2121
+ return {
2122
+ left: r,
2123
+ top: i,
2124
+ width: Math.max(0, a - r),
2125
+ height: Math.max(0, o - i)
2126
+ };
2127
+ }, yr = async (e, t, n, r) => {
2128
+ let i = await createImageBitmap(e);
2129
+ try {
2130
+ let e = i.width / n.width, a = i.height / n.height, o = Math.max(0, Math.round(t.left * e)), s = Math.max(0, Math.round(t.top * a)), c = Math.max(1, Math.min(i.width - o, Math.round(t.width * e))), l = Math.max(1, Math.min(i.height - s, Math.round(t.height * a))), u = r.createElement("canvas");
2131
+ u.width = c, u.height = l;
2132
+ let d = u.getContext("2d");
2133
+ if (!d) throw Error("Could not crop screenshot");
2134
+ return d.drawImage(i, o, s, c, l, 0, 0, c, l), await new Promise((e, t) => {
2135
+ u.toBlob((n) => {
2136
+ n ? e(n) : t(/* @__PURE__ */ Error("Could not crop screenshot"));
2137
+ }, "image/png");
2138
+ });
2139
+ } finally {
2140
+ i.close();
2141
+ }
2142
+ }, br = async (e, t) => {
2143
+ let n = t.navigator.clipboard, r = globalThis.ClipboardItem;
2144
+ if (!n?.write || !r) throw Error("PNG clipboard copy is not available");
2145
+ await n.write([new r({ "image/png": e })]);
2146
+ }, xr = (e = /* @__PURE__ */ new Date()) => {
2147
+ let t = (e) => String(e).padStart(2, "0");
2148
+ return `mesurer-${e.getFullYear()}-${t(e.getMonth() + 1)}-${t(e.getDate())}-${t(e.getHours())}${t(e.getMinutes())}${t(e.getSeconds())}.png`;
2149
+ }, Sr = (e, t, n, r) => {
2150
+ let i = globalThis.URL.createObjectURL(e), a = n.createElement("a");
2151
+ a.href = i, a.download = t, a.rel = "noopener", n.documentElement.append(a), a.click(), a.remove(), r.setTimeout(() => globalThis.URL.revokeObjectURL(i), 1e3);
2152
+ }, Cr = (e) => new Promise((t) => {
2153
+ e.requestAnimationFrame(() => {
2154
+ e.requestAnimationFrame(() => t());
2155
+ });
2156
+ }), wr = (e) => e.crypto?.randomUUID?.() ?? `mesurer-${Date.now()}-${Math.random().toString(36).slice(2)}`, Tr = (e, t, n = "") => `${e}:${t}:${n}`, Er = (e) => e.location.origin === "null" ? "*" : e.location.origin, Dr = (e, t, n) => {
2157
+ let r = `${t}:${n}:`;
2158
+ return e.startsWith(r) ? e.slice(r.length) : null;
2159
+ }, Or = (e) => new Promise((t) => {
2160
+ let n = wr(e), r = e.location.origin, i = (o) => {
2161
+ o.source === e && o.origin === r && Dr(String(o.data ?? ""), "mesurer:capture-bridge-pong", n) !== null && (e.removeEventListener("message", i), e.clearTimeout(a), t(!0));
2162
+ }, a = e.setTimeout(() => {
2163
+ e.removeEventListener("message", i), t(!1);
2164
+ }, 80);
2165
+ e.addEventListener("message", i), e.postMessage(Tr(fr, n), Er(e));
2166
+ }), kr = (e) => new Promise((t, n) => {
2167
+ let r = wr(e), i = e.location.origin, a = (s) => {
2168
+ if (s.source !== e || s.origin !== i) return;
2169
+ let c = Dr(String(s.data ?? ""), mr, r);
2170
+ if (c === null) return;
2171
+ if (e.removeEventListener("message", a), e.clearTimeout(o), !c.startsWith("ok:")) {
2172
+ t(null);
2173
+ return;
2174
+ }
2175
+ let l = c.slice(3);
2176
+ if (!l) {
2177
+ t(null);
2178
+ return;
2179
+ }
2180
+ e.fetch(l).then((e) => e.blob()).then(t, n);
2181
+ }, o = e.setTimeout(() => {
2182
+ e.removeEventListener("message", a), t(null);
2183
+ }, 4e3);
2184
+ e.addEventListener("message", a), e.postMessage(Tr(pr, r), Er(e));
2185
+ }), Ar = /* @__PURE__ */ new WeakMap(), jr = (e) => {
2186
+ let t = Ar.get(e), n = t?.stream.getVideoTracks()[0];
2187
+ if (!t || !n || n.readyState !== "live") {
2188
+ Ar.delete(e);
2189
+ return;
2190
+ }
2191
+ return t;
2192
+ }, Mr = async (e, t) => {
2193
+ let n = jr(t);
2194
+ if (n) return n;
2195
+ let r = t.navigator.mediaDevices;
2196
+ if (!r?.getDisplayMedia) throw Error("Screenshot capture is unavailable");
2197
+ let i = await r.getDisplayMedia({
2198
+ audio: !1,
2199
+ video: !0,
2200
+ preferCurrentTab: !0,
2201
+ selfBrowserSurface: "include"
2202
+ }), a = i.getVideoTracks()[0];
2203
+ if (!a) throw i.getTracks().forEach((e) => e.stop()), Error("Capture failed");
2204
+ try {
2205
+ let n = e.createElement("video");
2206
+ n.autoplay = !0, n.muted = !0, n.playsInline = !0, n.srcObject = i, await n.play(), (n.videoWidth === 0 || n.videoHeight === 0) && await new Promise((e) => {
2207
+ n.onloadedmetadata = () => e();
2208
+ });
2209
+ let r = {
2210
+ stream: i,
2211
+ video: n
2212
+ };
2213
+ return Ar.set(t, r), a.addEventListener("ended", () => {
2214
+ Ar.get(t) === r && Ar.delete(t);
2215
+ }, { once: !0 }), r;
2216
+ } catch (e) {
2217
+ throw i.getTracks().forEach((e) => e.stop()), e;
2218
+ }
2219
+ }, Nr = (e) => {
2220
+ let t = Ar.get(e);
2221
+ t && (Ar.delete(e), t.video.pause(), t.video.srcObject = null, t.stream.getTracks().forEach((e) => e.stop()));
2222
+ }, Pr = async ({ ownerDocument: e, ownerWindow: t }) => {
2223
+ let { video: n } = await Mr(e, t), r = e.createElement("canvas");
2224
+ r.width = n.videoWidth, r.height = n.videoHeight;
2225
+ let i = r.getContext("2d");
2226
+ if (!i) throw Error("Capture failed");
2227
+ return i.drawImage(n, 0, 0), await new Promise((e, t) => {
2228
+ r.toBlob((n) => {
2229
+ n ? e(n) : t(/* @__PURE__ */ Error("Capture failed"));
2230
+ }, "image/png");
2231
+ });
2232
+ }, Fr = {
2233
+ prepare: async () => void 0,
2234
+ capture: async ({ ownerWindow: e }) => {
2235
+ let t = await _r(e);
2236
+ if (!t) throw Error("Host screenshot capture is unavailable.");
2237
+ return t;
2238
+ },
2239
+ release: () => void 0
2240
+ }, Ir = {
2241
+ prepare: async () => void 0,
2242
+ capture: async ({ ownerWindow: e }) => {
2243
+ let t = await kr(e);
2244
+ if (!t) throw Error("Host screenshot capture failed.");
2245
+ return t;
2246
+ },
2247
+ release: () => void 0
2248
+ }, Lr = {
2249
+ prepare: async ({ ownerDocument: e, ownerWindow: t }) => {
2250
+ await Mr(e, t);
2251
+ },
2252
+ capture: Pr,
2253
+ release: Nr
2254
+ }, Rr = /* @__PURE__ */ new WeakMap(), zr = async (e) => {
2255
+ let t = Rr.get(e.ownerWindow);
2256
+ if (t) return t;
2257
+ let n = Lr;
2258
+ return hr(e.ownerWindow) ? n = Fr : await Or(e.ownerWindow) && (n = Ir), Rr.set(e.ownerWindow, n), n;
2259
+ }, Br = async (e, t) => {
2260
+ let n = {
2261
+ ownerDocument: e,
2262
+ ownerWindow: t
2263
+ };
2264
+ await (await zr(n)).prepare(n);
2265
+ }, Vr = async (e) => (await zr(e)).capture(e), Hr = (e) => {
2266
+ let t = Rr.get(e);
2267
+ Rr.delete(e), t?.release(e);
2268
+ }, Ur = Vr, Wr = () => globalThis.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random()}`, Gr = /* @__PURE__ */ new WeakMap(), Kr = (e) => (Gr.get(e) ?? 0) > 0, qr = /* @__PURE__ */ new WeakMap(), Jr = (e) => {
2107
2269
  let t = e.location.pathname.replace(/\/+$/, "") || "/", n = new URLSearchParams(e.location.search);
2108
2270
  n.sort();
2109
2271
  let r = n.toString(), i = e.location.hash, a = i.startsWith("#/") ? i : "";
2110
2272
  return `${t}${r ? `?${r}` : ""}${a}`;
2111
- }, _r = (e, t) => {
2112
- let n = gr(e);
2273
+ }, Yr = (e, t) => {
2274
+ let n = Jr(e);
2113
2275
  for (let e of t.listeners) e(n);
2114
- }, vr = (e) => {
2115
- let t = hr.get(e);
2276
+ }, Xr = (e) => {
2277
+ let t = qr.get(e);
2116
2278
  if (t) return t;
2117
2279
  let n = e.history, r = n.pushState, i = n.replaceState, a = {
2118
2280
  listeners: /* @__PURE__ */ new Set(),
2119
2281
  pushState: r,
2120
2282
  replaceState: i,
2121
- handleNativeChange: () => _r(e, a)
2283
+ handleNativeChange: () => Yr(e, a)
2122
2284
  };
2123
2285
  return n.pushState = function(...t) {
2124
2286
  let n = r.apply(this, t);
2125
- return _r(e, a), n;
2287
+ return Yr(e, a), n;
2126
2288
  }, n.replaceState = function(...t) {
2127
2289
  let n = i.apply(this, t);
2128
- return _r(e, a), n;
2129
- }, e.addEventListener("popstate", a.handleNativeChange), e.addEventListener("hashchange", a.handleNativeChange), hr.set(e, a), a;
2130
- }, yr = (e, t) => {
2131
- t.listeners.size > 0 || hr.get(e) !== t || (e.history.pushState = t.pushState, e.history.replaceState = t.replaceState, e.removeEventListener("popstate", t.handleNativeChange), e.removeEventListener("hashchange", t.handleNativeChange), hr.delete(e));
2132
- }, br = (e, t) => {
2133
- let n = vr(e);
2290
+ return Yr(e, a), n;
2291
+ }, e.addEventListener("popstate", a.handleNativeChange), e.addEventListener("hashchange", a.handleNativeChange), qr.set(e, a), a;
2292
+ }, Zr = (e, t) => {
2293
+ t.listeners.size > 0 || qr.get(e) !== t || (e.history.pushState = t.pushState, e.history.replaceState = t.replaceState, e.removeEventListener("popstate", t.handleNativeChange), e.removeEventListener("hashchange", t.handleNativeChange), qr.delete(e));
2294
+ }, Qr = (e, t) => {
2295
+ let n = Xr(e);
2134
2296
  n.listeners.add(t);
2135
2297
  let r = !1;
2136
2298
  return () => {
2137
- r || (r = !0, n.listeners.delete(t), yr(e, n));
2299
+ r || (r = !0, n.listeners.delete(t), Zr(e, n));
2138
2300
  };
2139
- }, xr = "--mesurer-nested-scroll-x", Sr = "--mesurer-nested-scroll-y", Cr = (e, t, n, r = {}) => {
2301
+ }, $r = "--mesurer-nested-scroll-x", ei = "--mesurer-nested-scroll-y", ti = (e, t, n, r = {}) => {
2140
2302
  let i = e, a = /* @__PURE__ */ new Map(), o = t.ownerDocument, s = r.trackWindow === !0, c = (e) => {
2141
2303
  if (e.parentElement) return e.parentElement;
2142
2304
  let t = e.getRootNode();
@@ -2162,7 +2324,7 @@ var ar = (e) => e, or = (e, t = 0, n = 1) => Math.min(n, Math.max(t, e)), sr = (
2162
2324
  let i = `${n}px`;
2163
2325
  r !== i && e.style.setProperty(t, i);
2164
2326
  }, g = () => {
2165
- if (!p) for (let e of m()) e.dataset.mesurerNestedScrollCompensation !== "true" && (e.dataset.mesurerNestedScrollCompensation = "true"), h(e, xr, d), h(e, Sr, f);
2327
+ if (!p) for (let e of m()) e.dataset.mesurerNestedScrollCompensation !== "true" && (e.dataset.mesurerNestedScrollCompensation = "true"), h(e, $r, d), h(e, ei, f);
2166
2328
  }, _ = (e, t, n) => {
2167
2329
  let r = t - e.left, i = n - e.top;
2168
2330
  return r === 0 && i === 0 ? !1 : (e.left = t, e.top = n, d -= r, f -= i, !0);
@@ -2195,21 +2357,21 @@ var ar = (e) => e, or = (e, t = 0, n = 1) => Math.min(n, Math.max(t, e)), sr = (
2195
2357
  if (!p) {
2196
2358
  p = !0, s && e.removeEventListener("scroll", y, !0);
2197
2359
  for (let e of a.keys()) e.removeEventListener("scroll", v, !0);
2198
- for (let e of m()) delete e.dataset.mesurerNestedScrollCompensation, e.style.removeProperty(xr), e.style.removeProperty(Sr);
2360
+ for (let e of m()) delete e.dataset.mesurerNestedScrollCompensation, e.style.removeProperty($r), e.style.removeProperty(ei);
2199
2361
  a.clear();
2200
2362
  }
2201
2363
  }
2202
2364
  };
2203
- }, wr = 5;
2204
- Array.from({ length: 801 }, (e, t) => t * wr), Ht(null);
2205
- var Tr = "mesurer-settings-select msr:h-6 msr:w-full msr:appearance-none msr:rounded-control msr:border msr:border-ink-200 msr:bg-white msr:px-1.5 msr:pr-6 msr:text-[11px] msr:outline-none msr:focus:shadow-[inset_0_0_0_1px_var(--msr-accent)]";
2206
- function Er() {
2365
+ }, ni = 5;
2366
+ Array.from({ length: 801 }, (e, t) => t * ni), Ht(null);
2367
+ var ri = "mesurer-settings-select msr:h-6 msr:w-full msr:appearance-none msr:rounded-control msr:border msr:border-ink-200 msr:bg-white msr:px-1.5 msr:pr-6 msr:text-[11px] msr:outline-none msr:focus:shadow-[inset_0_0_0_1px_var(--msr-accent)]";
2368
+ function ii() {
2207
2369
  return Y("span", {
2208
2370
  "aria-hidden": "true",
2209
2371
  class: "msr:pointer-events-none msr:absolute msr:right-2 msr:top-1/2 msr:size-1.5 msr:-translate-y-1/2 msr:rotate-45 msr:border-r msr:border-b msr:border-ink-500"
2210
2372
  });
2211
2373
  }
2212
- function Dr(e) {
2374
+ function ai(e) {
2213
2375
  let t = () => e.variant !== "legacy";
2214
2376
  var n = Y("div"), r = Y("div");
2215
2377
  return X(n, r), Z(r, () => e.left), Z(n, (() => {
@@ -2227,7 +2389,7 @@ function Dr(e) {
2227
2389
  e !== i?.e && Q(n, "class", e, i?.e), t !== i?.t && Q(r, "class", t, i?.t);
2228
2390
  }), n;
2229
2391
  }
2230
- function Or(e) {
2392
+ function oi(e) {
2231
2393
  let t = () => e.variant !== "legacy", n = () => {
2232
2394
  let t = lr(e.value);
2233
2395
  if (t) return t;
@@ -2257,7 +2419,7 @@ function Or(e) {
2257
2419
  e.onChange(n);
2258
2420
  }, v = () => t() ? `msr:col-span-2 msr:grid msr:h-8 msr:w-full ${e.columns ?? "msr:grid-cols-[78px_150px]"} msr:items-center msr:gap-0 msr:text-[12px] msr:text-ink-700` : "msr:col-span-2 msr:grid msr:w-full msr:grid-cols-[78px_156px] msr:items-center msr:gap-3 msr:text-[12px] msr:text-ink-700";
2259
2421
  var y = Y("div"), b = Y("span");
2260
- return X(y, b), Z(b, () => e.label), Z(y, J(Dr, {
2422
+ return X(y, b), Z(b, () => e.label), Z(y, J(ai, {
2261
2423
  get variant() {
2262
2424
  return e.variant;
2263
2425
  },
@@ -2340,7 +2502,7 @@ function Or(e) {
2340
2502
  Q(y, "class", e, t);
2341
2503
  }), y;
2342
2504
  }
2343
- var kr = (e) => (() => {
2505
+ var si = (e) => (() => {
2344
2506
  var t = Y("svg", {
2345
2507
  xmlns: "http://www.w3.org/2000/svg",
2346
2508
  viewBox: "0 0 256 256",
@@ -2355,7 +2517,7 @@ var kr = (e) => (() => {
2355
2517
  }), ({ e, t: n, a: r }, i) => {
2356
2518
  e !== i?.e && Q(t, "width", e, i?.e), n !== i?.t && Q(t, "height", n, i?.t), r !== i?.a && Q(t, "class", r, i?.a);
2357
2519
  }), t;
2358
- })(), Ar = (e) => J(kr, {
2520
+ })(), ci = (e) => J(si, {
2359
2521
  get size() {
2360
2522
  return e.size ?? 8;
2361
2523
  },
@@ -2365,7 +2527,7 @@ var kr = (e) => (() => {
2365
2527
  get children() {
2366
2528
  return Y("path", { d: "M213.66,101.66l-80,80a8,8,0,0,1-11.32,0l-80-80A8,8,0,0,1,53.66,90.34L128,164.69l74.34-74.35a8,8,0,0,1,11.32,11.32Z" });
2367
2529
  }
2368
- }), jr = (e) => J(kr, {
2530
+ }), li = (e) => J(si, {
2369
2531
  get size() {
2370
2532
  return e.size ?? 12;
2371
2533
  },
@@ -2375,8 +2537,8 @@ var kr = (e) => (() => {
2375
2537
  get children() {
2376
2538
  return Y("path", { d: "M228,128a12,12,0,0,1-12,12H40a12,12,0,0,1,0-24H216A12,12,0,0,1,228,128Z" });
2377
2539
  }
2378
- }), Mr = (e, t, n) => t * 256 / e / n, Nr = (e) => {
2379
- let t = e.size ?? 20, n = Mr(t, e.strokePx ?? 1, e.frameScale ?? 1);
2540
+ }), ui = (e, t, n) => t * 256 / e / n, di = (e) => {
2541
+ let t = e.size ?? 20, n = ui(t, e.strokePx ?? 1, e.frameScale ?? 1);
2380
2542
  var r = Y("svg", {
2381
2543
  xmlns: "http://www.w3.org/2000/svg",
2382
2544
  width: t,
@@ -2400,7 +2562,7 @@ var kr = (e) => (() => {
2400
2562
  return X(r, i), X(r, a), Z(a, () => e.children), q(() => e.class, (e, t) => {
2401
2563
  Q(r, "class", e, t);
2402
2564
  }), r;
2403
- }, Pr = (e) => J(Nr, {
2565
+ }, fi = (e) => J(di, {
2404
2566
  get size() {
2405
2567
  return e.size ?? 20;
2406
2568
  },
@@ -2410,7 +2572,7 @@ var kr = (e) => (() => {
2410
2572
  get children() {
2411
2573
  return Y("path", { d: "M128 48v160M48 128h160" });
2412
2574
  }
2413
- }), Fr = (e) => J(Nr, {
2575
+ }), pi = (e) => J(di, {
2414
2576
  get size() {
2415
2577
  return e.size ?? 20;
2416
2578
  },
@@ -2420,7 +2582,7 @@ var kr = (e) => (() => {
2420
2582
  get children() {
2421
2583
  return Y("path", { d: "M101.33 48v160M154.67 48v160" });
2422
2584
  }
2423
- }), Ir = (e) => J(Nr, {
2585
+ }), mi = (e) => J(di, {
2424
2586
  get size() {
2425
2587
  return e.size ?? 20;
2426
2588
  },
@@ -2430,7 +2592,7 @@ var kr = (e) => (() => {
2430
2592
  get children() {
2431
2593
  return Y("path", { d: "M48 101.33h160M48 154.67h160" });
2432
2594
  }
2433
- }), Lr = (e) => (() => {
2595
+ }), hi = (e) => (() => {
2434
2596
  var t = Y("svg", {
2435
2597
  xmlns: "http://www.w3.org/2000/svg",
2436
2598
  viewBox: "0 0 12 12",
@@ -2449,7 +2611,7 @@ var kr = (e) => (() => {
2449
2611
  }), ({ e, t: n, a: r }, i) => {
2450
2612
  e !== i?.e && Q(t, "width", e, i?.e), n !== i?.t && Q(t, "height", n, i?.t), r !== i?.a && Q(t, "class", r, i?.a);
2451
2613
  }), t;
2452
- })(), Rr = (e) => (() => {
2614
+ })(), gi = (e) => (() => {
2453
2615
  var t = Y("svg", {
2454
2616
  xmlns: "http://www.w3.org/2000/svg",
2455
2617
  viewBox: "0 0 16 16",
@@ -2473,7 +2635,7 @@ var kr = (e) => (() => {
2473
2635
  }), ({ e, t: n, a: r }, i) => {
2474
2636
  e !== i?.e && Q(t, "width", e, i?.e), n !== i?.t && Q(t, "height", n, i?.t), r !== i?.a && Q(t, "class", r, i?.a);
2475
2637
  }), t;
2476
- })(), zr = (e) => (() => {
2638
+ })(), _i = (e) => (() => {
2477
2639
  var t = Y("svg", {
2478
2640
  xmlns: "http://www.w3.org/2000/svg",
2479
2641
  viewBox: "0 0 16 16",
@@ -2497,7 +2659,7 @@ var kr = (e) => (() => {
2497
2659
  }), ({ e, t: n, a: r }, i) => {
2498
2660
  e !== i?.e && Q(t, "width", e, i?.e), n !== i?.t && Q(t, "height", n, i?.t), r !== i?.a && Q(t, "class", r, i?.a);
2499
2661
  }), t;
2500
- })(), Br = (e) => J(kr, {
2662
+ })(), vi = (e) => J(si, {
2501
2663
  get size() {
2502
2664
  return e.size ?? 20;
2503
2665
  },
@@ -2507,7 +2669,7 @@ var kr = (e) => (() => {
2507
2669
  get children() {
2508
2670
  return Y("path", { d: "M216,32H88a8,8,0,0,0-8,8V80H40a8,8,0,0,0-8,8V216a8,8,0,0,0,8,8H168a8,8,0,0,0,8-8V176h40a8,8,0,0,0,8-8V40A8,8,0,0,0,216,32ZM160,208H48V96H160Zm48-48H176V88a8,8,0,0,0-8-8H96V48H208Z" });
2509
2671
  }
2510
- }), Vr = (e) => J(kr, {
2672
+ }), yi = (e) => J(si, {
2511
2673
  get size() {
2512
2674
  return e.size ?? 20;
2513
2675
  },
@@ -2517,7 +2679,7 @@ var kr = (e) => (() => {
2517
2679
  get children() {
2518
2680
  return Y("path", { d: "M229.66,58.34l-32-32a8,8,0,0,0-11.32,0l-96,96A8,8,0,0,0,88,128v32a8,8,0,0,0,8,8h32a8,8,0,0,0,5.66-2.34l96-96A8,8,0,0,0,229.66,58.34ZM124.69,152H104V131.31l64-64L188.69,88ZM200,76.69,179.31,56,192,43.31,212.69,64ZM224,128v80a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V48A16,16,0,0,1,48,32h80a8,8,0,0,1,0,16H48V208H208V128a8,8,0,0,1,16,0Z" });
2519
2681
  }
2520
- }), Hr = (e) => J(kr, {
2682
+ }), bi = (e) => J(si, {
2521
2683
  get size() {
2522
2684
  return e.size ?? 18;
2523
2685
  },
@@ -2527,7 +2689,7 @@ var kr = (e) => (() => {
2527
2689
  get children() {
2528
2690
  return Y("path", { d: "M216,48H176V40a24,24,0,0,0-24-24H104A24,24,0,0,0,80,40v8H40a8,8,0,0,0,0,16h8V208a16,16,0,0,0,16,16H192a16,16,0,0,0,16-16V64h8a8,8,0,0,0,0-16ZM96,40a8,8,0,0,1,8-8h48a8,8,0,0,1,8,8v8H96Zm96,168H64V64H192ZM112,104v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Zm48,0v64a8,8,0,0,1-16,0V104a8,8,0,0,1,16,0Z" });
2529
2691
  }
2530
- }), Ur = (e) => J(kr, {
2692
+ }), xi = (e) => J(si, {
2531
2693
  get size() {
2532
2694
  return e.size ?? 18;
2533
2695
  },
@@ -2537,11 +2699,11 @@ var kr = (e) => (() => {
2537
2699
  get children() {
2538
2700
  return Y("path", { d: "M205.66,194.34a8,8,0,0,1-11.32,11.32L128,139.31,61.66,205.66a8,8,0,0,1-11.32-11.32L116.69,128,50.34,61.66A8,8,0,0,1,61.66,50.34L128,116.69l66.34-66.35a8,8,0,0,1,11.32,11.32L139.31,128Z" });
2539
2701
  }
2540
- }), Wr = (e, t) => {
2702
+ }), Si = (e, t) => {
2541
2703
  let n = t.CSS;
2542
2704
  return n?.escape ? n.escape(e) : e.replace(/[^a-zA-Z0-9_-]/g, (e) => `\\${e}`);
2543
- }, Gr = (e) => (e.textContent ?? "").replace(/\s+/g, " ").trim().slice(0, 200) || null, Kr = (e) => e.nodeType === 9, qr = (e) => e.nodeType === 11;
2544
- function Jr(e) {
2705
+ }, Ci = (e) => (e.textContent ?? "").replace(/\s+/g, " ").trim().slice(0, 200) || null, wi = (e) => e.nodeType === 9, Ti = (e) => e.nodeType === 11;
2706
+ function Ei(e) {
2545
2707
  let t = e.getBoundingClientRect();
2546
2708
  return {
2547
2709
  left: t.left,
@@ -2550,20 +2712,20 @@ function Jr(e) {
2550
2712
  height: t.height
2551
2713
  };
2552
2714
  }
2553
- function Yr(e, t) {
2554
- if (Kr(t)) return !0;
2715
+ function Di(e, t) {
2716
+ if (wi(t)) return !0;
2555
2717
  let n = e;
2556
2718
  for (; n;) {
2557
2719
  if (t === n || t.contains(n)) return !0;
2558
2720
  let e = n.getRootNode();
2559
- if (!qr(e)) return !1;
2721
+ if (!Ti(e)) return !1;
2560
2722
  n = e.host;
2561
2723
  }
2562
2724
  return !1;
2563
2725
  }
2564
- function Xr(e) {
2726
+ function Oi(e) {
2565
2727
  let t = e.ownerDocument.defaultView ?? window;
2566
- if (e.id) return `#${Wr(e.id, t)}`;
2728
+ if (e.id) return `#${Si(e.id, t)}`;
2567
2729
  let n = e.getAttribute("data-testid");
2568
2730
  if (n) return `[data-testid=${JSON.stringify(n)}]`;
2569
2731
  let r = [], i = e;
@@ -2577,7 +2739,7 @@ function Xr(e) {
2577
2739
  }
2578
2740
  return r.join(" > ");
2579
2741
  }
2580
- function Zr(e) {
2742
+ function ki(e) {
2581
2743
  return {
2582
2744
  tag: e.localName,
2583
2745
  id: e.id || null,
@@ -2585,30 +2747,30 @@ function Zr(e) {
2585
2747
  role: e.getAttribute("role"),
2586
2748
  ariaLabel: e.getAttribute("aria-label"),
2587
2749
  classes: [...e.classList],
2588
- text: Gr(e)
2750
+ text: Ci(e)
2589
2751
  };
2590
2752
  }
2591
- function Qr(e) {
2753
+ function Ai(e) {
2592
2754
  return !!(e.id || e.testId || e.role || e.ariaLabel || e.classes.length || e.text);
2593
2755
  }
2594
- function $r(e, t) {
2595
- return e.localName !== t.tag || t.id && e.id !== t.id || t.testId && e.getAttribute("data-testid") !== t.testId || t.role && e.getAttribute("role") !== t.role || t.ariaLabel && e.getAttribute("aria-label") !== t.ariaLabel ? !1 : t.id || t.testId ? !0 : t.classes.some((t) => !e.classList.contains(t)) || t.text && Gr(e) !== t.text ? !1 : Qr(t);
2756
+ function ji(e, t) {
2757
+ return e.localName !== t.tag || t.id && e.id !== t.id || t.testId && e.getAttribute("data-testid") !== t.testId || t.role && e.getAttribute("role") !== t.role || t.ariaLabel && e.getAttribute("aria-label") !== t.ariaLabel ? !1 : t.id || t.testId ? !0 : t.classes.some((t) => !e.classList.contains(t)) || t.text && Ci(e) !== t.text ? !1 : Ai(t);
2596
2758
  }
2597
- var ei = "mesurer:select-gesture-start";
2598
- function ti(e, t) {
2599
- return e.addEventListener(ei, t), () => e.removeEventListener(ei, t);
2759
+ var Mi = "mesurer:select-gesture-start";
2760
+ function Ni(e, t) {
2761
+ return e.addEventListener(Mi, t), () => e.removeEventListener(Mi, t);
2600
2762
  }
2601
2763
  Ht((e) => void 0);
2602
- var ni = "mesurer-solid-styles", ri = (e) => e?.nodeType === 11, ii = (e) => e.nodeType === 9;
2603
- function ai(e, t) {
2764
+ var Pi = "mesurer-solid-styles", Fi = (e) => e?.nodeType === 11, Ii = (e) => e.nodeType === 9;
2765
+ function Li(e, t) {
2604
2766
  let n = t?.ownerDocument ?? globalThis.document;
2605
2767
  if (!n) return;
2606
- let r = ri(t) ? t : n;
2607
- if (r.querySelector(`#${ni}`)) return;
2768
+ let r = Fi(t) ? t : n;
2769
+ if (r.querySelector(`#${Pi}`)) return;
2608
2770
  let i = n.createElement("style");
2609
- i.id = ni, i.textContent = e, ii(r) ? r.head.append(i) : r.append(i);
2771
+ i.id = Pi, i.textContent = e, Ii(r) ? r.head.append(i) : r.append(i);
2610
2772
  }
2611
- var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e8f0)", ci = "var(--msr-color-ink-500, #64748b)", li = "var(--msr-content, #0f172a)", ui = (e, t, n) => {
2773
+ var Ri = "var(--msr-color-ink-50, #f8fafc)", zi = "var(--msr-color-ink-200, #e2e8f0)", Bi = "var(--msr-color-ink-500, #64748b)", Vi = "var(--msr-content, #0f172a)", Hi = (e, t, n) => {
2612
2774
  let r = e.createElement("div");
2613
2775
  return Object.assign(r.style, {
2614
2776
  position: "absolute",
@@ -2625,7 +2787,7 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
2625
2787
  height: "100%"
2626
2788
  }
2627
2789
  }), r;
2628
- }, di = (e, t, n) => {
2790
+ }, Ui = (e, t, n) => {
2629
2791
  let r = e.createElement("div");
2630
2792
  Object.assign(r.style, {
2631
2793
  position: "fixed",
@@ -2639,23 +2801,23 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
2639
2801
  "right",
2640
2802
  "bottom",
2641
2803
  "left"
2642
- ]) r.appendChild(ui(e, t, n));
2804
+ ]) r.appendChild(Hi(e, t, n));
2643
2805
  return r;
2644
- }, fi = (e, t) => {
2806
+ }, Wi = (e, t) => {
2645
2807
  Object.assign(e.style, {
2646
2808
  left: `${t.left}px`,
2647
2809
  top: `${t.top}px`,
2648
2810
  width: `${t.width}px`,
2649
2811
  height: `${t.height}px`
2650
2812
  });
2651
- }, pi = (e, t) => {
2813
+ }, Gi = (e, t) => {
2652
2814
  let n = e.createElement("div");
2653
2815
  return Object.assign(n.style, {
2654
2816
  position: "fixed",
2655
2817
  zIndex: "1",
2656
2818
  pointerEvents: t ? "auto" : "none",
2657
2819
  background: "var(--msr-surface-raised, #ffffff)",
2658
- color: li,
2820
+ color: Vi,
2659
2821
  borderRadius: "13px",
2660
2822
  padding: "10px 12px",
2661
2823
  fontSize: "11px",
@@ -2670,7 +2832,7 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
2670
2832
  boxSizing: "border-box",
2671
2833
  boxShadow: "var(--msr-shadow-floating, 0px 0px 0.5px rgba(0, 0, 0, 0.18), 0px 3px 8px rgba(0, 0, 0, 0.1), 0px 1px 3px rgba(0, 0, 0, 0.1))"
2672
2834
  }), n.className = t ? "mesurer-ti-card mesurer-ti-card--pinned" : "mesurer-ti-card", n.dataset.state = "hidden", n;
2673
- }, mi = (e, t, n, r) => {
2835
+ }, Ki = (e, t, n, r) => {
2674
2836
  t.replaceChildren();
2675
2837
  let i = e.createElement("div");
2676
2838
  Object.assign(i.style, {
@@ -2682,8 +2844,8 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
2682
2844
  });
2683
2845
  let a = e.createElement("span");
2684
2846
  if (Object.assign(a.style, {
2685
- color: oi,
2686
- background: li,
2847
+ color: Ri,
2848
+ background: Vi,
2687
2849
  borderRadius: "4px",
2688
2850
  padding: "1px 5px",
2689
2851
  fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace",
@@ -2692,7 +2854,7 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
2692
2854
  }), a.textContent = n.tagName, i.appendChild(a), n.textSnippet) {
2693
2855
  let t = e.createElement("span");
2694
2856
  Object.assign(t.style, {
2695
- color: ci,
2857
+ color: Bi,
2696
2858
  overflow: "hidden",
2697
2859
  textOverflow: "ellipsis",
2698
2860
  whiteSpace: "nowrap",
@@ -2712,7 +2874,7 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
2712
2874
  lineHeight: "14px",
2713
2875
  textAlign: "center",
2714
2876
  borderRadius: "4px",
2715
- color: ci,
2877
+ color: Bi,
2716
2878
  fontSize: "14px"
2717
2879
  }), i.appendChild(t);
2718
2880
  }
@@ -2727,12 +2889,12 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
2727
2889
  });
2728
2890
  for (let t of n.rows) {
2729
2891
  let n = e.createElement("span");
2730
- n.style.color = ci, n.style.fontSize = "11px", n.textContent = t.label;
2892
+ n.style.color = Bi, n.style.fontSize = "11px", n.textContent = t.label;
2731
2893
  let r = e.createElement("span");
2732
2894
  if (Object.assign(r.style, {
2733
2895
  fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace",
2734
2896
  fontSize: "11px",
2735
- color: li,
2897
+ color: Vi,
2736
2898
  overflow: "hidden",
2737
2899
  textOverflow: "ellipsis",
2738
2900
  whiteSpace: "nowrap"
@@ -2741,21 +2903,21 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
2741
2903
  let n = e.createElement("span");
2742
2904
  n.textContent = t.value;
2743
2905
  let i = e.createElement("span");
2744
- i.style.color = si, i.style.margin = "0 6px", i.textContent = "·";
2906
+ i.style.color = zi, i.style.margin = "0 6px", i.textContent = "·";
2745
2907
  let a = e.createElement("span");
2746
2908
  a.style.color = "#0369a1", a.textContent = t.varName, r.append(n, i, a);
2747
2909
  }
2748
2910
  o.append(n, r);
2749
2911
  }
2750
2912
  t.appendChild(o);
2751
- }, hi = (e, t, n, r = 0, i = 0) => {
2913
+ }, qi = (e, t, n, r = 0, i = 0) => {
2752
2914
  let a = Number.parseFloat(t.dataset.mesurerPositionedScrollX ?? ""), o = Number.parseFloat(t.dataset.mesurerPositionedScrollY ?? ""), s = Number.isFinite(a) && a !== e.scrollX || Number.isFinite(o) && o !== e.scrollY, c = n.left + n.width / 2 + r;
2753
2915
  t.style.left = `${c}px`;
2754
2916
  let l = t.getBoundingClientRect(), u = n.bottom + 4 + i;
2755
2917
  u + l.height > e.innerHeight - 8 && (u = n.top - l.height - 4 + i), t.style.top = `${Math.max(8, u)}px`;
2756
2918
  let d = l.width / 2;
2757
2919
  t.style.left = `${Math.min(Math.max(c, 8 + d), e.innerWidth - 8 - d)}px`, t.dataset.mesurerPositionedScrollX = String(e.scrollX), t.dataset.mesurerPositionedScrollY = String(e.scrollY), s && !t.dataset.mesurerNativeScrollAnchor && (t.dataset.mesurerNativeScrollAnchor = "pending");
2758
- }, gi = /* @__PURE__ */ new Map([
2920
+ }, Ji = /* @__PURE__ */ new Map([
2759
2921
  ["100", "thin"],
2760
2922
  ["200", "extralight"],
2761
2923
  ["300", "light"],
@@ -2765,26 +2927,26 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
2765
2927
  ["700", "bold"],
2766
2928
  ["800", "extrabold"],
2767
2929
  ["900", "black"]
2768
- ]), _i = [
2930
+ ]), Yi = [
2769
2931
  "font-family",
2770
2932
  "font-size",
2771
2933
  "font-weight",
2772
2934
  "line-height",
2773
2935
  "letter-spacing"
2774
- ], vi = /* @__PURE__ */ new Map([
2936
+ ], Xi = /* @__PURE__ */ new Map([
2775
2937
  ["Family", "font-family"],
2776
2938
  ["Size", "font-size"],
2777
2939
  ["Weight", "font-weight"],
2778
2940
  ["Line", "line-height"],
2779
2941
  ["Tracking", "letter-spacing"]
2780
- ]), yi = (e) => {
2942
+ ]), Zi = (e) => {
2781
2943
  if (!e || e === "normal") return e || "normal";
2782
2944
  let t = /^(-?[\d.]+)px$/.exec(e);
2783
2945
  return t ? `${Math.round(Number(t[1]) * 10) / 10}px` : e;
2784
- }, bi = (e) => (e.split(",")[0] ?? "").trim().replace(/^['"]|['"]$/g, ""), xi = (e) => {
2785
- let t = gi.get(e);
2946
+ }, Qi = (e) => (e.split(",")[0] ?? "").trim().replace(/^['"]|['"]$/g, ""), $i = (e) => {
2947
+ let t = Ji.get(e);
2786
2948
  return t ? `${e} / ${t}` : e;
2787
- }, Si = (e) => e ? /var\(\s*(--[a-zA-Z0-9_-]+)/.exec(e)?.[1] ?? null : null, Ci = (e) => (e.match(/#[\w-]+/g) ?? []).length * 1e4 + (e.match(/\.[\w-]+|\[[^\]]+\]|:[\w-]+/g) ?? []).length * 100 + (e.match(/(?:^|[ >+~])([a-zA-Z][\w-]*)/g) ?? []).length, wi = (e, t) => !t || (e.important === t.important ? e.specificity === t.specificity ? e.order > t.order : e.specificity > t.specificity : e.important), Ti = class {
2949
+ }, ea = (e) => e ? /var\(\s*(--[a-zA-Z0-9_-]+)/.exec(e)?.[1] ?? null : null, ta = (e) => (e.match(/#[\w-]+/g) ?? []).length * 1e4 + (e.match(/\.[\w-]+|\[[^\]]+\]|:[\w-]+/g) ?? []).length * 100 + (e.match(/(?:^|[ >+~])([a-zA-Z][\w-]*)/g) ?? []).length, na = (e, t) => !t || (e.important === t.important ? e.specificity === t.specificity ? e.order > t.order : e.specificity > t.specificity : e.important), ra = class {
2788
2950
  document;
2789
2951
  window;
2790
2952
  constructor(e, t) {
@@ -2824,11 +2986,11 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
2824
2986
  return e;
2825
2987
  }
2826
2988
  findVarReferences(e) {
2827
- let t = new Map(_i.map((e) => [e, null])), n = this.getRules();
2828
- for (let r of _i) {
2989
+ let t = new Map(Yi.map((e) => [e, null])), n = this.getRules();
2990
+ for (let r of Yi) {
2829
2991
  let i = e;
2830
2992
  for (; i && t.get(r) === null;) {
2831
- let e, a = Si(i.style.getPropertyValue(r));
2993
+ let e, a = ea(i.style.getPropertyValue(r));
2832
2994
  a && (e = {
2833
2995
  name: a,
2834
2996
  specificity: 2 ** 53 - 1,
@@ -2844,15 +3006,15 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
2844
3006
  continue;
2845
3007
  }
2846
3008
  if (!n) continue;
2847
- let s = Si(t.style.getPropertyValue(r));
3009
+ let s = ea(t.style.getPropertyValue(r));
2848
3010
  if (!s) continue;
2849
3011
  let c = {
2850
3012
  name: s,
2851
- specificity: Ci(t.selectorText),
3013
+ specificity: ta(t.selectorText),
2852
3014
  order: o,
2853
3015
  important: t.style.getPropertyPriority(r) === "important"
2854
3016
  };
2855
- wi(c, e) && (e = c);
3017
+ na(c, e) && (e = c);
2856
3018
  }
2857
3019
  e && t.set(r, e.name), i = i.parentElement;
2858
3020
  }
@@ -2863,27 +3025,27 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
2863
3025
  let t = this.window.getComputedStyle(e), n = [
2864
3026
  {
2865
3027
  label: "Family",
2866
- value: bi(t.fontFamily),
3028
+ value: Qi(t.fontFamily),
2867
3029
  varName: null
2868
3030
  },
2869
3031
  {
2870
3032
  label: "Size",
2871
- value: yi(t.fontSize),
3033
+ value: Zi(t.fontSize),
2872
3034
  varName: null
2873
3035
  },
2874
3036
  {
2875
3037
  label: "Weight",
2876
- value: xi(t.fontWeight),
3038
+ value: $i(t.fontWeight),
2877
3039
  varName: null
2878
3040
  },
2879
3041
  {
2880
3042
  label: "Line",
2881
- value: t.lineHeight === "normal" ? "normal" : yi(t.lineHeight),
3043
+ value: t.lineHeight === "normal" ? "normal" : Zi(t.lineHeight),
2882
3044
  varName: null
2883
3045
  },
2884
3046
  {
2885
3047
  label: "Tracking",
2886
- value: t.letterSpacing === "normal" ? "normal" : yi(t.letterSpacing),
3048
+ value: t.letterSpacing === "normal" ? "normal" : Zi(t.letterSpacing),
2887
3049
  varName: null
2888
3050
  }
2889
3051
  ], r = Array.from(e.childNodes).filter((e) => e.nodeType === Node.TEXT_NODE).map((e) => e.nodeValue?.trim() ?? "").filter(Boolean).join(" ").replace(/\s+/g, " ");
@@ -2898,7 +3060,7 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
2898
3060
  return {
2899
3061
  ...t,
2900
3062
  rows: t.rows.map((e) => {
2901
- let t = vi.get(e.label);
3063
+ let t = Xi.get(e.label);
2902
3064
  return {
2903
3065
  ...e,
2904
3066
  varName: t ? n.get(t) ?? null : null
@@ -2906,7 +3068,7 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
2906
3068
  })
2907
3069
  };
2908
3070
  }
2909
- }, Ei = [
3071
+ }, ia = [
2910
3072
  "HTML",
2911
3073
  "BODY",
2912
3074
  "SCRIPT",
@@ -2918,7 +3080,7 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
2918
3080
  "VIDEO",
2919
3081
  "AUDIO",
2920
3082
  "IFRAME"
2921
- ], Di = "color-mix(in oklch, oklch(0.62 0.18 255) 8%, transparent)", Oi = "color-mix(in oklch, oklch(0.62 0.18 255) 80%, transparent)", ki = "color-mix(in oklch, oklch(0.62 0.18 255) 4%, transparent)", Ai = "color-mix(in oklch, oklch(0.62 0.18 255) 35%, transparent)", ji = 80, Mi = 0, Ni = (e, t) => `
3083
+ ], aa = "color-mix(in oklch, oklch(0.62 0.18 255) 8%, transparent)", oa = "color-mix(in oklch, oklch(0.62 0.18 255) 80%, transparent)", sa = "color-mix(in oklch, oklch(0.62 0.18 255) 4%, transparent)", ca = "color-mix(in oklch, oklch(0.62 0.18 255) 35%, transparent)", la = 80, ua = 0, da = (e, t) => `
2922
3084
  .${e},.${e} *{cursor:help!important}
2923
3085
  .${e} [data-mesurer-root],.${e} [data-mesurer-root] *{cursor:auto!important}
2924
3086
  #${t} .mesurer-ti-card{transform:translateX(-50%);opacity:1;transition:none!important;animation:none!important}
@@ -2929,7 +3091,7 @@ var oi = "var(--msr-color-ink-50, #f8fafc)", si = "var(--msr-color-ink-200, #e2e
2929
3091
  #${t} .mesurer-ti-close{cursor:pointer}
2930
3092
  #${t} .mesurer-ti-close:hover{background:color-mix(in srgb,var(--msr-content,#0f172a) 6%,transparent)!important;color:var(--msr-content,#0f172a)!important}
2931
3093
  `;
2932
- function Pi(e = {}, t = !1) {
3094
+ function fa(e = {}, t = !1) {
2933
3095
  let n = e.portalTarget?.ownerDocument ?? globalThis.document, r = n?.defaultView ?? globalThis.window;
2934
3096
  if (!n || !r) {
2935
3097
  let e = () => {};
@@ -2947,7 +3109,7 @@ function Pi(e = {}, t = !1) {
2947
3109
  canRedo: () => !1
2948
3110
  };
2949
3111
  }
2950
- let i = (e.id ?? (t ? "mesurer-text-inspector" : `mesurer-text-inspector-${++Mi}`)).replace(/[^a-zA-Z0-9_-]/g, "-"), a = `${i}-overlay`, o = `${i}-styles`, s = `${i}-mode`, c = new Set((e.ignoredTags ?? Ei).map((e) => e.toUpperCase())), l = Number.isFinite(e.maxPinned) ? Math.max(1, Math.floor(e.maxPinned)) : Infinity, u = new Ti(n, r), d = r.HTMLElement, f = r.SVGElement, p = r.Node, m = !1, h = null, g = null, _ = null, v = null, y = {
3112
+ let i = (e.id ?? (t ? "mesurer-text-inspector" : `mesurer-text-inspector-${++ua}`)).replace(/[^a-zA-Z0-9_-]/g, "-"), a = `${i}-overlay`, o = `${i}-styles`, s = `${i}-mode`, c = new Set((e.ignoredTags ?? ia).map((e) => e.toUpperCase())), l = Number.isFinite(e.maxPinned) ? Math.max(1, Math.floor(e.maxPinned)) : Infinity, u = new ra(n, r), d = r.HTMLElement, f = r.SVGElement, p = r.Node, m = !1, h = null, g = null, _ = null, v = null, y = {
2951
3113
  x: 0,
2952
3114
  y: 0
2953
3115
  }, b = 0, x = 0, S = 0, C = r.scrollX, w = r.scrollY, T = null, E = [], D = [], O = [], k = e.portalTarget ?? n.body, A = () => {
@@ -2956,7 +3118,7 @@ function Pi(e = {}, t = !1) {
2956
3118
  for (let t of e) {
2957
3119
  if (t.querySelector(`#${o}`)) continue;
2958
3120
  let e = n.createElement("style");
2959
- e.id = o, e.textContent = Ni(s, a), t === n ? n.head.append(e) : t.append(e);
3121
+ e.id = o, e.textContent = da(s, a), t === n ? n.head.append(e) : t.append(e);
2960
3122
  }
2961
3123
  }, j = () => h?.isConnected ? h : (h = n.createElement("div"), h.id = a, h.dataset.mesurerInspectorUi = "true", h.dataset.theme = e.theme?.() ?? "system", T ??= e.subscribeTheme?.((e) => {
2962
3124
  h && (h.dataset.theme = e);
@@ -2969,17 +3131,17 @@ function Pi(e = {}, t = !1) {
2969
3131
  e && (e.dataset.state = t ? "visible" : "hidden");
2970
3132
  }, ee = () => {
2971
3133
  let e = j();
2972
- g ??= di(n, Di, Oi), _ ??= pi(n, !1), g.parentNode || e.append(g), _.parentNode || e.append(_);
3134
+ g ??= Ui(n, aa, oa), _ ??= Gi(n, !1), g.parentNode || e.append(g), _.parentNode || e.append(_);
2973
3135
  }, N = (e) => Array.from(e.childNodes).some((e) => e.nodeType === p.TEXT_NODE && !!e.nodeValue?.trim()), te = (e) => !!e && e instanceof d && !(e instanceof f) && !c.has(e.tagName) && N(e) && !e.closest("[data-mesurer-root]"), P = (e, t) => n.elementsFromPoint(e, t).find((e) => te(e)) ?? null, ne = () => {
2974
3136
  v = null, M(g, !1), M(_, !1);
2975
3137
  }, F = (t) => {
2976
3138
  if (!m || !te(t)) return !1;
2977
3139
  ee();
2978
3140
  let i = t.getBoundingClientRect(), a = u.getFast(t);
2979
- return v = t, mi(n, _, a, !1), fi(g, i), hi(r, _, i), M(g, !0), M(_, !0), r.clearTimeout(x), x = r.setTimeout(() => {
3141
+ return v = t, Ki(n, _, a, !1), Wi(g, i), qi(r, _, i), M(g, !0), M(_, !0), r.clearTimeout(x), x = r.setTimeout(() => {
2980
3142
  if (!m || v !== t || !_) return;
2981
3143
  let i = u.getFull(t, a);
2982
- mi(n, _, i, !1), hi(r, _, t.getBoundingClientRect()), e.onInspect?.(t, i);
3144
+ Ki(n, _, i, !1), qi(r, _, t.getBoundingClientRect()), e.onInspect?.(t, i);
2983
3145
  }, 24), !0;
2984
3146
  }, I = () => E.map((e) => ({
2985
3147
  sourceEl: e.sourceEl,
@@ -3011,12 +3173,12 @@ function Pi(e = {}, t = !1) {
3011
3173
  }, V = (t, i, a = !0, o = !0) => {
3012
3174
  if (E.find((e) => e.sourceEl === t)) return;
3013
3175
  a && L(), E.length >= l && R(E[0], !1, !0);
3014
- let s = j(), c = di(n, ki, Ai), d = pi(n, !0);
3176
+ let s = j(), c = Ui(n, sa, ca), d = Gi(n, !0);
3015
3177
  d.classList.add("mesurer-ti-card--draggable"), d.classList.remove("mesurer-ti-card--pinned");
3016
3178
  let f = u.getFull(t);
3017
- mi(n, d, f, !0), s.append(c, d);
3179
+ Ki(n, d, f, !0), s.append(c, d);
3018
3180
  let p = t.getBoundingClientRect();
3019
- fi(c, p), hi(r, d, p), i?.userPlaced && (d.classList.add("mesurer-ti-card--pinned"), d.style.left = `${i.left}px`, d.style.top = `${i.top}px`), M(c, !0), M(d, !0);
3181
+ Wi(c, p), qi(r, d, p), i?.userPlaced && (d.classList.add("mesurer-ti-card--pinned"), d.style.left = `${i.left}px`, d.style.top = `${i.top}px`), M(c, !0), M(d, !0);
3020
3182
  let m = {
3021
3183
  sourceEl: t,
3022
3184
  box: c,
@@ -3047,7 +3209,7 @@ function Pi(e = {}, t = !1) {
3047
3209
  continue;
3048
3210
  }
3049
3211
  let t = e.sourceEl.getBoundingClientRect();
3050
- fi(e.box, t), e.userPlaced || hi(r, e.card, t);
3212
+ Wi(e.box, t), e.userPlaced || qi(r, e.card, t);
3051
3213
  let n = t.bottom >= 0 && t.right >= 0 && t.left <= r.innerWidth && t.top <= r.innerHeight;
3052
3214
  M(e.box, n), M(e.card, n), e.card.style.pointerEvents = n ? "auto" : "none";
3053
3215
  }
@@ -3057,7 +3219,7 @@ function Pi(e = {}, t = !1) {
3057
3219
  if (!v.isConnected) ne();
3058
3220
  else {
3059
3221
  let e = v.getBoundingClientRect();
3060
- fi(g, e), hi(r, _, e);
3222
+ Wi(g, e), qi(r, _, e);
3061
3223
  let t = e.bottom >= 0 && e.right >= 0 && e.left <= r.innerWidth && e.top <= r.innerHeight;
3062
3224
  M(g, t), M(_, t);
3063
3225
  }
@@ -3071,7 +3233,7 @@ function Pi(e = {}, t = !1) {
3071
3233
  else if (e !== v) F(e);
3072
3234
  else if (g && _) {
3073
3235
  let t = e.getBoundingClientRect();
3074
- fi(g, t), hi(r, _, t);
3236
+ Wi(g, t), qi(r, _, t);
3075
3237
  }
3076
3238
  ae();
3077
3239
  }, se = () => {
@@ -3089,14 +3251,14 @@ function Pi(e = {}, t = !1) {
3089
3251
  Number.isFinite(r) && (e.style.left = `${r - t}px`), Number.isFinite(i) && (e.style.top = `${i - n}px`);
3090
3252
  }, ue = () => {
3091
3253
  let e = r.scrollX, t = r.scrollY, i = e - C, a = t - w;
3092
- if (C = e, w = t, mr(n)) {
3254
+ if (C = e, w = t, Kr(n)) {
3093
3255
  if (i || a) {
3094
3256
  le(g, i, a), le(_, i, a);
3095
3257
  for (let e of E) le(e.box, i, a), e.userPlaced || le(e.card, i, a);
3096
3258
  }
3097
3259
  S && r.clearTimeout(S), S = r.setTimeout(() => {
3098
3260
  S = 0, W();
3099
- }, ji);
3261
+ }, la);
3100
3262
  return;
3101
3263
  }
3102
3264
  W(), se();
@@ -3133,24 +3295,24 @@ function Pi(e = {}, t = !1) {
3133
3295
  destroy: _e
3134
3296
  };
3135
3297
  }
3136
- Pi({}, !0);
3137
- var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer theme, base, components, utilities;\n@layer theme {\n :root, :host {\n --msr-font-sans: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\",\n \"Noto Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\",\n \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --msr-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\n \"Courier New\", monospace;\n --msr-color-red-50: oklch(97.1% 0.013 17.38);\n --msr-color-red-200: oklch(88.5% 0.062 18.334);\n --msr-color-red-600: oklch(57.7% 0.245 27.325);\n --msr-color-black: #000;\n --msr-color-white: #fff;\n --msr-spacing: 0.25rem;\n --msr-font-weight-normal: 400;\n --msr-font-weight-medium: 500;\n --msr-font-weight-semibold: 600;\n --msr-radius-md: 0.375rem;\n --msr-radius-lg: 0.5rem;\n --msr-default-transition-duration: 150ms;\n --msr-default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n --msr-default-font-family: var(--msr-font-sans);\n --msr-default-mono-font-family: var(--msr-font-mono);\n --msr-color-ink-50: #f8fafc;\n --msr-color-ink-200: #e2e8f0;\n --msr-color-ink-500: #64748b;\n --msr-color-ink-700: #334155;\n --msr-color-ink-900: #0f172a;\n }\n}\n@layer base {\n *, ::after, ::before, ::backdrop, ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html, :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n font-family: var(--msr-default-font-family, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");\n font-feature-settings: var(--msr-default-font-feature-settings, normal);\n font-variation-settings: var(--msr-default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b, strong {\n font-weight: bolder;\n }\n code, kbd, samp, pre {\n font-family: var(--msr-default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-feature-settings: var(--msr-default-mono-font-feature-settings, normal);\n font-variation-settings: var(--msr-default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub, sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring:where(:not(iframe)) {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol, ul, menu {\n list-style: none;\n }\n img, svg, video, canvas, audio, iframe, embed, object {\n display: block;\n vertical-align: middle;\n }\n img, video {\n max-width: 100%;\n height: auto;\n }\n button, input, select, optgroup, textarea, ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n ::-webkit-calendar-picker-indicator {\n line-height: 1;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n}\n@layer utilities {\n .msr\\:pointer-events-auto {\n pointer-events: auto;\n }\n .msr\\:pointer-events-none {\n pointer-events: none;\n }\n .msr\\:absolute {\n position: absolute;\n }\n .msr\\:fixed {\n position: fixed;\n }\n .msr\\:relative {\n position: relative;\n }\n .msr\\:inset-0 {\n inset: 0px;\n }\n .msr\\:top-0 {\n top: 0px;\n }\n .msr\\:top-1\\/2 {\n top: calc(1 / 2 * 100%);\n }\n .msr\\:top-\\[18px\\] {\n top: 18px;\n }\n .msr\\:top-full {\n top: 100%;\n }\n .msr\\:right-0 {\n right: 0px;\n }\n .msr\\:right-2 {\n right: calc(var(--msr-spacing) * 2);\n }\n .msr\\:right-\\[8px\\] {\n right: 8px;\n }\n .msr\\:bottom-0 {\n bottom: 0px;\n }\n .msr\\:bottom-full {\n bottom: 100%;\n }\n .msr\\:left-0 {\n left: 0px;\n }\n .msr\\:left-1\\/2 {\n left: calc(1 / 2 * 100%);\n }\n .msr\\:left-\\[8px\\] {\n left: 8px;\n }\n .msr\\:left-\\[18px\\] {\n left: 18px;\n }\n .msr\\:z-10 {\n z-index: 10;\n }\n .msr\\:z-\\[70\\] {\n z-index: 70;\n }\n .msr\\:z-\\[80\\] {\n z-index: 80;\n }\n .msr\\:z-\\[90\\] {\n z-index: 90;\n }\n .msr\\:z-\\[94\\] {\n z-index: 94;\n }\n .msr\\:z-\\[95\\] {\n z-index: 95;\n }\n .msr\\:col-span-2 {\n grid-column: span 2 / span 2;\n }\n .msr\\:col-start-1 {\n grid-column-start: 1;\n }\n .msr\\:col-start-2 {\n grid-column-start: 2;\n }\n .msr\\:col-start-3 {\n grid-column-start: 3;\n }\n .msr\\:m-0 {\n margin: 0px;\n }\n .msr\\:mx-1 {\n margin-inline: var(--msr-spacing);\n }\n .msr\\:mt-1 {\n margin-top: var(--msr-spacing);\n }\n .msr\\:mt-1\\.5 {\n margin-top: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:mt-2 {\n margin-top: calc(var(--msr-spacing) * 2);\n }\n .msr\\:mb-1 {\n margin-bottom: var(--msr-spacing);\n }\n .msr\\:mb-2 {\n margin-bottom: calc(var(--msr-spacing) * 2);\n }\n .msr\\:-ml-1 {\n margin-left: calc(var(--msr-spacing) * -1);\n }\n .msr\\:ml-1 {\n margin-left: var(--msr-spacing);\n }\n .msr\\:ml-2 {\n margin-left: calc(var(--msr-spacing) * 2);\n }\n .msr\\:ml-6 {\n margin-left: calc(var(--msr-spacing) * 6);\n }\n .msr\\:box-border {\n box-sizing: border-box;\n }\n .msr\\:block {\n display: block;\n }\n .msr\\:flex {\n display: flex;\n }\n .msr\\:grid {\n display: grid;\n }\n .msr\\:inline-flex {\n display: inline-flex;\n }\n .msr\\:size-1\\.5 {\n width: calc(var(--msr-spacing) * 1.5);\n height: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:size-3 {\n width: calc(var(--msr-spacing) * 3);\n height: calc(var(--msr-spacing) * 3);\n }\n .msr\\:size-4 {\n width: calc(var(--msr-spacing) * 4);\n height: calc(var(--msr-spacing) * 4);\n }\n .msr\\:size-6 {\n width: calc(var(--msr-spacing) * 6);\n height: calc(var(--msr-spacing) * 6);\n }\n .msr\\:size-7 {\n width: calc(var(--msr-spacing) * 7);\n height: calc(var(--msr-spacing) * 7);\n }\n .msr\\:size-8 {\n width: calc(var(--msr-spacing) * 8);\n height: calc(var(--msr-spacing) * 8);\n }\n .msr\\:size-\\[10px\\] {\n width: 10px;\n height: 10px;\n }\n .msr\\:size-\\[18px\\] {\n width: 18px;\n height: 18px;\n }\n .msr\\:size-full {\n width: 100%;\n height: 100%;\n }\n .msr\\:h-5 {\n height: calc(var(--msr-spacing) * 5);\n }\n .msr\\:h-6 {\n height: calc(var(--msr-spacing) * 6);\n }\n .msr\\:h-7 {\n height: calc(var(--msr-spacing) * 7);\n }\n .msr\\:h-8 {\n height: calc(var(--msr-spacing) * 8);\n }\n .msr\\:h-20 {\n height: calc(var(--msr-spacing) * 20);\n }\n .msr\\:h-\\[14px\\] {\n height: 14px;\n }\n .msr\\:h-\\[18px\\] {\n height: 18px;\n }\n .msr\\:h-\\[19px\\] {\n height: 19px;\n }\n .msr\\:h-full {\n height: 100%;\n }\n .msr\\:h-px {\n height: 1px;\n }\n .msr\\:max-h-36 {\n max-height: calc(var(--msr-spacing) * 36);\n }\n .msr\\:max-h-\\[220px\\] {\n max-height: 220px;\n }\n .msr\\:max-h-\\[calc\\(100vh-16px\\)\\] {\n max-height: calc(100vh - 16px);\n }\n .msr\\:max-h-\\[min\\(70vh\\,34rem\\)\\] {\n max-height: min(70vh, 34rem);\n }\n .msr\\:max-h-\\[min\\(320px\\,calc\\(100vh-16px\\)\\)\\] {\n max-height: min(320px, calc(100vh - 16px));\n }\n .msr\\:min-h-0 {\n min-height: 0px;\n }\n .msr\\:w-0 {\n width: 0px;\n }\n .msr\\:w-3 {\n width: calc(var(--msr-spacing) * 3);\n }\n .msr\\:w-4 {\n width: calc(var(--msr-spacing) * 4);\n }\n .msr\\:w-5 {\n width: calc(var(--msr-spacing) * 5);\n }\n .msr\\:w-6 {\n width: calc(var(--msr-spacing) * 6);\n }\n .msr\\:w-9 {\n width: calc(var(--msr-spacing) * 9);\n }\n .msr\\:w-12 {\n width: calc(var(--msr-spacing) * 12);\n }\n .msr\\:w-44 {\n width: calc(var(--msr-spacing) * 44);\n }\n .msr\\:w-60 {\n width: calc(var(--msr-spacing) * 60);\n }\n .msr\\:w-\\[18px\\] {\n width: 18px;\n }\n .msr\\:w-\\[26px\\] {\n width: 26px;\n }\n .msr\\:w-\\[272px\\] {\n width: 272px;\n }\n .msr\\:w-full {\n width: 100%;\n }\n .msr\\:w-px {\n width: 1px;\n }\n .msr\\:max-w-0 {\n max-width: 0px;\n }\n .msr\\:max-w-20 {\n max-width: calc(var(--msr-spacing) * 20);\n }\n .msr\\:max-w-\\[calc\\(100vw-16px\\)\\] {\n max-width: calc(100vw - 16px);\n }\n .msr\\:min-w-0 {\n min-width: 0px;\n }\n .msr\\:min-w-36 {\n min-width: calc(var(--msr-spacing) * 36);\n }\n .msr\\:flex-1 {\n flex: 1;\n }\n .msr\\:flex-none {\n flex: none;\n }\n .msr\\:shrink-0 {\n flex-shrink: 0;\n }\n .msr\\:-translate-x-1 {\n --tw-translate-x: calc(var(--msr-spacing) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .msr\\:-translate-x-1\\/2 {\n --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .msr\\:translate-x-0 {\n --tw-translate-x: 0px;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .msr\\:-translate-y-1\\/2 {\n --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .msr\\:-rotate-90 {\n rotate: calc(90deg * -1);\n }\n .msr\\:rotate-45 {\n rotate: 45deg;\n }\n .msr\\:rotate-90 {\n rotate: 90deg;\n }\n .msr\\:rotate-180 {\n rotate: 180deg;\n }\n .msr\\:rotate-\\[45deg\\] {\n rotate: 45deg;\n }\n .msr\\:rotate-\\[135deg\\] {\n rotate: 135deg;\n }\n .msr\\:cursor-crosshair {\n cursor: crosshair;\n }\n .msr\\:cursor-default {\n cursor: default;\n }\n .msr\\:cursor-pointer {\n cursor: pointer;\n }\n .msr\\:touch-none {\n touch-action: none;\n }\n .msr\\:resize-none {\n resize: none;\n }\n .msr\\:list-none {\n list-style-type: none;\n }\n .msr\\:appearance-none {\n appearance: none;\n }\n .msr\\:grid-cols-\\[78px_150px\\] {\n grid-template-columns: 78px 150px;\n }\n .msr\\:grid-cols-\\[78px_156px\\] {\n grid-template-columns: 78px 156px;\n }\n .msr\\:grid-cols-\\[78px_minmax\\(0\\,1fr\\)\\] {\n grid-template-columns: 78px minmax(0,1fr);\n }\n .msr\\:grid-cols-\\[minmax\\(0\\,1fr\\)_28px_34px\\] {\n grid-template-columns: minmax(0,1fr) 28px 34px;\n }\n .msr\\:flex-col {\n flex-direction: column;\n }\n .msr\\:items-center {\n align-items: center;\n }\n .msr\\:items-start {\n align-items: flex-start;\n }\n .msr\\:items-stretch {\n align-items: stretch;\n }\n .msr\\:justify-between {\n justify-content: space-between;\n }\n .msr\\:justify-center {\n justify-content: center;\n }\n .msr\\:justify-end {\n justify-content: flex-end;\n }\n .msr\\:gap-0 {\n gap: 0px;\n }\n .msr\\:gap-0\\.5 {\n gap: calc(var(--msr-spacing) * 0.5);\n }\n .msr\\:gap-1 {\n gap: var(--msr-spacing);\n }\n .msr\\:gap-1\\.5 {\n gap: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:gap-2 {\n gap: calc(var(--msr-spacing) * 2);\n }\n .msr\\:gap-3 {\n gap: calc(var(--msr-spacing) * 3);\n }\n .msr\\:gap-px {\n gap: 1px;\n }\n .msr\\:gap-x-3 {\n column-gap: calc(var(--msr-spacing) * 3);\n }\n .msr\\:gap-y-1 {\n row-gap: var(--msr-spacing);\n }\n .msr\\:self-stretch {\n align-self: stretch;\n }\n .msr\\:justify-self-end {\n justify-self: flex-end;\n }\n .msr\\:truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .msr\\:overflow-auto {\n overflow: auto;\n }\n .msr\\:overflow-hidden {\n overflow: hidden;\n }\n .msr\\:overflow-visible {\n overflow: visible;\n }\n .msr\\:overflow-x-hidden {\n overflow-x: hidden;\n }\n .msr\\:overflow-y-auto {\n overflow-y: auto;\n }\n .msr\\:rounded {\n border-radius: 0.25rem;\n }\n .msr\\:rounded-\\[3px\\] {\n border-radius: 3px;\n }\n .msr\\:rounded-\\[5px\\] {\n border-radius: 5px;\n }\n .msr\\:rounded-\\[6px\\] {\n border-radius: 6px;\n }\n .msr\\:rounded-\\[7px\\] {\n border-radius: 7px;\n }\n .msr\\:rounded-\\[8px\\] {\n border-radius: 8px;\n }\n .msr\\:rounded-\\[10px\\] {\n border-radius: 10px;\n }\n .msr\\:rounded-\\[12px\\] {\n border-radius: 12px;\n }\n .msr\\:rounded-full {\n border-radius: calc(infinity * 1px);\n }\n .msr\\:rounded-lg {\n border-radius: var(--msr-radius-lg);\n }\n .msr\\:rounded-md {\n border-radius: var(--msr-radius-md);\n }\n .msr\\:rounded-none {\n border-radius: 0;\n }\n .msr\\:border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .msr\\:border-0 {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n .msr\\:border-t {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n }\n .msr\\:border-t-2 {\n border-top-style: var(--tw-border-style);\n border-top-width: 2px;\n }\n .msr\\:border-r {\n border-right-style: var(--tw-border-style);\n border-right-width: 1px;\n }\n .msr\\:border-b {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n .msr\\:border-l {\n border-left-style: var(--tw-border-style);\n border-left-width: 1px;\n }\n .msr\\:border-dashed {\n --tw-border-style: dashed;\n border-style: dashed;\n }\n .msr\\:border-dotted {\n --tw-border-style: dotted;\n border-style: dotted;\n }\n .msr\\:border-solid {\n --tw-border-style: solid;\n border-style: solid;\n }\n .msr\\:border-\\[\\#0d99ff\\] {\n border-color: #0d99ff;\n }\n .msr\\:border-\\[\\#2563eb\\]\\/70 {\n border-color: color-mix(in oklab, #2563eb 70%, transparent);\n }\n .msr\\:border-black\\/8 {\n border-color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--msr-color-black) 8%, transparent);\n }\n }\n .msr\\:border-black\\/10 {\n border-color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--msr-color-black) 10%, transparent);\n }\n }\n .msr\\:border-black\\/15 {\n border-color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--msr-color-black) 15%, transparent);\n }\n }\n .msr\\:border-ink-200 {\n border-color: var(--msr-color-ink-200);\n }\n .msr\\:border-ink-500 {\n border-color: var(--msr-color-ink-500);\n }\n .msr\\:border-ink-700 {\n border-color: var(--msr-color-ink-700);\n }\n .msr\\:border-red-200 {\n border-color: var(--msr-color-red-200);\n }\n .msr\\:border-transparent {\n border-color: transparent;\n }\n .msr\\:bg-\\[\\#0d99ff\\] {\n background-color: #0d99ff;\n }\n .msr\\:bg-\\[\\#0d99ff\\]\\/10 {\n background-color: color-mix(in oklab, #0d99ff 10%, transparent);\n }\n .msr\\:bg-\\[\\#2563eb\\] {\n background-color: #2563eb;\n }\n .msr\\:bg-\\[\\#fff\\] {\n background-color: #fff;\n }\n .msr\\:bg-black {\n background-color: var(--msr-color-black);\n }\n .msr\\:bg-black\\/10 {\n background-color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-black) 10%, transparent);\n }\n }\n .msr\\:bg-ink-50 {\n background-color: var(--msr-color-ink-50);\n }\n .msr\\:bg-ink-50\\/40 {\n background-color: var(--msr-color-ink-50);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-ink-50) 40%, transparent);\n }\n }\n .msr\\:bg-ink-900\\/90 {\n background-color: var(--msr-color-ink-900);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-ink-900) 90%, transparent);\n }\n }\n .msr\\:bg-transparent {\n background-color: transparent;\n }\n .msr\\:bg-white {\n background-color: var(--msr-color-white);\n }\n .msr\\:bg-white\\/60 {\n background-color: var(--msr-color-white);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-white) 60%, transparent);\n }\n }\n .msr\\:p-0 {\n padding: 0px;\n }\n .msr\\:p-1 {\n padding: var(--msr-spacing);\n }\n .msr\\:p-1\\.5 {\n padding: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:p-2 {\n padding: calc(var(--msr-spacing) * 2);\n }\n .msr\\:p-3 {\n padding: calc(var(--msr-spacing) * 3);\n }\n .msr\\:p-px {\n padding: 1px;\n }\n .msr\\:px-0 {\n padding-inline: 0px;\n }\n .msr\\:px-0\\.5 {\n padding-inline: calc(var(--msr-spacing) * 0.5);\n }\n .msr\\:px-1 {\n padding-inline: var(--msr-spacing);\n }\n .msr\\:px-1\\.5 {\n padding-inline: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:px-2 {\n padding-inline: calc(var(--msr-spacing) * 2);\n }\n .msr\\:px-2\\.5 {\n padding-inline: calc(var(--msr-spacing) * 2.5);\n }\n .msr\\:py-0 {\n padding-block: 0px;\n }\n .msr\\:py-0\\.5 {\n padding-block: calc(var(--msr-spacing) * 0.5);\n }\n .msr\\:py-1 {\n padding-block: var(--msr-spacing);\n }\n .msr\\:py-1\\.5 {\n padding-block: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:py-2 {\n padding-block: calc(var(--msr-spacing) * 2);\n }\n .msr\\:pt-2 {\n padding-top: calc(var(--msr-spacing) * 2);\n }\n .msr\\:pr-2 {\n padding-right: calc(var(--msr-spacing) * 2);\n }\n .msr\\:pr-6 {\n padding-right: calc(var(--msr-spacing) * 6);\n }\n .msr\\:pb-1 {\n padding-bottom: var(--msr-spacing);\n }\n .msr\\:pb-2 {\n padding-bottom: calc(var(--msr-spacing) * 2);\n }\n .msr\\:text-center {\n text-align: center;\n }\n .msr\\:text-left {\n text-align: left;\n }\n .msr\\:font-mono {\n font-family: var(--msr-font-mono);\n }\n .msr\\:text-\\[9px\\] {\n font-size: 9px;\n }\n .msr\\:text-\\[10px\\] {\n font-size: 10px;\n }\n .msr\\:text-\\[11px\\] {\n font-size: 11px;\n }\n .msr\\:text-\\[12px\\] {\n font-size: 12px;\n }\n .msr\\:leading-4 {\n --tw-leading: calc(var(--msr-spacing) * 4);\n line-height: calc(var(--msr-spacing) * 4);\n }\n .msr\\:leading-\\[1\\.4\\] {\n --tw-leading: 1.4;\n line-height: 1.4;\n }\n .msr\\:leading-\\[1\\.45\\] {\n --tw-leading: 1.45;\n line-height: 1.45;\n }\n .msr\\:leading-\\[18px\\] {\n --tw-leading: 18px;\n line-height: 18px;\n }\n .msr\\:leading-none {\n --tw-leading: 1;\n line-height: 1;\n }\n .msr\\:font-medium {\n --tw-font-weight: var(--msr-font-weight-medium);\n font-weight: var(--msr-font-weight-medium);\n }\n .msr\\:font-normal {\n --tw-font-weight: var(--msr-font-weight-normal);\n font-weight: var(--msr-font-weight-normal);\n }\n .msr\\:font-semibold {\n --tw-font-weight: var(--msr-font-weight-semibold);\n font-weight: var(--msr-font-weight-semibold);\n }\n .msr\\:text-ellipsis {\n text-overflow: ellipsis;\n }\n .msr\\:whitespace-nowrap {\n white-space: nowrap;\n }\n .msr\\:whitespace-pre-wrap {\n white-space: pre-wrap;\n }\n .msr\\:text-\\[\\#64748b\\] {\n color: #64748b;\n }\n .msr\\:text-black {\n color: var(--msr-color-black);\n }\n .msr\\:text-black\\/30 {\n color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--msr-color-black) 30%, transparent);\n }\n }\n .msr\\:text-black\\/45 {\n color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--msr-color-black) 45%, transparent);\n }\n }\n .msr\\:text-ink-50 {\n color: var(--msr-color-ink-50);\n }\n .msr\\:text-ink-500 {\n color: var(--msr-color-ink-500);\n }\n .msr\\:text-ink-700 {\n color: var(--msr-color-ink-700);\n }\n .msr\\:text-ink-900 {\n color: var(--msr-color-ink-900);\n }\n .msr\\:text-red-600 {\n color: var(--msr-color-red-600);\n }\n .msr\\:text-white {\n color: var(--msr-color-white);\n }\n .msr\\:text-white\\/60 {\n color: var(--msr-color-white);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--msr-color-white) 60%, transparent);\n }\n }\n .msr\\:tabular-nums {\n --tw-numeric-spacing: tabular-nums;\n font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);\n }\n .msr\\:opacity-0 {\n opacity: 0%;\n }\n .msr\\:opacity-60 {\n opacity: 60%;\n }\n .msr\\:opacity-80 {\n opacity: 80%;\n }\n .msr\\:opacity-100 {\n opacity: 100%;\n }\n .msr\\:shadow-lg {\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:shadow-sm {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:outline {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .msr\\:outline-transparent {\n outline-color: transparent;\n }\n .msr\\:transition-\\[max-width\\,opacity\\,transform\\,padding\\] {\n transition-property: max-width,opacity,transform,padding;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-\\[width\\,opacity\\] {\n transition-property: width,opacity;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-colors {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-opacity {\n transition-property: opacity;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-transform {\n transition-property: transform, translate, scale, rotate;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-none {\n transition-property: none;\n }\n .msr\\:duration-150 {\n --tw-duration: 150ms;\n transition-duration: 150ms;\n }\n .msr\\:ease-\\[ease\\] {\n --tw-ease: ease;\n transition-timing-function: ease;\n }\n .msr\\:outline-none {\n --tw-outline-style: none;\n outline-style: none;\n }\n .msr\\:select-none {\n -webkit-user-select: none;\n user-select: none;\n }\n @media (hover: hover) {\n .msr\\:group-hover\\:border-ink-200:is(:where(.msr\\:group):hover *) {\n border-color: var(--msr-color-ink-200);\n }\n }\n .msr\\:focus-within\\:rounded-l-\\[5px\\]:focus-within {\n border-top-left-radius: 5px;\n border-bottom-left-radius: 5px;\n }\n .msr\\:focus-within\\:rounded-r-\\[5px\\]:focus-within {\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px;\n }\n .msr\\:focus-within\\:outline:focus-within {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .msr\\:focus-within\\:outline-1:focus-within {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .msr\\:focus-within\\:outline-offset-\\[-1px\\]:focus-within {\n outline-offset: -1px;\n }\n .msr\\:focus-within\\:outline-\\[\\#0d99ff\\]:focus-within {\n outline-color: #0d99ff;\n }\n .msr\\:focus-within\\:outline-\\[var\\(--msr-accent\\)\\]:focus-within {\n outline-color: var(--msr-accent);\n }\n @media (hover: hover) {\n .msr\\:hover\\:border-ink-200:hover {\n border-color: var(--msr-color-ink-200);\n }\n .msr\\:hover\\:bg-\\[\\#0b8eea\\]:hover {\n background-color: #0b8eea;\n }\n .msr\\:hover\\:bg-\\[\\#0d99ff\\]:hover {\n background-color: #0d99ff;\n }\n .msr\\:hover\\:bg-black\\/4:hover {\n background-color: var(--msr-color-black);\n }\n @supports (color: color-mix(in lab, red, red)) {\n .msr\\:hover\\:bg-black\\/4:hover {\n background-color: color-mix(in oklab, var(--msr-color-black) 4%, transparent);\n }\n }\n .msr\\:hover\\:bg-black\\/10:hover {\n background-color: var(--msr-color-black);\n }\n @supports (color: color-mix(in lab, red, red)) {\n .msr\\:hover\\:bg-black\\/10:hover {\n background-color: color-mix(in oklab, var(--msr-color-black) 10%, transparent);\n }\n }\n .msr\\:hover\\:bg-ink-50:hover {\n background-color: var(--msr-color-ink-50);\n }\n .msr\\:hover\\:bg-red-50:hover {\n background-color: var(--msr-color-red-50);\n }\n .msr\\:hover\\:text-ink-700:hover {\n color: var(--msr-color-ink-700);\n }\n .msr\\:hover\\:text-ink-900:hover {\n color: var(--msr-color-ink-900);\n }\n .msr\\:hover\\:text-white:hover {\n color: var(--msr-color-white);\n }\n .msr\\:hover\\:underline:hover {\n text-decoration-line: underline;\n }\n }\n .msr\\:focus\\:border-\\[\\#0d99ff\\]:focus {\n border-color: #0d99ff;\n }\n .msr\\:focus\\:shadow-\\[inset_0_0_0_1px_\\#0d99ff\\]:focus {\n --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, #0d99ff);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus\\:shadow-\\[inset_0_0_0_1px_var\\(--msr-accent\\)\\]:focus {\n --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, var(--msr-accent));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus\\:outline-none:focus {\n --tw-outline-style: none;\n outline-style: none;\n }\n .msr\\:focus-visible\\:border-\\[\\#0d99ff\\]:focus-visible {\n border-color: #0d99ff;\n }\n .msr\\:focus-visible\\:bg-\\[\\#0d99ff\\]:focus-visible {\n background-color: #0d99ff;\n }\n .msr\\:focus-visible\\:text-white:focus-visible {\n color: var(--msr-color-white);\n }\n .msr\\:focus-visible\\:shadow-\\[inset_0_0_0_1px_\\#0d99ff\\]:focus-visible {\n --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, #0d99ff);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus-visible\\:shadow-\\[inset_0_0_0_1px_\\#ef4444\\]:focus-visible {\n --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, #ef4444);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus-visible\\:ring-1:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus-visible\\:ring-\\[\\#0d99ff\\]\\/25:focus-visible {\n --tw-ring-color: color-mix(in oklab, #0d99ff 25%, transparent);\n }\n .msr\\:focus-visible\\:outline-none:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n .msr\\:disabled\\:cursor-default:disabled {\n cursor: default;\n }\n .msr\\:disabled\\:opacity-40:disabled {\n opacity: 40%;\n }\n .msr\\:disabled\\:opacity-45:disabled {\n opacity: 45%;\n }\n @media (prefers-reduced-motion: reduce) {\n .msr\\:motion-reduce\\:transition-none {\n transition-property: none;\n }\n }\n}\n:root, :host {\n --color-ink-50: #f8fafc;\n --color-ink-200: #e2e8f0;\n --color-ink-500: #64748b;\n --color-ink-700: #334155;\n --color-ink-900: #0f172a;\n}\n:host {\n all: initial;\n display: block;\n color-scheme: light;\n color: #0f172a;\n font-family: ui-sans-serif, system-ui, sans-serif;\n font-size: 16px;\n font-weight: 400;\n line-height: 1.5;\n letter-spacing: normal;\n direction: ltr;\n --msr-spacing: 4px;\n}\n*, *::before, *::after {\n box-sizing: border-box;\n}\n@layer base {\n *, ::before, ::after, ::backdrop {\n --tw-border-style: solid;\n --tw-outline-style: solid;\n --tw-shadow: 0 0 #0000;\n --tw-inset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n }\n button, input, select, textarea {\n appearance: none;\n background-color: transparent;\n padding: 0;\n font: inherit;\n color: inherit;\n letter-spacing: inherit;\n }\n}\n.mesurer-toolbar-surface {\n box-shadow: 0 0 0.5px rgba(0, 0, 0, 0.18), 0 3px 8px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.1);\n}\n.mesurer-menu-surface {\n box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);\n}\n.mesurer-color-picker {\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n}\n.mesurer-settings-tabs {\n box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.08);\n}\n.mesurer-settings-tab[aria-selected=\"true\"] {\n box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.12);\n}\n.mesurer-switch-track {\n box-sizing: border-box;\n border: 1px solid #e2e8f0;\n}\n.mesurer-switch-track[data-checked=\"true\"] {\n border-color: #0d99ff;\n}\n.mesurer-control-shell {\n border: 1px solid transparent;\n}\n.mesurer-control-shell:hover {\n border-color: #e2e8f0;\n}\n.mesurer-control-focus:focus-within {\n outline: 1px solid #0d99ff;\n outline-offset: -1px;\n}\n.mesurer-root {\n --msr-spacing: 4px;\n}\nbody [data-mesurer-native-scroll-anchor=\"box\"][data-mesurer-nested-scroll-compensation=\"true\"] {\n position: absolute !important;\n left: calc(anchor(left) + var(--mesurer-nested-scroll-x, 0px)) !important;\n top: calc(anchor(top) + var(--mesurer-nested-scroll-y, 0px)) !important;\n}\nbody [data-mesurer-native-scroll-anchor=\"label\"][data-mesurer-nested-scroll-compensation=\"true\"] {\n position: absolute !important;\n left: calc(anchor(center) + var(--mesurer-nested-scroll-x, 0px)) !important;\n top: calc(anchor(bottom) + 2px + var(--mesurer-nested-scroll-y, 0px)) !important;\n}\nbody [data-mesurer-native-scroll-anchor=\"offset\"][data-mesurer-nested-scroll-compensation=\"true\"] {\n position: absolute !important;\n left: calc(anchor(left) + var(--mesurer-native-anchor-x, 0px) + var(--mesurer-nested-scroll-x, 0px)) !important;\n top: calc(anchor(top) + var(--mesurer-native-anchor-y, 0px) + var(--mesurer-nested-scroll-y, 0px)) !important;\n}\n[data-mesurer-text-edit-ring=\"true\"], [data-mesurer-text-selection-highlight=\"true\"], [data-mesurer-text-caret=\"true\"] {\n z-index: 2147482900 !important;\n}\n[data-mesurer-text-inspector-placement-shell=\"true\"], .mesurer-ti-card {\n z-index: 2147483647 !important;\n}\n[data-mesurer-context-root=\"true\"] [data-mesurer-annotation-scroll-mode=\"document\"] {\n position: absolute !important;\n}\n[data-mesurer-annotation-scroll-mode=\"native-anchor\"] {\n position: fixed !important;\n}\n[data-mesurer-native-scroll-anchor=\"offset\"][data-mesurer-nested-scroll-compensation=\"true\"][data-mesurer-annotation-scroll-mode=\"native-anchor\"] {\n position: fixed !important;\n}\n[data-mesurer-annotation-badge=\"true\"] {\n width: 20px !important;\n height: 20px !important;\n transform: none !important;\n transition: width 150ms ease, height 150ms ease, background 150ms ease, color 150ms ease, box-shadow 150ms ease !important;\n}\n[data-mesurer-annotation-marker=\"true\"][data-mesurer-annotation-highlighted=\"true\"] > [data-mesurer-annotation-badge=\"true\"] {\n width: 24px !important;\n height: 24px !important;\n}\n[data-mesurer-root=\"true\"][data-mesurer-direct-text-edit-active=\"true\"] [data-mesurer-annotation-trigger=\"true\"], [data-mesurer-context-root=\"true\"][data-mesurer-direct-text-edit-active=\"true\"] [data-mesurer-annotation-trigger=\"true\"] {\n display: none !important;\n}\n[data-mesurer-plugin-settings] [role=\"switch\"] {\n grid-template-columns: minmax(0, 1fr) auto;\n}\n[data-mesurer-plugin-settings] [role=\"switch\"] > span:first-child {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n[data-mesurer-plugin-settings-disclosure=\"plugins\"] {\n width: calc(100% + 16px);\n margin-inline: -8px;\n}\n.mesurer-solid-root {\n position: fixed;\n inset: 0;\n z-index: 2147483000;\n pointer-events: none;\n --msr-spacing: 4px;\n}\n.mesurer-solid-root [role=\"slider\"] {\n border: 0;\n}\n[data-mesurer-distance-kind=\"selection-spacing\"][data-mesurer-distance-active=\"true\"] [data-mesurer-distance-hover-target=\"true\"] {\n opacity: 1 !important;\n}\n[data-mesurer-distance-kind=\"selection-spacing\"][data-mesurer-distance-active=\"true\"]:has([data-mesurer-distance-label-axis=\"x\"]:hover) [data-mesurer-distance-line^=\"vertical\"], [data-mesurer-distance-kind=\"selection-spacing\"][data-mesurer-distance-active=\"true\"]:has([data-mesurer-distance-label-axis=\"y\"]:hover) [data-mesurer-distance-line^=\"horizontal\"], [data-mesurer-distance-kind=\"selection-spacing\"][data-mesurer-distance-active=\"true\"]:has([data-mesurer-distance-label-axis]:hover) [data-mesurer-distance-connector=\"true\"] {\n opacity: 0.16 !important;\n}\nbody.mesurer-solid-xray * {\n outline: solid 1px blue !important;\n}\nbody.mesurer-solid-xray [data-mesurer-root], body.mesurer-solid-xray [data-mesurer-root] *, body.mesurer-solid-xray [data-mesurer-inspector-ui], body.mesurer-solid-xray [data-mesurer-inspector-ui] *, body.mesurer-solid-xray .mesurer-toolbar-surface, body.mesurer-solid-xray .mesurer-toolbar-surface *, body.mesurer-solid-xray .mesurer-ti-box, body.mesurer-solid-xray .mesurer-ti-card, body.mesurer-solid-xray .mesurer-ti-card *, body.mesurer-solid-xray .mesurer-ti-close {\n outline: none !important;\n}\n[data-mesurer-toolbar=\"true\"] > div:has(> [data-mesurer-toolbar-compact-item]) {\n transition: padding-inline 150ms ease;\n}\n[data-mesurer-toolbar=\"true\"][data-mesurer-toolbar-compact=\"true\"] > div:has(> [data-mesurer-toolbar-compact-item]):not(:has(> [data-mesurer-toolbar-compact-item][data-visible=\"true\"])) {\n padding-inline: 0;\n}\n[data-mesurer-selected-measurement=\"true\"]:has(> [data-mesurer-native-scroll-anchor=\"box\"]) {\n display: contents !important;\n}\n@media (prefers-reduced-motion: reduce) {\n [data-mesurer-toolbar=\"true\"] > div:has(> [data-mesurer-toolbar-compact-item]) {\n transition: none;\n }\n [data-mesurer-annotation-badge=\"true\"] {\n transition: none !important;\n }\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) {\n --msr-accent: #0d99ff;\n --msr-surface: #fff;\n --msr-surface-raised: #fff;\n --msr-surface-muted: #f8fafc;\n --msr-content: #18181b;\n --msr-color-white: #fff;\n --msr-color-black: #000;\n --msr-color-ink-50: #f8fafc;\n --msr-color-ink-100: #f1f5f9;\n --msr-color-ink-200: #e2e8f0;\n --msr-color-ink-300: #cbd5e1;\n --msr-color-ink-500: #64748b;\n --msr-color-ink-700: #334155;\n --msr-color-ink-900: #18181b;\n --color-ink-50: var(--msr-color-ink-50);\n --color-ink-100: var(--msr-color-ink-100);\n --color-ink-200: var(--msr-color-ink-200);\n --color-ink-300: var(--msr-color-ink-300);\n --color-ink-500: var(--msr-color-ink-500);\n --color-ink-700: var(--msr-color-ink-700);\n --color-ink-900: var(--msr-color-ink-900);\n --msr-danger-bg: #fef2f2;\n --msr-danger-border: #fecaca;\n --msr-danger-text: #dc2626;\n --msr-danger-solid-bg: #dc2626;\n --msr-danger-solid-hover: #b91c1c;\n --msr-danger-solid-text: #fff;\n --color-red-50: var(--msr-danger-bg);\n --color-red-200: var(--msr-danger-border);\n --color-red-600: var(--msr-danger-text);\n --color-red-700: #b91c1c;\n --msr-control-thumb: #fff;\n --msr-slider-track: rgba(15, 23, 42, 0.16);\n --msr-shadow-toolbar: 0 0 0.4px rgba(0, 0, 0, 0.22),\n 0 6px 18px rgba(0, 0, 0, 0.03),\n 0 3px 9px rgba(0, 0, 0, 0.06),\n 0 1px 1px rgba(0, 0, 0, 0.06);\n --msr-shadow-floating: 0 0 0 0.4px rgba(0, 0, 0, 0.22),\n 0 6px 18px rgba(0, 0, 0, 0.03),\n 0 3px 9px rgba(0, 0, 0, 0.06),\n 0 1px 1px rgba(0, 0, 0, 0.06);\n --msr-shadow-select-menu: var(--msr-shadow-floating);\n color: var(--msr-content);\n color-scheme: light;\n}\n:where( [data-mesurer-root=\"true\"][data-theme=\"dark\"], [data-mesurer-inspector-ui=\"true\"][data-theme=\"dark\"] ) {\n --msr-accent: #0c8ce9;\n --msr-surface: #323232;\n --msr-surface-raised: #3a3a3a;\n --msr-surface-muted: #3a3a3a;\n --msr-content: #f5f5f5;\n --msr-color-white: #f5f5f5;\n --msr-color-black: #171717;\n --msr-color-ink-50: #3a3a3a;\n --msr-color-ink-100: #414141;\n --msr-color-ink-200: #4a4a4a;\n --msr-color-ink-300: #5a5a5a;\n --msr-color-ink-500: #a0a0a0;\n --msr-color-ink-700: #dedede;\n --msr-color-ink-900: #f5f5f5;\n --msr-danger-bg: #3f2020;\n --msr-danger-border: #7f3f46;\n --msr-danger-text: #f87171;\n --msr-danger-solid-bg: #c95058;\n --msr-danger-solid-hover: #b7424b;\n --msr-danger-solid-text: #f5f5f5;\n --color-red-700: #fca5a5;\n --msr-control-thumb: #f4f4f5;\n --msr-slider-track: rgba(245, 245, 245, 0.24);\n --msr-shadow-toolbar: 0 0 0.4px lch(100% 0 0 / 0.10),\n 0 3px 8px lch(0% 0 0 / 0.125),\n 0 2px 5px lch(0% 0 0 / 0.125),\n 0 1px 1px lch(0% 0 0 / 0.125);\n --msr-shadow-floating: 0 0 0 0.4px lch(100% 0 0 / 0.05),\n 0 4px 12px lch(0% 0 0 / 0.12),\n 0 1px 3px lch(0% 0 0 / 0.10);\n --msr-shadow-select-menu: 0 0 0 0.4px lch(100% 0 0 / 0.14),\n 0 4px 12px lch(0% 0 0 / 0.22),\n 0 1px 3px lch(0% 0 0 / 0.18);\n color-scheme: dark;\n}\n@media (prefers-color-scheme: dark) {\n :where( [data-mesurer-root=\"true\"][data-theme=\"system\"], [data-mesurer-inspector-ui=\"true\"][data-theme=\"system\"] ) {\n --msr-accent: #0c8ce9;\n --msr-surface: #323232;\n --msr-surface-raised: #3a3a3a;\n --msr-surface-muted: #3a3a3a;\n --msr-content: #f5f5f5;\n --msr-color-white: #f5f5f5;\n --msr-color-black: #171717;\n --msr-color-ink-50: #3a3a3a;\n --msr-color-ink-100: #414141;\n --msr-color-ink-200: #4a4a4a;\n --msr-color-ink-300: #5a5a5a;\n --msr-color-ink-500: #a0a0a0;\n --msr-color-ink-700: #dedede;\n --msr-color-ink-900: #f5f5f5;\n --msr-danger-bg: #3f2020;\n --msr-danger-border: #7f3f46;\n --msr-danger-text: #f87171;\n --msr-danger-solid-bg: #c95058;\n --msr-danger-solid-hover: #b7424b;\n --msr-danger-solid-text: #f5f5f5;\n --color-red-700: #fca5a5;\n --msr-control-thumb: #f4f4f5;\n --msr-slider-track: rgba(245, 245, 245, 0.24);\n --msr-shadow-toolbar: 0 0 0.4px lch(100% 0 0 / 0.10),\n 0 3px 8px lch(0% 0 0 / 0.125),\n 0 2px 5px lch(0% 0 0 / 0.125),\n 0 1px 1px lch(0% 0 0 / 0.125);\n --msr-shadow-floating: 0 0 0 0.4px lch(100% 0 0 / 0.05),\n 0 4px 12px lch(0% 0 0 / 0.12),\n 0 1px 3px lch(0% 0 0 / 0.10);\n --msr-shadow-select-menu: 0 0 0 0.4px lch(100% 0 0 / 0.14),\n 0 4px 12px lch(0% 0 0 / 0.22),\n 0 1px 3px lch(0% 0 0 / 0.18);\n color-scheme: dark;\n }\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:bg-white\"], :where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:bg-[#fff]\"] {\n background-color: var(--msr-surface) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:text-black\"] {\n color: var(--msr-content) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:hover:bg-black/4\"]:hover, :where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:hover:bg-black/5\"]:hover {\n background-color: var(--msr-content) !important;\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in srgb, var(--msr-content) 6%, transparent) !important;\n }\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) .mesurer-toolbar-surface {\n background-color: var(--msr-surface) !important;\n box-shadow: var(--msr-shadow-toolbar) !important;\n color: var(--msr-content);\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) :is( .mesurer-menu-surface, .mesurer-color-picker, .mesurer-ti-card, [data-mesurer-text-inspector-info=\"true\"], [data-mesurer-annotation-panel=\"true\"], [data-mesurer-annotation-composer=\"true\"] ) {\n background-color: var(--msr-surface-raised) !important;\n color: var(--msr-content) !important;\n box-shadow: var(--msr-shadow-floating) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) .mesurer-switch-track[data-checked=\"false\"], :where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) .mesurer-control-shell {\n background-color: var(--msr-surface-muted) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) .mesurer-switch-track > span {\n background-color: var(--msr-control-thumb) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) :is(.mesurer-settings-select, .mesurer-settings-select-menu) {\n background-color: var(--msr-surface-raised) !important;\n border-color: var(--msr-color-ink-200) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [data-mesurer-rulers=\"true\"] {\n color: var(--msr-color-ink-500) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [data-slider-container=\"true\"] > div:first-child {\n background-color: var(--msr-slider-track) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:bg-[#0d99ff]\"] {\n background-color: var(--msr-accent) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:border-[#0d99ff]\"] {\n border-color: var(--msr-accent) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:hover:bg-[#0d99ff]\"]:hover, :where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:focus-visible:bg-[#0d99ff]\"]:focus-visible {\n background-color: var(--msr-accent) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:text-white\"] {\n color: var(--msr-color-white) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [data-slider-thumb=\"true\"]:focus-visible {\n box-shadow: 0 0 0 1px var(--msr-accent) !important;\n @supports (color: color-mix(in lab, red, red)) {\n box-shadow: 0 0 0 1px color-mix(in srgb, var(--msr-accent) 25%, transparent) !important;\n }\n}\n:where([data-mesurer-root=\"true\"], [data-mesurer-inspector-ui=\"true\"]) {\n --msr-radius-control: 5px;\n}\n@layer utilities {\n .msr\\:rounded-control {\n border-radius: var(--msr-radius-control);\n }\n}\n.mesurer-thin-scrollbar {\n scrollbar-width: thin;\n scrollbar-color: var(--msr-color-ink-200) transparent;\n}\n.mesurer-thin-scrollbar::-webkit-scrollbar {\n width: 4px;\n height: 4px;\n}\n.mesurer-thin-scrollbar::-webkit-scrollbar-track {\n background: transparent;\n}\n.mesurer-thin-scrollbar::-webkit-scrollbar-thumb {\n background: var(--msr-color-ink-200);\n border-radius: var(--msr-radius-control);\n}\n.mesurer-thin-scrollbar:hover {\n scrollbar-color: var(--msr-color-ink-300) transparent;\n}\n.mesurer-thin-scrollbar:hover::-webkit-scrollbar-thumb {\n background: var(--msr-color-ink-300);\n}\n.mesurer-thin-scrollbar::-webkit-scrollbar-corner {\n background: transparent;\n}\n@property --tw-translate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-leading {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ordinal {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-slashed-zero {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-figure {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-spacing {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-fraction {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-inset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-ring-inset {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-offset-width {\n syntax: \"<length>\";\n inherits: false;\n initial-value: 0px;\n}\n@property --tw-ring-offset-color {\n syntax: \"*\";\n inherits: false;\n initial-value: #fff;\n}\n@property --tw-ring-offset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-outline-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-duration {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ease {\n syntax: \"*\";\n inherits: false;\n}\n@layer properties {\n @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {\n *, ::before, ::after, ::backdrop {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-border-style: solid;\n --tw-leading: initial;\n --tw-font-weight: initial;\n --tw-ordinal: initial;\n --tw-slashed-zero: initial;\n --tw-numeric-figure: initial;\n --tw-numeric-spacing: initial;\n --tw-numeric-fraction: initial;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-color: initial;\n --tw-shadow-alpha: 100%;\n --tw-inset-shadow: 0 0 #0000;\n --tw-inset-shadow-color: initial;\n --tw-inset-shadow-alpha: 100%;\n --tw-ring-color: initial;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-color: initial;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-inset: initial;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-outline-style: solid;\n --tw-duration: initial;\n --tw-ease: initial;\n }\n }\n}\n", Ii = {
3298
+ fa({}, !0);
3299
+ var pa = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer theme, base, components, utilities;\n@layer theme {\n :root, :host {\n --msr-font-sans: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\",\n \"Noto Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\",\n \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --msr-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\n \"Courier New\", monospace;\n --msr-color-red-50: oklch(97.1% 0.013 17.38);\n --msr-color-red-200: oklch(88.5% 0.062 18.334);\n --msr-color-red-600: oklch(57.7% 0.245 27.325);\n --msr-color-black: #000;\n --msr-color-white: #fff;\n --msr-spacing: 0.25rem;\n --msr-font-weight-normal: 400;\n --msr-font-weight-medium: 500;\n --msr-font-weight-semibold: 600;\n --msr-radius-md: 0.375rem;\n --msr-radius-lg: 0.5rem;\n --msr-default-transition-duration: 150ms;\n --msr-default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n --msr-default-font-family: var(--msr-font-sans);\n --msr-default-mono-font-family: var(--msr-font-mono);\n --msr-color-ink-50: #f8fafc;\n --msr-color-ink-200: #e2e8f0;\n --msr-color-ink-500: #64748b;\n --msr-color-ink-700: #334155;\n --msr-color-ink-900: #0f172a;\n }\n}\n@layer base {\n *, ::after, ::before, ::backdrop, ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html, :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n font-family: var(--msr-default-font-family, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");\n font-feature-settings: var(--msr-default-font-feature-settings, normal);\n font-variation-settings: var(--msr-default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b, strong {\n font-weight: bolder;\n }\n code, kbd, samp, pre {\n font-family: var(--msr-default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-feature-settings: var(--msr-default-mono-font-feature-settings, normal);\n font-variation-settings: var(--msr-default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub, sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring:where(:not(iframe)) {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol, ul, menu {\n list-style: none;\n }\n img, svg, video, canvas, audio, iframe, embed, object {\n display: block;\n vertical-align: middle;\n }\n img, video {\n max-width: 100%;\n height: auto;\n }\n button, input, select, optgroup, textarea, ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n ::-webkit-calendar-picker-indicator {\n line-height: 1;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n}\n@layer utilities {\n .msr\\:pointer-events-auto {\n pointer-events: auto;\n }\n .msr\\:pointer-events-none {\n pointer-events: none;\n }\n .msr\\:absolute {\n position: absolute;\n }\n .msr\\:fixed {\n position: fixed;\n }\n .msr\\:relative {\n position: relative;\n }\n .msr\\:inset-0 {\n inset: 0px;\n }\n .msr\\:top-0 {\n top: 0px;\n }\n .msr\\:top-1\\/2 {\n top: calc(1 / 2 * 100%);\n }\n .msr\\:top-\\[18px\\] {\n top: 18px;\n }\n .msr\\:top-full {\n top: 100%;\n }\n .msr\\:right-0 {\n right: 0px;\n }\n .msr\\:right-2 {\n right: calc(var(--msr-spacing) * 2);\n }\n .msr\\:right-\\[8px\\] {\n right: 8px;\n }\n .msr\\:bottom-0 {\n bottom: 0px;\n }\n .msr\\:bottom-full {\n bottom: 100%;\n }\n .msr\\:left-0 {\n left: 0px;\n }\n .msr\\:left-1\\/2 {\n left: calc(1 / 2 * 100%);\n }\n .msr\\:left-\\[8px\\] {\n left: 8px;\n }\n .msr\\:left-\\[18px\\] {\n left: 18px;\n }\n .msr\\:z-10 {\n z-index: 10;\n }\n .msr\\:z-\\[60\\] {\n z-index: 60;\n }\n .msr\\:z-\\[70\\] {\n z-index: 70;\n }\n .msr\\:z-\\[80\\] {\n z-index: 80;\n }\n .msr\\:z-\\[90\\] {\n z-index: 90;\n }\n .msr\\:z-\\[94\\] {\n z-index: 94;\n }\n .msr\\:z-\\[95\\] {\n z-index: 95;\n }\n .msr\\:col-span-2 {\n grid-column: span 2 / span 2;\n }\n .msr\\:col-start-1 {\n grid-column-start: 1;\n }\n .msr\\:col-start-2 {\n grid-column-start: 2;\n }\n .msr\\:col-start-3 {\n grid-column-start: 3;\n }\n .msr\\:m-0 {\n margin: 0px;\n }\n .msr\\:mx-1 {\n margin-inline: var(--msr-spacing);\n }\n .msr\\:mt-1 {\n margin-top: var(--msr-spacing);\n }\n .msr\\:mt-1\\.5 {\n margin-top: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:mt-2 {\n margin-top: calc(var(--msr-spacing) * 2);\n }\n .msr\\:mb-1 {\n margin-bottom: var(--msr-spacing);\n }\n .msr\\:mb-2 {\n margin-bottom: calc(var(--msr-spacing) * 2);\n }\n .msr\\:-ml-1 {\n margin-left: calc(var(--msr-spacing) * -1);\n }\n .msr\\:ml-1 {\n margin-left: var(--msr-spacing);\n }\n .msr\\:ml-2 {\n margin-left: calc(var(--msr-spacing) * 2);\n }\n .msr\\:ml-6 {\n margin-left: calc(var(--msr-spacing) * 6);\n }\n .msr\\:box-border {\n box-sizing: border-box;\n }\n .msr\\:block {\n display: block;\n }\n .msr\\:flex {\n display: flex;\n }\n .msr\\:grid {\n display: grid;\n }\n .msr\\:inline-flex {\n display: inline-flex;\n }\n .msr\\:size-1\\.5 {\n width: calc(var(--msr-spacing) * 1.5);\n height: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:size-3 {\n width: calc(var(--msr-spacing) * 3);\n height: calc(var(--msr-spacing) * 3);\n }\n .msr\\:size-4 {\n width: calc(var(--msr-spacing) * 4);\n height: calc(var(--msr-spacing) * 4);\n }\n .msr\\:size-6 {\n width: calc(var(--msr-spacing) * 6);\n height: calc(var(--msr-spacing) * 6);\n }\n .msr\\:size-7 {\n width: calc(var(--msr-spacing) * 7);\n height: calc(var(--msr-spacing) * 7);\n }\n .msr\\:size-8 {\n width: calc(var(--msr-spacing) * 8);\n height: calc(var(--msr-spacing) * 8);\n }\n .msr\\:size-\\[10px\\] {\n width: 10px;\n height: 10px;\n }\n .msr\\:size-\\[18px\\] {\n width: 18px;\n height: 18px;\n }\n .msr\\:size-full {\n width: 100%;\n height: 100%;\n }\n .msr\\:h-5 {\n height: calc(var(--msr-spacing) * 5);\n }\n .msr\\:h-6 {\n height: calc(var(--msr-spacing) * 6);\n }\n .msr\\:h-7 {\n height: calc(var(--msr-spacing) * 7);\n }\n .msr\\:h-8 {\n height: calc(var(--msr-spacing) * 8);\n }\n .msr\\:h-20 {\n height: calc(var(--msr-spacing) * 20);\n }\n .msr\\:h-\\[14px\\] {\n height: 14px;\n }\n .msr\\:h-\\[18px\\] {\n height: 18px;\n }\n .msr\\:h-\\[19px\\] {\n height: 19px;\n }\n .msr\\:h-full {\n height: 100%;\n }\n .msr\\:h-px {\n height: 1px;\n }\n .msr\\:max-h-36 {\n max-height: calc(var(--msr-spacing) * 36);\n }\n .msr\\:max-h-\\[220px\\] {\n max-height: 220px;\n }\n .msr\\:max-h-\\[calc\\(100vh-16px\\)\\] {\n max-height: calc(100vh - 16px);\n }\n .msr\\:max-h-\\[min\\(70vh\\,34rem\\)\\] {\n max-height: min(70vh, 34rem);\n }\n .msr\\:max-h-\\[min\\(320px\\,calc\\(100vh-16px\\)\\)\\] {\n max-height: min(320px, calc(100vh - 16px));\n }\n .msr\\:min-h-0 {\n min-height: 0px;\n }\n .msr\\:w-0 {\n width: 0px;\n }\n .msr\\:w-3 {\n width: calc(var(--msr-spacing) * 3);\n }\n .msr\\:w-4 {\n width: calc(var(--msr-spacing) * 4);\n }\n .msr\\:w-5 {\n width: calc(var(--msr-spacing) * 5);\n }\n .msr\\:w-6 {\n width: calc(var(--msr-spacing) * 6);\n }\n .msr\\:w-9 {\n width: calc(var(--msr-spacing) * 9);\n }\n .msr\\:w-12 {\n width: calc(var(--msr-spacing) * 12);\n }\n .msr\\:w-44 {\n width: calc(var(--msr-spacing) * 44);\n }\n .msr\\:w-60 {\n width: calc(var(--msr-spacing) * 60);\n }\n .msr\\:w-\\[18px\\] {\n width: 18px;\n }\n .msr\\:w-\\[26px\\] {\n width: 26px;\n }\n .msr\\:w-\\[272px\\] {\n width: 272px;\n }\n .msr\\:w-full {\n width: 100%;\n }\n .msr\\:w-px {\n width: 1px;\n }\n .msr\\:max-w-0 {\n max-width: 0px;\n }\n .msr\\:max-w-20 {\n max-width: calc(var(--msr-spacing) * 20);\n }\n .msr\\:max-w-\\[calc\\(100vw-16px\\)\\] {\n max-width: calc(100vw - 16px);\n }\n .msr\\:min-w-0 {\n min-width: 0px;\n }\n .msr\\:min-w-36 {\n min-width: calc(var(--msr-spacing) * 36);\n }\n .msr\\:flex-1 {\n flex: 1;\n }\n .msr\\:flex-none {\n flex: none;\n }\n .msr\\:shrink-0 {\n flex-shrink: 0;\n }\n .msr\\:-translate-x-1 {\n --tw-translate-x: calc(var(--msr-spacing) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .msr\\:-translate-x-1\\/2 {\n --tw-translate-x: calc(calc(1 / 2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .msr\\:translate-x-0 {\n --tw-translate-x: 0px;\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .msr\\:-translate-y-1\\/2 {\n --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .msr\\:-rotate-90 {\n rotate: calc(90deg * -1);\n }\n .msr\\:rotate-45 {\n rotate: 45deg;\n }\n .msr\\:rotate-90 {\n rotate: 90deg;\n }\n .msr\\:rotate-180 {\n rotate: 180deg;\n }\n .msr\\:rotate-\\[45deg\\] {\n rotate: 45deg;\n }\n .msr\\:rotate-\\[135deg\\] {\n rotate: 135deg;\n }\n .msr\\:cursor-crosshair {\n cursor: crosshair;\n }\n .msr\\:cursor-default {\n cursor: default;\n }\n .msr\\:cursor-pointer {\n cursor: pointer;\n }\n .msr\\:touch-none {\n touch-action: none;\n }\n .msr\\:resize-none {\n resize: none;\n }\n .msr\\:list-none {\n list-style-type: none;\n }\n .msr\\:appearance-none {\n appearance: none;\n }\n .msr\\:grid-cols-\\[78px_150px\\] {\n grid-template-columns: 78px 150px;\n }\n .msr\\:grid-cols-\\[78px_156px\\] {\n grid-template-columns: 78px 156px;\n }\n .msr\\:grid-cols-\\[78px_minmax\\(0\\,1fr\\)\\] {\n grid-template-columns: 78px minmax(0,1fr);\n }\n .msr\\:grid-cols-\\[minmax\\(0\\,1fr\\)_28px_34px\\] {\n grid-template-columns: minmax(0,1fr) 28px 34px;\n }\n .msr\\:flex-col {\n flex-direction: column;\n }\n .msr\\:items-center {\n align-items: center;\n }\n .msr\\:items-start {\n align-items: flex-start;\n }\n .msr\\:items-stretch {\n align-items: stretch;\n }\n .msr\\:justify-between {\n justify-content: space-between;\n }\n .msr\\:justify-center {\n justify-content: center;\n }\n .msr\\:justify-end {\n justify-content: flex-end;\n }\n .msr\\:gap-0 {\n gap: 0px;\n }\n .msr\\:gap-0\\.5 {\n gap: calc(var(--msr-spacing) * 0.5);\n }\n .msr\\:gap-1 {\n gap: var(--msr-spacing);\n }\n .msr\\:gap-1\\.5 {\n gap: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:gap-2 {\n gap: calc(var(--msr-spacing) * 2);\n }\n .msr\\:gap-3 {\n gap: calc(var(--msr-spacing) * 3);\n }\n .msr\\:gap-px {\n gap: 1px;\n }\n .msr\\:gap-x-3 {\n column-gap: calc(var(--msr-spacing) * 3);\n }\n .msr\\:gap-y-1 {\n row-gap: var(--msr-spacing);\n }\n .msr\\:self-stretch {\n align-self: stretch;\n }\n .msr\\:justify-self-end {\n justify-self: flex-end;\n }\n .msr\\:truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .msr\\:overflow-auto {\n overflow: auto;\n }\n .msr\\:overflow-hidden {\n overflow: hidden;\n }\n .msr\\:overflow-visible {\n overflow: visible;\n }\n .msr\\:overflow-x-hidden {\n overflow-x: hidden;\n }\n .msr\\:overflow-y-auto {\n overflow-y: auto;\n }\n .msr\\:rounded {\n border-radius: 0.25rem;\n }\n .msr\\:rounded-\\[3px\\] {\n border-radius: 3px;\n }\n .msr\\:rounded-\\[5px\\] {\n border-radius: 5px;\n }\n .msr\\:rounded-\\[6px\\] {\n border-radius: 6px;\n }\n .msr\\:rounded-\\[7px\\] {\n border-radius: 7px;\n }\n .msr\\:rounded-\\[8px\\] {\n border-radius: 8px;\n }\n .msr\\:rounded-\\[10px\\] {\n border-radius: 10px;\n }\n .msr\\:rounded-\\[12px\\] {\n border-radius: 12px;\n }\n .msr\\:rounded-full {\n border-radius: calc(infinity * 1px);\n }\n .msr\\:rounded-lg {\n border-radius: var(--msr-radius-lg);\n }\n .msr\\:rounded-md {\n border-radius: var(--msr-radius-md);\n }\n .msr\\:rounded-none {\n border-radius: 0;\n }\n .msr\\:border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .msr\\:border-0 {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n .msr\\:border-t {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n }\n .msr\\:border-t-2 {\n border-top-style: var(--tw-border-style);\n border-top-width: 2px;\n }\n .msr\\:border-r {\n border-right-style: var(--tw-border-style);\n border-right-width: 1px;\n }\n .msr\\:border-b {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n .msr\\:border-l {\n border-left-style: var(--tw-border-style);\n border-left-width: 1px;\n }\n .msr\\:border-dashed {\n --tw-border-style: dashed;\n border-style: dashed;\n }\n .msr\\:border-dotted {\n --tw-border-style: dotted;\n border-style: dotted;\n }\n .msr\\:border-solid {\n --tw-border-style: solid;\n border-style: solid;\n }\n .msr\\:border-\\[\\#0d99ff\\] {\n border-color: #0d99ff;\n }\n .msr\\:border-\\[\\#2563eb\\]\\/70 {\n border-color: color-mix(in oklab, #2563eb 70%, transparent);\n }\n .msr\\:border-black\\/8 {\n border-color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--msr-color-black) 8%, transparent);\n }\n }\n .msr\\:border-black\\/10 {\n border-color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--msr-color-black) 10%, transparent);\n }\n }\n .msr\\:border-black\\/15 {\n border-color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n border-color: color-mix(in oklab, var(--msr-color-black) 15%, transparent);\n }\n }\n .msr\\:border-ink-200 {\n border-color: var(--msr-color-ink-200);\n }\n .msr\\:border-ink-500 {\n border-color: var(--msr-color-ink-500);\n }\n .msr\\:border-ink-700 {\n border-color: var(--msr-color-ink-700);\n }\n .msr\\:border-red-200 {\n border-color: var(--msr-color-red-200);\n }\n .msr\\:border-transparent {\n border-color: transparent;\n }\n .msr\\:bg-\\[\\#0d99ff\\] {\n background-color: #0d99ff;\n }\n .msr\\:bg-\\[\\#0d99ff\\]\\/10 {\n background-color: color-mix(in oklab, #0d99ff 10%, transparent);\n }\n .msr\\:bg-\\[\\#2563eb\\] {\n background-color: #2563eb;\n }\n .msr\\:bg-\\[\\#fff\\] {\n background-color: #fff;\n }\n .msr\\:bg-black {\n background-color: var(--msr-color-black);\n }\n .msr\\:bg-black\\/10 {\n background-color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-black) 10%, transparent);\n }\n }\n .msr\\:bg-ink-50 {\n background-color: var(--msr-color-ink-50);\n }\n .msr\\:bg-ink-50\\/40 {\n background-color: var(--msr-color-ink-50);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-ink-50) 40%, transparent);\n }\n }\n .msr\\:bg-ink-900\\/90 {\n background-color: var(--msr-color-ink-900);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-ink-900) 90%, transparent);\n }\n }\n .msr\\:bg-transparent {\n background-color: transparent;\n }\n .msr\\:bg-white {\n background-color: var(--msr-color-white);\n }\n .msr\\:bg-white\\/60 {\n background-color: var(--msr-color-white);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--msr-color-white) 60%, transparent);\n }\n }\n .msr\\:p-0 {\n padding: 0px;\n }\n .msr\\:p-1 {\n padding: var(--msr-spacing);\n }\n .msr\\:p-1\\.5 {\n padding: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:p-2 {\n padding: calc(var(--msr-spacing) * 2);\n }\n .msr\\:p-3 {\n padding: calc(var(--msr-spacing) * 3);\n }\n .msr\\:p-px {\n padding: 1px;\n }\n .msr\\:px-0 {\n padding-inline: 0px;\n }\n .msr\\:px-0\\.5 {\n padding-inline: calc(var(--msr-spacing) * 0.5);\n }\n .msr\\:px-1 {\n padding-inline: var(--msr-spacing);\n }\n .msr\\:px-1\\.5 {\n padding-inline: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:px-2 {\n padding-inline: calc(var(--msr-spacing) * 2);\n }\n .msr\\:px-2\\.5 {\n padding-inline: calc(var(--msr-spacing) * 2.5);\n }\n .msr\\:py-0 {\n padding-block: 0px;\n }\n .msr\\:py-0\\.5 {\n padding-block: calc(var(--msr-spacing) * 0.5);\n }\n .msr\\:py-1 {\n padding-block: var(--msr-spacing);\n }\n .msr\\:py-1\\.5 {\n padding-block: calc(var(--msr-spacing) * 1.5);\n }\n .msr\\:py-2 {\n padding-block: calc(var(--msr-spacing) * 2);\n }\n .msr\\:pt-2 {\n padding-top: calc(var(--msr-spacing) * 2);\n }\n .msr\\:pr-2 {\n padding-right: calc(var(--msr-spacing) * 2);\n }\n .msr\\:pr-6 {\n padding-right: calc(var(--msr-spacing) * 6);\n }\n .msr\\:pb-1 {\n padding-bottom: var(--msr-spacing);\n }\n .msr\\:pb-2 {\n padding-bottom: calc(var(--msr-spacing) * 2);\n }\n .msr\\:text-center {\n text-align: center;\n }\n .msr\\:text-left {\n text-align: left;\n }\n .msr\\:font-mono {\n font-family: var(--msr-font-mono);\n }\n .msr\\:text-\\[9px\\] {\n font-size: 9px;\n }\n .msr\\:text-\\[10px\\] {\n font-size: 10px;\n }\n .msr\\:text-\\[11px\\] {\n font-size: 11px;\n }\n .msr\\:text-\\[12px\\] {\n font-size: 12px;\n }\n .msr\\:leading-4 {\n --tw-leading: calc(var(--msr-spacing) * 4);\n line-height: calc(var(--msr-spacing) * 4);\n }\n .msr\\:leading-\\[1\\.4\\] {\n --tw-leading: 1.4;\n line-height: 1.4;\n }\n .msr\\:leading-\\[1\\.45\\] {\n --tw-leading: 1.45;\n line-height: 1.45;\n }\n .msr\\:leading-\\[18px\\] {\n --tw-leading: 18px;\n line-height: 18px;\n }\n .msr\\:leading-none {\n --tw-leading: 1;\n line-height: 1;\n }\n .msr\\:font-medium {\n --tw-font-weight: var(--msr-font-weight-medium);\n font-weight: var(--msr-font-weight-medium);\n }\n .msr\\:font-normal {\n --tw-font-weight: var(--msr-font-weight-normal);\n font-weight: var(--msr-font-weight-normal);\n }\n .msr\\:font-semibold {\n --tw-font-weight: var(--msr-font-weight-semibold);\n font-weight: var(--msr-font-weight-semibold);\n }\n .msr\\:text-ellipsis {\n text-overflow: ellipsis;\n }\n .msr\\:whitespace-nowrap {\n white-space: nowrap;\n }\n .msr\\:whitespace-pre-wrap {\n white-space: pre-wrap;\n }\n .msr\\:text-\\[\\#64748b\\] {\n color: #64748b;\n }\n .msr\\:text-black {\n color: var(--msr-color-black);\n }\n .msr\\:text-black\\/30 {\n color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--msr-color-black) 30%, transparent);\n }\n }\n .msr\\:text-black\\/45 {\n color: var(--msr-color-black);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--msr-color-black) 45%, transparent);\n }\n }\n .msr\\:text-ink-50 {\n color: var(--msr-color-ink-50);\n }\n .msr\\:text-ink-500 {\n color: var(--msr-color-ink-500);\n }\n .msr\\:text-ink-700 {\n color: var(--msr-color-ink-700);\n }\n .msr\\:text-ink-900 {\n color: var(--msr-color-ink-900);\n }\n .msr\\:text-red-600 {\n color: var(--msr-color-red-600);\n }\n .msr\\:text-white {\n color: var(--msr-color-white);\n }\n .msr\\:text-white\\/60 {\n color: var(--msr-color-white);\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, var(--msr-color-white) 60%, transparent);\n }\n }\n .msr\\:tabular-nums {\n --tw-numeric-spacing: tabular-nums;\n font-variant-numeric: var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,);\n }\n .msr\\:opacity-0 {\n opacity: 0%;\n }\n .msr\\:opacity-60 {\n opacity: 60%;\n }\n .msr\\:opacity-80 {\n opacity: 80%;\n }\n .msr\\:opacity-100 {\n opacity: 100%;\n }\n .msr\\:shadow-lg {\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:shadow-sm {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:outline {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .msr\\:outline-transparent {\n outline-color: transparent;\n }\n .msr\\:transition-\\[max-width\\,opacity\\,transform\\,padding\\] {\n transition-property: max-width,opacity,transform,padding;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-\\[width\\,opacity\\] {\n transition-property: width,opacity;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-colors {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-opacity {\n transition-property: opacity;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-transform {\n transition-property: transform, translate, scale, rotate;\n transition-timing-function: var(--tw-ease, var(--msr-default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--msr-default-transition-duration));\n }\n .msr\\:transition-none {\n transition-property: none;\n }\n .msr\\:duration-150 {\n --tw-duration: 150ms;\n transition-duration: 150ms;\n }\n .msr\\:ease-\\[ease\\] {\n --tw-ease: ease;\n transition-timing-function: ease;\n }\n .msr\\:outline-none {\n --tw-outline-style: none;\n outline-style: none;\n }\n .msr\\:select-none {\n -webkit-user-select: none;\n user-select: none;\n }\n @media (hover: hover) {\n .msr\\:group-hover\\:border-ink-200:is(:where(.msr\\:group):hover *) {\n border-color: var(--msr-color-ink-200);\n }\n }\n .msr\\:focus-within\\:rounded-l-\\[5px\\]:focus-within {\n border-top-left-radius: 5px;\n border-bottom-left-radius: 5px;\n }\n .msr\\:focus-within\\:rounded-r-\\[5px\\]:focus-within {\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px;\n }\n .msr\\:focus-within\\:outline:focus-within {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .msr\\:focus-within\\:outline-1:focus-within {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .msr\\:focus-within\\:outline-offset-\\[-1px\\]:focus-within {\n outline-offset: -1px;\n }\n .msr\\:focus-within\\:outline-\\[\\#0d99ff\\]:focus-within {\n outline-color: #0d99ff;\n }\n .msr\\:focus-within\\:outline-\\[var\\(--msr-accent\\)\\]:focus-within {\n outline-color: var(--msr-accent);\n }\n @media (hover: hover) {\n .msr\\:hover\\:border-ink-200:hover {\n border-color: var(--msr-color-ink-200);\n }\n .msr\\:hover\\:bg-\\[\\#0b8eea\\]:hover {\n background-color: #0b8eea;\n }\n .msr\\:hover\\:bg-\\[\\#0d99ff\\]:hover {\n background-color: #0d99ff;\n }\n .msr\\:hover\\:bg-black\\/4:hover {\n background-color: var(--msr-color-black);\n }\n @supports (color: color-mix(in lab, red, red)) {\n .msr\\:hover\\:bg-black\\/4:hover {\n background-color: color-mix(in oklab, var(--msr-color-black) 4%, transparent);\n }\n }\n .msr\\:hover\\:bg-black\\/10:hover {\n background-color: var(--msr-color-black);\n }\n @supports (color: color-mix(in lab, red, red)) {\n .msr\\:hover\\:bg-black\\/10:hover {\n background-color: color-mix(in oklab, var(--msr-color-black) 10%, transparent);\n }\n }\n .msr\\:hover\\:bg-ink-50:hover {\n background-color: var(--msr-color-ink-50);\n }\n .msr\\:hover\\:bg-red-50:hover {\n background-color: var(--msr-color-red-50);\n }\n .msr\\:hover\\:text-ink-700:hover {\n color: var(--msr-color-ink-700);\n }\n .msr\\:hover\\:text-ink-900:hover {\n color: var(--msr-color-ink-900);\n }\n .msr\\:hover\\:text-white:hover {\n color: var(--msr-color-white);\n }\n .msr\\:hover\\:underline:hover {\n text-decoration-line: underline;\n }\n }\n .msr\\:focus\\:border-\\[\\#0d99ff\\]:focus {\n border-color: #0d99ff;\n }\n .msr\\:focus\\:shadow-\\[inset_0_0_0_1px_\\#0d99ff\\]:focus {\n --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, #0d99ff);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus\\:shadow-\\[inset_0_0_0_1px_var\\(--msr-accent\\)\\]:focus {\n --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, var(--msr-accent));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus\\:outline-none:focus {\n --tw-outline-style: none;\n outline-style: none;\n }\n .msr\\:focus-visible\\:border-\\[\\#0d99ff\\]:focus-visible {\n border-color: #0d99ff;\n }\n .msr\\:focus-visible\\:bg-\\[\\#0d99ff\\]:focus-visible {\n background-color: #0d99ff;\n }\n .msr\\:focus-visible\\:text-white:focus-visible {\n color: var(--msr-color-white);\n }\n .msr\\:focus-visible\\:shadow-\\[inset_0_0_0_1px_\\#0d99ff\\]:focus-visible {\n --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, #0d99ff);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus-visible\\:shadow-\\[inset_0_0_0_1px_\\#ef4444\\]:focus-visible {\n --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, #ef4444);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus-visible\\:ring-1:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .msr\\:focus-visible\\:ring-\\[\\#0d99ff\\]\\/25:focus-visible {\n --tw-ring-color: color-mix(in oklab, #0d99ff 25%, transparent);\n }\n .msr\\:focus-visible\\:outline-none:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n .msr\\:disabled\\:cursor-default:disabled {\n cursor: default;\n }\n .msr\\:disabled\\:opacity-40:disabled {\n opacity: 40%;\n }\n .msr\\:disabled\\:opacity-45:disabled {\n opacity: 45%;\n }\n @media (prefers-reduced-motion: reduce) {\n .msr\\:motion-reduce\\:transition-none {\n transition-property: none;\n }\n }\n}\n:root, :host {\n --color-ink-50: #f8fafc;\n --color-ink-200: #e2e8f0;\n --color-ink-500: #64748b;\n --color-ink-700: #334155;\n --color-ink-900: #0f172a;\n}\n:host {\n all: initial;\n display: block;\n color-scheme: light;\n color: #0f172a;\n font-family: ui-sans-serif, system-ui, sans-serif;\n font-size: 16px;\n font-weight: 400;\n line-height: 1.5;\n letter-spacing: normal;\n direction: ltr;\n --msr-spacing: 4px;\n}\n*, *::before, *::after {\n box-sizing: border-box;\n}\n@layer base {\n *, ::before, ::after, ::backdrop {\n --tw-border-style: solid;\n --tw-outline-style: solid;\n --tw-shadow: 0 0 #0000;\n --tw-inset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n }\n button, input, select, textarea {\n appearance: none;\n background-color: transparent;\n padding: 0;\n font: inherit;\n color: inherit;\n letter-spacing: inherit;\n }\n}\n.mesurer-toolbar-surface {\n box-shadow: 0 0 0.5px rgba(0, 0, 0, 0.18), 0 3px 8px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.1);\n}\n.mesurer-menu-surface {\n box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);\n}\n.mesurer-color-picker {\n border: 1px solid rgba(0, 0, 0, 0.1);\n box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n}\n.mesurer-settings-tabs {\n box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.08);\n}\n.mesurer-settings-tab[aria-selected=\"true\"] {\n box-shadow: 0 0 0 1px rgba(15, 23, 42, 0.12);\n}\n.mesurer-switch-track {\n box-sizing: border-box;\n border: 1px solid #e2e8f0;\n}\n.mesurer-switch-track[data-checked=\"true\"] {\n border-color: #0d99ff;\n}\n.mesurer-control-shell {\n border: 1px solid transparent;\n}\n.mesurer-control-shell:hover {\n border-color: #e2e8f0;\n}\n.mesurer-control-focus:focus-within {\n outline: 1px solid #0d99ff;\n outline-offset: -1px;\n}\n.mesurer-root {\n --msr-spacing: 4px;\n}\nbody [data-mesurer-native-scroll-anchor=\"box\"][data-mesurer-nested-scroll-compensation=\"true\"] {\n position: absolute !important;\n left: calc(anchor(left) + var(--mesurer-nested-scroll-x, 0px)) !important;\n top: calc(anchor(top) + var(--mesurer-nested-scroll-y, 0px)) !important;\n}\nbody [data-mesurer-native-scroll-anchor=\"label\"][data-mesurer-nested-scroll-compensation=\"true\"] {\n position: absolute !important;\n left: calc(anchor(center) + var(--mesurer-nested-scroll-x, 0px)) !important;\n top: calc(anchor(bottom) + 2px + var(--mesurer-nested-scroll-y, 0px)) !important;\n}\nbody [data-mesurer-native-scroll-anchor=\"offset\"][data-mesurer-nested-scroll-compensation=\"true\"] {\n position: absolute !important;\n left: calc(anchor(left) + var(--mesurer-native-anchor-x, 0px) + var(--mesurer-nested-scroll-x, 0px)) !important;\n top: calc(anchor(top) + var(--mesurer-native-anchor-y, 0px) + var(--mesurer-nested-scroll-y, 0px)) !important;\n}\n[data-mesurer-text-edit-ring=\"true\"], [data-mesurer-text-selection-highlight=\"true\"], [data-mesurer-text-caret=\"true\"] {\n z-index: 2147482900 !important;\n}\n[data-mesurer-text-inspector-placement-shell=\"true\"], .mesurer-ti-card {\n z-index: 2147483647 !important;\n}\n[data-mesurer-context-root=\"true\"] [data-mesurer-annotation-scroll-mode=\"document\"] {\n position: absolute !important;\n}\n[data-mesurer-annotation-scroll-mode=\"native-anchor\"] {\n position: fixed !important;\n}\n[data-mesurer-native-scroll-anchor=\"offset\"][data-mesurer-nested-scroll-compensation=\"true\"][data-mesurer-annotation-scroll-mode=\"native-anchor\"] {\n position: fixed !important;\n}\n[data-mesurer-annotation-badge=\"true\"] {\n width: 20px !important;\n height: 20px !important;\n transform: none !important;\n transition: width 150ms ease, height 150ms ease, background 150ms ease, color 150ms ease, box-shadow 150ms ease !important;\n}\n[data-mesurer-annotation-marker=\"true\"][data-mesurer-annotation-highlighted=\"true\"] > [data-mesurer-annotation-badge=\"true\"] {\n width: 24px !important;\n height: 24px !important;\n}\n[data-mesurer-root=\"true\"][data-mesurer-direct-text-edit-active=\"true\"] [data-mesurer-annotation-trigger=\"true\"], [data-mesurer-context-root=\"true\"][data-mesurer-direct-text-edit-active=\"true\"] [data-mesurer-annotation-trigger=\"true\"] {\n display: none !important;\n}\n[data-mesurer-plugin-settings] [role=\"switch\"] {\n grid-template-columns: minmax(0, 1fr) auto;\n}\n[data-mesurer-plugin-settings] [role=\"switch\"] > span:first-child {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n[data-mesurer-plugin-settings-disclosure=\"plugins\"] {\n width: calc(100% + 16px);\n margin-inline: -8px;\n}\n.mesurer-solid-root {\n position: fixed;\n inset: 0;\n z-index: 2147483000;\n pointer-events: none;\n --msr-spacing: 4px;\n}\n.mesurer-solid-root [role=\"slider\"] {\n border: 0;\n}\n[data-mesurer-distance-kind=\"selection-spacing\"][data-mesurer-distance-active=\"true\"] [data-mesurer-distance-hover-target=\"true\"] {\n opacity: 1 !important;\n}\n[data-mesurer-distance-kind=\"selection-spacing\"][data-mesurer-distance-active=\"true\"]:has([data-mesurer-distance-label-axis=\"x\"]:hover) [data-mesurer-distance-line^=\"vertical\"], [data-mesurer-distance-kind=\"selection-spacing\"][data-mesurer-distance-active=\"true\"]:has([data-mesurer-distance-label-axis=\"y\"]:hover) [data-mesurer-distance-line^=\"horizontal\"], [data-mesurer-distance-kind=\"selection-spacing\"][data-mesurer-distance-active=\"true\"]:has([data-mesurer-distance-label-axis]:hover) [data-mesurer-distance-connector=\"true\"] {\n opacity: 0.16 !important;\n}\nbody.mesurer-solid-xray * {\n outline: solid 1px blue !important;\n}\nbody.mesurer-solid-xray [data-mesurer-root], body.mesurer-solid-xray [data-mesurer-root] *, body.mesurer-solid-xray [data-mesurer-inspector-ui], body.mesurer-solid-xray [data-mesurer-inspector-ui] *, body.mesurer-solid-xray .mesurer-toolbar-surface, body.mesurer-solid-xray .mesurer-toolbar-surface *, body.mesurer-solid-xray .mesurer-ti-box, body.mesurer-solid-xray .mesurer-ti-card, body.mesurer-solid-xray .mesurer-ti-card *, body.mesurer-solid-xray .mesurer-ti-close {\n outline: none !important;\n}\n[data-mesurer-toolbar=\"true\"] > div:has(> [data-mesurer-toolbar-compact-item]) {\n transition: padding-inline 150ms ease;\n}\n[data-mesurer-toolbar=\"true\"][data-mesurer-toolbar-compact=\"true\"] > div:has(> [data-mesurer-toolbar-compact-item]):not(:has(> [data-mesurer-toolbar-compact-item][data-visible=\"true\"])) {\n padding-inline: 0;\n}\n[data-mesurer-selected-measurement=\"true\"]:has(> [data-mesurer-native-scroll-anchor=\"box\"]) {\n display: contents !important;\n}\n@media (prefers-reduced-motion: reduce) {\n [data-mesurer-toolbar=\"true\"] > div:has(> [data-mesurer-toolbar-compact-item]) {\n transition: none;\n }\n [data-mesurer-annotation-badge=\"true\"] {\n transition: none !important;\n }\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) {\n --msr-accent: #0d99ff;\n --msr-surface: #fff;\n --msr-surface-raised: #fff;\n --msr-surface-muted: #f8fafc;\n --msr-content: #18181b;\n --msr-color-white: #fff;\n --msr-color-black: #000;\n --msr-color-ink-50: #f8fafc;\n --msr-color-ink-100: #f1f5f9;\n --msr-color-ink-200: #e2e8f0;\n --msr-color-ink-300: #cbd5e1;\n --msr-color-ink-500: #64748b;\n --msr-color-ink-700: #334155;\n --msr-color-ink-900: #18181b;\n --color-ink-50: var(--msr-color-ink-50);\n --color-ink-100: var(--msr-color-ink-100);\n --color-ink-200: var(--msr-color-ink-200);\n --color-ink-300: var(--msr-color-ink-300);\n --color-ink-500: var(--msr-color-ink-500);\n --color-ink-700: var(--msr-color-ink-700);\n --color-ink-900: var(--msr-color-ink-900);\n --msr-danger-bg: #fef2f2;\n --msr-danger-border: #fecaca;\n --msr-danger-text: #dc2626;\n --msr-danger-solid-bg: #dc2626;\n --msr-danger-solid-hover: #b91c1c;\n --msr-danger-solid-text: #fff;\n --color-red-50: var(--msr-danger-bg);\n --color-red-200: var(--msr-danger-border);\n --color-red-600: var(--msr-danger-text);\n --color-red-700: #b91c1c;\n --msr-control-thumb: #fff;\n --msr-slider-track: rgba(15, 23, 42, 0.16);\n --msr-shadow-toolbar: 0 0 0.4px rgba(0, 0, 0, 0.22),\n 0 6px 18px rgba(0, 0, 0, 0.03),\n 0 3px 9px rgba(0, 0, 0, 0.06),\n 0 1px 1px rgba(0, 0, 0, 0.06);\n --msr-shadow-floating: 0 0 0 0.4px rgba(0, 0, 0, 0.22),\n 0 6px 18px rgba(0, 0, 0, 0.03),\n 0 3px 9px rgba(0, 0, 0, 0.06),\n 0 1px 1px rgba(0, 0, 0, 0.06);\n --msr-shadow-select-menu: var(--msr-shadow-floating);\n color: var(--msr-content);\n color-scheme: light;\n}\n:where( [data-mesurer-root=\"true\"][data-theme=\"dark\"], [data-mesurer-inspector-ui=\"true\"][data-theme=\"dark\"] ) {\n --msr-accent: #0c8ce9;\n --msr-surface: #323232;\n --msr-surface-raised: #3a3a3a;\n --msr-surface-muted: #3a3a3a;\n --msr-content: #f5f5f5;\n --msr-color-white: #f5f5f5;\n --msr-color-black: #171717;\n --msr-color-ink-50: #3a3a3a;\n --msr-color-ink-100: #414141;\n --msr-color-ink-200: #4a4a4a;\n --msr-color-ink-300: #5a5a5a;\n --msr-color-ink-500: #a0a0a0;\n --msr-color-ink-700: #dedede;\n --msr-color-ink-900: #f5f5f5;\n --msr-danger-bg: #3f2020;\n --msr-danger-border: #7f3f46;\n --msr-danger-text: #f87171;\n --msr-danger-solid-bg: #c95058;\n --msr-danger-solid-hover: #b7424b;\n --msr-danger-solid-text: #f5f5f5;\n --color-red-700: #fca5a5;\n --msr-control-thumb: #f4f4f5;\n --msr-slider-track: rgba(245, 245, 245, 0.24);\n --msr-shadow-toolbar: 0 0 0.4px lch(100% 0 0 / 0.10),\n 0 3px 8px lch(0% 0 0 / 0.125),\n 0 2px 5px lch(0% 0 0 / 0.125),\n 0 1px 1px lch(0% 0 0 / 0.125);\n --msr-shadow-floating: 0 0 0 0.4px lch(100% 0 0 / 0.05),\n 0 4px 12px lch(0% 0 0 / 0.12),\n 0 1px 3px lch(0% 0 0 / 0.10);\n --msr-shadow-select-menu: 0 0 0 0.4px lch(100% 0 0 / 0.14),\n 0 4px 12px lch(0% 0 0 / 0.22),\n 0 1px 3px lch(0% 0 0 / 0.18);\n color-scheme: dark;\n}\n@media (prefers-color-scheme: dark) {\n :where( [data-mesurer-root=\"true\"][data-theme=\"system\"], [data-mesurer-inspector-ui=\"true\"][data-theme=\"system\"] ) {\n --msr-accent: #0c8ce9;\n --msr-surface: #323232;\n --msr-surface-raised: #3a3a3a;\n --msr-surface-muted: #3a3a3a;\n --msr-content: #f5f5f5;\n --msr-color-white: #f5f5f5;\n --msr-color-black: #171717;\n --msr-color-ink-50: #3a3a3a;\n --msr-color-ink-100: #414141;\n --msr-color-ink-200: #4a4a4a;\n --msr-color-ink-300: #5a5a5a;\n --msr-color-ink-500: #a0a0a0;\n --msr-color-ink-700: #dedede;\n --msr-color-ink-900: #f5f5f5;\n --msr-danger-bg: #3f2020;\n --msr-danger-border: #7f3f46;\n --msr-danger-text: #f87171;\n --msr-danger-solid-bg: #c95058;\n --msr-danger-solid-hover: #b7424b;\n --msr-danger-solid-text: #f5f5f5;\n --color-red-700: #fca5a5;\n --msr-control-thumb: #f4f4f5;\n --msr-slider-track: rgba(245, 245, 245, 0.24);\n --msr-shadow-toolbar: 0 0 0.4px lch(100% 0 0 / 0.10),\n 0 3px 8px lch(0% 0 0 / 0.125),\n 0 2px 5px lch(0% 0 0 / 0.125),\n 0 1px 1px lch(0% 0 0 / 0.125);\n --msr-shadow-floating: 0 0 0 0.4px lch(100% 0 0 / 0.05),\n 0 4px 12px lch(0% 0 0 / 0.12),\n 0 1px 3px lch(0% 0 0 / 0.10);\n --msr-shadow-select-menu: 0 0 0 0.4px lch(100% 0 0 / 0.14),\n 0 4px 12px lch(0% 0 0 / 0.22),\n 0 1px 3px lch(0% 0 0 / 0.18);\n color-scheme: dark;\n }\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:bg-white\"], :where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:bg-[#fff]\"] {\n background-color: var(--msr-surface) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:text-black\"] {\n color: var(--msr-content) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:hover:bg-black/4\"]:hover, :where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:hover:bg-black/5\"]:hover {\n background-color: var(--msr-content) !important;\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in srgb, var(--msr-content) 6%, transparent) !important;\n }\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) .mesurer-toolbar-surface {\n background-color: var(--msr-surface) !important;\n box-shadow: var(--msr-shadow-toolbar) !important;\n color: var(--msr-content);\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) :is( .mesurer-menu-surface, .mesurer-color-picker, .mesurer-ti-card, [data-mesurer-text-inspector-info=\"true\"], [data-mesurer-annotation-panel=\"true\"], [data-mesurer-annotation-composer=\"true\"] ) {\n background-color: var(--msr-surface-raised) !important;\n color: var(--msr-content) !important;\n box-shadow: var(--msr-shadow-floating) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) .mesurer-switch-track[data-checked=\"false\"], :where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) .mesurer-control-shell {\n background-color: var(--msr-surface-muted) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) .mesurer-switch-track > span {\n background-color: var(--msr-control-thumb) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) :is(.mesurer-settings-select, .mesurer-settings-select-menu) {\n background-color: var(--msr-surface-raised) !important;\n border-color: var(--msr-color-ink-200) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [data-mesurer-rulers=\"true\"] {\n color: var(--msr-color-ink-500) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [data-slider-container=\"true\"] > div:first-child {\n background-color: var(--msr-slider-track) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:bg-[#0d99ff]\"] {\n background-color: var(--msr-accent) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:border-[#0d99ff]\"] {\n border-color: var(--msr-accent) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:hover:bg-[#0d99ff]\"]:hover, :where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:focus-visible:bg-[#0d99ff]\"]:focus-visible {\n background-color: var(--msr-accent) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [class~=\"msr:text-white\"] {\n color: var(--msr-color-white) !important;\n}\n:where( [data-mesurer-root=\"true\"][data-theme], [data-mesurer-inspector-ui=\"true\"][data-theme] ) [data-slider-thumb=\"true\"]:focus-visible {\n box-shadow: 0 0 0 1px var(--msr-accent) !important;\n @supports (color: color-mix(in lab, red, red)) {\n box-shadow: 0 0 0 1px color-mix(in srgb, var(--msr-accent) 25%, transparent) !important;\n }\n}\n:where([data-mesurer-root=\"true\"], [data-mesurer-inspector-ui=\"true\"]) {\n --msr-radius-control: 5px;\n}\n@layer utilities {\n .msr\\:rounded-control {\n border-radius: var(--msr-radius-control);\n }\n}\n.mesurer-thin-scrollbar {\n scrollbar-width: thin;\n scrollbar-color: var(--msr-color-ink-200) transparent;\n}\n.mesurer-thin-scrollbar::-webkit-scrollbar {\n width: 4px;\n height: 4px;\n}\n.mesurer-thin-scrollbar::-webkit-scrollbar-track {\n background: transparent;\n}\n.mesurer-thin-scrollbar::-webkit-scrollbar-thumb {\n background: var(--msr-color-ink-200);\n border-radius: var(--msr-radius-control);\n}\n.mesurer-thin-scrollbar:hover {\n scrollbar-color: var(--msr-color-ink-300) transparent;\n}\n.mesurer-thin-scrollbar:hover::-webkit-scrollbar-thumb {\n background: var(--msr-color-ink-300);\n}\n.mesurer-thin-scrollbar::-webkit-scrollbar-corner {\n background: transparent;\n}\n@property --tw-translate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-leading {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ordinal {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-slashed-zero {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-figure {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-spacing {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-numeric-fraction {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-inset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-ring-inset {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-offset-width {\n syntax: \"<length>\";\n inherits: false;\n initial-value: 0px;\n}\n@property --tw-ring-offset-color {\n syntax: \"*\";\n inherits: false;\n initial-value: #fff;\n}\n@property --tw-ring-offset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-outline-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-duration {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ease {\n syntax: \"*\";\n inherits: false;\n}\n@layer properties {\n @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {\n *, ::before, ::after, ::backdrop {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-border-style: solid;\n --tw-leading: initial;\n --tw-font-weight: initial;\n --tw-ordinal: initial;\n --tw-slashed-zero: initial;\n --tw-numeric-figure: initial;\n --tw-numeric-spacing: initial;\n --tw-numeric-fraction: initial;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-color: initial;\n --tw-shadow-alpha: 100%;\n --tw-inset-shadow: 0 0 #0000;\n --tw-inset-shadow-color: initial;\n --tw-inset-shadow-alpha: 100%;\n --tw-ring-color: initial;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-color: initial;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-inset: initial;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-outline-style: solid;\n --tw-duration: initial;\n --tw-ease: initial;\n }\n }\n}\n", ma = {
3138
3300
  keepTextChanges: !1,
3139
3301
  keepArrangeChanges: !1
3140
- }, Li = (e) => e.state.get("mesurer.presentation.preferences") ?? Ii, Ri = "mesurer.arrange", zi = "arrange", Bi = "mesurer.arrange.intents", Vi = "mesurer.arrange.active", Hi = "mesurer.arrange.settings", Ui = "runtime:solid", Wi = "builtin.select", Gi = "arrange.toggle", Ki = "arrange.commit", qi = "arrange.clear", Ji = "mesurer.arrange.selection-available", Yi = 1, Xi = 24, Zi = 160, Qi = 500, $i = "#ef4444", ea = {
3302
+ }, ha = (e) => e.state.get("mesurer.presentation.preferences") ?? ma, ga = "mesurer.arrange", _a = "arrange", va = "mesurer.arrange.intents", ya = "mesurer.arrange.active", ba = "mesurer.arrange.settings", xa = "runtime:solid", Sa = "builtin.select", Ca = "arrange.toggle", wa = "arrange.commit", Ta = "arrange.clear", Ea = "mesurer.arrange.selection-available", Da = 1, Oa = 24, ka = 160, Aa = 500, ja = "#ef4444", Ma = {
3141
3303
  viewBox: "0 0 24 24",
3142
3304
  paths: ["M12 2.75 8.75 6h2.5v5.25H6V8.75L2.75 12 6 15.25v-2.5h5.25V18h-2.5L12 21.25 15.25 18h-2.5v-5.25H18v2.5L21.25 12 18 8.75v2.5h-5.25V6h2.5L12 2.75Z"]
3143
- }, ta = (e, t) => ({
3305
+ }, Na = (e, t) => ({
3144
3306
  left: e.left + t.x,
3145
3307
  top: e.top + t.y,
3146
3308
  width: e.width,
3147
3309
  height: e.height
3148
- }), na = (e, t) => ({
3310
+ }), Pa = (e, t) => ({
3149
3311
  left: e.left - t.left,
3150
3312
  top: e.top - t.top,
3151
3313
  width: e.width - t.width,
3152
3314
  height: e.height - t.height
3153
- }), ra = (e) => {
3315
+ }), Fa = (e) => {
3154
3316
  if (!e.length) return null;
3155
3317
  let t = Math.min(...e.map((e) => e.left)), n = Math.min(...e.map((e) => e.top)), r = Math.max(...e.map((e) => e.left + e.width)), i = Math.max(...e.map((e) => e.top + e.height));
3156
3318
  return {
@@ -3159,35 +3321,35 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3159
3321
  width: r - t,
3160
3322
  height: i - n
3161
3323
  };
3162
- }, ia = (e, t, n, r) => Math.max(0, Math.max(e, n) - Math.min(t, r)), aa = (e, t, n) => {
3324
+ }, Ia = (e, t, n, r) => Math.max(0, Math.max(e, n) - Math.min(t, r)), La = (e, t, n) => {
3163
3325
  let r = t === "x" ? e.left : e.top, i = t === "x" ? e.width : e.height, a = r + i;
3164
3326
  return n === "edge" ? [r, a] : n === "center" ? [r + i / 2] : [
3165
3327
  r,
3166
3328
  r + i / 2,
3167
3329
  a
3168
3330
  ];
3169
- }, oa = (e, t) => t === "x" ? {
3331
+ }, Ra = (e, t) => t === "x" ? {
3170
3332
  start: e.top,
3171
3333
  end: e.top + e.height
3172
3334
  } : {
3173
3335
  start: e.left,
3174
3336
  end: e.left + e.width
3175
- }, sa = (e) => e.kind === "edge" ? 2 : +(e.kind === "guide"), ca = (e, t, n) => {
3176
- let r = oa(t, e), i = null;
3177
- for (let a of n) if (a.axis === e && !(a.source === "element" && ia(r.start, r.end, a.start, a.end) > Zi)) for (let n of aa(t, e, a.kind)) {
3337
+ }, za = (e) => e.kind === "edge" ? 2 : +(e.kind === "guide"), Ba = (e, t, n) => {
3338
+ let r = Ra(t, e), i = null;
3339
+ for (let a of n) if (a.axis === e && !(a.source === "element" && Ia(r.start, r.end, a.start, a.end) > ka)) for (let n of La(t, e, a.kind)) {
3178
3340
  let e = a.position - n, t = Math.abs(e);
3179
3341
  if (t > 10) continue;
3180
3342
  let r = i ? Math.abs(i.delta) : Infinity;
3181
- (t < r || t === r && (!i || sa(a) > sa(i))) && (i = {
3343
+ (t < r || t === r && (!i || za(a) > za(i))) && (i = {
3182
3344
  ...a,
3183
3345
  delta: e
3184
3346
  });
3185
3347
  }
3186
3348
  return i;
3187
- }, la = (e) => {
3349
+ }, Va = (e) => {
3188
3350
  let { origin: t, pathname: n, search: r } = e.location;
3189
3351
  return `${t}${n}${r}`;
3190
- }, ua = (e, t) => `${t}-${e.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random().toString(36).slice(2)}`}`, da = (e) => ({
3352
+ }, Ha = (e, t) => `${t}-${e.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random().toString(36).slice(2)}`}`, Ua = (e) => ({
3191
3353
  tag: e.fingerprintTag,
3192
3354
  id: e.fingerprintId,
3193
3355
  testId: e.fingerprintTestId,
@@ -3195,10 +3357,10 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3195
3357
  ariaLabel: e.fingerprintAriaLabel,
3196
3358
  classes: [...e.fingerprintClasses],
3197
3359
  text: e.fingerprintText
3198
- }), fa = (e) => ({
3360
+ }), Wa = (e) => ({
3199
3361
  id: e.id,
3200
3362
  selector: e.selector,
3201
- fingerprint: da(e),
3363
+ fingerprint: Ua(e),
3202
3364
  before: {
3203
3365
  left: e.beforeLeft,
3204
3366
  top: e.beforeTop,
@@ -3219,21 +3381,21 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3219
3381
  x: e.desiredOffsetX,
3220
3382
  y: e.desiredOffsetY
3221
3383
  }
3222
- }), pa = (e) => ({
3384
+ }), Ga = (e) => ({
3223
3385
  id: e.id,
3224
3386
  createdAt: e.createdAt,
3225
3387
  pageUrl: e.pageUrl,
3226
- targets: e.targets.map(fa)
3227
- }), ma = (e) => ({
3388
+ targets: e.targets.map(Wa)
3389
+ }), Ka = (e) => ({
3228
3390
  value: e.style.getPropertyValue("transform"),
3229
3391
  priority: e.style.getPropertyPriority("transform")
3230
- }), ha = (e, t) => e.value === t.value && e.priority === t.priority, ga = (e) => {
3392
+ }), qa = (e, t) => e.value === t.value && e.priority === t.priority, Ja = (e) => {
3231
3393
  let { element: t, beforeTransform: n, appliedTransform: r } = e;
3232
- ha(ma(t), r) && (n.value || n.priority ? t.style.setProperty("transform", n.value, n.priority) : t.style.removeProperty("transform"));
3233
- }, _a = (e) => e instanceof Element && !!e.closest("input, textarea, select, [contenteditable='true'], [contenteditable='']"), va = () => ar({
3234
- id: Ri,
3394
+ qa(Ka(t), r) && (n.value || n.priority ? t.style.setProperty("transform", n.value, n.priority) : t.style.removeProperty("transform"));
3395
+ }, Ya = (e) => e instanceof Element && !!e.closest("input, textarea, select, [contenteditable='true'], [contenteditable='']"), Xa = () => ar({
3396
+ id: ga,
3235
3397
  version: "0.1.0",
3236
- requires: [Ui, "tool:select"],
3398
+ requires: [xa, "tool:select"],
3237
3399
  provides: [
3238
3400
  "tool:arrange",
3239
3401
  "intent:arrange",
@@ -3241,19 +3403,19 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3241
3403
  "settings:arrange"
3242
3404
  ],
3243
3405
  setup(e) {
3244
- let t = e.service.get(Ui);
3406
+ let t = e.service.get(xa);
3245
3407
  if (!t) throw Error("Arrange plugin requires the Solid renderer runtime.");
3246
3408
  let { ownerDocument: n, ownerWindow: r } = t, i = t.createWorkspaceRuntime(), a = t.createInspectorMount(), o = t.pageTarget ?? n.body ?? n.documentElement, s = t.portalTarget, c = r;
3247
3409
  e.state.register({
3248
- id: Bi,
3410
+ id: va,
3249
3411
  initial: { intents: [] },
3250
3412
  history: !0,
3251
3413
  persist: !0
3252
3414
  }), e.state.register({
3253
- id: Vi,
3415
+ id: ya,
3254
3416
  initial: !1
3255
3417
  }), e.state.register({
3256
- id: Hi,
3418
+ id: ba,
3257
3419
  initial: {
3258
3420
  snapping: !0,
3259
3421
  elementEdges: !0,
@@ -3267,16 +3429,16 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3267
3429
  let l = a.element;
3268
3430
  l.dataset.mesurerArrange = "true", l.style.position = "fixed", l.style.inset = "0", l.style.zIndex = "84", l.style.pointerEvents = "none";
3269
3431
  let u = n.createElement("div");
3270
- u.dataset.mesurerArrangeSnapLine = "vertical", u.setAttribute("aria-hidden", "true"), u.style.position = "fixed", u.style.display = "none", u.style.width = "1px", u.style.backgroundColor = $i, u.style.pointerEvents = "none";
3432
+ u.dataset.mesurerArrangeSnapLine = "vertical", u.setAttribute("aria-hidden", "true"), u.style.position = "fixed", u.style.display = "none", u.style.width = "1px", u.style.backgroundColor = ja, u.style.pointerEvents = "none";
3271
3433
  let d = n.createElement("div");
3272
- d.dataset.mesurerArrangeSnapLine = "horizontal", d.setAttribute("aria-hidden", "true"), d.style.position = "fixed", d.style.display = "none", d.style.height = "1px", d.style.backgroundColor = $i, d.style.pointerEvents = "none";
3434
+ d.dataset.mesurerArrangeSnapLine = "horizontal", d.setAttribute("aria-hidden", "true"), d.style.position = "fixed", d.style.display = "none", d.style.height = "1px", d.style.backgroundColor = ja, d.style.pointerEvents = "none";
3273
3435
  let f = n.createElement("div");
3274
3436
  f.dataset.mesurerArrangeBox = "true", f.setAttribute("role", "application"), f.setAttribute("aria-label", "Arrange selected elements"), f.style.position = "fixed", f.style.display = "none", f.style.boxSizing = "border-box", f.style.border = "1px solid #0d99ff", f.style.cursor = "grab", f.style.pointerEvents = "auto", f.style.touchAction = "none", f.style.userSelect = "none", l.append(u, d, f);
3275
3437
  let p = /* @__PURE__ */ new Map(), m = /* @__PURE__ */ new Map(), h = {
3276
3438
  intentId: null,
3277
3439
  state: "desired"
3278
3440
  }, g = null, _ = null, v = !1, y = 0, b = null, x = () => e.state.get("mesurer.arrange.intents") ?? { intents: [] }, S = () => e.state.get("mesurer.arrange.active") ?? !1, C = () => {
3279
- let t = e.state.get(Hi);
3441
+ let t = e.state.get(ba);
3280
3442
  return {
3281
3443
  snapping: t?.snapping ?? !0,
3282
3444
  elementEdges: t?.elementEdges ?? !0,
@@ -3286,21 +3448,21 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3286
3448
  snapLines: t?.snapLines ?? !0
3287
3449
  };
3288
3450
  }, w = (t) => {
3289
- e.state.update(Hi, (e) => ({
3451
+ e.state.update(ba, (e) => ({
3290
3452
  ...e,
3291
3453
  ...t
3292
3454
  }));
3293
- }, T = () => la(r), E = () => x().intents.filter((e) => e.pageUrl === T()), D = (e) => !!e.closest("[data-mesurer-island='true'], [data-mesurer-inspector-ui='true'], [data-mesurer-root='true']"), O = (e) => Yr(e, o) && !D(e), k = (e) => {
3455
+ }, T = () => Va(r), E = () => x().intents.filter((e) => e.pageUrl === T()), D = (e) => !!e.closest("[data-mesurer-island='true'], [data-mesurer-inspector-ui='true'], [data-mesurer-root='true']"), O = (e) => Di(e, o) && !D(e), k = (e) => {
3294
3456
  let t = [];
3295
3457
  o instanceof c.HTMLElement && o.matches(e) && !D(o) && t.push(o);
3296
3458
  for (let n of o.querySelectorAll(e)) n instanceof c.HTMLElement && O(n) && t.push(n);
3297
3459
  return t;
3298
3460
  }, A = (e) => {
3299
- let t = da(e);
3300
- if (!Qr(t)) return null;
3461
+ let t = Ua(e);
3462
+ if (!Ai(t)) return null;
3301
3463
  let n = [];
3302
3464
  try {
3303
- n = k(e.selector).filter((e) => $r(e, t));
3465
+ n = k(e.selector).filter((e) => ji(e, t));
3304
3466
  } catch {
3305
3467
  return null;
3306
3468
  }
@@ -3308,7 +3470,7 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3308
3470
  if (!t.id && !t.testId) {
3309
3471
  let e = [];
3310
3472
  try {
3311
- e = k(t.tag).filter((e) => $r(e, t));
3473
+ e = k(t.tag).filter((e) => ji(e, t));
3312
3474
  } catch {
3313
3475
  return null;
3314
3476
  }
@@ -3316,7 +3478,7 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3316
3478
  }
3317
3479
  return n[0] ?? null;
3318
3480
  }, j = () => {
3319
- for (let e of p.values()) ga(e);
3481
+ for (let e of p.values()) Ja(e);
3320
3482
  p.clear();
3321
3483
  }, M = () => {
3322
3484
  u.style.display = "none", d.style.display = "none";
@@ -3370,11 +3532,11 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3370
3532
  j();
3371
3533
  for (let [t, n] of e) {
3372
3534
  if (!t.isConnected || !O(t) || n.x === 0 && n.y === 0) continue;
3373
- let e = ma(t), i = r.getComputedStyle(t).transform, a = i && i !== "none" ? ` ${i}` : "";
3535
+ let e = Ka(t), i = r.getComputedStyle(t).transform, a = i && i !== "none" ? ` ${i}` : "";
3374
3536
  t.style.setProperty("transform", `translate3d(${n.x}px, ${n.y}px, 0)${a}`, "important"), p.set(t, {
3375
3537
  element: t,
3376
3538
  beforeTransform: e,
3377
- appliedTransform: ma(t)
3539
+ appliedTransform: Ka(t)
3378
3540
  });
3379
3541
  }
3380
3542
  }, I = () => F(ne()), L = (e) => {
@@ -3386,24 +3548,24 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3386
3548
  }
3387
3549
  }, R = () => i.currentSelection().elements.filter((e) => e instanceof c.HTMLElement && e.isConnected && O(e));
3388
3550
  e.state.register({
3389
- id: Ji,
3551
+ id: Ea,
3390
3552
  initial: R().length > 0
3391
3553
  });
3392
- let z = () => e.state.get(Ji) ?? !1, B = () => {
3554
+ let z = () => e.state.get(Ea) ?? !1, B = () => {
3393
3555
  let t = R().length > 0;
3394
- t !== z() && e.state.update(Ji, () => t);
3395
- }, V = () => ra(R().map((e) => Jr(e))), re = (e) => {
3556
+ t !== z() && e.state.update(Ea, () => t);
3557
+ }, V = () => Fa(R().map((e) => Ei(e))), re = (e) => {
3396
3558
  let t = C();
3397
3559
  if (!t.snapping) return [];
3398
3560
  let n = [], a = new Set(e), s = i.snapshot(), l = s.xrayVisible && t.preferXrayEdges && t.elementEdges, u = 0, d = (i) => {
3399
- if (u >= Qi || a.has(i) || e.some((e) => e.contains(i)) || !O(i)) return;
3561
+ if (u >= Aa || a.has(i) || e.some((e) => e.contains(i)) || !O(i)) return;
3400
3562
  let o = r.getComputedStyle(i);
3401
3563
  if (o.display === "none" || o.visibility === "hidden" || o.visibility === "collapse") return;
3402
3564
  let s = o.outlineStyle === "solid" && (Number.parseFloat(o.outlineWidth) || 0) > 0;
3403
3565
  if (l && !s) return;
3404
- let c = Jr(i);
3566
+ let c = Ei(i);
3405
3567
  if (c.width <= 0 || c.height <= 0) return;
3406
- let d = Zi;
3568
+ let d = ka;
3407
3569
  if (c.left + c.width < -160 || c.top + c.height < -160 || c.left > r.innerWidth + d || c.top > r.innerHeight + d) return;
3408
3570
  u += 1;
3409
3571
  let f = c.left + c.width, p = c.top + c.height;
@@ -3444,7 +3606,7 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3444
3606
  if (t.elementEdges || t.elementCenters) {
3445
3607
  o instanceof c.HTMLElement && d(o);
3446
3608
  for (let e of o.querySelectorAll("*")) {
3447
- if (u >= Qi) break;
3609
+ if (u >= Aa) break;
3448
3610
  e instanceof c.HTMLElement && d(e);
3449
3611
  }
3450
3612
  }
@@ -3492,7 +3654,7 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3492
3654
  y = 0, ae();
3493
3655
  }));
3494
3656
  }, oe = async () => {
3495
- s.querySelector("[data-mesurer-builtin='select'] button")?.getAttribute("aria-pressed") !== "true" && await e.command.execute(Wi, void 0, { source: "arrange" });
3657
+ s.querySelector("[data-mesurer-builtin='select'] button")?.getAttribute("aria-pressed") !== "true" && await e.command.execute(Sa, void 0, { source: "arrange" });
3496
3658
  }, se = (e) => {
3497
3659
  if (!S() || e.button !== 0) return;
3498
3660
  let t = R();
@@ -3504,15 +3666,15 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3504
3666
  let n = P(E());
3505
3667
  j();
3506
3668
  let r = t.map((e, t) => {
3507
- let r = Jr(e), i = n.get(e) ?? {
3669
+ let r = Ei(e), i = n.get(e) ?? {
3508
3670
  x: 0,
3509
3671
  y: 0
3510
- }, a = ta(r, i), o = Zr(e);
3672
+ }, a = Na(r, i), o = ki(e);
3511
3673
  return {
3512
3674
  element: e,
3513
3675
  target: {
3514
3676
  id: `target-${t + 1}`,
3515
- selector: Xr(e),
3677
+ selector: Oi(e),
3516
3678
  fingerprintTag: o.tag,
3517
3679
  fingerprintId: o.id,
3518
3680
  fingerprintTestId: o.testId,
@@ -3534,7 +3696,7 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3534
3696
  desiredOffsetY: i.y
3535
3697
  }
3536
3698
  };
3537
- }), i = ra(r.map(({ target: e }) => ({
3699
+ }), i = Fa(r.map(({ target: e }) => ({
3538
3700
  left: e.beforeLeft,
3539
3701
  top: e.beforeTop,
3540
3702
  width: e.beforeWidth,
@@ -3558,10 +3720,10 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3558
3720
  if (!g || e.pointerId !== g.pointerId) return;
3559
3721
  let t = e.clientX - g.originX, n = e.clientY - g.originY, r = null;
3560
3722
  e.shiftKey && (Math.abs(t) >= Math.abs(n) ? (n = 0, r = "x") : (t = 0, r = "y"));
3561
- let i = ta(g.groupBefore, {
3723
+ let i = Na(g.groupBefore, {
3562
3724
  x: t,
3563
3725
  y: n
3564
- }), a = r === "y" ? null : ca("x", i, g.snapCandidates), o = r === "x" ? null : ca("y", i, g.snapCandidates);
3726
+ }), a = r === "y" ? null : Ba("x", i, g.snapCandidates), o = r === "x" ? null : Ba("y", i, g.snapCandidates);
3565
3727
  t += a?.delta ?? 0, n += o?.delta ?? 0, g.dx = t, g.dy = n;
3566
3728
  let s = P(E());
3567
3729
  for (let e of g.targets) s.set(e.element, {
@@ -3569,7 +3731,7 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3569
3731
  y: e.target.beforeOffsetY + n
3570
3732
  });
3571
3733
  F(s);
3572
- let c = ta(g.groupBefore, {
3734
+ let c = Na(g.groupBefore, {
3573
3735
  x: t,
3574
3736
  y: n
3575
3737
  });
@@ -3587,7 +3749,7 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3587
3749
  return;
3588
3750
  }
3589
3751
  _ = {
3590
- id: ua(r, "arrange"),
3752
+ id: Ha(r, "arrange"),
3591
3753
  createdAt: Date.now(),
3592
3754
  pageUrl: T(),
3593
3755
  targets: n.targets.map(({ target: e }) => ({
@@ -3597,13 +3759,13 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3597
3759
  desiredOffsetX: e.beforeOffsetX + n.dx,
3598
3760
  desiredOffsetY: e.beforeOffsetY + n.dy
3599
3761
  }))
3600
- }, e.command.execute(Ki).catch(() => {
3762
+ }, e.command.execute(wa).catch(() => {
3601
3763
  _ = null, ie(), H();
3602
3764
  });
3603
3765
  }, de = (e) => {
3604
3766
  !g || e.pointerId !== g.pointerId || le();
3605
3767
  }, fe = (t) => {
3606
- t.key !== "Escape" || !S() && !g || _a(t.target) || s.querySelector("[data-mesurer-tool-menu]") || (t.preventDefault(), t.stopImmediatePropagation(), g ? le() : (e.state.update("mesurer.arrange.active", () => !1), U(), H()));
3768
+ t.key !== "Escape" || !S() && !g || Ya(t.target) || s.querySelector("[data-mesurer-tool-menu]") || (t.preventDefault(), t.stopImmediatePropagation(), g ? le() : (e.state.update("mesurer.arrange.active", () => !1), U(), H()));
3607
3769
  };
3608
3770
  f.addEventListener("pointerdown", se), f.addEventListener("pointermove", ce), f.addEventListener("pointerup", ue), f.addEventListener("pointercancel", de), r.addEventListener("keydown", fe, !0), r.addEventListener("resize", W), r.addEventListener("scroll", W, !0), o.addEventListener("scroll", W, !0), b = new c.MutationObserver(() => {
3609
3771
  B(), W();
@@ -3623,18 +3785,18 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3623
3785
  B(), W();
3624
3786
  }), me = e.state.subscribe(W), he = (e) => x().intents.find((t) => t.id === e) ?? null, ge = (e, t) => {
3625
3787
  let n = null;
3626
- if (n = t === "before" ? ra(e.targets.map((e) => ({
3788
+ if (n = t === "before" ? Fa(e.targets.map((e) => ({
3627
3789
  left: e.beforeLeft,
3628
3790
  top: e.beforeTop,
3629
3791
  width: e.beforeWidth,
3630
3792
  height: e.beforeHeight
3631
- }))) : t === "desired" ? ra(e.targets.map((e) => ({
3793
+ }))) : t === "desired" ? Fa(e.targets.map((e) => ({
3632
3794
  left: e.desiredLeft,
3633
3795
  top: e.desiredTop,
3634
3796
  width: e.desiredWidth,
3635
3797
  height: e.desiredHeight
3636
- }))) : L(() => ra(e.targets.map((e) => A(e)).filter((e) => e !== null).map((e) => Jr(e)))), !n) throw Error(`Arrange intent has no resolvable capture region: ${e.id}`);
3637
- let i = Math.max(0, n.left - Xi), a = Math.max(0, n.top - Xi), o = Math.min(r.innerWidth, n.left + n.width + Xi), s = Math.min(r.innerHeight, n.top + n.height + Xi);
3798
+ }))) : L(() => Fa(e.targets.map((e) => A(e)).filter((e) => e !== null).map((e) => Ei(e)))), !n) throw Error(`Arrange intent has no resolvable capture region: ${e.id}`);
3799
+ let i = Math.max(0, n.left - Oa), a = Math.max(0, n.top - Oa), o = Math.min(r.innerWidth, n.left + n.width + Oa), s = Math.min(r.innerHeight, n.top + n.height + Oa);
3638
3800
  return {
3639
3801
  left: i,
3640
3802
  top: a,
@@ -3643,10 +3805,10 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3643
3805
  };
3644
3806
  }, _e = {
3645
3807
  active: S,
3646
- intents: () => x().intents.map(pa),
3808
+ intents: () => x().intents.map(Ga),
3647
3809
  intent(e) {
3648
3810
  let t = he(e);
3649
- return t ? pa(t) : null;
3811
+ return t ? Ga(t) : null;
3650
3812
  },
3651
3813
  show(e, t) {
3652
3814
  if (!he(e)) throw Error(`Arrange intent not found: ${e}`);
@@ -3679,7 +3841,7 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3679
3841
  }]
3680
3842
  };
3681
3843
  },
3682
- review: (e, t = Yi) => {
3844
+ review: (e, t = Da) => {
3683
3845
  let n = he(e);
3684
3846
  if (!n) throw Error(`Arrange intent not found: ${e}`);
3685
3847
  let r = L(() => n.targets.map((e) => {
@@ -3697,7 +3859,7 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3697
3859
  delta: null,
3698
3860
  matched: !1
3699
3861
  };
3700
- let i = Jr(n), a = na(i, r), o = Math.abs(a.left) <= t && Math.abs(a.top) <= t && Math.abs(a.width) <= t && Math.abs(a.height) <= t;
3862
+ let i = Ei(n), a = Pa(i, r), o = Math.abs(a.left) <= t && Math.abs(a.top) <= t && Math.abs(a.width) <= t && Math.abs(a.height) <= t;
3701
3863
  return {
3702
3864
  targetId: e.id,
3703
3865
  selector: e.selector,
@@ -3717,7 +3879,7 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3717
3879
  };
3718
3880
  },
3719
3881
  clear: async () => {
3720
- await e.command.execute(qi);
3882
+ await e.command.execute(Ta);
3721
3883
  }
3722
3884
  };
3723
3885
  e.tool.register({
@@ -3725,8 +3887,8 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3725
3887
  label: "Arrange",
3726
3888
  shortcut: "Shift+A",
3727
3889
  order: 65,
3728
- command: Gi,
3729
- icon: ea,
3890
+ command: Ca,
3891
+ icon: Ma,
3730
3892
  active: S,
3731
3893
  menu: {
3732
3894
  label: "Arrange options",
@@ -3833,28 +3995,28 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3833
3995
  disabled: () => !C().snapping
3834
3996
  }
3835
3997
  ]
3836
- }), e.command.register(Gi, async () => {
3998
+ }), e.command.register(Ca, async () => {
3837
3999
  let t = !S();
3838
4000
  if (t && await oe(), e.state.update("mesurer.arrange.active", () => t), !t) {
3839
4001
  g && le(), U(), H();
3840
4002
  return;
3841
4003
  }
3842
4004
  ie(), H();
3843
- }), e.command.register(Ki, () => {
4005
+ }), e.command.register(wa, () => {
3844
4006
  let t = _;
3845
4007
  _ = null, t && (e.state.update("mesurer.arrange.intents", (e) => ({ intents: [...e.intents, t].slice(-100) })), ie(), H());
3846
- }), e.command.register(qi, () => {
3847
- e.state.update(Bi, () => ({ intents: [] })), h = {
4008
+ }), e.command.register(Ta, () => {
4009
+ e.state.update(va, () => ({ intents: [] })), h = {
3848
4010
  intentId: null,
3849
4011
  state: "desired"
3850
4012
  }, j(), M(), S() ? N() : te(), H();
3851
- }), e.service.provide(zi, _e), I(), H(), e.lifecycle.onDispose(() => {
4013
+ }), e.service.provide(_a, _e), I(), H(), e.lifecycle.onDispose(() => {
3852
4014
  v = !0, y && r.cancelAnimationFrame(y), b?.disconnect(), b = null, f.removeEventListener("pointerdown", se), f.removeEventListener("pointermove", ce), f.removeEventListener("pointerup", ue), f.removeEventListener("pointercancel", de), r.removeEventListener("keydown", fe, !0), r.removeEventListener("resize", W), r.removeEventListener("scroll", W, !0), o.removeEventListener("scroll", W, !0), pe(), me.dispose(), j(), M(), te(), i.dispose(), a.dispose();
3853
4015
  });
3854
4016
  }
3855
- }), ya = (e, t, n) => {
4017
+ }), Za = (e, t, n) => {
3856
4018
  let r = !1, i = 0, a = null, o = null, s = () => ({
3857
- visible: (e.state.get("mesurer.arrange.active") ?? !1) || Li(e).keepArrangeChanges,
4019
+ visible: (e.state.get("mesurer.arrange.active") ?? !1) || ha(e).keepArrangeChanges,
3858
4020
  intents: e.state.get("mesurer.arrange.intents")?.intents ?? []
3859
4021
  }), c = (e, t) => e?.visible === t.visible && e.intents === t.intents, l = (e) => {
3860
4022
  if (a = e, e.visible) {
@@ -3875,23 +4037,23 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3875
4037
  l(s()), e.lifecycle.onDispose(() => {
3876
4038
  r = !0, i && n.cancelAnimationFrame(i), i = 0, o = null, d.dispose();
3877
4039
  });
3878
- }, ba = [
4040
+ }, Qa = [
3879
4041
  "[data-mesurer-measurement='true']",
3880
4042
  "[data-mesurer-selected-measurement='true']",
3881
4043
  "[data-mesurer-inspector-ui='true']"
3882
- ].join(""), xa = "[data-mesurer-text-edit-runtime='true']", Sa = "[data-mesurer-text-editor='true']", Ca = (e, t) => {
4044
+ ].join(""), $a = "[data-mesurer-text-edit-runtime='true']", eo = "[data-mesurer-text-editor='true']", to = (e, t) => {
3883
4045
  let n = t.ownerDocument.body;
3884
4046
  if (!n) return;
3885
- let r = t.ownerWindow, i = /* @__PURE__ */ new Map(), a = e.state.get("mesurer.arrange.active") ?? !1, o = null, s = null, c = (e) => e.matches(ba) && e.getRootNode() === t.ownerDocument && e.parentElement === n, l = () => {
4047
+ let r = t.ownerWindow, i = /* @__PURE__ */ new Map(), a = e.state.get("mesurer.arrange.active") ?? !1, o = null, s = null, c = (e) => e.matches(Qa) && e.getRootNode() === t.ownerDocument && e.parentElement === n, l = () => {
3886
4048
  for (let [e, t] of i) e.isConnected && (t.value || t.priority ? e.style.setProperty("visibility", t.value, t.priority) : e.style.removeProperty("visibility"));
3887
4049
  i.clear();
3888
- }, u = () => !!o?.querySelector(Sa), d = (e) => {
4050
+ }, u = () => !!o?.querySelector(eo), d = (e) => {
3889
4051
  !a || u() || !c(e) || (i.has(e) || i.set(e, {
3890
4052
  value: e.style.getPropertyValue("visibility"),
3891
4053
  priority: e.style.getPropertyPriority("visibility")
3892
4054
  }), (e.style.getPropertyValue("visibility") !== "hidden" || e.style.getPropertyPriority("visibility") !== "important") && e.style.setProperty("visibility", "hidden", "important"));
3893
4055
  }, f = () => {
3894
- if (!(!a || u())) for (let e of n.querySelectorAll(ba)) e instanceof r.HTMLElement && d(e);
4056
+ if (!(!a || u())) for (let e of n.querySelectorAll(Qa)) e instanceof r.HTMLElement && d(e);
3895
4057
  }, p = () => {
3896
4058
  !a || u() ? l() : f();
3897
4059
  }, m = (e) => {
@@ -3906,14 +4068,14 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3906
4068
  }), p();
3907
4069
  }
3908
4070
  }, h = () => {
3909
- let e = n.querySelectorAll(xa);
4071
+ let e = n.querySelectorAll($a);
3910
4072
  return e.item(e.length - 1);
3911
4073
  };
3912
4074
  m(h());
3913
4075
  let g = new r.MutationObserver((e) => {
3914
4076
  let t = !1;
3915
4077
  for (let n of e) {
3916
- for (let e of n.addedNodes) e instanceof r.HTMLElement && (e.matches(xa) && (t = !0), d(e));
4078
+ for (let e of n.addedNodes) e instanceof r.HTMLElement && (e.matches($a) && (t = !0), d(e));
3917
4079
  for (let e of n.removedNodes) e === o && (t = !0);
3918
4080
  }
3919
4081
  t && m(h());
@@ -3926,20 +4088,20 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3926
4088
  p(), e.lifecycle.onDispose(() => {
3927
4089
  g.disconnect(), s?.disconnect(), s = null, _.dispose(), l();
3928
4090
  });
3929
- }, wa = () => {
3930
- let e = va();
4091
+ }, no = () => {
4092
+ let e = Xa();
3931
4093
  return {
3932
4094
  ...e,
3933
4095
  async setup(t) {
3934
4096
  await e.setup(t);
3935
- let n = t.service.get(zi);
4097
+ let n = t.service.get(_a);
3936
4098
  if (!n) throw Error("Arrange presentation policy requires the Arrange service.");
3937
4099
  let r = t.service.get("runtime:solid");
3938
4100
  if (!r) throw Error("Arrange presentation policy requires the Solid renderer runtime.");
3939
- ya(t, n, r.ownerWindow), Ca(t, r);
4101
+ Za(t, n, r.ownerWindow), to(t, r);
3940
4102
  }
3941
4103
  };
3942
- }, Ta = (e, t, n, r) => ar({
4104
+ }, ro = (e, t, n, r) => ar({
3943
4105
  id: `mesurer.${e}`,
3944
4106
  version: "0.1.0",
3945
4107
  provides: [`tool:${e}`],
@@ -3953,7 +4115,7 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3953
4115
  command: `builtin.${e}`
3954
4116
  });
3955
4117
  }
3956
- }), Ea = () => Ta("select", "Select", "S", 10), Da = () => Ta("xray", "X-ray", "X", 20), Oa = () => Ta("color-picker", "Color picker", "P", 30), ka = () => Ta("rulers", "Rulers", "R", 40), Aa = () => Ta("text-inspector", "Typography", "A", 50), ja = () => Ta("guides", "Guides", "G", 60), Ma = () => Ta("settings", "Settings", "⌘/Ctrl+,", 90), Na = () => ar({
4118
+ }), io = () => ro("select", "Select", "S", 10), ao = () => ro("xray", "X-ray", "X", 20), oo = () => ro("color-picker", "Color picker", "P", 30), so = () => ro("rulers", "Rulers", "R", 40), co = () => ro("text-inspector", "Typography", "A", 50), lo = () => ro("guides", "Guides", "G", 60), uo = () => ro("settings", "Settings", "⌘/Ctrl+,", 90), fo = () => ar({
3957
4119
  id: "mesurer.distance",
3958
4120
  version: "0.1.0",
3959
4121
  provides: ["overlay:distance", "settings:selection-spacing"],
@@ -3969,21 +4131,21 @@ var Fi = "/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@la
3969
4131
  order: 30
3970
4132
  });
3971
4133
  }
3972
- }), Pa = () => [
3973
- Ea(),
3974
- Da(),
3975
- Oa(),
3976
- ka(),
3977
- Aa(),
3978
- ja(),
3979
- Na(),
3980
- Ma()
4134
+ }), po = () => [
4135
+ io(),
4136
+ ao(),
4137
+ oo(),
4138
+ so(),
4139
+ co(),
4140
+ lo(),
4141
+ fo(),
4142
+ uo()
3981
4143
  ];
3982
- function Fa(e = [], t = []) {
4144
+ function mo(e = [], t = []) {
3983
4145
  let n = new Set(t.map((e) => `mesurer.${e}`));
3984
- return [...Pa().filter((e) => !n.has(e.id)), ...e];
4146
+ return [...po().filter((e) => !n.has(e.id)), ...e];
3985
4147
  }
3986
- var Ia = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), La = (e, t, n = 0) => !(e.left + e.width + n <= t.left || t.left + t.width + n <= e.left || e.top + e.height + n <= t.top || t.top + t.height + n <= e.top), Ra = (e, t, n, r, i) => {
4148
+ var ho = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), go = (e, t, n = 0) => !(e.left + e.width + n <= t.left || t.left + t.width + n <= e.left || e.top + e.height + n <= t.top || t.top + t.height + n <= e.top), _o = (e, t, n, r, i) => {
3987
4149
  let a = e.left + e.width, o = e.top + e.height, s = [
3988
4150
  {
3989
4151
  axis: "vertical",
@@ -4031,7 +4193,7 @@ var Ia = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), La = (e, t, n =
4031
4193
  }
4032
4194
  ];
4033
4195
  return i ? s.sort((e, t) => t.space - e.space) : s;
4034
- }, za = (e, t, n) => {
4196
+ }, vo = (e, t, n) => {
4035
4197
  let r = [];
4036
4198
  for (let i = 0; i <= n; i += 1) {
4037
4199
  let n = i * t;
@@ -4057,14 +4219,14 @@ var Ia = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), La = (e, t, n =
4057
4219
  }
4058
4220
  return r;
4059
4221
  };
4060
- function Ba(e, t, n = {}) {
4222
+ function yo(e, t, n = {}) {
4061
4223
  let r = n.markerSize ?? 24, i = n.markerGap ?? 4, a = n.targetGap ?? 6, o = n.targetClearance ?? 2, s = n.viewportPadding ?? 4, c = n.obstacles ?? [], l = Math.max(0, n.maxShiftRings ?? 2), u = n.viewportAware ?? !1, d = r + i, f = Math.max(s, t.width - r - s), p = Math.max(s, t.height - r - s), m = [], h = e.map((e) => e.rect), g = [];
4062
4224
  for (let n of e) {
4063
- let e = /* @__PURE__ */ new Set(), _ = [], v = Ra(n.rect, t, r, a, u);
4064
- for (let t of za(v, d, l)) {
4225
+ let e = /* @__PURE__ */ new Set(), _ = [], v = _o(n.rect, t, r, a, u);
4226
+ for (let t of vo(v, d, l)) {
4065
4227
  let n = u ? {
4066
- left: Ia(t.left, s, f),
4067
- top: Ia(t.top, s, p)
4228
+ left: ho(t.left, s, f),
4229
+ top: ho(t.top, s, p)
4068
4230
  } : t, r = `${n.left}:${n.top}`;
4069
4231
  e.has(r) || (e.add(r), _.push(n));
4070
4232
  }
@@ -4074,21 +4236,21 @@ function Ba(e, t, n = {}) {
4074
4236
  width: r,
4075
4237
  height: r
4076
4238
  };
4077
- return h.every((e) => !La(t, e, o)) && c.every((e) => !La(t, e, i));
4239
+ return h.every((e) => !go(t, e, o)) && c.every((e) => !go(t, e, i));
4078
4240
  }), b = y.find((e) => {
4079
4241
  let t = {
4080
4242
  ...e,
4081
4243
  width: r,
4082
4244
  height: r
4083
4245
  };
4084
- return m.every((e) => !La(t, e, i));
4246
+ return m.every((e) => !go(t, e, i));
4085
4247
  }) ?? y.find((e) => {
4086
4248
  let t = {
4087
4249
  ...e,
4088
4250
  width: r,
4089
4251
  height: r
4090
4252
  };
4091
- return m.every((e) => !La(t, e));
4253
+ return m.every((e) => !go(t, e));
4092
4254
  }) ?? y[0] ?? _[0] ?? {
4093
4255
  left: s,
4094
4256
  top: s
@@ -4104,20 +4266,20 @@ function Ba(e, t, n = {}) {
4104
4266
  }
4105
4267
  return g;
4106
4268
  }
4107
- var Va = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), Ha = 0, Ua = (e) => e.split(",").map((e) => e.trim()).filter((e) => e.length > 0 && e !== "none"), Wa = (e) => {
4269
+ var bo = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), xo = 0, So = (e) => e.split(",").map((e) => e.trim()).filter((e) => e.length > 0 && e !== "none"), Co = (e) => {
4108
4270
  let t = e.ownerDocument.defaultView?.HTMLElement;
4109
4271
  return !!(t && e instanceof t);
4110
- }, Ga = (e, t) => {
4111
- let n = e.style.getPropertyValue("anchor-name"), r = e.style.getPropertyPriority("anchor-name"), i = Ua(n);
4272
+ }, wo = (e, t) => {
4273
+ let n = e.style.getPropertyValue("anchor-name"), r = e.style.getPropertyPriority("anchor-name"), i = So(n);
4112
4274
  i.includes(t) || e.style.setProperty("anchor-name", [...i, t].join(", "), r);
4113
4275
  let a = !1;
4114
4276
  return () => {
4115
4277
  if (a) return;
4116
4278
  a = !0;
4117
- let i = Ua(e.style.getPropertyValue("anchor-name")).filter((e) => e !== t);
4279
+ let i = So(e.style.getPropertyValue("anchor-name")).filter((e) => e !== t);
4118
4280
  i.length ? e.style.setProperty("anchor-name", i.join(", "), e.style.getPropertyPriority("anchor-name")) : n.trim() === "none" ? e.style.setProperty("anchor-name", n, r) : e.style.removeProperty("anchor-name");
4119
4281
  };
4120
- }, Ka = (e) => {
4282
+ }, To = (e) => {
4121
4283
  if (!e.length) return null;
4122
4284
  let t = Math.min(...e.map((e) => e.left)), n = Math.min(...e.map((e) => e.top)), r = Math.max(...e.map((e) => e.left + e.width)), i = Math.max(...e.map((e) => e.top + e.height));
4123
4285
  return {
@@ -4126,14 +4288,14 @@ var Va = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), Ha = 0, Ua = (e)
4126
4288
  width: r - t,
4127
4289
  height: i - n
4128
4290
  };
4129
- }, qa = (e, t, n, r, i = 8) => {
4291
+ }, Eo = (e, t, n, r, i = 8) => {
4130
4292
  let a = r.innerWidth - t - 8, o = r.innerHeight - n - 8, s = e.left + e.width + i, c = e.left - t - i;
4131
4293
  return {
4132
- left: s + t <= r.innerWidth - 8 ? s : c >= 8 ? c : Va(e.left + e.width - t, 8, a),
4133
- top: Va(e.top, 8, o)
4294
+ left: s + t <= r.innerWidth - 8 ? s : c >= 8 ? c : bo(e.left + e.width - t, 8, a),
4295
+ top: bo(e.top, 8, o)
4134
4296
  };
4135
- }, Ja = (e, t, n, r, i = 8) => {
4136
- let a = r.innerWidth - t - 8, o = Va(e.left + e.width / 2 - t / 2, 8, a), s = e.top + e.height + i;
4297
+ }, Do = (e, t, n, r, i = 8) => {
4298
+ let a = r.innerWidth - t - 8, o = bo(e.left + e.width / 2 - t / 2, 8, a), s = e.top + e.height + i;
4137
4299
  if (s + n <= r.innerHeight - 8) return {
4138
4300
  left: o,
4139
4301
  top: s
@@ -4142,10 +4304,10 @@ var Va = (e, t, n) => Math.min(Math.max(e, t), Math.max(t, n)), Ha = 0, Ua = (e)
4142
4304
  return c >= 8 ? {
4143
4305
  left: o,
4144
4306
  top: c
4145
- } : qa(e, t, n, r, i);
4307
+ } : Eo(e, t, n, r, i);
4146
4308
  };
4147
- function Ya(e) {
4148
- let [t, n] = K(0), [r, i] = K(0), [a, o] = K(null), [s, c] = K(null), [l, u] = K(null), [d, f] = K({}), [p, m] = K(null), [h, g] = K(!1), [_, v] = K(""), [y, b] = K(null), [x, S] = K(!1), [C, w] = K(null), [T, E] = K(null), D = `--mesurer-annotation-trigger-${++Ha}`, O = null, k = e.initialTriggerFallback === "current-and-next", A = null, j = null, M = null, ee, N, te = null, P = null, ne = null, F = null, I = null, L = null, R = /* @__PURE__ */ new Map(), z = () => ee?.ownerDocument.defaultView ?? window, B = () => e.coordinateSpace === "viewport", V = (e) => e ? "native-anchor" : B() ? "cached-delta" : "document", re = (e) => {
4309
+ function Oo(e) {
4310
+ let [t, n] = K(0), [r, i] = K(0), [a, o] = K(null), [s, c] = K(null), [l, u] = K(null), [d, f] = K({}), [p, m] = K(null), [h, g] = K(!1), [_, v] = K(""), [y, b] = K(null), [x, S] = K(!1), [C, w] = K(null), [T, E] = K(null), D = `--mesurer-annotation-trigger-${++xo}`, O = null, k = e.initialTriggerFallback === "current-and-next", A = null, j = null, M = null, ee, N, te = null, P = null, ne = null, F = null, I = null, L = null, R = /* @__PURE__ */ new Map(), z = () => ee?.ownerDocument.defaultView ?? window, B = () => e.coordinateSpace === "viewport", V = (e) => e ? "native-anchor" : B() ? "cached-delta" : "document", re = (e) => {
4149
4311
  if (B()) return e;
4150
4312
  let t = z();
4151
4313
  return {
@@ -4180,7 +4342,7 @@ function Ya(e) {
4180
4342
  }, ue = (t) => {
4181
4343
  let n = e.runtime.annotation(t);
4182
4344
  return !n || n.anchor.kind !== "elements" ? null : n.resolvedTargets.find(({ element: e }) => e?.isConnected)?.element ?? null;
4183
- }, de = (e) => !!(Wa(e) && B() && ee && ae() && e.getRootNode() === ee.getRootNode()), fe = (e) => {
4345
+ }, de = (e) => !!(Co(e) && B() && ee && ae() && e.getRootNode() === ee.getRootNode()), fe = (e) => {
4184
4346
  let t = ue(e), n = R.get(e);
4185
4347
  if (!t) {
4186
4348
  n && (le(e), i((e) => e + 1));
@@ -4194,19 +4356,19 @@ function Ya(e) {
4194
4356
  le(e);
4195
4357
  let a = t.ownerDocument.defaultView;
4196
4358
  if (a) {
4197
- if (r && Wa(t)) {
4198
- let n = `--mesurer-annotation-${++Ha}`;
4359
+ if (r && Co(t)) {
4360
+ let n = `--mesurer-annotation-${++xo}`;
4199
4361
  R.set(e, {
4200
4362
  target: t,
4201
4363
  anchorName: n,
4202
- releaseAnchor: Ga(t, n),
4203
- scroll: Cr(a, t, () => ce(e), { trackWindow: !1 })
4364
+ releaseAnchor: wo(t, n),
4365
+ scroll: ti(a, t, () => ce(e), { trackWindow: !1 })
4204
4366
  });
4205
4367
  } else R.set(e, {
4206
4368
  target: t,
4207
4369
  anchorName: null,
4208
4370
  releaseAnchor: null,
4209
- scroll: Cr(a, t, () => ce(e), { trackWindow: B() })
4371
+ scroll: ti(a, t, () => ce(e), { trackWindow: B() })
4210
4372
  });
4211
4373
  i((e) => e + 1);
4212
4374
  }
@@ -4225,7 +4387,7 @@ function Ya(e) {
4225
4387
  e.initialTriggerFallback && (O = W());
4226
4388
  let ge = () => {
4227
4389
  F?.release(), F = null, ne?.(), ne = null, te = null, P = null;
4228
- }, _e = (e) => !!(Wa(e) && B() && ee && e !== O && ae() && e.getRootNode() === ee.getRootNode()), ve = () => {
4390
+ }, _e = (e) => !!(Co(e) && B() && ee && e !== O && ae() && e.getRootNode() === ee.getRootNode()), ve = () => {
4229
4391
  let e = W();
4230
4392
  O && e !== O && (O = null);
4231
4393
  let t = te, n = !!(e?.isConnected && _e(e)), r = P === e;
@@ -4233,16 +4395,16 @@ function Ya(e) {
4233
4395
  F?.sync();
4234
4396
  return;
4235
4397
  }
4236
- let i = e === t ? D : `--mesurer-annotation-trigger-${++Ha}`;
4398
+ let i = e === t ? D : `--mesurer-annotation-trigger-${++xo}`;
4237
4399
  if (ge(), !e?.isConnected) return;
4238
4400
  te = e;
4239
4401
  let a = e.ownerDocument.defaultView;
4240
4402
  if (a) {
4241
- if (n && Wa(e)) {
4242
- ne = Ga(e, i), P = e, D = i, F = Cr(a, e, se, { trackWindow: !1 });
4403
+ if (n && Co(e)) {
4404
+ ne = wo(e, i), P = e, D = i, F = ti(a, e, se, { trackWindow: !1 });
4243
4405
  return;
4244
4406
  }
4245
- D = i, F = Cr(a, e, se, { trackWindow: B() });
4407
+ D = i, F = ti(a, e, se, { trackWindow: B() });
4246
4408
  }
4247
4409
  }, ye = (e) => {
4248
4410
  if (I?.disconnect(), I = null, !e?.isConnected) return;
@@ -4308,7 +4470,7 @@ function Ya(e) {
4308
4470
  };
4309
4471
  });
4310
4472
  return e.region && t.push({ ...e.region }), t;
4311
- }), Ne = Gt(() => Ka(Me())), Pe = () => {
4473
+ }), Ne = Gt(() => To(Me())), Pe = () => {
4312
4474
  let e = we().elements.length;
4313
4475
  return e > 1 ? `${e} selected elements` : e === 1 ? "Selected element" : "Selected region";
4314
4476
  }, Fe = (e) => e.anchor.kind === "elements" ? `${e.anchor.targets.length} selected ${e.anchor.targets.length === 1 ? "element" : "elements"}` : "Selected region", Ie = Gt(() => {
@@ -4330,7 +4492,7 @@ function Ya(e) {
4330
4492
  top: e.top,
4331
4493
  width: 24,
4332
4494
  height: 24
4333
- })), [a] = Ba([{
4495
+ })), [a] = yo([{
4334
4496
  id: "selection-note-trigger",
4335
4497
  rect: n
4336
4498
  }], {
@@ -4339,7 +4501,7 @@ function Ya(e) {
4339
4501
  }, {
4340
4502
  obstacles: i,
4341
4503
  maxShiftRings: 1
4342
- }), o = a?.left ?? Va(n.left + n.width + 6, 4, r.innerWidth - 24 - 4), s = a?.top ?? Va(n.top, 4, r.innerHeight - 24 - 4), c = P === e, l = B() && !c;
4504
+ }), o = a?.left ?? bo(n.left + n.width + 6, 4, r.innerWidth - 24 - 4), s = a?.top ?? bo(n.top, 4, r.innerHeight - 24 - 4), c = P === e, l = B() && !c;
4343
4505
  return {
4344
4506
  left: c || l ? o : o + r.scrollX,
4345
4507
  top: c || l ? s : s + r.scrollY,
@@ -4357,7 +4519,7 @@ function Ya(e) {
4357
4519
  rect: n
4358
4520
  }] : [];
4359
4521
  });
4360
- return new Map(Ba(i, {
4522
+ return new Map(yo(i, {
4361
4523
  width: n.innerWidth,
4362
4524
  height: n.innerHeight
4363
4525
  }, { obstacles: Me() }).map((e) => [e.id, e]));
@@ -4381,7 +4543,7 @@ function Ya(e) {
4381
4543
  return n && e ? {
4382
4544
  left: e.left + n.left,
4383
4545
  top: e.top + n.top
4384
- } : e ? Ja(e, 272, 168, t) : {
4546
+ } : e ? Do(e, 272, 168, t) : {
4385
4547
  left: 8,
4386
4548
  top: 8
4387
4549
  };
@@ -4402,7 +4564,7 @@ function Ya(e) {
4402
4564
  };
4403
4565
  }, Ue = (e, t) => {
4404
4566
  let n = z(), r = Re(), i = r.get(e);
4405
- if (!i) return qa(t, 272, 176, n);
4567
+ if (!i) return Eo(t, 272, 176, n);
4406
4568
  let a = n.innerWidth - 272 - 8, o = n.innerHeight - 176 - 8, s = [...r.values()].map((e) => ({
4407
4569
  left: e.left,
4408
4570
  top: e.top,
@@ -4428,8 +4590,8 @@ function Ya(e) {
4428
4590
  }
4429
4591
  ]) {
4430
4592
  let t = {
4431
- left: Va(e.left, 8, a),
4432
- top: Va(e.top, 8, o)
4593
+ left: bo(e.left, 8, a),
4594
+ top: bo(e.top, 8, o)
4433
4595
  }, n = `${t.left}:${t.top}`;
4434
4596
  l.has(n) || (l.add(n), u.push(t));
4435
4597
  }
@@ -4445,7 +4607,7 @@ function Ya(e) {
4445
4607
  targetOverlap: c(r, t),
4446
4608
  index: n
4447
4609
  };
4448
- }).sort((e, t) => e.markerOverlap - t.markerOverlap || e.targetOverlap - t.targetOverlap || e.index - t.index)[0]?.candidate ?? qa(t, 272, 176, n);
4610
+ }).sort((e, t) => e.markerOverlap - t.markerOverlap || e.targetOverlap - t.targetOverlap || e.index - t.index)[0]?.candidate ?? Eo(t, 272, 176, n);
4449
4611
  }, We = (t) => {
4450
4612
  let n = e.runtime.annotationRect(t);
4451
4613
  if (!n) return {
@@ -4493,8 +4655,8 @@ function Ya(e) {
4493
4655
  let u = (t) => {
4494
4656
  if (!j || t.pointerId !== j.pointerId) return;
4495
4657
  let r = j, i = Math.max(8, s.innerWidth - r.width - 8), a = Math.max(8, s.innerHeight - r.height - 8), o = {
4496
- left: Va(r.originLeft + t.clientX - r.startX, 8, i),
4497
- top: Va(r.originTop + t.clientY - r.startY, 8, a)
4658
+ left: bo(r.originLeft + t.clientX - r.startX, 8, i),
4659
+ top: bo(r.originTop + t.clientY - r.startY, 8, a)
4498
4660
  };
4499
4661
  if (n === "composer") {
4500
4662
  let e = Ne();
@@ -4539,7 +4701,7 @@ function Ya(e) {
4539
4701
  k = !1, A = H(), v(""), b(null), w(null), o(null);
4540
4702
  let e = Ne();
4541
4703
  if (e) {
4542
- let t = Ja(e, 272, 168, z());
4704
+ let t = Do(e, 272, 168, z());
4543
4705
  m({
4544
4706
  left: t.left - e.left,
4545
4707
  top: t.top - e.top
@@ -4603,7 +4765,7 @@ function Ya(e) {
4603
4765
  });
4604
4766
  return nr(() => (e) => {
4605
4767
  N = e, F?.sync();
4606
- }, t), Z(t, J(Vr, { size: 14 })), q(() => ({
4768
+ }, t), Z(t, J(yi, { size: 14 })), q(() => ({
4607
4769
  e: B() ? "viewport" : "document",
4608
4770
  t: V(e().nativeAnchor),
4609
4771
  a: {
@@ -4668,10 +4830,10 @@ function Ya(e) {
4668
4830
  class: "msr:h-7 msr:rounded-[7px] msr:border-0 msr:bg-[#0d99ff] msr:px-2.5 msr:text-[11px] msr:font-medium msr:text-white msr:hover:bg-[#0b8eea]",
4669
4831
  onClick: et
4670
4832
  });
4671
- return X(t, n), X(t, s), X(t, c), X(n, r), X(n, o), Z(n, J(Vr, {
4833
+ return X(t, n), X(t, s), X(t, c), X(n, r), X(n, o), Z(n, J(yi, {
4672
4834
  size: 14,
4673
4835
  class: "msr:text-ink-700"
4674
- }), r), X(r, i), X(r, a), X(i, Qn("Add note")), Z(a, Pe), Z(o, J(Ur, { size: 14 })), Z(t, J(Xt, {
4836
+ }), r), X(r, i), X(r, a), X(i, Qn("Add note")), Z(a, Pe), Z(o, J(xi, { size: 14 })), Z(t, J(Xt, {
4675
4837
  get when() {
4676
4838
  return y();
4677
4839
  },
@@ -4871,7 +5033,7 @@ function Ya(e) {
4871
5033
  o(null), w(null);
4872
5034
  }
4873
5035
  }), y = Y("div", { class: "msr:mx-1 msr:mt-1 msr:max-h-36 msr:overflow-auto msr:whitespace-pre-wrap msr:rounded-[7px] msr:bg-ink-50 msr:px-2 msr:py-2 msr:text-[12px] msr:leading-[1.45] msr:text-ink-800" });
4874
- return X(i, a), X(i, y), X(a, s), X(a, l), X(a, h), Z(s, r), X(l, d), X(l, m), X(d, p), Z(d, r, null), Z(m, () => Fe(t())), X(h, g), X(h, _), X(h, v), Z(g, J(Br, { size: 14 })), Z(_, J(Hr, { size: 14 })), Z(v, J(Ur, { size: 14 })), Z(y, () => t().note), Z(i, J(Xt, {
5036
+ return X(i, a), X(i, y), X(a, s), X(a, l), X(a, h), Z(s, r), X(l, d), X(l, m), X(d, p), Z(d, r, null), Z(m, () => Fe(t())), X(h, g), X(h, _), X(h, v), Z(g, J(vi, { size: 14 })), Z(_, J(bi, { size: 14 })), Z(v, J(xi, { size: 14 })), Z(y, () => t().note), Z(i, J(Xt, {
4875
5037
  get when() {
4876
5038
  return C();
4877
5039
  },
@@ -4903,11 +5065,11 @@ function Ya(e) {
4903
5065
  })
4904
5066
  ];
4905
5067
  }
4906
- function Xa(e) {
5068
+ function ko(e) {
4907
5069
  let t = null;
4908
- return St(ti(e.ownerWindow, () => {
5070
+ return St(Ni(e.ownerWindow, () => {
4909
5071
  t?.abandonNoteComposer();
4910
- })), J(Ya, {
5072
+ })), J(Oo, {
4911
5073
  get runtime() {
4912
5074
  return e.runtime;
4913
5075
  },
@@ -4925,11 +5087,11 @@ function Xa(e) {
4925
5087
  }
4926
5088
  });
4927
5089
  }
4928
- var Za = "2147482950", Qa = "2147483646", $a = "2147483647";
4929
- function eo(e) {
5090
+ var Ao = "2147482950", jo = "2147483646", Mo = "2147483647";
5091
+ function No(e) {
4930
5092
  let { ownerDocument: t, ownerWindow: n, pageTarget: r } = e, i = t.body;
4931
5093
  if (!(i && !(r instanceof n.ShadowRoot) && r.getRootNode() === t)) return e.createInspectorMount();
4932
- ai(Fi, i);
5094
+ Li(pa, i);
4933
5095
  let a = t.createElement("div");
4934
5096
  a.dataset.mesurerInspectorUi = "true", a.dataset.mesurerDocumentInspectorMount = "true", a.dataset.theme = e.theme?.() ?? "system";
4935
5097
  let o = e.subscribeTheme?.((e) => {
@@ -4947,17 +5109,17 @@ function eo(e) {
4947
5109
  s.dataset.mesurerDocumentInspectorLayerStyle = "true", s.textContent = `
4948
5110
  [data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-target-highlight="true"] {
4949
5111
  position: absolute !important;
4950
- z-index: ${Za} !important;
5112
+ z-index: ${Ao} !important;
4951
5113
  }
4952
5114
  [data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-panel="true"] {
4953
5115
  position: absolute !important;
4954
- z-index: ${Qa} !important;
5116
+ z-index: ${jo} !important;
4955
5117
  }
4956
5118
  [data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-marker="true"],
4957
5119
  [data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-trigger="true"],
4958
5120
  [data-mesurer-document-inspector-mount="true"] [data-mesurer-annotation-composer="true"] {
4959
5121
  position: absolute !important;
4960
- z-index: ${$a} !important;
5122
+ z-index: ${Mo} !important;
4961
5123
  }
4962
5124
  `, t.head.append(s), i.append(a);
4963
5125
  let c = !1;
@@ -4968,8 +5130,8 @@ function eo(e) {
4968
5130
  }
4969
5131
  };
4970
5132
  }
4971
- var to = (e) => `color-mix(in srgb, ${e.color} ${e.opacity * 100}%, transparent)`, no = (e) => e === "max" ? "end" : e === "center" ? "center" : "start", ro = (e) => {
4972
- let t = e.kind === "columns", n = e.align === "stretch", r = n ? `repeat(${e.count}, minmax(0, 1fr))` : `repeat(${e.count}, ${e.size}px)`, i = no(e.align);
5133
+ var Po = (e) => `color-mix(in srgb, ${e.color} ${e.opacity * 100}%, transparent)`, Fo = (e) => e === "max" ? "end" : e === "center" ? "center" : "start", Io = (e) => {
5134
+ let t = e.kind === "columns", n = e.align === "stretch", r = n ? `repeat(${e.count}, minmax(0, 1fr))` : `repeat(${e.count}, ${e.size}px)`, i = Fo(e.align);
4973
5135
  return {
4974
5136
  position: "absolute",
4975
5137
  inset: "0",
@@ -4990,7 +5152,7 @@ var to = (e) => `color-mix(in srgb, ${e.color} ${e.opacity * 100}%, transparent)
4990
5152
  transform: e.align === "center" ? t ? `translateX(${e.offset}px)` : `translateY(${e.offset}px)` : void 0
4991
5153
  };
4992
5154
  };
4993
- function io(e) {
5155
+ function Lo(e) {
4994
5156
  let t = () => e.guides.filter((e) => e.visible);
4995
5157
  return J(Xt, {
4996
5158
  get when() {
@@ -5025,7 +5187,7 @@ function io(e) {
5025
5187
  "min-height": "0",
5026
5188
  width: "100%",
5027
5189
  height: "100%",
5028
- "background-color": to(e)
5190
+ "background-color": Po(e)
5029
5191
  }), (e, n) => {
5030
5192
  Q(t, "style", e, n);
5031
5193
  }), t;
@@ -5033,7 +5195,7 @@ function io(e) {
5033
5195
  })), q(() => ({
5034
5196
  e: e.id,
5035
5197
  t: e.kind,
5036
- a: ro(e)
5198
+ a: Io(e)
5037
5199
  }), ({ e, t: n, a: r }, i) => {
5038
5200
  e !== i?.e && Q(t, "data-mesurer-layout-guide", e, i?.e), n !== i?.t && Q(t, "data-mesurer-layout-guide-kind", n, i?.t), r !== i?.a && Q(t, "style", r, i?.a);
5039
5201
  }), t;
@@ -5046,7 +5208,7 @@ function io(e) {
5046
5208
  return q(() => ({
5047
5209
  e: e.id,
5048
5210
  t: {
5049
- "background-image": `linear-gradient(to right, ${to(e)} 1px, transparent 1px), linear-gradient(to bottom, ${to(e)} 1px, transparent 1px)`,
5211
+ "background-image": `linear-gradient(to right, ${Po(e)} 1px, transparent 1px), linear-gradient(to bottom, ${Po(e)} 1px, transparent 1px)`,
5050
5212
  "background-size": `${e.size}px ${e.size}px`
5051
5213
  }
5052
5214
  }), ({ e, t: n }, r) => {
@@ -5058,34 +5220,34 @@ function io(e) {
5058
5220
  }
5059
5221
  });
5060
5222
  }
5061
- var ao = "#FF0000", oo = .1, so = /* @__PURE__ */ new Set([
5223
+ var Ro = "#FF0000", zo = .1, Bo = /* @__PURE__ */ new Set([
5062
5224
  "columns",
5063
5225
  "rows",
5064
5226
  "grid"
5065
- ]), co = /* @__PURE__ */ new Set([
5227
+ ]), Vo = /* @__PURE__ */ new Set([
5066
5228
  "stretch",
5067
5229
  "min",
5068
5230
  "center",
5069
5231
  "max"
5070
- ]), lo = (e, t, n) => Math.min(n, Math.max(t, e)), uo = (e, t) => e !== void 0 && Number.isFinite(e) ? e : t, fo = (e = {}) => {
5071
- let t = e.kind && so.has(e.kind) ? e.kind : "columns", n = e.align && co.has(e.align) ? e.align : t === "grid" ? "min" : "stretch", r = e.id?.trim(), i = e.color?.trim();
5232
+ ]), Ho = (e, t, n) => Math.min(n, Math.max(t, e)), Uo = (e, t) => e !== void 0 && Number.isFinite(e) ? e : t, Wo = (e = {}) => {
5233
+ let t = e.kind && Bo.has(e.kind) ? e.kind : "columns", n = e.align && Vo.has(e.align) ? e.align : t === "grid" ? "min" : "stretch", r = e.id?.trim(), i = e.color?.trim();
5072
5234
  return {
5073
- id: r || fr(),
5235
+ id: r || Wr(),
5074
5236
  kind: t,
5075
5237
  visible: e.visible ?? !0,
5076
5238
  color: i || "#FF0000",
5077
- opacity: lo(uo(e.opacity, oo), 0, 1),
5078
- count: lo(Math.round(uo(e.count, 5)), 1, 24),
5079
- size: lo(uo(e.size, 72), 1, 4096),
5080
- gutter: lo(uo(e.gutter, 20), 0, 800),
5081
- offset: lo(uo(e.offset, 0), 0, 4096),
5239
+ opacity: Ho(Uo(e.opacity, zo), 0, 1),
5240
+ count: Ho(Math.round(Uo(e.count, 5)), 1, 24),
5241
+ size: Ho(Uo(e.size, 72), 1, 4096),
5242
+ gutter: Ho(Uo(e.gutter, 20), 0, 800),
5243
+ offset: Ho(Uo(e.offset, 0), 0, 4096),
5082
5244
  align: n
5083
5245
  };
5084
- }, po = (e) => (e ?? []).map(fo), mo = (e) => {
5246
+ }, Go = (e) => (e ?? []).map(Wo), Ko = (e) => {
5085
5247
  if (e.kind === "grid") return `Grid ${Math.round(e.size)}px`;
5086
5248
  let t = e.kind === "columns" ? "columns" : "rows";
5087
5249
  return e.align === "stretch" ? `${e.count} ${t}` : `${e.count} ${t} (${Math.round(e.size)}px)`;
5088
- }, ho = (e) => (() => {
5250
+ }, qo = (e) => (() => {
5089
5251
  var t = Y("svg", {
5090
5252
  xmlns: "http://www.w3.org/2000/svg",
5091
5253
  viewBox: "0 0 24 24",
@@ -5104,22 +5266,22 @@ var ao = "#FF0000", oo = .1, so = /* @__PURE__ */ new Set([
5104
5266
  }), ({ e, t: n }, r) => {
5105
5267
  e !== r?.e && Q(t, "width", e, r?.e), n !== r?.t && Q(t, "height", n, r?.t);
5106
5268
  }), t;
5107
- })(), go = (e) => e.kind === "rows" ? J(Ir, { size: 14 }) : e.kind === "grid" ? J(Pr, { size: 14 }) : J(Fr, { size: 14 }), _o = "msr:grid-cols-[78px_minmax(0,1fr)]", vo = (e) => (() => {
5269
+ })(), Jo = (e) => e.kind === "rows" ? J(mi, { size: 14 }) : e.kind === "grid" ? J(fi, { size: 14 }) : J(pi, { size: 14 }), Yo = "msr:grid-cols-[78px_minmax(0,1fr)]", Xo = (e) => (() => {
5108
5270
  var t = Y("label", { class: "msr:col-span-2 msr:grid msr:h-8 msr:w-full msr:grid-cols-[78px_minmax(0,1fr)] msr:items-center msr:gap-0 msr:text-[12px] msr:text-ink-700" }), n = Y("span");
5109
5271
  return X(t, n), Z(n, () => e.label), Z(t, () => e.children, null), t;
5110
- })(), yo = (e) => (() => {
5272
+ })(), Zo = (e) => (() => {
5111
5273
  var t = Y("span", { class: "msr:relative msr:block msr:w-full" }), n = Y("select", {
5112
- class: Tr,
5274
+ class: ri,
5113
5275
  onPointerDown: (e) => e.stopPropagation(),
5114
5276
  onChange: (t) => e.onChange(t.currentTarget.value)
5115
5277
  });
5116
- return X(t, n), Z(n, () => e.children), Z(t, J(Er, {}), null), q(() => ({
5278
+ return X(t, n), Z(n, () => e.children), Z(t, J(ii, {}), null), q(() => ({
5117
5279
  e: e.label,
5118
5280
  t: e.value
5119
5281
  }), ({ e, t }, r) => {
5120
5282
  e !== r?.e && Q(n, "aria-label", e, r?.e), t !== r?.t && Q(n, "value", t, r?.t);
5121
5283
  }), t;
5122
- })(), bo = (e) => {
5284
+ })(), Qo = (e) => {
5123
5285
  let [t, n] = K(!1), [r, i] = K(String(e.value)), a = () => e.min ?? 0, o = () => e.max ?? 9999, s = (e) => Math.min(o(), Math.max(a(), e)), c = (t) => {
5124
5286
  let n = Number(t.replace(/[^\d.-]/g, ""));
5125
5287
  if (!Number.isFinite(n)) {
@@ -5128,7 +5290,7 @@ var ao = "#FF0000", oo = .1, so = /* @__PURE__ */ new Set([
5128
5290
  }
5129
5291
  e.onChange(s(n));
5130
5292
  };
5131
- return J(Dr, { get left() {
5293
+ return J(ai, { get left() {
5132
5294
  var a = Y("input", {
5133
5295
  type: "text",
5134
5296
  inputmode: "numeric",
@@ -5160,7 +5322,7 @@ var ao = "#FF0000", oo = .1, so = /* @__PURE__ */ new Set([
5160
5322
  e !== n?.e && Q(a, "aria-label", e, n?.e), t !== n?.t && Q(a, "value", t, n?.t);
5161
5323
  }), a;
5162
5324
  } });
5163
- }, xo = (e) => e === "rows" || e === "grid" ? e : "columns", So = (e) => e === "min" || e === "center" || e === "max" ? e : "stretch", Co = (e) => {
5325
+ }, $o = (e) => e === "rows" || e === "grid" ? e : "columns", es = (e) => e === "min" || e === "center" || e === "max" ? e : "stretch", ts = (e) => {
5164
5326
  let t = Gt(() => e.guide.kind === "rows" ? {
5165
5327
  stretch: "Stretch",
5166
5328
  min: "Top",
@@ -5177,13 +5339,13 @@ var ao = "#FF0000", oo = .1, so = /* @__PURE__ */ new Set([
5177
5339
  "aria-label": "Back to layout guides",
5178
5340
  class: "msr:flex msr:size-6 msr:items-center msr:justify-center msr:rounded-control msr:text-ink-500 msr:outline-none msr:hover:bg-ink-100 msr:hover:text-ink-900"
5179
5341
  });
5180
- return X(r, i), X(i, a), Z(i, J(yo, {
5342
+ return X(r, i), X(i, a), Z(i, J(Zo, {
5181
5343
  label: "Layout guide type",
5182
5344
  get value() {
5183
5345
  return e.guide.kind;
5184
5346
  },
5185
5347
  onChange: (t) => {
5186
- let n = xo(t);
5348
+ let n = $o(t);
5187
5349
  e.onUpdate({
5188
5350
  kind: n,
5189
5351
  align: n === "grid" ? "min" : e.guide.align === "stretch" || n === e.guide.kind ? e.guide.align : "stretch"
@@ -5205,15 +5367,15 @@ var ao = "#FF0000", oo = .1, so = /* @__PURE__ */ new Set([
5205
5367
  })()
5206
5368
  ];
5207
5369
  }
5208
- }), a), Z(a, J(ho, {})), Z(r, J(Xt, {
5370
+ }), a), Z(a, J(qo, {})), Z(r, J(Xt, {
5209
5371
  get when() {
5210
5372
  return e.guide.kind !== "grid";
5211
5373
  },
5212
5374
  get children() {
5213
- return J(vo, {
5375
+ return J(Xo, {
5214
5376
  label: "Count",
5215
5377
  get children() {
5216
- return J(bo, {
5378
+ return J(Qo, {
5217
5379
  label: "Count",
5218
5380
  get value() {
5219
5381
  return e.guide.count;
@@ -5225,16 +5387,16 @@ var ao = "#FF0000", oo = .1, so = /* @__PURE__ */ new Set([
5225
5387
  }
5226
5388
  });
5227
5389
  }
5228
- }), null), Z(r, J(Or, {
5390
+ }), null), Z(r, J(oi, {
5229
5391
  label: "Color",
5230
- columns: _o,
5392
+ columns: Yo,
5231
5393
  get value() {
5232
5394
  return dr({
5233
5395
  ...lr(e.guide.color) ?? lr("#FF0000"),
5234
5396
  alpha: e.guide.opacity
5235
5397
  });
5236
5398
  },
5237
- fallback: ao,
5399
+ fallback: Ro,
5238
5400
  get ownerWindow() {
5239
5401
  return e.ownerWindow;
5240
5402
  },
@@ -5253,15 +5415,15 @@ var ao = "#FF0000", oo = .1, so = /* @__PURE__ */ new Set([
5253
5415
  return e.guide.kind !== "grid";
5254
5416
  },
5255
5417
  get children() {
5256
- return J(vo, {
5418
+ return J(Xo, {
5257
5419
  label: "Type",
5258
5420
  get children() {
5259
- return J(yo, {
5421
+ return J(Zo, {
5260
5422
  label: "Alignment",
5261
5423
  get value() {
5262
5424
  return e.guide.align;
5263
5425
  },
5264
- onChange: (t) => e.onUpdate({ align: So(t) }),
5426
+ onChange: (t) => e.onUpdate({ align: es(t) }),
5265
5427
  get children() {
5266
5428
  return J(Yt, {
5267
5429
  each: [
@@ -5285,12 +5447,12 @@ var ao = "#FF0000", oo = .1, so = /* @__PURE__ */ new Set([
5285
5447
  return e.guide.kind === "grid" || e.guide.align !== "stretch";
5286
5448
  },
5287
5449
  get children() {
5288
- return J(vo, {
5450
+ return J(Xo, {
5289
5451
  get label() {
5290
5452
  return n();
5291
5453
  },
5292
5454
  get children() {
5293
- return J(bo, {
5455
+ return J(Qo, {
5294
5456
  get label() {
5295
5457
  return n();
5296
5458
  },
@@ -5309,10 +5471,10 @@ var ao = "#FF0000", oo = .1, so = /* @__PURE__ */ new Set([
5309
5471
  return e.guide.kind !== "grid";
5310
5472
  },
5311
5473
  get children() {
5312
- return [J(vo, {
5474
+ return [J(Xo, {
5313
5475
  label: "Offset",
5314
5476
  get children() {
5315
- return J(bo, {
5477
+ return J(Qo, {
5316
5478
  label: "Offset",
5317
5479
  get value() {
5318
5480
  return e.guide.offset;
@@ -5322,10 +5484,10 @@ var ao = "#FF0000", oo = .1, so = /* @__PURE__ */ new Set([
5322
5484
  onChange: (t) => e.onUpdate({ offset: t })
5323
5485
  });
5324
5486
  }
5325
- }), J(vo, {
5487
+ }), J(Xo, {
5326
5488
  label: "Gutter",
5327
5489
  get children() {
5328
- return J(bo, {
5490
+ return J(Qo, {
5329
5491
  label: "Gutter",
5330
5492
  get value() {
5331
5493
  return e.guide.gutter;
@@ -5341,7 +5503,7 @@ var ao = "#FF0000", oo = .1, so = /* @__PURE__ */ new Set([
5341
5503
  Q(a, "onClick", e, t);
5342
5504
  }), r;
5343
5505
  };
5344
- function wo(e) {
5506
+ function ns(e) {
5345
5507
  let [t, n] = K(null), r = Gt(() => e.guides.find((e) => e.id === t()) ?? null);
5346
5508
  var i = Y("div", {
5347
5509
  "data-mesurer-layout-guides-panel": "true",
@@ -5363,7 +5525,7 @@ function wo(e) {
5363
5525
  "aria-label": "Add layout guide",
5364
5526
  class: "msr:flex msr:size-6 msr:items-center msr:justify-center msr:rounded-control msr:text-ink-500 msr:outline-none msr:hover:bg-ink-100 msr:hover:text-ink-900"
5365
5527
  });
5366
- return X(t, r), X(r, i), X(r, a), X(i, Qn("Layout guides")), Z(a, J(Lr, {})), Z(t, J(Xt, {
5528
+ return X(t, r), X(r, i), X(r, a), X(i, Qn("Layout guides")), Z(a, J(hi, {})), Z(t, J(Xt, {
5367
5529
  get when() {
5368
5530
  return e.guides.length > 0;
5369
5531
  },
@@ -5390,22 +5552,22 @@ function wo(e) {
5390
5552
  class: "msr:flex msr:size-6 msr:items-center msr:justify-center msr:rounded-control msr:text-ink-400 msr:outline-none msr:hover:bg-ink-100 msr:hover:text-ink-900",
5391
5553
  onClick: () => e.onRemove(t.id)
5392
5554
  });
5393
- return X(r, i), X(r, s), X(r, c), X(i, a), X(i, o), Z(a, J(go, { get kind() {
5555
+ return X(r, i), X(r, s), X(r, c), X(i, a), X(i, o), Z(a, J(Jo, { get kind() {
5394
5556
  return t.kind;
5395
- } })), Z(o, () => mo(t)), Z(i, J(Ar, {
5557
+ } })), Z(o, () => Ko(t)), Z(i, J(ci, {
5396
5558
  size: 8,
5397
5559
  class: "msr:block msr:-rotate-90 msr:text-ink-400"
5398
5560
  }), null), Z(s, (() => {
5399
5561
  var e = Zn(() => !!t.visible);
5400
- return () => e() ? J(Rr, {}) : J(zr, {});
5401
- })()), Z(c, J(jr, {
5562
+ return () => e() ? J(gi, {}) : J(_i, {});
5563
+ })()), Z(c, J(li, {
5402
5564
  size: 10,
5403
5565
  class: "msr:block"
5404
5566
  })), q(() => ({
5405
- e: t.visible ? `Hide ${mo(t)}` : `Show ${mo(t)}`,
5567
+ e: t.visible ? `Hide ${Ko(t)}` : `Show ${Ko(t)}`,
5406
5568
  t: t.visible ? "true" : "false",
5407
5569
  a: `msr:flex msr:size-6 msr:items-center msr:justify-center msr:rounded-control msr:outline-none msr:hover:bg-ink-100 ${t.visible ? "msr:text-ink-700" : "msr:text-ink-400"}`,
5408
- o: `Remove ${mo(t)}`
5570
+ o: `Remove ${Ko(t)}`
5409
5571
  }), ({ e, t, a: n, o: r }, i) => {
5410
5572
  e !== i?.e && Q(s, "aria-label", e, i?.e), t !== i?.t && Q(s, "aria-pressed", t, i?.t), n !== i?.a && Q(s, "class", n, i?.a), r !== i?.o && Q(c, "aria-label", r, i?.o);
5411
5573
  }), r;
@@ -5416,7 +5578,7 @@ function wo(e) {
5416
5578
  Q(a, "onClick", e, t);
5417
5579
  }), t;
5418
5580
  },
5419
- children: (t) => J(Co, {
5581
+ children: (t) => J(ts, {
5420
5582
  get guide() {
5421
5583
  return t();
5422
5584
  },
@@ -5428,56 +5590,56 @@ function wo(e) {
5428
5590
  })
5429
5591
  })), i;
5430
5592
  }
5431
- var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-guides.pages", Oo = "mesurer.layout-guides.active", ko = "runtime:solid", Ao = "layout-guides.toggle", jo = "layout-guides.add", Mo = "layout-guides.update", No = "layout-guides.remove", Po = "layout-guides.clear", Fo = 240, Io = 8, Lo = 8, Ro = () => ({ pages: {} }), zo = (e, t) => e.pages[t] ?? [], Bo = (e) => typeof e == "object" && !!e && !Array.isArray(e), Vo = (e) => typeof e == "string", Ho = (e) => typeof e == "boolean", Uo = (e) => typeof e == "number", Wo = (e) => e === "columns" || e === "rows" || e === "grid", Go = (e) => e === "stretch" || e === "min" || e === "center" || e === "max", Ko = (e) => ({ ...e }), qo = (e) => e.map(Ko), Jo = (e) => Bo(e) ? e : null, Yo = (e) => {
5593
+ var rs = "mesurer.layout-guides", is = "layout-guides:v1", as = "mesurer.layout-guides.pages", os = "mesurer.layout-guides.active", ss = "runtime:solid", cs = "layout-guides.toggle", ls = "layout-guides.add", us = "layout-guides.update", ds = "layout-guides.remove", fs = "layout-guides.clear", ps = 240, ms = 8, hs = 8, gs = () => ({ pages: {} }), _s = (e, t) => e.pages[t] ?? [], vs = (e) => typeof e == "object" && !!e && !Array.isArray(e), ys = (e) => typeof e == "string", bs = (e) => typeof e == "boolean", xs = (e) => typeof e == "number", Ss = (e) => e === "columns" || e === "rows" || e === "grid", Cs = (e) => e === "stretch" || e === "min" || e === "center" || e === "max", ws = (e) => ({ ...e }), Ts = (e) => e.map(ws), Es = (e) => vs(e) ? e : null, Ds = (e) => {
5432
5594
  if (!e) return {};
5433
5595
  let t = {};
5434
- return Vo(e.id) && (t.id = e.id), Wo(e.kind) && (t.kind = e.kind), Ho(e.visible) && (t.visible = e.visible), Vo(e.color) && (t.color = e.color), Uo(e.opacity) && (t.opacity = e.opacity), Uo(e.count) && (t.count = e.count), Uo(e.size) && (t.size = e.size), Uo(e.gutter) && (t.gutter = e.gutter), Uo(e.offset) && (t.offset = e.offset), Go(e.align) && (t.align = e.align), t;
5435
- }, Xo = (e) => {
5596
+ return ys(e.id) && (t.id = e.id), Ss(e.kind) && (t.kind = e.kind), bs(e.visible) && (t.visible = e.visible), ys(e.color) && (t.color = e.color), xs(e.opacity) && (t.opacity = e.opacity), xs(e.count) && (t.count = e.count), xs(e.size) && (t.size = e.size), xs(e.gutter) && (t.gutter = e.gutter), xs(e.offset) && (t.offset = e.offset), Cs(e.align) && (t.align = e.align), t;
5597
+ }, Os = (e) => {
5436
5598
  let t = {};
5437
5599
  return e.id !== void 0 && (t.id = e.id), e.kind !== void 0 && (t.kind = e.kind), e.visible !== void 0 && (t.visible = e.visible), e.color !== void 0 && (t.color = e.color), e.opacity !== void 0 && (t.opacity = e.opacity), e.count !== void 0 && (t.count = e.count), e.size !== void 0 && (t.size = e.size), e.gutter !== void 0 && (t.gutter = e.gutter), e.offset !== void 0 && (t.offset = e.offset), e.align !== void 0 && (t.align = e.align), t;
5438
- }, Zo = {
5600
+ }, ks = {
5439
5601
  viewBox: "0 0 256 256",
5440
5602
  paths: ["M48 48h160v8H48zM48 200h160v8H48zM48 56h8v144h-8zM200 56h8v144h-8z", "M101 56h8v144h-8zM147 56h8v144h-8z"]
5441
- }, Qo = () => ar({
5442
- id: To,
5603
+ }, As = () => ar({
5604
+ id: rs,
5443
5605
  version: "0.1.0",
5444
- requires: [ko],
5445
- provides: [Eo, "tool:layout-guides"],
5606
+ requires: [ss],
5607
+ provides: [is, "tool:layout-guides"],
5446
5608
  setup(e) {
5447
- let t = e.service.get(ko);
5609
+ let t = e.service.get(ss);
5448
5610
  if (!t) throw Error("Layout Guides requires the Solid renderer runtime.");
5449
5611
  let n = t.rendererRoot;
5450
5612
  if (!n) throw Error("Layout Guides requires a mounted renderer root.");
5451
5613
  e.state.register({
5452
- id: Do,
5453
- initial: Ro(),
5614
+ id: as,
5615
+ initial: gs(),
5454
5616
  history: !0,
5455
5617
  persist: !0
5456
5618
  }), e.state.register({
5457
- id: Oo,
5619
+ id: os,
5458
5620
  initial: !1
5459
5621
  });
5460
- let r = gr(t.ownerWindow), i = !1, [a, o] = K(0), s = /* @__PURE__ */ new Set(), c = 0, l = () => e.state.get("mesurer.layout-guides.pages") ?? Ro(), u = () => e.state.get("mesurer.layout-guides.active") ?? !1, d = () => po(zo(l(), r)), f = () => (a(), u() ? d() : []), p = (t) => {
5461
- e.state.update(Oo, () => t);
5622
+ let r = Jr(t.ownerWindow), i = !1, [a, o] = K(0), s = /* @__PURE__ */ new Set(), c = 0, l = () => e.state.get("mesurer.layout-guides.pages") ?? gs(), u = () => e.state.get("mesurer.layout-guides.active") ?? !1, d = () => Go(_s(l(), r)), f = () => (a(), u() ? d() : []), p = (t) => {
5623
+ e.state.update(os, () => t);
5462
5624
  }, m = (t) => {
5463
- e.state.update(Do, (e) => ({
5625
+ e.state.update(as, (e) => ({
5464
5626
  ...e,
5465
5627
  pages: {
5466
5628
  ...e.pages,
5467
- [r]: qo(t(po(e.pages[r])))
5629
+ [r]: Ts(t(Go(e.pages[r])))
5468
5630
  }
5469
5631
  }));
5470
5632
  };
5471
- e.command.register(Ao, () => {
5633
+ e.command.register(cs, () => {
5472
5634
  let e = !u();
5473
- return e && d().length === 0 && m(() => [fo()]), i = e, p(e), u();
5474
- }), e.command.register(jo, (e) => {
5475
- let t = fo(Yo(Jo(e)));
5635
+ return e && d().length === 0 && m(() => [Wo()]), i = e, p(e), u();
5636
+ }), e.command.register(ls, (e) => {
5637
+ let t = Wo(Ds(Es(e)));
5476
5638
  return m((e) => [...e, t]), { ...t };
5477
- }), e.command.register(Mo, (e) => {
5478
- let t = Jo(e), n = t && Vo(t.id) ? t.id : null, r = Yo(Jo(t?.patch));
5639
+ }), e.command.register(us, (e) => {
5640
+ let t = Es(e), n = t && ys(t.id) ? t.id : null, r = Ds(Es(t?.patch));
5479
5641
  if (!n) throw Error("layout-guides.update requires a guide id.");
5480
- m((e) => e.map((e) => e.id === n ? fo({
5642
+ m((e) => e.map((e) => e.id === n ? Wo({
5481
5643
  ...e,
5482
5644
  ...r,
5483
5645
  id: e.id
@@ -5485,30 +5647,30 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
5485
5647
  let i = d().find((e) => e.id === n);
5486
5648
  if (!i) throw Error(`Layout guide not found: ${n}`);
5487
5649
  return { ...i };
5488
- }), e.command.register(No, (e) => {
5489
- let t = Jo(e), n = t && Vo(t.id) ? t.id : null;
5650
+ }), e.command.register(ds, (e) => {
5651
+ let t = Es(e), n = t && ys(t.id) ? t.id : null;
5490
5652
  if (!n) throw Error("layout-guides.remove requires a guide id.");
5491
5653
  let r = d().length;
5492
5654
  return m((e) => e.filter((e) => e.id !== n)), d().length !== r;
5493
- }), e.command.register(Po, () => {
5655
+ }), e.command.register(fs, () => {
5494
5656
  m(() => []);
5495
5657
  });
5496
5658
  let h = async (t, n) => {
5497
- let r = Jo(await e.command.execute(t, n));
5659
+ let r = Es(await e.command.execute(t, n));
5498
5660
  if (!r) throw Error(`${t} did not return a layout guide.`);
5499
- return fo(Yo(r));
5661
+ return Wo(Ds(r));
5500
5662
  }, g = {
5501
5663
  list: () => d().map((e) => ({ ...e })),
5502
- add: (e = {}) => h(jo, Xo(e)),
5503
- update: (e, t) => h(Mo, {
5664
+ add: (e = {}) => h(ls, Os(e)),
5665
+ update: (e, t) => h(us, {
5504
5666
  id: e,
5505
- patch: Xo(t)
5667
+ patch: Os(t)
5506
5668
  }),
5507
5669
  async remove(t) {
5508
- return await e.command.execute(No, { id: t }) === !0;
5670
+ return await e.command.execute(ds, { id: t }) === !0;
5509
5671
  },
5510
5672
  async clear() {
5511
- await e.command.execute(Po);
5673
+ await e.command.execute(fs);
5512
5674
  },
5513
5675
  subscribe(e) {
5514
5676
  s.add(e);
@@ -5518,25 +5680,25 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
5518
5680
  };
5519
5681
  }
5520
5682
  };
5521
- e.service.provide(Eo, g), e.tool.register({
5683
+ e.service.provide(is, g), e.tool.register({
5522
5684
  id: "layout-guides",
5523
5685
  label: "Layout guides",
5524
5686
  shortcut: "L",
5525
- command: Ao,
5687
+ command: cs,
5526
5688
  order: 38,
5527
- icon: Zo,
5689
+ icon: ks,
5528
5690
  active: u
5529
5691
  });
5530
5692
  let _ = t.ownerDocument.createElement("div");
5531
5693
  _.dataset.mesurerLayoutGuidesRoot = "true", _.dataset.mesurerLayer = "evidence", _.style.position = "absolute", _.style.inset = "0", _.style.pointerEvents = "none", n.prepend(_);
5532
- let v = Xn(() => J(io, { get guides() {
5694
+ let v = Xn(() => J(Lo, { get guides() {
5533
5695
  return f();
5534
5696
  } }), _), y = t.createInspectorMount();
5535
5697
  y.element.dataset.mesurerLayoutGuidesPanelRoot = "true", Object.assign(y.element.style, {
5536
5698
  position: "fixed",
5537
5699
  left: "0",
5538
5700
  top: "0",
5539
- width: `${Fo}px`,
5701
+ width: `${ps}px`,
5540
5702
  zIndex: "100",
5541
5703
  pointerEvents: "none",
5542
5704
  display: "none"
@@ -5545,13 +5707,13 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
5545
5707
  if (c = 0, !i) return;
5546
5708
  let e = t.portalTarget.querySelector("[data-mesurer-tool-id='layout-guides']");
5547
5709
  if (!e) return;
5548
- let n = e.getBoundingClientRect(), r = Math.min(Math.max(Lo, n.right - Fo), Math.max(Lo, t.ownerWindow.innerWidth - Fo - Lo)), a = t.ownerWindow.innerHeight - n.bottom - Io - Lo, o = Math.min(320, t.ownerWindow.innerHeight - 16), s = a >= Math.min(o, 320) ? n.bottom + Io : Math.max(Lo, n.top - Io - o);
5710
+ let n = e.getBoundingClientRect(), r = Math.min(Math.max(hs, n.right - ps), Math.max(hs, t.ownerWindow.innerWidth - ps - hs)), a = t.ownerWindow.innerHeight - n.bottom - ms - hs, o = Math.min(320, t.ownerWindow.innerHeight - 16), s = a >= Math.min(o, 320) ? n.bottom + ms : Math.max(hs, n.top - ms - o);
5549
5711
  y.element.style.left = `${r}px`, y.element.style.top = `${s}px`;
5550
5712
  }, x = () => {
5551
5713
  c ||= t.ownerWindow.requestAnimationFrame(b);
5552
5714
  }, S = () => {
5553
5715
  y.element.style.display = i ? "block" : "none", i && x();
5554
- }, C = Xn(() => J(wo, {
5716
+ }, C = Xn(() => J(ns, {
5555
5717
  get guides() {
5556
5718
  return f();
5557
5719
  },
@@ -5571,7 +5733,7 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
5571
5733
  o((e) => e + 1);
5572
5734
  for (let e of s) e();
5573
5735
  S();
5574
- }, T = e.state.subscribe(w), E = br(t.ownerWindow, (e) => {
5736
+ }, T = e.state.subscribe(w), E = Qr(t.ownerWindow, (e) => {
5575
5737
  r !== e && (r = e, w());
5576
5738
  }), D = (e) => {
5577
5739
  if (!i) return;
@@ -5586,169 +5748,7 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
5586
5748
  t.ownerDocument.removeEventListener("pointerdown", D, !0), t.ownerDocument.removeEventListener("keydown", O, !0), t.ownerWindow.removeEventListener("resize", x), t.ownerWindow.removeEventListener("pointerup", x, !0), c && t.ownerWindow.cancelAnimationFrame(c), c = 0, s.clear(), T.dispose(), E(), C(), y.dispose(), v(), _.remove();
5587
5749
  });
5588
5750
  }
5589
- }), $o = "mesurer:capture-bridge-ping", es = "mesurer:capture-bridge-request", ts = "mesurer:capture-bridge-response", ns = (e) => e.__MESURER_HOST__?.captureScreenshot, rs = (e) => {
5590
- if (e instanceof Blob) return e;
5591
- if (e instanceof Uint8Array) {
5592
- let t = new Uint8Array(e.byteLength);
5593
- return t.set(e), new Blob([t.buffer], { type: "image/png" });
5594
- }
5595
- if (e instanceof ArrayBuffer) return new Blob([e.slice(0)], { type: "image/png" });
5596
- if (e == null) throw Error("Host screenshot capture returned no PNG data.");
5597
- if (!e.png) throw Error("Host screenshot capture returned unsupported PNG data.");
5598
- return rs(e.png);
5599
- }, is = async (e) => {
5600
- let t = ns(e);
5601
- return t ? rs(await t()) : null;
5602
- }, as = (e, t, n) => {
5603
- let r = Math.max(0, Math.min(e.x, t.x, n.width)), i = Math.max(0, Math.min(e.y, t.y, n.height)), a = Math.max(0, Math.min(Math.max(e.x, t.x), n.width)), o = Math.max(0, Math.min(Math.max(e.y, t.y), n.height));
5604
- return {
5605
- left: r,
5606
- top: i,
5607
- width: Math.max(0, a - r),
5608
- height: Math.max(0, o - i)
5609
- };
5610
- }, os = async (e, t, n, r) => {
5611
- let i = await createImageBitmap(e);
5612
- try {
5613
- let e = i.width / n.width, a = i.height / n.height, o = Math.max(0, Math.round(t.left * e)), s = Math.max(0, Math.round(t.top * a)), c = Math.max(1, Math.min(i.width - o, Math.round(t.width * e))), l = Math.max(1, Math.min(i.height - s, Math.round(t.height * a))), u = r.createElement("canvas");
5614
- u.width = c, u.height = l;
5615
- let d = u.getContext("2d");
5616
- if (!d) throw Error("Could not crop screenshot");
5617
- return d.drawImage(i, o, s, c, l, 0, 0, c, l), await new Promise((e, t) => {
5618
- u.toBlob((n) => {
5619
- n ? e(n) : t(/* @__PURE__ */ Error("Could not crop screenshot"));
5620
- }, "image/png");
5621
- });
5622
- } finally {
5623
- i.close();
5624
- }
5625
- }, ss = async (e, t) => {
5626
- let n = t.navigator.clipboard, r = globalThis.ClipboardItem;
5627
- if (!n?.write || !r) throw Error("PNG clipboard copy is not available");
5628
- await n.write([new r({ "image/png": e })]);
5629
- }, cs = (e = /* @__PURE__ */ new Date()) => {
5630
- let t = (e) => String(e).padStart(2, "0");
5631
- return `mesurer-${e.getFullYear()}-${t(e.getMonth() + 1)}-${t(e.getDate())}-${t(e.getHours())}${t(e.getMinutes())}${t(e.getSeconds())}.png`;
5632
- }, ls = (e, t, n, r) => {
5633
- let i = globalThis.URL.createObjectURL(e), a = n.createElement("a");
5634
- a.href = i, a.download = t, a.rel = "noopener", n.documentElement.append(a), a.click(), a.remove(), r.setTimeout(() => globalThis.URL.revokeObjectURL(i), 1e3);
5635
- }, us = (e) => new Promise((t) => {
5636
- e.requestAnimationFrame(() => {
5637
- e.requestAnimationFrame(() => t());
5638
- });
5639
- }), ds = (e) => e.crypto?.randomUUID?.() ?? `mesurer-${Date.now()}-${Math.random().toString(36).slice(2)}`, fs = (e, t, n = "") => `${e}:${t}:${n}`, ps = (e) => e.location.origin === "null" ? "*" : e.location.origin, ms = (e, t, n) => {
5640
- let r = `${t}:${n}:`;
5641
- return e.startsWith(r) ? e.slice(r.length) : null;
5642
- }, hs = (e) => new Promise((t) => {
5643
- let n = ds(e), r = e.location.origin, i = (o) => {
5644
- o.source === e && o.origin === r && ms(String(o.data ?? ""), "mesurer:capture-bridge-pong", n) !== null && (e.removeEventListener("message", i), e.clearTimeout(a), t(!0));
5645
- }, a = e.setTimeout(() => {
5646
- e.removeEventListener("message", i), t(!1);
5647
- }, 80);
5648
- e.addEventListener("message", i), e.postMessage(fs($o, n), ps(e));
5649
- }), gs = (e) => new Promise((t, n) => {
5650
- let r = ds(e), i = e.location.origin, a = (s) => {
5651
- if (s.source !== e || s.origin !== i) return;
5652
- let c = ms(String(s.data ?? ""), ts, r);
5653
- if (c === null) return;
5654
- if (e.removeEventListener("message", a), e.clearTimeout(o), !c.startsWith("ok:")) {
5655
- t(null);
5656
- return;
5657
- }
5658
- let l = c.slice(3);
5659
- if (!l) {
5660
- t(null);
5661
- return;
5662
- }
5663
- e.fetch(l).then((e) => e.blob()).then(t, n);
5664
- }, o = e.setTimeout(() => {
5665
- e.removeEventListener("message", a), t(null);
5666
- }, 4e3);
5667
- e.addEventListener("message", a), e.postMessage(fs(es, r), ps(e));
5668
- }), _s = /* @__PURE__ */ new WeakMap(), vs = (e) => {
5669
- let t = _s.get(e), n = t?.stream.getVideoTracks()[0];
5670
- if (!t || !n || n.readyState !== "live") {
5671
- _s.delete(e);
5672
- return;
5673
- }
5674
- return t;
5675
- }, ys = async (e, t) => {
5676
- let n = vs(t);
5677
- if (n) return n;
5678
- let r = t.navigator.mediaDevices;
5679
- if (!r?.getDisplayMedia) throw Error("Screenshot capture is unavailable");
5680
- let i = await r.getDisplayMedia({
5681
- audio: !1,
5682
- video: !0,
5683
- preferCurrentTab: !0,
5684
- selfBrowserSurface: "include"
5685
- }), a = i.getVideoTracks()[0];
5686
- if (!a) throw i.getTracks().forEach((e) => e.stop()), Error("Capture failed");
5687
- try {
5688
- let n = e.createElement("video");
5689
- n.autoplay = !0, n.muted = !0, n.playsInline = !0, n.srcObject = i, await n.play(), (n.videoWidth === 0 || n.videoHeight === 0) && await new Promise((e) => {
5690
- n.onloadedmetadata = () => e();
5691
- });
5692
- let r = {
5693
- stream: i,
5694
- video: n
5695
- };
5696
- return _s.set(t, r), a.addEventListener("ended", () => {
5697
- _s.get(t) === r && _s.delete(t);
5698
- }, { once: !0 }), r;
5699
- } catch (e) {
5700
- throw i.getTracks().forEach((e) => e.stop()), e;
5701
- }
5702
- }, bs = (e) => {
5703
- let t = _s.get(e);
5704
- t && (_s.delete(e), t.video.pause(), t.video.srcObject = null, t.stream.getTracks().forEach((e) => e.stop()));
5705
- }, xs = async ({ ownerDocument: e, ownerWindow: t }) => {
5706
- let { video: n } = await ys(e, t), r = e.createElement("canvas");
5707
- r.width = n.videoWidth, r.height = n.videoHeight;
5708
- let i = r.getContext("2d");
5709
- if (!i) throw Error("Capture failed");
5710
- return i.drawImage(n, 0, 0), await new Promise((e, t) => {
5711
- r.toBlob((n) => {
5712
- n ? e(n) : t(/* @__PURE__ */ Error("Capture failed"));
5713
- }, "image/png");
5714
- });
5715
- }, Ss = {
5716
- prepare: async () => void 0,
5717
- capture: async ({ ownerWindow: e }) => {
5718
- let t = await is(e);
5719
- if (!t) throw Error("Host screenshot capture is unavailable.");
5720
- return t;
5721
- },
5722
- release: () => void 0
5723
- }, Cs = {
5724
- prepare: async () => void 0,
5725
- capture: async ({ ownerWindow: e }) => {
5726
- let t = await gs(e);
5727
- if (!t) throw Error("Host screenshot capture failed.");
5728
- return t;
5729
- },
5730
- release: () => void 0
5731
- }, ws = {
5732
- prepare: async ({ ownerDocument: e, ownerWindow: t }) => {
5733
- await ys(e, t);
5734
- },
5735
- capture: xs,
5736
- release: bs
5737
- }, Ts = /* @__PURE__ */ new WeakMap(), Es = async (e) => {
5738
- let t = Ts.get(e.ownerWindow);
5739
- if (t) return t;
5740
- let n = ws;
5741
- return ns(e.ownerWindow) ? n = Ss : await hs(e.ownerWindow) && (n = Cs), Ts.set(e.ownerWindow, n), n;
5742
- }, Ds = async (e, t) => {
5743
- let n = {
5744
- ownerDocument: e,
5745
- ownerWindow: t
5746
- };
5747
- await (await Es(n)).prepare(n);
5748
- }, Os = async (e) => (await Es(e)).capture(e), ks = (e) => {
5749
- let t = Ts.get(e);
5750
- Ts.delete(e), t?.release(e);
5751
- }, As = Os, js = 144, Ms = 96, Ns = 8, Ps = 4, Fs = 1800, Is = (e, t) => {
5751
+ }), js = 144, Ms = 96, Ns = 8, Ps = 4, Fs = 1800, Is = (e, t) => {
5752
5752
  for (let [n, r] of Object.entries(t)) e.style.setProperty(n, r);
5753
5753
  }, Ls = (e, t) => ({
5754
5754
  left: Math.min(Math.max(Ns, e.left), Math.max(Ns, t.innerWidth - js - Ns)),
@@ -5915,14 +5915,14 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
5915
5915
  }, N = async () => {
5916
5916
  let e = v;
5917
5917
  if (e) try {
5918
- await ss(Promise.resolve(e), t), D("Copied screenshot");
5918
+ await br(Promise.resolve(e), t), D("Copied screenshot");
5919
5919
  } catch {
5920
5920
  D("Could not copy screenshot", !0);
5921
5921
  }
5922
5922
  }, te = () => {
5923
5923
  let n = v;
5924
5924
  if (n) try {
5925
- ls(n, cs(), e, t), D("Saved screenshot");
5925
+ Sr(n, xr(), e, t), D("Saved screenshot");
5926
5926
  } catch {
5927
5927
  D("Could not save screenshot", !0);
5928
5928
  }
@@ -6070,7 +6070,7 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
6070
6070
  setup(t) {
6071
6071
  let n = t.service.get(Ks);
6072
6072
  if (!n) throw Error("Screenshot plugin requires the Solid renderer runtime.");
6073
- let { ownerDocument: r, ownerWindow: i } = n, a = n.createWorkspaceRuntime(), o = n.createInspectorMount(), s = e.capture ?? e.captureVisibleTab, c = s ?? Os, l = e.previewDurationMs ?? Ys;
6073
+ let { ownerDocument: r, ownerWindow: i } = n, a = n.createWorkspaceRuntime(), o = n.createInspectorMount(), s = e.capture ?? e.captureVisibleTab, c = s ?? Vr, l = e.previewDurationMs ?? Ys;
6074
6074
  t.state.register({
6075
6075
  id: Ws,
6076
6076
  initial: {
@@ -6235,7 +6235,7 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
6235
6235
  }, te = () => {
6236
6236
  _ = null, A(null), d.style.visibility = "", d.style.display = "none", u.style.pointerEvents = "none", D(!1), k();
6237
6237
  }, P = () => {
6238
- b += 1, te(), ks(i);
6238
+ b += 1, te(), Hr(i);
6239
6239
  }, ne = async (e) => {
6240
6240
  if (x) throw Error("A screenshot capture is already running.");
6241
6241
  if (e.width < 4 || e.height < 4) throw Error("Screenshot selection must be at least 4px by 4px.");
@@ -6243,8 +6243,8 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
6243
6243
  let o = ++b, s = T(), l = s.includeMeasurements ? oc(r) : [], u = s.includeMeasurements ? () => void 0 : ac(n.portalTarget);
6244
6244
  a.prepareCapture(), s.includeMeasurements && sc(l);
6245
6245
  try {
6246
- d.style.visibility = "hidden", await us(i);
6247
- let n = await os(await c({
6246
+ d.style.visibility = "hidden", await Cr(i);
6247
+ let n = await yr(await c({
6248
6248
  ownerDocument: r,
6249
6249
  ownerWindow: i
6250
6250
  }), e, {
@@ -6252,10 +6252,10 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
6252
6252
  height: i.innerHeight
6253
6253
  }, r);
6254
6254
  if (b !== o) throw Error("Screenshot capture was cancelled.");
6255
- let a = !1, l = !1, u = s.copy ? ss(Promise.resolve(n), i).then(() => {
6255
+ let a = !1, l = !1, u = s.copy ? br(Promise.resolve(n), i).then(() => {
6256
6256
  a = !0;
6257
6257
  }) : Promise.resolve(), f = s.download ? Promise.resolve().then(() => {
6258
- ls(n, cs(), r, i), l = !0;
6258
+ Sr(n, xr(), r, i), l = !0;
6259
6259
  }) : Promise.resolve(), p = await Promise.allSettled([u, f]), m = s.copy && p[0]?.status === "rejected", h = s.download && p[1]?.status === "rejected";
6260
6260
  if (b !== o) throw Error("Screenshot capture was cancelled.");
6261
6261
  return M.show(n, {
@@ -6287,7 +6287,7 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
6287
6287
  if (!S) {
6288
6288
  S = !0, M.dismiss();
6289
6289
  try {
6290
- if (s || await Ds(r, i), C) return;
6290
+ if (s || await Br(r, i), C) return;
6291
6291
  O(), A(null), d.style.visibility = "visible", u.style.pointerEvents = "auto", d.style.display = "block", D(!0);
6292
6292
  } catch (e) {
6293
6293
  throw e instanceof Error && e.name === "AbortError" || N(), e;
@@ -6300,12 +6300,12 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
6300
6300
  !w() || e.button !== 0 || (e.preventDefault(), e.stopPropagation(), _ = {
6301
6301
  x: e.clientX,
6302
6302
  y: e.clientY
6303
- }, A(as(_, _, {
6303
+ }, A(vr(_, _, {
6304
6304
  width: i.innerWidth,
6305
6305
  height: i.innerHeight
6306
6306
  })), d.setPointerCapture?.(e.pointerId));
6307
6307
  }, L = (e) => {
6308
- !w() || !_ || A(as(_, {
6308
+ !w() || !_ || A(vr(_, {
6309
6309
  x: e.clientX,
6310
6310
  y: e.clientY
6311
6311
  }, {
@@ -6316,7 +6316,7 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
6316
6316
  let t = _;
6317
6317
  if (_ = null, !w() || !t) return;
6318
6318
  d.hasPointerCapture?.(e.pointerId) && d.releasePointerCapture(e.pointerId);
6319
- let n = as(t, {
6319
+ let n = vr(t, {
6320
6320
  x: e.clientX,
6321
6321
  y: e.clientY
6322
6322
  }, {
@@ -6417,11 +6417,11 @@ var To = "mesurer.layout-guides", Eo = "layout-guides:v1", Do = "mesurer.layout-
6417
6417
  }
6418
6418
  ]
6419
6419
  }), t.command.register(qs, F), t.service.provide(Us, V), t.lifecycle.onDispose(() => {
6420
- C = !0, b += 1, d.removeEventListener("pointerdown", I), d.removeEventListener("pointermove", L), d.removeEventListener("pointerup", R), d.removeEventListener("pointercancel", z), i.removeEventListener("keydown", B, !0), y && i.clearTimeout(y), M.dispose(), k(), ks(i), a.finishCapture(), a.dispose(), o.dispose();
6420
+ C = !0, b += 1, d.removeEventListener("pointerdown", I), d.removeEventListener("pointermove", L), d.removeEventListener("pointerup", R), d.removeEventListener("pointercancel", z), i.removeEventListener("keydown", B, !0), y && i.clearTimeout(y), M.dispose(), k(), Hr(i), a.finishCapture(), a.dispose(), o.dispose();
6421
6421
  });
6422
6422
  }
6423
- }), lc = "0.1.9", uc = Vi, dc = Ri, fc = zi, pc = Hi, mc = Bi, hc = () => ({
6424
- ...wa(),
6423
+ }), lc = "0.2.0-beta.0", uc = ya, dc = ga, fc = _a, pc = ba, mc = va, hc = () => ({
6424
+ ...no(),
6425
6425
  version: lc
6426
6426
  }), gc = (e, t) => e.left <= t.left + t.width && e.left + e.width >= t.left && e.top <= t.top + t.height && e.top + e.height >= t.top, _c = (e) => {
6427
6427
  if (!e.length) return null;
@@ -6868,8 +6868,8 @@ async function Bc(e, t, n) {
6868
6868
  }
6869
6869
  //#endregion
6870
6870
  //#region src/layout-guides.ts
6871
- var Vc = To, Hc = Eo, Uc = Do, Wc = Oo, Gc = () => ({
6872
- ...Qo(),
6871
+ var Vc = rs, Hc = is, Uc = as, Wc = os, Gc = () => ({
6872
+ ...As(),
6873
6873
  version: lc
6874
6874
  }), Kc = "mesurer.context", qc = "context:v1", Jc = "mesurer.context.settings", Yc = "context.ui", Xc = "data-mesurer-direct-text-edit-active", Zc = {
6875
6875
  viewBox: "0 0 256 256",
@@ -6975,7 +6975,7 @@ function rl(e = {}) {
6975
6975
  d?.disconnect(), d = null, c = null, l?.(), l = null, u?.dispose(), u = null;
6976
6976
  }, v = () => {
6977
6977
  if (u) return;
6978
- if (u = eo(n), u.element.dataset.mesurerLayer = "evidence", u.element.dataset.mesurerContextRoot = "true", n.rendererRoot) {
6978
+ if (u = No(n), u.element.dataset.mesurerLayer = "evidence", u.element.dataset.mesurerContextRoot = "true", n.rendererRoot) {
6979
6979
  let e = new n.ownerWindow.MutationObserver(g);
6980
6980
  d = e, e.observe(n.rendererRoot, {
6981
6981
  attributes: !0,
@@ -6990,7 +6990,7 @@ function rl(e = {}) {
6990
6990
  },
6991
6991
  coordinateSpace: "document"
6992
6992
  };
6993
- l = Dn(() => qt(Xa, En(e, { get ownerWindow() {
6993
+ l = Dn(() => qt(ko, En(e, { get ownerWindow() {
6994
6994
  return n.ownerWindow;
6995
6995
  } })), u.element);
6996
6996
  }, y = () => {
@@ -7485,12 +7485,12 @@ function Al(e = {}) {
7485
7485
  }
7486
7486
  //#endregion
7487
7487
  //#region src/screenshot.ts
7488
- var jl = Gs, Ml = Hs, Nl = Us, Pl = Ws, Fl = 4, Il = As, Ll = (e, t) => ss(e, t), Rl = (e = /* @__PURE__ */ new Date()) => cs(e), zl = (e, t, n, r) => os(e, t, n, r), Bl = (e, t, n) => as(e, t, n), Vl = (e, t) => Ds(e, t), Hl = (e) => ks(e), Ul = (e = {}) => ({
7488
+ var jl = Gs, Ml = Hs, Nl = Us, Pl = Ws, Fl = 4, Il = Ur, Ll = (e, t) => br(e, t), Rl = (e = /* @__PURE__ */ new Date()) => xr(e), zl = (e, t, n, r) => yr(e, t, n, r), Bl = (e, t, n) => vr(e, t, n), Vl = (e, t) => Br(e, t), Hl = (e) => Hr(e), Ul = (e = {}) => ({
7489
7489
  ...cc(e),
7490
7490
  version: lc
7491
- }), Wl = (e) => us(e), Gl = (e) => ({
7491
+ }), Wl = (e) => Cr(e), Gl = (e) => ({
7492
7492
  ...e,
7493
7493
  version: lc
7494
- }), Kl = () => Gl(Ea()), ql = () => Gl(Da()), Jl = () => Gl(Oa()), Yl = () => Gl(ka()), Xl = () => Gl(Aa()), Zl = () => Gl(ja()), Ql = () => Gl(Na()), $l = () => Gl(Ma()), eu = () => Pa().map(Gl), tu = (e = [], t = []) => Fa(e, t).map((e) => e.id.startsWith("mesurer.") ? Gl(e) : e);
7494
+ }), Kl = () => Gl(io()), ql = () => Gl(ao()), Jl = () => Gl(oo()), Yl = () => Gl(so()), Xl = () => Gl(co()), Zl = () => Gl(lo()), Ql = () => Gl(fo()), $l = () => Gl(uo()), eu = () => po().map(Gl), tu = (e = [], t = []) => mo(e, t).map((e) => e.id.startsWith("mesurer.") ? Gl(e) : e);
7495
7495
  //#endregion
7496
7496
  export { uc as MESURER_ARRANGE_ACTIVE_STATE_ID, dc as MESURER_ARRANGE_PLUGIN_ID, fc as MESURER_ARRANGE_SERVICE_ID, pc as MESURER_ARRANGE_SETTINGS_STATE_ID, mc as MESURER_ARRANGE_STATE_ID, il as MESURER_CODEX_PLUGIN_ID, al as MESURER_CODEX_SERVICE_ID, Kc as MESURER_CONTEXT_PLUGIN_ID, qc as MESURER_CONTEXT_SERVICE_ID, Jc as MESURER_CONTEXT_SETTINGS_STATE_ID, Wc as MESURER_LAYOUT_GUIDES_ACTIVE_STATE_ID, Vc as MESURER_LAYOUT_GUIDES_PLUGIN_ID, Hc as MESURER_LAYOUT_GUIDES_SERVICE_ID, Uc as MESURER_LAYOUT_GUIDES_STATE_ID, jl as MESURER_SCREENSHOT_ACTIVE_STATE_ID, Ml as MESURER_SCREENSHOT_PLUGIN_ID, Nl as MESURER_SCREENSHOT_SERVICE_ID, Pl as MESURER_SCREENSHOT_SETTINGS_STATE_ID, Fl as MIN_SCREENSHOT_SELECTION, hc as arrange, Il as captureVisibleTabPng, Al as codex, Jl as colorPicker, tu as compose, rl as context, Ll as copyPngToClipboard, Rl as createScreenshotFilename, zl as cropPngToViewportRect, eu as defaults, Ql as distance, Zl as guides, Gc as layoutGuides, Bl as normalizeScreenshotRect, Vl as prepareScreenshotCapture, Hl as releaseScreenshotCapture, Yl as rulers, Ul as screenshot, Kl as select, $l as settings, Xl as typography, Wl as waitForNextPaint, ql as xray };