@pieai/swimmer-ui-kit 1.11.1 → 1.11.3

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.
Files changed (3) hide show
  1. package/CHANGELOG.md +48 -29
  2. package/dist/index.js +896 -893
  3. package/package.json +2 -2
package/dist/index.js CHANGED
@@ -90,13 +90,13 @@ function O() {
90
90
  used: D
91
91
  };
92
92
  }
93
- function ee(e) {
93
+ function k(e) {
94
94
  E = Number.isFinite(e) ? Math.max(0, Math.floor(e)) : 0;
95
95
  }
96
- function k() {
96
+ function A() {
97
97
  return D >= E ? !1 : (D += 1, !0);
98
98
  }
99
- function A() {
99
+ function ee() {
100
100
  D > 0 && --D;
101
101
  }
102
102
  function te(e) {
@@ -508,7 +508,7 @@ function ge(e, t, n, r) {
508
508
  }
509
509
  let m = f(), h = f(), g = f(), _ = f(), v = f(), y = f(), b = 0, x = 0, S = 0, C = 0, w = 0, T = 0, E = 4, D = !0, O = document.createElement("span");
510
510
  O.setAttribute("aria-hidden", "true"), O.style.cssText = "position:absolute;width:0;height:0;overflow:hidden;pointer-events:none;color:var(--game-ui-liquid-metal-accent)", r.appendChild(O);
511
- function ee() {
511
+ function k() {
512
512
  let e = n.getBoundingClientRect(), r = Math.min(window.devicePixelRatio || 1, 2), i = 900 / 516 * Math.max(e.height, 1), a = e.width + i * 2, o = e.height + i * 2;
513
513
  t.style.width = `${a}px`, t.style.height = `${o}px`;
514
514
  let s = Math.max(2, Math.round(a * r)), c = Math.max(2, Math.round(o * r));
@@ -518,10 +518,10 @@ function ge(e, t, n, r) {
518
518
  let d = Math.max(2, Math.ceil(b / E)), f = Math.max(2, Math.ceil(x / E));
519
519
  p(v, d, f), p(y, d, f), D = !1;
520
520
  }
521
- function k(t) {
521
+ function A(t) {
522
522
  e.bindFramebuffer(e.FRAMEBUFFER, t ? t.fbo : null), e.viewport(0, 0, t ? t.w : b, t ? t.h : x), e.drawArrays(e.TRIANGLES, 0, 3);
523
523
  }
524
- let A = new Float32Array(se.length), te = new Float32Array(le.length), j = 0, M = 0, me = 0, he = performance.now(), ge = [
524
+ let ee = new Float32Array(se.length), te = new Float32Array(le.length), j = 0, M = 0, me = 0, he = performance.now(), ge = [
525
525
  0,
526
526
  1,
527
527
  2
@@ -530,124 +530,124 @@ function ge(e, t, n, r) {
530
530
  y: 0,
531
531
  t: -99,
532
532
  on: 0
533
- })), _e = /* @__PURE__ */ new Float32Array(12), I = 0, L = 0, R = 0, z = {
533
+ })), _e = /* @__PURE__ */ new Float32Array(12), I = 0, ve = 0, L = 0, R = {
534
534
  x: 0,
535
535
  y: 0
536
- }, B = {
536
+ }, z = {
537
537
  x: 0,
538
538
  y: 0
539
- }, V = 0, ve = 0, H = {
539
+ }, ye = 0, be = 0, B = {
540
540
  over: !1,
541
541
  press: !1,
542
542
  focus: !1
543
543
  };
544
- function U(e, t) {
544
+ function V(e, t) {
545
545
  let n = ge[I];
546
546
  n && (I = (I + 1) % ge.length, n.x = e, n.y = t, n.t = me, n.on = 1);
547
547
  }
548
- function W(e) {
548
+ function H(e) {
549
549
  let t = n.getBoundingClientRect(), r = t.height || 1;
550
550
  return [(e.clientX - (t.left + t.width / 2)) / r, (e.clientY - (t.top + t.height / 2)) / r];
551
551
  }
552
- function ye() {
553
- M = H.over || H.press || H.focus ? 1 : 0, R = +!!H.press;
552
+ function U() {
553
+ M = B.over || B.press || B.focus ? 1 : 0, L = +!!B.press;
554
554
  }
555
- let be = window.matchMedia("(prefers-reduced-motion: reduce)"), xe = null, Se = 0, Ce = !1, we = !1;
556
- function Te() {
555
+ let xe = window.matchMedia("(prefers-reduced-motion: reduce)"), Se = null, Ce = 0, we = !1, Te = !1;
556
+ function Ee() {
557
557
  let e = getComputedStyle(n);
558
558
  return ce.base = fe(e, "--game-ui-liquid-metal-rest", ce.base), ce.speed = fe(e, "--game-ui-liquid-metal-sweep-speed", ce.speed), oe.disp = fe(e, "--game-ui-liquid-metal-dispersion", oe.disp), ue.glow = fe(e, "--game-ui-liquid-metal-bloom", ue.glow), { accent: de(getComputedStyle(O).color) };
559
559
  }
560
- function Ee(t) {
561
- if (Se = 0, Ce || we) return;
560
+ function De(t) {
561
+ if (Ce = 0, we || Te) return;
562
562
  let r = (t - he) / 1e3;
563
563
  he = t;
564
564
  let l = Math.min(r, 1 / 20);
565
- be.matches || (me += l);
565
+ xe.matches || (me += l);
566
566
  let u = M > j ? 1 - .0012 ** l : 1 - 12e-5 ** l;
567
567
  j += (M - j) * u, Math.abs(M - j) < 8e-4 && (j = M);
568
- let d = R > L ? 1 - 1e-9 ** l : 1 - .004 ** l;
569
- L += (R - L) * d, Math.abs(R - L) < .002 && (L = R);
568
+ let d = L > ve ? 1 - 1e-9 ** l : 1 - .004 ** l;
569
+ ve += (L - ve) * d, Math.abs(L - ve) < .002 && (ve = L);
570
570
  let f = !1;
571
571
  for (let e = 0; e < ge.length; e += 1) {
572
572
  let t = ge[e];
573
573
  t && (t.on && me - t.t > 4 && (t.on = 0), t.on && (f = !0), _e[e * 4] = t.x, _e[e * 4 + 1] = t.y, _e[e * 4 + 2] = t.t, _e[e * 4 + 3] = t.on);
574
574
  }
575
- let p = 1 - P.ptrLag ** +l, O = (z.x - B.x) * p, N = (z.y - B.y) * p;
576
- B.x += O, B.y += N;
575
+ let p = 1 - P.ptrLag ** +l, O = (R.x - z.x) * p, N = (R.y - z.y) * p;
576
+ z.x += O, z.y += N;
577
577
  let ne = Math.min(Math.hypot(O, N) / Math.max(l, .001) / P.ptrVref, 1);
578
- ve += (ne - ve) * (1 - (ne > ve ? .001 : .02) ** l);
579
- let re = H.over || H.press ? 1 : 0;
580
- V += (re - V) * (1 - .004 ** l), Math.abs(re - V) < .002 && (V = re), H.over = n.matches(":hover"), H.focus = n.matches(":focus-visible"), ye(), D && ee();
581
- let ie = be.matches && !f && V < .002 ? `${j}|${L}|${b}|${x}` : null;
582
- if (ie !== null && ie === xe) {
583
- Se = requestAnimationFrame(Ee);
578
+ be += (ne - be) * (1 - (ne > be ? .001 : .02) ** l);
579
+ let re = B.over || B.press ? 1 : 0;
580
+ ye += (re - ye) * (1 - .004 ** l), Math.abs(re - ye) < .002 && (ye = re), B.over = n.matches(":hover"), B.focus = n.matches(":focus-visible"), U(), D && k();
581
+ let ie = xe.matches && !f && ye < .002 ? `${j}|${ve}|${b}|${x}` : null;
582
+ if (ie !== null && ie === Se) {
583
+ Ce = requestAnimationFrame(De);
584
584
  return;
585
585
  }
586
- xe = ie;
587
- let { accent: ae } = Te();
588
- for (let e = 0; e < A.length; e += 1) {
586
+ Se = ie;
587
+ let { accent: ae } = Ee();
588
+ for (let e = 0; e < ee.length; e += 1) {
589
589
  let t = se[e];
590
- t && (A[e] = oe[t]);
590
+ t && (ee[e] = oe[t]);
591
591
  }
592
592
  for (let e = 0; e < te.length; e += 1) {
593
593
  let t = le[e];
594
594
  t && (te[e] = ce[t]);
595
595
  }
596
- let de = Math.max(C, 110), fe = Math.max(2.4, de / 516 * 3.2), F = pe(e, i.u), I = pe(e, a.u), U = pe(e, o.u), W = pe(e, s.u), G = pe(e, c.u);
597
- e.useProgram(i.p), F.f2("uC", w, T), F.f2("uHalf", S / 2, C / 2), F.f1("uT", me), F.f1("uHover", j), F.f1("uPress", L), F.fv4("uRip", _e), F.f4("uRipK", P.speed, P.width, P.decay, P.amp), F.f4("uRipK2", P.facet, P.lobes, P.sharp, P.emit), F.f4("uPtr", B.x, B.y, V, ve), F.f4("uPtrK", P.ptrRad, P.ptrAmp, P.ptrFast, P.ptrRim), F.f3("uAccent", ae[0], ae[1], ae[2]), F.fv1("uP", A), k(m), e.useProgram(a.p), I.f2("uC", w, T), I.f2("uHalf", S / 2, C / 2), I.f1("uT", me), I.f1("uBw", fe), I.f1("uPress", L), I.fv4("uRip", _e), I.f4("uRipK", P.speed, P.width, P.decay, P.amp), I.f4("uRipK2", P.facet, P.lobes, P.sharp, P.emit), I.f4("uPtr", B.x, B.y, V, ve), I.f4("uPtrK", P.ptrRad, P.ptrAmp, P.ptrFast, P.ptrRim), I.f3("uAccent", ae[0], ae[1], ae[2]), I.fv1("uE", te), k(h), e.useProgram(o.p), e.activeTexture(e.TEXTURE0), e.bindTexture(e.TEXTURE_2D, m.tex), U.i1("uTex", 0), U.f1("uAdd", 0), U.f2("uDstTexel", 1 / g.w, 1 / g.h), U.f2("uSrcTexel", 1 / b, 1 / x), k(g), e.useProgram(s.p), W.i1("uTex", 0), W.f2("uTexel", 1 / g.w, 1 / g.h);
598
- let De = ue.soften * (de * .5) * .95;
599
- if (De > .1) {
600
- let t = Math.min(4, Math.max(1, Math.ceil(De / 3)));
601
- W.f1("uR", De / Math.sqrt(t) / 1.95);
602
- for (let n = 0; n < t; n += 1) e.bindTexture(e.TEXTURE_2D, g.tex), W.f2("uDir", 1, 0), k(_), e.bindTexture(e.TEXTURE_2D, _.tex), W.f2("uDir", 0, 1), k(g);
596
+ let de = Math.max(C, 110), fe = Math.max(2.4, de / 516 * 3.2), F = pe(e, i.u), I = pe(e, a.u), V = pe(e, o.u), H = pe(e, s.u), W = pe(e, c.u);
597
+ e.useProgram(i.p), F.f2("uC", w, T), F.f2("uHalf", S / 2, C / 2), F.f1("uT", me), F.f1("uHover", j), F.f1("uPress", ve), F.fv4("uRip", _e), F.f4("uRipK", P.speed, P.width, P.decay, P.amp), F.f4("uRipK2", P.facet, P.lobes, P.sharp, P.emit), F.f4("uPtr", z.x, z.y, ye, be), F.f4("uPtrK", P.ptrRad, P.ptrAmp, P.ptrFast, P.ptrRim), F.f3("uAccent", ae[0], ae[1], ae[2]), F.fv1("uP", ee), A(m), e.useProgram(a.p), I.f2("uC", w, T), I.f2("uHalf", S / 2, C / 2), I.f1("uT", me), I.f1("uBw", fe), I.f1("uPress", ve), I.fv4("uRip", _e), I.f4("uRipK", P.speed, P.width, P.decay, P.amp), I.f4("uRipK2", P.facet, P.lobes, P.sharp, P.emit), I.f4("uPtr", z.x, z.y, ye, be), I.f4("uPtrK", P.ptrRad, P.ptrAmp, P.ptrFast, P.ptrRim), I.f3("uAccent", ae[0], ae[1], ae[2]), I.fv1("uE", te), A(h), e.useProgram(o.p), e.activeTexture(e.TEXTURE0), e.bindTexture(e.TEXTURE_2D, m.tex), V.i1("uTex", 0), V.f1("uAdd", 0), V.f2("uDstTexel", 1 / g.w, 1 / g.h), V.f2("uSrcTexel", 1 / b, 1 / x), A(g), e.useProgram(s.p), H.i1("uTex", 0), H.f2("uTexel", 1 / g.w, 1 / g.h);
598
+ let Oe = ue.soften * (de * .5) * .95;
599
+ if (Oe > .1) {
600
+ let t = Math.min(4, Math.max(1, Math.ceil(Oe / 3)));
601
+ H.f1("uR", Oe / Math.sqrt(t) / 1.95);
602
+ for (let n = 0; n < t; n += 1) e.bindTexture(e.TEXTURE_2D, g.tex), H.f2("uDir", 1, 0), A(_), e.bindTexture(e.TEXTURE_2D, _.tex), H.f2("uDir", 0, 1), A(g);
603
603
  }
604
- e.useProgram(o.p), e.activeTexture(e.TEXTURE0), e.bindTexture(e.TEXTURE_2D, g.tex), e.activeTexture(e.TEXTURE1), e.bindTexture(e.TEXTURE_2D, h.tex), U.i1("uTex", 0), U.i1("uTex2", 1), U.f1("uAdd", 1), U.f2("uDstTexel", 1 / v.w, 1 / v.h), U.f2("uSrcTexel", 1 / g.w, 1 / g.h), k(v), e.useProgram(s.p), e.activeTexture(e.TEXTURE0), W.i1("uTex", 0), W.f2("uTexel", 1 / v.w, 1 / v.h);
605
- let Oe = ue.glowR * (de / E) / 129;
604
+ e.useProgram(o.p), e.activeTexture(e.TEXTURE0), e.bindTexture(e.TEXTURE_2D, g.tex), e.activeTexture(e.TEXTURE1), e.bindTexture(e.TEXTURE_2D, h.tex), V.i1("uTex", 0), V.i1("uTex2", 1), V.f1("uAdd", 1), V.f2("uDstTexel", 1 / v.w, 1 / v.h), V.f2("uSrcTexel", 1 / g.w, 1 / g.h), A(v), e.useProgram(s.p), e.activeTexture(e.TEXTURE0), H.i1("uTex", 0), H.f2("uTexel", 1 / v.w, 1 / v.h);
605
+ let ke = ue.glowR * (de / E) / 129;
606
606
  for (let t of [
607
607
  1,
608
608
  2.3,
609
609
  5.2,
610
610
  9
611
- ].map((e) => e * Oe)) W.f1("uR", t), e.bindTexture(e.TEXTURE_2D, v.tex), W.f2("uDir", 1, 0), k(y), e.bindTexture(e.TEXTURE_2D, y.tex), W.f2("uDir", 0, 1), k(v);
612
- e.useProgram(c.p), e.activeTexture(e.TEXTURE0), e.bindTexture(e.TEXTURE_2D, g.tex), G.i1("uSoft", 0), e.activeTexture(e.TEXTURE1), e.bindTexture(e.TEXTURE_2D, h.tex), G.i1("uRim", 1), e.activeTexture(e.TEXTURE2), e.bindTexture(e.TEXTURE_2D, v.tex), G.i1("uGlow", 2), G.f2("uRes", b, x), G.f2("uC", w, T), G.f2("uHalf", S / 2, C / 2), G.f1("uT", me), G.fv4("uRip", _e), G.f4("uRipK", P.speed, P.width, P.decay, P.amp), G.f4("uRipK2", P.facet, P.lobes, P.sharp, P.emit), G.f3("uAccent", ae[0], ae[1], ae[2]), G.f1("uGlowGain", ue.glow), G.f1("uGlowIn", ue.glowIn), G.f1("uOccl", ue.occl), G.f1("uDim", oe.dim), G.f1("uPunch", ue.punch), k(null), Se = requestAnimationFrame(Ee);
611
+ ].map((e) => e * ke)) H.f1("uR", t), e.bindTexture(e.TEXTURE_2D, v.tex), H.f2("uDir", 1, 0), A(y), e.bindTexture(e.TEXTURE_2D, y.tex), H.f2("uDir", 0, 1), A(v);
612
+ e.useProgram(c.p), e.activeTexture(e.TEXTURE0), e.bindTexture(e.TEXTURE_2D, g.tex), W.i1("uSoft", 0), e.activeTexture(e.TEXTURE1), e.bindTexture(e.TEXTURE_2D, h.tex), W.i1("uRim", 1), e.activeTexture(e.TEXTURE2), e.bindTexture(e.TEXTURE_2D, v.tex), W.i1("uGlow", 2), W.f2("uRes", b, x), W.f2("uC", w, T), W.f2("uHalf", S / 2, C / 2), W.f1("uT", me), W.fv4("uRip", _e), W.f4("uRipK", P.speed, P.width, P.decay, P.amp), W.f4("uRipK2", P.facet, P.lobes, P.sharp, P.emit), W.f3("uAccent", ae[0], ae[1], ae[2]), W.f1("uGlowGain", ue.glow), W.f1("uGlowIn", ue.glowIn), W.f1("uOccl", ue.occl), W.f1("uDim", oe.dim), W.f1("uPunch", ue.punch), A(null), Ce = requestAnimationFrame(De);
613
613
  }
614
- let G = (e) => {
614
+ let W = (e) => {
615
615
  if (e.pointerType !== "mouse") return;
616
- let [t, n] = W(e);
617
- z.x = t, z.y = n, B.x = t, B.y = n, ve = 0, H.over = !0, ye();
618
- }, De = (e) => {
619
- e.pointerType === "mouse" && (H.over = !1, ye());
616
+ let [t, n] = H(e);
617
+ R.x = t, R.y = n, z.x = t, z.y = n, be = 0, B.over = !0, U();
620
618
  }, Oe = (e) => {
621
- if (!H.over && !H.press) return;
622
- let [t, n] = W(e);
623
- z.x = t, z.y = n;
619
+ e.pointerType === "mouse" && (B.over = !1, U());
624
620
  }, ke = (e) => {
625
- let [t, n] = W(e);
626
- z.x = t, z.y = n, H.press = !0, ye(), U(t, n);
627
- }, Ae = () => {
628
- H.press = !1, ye();
621
+ if (!B.over && !B.press) return;
622
+ let [t, n] = H(e);
623
+ R.x = t, R.y = n;
624
+ }, Ae = (e) => {
625
+ let [t, n] = H(e);
626
+ R.x = t, R.y = n, B.press = !0, U(), V(t, n);
629
627
  }, je = () => {
630
- H.focus = n.matches(":focus-visible"), ye();
628
+ B.press = !1, U();
631
629
  }, Me = () => {
632
- H.focus = !1, ye();
633
- }, Ne = (e) => {
634
- e.key !== "Enter" && e.key !== " " || e.repeat || (H.press = !0, ye(), U(0, 0));
630
+ B.focus = n.matches(":focus-visible"), U();
631
+ }, Ne = () => {
632
+ B.focus = !1, U();
635
633
  }, Pe = (e) => {
636
- e.key !== "Enter" && e.key !== " " || (H.press = !1, ye());
634
+ e.key !== "Enter" && e.key !== " " || e.repeat || (B.press = !0, U(), V(0, 0));
635
+ }, Fe = (e) => {
636
+ e.key !== "Enter" && e.key !== " " || (B.press = !1, U());
637
637
  };
638
- n.addEventListener("pointerenter", G), n.addEventListener("pointerleave", De), window.addEventListener("pointermove", Oe, { passive: !0 }), n.addEventListener("pointerdown", ke), window.addEventListener("pointerup", Ae), window.addEventListener("pointercancel", Ae), n.addEventListener("focus", je), n.addEventListener("blur", Me), n.addEventListener("keydown", Ne), n.addEventListener("keyup", Pe);
639
- let Fe = new ResizeObserver(() => {
638
+ n.addEventListener("pointerenter", W), n.addEventListener("pointerleave", Oe), window.addEventListener("pointermove", ke, { passive: !0 }), n.addEventListener("pointerdown", Ae), window.addEventListener("pointerup", je), window.addEventListener("pointercancel", je), n.addEventListener("focus", Me), n.addEventListener("blur", Ne), n.addEventListener("keydown", Pe), n.addEventListener("keyup", Fe);
639
+ let Ie = new ResizeObserver(() => {
640
640
  D = !0;
641
641
  });
642
- return Fe.observe(r), Fe.observe(n), ee(), Se = requestAnimationFrame(Ee), {
642
+ return Ie.observe(r), Ie.observe(n), k(), Ce = requestAnimationFrame(De), {
643
643
  pause: () => {
644
- Ce = !0, Se && cancelAnimationFrame(Se), Se = 0;
644
+ we = !0, Ce && cancelAnimationFrame(Ce), Ce = 0;
645
645
  },
646
646
  resume: () => {
647
- we || (Ce = !1, he = performance.now(), xe = null, Se ||= requestAnimationFrame(Ee));
647
+ Te || (we = !1, he = performance.now(), Se = null, Ce ||= requestAnimationFrame(De));
648
648
  },
649
649
  dispose: () => {
650
- we || (we = !0, Ce = !0, Se && cancelAnimationFrame(Se), Se = 0, Fe.disconnect(), n.removeEventListener("pointerenter", G), n.removeEventListener("pointerleave", De), window.removeEventListener("pointermove", Oe), n.removeEventListener("pointerdown", ke), window.removeEventListener("pointerup", Ae), window.removeEventListener("pointercancel", Ae), n.removeEventListener("focus", je), n.removeEventListener("blur", Me), n.removeEventListener("keydown", Ne), n.removeEventListener("keyup", Pe), O.remove(), e.getExtension("WEBGL_lose_context")?.loseContext());
650
+ Te || (Te = !0, we = !0, Ce && cancelAnimationFrame(Ce), Ce = 0, Ie.disconnect(), n.removeEventListener("pointerenter", W), n.removeEventListener("pointerleave", Oe), window.removeEventListener("pointermove", ke), n.removeEventListener("pointerdown", Ae), window.removeEventListener("pointerup", je), window.removeEventListener("pointercancel", je), n.removeEventListener("focus", Me), n.removeEventListener("blur", Ne), n.removeEventListener("keydown", Pe), n.removeEventListener("keyup", Fe), O.remove(), e.getExtension("WEBGL_lose_context")?.loseContext());
651
651
  }
652
652
  };
653
653
  }
@@ -659,16 +659,16 @@ function _e({ children: e, className: r, onClick: i, sound: a = !1, type: o = "b
659
659
  let e = u.current, t = d.current, n = f.current;
660
660
  if (!e || !t || !n) return;
661
661
  let r = window.matchMedia("(prefers-reduced-motion: reduce)"), i = !1, a = !1, o = null, c = !1, l = () => {
662
- o?.dispose(), o = null, a &&= (A(), !1), c || g("css");
662
+ o?.dispose(), o = null, a &&= (ee(), !1), c || g("css");
663
663
  }, p = () => {
664
664
  if (!(c || o) && te({
665
665
  renderer: s,
666
666
  hasWebGL2: typeof WebGL2RenderingContext < "u",
667
667
  prefersReducedMotion: r.matches,
668
668
  isInViewport: i
669
- }) && k()) {
669
+ }) && A()) {
670
670
  if (a = !0, o = me(n, t, e), !o) {
671
- A(), a = !1;
671
+ ee(), a = !1;
672
672
  return;
673
673
  }
674
674
  g("webgl");
@@ -748,7 +748,7 @@ var I = {
748
748
  overlayGlassText: "#fff6ee",
749
749
  liquidMetalFace: "#3a2518",
750
750
  liquidMetalInk: "#fff8ec"
751
- }, L = {
751
+ }, ve = {
752
752
  face: "var(--game-ui-liquid-metal-face)",
753
753
  ink: "var(--game-ui-liquid-metal-ink)",
754
754
  accent: "var(--game-ui-liquid-metal-accent)",
@@ -756,7 +756,7 @@ var I = {
756
756
  sweepSpeed: "var(--game-ui-liquid-metal-sweep-speed)",
757
757
  rest: "var(--game-ui-liquid-metal-rest)",
758
758
  bloom: "var(--game-ui-liquid-metal-bloom)"
759
- }, R = {
759
+ }, L = {
760
760
  morphShape: "var(--game-ui-liquid-gooey-morph-shape)",
761
761
  morphSpeed: "var(--game-ui-liquid-gooey-morph-speed)",
762
762
  morphBounce: "var(--game-ui-liquid-gooey-morph-bounce)",
@@ -840,7 +840,7 @@ var I = {
840
840
  dissolveStrength: "var(--game-ui-liquid-gooey-dissolve-strength)",
841
841
  dissolveSink: "var(--game-ui-liquid-gooey-dissolve-sink)",
842
842
  dissolveSeamBlur: "var(--game-ui-liquid-gooey-dissolve-seam-blur)"
843
- }, z = {
843
+ }, R = {
844
844
  bg: "var(--game-ui-overlay-glass-bg)",
845
845
  bgHover: "var(--game-ui-overlay-glass-bg-hover)",
846
846
  bgStrong: "var(--game-ui-overlay-glass-bg-strong)",
@@ -852,7 +852,7 @@ var I = {
852
852
  blur: "var(--game-ui-overlay-glass-blur)",
853
853
  focusRing: "var(--game-ui-overlay-glass-focus-ring)",
854
854
  primaryFill: "var(--game-ui-overlay-glass-primary-fill)"
855
- }, B = {
855
+ }, z = {
856
856
  background: "var(--game-ui-bg)",
857
857
  playfieldScrim: "var(--game-ui-playfield-scrim)",
858
858
  surface: "var(--game-ui-surface)",
@@ -871,7 +871,7 @@ var I = {
871
871
  borderSubtle: "var(--game-ui-border-subtle)",
872
872
  borderStrong: "var(--game-ui-border-strong)",
873
873
  disabled: "var(--game-ui-disabled)"
874
- }, V = {
874
+ }, ye = {
875
875
  familyDisplay: "var(--game-ui-font-display)",
876
876
  familyBody: "var(--game-ui-font-body)",
877
877
  familyMono: "var(--game-ui-font-mono)",
@@ -889,7 +889,7 @@ var I = {
889
889
  weightBody: "var(--game-ui-weight-body)",
890
890
  weightStrong: "var(--game-ui-weight-strong)",
891
891
  weightTitle: "var(--game-ui-weight-title)"
892
- }, ve = {
892
+ }, be = {
893
893
  px2: "var(--game-ui-space-2)",
894
894
  px4: "var(--game-ui-space-4)",
895
895
  px6: "var(--game-ui-space-6)",
@@ -904,33 +904,33 @@ var I = {
904
904
  safeRight: "var(--game-ui-safe-right)",
905
905
  safeBottom: "var(--game-ui-safe-bottom)",
906
906
  safeLeft: "var(--game-ui-safe-left)"
907
- }, H = {
907
+ }, B = {
908
908
  bead: "var(--game-ui-radius-bead)",
909
909
  control: "var(--game-ui-radius-control)",
910
910
  card: "var(--game-ui-radius-card)",
911
911
  panel: "var(--game-ui-radius-panel)",
912
912
  modal: "var(--game-ui-radius-modal)"
913
- }, U = {
913
+ }, V = {
914
914
  button: "var(--game-ui-shadow-button)",
915
915
  panel: "var(--game-ui-shadow-panel)",
916
916
  modal: "var(--game-ui-shadow-modal)",
917
917
  inset: "var(--game-ui-shadow-inset)",
918
918
  stroke: "var(--game-ui-stroke)"
919
- }, W = {
919
+ }, H = {
920
920
  fast: "var(--game-ui-motion-fast)",
921
921
  base: "var(--game-ui-motion-base)",
922
922
  slow: "var(--game-ui-motion-slow)",
923
923
  easingPop: "var(--game-ui-ease-pop)",
924
924
  easingSoft: "var(--game-ui-ease-soft)",
925
925
  reducedMotion: "var(--game-ui-reduced-motion-policy)"
926
- }, ye = {
926
+ }, U = {
927
927
  playfield: "var(--game-ui-z-playfield)",
928
928
  hud: "var(--game-ui-z-hud)",
929
929
  sidebar: "var(--game-ui-z-sidebar)",
930
930
  overlay: "var(--game-ui-z-overlay)",
931
931
  modal: "var(--game-ui-z-modal)",
932
932
  toast: "var(--game-ui-z-toast)"
933
- }, be = {
933
+ }, xe = {
934
934
  touchMinimumPx: 44,
935
935
  touchPrimaryPx: 52,
936
936
  touchIconPx: 48,
@@ -941,7 +941,7 @@ var I = {
941
941
  desktopProofHeightPx: 900,
942
942
  mobileLandscapeProofWidthPx: 844,
943
943
  mobileLandscapeProofHeightPx: 390
944
- }, xe = {
944
+ }, Se = {
945
945
  iconSm: "var(--game-ui-asset-icon-sm)",
946
946
  iconMd: "var(--game-ui-asset-icon-md)",
947
947
  iconLg: "var(--game-ui-asset-icon-lg)",
@@ -953,69 +953,75 @@ var I = {
953
953
  terrainToolHitSize: "var(--game-ui-terrain-tool-hit-size)",
954
954
  buildRailCardSize: "var(--game-ui-build-rail-card-size)",
955
955
  brushNumberWidth: "var(--game-ui-brush-number-width)"
956
- }, Se = {
956
+ }, Ce = {
957
957
  colors: I,
958
- semantic: B,
959
- typography: V,
960
- spacing: ve,
961
- radius: H,
962
- elevation: U,
963
- motion: W,
964
- layers: ye,
965
- targets: be,
966
- assetSizing: xe,
967
- overlayGlass: z,
968
- liquidMetal: L,
969
- liquidGooey: R
970
- }, Ce = 2, we = 48e4, Te = 2, Ee = we, G = 0;
971
- function De(e, t) {
958
+ semantic: z,
959
+ typography: ye,
960
+ spacing: be,
961
+ radius: B,
962
+ elevation: V,
963
+ motion: H,
964
+ layers: U,
965
+ targets: xe,
966
+ assetSizing: Se,
967
+ overlayGlass: R,
968
+ liquidMetal: ve,
969
+ liquidGooey: L
970
+ }, we = 2, Te = 48e4, Ee = 2, De = Te, W = 0;
971
+ function Oe(e, t) {
972
972
  return Number.isFinite(e) ? Math.max(0, Math.floor(e)) : t;
973
973
  }
974
- function Oe() {
974
+ function ke() {
975
975
  return {
976
- maxAnimatedGroups: Te,
977
- maxFilterArea: Ee,
978
- activeGroups: G
976
+ maxAnimatedGroups: Ee,
977
+ maxFilterArea: De,
978
+ activeGroups: W
979
979
  };
980
980
  }
981
- function ke(e) {
981
+ function Ae(e) {
982
982
  if (typeof e == "number") {
983
- Te = De(e, 0);
983
+ Ee = Oe(e, 0);
984
984
  return;
985
985
  }
986
- e.maxAnimatedGroups !== void 0 && (Te = De(e.maxAnimatedGroups, 0)), e.maxFilterArea !== void 0 && (Ee = De(e.maxFilterArea, 0));
986
+ e.maxAnimatedGroups !== void 0 && (Ee = Oe(e.maxAnimatedGroups, 0)), e.maxFilterArea !== void 0 && (De = Oe(e.maxFilterArea, 0));
987
987
  }
988
- function Ae(e) {
989
- return G >= Te || (Number.isFinite(e) ? Math.max(0, e) : Infinity) > Ee ? !1 : (G += 1, !0);
988
+ function je(e) {
989
+ return W >= Ee || (Number.isFinite(e) ? Math.max(0, e) : Infinity) > De ? !1 : (W += 1, !0);
990
990
  }
991
- function je() {
992
- G > 0 && --G;
991
+ function Me() {
992
+ W > 0 && --W;
993
993
  }
994
994
  //#endregion
995
995
  //#region src/liquidGooeyFilter.tsx
996
- var Me = "1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 60 -29.5", Ne = .5, Pe = {
996
+ var Ne = "1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 60 -29.5", Pe = .5, Fe = {
997
997
  waviness: 6,
998
998
  wavinessFreq: .018
999
999
  };
1000
- function Fe({ index: n, shadow: r }) {
1001
- let i = [], a = "bin";
1000
+ function Ie(e) {
1001
+ return e.spread === 0 ? "shape" : "bin";
1002
+ }
1003
+ function Le(e, t) {
1004
+ return t !== null || e.some((e) => e.spread !== 0);
1005
+ }
1006
+ function Re({ index: n, shadow: r }) {
1007
+ let i = [], a = Ie(r), o = a;
1002
1008
  return r.spread !== 0 && (i.push(/* @__PURE__ */ t("feMorphology", {
1003
- in: a,
1009
+ in: o,
1004
1010
  operator: r.spread > 0 ? "erode" : "dilate",
1005
1011
  radius: Math.abs(r.spread),
1006
1012
  result: `shadow-${n}-erode`
1007
- }, "erode")), a = `shadow-${n}-erode`), (r.x !== 0 || r.y !== 0) && (i.push(/* @__PURE__ */ t("feOffset", {
1008
- in: a,
1013
+ }, "erode")), o = `shadow-${n}-erode`), (r.x !== 0 || r.y !== 0) && (i.push(/* @__PURE__ */ t("feOffset", {
1014
+ in: o,
1009
1015
  dx: r.x,
1010
1016
  dy: r.y,
1011
1017
  result: `shadow-${n}-offset`
1012
- }, "offset")), a = `shadow-${n}-offset`), r.blur > 0 && (i.push(/* @__PURE__ */ t("feGaussianBlur", {
1013
- in: a,
1018
+ }, "offset")), o = `shadow-${n}-offset`), r.blur > 0 && (i.push(/* @__PURE__ */ t("feGaussianBlur", {
1019
+ in: o,
1014
1020
  stdDeviation: r.blur / 2,
1015
1021
  result: `shadow-${n}-blur`
1016
- }, "blur")), a = `shadow-${n}-blur`), i.push(/* @__PURE__ */ t("feComposite", {
1017
- in: "bin",
1018
- in2: a,
1022
+ }, "blur")), o = `shadow-${n}-blur`), i.push(/* @__PURE__ */ t("feComposite", {
1023
+ in: a,
1024
+ in2: o,
1019
1025
  operator: "out",
1020
1026
  result: `shadow-${n}-band`
1021
1027
  }, "band"), /* @__PURE__ */ t("feFlood", {
@@ -1028,7 +1034,7 @@ function Fe({ index: n, shadow: r }) {
1028
1034
  result: `shadow-${n}`
1029
1035
  }, "fill")), /* @__PURE__ */ t(e, { children: i });
1030
1036
  }
1031
- function Ie({ index: n, shadow: r }) {
1037
+ function ze({ index: n, shadow: r }) {
1032
1038
  let i = [], a = "shape";
1033
1039
  return r.spread !== 0 && (i.push(/* @__PURE__ */ t("feMorphology", {
1034
1040
  in: "bin",
@@ -1054,7 +1060,7 @@ function Ie({ index: n, shadow: r }) {
1054
1060
  result: `shadow-${n}`
1055
1061
  }, "fill")), /* @__PURE__ */ t(e, { children: i });
1056
1062
  }
1057
- function Le({ stroke: n }) {
1063
+ function Be({ stroke: n }) {
1058
1064
  let r = [];
1059
1065
  return r.push(/* @__PURE__ */ t("feMorphology", {
1060
1066
  in: "bin",
@@ -1076,7 +1082,7 @@ function Le({ stroke: n }) {
1076
1082
  result: "stroke-out"
1077
1083
  }, "fill")), /* @__PURE__ */ t(e, { children: r });
1078
1084
  }
1079
- function Re({ blur: r, contrast: i, shadows: a, stroke: o, waviness: s = Pe.waviness, wavinessFreq: c = Pe.wavinessFreq }) {
1085
+ function Ve({ blur: r, contrast: i, shadows: a, stroke: o, waviness: s = Fe.waviness, wavinessFreq: c = Fe.wavinessFreq }) {
1080
1086
  let l = Math.round((.5 - 5 / 12 * i) * 100) / 100, u = s > 0;
1081
1087
  return /* @__PURE__ */ n(e, { children: [
1082
1088
  /* @__PURE__ */ t("feGaussianBlur", {
@@ -1114,24 +1120,24 @@ function Re({ blur: r, contrast: i, shadows: a, stroke: o, waviness: s = Pe.wavi
1114
1120
  }),
1115
1121
  /* @__PURE__ */ t("feGaussianBlur", {
1116
1122
  in: "shape-displaced",
1117
- stdDeviation: Ne,
1123
+ stdDeviation: Pe,
1118
1124
  result: "shape"
1119
1125
  })
1120
1126
  ] }) : null,
1121
- o !== null || a.some((e) => e.inset || e.spread !== 0) ? /* @__PURE__ */ t("feColorMatrix", {
1127
+ Le(a, o) ? /* @__PURE__ */ t("feColorMatrix", {
1122
1128
  in: "shape",
1123
1129
  type: "matrix",
1124
- values: Me,
1130
+ values: Ne,
1125
1131
  result: "bin"
1126
1132
  }) : null,
1127
- a.map((e, n) => e.inset ? /* @__PURE__ */ t(Fe, {
1133
+ a.map((e, n) => e.inset ? /* @__PURE__ */ t(Re, {
1128
1134
  index: n,
1129
1135
  shadow: e
1130
- }, n) : /* @__PURE__ */ t(Ie, {
1136
+ }, n) : /* @__PURE__ */ t(ze, {
1131
1137
  index: n,
1132
1138
  shadow: e
1133
1139
  }, n)),
1134
- o ? /* @__PURE__ */ t(Le, { stroke: o }) : null,
1140
+ o ? /* @__PURE__ */ t(Be, { stroke: o }) : null,
1135
1141
  a.length > 0 || o ? /* @__PURE__ */ n("feMerge", { children: [
1136
1142
  a.map((e, t) => e.inset ? -1 : t).filter((e) => e >= 0).reverse().map((e) => /* @__PURE__ */ t("feMergeNode", { in: `shadow-${e}` }, e)),
1137
1143
  /* @__PURE__ */ t("feMergeNode", { in: "shape" }),
@@ -1142,16 +1148,16 @@ function Re({ blur: r, contrast: i, shadows: a, stroke: o, waviness: s = Pe.wavi
1142
1148
  }
1143
1149
  //#endregion
1144
1150
  //#region src/liquidGooeyWaviness.ts
1145
- var ze = .3;
1146
- function Be(e, t, n = ze) {
1151
+ var He = .3;
1152
+ function Ue(e, t, n = He) {
1147
1153
  let r = Math.max(0, Number.isFinite(e) ? e : 0);
1148
1154
  if (n === !1) return r;
1149
- let i = Math.max(0, Number.isFinite(n) ? n : ze), a = Math.max(0, Number.isFinite(t) ? t : 0);
1155
+ let i = Math.max(0, Number.isFinite(n) ? n : He), a = Math.max(0, Number.isFinite(t) ? t : 0);
1150
1156
  return a > 0 ? Math.min(r, a * i) : r;
1151
1157
  }
1152
1158
  //#endregion
1153
1159
  //#region src/liquidGooeyGeometry.ts
1154
- function Ve(e, t) {
1160
+ function We(e, t) {
1155
1161
  let n = 0, r = 0, i = e;
1156
1162
  for (; i && i !== t && t.contains(i);) n += i.offsetLeft, r += i.offsetTop, i = i.offsetParent;
1157
1163
  return {
@@ -1159,7 +1165,7 @@ function Ve(e, t) {
1159
1165
  y: r
1160
1166
  };
1161
1167
  }
1162
- function He(e, t, n) {
1168
+ function Ge(e, t, n) {
1163
1169
  let r = getComputedStyle(e), i = (e) => {
1164
1170
  let r = e.split(" ")[0] ?? "";
1165
1171
  return r.endsWith("%") ? (parseFloat(r) || 0) / 100 * Math.min(t, n) : parseFloat(r) || 0;
@@ -1171,7 +1177,7 @@ function He(e, t, n) {
1171
1177
  i(r.borderBottomLeftRadius)
1172
1178
  ];
1173
1179
  }
1174
- function Ue(e) {
1180
+ function Ke(e) {
1175
1181
  return typeof e == "number" ? [
1176
1182
  e,
1177
1183
  e,
@@ -1179,19 +1185,19 @@ function Ue(e) {
1179
1185
  e
1180
1186
  ] : e;
1181
1187
  }
1182
- function We(e, t, n, r, i) {
1188
+ function qe(e, t, n, r, i) {
1183
1189
  let [a, o, s, c] = i.map((e) => Math.max(0, e)), l = Math.min(1, n / Math.max(1e-6, a + o), n / Math.max(1e-6, c + s), r / Math.max(1e-6, a + c), r / Math.max(1e-6, o + s));
1184
1190
  return a *= l, o *= l, s *= l, c *= l, `M ${e + a} ${t} H ${e + n - o} A ${o} ${o} 0 0 1 ${e + n} ${t + o} V ${t + r - s} A ${s} ${s} 0 0 1 ${e + n - s} ${t + r} H ${e + c} A ${c} ${c} 0 0 1 ${e} ${t + r - c} V ${t + a} A ${a} ${a} 0 0 1 ${e + a} ${t} Z`;
1185
1191
  }
1186
1192
  //#endregion
1187
1193
  //#region src/liquidGooeyMove.ts
1188
- var Ge = {
1194
+ var Je = {
1189
1195
  stiffness: 380,
1190
1196
  damping: 18,
1191
1197
  stretch: .18,
1192
1198
  tail: .46,
1193
1199
  force: .5
1194
- }, K = {
1200
+ }, G = {
1195
1201
  tailSpringStiffness: 170,
1196
1202
  tailSpringDamping: 22,
1197
1203
  stretchSpeed: 6e-4,
@@ -1215,79 +1221,79 @@ var Ge = {
1215
1221
  settleSpeed: 1,
1216
1222
  integrationRate: 60
1217
1223
  };
1218
- function Ke(e, t = 0, n = 1) {
1224
+ function Ye(e, t = 0, n = 1) {
1219
1225
  return Math.min(n, Math.max(t, e));
1220
1226
  }
1221
- function qe(e, t) {
1227
+ function Xe(e, t) {
1222
1228
  return e !== void 0 && Number.isFinite(e) ? e : t;
1223
1229
  }
1224
- function Je(e) {
1230
+ function Ze(e) {
1225
1231
  return /^var\((--[\w-]+)\)$/.exec(e.trim())?.[1] ?? null;
1226
1232
  }
1227
- function Ye(e, t, n) {
1228
- let r = e?.ownerDocument.defaultView, i = Je(R[t]);
1233
+ function K(e, t, n) {
1234
+ let r = e?.ownerDocument.defaultView, i = Ze(L[t]);
1229
1235
  if (!r || !i) return n;
1230
1236
  let a = r.getComputedStyle(e).getPropertyValue(i), o = Number.parseFloat(a);
1231
1237
  return Number.isFinite(o) ? o : n;
1232
1238
  }
1233
- function Xe(e) {
1234
- let t = (t, n) => Ye(e, t, n);
1239
+ function Qe(e) {
1240
+ let t = (t, n) => K(e, t, n);
1235
1241
  return {
1236
- stiffness: Math.max(.001, t("moveStiffness", Ge.stiffness)),
1237
- damping: Math.max(0, t("moveDamping", Ge.damping)),
1238
- stretch: Ke(t("moveStretch", Ge.stretch)),
1239
- tail: Ke(t("moveTail", Ge.tail)),
1240
- force: Ke(t("moveForce", Ge.force)),
1241
- tailSpringStiffness: Math.max(.001, t("moveTailSpringStiffness", K.tailSpringStiffness)),
1242
- tailSpringDamping: Math.max(0, t("moveTailSpringDamping", K.tailSpringDamping)),
1243
- stretchSpeed: Math.max(0, t("moveStretchSpeed", K.stretchSpeed)),
1244
- stretchSquash: Math.max(0, t("moveStretchSquash", K.stretchSquash)),
1245
- speedThreshold: Math.max(0, t("moveSpeedThreshold", K.speedThreshold)),
1246
- tailOnsetSpeed: Math.max(0, t("moveTailOnsetSpeed", K.tailOnsetSpeed)),
1247
- tailOnsetRange: Math.max(.001, t("moveTailOnsetRange", K.tailOnsetRange)),
1248
- tailRamp: Math.max(0, t("moveTailRamp", K.tailRamp)),
1249
- tailMinRadius: Math.max(0, t("moveTailMinRadius", K.tailMinRadius)),
1250
- tailWobble: Math.max(0, t("moveTailWobble", K.tailWobble)),
1251
- tailPhaseSpeed: Math.max(0, t("moveTailPhaseSpeed", K.tailPhaseSpeed)),
1252
- tailMidpointA: Ke(t("moveTailMidpointA", K.tailMidpointA)),
1253
- tailMidpointB: Ke(t("moveTailMidpointB", K.tailMidpointB)),
1254
- tailMidRadiusA: Ke(t("moveTailMidRadiusA", K.tailMidRadiusA)),
1255
- tailMidRadiusB: Ke(t("moveTailMidRadiusB", K.tailMidRadiusB)),
1256
- tailWobblePhase: t("moveTailWobblePhase", K.tailWobblePhase),
1257
- minPerpendicular: Math.max(0, t("moveMinPerpendicular", K.minPerpendicular)),
1258
- lagBase: Math.max(0, t("moveLagBase", K.lagBase)),
1259
- lagForce: Math.max(0, t("moveLagForce", K.lagForce)),
1260
- settleDistance: Math.max(0, t("moveSettleDistance", K.settleDistance)),
1261
- settleSpeed: Math.max(0, t("moveSettleSpeed", K.settleSpeed)),
1262
- integrationRate: Math.max(1, t("moveIntegrationRate", K.integrationRate))
1242
+ stiffness: Math.max(.001, t("moveStiffness", Je.stiffness)),
1243
+ damping: Math.max(0, t("moveDamping", Je.damping)),
1244
+ stretch: Ye(t("moveStretch", Je.stretch)),
1245
+ tail: Ye(t("moveTail", Je.tail)),
1246
+ force: Ye(t("moveForce", Je.force)),
1247
+ tailSpringStiffness: Math.max(.001, t("moveTailSpringStiffness", G.tailSpringStiffness)),
1248
+ tailSpringDamping: Math.max(0, t("moveTailSpringDamping", G.tailSpringDamping)),
1249
+ stretchSpeed: Math.max(0, t("moveStretchSpeed", G.stretchSpeed)),
1250
+ stretchSquash: Math.max(0, t("moveStretchSquash", G.stretchSquash)),
1251
+ speedThreshold: Math.max(0, t("moveSpeedThreshold", G.speedThreshold)),
1252
+ tailOnsetSpeed: Math.max(0, t("moveTailOnsetSpeed", G.tailOnsetSpeed)),
1253
+ tailOnsetRange: Math.max(.001, t("moveTailOnsetRange", G.tailOnsetRange)),
1254
+ tailRamp: Math.max(0, t("moveTailRamp", G.tailRamp)),
1255
+ tailMinRadius: Math.max(0, t("moveTailMinRadius", G.tailMinRadius)),
1256
+ tailWobble: Math.max(0, t("moveTailWobble", G.tailWobble)),
1257
+ tailPhaseSpeed: Math.max(0, t("moveTailPhaseSpeed", G.tailPhaseSpeed)),
1258
+ tailMidpointA: Ye(t("moveTailMidpointA", G.tailMidpointA)),
1259
+ tailMidpointB: Ye(t("moveTailMidpointB", G.tailMidpointB)),
1260
+ tailMidRadiusA: Ye(t("moveTailMidRadiusA", G.tailMidRadiusA)),
1261
+ tailMidRadiusB: Ye(t("moveTailMidRadiusB", G.tailMidRadiusB)),
1262
+ tailWobblePhase: t("moveTailWobblePhase", G.tailWobblePhase),
1263
+ minPerpendicular: Math.max(0, t("moveMinPerpendicular", G.minPerpendicular)),
1264
+ lagBase: Math.max(0, t("moveLagBase", G.lagBase)),
1265
+ lagForce: Math.max(0, t("moveLagForce", G.lagForce)),
1266
+ settleDistance: Math.max(0, t("moveSettleDistance", G.settleDistance)),
1267
+ settleSpeed: Math.max(0, t("moveSettleSpeed", G.settleSpeed)),
1268
+ integrationRate: Math.max(1, t("moveIntegrationRate", G.integrationRate))
1263
1269
  };
1264
1270
  }
1265
- function Ze(e, t) {
1271
+ function $e(e, t) {
1266
1272
  return {
1267
- vertical: Ke(qe(t?.vertical, Ye(e, "bendVertical", .6))),
1268
- horizontal: Ke(qe(t?.horizontal, Ye(e, "bendHorizontal", .35))),
1269
- velocityVertical: Math.max(0, Ye(e, "bendVelocityVertical", .05)),
1270
- velocityHorizontal: Math.max(0, Ye(e, "bendVelocityHorizontal", .09)),
1271
- smoothing: Math.max(0, Ye(e, "bendSmoothing", 9)),
1272
- activeThreshold: Math.max(0, Ye(e, "bendActiveThreshold", .5)),
1273
- verticalCap: Math.max(0, Ye(e, "bendVerticalCap", .5)),
1274
- horizontalCap: Math.max(0, Ye(e, "bendHorizontalCap", .9)),
1275
- radiusMin: Math.max(0, Ye(e, "bendRadiusMin", .2)),
1276
- radiusMax: Math.max(0, Ye(e, "bendRadiusMax", 3)),
1277
- leadingCapFactor: Math.max(0, Ye(e, "bendLeadingCapFactor", .8)),
1278
- trailingCapFactor: Math.max(0, Ye(e, "bendTrailingCapFactor", 1.6))
1273
+ vertical: Ye(Xe(t?.vertical, K(e, "bendVertical", .6))),
1274
+ horizontal: Ye(Xe(t?.horizontal, K(e, "bendHorizontal", .35))),
1275
+ velocityVertical: Math.max(0, K(e, "bendVelocityVertical", .05)),
1276
+ velocityHorizontal: Math.max(0, K(e, "bendVelocityHorizontal", .09)),
1277
+ smoothing: Math.max(0, K(e, "bendSmoothing", 9)),
1278
+ activeThreshold: Math.max(0, K(e, "bendActiveThreshold", .5)),
1279
+ verticalCap: Math.max(0, K(e, "bendVerticalCap", .5)),
1280
+ horizontalCap: Math.max(0, K(e, "bendHorizontalCap", .9)),
1281
+ radiusMin: Math.max(0, K(e, "bendRadiusMin", .2)),
1282
+ radiusMax: Math.max(0, K(e, "bendRadiusMax", 3)),
1283
+ leadingCapFactor: Math.max(0, K(e, "bendLeadingCapFactor", .8)),
1284
+ trailingCapFactor: Math.max(0, K(e, "bendTrailingCapFactor", 1.6))
1279
1285
  };
1280
1286
  }
1281
- function Qe(e, t, n, r, i, a) {
1287
+ function et(e, t, n, r, i, a) {
1282
1288
  let o = t + (r * (n - e) - i * t) * a;
1283
1289
  return [e + o * a, o];
1284
1290
  }
1285
- function $e(e, t, n, r, i, a, o) {
1286
- let s = Math.max(0, qe(a, 0)), c = Math.max(1, Math.ceil(s * o)), l = s / c, u = e, d = t;
1287
- for (; c-- > 0;) [u, d] = Qe(u, d, n, r, i, l);
1291
+ function tt(e, t, n, r, i, a, o) {
1292
+ let s = Math.max(0, Xe(a, 0)), c = Math.max(1, Math.ceil(s * o)), l = s / c, u = e, d = t;
1293
+ for (; c-- > 0;) [u, d] = et(u, d, n, r, i, l);
1288
1294
  return [u, d];
1289
1295
  }
1290
- function et(e) {
1296
+ function nt(e) {
1291
1297
  return {
1292
1298
  cx: e.cx,
1293
1299
  cy: e.cy,
@@ -1302,35 +1308,35 @@ function et(e) {
1302
1308
  tailInitialized: !0
1303
1309
  };
1304
1310
  }
1305
- function tt(e, t) {
1311
+ function rt(e, t) {
1306
1312
  e.cx = t.cx, e.cy = t.cy, e.vcx = 0, e.vcy = 0, e.tailX = t.cx, e.tailY = t.cy, e.tailVx = 0, e.tailVy = 0, e.tailR = 0, e.tailPhase = 0, e.tailInitialized = !0;
1307
1313
  }
1308
- function nt(e) {
1314
+ function it(e) {
1309
1315
  return String(Math.round(e * 1e3) / 1e3);
1310
1316
  }
1311
1317
  function q(e) {
1312
1318
  return Math.round(e * 10) / 10;
1313
1319
  }
1314
- function rt(e, t, n, r, i) {
1315
- let a = Math.max(.01, qe(t.scale, 1));
1316
- [e.cx, e.vcx] = $e(e.cx, e.vcx, t.cx, i.stiffness, i.damping, r, i.integrationRate), [e.cy, e.vcy] = $e(e.cy, e.vcy, t.cy, i.stiffness, i.damping, r, i.integrationRate);
1320
+ function at(e, t, n, r, i) {
1321
+ let a = Math.max(.01, Xe(t.scale, 1));
1322
+ [e.cx, e.vcx] = tt(e.cx, e.vcx, t.cx, i.stiffness, i.damping, r, i.integrationRate), [e.cy, e.vcy] = tt(e.cy, e.vcy, t.cy, i.stiffness, i.damping, r, i.integrationRate);
1317
1323
  let o = Math.hypot(e.vcx, e.vcy), s = 0, c = 1, l = 1;
1318
1324
  if (o > i.speedThreshold) {
1319
1325
  let t = Math.min(i.stretch, o * i.stretchSpeed);
1320
1326
  s = Math.round(Math.atan2(e.vcy, e.vcx) * 100) / 100, c = 1 + t, l = 1 / (1 + t * i.stretchSquash);
1321
1327
  }
1322
- e.tailInitialized ||= (e.tailX = e.cx, e.tailY = e.cy, !0), [e.tailX, e.tailVx] = $e(e.tailX, e.tailVx, e.cx, i.tailSpringStiffness, i.tailSpringDamping, r, i.integrationRate), [e.tailY, e.tailVy] = $e(e.tailY, e.tailVy, e.cy, i.tailSpringStiffness, i.tailSpringDamping, r, i.integrationRate);
1328
+ e.tailInitialized ||= (e.tailX = e.cx, e.tailY = e.cy, !0), [e.tailX, e.tailVx] = tt(e.tailX, e.tailVx, e.cx, i.tailSpringStiffness, i.tailSpringDamping, r, i.integrationRate), [e.tailY, e.tailVy] = tt(e.tailY, e.tailVy, e.cy, i.tailSpringStiffness, i.tailSpringDamping, r, i.integrationRate);
1323
1329
  let u = Math.max(0, n.w * a), d = Math.max(0, n.h * a), f = o > .001 ? e.vcx / o : 1, p = o > .001 ? e.vcy / o : 0, m = Math.max(i.minPerpendicular, Math.abs(f) * d + Math.abs(p) * u), h = (Math.abs(f) * u + Math.abs(p) * d) / 2, g = m / 2, _ = e.tailX - e.cx, v = e.tailY - e.cy, y = Math.hypot(_, v), b = h + g * (i.lagBase + i.force * i.lagForce);
1324
1330
  y > b && y > 0 && (e.tailX = e.cx + _ / y * b, e.tailY = e.cy + v / y * b);
1325
- let x = Ke((o - i.tailOnsetSpeed) / i.tailOnsetRange), S = g * i.tail * x;
1331
+ let x = Ye((o - i.tailOnsetSpeed) / i.tailOnsetRange), S = g * i.tail * x;
1326
1332
  e.tailR += (S - e.tailR) * Math.min(1, Math.max(0, r) * i.tailRamp);
1327
- let C = e.tailR >= i.tailMinRadius, w = e.cx, T = e.cy, E = e.cx, D = e.cy, O = 0, ee = 0;
1333
+ let C = e.tailR >= i.tailMinRadius, w = e.cx, T = e.cy, E = e.cx, D = e.cy, O = 0, k = 0;
1328
1334
  if (C) {
1329
- e.tailPhase += o * Math.max(0, qe(r, 0)) * i.tailPhaseSpeed;
1335
+ e.tailPhase += o * Math.max(0, Xe(r, 0)) * i.tailPhaseSpeed;
1330
1336
  let t = e.tailR * i.tailWobble, n = -p, a = f, s = Math.sin(e.tailPhase) * t, c = Math.sin(e.tailPhase + i.tailWobblePhase) * -t;
1331
- w = e.cx + _ * i.tailMidpointA + n * s, T = e.cy + v * i.tailMidpointA + a * s, E = e.cx + _ * i.tailMidpointB + n * c, D = e.cy + v * i.tailMidpointB + a * c, O = e.tailR * i.tailMidRadiusA, ee = e.tailR * i.tailMidRadiusB;
1337
+ w = e.cx + _ * i.tailMidpointA + n * s, T = e.cy + v * i.tailMidpointA + a * s, E = e.cx + _ * i.tailMidpointB + n * c, D = e.cy + v * i.tailMidpointB + a * c, O = e.tailR * i.tailMidRadiusA, k = e.tailR * i.tailMidRadiusB;
1332
1338
  }
1333
- let k = {
1339
+ let A = {
1334
1340
  cx: q(e.tailX),
1335
1341
  cy: q(e.tailY),
1336
1342
  radius: C ? q(e.tailR) : 0,
@@ -1339,7 +1345,7 @@ function rt(e, t, n, r, i) {
1339
1345
  midARadius: C ? q(O) : 0,
1340
1346
  midBCx: q(E),
1341
1347
  midBCy: q(D),
1342
- midBRadius: C ? q(ee) : 0,
1348
+ midBRadius: C ? q(k) : 0,
1343
1349
  visible: C,
1344
1350
  fingerprint: C ? [
1345
1351
  q(e.tailX),
@@ -1352,17 +1358,17 @@ function rt(e, t, n, r, i) {
1352
1358
  ].join(",") : "hidden"
1353
1359
  };
1354
1360
  return {
1355
- path: We(-n.w / 2, -n.h / 2, n.w, n.h, n.r),
1356
- transform: `translate(${nt(e.cx)} ${nt(e.cy)}) ` + (o > i.speedThreshold ? `rotate(${nt(s * 180 / Math.PI)}) scale(${nt(c)} ${nt(l)}) ` : "") + `scale(${nt(a)})`,
1357
- tail: k,
1361
+ path: qe(-n.w / 2, -n.h / 2, n.w, n.h, n.r),
1362
+ transform: `translate(${it(e.cx)} ${it(e.cy)}) ` + (o > i.speedThreshold ? `rotate(${it(s * 180 / Math.PI)}) scale(${it(c)} ${it(l)}) ` : "") + `scale(${it(a)})`,
1363
+ tail: A,
1358
1364
  moving: Math.hypot(e.cx - t.cx, e.cy - t.cy) > i.settleDistance || o > i.settleSpeed || e.tailR >= i.tailMinRadius
1359
1365
  };
1360
1366
  }
1361
- function it(e, t, n, r, i, a) {
1367
+ function ot(e, t, n, r, i, a) {
1362
1368
  let o = Math.min(Math.max(0, n), e / 2, t / 2), s = Math.round(r * 2 * 10) / 10, c = Math.max(o * a.radiusMin, Math.min(o * a.radiusMax, i > 0 ? o - a.leadingCapFactor * i : o + a.trailingCapFactor * -i)), l = Math.max(o * a.radiusMin, Math.min(o * a.radiusMax, i > 0 ? o + a.trailingCapFactor * i : o - a.leadingCapFactor * -i)), u = .5523, d = (e) => Math.round(e * 10) / 10;
1363
1369
  return `M ${d(l)} 0 Q ${d(e / 2)} ${d(s)} ${d(e - c)} 0 C ${d(e - c + u * c)} 0 ${d(e)} ${d(o - u * o)} ${d(e)} ${d(o)} L ${d(e)} ${d(t - o)} C ${d(e)} ${d(t - o + u * o)} ${d(e - c + u * c)} ${d(t)} ${d(e - c)} ${d(t)} Q ${d(e / 2)} ${d(t + r * 2)} ${d(l)} ${d(t)} C ${d(l - u * l)} ${d(t)} 0 ${d(t - o + u * o)} 0 ${d(t - o)} L 0 ${d(o)} C 0 ${d(o - u * o)} ${d(l - u * l)} 0 ${d(l)} 0 Z`;
1364
1370
  }
1365
- function at(e) {
1371
+ function st(e) {
1366
1372
  return {
1367
1373
  cx: e.cx,
1368
1374
  cy: e.cy,
@@ -1375,20 +1381,20 @@ function at(e) {
1375
1381
  initialized: !1
1376
1382
  };
1377
1383
  }
1378
- function ot(e, t) {
1384
+ function ct(e, t) {
1379
1385
  e.cx = t.cx, e.cy = t.cy, e.previousCx = t.cx, e.previousCy = t.cy, e.vcx = 0, e.vcy = 0, e.bendY = 0, e.bendX = 0, e.initialized = !0;
1380
1386
  }
1381
- function st(e, t) {
1387
+ function lt(e, t) {
1382
1388
  return Math.min(e.w, e.h) * t.verticalCap * 2 * t.vertical;
1383
1389
  }
1384
- function ct(e, t, n, r, i) {
1385
- let a = Math.max(1 / 240, qe(r, 1 / 60));
1390
+ function ut(e, t, n, r, i) {
1391
+ let a = Math.max(1 / 240, Xe(r, 1 / 60));
1386
1392
  e.initialized ||= (e.previousCx = t.cx, e.previousCy = t.cy, !0);
1387
1393
  let o = (t.cx - e.previousCx) / a, s = (t.cy - e.previousCy) / a;
1388
1394
  e.previousCx = t.cx, e.previousCy = t.cy, e.vcx = e.vcx * .7 + o * .3, e.vcy = e.vcy * .7 + s * .3, e.cx = t.cx, e.cy = t.cy;
1389
1395
  let c = Math.min(n.w, n.h), l = c * i.verticalCap, u = Math.max(-l, Math.min(l, e.vcy * i.velocityVertical)) * i.vertical, d = c * i.horizontalCap, f = Math.max(-d, Math.min(d, e.vcx * i.velocityHorizontal)) * i.horizontal;
1390
1396
  e.bendY += (u - e.bendY) * Math.min(1, a * i.smoothing), e.bendX += (f - e.bendX) * Math.min(1, a * i.smoothing);
1391
- let p = Math.abs(e.bendY) > i.activeThreshold || Math.abs(e.bendX) > i.activeThreshold, m = Math.min(...n.r), h = p ? it(n.w, n.h, m, e.bendY, e.bendX, i) : We(-n.w / 2, -n.h / 2, n.w, n.h, n.r), g = p ? `translate(${nt(e.cx - n.w / 2)} ${nt(e.cy - n.h / 2)}) scale(${nt(t.scale)})` : `translate(${nt(e.cx)} ${nt(e.cy)}) scale(${nt(t.scale)})`, _ = Math.round(e.bendX * 10) / 10, v = Math.round(e.bendY * 10) / 10;
1397
+ let p = Math.abs(e.bendY) > i.activeThreshold || Math.abs(e.bendX) > i.activeThreshold, m = Math.min(...n.r), h = p ? ot(n.w, n.h, m, e.bendY, e.bendX, i) : qe(-n.w / 2, -n.h / 2, n.w, n.h, n.r), g = p ? `translate(${it(e.cx - n.w / 2)} ${it(e.cy - n.h / 2)}) scale(${it(t.scale)})` : `translate(${it(e.cx)} ${it(e.cy)}) scale(${it(t.scale)})`, _ = Math.round(e.bendX * 10) / 10, v = Math.round(e.bendY * 10) / 10;
1392
1398
  return {
1393
1399
  path: h,
1394
1400
  transform: g,
@@ -1400,7 +1406,7 @@ function ct(e, t, n, r, i) {
1400
1406
  }
1401
1407
  //#endregion
1402
1408
  //#region src/liquidGooeyEvolve.ts
1403
- var lt = {
1409
+ var dt = {
1404
1410
  massStiffness: 320,
1405
1411
  massDamping: 17,
1406
1412
  sizeStiffness: 170,
@@ -1415,41 +1421,41 @@ var lt = {
1415
1421
  anticipation: 90,
1416
1422
  travel: 32
1417
1423
  };
1418
- function ut(e) {
1424
+ function ft(e) {
1419
1425
  return /^var\((--[\w-]+)\)$/.exec(e.trim())?.[1] ?? null;
1420
1426
  }
1421
- function dt(e, t) {
1427
+ function pt(e, t) {
1422
1428
  return e !== void 0 && Number.isFinite(e) ? e : t;
1423
1429
  }
1424
- function ft(e, t = 0, n = 1) {
1430
+ function mt(e, t = 0, n = 1) {
1425
1431
  return Math.min(n, Math.max(t, e));
1426
1432
  }
1427
- function pt(e, t, n) {
1428
- let r = e?.ownerDocument.defaultView, i = ut(R[t]);
1433
+ function ht(e, t, n) {
1434
+ let r = e?.ownerDocument.defaultView, i = ft(L[t]);
1429
1435
  if (!r || !i) return n;
1430
1436
  let a = Number.parseFloat(r.getComputedStyle(e).getPropertyValue(i));
1431
1437
  return Number.isFinite(a) ? a : n;
1432
1438
  }
1433
- function mt(e, t, n) {
1434
- let r = e?.ownerDocument.defaultView, i = ut(R[t]);
1439
+ function gt(e, t, n) {
1440
+ let r = e?.ownerDocument.defaultView, i = ft(L[t]);
1435
1441
  return !r || !i ? n : r.getComputedStyle(e).getPropertyValue(i).trim() || n;
1436
1442
  }
1437
- function ht(e, t) {
1438
- let n = (t, n) => pt(e, t, n), r = {
1439
- massStiffness: Math.max(.001, n("evolveMassStiffness", lt.massStiffness)),
1440
- massDamping: Math.max(0, n("evolveMassDamping", lt.massDamping)),
1441
- sizeStiffness: Math.max(.001, n("evolveSizeStiffness", lt.sizeStiffness)),
1442
- sizeDamping: Math.max(0, n("evolveSizeDamping", lt.sizeDamping)),
1443
- radiusStiffness: Math.max(.001, n("evolveRadiusStiffness", lt.radiusStiffness)),
1444
- radiusDamping: Math.max(0, n("evolveRadiusDamping", lt.radiusDamping)),
1445
- contentBlur: Math.max(0, n("evolveContentBlur", lt.contentBlur)),
1446
- roundness: ft(n("evolveRoundness", lt.roundness)),
1447
- cornerDuration: Math.max(0, n("evolveCornerDuration", lt.cornerDuration)),
1448
- cornerDelay: Math.max(0, n("evolveCornerDelay", lt.cornerDelay)),
1449
- cornerEase: mt(e, "evolveCornerEase", lt.cornerEase),
1450
- anticipation: Math.max(0, n("evolveAnticipation", lt.anticipation)),
1451
- travel: Math.max(0, n("evolveTravel", lt.travel))
1452
- }, i = Math.max(.25, dt(t?.speed, n("morphSpeed", 1))), a = ft(dt(t?.bounce, n("morphBounce", .5))), o = (e) => Math.max(.12, 1 - 1.1 * ft(e)), s = o(a) / o(.5);
1443
+ function _t(e, t) {
1444
+ let n = (t, n) => ht(e, t, n), r = {
1445
+ massStiffness: Math.max(.001, n("evolveMassStiffness", dt.massStiffness)),
1446
+ massDamping: Math.max(0, n("evolveMassDamping", dt.massDamping)),
1447
+ sizeStiffness: Math.max(.001, n("evolveSizeStiffness", dt.sizeStiffness)),
1448
+ sizeDamping: Math.max(0, n("evolveSizeDamping", dt.sizeDamping)),
1449
+ radiusStiffness: Math.max(.001, n("evolveRadiusStiffness", dt.radiusStiffness)),
1450
+ radiusDamping: Math.max(0, n("evolveRadiusDamping", dt.radiusDamping)),
1451
+ contentBlur: Math.max(0, n("evolveContentBlur", dt.contentBlur)),
1452
+ roundness: mt(n("evolveRoundness", dt.roundness)),
1453
+ cornerDuration: Math.max(0, n("evolveCornerDuration", dt.cornerDuration)),
1454
+ cornerDelay: Math.max(0, n("evolveCornerDelay", dt.cornerDelay)),
1455
+ cornerEase: gt(e, "evolveCornerEase", dt.cornerEase),
1456
+ anticipation: Math.max(0, n("evolveAnticipation", dt.anticipation)),
1457
+ travel: Math.max(0, n("evolveTravel", dt.travel))
1458
+ }, i = Math.max(.25, pt(t?.speed, n("morphSpeed", 1))), a = mt(pt(t?.bounce, n("morphBounce", .5))), o = (e) => Math.max(.12, 1 - 1.1 * mt(e)), s = o(a) / o(.5);
1453
1459
  return {
1454
1460
  massStiffness: r.massStiffness * i * i,
1455
1461
  massDamping: r.massDamping * i * s,
@@ -1457,7 +1463,7 @@ function ht(e, t) {
1457
1463
  sizeDamping: r.sizeDamping * i * s,
1458
1464
  radiusStiffness: r.radiusStiffness * i * i,
1459
1465
  radiusDamping: r.radiusDamping * i,
1460
- contentBlur: Math.max(0, dt(t?.contentBlur, r.contentBlur)),
1466
+ contentBlur: Math.max(0, pt(t?.contentBlur, r.contentBlur)),
1461
1467
  roundness: r.roundness,
1462
1468
  cornerDuration: r.cornerDuration / i,
1463
1469
  cornerDelay: r.cornerDelay,
@@ -1467,14 +1473,14 @@ function ht(e, t) {
1467
1473
  ...t?.advanced ?? {}
1468
1474
  };
1469
1475
  }
1470
- function gt(e, t) {
1471
- return t?.shape === void 0 ? pt(e, "morphShape", 1) >= .5 : t.shape;
1476
+ function vt(e, t) {
1477
+ return t?.shape === void 0 ? ht(e, "morphShape", 1) >= .5 : t.shape;
1472
1478
  }
1473
- function _t(e, t) {
1474
- let n = ht(e, t), r = Math.max(0, pt(e, "contentBlurAreaMultiplier", 3));
1479
+ function yt(e, t) {
1480
+ let n = _t(e, t), r = Math.max(0, ht(e, "contentBlurAreaMultiplier", 3));
1475
1481
  return n.contentBlur * r;
1476
1482
  }
1477
- function vt(e) {
1483
+ function bt(e) {
1478
1484
  return {
1479
1485
  cx: e.cx,
1480
1486
  cy: e.cy,
@@ -1499,7 +1505,7 @@ function vt(e) {
1499
1505
  round01: 0
1500
1506
  };
1501
1507
  }
1502
- function yt(e, t) {
1508
+ function xt(e, t) {
1503
1509
  e.cx = t.cx, e.cy = t.cy, e.w = t.w, e.h = t.h, e.r = t.r, e.vcx = 0, e.vcy = 0, e.vw = 0, e.vh = 0, e.vr = 0, e.motionEnv = 0, e.tPrev = {
1504
1510
  cx: t.cx,
1505
1511
  cy: t.cy
@@ -1508,18 +1514,18 @@ function yt(e, t) {
1508
1514
  h: t.h
1509
1515
  }, e.morphActive = !1, e.round01 = 0;
1510
1516
  }
1511
- function bt(e, t, n, r, i, a) {
1517
+ function St(e, t, n, r, i, a) {
1512
1518
  let o = t + (r * (n - e) - i * t) * a;
1513
1519
  return [e + o * a, o];
1514
1520
  }
1515
- function xt(e, t, n, r, i, a) {
1516
- let o = Math.max(0, dt(a, 0)), s = Math.max(1, Math.ceil(o * 60)), c = o / s, l = e, u = t;
1517
- for (; s-- > 0;) [l, u] = bt(l, u, n, r, i, c);
1521
+ function Ct(e, t, n, r, i, a) {
1522
+ let o = Math.max(0, pt(a, 0)), s = Math.max(1, Math.ceil(o * 60)), c = o / s, l = e, u = t;
1523
+ for (; s-- > 0;) [l, u] = St(l, u, n, r, i, c);
1518
1524
  return [l, u];
1519
1525
  }
1520
- var St = /* @__PURE__ */ new Map();
1521
- function Ct(e) {
1522
- let t = St.get(e);
1526
+ var wt = /* @__PURE__ */ new Map();
1527
+ function Tt(e) {
1528
+ let t = wt.get(e);
1523
1529
  if (t) return t;
1524
1530
  let n = /cubic-bezier\(([^)]+)\)/.exec(e);
1525
1531
  if (n) {
@@ -1535,14 +1541,14 @@ function Ct(e) {
1535
1541
  let s = (n + o) / 2;
1536
1542
  return 3 * s * (1 - s) * (1 - s) * r + 3 * s * s * (1 - s) * a + s ** 3;
1537
1543
  };
1538
- } else t = e === "ease-in-out" ? Ct("cubic-bezier(0.42, 0, 0.58, 1)") : (e) => ft(e);
1539
- return St.set(e, t), t;
1544
+ } else t = e === "ease-in-out" ? Tt("cubic-bezier(0.42, 0, 0.58, 1)") : (e) => mt(e);
1545
+ return wt.set(e, t), t;
1540
1546
  }
1541
- function wt(e) {
1547
+ function Et(e) {
1542
1548
  return String(Math.round(e * 1e3) / 1e3);
1543
1549
  }
1544
- function Tt(e, t, n, r, i) {
1545
- let a = Math.max(0, dt(n, 0)), o = t.cx, s = t.cy;
1550
+ function Dt(e, t, n, r, i) {
1551
+ let a = Math.max(0, pt(n, 0)), o = t.cx, s = t.cy;
1546
1552
  e.tPrev ||= {
1547
1553
  cx: o,
1548
1554
  cy: s
@@ -1557,7 +1563,7 @@ function Tt(e, t, n, r, i) {
1557
1563
  let g = Math.max(0, i.anticipation) / 1e3, _ = g > 0 ? 1 - Math.exp(-a / g) : 1;
1558
1564
  e.lead01 += (+(f > .5) - e.lead01) * _;
1559
1565
  let v = Math.min(Math.max(0, i.travel) * e.lead01, f);
1560
- [e.cx, e.vcx] = xt(e.cx, e.vcx, o + m * v, i.massStiffness, i.massDamping, a), [e.cy, e.vcy] = xt(e.cy, e.vcy, s + h * v, i.massStiffness, i.massDamping, a), [e.w, e.vw] = xt(e.w, e.vw, t.w, i.sizeStiffness, i.sizeDamping, a), [e.h, e.vh] = xt(e.h, e.vh, t.h, i.sizeStiffness, i.sizeDamping, a), [e.r, e.vr] = xt(e.r, e.vr, t.r, i.radiusStiffness, i.radiusDamping, a);
1566
+ [e.cx, e.vcx] = Ct(e.cx, e.vcx, o + m * v, i.massStiffness, i.massDamping, a), [e.cy, e.vcy] = Ct(e.cy, e.vcy, s + h * v, i.massStiffness, i.massDamping, a), [e.w, e.vw] = Ct(e.w, e.vw, t.w, i.sizeStiffness, i.sizeDamping, a), [e.h, e.vh] = Ct(e.h, e.vh, t.h, i.sizeStiffness, i.sizeDamping, a), [e.r, e.vr] = Ct(e.r, e.vr, t.r, i.radiusStiffness, i.radiusDamping, a);
1561
1567
  let y = e.lastTargetSize;
1562
1568
  (y ? Math.abs(t.w - y.w) + Math.abs(t.h - y.h) : 0) > .5 ? (e.morphActive ||= (e.cornerT0 = r, e.cornerStarted = !0, !0), e.lastTargetMoveT = r) : e.morphActive && r - e.lastTargetMoveT > 150 && r - e.cornerT0 > Math.max(0, i.cornerDelay) + Math.max(1, i.cornerDuration) && (e.morphActive = !1), e.lastTargetSize = {
1563
1569
  w: t.w,
@@ -1565,8 +1571,8 @@ function Tt(e, t, n, r, i) {
1565
1571
  };
1566
1572
  let b = Math.max(0, i.cornerDelay) + Math.max(1, i.cornerDuration), x = 0;
1567
1573
  if (e.cornerStarted && i.roundness > 0 && r - e.cornerT0 < b) {
1568
- let t = ft((r - e.cornerT0 - Math.max(0, i.cornerDelay)) / Math.max(1, i.cornerDuration));
1569
- x = ft((1 - Ct(i.cornerEase)(t)) * i.roundness);
1574
+ let t = mt((r - e.cornerT0 - Math.max(0, i.cornerDelay)) / Math.max(1, i.cornerDuration));
1575
+ x = mt((1 - Tt(i.cornerEase)(t)) * i.roundness);
1570
1576
  }
1571
1577
  let S = a * 8;
1572
1578
  e.round01 += Math.max(-S, Math.min(S, x - e.round01));
@@ -1577,22 +1583,22 @@ function Tt(e, t, n, r, i) {
1577
1583
  }
1578
1584
  let w = Math.min(1, (Math.hypot(e.vcx, e.vcy) + Math.abs(e.vw) + Math.abs(e.vh)) / 420);
1579
1585
  e.motionEnv = Math.max(w, e.motionEnv - a * 1.9);
1580
- let T = e.motionEnv * e.motionEnv * Math.max(0, i.contentBlur), E = e.cornerStarted && r - e.cornerT0 < b + 80 || Math.abs(x - e.round01) > .004 || e.round01 > .004, D = Math.hypot(e.vcx, e.vcy), O = Math.abs(e.cx - o) < .05 && Math.abs(e.cy - s) < .05 && Math.abs(e.w - t.w) < .05 && Math.abs(e.h - t.h) < .05 && Math.abs(e.r - t.r) < .05 && D < 1 && Math.abs(e.vw) + Math.abs(e.vh) + Math.abs(e.vr) < 1 && e.motionEnv < .01 && !E, ee = [
1586
+ let T = e.motionEnv * e.motionEnv * Math.max(0, i.contentBlur), E = e.cornerStarted && r - e.cornerT0 < b + 80 || Math.abs(x - e.round01) > .004 || e.round01 > .004, D = Math.hypot(e.vcx, e.vcy), O = Math.abs(e.cx - o) < .05 && Math.abs(e.cy - s) < .05 && Math.abs(e.w - t.w) < .05 && Math.abs(e.h - t.h) < .05 && Math.abs(e.r - t.r) < .05 && D < 1 && Math.abs(e.vw) + Math.abs(e.vh) + Math.abs(e.vr) < 1 && e.motionEnv < .01 && !E, k = [
1581
1587
  C,
1582
1588
  C,
1583
1589
  C,
1584
1590
  C
1585
1591
  ];
1586
1592
  return {
1587
- path: We(-e.w / 2, -e.h / 2, e.w, e.h, ee),
1588
- transform: `translate(${wt(e.cx)} ${wt(e.cy)}) scale(${wt(t.scale)})`,
1593
+ path: qe(-e.w / 2, -e.h / 2, e.w, e.h, k),
1594
+ transform: `translate(${Et(e.cx)} ${Et(e.cy)}) scale(${Et(t.scale)})`,
1589
1595
  contentBlur: T,
1590
1596
  moving: !O
1591
1597
  };
1592
1598
  }
1593
1599
  //#endregion
1594
1600
  //#region src/liquidGooeySpring.ts
1595
- var Et = {
1601
+ var Ot = {
1596
1602
  snappy: {
1597
1603
  stiffness: 480,
1598
1604
  damping: 34,
@@ -1608,16 +1614,16 @@ var Et = {
1608
1614
  damping: 17,
1609
1615
  mass: 1
1610
1616
  }
1611
- }, Dt = 1 / 240;
1612
- function Ot(e) {
1617
+ }, kt = 1 / 240;
1618
+ function At(e) {
1613
1619
  let t = 0, n = 0, r = 0, i = -1, a = 0, o = [0];
1614
1620
  for (; r < 10;) {
1615
1621
  let s = (-e.stiffness * (t - 1) - e.damping * n) / e.mass;
1616
- if (n += s * Dt, t += n * Dt, r += Dt, o.push(t), t > a && (a = t), Math.abs(t - 1) < .001 && Math.abs(n) < .02) {
1622
+ if (n += s * kt, t += n * kt, r += kt, o.push(t), t > a && (a = t), Math.abs(t - 1) < .001 && Math.abs(n) < .02) {
1617
1623
  if (i < 0 && (i = r), r - i >= .064) break;
1618
1624
  } else i = -1;
1619
1625
  }
1620
- let s = i > 0 ? i : r, c = Math.round(Math.min(120, Math.max(24, s * 90))), l = Math.min(o.length - 1, s / Dt), u = [];
1626
+ let s = i > 0 ? i : r, c = Math.round(Math.min(120, Math.max(24, s * 90))), l = Math.min(o.length - 1, s / kt), u = [];
1621
1627
  for (let e = 0; e <= c; e += 1) {
1622
1628
  let t = Math.min(o.length - 1, Math.round(e / c * l));
1623
1629
  u.push(Math.round((o[t] ?? 1) * 1e4) / 1e4);
@@ -1628,13 +1634,13 @@ function Ot(e) {
1628
1634
  overshoots: a > 1.001
1629
1635
  };
1630
1636
  }
1631
- var kt = null;
1632
- function At() {
1633
- return kt === null && (kt = typeof CSS < "u" && typeof CSS.supports == "function" && CSS.supports("transition-timing-function", "linear(0, 1)")), kt;
1637
+ var jt = null;
1638
+ function Mt() {
1639
+ return jt === null && (jt = typeof CSS < "u" && typeof CSS.supports == "function" && CSS.supports("transition-timing-function", "linear(0, 1)")), jt;
1634
1640
  }
1635
- var jt = /* @__PURE__ */ new Map(), Mt = /* @__PURE__ */ new Map();
1636
- function Nt(e) {
1637
- let t = Mt.get(e);
1641
+ var Nt = /* @__PURE__ */ new Map(), Pt = /* @__PURE__ */ new Map();
1642
+ function Ft(e) {
1643
+ let t = Pt.get(e);
1638
1644
  if (t) return t;
1639
1645
  let n = /^linear\(([^)]+)\)$/.exec(e.trim()), r = /^cubic-bezier\(([^)]+)\)$/.exec(e.trim()), i;
1640
1646
  if (n) {
@@ -1658,10 +1664,10 @@ function Nt(e) {
1658
1664
  let s = (i + o) / 2;
1659
1665
  return 3 * s * (1 - s) * (1 - s) * t + 3 * s * s * (1 - s) * a + s ** 3;
1660
1666
  };
1661
- } else i = e === "ease" ? Nt("cubic-bezier(0.25, 0.1, 0.25, 1)") : e === "ease-in" ? Nt("cubic-bezier(0.42, 0, 1, 1)") : e === "ease-out" ? Nt("cubic-bezier(0, 0, 0.58, 1)") : e === "ease-in-out" ? Nt("cubic-bezier(0.42, 0, 0.58, 1)") : (e) => Math.min(1, Math.max(0, e));
1662
- return Mt.set(e, i), i;
1667
+ } else i = e === "ease" ? Ft("cubic-bezier(0.25, 0.1, 0.25, 1)") : e === "ease-in" ? Ft("cubic-bezier(0.42, 0, 1, 1)") : e === "ease-out" ? Ft("cubic-bezier(0, 0, 0.58, 1)") : e === "ease-in-out" ? Ft("cubic-bezier(0.42, 0, 0.58, 1)") : (e) => Math.min(1, Math.max(0, e));
1668
+ return Pt.set(e, i), i;
1663
1669
  }
1664
- function Pt(e, t = !1) {
1670
+ function It(e, t = !1) {
1665
1671
  if (t) return {
1666
1672
  duration: 0,
1667
1673
  easing: "linear"
@@ -1671,58 +1677,58 @@ function Pt(e, t = !1) {
1671
1677
  duration: Math.max(0, n.duration),
1672
1678
  easing: n.ease ?? "cubic-bezier(0.22, 1, 0.36, 1)"
1673
1679
  };
1674
- let r = typeof n == "string" ? Et[n] : {
1680
+ let r = typeof n == "string" ? Ot[n] : {
1675
1681
  stiffness: 300,
1676
1682
  damping: 24,
1677
1683
  mass: 1,
1678
1684
  ...n
1679
- }, i = `${r.stiffness}/${r.damping}/${r.mass}/${At()}`, a = jt.get(i);
1685
+ }, i = `${r.stiffness}/${r.damping}/${r.mass}/${Mt()}`, a = Nt.get(i);
1680
1686
  if (!a) {
1681
- let e = Ot(r);
1687
+ let e = At(r);
1682
1688
  a = {
1683
1689
  duration: Math.round(e.duration * 1e3),
1684
- easing: At() ? `linear(${e.values.join(", ")})` : e.overshoots ? "cubic-bezier(0.34, 1.56, 0.64, 1)" : "cubic-bezier(0.22, 1, 0.36, 1)"
1685
- }, jt.set(i, a);
1690
+ easing: Mt() ? `linear(${e.values.join(", ")})` : e.overshoots ? "cubic-bezier(0.34, 1.56, 0.64, 1)" : "cubic-bezier(0.22, 1, 0.36, 1)"
1691
+ }, Nt.set(i, a);
1686
1692
  }
1687
1693
  return a;
1688
1694
  }
1689
1695
  //#endregion
1690
1696
  //#region src/liquidGooeyEngine.ts
1691
- function Ft(e, t) {
1697
+ function Lt(e, t) {
1692
1698
  return e !== void 0 && Number.isFinite(e) ? e : t;
1693
1699
  }
1694
- function It(e) {
1700
+ function Rt(e) {
1695
1701
  let t = {
1696
1702
  observe: e.observe ?? !1,
1697
- x: Ft(e.x, 0),
1698
- y: Ft(e.y, 0),
1699
- scale: Math.max(.01, Ft(e.scale, 1))
1703
+ x: Lt(e.x, 0),
1704
+ y: Lt(e.y, 0),
1705
+ scale: Math.max(.01, Lt(e.scale, 1))
1700
1706
  };
1701
- return e.effect !== void 0 && (t.effect = e.effect), e.morph !== void 0 && (t.morph = e.morph), e.bend !== void 0 && (t.bend = e.bend), e.transition !== void 0 && (t.transition = e.transition), e.delay !== void 0 && (t.delay = Math.max(0, Ft(e.delay, 0))), e.radius !== void 0 && (t.radius = e.radius), t;
1707
+ return e.effect !== void 0 && (t.effect = e.effect), e.morph !== void 0 && (t.morph = e.morph), e.bend !== void 0 && (t.bend = e.bend), e.transition !== void 0 && (t.transition = e.transition), e.delay !== void 0 && (t.delay = Math.max(0, Lt(e.delay, 0))), e.radius !== void 0 && (t.radius = e.radius), t;
1702
1708
  }
1703
- function Lt(e) {
1709
+ function zt(e) {
1704
1710
  return {
1705
1711
  x: e.x,
1706
1712
  y: e.y,
1707
1713
  scale: e.scale
1708
1714
  };
1709
1715
  }
1710
- function Rt(e, t) {
1716
+ function Bt(e, t) {
1711
1717
  return e.x === t.x && e.y === t.y && e.scale === t.scale;
1712
1718
  }
1713
- function zt(e, t) {
1714
- return e.effect === t.effect && e.observe === t.observe && JSON.stringify(e.morph) === JSON.stringify(t.morph) && JSON.stringify(e.bend) === JSON.stringify(t.bend) && JSON.stringify(e.transition) === JSON.stringify(t.transition) && e.delay === t.delay && Bt(e.radius) === Bt(t.radius);
1719
+ function Vt(e, t) {
1720
+ return e.effect === t.effect && e.observe === t.observe && JSON.stringify(e.morph) === JSON.stringify(t.morph) && JSON.stringify(e.bend) === JSON.stringify(t.bend) && JSON.stringify(e.transition) === JSON.stringify(t.transition) && e.delay === t.delay && Ht(e.radius) === Ht(t.radius);
1715
1721
  }
1716
- function Bt(e) {
1722
+ function Ht(e) {
1717
1723
  return e === void 0 ? "" : JSON.stringify(e);
1718
1724
  }
1719
- function Vt(e, t) {
1725
+ function Ut(e, t) {
1720
1726
  return !!(e && Math.abs(e.x - t.x) < .01 && Math.abs(e.y - t.y) < .01 && Math.abs(e.w - t.w) < .01 && Math.abs(e.h - t.h) < .01 && e.r.every((e, n) => Math.abs(e - (t.r[n] ?? 0)) < .01));
1721
1727
  }
1722
- function Ht(e) {
1728
+ function Wt(e) {
1723
1729
  return String(Math.round(e * 1e3) / 1e3);
1724
1730
  }
1725
- var Ut = class {
1731
+ var Gt = class {
1726
1732
  getGroup;
1727
1733
  getFilterArea;
1728
1734
  onModeChange;
@@ -1752,11 +1758,11 @@ var Ut = class {
1752
1758
  }
1753
1759
  register(e) {
1754
1760
  this.revive(), this.unregister(e.id);
1755
- let t = It(e.config), n = {
1761
+ let t = Rt(e.config), n = {
1756
1762
  ...e,
1757
1763
  config: t,
1758
- target: Lt(t),
1759
- current: Lt(t),
1764
+ target: zt(t),
1765
+ current: zt(t),
1760
1766
  motion: null,
1761
1767
  lastBox: null,
1762
1768
  lastPaint: null,
@@ -1778,7 +1784,7 @@ var Ut = class {
1778
1784
  update(e, t) {
1779
1785
  let n = this.items.get(e);
1780
1786
  if (!n) return;
1781
- let r = It(t), i = Lt(r), a = !Rt(n.target, i), o = !zt(n.config, r);
1787
+ let r = Rt(t), i = zt(r), a = !Bt(n.target, i), o = !Vt(n.config, r);
1782
1788
  if (n.config = r, this.updateFeaturePadding(), !a) {
1783
1789
  o && (n.lastPaint = null, this.isDynamic(n) || this.resetDynamicEntry(n), r.effect === "bend" && this.writeBendVars(n, 0, 0), this.isDynamic(n) && !this.reducedMotion && (this.ensureClaim() ? this.setMode("animated") : (this.snapEntry(n), this.resetDynamicEntry(n), this.setMode("static"))), this.touch(), this.wake());
1784
1790
  return;
@@ -1786,13 +1792,13 @@ var Ut = class {
1786
1792
  let s = this.now();
1787
1793
  if (this.advanceEntry(n, s), n.target = i, this.reducedMotion) this.snapEntry(n), this.resetMoveEntry(n), this.resetDynamicEntry(n), this.setMode("reduced");
1788
1794
  else {
1789
- let e = Pt(r.transition), t = e.duration > 0;
1795
+ let e = It(r.transition), t = e.duration > 0;
1790
1796
  !(t || this.follow || this.isDynamic(n)) || !this.ensureClaim() ? (this.snapEntry(n), this.resetMoveEntry(n), this.resetDynamicEntry(n), this.setMode("static")) : !t || r.observe ? (n.current = { ...i }, n.motion = null, n.host.style.willChange = "", n.lastPaint = null, this.applyHost(n), this.setMode("animated")) : (n.motion = {
1791
1797
  from: { ...n.current },
1792
1798
  to: { ...i },
1793
1799
  start: s + (r.delay ?? 0),
1794
1800
  duration: e.duration,
1795
- ease: Nt(e.easing)
1801
+ ease: Ft(e.easing)
1796
1802
  }, n.host.style.willChange = r.observe ? "" : "transform", this.setMode("animated"));
1797
1803
  }
1798
1804
  this.touch(s), this.needsPaint = !0, this.wake();
@@ -1810,7 +1816,7 @@ var Ut = class {
1810
1816
  setFilterArea(e) {
1811
1817
  let t = Number.isFinite(e) ? Math.max(0, e) : Infinity;
1812
1818
  if (!(Math.abs(t - this.filterArea) < .5)) {
1813
- if (this.filterArea = t, this.claimed && t > Oe().maxFilterArea) {
1819
+ if (this.filterArea = t, this.claimed && t > ke().maxFilterArea) {
1814
1820
  for (let e of this.items.values()) this.snapEntry(e), this.resetMoveEntry(e), this.resetDynamicEntry(e);
1815
1821
  this.releaseClaim(), this.setMode(this.reducedMotion ? "reduced" : "static");
1816
1822
  }
@@ -1849,25 +1855,25 @@ var Ut = class {
1849
1855
  ensureClaim() {
1850
1856
  if (this.claimed) return !0;
1851
1857
  let e = this.getFilterArea();
1852
- return Number.isFinite(e) && (this.filterArea = Math.max(0, e)), Ae(this.filterArea) ? (this.claimed = !0, this.moveOptions = Xe(this.getGroup()), !0) : (this.warnBudgetFallback(), !1);
1858
+ return Number.isFinite(e) && (this.filterArea = Math.max(0, e)), je(this.filterArea) ? (this.claimed = !0, this.moveOptions = Qe(this.getGroup()), !0) : (this.warnBudgetFallback(), !1);
1853
1859
  }
1854
1860
  warnBudgetFallback() {
1855
- if (this.budgetWarningEmitted || !0) return;
1861
+ if (this.budgetWarningEmitted) return;
1856
1862
  this.budgetWarningEmitted = !0;
1857
- let e = Oe(), t = e.activeGroups >= e.maxAnimatedGroups ? "the active-group limit is reached" : "the filter-area limit is exceeded";
1863
+ let e = ke(), t = e.activeGroups >= e.maxAnimatedGroups ? "the active-group limit is reached" : "the filter-area limit is exceeded";
1858
1864
  console.warn(`LiquidGroup: the liquid animation budget is insufficient (${t}); degrading to static rendering for this group.`);
1859
1865
  }
1860
1866
  revive() {
1861
1867
  this.disposed && (this.disposed = !1, this.mutationObserver = null, this.removeListeners.length = 0, this.lastFrameTime = null, this.budgetWarningEmitted = !1);
1862
1868
  }
1863
1869
  releaseClaim() {
1864
- this.claimed &&= (je(), !1);
1870
+ this.claimed &&= (Me(), !1);
1865
1871
  }
1866
1872
  isBend(e) {
1867
1873
  return e.config.effect === "bend";
1868
1874
  }
1869
1875
  isShape(e) {
1870
- return !this.isBend(e) && e.config.morph !== void 0 && gt(this.getGroup(), e.config.morph);
1876
+ return !this.isBend(e) && e.config.morph !== void 0 && vt(this.getGroup(), e.config.morph);
1871
1877
  }
1872
1878
  isDynamic(e) {
1873
1879
  return this.isBend(e) || this.isShape(e);
@@ -1890,7 +1896,7 @@ var Ut = class {
1890
1896
  let e = 0;
1891
1897
  for (let t of this.items.values()) {
1892
1898
  let n = this.featureBox(t);
1893
- this.isBend(t) ? e = Math.max(e, st(n, Ze(this.getGroup(), t.config.bend))) : this.isShape(t) && (e = Math.max(e, _t(this.getGroup(), t.config.morph)));
1899
+ this.isBend(t) ? e = Math.max(e, lt(n, $e(this.getGroup(), t.config.bend))) : this.isShape(t) && (e = Math.max(e, yt(this.getGroup(), t.config.morph)));
1894
1900
  }
1895
1901
  Math.abs(e - this.featurePadding) < .5 || (this.featurePadding = e, this.onFeaturePaddingChange?.(e));
1896
1902
  }
@@ -1903,7 +1909,7 @@ var Ut = class {
1903
1909
  this.clearContentBlur(e);
1904
1910
  return;
1905
1911
  }
1906
- let r = e.baseContentFilter.trim(), i = `${r && r !== "none" ? `${r} ` : ""}blur(${Ht(n)}px)`;
1912
+ let r = e.baseContentFilter.trim(), i = `${r && r !== "none" ? `${r} ` : ""}blur(${Wt(n)}px)`;
1907
1913
  e.lastContentFilter !== i && (e.host.style.filter = i, e.lastContentFilter = i, e.contentBlurred = !0);
1908
1914
  }
1909
1915
  clearBendVars(e) {
@@ -1946,7 +1952,7 @@ var Ut = class {
1946
1952
  e.ownTransform && e.host.style.transform === e.ownTransform && e.host.style.removeProperty("transform"), e.ownTransform = "";
1947
1953
  return;
1948
1954
  }
1949
- let t = `translate(${Ht(e.current.x)}px, ${Ht(e.current.y)}px) scale(${Ht(e.current.scale)})`;
1955
+ let t = `translate(${Wt(e.current.x)}px, ${Wt(e.current.y)}px) scale(${Wt(e.current.scale)})`;
1950
1956
  e.ownTransform !== t && (e.ownTransform = t, e.host.style.transform = t);
1951
1957
  }
1952
1958
  createTailElements(e) {
@@ -1982,15 +1988,15 @@ var Ut = class {
1982
1988
  };
1983
1989
  }
1984
1990
  readBox(e, t) {
1985
- let n = e.host.firstElementChild ?? e.host, r = Ve(e.host, t), i = e.host.offsetWidth, a = e.host.offsetHeight;
1991
+ let n = e.host.firstElementChild ?? e.host, r = We(e.host, t), i = e.host.offsetWidth, a = e.host.offsetHeight;
1986
1992
  if (e.config.observe) {
1987
1993
  let o = n.getBoundingClientRect(), s = t.getBoundingClientRect();
1988
1994
  o.width > 0 || o.height > 0 ? (r = {
1989
1995
  x: o.left - s.left,
1990
1996
  y: o.top - s.top
1991
- }, i = o.width || n.offsetWidth, a = o.height || n.offsetHeight) : (r = Ve(n, t), i = n.offsetWidth || e.host.offsetWidth, a = n.offsetHeight || e.host.offsetHeight);
1997
+ }, i = o.width || n.offsetWidth, a = o.height || n.offsetHeight) : (r = We(n, t), i = n.offsetWidth || e.host.offsetWidth, a = n.offsetHeight || e.host.offsetHeight);
1992
1998
  }
1993
- let o = e.config.radius === void 0 ? He(n, i, a) : Ue(e.config.radius);
1999
+ let o = e.config.radius === void 0 ? Ge(n, i, a) : Ke(e.config.radius);
1994
2000
  return {
1995
2001
  x: r.x,
1996
2002
  y: r.y,
@@ -2012,8 +2018,8 @@ var Ut = class {
2012
2018
  }
2013
2019
  paintEvolveEntry(e, t, n, r) {
2014
2020
  let i = this.dynamicTarget(e, t);
2015
- e.evolve ||= vt(i), (this.reducedMotion || !this.claimed && !r) && yt(e.evolve, i);
2016
- let a = ht(this.getGroup(), e.config.morph), o = Tt(e.evolve, i, this.reducedMotion || !this.claimed && !r ? 0 : n, this.now(), a), s = `${o.path}|${o.transform}`, c = !1;
2021
+ e.evolve ||= bt(i), (this.reducedMotion || !this.claimed && !r) && xt(e.evolve, i);
2022
+ let a = _t(this.getGroup(), e.config.morph), o = Dt(e.evolve, i, this.reducedMotion || !this.claimed && !r ? 0 : n, this.now(), a), s = `${o.path}|${o.transform}`, c = !1;
2017
2023
  return e.lastPaint !== s && (e.lastPaint = s, e.blob.setAttribute("d", o.path), e.blob.setAttribute("transform", o.transform), c = !0), this.hideTail(e), this.writeContentBlur(e, o.contentBlur), {
2018
2024
  changed: c,
2019
2025
  moving: !this.reducedMotion && this.claimed && o.moving
@@ -2021,8 +2027,8 @@ var Ut = class {
2021
2027
  }
2022
2028
  paintBendEntry(e, t, n, r) {
2023
2029
  let i = this.dynamicTarget(e, t);
2024
- e.bendState ||= at(i), (this.reducedMotion || !this.claimed && !r) && ot(e.bendState, i);
2025
- let a = Ze(this.getGroup(), e.config.bend), o = ct(e.bendState, i, t, this.reducedMotion || !this.claimed && !r ? 0 : n, a), s = !1;
2030
+ e.bendState ||= st(i), (this.reducedMotion || !this.claimed && !r) && ct(e.bendState, i);
2031
+ let a = $e(this.getGroup(), e.config.bend), o = ut(e.bendState, i, t, this.reducedMotion || !this.claimed && !r ? 0 : n, a), s = !1;
2026
2032
  return e.lastPaint !== o.fingerprint && (e.lastPaint = o.fingerprint, e.blob.setAttribute("d", o.path), e.blob.setAttribute("transform", o.transform), s = !0), this.hideTail(e), this.clearContentBlur(e), this.writeBendVars(e, o.bendX, o.bendY), {
2027
2033
  changed: s,
2028
2034
  moving: !this.reducedMotion && this.claimed && o.moving
@@ -2030,15 +2036,15 @@ var Ut = class {
2030
2036
  }
2031
2037
  paintFollowEntry(e, t, n, r, i) {
2032
2038
  let a = this.moveTarget(e, t);
2033
- !i && r && !this.reducedMotion && !this.claimed && (this.ensureClaim() ? this.setMode("animated") : (this.resetMoveEntry(e), e.move = et(a))), e.move ||= et(a), this.reducedMotion && tt(e.move, a);
2034
- let o = this.moveOptions ??= Xe(this.getGroup()), s = rt(e.move, a, t, this.reducedMotion ? 0 : n, o), c = `${s.path}|${s.transform}`, l = !1;
2039
+ !i && r && !this.reducedMotion && !this.claimed && (this.ensureClaim() ? this.setMode("animated") : (this.resetMoveEntry(e), e.move = nt(a))), e.move ||= nt(a), this.reducedMotion && rt(e.move, a);
2040
+ let o = this.moveOptions ??= Qe(this.getGroup()), s = at(e.move, a, t, this.reducedMotion ? 0 : n, o), c = `${s.path}|${s.transform}`, l = !1;
2035
2041
  return e.lastPaint !== c && (e.lastPaint = c, e.blob.setAttribute("d", s.path), e.blob.setAttribute("transform", s.transform), l = !0), this.paintTail(e, s.tail) && (l = !0), {
2036
2042
  changed: l,
2037
2043
  moving: !this.reducedMotion && s.moving && this.claimed
2038
2044
  };
2039
2045
  }
2040
2046
  paintEntry(e, t) {
2041
- let n = t.x + e.current.x + t.w * (1 - e.current.scale) / 2, r = t.y + e.current.y + t.h * (1 - e.current.scale) / 2, i = `translate(${Ht(n)} ${Ht(r)}) scale(${Ht(e.current.scale)})`, a = We(0, 0, t.w, t.h, t.r), o = `${a}|${i}`;
2047
+ let n = t.x + e.current.x + t.w * (1 - e.current.scale) / 2, r = t.y + e.current.y + t.h * (1 - e.current.scale) / 2, i = `translate(${Wt(n)} ${Wt(r)}) scale(${Wt(e.current.scale)})`, a = qe(0, 0, t.w, t.h, t.r), o = `${a}|${i}`;
2042
2048
  return e.lastPaint === o ? !1 : (e.lastPaint = o, e.blob.setAttribute("d", a), e.blob.setAttribute("transform", i), !0);
2043
2049
  }
2044
2050
  loop = (e) => {
@@ -2057,7 +2063,7 @@ var Ut = class {
2057
2063
  for (let t of this.items.values()) {
2058
2064
  let n = e.get(t.id);
2059
2065
  if (!n) continue;
2060
- let r = t.lastBox === null, s = !Vt(t.lastBox, n);
2066
+ let r = t.lastBox === null, s = !Ut(t.lastBox, n);
2061
2067
  r && a.add(t.id), s && o.add(t.id), s && (t.lastBox = n, t.lastPaint = null, i = !0);
2062
2068
  }
2063
2069
  this.updateFeaturePadding();
@@ -2125,18 +2131,18 @@ var Ut = class {
2125
2131
  };
2126
2132
  //#endregion
2127
2133
  //#region src/liquidGooeyShadow.ts
2128
- function Wt(e, t) {
2134
+ function Kt(e, t) {
2129
2135
  let n = [], r = 0, i = "";
2130
2136
  for (let a of e) a === "(" ? r += 1 : a === ")" && --r, r === 0 && (t === "," ? a === "," : /\s/.test(a)) ? (i.trim() && n.push(i.trim()), i = "") : i += a;
2131
2137
  return i.trim() && n.push(i.trim()), n;
2132
2138
  }
2133
- var Gt = /^[+-]?(\d+\.?\d*|\.\d+)(px)?$/;
2134
- function Kt(e) {
2139
+ var qt = /^[+-]?(\d+\.?\d*|\.\d+)(px)?$/;
2140
+ function Jt(e) {
2135
2141
  if (!e || e.trim() === "" || e.trim() === "none") return [];
2136
2142
  let t = [];
2137
- for (let n of Wt(e, ",")) {
2138
- let e = Wt(n, " "), r = e.includes("inset"), i = [], a = [];
2139
- for (let t of e) t !== "inset" && (i.length < 4 && Gt.test(t) ? i.push(parseFloat(t)) : a.push(t));
2143
+ for (let n of Kt(e, ",")) {
2144
+ let e = Kt(n, " "), r = e.includes("inset"), i = [], a = [];
2145
+ for (let t of e) t !== "inset" && (i.length < 4 && qt.test(t) ? i.push(parseFloat(t)) : a.push(t));
2140
2146
  let [o = 0, s = 0, c = 0, l = 0] = i;
2141
2147
  t.push({
2142
2148
  x: o,
@@ -2149,10 +2155,10 @@ function Kt(e) {
2149
2155
  }
2150
2156
  return t;
2151
2157
  }
2152
- function qt(e) {
2158
+ function Yt(e) {
2153
2159
  if (!e || e.trim() === "" || e.trim() === "none") return null;
2154
- let t = Wt(e, " "), n = 0, r = [];
2155
- for (let e of t) e !== "solid" && (n === 0 && Gt.test(e) ? n = parseFloat(e) : r.push(e));
2160
+ let t = Kt(e, " "), n = 0, r = [];
2161
+ for (let e of t) e !== "solid" && (n === 0 && qt.test(e) ? n = parseFloat(e) : r.push(e));
2156
2162
  return {
2157
2163
  width: n,
2158
2164
  color: r.join(" ") || "var(--game-ui-stroke, transparent)"
@@ -2160,7 +2166,7 @@ function qt(e) {
2160
2166
  }
2161
2167
  //#endregion
2162
2168
  //#region src/liquidGooeyImageMelt.tsx
2163
- var Jt = 24, Yt = 500, Xt = 16, Zt = 6, Qt = {
2169
+ var Xt = 24, Zt = 500, Qt = 16, $t = 6, en = {
2164
2170
  blur: 7,
2165
2171
  contrast: 40,
2166
2172
  reach: .8,
@@ -2190,51 +2196,48 @@ var Jt = 24, Yt = 500, Xt = 16, Zt = 6, Qt = {
2190
2196
  sink: .8,
2191
2197
  seamBlur: 12.8
2192
2198
  };
2193
- function $t() {
2194
- return !1;
2195
- }
2196
- function en(e, t = 0, n = 1) {
2199
+ function tn(e, t = 0, n = 1) {
2197
2200
  return Math.min(n, Math.max(t, e));
2198
2201
  }
2199
- function tn(e, t) {
2202
+ function nn(e, t) {
2200
2203
  return e !== void 0 && Number.isFinite(e) ? e : t;
2201
2204
  }
2202
- function nn(e, t, n) {
2205
+ function rn(e, t, n) {
2203
2206
  let r = e?.ownerDocument.defaultView;
2204
2207
  if (!r) return n;
2205
- let i = R[t], a = /^var\((--[\w-]+)\)$/.exec(i)?.[1];
2208
+ let i = L[t], a = /^var\((--[\w-]+)\)$/.exec(i)?.[1];
2206
2209
  if (!a) return n;
2207
2210
  let o = Number.parseFloat(r.getComputedStyle(e).getPropertyValue(a));
2208
2211
  return Number.isFinite(o) ? o : n;
2209
2212
  }
2210
- function rn(e, t = {}) {
2211
- let n = (n, r) => tn(t[n], nn(e, r, Qt[n]));
2213
+ function an(e, t = {}) {
2214
+ let n = (n, r) => nn(t[n], rn(e, r, en[n]));
2212
2215
  return {
2213
2216
  blur: Math.max(0, n("blur", "meltBlur")),
2214
2217
  contrast: Math.max(1, n("contrast", "meltContrast")),
2215
2218
  reach: Math.max(0, n("reach", "meltReach")),
2216
2219
  fade: Math.max(0, n("fade", "meltFade")),
2217
2220
  warp: Math.max(0, n("warp", "meltWarp")),
2218
- mix: en(n("mix", "meltMix")),
2221
+ mix: tn(n("mix", "meltMix")),
2219
2222
  mixBlur: Math.max(0, n("mixBlur", "meltMixBlur")),
2220
2223
  gravity: Math.max(0, n("gravity", "meltGravity")),
2221
2224
  waviness: Math.max(0, n("waviness", "meltWaviness"))
2222
2225
  };
2223
2226
  }
2224
- function an(e, t) {
2227
+ function on(e, t) {
2225
2228
  let n = typeof t == "object" && t ? t : {}, r = (t, r, i) => {
2226
2229
  let a = n[t];
2227
- return tn(typeof a == "number" ? a : void 0, nn(e, r, i));
2228
- }, i = en(typeof t == "number" ? t : r("strength", "dissolveStrength", J.strength));
2230
+ return nn(typeof a == "number" ? a : void 0, rn(e, r, i));
2231
+ }, i = tn(typeof t == "number" ? t : r("strength", "dissolveStrength", J.strength));
2229
2232
  return {
2230
2233
  blur: Math.max(0, r("blur", "dissolveBlur", J.blur)),
2231
2234
  warp: Math.max(0, r("warp", "dissolveWarp", J.warp)),
2232
2235
  pull: Math.max(0, r("pull", "dissolvePull", J.pull)),
2233
2236
  range: Math.max(1, r("range", "dissolveRange", J.range)),
2234
2237
  zone: Math.max(1, r("zone", "dissolveZone", J.zone)),
2235
- mix: en(r("mix", "dissolveMix", J.mix)),
2238
+ mix: tn(r("mix", "dissolveMix", J.mix)),
2236
2239
  gravity: Math.max(0, r("gravity", "dissolveGravity", J.gravity)),
2237
- taper: en(r("taper", "dissolveTaper", J.taper)),
2240
+ taper: tn(r("taper", "dissolveTaper", J.taper)),
2238
2241
  warpFreq: Math.max(.2, r("warpFreq", "dissolveWarpFreq", J.warpFreq)),
2239
2242
  flowSpeed: Math.max(0, r("flowSpeed", "dissolveFlowSpeed", J.flowSpeed)),
2240
2243
  warpStyle: n.warpStyle ?? J.warpStyle,
@@ -2247,13 +2250,13 @@ function an(e, t) {
2247
2250
  seamBlur: Math.max(0, r("seamBlur", "dissolveSeamBlur", J.seamBlur))
2248
2251
  };
2249
2252
  }
2250
- function on(e) {
2253
+ function sn(e) {
2251
2254
  return e ? e instanceof HTMLImageElement ? e : e.querySelector("img") : null;
2252
2255
  }
2253
- function sn(e) {
2256
+ function cn(e) {
2254
2257
  return e && (e.currentSrc || e.src) || null;
2255
2258
  }
2256
- function cn(e) {
2259
+ function ln(e) {
2257
2260
  return {
2258
2261
  maskImage: e.style.getPropertyValue("mask-image"),
2259
2262
  maskPriority: e.style.getPropertyPriority("mask-image"),
@@ -2261,11 +2264,11 @@ function cn(e) {
2261
2264
  webkitMaskPriority: e.style.getPropertyPriority("-webkit-mask-image")
2262
2265
  };
2263
2266
  }
2264
- function ln(e) {
2267
+ function un(e) {
2265
2268
  let t = e.image, n = e.previousMask;
2266
2269
  !t || !n || (n.maskImage ? t.style.setProperty("mask-image", n.maskImage, n.maskPriority) : t.style.removeProperty("mask-image"), n.webkitMaskImage ? t.style.setProperty("-webkit-mask-image", n.webkitMaskImage, n.webkitMaskPriority) : t.style.removeProperty("-webkit-mask-image"));
2267
2270
  }
2268
- function un() {
2271
+ function dn() {
2269
2272
  let e = /* @__PURE__ */ new Set(), t = /* @__PURE__ */ new Set(), n = /* @__PURE__ */ new Set(), r = 0, i = () => n.forEach((e) => e());
2270
2273
  return {
2271
2274
  registerMelt(t) {
@@ -2283,15 +2286,15 @@ function un() {
2283
2286
  let n = {
2284
2287
  ...e,
2285
2288
  id: `dissolve-${++r}`,
2286
- previousMask: e.image ? cn(e.image) : null
2289
+ previousMask: e.image ? ln(e.image) : null
2287
2290
  };
2288
2291
  return t.add(n), i(), {
2289
2292
  update(e) {
2290
- let t = on(n.el);
2291
- t !== n.image && (ln(n), n.image = t, n.previousMask = t ? cn(t) : null), n.opts = an(n.el, e), i();
2293
+ let t = sn(n.el);
2294
+ t !== n.image && (un(n), n.image = t, n.previousMask = t ? ln(t) : null), n.opts = on(n.el, e), i();
2292
2295
  },
2293
2296
  unregister() {
2294
- ln(n), t.delete(n), i();
2297
+ un(n), t.delete(n), i();
2295
2298
  }
2296
2299
  };
2297
2300
  },
@@ -2302,29 +2305,29 @@ function un() {
2302
2305
  dissolveEntries: () => [...t]
2303
2306
  };
2304
2307
  }
2305
- function dn(e, t, n) {
2306
- let r = on(t);
2307
- return !r && $t() && console.warn("[swimmer-ui] `dissolve` needs an <img> inside the item; text and other DOM content stay unchanged."), e.registerDissolve({
2308
+ function fn(e, t, n) {
2309
+ let r = sn(t);
2310
+ return r || console.warn("[swimmer-ui] `dissolve` needs an <img> inside the item; text and other DOM content stay unchanged."), e.registerDissolve({
2308
2311
  el: t,
2309
2312
  image: r,
2310
- opts: an(t, n)
2313
+ opts: on(t, n)
2311
2314
  });
2312
2315
  }
2313
- function fn({ src: e, options: n = {}, registry: r, children: i, forwardedRef: a, className: o, style: s, ...c }) {
2316
+ function pn({ src: e, options: n = {}, registry: r, children: i, forwardedRef: a, className: o, style: s, ...c }) {
2314
2317
  let l = p(null), u = JSON.stringify(n), f = p(!1), m = (e) => {
2315
2318
  l.current = e, typeof a == "function" ? a(e) : a && (a.current = e);
2316
2319
  };
2317
2320
  return d(() => {
2318
- let t = l.current, i = t?.firstElementChild, a = on(i), o = e ?? sn(a);
2321
+ let t = l.current, i = t?.firstElementChild, a = sn(i), o = e ?? cn(a);
2319
2322
  if (!t || !i || !a || !o) {
2320
- $t() && !f.current && (f.current = !0, console.warn("[swimmer-ui] effect=\"melt\" needs an image: pass melt={{ src }} or put an <img> inside the item."));
2323
+ f.current || (f.current = !0, console.warn("[swimmer-ui] effect=\"melt\" needs an image: pass melt={{ src }} or put an <img> inside the item."));
2321
2324
  return;
2322
2325
  }
2323
2326
  return r.registerMelt({
2324
2327
  el: t,
2325
2328
  target: a,
2326
2329
  src: o,
2327
- opts: rn(t, n)
2330
+ opts: an(t, n)
2328
2331
  });
2329
2332
  }, [
2330
2333
  u,
@@ -2338,7 +2341,7 @@ function fn({ src: e, options: n = {}, registry: r, children: i, forwardedRef: a
2338
2341
  children: i
2339
2342
  });
2340
2343
  }
2341
- var pn = {
2344
+ var mn = {
2342
2345
  width: 0,
2343
2346
  height: 0,
2344
2347
  melt: null,
@@ -2348,28 +2351,28 @@ function Y(e, t = 2) {
2348
2351
  let n = 10 ** t;
2349
2352
  return Math.round(e * n) / n;
2350
2353
  }
2351
- function mn(e) {
2352
- let t = en(e);
2354
+ function hn(e) {
2355
+ let t = tn(e);
2353
2356
  return t * t * (3 - 2 * t);
2354
2357
  }
2355
- function hn(e, t) {
2358
+ function gn(e, t) {
2356
2359
  let n = Math.max(t.x - (e.x + e.w), e.x - (t.x + t.w), 0), r = Math.max(t.y - (e.y + e.h), e.y - (t.y + t.h), 0);
2357
2360
  return Math.hypot(n, r);
2358
2361
  }
2359
- function gn(e, t) {
2362
+ function _n(e, t) {
2360
2363
  return {
2361
2364
  x: e.x + e.w < t.x ? (e.x + e.w + t.x) / 2 : t.x + t.w < e.x ? (t.x + t.w + e.x) / 2 : (Math.max(e.x, t.x) + Math.min(e.x + e.w, t.x + t.w)) / 2,
2362
2365
  y: e.y + e.h < t.y ? (e.y + e.h + t.y) / 2 : t.y + t.h < e.y ? (t.y + t.h + e.y) / 2 : (Math.max(e.y, t.y) + Math.min(e.y + e.h, t.y + t.h)) / 2
2363
2366
  };
2364
2367
  }
2365
- function _n(e, t, n) {
2368
+ function vn(e, t, n) {
2366
2369
  let r = e.ownerDocument.defaultView?.getComputedStyle(e).borderTopLeftRadius ?? "";
2367
2370
  return Math.max(0, Math.min(Number.parseFloat(r) || 0, t / 2, n / 2));
2368
2371
  }
2369
- function vn(e) {
2372
+ function yn(e) {
2370
2373
  return e.getBoundingClientRect();
2371
2374
  }
2372
- function yn(e, t) {
2375
+ function bn(e, t) {
2373
2376
  let n = e.getBoundingClientRect();
2374
2377
  return {
2375
2378
  x: n.left - t.left,
@@ -2378,21 +2381,21 @@ function yn(e, t) {
2378
2381
  h: n.height
2379
2382
  };
2380
2383
  }
2381
- function bn(e, t) {
2382
- let n = yn(e, t);
2384
+ function xn(e, t) {
2385
+ let n = bn(e, t);
2383
2386
  return {
2384
2387
  ...n,
2385
- r: _n(e, n.w, n.h)
2388
+ r: vn(e, n.w, n.h)
2386
2389
  };
2387
2390
  }
2388
- function xn(e) {
2391
+ function Sn(e) {
2389
2392
  return `${Y(e.x)}:${Y(e.y)}:${Y(e.w)}:${Y(e.h)}`;
2390
2393
  }
2391
- function Sn(e, t, n) {
2392
- let r = Math.max(1, e.offsetWidth || e.getBoundingClientRect().width), i = Math.max(1, e.offsetHeight || e.getBoundingClientRect().height), a = t ? Math.max(Jt, t.blur * 3, t.fade * 2, t.warp + t.waviness, t.mixBlur * 2, t.gravity * .5) : 0, o = n ? Math.max(Jt, n.blur * 3, n.warp + n.zone, n.gravity * .5, n.seamBlur * 3) : 0, s = Math.ceil(Math.max(a, o, Jt));
2394
+ function Cn(e, t, n) {
2395
+ let r = Math.max(1, e.offsetWidth || e.getBoundingClientRect().width), i = Math.max(1, e.offsetHeight || e.getBoundingClientRect().height), a = t ? Math.max(Xt, t.blur * 3, t.fade * 2, t.warp + t.waviness, t.mixBlur * 2, t.gravity * .5) : 0, o = n ? Math.max(Xt, n.blur * 3, n.warp + n.zone, n.gravity * .5, n.seamBlur * 3) : 0, s = Math.ceil(Math.max(a, o, Xt));
2393
2396
  return (r + s * 2) * (i + s * 2);
2394
2397
  }
2395
- function Cn(e) {
2398
+ function wn(e) {
2396
2399
  let t = e[0]?.opts;
2397
2400
  return t ? e.slice(1).reduce((e, t) => ({
2398
2401
  ...e,
@@ -2403,25 +2406,25 @@ function Cn(e) {
2403
2406
  seamBlur: Math.max(e.seamBlur, t.opts.seamBlur)
2404
2407
  }), { ...t }) : null;
2405
2408
  }
2406
- function wn(e, t, n, r, i, a, o, s, c) {
2409
+ function Tn(e, t, n, r, i, a, o, s, c) {
2407
2410
  let l = Math.atan2(r, n) * 180 / Math.PI, u = Math.max(0, (s - 1) * Math.max(8, 2 * i)), d = Math.min(2.2, (Math.max(0, o) + u) / Math.max(8, 2 * i)) * (.5 + c), f = 1 + d, p = 1 / (1 + d * .35), m = e - n * (i + a), h = t - r * (i + a);
2408
2411
  return `translate(${Y(m)} ${Y(h)}) rotate(${Y(l)}) scale(${Y(f, 3)} ${Y(p, 3)}) rotate(${-Y(l)}) translate(${Y(-m)} ${Y(-h)})`;
2409
2412
  }
2410
- function Tn(e, t, n, r, i, a) {
2413
+ function En(e, t, n, r, i, a) {
2411
2414
  let o = t - e.x, s = n - e.y;
2412
2415
  if (Math.hypot(Math.max(e.x - t, t - (e.x + e.w), 0), Math.max(e.y - n, n - (e.y + e.h), 0)) > r + 2) return null;
2413
2416
  let c = Math.min(e.w, e.h) / 2, l = Math.min(Math.max(r, a * .75), c), u = Y(Math.max(0, 1 - Math.min(i, a) * 2.2), 2), d = Y((1 + 2 * u) / 3, 2), f = Math.max(Math.hypot(o, s), Math.hypot(o - e.w, s), Math.hypot(o, s - e.h), Math.hypot(o - e.w, s - e.h)) + 2;
2414
2417
  return `radial-gradient(circle at ${Y(o)}px ${Y(s)}px, rgba(255,255,255,${u}) ${Y(l * .2)}px, rgba(255,255,255,${d}) ${Y(l * .45)}px, #fff ${Y(l * .78)}px, #fff ${Y(f)}px)`;
2415
2418
  }
2416
- function En(e) {
2419
+ function Dn(e) {
2417
2420
  if (e < .002) return "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1";
2418
2421
  let t = Y(1 + 4 * e, 3);
2419
2422
  return `0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ${t} 0 0 0 ${Y(1 - t * (.38 + .12 * e), 3)}`;
2420
2423
  }
2421
- function Dn(e) {
2424
+ function On(e) {
2422
2425
  return e.replace(/[^a-zA-Z0-9_-]/g, "");
2423
2426
  }
2424
- var On = class {
2427
+ var kn = class {
2425
2428
  registry;
2426
2429
  getGroup;
2427
2430
  onState;
@@ -2453,7 +2456,7 @@ var On = class {
2453
2456
  if (!this.disposed) {
2454
2457
  this.disposed = !0, this.raf && cancelAnimationFrame(this.raf), this.raf = 0, this.awake = !1, this.resizeObserver?.disconnect(), this.mutationObserver?.disconnect(), this.removeListeners.forEach((e) => e()), this.removeListeners.length = 0;
2455
2458
  for (let e of this.registry.entries()) this.setMeltPainted(e, !1);
2456
- for (let e of this.registry.dissolveEntries()) ln(e);
2459
+ for (let e of this.registry.dissolveEntries()) un(e);
2457
2460
  this.releaseClaim(), this.observed.clear();
2458
2461
  }
2459
2462
  }
@@ -2467,7 +2470,7 @@ var On = class {
2467
2470
  let t = /* @__PURE__ */ new Set(), n = (e) => {
2468
2471
  e && (t.add(e), this.observed.has(e) || this.resizeObserver?.observe(e));
2469
2472
  };
2470
- for (let e of this.registry.entries()) n(e.el), n(e.target), n(on(e.target));
2473
+ for (let e of this.registry.entries()) n(e.el), n(e.target), n(sn(e.target));
2471
2474
  for (let e of this.registry.dissolveEntries()) n(e.el), n(e.image);
2472
2475
  for (let e of this.observed) t.has(e) || this.resizeObserver?.unobserve(e);
2473
2476
  this.observed.clear(), t.forEach((e) => this.observed.add(e)), !this.mutationObserver && typeof MutationObserver < "u" && (this.mutationObserver = new MutationObserver((e) => {
@@ -2503,14 +2506,14 @@ var On = class {
2503
2506
  e.painted !== t && (e.painted = t, e.target.style.opacity = t ? "0" : e.previousOpacity);
2504
2507
  }
2505
2508
  releaseClaim() {
2506
- this.claimed &&= (je(), !1);
2509
+ this.claimed &&= (Me(), !1);
2507
2510
  }
2508
2511
  ensureClaim(e, t, n) {
2509
2512
  if (this.claimed) return !0;
2510
- if (!Ae(Sn(e, t, n))) {
2511
- if (!this.budgetWarningEmitted && $t()) {
2513
+ if (!je(Cn(e, t, n))) {
2514
+ if (!this.budgetWarningEmitted) {
2512
2515
  this.budgetWarningEmitted = !0;
2513
- let e = Oe(), t = e.activeGroups >= e.maxAnimatedGroups ? "the active-group limit is reached" : "the filter-area limit is exceeded";
2516
+ let e = ke(), t = e.activeGroups >= e.maxAnimatedGroups ? "the active-group limit is reached" : "the filter-area limit is exceeded";
2514
2517
  console.warn(`LiquidGroup: the Melt/dissolve image filter budget is insufficient (${t}); degrading to crisp imagery for this group.`);
2515
2518
  }
2516
2519
  return !1;
@@ -2521,7 +2524,7 @@ var On = class {
2521
2524
  if (this.raf = 0, this.disposed) return;
2522
2525
  let t = this.registry.entries(), n = this.registry.dissolveEntries();
2523
2526
  if (t.length === 0 && n.length === 0) {
2524
- this.awake = !1, this.lastNow = 0, this.lastActivity = 0, this.meltPairKey = "", this.meltProximity = 0, this.lastStateKey && (this.lastStateKey = "", this.onState(pn)), this.releaseClaim();
2527
+ this.awake = !1, this.lastNow = 0, this.lastActivity = 0, this.meltPairKey = "", this.meltProximity = 0, this.lastStateKey && (this.lastStateKey = "", this.onState(mn)), this.releaseClaim();
2525
2528
  return;
2526
2529
  }
2527
2530
  let r = this.getGroup();
@@ -2531,23 +2534,23 @@ var On = class {
2531
2534
  }
2532
2535
  let i = this.lastNow ? Math.min(.25, Math.max(1 / 240, (e - this.lastNow) / 1e3)) : 1 / 60;
2533
2536
  this.lastNow = e;
2534
- let a = vn(r), o = /* @__PURE__ */ new Map();
2535
- for (let e of r.querySelectorAll(".game-ui-liquid-item")) e.closest(".game-ui-liquid-group") === r && o.set(e, yn(e, a));
2537
+ let a = yn(r), o = /* @__PURE__ */ new Map();
2538
+ for (let e of r.querySelectorAll(".game-ui-liquid-item")) e.closest(".game-ui-liquid-group") === r && o.set(e, bn(e, a));
2536
2539
  let s = t.slice(0, 2), c = s.map((e) => {
2537
- let t = o.get(e.el) ?? yn(e.el, a), n = sn(on(e.target));
2540
+ let t = o.get(e.el) ?? bn(e.el, a), n = cn(sn(e.target));
2538
2541
  return n && (e.src = n), {
2539
2542
  ...t,
2540
- r: _n(e.target, t.w, t.h)
2543
+ r: vn(e.target, t.w, t.h)
2541
2544
  };
2542
2545
  }), l = s.length === 2 && c.every((e) => e.w > 0 && e.h > 0), u = l ? s[0]?.opts ?? null : null, d = l ? `${s[0]?.id}|${s[1]?.id}` : "";
2543
2546
  d !== this.meltPairKey && (this.meltPairKey = d, this.meltProximity = 0);
2544
- let f = l && c[0] && c[1] ? mn(1 - hn(c[0], c[1]) / Math.max(8, u.blur * 2.6)) : 0;
2547
+ let f = l && c[0] && c[1] ? hn(1 - gn(c[0], c[1]) / Math.max(8, u.blur * 2.6)) : 0;
2545
2548
  this.meltProximity += (f - this.meltProximity) * (1 - Math.exp(-14 * i)), Math.abs(this.meltProximity - f) < .004 && (this.meltProximity = f);
2546
- let p = this.computeDissolves(n, o, a, i), m = l, h = p.visuals.length > 0, g = m || h, _ = Cn(n);
2549
+ let p = this.computeDissolves(n, o, a, i), m = l, h = p.visuals.length > 0, g = m || h, _ = wn(n);
2547
2550
  if (g && !this.ensureClaim(r, u, _)) {
2548
2551
  for (let e of t) this.setMeltPainted(e, !1);
2549
- for (let e of n) ln(e);
2550
- this.onState(pn), this.lastStateKey = "", this.awake = !1, this.lastNow = 0;
2552
+ for (let e of n) un(e);
2553
+ this.onState(mn), this.lastStateKey = "", this.awake = !1, this.lastNow = 0;
2551
2554
  return;
2552
2555
  }
2553
2556
  if (m) for (let [e, n] of t.entries()) this.setMeltPainted(n, e < 2);
@@ -2564,14 +2567,14 @@ var On = class {
2564
2567
  srcA: s[0].src,
2565
2568
  srcB: s[1].src,
2566
2569
  opts: s[0].opts,
2567
- prox: en(this.meltProximity)
2570
+ prox: tn(this.meltProximity)
2568
2571
  } : null,
2569
2572
  dissolves: p.visuals
2570
2573
  }, y = this.renderStateKey(v), b = y !== this.lastStateKey;
2571
- b && (this.lastStateKey = y, this.onState(v), this.lastActivity = e), b || p.pending || e - this.lastActivity < Yt ? (this.awake = !0, this.raf = requestAnimationFrame(this.loop)) : (this.awake = !1, this.lastNow = 0);
2574
+ b && (this.lastStateKey = y, this.onState(v), this.lastActivity = e), b || p.pending || e - this.lastActivity < Zt ? (this.awake = !0, this.raf = requestAnimationFrame(this.loop)) : (this.awake = !1, this.lastNow = 0);
2572
2575
  };
2573
2576
  renderStateKey(e) {
2574
- let t = e.melt ? `${e.melt.srcA}|${e.melt.srcB}|${xn(e.melt.a)}|${xn(e.melt.b)}|${Y(e.melt.prox, 3)}` : "", n = e.dissolves.map((e) => `${e.id}|${e.src}|${e.neighborSrc ?? ""}|${xn(e.image)}|${Y(e.cx)}|${Y(e.cy)}|${Y(e.d, 2)}|${Y(e.opacity, 3)}|${Y(e.phase, 3)}|${e.mask ?? ""}`).join(";");
2577
+ let t = e.melt ? `${e.melt.srcA}|${e.melt.srcB}|${Sn(e.melt.a)}|${Sn(e.melt.b)}|${Y(e.melt.prox, 3)}` : "", n = e.dissolves.map((e) => `${e.id}|${e.src}|${e.neighborSrc ?? ""}|${Sn(e.image)}|${Y(e.cx)}|${Y(e.cy)}|${Y(e.d, 2)}|${Y(e.opacity, 3)}|${Y(e.phase, 3)}|${e.mask ?? ""}`).join(";");
2575
2578
  return `${e.width}x${e.height}|${t}|${n}`;
2576
2579
  }
2577
2580
  computeDissolves(e, t, n, r) {
@@ -2579,7 +2582,7 @@ var On = class {
2579
2582
  for (let s of e) {
2580
2583
  let e = t.get(s.el), c = s.image;
2581
2584
  if (!e || !c) {
2582
- s.image && ln(s);
2585
+ s.image && un(s);
2583
2586
  continue;
2584
2587
  }
2585
2588
  let l = this.motions.get(s.id) ?? {
@@ -2595,7 +2598,7 @@ var On = class {
2595
2598
  let u = Infinity, d = null, f = null;
2596
2599
  for (let [t, n] of o) {
2597
2600
  if (t === s.el) continue;
2598
- let r = hn(e, n);
2601
+ let r = gn(e, n);
2599
2602
  r < u && (u = r, d = n, f = t);
2600
2603
  }
2601
2604
  let p = 0, m = 0;
@@ -2605,11 +2608,11 @@ var On = class {
2605
2608
  }
2606
2609
  let h = 0;
2607
2610
  if (d && u < s.opts.range && s.opts.active) {
2608
- let e = mn((1 - u / s.opts.range) / .65), t = mn((p - s.opts.sink * .2) / Math.max(.01, s.opts.sink * .8));
2611
+ let e = hn((1 - u / s.opts.range) / .65), t = hn((p - s.opts.sink * .2) / Math.max(.01, s.opts.sink * .8));
2609
2612
  h = e ** 1.25 * s.opts.strength * (1 - t);
2610
2613
  }
2611
- if (h >= l.fade) l.fade += (h - l.fade) * Math.min(1, r * Xt), l.release = null;
2612
- else if (h > .02) l.fade += (h - l.fade) * Math.min(1, r * Zt), l.release = null;
2614
+ if (h >= l.fade) l.fade += (h - l.fade) * Math.min(1, r * Qt), l.release = null;
2615
+ else if (h > .02) l.fade += (h - l.fade) * Math.min(1, r * $t), l.release = null;
2613
2616
  else if (l.fade > .001 || l.release) {
2614
2617
  l.release ||= {
2615
2618
  from: l.fade,
@@ -2619,26 +2622,26 @@ var On = class {
2619
2622
  l.fade = l.release.from * (1 - t) ** 2;
2620
2623
  } else l.fade = 0;
2621
2624
  if (l.fade <= .001) {
2622
- l.fade = 0, ln(s);
2625
+ l.fade = 0, un(s);
2623
2626
  continue;
2624
2627
  }
2625
2628
  let g = d ?? l.contact;
2626
2629
  if (!g) continue;
2627
- let _ = gn(e, g);
2630
+ let _ = _n(e, g);
2628
2631
  l.contact = { ...g };
2629
- let v = mn(l.release ? l.release.from * (.55 + .45 * (1 - Math.min(1, l.release.elapsed / Math.max(40, s.opts.fadeMs)))) : l.fade), y = l.release ? Math.min(1, l.release.elapsed / Math.max(40, s.opts.fadeMs)) : 0;
2630
- l.opacity = l.release ? (1 - y) ** 2 : l.opacity + (1 - l.opacity) * Math.min(1, r * Xt);
2632
+ let v = hn(l.release ? l.release.from * (.55 + .45 * (1 - Math.min(1, l.release.elapsed / Math.max(40, s.opts.fadeMs)))) : l.fade), y = l.release ? Math.min(1, l.release.elapsed / Math.max(40, s.opts.fadeMs)) : 0;
2633
+ l.opacity = l.release ? (1 - y) ** 2 : l.opacity + (1 - l.opacity) * Math.min(1, r * Qt);
2631
2634
  let b = Math.min(Math.min(e.w, e.h) * .9, s.opts.zone * (.7 + .6 * v)), x = l.previous, S = x ? Math.hypot(e.x - x.x, e.y - x.y) / Math.max(.001, r) : 0;
2632
2635
  l.previous = {
2633
2636
  x: e.x,
2634
2637
  y: e.y
2635
2638
  }, l.phase += Math.min(r, 1 / 24) * s.opts.flowSpeed * .12 * Math.min(1, S / 40);
2636
- let C = (g.x + g.w / 2 - _.x) / Math.max(.001, Math.hypot(g.x + g.w / 2 - _.x, g.y + g.h / 2 - _.y)), w = (g.y + g.h / 2 - _.y) / Math.max(.001, Math.hypot(g.x + g.w / 2 - _.x, g.y + g.h / 2 - _.y)), T = 1 + Math.min(1.8, u / Math.max(8, 2 * b)), E = bn(c, n), D = d && u < Math.max(10, s.opts.blur * 2.5) ? mn(1 - u / Math.max(10, s.opts.blur * 2.5)) : l.fade, O = Tn(E, _.x, _.y, b, l.fade, Math.max(D, m * .75));
2637
- O ? (c.style.setProperty("mask-image", O), c.style.setProperty("-webkit-mask-image", O)) : ln(s);
2638
- let ee = Math.atan2(w, C) * 180 / Math.PI, k = {
2639
+ let C = (g.x + g.w / 2 - _.x) / Math.max(.001, Math.hypot(g.x + g.w / 2 - _.x, g.y + g.h / 2 - _.y)), w = (g.y + g.h / 2 - _.y) / Math.max(.001, Math.hypot(g.x + g.w / 2 - _.x, g.y + g.h / 2 - _.y)), T = 1 + Math.min(1.8, u / Math.max(8, 2 * b)), E = xn(c, n), D = d && u < Math.max(10, s.opts.blur * 2.5) ? hn(1 - u / Math.max(10, s.opts.blur * 2.5)) : l.fade, O = En(E, _.x, _.y, b, l.fade, Math.max(D, m * .75));
2640
+ O ? (c.style.setProperty("mask-image", O), c.style.setProperty("-webkit-mask-image", O)) : un(s);
2641
+ let k = Math.atan2(w, C) * 180 / Math.PI, A = {
2639
2642
  id: s.id,
2640
- src: sn(c) ?? c.src,
2641
- neighborSrc: f ? sn(on(f)) : null,
2643
+ src: cn(c) ?? c.src,
2644
+ neighborSrc: f ? cn(sn(f)) : null,
2642
2645
  image: E,
2643
2646
  cx: _.x,
2644
2647
  cy: _.y,
@@ -2646,7 +2649,7 @@ var On = class {
2646
2649
  opacity: l.opacity,
2647
2650
  phase: l.phase,
2648
2651
  structure: v,
2649
- angle: ee,
2652
+ angle: k,
2650
2653
  gravityX: C,
2651
2654
  gravityY: w,
2652
2655
  elongation: T,
@@ -2655,7 +2658,7 @@ var On = class {
2655
2658
  options: s.opts,
2656
2659
  mask: O
2657
2660
  };
2658
- i.push(k), a = a || !!l.release || Math.abs(h - l.fade) > .004 || l.previous === null;
2661
+ i.push(A), a = a || !!l.release || Math.abs(h - l.fade) > .004 || l.previous === null;
2659
2662
  }
2660
2663
  return {
2661
2664
  visuals: i,
@@ -2663,8 +2666,8 @@ var On = class {
2663
2666
  };
2664
2667
  }
2665
2668
  };
2666
- function kn({ a: r, b: i, srcA: a, srcB: o, opts: s, width: c, height: l, prox: d }) {
2667
- let f = `lgm-${Dn(u())}`, { blur: p, contrast: m, reach: h, fade: g, warp: _, mix: v, mixBlur: y, gravity: b, waviness: x } = s, S = {
2669
+ function An({ a: r, b: i, srcA: a, srcB: o, opts: s, width: c, height: l, prox: d }) {
2670
+ let f = `lgm-${On(u())}`, { blur: p, contrast: m, reach: h, fade: g, warp: _, mix: v, mixBlur: y, gravity: b, waviness: x } = s, S = {
2668
2671
  x: r.x + r.w / 2,
2669
2672
  y: r.y + r.h / 2
2670
2673
  }, C = {
@@ -2673,7 +2676,7 @@ function kn({ a: r, b: i, srcA: a, srcB: o, opts: s, width: c, height: l, prox:
2673
2676
  }, w = Math.hypot(r.w, r.h) / 2 * h * d, T = Math.hypot(i.w, i.h) / 2 * h * d, E = {
2674
2677
  x: (S.x + C.x) / 2,
2675
2678
  y: (S.y + C.y) / 2
2676
- }, D = C.x - S.x, O = C.y - S.y, ee = Math.max(.001, Math.hypot(D, O)), k = -O / ee, A = D / ee, te = Math.max(0, (r.w + i.w) / 2 - Math.abs(D)), j = Math.max(0, (r.h + i.h) / 2 - Math.abs(O)), M = .5 * (te * Math.abs(k) + j * Math.abs(A)) * d, N = Math.round(Math.atan2(A, k) * 180 / Math.PI), ne = Math.round(v * d * 100) / 100, re = Math.round((2 + (p - 2) * d) * 10) / 10, ie = Math.round(_ * d * 10) / 10, ae = Math.round(re * 2.5 * 10) / 10, oe = Math.round((.4 + (2 + p * .8) * d) * 10) / 10, se = `translate(${r.x}, ${r.y})`, ce = `translate(${i.x}, ${i.y})`;
2679
+ }, D = C.x - S.x, O = C.y - S.y, k = Math.max(.001, Math.hypot(D, O)), A = -O / k, ee = D / k, te = Math.max(0, (r.w + i.w) / 2 - Math.abs(D)), j = Math.max(0, (r.h + i.h) / 2 - Math.abs(O)), M = .5 * (te * Math.abs(A) + j * Math.abs(ee)) * d, N = Math.round(Math.atan2(ee, A) * 180 / Math.PI), ne = Math.round(v * d * 100) / 100, re = Math.round((2 + (p - 2) * d) * 10) / 10, ie = Math.round(_ * d * 10) / 10, ae = Math.round(re * 2.5 * 10) / 10, oe = Math.round((.4 + (2 + p * .8) * d) * 10) / 10, se = `translate(${r.x}, ${r.y})`, ce = `translate(${i.x}, ${i.y})`;
2677
2680
  return /* @__PURE__ */ n("svg", {
2678
2681
  "aria-hidden": "true",
2679
2682
  focusable: "false",
@@ -3040,10 +3043,10 @@ function kn({ a: r, b: i, srcA: a, srcB: o, opts: s, width: c, height: l, prox:
3040
3043
  ]
3041
3044
  });
3042
3045
  }
3043
- function An({ visuals: r }) {
3044
- let i = `lgd-${Dn(u())}`;
3046
+ function jn({ visuals: r }) {
3047
+ let i = `lgd-${On(u())}`;
3045
3048
  return /* @__PURE__ */ t(e, { children: r.map((e) => {
3046
- let r = `${i}-${Dn(e.id)}`, a = `${r}-pattern`, o = `${r}-mask`, s = r + "-neighbor", c = e.image, l = e.elongation > 1.001 ? `translate(${Y(e.cx)} ${Y(e.cy)}) rotate(${Y(e.angle)}) scale(${Y(e.elongation, 3)} 1) rotate(${-Y(e.angle)}) translate(${Y(-e.cx)} ${Y(-e.cy)})` : void 0, u = e.d * e.elongation + e.options.blur * 2.5 + e.options.warp + e.options.gravity * .5 + 8, d = Math.min(.3, Math.max(.01, e.options.warpFreq / (e.options.zone * 1.1))), f = wn(e.cx, e.cy, e.gravityX, e.gravityY, e.d, e.options.pull * e.structure, e.options.gravity * e.structure, e.elongation, e.options.taper);
3049
+ let r = `${i}-${On(e.id)}`, a = `${r}-pattern`, o = `${r}-mask`, s = r + "-neighbor", c = e.image, l = e.elongation > 1.001 ? `translate(${Y(e.cx)} ${Y(e.cy)}) rotate(${Y(e.angle)}) scale(${Y(e.elongation, 3)} 1) rotate(${-Y(e.angle)}) translate(${Y(-e.cx)} ${Y(-e.cy)})` : void 0, u = e.d * e.elongation + e.options.blur * 2.5 + e.options.warp + e.options.gravity * .5 + 8, d = Math.min(.3, Math.max(.01, e.options.warpFreq / (e.options.zone * 1.1))), f = Tn(e.cx, e.cy, e.gravityX, e.gravityY, e.d, e.options.pull * e.structure, e.options.gravity * e.structure, e.elongation, e.options.taper);
3047
3050
  return /* @__PURE__ */ n("g", {
3048
3051
  "data-liquid-gooey-dissolve": "",
3049
3052
  children: [
@@ -3175,7 +3178,7 @@ function An({ visuals: r }) {
3175
3178
  /* @__PURE__ */ t("feColorMatrix", {
3176
3179
  in: "erosion-noise",
3177
3180
  type: "matrix",
3178
- values: En(c),
3181
+ values: Dn(c),
3179
3182
  result: "erosion"
3180
3183
  }),
3181
3184
  /* @__PURE__ */ t("feComposite", {
@@ -3247,10 +3250,10 @@ function An({ visuals: r }) {
3247
3250
  }, e.id);
3248
3251
  }) });
3249
3252
  }
3250
- function jn({ registry: e, getGroup: r }) {
3251
- let [i, a] = m(pn);
3253
+ function Mn({ registry: e, getGroup: r }) {
3254
+ let [i, a] = m(mn);
3252
3255
  return d(() => {
3253
- let t = new On({
3256
+ let t = new kn({
3254
3257
  registry: e,
3255
3258
  getGroup: r,
3256
3259
  onState: a
@@ -3272,42 +3275,42 @@ function jn({ registry: e, getGroup: r }) {
3272
3275
  overflow: "visible",
3273
3276
  pointerEvents: "none"
3274
3277
  },
3275
- children: [i.melt ? /* @__PURE__ */ t(kn, {
3278
+ children: [i.melt ? /* @__PURE__ */ t(An, {
3276
3279
  ...i.melt,
3277
3280
  width: i.width,
3278
3281
  height: i.height
3279
- }) : null, i.dissolves.length > 0 ? /* @__PURE__ */ t(An, { visuals: i.dissolves }) : null]
3282
+ }) : null, i.dissolves.length > 0 ? /* @__PURE__ */ t(jn, { visuals: i.dissolves }) : null]
3280
3283
  });
3281
3284
  }
3282
3285
  //#endregion
3283
3286
  //#region src/LiquidGroup.tsx
3284
- var Mn = i(null);
3285
- function Nn() {
3286
- let e = c(Mn);
3287
+ var Nn = i(null);
3288
+ function Pn() {
3289
+ let e = c(Nn);
3287
3290
  if (!e) throw Error("<LiquidGroup.Item> must be rendered inside <LiquidGroup>.");
3288
3291
  return e;
3289
3292
  }
3290
- function Pn(e) {
3293
+ function Fn(e) {
3291
3294
  return e.replace(/[^a-zA-Z0-9_-]/g, "");
3292
3295
  }
3293
- function Fn(e, t) {
3296
+ function In(e, t) {
3294
3297
  return Number.isFinite(e) ? e : t;
3295
3298
  }
3296
- function In(e, t) {
3299
+ function Ln(e, t) {
3297
3300
  if (!e) return e;
3298
3301
  let n = /^var\((--[\w-]+)\)$/.exec(e.trim());
3299
3302
  if (!n || !t) return e;
3300
3303
  let r = t.ownerDocument.defaultView;
3301
3304
  return r && r.getComputedStyle(t).getPropertyValue(n[1] ?? "").trim() || e;
3302
3305
  }
3303
- function Ln(e, t, n) {
3304
- let r = In(e, t), i = Number.parseFloat(r ?? "");
3306
+ function Rn(e, t, n) {
3307
+ let r = Ln(e, t), i = Number.parseFloat(r ?? "");
3305
3308
  return Number.isFinite(i) ? i : n;
3306
3309
  }
3307
- function Rn(...e) {
3310
+ function zn(...e) {
3308
3311
  return e.filter(Boolean).join(" ") || void 0;
3309
3312
  }
3310
- function zn(e) {
3313
+ function Bn(e) {
3311
3314
  let t = { ...e };
3312
3315
  for (let e of [
3313
3316
  "children",
@@ -3326,45 +3329,45 @@ function zn(e) {
3326
3329
  ]) delete t[e];
3327
3330
  return t;
3328
3331
  }
3329
- function Bn() {
3332
+ function Vn() {
3330
3333
  return typeof window > "u" || typeof window.matchMedia != "function" ? null : window.matchMedia("(prefers-reduced-motion: reduce)");
3331
3334
  }
3332
- function Vn() {
3333
- let [e, t] = m(() => Bn()?.matches ?? !1);
3335
+ function Hn() {
3336
+ let [e, t] = m(() => Vn()?.matches ?? !1);
3334
3337
  return l(() => {
3335
- let e = Bn();
3338
+ let e = Vn();
3336
3339
  if (!e) return;
3337
3340
  let n = (e) => t(e.matches);
3338
3341
  return t(e.matches), e.addEventListener("change", n), () => e.removeEventListener("change", n);
3339
3342
  }, []), e;
3340
3343
  }
3341
- function Hn(e) {
3344
+ function Un(e) {
3342
3345
  return e.reduce((e, t) => Math.max(e, Math.max(Math.abs(t.x), Math.abs(t.y)) + t.blur * 1.5 + Math.max(0, t.spread)), 0);
3343
3346
  }
3344
- var Un = a(function({ blur: e = 6, contrast: r = 18, fill: i = "var(--game-ui-surface, var(--game-ui-panel-strong))", filterPadding: a = 24, shadow: o, stroke: c, waviness: h, wavinessFreq: g, wavinessClamp: _, motion: v = "auto", className: y, style: b, children: x, ...S }, C) {
3347
+ var Wn = a(function({ blur: e = 6, contrast: r = 18, fill: i = "var(--game-ui-surface, var(--game-ui-panel-strong))", filterPadding: a = 24, shadow: o, stroke: c, waviness: h, wavinessFreq: g, wavinessClamp: _, motion: v = "auto", className: y, style: b, children: x, ...S }, C) {
3345
3348
  let w = p(null), [T, E] = m(null), [D, O] = m({
3346
3349
  w: 0,
3347
3350
  h: 0
3348
- }), [ee, k] = m({
3349
- waviness: Pe.waviness,
3350
- wavinessFreq: Pe.wavinessFreq
3351
- }), [A, te] = m(0), j = p(0), M = Vn(), N = v === "reduced" || M, [ne, re] = m(N ? "reduced" : "static"), ie = Math.max(0, Fn(e, 6)), ae = Math.max(1, Fn(r, 18)), oe = Math.max(0, Fn(a, 24)), se = Math.max(0, Fn(h ?? ee.waviness, Pe.waviness)), ce = _ !== !1 && Math.max(0, Fn(_ ?? .3, ze)), le = Be(se, D.w > 0 && D.h > 0 ? Math.min(D.w, D.h) : 0, ce), ue = Math.max(0, Fn(g ?? ee.wavinessFreq, Pe.wavinessFreq)), P = In(o, w.current), de = In(c, w.current), fe = f(() => Kt(P), [P]), pe = f(() => qt(de), [de]), me = Math.ceil(ie * 3 + oe + Hn(fe) + (pe ? pe.width : 0) + le + (le > 0 ? Math.ceil(Ne * 3) : 0)), he = p(me);
3351
+ }), [k, A] = m({
3352
+ waviness: Fe.waviness,
3353
+ wavinessFreq: Fe.wavinessFreq
3354
+ }), [ee, te] = m(0), j = p(0), M = Hn(), N = v === "reduced" || M, [ne, re] = m(N ? "reduced" : "static"), ie = Math.max(0, In(e, 6)), ae = Math.max(1, In(r, 18)), oe = Math.max(0, In(a, 24)), se = Math.max(0, In(h ?? k.waviness, Fe.waviness)), ce = _ !== !1 && Math.max(0, In(_ ?? .3, He)), le = Ue(se, D.w > 0 && D.h > 0 ? Math.min(D.w, D.h) : 0, ce), ue = Math.max(0, In(g ?? k.wavinessFreq, Fe.wavinessFreq)), P = Ln(o, w.current), de = Ln(c, w.current), fe = f(() => Jt(P), [P]), pe = f(() => Yt(de), [de]), me = Math.ceil(ie * 3 + oe + Un(fe) + (pe ? pe.width : 0) + le + (le > 0 ? Math.ceil(Pe * 3) : 0)), he = p(me);
3352
3355
  he.current = me;
3353
- let F = Math.ceil(me + A), ge = p(F);
3356
+ let F = Math.ceil(me + ee), ge = p(F);
3354
3357
  ge.current = F;
3355
- let _e = `liquid-gooey-${Pn(u())}`, I = s((e) => {
3358
+ let _e = `liquid-gooey-${Fn(u())}`, I = s((e) => {
3356
3359
  w.current = e, typeof C == "function" ? C(e) : C && (C.current = e);
3357
- }, [C]), L = s((e) => E(e), []);
3360
+ }, [C]), ve = s((e) => E(e), []);
3358
3361
  d(() => {
3359
3362
  let e = w.current;
3360
3363
  if (!e) return;
3361
3364
  let t = {
3362
- waviness: Math.max(0, h === void 0 ? Ln(R.waviness, e, Pe.waviness) : Fn(h, Pe.waviness)),
3363
- wavinessFreq: Math.max(0, g === void 0 ? Ln(R.wavinessFreq, e, Pe.wavinessFreq) : Fn(g, Pe.wavinessFreq))
3365
+ waviness: Math.max(0, h === void 0 ? Rn(L.waviness, e, Fe.waviness) : In(h, Fe.waviness)),
3366
+ wavinessFreq: Math.max(0, g === void 0 ? Rn(L.wavinessFreq, e, Fe.wavinessFreq) : In(g, Fe.wavinessFreq))
3364
3367
  };
3365
- k((e) => e.waviness === t.waviness && e.wavinessFreq === t.wavinessFreq ? e : t);
3368
+ A((e) => e.waviness === t.waviness && e.wavinessFreq === t.wavinessFreq ? e : t);
3366
3369
  }, [h, g]);
3367
- let z = f(() => new Ut({
3370
+ let R = f(() => new Gt({
3368
3371
  getGroup: () => w.current,
3369
3372
  getFilterArea: () => {
3370
3373
  let e = w.current;
@@ -3375,7 +3378,7 @@ var Un = a(function({ blur: e = 6, contrast: r = 18, fill: i = "var(--game-ui-su
3375
3378
  j.current = e, te((t) => Math.abs(t - e) < .5 ? t : e);
3376
3379
  },
3377
3380
  follow: v === "follow"
3378
- }), [v]), B = f(() => un(), []);
3381
+ }), [v]), z = f(() => dn(), []);
3379
3382
  d(() => {
3380
3383
  let e = w.current;
3381
3384
  if (!e) return;
@@ -3384,22 +3387,22 @@ var Un = a(function({ blur: e = 6, contrast: r = 18, fill: i = "var(--game-ui-su
3384
3387
  w: e.offsetWidth,
3385
3388
  h: e.offsetHeight
3386
3389
  };
3387
- O((e) => e.w === t.w && e.h === t.h ? e : t), z.setFilterArea((t.w + ge.current * 2) * (t.h + ge.current * 2));
3390
+ O((e) => e.w === t.w && e.h === t.h ? e : t), R.setFilterArea((t.w + ge.current * 2) * (t.h + ge.current * 2));
3388
3391
  };
3389
3392
  if (t(), typeof ResizeObserver > "u") return;
3390
3393
  let n = new ResizeObserver(t);
3391
3394
  return n.observe(e), () => n.disconnect();
3392
- }, [z, F]), l(() => {
3393
- z.setReducedMotion(N);
3394
- }, [z, N]), l(() => () => z.dispose(), [z]);
3395
- let V = Math.max(1, D.w), ve = Math.max(1, D.h), H = Rn("game-ui-liquid-group", y);
3395
+ }, [R, F]), l(() => {
3396
+ R.setReducedMotion(N);
3397
+ }, [R, N]), l(() => () => R.dispose(), [R]);
3398
+ let ye = Math.max(1, D.w), be = Math.max(1, D.h), B = zn("game-ui-liquid-group", y);
3396
3399
  return /* @__PURE__ */ n("div", {
3397
3400
  ...S,
3398
3401
  ref: I,
3399
- className: H,
3402
+ className: B,
3400
3403
  "data-liquid-filter-area": Math.round((D.w + F * 2) * (D.h + F * 2)),
3401
- "data-liquid-filter-budget": we,
3402
- "data-liquid-feature-padding": Math.round(A * 10) / 10,
3404
+ "data-liquid-filter-budget": Te,
3405
+ "data-liquid-feature-padding": Math.round(ee * 10) / 10,
3403
3406
  "data-liquid-motion": ne,
3404
3407
  "data-liquid-waviness": Math.round(le * 100) / 100,
3405
3408
  style: b,
@@ -3409,16 +3412,16 @@ var Un = a(function({ blur: e = 6, contrast: r = 18, fill: i = "var(--game-ui-su
3409
3412
  className: "game-ui-liquid-silhouette",
3410
3413
  "data-liquid-gooey-silhouette": "",
3411
3414
  focusable: "false",
3412
- viewBox: `0 0 ${V} ${ve}`,
3415
+ viewBox: `0 0 ${ye} ${be}`,
3413
3416
  children: [/* @__PURE__ */ t("defs", { children: /* @__PURE__ */ t("filter", {
3414
3417
  colorInterpolationFilters: "sRGB",
3415
3418
  filterUnits: "userSpaceOnUse",
3416
- height: ve + F * 2,
3419
+ height: be + F * 2,
3417
3420
  id: _e,
3418
- width: V + F * 2,
3421
+ width: ye + F * 2,
3419
3422
  x: -F,
3420
3423
  y: -F,
3421
- children: /* @__PURE__ */ t(Re, {
3424
+ children: /* @__PURE__ */ t(Ve, {
3422
3425
  blur: ie,
3423
3426
  contrast: ae,
3424
3427
  shadows: fe,
@@ -3427,21 +3430,21 @@ var Un = a(function({ blur: e = 6, contrast: r = 18, fill: i = "var(--game-ui-su
3427
3430
  wavinessFreq: ue
3428
3431
  })
3429
3432
  }) }), /* @__PURE__ */ t("g", {
3430
- ref: L,
3433
+ ref: ve,
3431
3434
  fill: i,
3432
3435
  filter: `url(#${_e})`
3433
3436
  })]
3434
3437
  }),
3435
- /* @__PURE__ */ t(jn, {
3436
- registry: B,
3438
+ /* @__PURE__ */ t(Mn, {
3439
+ registry: z,
3437
3440
  getGroup: () => w.current
3438
3441
  }),
3439
- /* @__PURE__ */ t(Mn.Provider, {
3442
+ /* @__PURE__ */ t(Nn.Provider, {
3440
3443
  value: {
3441
3444
  portal: T,
3442
- engine: z,
3445
+ engine: R,
3443
3446
  follow: v === "follow",
3444
- imageMelt: B
3447
+ imageMelt: z
3445
3448
  },
3446
3449
  children: /* @__PURE__ */ t("div", {
3447
3450
  className: "game-ui-liquid-content",
@@ -3450,23 +3453,23 @@ var Un = a(function({ blur: e = 6, contrast: r = 18, fill: i = "var(--game-ui-su
3450
3453
  })
3451
3454
  ]
3452
3455
  });
3453
- }), Wn = a(function({ effect: r, melt: i, dissolve: a, x: o = 0, y: c = 0, scale: m = 1, transition: g, delay: _, radius: v, morph: y, bend: b, observe: x, className: S, style: C, children: w, ...T }, E) {
3454
- let { portal: D, engine: O, follow: ee, imageMelt: k } = Nn(), A = `liquid-item-${Pn(u())}`, te = p(null), j = p(null), M = p(null), N = p(null), ne = JSON.stringify(a ?? null), re = a !== void 0 && a !== !1, ie = f(() => {
3455
- let e = r === "morph" || r === "bend" ? r : void 0, t = e === "bend", n = r === "bend" || ee && y === void 0 && r !== "morph" || re && y === void 0 && r !== "morph" ? void 0 : y ?? {}, i = {
3456
+ }), Gn = a(function({ effect: r, melt: i, dissolve: a, x: o = 0, y: c = 0, scale: m = 1, transition: g, delay: _, radius: v, morph: y, bend: b, observe: x, className: S, style: C, children: w, ...T }, E) {
3457
+ let { portal: D, engine: O, follow: k, imageMelt: A } = Pn(), ee = `liquid-item-${Fn(u())}`, te = p(null), j = p(null), M = p(null), N = p(null), ne = JSON.stringify(a ?? null), re = a !== void 0 && a !== !1, ie = f(() => {
3458
+ let e = r === "morph" || r === "bend" ? r : void 0, t = e === "bend", n = r === "bend" || k && y === void 0 && r !== "morph" || re && y === void 0 && r !== "morph" ? void 0 : y ?? {}, i = {
3456
3459
  ...e === void 0 ? {} : { effect: e },
3457
3460
  ...n === void 0 ? {} : { morph: n },
3458
3461
  ...b === void 0 ? {} : { bend: b },
3459
3462
  ...x === void 0 && !t ? {} : { observe: t || x },
3460
- x: Fn(o, 0),
3461
- y: Fn(c, 0),
3462
- scale: Fn(m, 1)
3463
+ x: In(o, 0),
3464
+ y: In(c, 0),
3465
+ scale: In(m, 1)
3463
3466
  };
3464
3467
  return g !== void 0 && (i.transition = g), _ !== void 0 && (i.delay = _), v !== void 0 && (i.radius = v), i;
3465
3468
  }, [
3466
3469
  b,
3467
3470
  _,
3468
3471
  r,
3469
- ee,
3472
+ k,
3470
3473
  re,
3471
3474
  y,
3472
3475
  x,
@@ -3483,24 +3486,24 @@ var Un = a(function({ blur: e = 6, contrast: r = 18, fill: i = "var(--game-ui-su
3483
3486
  return d(() => {
3484
3487
  let e = te.current, t = j.current;
3485
3488
  if (!(!D || !e || !t || !M.current)) return O.register({
3486
- id: A,
3489
+ id: ee,
3487
3490
  host: e,
3488
3491
  blob: t,
3489
3492
  config: M.current
3490
3493
  });
3491
3494
  }, [
3492
3495
  O,
3493
- A,
3496
+ ee,
3494
3497
  D
3495
3498
  ]), d(() => {
3496
- O.update(A, ie);
3499
+ O.update(ee, ie);
3497
3500
  }, [
3498
3501
  ie,
3499
3502
  O,
3500
- A
3503
+ ee
3501
3504
  ]), d(() => () => {
3502
3505
  N.current?.unregister(), N.current = null;
3503
- }, [k]), d(() => {
3506
+ }, [A]), d(() => {
3504
3507
  if (r === "move" || a === void 0 || a === !1) {
3505
3508
  N.current?.unregister(), N.current = null;
3506
3509
  return;
@@ -3511,16 +3514,16 @@ var Un = a(function({ blur: e = 6, contrast: r = 18, fill: i = "var(--game-ui-su
3511
3514
  N.current.update(a);
3512
3515
  return;
3513
3516
  }
3514
- N.current = dn(k, e, a);
3517
+ N.current = fn(A, e, a);
3515
3518
  }
3516
3519
  }, [
3517
3520
  ne,
3518
3521
  r,
3519
- k
3522
+ A
3520
3523
  ]), l(() => {}, [r, re]), d(() => {}, []), /* @__PURE__ */ n(e, { children: [/* @__PURE__ */ t("div", {
3521
3524
  ...T,
3522
3525
  ref: ae,
3523
- className: Rn("game-ui-liquid-item", S),
3526
+ className: zn("game-ui-liquid-item", S),
3524
3527
  style: C,
3525
3528
  children: w
3526
3529
  }), D ? h(/* @__PURE__ */ t("path", {
@@ -3528,14 +3531,14 @@ var Un = a(function({ blur: e = 6, contrast: r = 18, fill: i = "var(--game-ui-su
3528
3531
  d: "",
3529
3532
  "data-liquid-gooey-blob": ""
3530
3533
  }), D) : null] });
3531
- }), Gn = a(function(e, n) {
3532
- let { imageMelt: r } = Nn();
3533
- if (e.effect !== "melt") return /* @__PURE__ */ t(Wn, {
3534
+ }), Kn = a(function(e, n) {
3535
+ let { imageMelt: r } = Pn();
3536
+ if (e.effect !== "melt") return /* @__PURE__ */ t(Gn, {
3534
3537
  ...e,
3535
3538
  ref: n
3536
3539
  });
3537
- let i = zn(e), a = e.children, o = { ...e.melt ?? {} }, s = o.src;
3538
- return delete o.src, /* @__PURE__ */ t(fn, {
3540
+ let i = Bn(e), a = e.children, o = { ...e.melt ?? {} }, s = o.src;
3541
+ return delete o.src, /* @__PURE__ */ t(pn, {
3539
3542
  ...i,
3540
3543
  registry: r,
3541
3544
  children: a,
@@ -3543,10 +3546,10 @@ var Un = a(function({ blur: e = 6, contrast: r = 18, fill: i = "var(--game-ui-su
3543
3546
  ...s === void 0 ? {} : { src: s },
3544
3547
  ...n === void 0 ? {} : { forwardedRef: n }
3545
3548
  });
3546
- }), Kn = Object.assign(Un, { Item: Gn });
3549
+ }), qn = Object.assign(Wn, { Item: Kn });
3547
3550
  //#endregion
3548
3551
  //#region src/GameCallout.tsx
3549
- function qn({ heading: e, children: r, tone: i = "info", className: a, ...o }) {
3552
+ function Jn({ heading: e, children: r, tone: i = "info", className: a, ...o }) {
3550
3553
  return /* @__PURE__ */ n("div", {
3551
3554
  className: [
3552
3555
  "game-ui-callout",
@@ -3567,7 +3570,7 @@ function qn({ heading: e, children: r, tone: i = "info", className: a, ...o }) {
3567
3570
  }
3568
3571
  //#endregion
3569
3572
  //#region src/GameDialog.tsx
3570
- function Jn({ children: e, className: r, title: i }) {
3573
+ function Yn({ children: e, className: r, title: i }) {
3571
3574
  let a = u();
3572
3575
  return /* @__PURE__ */ n("section", {
3573
3576
  "aria-labelledby": a,
@@ -3585,7 +3588,7 @@ function Jn({ children: e, className: r, title: i }) {
3585
3588
  }
3586
3589
  //#endregion
3587
3590
  //#region src/GameHistoryPanel.tsx
3588
- function Yn({ entries: e, label: r }) {
3591
+ function Xn({ entries: e, label: r }) {
3589
3592
  return /* @__PURE__ */ t("section", {
3590
3593
  "aria-label": r,
3591
3594
  className: "game-ui-history",
@@ -3601,7 +3604,7 @@ function Yn({ entries: e, label: r }) {
3601
3604
  }
3602
3605
  //#endregion
3603
3606
  //#region src/GameHudActions.tsx
3604
- function Xn({ children: e, className: n, label: r, ...i }) {
3607
+ function Zn({ children: e, className: n, label: r, ...i }) {
3605
3608
  return /* @__PURE__ */ t("nav", {
3606
3609
  "aria-label": r,
3607
3610
  className: ["game-ui-hud-actions", n].filter(Boolean).join(" "),
@@ -3621,7 +3624,7 @@ function X({ children: e, className: r, title: i, tone: a = "default", ...o }) {
3621
3624
  children: [i ? /* @__PURE__ */ t("h3", { children: i }) : null, e]
3622
3625
  });
3623
3626
  }
3624
- function Zn({ children: e, className: n, label: r, type: i = "button", ...a }) {
3627
+ function Qn({ children: e, className: n, label: r, type: i = "button", ...a }) {
3625
3628
  return /* @__PURE__ */ t("button", {
3626
3629
  "aria-label": r,
3627
3630
  className: ["game-ui-icon-button", n].filter(Boolean).join(" "),
@@ -3630,7 +3633,7 @@ function Zn({ children: e, className: n, label: r, type: i = "button", ...a }) {
3630
3633
  children: e
3631
3634
  });
3632
3635
  }
3633
- function Qn({ children: e, label: i }) {
3636
+ function $n({ children: e, label: i }) {
3634
3637
  let a = u();
3635
3638
  return /* @__PURE__ */ n("span", {
3636
3639
  className: "game-ui-tooltip",
@@ -3641,7 +3644,7 @@ function Qn({ children: e, label: i }) {
3641
3644
  })]
3642
3645
  });
3643
3646
  }
3644
- function $n({ activeId: e, id: n, onSelect: r, tabs: i }) {
3647
+ function er({ activeId: e, id: n, onSelect: r, tabs: i }) {
3645
3648
  let a = u(), o = n ?? a;
3646
3649
  return /* @__PURE__ */ t("div", {
3647
3650
  className: "game-ui-tabs",
@@ -3681,10 +3684,10 @@ function $n({ activeId: e, id: n, onSelect: r, tabs: i }) {
3681
3684
  }, n.id))
3682
3685
  });
3683
3686
  }
3684
- function er(e, t) {
3687
+ function tr(e, t) {
3685
3688
  return e.x === t.x && e.y === t.y && e.width === t.width && e.height === t.height;
3686
3689
  }
3687
- function tr({ activeId: e, label: r, onSelect: i, options: a }) {
3690
+ function nr({ activeId: e, label: r, onSelect: i, options: a }) {
3688
3691
  let o = p(null), s = p([]), [c, l] = m({
3689
3692
  x: 0,
3690
3693
  y: 0,
@@ -3701,7 +3704,7 @@ function tr({ activeId: e, label: r, onSelect: i, options: a }) {
3701
3704
  width: r.width,
3702
3705
  height: r.height
3703
3706
  };
3704
- l((e) => er(e, i) ? e : i);
3707
+ l((e) => tr(e, i) ? e : i);
3705
3708
  };
3706
3709
  if (n(), typeof ResizeObserver > "u") return;
3707
3710
  let r = new ResizeObserver(n);
@@ -3716,7 +3719,7 @@ function tr({ activeId: e, label: r, onSelect: i, options: a }) {
3716
3719
  className: "game-ui-segmented",
3717
3720
  role: "group",
3718
3721
  children: [
3719
- /* @__PURE__ */ t(Kn, {
3722
+ /* @__PURE__ */ t(qn, {
3720
3723
  "aria-hidden": "true",
3721
3724
  className: "game-ui-segmented-surface",
3722
3725
  fill: "var(--game-ui-surface-raised)",
@@ -3727,7 +3730,7 @@ function tr({ activeId: e, label: r, onSelect: i, options: a }) {
3727
3730
  pointerEvents: "none",
3728
3731
  position: "absolute"
3729
3732
  },
3730
- children: /* @__PURE__ */ t(Kn.Item, {
3733
+ children: /* @__PURE__ */ t(qn.Item, {
3731
3734
  style: {
3732
3735
  borderRadius: "var(--game-ui-radius-control)",
3733
3736
  inset: 0,
@@ -3736,7 +3739,7 @@ function tr({ activeId: e, label: r, onSelect: i, options: a }) {
3736
3739
  children: null
3737
3740
  })
3738
3741
  }),
3739
- c.width > 0 && c.height > 0 ? /* @__PURE__ */ t(Kn, {
3742
+ c.width > 0 && c.height > 0 ? /* @__PURE__ */ t(qn, {
3740
3743
  "aria-hidden": "true",
3741
3744
  className: "game-ui-segmented-follow",
3742
3745
  fill: "var(--game-ui-secondary)",
@@ -3747,7 +3750,7 @@ function tr({ activeId: e, label: r, onSelect: i, options: a }) {
3747
3750
  pointerEvents: "none",
3748
3751
  position: "absolute"
3749
3752
  },
3750
- children: /* @__PURE__ */ t(Kn.Item, {
3753
+ children: /* @__PURE__ */ t(qn.Item, {
3751
3754
  "aria-hidden": "true",
3752
3755
  style: {
3753
3756
  borderRadius: "var(--game-ui-radius-control)",
@@ -3776,7 +3779,7 @@ function tr({ activeId: e, label: r, onSelect: i, options: a }) {
3776
3779
  ]
3777
3780
  });
3778
3781
  }
3779
- function nr({ label: e, max: r, min: i, onChange: a, value: o }) {
3782
+ function rr({ label: e, max: r, min: i, onChange: a, value: o }) {
3780
3783
  return /* @__PURE__ */ n("label", {
3781
3784
  className: "game-ui-slider",
3782
3785
  children: [/* @__PURE__ */ t("span", { children: e }), /* @__PURE__ */ t("input", {
@@ -3790,7 +3793,7 @@ function nr({ label: e, max: r, min: i, onChange: a, value: o }) {
3790
3793
  })]
3791
3794
  });
3792
3795
  }
3793
- function rr({ checked: e, disabled: r, label: i, onClick: a }) {
3796
+ function ir({ checked: e, disabled: r, label: i, onClick: a }) {
3794
3797
  return /* @__PURE__ */ n("button", {
3795
3798
  "aria-checked": e,
3796
3799
  className: "game-ui-toggle",
@@ -3804,7 +3807,7 @@ function rr({ checked: e, disabled: r, label: i, onClick: a }) {
3804
3807
  })]
3805
3808
  });
3806
3809
  }
3807
- function ir({ items: e, label: n, onSelect: r }) {
3810
+ function ar({ items: e, label: n, onSelect: r }) {
3808
3811
  return /* @__PURE__ */ t("div", {
3809
3812
  "aria-label": n,
3810
3813
  className: "game-ui-radial-menu",
@@ -3819,7 +3822,7 @@ function ir({ items: e, label: n, onSelect: r }) {
3819
3822
  }, e.id))
3820
3823
  });
3821
3824
  }
3822
- function ar({ children: e, tone: n = "info" }) {
3825
+ function or({ children: e, tone: n = "info" }) {
3823
3826
  return /* @__PURE__ */ t("div", {
3824
3827
  className: "game-ui-toast",
3825
3828
  "data-toast-tone": n,
@@ -3827,7 +3830,7 @@ function ar({ children: e, tone: n = "info" }) {
3827
3830
  children: e
3828
3831
  });
3829
3832
  }
3830
- function or({ actionLabel: e, children: r, title: i }) {
3833
+ function sr({ actionLabel: e, children: r, title: i }) {
3831
3834
  return /* @__PURE__ */ n("section", {
3832
3835
  "aria-label": i,
3833
3836
  className: "game-ui-prompt",
@@ -3839,7 +3842,7 @@ function or({ actionLabel: e, children: r, title: i }) {
3839
3842
  }
3840
3843
  //#endregion
3841
3844
  //#region src/clay/assets.ts
3842
- var sr = "/assets/game/ui/clay/phase03-clay-kit", Z = (e) => `${sr}/${e}`, cr = {
3845
+ var cr = "/assets/game/ui/clay/phase03-clay-kit", Z = (e) => `${cr}/${e}`, lr = {
3843
3846
  ai: { line: Z("icons/function/brain-v1.png") },
3844
3847
  alert: {
3845
3848
  game: Z("components/common/alert-v1.png"),
@@ -3929,20 +3932,20 @@ var sr = "/assets/game/ui/clay/phase03-clay-kit", Z = (e) => `${sr}/${e}`, cr =
3929
3932
  game: Z("icons/common/target-v1.png"),
3930
3933
  line: Z("icons/function/target-v1.png")
3931
3934
  }
3932
- }, lr = Object.keys(cr), ur = sr;
3933
- function dr(e) {
3934
- let t = ur;
3935
+ }, ur = Object.keys(lr), dr = cr;
3936
+ function fr(e) {
3937
+ let t = dr;
3935
3938
  return !e || t === "/assets/game/ui/clay/phase03-clay-kit" ? e : e.startsWith("/assets/game/ui/clay/phase03-clay-kit") ? `${t}${e.slice(37)}` : e;
3936
3939
  }
3937
- function fr(e, t) {
3938
- let n = cr[e];
3939
- return dr(t === "line" ? n.line ?? n.game ?? "" : n.game ?? n.line ?? "");
3940
+ function pr(e, t) {
3941
+ let n = lr[e];
3942
+ return fr(t === "line" ? n.line ?? n.game ?? "" : n.game ?? n.line ?? "");
3940
3943
  }
3941
- function pr(e) {
3942
- let t = cr[e], n = [];
3944
+ function mr(e) {
3945
+ let t = lr[e], n = [];
3943
3946
  return t.game && n.push("game"), t.line && n.push("line"), n;
3944
3947
  }
3945
- var mr = {
3948
+ var hr = {
3946
3949
  anvil: Z("icons/common/anvil-v1.png"),
3947
3950
  arrow: Z("icons/common/arrow-v1.png"),
3948
3951
  bomb: Z("icons/common/bomb-v1.png"),
@@ -3969,7 +3972,7 @@ var mr = {
3969
3972
  swordB: Z("icons/common/sword-b-v1.png"),
3970
3973
  talaria: Z("icons/common/talaria-v1.png"),
3971
3974
  treasure: Z("icons/common/treasure-v1.png")
3972
- }, hr = Object.keys(mr), gr = {
3975
+ }, gr = Object.keys(hr), _r = {
3973
3976
  buttons: {
3974
3977
  primary: Z("buttons/button-brown-large-v2.png"),
3975
3978
  blue: Z("buttons/button-blue-large-v2.png"),
@@ -3990,7 +3993,7 @@ var mr = {
3990
3993
  tabSelected: Z("components/common/tab-s-v1.png"),
3991
3994
  tabNormal: Z("components/common/tab-n-v1.png")
3992
3995
  },
3993
- icons: Object.fromEntries(lr.map((e) => [e, fr(e)])),
3996
+ icons: Object.fromEntries(ur.map((e) => [e, pr(e)])),
3994
3997
  catalog: {
3995
3998
  manifest: "/assets/game/ui/clay/asset-manifest.json",
3996
3999
  sourceCatalog: Z("catalog/phase03-clay-ui-catalog.json"),
@@ -3998,7 +4001,7 @@ var mr = {
3998
4001
  contactSheetComponents: Z("catalog/component-candidates-contact-sheet-v1.png"),
3999
4002
  contactSheetFunction: Z("catalog/function-icons-contact-sheet-v1.png")
4000
4003
  }
4001
- }, _r = {
4004
+ }, vr = {
4002
4005
  ai: "AI",
4003
4006
  alert: "!",
4004
4007
  card: "▣",
@@ -4034,7 +4037,7 @@ var mr = {
4034
4037
  timer: "◷",
4035
4038
  trophy: "★",
4036
4039
  vote: "⌾"
4037
- }, vr = {
4040
+ }, yr = {
4038
4041
  ai: I.berry,
4039
4042
  alert: I.red,
4040
4043
  card: I.honey,
@@ -4071,35 +4074,35 @@ var mr = {
4071
4074
  trophy: I.honey,
4072
4075
  vote: I.red
4073
4076
  };
4074
- function yr(e) {
4075
- let t = _r[e], n = vr[e], r = I.parchment, i = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 96"><defs><filter id="s" x="-20%" y="-20%" width="140%" height="140%"><feDropShadow dx="0" dy="5" stdDeviation="4" flood-color="#4c341c" flood-opacity=".22"/></filter></defs><rect x="10" y="8" width="76" height="76" rx="25" fill="${r}" filter="url(#s)"/><circle cx="48" cy="46" r="28" fill="${n}" opacity=".88"/><path d="M23 28c10-12 36-16 52 0" stroke="#fff" stroke-width="6" stroke-linecap="round" opacity=".38"/><text x="48" y="58" text-anchor="middle" font-family="system-ui,sans-serif" font-size="28" font-weight="900" fill="${r}">${t}</text></svg>`;
4077
+ function br(e) {
4078
+ let t = vr[e], n = yr[e], r = I.parchment, i = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 96 96"><defs><filter id="s" x="-20%" y="-20%" width="140%" height="140%"><feDropShadow dx="0" dy="5" stdDeviation="4" flood-color="#4c341c" flood-opacity=".22"/></filter></defs><rect x="10" y="8" width="76" height="76" rx="25" fill="${r}" filter="url(#s)"/><circle cx="48" cy="46" r="28" fill="${n}" opacity=".88"/><path d="M23 28c10-12 36-16 52 0" stroke="#fff" stroke-width="6" stroke-linecap="round" opacity=".38"/><text x="48" y="58" text-anchor="middle" font-family="system-ui,sans-serif" font-size="28" font-weight="900" fill="${r}">${t}</text></svg>`;
4076
4079
  return `data:image/svg+xml,${encodeURIComponent(i)}`;
4077
4080
  }
4078
- var br = "inline";
4079
- function xr(e) {
4080
- br = e;
4081
+ var xr = "inline";
4082
+ function Sr(e) {
4083
+ xr = e;
4081
4084
  }
4082
- function Sr() {
4083
- return br;
4085
+ function Cr() {
4086
+ return xr;
4084
4087
  }
4085
- function Cr(e) {
4086
- ur = e.replace(/\/+$/, "");
4088
+ function wr(e) {
4089
+ dr = e.replace(/\/+$/, "");
4087
4090
  }
4088
- function wr() {
4089
- return ur;
4090
- }
4091
- var Tr = !1;
4092
- function Er() {
4093
- Tr || (Tr = !0, !(typeof console > "u") && console.warn("[SwimmerUIKit] Clay icons are rendering placeholders, not the icon set. The sculpted PNGs ship inside this package but must be served by your app:\n npx swimmer-ui-assets public\n setClayAssetMode('source') // once, at your entry\nCall setClayAssetMode('inline') explicitly to keep placeholders and silence this."));
4091
+ function Tr() {
4092
+ return dr;
4094
4093
  }
4094
+ var Er = !1;
4095
4095
  function Dr() {
4096
- Tr = !0;
4096
+ Er || (Er = !0, !(typeof console > "u") && console.warn("[SwimmerUIKit] Clay icons are rendering placeholders, not the icon set. The sculpted PNGs ship inside this package but must be served by your app:\n npx swimmer-ui-assets public\n setClayAssetMode('source') // once, at your entry\nCall setClayAssetMode('inline') explicitly to keep placeholders and silence this."));
4097
+ }
4098
+ function Or() {
4099
+ Er = !0;
4097
4100
  }
4098
- function Or(e, t = {}) {
4099
- return t.inline ?? br === "inline" ? (Er(), yr(e)) : fr(e, t.style);
4101
+ function kr(e, t = {}) {
4102
+ return t.inline ?? xr === "inline" ? (Dr(), br(e)) : pr(e, t.style);
4100
4103
  }
4101
- function kr(e, t) {
4102
- return fr(e, t);
4104
+ function Ar(e, t) {
4105
+ return pr(e, t);
4103
4106
  }
4104
4107
  //#endregion
4105
4108
  //#region src/ClayComponents.tsx
@@ -4111,7 +4114,7 @@ function Q({ children: e, className: n, tone: r = "neutral" }) {
4111
4114
  });
4112
4115
  }
4113
4116
  function $({ className: e, icon: n, label: r, size: i = "md", style: a, useSourceAsset: o = !1 }) {
4114
- let s = ["game-ui-asset-icon", e].filter(Boolean).join(" "), c = r ? { "aria-label": r } : { "aria-hidden": !0 }, l = Or(n, {
4117
+ let s = ["game-ui-asset-icon", e].filter(Boolean).join(" "), c = r ? { "aria-label": r } : { "aria-hidden": !0 }, l = kr(n, {
4115
4118
  ...a ? { style: a } : {},
4116
4119
  ...o ? { inline: !1 } : {}
4117
4120
  });
@@ -4126,7 +4129,7 @@ function $({ className: e, icon: n, label: r, size: i = "md", style: a, useSourc
4126
4129
  })
4127
4130
  });
4128
4131
  }
4129
- function Ar({ actions: e, className: r, items: i, label: a }) {
4132
+ function jr({ actions: e, className: r, items: i, label: a }) {
4130
4133
  return /* @__PURE__ */ n("section", {
4131
4134
  "aria-label": a,
4132
4135
  className: ["game-ui-hud", r].filter(Boolean).join(" "),
@@ -4149,7 +4152,7 @@ function Ar({ actions: e, className: r, items: i, label: a }) {
4149
4152
  }) : null]
4150
4153
  });
4151
4154
  }
4152
- function jr({ cards: e, className: r, label: i }) {
4155
+ function Mr({ cards: e, className: r, label: i }) {
4153
4156
  let a = ["game-ui-card-fan", r].filter(Boolean).join(" "), o = (e.length - 1) / 2;
4154
4157
  return /* @__PURE__ */ t("div", {
4155
4158
  "aria-label": i,
@@ -4172,7 +4175,7 @@ function jr({ cards: e, className: r, label: i }) {
4172
4175
  }, e.id))
4173
4176
  });
4174
4177
  }
4175
- function Mr({ badge: e, className: r, icon: i, kicker: a, selected: o = !1, summary: s, title: c, tone: l = "daily", type: u = "button", ...d }) {
4178
+ function Nr({ badge: e, className: r, icon: i, kicker: a, selected: o = !1, summary: s, title: c, tone: l = "daily", type: u = "button", ...d }) {
4176
4179
  return /* @__PURE__ */ n("button", {
4177
4180
  "aria-pressed": o,
4178
4181
  className: ["game-ui-stage-tile", r].filter(Boolean).join(" "),
@@ -4199,15 +4202,15 @@ function Mr({ badge: e, className: r, icon: i, kicker: a, selected: o = !1, summ
4199
4202
  ]
4200
4203
  });
4201
4204
  }
4202
- function Nr() {
4205
+ function Pr() {
4203
4206
  return typeof window > "u" ? !1 : (window.matchMedia?.("(pointer: coarse), (max-width: 899px)").matches ?? window.innerWidth < 900) && window.innerHeight > window.innerWidth;
4204
4207
  }
4205
- function Pr({ body: e, cta: r, badgeLabel: i = "Landscape only", manualHint: a = "Rotate manually if this browser blocks automatic landscape lock.", preview: o = !1, title: s }) {
4206
- let [c, u] = m(o || Nr), [d, f] = m("");
4208
+ function Fr({ body: e, cta: r, badgeLabel: i = "Landscape only", manualHint: a = "Rotate manually if this browser blocks automatic landscape lock.", preview: o = !1, title: s }) {
4209
+ let [c, u] = m(o || Pr), [d, f] = m("");
4207
4210
  if (l(() => {
4208
4211
  if (o) return;
4209
4212
  let e = () => {
4210
- let e = Nr();
4213
+ let e = Pr();
4211
4214
  u(e), e || f("");
4212
4215
  };
4213
4216
  return e(), window.addEventListener("resize", e), window.addEventListener("orientationchange", e), () => {
@@ -4217,7 +4220,7 @@ function Pr({ body: e, cta: r, badgeLabel: i = "Landscape only", manualHint: a =
4217
4220
  let p = async () => {
4218
4221
  if (f(""), !o) try {
4219
4222
  let e = document.documentElement;
4220
- !document.fullscreenElement && e.requestFullscreen && await e.requestFullscreen(), await screen.orientation.lock?.("landscape-primary"), u(Nr());
4223
+ !document.fullscreenElement && e.requestFullscreen && await e.requestFullscreen(), await screen.orientation.lock?.("landscape-primary"), u(Pr());
4221
4224
  } catch {
4222
4225
  f(a);
4223
4226
  }
@@ -4248,7 +4251,7 @@ function Pr({ body: e, cta: r, badgeLabel: i = "Landscape only", manualHint: a =
4248
4251
  })
4249
4252
  });
4250
4253
  }
4251
- function Fr({ className: e, currentLabel: r, label: i, options: a, value: o, defaultValue: s, onSelect: c }) {
4254
+ function Ir({ className: e, currentLabel: r, label: i, options: a, value: o, defaultValue: s, onSelect: c }) {
4252
4255
  let [l, d] = m(!1), [f, p] = m(s ?? a[0]?.id ?? ""), h = u(), g = ["game-ui-language-menu", e].filter(Boolean).join(" "), _ = o ?? f, v = a.find((e) => e.id === _), y = r ?? v?.label ?? a[0]?.label ?? "", b = (e) => {
4253
4256
  o === void 0 && p(e), c?.(e), d(!1);
4254
4257
  };
@@ -4280,34 +4283,34 @@ function Fr({ className: e, currentLabel: r, label: i, options: a, value: o, def
4280
4283
  }) : null]
4281
4284
  });
4282
4285
  }
4283
- function Ir({ label: e, tone: r = "loading" }) {
4286
+ function Lr({ label: e, tone: r = "loading" }) {
4284
4287
  return /* @__PURE__ */ n("div", {
4285
4288
  className: "game-ui-loading-state",
4286
4289
  "data-loading-tone": r,
4287
4290
  role: r === "error" ? "alert" : "status",
4288
4291
  children: [/* @__PURE__ */ t("img", {
4289
4292
  alt: "",
4290
- src: Or(r === "error" ? "alert" : "timer")
4293
+ src: kr(r === "error" ? "alert" : "timer")
4291
4294
  }), /* @__PURE__ */ t("span", { children: e })]
4292
4295
  });
4293
4296
  }
4294
- function Lr() {
4295
- return gr.catalog;
4297
+ function Rr() {
4298
+ return _r.catalog;
4296
4299
  }
4297
4300
  //#endregion
4298
4301
  //#region src/FirstSessionGameShell.tsx
4299
- function Rr({ fallback: e, slot: n }) {
4302
+ function zr({ fallback: e, slot: n }) {
4300
4303
  return n ?? /* @__PURE__ */ t($, {
4301
4304
  icon: e,
4302
4305
  size: "sm"
4303
4306
  });
4304
4307
  }
4305
- function zr({ authenticated: e, batteryCount: r, className: i, dailyStreak: a, iconSlots: o, labels: s, onHistory: c, onSettings: l, onWardrobe: u, playerName: d }) {
4308
+ function Br({ authenticated: e, batteryCount: r, className: i, dailyStreak: a, iconSlots: o, labels: s, onHistory: c, onSettings: l, onWardrobe: u, playerName: d }) {
4306
4309
  let f = ["swimmer-first-session-shell", i].filter(Boolean).join(" "), p = e ? `${r} 🔋` : s.guest ?? "guest";
4307
4310
  return /* @__PURE__ */ n("section", {
4308
4311
  "aria-label": s.shell,
4309
4312
  className: f,
4310
- children: [/* @__PURE__ */ t(Ar, {
4313
+ children: [/* @__PURE__ */ t(jr, {
4311
4314
  className: "swimmer-first-session-hud",
4312
4315
  items: [
4313
4316
  {
@@ -4339,7 +4342,7 @@ function zr({ authenticated: e, batteryCount: r, className: i, dailyStreak: a, i
4339
4342
  }
4340
4343
  ],
4341
4344
  label: s.hud,
4342
- actions: /* @__PURE__ */ n(Xn, {
4345
+ actions: /* @__PURE__ */ n(Zn, {
4343
4346
  className: "swimmer-first-session-hud-actions",
4344
4347
  label: s.tools,
4345
4348
  children: [
@@ -4347,7 +4350,7 @@ function zr({ authenticated: e, batteryCount: r, className: i, dailyStreak: a, i
4347
4350
  "aria-label": s.wardrobe,
4348
4351
  onClick: u,
4349
4352
  variant: "secondary",
4350
- children: [/* @__PURE__ */ t(Rr, {
4353
+ children: [/* @__PURE__ */ t(zr, {
4351
4354
  fallback: "shirt",
4352
4355
  slot: o?.wardrobe
4353
4356
  }), s.wardrobe]
@@ -4356,7 +4359,7 @@ function zr({ authenticated: e, batteryCount: r, className: i, dailyStreak: a, i
4356
4359
  "aria-label": s.settings,
4357
4360
  onClick: l,
4358
4361
  variant: "secondary",
4359
- children: [/* @__PURE__ */ t(Rr, {
4362
+ children: [/* @__PURE__ */ t(zr, {
4360
4363
  fallback: "settings",
4361
4364
  slot: o?.settings
4362
4365
  }), s.settings]
@@ -4365,7 +4368,7 @@ function zr({ authenticated: e, batteryCount: r, className: i, dailyStreak: a, i
4365
4368
  "aria-label": s.history,
4366
4369
  onClick: c,
4367
4370
  variant: "secondary",
4368
- children: [/* @__PURE__ */ t(Rr, {
4371
+ children: [/* @__PURE__ */ t(zr, {
4369
4372
  fallback: "history",
4370
4373
  slot: o?.history
4371
4374
  }), s.history]
@@ -4390,7 +4393,7 @@ function zr({ authenticated: e, batteryCount: r, className: i, dailyStreak: a, i
4390
4393
  }),
4391
4394
  /* @__PURE__ */ n("label", {
4392
4395
  className: "swimmer-first-session-input",
4393
- children: [/* @__PURE__ */ t(Rr, {
4396
+ children: [/* @__PURE__ */ t(zr, {
4394
4397
  fallback: "chat",
4395
4398
  slot: o?.input
4396
4399
  }), /* @__PURE__ */ t("span", { children: s.input })]
@@ -4398,7 +4401,7 @@ function zr({ authenticated: e, batteryCount: r, className: i, dailyStreak: a, i
4398
4401
  /* @__PURE__ */ n("button", {
4399
4402
  className: "swimmer-first-session-emote",
4400
4403
  type: "button",
4401
- children: [/* @__PURE__ */ t(Rr, {
4404
+ children: [/* @__PURE__ */ t(zr, {
4402
4405
  fallback: "smile",
4403
4406
  slot: o?.emote
4404
4407
  }), s.emote]
@@ -4407,7 +4410,7 @@ function zr({ authenticated: e, batteryCount: r, className: i, dailyStreak: a, i
4407
4410
  })]
4408
4411
  });
4409
4412
  }
4410
- function Br({ labels: e, onDismiss: r, open: i }) {
4413
+ function Vr({ labels: e, onDismiss: r, open: i }) {
4411
4414
  return i ? /* @__PURE__ */ n("aside", {
4412
4415
  "aria-labelledby": "swimmer-first-session-onboarding-title",
4413
4416
  "aria-modal": "true",
@@ -4455,7 +4458,7 @@ function Br({ labels: e, onDismiss: r, open: i }) {
4455
4458
  }
4456
4459
  //#endregion
4457
4460
  //#region src/GameForms.tsx
4458
- var Vr = a(function({ className: e, invalid: n, type: r = "text", ...i }, a) {
4461
+ var Hr = a(function({ className: e, invalid: n, type: r = "text", ...i }, a) {
4459
4462
  return /* @__PURE__ */ t("input", {
4460
4463
  className: ["game-ui-input", e].filter(Boolean).join(" "),
4461
4464
  "data-invalid": n ? "true" : void 0,
@@ -4463,7 +4466,7 @@ var Vr = a(function({ className: e, invalid: n, type: r = "text", ...i }, a) {
4463
4466
  type: r,
4464
4467
  ...i
4465
4468
  });
4466
- }), Hr = a(function({ className: e, invalid: n, rows: r = 3, ...i }, a) {
4469
+ }), Ur = a(function({ className: e, invalid: n, rows: r = 3, ...i }, a) {
4467
4470
  return /* @__PURE__ */ t("textarea", {
4468
4471
  className: [
4469
4472
  "game-ui-input",
@@ -4476,7 +4479,7 @@ var Vr = a(function({ className: e, invalid: n, type: r = "text", ...i }, a) {
4476
4479
  ...i
4477
4480
  });
4478
4481
  });
4479
- function Ur({ children: e, className: r, error: i, hint: a, label: o, required: s }) {
4482
+ function Wr({ children: e, className: r, error: i, hint: a, label: o, required: s }) {
4480
4483
  return /* @__PURE__ */ n("label", {
4481
4484
  className: ["game-ui-field", r].filter(Boolean).join(" "),
4482
4485
  "data-invalid": i ? "true" : void 0,
@@ -4502,7 +4505,7 @@ function Ur({ children: e, className: r, error: i, hint: a, label: o, required:
4502
4505
  ]
4503
4506
  });
4504
4507
  }
4505
- function Wr({ className: e, label: r, ...i }) {
4508
+ function Gr({ className: e, label: r, ...i }) {
4506
4509
  return /* @__PURE__ */ n("label", {
4507
4510
  className: ["game-ui-checkbox", e].filter(Boolean).join(" "),
4508
4511
  children: [
@@ -4524,11 +4527,11 @@ function Wr({ className: e, label: r, ...i }) {
4524
4527
  }
4525
4528
  //#endregion
4526
4529
  //#region src/GameDisplay.tsx
4527
- function Gr(e) {
4530
+ function Kr(e) {
4528
4531
  let t = e.trim().split(/\s+/).filter(Boolean);
4529
4532
  return t.length === 0 ? "?" : t.slice(0, 2).map((e) => e[0] ?? "").join("").toUpperCase();
4530
4533
  }
4531
- function Kr({ className: r, name: i, size: a = "md", src: o, status: s = "none" }) {
4534
+ function qr({ className: r, name: i, size: a = "md", src: o, status: s = "none" }) {
4532
4535
  return /* @__PURE__ */ n("span", {
4533
4536
  className: ["game-ui-avatar", r].filter(Boolean).join(" "),
4534
4537
  "data-avatar-size": a,
@@ -4539,7 +4542,7 @@ function Kr({ className: r, name: i, size: a = "md", src: o, status: s = "none"
4539
4542
  }) : /* @__PURE__ */ n(e, { children: [/* @__PURE__ */ t("span", {
4540
4543
  "aria-hidden": "true",
4541
4544
  className: "game-ui-avatar-initials",
4542
- children: Gr(i)
4545
+ children: Kr(i)
4543
4546
  }), /* @__PURE__ */ t("span", {
4544
4547
  className: "game-ui-sr-only",
4545
4548
  children: i
@@ -4549,7 +4552,7 @@ function Kr({ className: r, name: i, size: a = "md", src: o, status: s = "none"
4549
4552
  })]
4550
4553
  });
4551
4554
  }
4552
- function qr({ className: e, label: r, max: i = 100, showValue: a = !1, tone: o = "accent", value: s, valueLabel: c }) {
4555
+ function Jr({ className: e, label: r, max: i = 100, showValue: a = !1, tone: o = "accent", value: s, valueLabel: c }) {
4553
4556
  let l = i <= 0 ? 100 : i, u = Math.max(0, Math.min(100, s / l * 100)), d = ["game-ui-progress", e].filter(Boolean).join(" "), f = !!c, p = {
4554
4557
  accent: "var(--game-ui-accent)",
4555
4558
  danger: "var(--game-ui-danger)",
@@ -4567,7 +4570,7 @@ function qr({ className: e, label: r, max: i = 100, showValue: a = !1, tone: o =
4567
4570
  "aria-valuetext": f ? c : void 0,
4568
4571
  className: "game-ui-progress-track",
4569
4572
  role: "progressbar",
4570
- children: /* @__PURE__ */ t(Kn, {
4573
+ children: /* @__PURE__ */ t(qn, {
4571
4574
  "aria-hidden": "true",
4572
4575
  className: "game-ui-progress-liquid",
4573
4576
  fill: p,
@@ -4578,7 +4581,7 @@ function qr({ className: e, label: r, max: i = 100, showValue: a = !1, tone: o =
4578
4581
  pointerEvents: "none",
4579
4582
  position: "absolute"
4580
4583
  },
4581
- children: /* @__PURE__ */ t(Kn.Item, {
4584
+ children: /* @__PURE__ */ t(qn.Item, {
4582
4585
  "aria-hidden": "true",
4583
4586
  className: "game-ui-progress-fill",
4584
4587
  style: {
@@ -4601,7 +4604,7 @@ function qr({ className: e, label: r, max: i = 100, showValue: a = !1, tone: o =
4601
4604
  }) : null]
4602
4605
  });
4603
4606
  }
4604
- function Jr({ action: e, className: r, description: i, icon: a, title: o }) {
4607
+ function Yr({ action: e, className: r, description: i, icon: a, title: o }) {
4605
4608
  return /* @__PURE__ */ n("div", {
4606
4609
  className: ["game-ui-empty-state", r].filter(Boolean).join(" "),
4607
4610
  children: [
@@ -4626,7 +4629,7 @@ function Jr({ action: e, className: r, description: i, icon: a, title: o }) {
4626
4629
  }
4627
4630
  //#endregion
4628
4631
  //#region src/GameSurfacePack.tsx
4629
- function Yr({ assetLibrary: e, bottomBar: r, children: i, className: a, density: o = "comfortable", hud: s, layout: c = "auto", movementPad: l, overlay: u, sidePanel: d, title: f }) {
4632
+ function Xr({ assetLibrary: e, bottomBar: r, children: i, className: a, density: o = "comfortable", hud: s, layout: c = "auto", movementPad: l, overlay: u, sidePanel: d, title: f }) {
4630
4633
  return /* @__PURE__ */ n("section", {
4631
4634
  "aria-label": f,
4632
4635
  className: ["game-ui-shell", a].filter(Boolean).join(" "),
@@ -4664,8 +4667,8 @@ function Yr({ assetLibrary: e, bottomBar: r, children: i, className: a, density:
4664
4667
  ]
4665
4668
  });
4666
4669
  }
4667
- var Xr = Yr;
4668
- function Zr({ className: e, density: r = "comfortable", facts: i, label: a, variant: o = "facts" }) {
4670
+ var Zr = Xr;
4671
+ function Qr({ className: e, density: r = "comfortable", facts: i, label: a, variant: o = "facts" }) {
4669
4672
  return /* @__PURE__ */ t("section", {
4670
4673
  "aria-label": a,
4671
4674
  className: ["game-ui-fact-list", e].filter(Boolean).join(" "),
@@ -4694,9 +4697,9 @@ function Zr({ className: e, density: r = "comfortable", facts: i, label: a, vari
4694
4697
  }, e.id))
4695
4698
  });
4696
4699
  }
4697
- var Qr = Zr;
4698
- function $r({ actions: r, className: i, density: a = "comfortable", iconLabelMode: o = "hidden", label: s, style: c = "button" }) {
4699
- return /* @__PURE__ */ n(Xn, {
4700
+ var $r = Qr;
4701
+ function ei({ actions: r, className: i, density: a = "comfortable", iconLabelMode: o = "hidden", label: s, style: c = "button" }) {
4702
+ return /* @__PURE__ */ n(Zn, {
4700
4703
  className: ["game-ui-action-grid", i].filter(Boolean).join(" "),
4701
4704
  "data-icon-label-mode": c === "icon" ? o : void 0,
4702
4705
  label: s,
@@ -4721,7 +4724,7 @@ function $r({ actions: r, className: i, density: a = "comfortable", iconLabelMod
4721
4724
  }) : null,
4722
4725
  r.shortcut ? /* @__PURE__ */ t("kbd", { children: r.shortcut }) : null
4723
4726
  ] }), l = () => r.onAction?.(r.id);
4724
- return c === "icon" ? /* @__PURE__ */ t(Zn, {
4727
+ return c === "icon" ? /* @__PURE__ */ t(Qn, {
4725
4728
  "aria-pressed": r.selected,
4726
4729
  className: "game-ui-action-grid-button",
4727
4730
  disabled: r.disabled,
@@ -4739,7 +4742,7 @@ function $r({ actions: r, className: i, density: a = "comfortable", iconLabelMod
4739
4742
  })]
4740
4743
  });
4741
4744
  }
4742
- var ei = [
4745
+ var ti = [
4743
4746
  {
4744
4747
  direction: "forward",
4745
4748
  label: "Move forward",
@@ -4764,7 +4767,7 @@ var ei = [
4764
4767
  shortcut: "S / ↓",
4765
4768
  symbol: "↓"
4766
4769
  }
4767
- ], ti = {
4770
+ ], ni = {
4768
4771
  ArrowUp: "forward",
4769
4772
  w: "forward",
4770
4773
  W: "forward",
@@ -4779,7 +4782,7 @@ var ei = [
4779
4782
  S: "backward",
4780
4783
  " ": "reset"
4781
4784
  };
4782
- function ni({ actions: e = ei, className: r, density: i = "comfortable", disabled: a = !1, helpText: o, label: s, layout: c = "dpad", onMove: l }) {
4785
+ function ri({ actions: e = ti, className: r, density: i = "comfortable", disabled: a = !1, helpText: o, label: s, layout: c = "dpad", onMove: l }) {
4783
4786
  let u = ["game-ui-movement-pad", r].filter(Boolean).join(" "), d = (e) => {
4784
4787
  a || l?.(e);
4785
4788
  };
@@ -4789,7 +4792,7 @@ function ni({ actions: e = ei, className: r, density: i = "comfortable", disable
4789
4792
  "data-density": i,
4790
4793
  "data-layout": c,
4791
4794
  onKeyDown: (t) => {
4792
- let n = ti[t.key];
4795
+ let n = ni[t.key];
4793
4796
  if (!n) return;
4794
4797
  let r = e.find((e) => e.direction === n);
4795
4798
  !r || r.disabled || a || (t.preventDefault(), d(n));
@@ -4797,7 +4800,7 @@ function ni({ actions: e = ei, className: r, density: i = "comfortable", disable
4797
4800
  tabIndex: 0,
4798
4801
  children: [/* @__PURE__ */ t("div", {
4799
4802
  className: "game-ui-movement-pad-grid",
4800
- children: e.map((e) => /* @__PURE__ */ n(Zn, {
4803
+ children: e.map((e) => /* @__PURE__ */ n(Qn, {
4801
4804
  className: "game-ui-movement-button",
4802
4805
  "data-direction": e.direction,
4803
4806
  disabled: a || e.disabled,
@@ -4815,15 +4818,15 @@ function ni({ actions: e = ei, className: r, density: i = "comfortable", disable
4815
4818
  }), o ? /* @__PURE__ */ t("p", { children: o }) : null]
4816
4819
  });
4817
4820
  }
4818
- var ri = {
4821
+ var ii = {
4819
4822
  generated: "Generated",
4820
4823
  imported: "Imported",
4821
4824
  starter: "Starter"
4822
- }, ii = {
4825
+ }, ai = {
4823
4826
  generated: "ai",
4824
4827
  imported: "warning",
4825
4828
  starter: "neutral"
4826
- }, ai = {
4829
+ }, oi = {
4827
4830
  error: "danger",
4828
4831
  generating: "ai",
4829
4832
  missing: "danger",
@@ -4831,8 +4834,8 @@ var ri = {
4831
4834
  ready: "neutral",
4832
4835
  selected: "success"
4833
4836
  };
4834
- function oi({ assetId: e, badges: r = [], cardLayout: i = "list", className: a, description: o, disabled: s, facts: c = [], icon: l = "gem", onClick: u, onSelect: d, selected: f = !1, source: p, sourceLabel: m, status: h = "ready", statusLabel: g, thumbnailAlt: _ = "", thumbnailSrc: v, title: y, type: b = "button", ...x }) {
4835
- let { "aria-label": S, ...C } = x, w = ["game-ui-asset-card", a].filter(Boolean).join(" "), T = m ?? ri[p], E = g ?? h;
4837
+ function si({ assetId: e, badges: r = [], cardLayout: i = "list", className: a, description: o, disabled: s, facts: c = [], icon: l = "gem", onClick: u, onSelect: d, selected: f = !1, source: p, sourceLabel: m, status: h = "ready", statusLabel: g, thumbnailAlt: _ = "", thumbnailSrc: v, title: y, type: b = "button", ...x }) {
4838
+ let { "aria-label": S, ...C } = x, w = ["game-ui-asset-card", a].filter(Boolean).join(" "), T = m ?? ii[p], E = g ?? h;
4836
4839
  return /* @__PURE__ */ n("button", {
4837
4840
  "aria-label": S ?? y,
4838
4841
  "aria-pressed": f,
@@ -4863,11 +4866,11 @@ function oi({ assetId: e, badges: r = [], cardLayout: i = "list", className: a,
4863
4866
  className: "game-ui-asset-card-badges",
4864
4867
  children: [
4865
4868
  /* @__PURE__ */ t(Q, {
4866
- tone: ii[p],
4869
+ tone: ai[p],
4867
4870
  children: T
4868
4871
  }),
4869
4872
  /* @__PURE__ */ t(Q, {
4870
- tone: ai[h],
4873
+ tone: oi[h],
4871
4874
  children: E
4872
4875
  }),
4873
4876
  r.map((e) => /* @__PURE__ */ t(Q, {
@@ -4886,7 +4889,7 @@ function oi({ assetId: e, badges: r = [], cardLayout: i = "list", className: a,
4886
4889
  })]
4887
4890
  });
4888
4891
  }
4889
- function si({ cardLayout: e = "auto", className: r, density: i = "comfortable", emptyAction: a, emptyDescription: o = "Assets will appear here when they are ready to place.", emptyTitle: s = "No assets ready", groups: c, label: l, onSelectAsset: u, selectedAssetId: d, subtitle: f, title: p }) {
4892
+ function ci({ cardLayout: e = "auto", className: r, density: i = "comfortable", emptyAction: a, emptyDescription: o = "Assets will appear here when they are ready to place.", emptyTitle: s = "No assets ready", groups: c, label: l, onSelectAsset: u, selectedAssetId: d, subtitle: f, title: p }) {
4890
4893
  let m = ["game-ui-asset-library", r].filter(Boolean).join(" "), h = c.reduce((e, t) => e + t.assets.length, 0), g = c.reduce((e, t) => (t.assets.forEach((t) => {
4891
4894
  e[t.source] += 1;
4892
4895
  }), e), {
@@ -4911,15 +4914,15 @@ function si({ cardLayout: e = "auto", className: r, density: i = "comfortable",
4911
4914
  "aria-label": "Asset source counts",
4912
4915
  className: "game-ui-asset-library-counts",
4913
4916
  children: Object.entries(g).map(([e, t]) => /* @__PURE__ */ n(Q, {
4914
- tone: ii[e],
4917
+ tone: ai[e],
4915
4918
  children: [
4916
- ri[e],
4919
+ ii[e],
4917
4920
  " ",
4918
4921
  t
4919
4922
  ]
4920
4923
  }, e))
4921
4924
  }),
4922
- h === 0 ? /* @__PURE__ */ t(Jr, {
4925
+ h === 0 ? /* @__PURE__ */ t(Yr, {
4923
4926
  action: a,
4924
4927
  description: o,
4925
4928
  icon: "gem",
@@ -4931,13 +4934,13 @@ function si({ cardLayout: e = "auto", className: r, density: i = "comfortable",
4931
4934
  className: "game-ui-asset-library-group",
4932
4935
  "data-asset-source": r.source,
4933
4936
  children: [/* @__PURE__ */ n("header", { children: [/* @__PURE__ */ t("strong", { children: r.label }), r.source ? /* @__PURE__ */ t(Q, {
4934
- tone: ii[r.source],
4935
- children: ri[r.source]
4937
+ tone: ai[r.source],
4938
+ children: ii[r.source]
4936
4939
  }) : null] }), /* @__PURE__ */ t("div", {
4937
4940
  className: "game-ui-asset-library-grid",
4938
4941
  children: r.assets.map((n) => {
4939
4942
  let r = e === "auto" ? n.cardLayout : e;
4940
- return /* @__PURE__ */ t(oi, {
4943
+ return /* @__PURE__ */ t(si, {
4941
4944
  ...n,
4942
4945
  ...r ? { cardLayout: r } : {},
4943
4946
  ...u ? { onSelect: u } : {},
@@ -4951,7 +4954,7 @@ function si({ cardLayout: e = "auto", className: r, density: i = "comfortable",
4951
4954
  })
4952
4955
  });
4953
4956
  }
4954
- function ci({ actions: e = [], capacityLabel: r = "Objects", className: i, density: a = "comfortable", maxObjects: o, objectActions: s = [], placedObjects: c, selectedLabel: l = "Selected", selectedTitle: u, statusLabel: d = "Status", statusTone: f = "neutral", statusValue: p = "Idle", title: m }) {
4957
+ function li({ actions: e = [], capacityLabel: r = "Objects", className: i, density: a = "comfortable", maxObjects: o, objectActions: s = [], placedObjects: c, selectedLabel: l = "Selected", selectedTitle: u, statusLabel: d = "Status", statusTone: f = "neutral", statusValue: p = "Idle", title: m }) {
4955
4958
  let h = ["game-ui-placement-toolbar", i].filter(Boolean).join(" "), g = typeof c == "number" && typeof o == "number", _ = g && o > 0 ? Math.min(o, c) : 0;
4956
4959
  return /* @__PURE__ */ t(X, {
4957
4960
  className: h,
@@ -4960,7 +4963,7 @@ function ci({ actions: e = [], capacityLabel: r = "Objects", className: i, densi
4960
4963
  children: /* @__PURE__ */ n("div", {
4961
4964
  "data-density": a,
4962
4965
  children: [
4963
- /* @__PURE__ */ t(Zr, {
4966
+ /* @__PURE__ */ t(Qr, {
4964
4967
  density: a,
4965
4968
  facts: [{
4966
4969
  icon: "gem",
@@ -4976,19 +4979,19 @@ function ci({ actions: e = [], capacityLabel: r = "Objects", className: i, densi
4976
4979
  }],
4977
4980
  label: `${m} facts`
4978
4981
  }),
4979
- g ? /* @__PURE__ */ t(qr, {
4982
+ g ? /* @__PURE__ */ t(Jr, {
4980
4983
  label: r,
4981
4984
  max: o,
4982
4985
  showValue: !0,
4983
4986
  tone: _ >= o ? "warning" : "success",
4984
4987
  value: _
4985
4988
  }) : null,
4986
- e.length > 0 ? /* @__PURE__ */ t($r, {
4989
+ e.length > 0 ? /* @__PURE__ */ t(ei, {
4987
4990
  actions: e,
4988
4991
  density: a,
4989
4992
  label: `${m} actions`
4990
4993
  }) : null,
4991
- s.length > 0 ? /* @__PURE__ */ t($r, {
4994
+ s.length > 0 ? /* @__PURE__ */ t(ei, {
4992
4995
  actions: s,
4993
4996
  density: a,
4994
4997
  label: `${m} object actions`,
@@ -4998,7 +5001,7 @@ function ci({ actions: e = [], capacityLabel: r = "Objects", className: i, densi
4998
5001
  })
4999
5002
  });
5000
5003
  }
5001
- var li = ci, ui = {
5004
+ var ui = li, di = {
5002
5005
  build: "home",
5003
5006
  flatten: "card",
5004
5007
  inspect: "compass",
@@ -5008,7 +5011,7 @@ var li = ci, ui = {
5008
5011
  raise: "energy",
5009
5012
  smooth: "lucky",
5010
5013
  terrain: "portal"
5011
- }, di = {
5014
+ }, fi = {
5012
5015
  error: "danger",
5013
5016
  locked: "warning",
5014
5017
  missing: "danger",
@@ -5016,10 +5019,10 @@ var li = ci, ui = {
5016
5019
  ready: "neutral",
5017
5020
  selected: "success"
5018
5021
  };
5019
- function fi(e, t, n, r) {
5022
+ function pi(e, t, n, r) {
5020
5023
  let i = {
5021
5024
  disabled: !!(r || e.disabled),
5022
- icon: e.icon ?? ui[e.id] ?? "gem",
5025
+ icon: e.icon ?? di[e.id] ?? "gem",
5023
5026
  id: e.id,
5024
5027
  label: e.label,
5025
5028
  selected: e.id === t,
@@ -5027,21 +5030,21 @@ function fi(e, t, n, r) {
5027
5030
  };
5028
5031
  return e.ariaLabel && (i.ariaLabel = e.ariaLabel), e.compactLabel && (i.compactLabel = e.compactLabel), e.meta && (i.meta = e.meta), e.shortcut && (i.shortcut = e.shortcut), n && (i.onAction = n), i;
5029
5032
  }
5030
- function pi(e, t, n) {
5033
+ function mi(e, t, n) {
5031
5034
  return Number.isNaN(e) ? t : Math.min(n, Math.max(t, e));
5032
5035
  }
5033
- function mi(e) {
5036
+ function hi(e) {
5034
5037
  return e;
5035
5038
  }
5036
- function hi(e, t) {
5039
+ function gi(e, t) {
5037
5040
  return e === "auto" ? t === "mobile" || t === "small-mobile" ? "caption" : "hidden" : e;
5038
5041
  }
5039
- function gi({ activeModeId: e, className: r, disabled: i = !1, label: a, modes: o, onModeChange: s, variant: c = "desktop", "data-testid": l }) {
5042
+ function _i({ activeModeId: e, className: r, disabled: i = !1, label: a, modes: o, onModeChange: s, variant: c = "desktop", "data-testid": l }) {
5040
5043
  return /* @__PURE__ */ n("section", {
5041
5044
  "aria-label": a,
5042
5045
  className: ["game-ui-terrain-mode-control", r].filter(Boolean).join(" "),
5043
5046
  "data-ui-hook": "terrain-mode-control",
5044
- "data-variant": mi(c),
5047
+ "data-variant": hi(c),
5045
5048
  "data-testid": l,
5046
5049
  children: [/* @__PURE__ */ t("span", {
5047
5050
  className: "game-ui-sr-only",
@@ -5063,7 +5066,7 @@ function gi({ activeModeId: e, className: r, disabled: i = !1, label: a, modes:
5063
5066
  type: "button",
5064
5067
  children: [
5065
5068
  /* @__PURE__ */ t($, {
5066
- icon: r.icon ?? ui[r.id] ?? "portal",
5069
+ icon: r.icon ?? di[r.id] ?? "portal",
5067
5070
  size: c === "small-mobile" ? "sm" : "md",
5068
5071
  style: "line"
5069
5072
  }),
@@ -5078,8 +5081,8 @@ function gi({ activeModeId: e, className: r, disabled: i = !1, label: a, modes:
5078
5081
  })]
5079
5082
  });
5080
5083
  }
5081
- function _i({ activeToolId: e, className: n, compactLabelMode: r = "auto", density: i = "comfortable", disabled: a = !1, label: o, onToolChange: s, tools: c, variant: l = "desktop", "data-testid": u }) {
5082
- let d = ["game-ui-terrain-tool-strip", n].filter(Boolean).join(" "), f = hi(r, l);
5084
+ function vi({ activeToolId: e, className: n, compactLabelMode: r = "auto", density: i = "comfortable", disabled: a = !1, label: o, onToolChange: s, tools: c, variant: l = "desktop", "data-testid": u }) {
5085
+ let d = ["game-ui-terrain-tool-strip", n].filter(Boolean).join(" "), f = gi(r, l);
5083
5086
  return /* @__PURE__ */ t("section", {
5084
5087
  "aria-label": o,
5085
5088
  className: d,
@@ -5088,8 +5091,8 @@ function _i({ activeToolId: e, className: n, compactLabelMode: r = "auto", densi
5088
5091
  "data-ui-hook": "terrain-tool-strip",
5089
5092
  "data-variant": l,
5090
5093
  "data-testid": u,
5091
- children: /* @__PURE__ */ t($r, {
5092
- actions: c.map((t) => fi(t, e, s, a)),
5094
+ children: /* @__PURE__ */ t(ei, {
5095
+ actions: c.map((t) => pi(t, e, s, a)),
5093
5096
  density: i,
5094
5097
  iconLabelMode: f,
5095
5098
  label: o,
@@ -5097,18 +5100,18 @@ function _i({ activeToolId: e, className: n, compactLabelMode: r = "auto", densi
5097
5100
  })
5098
5101
  });
5099
5102
  }
5100
- function vi({ className: e, labels: r = {}, onRadiusChange: i, onStrengthChange: a, state: o, variant: s = "desktop", "data-testid": c }) {
5101
- let l = ["game-ui-brush-controls", e].filter(Boolean).join(" "), u = o.minRadius ?? 1, d = o.maxRadius ?? 8, f = o.radiusStep ?? .25, p = o.minStrength ?? 0, m = o.maxStrength ?? 1, h = o.strengthStep ?? .05, g = pi(o.radius, u, d), _ = pi(o.strength, p, m), v = !!o.disabled, y = (e) => {
5102
- i?.(pi(Number(e.currentTarget.value), u, d));
5103
+ function yi({ className: e, labels: r = {}, onRadiusChange: i, onStrengthChange: a, state: o, variant: s = "desktop", "data-testid": c }) {
5104
+ let l = ["game-ui-brush-controls", e].filter(Boolean).join(" "), u = o.minRadius ?? 1, d = o.maxRadius ?? 8, f = o.radiusStep ?? .25, p = o.minStrength ?? 0, m = o.maxStrength ?? 1, h = o.strengthStep ?? .05, g = mi(o.radius, u, d), _ = mi(o.strength, p, m), v = !!o.disabled, y = (e) => {
5105
+ i?.(mi(Number(e.currentTarget.value), u, d));
5103
5106
  }, b = (e) => {
5104
- a?.(pi(Number(e.currentTarget.value), p, m));
5107
+ a?.(mi(Number(e.currentTarget.value), p, m));
5105
5108
  };
5106
5109
  return /* @__PURE__ */ n("section", {
5107
5110
  className: l,
5108
5111
  "data-ui-hook": "brush-controls",
5109
5112
  "data-variant": s,
5110
5113
  "data-testid": c,
5111
- children: [/* @__PURE__ */ t(Ur, {
5114
+ children: [/* @__PURE__ */ t(Wr, {
5112
5115
  ...r.radiusHint ? { hint: r.radiusHint } : {},
5113
5116
  label: r.radius ?? "Brush radius",
5114
5117
  children: /* @__PURE__ */ n("div", {
@@ -5138,7 +5141,7 @@ function vi({ className: e, labels: r = {}, onRadiusChange: i, onStrengthChange:
5138
5141
  value: g
5139
5142
  })]
5140
5143
  })
5141
- }), /* @__PURE__ */ t(Ur, {
5144
+ }), /* @__PURE__ */ t(Wr, {
5142
5145
  ...r.strengthHint ? { hint: r.strengthHint } : {},
5143
5146
  label: r.strength ?? "Brush strength",
5144
5147
  children: /* @__PURE__ */ n("div", {
@@ -5171,7 +5174,7 @@ function vi({ className: e, labels: r = {}, onRadiusChange: i, onStrengthChange:
5171
5174
  })]
5172
5175
  });
5173
5176
  }
5174
- function yi({ activeMaterialId: e, className: r, disabled: i = !1, label: a, materials: o, onMaterialChange: s, variant: c = "desktop", "data-testid": l }) {
5177
+ function bi({ activeMaterialId: e, className: r, disabled: i = !1, label: a, materials: o, onMaterialChange: s, variant: c = "desktop", "data-testid": l }) {
5175
5178
  return /* @__PURE__ */ t("section", {
5176
5179
  "aria-label": a,
5177
5180
  className: ["game-ui-material-swatches", r].filter(Boolean).join(" "),
@@ -5214,14 +5217,14 @@ function yi({ activeMaterialId: e, className: r, disabled: i = !1, label: a, mat
5214
5217
  })
5215
5218
  });
5216
5219
  }
5217
- function bi({ canRedo: e = !1, canUndo: n = !1, className: r, disabled: i = !1, label: a, onRedo: o, onUndo: s, redoLabel: c = "Redo", undoLabel: l = "Undo", variant: u = "desktop", "data-testid": d }) {
5220
+ function xi({ canRedo: e = !1, canUndo: n = !1, className: r, disabled: i = !1, label: a, onRedo: o, onUndo: s, redoLabel: c = "Redo", undoLabel: l = "Undo", variant: u = "desktop", "data-testid": d }) {
5218
5221
  return /* @__PURE__ */ t("section", {
5219
5222
  "aria-label": a,
5220
5223
  className: ["game-ui-undo-redo-actions", r].filter(Boolean).join(" "),
5221
5224
  "data-ui-hook": "undo-redo-actions",
5222
5225
  "data-variant": u,
5223
5226
  "data-testid": d,
5224
- children: /* @__PURE__ */ t($r, {
5227
+ children: /* @__PURE__ */ t(ei, {
5225
5228
  actions: [{
5226
5229
  disabled: i || !n,
5227
5230
  icon: "undo",
@@ -5247,7 +5250,7 @@ function bi({ canRedo: e = !1, canUndo: n = !1, className: r, disabled: i = !1,
5247
5250
  })
5248
5251
  });
5249
5252
  }
5250
- function xi({ activeCategoryId: e, categories: r, className: i, density: a = "comfortable", emptyDescription: o = "Building pieces will appear here when a category is available.", emptyTitle: s = "No build pieces ready", label: c, onCategoryChange: l, onSelectItem: u, selectedItemId: d, title: f, variant: p = "desktop", "data-testid": m }) {
5253
+ function Si({ activeCategoryId: e, categories: r, className: i, density: a = "comfortable", emptyDescription: o = "Building pieces will appear here when a category is available.", emptyTitle: s = "No build pieces ready", label: c, onCategoryChange: l, onSelectItem: u, selectedItemId: d, title: f, variant: p = "desktop", "data-testid": m }) {
5251
5254
  let h = ["game-ui-build-library", i].filter(Boolean).join(" "), g = r.filter((e) => !e.disabled), _ = r.find((t) => t.id === e) ?? g[0] ?? r[0], v = _?.items ?? [], y = p === "small-mobile";
5252
5255
  return /* @__PURE__ */ t(X, {
5253
5256
  className: h,
@@ -5277,7 +5280,7 @@ function xi({ activeCategoryId: e, categories: r, className: i, density: a = "co
5277
5280
  type: "button",
5278
5281
  children: [
5279
5282
  /* @__PURE__ */ t($, {
5280
- icon: e.icon ?? ui[e.id] ?? "home",
5283
+ icon: e.icon ?? di[e.id] ?? "home",
5281
5284
  size: "sm",
5282
5285
  style: "line"
5283
5286
  }),
@@ -5286,7 +5289,7 @@ function xi({ activeCategoryId: e, categories: r, className: i, density: a = "co
5286
5289
  ]
5287
5290
  }, e.id);
5288
5291
  })
5289
- }), v.length === 0 || !_ ? /* @__PURE__ */ t(Jr, {
5292
+ }), v.length === 0 || !_ ? /* @__PURE__ */ t(Yr, {
5290
5293
  description: o,
5291
5294
  icon: "home",
5292
5295
  title: s
@@ -5324,7 +5327,7 @@ function xi({ activeCategoryId: e, categories: r, className: i, density: a = "co
5324
5327
  /* @__PURE__ */ n("span", {
5325
5328
  className: "game-ui-build-item-badges",
5326
5329
  children: [/* @__PURE__ */ t(Q, {
5327
- tone: di[i],
5330
+ tone: fi[i],
5328
5331
  children: i
5329
5332
  }), e.badges?.map((e) => /* @__PURE__ */ t(Q, {
5330
5333
  tone: e.tone ?? "neutral",
@@ -5342,7 +5345,7 @@ function xi({ activeCategoryId: e, categories: r, className: i, density: a = "co
5342
5345
  })
5343
5346
  });
5344
5347
  }
5345
- function Si({ children: e, className: r, closeIcon: i = "close", closeLabel: a = "Close tools", disabled: o = !1, label: s, onOpenChange: c, open: l, panelId: u, title: d, triggerIcon: f = "settings", triggerLabel: p = "Tools", variant: m = "mobile", "data-testid": h }) {
5348
+ function Ci({ children: e, className: r, closeIcon: i = "close", closeLabel: a = "Close tools", disabled: o = !1, label: s, onOpenChange: c, open: l, panelId: u, title: d, triggerIcon: f = "settings", triggerLabel: p = "Tools", variant: m = "mobile", "data-testid": h }) {
5346
5349
  let g = ["game-ui-compact-game-drawer", r].filter(Boolean).join(" "), _ = u ?? `${d.toLowerCase().replace(/[^a-z0-9]+/g, "-") || "tools"}-drawer-panel`;
5347
5350
  return /* @__PURE__ */ n("aside", {
5348
5351
  "aria-label": s,
@@ -5377,7 +5380,7 @@ function Si({ children: e, className: r, closeIcon: i = "close", closeLabel: a =
5377
5380
  })]
5378
5381
  });
5379
5382
  }
5380
- function Ci({ status: e }) {
5383
+ function wi({ status: e }) {
5381
5384
  if (!e) return null;
5382
5385
  let r = typeof e.progressValue == "number" && typeof e.progressMax == "number", i = e.tone === "danger" ? "danger" : e.tone === "warning" ? "warning" : "success", a = e.progressMax ?? 100, o = e.progressValue ?? 0;
5383
5386
  return /* @__PURE__ */ n("div", {
@@ -5390,7 +5393,7 @@ function Ci({ status: e }) {
5390
5393
  children: e.label
5391
5394
  }),
5392
5395
  e.description ? /* @__PURE__ */ t("p", { children: e.description }) : null,
5393
- r ? /* @__PURE__ */ t(qr, {
5396
+ r ? /* @__PURE__ */ t(Jr, {
5394
5397
  label: e.progressLabel ?? e.label,
5395
5398
  max: a,
5396
5399
  showValue: !0,
@@ -5400,15 +5403,15 @@ function Ci({ status: e }) {
5400
5403
  ]
5401
5404
  });
5402
5405
  }
5403
- function wi({ activeBuildCategoryId: e, activeMaterialId: r, activeModeId: i, activeToolId: a, brush: o, buildCategories: s = [], density: c = "comfortable", disabled: l = !1, materials: u = [], modes: d, onBrushRadiusChange: f, onBrushStrengthChange: p, onBuildCategoryChange: m, onMaterialChange: h, onModeChange: g, onRedo: _, onSelectBuildItem: v, onToolChange: y, onUndo: b, selectedBuildItemId: x, status: S, toolCompactLabelMode: C = "auto", tools: w, undoRedo: T, variant: E = "desktop" }) {
5406
+ function Ti({ activeBuildCategoryId: e, activeMaterialId: r, activeModeId: i, activeToolId: a, brush: o, buildCategories: s = [], density: c = "comfortable", disabled: l = !1, materials: u = [], modes: d, onBrushRadiusChange: f, onBrushStrengthChange: p, onBuildCategoryChange: m, onMaterialChange: h, onModeChange: g, onRedo: _, onSelectBuildItem: v, onToolChange: y, onUndo: b, selectedBuildItemId: x, status: S, toolCompactLabelMode: C = "auto", tools: w, undoRedo: T, variant: E = "desktop" }) {
5404
5407
  return /* @__PURE__ */ n("div", {
5405
5408
  className: "game-ui-terrain-build-toolbox-body",
5406
5409
  "data-active-mode": i,
5407
5410
  "data-active-tool": a,
5408
5411
  "data-variant": E,
5409
5412
  children: [
5410
- /* @__PURE__ */ t(Ci, { status: S }),
5411
- /* @__PURE__ */ t(gi, {
5413
+ /* @__PURE__ */ t(wi, { status: S }),
5414
+ /* @__PURE__ */ t(_i, {
5412
5415
  activeModeId: i,
5413
5416
  disabled: l,
5414
5417
  label: "Tool mode",
@@ -5419,7 +5422,7 @@ function wi({ activeBuildCategoryId: e, activeMaterialId: r, activeModeId: i, ac
5419
5422
  /* @__PURE__ */ n("div", {
5420
5423
  className: "game-ui-terrain-build-main-grid",
5421
5424
  children: [
5422
- /* @__PURE__ */ t(_i, {
5425
+ /* @__PURE__ */ t(vi, {
5423
5426
  activeToolId: a,
5424
5427
  compactLabelMode: C,
5425
5428
  density: c,
@@ -5429,7 +5432,7 @@ function wi({ activeBuildCategoryId: e, activeMaterialId: r, activeModeId: i, ac
5429
5432
  tools: w,
5430
5433
  variant: E
5431
5434
  }),
5432
- /* @__PURE__ */ t(bi, {
5435
+ /* @__PURE__ */ t(xi, {
5433
5436
  canRedo: T?.canRedo,
5434
5437
  canUndo: T?.canUndo,
5435
5438
  disabled: l,
@@ -5440,7 +5443,7 @@ function wi({ activeBuildCategoryId: e, activeMaterialId: r, activeModeId: i, ac
5440
5443
  undoLabel: T?.undoLabel,
5441
5444
  variant: E
5442
5445
  }),
5443
- /* @__PURE__ */ t(vi, {
5446
+ /* @__PURE__ */ t(yi, {
5444
5447
  onRadiusChange: f,
5445
5448
  onStrengthChange: p,
5446
5449
  state: {
@@ -5449,7 +5452,7 @@ function wi({ activeBuildCategoryId: e, activeMaterialId: r, activeModeId: i, ac
5449
5452
  },
5450
5453
  variant: E
5451
5454
  }),
5452
- u.length > 0 ? /* @__PURE__ */ t(yi, {
5455
+ u.length > 0 ? /* @__PURE__ */ t(bi, {
5453
5456
  activeMaterialId: r,
5454
5457
  disabled: l,
5455
5458
  label: "Terrain materials",
@@ -5459,7 +5462,7 @@ function wi({ activeBuildCategoryId: e, activeMaterialId: r, activeModeId: i, ac
5459
5462
  }) : null
5460
5463
  ]
5461
5464
  }),
5462
- s.length > 0 ? /* @__PURE__ */ t(xi, {
5465
+ s.length > 0 ? /* @__PURE__ */ t(Si, {
5463
5466
  activeCategoryId: e,
5464
5467
  categories: s,
5465
5468
  density: c,
@@ -5473,12 +5476,12 @@ function wi({ activeBuildCategoryId: e, activeMaterialId: r, activeModeId: i, ac
5473
5476
  ]
5474
5477
  });
5475
5478
  }
5476
- function Ti({ className: e, drawerOpen: n = !1, drawerTitle: r = "Terrain and build tools", label: i, onDrawerOpenChange: a, title: o, variant: s = "desktop", "data-testid": c, ...l }) {
5477
- let u = ["game-ui-terrain-build-toolbox", e].filter(Boolean).join(" "), d = /* @__PURE__ */ t(wi, {
5479
+ function Ei({ className: e, drawerOpen: n = !1, drawerTitle: r = "Terrain and build tools", label: i, onDrawerOpenChange: a, title: o, variant: s = "desktop", "data-testid": c, ...l }) {
5480
+ let u = ["game-ui-terrain-build-toolbox", e].filter(Boolean).join(" "), d = /* @__PURE__ */ t(Ti, {
5478
5481
  ...l,
5479
5482
  variant: s
5480
5483
  });
5481
- return s === "mobile" || s === "small-mobile" ? /* @__PURE__ */ t(Si, {
5484
+ return s === "mobile" || s === "small-mobile" ? /* @__PURE__ */ t(Ci, {
5482
5485
  className: u,
5483
5486
  label: i,
5484
5487
  onOpenChange: a,
@@ -5503,7 +5506,7 @@ function Ti({ className: e, drawerOpen: n = !1, drawerTitle: r = "Terrain and bu
5503
5506
  }
5504
5507
  //#endregion
5505
5508
  //#region src/GameContractorTools.tsx
5506
- var Ei = {
5509
+ var Di = {
5507
5510
  accepted: "success",
5508
5511
  blocked: "danger",
5509
5512
  cancelled: "neutral",
@@ -5512,7 +5515,7 @@ var Ei = {
5512
5515
  queued: "warning",
5513
5516
  readyForReview: "success",
5514
5517
  working: "ai"
5515
- }, Di = {
5518
+ }, Oi = {
5516
5519
  accepted: "check",
5517
5520
  blocked: "alert",
5518
5521
  cancelled: "close",
@@ -5521,26 +5524,26 @@ var Ei = {
5521
5524
  queued: "hourglass",
5522
5525
  readyForReview: "vote",
5523
5526
  working: "energy"
5524
- }, Oi = {
5527
+ }, ki = {
5525
5528
  active: "ai",
5526
5529
  blocked: "danger",
5527
5530
  complete: "success",
5528
5531
  pending: "neutral"
5529
- }, ki = {
5532
+ }, Ai = {
5530
5533
  blocked: "danger",
5531
5534
  done: "success",
5532
5535
  idle: "neutral",
5533
5536
  queued: "warning",
5534
5537
  working: "ai"
5535
- }, Ai = {
5538
+ }, ji = {
5536
5539
  "local-only": "Local only",
5537
5540
  mock: "Mock run",
5538
5541
  "paid-disabled": "Paid provider off"
5539
- }, ji = {
5542
+ }, Mi = {
5540
5543
  "local-only": "success",
5541
5544
  mock: "ai",
5542
5545
  "paid-disabled": "warning"
5543
- }, Mi = {
5546
+ }, Ni = {
5544
5547
  accepted: [{
5545
5548
  id: "revert",
5546
5549
  label: "Revert",
@@ -5646,17 +5649,17 @@ var Ei = {
5646
5649
  tone: "danger"
5647
5650
  }]
5648
5651
  };
5649
- function Ni(e, t) {
5652
+ function Pi(e, t) {
5650
5653
  if (t) return t;
5651
5654
  switch (e) {
5652
5655
  case "readyForReview": return "Ready for review";
5653
5656
  default: return e.replace(/([A-Z])/g, " $1").replace(/^./, (e) => e.toUpperCase());
5654
5657
  }
5655
5658
  }
5656
- function Pi(e) {
5659
+ function Fi(e) {
5657
5660
  return e === "blocked" || e === "cancelled" ? "danger" : e === "accepted" || e === "readyForReview" ? "success" : e === "queued" || e === "draft" || e === "preview" ? "warning" : "accent";
5658
5661
  }
5659
- function Fi(e) {
5662
+ function Ii(e) {
5660
5663
  switch (e) {
5661
5664
  case "accepted": return 100;
5662
5665
  case "blocked": return 42;
@@ -5668,7 +5671,7 @@ function Fi(e) {
5668
5671
  case "working": return 64;
5669
5672
  }
5670
5673
  }
5671
- function Ii(e, t, n) {
5674
+ function Li(e, t, n) {
5672
5675
  let r = {
5673
5676
  disabled: !!(n || e.disabled),
5674
5677
  id: e.id,
@@ -5677,14 +5680,14 @@ function Ii(e, t, n) {
5677
5680
  };
5678
5681
  return e.icon && (r.icon = e.icon), e.ariaLabel && (r.ariaLabel = e.ariaLabel), e.meta && (r.meta = e.meta), t && (r.onAction = t), r;
5679
5682
  }
5680
- function Li(e) {
5683
+ function Ri(e) {
5681
5684
  return e === "danger" || e === "warning" ? "alert" : "status";
5682
5685
  }
5683
- function Ri(e) {
5686
+ function zi(e) {
5684
5687
  return !!(e.before && e.after);
5685
5688
  }
5686
- function zi({ className: e, label: r, max: i = 100, progressLabel: a = "Construction progress", showStatusBadge: o = !0, status: s, statusLabel: c, steps: l = [], validationWarnings: u = [], value: d, variant: f = "desktop", "data-testid": p }) {
5687
- let m = ["game-ui-construction-progress", e].filter(Boolean).join(" "), h = d ?? Fi(s), g = Ni(s, c);
5689
+ function Bi({ className: e, label: r, max: i = 100, progressLabel: a = "Construction progress", showStatusBadge: o = !0, status: s, statusLabel: c, steps: l = [], validationWarnings: u = [], value: d, variant: f = "desktop", "data-testid": p }) {
5690
+ let m = ["game-ui-construction-progress", e].filter(Boolean).join(" "), h = d ?? Ii(s), g = Pi(s, c);
5688
5691
  return /* @__PURE__ */ n("section", {
5689
5692
  "aria-label": r,
5690
5693
  className: m,
@@ -5696,18 +5699,18 @@ function zi({ className: e, label: r, max: i = 100, progressLabel: a = "Construc
5696
5699
  /* @__PURE__ */ n("header", {
5697
5700
  className: "game-ui-construction-progress-header",
5698
5701
  children: [/* @__PURE__ */ n("span", { children: [/* @__PURE__ */ t($, {
5699
- icon: Di[s],
5702
+ icon: Oi[s],
5700
5703
  size: "sm"
5701
5704
  }), /* @__PURE__ */ t("strong", { children: a })] }), o ? /* @__PURE__ */ t(Q, {
5702
- tone: Ei[s],
5705
+ tone: Di[s],
5703
5706
  children: g
5704
5707
  }) : null]
5705
5708
  }),
5706
- /* @__PURE__ */ t(qr, {
5709
+ /* @__PURE__ */ t(Jr, {
5707
5710
  label: a,
5708
5711
  max: i,
5709
5712
  showValue: !0,
5710
- tone: Pi(s),
5713
+ tone: Fi(s),
5711
5714
  value: h
5712
5715
  }),
5713
5716
  l.length > 0 ? /* @__PURE__ */ t("ol", {
@@ -5722,7 +5725,7 @@ function zi({ className: e, label: r, max: i = 100, progressLabel: a = "Construc
5722
5725
  }),
5723
5726
  /* @__PURE__ */ n("span", { children: [/* @__PURE__ */ t("strong", { children: e.label }), e.caption ? /* @__PURE__ */ t("small", { children: e.caption }) : null] }),
5724
5727
  /* @__PURE__ */ t(Q, {
5725
- tone: Oi[e.status],
5728
+ tone: ki[e.status],
5726
5729
  children: e.status
5727
5730
  })
5728
5731
  ]
@@ -5734,7 +5737,7 @@ function zi({ className: e, label: r, max: i = 100, progressLabel: a = "Construc
5734
5737
  children: u.map((e) => /* @__PURE__ */ n("div", {
5735
5738
  className: "game-ui-construction-warning",
5736
5739
  "data-warning-tone": e.tone ?? "warning",
5737
- role: Li(e.tone),
5740
+ role: Ri(e.tone),
5738
5741
  children: [/* @__PURE__ */ t($, {
5739
5742
  icon: e.tone === "danger" || e.tone === "warning" ? "alert" : "check",
5740
5743
  size: "sm"
@@ -5744,8 +5747,8 @@ function zi({ className: e, label: r, max: i = 100, progressLabel: a = "Construc
5744
5747
  ]
5745
5748
  });
5746
5749
  }
5747
- function Bi({ actions: e, className: r, disabled: i = !1, label: a, localOnlyLabel: o = "Local-only construction", onAction: s, providerMode: c, status: l, validationWarnings: u = [], variant: d = "desktop", "data-testid": f }) {
5748
- let p = ["game-ui-construction-approval-bar", r].filter(Boolean).join(" "), m = e ?? Mi[l], h = u.filter((e) => e.tone !== "success").length, g = m.map((e) => Ii(e, s, i));
5750
+ function Vi({ actions: e, className: r, disabled: i = !1, label: a, localOnlyLabel: o = "Local-only construction", onAction: s, providerMode: c, status: l, validationWarnings: u = [], variant: d = "desktop", "data-testid": f }) {
5751
+ let p = ["game-ui-construction-approval-bar", r].filter(Boolean).join(" "), m = e ?? Ni[l], h = u.filter((e) => e.tone !== "success").length, g = m.map((e) => Li(e, s, i));
5749
5752
  return /* @__PURE__ */ n("section", {
5750
5753
  "aria-label": a,
5751
5754
  className: p,
@@ -5756,8 +5759,8 @@ function Bi({ actions: e, className: r, disabled: i = !1, label: a, localOnlyLab
5756
5759
  children: [/* @__PURE__ */ n("div", {
5757
5760
  className: "game-ui-construction-approval-meta",
5758
5761
  children: [c ? /* @__PURE__ */ t(Q, {
5759
- tone: ji[c],
5760
- children: Ai[c]
5762
+ tone: Mi[c],
5763
+ children: ji[c]
5761
5764
  }) : /* @__PURE__ */ t(Q, {
5762
5765
  tone: "success",
5763
5766
  children: o
@@ -5772,21 +5775,21 @@ function Bi({ actions: e, className: r, disabled: i = !1, label: a, localOnlyLab
5772
5775
  tone: "success",
5773
5776
  children: "Validation clear"
5774
5777
  })]
5775
- }), g.length > 0 ? /* @__PURE__ */ t($r, {
5778
+ }), g.length > 0 ? /* @__PURE__ */ t(ei, {
5776
5779
  actions: g,
5777
5780
  density: d === "small-mobile" ? "dense" : "comfortable",
5778
5781
  label: `${a} actions`
5779
5782
  }) : null]
5780
5783
  });
5781
5784
  }
5782
- function Vi({ className: e, crew: r, emptyDescription: i = "Robot crew members appear here when a construction job starts.", emptyTitle: a = "No robot crew assigned", label: o, title: s, variant: c = "desktop", "data-testid": l }) {
5785
+ function Hi({ className: e, crew: r, emptyDescription: i = "Robot crew members appear here when a construction job starts.", emptyTitle: a = "No robot crew assigned", label: o, title: s, variant: c = "desktop", "data-testid": l }) {
5783
5786
  return /* @__PURE__ */ n("section", {
5784
5787
  "aria-label": o,
5785
5788
  className: ["game-ui-robot-crew-status", e].filter(Boolean).join(" "),
5786
5789
  "data-ui-hook": "robot-crew-status",
5787
5790
  "data-variant": c,
5788
5791
  "data-testid": l,
5789
- children: [s ? /* @__PURE__ */ t("header", { children: /* @__PURE__ */ t("strong", { children: s }) }) : null, r.length === 0 ? /* @__PURE__ */ t(Jr, {
5792
+ children: [s ? /* @__PURE__ */ t("header", { children: /* @__PURE__ */ t("strong", { children: s }) }) : null, r.length === 0 ? /* @__PURE__ */ t(Yr, {
5790
5793
  description: i,
5791
5794
  icon: "ai",
5792
5795
  title: a
@@ -5809,7 +5812,7 @@ function Vi({ className: e, crew: r, emptyDescription: i = "Robot crew members a
5809
5812
  ]
5810
5813
  }),
5811
5814
  /* @__PURE__ */ t(Q, {
5812
- tone: ki[e.status],
5815
+ tone: Ai[e.status],
5813
5816
  children: e.status
5814
5817
  })
5815
5818
  ]
@@ -5817,7 +5820,7 @@ function Vi({ className: e, crew: r, emptyDescription: i = "Robot crew members a
5817
5820
  })]
5818
5821
  });
5819
5822
  }
5820
- function Hi({ activeView: e, after: r, before: i, className: a, label: o, onViewChange: s, variant: c = "desktop", "data-testid": l }) {
5823
+ function Ui({ activeView: e, after: r, before: i, className: a, label: o, onViewChange: s, variant: c = "desktop", "data-testid": l }) {
5821
5824
  let u = ["game-ui-before-after-toggle", a].filter(Boolean).join(" "), d = e === "before" ? i : r;
5822
5825
  return /* @__PURE__ */ n("section", {
5823
5826
  "aria-label": o,
@@ -5826,7 +5829,7 @@ function Hi({ activeView: e, after: r, before: i, className: a, label: o, onView
5826
5829
  "data-ui-hook": "before-after-toggle",
5827
5830
  "data-variant": c,
5828
5831
  "data-testid": l,
5829
- children: [/* @__PURE__ */ t(tr, {
5832
+ children: [/* @__PURE__ */ t(nr, {
5830
5833
  activeId: e,
5831
5834
  label: `${o} view`,
5832
5835
  ...s ? { onSelect: (e) => s(e) } : {},
@@ -5853,8 +5856,8 @@ function Hi({ activeView: e, after: r, before: i, className: a, label: o, onView
5853
5856
  })]
5854
5857
  });
5855
5858
  }
5856
- function Ui({ className: e, density: r = "comfortable", job: i, onAction: a, onSelect: o, selected: s = !1, showApprovalBar: c = !0, showBeforeAfter: l = !1, variant: u = "desktop", "data-testid": d }) {
5857
- let f = ["game-ui-construction-job-card", e].filter(Boolean).join(" "), p = Ni(i.status, i.statusLabel), m = u === "mobile" || u === "small-mobile", h = i.facts ?? [];
5859
+ function Wi({ className: e, density: r = "comfortable", job: i, onAction: a, onSelect: o, selected: s = !1, showApprovalBar: c = !0, showBeforeAfter: l = !1, variant: u = "desktop", "data-testid": d }) {
5860
+ let f = ["game-ui-construction-job-card", e].filter(Boolean).join(" "), p = Pi(i.status, i.statusLabel), m = u === "mobile" || u === "small-mobile", h = i.facts ?? [];
5858
5861
  return /* @__PURE__ */ n("article", {
5859
5862
  className: f,
5860
5863
  "data-density": r,
@@ -5874,19 +5877,19 @@ function Ui({ className: e, density: r = "comfortable", job: i, onAction: a, onS
5874
5877
  onClick: () => o?.(i.id),
5875
5878
  type: "button",
5876
5879
  children: [/* @__PURE__ */ t($, {
5877
- icon: Di[i.status],
5880
+ icon: Oi[i.status],
5878
5881
  size: m ? "sm" : "md"
5879
5882
  }), /* @__PURE__ */ n("span", { children: [/* @__PURE__ */ t("strong", { children: i.title }), i.description ? /* @__PURE__ */ t("small", { children: i.description }) : null] })]
5880
5883
  }), /* @__PURE__ */ n("span", {
5881
5884
  className: "game-ui-construction-job-badges",
5882
5885
  children: [
5883
5886
  /* @__PURE__ */ t(Q, {
5884
- tone: Ei[i.status],
5887
+ tone: Di[i.status],
5885
5888
  children: p
5886
5889
  }),
5887
5890
  i.providerMode ? /* @__PURE__ */ t(Q, {
5888
- tone: ji[i.providerMode],
5889
- children: Ai[i.providerMode]
5891
+ tone: Mi[i.providerMode],
5892
+ children: ji[i.providerMode]
5890
5893
  }) : null,
5891
5894
  i.badges?.map((e) => /* @__PURE__ */ t(Q, {
5892
5895
  tone: e.tone ?? "neutral",
@@ -5904,7 +5907,7 @@ function Ui({ className: e, density: r = "comfortable", job: i, onAction: a, onS
5904
5907
  h.map((e) => /* @__PURE__ */ n("span", { children: [/* @__PURE__ */ t("small", { children: e.label }), /* @__PURE__ */ t("b", { children: e.value })] }, e.id))
5905
5908
  ]
5906
5909
  }),
5907
- /* @__PURE__ */ t(zi, {
5910
+ /* @__PURE__ */ t(Bi, {
5908
5911
  label: `${i.title} progress`,
5909
5912
  progressLabel: i.progressLabel,
5910
5913
  status: i.status,
@@ -5915,19 +5918,19 @@ function Ui({ className: e, density: r = "comfortable", job: i, onAction: a, onS
5915
5918
  max: i.progressMax,
5916
5919
  variant: u
5917
5920
  }),
5918
- l && Ri(i) ? /* @__PURE__ */ t(Hi, {
5921
+ l && zi(i) ? /* @__PURE__ */ t(Ui, {
5919
5922
  activeView: "after",
5920
5923
  after: i.after,
5921
5924
  before: i.before,
5922
5925
  label: `${i.title} preview`,
5923
5926
  variant: u
5924
5927
  }) : null,
5925
- i.crew && i.crew.length > 0 ? /* @__PURE__ */ t(Vi, {
5928
+ i.crew && i.crew.length > 0 ? /* @__PURE__ */ t(Hi, {
5926
5929
  crew: i.crew,
5927
5930
  label: `${i.title} robot crew`,
5928
5931
  variant: u
5929
5932
  }) : null,
5930
- c ? /* @__PURE__ */ t(Bi, {
5933
+ c ? /* @__PURE__ */ t(Vi, {
5931
5934
  actions: i.actions,
5932
5935
  label: `${i.title} approval`,
5933
5936
  onAction: (e) => a?.(e, i.id),
@@ -5939,8 +5942,8 @@ function Ui({ className: e, density: r = "comfortable", job: i, onAction: a, onS
5939
5942
  ]
5940
5943
  });
5941
5944
  }
5942
- function Wi({ children: e, className: n, closeLabel: r = "Close jobs", disabled: i = !1, jobs: a = [], label: o, onAction: s, onOpenChange: c, onSelectJob: l, open: u, panelId: d = "game-compact-job-drawer-panel", selectedJobId: f, title: p, triggerLabel: m = "Construction jobs", variant: h = "mobile", "data-testid": g }) {
5943
- return /* @__PURE__ */ t(Si, {
5945
+ function Gi({ children: e, className: n, closeLabel: r = "Close jobs", disabled: i = !1, jobs: a = [], label: o, onAction: s, onOpenChange: c, onSelectJob: l, open: u, panelId: d = "game-compact-job-drawer-panel", selectedJobId: f, title: p, triggerLabel: m = "Construction jobs", variant: h = "mobile", "data-testid": g }) {
5946
+ return /* @__PURE__ */ t(Ci, {
5944
5947
  className: ["game-ui-compact-job-drawer", n].filter(Boolean).join(" "),
5945
5948
  closeLabel: r,
5946
5949
  disabled: i,
@@ -5956,7 +5959,7 @@ function Wi({ children: e, className: n, closeLabel: r = "Close jobs", disabled:
5956
5959
  children: e ?? /* @__PURE__ */ t("div", {
5957
5960
  className: "game-ui-compact-job-drawer-list",
5958
5961
  tabIndex: 0,
5959
- children: a.map((e) => /* @__PURE__ */ t(Ui, {
5962
+ children: a.map((e) => /* @__PURE__ */ t(Wi, {
5960
5963
  density: "dense",
5961
5964
  job: e,
5962
5965
  onAction: s,
@@ -5968,7 +5971,7 @@ function Wi({ children: e, className: n, closeLabel: r = "Close jobs", disabled:
5968
5971
  })
5969
5972
  });
5970
5973
  }
5971
- function Gi({ activePreviewView: e = "after", className: r, density: i = "comfortable", drawerOpen: a = !1, emptyDescription: o = "Draft construction jobs will appear here before any provider call is allowed.", emptyTitle: s = "No construction jobs", jobs: c, label: l, onAction: u, onDrawerOpenChange: d, onPreviewViewChange: f, onSelectJob: p, selectedJobId: m, subtitle: h, title: g, variant: _ = "desktop", "data-testid": v }) {
5974
+ function Ki({ activePreviewView: e = "after", className: r, density: i = "comfortable", drawerOpen: a = !1, emptyDescription: o = "Draft construction jobs will appear here before any provider call is allowed.", emptyTitle: s = "No construction jobs", jobs: c, label: l, onAction: u, onDrawerOpenChange: d, onPreviewViewChange: f, onSelectJob: p, selectedJobId: m, subtitle: h, title: g, variant: _ = "desktop", "data-testid": v }) {
5972
5975
  let y = ["game-ui-contractor-panel", r].filter(Boolean).join(" "), b = c.find((e) => e.id === m) ?? c[0];
5973
5976
  return _ === "mobile" || _ === "small-mobile" ? /* @__PURE__ */ n("section", {
5974
5977
  "aria-label": l,
@@ -5977,7 +5980,7 @@ function Gi({ activePreviewView: e = "after", className: r, density: i = "comfor
5977
5980
  "data-variant": _,
5978
5981
  "data-testid": v,
5979
5982
  children: [
5980
- /* @__PURE__ */ t(Wi, {
5983
+ /* @__PURE__ */ t(Gi, {
5981
5984
  jobs: c,
5982
5985
  label: `${l} drawer`,
5983
5986
  onAction: u,
@@ -5989,16 +5992,16 @@ function Gi({ activePreviewView: e = "after", className: r, density: i = "comfor
5989
5992
  triggerLabel: "Contractor",
5990
5993
  variant: _
5991
5994
  }),
5992
- b && !a ? /* @__PURE__ */ t(Ui, {
5995
+ b && !a ? /* @__PURE__ */ t(Wi, {
5993
5996
  density: "dense",
5994
5997
  job: b,
5995
5998
  onAction: u,
5996
5999
  onSelect: p,
5997
6000
  selected: !0,
5998
- showBeforeAfter: Ri(b),
6001
+ showBeforeAfter: zi(b),
5999
6002
  variant: _
6000
6003
  }) : null,
6001
- b ? null : /* @__PURE__ */ t(Jr, {
6004
+ b ? null : /* @__PURE__ */ t(Yr, {
6002
6005
  description: o,
6003
6006
  icon: "energy",
6004
6007
  title: s
@@ -6019,7 +6022,7 @@ function Gi({ activePreviewView: e = "after", className: r, density: i = "comfor
6019
6022
  className: "game-ui-contractor-panel-subtitle",
6020
6023
  children: h
6021
6024
  }) : null,
6022
- c.length === 0 ? /* @__PURE__ */ t(Jr, {
6025
+ c.length === 0 ? /* @__PURE__ */ t(Yr, {
6023
6026
  description: o,
6024
6027
  icon: "energy",
6025
6028
  title: s
@@ -6030,7 +6033,7 @@ function Gi({ activePreviewView: e = "after", className: r, density: i = "comfor
6030
6033
  "aria-label": "Construction job queue",
6031
6034
  className: "game-ui-contractor-job-list",
6032
6035
  tabIndex: 0,
6033
- children: c.map((e) => /* @__PURE__ */ t(Ui, {
6036
+ children: c.map((e) => /* @__PURE__ */ t(Wi, {
6034
6037
  density: i,
6035
6038
  job: e,
6036
6039
  onAction: u,
@@ -6043,7 +6046,7 @@ function Gi({ activePreviewView: e = "after", className: r, density: i = "comfor
6043
6046
  className: "game-ui-contractor-detail",
6044
6047
  "aria-label": `${b.title} detail`,
6045
6048
  children: [
6046
- /* @__PURE__ */ t(zi, {
6049
+ /* @__PURE__ */ t(Bi, {
6047
6050
  label: `${b.title} progress detail`,
6048
6051
  progressLabel: b.progressLabel,
6049
6052
  status: b.status,
@@ -6054,7 +6057,7 @@ function Gi({ activePreviewView: e = "after", className: r, density: i = "comfor
6054
6057
  max: b.progressMax,
6055
6058
  variant: _
6056
6059
  }),
6057
- Ri(b) ? /* @__PURE__ */ t(Hi, {
6060
+ zi(b) ? /* @__PURE__ */ t(Ui, {
6058
6061
  activeView: e,
6059
6062
  after: b.after,
6060
6063
  before: b.before,
@@ -6062,13 +6065,13 @@ function Gi({ activePreviewView: e = "after", className: r, density: i = "comfor
6062
6065
  onViewChange: f,
6063
6066
  variant: _
6064
6067
  }) : null,
6065
- /* @__PURE__ */ t(Vi, {
6068
+ /* @__PURE__ */ t(Hi, {
6066
6069
  crew: b.crew ?? [],
6067
6070
  label: `${b.title} robot crew`,
6068
6071
  title: "Robot crew",
6069
6072
  variant: _
6070
6073
  }),
6071
- /* @__PURE__ */ t(Bi, {
6074
+ /* @__PURE__ */ t(Vi, {
6072
6075
  actions: b.actions,
6073
6076
  label: `${b.title} approval`,
6074
6077
  onAction: u ? (e) => u(e, b.id) : void 0,
@@ -6086,16 +6089,16 @@ function Gi({ activePreviewView: e = "after", className: r, density: i = "comfor
6086
6089
  }
6087
6090
  //#endregion
6088
6091
  //#region src/GamePanelSystem.tsx
6089
- function Ki(...e) {
6092
+ function qi(...e) {
6090
6093
  return e.filter(Boolean).join(" ");
6091
6094
  }
6092
- var qi = {
6095
+ var Ji = {
6093
6096
  collapse: "Collapse",
6094
6097
  expand: "Expand"
6095
6098
  };
6096
- function Ji({ actions: e, children: r, className: i, defaultOpen: a = !0, labels: o, onOpenChange: s, open: c, title: l, tone: d = "default", ...f }) {
6099
+ function Yi({ actions: e, children: r, className: i, defaultOpen: a = !0, labels: o, onOpenChange: s, open: c, title: l, tone: d = "default", ...f }) {
6097
6100
  let p = u(), [h, g] = m(a), _ = c ?? h, v = {
6098
- ...qi,
6101
+ ...Ji,
6099
6102
  ...o
6100
6103
  }, y = () => {
6101
6104
  let e = !_;
@@ -6103,7 +6106,7 @@ function Ji({ actions: e, children: r, className: i, defaultOpen: a = !0, labels
6103
6106
  };
6104
6107
  return /* @__PURE__ */ n("section", {
6105
6108
  ...f,
6106
- className: Ki("game-ui-collapsible", i),
6109
+ className: qi("game-ui-collapsible", i),
6107
6110
  "data-open": _,
6108
6111
  "data-panel-tone": d,
6109
6112
  children: [/* @__PURE__ */ n("header", {
@@ -6142,13 +6145,13 @@ function Ji({ actions: e, children: r, className: i, defaultOpen: a = !0, labels
6142
6145
  })]
6143
6146
  });
6144
6147
  }
6145
- var Yi = {
6148
+ var Xi = {
6146
6149
  close: "Close",
6147
6150
  maximize: "Maximize",
6148
6151
  minimize: "Minimize",
6149
6152
  restore: "Restore"
6150
6153
  };
6151
- function Xi({ kind: e }) {
6154
+ function Zi({ kind: e }) {
6152
6155
  return /* @__PURE__ */ t("svg", {
6153
6156
  "aria-hidden": "true",
6154
6157
  fill: "none",
@@ -6168,9 +6171,9 @@ function Xi({ kind: e }) {
6168
6171
  })
6169
6172
  });
6170
6173
  }
6171
- function Zi({ allowMaximize: e = !0, allowMinimize: r = !0, children: i, className: a, defaultState: o = "normal", footer: s, icon: c, labels: l, onClose: u, onStateChange: d, state: f, title: p, ...h }) {
6174
+ function Qi({ allowMaximize: e = !0, allowMinimize: r = !0, children: i, className: a, defaultState: o = "normal", footer: s, icon: c, labels: l, onClose: u, onStateChange: d, state: f, title: p, ...h }) {
6172
6175
  let [g, _] = m(o), v = f ?? g, y = {
6173
- ...Yi,
6176
+ ...Xi,
6174
6177
  ...l
6175
6178
  }, b = (e) => {
6176
6179
  f === void 0 && _(e), d?.(e);
@@ -6178,7 +6181,7 @@ function Zi({ allowMaximize: e = !0, allowMinimize: r = !0, children: i, classNa
6178
6181
  return /* @__PURE__ */ n("section", {
6179
6182
  ...h,
6180
6183
  "aria-label": p,
6181
- className: Ki("game-ui-window", a),
6184
+ className: qi("game-ui-window", a),
6182
6185
  "data-window-state": v,
6183
6186
  role: "group",
6184
6187
  children: [/* @__PURE__ */ n("header", {
@@ -6201,21 +6204,21 @@ function Zi({ allowMaximize: e = !0, allowMinimize: r = !0, children: i, classNa
6201
6204
  className: "game-ui-icon-button game-ui-window-button",
6202
6205
  onClick: () => b(x ? "normal" : "minimized"),
6203
6206
  type: "button",
6204
- children: /* @__PURE__ */ t(Xi, { kind: x ? "restore" : "minimize" })
6207
+ children: /* @__PURE__ */ t(Zi, { kind: x ? "restore" : "minimize" })
6205
6208
  }) : null,
6206
6209
  e ? /* @__PURE__ */ t("button", {
6207
6210
  "aria-label": S ? y.restore : y.maximize,
6208
6211
  className: "game-ui-icon-button game-ui-window-button",
6209
6212
  onClick: () => b(S ? "normal" : "maximized"),
6210
6213
  type: "button",
6211
- children: /* @__PURE__ */ t(Xi, { kind: S ? "restore" : "maximize" })
6214
+ children: /* @__PURE__ */ t(Zi, { kind: S ? "restore" : "maximize" })
6212
6215
  }) : null,
6213
6216
  u ? /* @__PURE__ */ t("button", {
6214
6217
  "aria-label": y.close,
6215
6218
  className: "game-ui-icon-button game-ui-window-button",
6216
6219
  onClick: u,
6217
6220
  type: "button",
6218
- children: /* @__PURE__ */ t(Xi, { kind: "close" })
6221
+ children: /* @__PURE__ */ t(Zi, { kind: "close" })
6219
6222
  }) : null
6220
6223
  ]
6221
6224
  })
@@ -6235,14 +6238,14 @@ function Zi({ allowMaximize: e = !0, allowMinimize: r = !0, children: i, classNa
6235
6238
  })]
6236
6239
  });
6237
6240
  }
6238
- function Qi({ children: e, className: r, closeLabel: i = "Close", closeOnBackdrop: a = !0, footer: o, onClose: s, open: c, position: d = "center", size: f = "md", title: m }) {
6241
+ function $i({ children: e, className: r, closeLabel: i = "Close", closeOnBackdrop: a = !0, footer: o, onClose: s, open: c, position: d = "center", size: f = "md", title: m }) {
6239
6242
  let h = p(null), g = u();
6240
6243
  return l(() => {
6241
6244
  let e = h.current;
6242
6245
  e && (c && !e.open && e.showModal(), !c && e.open && e.close());
6243
6246
  }, [c]), /* @__PURE__ */ t("dialog", {
6244
6247
  "aria-labelledby": g,
6245
- className: Ki("game-ui-modal", r),
6248
+ className: qi("game-ui-modal", r),
6246
6249
  "data-position": d,
6247
6250
  "data-size": f,
6248
6251
  onCancel: (e) => {
@@ -6266,7 +6269,7 @@ function Qi({ children: e, className: r, closeLabel: i = "Close", closeOnBackdro
6266
6269
  className: "game-ui-icon-button game-ui-window-button",
6267
6270
  onClick: s,
6268
6271
  type: "button",
6269
- children: /* @__PURE__ */ t(Xi, { kind: "close" })
6272
+ children: /* @__PURE__ */ t(Zi, { kind: "close" })
6270
6273
  })]
6271
6274
  }),
6272
6275
  /* @__PURE__ */ t("div", {
@@ -6283,7 +6286,7 @@ function Qi({ children: e, className: r, closeLabel: i = "Close", closeOnBackdro
6283
6286
  }
6284
6287
  //#endregion
6285
6288
  //#region src/previewStates.ts
6286
- var $i = [
6289
+ var ea = [
6287
6290
  {
6288
6291
  id: "history-human-long",
6289
6292
  kind: "human",
@@ -6305,23 +6308,23 @@ var $i = [
6305
6308
  speaker: "Table",
6306
6309
  text: "Three votes are locked. One more read can still change the pact."
6307
6310
  }
6308
- ], ea = {
6311
+ ], ta = {
6312
+ ...z,
6313
+ ...ye,
6314
+ ...be,
6309
6315
  ...B,
6310
6316
  ...V,
6311
- ...ve,
6312
6317
  ...H,
6313
6318
  ...U,
6314
- ...W,
6315
- ...ye,
6316
- ...xe,
6317
- ...R
6318
- }, ta = {
6319
+ ...Se,
6320
+ ...L
6321
+ }, na = {
6319
6322
  toneAttr: "data-game-ui-tone",
6320
6323
  toneGlass: "glass",
6321
6324
  densityAttr: "data-game-ui-density",
6322
6325
  densityCompact: "compact",
6323
6326
  scopeClass: "game-ui-overlay-scope"
6324
- }, na = be, ra = /* @__PURE__ */ "--game-ui-bg.--game-ui-surface.--game-ui-surface-raised.--game-ui-panel.--game-ui-panel-strong.--game-ui-panel-deep.--game-ui-text.--game-ui-text-muted.--game-ui-accent.--game-ui-accent-bright.--game-ui-secondary.--game-ui-success.--game-ui-success-bright.--game-ui-danger.--game-ui-danger-bright.--game-ui-warning.--game-ui-focus-ring.--game-ui-border-subtle.--game-ui-border-strong.--game-ui-disabled.--game-ui-ink-deep.--game-ui-border-ink.--game-ui-wood.--game-ui-ink-title.--game-ui-ink-heading.--game-ui-liquid-metal-face.--game-ui-liquid-metal-ink".split("."), ia = {
6327
+ }, ra = xe, ia = /* @__PURE__ */ "--game-ui-bg.--game-ui-surface.--game-ui-surface-raised.--game-ui-panel.--game-ui-panel-strong.--game-ui-panel-deep.--game-ui-text.--game-ui-text-muted.--game-ui-accent.--game-ui-accent-bright.--game-ui-secondary.--game-ui-success.--game-ui-success-bright.--game-ui-danger.--game-ui-danger-bright.--game-ui-warning.--game-ui-focus-ring.--game-ui-border-subtle.--game-ui-border-strong.--game-ui-disabled.--game-ui-ink-deep.--game-ui-border-ink.--game-ui-wood.--game-ui-ink-title.--game-ui-ink-heading.--game-ui-liquid-metal-face.--game-ui-liquid-metal-ink".split("."), aa = {
6325
6328
  en: {
6326
6329
  triggerLabel: "EN",
6327
6330
  langMenuLabel: "Preview language",
@@ -6523,7 +6526,7 @@ var $i = [
6523
6526
  hint: "Rotate manually if this browser blocks automatic landscape lock."
6524
6527
  },
6525
6528
  historyLabel: "Round history",
6526
- history: $i
6529
+ history: ea
6527
6530
  },
6528
6531
  "zh-CN": {
6529
6532
  triggerLabel: "中",
@@ -6750,61 +6753,61 @@ var $i = [
6750
6753
  }
6751
6754
  ]
6752
6755
  }
6753
- }, aa = i(ia.en), oa = () => c(aa), sa = [
6756
+ }, oa = i(aa.en), sa = () => c(oa), ca = [
6754
6757
  {
6755
6758
  id: "colors",
6756
6759
  tokens: I
6757
6760
  },
6758
6761
  {
6759
6762
  id: "semantic",
6760
- tokens: B
6763
+ tokens: z
6761
6764
  },
6762
6765
  {
6763
6766
  id: "typography",
6764
- tokens: V
6767
+ tokens: ye
6765
6768
  },
6766
6769
  {
6767
6770
  id: "spacing",
6768
- tokens: ve
6771
+ tokens: be
6769
6772
  },
6770
6773
  {
6771
6774
  id: "radius",
6772
- tokens: H
6775
+ tokens: B
6773
6776
  },
6774
6777
  {
6775
6778
  id: "elevation",
6776
- tokens: U
6779
+ tokens: V
6777
6780
  },
6778
6781
  {
6779
6782
  id: "motion",
6780
- tokens: W
6783
+ tokens: H
6781
6784
  },
6782
6785
  {
6783
6786
  id: "overlayGlass",
6784
- tokens: z
6787
+ tokens: R
6785
6788
  },
6786
6789
  {
6787
6790
  id: "liquidMetal",
6788
- tokens: L
6791
+ tokens: ve
6789
6792
  },
6790
6793
  {
6791
6794
  id: "liquidGooey",
6792
- tokens: R
6795
+ tokens: L
6793
6796
  },
6794
6797
  {
6795
6798
  id: "layers",
6796
- tokens: ye
6799
+ tokens: U
6797
6800
  },
6798
6801
  {
6799
6802
  id: "targets",
6800
- tokens: be
6803
+ tokens: xe
6801
6804
  },
6802
6805
  {
6803
6806
  id: "assetSizing",
6804
- tokens: xe
6807
+ tokens: Se
6805
6808
  }
6806
6809
  ];
6807
- function ca({ id: e, label: r, tokens: i }) {
6810
+ function la({ id: e, label: r, tokens: i }) {
6808
6811
  return /* @__PURE__ */ n("article", {
6809
6812
  className: "game-ui-token-card",
6810
6813
  children: [/* @__PURE__ */ t("h3", { children: r }), /* @__PURE__ */ t("div", {
@@ -6816,7 +6819,7 @@ function ca({ id: e, label: r, tokens: i }) {
6816
6819
  })]
6817
6820
  });
6818
6821
  }
6819
- function la() {
6822
+ function ua() {
6820
6823
  return /* @__PURE__ */ t("div", {
6821
6824
  "aria-label": "Clay color swatches",
6822
6825
  className: "game-ui-swatch-grid",
@@ -6826,8 +6829,8 @@ function la() {
6826
6829
  }, e))
6827
6830
  });
6828
6831
  }
6829
- function ua() {
6830
- let { type: e } = oa();
6832
+ function da() {
6833
+ let { type: e } = sa();
6831
6834
  return /* @__PURE__ */ n("div", {
6832
6835
  className: "game-ui-type-scale",
6833
6836
  children: [
@@ -6842,8 +6845,8 @@ function ua() {
6842
6845
  ]
6843
6846
  });
6844
6847
  }
6845
- function da() {
6846
- let { buttons: e } = oa();
6848
+ function fa() {
6849
+ let { buttons: e } = sa();
6847
6850
  return /* @__PURE__ */ n(X, {
6848
6851
  title: e.panelTitle,
6849
6852
  tone: "strong",
@@ -6881,9 +6884,9 @@ function da() {
6881
6884
  /* @__PURE__ */ n("div", {
6882
6885
  className: "game-ui-component-row",
6883
6886
  children: [
6884
- /* @__PURE__ */ t(Qn, {
6887
+ /* @__PURE__ */ t($n, {
6885
6888
  label: e.settingsTip,
6886
- children: /* @__PURE__ */ t(Zn, {
6889
+ children: /* @__PURE__ */ t(Qn, {
6887
6890
  label: e.settingsTip,
6888
6891
  children: /* @__PURE__ */ t($, {
6889
6892
  icon: "settings",
@@ -6891,7 +6894,7 @@ function da() {
6891
6894
  })
6892
6895
  })
6893
6896
  }),
6894
- /* @__PURE__ */ t(Zn, {
6897
+ /* @__PURE__ */ t(Qn, {
6895
6898
  label: e.copyInvite,
6896
6899
  children: /* @__PURE__ */ t($, {
6897
6900
  icon: "copy",
@@ -6912,7 +6915,7 @@ function da() {
6912
6915
  })
6913
6916
  ]
6914
6917
  }),
6915
- /* @__PURE__ */ t(tr, {
6918
+ /* @__PURE__ */ t(nr, {
6916
6919
  activeId: "live",
6917
6920
  label: e.segmentedLabel,
6918
6921
  options: [
@@ -6930,7 +6933,7 @@ function da() {
6930
6933
  }
6931
6934
  ]
6932
6935
  }),
6933
- /* @__PURE__ */ t($n, {
6936
+ /* @__PURE__ */ t(er, {
6934
6937
  activeId: "portal",
6935
6938
  tabs: [
6936
6939
  {
@@ -6947,7 +6950,7 @@ function da() {
6947
6950
  }
6948
6951
  ]
6949
6952
  }),
6950
- /* @__PURE__ */ t(ir, {
6953
+ /* @__PURE__ */ t(ar, {
6951
6954
  items: [
6952
6955
  {
6953
6956
  id: "wave",
@@ -6964,28 +6967,28 @@ function da() {
6964
6967
  ],
6965
6968
  label: e.radialLabel
6966
6969
  }),
6967
- /* @__PURE__ */ t(nr, {
6970
+ /* @__PURE__ */ t(rr, {
6968
6971
  label: e.sliderLabel,
6969
6972
  max: 100,
6970
6973
  min: 0,
6971
6974
  value: 68
6972
6975
  }),
6973
- /* @__PURE__ */ t(rr, {
6976
+ /* @__PURE__ */ t(ir, {
6974
6977
  checked: !0,
6975
6978
  label: e.toggleLabel
6976
6979
  })
6977
6980
  ]
6978
6981
  });
6979
6982
  }
6980
- function fa() {
6981
- let { hud: e, tiles: r } = oa();
6983
+ function pa() {
6984
+ let { hud: e, tiles: r } = sa();
6982
6985
  return /* @__PURE__ */ n("div", {
6983
6986
  className: "game-ui-stage-demo",
6984
6987
  children: [/* @__PURE__ */ n("div", {
6985
6988
  "aria-label": "Clay world HUD preview",
6986
6989
  className: "game-ui-stage-world",
6987
6990
  children: [
6988
- /* @__PURE__ */ t(Ar, {
6991
+ /* @__PURE__ */ t(jr, {
6989
6992
  label: e.label,
6990
6993
  items: [
6991
6994
  {
@@ -7008,15 +7011,15 @@ function fa() {
7008
7011
  value: "02:46"
7009
7012
  }
7010
7013
  ],
7011
- actions: /* @__PURE__ */ n(Xn, {
7014
+ actions: /* @__PURE__ */ n(Zn, {
7012
7015
  label: e.tools,
7013
- children: [/* @__PURE__ */ t(Zn, {
7016
+ children: [/* @__PURE__ */ t(Qn, {
7014
7017
  label: e.history,
7015
7018
  children: /* @__PURE__ */ t($, {
7016
7019
  icon: "scroll",
7017
7020
  size: "sm"
7018
7021
  })
7019
- }), /* @__PURE__ */ t(Zn, {
7022
+ }), /* @__PURE__ */ t(Qn, {
7020
7023
  label: e.settings,
7021
7024
  children: /* @__PURE__ */ t($, {
7022
7025
  icon: "settings",
@@ -7056,7 +7059,7 @@ function fa() {
7056
7059
  }), /* @__PURE__ */ n("div", {
7057
7060
  className: "game-ui-stage-sidecar",
7058
7061
  children: [
7059
- /* @__PURE__ */ t(Mr, {
7062
+ /* @__PURE__ */ t(Nr, {
7060
7063
  badge: r.daily.badge,
7061
7064
  icon: "scroll",
7062
7065
  kicker: r.daily.kicker,
@@ -7065,7 +7068,7 @@ function fa() {
7065
7068
  title: r.daily.title,
7066
7069
  tone: "daily"
7067
7070
  }),
7068
- /* @__PURE__ */ t(Mr, {
7071
+ /* @__PURE__ */ t(Nr, {
7069
7072
  badge: r.portal.badge,
7070
7073
  icon: "portal",
7071
7074
  kicker: r.portal.kicker,
@@ -7073,7 +7076,7 @@ function fa() {
7073
7076
  title: r.portal.title,
7074
7077
  tone: "portal"
7075
7078
  }),
7076
- /* @__PURE__ */ t(Mr, {
7079
+ /* @__PURE__ */ t(Nr, {
7077
7080
  icon: "energy",
7078
7081
  kicker: r.host.kicker,
7079
7082
  summary: r.host.summary,
@@ -7084,21 +7087,21 @@ function fa() {
7084
7087
  })]
7085
7088
  });
7086
7089
  }
7087
- function pa() {
7088
- let { hud: e, buttons: r } = oa(), i = (i) => {
7090
+ function ma() {
7091
+ let { hud: e, buttons: r } = sa(), i = (i) => {
7089
7092
  let a = i === "glass";
7090
7093
  return /* @__PURE__ */ n("div", {
7091
7094
  "aria-label": a ? "Overlay glass HUD" : "Default clay HUD",
7092
7095
  className: [
7093
7096
  "game-ui-stage-world",
7094
7097
  "game-ui-overlay-glass-proof",
7095
- a ? ta.scopeClass : void 0
7098
+ a ? na.scopeClass : void 0
7096
7099
  ].filter(Boolean).join(" "),
7097
7100
  ...a ? {
7098
- [ta.toneAttr]: ta.toneGlass,
7099
- [ta.densityAttr]: ta.densityCompact
7101
+ [na.toneAttr]: na.toneGlass,
7102
+ [na.densityAttr]: na.densityCompact
7100
7103
  } : {},
7101
- children: [/* @__PURE__ */ t(Ar, {
7104
+ children: [/* @__PURE__ */ t(jr, {
7102
7105
  label: e.label,
7103
7106
  items: [
7104
7107
  {
@@ -7121,15 +7124,15 @@ function pa() {
7121
7124
  value: "02:46"
7122
7125
  }
7123
7126
  ],
7124
- actions: /* @__PURE__ */ n(Xn, {
7127
+ actions: /* @__PURE__ */ n(Zn, {
7125
7128
  label: e.tools,
7126
- children: [/* @__PURE__ */ t(Zn, {
7129
+ children: [/* @__PURE__ */ t(Qn, {
7127
7130
  label: e.history,
7128
7131
  children: /* @__PURE__ */ t($, {
7129
7132
  icon: "scroll",
7130
7133
  size: "sm"
7131
7134
  })
7132
- }), /* @__PURE__ */ t(Zn, {
7135
+ }), /* @__PURE__ */ t(Qn, {
7133
7136
  label: e.settings,
7134
7137
  children: /* @__PURE__ */ t($, {
7135
7138
  icon: "settings",
@@ -7150,7 +7153,7 @@ function pa() {
7150
7153
  tone: "success",
7151
7154
  children: r.readyBadge
7152
7155
  }),
7153
- /* @__PURE__ */ t(qr, {
7156
+ /* @__PURE__ */ t(Jr, {
7154
7157
  label: e.reveal,
7155
7158
  value: 68
7156
7159
  })
@@ -7188,22 +7191,22 @@ function pa() {
7188
7191
  children: [/* @__PURE__ */ n("header", { children: [/* @__PURE__ */ t("strong", { children: "Overlay glass + compact" }), /* @__PURE__ */ n("span", {
7189
7192
  className: "game-ui-small-copy",
7190
7193
  children: [
7191
- ta.toneAttr,
7194
+ na.toneAttr,
7192
7195
  "=\"",
7193
- ta.toneGlass,
7196
+ na.toneGlass,
7194
7197
  "\" ·",
7195
7198
  " ",
7196
- ta.densityAttr,
7199
+ na.densityAttr,
7197
7200
  "=\"",
7198
- ta.densityCompact,
7201
+ na.densityCompact,
7199
7202
  "\""
7200
7203
  ]
7201
7204
  })] }), i("glass")]
7202
7205
  })]
7203
7206
  });
7204
7207
  }
7205
- function ma() {
7206
- let { liquidMetal: e } = oa();
7208
+ function ha() {
7209
+ let { liquidMetal: e } = sa();
7207
7210
  return /* @__PURE__ */ n("div", {
7208
7211
  className: "game-ui-liquid-metal-compare",
7209
7212
  children: [/* @__PURE__ */ t(X, {
@@ -7229,13 +7232,13 @@ function ma() {
7229
7232
  })]
7230
7233
  });
7231
7234
  }
7232
- function ha() {
7233
- let { modals: e } = oa();
7235
+ function ga() {
7236
+ let { modals: e } = sa();
7234
7237
  return /* @__PURE__ */ n("div", {
7235
7238
  className: "game-ui-preview-two-up",
7236
- children: [/* @__PURE__ */ n(Jn, {
7239
+ children: [/* @__PURE__ */ n(Yn, {
7237
7240
  title: e.dialogTitle,
7238
- children: [/* @__PURE__ */ t("p", { children: e.dialogBody }), /* @__PURE__ */ n(Xn, {
7241
+ children: [/* @__PURE__ */ t("p", { children: e.dialogBody }), /* @__PURE__ */ n(Zn, {
7239
7242
  label: e.actionsLabel,
7240
7243
  children: [/* @__PURE__ */ t(w, {
7241
7244
  variant: "primary",
@@ -7249,16 +7252,16 @@ function ha() {
7249
7252
  title: e.panelTitle,
7250
7253
  tone: "strong",
7251
7254
  children: [
7252
- /* @__PURE__ */ t(ar, {
7255
+ /* @__PURE__ */ t(or, {
7253
7256
  tone: "success",
7254
7257
  children: e.toastOk
7255
7258
  }),
7256
- /* @__PURE__ */ t(ar, {
7259
+ /* @__PURE__ */ t(or, {
7257
7260
  tone: "danger",
7258
7261
  children: e.toastErr
7259
7262
  }),
7260
- /* @__PURE__ */ t(Ir, { label: e.loading }),
7261
- /* @__PURE__ */ t(Ir, {
7263
+ /* @__PURE__ */ t(Lr, { label: e.loading }),
7264
+ /* @__PURE__ */ t(Lr, {
7262
7265
  label: e.loadingErr,
7263
7266
  tone: "error"
7264
7267
  })
@@ -7266,14 +7269,14 @@ function ha() {
7266
7269
  })]
7267
7270
  });
7268
7271
  }
7269
- function ga() {
7270
- let { cards: e } = oa();
7272
+ function _a() {
7273
+ let { cards: e } = sa();
7271
7274
  return /* @__PURE__ */ n("div", {
7272
7275
  className: "game-ui-preview-two-up",
7273
7276
  children: [/* @__PURE__ */ t(X, {
7274
7277
  title: e.fanTitle,
7275
7278
  tone: "strong",
7276
- children: /* @__PURE__ */ t(jr, {
7279
+ children: /* @__PURE__ */ t(Mr, {
7277
7280
  label: e.fanLabel,
7278
7281
  cards: [
7279
7282
  {
@@ -7305,16 +7308,16 @@ function ga() {
7305
7308
  }), /* @__PURE__ */ n("div", {
7306
7309
  className: "game-ui-asset-path-grid",
7307
7310
  children: [
7308
- /* @__PURE__ */ t("code", { children: gr.catalog.manifest }),
7309
- /* @__PURE__ */ t("code", { children: gr.catalog.sourceCatalog }),
7310
- /* @__PURE__ */ t("code", { children: gr.buttons.primary }),
7311
- /* @__PURE__ */ t("code", { children: gr.icons.trophy })
7311
+ /* @__PURE__ */ t("code", { children: _r.catalog.manifest }),
7312
+ /* @__PURE__ */ t("code", { children: _r.catalog.sourceCatalog }),
7313
+ /* @__PURE__ */ t("code", { children: _r.buttons.primary }),
7314
+ /* @__PURE__ */ t("code", { children: _r.icons.trophy })
7312
7315
  ]
7313
7316
  })]
7314
7317
  })]
7315
7318
  });
7316
7319
  }
7317
- var _a = [
7320
+ var va = [
7318
7321
  {
7319
7322
  id: "terrain",
7320
7323
  label: "Terrain",
@@ -7330,7 +7333,7 @@ var _a = [
7330
7333
  label: "Place",
7331
7334
  icon: "gem"
7332
7335
  }
7333
- ], va = [
7336
+ ], ya = [
7334
7337
  {
7335
7338
  id: "raise",
7336
7339
  label: "Raise",
@@ -7356,7 +7359,7 @@ var _a = [
7356
7359
  label: "Paint",
7357
7360
  shortcut: "5"
7358
7361
  }
7359
- ], ya = [
7362
+ ], ba = [
7360
7363
  {
7361
7364
  id: "grass",
7362
7365
  label: "Grass",
@@ -7372,7 +7375,7 @@ var _a = [
7372
7375
  label: "Path",
7373
7376
  color: "#b98d5d"
7374
7377
  }
7375
- ], ba = [{
7378
+ ], xa = [{
7376
7379
  id: "foundation",
7377
7380
  label: "Foundation",
7378
7381
  icon: "home",
@@ -7391,10 +7394,10 @@ var _a = [
7391
7394
  status: "ready"
7392
7395
  }]
7393
7396
  }];
7394
- function xa() {
7397
+ function Sa() {
7395
7398
  return /* @__PURE__ */ n("div", {
7396
7399
  className: "game-ui-preview-two-up",
7397
- children: [/* @__PURE__ */ t(Ti, {
7400
+ children: [/* @__PURE__ */ t(Ei, {
7398
7401
  activeBuildCategoryId: "foundation",
7399
7402
  activeMaterialId: "grass",
7400
7403
  activeModeId: "terrain",
@@ -7403,10 +7406,10 @@ function xa() {
7403
7406
  radius: 2.75,
7404
7407
  strength: .45
7405
7408
  },
7406
- buildCategories: ba,
7409
+ buildCategories: xa,
7407
7410
  label: "Desktop terrain and build tools",
7408
- materials: ya,
7409
- modes: _a,
7411
+ materials: ba,
7412
+ modes: va,
7410
7413
  selectedBuildItemId: "floor-2x2",
7411
7414
  status: {
7412
7415
  label: "Ready",
@@ -7417,12 +7420,12 @@ function xa() {
7417
7420
  progressValue: 68
7418
7421
  },
7419
7422
  title: "Island tools",
7420
- tools: va,
7423
+ tools: ya,
7421
7424
  undoRedo: {
7422
7425
  canRedo: !1,
7423
7426
  canUndo: !0
7424
7427
  }
7425
- }), /* @__PURE__ */ t(Ti, {
7428
+ }), /* @__PURE__ */ t(Ei, {
7426
7429
  activeBuildCategoryId: "foundation",
7427
7430
  activeMaterialId: "path",
7428
7431
  activeModeId: "terrain",
@@ -7431,11 +7434,11 @@ function xa() {
7431
7434
  radius: 1.5,
7432
7435
  strength: .3
7433
7436
  },
7434
- buildCategories: ba,
7437
+ buildCategories: xa,
7435
7438
  drawerOpen: !0,
7436
7439
  label: "Small mobile terrain drawer",
7437
- materials: ya,
7438
- modes: _a,
7440
+ materials: ba,
7441
+ modes: va,
7439
7442
  selectedBuildItemId: "floor-2x2",
7440
7443
  status: {
7441
7444
  label: "Blocked",
@@ -7443,7 +7446,7 @@ function xa() {
7443
7446
  description: "This edit would bury a placed object."
7444
7447
  },
7445
7448
  title: "Tools",
7446
- tools: va,
7449
+ tools: ya,
7447
7450
  undoRedo: {
7448
7451
  canRedo: !0,
7449
7452
  canUndo: !0
@@ -7452,7 +7455,7 @@ function xa() {
7452
7455
  })]
7453
7456
  });
7454
7457
  }
7455
- function Sa({ label: e, mode: r }) {
7458
+ function Ca({ label: e, mode: r }) {
7456
7459
  return /* @__PURE__ */ n("div", {
7457
7460
  className: "game-ui-construction-preview-card",
7458
7461
  "data-preview": r,
@@ -7466,7 +7469,7 @@ function Sa({ label: e, mode: r }) {
7466
7469
  ]
7467
7470
  });
7468
7471
  }
7469
- var Ca = [
7472
+ var wa = [
7470
7473
  {
7471
7474
  id: "preview-deck",
7472
7475
  title: "Deck robot crew",
@@ -7527,7 +7530,7 @@ var Ca = [
7527
7530
  before: {
7528
7531
  label: "Before",
7529
7532
  caption: "Uneven terrain pad.",
7530
- content: /* @__PURE__ */ t(Sa, {
7533
+ content: /* @__PURE__ */ t(Ca, {
7531
7534
  label: "Rough pad",
7532
7535
  mode: "before"
7533
7536
  })
@@ -7535,7 +7538,7 @@ var Ca = [
7535
7538
  after: {
7536
7539
  label: "After",
7537
7540
  caption: "Flattened foundation pad with safe clearance.",
7538
- content: /* @__PURE__ */ t(Sa, {
7541
+ content: /* @__PURE__ */ t(Ca, {
7539
7542
  label: "Foundation ready",
7540
7543
  mode: "after"
7541
7544
  })
@@ -7564,19 +7567,19 @@ var Ca = [
7564
7567
  }]
7565
7568
  }
7566
7569
  ];
7567
- function wa() {
7570
+ function Ta() {
7568
7571
  return /* @__PURE__ */ n("div", {
7569
7572
  className: "game-ui-preview-two-up",
7570
- children: [/* @__PURE__ */ t(Gi, {
7571
- jobs: Ca,
7573
+ children: [/* @__PURE__ */ t(Ki, {
7574
+ jobs: wa,
7572
7575
  label: "AI contractor jobs",
7573
7576
  selectedJobId: "review-house-pad",
7574
7577
  subtitle: "Official contractor UI covers drafts, previews, robot work, validation, review, and local-only provider boundaries.",
7575
7578
  title: "AI contractor",
7576
7579
  variant: "desktop"
7577
- }), /* @__PURE__ */ t(Gi, {
7580
+ }), /* @__PURE__ */ t(Ki, {
7578
7581
  drawerOpen: !0,
7579
- jobs: Ca,
7582
+ jobs: wa,
7580
7583
  label: "Small mobile contractor jobs",
7581
7584
  selectedJobId: "blocked-fence",
7582
7585
  title: "Contractor",
@@ -7584,10 +7587,10 @@ function wa() {
7584
7587
  })]
7585
7588
  });
7586
7589
  }
7587
- function Ta() {
7588
- return /* @__PURE__ */ t(Yr, {
7590
+ function Ea() {
7591
+ return /* @__PURE__ */ t(Xr, {
7589
7592
  title: "OwnMySpace island editor preview",
7590
- hud: /* @__PURE__ */ t(Zr, {
7593
+ hud: /* @__PURE__ */ t(Qr, {
7591
7594
  label: "Island facts",
7592
7595
  facts: [
7593
7596
  {
@@ -7611,11 +7614,11 @@ function Ta() {
7611
7614
  }
7612
7615
  ]
7613
7616
  }),
7614
- movementPad: /* @__PURE__ */ t(ni, {
7617
+ movementPad: /* @__PURE__ */ t(ri, {
7615
7618
  helpText: "WASD or arrows",
7616
7619
  label: "Move avatar"
7617
7620
  }),
7618
- assetLibrary: /* @__PURE__ */ t(si, {
7621
+ assetLibrary: /* @__PURE__ */ t(ci, {
7619
7622
  label: "Placeable assets",
7620
7623
  title: "Assets",
7621
7624
  subtitle: "Starter, generated, and imported assets stay visibly distinct but share one placement path.",
@@ -7662,7 +7665,7 @@ function Ta() {
7662
7665
  }
7663
7666
  ]
7664
7667
  }),
7665
- bottomBar: /* @__PURE__ */ t(ci, {
7668
+ bottomBar: /* @__PURE__ */ t(li, {
7666
7669
  title: "Placement",
7667
7670
  selectedTitle: "Manual chair",
7668
7671
  placedObjects: 3,
@@ -7698,7 +7701,7 @@ function Ta() {
7698
7701
  })
7699
7702
  });
7700
7703
  }
7701
- var Ea = [{
7704
+ var Da = [{
7702
7705
  id: "starter",
7703
7706
  label: "Starter pieces",
7704
7707
  source: "starter",
@@ -7729,7 +7732,7 @@ var Ea = [{
7729
7732
  }
7730
7733
  ]
7731
7734
  }];
7732
- function Da() {
7735
+ function Oa() {
7733
7736
  return /* @__PURE__ */ t("div", {
7734
7737
  className: "game-ui-asset-compression-repro",
7735
7738
  "aria-label": "Asset card compression repro",
@@ -7753,9 +7756,9 @@ function Da() {
7753
7756
  className: "game-ui-asset-compression-repro-surface",
7754
7757
  "data-repro-surface": e.id,
7755
7758
  style: { "--repro-width": e.width },
7756
- children: [/* @__PURE__ */ t(Q, { children: e.label }), /* @__PURE__ */ t(si, {
7759
+ children: [/* @__PURE__ */ t(Q, { children: e.label }), /* @__PURE__ */ t(ci, {
7757
7760
  density: "dense",
7758
- groups: Ea,
7761
+ groups: Da,
7759
7762
  label: `${e.label} assets`,
7760
7763
  selectedAssetId: "asset-repro-chair",
7761
7764
  title: "Build"
@@ -7763,13 +7766,13 @@ function Da() {
7763
7766
  }, e.id))
7764
7767
  });
7765
7768
  }
7766
- function Oa() {
7767
- let { firstSession: e } = oa();
7769
+ function ka() {
7770
+ let { firstSession: e } = sa();
7768
7771
  return /* @__PURE__ */ n("div", {
7769
7772
  className: "game-ui-first-session-preview",
7770
7773
  children: [/* @__PURE__ */ t("div", {
7771
7774
  className: "game-ui-first-session-world",
7772
- children: /* @__PURE__ */ t(zr, {
7775
+ children: /* @__PURE__ */ t(Br, {
7773
7776
  authenticated: !0,
7774
7777
  batteryCount: 5,
7775
7778
  dailyStreak: 3,
@@ -7803,7 +7806,7 @@ function Oa() {
7803
7806
  })
7804
7807
  }), /* @__PURE__ */ t("div", {
7805
7808
  className: "game-ui-first-session-modal-slot",
7806
- children: /* @__PURE__ */ t(Br, {
7809
+ children: /* @__PURE__ */ t(Vr, {
7807
7810
  open: !0,
7808
7811
  onDismiss: () => void 0,
7809
7812
  labels: {
@@ -7831,46 +7834,46 @@ function Oa() {
7831
7834
  })]
7832
7835
  });
7833
7836
  }
7834
- function ka() {
7835
- let { responsive: e } = oa();
7837
+ function Aa() {
7838
+ let { responsive: e } = sa();
7836
7839
  return /* @__PURE__ */ n("div", {
7837
7840
  className: "game-ui-proof-frames",
7838
7841
  children: [/* @__PURE__ */ n("article", {
7839
7842
  className: "game-ui-proof-frame is-desktop",
7840
- children: [/* @__PURE__ */ n("header", { children: [/* @__PURE__ */ t(Q, { children: e.desktop }), /* @__PURE__ */ t("strong", { children: "1440×900" })] }), /* @__PURE__ */ t(fa, {})]
7843
+ children: [/* @__PURE__ */ n("header", { children: [/* @__PURE__ */ t(Q, { children: e.desktop }), /* @__PURE__ */ t("strong", { children: "1440×900" })] }), /* @__PURE__ */ t(pa, {})]
7841
7844
  }), /* @__PURE__ */ n("article", {
7842
7845
  className: "game-ui-proof-frame is-mobile-landscape",
7843
- children: [/* @__PURE__ */ n("header", { children: [/* @__PURE__ */ t(Q, { children: e.mobileLandscape }), /* @__PURE__ */ t("strong", { children: "844×390" })] }), /* @__PURE__ */ t(fa, {})]
7846
+ children: [/* @__PURE__ */ n("header", { children: [/* @__PURE__ */ t(Q, { children: e.mobileLandscape }), /* @__PURE__ */ t("strong", { children: "844×390" })] }), /* @__PURE__ */ t(pa, {})]
7844
7847
  })]
7845
7848
  });
7846
7849
  }
7847
- function Aa() {
7848
- let { forms: e } = oa();
7850
+ function ja() {
7851
+ let { forms: e } = sa();
7849
7852
  return /* @__PURE__ */ n("div", {
7850
7853
  className: "game-ui-preview-two-up",
7851
7854
  children: [/* @__PURE__ */ n(X, {
7852
7855
  title: e.formsTitle,
7853
7856
  tone: "strong",
7854
7857
  children: [
7855
- /* @__PURE__ */ t(Ur, {
7858
+ /* @__PURE__ */ t(Wr, {
7856
7859
  hint: e.roomCodeHint,
7857
7860
  label: e.roomCodeLabel,
7858
- children: /* @__PURE__ */ t(Vr, { placeholder: e.roomCodePlaceholder })
7861
+ children: /* @__PURE__ */ t(Hr, { placeholder: e.roomCodePlaceholder })
7859
7862
  }),
7860
- /* @__PURE__ */ t(Ur, {
7863
+ /* @__PURE__ */ t(Wr, {
7861
7864
  label: e.nameLabel,
7862
7865
  required: !0,
7863
- children: /* @__PURE__ */ t(Vr, { placeholder: e.namePlaceholder })
7866
+ children: /* @__PURE__ */ t(Hr, { placeholder: e.namePlaceholder })
7864
7867
  }),
7865
- /* @__PURE__ */ t(Ur, {
7868
+ /* @__PURE__ */ t(Wr, {
7866
7869
  error: e.readError,
7867
7870
  label: e.readLabel,
7868
- children: /* @__PURE__ */ t(Hr, {
7871
+ children: /* @__PURE__ */ t(Ur, {
7869
7872
  invalid: !0,
7870
7873
  placeholder: e.readPlaceholder
7871
7874
  })
7872
7875
  }),
7873
- /* @__PURE__ */ t(Wr, {
7876
+ /* @__PURE__ */ t(Gr, {
7874
7877
  defaultChecked: !0,
7875
7878
  label: e.rememberLabel
7876
7879
  })
@@ -7882,38 +7885,38 @@ function Aa() {
7882
7885
  /* @__PURE__ */ n("div", {
7883
7886
  className: "game-ui-component-row",
7884
7887
  children: [
7885
- /* @__PURE__ */ t(Kr, {
7888
+ /* @__PURE__ */ t(qr, {
7886
7889
  name: "Mika Ono",
7887
7890
  status: "online"
7888
7891
  }),
7889
- /* @__PURE__ */ t(Kr, {
7892
+ /* @__PURE__ */ t(qr, {
7890
7893
  name: "River",
7891
7894
  size: "lg",
7892
7895
  status: "busy"
7893
7896
  }),
7894
- /* @__PURE__ */ t(Kr, {
7897
+ /* @__PURE__ */ t(qr, {
7895
7898
  name: "Noa",
7896
7899
  status: "away"
7897
7900
  }),
7898
- /* @__PURE__ */ t(Kr, {
7901
+ /* @__PURE__ */ t(qr, {
7899
7902
  name: e.guestName,
7900
7903
  size: "sm"
7901
7904
  })
7902
7905
  ]
7903
7906
  }),
7904
- /* @__PURE__ */ t(qr, {
7907
+ /* @__PURE__ */ t(Jr, {
7905
7908
  label: e.revealLabel,
7906
7909
  showValue: !0,
7907
7910
  value: 64
7908
7911
  }),
7909
- /* @__PURE__ */ t(qr, {
7912
+ /* @__PURE__ */ t(Jr, {
7910
7913
  label: e.batteryLabel,
7911
7914
  max: 20,
7912
7915
  showValue: !0,
7913
7916
  tone: "success",
7914
7917
  value: 14
7915
7918
  }),
7916
- /* @__PURE__ */ t(Jr, {
7919
+ /* @__PURE__ */ t(Yr, {
7917
7920
  action: /* @__PURE__ */ t(w, {
7918
7921
  variant: "primary",
7919
7922
  children: e.emptyCta
@@ -7926,8 +7929,8 @@ function Aa() {
7926
7929
  })]
7927
7930
  });
7928
7931
  }
7929
- var ja = lr.filter((e) => pr(e).includes("game")), Ma = lr.filter((e) => pr(e).includes("line"));
7930
- function Na({ names: e, style: r }) {
7932
+ var Ma = ur.filter((e) => mr(e).includes("game")), Na = ur.filter((e) => mr(e).includes("line"));
7933
+ function Pa({ names: e, style: r }) {
7931
7934
  return /* @__PURE__ */ t("div", {
7932
7935
  className: "game-ui-icon-grid",
7933
7936
  children: e.map((e) => /* @__PURE__ */ n("figure", {
@@ -7940,10 +7943,10 @@ function Na({ names: e, style: r }) {
7940
7943
  }, `${r}-${e}`))
7941
7944
  });
7942
7945
  }
7943
- function Pa() {
7946
+ function Fa() {
7944
7947
  return /* @__PURE__ */ t("div", {
7945
7948
  className: "game-ui-icon-grid",
7946
- children: hr.map((e) => /* @__PURE__ */ n("figure", {
7949
+ children: gr.map((e) => /* @__PURE__ */ n("figure", {
7947
7950
  className: "game-ui-icon-cell",
7948
7951
  children: [/* @__PURE__ */ t("span", {
7949
7952
  className: "game-ui-asset-icon",
@@ -7952,14 +7955,14 @@ function Pa() {
7952
7955
  "aria-hidden": !0,
7953
7956
  children: /* @__PURE__ */ t("img", {
7954
7957
  alt: "",
7955
- src: mr[e]
7958
+ src: hr[e]
7956
7959
  })
7957
7960
  }), /* @__PURE__ */ t("figcaption", { children: e })]
7958
7961
  }, `sprite-${e}`))
7959
7962
  });
7960
7963
  }
7961
- function Fa() {
7962
- let { gallery: e } = oa();
7964
+ function Ia() {
7965
+ let { gallery: e } = sa();
7963
7966
  return /* @__PURE__ */ n("div", {
7964
7967
  className: "game-ui-icon-gallery",
7965
7968
  children: [
@@ -7974,8 +7977,8 @@ function Fa() {
7974
7977
  className: "game-ui-small-copy",
7975
7978
  children: e.gameHint
7976
7979
  })]
7977
- }), /* @__PURE__ */ t(Na, {
7978
- names: ja,
7980
+ }), /* @__PURE__ */ t(Pa, {
7981
+ names: Ma,
7979
7982
  style: "game"
7980
7983
  })]
7981
7984
  }),
@@ -7987,8 +7990,8 @@ function Fa() {
7987
7990
  className: "game-ui-small-copy",
7988
7991
  children: e.lineHint
7989
7992
  })]
7990
- }), /* @__PURE__ */ t(Na, {
7991
- names: Ma,
7993
+ }), /* @__PURE__ */ t(Pa, {
7994
+ names: Na,
7992
7995
  style: "line"
7993
7996
  })]
7994
7997
  }),
@@ -8003,16 +8006,16 @@ function Fa() {
8003
8006
  className: "game-ui-small-copy",
8004
8007
  children: e.spriteHint
8005
8008
  })]
8006
- }), /* @__PURE__ */ t(Pa, {})]
8009
+ }), /* @__PURE__ */ t(Fa, {})]
8007
8010
  })
8008
8011
  ]
8009
8012
  });
8010
8013
  }
8011
- function Ia({ title: e, body: r }) {
8012
- let [i, a] = m("en"), o = ia[i], s = e && i === "en" ? e : o.heroTitle, c = r && i === "en" ? r : o.heroBody;
8014
+ function La({ title: e, body: r }) {
8015
+ let [i, a] = m("en"), o = aa[i], s = e && i === "en" ? e : o.heroTitle, c = r && i === "en" ? r : o.heroBody;
8013
8016
  return l(() => (document.documentElement.dataset.gameUiPreview = "clay", () => {
8014
8017
  delete document.documentElement.dataset.gameUiPreview;
8015
- }), []), /* @__PURE__ */ t(aa.Provider, {
8018
+ }), []), /* @__PURE__ */ t(oa.Provider, {
8016
8019
  value: o,
8017
8020
  children: /* @__PURE__ */ n("main", {
8018
8021
  "aria-label": "Swimmer UI Kit clay preview",
@@ -8025,7 +8028,7 @@ function Ia({ title: e, body: r }) {
8025
8028
  tone: "ai",
8026
8029
  children: "@pieai/swimmer-ui-kit"
8027
8030
  }),
8028
- /* @__PURE__ */ t(Fr, {
8031
+ /* @__PURE__ */ t(Ir, {
8029
8032
  currentLabel: o.triggerLabel,
8030
8033
  label: o.langMenuLabel,
8031
8034
  onSelect: (e) => a(e),
@@ -8052,10 +8055,10 @@ function Ia({ title: e, body: r }) {
8052
8055
  id: "game-ui-preview-token-title",
8053
8056
  children: o.sections.tokens
8054
8057
  }),
8055
- /* @__PURE__ */ t(la, {}),
8058
+ /* @__PURE__ */ t(ua, {}),
8056
8059
  /* @__PURE__ */ t("div", {
8057
8060
  className: "game-ui-token-ledger",
8058
- children: sa.map((e) => /* @__PURE__ */ t(ca, {
8061
+ children: ca.map((e) => /* @__PURE__ */ t(la, {
8059
8062
  id: e.id,
8060
8063
  label: o.tokenGroups[e.id] ?? e.id,
8061
8064
  tokens: e.tokens
@@ -8075,7 +8078,7 @@ function Ia({ title: e, body: r }) {
8075
8078
  className: "game-ui-small-copy",
8076
8079
  children: o.iconsIntro
8077
8080
  }),
8078
- /* @__PURE__ */ t(Fa, {})
8081
+ /* @__PURE__ */ t(Ia, {})
8079
8082
  ]
8080
8083
  }),
8081
8084
  /* @__PURE__ */ n("section", {
@@ -8084,7 +8087,7 @@ function Ia({ title: e, body: r }) {
8084
8087
  children: [/* @__PURE__ */ t("h2", {
8085
8088
  id: "game-ui-preview-type-title",
8086
8089
  children: o.sections.typography
8087
- }), /* @__PURE__ */ t(ua, {})]
8090
+ }), /* @__PURE__ */ t(da, {})]
8088
8091
  }),
8089
8092
  /* @__PURE__ */ n("section", {
8090
8093
  "aria-labelledby": "game-ui-preview-components-title",
@@ -8094,11 +8097,11 @@ function Ia({ title: e, body: r }) {
8094
8097
  id: "game-ui-preview-components-title",
8095
8098
  children: o.sections.components
8096
8099
  }),
8097
- /* @__PURE__ */ t(da, {}),
8098
8100
  /* @__PURE__ */ t(fa, {}),
8099
- /* @__PURE__ */ t(ha, {}),
8101
+ /* @__PURE__ */ t(pa, {}),
8100
8102
  /* @__PURE__ */ t(ga, {}),
8101
- /* @__PURE__ */ t(Yn, {
8103
+ /* @__PURE__ */ t(_a, {}),
8104
+ /* @__PURE__ */ t(Xn, {
8102
8105
  entries: o.history,
8103
8106
  label: o.historyLabel
8104
8107
  })
@@ -8110,7 +8113,7 @@ function Ia({ title: e, body: r }) {
8110
8113
  children: [/* @__PURE__ */ t("h2", {
8111
8114
  id: "game-ui-preview-forms-title",
8112
8115
  children: o.sections.forms
8113
- }), /* @__PURE__ */ t(Aa, {})]
8116
+ }), /* @__PURE__ */ t(ja, {})]
8114
8117
  }),
8115
8118
  /* @__PURE__ */ n("section", {
8116
8119
  "aria-labelledby": "game-ui-preview-overlay-glass-title",
@@ -8124,7 +8127,7 @@ function Ia({ title: e, body: r }) {
8124
8127
  className: "game-ui-small-copy",
8125
8128
  children: "Official HUD-on-scene tone: dark translucent glass, thin light border, no clay cast shadow, compact density. Use on any container that wraps scene-overlay chrome (3D tavern, cinematic stage). Nest inside light or night theme."
8126
8129
  }),
8127
- /* @__PURE__ */ t(pa, {})
8130
+ /* @__PURE__ */ t(ma, {})
8128
8131
  ]
8129
8132
  }),
8130
8133
  /* @__PURE__ */ n("section", {
@@ -8139,7 +8142,7 @@ function Ia({ title: e, body: r }) {
8139
8142
  className: "game-ui-small-copy",
8140
8143
  children: o.liquidMetal.body
8141
8144
  }),
8142
- /* @__PURE__ */ t(ma, {})
8145
+ /* @__PURE__ */ t(ha, {})
8143
8146
  ]
8144
8147
  }),
8145
8148
  /* @__PURE__ */ n("section", {
@@ -8148,7 +8151,7 @@ function Ia({ title: e, body: r }) {
8148
8151
  children: [/* @__PURE__ */ t("h2", {
8149
8152
  id: "game-ui-preview-ownmyspace-title",
8150
8153
  children: "OwnMySpace game surface pack"
8151
- }), /* @__PURE__ */ t(Ta, {})]
8154
+ }), /* @__PURE__ */ t(Ea, {})]
8152
8155
  }),
8153
8156
  /* @__PURE__ */ n("section", {
8154
8157
  "aria-labelledby": "game-ui-preview-terrain-build-title",
@@ -8162,7 +8165,7 @@ function Ia({ title: e, body: r }) {
8162
8165
  className: "game-ui-small-copy",
8163
8166
  children: "Official terrain controls cover mode, brush, material, undo/redo, build library, status, progress, and compact mobile drawer surfaces."
8164
8167
  }),
8165
- /* @__PURE__ */ t(xa, {})
8168
+ /* @__PURE__ */ t(Sa, {})
8166
8169
  ]
8167
8170
  }),
8168
8171
  /* @__PURE__ */ n("section", {
@@ -8177,7 +8180,7 @@ function Ia({ title: e, body: r }) {
8177
8180
  className: "game-ui-small-copy",
8178
8181
  children: "Official construction surfaces cover job queue states, before/after review, robot crew status, validation warnings, approval actions, and local-only provider badges."
8179
8182
  }),
8180
- /* @__PURE__ */ t(wa, {})
8183
+ /* @__PURE__ */ t(Ta, {})
8181
8184
  ]
8182
8185
  }),
8183
8186
  /* @__PURE__ */ n("section", {
@@ -8192,7 +8195,7 @@ function Ia({ title: e, body: r }) {
8192
8195
  className: "game-ui-small-copy",
8193
8196
  children: "Official asset cards must stay visually complete when a game shell uses dense, narrow, or rail-style inventory slots."
8194
8197
  }),
8195
- /* @__PURE__ */ t(Da, {})
8198
+ /* @__PURE__ */ t(Oa, {})
8196
8199
  ]
8197
8200
  }),
8198
8201
  /* @__PURE__ */ n("section", {
@@ -8201,7 +8204,7 @@ function Ia({ title: e, body: r }) {
8201
8204
  children: [/* @__PURE__ */ t("h2", {
8202
8205
  id: "game-ui-preview-first-session-title",
8203
8206
  children: o.sections.firstSession
8204
- }), /* @__PURE__ */ t(Oa, {})]
8207
+ }), /* @__PURE__ */ t(ka, {})]
8205
8208
  }),
8206
8209
  /* @__PURE__ */ n("section", {
8207
8210
  "aria-labelledby": "game-ui-preview-orientation-title",
@@ -8209,7 +8212,7 @@ function Ia({ title: e, body: r }) {
8209
8212
  children: [/* @__PURE__ */ t("h2", {
8210
8213
  id: "game-ui-preview-orientation-title",
8211
8214
  children: o.sections.orientation
8212
- }), /* @__PURE__ */ t(Pr, {
8215
+ }), /* @__PURE__ */ t(Fr, {
8213
8216
  badgeLabel: o.orientation.badge,
8214
8217
  body: o.orientation.body,
8215
8218
  cta: o.orientation.cta,
@@ -8224,11 +8227,11 @@ function Ia({ title: e, body: r }) {
8224
8227
  children: [/* @__PURE__ */ t("h2", {
8225
8228
  id: "game-ui-preview-responsive-title",
8226
8229
  children: o.sections.responsive
8227
- }), /* @__PURE__ */ t(ka, {})]
8230
+ }), /* @__PURE__ */ t(Aa, {})]
8228
8231
  })
8229
8232
  ]
8230
8233
  })
8231
8234
  });
8232
8235
  }
8233
8236
  //#endregion
8234
- export { gr as CLAY_ASSETS, sr as CLAY_ASSET_BASE_PATH, xe as CLAY_ASSET_SIZE_TOKENS, I as CLAY_COLOR_TOKENS, U as CLAY_ELEVATION_TOKENS, mr as CLAY_GAME_SPRITES, hr as CLAY_GAME_SPRITE_NAMES, lr as CLAY_ICON_NAMES, cr as CLAY_ICON_VARIANTS, ye as CLAY_LAYER_TOKENS, R as CLAY_LIQUID_GOOEY_TOKENS, R as GAME_UI_LIQUID_GOOEY_TOKENS, L as CLAY_LIQUID_METAL_TOKENS, L as GAME_UI_LIQUID_METAL_TOKENS, W as CLAY_MOTION_TOKENS, z as CLAY_OVERLAY_GLASS_TOKENS, z as GAME_UI_OVERLAY_GLASS_TOKENS, H as CLAY_RADIUS_TOKENS, B as CLAY_SEMANTIC_TOKENS, ve as CLAY_SPACE_TOKENS, be as CLAY_TARGET_TOKENS, V as CLAY_TYPE_TOKENS, Se as CLAY_UI_TOKENS, Ce as DEFAULT_LIQUID_GOOEY_ANIMATION_BUDGET, we as DEFAULT_LIQUID_GOOEY_FILTER_AREA_BUDGET, T as DEFAULT_LIQUID_METAL_CONTEXT_BUDGET, J as DISSOLVE_DEFAULTS, zr as FirstSessionHud, Br as FirstSessionOnboarding, ta as GAME_UI_OVERLAY, $i as GAME_UI_PREVIEW_MESSAGES, na as GAME_UI_TARGETS, ra as GAME_UI_THEME_CONTRACT, ea as GAME_UI_TOKENS, $r as GameActionGrid, oi as GameAssetCard, $ as GameAssetIcon, si as GameAssetLibrary, Kr as GameAvatar, Q as GameBadge, Hi as GameBeforeAfterToggle, vi as GameBrushControls, xi as GameBuildLibrary, w as GameButton, qn as GameCallout, jr as GameCardFan, Wr as GameCheckbox, Ji as GameCollapsiblePanel, Si as GameCompactGameDrawer, Wi as GameCompactJobDrawer, Bi as GameConstructionApprovalBar, Ui as GameConstructionJobCard, zi as GameConstructionProgress, Gi as GameContractorPanel, Jn as GameDialog, Jr as GameEmptyState, Zr as GameFactList, Ur as GameField, Yn as GameHistoryPanel, Ar as GameHud, Xn as GameHudActions, Zn as GameIconButton, Vr as GameInput, Fr as GameLanguageMenu, Ir as GameLoadingState, yi as GameMaterialSwatches, Qi as GameModal, ni as GameMovementPad, li as GameObjectToolbar, Pr as GameOrientationGate, X as GamePanel, ci as GamePlacementToolbar, qr as GameProgress, or as GamePrompt, ir as GameRadialMenu, Vi as GameRobotCrewStatus, Xr as GameSceneHudLayout, tr as GameSegmentedControl, Yr as GameShell, nr as GameSlider, Mr as GameStageTile, Qr as GameStatList, $n as GameTabs, Ti as GameTerrainBuildToolbox, gi as GameTerrainModeControl, _i as GameTerrainToolStrip, Hr as GameTextArea, ar as GameToast, rr as GameToggle, Qn as GameTooltip, Ia as GameUiPreview, bi as GameUndoRedoActions, Zi as GameWindowPanel, Qt as IMAGE_MELT_DEFAULTS, ze as LIQUID_GOOEY_WAVINESS_MAX_FRACTION, Kn as LiquidGroup, Gn as LiquidItem, _e as LiquidMetalButton, Dr as acknowledgeClayPlaceholders, wr as getClayAssetBasePath, Sr as getClayAssetMode, Lr as getClayCatalogPaths, Or as getClayIconPath, pr as getClayIconStyles, kr as getClaySourceAssetPath, Oe as getLiquidGooeyBudget, O as getLiquidMetalContextBudget, C as playGameInteractionSound, S as playGameInteractionSoundForContext, an as resolveDissolveOptions, Cr as setClayAssetBasePath, xr as setClayAssetMode, ke as setLiquidGooeyBudget, ee as setLiquidMetalContextBudget };
8237
+ export { _r as CLAY_ASSETS, cr as CLAY_ASSET_BASE_PATH, Se as CLAY_ASSET_SIZE_TOKENS, I as CLAY_COLOR_TOKENS, V as CLAY_ELEVATION_TOKENS, hr as CLAY_GAME_SPRITES, gr as CLAY_GAME_SPRITE_NAMES, ur as CLAY_ICON_NAMES, lr as CLAY_ICON_VARIANTS, U as CLAY_LAYER_TOKENS, L as CLAY_LIQUID_GOOEY_TOKENS, L as GAME_UI_LIQUID_GOOEY_TOKENS, ve as CLAY_LIQUID_METAL_TOKENS, ve as GAME_UI_LIQUID_METAL_TOKENS, H as CLAY_MOTION_TOKENS, R as CLAY_OVERLAY_GLASS_TOKENS, R as GAME_UI_OVERLAY_GLASS_TOKENS, B as CLAY_RADIUS_TOKENS, z as CLAY_SEMANTIC_TOKENS, be as CLAY_SPACE_TOKENS, xe as CLAY_TARGET_TOKENS, ye as CLAY_TYPE_TOKENS, Ce as CLAY_UI_TOKENS, we as DEFAULT_LIQUID_GOOEY_ANIMATION_BUDGET, Te as DEFAULT_LIQUID_GOOEY_FILTER_AREA_BUDGET, T as DEFAULT_LIQUID_METAL_CONTEXT_BUDGET, J as DISSOLVE_DEFAULTS, Br as FirstSessionHud, Vr as FirstSessionOnboarding, na as GAME_UI_OVERLAY, ea as GAME_UI_PREVIEW_MESSAGES, ra as GAME_UI_TARGETS, ia as GAME_UI_THEME_CONTRACT, ta as GAME_UI_TOKENS, ei as GameActionGrid, si as GameAssetCard, $ as GameAssetIcon, ci as GameAssetLibrary, qr as GameAvatar, Q as GameBadge, Ui as GameBeforeAfterToggle, yi as GameBrushControls, Si as GameBuildLibrary, w as GameButton, Jn as GameCallout, Mr as GameCardFan, Gr as GameCheckbox, Yi as GameCollapsiblePanel, Ci as GameCompactGameDrawer, Gi as GameCompactJobDrawer, Vi as GameConstructionApprovalBar, Wi as GameConstructionJobCard, Bi as GameConstructionProgress, Ki as GameContractorPanel, Yn as GameDialog, Yr as GameEmptyState, Qr as GameFactList, Wr as GameField, Xn as GameHistoryPanel, jr as GameHud, Zn as GameHudActions, Qn as GameIconButton, Hr as GameInput, Ir as GameLanguageMenu, Lr as GameLoadingState, bi as GameMaterialSwatches, $i as GameModal, ri as GameMovementPad, ui as GameObjectToolbar, Fr as GameOrientationGate, X as GamePanel, li as GamePlacementToolbar, Jr as GameProgress, sr as GamePrompt, ar as GameRadialMenu, Hi as GameRobotCrewStatus, Zr as GameSceneHudLayout, nr as GameSegmentedControl, Xr as GameShell, rr as GameSlider, Nr as GameStageTile, $r as GameStatList, er as GameTabs, Ei as GameTerrainBuildToolbox, _i as GameTerrainModeControl, vi as GameTerrainToolStrip, Ur as GameTextArea, or as GameToast, ir as GameToggle, $n as GameTooltip, La as GameUiPreview, xi as GameUndoRedoActions, Qi as GameWindowPanel, en as IMAGE_MELT_DEFAULTS, He as LIQUID_GOOEY_WAVINESS_MAX_FRACTION, qn as LiquidGroup, Kn as LiquidItem, _e as LiquidMetalButton, Or as acknowledgeClayPlaceholders, Tr as getClayAssetBasePath, Cr as getClayAssetMode, Rr as getClayCatalogPaths, kr as getClayIconPath, mr as getClayIconStyles, Ar as getClaySourceAssetPath, ke as getLiquidGooeyBudget, O as getLiquidMetalContextBudget, C as playGameInteractionSound, S as playGameInteractionSoundForContext, on as resolveDissolveOptions, wr as setClayAssetBasePath, Sr as setClayAssetMode, Ae as setLiquidGooeyBudget, k as setLiquidMetalContextBudget };