@gengage/assistant-fe 0.3.25 → 0.3.26

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.
@@ -1,6 +1,6 @@
1
- import { S as Zt, _ as Xt, a as he, b as Qt, c as w, d as Jt, l as Be, n as Y, o as U, p as ea, r as ke, s as Ce, t as Ue, u as me, w as ta } from "./schemas-CTbgsvNJ.js";
1
+ import { S as Zt, _ as Xt, a as he, b as Qt, c as w, d as Jt, l as Be, n as Z, o as U, p as ea, r as ke, s as Ce, t as De, u as me, w as ta } from "./schemas-CTbgsvNJ.js";
2
2
  import { $ as aa, B as ne, C as Lt, H as na, K as ia, P as le, Q as ra, R as be, U as oa, V as ue, X as sa, Y as ca, Z as la, _ as ga, a as da, b as Se, c as pa, d as st, f as ha, g as ua, h as ma, i as ba, l as fa, m as va, n as xa, o as ya, p as ct, q as wa, r as _a, s as ka, t as Ca, u as Sa, y as Ea, z as ce } from "./ga-datalayer-BwxWX-cr.js";
3
- import { a as W, i as Tt, n as It, r as Nt, t as ve } from "./product-utils-Bm3aiAlJ.js";
3
+ import { a as Y, i as Tt, n as It, r as Nt, t as ve } from "./product-utils-Bm3aiAlJ.js";
4
4
  function lt() {
5
5
  const t = Date.now(), e = new Uint8Array(16);
6
6
  crypto.getRandomValues(e), e[0] = t / 2 ** 40 & 255, e[1] = t / 2 ** 32 & 255, e[2] = t / 2 ** 24 & 255, e[3] = t / 2 ** 16 & 255, e[4] = t / 2 ** 8 & 255, e[5] = t & 255, e[6] = e[6] & 15 | 112, e[8] = e[8] & 63 | 128;
@@ -313,15 +313,15 @@ function qa(t, e, a) {
313
313
  const r = `[gengage-chat-debug #${n}][${t}] ${e}`;
314
314
  a === void 0 ? console.debug(r) : console.debug(r, a);
315
315
  }
316
- var Qe = "gengage-chat-scroll", Le = null;
316
+ var Xe = "gengage-chat-scroll", Le = null;
317
317
  function gt(t) {
318
318
  Le = t;
319
319
  }
320
320
  function eo() {
321
321
  if (Le && Le.isConnected) return Le;
322
322
  Le = null;
323
- const t = document.getElementById(Qe);
324
- return t || (qa("chat-scroll", "failed to resolve scroll container (not registered)", { id: Qe }), null);
323
+ const t = document.getElementById(Xe);
324
+ return t || (qa("chat-scroll", "failed to resolve scroll container (not registered)", { id: Xe }), null);
325
325
  }
326
326
  function Va() {
327
327
  Le = null;
@@ -392,6 +392,7 @@ var it = {
392
392
  galleryNextAriaLabel: "Sonraki görsel",
393
393
  beautyStylesPreparedTitle: "Sizin için {count} farklı stil hazırladım",
394
394
  watchStylesPreparedTitle: "Sizin için {count} farklı stil yönü hazırladım",
395
+ consultingOtherCompatibleProductsLabel: "Diğer Uyumlu Ürünler",
395
396
  choicePrompterHeading: "Kararsız mı kaldın?",
396
397
  choicePrompterSuggestion: "Ürünleri seçip karşılaştırabilirsin",
397
398
  choicePrompterCta: "Seç ve Karşılaştır",
@@ -526,6 +527,7 @@ var it = {
526
527
  galleryNextAriaLabel: "Next image",
527
528
  beautyStylesPreparedTitle: "Prepared {count} beauty styles for you",
528
529
  watchStylesPreparedTitle: "Prepared {count} style directions for you",
530
+ consultingOtherCompatibleProductsLabel: "Other compatible products",
529
531
  choicePrompterHeading: "Can't decide?",
530
532
  choicePrompterSuggestion: "Select products to compare them",
531
533
  choicePrompterCta: "Select & Compare",
@@ -843,7 +845,7 @@ function zt(t) {
843
845
  }, o = typeof t.celeb_style == "string" ? t.celeb_style : void 0, l = typeof t.celeb_style_reason == "string" ? t.celeb_style_reason : void 0, g = typeof t.next_question == "string" ? t.next_question : void 0;
844
846
  return a.length > 0 && (r.strengths = a), n.length > 0 && (r.focusPoints = n), o && (r.celebStyle = o), l && (r.celebStyleReason = l), g && (r.nextQuestion = g), r;
845
847
  }
846
- function Je(t) {
848
+ function Qe(t) {
847
849
  const e = t.details;
848
850
  return t.strengths && t.strengths.length > 0 || t.focusPoints && t.focusPoints.length > 0 ? {
849
851
  ...t,
@@ -872,7 +874,7 @@ function dt(t, e, a) {
872
874
  }
873
875
  return n.appendChild(i), n.appendChild(r), n;
874
876
  }
875
- function et(t, e) {
877
+ function Je(t, e) {
876
878
  const a = document.createElement("div");
877
879
  a.className = "gengage-chat-photo-analysis-card";
878
880
  const n = document.createElement("div");
@@ -927,23 +929,23 @@ function nn(t) {
927
929
  };
928
930
  }
929
931
  function rn(t, e) {
930
- const a = Je(zt(t.props ?? {}) ?? {
932
+ const a = Qe(zt(t.props ?? {}) ?? {
931
933
  summary: "",
932
934
  details: []
933
935
  });
934
- return et(nn(e), a);
936
+ return Je(nn(e), a);
935
937
  }
936
938
  function on(t, e, a, n) {
937
939
  if (t.innerHTML = "", n) {
938
- t.appendChild(et(a, Je(n)));
940
+ t.appendChild(Je(a, Qe(n)));
939
941
  return;
940
942
  }
941
- const i = e.split(/(?<=[.!?])\s+/).map((c) => c.trim()).filter(Boolean), r = i[0] ?? e, o = i.slice(1).filter((c) => !c.includes("?")).slice(0, 4), l = i.find((c) => c.includes("?")), g = Je({
943
+ const i = e.split(/(?<=[.!?])\s+/).map((c) => c.trim()).filter(Boolean), r = i[0] ?? e, o = i.slice(1).filter((c) => !c.includes("?")).slice(0, 4), l = i.find((c) => c.includes("?")), g = Qe({
942
944
  summary: r,
943
945
  details: o,
944
946
  ...l ? { nextQuestion: l } : {}
945
947
  });
946
- t.appendChild(et(a, g));
948
+ t.appendChild(Je(a, g));
947
949
  }
948
950
  var pt = {
949
951
  search: '<svg viewBox="0 0 16 16" class="gengage-chat-icon"><circle cx="6.5" cy="6.5" r="5" fill="none" stroke="currentColor" stroke-width="1.5"/><line x1="10" y1="10" x2="15" y2="15" stroke="currentColor" stroke-width="1.5"/></svg>',
@@ -1009,8 +1011,8 @@ var pn = class {
1009
1011
  n.id = a, n.className = "gengage-sr-only", n.textContent = this.i18n.headerTitle ?? "AI shopping assistant", this.root.appendChild(n), this.root.setAttribute("aria-describedby", a);
1010
1012
  let i = null;
1011
1013
  {
1012
- const C = document.createElement("div");
1013
- C.className = "gengage-chat-drawer-handle", C.dataset.gengagePart = "chat-drawer-handle", C.setAttribute("aria-hidden", "true"), C.style.pointerEvents = "none", i = C;
1014
+ const S = document.createElement("div");
1015
+ S.className = "gengage-chat-drawer-handle", S.dataset.gengagePart = "chat-drawer-handle", S.setAttribute("aria-hidden", "true"), S.style.pointerEvents = "none", i = S;
1014
1016
  }
1015
1017
  const r = document.createElement("div");
1016
1018
  r.className = "gengage-chat-header gds-shell-header", r.dataset.gengagePart = "chat-header";
@@ -1018,8 +1020,8 @@ var pn = class {
1018
1020
  o.className = "gengage-chat-header-left", o.dataset.gengagePart = "chat-header-left";
1019
1021
  const l = e.headerAvatarUrl ?? e.launcherImageUrl, g = typeof e.headerAvatarUrl == "string" && e.headerAvatarUrl.length > 0 && e.headerAvatarUrl !== e.launcherImageUrl;
1020
1022
  if (l) {
1021
- const C = document.createElement("img");
1022
- C.className = "gengage-chat-header-avatar", g && C.classList.add("gengage-chat-header-avatar--logo"), C.dataset.gengagePart = "chat-header-avatar", C.src = l, C.alt = e.headerTitle ?? "Assistant", o.appendChild(C);
1023
+ const S = document.createElement("img");
1024
+ S.className = "gengage-chat-header-avatar", g && S.classList.add("gengage-chat-header-avatar--logo"), S.dataset.gengagePart = "chat-header-avatar", S.src = l, S.alt = e.headerTitle ?? "Assistant", o.appendChild(S);
1023
1025
  }
1024
1026
  const c = document.createElement("div");
1025
1027
  c.className = "gengage-chat-header-info", c.dataset.gengagePart = "chat-header-info";
@@ -1027,8 +1029,8 @@ var pn = class {
1027
1029
  d.className = "gengage-chat-header-title-row", d.dataset.gengagePart = "chat-header-title-row";
1028
1030
  const s = document.createElement("span");
1029
1031
  if (s.className = "gengage-chat-header-title", s.dataset.gengagePart = "chat-header-title", s.textContent = e.headerTitle ?? this.i18n.headerTitle ?? "Product Expert", d.appendChild(s), e.headerBadge) {
1030
- const C = document.createElement("span");
1031
- C.className = "gengage-chat-header-badge gds-badge gds-badge-brand", C.dataset.gengagePart = "chat-header-badge", C.textContent = e.headerBadge, d.appendChild(C);
1032
+ const S = document.createElement("span");
1033
+ S.className = "gengage-chat-header-badge gds-badge gds-badge-brand", S.dataset.gengagePart = "chat-header-badge", S.textContent = e.headerBadge, d.appendChild(S);
1032
1034
  }
1033
1035
  c.appendChild(d);
1034
1036
  const p = document.createElement("a");
@@ -1036,38 +1038,38 @@ var pn = class {
1036
1038
  const h = document.createElement("div");
1037
1039
  h.className = "gengage-chat-header-right", h.dataset.gengagePart = "chat-header-actions";
1038
1040
  {
1039
- const C = document.createElement("button");
1040
- C.type = "button", C.className = "gengage-chat-header-btn gengage-chat-header-btn--reopen-panel gds-btn gds-btn-ghost gds-icon-btn", C.dataset.gengagePart = "chat-header-reopen-panel", C.setAttribute("aria-label", this.i18n.showPanelAriaLabel), C.innerHTML = '<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2"/><line x1="9" y1="3" x2="9" y2="21"/></svg>', C.addEventListener("click", () => this._showMobilePanelFromBtn()), h.appendChild(C), this._reopenPanelBtn = C;
1041
+ const S = document.createElement("button");
1042
+ S.type = "button", S.className = "gengage-chat-header-btn gengage-chat-header-btn--reopen-panel gds-btn gds-btn-ghost gds-icon-btn", S.dataset.gengagePart = "chat-header-reopen-panel", S.setAttribute("aria-label", this.i18n.showPanelAriaLabel), S.innerHTML = '<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="3" y="3" width="18" height="18" rx="2"/><line x1="9" y1="3" x2="9" y2="21"/></svg>', S.addEventListener("click", () => this._showMobilePanelFromBtn()), h.appendChild(S), this._reopenPanelBtn = S;
1041
1043
  }
1042
1044
  {
1043
- const C = document.createElement("button");
1044
- C.type = "button", C.className = "gengage-chat-header-btn gds-btn gds-btn-ghost gds-icon-btn", C.dataset.gengagePart = "chat-header-cart", C.setAttribute("aria-label", this.i18n.cartAriaLabel), C.innerHTML = '<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="21" r="1"/><circle cx="20" cy="21" r="1"/><path d="M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6"/></svg>', C.addEventListener("click", () => e.onCartClick?.()), h.appendChild(C), this._cartBtn = C;
1045
+ const S = document.createElement("button");
1046
+ S.type = "button", S.className = "gengage-chat-header-btn gds-btn gds-btn-ghost gds-icon-btn", S.dataset.gengagePart = "chat-header-cart", S.setAttribute("aria-label", this.i18n.cartAriaLabel), S.innerHTML = '<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="21" r="1"/><circle cx="20" cy="21" r="1"/><path d="M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6"/></svg>', S.addEventListener("click", () => e.onCartClick?.()), h.appendChild(S), this._cartBtn = S;
1045
1047
  }
1046
1048
  if (e.onNewChat) {
1047
- const C = document.createElement("button");
1048
- C.className = "gengage-chat-header-btn gengage-chat-new-chat gds-btn gds-btn-ghost gds-icon-btn", C.dataset.gengagePart = "chat-header-new-chat", C.type = "button", C.setAttribute("aria-label", this.i18n.newChatButton), C.title = this.i18n.newChatButton, C.innerHTML = '<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 20h9"/><path d="M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"/></svg>', C.addEventListener("click", () => e.onNewChat?.()), h.appendChild(C);
1049
+ const S = document.createElement("button");
1050
+ S.className = "gengage-chat-header-btn gengage-chat-new-chat gds-btn gds-btn-ghost gds-icon-btn", S.dataset.gengagePart = "chat-header-new-chat", S.type = "button", S.setAttribute("aria-label", this.i18n.newChatButton), S.title = this.i18n.newChatButton, S.innerHTML = '<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 20h9"/><path d="M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"/></svg>', S.addEventListener("click", () => e.onNewChat?.()), h.appendChild(S);
1049
1051
  }
1050
1052
  const v = document.createElement("button");
1051
1053
  if (v.className = "gengage-chat-close gds-btn gds-btn-ghost gds-icon-btn", v.dataset.gengagePart = "chat-header-close", v.type = "button", v.setAttribute("aria-label", this.i18n.closeButton), v.innerHTML = '<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"><line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/></svg>', v.addEventListener("click", e.onClose), e.showHeaderFavorites) {
1052
- const C = document.createElement("button");
1053
- C.className = "gengage-chat-header-btn gengage-chat-header-btn--fav gds-btn gds-btn-ghost gds-icon-btn", C.dataset.gengagePart = "chat-header-favorites", C.type = "button", C.setAttribute("aria-label", this.i18n.favoritesAriaLabel), C.innerHTML = '<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"/></svg>';
1054
- const G = document.createElement("span");
1055
- G.className = "gengage-chat-header-fav-badge", G.dataset.gengagePart = "chat-header-favorites-badge", G.setAttribute("aria-hidden", "true"), G.style.display = "none", C.appendChild(G), this._favBadgeEl = G, C.addEventListener("click", () => {
1054
+ const S = document.createElement("button");
1055
+ S.className = "gengage-chat-header-btn gengage-chat-header-btn--fav gds-btn gds-btn-ghost gds-icon-btn", S.dataset.gengagePart = "chat-header-favorites", S.type = "button", S.setAttribute("aria-label", this.i18n.favoritesAriaLabel), S.innerHTML = '<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"/></svg>';
1056
+ const W = document.createElement("span");
1057
+ W.className = "gengage-chat-header-fav-badge", W.dataset.gengagePart = "chat-header-favorites-badge", W.setAttribute("aria-hidden", "true"), W.style.display = "none", S.appendChild(W), this._favBadgeEl = W, S.addEventListener("click", () => {
1056
1058
  e.onFavoritesClick?.();
1057
- }), h.appendChild(C);
1059
+ }), h.appendChild(S);
1058
1060
  }
1059
1061
  h.appendChild(v), i && r.insertBefore(i, r.firstChild), r.appendChild(h);
1060
1062
  {
1061
- let G = 0, J = 0, ae = !1;
1063
+ let W = 0, J = 0, ae = !1;
1062
1064
  const ie = (se) => {
1063
1065
  if (!(this._options.getMobileViewport?.() ?? window.innerWidth <= 768) || se.target.closest('button, a, input, [role="button"]')) return;
1064
1066
  const ge = se.changedTouches?.[0];
1065
- ge && (G = ge.clientY, J = 0, ae = !0, this.root.style.transition = "none");
1067
+ ge && (W = ge.clientY, J = 0, ae = !0, this.root.style.transition = "none");
1066
1068
  }, xe = (se) => {
1067
1069
  if (!ae) return;
1068
1070
  const ge = se.changedTouches?.[0];
1069
1071
  if (!ge) return;
1070
- J = ge.clientY - G;
1072
+ J = ge.clientY - W;
1071
1073
  const Kt = (e.getMobileState?.() ?? "full") === "full" ? Math.max(0, J) : J;
1072
1074
  se.preventDefault(), this.root.style.transform = `translateY(${Kt}px)`;
1073
1075
  }, _e = () => {
@@ -1098,73 +1100,73 @@ var pn = class {
1098
1100
  }), this._panelEl.appendChild(this._panelTopBar.getElement());
1099
1101
  const f = () => this._updateScrollAffordance();
1100
1102
  this._panelEl.addEventListener("scroll", f, { passive: !0 }), this._cleanups.push(() => this._panelEl.removeEventListener("scroll", f)), u.appendChild(this._panelEl), this._dividerEl = document.createElement("div"), this._dividerEl.className = "gengage-chat-panel-divider gengage-chat-panel-divider--hidden", this._dividerEl.dataset.gengagePart = "chat-panel-divider", this._dividerEl.setAttribute("role", "separator"), this._dividerEl.setAttribute("aria-label", this.i18n.togglePanelAriaLabel), this._dividerEl.setAttribute("title", this.i18n.togglePanelAriaLabel), this._dividerPreviewEl = document.createElement("div"), this._dividerPreviewEl.className = "gengage-chat-panel-divider-preview", this._dividerPreviewEl.dataset.gengagePart = "chat-panel-divider-preview", this._dividerPreviewEl.setAttribute("aria-hidden", "true"), this._dividerEl.appendChild(this._dividerPreviewEl);
1101
- const x = document.createElement("button");
1102
- x.className = "gengage-chat-panel-divider-toggle gds-btn gds-btn-ghost", x.dataset.gengagePart = "chat-panel-divider-toggle", x.type = "button", x.setAttribute("aria-label", this.i18n.togglePanelAriaLabel), x.setAttribute("title", this.i18n.togglePanelAriaLabel), x.textContent = "»", x.addEventListener("click", () => {
1103
+ const y = document.createElement("button");
1104
+ y.className = "gengage-chat-panel-divider-toggle gds-btn gds-btn-ghost", y.dataset.gengagePart = "chat-panel-divider-toggle", y.type = "button", y.setAttribute("aria-label", this.i18n.togglePanelAriaLabel), y.setAttribute("title", this.i18n.togglePanelAriaLabel), y.textContent = "»", y.addEventListener("click", () => {
1103
1105
  if (this._ignoreNextDividerClick) {
1104
1106
  this._ignoreNextDividerClick = !1;
1105
1107
  return;
1106
1108
  }
1107
1109
  this.togglePanel(), this._onPanelToggle?.();
1108
1110
  });
1109
- let N = null, S = null;
1110
- const E = 24, k = (C) => {
1111
+ let M = null, _ = null;
1112
+ const E = 24, C = (S) => {
1111
1113
  if (!(this._options.getMobileViewport?.() ?? window.innerWidth <= 768)) return;
1112
- const G = C.changedTouches?.[0];
1113
- G && (N = G.clientX, S = G.clientY);
1114
- }, I = (C) => {
1115
- if (!(this._options.getMobileViewport?.() ?? window.innerWidth <= 768) || N === null || S === null) return;
1116
- const G = C.changedTouches?.[0];
1117
- if (!G) return;
1118
- const J = G.clientX - N, ae = G.clientY - S;
1119
- if (N = null, S = null, Math.abs(ae) < E || Math.abs(ae) < Math.abs(J)) return;
1114
+ const W = S.changedTouches?.[0];
1115
+ W && (M = W.clientX, _ = W.clientY);
1116
+ }, L = (S) => {
1117
+ if (!(this._options.getMobileViewport?.() ?? window.innerWidth <= 768) || M === null || _ === null) return;
1118
+ const W = S.changedTouches?.[0];
1119
+ if (!W) return;
1120
+ const J = W.clientX - M, ae = W.clientY - _;
1121
+ if (M = null, _ = null, Math.abs(ae) < E || Math.abs(ae) < Math.abs(J)) return;
1120
1122
  const ie = ae < 0;
1121
1123
  ie !== this._panelCollapsed && (this._ignoreNextDividerClick = !0, this.setPanelCollapsed(ie), this._onPanelToggle?.());
1122
1124
  };
1123
- this._dividerEl.addEventListener("touchstart", k, { passive: !0 }), this._dividerEl.addEventListener("touchend", I, { passive: !0 }), this._cleanups.push(() => {
1124
- this._dividerEl.removeEventListener("touchstart", k), this._dividerEl.removeEventListener("touchend", I);
1125
- }), this._dividerEl.appendChild(x), u.appendChild(this._dividerEl);
1126
- const B = document.createElement("div");
1127
- B.className = "gengage-chat-conversation", B.dataset.gengagePart = "chat-conversation", this._conversationEl = B, B.appendChild(r);
1128
- const P = document.createElement("div");
1129
- P.className = "gengage-chat-offline-bar gds-evidence-card gds-evidence-card-warning", P.dataset.gengagePart = "chat-offline-bar", P.setAttribute("role", "status"), P.setAttribute("aria-live", "polite"), P.textContent = this.i18n.offlineMessage, typeof navigator < "u" && !navigator.onLine && P.classList.add("gengage-chat-offline-bar--visible"), B.appendChild(P);
1130
- const V = () => P.classList.add("gengage-chat-offline-bar--visible"), Z = () => P.classList.remove("gengage-chat-offline-bar--visible");
1131
- window.addEventListener("offline", V), window.addEventListener("online", Z), this._cleanups.push(() => {
1132
- window.removeEventListener("offline", V), window.removeEventListener("online", Z);
1133
- }), this._kvkkSlot = document.createElement("div"), this._kvkkSlot.className = "gengage-chat-kvkk-slot", this._kvkkSlot.dataset.gengagePart = "chat-kvkk-slot", B.appendChild(this._kvkkSlot), this.messagesEl = document.createElement("div"), this.messagesEl.id = Qe, this.messagesEl.className = "gengage-chat-messages", this.messagesEl.dataset.gengagePart = "chat-messages", this.messagesEl.setAttribute("role", "log"), this.messagesEl.setAttribute("aria-live", "polite"), this.messagesEl.setAttribute("aria-atomic", "false"), this.messagesEl.setAttribute("aria-label", this.i18n.chatMessagesAriaLabel), gt(this.messagesEl);
1134
- const K = document.createElement("button");
1135
- K.type = "button", K.className = "gengage-chat-former-messages-btn gds-chip", K.dataset.gengagePart = "chat-former-messages-button", K.textContent = this.i18n.showFormerMessagesButton, K.setAttribute("aria-label", this.i18n.showFormerMessagesButton), K.style.display = "none", K.addEventListener("click", () => {
1125
+ this._dividerEl.addEventListener("touchstart", C, { passive: !0 }), this._dividerEl.addEventListener("touchend", L, { passive: !0 }), this._cleanups.push(() => {
1126
+ this._dividerEl.removeEventListener("touchstart", C), this._dividerEl.removeEventListener("touchend", L);
1127
+ }), this._dividerEl.appendChild(y), u.appendChild(this._dividerEl);
1128
+ const I = document.createElement("div");
1129
+ I.className = "gengage-chat-conversation", I.dataset.gengagePart = "chat-conversation", this._conversationEl = I, I.appendChild(r);
1130
+ const N = document.createElement("div");
1131
+ N.className = "gengage-chat-offline-bar gds-evidence-card gds-evidence-card-warning", N.dataset.gengagePart = "chat-offline-bar", N.setAttribute("role", "status"), N.setAttribute("aria-live", "polite"), N.textContent = this.i18n.offlineMessage, typeof navigator < "u" && !navigator.onLine && N.classList.add("gengage-chat-offline-bar--visible"), I.appendChild(N);
1132
+ const j = () => N.classList.add("gengage-chat-offline-bar--visible"), K = () => N.classList.remove("gengage-chat-offline-bar--visible");
1133
+ window.addEventListener("offline", j), window.addEventListener("online", K), this._cleanups.push(() => {
1134
+ window.removeEventListener("offline", j), window.removeEventListener("online", K);
1135
+ }), this._kvkkSlot = document.createElement("div"), this._kvkkSlot.className = "gengage-chat-kvkk-slot", this._kvkkSlot.dataset.gengagePart = "chat-kvkk-slot", I.appendChild(this._kvkkSlot), this.messagesEl = document.createElement("div"), this.messagesEl.id = Xe, this.messagesEl.className = "gengage-chat-messages", this.messagesEl.dataset.gengagePart = "chat-messages", this.messagesEl.setAttribute("role", "log"), this.messagesEl.setAttribute("aria-live", "polite"), this.messagesEl.setAttribute("aria-atomic", "false"), this.messagesEl.setAttribute("aria-label", this.i18n.chatMessagesAriaLabel), gt(this.messagesEl);
1136
+ const G = document.createElement("button");
1137
+ G.type = "button", G.className = "gengage-chat-former-messages-btn gds-chip", G.dataset.gengagePart = "chat-former-messages-button", G.textContent = this.i18n.showFormerMessagesButton, G.setAttribute("aria-label", this.i18n.showFormerMessagesButton), G.style.display = "none", G.addEventListener("click", () => {
1136
1138
  this._options.presentation?.onReleasePresentationFocus?.();
1137
- }), this.messagesEl.appendChild(K), this._formerMessagesBtn = K;
1139
+ }), this.messagesEl.appendChild(G), this._formerMessagesBtn = G;
1138
1140
  const b = () => {
1139
1141
  this._userInteractionUntil = Date.now() + 2e3;
1140
1142
  };
1141
1143
  let m = !1;
1142
- const _ = () => this._options.presentation, y = () => {
1144
+ const k = () => this._options.presentation, x = () => {
1143
1145
  m || (m = !0, requestAnimationFrame(() => {
1144
1146
  m = !1;
1145
- const { scrollTop: C, scrollHeight: G, clientHeight: J } = this.messagesEl, ae = G - C - J;
1147
+ const { scrollTop: S, scrollHeight: W, clientHeight: J } = this.messagesEl, ae = W - S - J;
1146
1148
  this._userScrolledUp = ae > 10;
1147
1149
  const ie = this._presentationPinned ? ae < 96 : ae < 32, xe = Date.now(), _e = xe < this._programmaticScrollUntil, He = !ie && xe < this._userInteractionUntil, se = _e ? !1 : He;
1148
- ie !== this._presentationPinned && (this._presentationPinned = ie, _()?.onPinnedToBottomChange?.(ie)), se !== this._presentationUserInteracting && (this._presentationUserInteracting = se, _()?.onUserInteractingChange?.(se));
1150
+ ie !== this._presentationPinned && (this._presentationPinned = ie, k()?.onPinnedToBottomChange?.(ie)), se !== this._presentationUserInteracting && (this._presentationUserInteracting = se, k()?.onUserInteractingChange?.(se));
1149
1151
  }));
1150
1152
  };
1151
- this.messagesEl.addEventListener("scroll", y, { passive: !0 }), this._cleanups.push(() => {
1152
- this.messagesEl.removeEventListener("scroll", y);
1153
+ this.messagesEl.addEventListener("scroll", x, { passive: !0 }), this._cleanups.push(() => {
1154
+ this.messagesEl.removeEventListener("scroll", x);
1153
1155
  });
1154
- const A = (C) => {
1155
- b(), C.deltaY < -6 && this._presentationFocusThreadId && this._options.presentation?.onFormerMessagesHint?.();
1156
+ const P = (S) => {
1157
+ b(), S.deltaY < -6 && this._presentationFocusThreadId && this._options.presentation?.onFormerMessagesHint?.();
1156
1158
  };
1157
- this.messagesEl.addEventListener("wheel", A, { passive: !0 }), this._cleanups.push(() => this.messagesEl.removeEventListener("wheel", A));
1158
- const M = (C) => {
1159
- b(), this._touchStartY = C.touches[0]?.clientY ?? null;
1160
- }, L = (C) => {
1159
+ this.messagesEl.addEventListener("wheel", P, { passive: !0 }), this._cleanups.push(() => this.messagesEl.removeEventListener("wheel", P));
1160
+ const B = (S) => {
1161
+ b(), this._touchStartY = S.touches[0]?.clientY ?? null;
1162
+ }, A = (S) => {
1161
1163
  b();
1162
- const G = C.touches[0]?.clientY, J = this._touchStartY;
1163
- typeof G == "number" && typeof J == "number" && G - J > 10 && this._presentationFocusThreadId && this._options.presentation?.onFormerMessagesHint?.();
1164
+ const W = S.touches[0]?.clientY, J = this._touchStartY;
1165
+ typeof W == "number" && typeof J == "number" && W - J > 10 && this._presentationFocusThreadId && this._options.presentation?.onFormerMessagesHint?.();
1164
1166
  };
1165
- this.messagesEl.addEventListener("touchstart", M, { passive: !0 }), this.messagesEl.addEventListener("touchmove", L, { passive: !0 }), this._cleanups.push(() => {
1166
- this.messagesEl.removeEventListener("touchstart", M), this.messagesEl.removeEventListener("touchmove", L);
1167
- }), B.appendChild(this.messagesEl), this._thumbnailsColumn = new Ja({ onThumbnailClick: (C) => e.onThumbnailClick?.(C) }), this._panelEl.appendChild(this._thumbnailsColumn.getElement()), this._panelFloatingEl = document.createElement("div"), this._panelFloatingEl.className = "gengage-chat-panel-float", this._panelFloatingEl.dataset.gengagePart = "chat-panel-floating-layer", this._panelEl.appendChild(this._panelFloatingEl), this._resetPanelAiZoneElement(), this._pillsEl = document.createElement("div"), this._pillsEl.className = "gengage-chat-pills", this._pillsEl.dataset.gengagePart = "chat-suggestion-pills", this._pillsEl.setAttribute("role", "toolbar"), this._pillsEl.setAttribute("aria-label", this.i18n.suggestionsAriaLabel), this._pillsEl.style.display = "none";
1167
+ this.messagesEl.addEventListener("touchstart", B, { passive: !0 }), this.messagesEl.addEventListener("touchmove", A, { passive: !0 }), this._cleanups.push(() => {
1168
+ this.messagesEl.removeEventListener("touchstart", B), this.messagesEl.removeEventListener("touchmove", A);
1169
+ }), I.appendChild(this.messagesEl), this._thumbnailsColumn = new Ja({ onThumbnailClick: (S) => e.onThumbnailClick?.(S) }), this._panelEl.appendChild(this._thumbnailsColumn.getElement()), this._panelFloatingEl = document.createElement("div"), this._panelFloatingEl.className = "gengage-chat-panel-float", this._panelFloatingEl.dataset.gengagePart = "chat-panel-floating-layer", this._panelEl.appendChild(this._panelFloatingEl), this._resetPanelAiZoneElement(), this._pillsEl = document.createElement("div"), this._pillsEl.className = "gengage-chat-pills", this._pillsEl.dataset.gengagePart = "chat-suggestion-pills", this._pillsEl.setAttribute("role", "toolbar"), this._pillsEl.setAttribute("aria-label", this.i18n.suggestionsAriaLabel), this._pillsEl.style.display = "none";
1168
1170
  const z = document.createElement("div");
1169
1171
  z.className = "gengage-chat-pills-scroll", z.dataset.gengagePart = "chat-suggestion-pills-scroll", this._pillsEl.appendChild(z);
1170
1172
  const T = document.createElement("button");
@@ -1174,32 +1176,32 @@ var pn = class {
1174
1176
  behavior: "smooth"
1175
1177
  });
1176
1178
  }), this._pillsEl.appendChild(T);
1177
- let O = !1;
1179
+ let q = !1;
1178
1180
  const H = () => {
1179
- O || (O = !0, requestAnimationFrame(() => {
1180
- O = !1;
1181
- const C = z.scrollLeft + z.clientWidth >= z.scrollWidth - 4;
1182
- T.style.display = C ? "none" : "";
1181
+ q || (q = !0, requestAnimationFrame(() => {
1182
+ q = !1;
1183
+ const S = z.scrollLeft + z.clientWidth >= z.scrollWidth - 4;
1184
+ T.style.display = S ? "none" : "";
1183
1185
  }));
1184
1186
  };
1185
1187
  z.addEventListener("scroll", H, { passive: !0 }), this._cleanups.push(() => {
1186
1188
  z.removeEventListener("scroll", H);
1187
- }), B.appendChild(this._pillsEl), this._inputChipsEl = document.createElement("div"), this._inputChipsEl.className = "gengage-chat-input-chips", this._inputChipsEl.dataset.gengagePart = "chat-input-chips", this._inputChipsEl.style.display = "none", B.appendChild(this._inputChipsEl);
1189
+ }), I.appendChild(this._pillsEl), this._inputChipsEl = document.createElement("div"), this._inputChipsEl.className = "gengage-chat-input-chips", this._inputChipsEl.dataset.gengagePart = "chat-input-chips", this._inputChipsEl.style.display = "none", I.appendChild(this._inputChipsEl);
1188
1190
  const $ = document.createElement("div");
1189
1191
  $.className = "gengage-chat-input-area", $.dataset.gengagePart = "chat-input-area", this.inputEl = document.createElement("textarea"), this.inputEl.className = "gengage-chat-input", this.inputEl.dataset.gengagePart = "chat-input", this.inputEl.rows = 1, this.inputEl.placeholder = this.i18n.inputPlaceholder, this.inputEl.addEventListener("input", () => {
1190
1192
  this._resizeRafId !== null && cancelAnimationFrame(this._resizeRafId), this._resizeRafId = requestAnimationFrame(() => {
1191
1193
  this._resizeRafId = null, this.inputEl.style.height = "auto", this.inputEl.style.height = `${Math.min(this.inputEl.scrollHeight, 120)}px`;
1192
1194
  }), this._updateSendEnabled();
1193
- }), this.inputEl.addEventListener("keydown", (C) => {
1194
- C.key === "Enter" && !C.isComposing && ((this._options.getMobileViewport?.() ?? window.innerWidth <= 768) || !C.shiftKey) && (C.preventDefault(), this._submit());
1195
- }), this.inputEl.addEventListener("paste", (C) => {
1196
- const G = C.clipboardData;
1197
- if (!G) return;
1195
+ }), this.inputEl.addEventListener("keydown", (S) => {
1196
+ S.key === "Enter" && !S.isComposing && ((this._options.getMobileViewport?.() ?? window.innerWidth <= 768) || !S.shiftKey) && (S.preventDefault(), this._submit());
1197
+ }), this.inputEl.addEventListener("paste", (S) => {
1198
+ const W = S.clipboardData;
1199
+ if (!W) return;
1198
1200
  let J = null;
1199
- const ae = G.files?.[0];
1201
+ const ae = W.files?.[0];
1200
1202
  if (ae && ae.type.startsWith("image/")) J = ae;
1201
- else if (G.items?.length) for (let ie = 0; ie < G.items.length; ie++) {
1202
- const xe = G.items[ie];
1203
+ else if (W.items?.length) for (let ie = 0; ie < W.items.length; ie++) {
1204
+ const xe = W.items[ie];
1203
1205
  if (xe?.kind === "file" && xe.type.startsWith("image/")) {
1204
1206
  const _e = xe.getAsFile();
1205
1207
  if (_e) {
@@ -1208,72 +1210,72 @@ var pn = class {
1208
1210
  }
1209
1211
  }
1210
1212
  }
1211
- J && (C.preventDefault(), this._routeAttachmentFile(J));
1213
+ J && (S.preventDefault(), this._routeAttachmentFile(J));
1212
1214
  }), this._fileInput = document.createElement("input"), this._fileInput.type = "file", this._fileInput.accept = "image/jpeg,image/png,image/webp", this._fileInput.style.display = "none", this._fileInput.addEventListener("change", () => {
1213
- const C = this._fileInput.files?.[0];
1214
- C && this._routeAttachmentFile(C), this._fileInput.value = "";
1215
+ const S = this._fileInput.files?.[0];
1216
+ S && this._routeAttachmentFile(S), this._fileInput.value = "";
1215
1217
  });
1216
1218
  const te = document.createElement("div");
1217
1219
  te.className = "gengage-chat-attach-wrap", te.dataset.gengagePart = "chat-attach-wrap", this._attachWrapEl = te;
1218
- const j = document.createElement("button");
1219
- this._attachBtn = j, j.className = "gengage-chat-attach-btn gds-btn gds-btn-ghost", j.dataset.gengagePart = "chat-attach-button", j.type = "button", j.setAttribute("aria-label", this.i18n.attachImageButton), j.setAttribute("aria-haspopup", "menu"), j.setAttribute("aria-expanded", "false"), j.innerHTML = '<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z"/><circle cx="12" cy="13" r="4"/></svg>', j.addEventListener("click", (C) => {
1220
- C.stopPropagation(), this._toggleAttachMenu();
1220
+ const O = document.createElement("button");
1221
+ this._attachBtn = O, O.className = "gengage-chat-attach-btn gds-btn gds-btn-ghost", O.dataset.gengagePart = "chat-attach-button", O.type = "button", O.setAttribute("aria-label", this.i18n.attachImageButton), O.setAttribute("aria-haspopup", "menu"), O.setAttribute("aria-expanded", "false"), O.innerHTML = '<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z"/><circle cx="12" cy="13" r="4"/></svg>', O.addEventListener("click", (S) => {
1222
+ S.stopPropagation(), this._toggleAttachMenu();
1221
1223
  });
1222
1224
  const ee = document.createElement("div");
1223
1225
  this._attachMenuEl = ee, ee.className = "gengage-chat-attach-menu gds-menu", ee.dataset.gengagePart = "chat-attach-menu", ee.setAttribute("role", "menu"), ee.setAttribute("hidden", "");
1224
1226
  const oe = document.createElement("button");
1225
- oe.type = "button", oe.className = "gengage-chat-attach-menu-item gds-btn gds-btn-ghost", oe.dataset.gengagePart = "chat-attach-menu-select-photo", oe.setAttribute("role", "menuitem"), oe.innerHTML = `<span class="gengage-chat-attach-menu-icon" aria-hidden="true"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z"/><circle cx="12" cy="13" r="4"/></svg></span><span class="gengage-chat-attach-menu-label">${this.i18n.attachMenuSelectPhoto}</span>`, oe.addEventListener("click", (C) => {
1226
- C.stopPropagation(), this._closeAttachMenu(), this._fileInput.click();
1227
+ oe.type = "button", oe.className = "gengage-chat-attach-menu-item gds-btn gds-btn-ghost", oe.dataset.gengagePart = "chat-attach-menu-select-photo", oe.setAttribute("role", "menuitem"), oe.innerHTML = `<span class="gengage-chat-attach-menu-icon" aria-hidden="true"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z"/><circle cx="12" cy="13" r="4"/></svg></span><span class="gengage-chat-attach-menu-label">${this.i18n.attachMenuSelectPhoto}</span>`, oe.addEventListener("click", (S) => {
1228
+ S.stopPropagation(), this._closeAttachMenu(), this._fileInput.click();
1227
1229
  });
1228
- const q = document.createElement("div");
1229
- q.className = "gengage-chat-attach-menu-sep", q.dataset.gengagePart = "chat-attach-menu-separator", q.setAttribute("aria-hidden", "true");
1230
+ const V = document.createElement("div");
1231
+ V.className = "gengage-chat-attach-menu-sep", V.dataset.gengagePart = "chat-attach-menu-separator", V.setAttribute("aria-hidden", "true");
1230
1232
  const F = document.createElement("button");
1231
- F.type = "button", F.className = "gengage-chat-attach-menu-item gds-btn gds-btn-ghost", F.dataset.gengagePart = "chat-attach-menu-paste", F.setAttribute("role", "menuitem"), F.innerHTML = `<span class="gengage-chat-attach-menu-icon" aria-hidden="true"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 2H9a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1Z"/><path d="M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2"/><path d="M16 4h2a2 2 0 0 1 2 2v4"/><path d="M21 14H11"/><path d="m15 10-4 4 4 4"/></svg></span><span class="gengage-chat-attach-menu-label">${this.i18n.attachMenuPaste}</span>`, F.addEventListener("click", (C) => {
1232
- C.stopPropagation();
1233
- const G = typeof navigator.clipboard?.read == "function" ? navigator.clipboard.read() : void 0;
1234
- this._pasteImageFromClipboardMenu(G);
1235
- }), ee.appendChild(oe), ee.appendChild(q), ee.appendChild(F), te.appendChild(j), te.appendChild(ee), this._previewStrip = document.createElement("div"), this._previewStrip.className = "gengage-chat-attachment-preview gengage-chat-attachment-preview--hidden gds-card-soft", this._previewStrip.dataset.gengagePart = "chat-attachment-preview";
1233
+ F.type = "button", F.className = "gengage-chat-attach-menu-item gds-btn gds-btn-ghost", F.dataset.gengagePart = "chat-attach-menu-paste", F.setAttribute("role", "menuitem"), F.innerHTML = `<span class="gengage-chat-attach-menu-icon" aria-hidden="true"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 2H9a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V3a1 1 0 0 0-1-1Z"/><path d="M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2"/><path d="M16 4h2a2 2 0 0 1 2 2v4"/><path d="M21 14H11"/><path d="m15 10-4 4 4 4"/></svg></span><span class="gengage-chat-attach-menu-label">${this.i18n.attachMenuPaste}</span>`, F.addEventListener("click", (S) => {
1234
+ S.stopPropagation();
1235
+ const W = typeof navigator.clipboard?.read == "function" ? navigator.clipboard.read() : void 0;
1236
+ this._pasteImageFromClipboardMenu(W);
1237
+ }), ee.appendChild(oe), ee.appendChild(V), ee.appendChild(F), te.appendChild(O), te.appendChild(ee), this._previewStrip = document.createElement("div"), this._previewStrip.className = "gengage-chat-attachment-preview gengage-chat-attachment-preview--hidden gds-card-soft", this._previewStrip.dataset.gengagePart = "chat-attachment-preview";
1236
1238
  const R = document.createElement("img");
1237
1239
  R.className = "gengage-chat-attachment-preview-thumb", R.dataset.gengagePart = "chat-attachment-preview-thumb", R.alt = "", this._previewName = document.createElement("span"), this._previewName.className = "gengage-chat-attachment-name", this._previewName.dataset.gengagePart = "chat-attachment-preview-name";
1238
1240
  const X = document.createElement("button");
1239
1241
  X.className = "gengage-chat-attachment-remove gds-btn gds-btn-ghost", X.dataset.gengagePart = "chat-attachment-preview-remove", X.type = "button", X.setAttribute("aria-label", this.i18n.removeAttachmentButton), X.textContent = "×", X.addEventListener("click", () => this.clearAttachment()), this._previewStrip.appendChild(R), this._previewStrip.appendChild(this._previewName), this._previewStrip.appendChild(X), this.sendBtn = document.createElement("button"), this.sendBtn.className = "gengage-chat-send gds-btn gds-btn-primary", this.sendBtn.dataset.gengagePart = "chat-send", this.sendBtn.type = "button", this.sendBtn.disabled = !0, this.sendBtn.setAttribute("aria-label", this.i18n.sendButton), this.sendBtn.dataset.tooltip = this.i18n.sendButton, this._renderSendButtonIcon("send"), this.sendBtn.addEventListener("click", () => {
1240
1242
  if (this._sendStopHandler) {
1241
- const C = this._sendStopHandler;
1242
- this.hideStopButton(), C();
1243
+ const S = this._sendStopHandler;
1244
+ this.hideStopButton(), S();
1243
1245
  return;
1244
1246
  }
1245
1247
  this._submit();
1246
- }), $.addEventListener("dragover", (C) => {
1247
- C.preventDefault(), $.classList.add("gengage-chat-input-area--dragover");
1248
+ }), $.addEventListener("dragover", (S) => {
1249
+ S.preventDefault(), $.classList.add("gengage-chat-input-area--dragover");
1248
1250
  }), $.addEventListener("dragleave", () => {
1249
1251
  $.classList.remove("gengage-chat-input-area--dragover");
1250
- }), $.addEventListener("drop", (C) => {
1251
- C.preventDefault(), $.classList.remove("gengage-chat-input-area--dragover");
1252
- const G = C.dataTransfer?.files[0];
1253
- G && this._routeAttachmentFile(G);
1252
+ }), $.addEventListener("drop", (S) => {
1253
+ S.preventDefault(), $.classList.remove("gengage-chat-input-area--dragover");
1254
+ const W = S.dataTransfer?.files[0];
1255
+ W && this._routeAttachmentFile(W);
1254
1256
  });
1255
1257
  const D = document.createElement("div");
1256
1258
  D.className = "gengage-chat-input-pill gds-input-shell", D.dataset.gengagePart = "chat-input-shell", D.appendChild(te), D.appendChild(this.inputEl), this._voiceEnabled && Ya() && (this._micBtn = document.createElement("button"), this._micBtn.className = "gengage-chat-mic-btn gds-btn gds-btn-ghost", this._micBtn.dataset.gengagePart = "chat-mic-button", this._micBtn.type = "button", this._micBtn.setAttribute("aria-label", this.i18n.voiceButton), this._micBtn.innerHTML = '<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 1a3 3 0 0 0-3 3v8a3 3 0 0 0 6 0V4a3 3 0 0 0-3-3z"/><path d="M19 10v2a7 7 0 0 1-14 0v-2"/><line x1="12" y1="19" x2="12" y2="23"/><line x1="8" y1="23" x2="16" y2="23"/></svg>', this._micBtn.addEventListener("click", () => this._toggleVoice()), D.appendChild(this._micBtn), this._voiceInput = new Ka({
1257
- onInterim: (C) => {
1258
- this._resizeRafId !== null && (cancelAnimationFrame(this._resizeRafId), this._resizeRafId = null), this.inputEl.value = C, this.inputEl.style.height = "auto", this.inputEl.style.height = `${Math.min(this.inputEl.scrollHeight, 120)}px`;
1259
+ onInterim: (S) => {
1260
+ this._resizeRafId !== null && (cancelAnimationFrame(this._resizeRafId), this._resizeRafId = null), this.inputEl.value = S, this.inputEl.style.height = "auto", this.inputEl.style.height = `${Math.min(this.inputEl.scrollHeight, 120)}px`;
1259
1261
  },
1260
- onFinal: (C) => {
1261
- this.inputEl.value = C;
1262
+ onFinal: (S) => {
1263
+ this.inputEl.value = S;
1262
1264
  },
1263
- onAutoSubmit: (C) => {
1264
- this.inputEl.value = C, this._micBtn?.classList.remove("gengage-chat-mic-btn--active"), this._submit();
1265
+ onAutoSubmit: (S) => {
1266
+ this.inputEl.value = S, this._micBtn?.classList.remove("gengage-chat-mic-btn--active"), this._submit();
1265
1267
  },
1266
- onStateChange: (C) => {
1267
- C === "listening" ? this._micBtn?.classList.add("gengage-chat-mic-btn--active") : this._micBtn?.classList.remove("gengage-chat-mic-btn--active");
1268
+ onStateChange: (S) => {
1269
+ S === "listening" ? this._micBtn?.classList.add("gengage-chat-mic-btn--active") : this._micBtn?.classList.remove("gengage-chat-mic-btn--active");
1268
1270
  },
1269
- onError: (C, G) => {
1271
+ onError: (S, W) => {
1270
1272
  this._micBtn?.classList.remove("gengage-chat-mic-btn--active");
1271
1273
  }
1272
- }, { lang: this._voiceLang })), D.appendChild(this.sendBtn), $.appendChild(this._previewStrip), $.appendChild(this._fileInput), $.appendChild(D), B.appendChild($), u.appendChild(B), this._comparisonDockSlotEl = document.createElement("div"), this._comparisonDockSlotEl.className = "gengage-chat-comparison-dock-slot", this._comparisonDockSlotEl.dataset.gengagePart = "comparison-dock-slot", u.appendChild(this._comparisonDockSlotEl), this.root.appendChild(u), this._setupHorizontalSwipe(B), this._setupHorizontalSwipe(this._panelEl);
1274
+ }, { lang: this._voiceLang })), D.appendChild(this.sendBtn), $.appendChild(this._previewStrip), $.appendChild(this._fileInput), $.appendChild(D), I.appendChild($), u.appendChild(I), this._comparisonDockSlotEl = document.createElement("div"), this._comparisonDockSlotEl.className = "gengage-chat-comparison-dock-slot", this._comparisonDockSlotEl.dataset.gengagePart = "comparison-dock-slot", u.appendChild(this._comparisonDockSlotEl), this.root.appendChild(u), this._setupHorizontalSwipe(I), this._setupHorizontalSwipe(this._panelEl);
1273
1275
  const Q = document.createElement("div");
1274
1276
  Q.className = "gengage-chat-footer", Q.dataset.gengagePart = "chat-footer", Q.textContent = this.i18n.poweredBy, this.root.appendChild(Q);
1275
- const Re = (C) => {
1276
- C.key === "Escape" && e.onClose();
1277
+ const Re = (S) => {
1278
+ S.key === "Escape" && e.onClose();
1277
1279
  };
1278
1280
  this.root.addEventListener("keydown", Re), this._cleanups.push(() => this.root.removeEventListener("keydown", Re)), t.appendChild(this.root);
1279
1281
  }
@@ -1587,9 +1589,9 @@ var pn = class {
1587
1589
  c.className = "gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-rec-img", c.setAttribute("aria-hidden", "true");
1588
1590
  const d = document.createElement("div");
1589
1591
  d.className = "gengage-chat-comparison-recommended-info";
1590
- for (let B = 0; B < 2; B++) {
1591
- const P = document.createElement("div");
1592
- P.className = "gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-rec-title", B === 1 && P.classList.add("gengage-chat-comparison-skeleton-rec-title--short"), d.appendChild(P);
1592
+ for (let I = 0; I < 2; I++) {
1593
+ const N = document.createElement("div");
1594
+ N.className = "gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-rec-title", I === 1 && N.classList.add("gengage-chat-comparison-skeleton-rec-title--short"), d.appendChild(N);
1593
1595
  }
1594
1596
  const s = document.createElement("div");
1595
1597
  s.className = "gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-rec-price", d.appendChild(s), g.appendChild(c), g.appendChild(d), o.appendChild(g);
@@ -1599,53 +1601,53 @@ var pn = class {
1599
1601
  h.className = "gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-hl-label", p.appendChild(h);
1600
1602
  const v = document.createElement("ul");
1601
1603
  v.className = "gengage-chat-comparison-skeleton-hl-list";
1602
- for (let B = 0; B < 3; B++) {
1603
- const P = document.createElement("li"), V = document.createElement("div");
1604
- V.className = "gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-hl-line", B === 1 && V.classList.add("gengage-chat-comparison-skeleton-hl-line--medium"), B === 2 && V.classList.add("gengage-chat-comparison-skeleton-hl-line--short"), P.appendChild(V), v.appendChild(P);
1604
+ for (let I = 0; I < 3; I++) {
1605
+ const N = document.createElement("li"), j = document.createElement("div");
1606
+ j.className = "gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-hl-line", I === 1 && j.classList.add("gengage-chat-comparison-skeleton-hl-line--medium"), I === 2 && j.classList.add("gengage-chat-comparison-skeleton-hl-line--short"), N.appendChild(j), v.appendChild(N);
1605
1607
  }
1606
1608
  p.appendChild(v), o.appendChild(p), r.appendChild(o);
1607
1609
  const u = document.createElement("div");
1608
1610
  u.className = "gengage-chat-comparison-key-differences";
1609
1611
  const f = document.createElement("div");
1610
1612
  f.className = "gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-kd-heading", u.appendChild(f);
1611
- const x = document.createElement("div");
1612
- x.className = "gengage-chat-comparison-key-differences-content";
1613
- for (let B = 0; B < 4; B++) {
1614
- const P = document.createElement("div");
1615
- P.className = "gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-kd-line", x.appendChild(P);
1613
+ const y = document.createElement("div");
1614
+ y.className = "gengage-chat-comparison-key-differences-content";
1615
+ for (let I = 0; I < 4; I++) {
1616
+ const N = document.createElement("div");
1617
+ N.className = "gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-kd-line", y.appendChild(N);
1616
1618
  }
1617
- u.appendChild(x), r.appendChild(u);
1618
- const N = document.createElement("div");
1619
- N.className = "gengage-chat-comparison-special gengage-chat-comparison-special--skeleton";
1620
- const S = document.createElement("div");
1621
- S.className = "gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-special-line", N.appendChild(S), r.appendChild(N);
1619
+ u.appendChild(y), r.appendChild(u);
1620
+ const M = document.createElement("div");
1621
+ M.className = "gengage-chat-comparison-special gengage-chat-comparison-special--skeleton";
1622
+ const _ = document.createElement("div");
1623
+ _.className = "gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-special-line", M.appendChild(_), r.appendChild(M);
1622
1624
  const E = document.createElement("div");
1623
1625
  E.className = "gengage-chat-comparison-skeleton-table-wrap";
1624
- const k = document.createElement("div");
1625
- k.className = "gengage-chat-comparison-skeleton-table-head";
1626
- const I = document.createElement("div");
1627
- I.className = "gengage-chat-comparison-skeleton-table-corner", k.appendChild(I);
1628
- for (let B = 0; B < 3; B++) {
1629
- const P = document.createElement("div");
1630
- P.className = "gengage-chat-comparison-skeleton-table-col";
1631
- const V = document.createElement("div");
1632
- V.className = "gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-table-th-img";
1633
- const Z = document.createElement("div");
1634
- Z.className = "gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-table-th-name";
1626
+ const C = document.createElement("div");
1627
+ C.className = "gengage-chat-comparison-skeleton-table-head";
1628
+ const L = document.createElement("div");
1629
+ L.className = "gengage-chat-comparison-skeleton-table-corner", C.appendChild(L);
1630
+ for (let I = 0; I < 3; I++) {
1631
+ const N = document.createElement("div");
1632
+ N.className = "gengage-chat-comparison-skeleton-table-col";
1633
+ const j = document.createElement("div");
1634
+ j.className = "gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-table-th-img";
1635
1635
  const K = document.createElement("div");
1636
- K.className = "gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-table-th-price", P.appendChild(V), P.appendChild(Z), P.appendChild(K), k.appendChild(P);
1636
+ K.className = "gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-table-th-name";
1637
+ const G = document.createElement("div");
1638
+ G.className = "gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-table-th-price", N.appendChild(j), N.appendChild(K), N.appendChild(G), C.appendChild(N);
1637
1639
  }
1638
- E.appendChild(k);
1639
- for (let B = 0; B < 3; B++) {
1640
- const P = document.createElement("div");
1641
- P.className = "gengage-chat-comparison-skeleton-table-row";
1642
- const V = document.createElement("div");
1643
- V.className = "gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-table-label", P.appendChild(V);
1644
- for (let Z = 0; Z < 3; Z++) {
1645
- const K = document.createElement("div");
1646
- K.className = "gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-table-cell", P.appendChild(K);
1640
+ E.appendChild(C);
1641
+ for (let I = 0; I < 3; I++) {
1642
+ const N = document.createElement("div");
1643
+ N.className = "gengage-chat-comparison-skeleton-table-row";
1644
+ const j = document.createElement("div");
1645
+ j.className = "gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-table-label", N.appendChild(j);
1646
+ for (let K = 0; K < 3; K++) {
1647
+ const G = document.createElement("div");
1648
+ G.className = "gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-table-cell", N.appendChild(G);
1647
1649
  }
1648
- E.appendChild(P);
1650
+ E.appendChild(N);
1649
1651
  }
1650
1652
  r.appendChild(E), e.appendChild(r);
1651
1653
  break;
@@ -2167,7 +2169,7 @@ var Sn = /* @__PURE__ */ new Set([
2167
2169
  "audio/aac",
2168
2170
  "audio/mp4"
2169
2171
  ]), Ht = /* @__PURE__ */ new Set();
2170
- function We(t) {
2172
+ function Ge(t) {
2171
2173
  t.pause(), t.removeAttribute("src"), t.load(), Ht.delete(t);
2172
2174
  }
2173
2175
  function En(t, e = "audio/ogg") {
@@ -2175,9 +2177,9 @@ function En(t, e = "audio/ogg") {
2175
2177
  if (!Sn.has(a)) return null;
2176
2178
  try {
2177
2179
  const n = new Audio(`data:${e};base64,${t}`);
2178
- return Ht.add(n), n.addEventListener("ended", () => We(n), { once: !0 }), n.play().catch(() => {
2179
- We(n);
2180
- }), { stop: () => We(n) };
2180
+ return Ht.add(n), n.addEventListener("ended", () => Ge(n), { once: !0 }), n.play().catch(() => {
2181
+ Ge(n);
2182
+ }), { stop: () => Ge(n) };
2181
2183
  } catch {
2182
2184
  return null;
2183
2185
  }
@@ -2243,13 +2245,13 @@ function In(t) {
2243
2245
  s.className = "gengage-chat-comparison-recommended-body", s.classList.add("gds-clickable"), s.tabIndex = 0, s.setAttribute("role", "button"), s.setAttribute("aria-label", e.name);
2244
2246
  const p = document.createElement("div");
2245
2247
  if (p.className = "gengage-chat-comparison-recommended-media", e.imageUrl && be(e.imageUrl)) {
2246
- const x = document.createElement("img");
2247
- x.src = e.imageUrl, x.alt = e.name, x.loading = "lazy", x.addEventListener("error", () => {
2248
- x.style.display = "none";
2249
- }, { once: !0 }), p.appendChild(x);
2248
+ const y = document.createElement("img");
2249
+ y.src = e.imageUrl, y.alt = e.name, y.loading = "lazy", y.addEventListener("error", () => {
2250
+ y.style.display = "none";
2251
+ }, { once: !0 }), p.appendChild(y);
2250
2252
  } else {
2251
- const x = document.createElement("div");
2252
- x.className = "gengage-chat-comparison-recommended-placeholder", x.setAttribute("aria-hidden", "true"), p.appendChild(x);
2253
+ const y = document.createElement("div");
2254
+ y.className = "gengage-chat-comparison-recommended-placeholder", y.setAttribute("aria-hidden", "true"), p.appendChild(y);
2253
2255
  }
2254
2256
  s.appendChild(p);
2255
2257
  const h = document.createElement("div");
@@ -2258,12 +2260,12 @@ function In(t) {
2258
2260
  v.className = "gengage-chat-comparison-recommended-title", v.textContent = e.name, h.appendChild(v);
2259
2261
  const u = document.createElement("div");
2260
2262
  if (u.className = "gengage-chat-comparison-recommended-meta", Ln(e.rating) && u.appendChild(Tn(e.rating)), ht(e.price)) {
2261
- const x = document.createElement("div");
2262
- x.className = "gengage-chat-comparison-recommended-price", x.textContent = W(e.price, t.pricing), u.appendChild(x);
2263
+ const y = document.createElement("div");
2264
+ y.className = "gengage-chat-comparison-recommended-price", y.textContent = Y(e.price, t.pricing), u.appendChild(y);
2263
2265
  }
2264
2266
  if (u.childElementCount > 0 && h.appendChild(u), t.recommendedText) {
2265
- const x = document.createElement("p");
2266
- x.className = "gengage-chat-comparison-recommended-text", x.innerHTML = ue(t.recommendedText), h.appendChild(x);
2267
+ const y = document.createElement("p");
2268
+ y.className = "gengage-chat-comparison-recommended-text", y.innerHTML = ue(t.recommendedText), h.appendChild(y);
2267
2269
  }
2268
2270
  s.appendChild(h);
2269
2271
  const f = () => {
@@ -2272,19 +2274,19 @@ function In(t) {
2272
2274
  name: e.name
2273
2275
  });
2274
2276
  };
2275
- if (s.addEventListener("click", f), s.addEventListener("keydown", (x) => {
2276
- x.key !== "Enter" && x.key !== " " || (x.preventDefault(), f());
2277
+ if (s.addEventListener("click", f), s.addEventListener("keydown", (y) => {
2278
+ y.key !== "Enter" && y.key !== " " || (y.preventDefault(), f());
2277
2279
  }), c.appendChild(s), i.length > 0) {
2278
- const x = document.createElement("div");
2279
- x.className = "gengage-chat-comparison-highlights", x.dataset.gengagePart = "comparison-highlights";
2280
- const N = document.createElement("div");
2281
- N.className = "gengage-chat-comparison-highlights-label", N.textContent = l?.highlightsLabel ?? "Key Highlights", x.appendChild(N);
2282
- const S = document.createElement("ul");
2280
+ const y = document.createElement("div");
2281
+ y.className = "gengage-chat-comparison-highlights", y.dataset.gengagePart = "comparison-highlights";
2282
+ const M = document.createElement("div");
2283
+ M.className = "gengage-chat-comparison-highlights-label", M.textContent = l?.highlightsLabel ?? "Key Highlights", y.appendChild(M);
2284
+ const _ = document.createElement("ul");
2283
2285
  for (const E of i) {
2284
- const k = document.createElement("li");
2285
- k.textContent = E, S.appendChild(k);
2286
+ const C = document.createElement("li");
2287
+ C.textContent = E, _.appendChild(C);
2286
2288
  }
2287
- x.appendChild(S), c.appendChild(x);
2289
+ y.appendChild(_), c.appendChild(y);
2288
2290
  }
2289
2291
  g.appendChild(c);
2290
2292
  }
@@ -2317,40 +2319,40 @@ function In(t) {
2317
2319
  for (const u of a) {
2318
2320
  const f = document.createElement("th");
2319
2321
  u.sku === e?.sku && (f.className = "gengage-chat-comparison-selected gds-comparison-table-winner-cell");
2320
- const x = document.createElement("div");
2321
- x.className = "gengage-chat-comparison-table-header-cell gengage-chat-comparison-table-header-cell--clickable gds-clickable", x.tabIndex = 0, x.setAttribute("role", "button"), x.setAttribute("aria-label", u.name), x.title = u.name;
2322
- const N = () => {
2322
+ const y = document.createElement("div");
2323
+ y.className = "gengage-chat-comparison-table-header-cell gengage-chat-comparison-table-header-cell--clickable gds-clickable", y.tabIndex = 0, y.setAttribute("role", "button"), y.setAttribute("aria-label", u.name), y.title = u.name;
2324
+ const M = () => {
2323
2325
  o({
2324
2326
  sku: u.sku,
2325
2327
  name: u.name
2326
2328
  });
2327
2329
  };
2328
- if (x.addEventListener("click", N), x.addEventListener("keydown", (E) => {
2329
- E.key !== "Enter" && E.key !== " " || (E.preventDefault(), N());
2330
+ if (y.addEventListener("click", M), y.addEventListener("keydown", (E) => {
2331
+ E.key !== "Enter" && E.key !== " " || (E.preventDefault(), M());
2330
2332
  }), u.imageUrl && be(u.imageUrl)) {
2331
2333
  const E = document.createElement("img");
2332
2334
  E.src = u.imageUrl, E.alt = u.name, E.loading = "lazy", E.addEventListener("error", () => {
2333
2335
  E.style.display = "none";
2334
- }, { once: !0 }), x.appendChild(E);
2336
+ }, { once: !0 }), y.appendChild(E);
2335
2337
  } else {
2336
2338
  const E = document.createElement("div");
2337
- E.className = "gengage-chat-comparison-table-header-img-placeholder", E.setAttribute("aria-hidden", "true"), x.appendChild(E);
2339
+ E.className = "gengage-chat-comparison-table-header-img-placeholder", E.setAttribute("aria-hidden", "true"), y.appendChild(E);
2338
2340
  }
2339
- const S = document.createElement("div");
2340
- if (S.className = "gengage-chat-comparison-table-product-name", S.textContent = u.name, x.appendChild(S), ht(u.price)) {
2341
+ const _ = document.createElement("div");
2342
+ if (_.className = "gengage-chat-comparison-table-product-name", _.textContent = u.name, y.appendChild(_), ht(u.price)) {
2341
2343
  const E = document.createElement("div");
2342
- E.className = "gengage-chat-comparison-table-price", E.textContent = W(u.price, t.pricing), x.appendChild(E);
2344
+ E.className = "gengage-chat-comparison-table-price", E.textContent = Y(u.price, t.pricing), y.appendChild(E);
2343
2345
  }
2344
- f.appendChild(x), s.appendChild(f);
2346
+ f.appendChild(y), s.appendChild(f);
2345
2347
  }
2346
2348
  d.appendChild(s), c.appendChild(d);
2347
2349
  const h = document.createElement("tbody");
2348
2350
  for (const u of n) {
2349
- const f = document.createElement("tr"), x = document.createElement("td");
2350
- x.className = "gengage-chat-comparison-label", x.textContent = An(u.label, l?.criteriaLabels), f.appendChild(x);
2351
- for (let N = 0; N < u.values.length; N++) {
2352
- const S = document.createElement("td");
2353
- a[N]?.sku === e?.sku && (S.className = "gengage-chat-comparison-selected gds-comparison-table-winner-cell"), S.textContent = u.values[N] ?? "", f.appendChild(S);
2351
+ const f = document.createElement("tr"), y = document.createElement("td");
2352
+ y.className = "gengage-chat-comparison-label", y.textContent = An(u.label, l?.criteriaLabels), f.appendChild(y);
2353
+ for (let M = 0; M < u.values.length; M++) {
2354
+ const _ = document.createElement("td");
2355
+ a[M]?.sku === e?.sku && (_.className = "gengage-chat-comparison-selected gds-comparison-table-winner-cell"), _.textContent = u.values[M] ?? "", f.appendChild(_);
2354
2356
  }
2355
2357
  h.appendChild(f);
2356
2358
  }
@@ -2400,11 +2402,11 @@ function Me(t, e = 18) {
2400
2402
  }
2401
2403
  return n;
2402
2404
  }
2403
- var Ye = "General", ut = 220, zn = 6;
2405
+ var We = "General", ut = 220, zn = 6;
2404
2406
  function Rn(t) {
2405
- if (typeof t != "string") return [Ye];
2407
+ if (typeof t != "string") return [We];
2406
2408
  const e = t.split(/[,;|/]+/).map((a) => a.trim().replace(/\s+/g, " ")).filter((a) => a.length > 0);
2407
- return e.length === 0 ? [Ye] : Array.from(new Set(e.map((a) => a.toLocaleLowerCase()))).map((a) => e.find((n) => n.toLocaleLowerCase() === a) ?? Ye);
2409
+ return e.length === 0 ? [We] : Array.from(new Set(e.map((a) => a.toLocaleLowerCase()))).map((a) => e.find((n) => n.toLocaleLowerCase() === a) ?? We);
2408
2410
  }
2409
2411
  function Hn(t) {
2410
2412
  return t === "positive" || t === "negative" || t === "neutral" ? t : "neutral";
@@ -2433,24 +2435,24 @@ function On(t, e) {
2433
2435
  }
2434
2436
  const i = n.filter((u) => u !== null && typeof u == "object"), r = /* @__PURE__ */ new Map();
2435
2437
  for (const u of i) {
2436
- const f = Hn(u.review_class), x = Fn(u.review_text), N = Rn(u.review_tag);
2437
- for (const S of N) {
2438
- const E = S.toLocaleLowerCase();
2439
- let k = r.get(E);
2440
- if (k || (k = {
2438
+ const f = Hn(u.review_class), y = Fn(u.review_text), M = Rn(u.review_tag);
2439
+ for (const _ of M) {
2440
+ const E = _.toLocaleLowerCase();
2441
+ let C = r.get(E);
2442
+ if (C || (C = {
2441
2443
  key: E,
2442
- label: S,
2444
+ label: _,
2443
2445
  mentions: 0,
2444
2446
  positive: 0,
2445
2447
  negative: 0,
2446
2448
  neutral: 0,
2447
2449
  snippets: []
2448
- }, r.set(E, k)), k.mentions += 1, f === "positive" ? k.positive += 1 : f === "negative" ? k.negative += 1 : k.neutral += 1, x.length > 0 && k.snippets.length < zn && !k.snippets.some((I) => I.text === x)) {
2449
- const I = {
2450
- text: x,
2450
+ }, r.set(E, C)), C.mentions += 1, f === "positive" ? C.positive += 1 : f === "negative" ? C.negative += 1 : C.neutral += 1, y.length > 0 && C.snippets.length < zn && !C.snippets.some((L) => L.text === y)) {
2451
+ const L = {
2452
+ text: y,
2451
2453
  tone: f
2452
2454
  };
2453
- u.review_rating !== void 0 && String(u.review_rating).length > 0 && (I.rating = u.review_rating), k.snippets.push(I);
2455
+ u.review_rating !== void 0 && String(u.review_rating).length > 0 && (L.rating = u.review_rating), C.snippets.push(L);
2454
2456
  }
2455
2457
  }
2456
2458
  }
@@ -2469,33 +2471,33 @@ function On(t, e) {
2469
2471
  const h = () => {
2470
2472
  for (; p.firstChild; ) p.removeChild(p.firstChild);
2471
2473
  if (!d) return;
2472
- const u = o.find((S) => S.key === d);
2474
+ const u = o.find((_) => _.key === d);
2473
2475
  if (!u) return;
2474
2476
  const f = document.createElement("div");
2475
2477
  f.className = "gengage-chat-review-detail-meta";
2476
- const x = document.createElement("span");
2477
- if (x.className = "gengage-chat-review-detail-mentions", x.textContent = `${jn(u.mentions, e?.reviewCustomersMentionSingular, e?.reviewCustomersMentionPlural)} "${u.label}"`, f.appendChild(x), u.positive > 0) {
2478
- const S = document.createElement("span");
2479
- S.className = "gengage-chat-review-detail-positive", S.textContent = `${u.positive} ${l}`, f.appendChild(S);
2478
+ const y = document.createElement("span");
2479
+ if (y.className = "gengage-chat-review-detail-mentions", y.textContent = `${jn(u.mentions, e?.reviewCustomersMentionSingular, e?.reviewCustomersMentionPlural)} "${u.label}"`, f.appendChild(y), u.positive > 0) {
2480
+ const _ = document.createElement("span");
2481
+ _.className = "gengage-chat-review-detail-positive", _.textContent = `${u.positive} ${l}`, f.appendChild(_);
2480
2482
  }
2481
2483
  if (u.negative > 0) {
2482
- const S = document.createElement("span");
2483
- S.className = "gengage-chat-review-detail-negative", S.textContent = `${u.negative} ${g}`, f.appendChild(S);
2484
+ const _ = document.createElement("span");
2485
+ _.className = "gengage-chat-review-detail-negative", _.textContent = `${u.negative} ${g}`, f.appendChild(_);
2484
2486
  }
2485
2487
  p.appendChild(f);
2486
- const N = document.createElement("div");
2487
- N.className = "gengage-chat-review-snippets";
2488
- for (const S of u.snippets) {
2488
+ const M = document.createElement("div");
2489
+ M.className = "gengage-chat-review-snippets";
2490
+ for (const _ of u.snippets) {
2489
2491
  const E = document.createElement("article");
2490
- E.className = "gengage-chat-review-snippet", E.dataset.tone = S.tone;
2491
- const k = document.createElement("div");
2492
- if (k.className = "gengage-chat-review-snippet-text", k.textContent = `"${S.text}"`, E.appendChild(k), S.rating !== void 0 && String(S.rating).length > 0) {
2493
- const I = document.createElement("div");
2494
- I.className = "gengage-chat-review-snippet-rating", I.textContent = `★ ${String(S.rating)}`, E.appendChild(I);
2492
+ E.className = "gengage-chat-review-snippet", E.dataset.tone = _.tone;
2493
+ const C = document.createElement("div");
2494
+ if (C.className = "gengage-chat-review-snippet-text", C.textContent = `"${_.text}"`, E.appendChild(C), _.rating !== void 0 && String(_.rating).length > 0) {
2495
+ const L = document.createElement("div");
2496
+ L.className = "gengage-chat-review-snippet-rating", L.textContent = `★ ${String(_.rating)}`, E.appendChild(L);
2495
2497
  }
2496
- N.appendChild(E);
2498
+ M.appendChild(E);
2497
2499
  }
2498
- p.appendChild(N);
2500
+ p.appendChild(M);
2499
2501
  }, v = () => {
2500
2502
  for (const u of s.querySelectorAll(".gengage-chat-review-subject")) {
2501
2503
  const f = u.dataset.subjectKey === d;
@@ -2503,16 +2505,16 @@ function On(t, e) {
2503
2505
  }
2504
2506
  };
2505
2507
  for (const u of o) {
2506
- const f = Dn(u), x = document.createElement("button");
2507
- x.type = "button", x.className = "gengage-chat-review-subject gds-chip", x.dataset.subjectKey = u.key, x.dataset.tone = f;
2508
- const N = document.createElement("span");
2509
- N.className = "gengage-chat-review-subject-icon", N.appendChild(Un(f)), x.appendChild(N);
2510
- const S = document.createElement("span");
2511
- S.className = "gengage-chat-review-subject-label", S.textContent = u.label, x.appendChild(S);
2508
+ const f = Dn(u), y = document.createElement("button");
2509
+ y.type = "button", y.className = "gengage-chat-review-subject gds-chip", y.dataset.subjectKey = u.key, y.dataset.tone = f;
2510
+ const M = document.createElement("span");
2511
+ M.className = "gengage-chat-review-subject-icon", M.appendChild(Un(f)), y.appendChild(M);
2512
+ const _ = document.createElement("span");
2513
+ _.className = "gengage-chat-review-subject-label", _.textContent = u.label, y.appendChild(_);
2512
2514
  const E = document.createElement("span");
2513
- E.className = "gengage-chat-review-subject-count", E.textContent = `(${u.mentions})`, x.appendChild(E), x.addEventListener("click", () => {
2515
+ E.className = "gengage-chat-review-subject-count", E.textContent = `(${u.mentions})`, y.appendChild(E), y.addEventListener("click", () => {
2514
2516
  d = u.key, v(), h();
2515
- }), s.appendChild(x);
2517
+ }), s.appendChild(y);
2516
2518
  }
2517
2519
  return a.appendChild(s), v(), h(), a.appendChild(p), a;
2518
2520
  }
@@ -2533,11 +2535,11 @@ function ze(t, e) {
2533
2535
  const n = t.productPriceUi?.originalPriceStyle;
2534
2536
  return n === "inline" || n === "strikethrough" ? n : "strikethrough";
2535
2537
  }
2536
- function Ve(t) {
2538
+ function qe(t) {
2537
2539
  const e = document.createElement("div");
2538
2540
  return e.className = "gengage-chat-campaign-reason", e.textContent = t, e;
2539
2541
  }
2540
- function $e(t, e) {
2542
+ function Ve(t, e) {
2541
2543
  for (const n of [
2542
2544
  "campaignReasonLogoUrl",
2543
2545
  "campaign_reason_logo_url",
@@ -2556,7 +2558,7 @@ function $e(t, e) {
2556
2558
  if (be(n)) return n;
2557
2559
  }
2558
2560
  }
2559
- function Ge(t) {
2561
+ function $e(t) {
2560
2562
  const e = document.createElement("div");
2561
2563
  if (e.className = "gengage-chat-campaign-price-badge", e.dataset.gengagePart = "campaign-price-badge", t.logoUrl) {
2562
2564
  const r = document.createElement("div");
@@ -2635,11 +2637,11 @@ function Gn(t, e, a, n, i) {
2635
2637
  function Wn(t, e, a) {
2636
2638
  const n = t.price, i = t.originalPrice;
2637
2639
  if (!n) return;
2638
- const r = Te(a, t), o = ze(a, t), l = !!(i && i !== n), g = !!(r && l), c = $e(a, t), d = document.createElement("div");
2640
+ const r = Te(a, t), o = ze(a, t), l = !!(i && i !== n), g = !!(r && l), c = Ve(a, t), d = document.createElement("div");
2639
2641
  if (d.className = "gengage-chat-ai-toppick-price", d.dataset.gengagePart = "ai-top-pick-price", g) {
2640
- const s = Ge({
2642
+ const s = $e({
2641
2643
  reasonText: r,
2642
- salePriceFormatted: W(n, a.pricing),
2644
+ salePriceFormatted: Y(n, a.pricing),
2643
2645
  ...c !== void 0 ? { logoUrl: c } : {}
2644
2646
  });
2645
2647
  if (l && o === "inline") {
@@ -2647,10 +2649,10 @@ function Wn(t, e, a) {
2647
2649
  const p = document.createElement("span");
2648
2650
  p.className = "gengage-chat-ai-toppick-price-sep", p.setAttribute("aria-hidden", "true");
2649
2651
  const h = document.createElement("span");
2650
- h.className = "gengage-chat-ai-toppick-original-price", h.textContent = W(i, a.pricing), d.appendChild(p), d.appendChild(h);
2652
+ h.className = "gengage-chat-ai-toppick-original-price", h.textContent = Y(i, a.pricing), d.appendChild(p), d.appendChild(h);
2651
2653
  } else {
2652
2654
  const p = document.createElement("span");
2653
- p.className = "gengage-chat-ai-toppick-original-price", p.textContent = W(i, a.pricing), d.appendChild(p), d.appendChild(document.createTextNode(" ")), d.appendChild(s);
2655
+ p.className = "gengage-chat-ai-toppick-original-price", p.textContent = Y(i, a.pricing), d.appendChild(p), d.appendChild(document.createTextNode(" ")), d.appendChild(s);
2654
2656
  }
2655
2657
  e.appendChild(d);
2656
2658
  return;
@@ -2658,23 +2660,23 @@ function Wn(t, e, a) {
2658
2660
  if (l && o === "inline") {
2659
2661
  d.classList.add("gengage-chat-ai-toppick-price--inline");
2660
2662
  const s = document.createElement("span");
2661
- s.className = "gengage-chat-ai-toppick-price-current", s.textContent = W(n, a.pricing);
2663
+ s.className = "gengage-chat-ai-toppick-price-current", s.textContent = Y(n, a.pricing);
2662
2664
  const p = document.createElement("span");
2663
2665
  p.className = "gengage-chat-ai-toppick-price-sep", p.setAttribute("aria-hidden", "true");
2664
2666
  const h = document.createElement("span");
2665
- h.className = "gengage-chat-ai-toppick-original-price", h.textContent = W(i, a.pricing), d.appendChild(s), d.appendChild(p), d.appendChild(h);
2667
+ h.className = "gengage-chat-ai-toppick-original-price", h.textContent = Y(i, a.pricing), d.appendChild(s), d.appendChild(p), d.appendChild(h);
2666
2668
  } else if (l) {
2667
2669
  const s = document.createElement("span");
2668
- s.className = "gengage-chat-ai-toppick-original-price", s.textContent = W(i, a.pricing), d.appendChild(s), d.appendChild(document.createTextNode(" "));
2670
+ s.className = "gengage-chat-ai-toppick-original-price", s.textContent = Y(i, a.pricing), d.appendChild(s), d.appendChild(document.createTextNode(" "));
2669
2671
  const p = document.createElement("span");
2670
- p.className = "gengage-chat-ai-toppick-price-current", p.textContent = W(n, a.pricing), d.appendChild(p);
2672
+ p.className = "gengage-chat-ai-toppick-price-current", p.textContent = Y(n, a.pricing), d.appendChild(p);
2671
2673
  } else {
2672
2674
  const s = document.createElement("span");
2673
- s.className = "gengage-chat-ai-toppick-price-current", s.textContent = W(n, a.pricing), d.appendChild(s);
2675
+ s.className = "gengage-chat-ai-toppick-price-current", s.textContent = Y(n, a.pricing), d.appendChild(s);
2674
2676
  }
2675
2677
  if (r) {
2676
2678
  const s = document.createElement("div");
2677
- s.className = "gengage-chat-ai-toppick-price-stack", s.appendChild(Ve(r)), s.appendChild(d), e.appendChild(s);
2679
+ s.className = "gengage-chat-ai-toppick-price-stack", s.appendChild(qe(r)), s.appendChild(d), e.appendChild(s);
2678
2680
  } else e.appendChild(d);
2679
2681
  }
2680
2682
  function Yn(t, e) {
@@ -2694,50 +2696,50 @@ function bt(t, e, a) {
2694
2696
  const n = document.createElement("div");
2695
2697
  n.className = a ? "gengage-chat-ai-toppick-card gengage-chat-ai-toppick-card--winner gds-card" : "gengage-chat-ai-toppick-card gengage-chat-ai-toppick-card--compact gds-card", n.dataset.gengagePart = a ? "ai-top-pick-card-winner" : "ai-top-pick-card";
2696
2698
  const i = t.product, r = Ft(t), o = i.url ?? "", l = i.cartCode, g = i.inStock, c = !!(r && l && g !== !1), d = t.action;
2697
- r && e.onProductClick ? (n.classList.add("gds-clickable"), n.addEventListener("click", (k) => {
2698
- k.target.closest(".gengage-chat-ai-toppick-cta") || k.target.closest(".gengage-chat-favorite-btn") || k.target.closest(".gengage-chat-find-similar-pill") || e.onProductClick?.({
2699
+ r && e.onProductClick ? (n.classList.add("gds-clickable"), n.addEventListener("click", (C) => {
2700
+ C.target.closest(".gengage-chat-ai-toppick-cta") || C.target.closest(".gengage-chat-favorite-btn") || C.target.closest(".gengage-chat-find-similar-pill") || e.onProductClick?.({
2699
2701
  sku: r,
2700
2702
  url: o
2701
2703
  });
2702
- })) : d && (n.classList.add("gds-clickable"), n.addEventListener("click", (k) => {
2703
- k.target.closest(".gengage-chat-ai-toppick-cta") || k.target.closest(".gengage-chat-favorite-btn") || k.target.closest(".gengage-chat-find-similar-pill") || e.onAction(d);
2704
+ })) : d && (n.classList.add("gds-clickable"), n.addEventListener("click", (C) => {
2705
+ C.target.closest(".gengage-chat-ai-toppick-cta") || C.target.closest(".gengage-chat-favorite-btn") || C.target.closest(".gengage-chat-find-similar-pill") || e.onAction(d);
2704
2706
  }));
2705
2707
  const s = i.name || "Product image", p = !a && e.isMobile === !0, h = a ? mt(t.role, e.i18n) ?? e.i18n?.roleWinner ?? "TOP MATCH" : mt(t.role, e.i18n);
2706
2708
  if (h && !p) {
2707
- const k = document.createElement("span");
2708
- k.className = "gengage-chat-ai-toppick-badge gds-badge", k.dataset.gengagePart = "ai-top-pick-role-badge", k.textContent = h, n.appendChild(k);
2709
+ const C = document.createElement("span");
2710
+ C.className = "gengage-chat-ai-toppick-badge gds-badge", C.dataset.gengagePart = "ai-top-pick-role-badge", C.textContent = h, n.appendChild(C);
2709
2711
  }
2710
2712
  const v = document.createElement("div");
2711
2713
  v.className = "gengage-chat-ai-toppick-top-row", v.dataset.gengagePart = "ai-top-pick-top-row", Gn(t, s, v, e, { skipOverlayActions: p });
2712
2714
  const u = document.createElement("div");
2713
2715
  if (u.className = "gengage-chat-ai-toppick-body", u.dataset.gengagePart = "ai-top-pick-body", h && p) {
2714
- const k = document.createElement("div");
2715
- k.className = "gengage-chat-ai-toppick-role-line", k.dataset.gengagePart = "ai-top-pick-role-line", k.textContent = h, u.appendChild(k);
2716
+ const C = document.createElement("div");
2717
+ C.className = "gengage-chat-ai-toppick-role-line", C.dataset.gengagePart = "ai-top-pick-role-line", C.textContent = h, u.appendChild(C);
2716
2718
  }
2717
2719
  const f = i.name;
2718
2720
  if (f) {
2719
- const k = document.createElement("div");
2720
- k.className = "gengage-chat-ai-toppick-name", k.dataset.gengagePart = "ai-top-pick-name", k.textContent = f, u.appendChild(k);
2721
+ const C = document.createElement("div");
2722
+ C.className = "gengage-chat-ai-toppick-name", C.dataset.gengagePart = "ai-top-pick-name", C.textContent = f, u.appendChild(C);
2721
2723
  }
2722
- const x = $n(i);
2723
- x && u.appendChild(x), Wn(i, u, e), t.labels && t.labels.length > 0 && u.appendChild(Zn(t.labels)), v.appendChild(u), n.appendChild(v);
2724
- const N = document.createElement("div");
2725
- if (N.className = "gengage-chat-ai-toppick-detail", N.dataset.gengagePart = "ai-top-pick-detail", a) Yn(t, N);
2724
+ const y = $n(i);
2725
+ y && u.appendChild(y), Wn(i, u, e), t.labels && t.labels.length > 0 && u.appendChild(Zn(t.labels)), v.appendChild(u), n.appendChild(v);
2726
+ const M = document.createElement("div");
2727
+ if (M.className = "gengage-chat-ai-toppick-detail", M.dataset.gengagePart = "ai-top-pick-detail", a) Yn(t, M);
2726
2728
  else {
2727
- const k = typeof t.reason == "string" ? t.reason.trim() : "";
2728
- if (k) {
2729
- const I = document.createElement("p");
2730
- I.className = "gengage-chat-ai-toppick-snippet", I.dataset.gengagePart = "ai-top-pick-snippet", I.textContent = k, N.appendChild(I);
2729
+ const C = typeof t.reason == "string" ? t.reason.trim() : "";
2730
+ if (C) {
2731
+ const L = document.createElement("p");
2732
+ L.className = "gengage-chat-ai-toppick-snippet", L.dataset.gengagePart = "ai-top-pick-snippet", L.textContent = C, M.appendChild(L);
2731
2733
  }
2732
2734
  }
2733
- N.childNodes.length > 0 && n.appendChild(N);
2734
- const S = !!(r && e.topPicksLoadingSku === r), E = (c || d) && !p;
2735
- if (S || c || d) {
2736
- const k = document.createElement("div");
2737
- if (k.className = "gengage-chat-ai-toppick-spinner", k.dataset.gengagePart = "ai-top-pick-spinner", k.style.display = S ? "" : "none", n.appendChild(k), E) {
2738
- const I = document.createElement("button");
2739
- I.className = "gengage-chat-ai-toppick-cta gds-btn gds-btn-primary", I.dataset.gengagePart = "ai-top-pick-cta", I.type = "button", I.textContent = c ? e.i18n?.addToCartButton ?? "Add to Cart" : e.i18n?.viewDetails ?? "View Details", I.addEventListener("click", (B) => {
2740
- if (B.stopPropagation(), c) {
2735
+ M.childNodes.length > 0 && n.appendChild(M);
2736
+ const _ = !!(r && e.topPicksLoadingSku === r), E = (c || d) && !p;
2737
+ if (_ || c || d) {
2738
+ const C = document.createElement("div");
2739
+ if (C.className = "gengage-chat-ai-toppick-spinner", C.dataset.gengagePart = "ai-top-pick-spinner", C.style.display = _ ? "" : "none", n.appendChild(C), E) {
2740
+ const L = document.createElement("button");
2741
+ L.className = "gengage-chat-ai-toppick-cta gds-btn gds-btn-primary", L.dataset.gengagePart = "ai-top-pick-cta", L.type = "button", L.textContent = c ? e.i18n?.addToCartButton ?? "Add to Cart" : e.i18n?.viewDetails ?? "View Details", L.addEventListener("click", (I) => {
2742
+ if (I.stopPropagation(), c) {
2741
2743
  e.onAction({
2742
2744
  title: e.i18n?.addToCartButton ?? "Add to Cart",
2743
2745
  type: "addToCart",
@@ -2759,7 +2761,7 @@ function bt(t, e, a) {
2759
2761
  }
2760
2762
  e.onAction(d);
2761
2763
  }
2762
- }), n.appendChild(I);
2764
+ }), n.appendChild(L);
2763
2765
  }
2764
2766
  }
2765
2767
  return n;
@@ -3010,7 +3012,7 @@ function ni(t, e) {
3010
3012
  const i = document.createElement("div");
3011
3013
  if (i.className = "gengage-chat-product-card-name", i.textContent = t.name, n.appendChild(i), t.price) {
3012
3014
  const r = document.createElement("div");
3013
- r.className = "gengage-chat-product-card-price", r.textContent = W(t.price, e.pricing), n.appendChild(r);
3015
+ r.className = "gengage-chat-product-card-price", r.textContent = Y(t.price, e.pricing), n.appendChild(r);
3014
3016
  }
3015
3017
  return a.appendChild(n), (e.onProductSelect || e.onAction) && (a.classList.add("gds-clickable"), a.addEventListener("click", () => {
3016
3018
  if (t.sku) {
@@ -3073,45 +3075,45 @@ function ri(t, e) {
3073
3075
  if (d) {
3074
3076
  const h = Te(e, a), v = ze(e, a), u = !!(s && s !== d), f = document.createElement("div");
3075
3077
  f.className = "gengage-chat-product-summary__price", f.dataset.gengagePart = "product-summary-price";
3076
- const x = !!(h && u), N = $e(e, a);
3077
- if (x) {
3078
- const S = Ge({
3078
+ const y = !!(h && u), M = Ve(e, a);
3079
+ if (y) {
3080
+ const _ = $e({
3079
3081
  reasonText: h,
3080
- salePriceFormatted: W(d, e.pricing),
3081
- ...N !== void 0 ? { logoUrl: N } : {}
3082
+ salePriceFormatted: Y(d, e.pricing),
3083
+ ...M !== void 0 ? { logoUrl: M } : {}
3082
3084
  });
3083
3085
  if (u && v === "inline") {
3084
- f.classList.add("gengage-chat-product-summary__price--inline"), f.appendChild(S);
3086
+ f.classList.add("gengage-chat-product-summary__price--inline"), f.appendChild(_);
3085
3087
  const E = document.createElement("span");
3086
3088
  E.className = "gengage-chat-product-summary__price-sep", E.setAttribute("aria-hidden", "true");
3087
- const k = document.createElement("span");
3088
- k.className = "gengage-chat-product-summary__price-original", k.textContent = W(s, e.pricing), f.appendChild(E), f.appendChild(k);
3089
+ const C = document.createElement("span");
3090
+ C.className = "gengage-chat-product-summary__price-original", C.textContent = Y(s, e.pricing), f.appendChild(E), f.appendChild(C);
3089
3091
  } else {
3090
3092
  const E = document.createElement("span");
3091
- E.className = "gengage-chat-product-summary__price-original", E.textContent = W(s, e.pricing), f.appendChild(E), f.appendChild(document.createTextNode(" ")), f.appendChild(S);
3093
+ E.className = "gengage-chat-product-summary__price-original", E.textContent = Y(s, e.pricing), f.appendChild(E), f.appendChild(document.createTextNode(" ")), f.appendChild(_);
3092
3094
  }
3093
3095
  r.appendChild(f);
3094
3096
  } else {
3095
3097
  if (u && v === "inline") {
3096
3098
  f.classList.add("gengage-chat-product-summary__price--inline");
3097
- const S = document.createElement("span");
3098
- S.className = "gengage-chat-product-summary__price-current", S.textContent = W(d, e.pricing);
3099
+ const _ = document.createElement("span");
3100
+ _.className = "gengage-chat-product-summary__price-current", _.textContent = Y(d, e.pricing);
3099
3101
  const E = document.createElement("span");
3100
3102
  E.className = "gengage-chat-product-summary__price-sep", E.setAttribute("aria-hidden", "true");
3101
- const k = document.createElement("span");
3102
- k.className = "gengage-chat-product-summary__price-original", k.textContent = W(s, e.pricing), f.appendChild(S), f.appendChild(E), f.appendChild(k);
3103
+ const C = document.createElement("span");
3104
+ C.className = "gengage-chat-product-summary__price-original", C.textContent = Y(s, e.pricing), f.appendChild(_), f.appendChild(E), f.appendChild(C);
3103
3105
  } else if (u) {
3104
- const S = document.createElement("span");
3105
- S.className = "gengage-chat-product-summary__price-original", S.textContent = W(s, e.pricing), f.appendChild(S), f.appendChild(document.createTextNode(" "));
3106
+ const _ = document.createElement("span");
3107
+ _.className = "gengage-chat-product-summary__price-original", _.textContent = Y(s, e.pricing), f.appendChild(_), f.appendChild(document.createTextNode(" "));
3106
3108
  const E = document.createElement("span");
3107
- E.className = "gengage-chat-product-summary__price-current", E.textContent = W(d, e.pricing), f.appendChild(E);
3109
+ E.className = "gengage-chat-product-summary__price-current", E.textContent = Y(d, e.pricing), f.appendChild(E);
3108
3110
  } else {
3109
- const S = document.createElement("span");
3110
- S.className = "gengage-chat-product-summary__price-current", S.textContent = W(d, e.pricing), f.appendChild(S);
3111
+ const _ = document.createElement("span");
3112
+ _.className = "gengage-chat-product-summary__price-current", _.textContent = Y(d, e.pricing), f.appendChild(_);
3111
3113
  }
3112
3114
  if (h) {
3113
- const S = document.createElement("div");
3114
- S.className = "gengage-chat-product-summary__price-stack", S.appendChild(Ve(h)), S.appendChild(f), r.appendChild(S);
3115
+ const _ = document.createElement("div");
3116
+ _.className = "gengage-chat-product-summary__price-stack", _.appendChild(qe(h)), _.appendChild(f), r.appendChild(_);
3115
3117
  } else r.appendChild(f);
3116
3118
  }
3117
3119
  }
@@ -3145,62 +3147,61 @@ function ci(t, e, a, n, i) {
3145
3147
  l.className = "gengage-chat-consulting-style-grid", r.appendChild(l);
3146
3148
  const g = (d) => {
3147
3149
  e.innerHTML = "";
3148
- const s = Array.isArray(d.product_list) ? d.product_list : [], p = Array.isArray(d.recommendation_groups) ? d.recommendation_groups : [];
3150
+ const s = Array.isArray(d.product_list) ? d.product_list : [], p = a === "watch_expert" ? [] : Array.isArray(d.recommendation_groups) ? d.recommendation_groups : [];
3149
3151
  if (p.length > 0) {
3150
3152
  const h = /* @__PURE__ */ new Map();
3151
- for (const f of s) {
3152
- const x = typeof f?.sku == "string" ? f.sku : void 0;
3153
- x && h.set(x, f);
3153
+ for (const _ of s) {
3154
+ const E = typeof _?.sku == "string" ? _.sku : void 0;
3155
+ E && h.set(E, _);
3154
3156
  }
3155
- const v = /* @__PURE__ */ new Set();
3156
- for (const f of p) {
3157
- const x = Array.isArray(f.skus) ? f.skus.filter((P) => typeof P == "string" && P.trim().length > 0) : [], N = x.map((P) => (v.add(P), h.get(P))).filter((P) => !!P);
3158
- if (N.length === 0) continue;
3159
- const S = document.createElement("section");
3160
- S.className = "gengage-chat-consulting-group";
3161
- const E = document.createElement("div");
3162
- E.className = "gengage-chat-consulting-group-header";
3163
- const k = document.createElement("h4");
3164
- k.className = "gengage-chat-consulting-group-label";
3165
- const I = typeof f.label == "string" && f.label.trim().length > 0 ? f.label : "Öneri";
3166
- if (k.textContent = x.length > 0 ? `${I} (${x.length})` : I, E.appendChild(k), typeof f.reason == "string" && f.reason.trim().length > 0) {
3167
- const P = document.createElement("p");
3168
- P.className = "gengage-chat-consulting-group-reason", P.textContent = f.reason, E.appendChild(P);
3157
+ const v = (_, E, C, L) => {
3158
+ if (E.length === 0) return;
3159
+ const I = document.createElement("section");
3160
+ I.className = "gengage-chat-consulting-group";
3161
+ const N = document.createElement("div");
3162
+ N.className = "gengage-chat-consulting-group-header";
3163
+ const j = document.createElement("h4");
3164
+ if (j.className = "gengage-chat-consulting-group-label", j.textContent = `${_} (${E.length})`, N.appendChild(j), typeof L == "string" && L.trim().length > 0) {
3165
+ const G = document.createElement("p");
3166
+ G.className = "gengage-chat-consulting-group-reason", G.textContent = L, N.appendChild(G);
3169
3167
  }
3170
- S.appendChild(E);
3171
- const B = document.createElement("div");
3172
- B.className = "gengage-chat-product-grid gengage-chat-consulting-group-grid", B.style.setProperty("--consulting-group-columns", String(Math.max(1, Math.min(4, N.length))));
3173
- for (const P of N) {
3174
- const V = Fe({
3168
+ I.appendChild(N);
3169
+ const K = document.createElement("div");
3170
+ K.className = "gengage-chat-product-grid gengage-chat-consulting-group-grid", C && K.classList.add("gengage-chat-consulting-group-grid--single-group"), K.style.setProperty("--consulting-group-columns", String(Math.max(1, Math.min(4, E.length))));
3171
+ for (const G of E) {
3172
+ const b = tt({
3175
3173
  type: "ProductCard",
3176
- props: { product: P }
3174
+ props: { product: G }
3177
3175
  }, i ?? { onAction: () => {
3178
3176
  } });
3179
- B.appendChild(V);
3177
+ K.appendChild(b);
3180
3178
  }
3181
- S.appendChild(B), e.appendChild(S);
3179
+ I.appendChild(K), e.appendChild(I);
3180
+ }, u = /* @__PURE__ */ new Set(), f = [];
3181
+ for (const _ of p) {
3182
+ const E = (Array.isArray(_.skus) ? _.skus.filter((I) => typeof I == "string" && I.trim().length > 0) : []).map((I) => (u.add(I), h.get(I))).filter((I) => !!I);
3183
+ if (E.length === 0) continue;
3184
+ const C = typeof _.label == "string" && _.label.trim().length > 0 ? _.label : "Öneri", L = typeof _.reason == "string" ? _.reason : void 0;
3185
+ f.push({
3186
+ labelText: C,
3187
+ products: E,
3188
+ ...L !== void 0 ? { reasonText: L } : {}
3189
+ });
3182
3190
  }
3183
- const u = s.filter((f) => {
3184
- const x = typeof f?.sku == "string" ? f.sku : "";
3185
- return x.length > 0 && !v.has(x);
3191
+ const y = s.filter((_) => {
3192
+ const E = typeof _?.sku == "string" ? _.sku : "";
3193
+ return E.length > 0 && !u.has(E);
3186
3194
  });
3187
- if (u.length > 0) {
3188
- const f = document.createElement("div");
3189
- f.className = "gengage-chat-product-grid gengage-chat-consulting-group-grid", f.style.setProperty("--consulting-group-columns", String(Math.max(1, Math.min(4, u.length))));
3190
- for (const x of u) {
3191
- const N = Fe({
3192
- type: "ProductCard",
3193
- props: { product: x }
3194
- }, i ?? { onAction: () => {
3195
- } });
3196
- f.appendChild(N);
3197
- }
3198
- e.appendChild(f);
3199
- }
3195
+ y.length > 0 && f.push({
3196
+ labelText: i?.i18n?.consultingOtherCompatibleProductsLabel ?? "Other compatible products",
3197
+ products: y
3198
+ });
3199
+ const M = f.length === 1;
3200
+ for (const _ of f) v(_.labelText, _.products, M, _.reasonText);
3200
3201
  return;
3201
3202
  }
3202
3203
  for (const h of s) {
3203
- const v = Fe({
3204
+ const v = tt({
3204
3205
  type: "ProductCard",
3205
3206
  props: { product: h }
3206
3207
  }, i ?? { onAction: () => {
@@ -3221,7 +3222,7 @@ function ci(t, e, a, n, i) {
3221
3222
  }
3222
3223
  const u = document.createElement("span");
3223
3224
  u.className = "gengage-chat-consulting-style-caption", u.textContent = d.style_label ?? `Style ${s + 1}`, h.appendChild(u), p.appendChild(h), p.addEventListener("click", () => {
3224
- c !== s && (c = s, l.querySelectorAll(".gengage-chat-consulting-style-btn").forEach((f, x) => f.classList.toggle("gengage-chat-consulting-style-btn--active", x === s)), g(d));
3225
+ c !== s && (c = s, l.querySelectorAll(".gengage-chat-consulting-style-btn").forEach((f, y) => f.classList.toggle("gengage-chat-consulting-style-btn--active", y === s)), g(d));
3225
3226
  }), l.appendChild(p);
3226
3227
  }), t.appendChild(r), g(n[0] ?? {});
3227
3228
  }
@@ -3236,13 +3237,13 @@ function li(t) {
3236
3237
  function gi(t, e, a, n) {
3237
3238
  ci(t, e, a.source, a.styleVariations, n);
3238
3239
  }
3239
- function tt() {
3240
+ function et() {
3240
3241
  return window.innerWidth < 768;
3241
3242
  }
3242
3243
  var Ut = {
3243
3244
  ActionButtons: ({ element: t, context: e }) => hi(t, e),
3244
3245
  ActionButton: ({ element: t, context: e }) => ui(t, e),
3245
- ProductCard: ({ element: t, context: e }) => Fe(t, e),
3246
+ ProductCard: ({ element: t, context: e }) => tt(t, e),
3246
3247
  ProductDetailsPanel: ({ element: t, context: e }) => zi(t, e),
3247
3248
  ProductGrid: ({ element: t, spec: e, renderElement: a, context: n }) => qi(t, e, a, n),
3248
3249
  ReviewHighlights: ({ element: t, context: e }) => On(t, {
@@ -3305,12 +3306,12 @@ function ui(t, e) {
3305
3306
  }
3306
3307
  function ft(t, e, a, n, i) {
3307
3308
  t.replaceChildren();
3308
- const r = ze(e, a), o = !!(i && n && i !== n), l = Te(e, a), g = !!(l && o), c = $e(e, a);
3309
+ const r = ze(e, a), o = !!(i && n && i !== n), l = Te(e, a), g = !!(l && o), c = Ve(e, a);
3309
3310
  if (!n || parseFloat(n) <= 0) return;
3310
3311
  if (g) {
3311
- const s = Ge({
3312
+ const s = $e({
3312
3313
  reasonText: l,
3313
- salePriceFormatted: W(n, e.pricing),
3314
+ salePriceFormatted: Y(n, e.pricing),
3314
3315
  ...c !== void 0 ? { logoUrl: c } : {}
3315
3316
  });
3316
3317
  if (o && r === "inline") {
@@ -3320,13 +3321,13 @@ function ft(t, e, a, n, i) {
3320
3321
  const h = document.createElement("span");
3321
3322
  h.className = "gengage-chat-product-card-price-sep", h.setAttribute("aria-hidden", "true");
3322
3323
  const v = document.createElement("span");
3323
- v.className = "gengage-chat-product-card-original-price", v.textContent = W(i, e.pricing), p.appendChild(h), p.appendChild(v), t.appendChild(p);
3324
+ v.className = "gengage-chat-product-card-original-price", v.textContent = Y(i, e.pricing), p.appendChild(h), p.appendChild(v), t.appendChild(p);
3324
3325
  return;
3325
3326
  }
3326
3327
  if (t.classList.remove("gengage-chat-product-card-price-block--inline"), t.appendChild(s), o) {
3327
3328
  t.appendChild(document.createTextNode(" "));
3328
3329
  const p = document.createElement("span");
3329
- p.className = "gengage-chat-product-card-original-price", p.textContent = W(i, e.pricing), t.appendChild(p);
3330
+ p.className = "gengage-chat-product-card-original-price", p.textContent = Y(i, e.pricing), t.appendChild(p);
3330
3331
  }
3331
3332
  return;
3332
3333
  }
@@ -3335,28 +3336,28 @@ function ft(t, e, a, n, i) {
3335
3336
  const s = document.createElement("div");
3336
3337
  s.className = "gengage-chat-product-card-price-row";
3337
3338
  const p = document.createElement("span");
3338
- p.className = "gengage-chat-product-card-current-price", p.textContent = W(n, e.pricing);
3339
+ p.className = "gengage-chat-product-card-current-price", p.textContent = Y(n, e.pricing);
3339
3340
  const h = document.createElement("span");
3340
3341
  h.className = "gengage-chat-product-card-price-sep", h.setAttribute("aria-hidden", "true");
3341
3342
  const v = document.createElement("span");
3342
- v.className = "gengage-chat-product-card-original-price", v.textContent = W(i, e.pricing), s.appendChild(p), s.appendChild(h), s.appendChild(v), t.appendChild(s);
3343
+ v.className = "gengage-chat-product-card-original-price", v.textContent = Y(i, e.pricing), s.appendChild(p), s.appendChild(h), s.appendChild(v), t.appendChild(s);
3343
3344
  return;
3344
3345
  }
3345
3346
  t.classList.remove("gengage-chat-product-card-price-block--inline");
3346
3347
  const d = document.createElement("span");
3347
- if (d.className = "gengage-chat-product-card-current-price", d.textContent = W(n, e.pricing), t.appendChild(d), o) {
3348
+ if (d.className = "gengage-chat-product-card-current-price", d.textContent = Y(n, e.pricing), t.appendChild(d), o) {
3348
3349
  t.appendChild(document.createTextNode(" "));
3349
3350
  const s = document.createElement("span");
3350
- s.className = "gengage-chat-product-card-original-price", s.textContent = W(i, e.pricing), t.appendChild(s);
3351
+ s.className = "gengage-chat-product-card-original-price", s.textContent = Y(i, e.pricing), t.appendChild(s);
3351
3352
  }
3352
3353
  }
3353
3354
  function vt(t, e, a, n, i, r, o) {
3354
3355
  t.classList.remove("gengage-chat-product-details-price--inline"), t.replaceChildren(), t.className = "gengage-chat-product-details-price";
3355
- const l = Te(e, a), g = !!(l && o), c = $e(e, a);
3356
+ const l = Te(e, a), g = !!(l && o), c = Ve(e, a);
3356
3357
  if (g) {
3357
- const s = Ge({
3358
+ const s = $e({
3358
3359
  reasonText: l,
3359
- salePriceFormatted: W(n, e.pricing),
3360
+ salePriceFormatted: Y(n, e.pricing),
3360
3361
  ...c !== void 0 ? { logoUrl: c } : {}
3361
3362
  });
3362
3363
  if (o && r === "inline") {
@@ -3364,37 +3365,37 @@ function vt(t, e, a, n, i, r, o) {
3364
3365
  const p = document.createElement("span");
3365
3366
  p.className = "gengage-chat-product-details-price-sep", p.setAttribute("aria-hidden", "true");
3366
3367
  const h = document.createElement("span");
3367
- h.className = "gengage-chat-product-details-original-price", h.textContent = W(i, e.pricing), t.appendChild(p), t.appendChild(h);
3368
+ h.className = "gengage-chat-product-details-original-price", h.textContent = Y(i, e.pricing), t.appendChild(p), t.appendChild(h);
3368
3369
  } else {
3369
3370
  if (o) {
3370
3371
  const p = document.createElement("span");
3371
- p.className = "gengage-chat-product-details-original-price", p.textContent = W(i, e.pricing), t.appendChild(p), t.appendChild(document.createTextNode(" "));
3372
+ p.className = "gengage-chat-product-details-original-price", p.textContent = Y(i, e.pricing), t.appendChild(p), t.appendChild(document.createTextNode(" "));
3372
3373
  }
3373
3374
  t.appendChild(s);
3374
3375
  }
3375
3376
  } else if (o && r === "inline") {
3376
3377
  t.classList.add("gengage-chat-product-details-price--inline");
3377
3378
  const s = document.createElement("span");
3378
- s.className = "gengage-chat-product-details-current-price", s.textContent = W(n, e.pricing);
3379
+ s.className = "gengage-chat-product-details-current-price", s.textContent = Y(n, e.pricing);
3379
3380
  const p = document.createElement("span");
3380
3381
  p.className = "gengage-chat-product-details-price-sep", p.setAttribute("aria-hidden", "true");
3381
3382
  const h = document.createElement("span");
3382
- h.className = "gengage-chat-product-details-original-price", h.textContent = W(i, e.pricing), t.appendChild(s), t.appendChild(p), t.appendChild(h);
3383
+ h.className = "gengage-chat-product-details-original-price", h.textContent = Y(i, e.pricing), t.appendChild(s), t.appendChild(p), t.appendChild(h);
3383
3384
  } else {
3384
3385
  if (o) {
3385
3386
  const p = document.createElement("span");
3386
- p.className = "gengage-chat-product-details-original-price", p.textContent = W(i, e.pricing), t.appendChild(p), t.appendChild(document.createTextNode(" "));
3387
+ p.className = "gengage-chat-product-details-original-price", p.textContent = Y(i, e.pricing), t.appendChild(p), t.appendChild(document.createTextNode(" "));
3387
3388
  }
3388
3389
  const s = document.createElement("span");
3389
- s.className = "gengage-chat-product-details-current-price", s.textContent = W(n, e.pricing), t.appendChild(s);
3390
+ s.className = "gengage-chat-product-details-current-price", s.textContent = Y(n, e.pricing), t.appendChild(s);
3390
3391
  }
3391
- const d = je(a, "discountPercent", "price_discount_rate");
3392
+ const d = Ue(a, "discountPercent", "price_discount_rate");
3392
3393
  if (typeof d == "number" && d > 0) {
3393
3394
  const s = document.createElement("span");
3394
3395
  s.className = "gengage-chat-product-details-discount-badge", s.textContent = `%${It(d)}`, t.appendChild(s);
3395
3396
  }
3396
3397
  }
3397
- function Fe(t, e) {
3398
+ function tt(t, e) {
3398
3399
  const a = document.createElement("div");
3399
3400
  a.className = "gengage-chat-product-card gds-card gds-product-card gds-card-interactive";
3400
3401
  const n = t.props?.product ?? t.props;
@@ -3417,43 +3418,43 @@ function Fe(t, e) {
3417
3418
  b.className = "gengage-chat-product-card-img-wrapper";
3418
3419
  const m = document.createElement("img");
3419
3420
  m.className = "gengage-chat-product-card-img", m.loading = "lazy", ne(m, "src", o);
3420
- const _ = n.name;
3421
- _ && (m.alt = _), ve(m), b.appendChild(m);
3422
- const y = n.discountPercent;
3423
- if (typeof y == "number" && y > 0) {
3421
+ const k = n.name;
3422
+ k && (m.alt = k), ve(m), b.appendChild(m);
3423
+ const x = n.discountPercent;
3424
+ if (typeof x == "number" && x > 0) {
3424
3425
  const T = document.createElement("span");
3425
- T.className = "gengage-chat-product-card-discount-badge", T.textContent = `%${It(y)}`, b.appendChild(T);
3426
+ T.className = "gengage-chat-product-card-discount-badge", T.textContent = `%${It(x)}`, b.appendChild(T);
3426
3427
  }
3427
- const A = document.createElement("div");
3428
- A.className = "gengage-chat-product-card-img-actions";
3429
- const M = n.sku;
3430
- if (M && e.onFavoriteToggle) {
3428
+ const P = document.createElement("div");
3429
+ P.className = "gengage-chat-product-card-img-actions";
3430
+ const B = n.sku;
3431
+ if (B && e.onFavoriteToggle) {
3431
3432
  const T = document.createElement("button");
3432
- T.className = "gengage-chat-favorite-btn", T.type = "button", T.dataset.gengageFavoriteSku = M, T.setAttribute("aria-label", e.i18n?.addToFavoritesLabel ?? "Add to favorites");
3433
- const O = e.favoritedSkus?.has(M) ?? !1;
3434
- O && T.classList.add("gengage-chat-favorite-btn--active"), T.innerHTML = `<svg width="14" height="14" viewBox="0 0 24 24" fill="${O ? "currentColor" : "none"}" stroke="currentColor" stroke-width="2"><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"/></svg>`, T.addEventListener("click", (H) => {
3433
+ T.className = "gengage-chat-favorite-btn", T.type = "button", T.dataset.gengageFavoriteSku = B, T.setAttribute("aria-label", e.i18n?.addToFavoritesLabel ?? "Add to favorites");
3434
+ const q = e.favoritedSkus?.has(B) ?? !1;
3435
+ q && T.classList.add("gengage-chat-favorite-btn--active"), T.innerHTML = `<svg width="14" height="14" viewBox="0 0 24 24" fill="${q ? "currentColor" : "none"}" stroke="currentColor" stroke-width="2"><path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"/></svg>`, T.addEventListener("click", (H) => {
3435
3436
  H.stopPropagation(), T.classList.toggle("gengage-chat-favorite-btn--active");
3436
3437
  const $ = T.querySelector("svg");
3437
- $ && $.setAttribute("fill", T.classList.contains("gengage-chat-favorite-btn--active") ? "currentColor" : "none"), e.onFavoriteToggle(M, n);
3438
- }), A.appendChild(T);
3438
+ $ && $.setAttribute("fill", T.classList.contains("gengage-chat-favorite-btn--active") ? "currentColor" : "none"), e.onFavoriteToggle(B, n);
3439
+ }), P.appendChild(T);
3439
3440
  }
3440
- const L = n.sku, z = e.i18n?.findSimilarLabel ?? "Find Similar";
3441
- if (L) {
3441
+ const A = n.sku, z = e.i18n?.findSimilarLabel ?? "Find Similar";
3442
+ if (A) {
3442
3443
  const T = document.createElement("button");
3443
3444
  T.className = "gengage-chat-find-similar-pill", T.type = "button", T.setAttribute("aria-label", z), T.dataset.tooltip = z, T.innerHTML = '<span class="gengage-chat-find-similar-pill-icon" aria-hidden="true"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.25" stroke-linecap="round" stroke-linejoin="round"><circle cx="10.5" cy="10.5" r="6.5"/><path d="M16 16l5.5 5.5"/></svg></span>';
3444
- const O = document.createElement("span");
3445
- O.className = "gengage-chat-find-similar-pill-text", O.textContent = z, T.appendChild(O), T.addEventListener("click", (H) => {
3445
+ const q = document.createElement("span");
3446
+ q.className = "gengage-chat-find-similar-pill-text", q.textContent = z, T.appendChild(q), T.addEventListener("click", (H) => {
3446
3447
  H.stopPropagation(), e.onAction({
3447
3448
  title: z,
3448
3449
  type: "findSimilar",
3449
3450
  payload: {
3450
- sku: L,
3451
+ sku: A,
3451
3452
  ...o ? { image_url: o } : {}
3452
3453
  }
3453
3454
  });
3454
- }), A.appendChild(T);
3455
+ }), P.appendChild(T);
3455
3456
  }
3456
- A.childElementCount > 0 && b.appendChild(A), a.appendChild(b);
3457
+ P.childElementCount > 0 && b.appendChild(P), a.appendChild(b);
3457
3458
  }
3458
3459
  const l = document.createElement("div");
3459
3460
  l.className = "gengage-chat-product-card-body";
@@ -3462,99 +3463,99 @@ function Fe(t, e) {
3462
3463
  const b = document.createElement("div");
3463
3464
  b.className = "gengage-chat-product-card-brand", b.textContent = g, l.appendChild(b);
3464
3465
  }
3465
- const c = n.rating, d = n.reviewCount, s = n.price, p = n.originalPrice, h = n.price_async, v = Te(e, n), u = ze(e, n), f = !!(v || p && s && p !== s && parseFloat(s) > 0 && u === "inline"), x = typeof c == "number" && Number.isFinite(c) && c > 0, N = document.createElement("div");
3466
- N.className = "gengage-chat-product-card-meta-row";
3467
- const S = document.createElement("div");
3468
- S.className = "gengage-chat-product-card-price gengage-chat-product-card-price-block";
3466
+ const c = n.rating, d = n.reviewCount, s = n.price, p = n.originalPrice, h = n.price_async, v = Te(e, n), u = ze(e, n), f = !!(v || p && s && p !== s && parseFloat(s) > 0 && u === "inline"), y = typeof c == "number" && Number.isFinite(c) && c > 0, M = document.createElement("div");
3467
+ M.className = "gengage-chat-product-card-meta-row";
3468
+ const _ = document.createElement("div");
3469
+ _.className = "gengage-chat-product-card-price gengage-chat-product-card-price-block";
3469
3470
  const E = f ? (() => {
3470
3471
  const b = document.createElement("div");
3471
- return b.className = "gengage-chat-product-card-price-stack", v && b.appendChild(Ve(v)), b.appendChild(S), b;
3472
- })() : S;
3472
+ return b.className = "gengage-chat-product-card-price-stack", v && b.appendChild(qe(v)), b.appendChild(_), b;
3473
+ })() : _;
3473
3474
  if (h === !0) {
3474
3475
  const b = document.createElement("span");
3475
- b.className = "gengage-chat-price-skeleton", S.appendChild(b), setTimeout(() => {
3476
- b.parentElement && (s && parseFloat(s) > 0 ? ft(S, e, n, s, n.originalPrice) : b.remove());
3476
+ b.className = "gengage-chat-price-skeleton", _.appendChild(b), setTimeout(() => {
3477
+ b.parentElement && (s && parseFloat(s) > 0 ? ft(_, e, n, s, n.originalPrice) : b.remove());
3477
3478
  }, 300);
3478
- } else s && parseFloat(s) > 0 && ft(S, e, n, s, p);
3479
- if ((S.childElementCount > 0 || h === !0) && N.appendChild(E), x) {
3479
+ } else s && parseFloat(s) > 0 && ft(_, e, n, s, p);
3480
+ if ((_.childElementCount > 0 || h === !0) && M.appendChild(E), y) {
3480
3481
  const b = document.createElement("div");
3481
3482
  b.className = "gengage-chat-product-card-rating gengage-chat-product-card-rating-compact";
3482
- const m = Nt(c), _ = [`${m.toFixed(1)}`, "out of 5 stars"];
3483
- typeof d == "number" && Number.isFinite(d) && _.push(`(${d} reviews)`), b.setAttribute("aria-label", _.join(" "));
3484
- const y = document.createElement("span");
3485
- y.className = "gengage-chat-product-card-rating-compact-star", y.setAttribute("aria-hidden", "true"), y.innerHTML = '<svg width="12" height="12" viewBox="0 0 24 24" fill="currentColor"><path d="M12 3.6l2.58 5.23 5.77.84-4.17 4.07.98 5.75L12 16.78l-5.16 2.71.99-5.75L3.66 9.67l5.76-.84L12 3.6z"/></svg>';
3486
- const A = document.createElement("span");
3487
- A.className = "gengage-chat-product-card-rating-compact-value", A.textContent = m.toFixed(1), b.appendChild(y), b.appendChild(A), N.appendChild(b);
3483
+ const m = Nt(c), k = [`${m.toFixed(1)}`, "out of 5 stars"];
3484
+ typeof d == "number" && Number.isFinite(d) && k.push(`(${d} reviews)`), b.setAttribute("aria-label", k.join(" "));
3485
+ const x = document.createElement("span");
3486
+ x.className = "gengage-chat-product-card-rating-compact-star", x.setAttribute("aria-hidden", "true"), x.innerHTML = '<svg width="12" height="12" viewBox="0 0 24 24" fill="currentColor"><path d="M12 3.6l2.58 5.23 5.77.84-4.17 4.07.98 5.75L12 16.78l-5.16 2.71.99-5.75L3.66 9.67l5.76-.84L12 3.6z"/></svg>';
3487
+ const P = document.createElement("span");
3488
+ P.className = "gengage-chat-product-card-rating-compact-value", P.textContent = m.toFixed(1), b.appendChild(x), b.appendChild(P), M.appendChild(b);
3488
3489
  }
3489
- N.childElementCount === 0 && (N.classList.add("gengage-chat-product-card-meta-row--empty"), N.setAttribute("aria-hidden", "true")), l.appendChild(N);
3490
- const k = n.name;
3491
- if (k) {
3490
+ M.childElementCount === 0 && (M.classList.add("gengage-chat-product-card-meta-row--empty"), M.setAttribute("aria-hidden", "true")), l.appendChild(M);
3491
+ const C = n.name;
3492
+ if (C) {
3492
3493
  const b = document.createElement("div");
3493
- b.className = "gengage-chat-product-card-name", b.textContent = k, b.title = k, l.appendChild(b);
3494
+ b.className = "gengage-chat-product-card-name", b.textContent = C, b.title = C, l.appendChild(b);
3494
3495
  }
3495
- const I = n.inStock;
3496
- if (typeof I == "boolean") {
3496
+ const L = n.inStock;
3497
+ if (typeof L == "boolean") {
3497
3498
  const b = document.createElement("div");
3498
- b.className = `gengage-chat-product-card-stock ${I ? "is-in-stock" : "is-out-of-stock"}`, b.textContent = I ? e.i18n?.inStockLabel ?? "In Stock" : e.i18n?.outOfStockLabel ?? "Out of Stock", l.appendChild(b);
3499
+ b.className = `gengage-chat-product-card-stock ${L ? "is-in-stock" : "is-out-of-stock"}`, b.textContent = L ? e.i18n?.inStockLabel ?? "In Stock" : e.i18n?.outOfStockLabel ?? "Out of Stock", l.appendChild(b);
3499
3500
  }
3500
3501
  a.appendChild(l);
3501
- const B = n.url, P = n.sku, V = n.cartCode, Z = !!(V && P && I !== !1), K = e.i18n?.productCtaLabel ?? "View";
3502
- if (Z) {
3502
+ const I = n.url, N = n.sku, j = n.cartCode, K = !!(j && N && L !== !1), G = e.i18n?.productCtaLabel ?? "View";
3503
+ if (K) {
3503
3504
  const b = document.createElement("div");
3504
3505
  b.className = "gengage-chat-product-card-buy-footer";
3505
3506
  const m = document.createElement("button");
3506
- m.type = "button", m.className = "gengage-chat-product-card-buy-trigger", m.textContent = K, m.addEventListener("click", (_) => {
3507
- _.stopPropagation(), e.onAction({
3508
- title: e.i18n?.addToCartButton ?? K,
3507
+ m.type = "button", m.className = "gengage-chat-product-card-buy-trigger", m.textContent = G, m.addEventListener("click", (k) => {
3508
+ k.stopPropagation(), e.onAction({
3509
+ title: e.i18n?.addToCartButton ?? G,
3509
3510
  type: "addToCart",
3510
3511
  payload: {
3511
- sku: P,
3512
- cartCode: V,
3512
+ sku: N,
3513
+ cartCode: j,
3513
3514
  quantity: 1
3514
3515
  }
3515
3516
  });
3516
3517
  }), b.appendChild(m), a.appendChild(b);
3517
3518
  } else if (r) {
3518
3519
  const b = document.createElement("button");
3519
- b.className = "gengage-chat-product-card-cta", b.type = "button", b.textContent = r.type === "launchSingleProduct" ? K : r.title || K, b.addEventListener("click", (m) => {
3520
+ b.className = "gengage-chat-product-card-cta", b.type = "button", b.textContent = r.type === "launchSingleProduct" ? G : r.title || G, b.addEventListener("click", (m) => {
3520
3521
  if (a.parentElement?.classList.contains("gengage-chat-comparison-select-wrapper")) {
3521
3522
  m.stopPropagation();
3522
3523
  return;
3523
3524
  }
3524
3525
  e.onAction(r);
3525
3526
  }), a.appendChild(b);
3526
- } else if (B && ce(B)) {
3527
+ } else if (I && ce(I)) {
3527
3528
  const b = document.createElement("a");
3528
- b.className = "gengage-chat-product-card-cta", ne(b, "href", B), ne(b, "target", "_blank"), ne(b, "rel", "noopener noreferrer"), b.textContent = K, b.addEventListener("click", (m) => {
3529
+ b.className = "gengage-chat-product-card-cta", ne(b, "href", I), ne(b, "target", "_blank"), ne(b, "rel", "noopener noreferrer"), b.textContent = G, b.addEventListener("click", (m) => {
3529
3530
  if (a.parentElement?.classList.contains("gengage-chat-comparison-select-wrapper")) {
3530
3531
  m.preventDefault(), m.stopPropagation();
3531
3532
  return;
3532
3533
  }
3533
- e.onProductClick && P && (m.preventDefault(), e.onProductClick({
3534
- sku: P,
3535
- url: B
3534
+ e.onProductClick && N && (m.preventDefault(), e.onProductClick({
3535
+ sku: N,
3536
+ url: I
3536
3537
  }));
3537
3538
  }), a.appendChild(b);
3538
3539
  }
3539
- if (e.comparisonSelectMode && P && e.onToggleComparisonSku) {
3540
+ if (e.comparisonSelectMode && N && e.onToggleComparisonSku) {
3540
3541
  const b = document.createElement("div");
3541
3542
  b.className = "gengage-chat-comparison-select-wrapper";
3542
- const m = e.comparisonSelectedSkus?.includes(P) ?? !1;
3543
+ const m = e.comparisonSelectedSkus?.includes(N) ?? !1;
3543
3544
  m && b.classList.add("gengage-chat-comparison-select-wrapper--selected");
3544
- const _ = n.name ?? P, y = e.i18n?.comparisonSelectCardHint ?? "Tap anywhere on the card to add or remove it from comparison.";
3545
- b.setAttribute("role", "group"), b.setAttribute("aria-label", `${String(_)}. ${y}`);
3546
- const A = document.createElement("button");
3547
- A.type = "button", A.className = "gengage-chat-comparison-checkbox", A.dataset.selected = m ? "true" : "false", A.setAttribute("aria-pressed", m ? "true" : "false");
3548
- const M = document.createElement("span");
3549
- M.className = "gengage-chat-comparison-checkbox-icon", M.innerHTML = m ? '<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6L9 17l-5-5"/></svg>' : '<span class="gengage-chat-comparison-checkbox-dot"></span>';
3550
- const L = document.createElement("span");
3551
- L.className = "gengage-chat-comparison-checkbox-label", L.textContent = m ? e.i18n?.comparisonSelectedLabel ?? "Selected" : e.i18n?.comparisonSelectLabel ?? "Select to compare", A.appendChild(M), A.appendChild(L), A.addEventListener("click", (T) => {
3552
- T.stopPropagation(), e.onToggleComparisonSku?.(P);
3545
+ const k = n.name ?? N, x = e.i18n?.comparisonSelectCardHint ?? "Tap anywhere on the card to add or remove it from comparison.";
3546
+ b.setAttribute("role", "group"), b.setAttribute("aria-label", `${String(k)}. ${x}`);
3547
+ const P = document.createElement("button");
3548
+ P.type = "button", P.className = "gengage-chat-comparison-checkbox", P.dataset.selected = m ? "true" : "false", P.setAttribute("aria-pressed", m ? "true" : "false");
3549
+ const B = document.createElement("span");
3550
+ B.className = "gengage-chat-comparison-checkbox-icon", B.innerHTML = m ? '<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6L9 17l-5-5"/></svg>' : '<span class="gengage-chat-comparison-checkbox-dot"></span>';
3551
+ const A = document.createElement("span");
3552
+ A.className = "gengage-chat-comparison-checkbox-label", A.textContent = m ? e.i18n?.comparisonSelectedLabel ?? "Selected" : e.i18n?.comparisonSelectLabel ?? "Select to compare", P.appendChild(B), P.appendChild(A), P.addEventListener("click", (T) => {
3553
+ T.stopPropagation(), e.onToggleComparisonSku?.(N);
3553
3554
  });
3554
3555
  const z = document.createElement("div");
3555
- return z.className = "gengage-chat-comparison-card-hint", z.setAttribute("aria-hidden", "true"), z.textContent = y, b.addEventListener("click", (T) => {
3556
- T.target.closest(".gengage-chat-comparison-checkbox") || (T.stopPropagation(), e.onToggleComparisonSku?.(P));
3557
- }), b.appendChild(A), b.appendChild(z), b.appendChild(a), b;
3556
+ return z.className = "gengage-chat-comparison-card-hint", z.setAttribute("aria-hidden", "true"), z.textContent = x, b.addEventListener("click", (T) => {
3557
+ T.target.closest(".gengage-chat-comparison-checkbox") || (T.stopPropagation(), e.onToggleComparisonSku?.(N));
3558
+ }), b.appendChild(P), b.appendChild(z), b.appendChild(a), b;
3558
3559
  }
3559
3560
  return a;
3560
3561
  }
@@ -3609,7 +3610,7 @@ function re(t, ...e) {
3609
3610
  }
3610
3611
  }
3611
3612
  }
3612
- function je(t, ...e) {
3613
+ function Ue(t, ...e) {
3613
3614
  for (const a of e) {
3614
3615
  const n = t[a];
3615
3616
  if (typeof n == "number" && Number.isFinite(n)) return n;
@@ -3619,7 +3620,7 @@ function je(t, ...e) {
3619
3620
  }
3620
3621
  }
3621
3622
  }
3622
- function De(t, ...e) {
3623
+ function Fe(t, ...e) {
3623
3624
  for (const a of e) {
3624
3625
  const n = t[a];
3625
3626
  if (typeof n == "boolean") return n;
@@ -3653,7 +3654,7 @@ function Ci(t) {
3653
3654
  const a = re(t, "description");
3654
3655
  return a ? { text: a } : void 0;
3655
3656
  }
3656
- function Oe(t) {
3657
+ function je(t) {
3657
3658
  return Array.isArray(t) ? t.map((e) => {
3658
3659
  if (!e || typeof e != "object") return null;
3659
3660
  const a = e, n = re(a, "key", "name", "label", "title"), i = a.value, r = typeof i == "string" || typeof i == "number" || typeof i == "boolean" ? String(i).trim() : void 0;
@@ -3670,20 +3671,20 @@ function Oe(t) {
3670
3671
  }).filter((e) => e !== null) : [];
3671
3672
  }
3672
3673
  function qt(t) {
3673
- const e = Oe(t.features);
3674
- return e.length > 0 ? e : Oe(t.specifications);
3674
+ const e = je(t.features);
3675
+ return e.length > 0 ? e : je(t.specifications);
3675
3676
  }
3676
3677
  function Si(t) {
3677
- const e = t.specifications, a = Oe(e);
3678
+ const e = t.specifications, a = je(e);
3678
3679
  if (a.length > 0) return Array.isArray(e) ? a : Object.fromEntries(a.map((i) => [i.key, i.value]));
3679
- const n = Oe(t.features);
3680
+ const n = je(t.features);
3680
3681
  return n.length > 0 ? n : void 0;
3681
3682
  }
3682
3683
  function ye(t, ...e) {
3683
3684
  return re(t, ...e);
3684
3685
  }
3685
3686
  function xt(t, ...e) {
3686
- return je(t, ...e);
3687
+ return Ue(t, ...e);
3687
3688
  }
3688
3689
  function Vt(t) {
3689
3690
  return ye(t, "value", "option_value", "attribute_value", "label", "title", "name", "variant_name", "sku");
@@ -3733,7 +3734,7 @@ function Ni(t) {
3733
3734
  function Mi(t) {
3734
3735
  const e = Ni(t);
3735
3736
  if (e) return e;
3736
- const a = re(t, "sku"), n = De(t, "inStock", "in_stock"), i = [], r = /* @__PURE__ */ new Set(), o = (g, c) => {
3737
+ const a = re(t, "sku"), n = Fe(t, "inStock", "in_stock"), i = [], r = /* @__PURE__ */ new Set(), o = (g, c) => {
3737
3738
  if (!Ti(g) || typeof c != "string" && typeof c != "number" && typeof c != "boolean") return;
3738
3739
  const d = String(c).trim();
3739
3740
  if (!d) return;
@@ -3758,69 +3759,69 @@ function zi(t, e) {
3758
3759
  a.className = "gengage-chat-product-details-panel";
3759
3760
  const n = t.props?.product ?? t.props;
3760
3761
  if (!n) return a;
3761
- const i = re(n, "name"), r = re(n, "brand"), o = re(n, "sku"), l = re(n, "cartCode", "cart_code"), g = re(n, "price"), c = re(n, "originalPrice", "price_original"), d = De(n, "price_async"), s = Te(e, n), p = ze(e, n), h = !!(c && g && c !== g), v = De(n, "inStock", "in_stock"), u = je(n, "reviewCount", "review_count"), f = je(n, "rating"), x = _i(n), N = qt(n).slice(0, 4);
3762
- if (x.length > 1) {
3762
+ const i = re(n, "name"), r = re(n, "brand"), o = re(n, "sku"), l = re(n, "cartCode", "cart_code"), g = re(n, "price"), c = re(n, "originalPrice", "price_original"), d = Fe(n, "price_async"), s = Te(e, n), p = ze(e, n), h = !!(c && g && c !== g), v = Fe(n, "inStock", "in_stock"), u = Ue(n, "reviewCount", "review_count"), f = Ue(n, "rating"), y = _i(n), M = qt(n).slice(0, 4);
3763
+ if (y.length > 1) {
3763
3764
  const b = document.createElement("div");
3764
3765
  b.className = "gengage-chat-product-details-media gengage-chat-product-details-gallery gengage-chat-product-details-img-wrap";
3765
3766
  const m = document.createElement("img");
3766
- m.className = "gengage-chat-product-details-img", ne(m, "src", x[0]), m.alt = i ?? "Product image", ve(m), b.appendChild(m);
3767
- const _ = document.createElement("div");
3768
- _.className = "gengage-chat-product-gallery-thumbs";
3769
- const y = 6;
3770
- let A = null, M = 0;
3771
- const L = e.i18n, z = L?.galleryPrevAriaLabel ?? "Previous image", T = L?.galleryNextAriaLabel ?? "Next image", O = (q) => q === "prev" ? '<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="15 18 9 12 15 6"/></svg>' : '<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="9 18 15 12 9 6"/></svg>', H = document.createElement("button");
3772
- H.type = "button", H.className = "gengage-chat-product-gallery-nav gengage-chat-product-gallery-nav--prev gds-btn gds-btn-ghost gds-icon-btn", H.setAttribute("aria-label", z), H.innerHTML = O("prev");
3767
+ m.className = "gengage-chat-product-details-img", ne(m, "src", y[0]), m.alt = i ?? "Product image", ve(m), b.appendChild(m);
3768
+ const k = document.createElement("div");
3769
+ k.className = "gengage-chat-product-gallery-thumbs";
3770
+ const x = 6;
3771
+ let P = null, B = 0;
3772
+ const A = e.i18n, z = A?.galleryPrevAriaLabel ?? "Previous image", T = A?.galleryNextAriaLabel ?? "Next image", q = (V) => V === "prev" ? '<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="15 18 9 12 15 6"/></svg>' : '<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="9 18 15 12 9 6"/></svg>', H = document.createElement("button");
3773
+ H.type = "button", H.className = "gengage-chat-product-gallery-nav gengage-chat-product-gallery-nav--prev gds-btn gds-btn-ghost gds-icon-btn", H.setAttribute("aria-label", z), H.innerHTML = q("prev");
3773
3774
  const $ = document.createElement("button");
3774
- $.type = "button", $.className = "gengage-chat-product-gallery-nav gengage-chat-product-gallery-nav--next gds-btn gds-btn-ghost gds-icon-btn", $.setAttribute("aria-label", T), $.innerHTML = O("next");
3775
+ $.type = "button", $.className = "gengage-chat-product-gallery-nav gengage-chat-product-gallery-nav--next gds-btn gds-btn-ghost gds-icon-btn", $.setAttribute("aria-label", T), $.innerHTML = q("next");
3775
3776
  const te = () => {
3776
- H.disabled = M <= 0, $.disabled = M >= x.length - 1;
3777
- }, j = (q) => {
3778
- if (q < 0 || q >= x.length || q === M) return;
3779
- const F = x[q];
3777
+ H.disabled = B <= 0, $.disabled = B >= y.length - 1;
3778
+ }, O = (V) => {
3779
+ if (V < 0 || V >= y.length || V === B) return;
3780
+ const F = y[V];
3780
3781
  if (!F) return;
3781
3782
  ne(m, "src", F);
3782
- const R = _.querySelectorAll(".gengage-chat-product-gallery-thumb");
3783
- A && A.classList.remove("gengage-chat-product-gallery-thumb--active"), q < y && R[q] ? (R[q].classList.add("gengage-chat-product-gallery-thumb--active"), A = R[q]) : A = null, M = q, te();
3783
+ const R = k.querySelectorAll(".gengage-chat-product-gallery-thumb");
3784
+ P && P.classList.remove("gengage-chat-product-gallery-thumb--active"), V < x && R[V] ? (R[V].classList.add("gengage-chat-product-gallery-thumb--active"), P = R[V]) : P = null, B = V, te();
3784
3785
  };
3785
- for (let q = 0; q < x.length; q++) {
3786
- const F = x[q];
3787
- if (q >= y) break;
3786
+ for (let V = 0; V < y.length; V++) {
3787
+ const F = y[V];
3788
+ if (V >= x) break;
3788
3789
  const R = document.createElement("img");
3789
- R.className = "gengage-chat-product-gallery-thumb", q === 0 && (R.classList.add("gengage-chat-product-gallery-thumb--active"), A = R), ne(R, "src", F), R.alt = `${i ?? "Product"} ${q + 1}`, R.width = 48, R.height = 48, ve(R), R.addEventListener("click", () => {
3790
- j(q);
3791
- }), _.appendChild(R);
3792
- }
3793
- if (x.length > y) {
3794
- const q = document.createElement("span");
3795
- q.className = "gengage-chat-product-gallery-thumb-more", q.textContent = `+${x.length - y}`, _.appendChild(q);
3796
- }
3797
- H.addEventListener("click", (q) => {
3798
- q.stopPropagation(), j(M - 1);
3799
- }), $.addEventListener("click", (q) => {
3800
- q.stopPropagation(), j(M + 1);
3790
+ R.className = "gengage-chat-product-gallery-thumb", V === 0 && (R.classList.add("gengage-chat-product-gallery-thumb--active"), P = R), ne(R, "src", F), R.alt = `${i ?? "Product"} ${V + 1}`, R.width = 48, R.height = 48, ve(R), R.addEventListener("click", () => {
3791
+ O(V);
3792
+ }), k.appendChild(R);
3793
+ }
3794
+ if (y.length > x) {
3795
+ const V = document.createElement("span");
3796
+ V.className = "gengage-chat-product-gallery-thumb-more", V.textContent = `+${y.length - x}`, k.appendChild(V);
3797
+ }
3798
+ H.addEventListener("click", (V) => {
3799
+ V.stopPropagation(), O(B - 1);
3800
+ }), $.addEventListener("click", (V) => {
3801
+ V.stopPropagation(), O(B + 1);
3801
3802
  }), te();
3802
3803
  let ee = 0;
3803
3804
  const oe = 50;
3804
- m.addEventListener("touchstart", (q) => {
3805
- ee = q.changedTouches[0].clientX;
3806
- }, { passive: !0 }), m.addEventListener("touchend", (q) => {
3807
- const F = q.changedTouches[0].clientX, R = ee - F;
3808
- Math.abs(R) < oe || j(R > 0 ? Math.min(M + 1, x.length - 1) : Math.max(M - 1, 0));
3809
- }), b.appendChild(H), b.appendChild($), b.appendChild(_), a.appendChild(b);
3810
- } else if (x.length === 1) {
3805
+ m.addEventListener("touchstart", (V) => {
3806
+ ee = V.changedTouches[0].clientX;
3807
+ }, { passive: !0 }), m.addEventListener("touchend", (V) => {
3808
+ const F = V.changedTouches[0].clientX, R = ee - F;
3809
+ Math.abs(R) < oe || O(R > 0 ? Math.min(B + 1, y.length - 1) : Math.max(B - 1, 0));
3810
+ }), b.appendChild(H), b.appendChild($), b.appendChild(k), a.appendChild(b);
3811
+ } else if (y.length === 1) {
3811
3812
  const b = document.createElement("div");
3812
3813
  b.className = "gengage-chat-product-details-media gengage-chat-product-details-img-wrap";
3813
3814
  const m = document.createElement("img");
3814
- m.className = "gengage-chat-product-details-img", m.loading = "lazy", ne(m, "src", x[0]), ve(m), m.alt = i ?? "Product image", b.appendChild(m), a.appendChild(b);
3815
+ m.className = "gengage-chat-product-details-img", m.loading = "lazy", ne(m, "src", y[0]), ve(m), m.alt = i ?? "Product image", b.appendChild(m), a.appendChild(b);
3815
3816
  }
3816
- const S = document.createElement("div");
3817
- if (S.className = "gengage-chat-product-details-content", r && (!i || !i.toLowerCase().startsWith(r.toLowerCase()))) {
3817
+ const _ = document.createElement("div");
3818
+ if (_.className = "gengage-chat-product-details-content", r && (!i || !i.toLowerCase().startsWith(r.toLowerCase()))) {
3818
3819
  const b = document.createElement("div");
3819
- b.className = "gengage-chat-product-details-brand", b.textContent = r, S.appendChild(b);
3820
+ b.className = "gengage-chat-product-details-brand", b.textContent = r, _.appendChild(b);
3820
3821
  }
3821
3822
  if (i) {
3822
3823
  const b = document.createElement("h3");
3823
- b.className = "gengage-chat-product-details-title", b.textContent = i, b.title = i, S.appendChild(b);
3824
+ b.className = "gengage-chat-product-details-title", b.textContent = i, b.title = i, _.appendChild(b);
3824
3825
  }
3825
3826
  if (typeof f == "number" && Number.isFinite(f) && f > 0) {
3826
3827
  const b = document.createElement(o ? "button" : "div");
@@ -3833,38 +3834,38 @@ function zi(t, e) {
3833
3834
  })), b.appendChild(Tt(f));
3834
3835
  const m = document.createElement("span");
3835
3836
  if (m.className = "gengage-chat-product-details-rating-value", m.textContent = Nt(f).toFixed(1), b.appendChild(m), typeof u == "number" && Number.isFinite(u)) {
3836
- const _ = document.createElement("span");
3837
- _.className = "gengage-chat-product-details-review-count", _.textContent = ` (${u})`, b.appendChild(_);
3837
+ const k = document.createElement("span");
3838
+ k.className = "gengage-chat-product-details-review-count", k.textContent = ` (${u})`, b.appendChild(k);
3838
3839
  }
3839
- S.appendChild(b);
3840
+ _.appendChild(b);
3840
3841
  }
3841
3842
  {
3842
- let b = S;
3843
+ let b = _;
3843
3844
  if (s) {
3844
- const _ = document.createElement("div");
3845
- _.className = "gengage-chat-product-details-price-stack", _.appendChild(Ve(s)), S.appendChild(_), b = _;
3845
+ const k = document.createElement("div");
3846
+ k.className = "gengage-chat-product-details-price-stack", k.appendChild(qe(s)), _.appendChild(k), b = k;
3846
3847
  }
3847
3848
  const m = document.createElement("div");
3848
3849
  if (m.className = "gengage-chat-product-details-price", d === !0) {
3849
- const _ = document.createElement("span");
3850
- _.className = "gengage-chat-price-skeleton", m.appendChild(_), b.appendChild(m), setTimeout(() => {
3851
- if (_.parentElement)
3850
+ const k = document.createElement("span");
3851
+ k.className = "gengage-chat-price-skeleton", m.appendChild(k), b.appendChild(m), setTimeout(() => {
3852
+ if (k.parentElement)
3852
3853
  if (g && parseFloat(g) > 0) vt(m, e, n, g, c, p, h);
3853
3854
  else {
3854
- const y = m.parentElement;
3855
- m.remove(), y?.classList.contains("gengage-chat-product-details-price-stack") && y.remove();
3855
+ const x = m.parentElement;
3856
+ m.remove(), x?.classList.contains("gengage-chat-product-details-price-stack") && x.remove();
3856
3857
  }
3857
3858
  }, 300);
3858
3859
  } else if (g && parseFloat(g) > 0)
3859
3860
  vt(m, e, n, g, c, p, h), b.appendChild(m);
3860
3861
  else if (s) {
3861
- const _ = b;
3862
- _.classList.contains("gengage-chat-product-details-price-stack") && _.remove();
3862
+ const k = b;
3863
+ k.classList.contains("gengage-chat-product-details-price-stack") && k.remove();
3863
3864
  }
3864
3865
  }
3865
3866
  if (typeof v == "boolean") {
3866
3867
  const b = document.createElement("div");
3867
- b.className = `gengage-chat-product-details-stock ${v ? "is-in-stock" : "is-out-of-stock"}`, b.textContent = v ? e.i18n?.inStockLabel ?? "In Stock" : e.i18n?.outOfStockLabel ?? "Out of Stock", S.appendChild(b);
3868
+ b.className = `gengage-chat-product-details-stock ${v ? "is-in-stock" : "is-out-of-stock"}`, b.textContent = v ? e.i18n?.inStockLabel ?? "In Stock" : e.i18n?.outOfStockLabel ?? "Out of Stock", _.appendChild(b);
3868
3869
  }
3869
3870
  const E = n.promotions;
3870
3871
  if (E && E.length > 0) {
@@ -3872,76 +3873,76 @@ function zi(t, e) {
3872
3873
  b.className = "gengage-chat-product-details-promos";
3873
3874
  for (const m of E.slice(0, 3)) {
3874
3875
  if (!m || /%(0(\.0+)?)\s/.test(m)) continue;
3875
- const _ = document.createElement("span");
3876
- _.className = "gengage-chat-product-details-promo-badge", _.textContent = m, _.title = m, b.appendChild(_);
3876
+ const k = document.createElement("span");
3877
+ k.className = "gengage-chat-product-details-promo-badge", k.textContent = m, k.title = m, b.appendChild(k);
3877
3878
  }
3878
- b.childElementCount > 0 && S.appendChild(b);
3879
+ b.childElementCount > 0 && _.appendChild(b);
3879
3880
  }
3880
- if (N.length > 0) {
3881
+ if (M.length > 0) {
3881
3882
  const b = document.createElement("dl");
3882
3883
  b.className = "gengage-chat-product-details-facts";
3883
- for (const m of N) {
3884
- const _ = document.createElement("div");
3885
- _.className = "gengage-chat-product-details-fact";
3886
- const y = document.createElement("dt");
3887
- y.textContent = m.key;
3888
- const A = document.createElement("dd");
3889
- A.textContent = m.value, _.appendChild(y), _.appendChild(A), b.appendChild(_);
3884
+ for (const m of M) {
3885
+ const k = document.createElement("div");
3886
+ k.className = "gengage-chat-product-details-fact";
3887
+ const x = document.createElement("dt");
3888
+ x.textContent = m.key;
3889
+ const P = document.createElement("dd");
3890
+ P.textContent = m.value, k.appendChild(x), k.appendChild(P), b.appendChild(k);
3890
3891
  }
3891
- S.appendChild(b);
3892
+ _.appendChild(b);
3892
3893
  }
3893
- const k = Mi(n);
3894
- if (k.length > 0) {
3894
+ const C = Mi(n);
3895
+ if (C.length > 0) {
3895
3896
  const b = document.createElement("div");
3896
3897
  b.className = "gengage-chat-product-variants";
3897
3898
  const m = document.createElement("div");
3898
- m.className = "gengage-chat-product-variants-label", m.textContent = Bi(k, e), b.appendChild(m);
3899
- const _ = document.createElement("div");
3900
- _.className = "gengage-chat-product-variants-list";
3901
- for (const y of k) {
3902
- const A = Vt(y), M = ye(y, "sku");
3903
- if (!A && !M) continue;
3904
- const L = document.createElement("button");
3905
- L.className = "gengage-chat-product-variant-btn gds-chip", L.type = "button";
3906
- const z = A ?? M ?? "";
3907
- L.title = z;
3908
- const T = De(y, "in_stock", "inStock");
3909
- M && o && M === o ? (L.classList.add("gengage-chat-product-variant-btn--active"), L.setAttribute("aria-pressed", "true")) : L.setAttribute("aria-pressed", "false"), T === !1 && (L.classList.add("gengage-chat-product-variant-btn--out"), L.disabled = !0);
3910
- const O = Ai(y), H = Pi(y);
3911
- if (O && ce(O)) {
3912
- const j = document.createElement("img");
3913
- j.className = "gengage-chat-product-variant-swatch gengage-chat-product-variant-swatch--image", ne(j, "src", O), j.alt = "", j.setAttribute("aria-hidden", "true"), ve(j), L.appendChild(j);
3899
+ m.className = "gengage-chat-product-variants-label", m.textContent = Bi(C, e), b.appendChild(m);
3900
+ const k = document.createElement("div");
3901
+ k.className = "gengage-chat-product-variants-list";
3902
+ for (const x of C) {
3903
+ const P = Vt(x), B = ye(x, "sku");
3904
+ if (!P && !B) continue;
3905
+ const A = document.createElement("button");
3906
+ A.className = "gengage-chat-product-variant-btn gds-chip", A.type = "button";
3907
+ const z = P ?? B ?? "";
3908
+ A.title = z;
3909
+ const T = Fe(x, "in_stock", "inStock");
3910
+ B && o && B === o ? (A.classList.add("gengage-chat-product-variant-btn--active"), A.setAttribute("aria-pressed", "true")) : A.setAttribute("aria-pressed", "false"), T === !1 && (A.classList.add("gengage-chat-product-variant-btn--out"), A.disabled = !0);
3911
+ const q = Ai(x), H = Pi(x);
3912
+ if (q && ce(q)) {
3913
+ const O = document.createElement("img");
3914
+ O.className = "gengage-chat-product-variant-swatch gengage-chat-product-variant-swatch--image", ne(O, "src", q), O.alt = "", O.setAttribute("aria-hidden", "true"), ve(O), A.appendChild(O);
3914
3915
  } else if (H) {
3915
- const j = document.createElement("span");
3916
- j.className = "gengage-chat-product-variant-swatch", j.setAttribute("aria-hidden", "true"), j.style.backgroundColor = H, L.appendChild(j);
3916
+ const O = document.createElement("span");
3917
+ O.className = "gengage-chat-product-variant-swatch", O.setAttribute("aria-hidden", "true"), O.style.backgroundColor = H, A.appendChild(O);
3917
3918
  }
3918
3919
  const $ = document.createElement("span");
3919
- $.className = "gengage-chat-product-variant-label", $.textContent = z, L.appendChild($);
3920
- const te = Li(y);
3920
+ $.className = "gengage-chat-product-variant-label", $.textContent = z, A.appendChild($);
3921
+ const te = Li(x);
3921
3922
  if (te && String(te) !== String(g)) {
3922
- const j = document.createElement("span");
3923
- j.className = "gengage-chat-product-variant-price", j.textContent = W(String(te), e.pricing), L.appendChild(j);
3923
+ const O = document.createElement("span");
3924
+ O.className = "gengage-chat-product-variant-price", O.textContent = Y(String(te), e.pricing), A.appendChild(O);
3924
3925
  }
3925
- if (M && M !== o) {
3926
- const j = i ?? "", ee = (typeof y.value == "string" ? y.value.trim() : "") || (typeof y.name == "string" ? y.name.trim() : "") || (typeof y.variant_name == "string" ? y.variant_name.trim() : "") || "", oe = j.length > 0 ? ee.length > 0 && ee !== j ? `${j} (${ee})` : j : z;
3927
- L.addEventListener("click", () => {
3926
+ if (B && B !== o) {
3927
+ const O = i ?? "", ee = (typeof x.value == "string" ? x.value.trim() : "") || (typeof x.name == "string" ? x.name.trim() : "") || (typeof x.variant_name == "string" ? x.variant_name.trim() : "") || "", oe = O.length > 0 ? ee.length > 0 && ee !== O ? `${O} (${ee})` : O : z;
3928
+ A.addEventListener("click", () => {
3928
3929
  e.onAction({
3929
3930
  title: oe,
3930
3931
  type: "launchVariant",
3931
- payload: { sku: M }
3932
+ payload: { sku: B }
3932
3933
  });
3933
3934
  });
3934
3935
  }
3935
- _.appendChild(L);
3936
+ k.appendChild(A);
3936
3937
  }
3937
- _.childElementCount > 0 && (b.appendChild(_), S.appendChild(b));
3938
+ k.childElementCount > 0 && (b.appendChild(k), _.appendChild(b));
3938
3939
  }
3939
- const I = document.createElement("div");
3940
- I.className = "gengage-chat-product-details-actions";
3941
- const B = t.props?.action;
3942
- if (B) {
3940
+ const L = document.createElement("div");
3941
+ L.className = "gengage-chat-product-details-actions";
3942
+ const I = t.props?.action;
3943
+ if (I) {
3943
3944
  const b = document.createElement("button");
3944
- b.className = "gengage-chat-product-details-cta gds-btn gds-btn-primary", b.type = "button", b.textContent = B.title || e.i18n?.productCtaLabel || "View", b.addEventListener("click", () => e.onAction(B)), I.appendChild(b);
3945
+ b.className = "gengage-chat-product-details-cta gds-btn gds-btn-primary", b.type = "button", b.textContent = I.title || e.i18n?.productCtaLabel || "View", b.addEventListener("click", () => e.onAction(I)), L.appendChild(b);
3945
3946
  }
3946
3947
  if (l && o && v !== !1) {
3947
3948
  const b = document.createElement("button");
@@ -3955,45 +3956,45 @@ function zi(t, e) {
3955
3956
  quantity: 1
3956
3957
  }
3957
3958
  });
3958
- }), I.appendChild(b);
3959
+ }), L.appendChild(b);
3959
3960
  }
3960
- const P = re(n, "url");
3961
- if (!B && P && ce(P)) {
3961
+ const N = re(n, "url");
3962
+ if (!I && N && ce(N)) {
3962
3963
  const b = document.createElement("a");
3963
- b.className = "gengage-chat-product-details-cta gds-btn gds-btn-secondary", ne(b, "href", P), ne(b, "target", "_blank"), ne(b, "rel", "noopener noreferrer"), b.textContent = e.i18n?.viewOnSiteLabel ?? e.i18n?.productCtaLabel ?? "View on Site", b.addEventListener("click", (m) => {
3964
+ b.className = "gengage-chat-product-details-cta gds-btn gds-btn-secondary", ne(b, "href", N), ne(b, "target", "_blank"), ne(b, "rel", "noopener noreferrer"), b.textContent = e.i18n?.viewOnSiteLabel ?? e.i18n?.productCtaLabel ?? "View on Site", b.addEventListener("click", (m) => {
3964
3965
  e.onProductClick && o && (m.preventDefault(), e.onProductClick({
3965
3966
  sku: o,
3966
- url: P
3967
+ url: N
3967
3968
  }));
3968
- }), I.appendChild(b);
3969
- }
3970
- const V = P;
3971
- if (V && ce(V)) {
3972
- let A = function(L, z) {
3973
- const T = document.createElementNS(_, "circle");
3974
- T.setAttribute("cx", L), T.setAttribute("cy", z), T.setAttribute("r", "3"), y.appendChild(T);
3975
- }, M = function(L, z, T, O) {
3976
- const H = document.createElementNS(_, "line");
3977
- H.setAttribute("x1", L), H.setAttribute("y1", z), H.setAttribute("x2", T), H.setAttribute("y2", O), y.appendChild(H);
3969
+ }), L.appendChild(b);
3970
+ }
3971
+ const j = N;
3972
+ if (j && ce(j)) {
3973
+ let P = function(A, z) {
3974
+ const T = document.createElementNS(k, "circle");
3975
+ T.setAttribute("cx", A), T.setAttribute("cy", z), T.setAttribute("r", "3"), x.appendChild(T);
3976
+ }, B = function(A, z, T, q) {
3977
+ const H = document.createElementNS(k, "line");
3978
+ H.setAttribute("x1", A), H.setAttribute("y1", z), H.setAttribute("x2", T), H.setAttribute("y2", q), x.appendChild(H);
3978
3979
  };
3979
3980
  const b = document.createElement("button");
3980
3981
  b.className = "gengage-chat-product-details-share gds-btn gds-btn-ghost gds-icon-btn", b.type = "button";
3981
3982
  const m = e.i18n?.shareButton ?? "Share";
3982
3983
  b.title = m, b.setAttribute("aria-label", m);
3983
- const _ = "http://www.w3.org/2000/svg", y = document.createElementNS(_, "svg");
3984
- y.setAttribute("width", "18"), y.setAttribute("height", "18"), y.setAttribute("viewBox", "0 0 24 24"), y.setAttribute("fill", "none"), y.setAttribute("stroke", "currentColor"), y.setAttribute("stroke-width", "2"), y.setAttribute("stroke-linecap", "round"), y.setAttribute("stroke-linejoin", "round"), A("18", "5"), A("6", "12"), A("18", "19"), M("8.59", "13.51", "15.42", "17.49"), M("15.41", "6.51", "8.59", "10.49"), b.appendChild(y), b.addEventListener("click", async () => {
3984
+ const k = "http://www.w3.org/2000/svg", x = document.createElementNS(k, "svg");
3985
+ x.setAttribute("width", "18"), x.setAttribute("height", "18"), x.setAttribute("viewBox", "0 0 24 24"), x.setAttribute("fill", "none"), x.setAttribute("stroke", "currentColor"), x.setAttribute("stroke-width", "2"), x.setAttribute("stroke-linecap", "round"), x.setAttribute("stroke-linejoin", "round"), P("18", "5"), P("6", "12"), P("18", "19"), B("8.59", "13.51", "15.42", "17.49"), B("15.41", "6.51", "8.59", "10.49"), b.appendChild(x), b.addEventListener("click", async () => {
3985
3986
  try {
3986
3987
  navigator.share ? await navigator.share({
3987
3988
  title: i ?? "",
3988
- url: V
3989
- }) : navigator.clipboard && (await navigator.clipboard.writeText(V), b.classList.add("gengage-chat-product-details-share--copied"), setTimeout(() => b.classList.remove("gengage-chat-product-details-share--copied"), 1500));
3989
+ url: j
3990
+ }) : navigator.clipboard && (await navigator.clipboard.writeText(j), b.classList.add("gengage-chat-product-details-share--copied"), setTimeout(() => b.classList.remove("gengage-chat-product-details-share--copied"), 1500));
3990
3991
  } catch {
3991
3992
  }
3992
- }), I.appendChild(b);
3993
+ }), L.appendChild(b);
3993
3994
  }
3994
- I.childElementCount > 0 && S.appendChild(I), a.appendChild(S);
3995
- const Z = Ci(n), K = Si(n);
3996
- return (Z || K) && a.appendChild(Fi(Z, K, e)), a;
3995
+ L.childElementCount > 0 && _.appendChild(L), a.appendChild(_);
3996
+ const K = Ci(n), G = Si(n);
3997
+ return (K || G) && a.appendChild(Fi(K, G, e)), a;
3997
3998
  }
3998
3999
  function at(t) {
3999
4000
  if (t.nodeType === Node.TEXT_NODE) return document.createTextNode(t.textContent ?? "");
@@ -4160,66 +4161,66 @@ function qi(t, e, a, n) {
4160
4161
  u.className = "gengage-chat-product-sort-dropdown";
4161
4162
  const f = document.createElement("button");
4162
4163
  f.type = "button", f.className = "gengage-chat-product-sort-trigger gds-btn gds-btn-ghost", f.setAttribute("aria-haspopup", "listbox"), f.setAttribute("aria-expanded", "false");
4163
- const x = n.i18n?.sortToolbarAriaLabel ?? "Sort products", N = document.createElement("span");
4164
- N.className = "gengage-chat-product-sort-trigger-icon";
4165
- const S = document.createElement("span");
4166
- S.className = "gengage-chat-product-sort-trigger-label";
4164
+ const y = n.i18n?.sortToolbarAriaLabel ?? "Sort products", M = document.createElement("span");
4165
+ M.className = "gengage-chat-product-sort-trigger-icon";
4166
+ const _ = document.createElement("span");
4167
+ _.className = "gengage-chat-product-sort-trigger-label";
4167
4168
  const E = (m) => {
4168
- const _ = v.find((y) => _t(y.sortState, m)) ?? v[0];
4169
- S.textContent = _.label, N.innerHTML = wt(_.icon), u.dataset.sortIcon = _.icon, f.setAttribute("aria-label", `${x}: ${_.label}`), f.title = _.label;
4169
+ const k = v.find((x) => _t(x.sortState, m)) ?? v[0];
4170
+ _.textContent = k.label, M.innerHTML = wt(k.icon), u.dataset.sortIcon = k.icon, f.setAttribute("aria-label", `${y}: ${k.label}`), f.title = k.label;
4170
4171
  };
4171
4172
  E(h);
4172
- const k = document.createElement("span");
4173
- k.className = "gengage-chat-product-sort-trigger-chevron", k.innerHTML = Di(), f.appendChild(N), f.appendChild(S), f.appendChild(k);
4174
- const I = document.createElement("div");
4175
- I.className = "gengage-chat-product-sort-menu gds-menu", I.hidden = !0, I.setAttribute("role", "listbox"), I.setAttribute("aria-label", x);
4176
- const B = p.ownerDocument;
4177
- let P = null;
4178
- const V = () => {
4179
- I.hidden = !0, u.classList.remove("gengage-chat-product-sort-dropdown--open"), f.setAttribute("aria-expanded", "false"), P?.abort(), P = null;
4180
- }, Z = (m) => {
4181
- u.classList.contains("gengage-chat-product-sort-dropdown--open") && (u.contains(m.target) || V());
4173
+ const C = document.createElement("span");
4174
+ C.className = "gengage-chat-product-sort-trigger-chevron", C.innerHTML = Di(), f.appendChild(M), f.appendChild(_), f.appendChild(C);
4175
+ const L = document.createElement("div");
4176
+ L.className = "gengage-chat-product-sort-menu gds-menu", L.hidden = !0, L.setAttribute("role", "listbox"), L.setAttribute("aria-label", y);
4177
+ const I = p.ownerDocument;
4178
+ let N = null;
4179
+ const j = () => {
4180
+ L.hidden = !0, u.classList.remove("gengage-chat-product-sort-dropdown--open"), f.setAttribute("aria-expanded", "false"), N?.abort(), N = null;
4182
4181
  }, K = (m) => {
4183
- m.key === "Escape" && (m.preventDefault(), V());
4182
+ u.classList.contains("gengage-chat-product-sort-dropdown--open") && (u.contains(m.target) || j());
4183
+ }, G = (m) => {
4184
+ m.key === "Escape" && (m.preventDefault(), j());
4184
4185
  }, b = () => {
4185
- I.hidden = !1, u.classList.add("gengage-chat-product-sort-dropdown--open"), f.setAttribute("aria-expanded", "true"), P = new AbortController();
4186
- const { signal: m } = P;
4187
- B.addEventListener("click", Z, { signal: m }), B.addEventListener("keydown", K, {
4186
+ L.hidden = !1, u.classList.add("gengage-chat-product-sort-dropdown--open"), f.setAttribute("aria-expanded", "true"), N = new AbortController();
4187
+ const { signal: m } = N;
4188
+ I.addEventListener("click", K, { signal: m }), I.addEventListener("keydown", G, {
4188
4189
  capture: !0,
4189
4190
  signal: m
4190
4191
  });
4191
4192
  };
4192
4193
  f.addEventListener("click", (m) => {
4193
- m.stopPropagation(), u.classList.contains("gengage-chat-product-sort-dropdown--open") ? V() : b();
4194
+ m.stopPropagation(), u.classList.contains("gengage-chat-product-sort-dropdown--open") ? j() : b();
4194
4195
  });
4195
4196
  for (const m of v) {
4196
- const _ = document.createElement("button");
4197
- _.type = "button", _.className = "gengage-chat-product-sort-option gds-menu-option", _.setAttribute("role", "option");
4198
- const y = _t(h, m.sortState);
4199
- _.setAttribute("aria-selected", y ? "true" : "false"), y && _.classList.add("gengage-chat-product-sort-option--active", "gds-menu-option-active");
4200
- const A = m.sortState.type === "related" ? "related" : `price-${m.sortState.direction ?? ""}`;
4201
- _.dataset.sortKey = A;
4202
- const M = document.createElement("span");
4203
- M.className = "gengage-chat-product-sort-option-icon", M.innerHTML = wt(m.icon);
4204
- const L = document.createElement("span");
4205
- L.className = "gengage-chat-product-sort-option-label", L.textContent = m.label;
4197
+ const k = document.createElement("button");
4198
+ k.type = "button", k.className = "gengage-chat-product-sort-option gds-menu-option", k.setAttribute("role", "option");
4199
+ const x = _t(h, m.sortState);
4200
+ k.setAttribute("aria-selected", x ? "true" : "false"), x && k.classList.add("gengage-chat-product-sort-option--active", "gds-menu-option-active");
4201
+ const P = m.sortState.type === "related" ? "related" : `price-${m.sortState.direction ?? ""}`;
4202
+ k.dataset.sortKey = P;
4203
+ const B = document.createElement("span");
4204
+ B.className = "gengage-chat-product-sort-option-icon", B.innerHTML = wt(m.icon);
4205
+ const A = document.createElement("span");
4206
+ A.className = "gengage-chat-product-sort-option-label", A.textContent = m.label;
4206
4207
  const z = document.createElement("span");
4207
- z.className = "gengage-chat-product-sort-option-check", z.innerHTML = Ui(), z.setAttribute("aria-hidden", "true"), y || z.classList.add("gengage-chat-product-sort-option-check--hidden"), _.appendChild(M), _.appendChild(L), _.appendChild(z), _.addEventListener("click", () => {
4208
- h = m.sortState, n.onSortChange?.(m.sortState), Oi(g, l, e, m.sortState), I.querySelectorAll(".gengage-chat-product-sort-option").forEach((T) => {
4209
- const O = T, H = O.dataset.sortKey === A;
4210
- O.classList.toggle("gengage-chat-product-sort-option--active", H), O.classList.toggle("gds-menu-option-active", H), O.setAttribute("aria-selected", H ? "true" : "false"), O.querySelector(".gengage-chat-product-sort-option-check")?.classList.toggle("gengage-chat-product-sort-option-check--hidden", !H);
4211
- }), E(m.sortState), V();
4212
- }), I.appendChild(_);
4213
- }
4214
- if (u.appendChild(f), u.appendChild(I), p.appendChild(u), n.onToggleComparisonSku) {
4208
+ z.className = "gengage-chat-product-sort-option-check", z.innerHTML = Ui(), z.setAttribute("aria-hidden", "true"), x || z.classList.add("gengage-chat-product-sort-option-check--hidden"), k.appendChild(B), k.appendChild(A), k.appendChild(z), k.addEventListener("click", () => {
4209
+ h = m.sortState, n.onSortChange?.(m.sortState), Oi(g, l, e, m.sortState), L.querySelectorAll(".gengage-chat-product-sort-option").forEach((T) => {
4210
+ const q = T, H = q.dataset.sortKey === P;
4211
+ q.classList.toggle("gengage-chat-product-sort-option--active", H), q.classList.toggle("gds-menu-option-active", H), q.setAttribute("aria-selected", H ? "true" : "false"), q.querySelector(".gengage-chat-product-sort-option-check")?.classList.toggle("gengage-chat-product-sort-option-check--hidden", !H);
4212
+ }), E(m.sortState), j();
4213
+ }), L.appendChild(k);
4214
+ }
4215
+ if (u.appendChild(f), u.appendChild(L), p.appendChild(u), n.onToggleComparisonSku) {
4215
4216
  const m = document.createElement("button");
4216
4217
  m.className = "gengage-chat-comparison-toggle-btn gds-btn gds-btn-ghost", m.type = "button", n.comparisonSelectMode && m.classList.add("gengage-chat-comparison-toggle-btn--active"), n.isStreaming && m.classList.add("gengage-chat-comparison-toggle-btn--hidden");
4217
- const _ = document.createElement("span");
4218
- _.className = "gengage-chat-comparison-toggle-icon", _.innerHTML = ji();
4219
- const y = document.createElement("span");
4220
- y.className = "gengage-chat-comparison-toggle-label";
4221
- const A = n.i18n?.compareSelected ?? "Compare";
4222
- y.textContent = A, m.setAttribute("aria-label", A), m.title = A, m.appendChild(_), m.appendChild(y), m.addEventListener("click", () => {
4218
+ const k = document.createElement("span");
4219
+ k.className = "gengage-chat-comparison-toggle-icon", k.innerHTML = ji();
4220
+ const x = document.createElement("span");
4221
+ x.className = "gengage-chat-comparison-toggle-label";
4222
+ const P = n.i18n?.compareSelected ?? "Compare";
4223
+ x.textContent = P, m.setAttribute("aria-label", P), m.title = P, m.appendChild(k), m.appendChild(x), m.addEventListener("click", () => {
4223
4224
  n.onToggleComparisonSku?.("");
4224
4225
  }), p.appendChild(m);
4225
4226
  }
@@ -4227,10 +4228,10 @@ function qi(t, e, a, n) {
4227
4228
  p.classList.add("gengage-chat-product-sort-toolbar--inline");
4228
4229
  const m = document.createElement("div");
4229
4230
  m.className = "gengage-chat-product-grid-head";
4230
- const _ = document.createElement("span");
4231
- _.className = "gengage-chat-product-grid-head-title", _.textContent = c, m.appendChild(_);
4232
- const y = document.createElement("div");
4233
- y.className = "gengage-chat-product-grid-head-actions", y.appendChild(p), m.appendChild(y), i.appendChild(m);
4231
+ const k = document.createElement("span");
4232
+ k.className = "gengage-chat-product-grid-head-title", k.textContent = c, m.appendChild(k);
4233
+ const x = document.createElement("div");
4234
+ x.className = "gengage-chat-product-grid-head-actions", x.appendChild(p), m.appendChild(x), i.appendChild(m);
4234
4235
  } else i.appendChild(p);
4235
4236
  } else if (c) {
4236
4237
  const p = document.createElement("div");
@@ -4247,7 +4248,7 @@ function qi(t, e, a, n) {
4247
4248
  v && (v.dataset.elementId = h, g.appendChild(v));
4248
4249
  }
4249
4250
  }
4250
- (n?.isMobile ?? tt()) && g.classList.add("gengage-chat-product-grid--mobile"), i.appendChild(g);
4251
+ (n?.isMobile ?? et()) && g.classList.add("gengage-chat-product-grid--mobile"), i.appendChild(g);
4251
4252
  const d = t.props?.endOfList;
4252
4253
  if (!o && d !== !0 && l.length > 0) {
4253
4254
  const p = n?.i18n?.viewMoreLabel ?? "Show More", h = document.createElement("button");
@@ -4259,7 +4260,7 @@ function qi(t, e, a, n) {
4259
4260
  });
4260
4261
  }), i.appendChild(h);
4261
4262
  }
4262
- const s = n?.isMobile ?? tt();
4263
+ const s = n?.isMobile ?? et();
4263
4264
  if (n?.comparisonSelectMode && n.comparisonSelectedSkus && !s) {
4264
4265
  const p = Dt(n.comparisonSelectedSkus, n);
4265
4266
  i.appendChild(p);
@@ -4294,7 +4295,7 @@ function Vi(t, e) {
4294
4295
  addToCartButton: e.i18n.addToCartButton
4295
4296
  });
4296
4297
  const h = In(p);
4297
- return (e.isMobile ?? tt()) && h.classList.add("gengage-chat-comparison--mobile"), h;
4298
+ return (e.isMobile ?? et()) && h.classList.add("gengage-chat-comparison--mobile"), h;
4298
4299
  }
4299
4300
  function $i(t) {
4300
4301
  const e = document.createElement("hr");
@@ -4406,15 +4407,15 @@ function Xi(t) {
4406
4407
  g = l.nextNode();
4407
4408
  continue;
4408
4409
  }
4409
- const v = d.slice(0, s), u = d.slice(s, s + o.short_name.length), f = d.slice(s + o.short_name.length), x = g.parentNode;
4410
- if (!x) {
4410
+ const v = d.slice(0, s), u = d.slice(s, s + o.short_name.length), f = d.slice(s + o.short_name.length), y = g.parentNode;
4411
+ if (!y) {
4411
4412
  g = l.nextNode();
4412
4413
  continue;
4413
4414
  }
4414
- const N = document.createElement("a");
4415
- N.className = "gengage-product-mention", N.textContent = u, N.href = "#", N.addEventListener("click", (S) => {
4416
- S.preventDefault(), n(o.sku);
4417
- }), v && x.insertBefore(document.createTextNode(v), g), x.insertBefore(N, g), f && x.insertBefore(document.createTextNode(f), g), x.removeChild(g), c = !0;
4415
+ const M = document.createElement("a");
4416
+ M.className = "gengage-product-mention", M.textContent = u, M.href = "#", M.addEventListener("click", (_) => {
4417
+ _.preventDefault(), n(o.sku);
4418
+ }), v && y.insertBefore(document.createTextNode(v), g), y.insertBefore(M, g), f && y.insertBefore(document.createTextNode(f), g), y.removeChild(g), c = !0;
4418
4419
  }
4419
4420
  }
4420
4421
  }
@@ -4433,7 +4434,7 @@ var Qi = /* @__PURE__ */ new Set([
4433
4434
  function er(t) {
4434
4435
  return !!(t.icon && Qi.has(t.icon) || t.action?.type && Ji.has(t.action.type));
4435
4436
  }
4436
- var qe = "gengage_choice_prompter_dismissed", tr = "gengage_choice_prompter_dismissed_global";
4437
+ var Oe = "gengage_choice_prompter_dismissed", tr = "gengage_choice_prompter_dismissed_global";
4437
4438
  function ar(t) {
4438
4439
  const e = document.createElement("div");
4439
4440
  e.className = "gengage-chat-choice-prompter gds-card", e.dataset.gengagePart = "choice-prompter";
@@ -4454,13 +4455,13 @@ function ar(t) {
4454
4455
  }
4455
4456
  function nr() {
4456
4457
  try {
4457
- sessionStorage.removeItem(qe), sessionStorage.removeItem(tr);
4458
+ sessionStorage.removeItem(Oe), sessionStorage.removeItem(tr);
4458
4459
  } catch {
4459
4460
  }
4460
4461
  }
4461
4462
  function ir(t) {
4462
4463
  try {
4463
- const e = sessionStorage.getItem(qe);
4464
+ const e = sessionStorage.getItem(Oe);
4464
4465
  return e ? JSON.parse(e).includes(t) : !1;
4465
4466
  } catch {
4466
4467
  return !1;
@@ -4468,8 +4469,8 @@ function ir(t) {
4468
4469
  }
4469
4470
  function nt(t) {
4470
4471
  try {
4471
- const e = sessionStorage.getItem(qe), a = e ? JSON.parse(e) : [];
4472
- a.includes(t) || a.push(t), sessionStorage.setItem(qe, JSON.stringify(a));
4472
+ const e = sessionStorage.getItem(Oe), a = e ? JSON.parse(e) : [];
4473
+ a.includes(t) || a.push(t), sessionStorage.setItem(Oe, JSON.stringify(a));
4473
4474
  } catch {
4474
4475
  }
4475
4476
  }
@@ -4879,7 +4880,7 @@ var St = class {
4879
4880
  close() {
4880
4881
  this._db?.close(), this._db = null;
4881
4882
  }
4882
- }, Ke = (t) => `${t}:assistant`, hr = class {
4883
+ }, Ye = (t) => `${t}:assistant`, hr = class {
4883
4884
  constructor() {
4884
4885
  this.groups = {}, this.pinnedToBottom = !0, this.userInteracting = !1, this.focusedThreadId = null, this.shown = !1, this.lastAutoAnchoredGroupId = null, this.scrollRequest = null, this._nextScrollId = 1;
4885
4886
  }
@@ -4890,7 +4891,7 @@ var St = class {
4890
4891
  this.groups = {}, this.pinnedToBottom = !0, this.userInteracting = !1, this.focusedThreadId = null, this.lastAutoAnchoredGroupId = null, this.scrollRequest = null;
4891
4892
  }
4892
4893
  registerAssistantActivity(t) {
4893
- const e = Ke(t), a = this.groups[e], n = this.shown && this.pinnedToBottom && !this.userInteracting ? "active_unread" : "unseen";
4894
+ const e = Ye(t), a = this.groups[e], n = this.shown && this.pinnedToBottom && !this.userInteracting ? "active_unread" : "unseen";
4894
4895
  this.groups[e] = {
4895
4896
  id: e,
4896
4897
  threadId: t,
@@ -4900,7 +4901,7 @@ var St = class {
4900
4901
  }, a?.readState === "seen" && this.lastAutoAnchoredGroupId === e && (this.lastAutoAnchoredGroupId = null);
4901
4902
  }
4902
4903
  finalizeAssistantGroup(t) {
4903
- const e = Ke(t), a = this.groups[e];
4904
+ const e = Ye(t), a = this.groups[e];
4904
4905
  a && (a.status = "complete", a.updatedAt = Date.now());
4905
4906
  }
4906
4907
  setGroupReadStates(t) {
@@ -4941,7 +4942,7 @@ var St = class {
4941
4942
  return this.shown && this.userInteracting && !this.pinnedToBottom;
4942
4943
  }
4943
4944
  getAssistantReadState(t) {
4944
- return this.groups[Ke(t)]?.readState;
4945
+ return this.groups[Ye(t)]?.readState;
4945
4946
  }
4946
4947
  };
4947
4948
  function ur(t, e) {
@@ -5032,49 +5033,49 @@ button[data-gengage-part="chat-launcher-button"] img {
5032
5033
  }
5033
5034
  }
5034
5035
  `.trim(), f = () => {
5035
- for (const k of document.querySelectorAll("[data-gengage-widget]")) {
5036
- if (!(k instanceof HTMLElement)) continue;
5037
- const I = k.shadowRoot;
5038
- if (I && (I.querySelector('[data-gengage-part="chat-launcher-button"]') || I.querySelector(".gengage-chat-root")))
5039
- return k;
5036
+ for (const C of document.querySelectorAll("[data-gengage-widget]")) {
5037
+ if (!(C instanceof HTMLElement)) continue;
5038
+ const L = C.shadowRoot;
5039
+ if (L && (L.querySelector('[data-gengage-part="chat-launcher-button"]') || L.querySelector(".gengage-chat-root")))
5040
+ return C;
5040
5041
  }
5041
5042
  return null;
5042
- }, x = (k) => {
5043
- if (k.getElementById(l)) return;
5044
- const I = document.createElement("style");
5045
- I.id = l, I.textContent = u, k.appendChild(I);
5046
- }, N = CSS.escape(o), S = (k) => {
5047
- x(k);
5048
- const I = k.querySelector('[data-gengage-part="chat-launcher-button"]');
5049
- if (!(I instanceof HTMLButtonElement)) return !1;
5050
- const B = k.querySelector('[data-gengage-part="chat-header-avatar"]');
5051
- if (B instanceof HTMLImageElement) {
5052
- const V = k.querySelector('[data-gengage-part="chat-launcher-button"] img');
5053
- (!V || B.src === V.src) && B.classList.remove("gengage-chat-header-avatar--logo");
5054
- }
5055
- if (I.querySelector(`.${N}`)) return !0;
5056
- I.setAttribute("aria-label", e);
5057
- const P = document.createElement("span");
5058
- return P.className = o, P.textContent = e, I.appendChild(P), !0;
5043
+ }, y = (C) => {
5044
+ if (C.getElementById(l)) return;
5045
+ const L = document.createElement("style");
5046
+ L.id = l, L.textContent = u, C.appendChild(L);
5047
+ }, M = CSS.escape(o), _ = (C) => {
5048
+ y(C);
5049
+ const L = C.querySelector('[data-gengage-part="chat-launcher-button"]');
5050
+ if (!(L instanceof HTMLButtonElement)) return !1;
5051
+ const I = C.querySelector('[data-gengage-part="chat-header-avatar"]');
5052
+ if (I instanceof HTMLImageElement) {
5053
+ const j = C.querySelector('[data-gengage-part="chat-launcher-button"] img');
5054
+ (!j || I.src === j.src) && I.classList.remove("gengage-chat-header-avatar--logo");
5055
+ }
5056
+ if (L.querySelector(`.${M}`)) return !0;
5057
+ L.setAttribute("aria-label", e);
5058
+ const N = document.createElement("span");
5059
+ return N.className = o, N.textContent = e, L.appendChild(N), !0;
5059
5060
  };
5060
5061
  return {
5061
5062
  launcherImageUrl: a,
5062
- apply: async (k) => {
5063
- if (k) {
5064
- x(k), await Promise.resolve();
5065
- for (let B = 0; B < 90; B++) {
5066
- if (S(k)) return;
5067
- await new Promise((P) => requestAnimationFrame(() => P()));
5063
+ apply: async (C) => {
5064
+ if (C) {
5065
+ y(C), await Promise.resolve();
5066
+ for (let I = 0; I < 90; I++) {
5067
+ if (_(C)) return;
5068
+ await new Promise((N) => requestAnimationFrame(() => N()));
5068
5069
  }
5069
5070
  return;
5070
5071
  }
5071
- const I = f();
5072
- I?.shadowRoot && x(I.shadowRoot), await Promise.resolve();
5073
- for (let B = 0; B < 90; B++) {
5074
- const P = f()?.shadowRoot ?? null;
5075
- if (P && (x(P), S(P)))
5072
+ const L = f();
5073
+ L?.shadowRoot && y(L.shadowRoot), await Promise.resolve();
5074
+ for (let I = 0; I < 90; I++) {
5075
+ const N = f()?.shadowRoot ?? null;
5076
+ if (N && (y(N), _(N)))
5076
5077
  return;
5077
- await new Promise((V) => requestAnimationFrame(() => V()));
5078
+ await new Promise((j) => requestAnimationFrame(() => j()));
5078
5079
  }
5079
5080
  }
5080
5081
  };
@@ -5128,7 +5129,7 @@ function Et(t) {
5128
5129
  return !1;
5129
5130
  }
5130
5131
  }
5131
- function Ze(t) {
5132
+ function Ke(t) {
5132
5133
  try {
5133
5134
  localStorage.setItem(`${Wt}_${t}`, "1");
5134
5135
  } catch {
@@ -5156,8 +5157,8 @@ var Sr = {
5156
5157
  function Er(t) {
5157
5158
  return t ? Sr[t.toLowerCase().slice(0, 2)] ?? "TURKISH" : "TURKISH";
5158
5159
  }
5159
- var Pr = ':where(:root,.gengage-chat-root,.gengage-qna-container,.gengage-simrel-container,.gengage-simbut-root){--ds-neutral-0:#fff;--ds-neutral-25:#fcfcfd;--ds-neutral-50:#f6f7fb;--ds-neutral-100:#f3f4f6;--ds-neutral-200:#e5e7eb;--ds-neutral-300:#d0d5dd;--ds-neutral-500:#667085;--ds-neutral-600:#475467;--ds-neutral-700:#344054;--ds-neutral-900:#111827;--ds-radius-2:8px;--ds-radius-3:12px;--ds-radius-4:16px;--ds-radius-5:20px;--ds-radius-6:24px;--ds-radius-pill:999px;--ds-shadow-1:0 1px 2px #1018280a, 0 1px 3px #1018280f;--ds-shadow-2:0 4px 12px #10182814;--ds-shadow-3:0 10px 24px #1018281f;--client-primary:var(--gengage-primary-color,#b7102a);--client-primary-hover:var(--gengage-primary-hover,color-mix(in srgb, var(--client-primary) 88%, black 12%));--client-primary-active:var(--gengage-primary-active,color-mix(in srgb, var(--client-primary) 78%, black 22%));--client-primary-subtle:color-mix(in srgb, var(--client-primary) 12%, white);--client-primary-soft:color-mix(in srgb, var(--client-primary) 20%, white);--client-on-primary:var(--gengage-primary-foreground,#fff);--client-focus-ring:color-mix(in srgb, var(--client-primary) 32%, transparent);--ai-accent-start:#0b24d6;--ai-accent-end:#f768f2;--ai-accent-soft:linear-gradient(135deg, #0b24d614, #f768f214);--surface-page:var(--gengage-page-bg,var(--ds-neutral-50));--surface-shell:var(--gengage-shell-bg,#10131a);--surface-card:var(--gengage-background-color,var(--ds-neutral-0));--surface-card-muted:var(--gengage-surface-soft,#f8fafc);--surface-card-soft:var(--surface-card-muted);--surface-elevated:var(--gengage-surface-elevated,var(--ds-neutral-0));--surface-input:var(--gengage-input-bg,var(--ds-neutral-0));--surface-overlay:var(--gengage-overlay-bg,#10131a85);--text-primary:var(--gengage-foreground-color,var(--ds-neutral-900));--text-secondary:var(--gengage-text-secondary,#4b5563);--text-muted:var(--gengage-text-muted,#6b7280);--text-inverse:var(--gengage-text-inverse,#f9fafb);--border-subtle:var(--gengage-border-subtle,#1118270f);--border-default:var(--gengage-border-color,#1118271a);--border-strong:var(--gengage-border-strong,#1118272e);--shadow-1:var(--gengage-shadow-1,var(--ds-shadow-1));--shadow-2:var(--gengage-shadow-2,var(--ds-shadow-2));--shadow-3:var(--gengage-shadow-3,var(--ds-shadow-3));--radius-control:var(--gengage-control-radius,var(--ds-radius-3));--radius-card:var(--gengage-card-radius,var(--ds-radius-4));--radius-panel:var(--gengage-panel-radius,var(--ds-radius-6));--radius-pill:var(--gengage-pill-radius,var(--ds-radius-pill));--success:var(--gengage-success-color,#16a34a);--warning:var(--gengage-warning-color,#d97706);--error:var(--gengage-error-color,#dc2626);--info:var(--gengage-info-color,#2563eb);--rating:var(--gengage-rating-color,#f5b301);--gengage-primary:var(--client-primary);--gengage-primary-soft:var(--client-primary-soft);--gengage-primary-subtle:var(--client-primary-subtle);--gengage-text-color:var(--text-primary);--gengage-text-secondary:var(--text-secondary);--gengage-hover-color:var(--surface-card-soft);--ds-button-primary-bg:var(--client-primary);--ds-button-primary-bg-hover:var(--client-primary-hover);--ds-button-primary-bg-active:var(--client-primary-active);--ds-button-primary-fg:var(--client-on-primary);--ds-button-primary-border:color-mix(in srgb, var(--client-primary) 82%, black 18%);--ds-button-secondary-bg:var(--surface-card);--ds-button-secondary-bg-hover:var(--client-primary-subtle);--ds-button-secondary-fg:var(--client-primary);--ds-button-secondary-border:color-mix(in srgb, var(--client-primary) 26%, white);--ds-button-ghost-bg:var(--surface-card-muted);--ds-button-ghost-bg-hover:var(--ds-button-ghost-bg);--ds-button-ghost-fg:var(--text-primary);--ds-button-ghost-fg-hover:var(--client-primary);--ds-button-ghost-border:var(--border-default);--ds-button-ghost-border-hover:color-mix(in srgb, var(--client-primary) 18%, white);--ds-panel-bg:var(--surface-card);--ds-panel-border:var(--border-default);--ds-panel-shadow:var(--shadow-1);--ds-panel-radius:var(--radius-panel);--ds-header-bg:var(--surface-card);--ds-header-fg:var(--text-primary);--ds-header-muted:var(--text-muted);--ds-header-border:var(--border-default);--ds-card-bg:var(--surface-card);--ds-card-bg-soft:var(--surface-card-muted);--ds-card-border:var(--border-default);--ds-card-shadow:var(--shadow-1);--ds-card-shadow-hover:var(--shadow-2);--ds-card-radius:var(--radius-card);--ds-card-border-hover:color-mix(in srgb, var(--client-primary) 14%, var(--border-default));--ds-card-bg-hover:color-mix(in srgb, var(--client-primary) 2%, var(--surface-card));--ds-product-card-media-bg:var(--surface-card-muted);--ds-product-card-media-border:var(--border-subtle);--ds-input-bg:var(--surface-input);--ds-input-border:var(--border-default);--ds-input-radius:16px;--ds-input-focus-border:color-mix(in srgb, var(--client-primary) 28%, white);--ds-input-focus-ring:0 0 0 4px var(--client-focus-ring);--ds-input-highlight:inset 0 1px 0 #fff9;--ds-chip-bg:var(--surface-card);--ds-chip-border:var(--border-default);--ds-chip-fg:var(--text-secondary);--ds-chip-bg-hover:var(--surface-card-muted);--ds-chip-bg-active:color-mix(in srgb, var(--client-primary) 8%, white);--ds-chip-border-active:color-mix(in srgb, var(--client-primary) 30%, white);--ds-chip-fg-active:var(--client-primary);--ds-tab-bg:var(--surface-card);--ds-tab-bg-hover:var(--surface-card-muted);--ds-tab-bg-active:color-mix(in srgb, var(--client-primary) 8%, white);--ds-tab-border:var(--border-default);--ds-tab-border-active:color-mix(in srgb, var(--client-primary) 26%, white);--ds-tab-fg:var(--text-secondary);--ds-tab-fg-active:var(--client-primary);--ds-badge-brand-bg:color-mix(in srgb, var(--client-primary) 10%, white);--ds-badge-brand-border:color-mix(in srgb, var(--client-primary) 18%, white);--ds-badge-brand-fg:var(--client-primary);--ds-message-user-bg:color-mix(in srgb, var(--client-primary) 10%, white);--ds-message-user-fg:var(--text-primary);--ds-message-user-border:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));--ds-message-user-shadow:none;--ds-message-assistant-bg:var(--surface-card-soft);--ds-message-assistant-fg:var(--text-primary);--ds-message-assistant-border:var(--border-default);--ds-message-assistant-shadow:none;--ds-message-active-outline:color-mix(in srgb, var(--client-primary) 68%, white);--ds-progress-card-border:var(--border-subtle);--ds-progress-mark-bg:color-mix(in srgb, var(--ai-accent-start) 8%, var(--surface-card));--ds-progress-mark-border:color-mix(in srgb, var(--ai-accent-start) 12%, var(--border-default));--ds-progress-scrollbar-thumb:color-mix(in srgb, var(--text-primary) 18%, transparent);--ds-toast-error-bg:color-mix(in srgb, var(--error) 5%, var(--surface-card));--ds-toast-error-border:color-mix(in srgb, var(--error) 18%, var(--border-default));--ds-toast-error-accent:var(--error);--ds-toast-error-fg:color-mix(in srgb, var(--error) 22%, var(--text-primary));--ds-toast-error-shadow:var(--shadow-3);--ds-comparison-table-bg:var(--surface-card);--ds-comparison-table-border:var(--border-default);--ds-comparison-table-header-bg:var(--surface-card-muted);--ds-comparison-table-header-fg:var(--text-muted);--ds-comparison-table-row-border:var(--border-subtle);--ds-comparison-table-winner-bg:color-mix(in srgb, var(--client-primary) 6%, white);--ds-comparison-table-winner-fg:var(--client-primary)}:where(.gds-panel){background:var(--ds-panel-bg);border:1px solid var(--ds-panel-border);border-radius:var(--ds-panel-radius);box-shadow:var(--ds-panel-shadow)}:where(.gengage-qna-panel,.gengage-chat-panel-topbar,.gengage-chat-chat-header,.gengage-chat-panel-ai-zone>.gengage-chat-ai-top-picks,.gengage-chat-grounding-review){border-color:var(--ds-panel-border)}:where(.gds-btn){border-radius:var(--radius-control);min-height:46px;font:inherit;cursor:pointer;border:0;outline:none;justify-content:center;align-items:center;gap:10px;padding:0 18px;font-weight:700;transition:box-shadow .15s,border-color .15s,background-color .15s,color .15s;display:inline-flex}:where(.gds-btn:hover){transform:none}:where(.gds-btn:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-btn:disabled){cursor:not-allowed;opacity:.56;box-shadow:none}:where(.gds-btn-primary){background:var(--ds-button-primary-bg);color:var(--ds-button-primary-fg);border:1px solid var(--ds-button-primary-border)}:where(.gds-btn-primary:hover){background:var(--ds-button-primary-bg-hover)}:where(.gds-btn-secondary){background:var(--ds-button-secondary-bg);color:var(--ds-button-secondary-fg);border:1px solid var(--ds-button-secondary-border)}:where(.gds-btn-secondary:hover){background:var(--ds-button-secondary-bg-hover)}:where(.gds-btn-ghost){background:var(--ds-button-ghost-bg);color:var(--ds-button-ghost-fg);border:1px solid var(--ds-button-ghost-border)}:where(.gds-btn-ghost:hover){background:var(--ds-button-ghost-bg-hover);border-color:var(--ds-button-ghost-border-hover);color:var(--ds-button-ghost-fg-hover)}:where(.gds-chip){border-radius:var(--radius-pill);border:1px solid var(--ds-chip-border);background:var(--ds-chip-bg);color:var(--ds-chip-fg);align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:700;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}:where(.gds-chip:hover){background:var(--ds-chip-bg-hover);border-color:color-mix(in srgb, var(--client-primary) 16%, var(--ds-chip-border))}:where(.gds-chip:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-chip-active){border-color:var(--ds-chip-border-active);background:var(--ds-chip-bg-active);color:var(--ds-chip-fg-active)}:where(.gds-badge){border-radius:var(--radius-pill);letter-spacing:.04em;align-items:center;min-height:28px;padding:0 10px;font-size:11px;font-weight:800;display:inline-flex}:where(.gds-badge-brand){background:var(--ds-badge-brand-bg);color:var(--ds-badge-brand-fg);border:1px solid var(--ds-badge-brand-border)}:where(.gds-shell-header){background:var(--ds-header-bg);color:var(--ds-header-fg);border-bottom:1px solid var(--ds-header-border);box-shadow:none;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}:where(.gds-shell-header [data-gengage-part=chat-header-powered-by]){color:var(--ds-header-muted)}:where(.gds-icon-btn){border-radius:var(--radius-control);width:42px;min-width:42px;height:42px;min-height:42px;padding:0}:where(.gds-input-shell){border-radius:var(--ds-input-radius);border:1px solid var(--ds-input-border);background:var(--ds-input-bg);min-height:52px;box-shadow:var(--ds-input-highlight);align-items:center;gap:12px;padding:6px 6px 6px 14px;transition:border-color .15s,box-shadow .15s,background-color .15s;display:flex}:where(.gds-input-shell:focus-within){border-color:var(--ds-input-focus-border);box-shadow:var(--ds-input-focus-ring)}:where(.gds-tab){border-radius:var(--radius-pill);border:1px solid var(--ds-tab-border);background:var(--ds-tab-bg);color:var(--ds-tab-fg);align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:700;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}:where(.gds-tab:hover){background:var(--ds-tab-bg-hover)}:where(.gds-tab:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-tab[aria-selected=true],.gds-tab.is-active){color:var(--ds-tab-fg-active);border-color:var(--ds-tab-border-active);background:var(--ds-tab-bg-active)}:where(.gds-toolbar){flex-wrap:wrap;align-items:center;gap:10px;display:flex}:where(.gds-toolbar-compact){gap:8px}:where(.gds-card){background:var(--ds-card-bg);border:1px solid var(--ds-card-border);border-radius:var(--ds-card-radius);box-shadow:var(--ds-card-shadow);transition:border-color .15s,box-shadow .15s,background-color .15s}:where(.gds-card-interactive),:where(.gds-clickable){cursor:pointer}:where(.gds-card-interactive:hover){background:var(--ds-card-bg-hover);border-color:var(--ds-card-border-hover);box-shadow:var(--ds-card-shadow-hover)}:where(.gds-card-soft){background:var(--ds-card-bg-soft)}:where(.gds-product-card){border-radius:16px}:where(.gds-evidence-card){background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-control);box-shadow:var(--shadow-1)}:where(.gds-evidence-card-success){background:color-mix(in srgb, var(--success) 10%, white);border-color:color-mix(in srgb, var(--success) 22%, var(--border-default))}:where(.gds-evidence-card-danger){background:color-mix(in srgb, var(--error) 8%, white);border-color:color-mix(in srgb, var(--error) 20%, var(--border-default))}:where(.gds-evidence-card-warning){background:color-mix(in srgb, var(--warning) 10%, white);border-color:color-mix(in srgb, var(--warning) 22%, var(--border-default))}:where(.gds-message){border-radius:calc(var(--radius-control) + 4px);word-wrap:break-word;overflow-wrap:break-word;border:1px solid #0000;max-width:85%;padding:14px 16px;font-size:14px;font-weight:400;line-height:1.55;animation:.3s cubic-bezier(.2,.7,.2,1) gengage-chat-msg-in}:where(.gds-message-user){background:var(--ds-message-user-bg);color:var(--ds-message-user-fg);border-color:var(--ds-message-user-border);box-shadow:var(--ds-message-user-shadow);border-bottom-right-radius:6px;align-self:flex-end}:where(.gds-message-assistant){background:var(--ds-message-assistant-bg);color:var(--ds-message-assistant-fg);border-color:var(--ds-message-assistant-border);box-shadow:var(--ds-message-assistant-shadow);border-bottom-left-radius:6px;align-self:flex-start;min-width:120px}:where(.gds-message-active){outline:2px solid var(--ds-message-active-outline);outline-offset:-2px}:where(.gds-ai-card){background:var(--surface-card);border:1px solid var(--ds-progress-card-border);border-radius:20px;gap:16px;padding:18px;display:grid}:where(.gds-ai-mark){background:var(--ds-progress-mark-bg);width:42px;height:42px;color:var(--ai-accent-start);border:1px solid var(--ds-progress-mark-border);border-radius:14px;place-items:center;display:grid}:where(.gds-ai-loader-row){align-items:center;gap:12px;display:flex}:where(.gds-progress-loader){border:1px solid color-mix(in srgb, var(--ai-accent-start) 10%, var(--border-default));background:linear-gradient(110deg, var(--surface-card-soft) 8%, color-mix(in srgb, var(--ai-accent-start) 5%, var(--surface-card)) 18%, var(--surface-card-soft) 33%);width:fit-content;max-width:100%;color:var(--text-secondary);background-size:220% 100%;border-radius:14px;align-items:center;gap:10px;padding:8px 14px;animation:1.8s linear infinite gds-progress-shimmer;display:inline-flex}:where(.gds-progress-loader-chat){box-sizing:border-box;align-self:flex-start;width:100%;min-width:0;max-width:85%;display:flex}:where(.gds-progress-loader-chat) .gds-progress-label{overflow-wrap:anywhere;flex:auto;min-width:0}:where(.gds-progress-loader-panel){box-sizing:border-box;justify-content:flex-start;align-items:center;width:100%;min-width:0;max-width:100%;display:flex}:where(.gds-progress-loader-panel) .gds-progress-label{overflow-wrap:anywhere;flex:auto;min-width:0}:where(.gds-progress-label){min-width:0;color:var(--text-secondary);word-break:break-word;font-size:13px;line-height:1.5}:where(.gds-progress-dots){flex-shrink:0;align-items:center;gap:6px;display:inline-flex}:where(.gds-progress-dot){background:color-mix(in srgb, var(--ai-accent-start) 20%, var(--text-muted));border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite gds-progress-dot-pulse;display:inline-block}:where(.gds-progress-dot:nth-child(2)){animation-delay:.2s}:where(.gds-progress-dot:nth-child(3)){animation-delay:.4s}:where(.gds-ai-status){border-radius:calc(var(--radius-control) + 2px);border:1px solid var(--border-default);background:var(--surface-card-muted);max-width:85%;color:var(--text-secondary);border-bottom-left-radius:6px;align-self:flex-start;align-items:center;gap:8px;padding:10px 14px;display:flex}:where(.gds-ai-status-text){color:var(--text-secondary);font-size:13px;font-style:italic}:where(.gds-ai-dot-loader){align-items:center;gap:5px;display:inline-flex}:where(.gds-ai-dot-loader span){background:color-mix(in srgb, var(--ai-accent-start) 38%, var(--text-muted));border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite gds-progress-dot-pulse;display:inline-block}:where(.gds-ai-dot-loader span:nth-child(2)){animation-delay:.2s}:where(.gds-ai-dot-loader span:nth-child(3)){animation-delay:.4s}:where(.gds-ai-spinner){border:2.5px solid var(--border-default);border-top-color:var(--ai-accent-start);border-radius:50%;flex-shrink:0;width:26px;height:26px;animation:.72s linear infinite gds-spin}@keyframes gds-spin{to{transform:rotate(360deg)}}@keyframes gds-progress-shimmer{0%{background-position:200% 0}to{background-position:-20% 0}}@keyframes gds-progress-dot-pulse{0%,to{opacity:.45;transform:scale(.7)}50%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){:where(.gds-progress-loader){animation:none}:where(.gds-progress-dot){opacity:.85;animation:none;transform:scale(1)}:where(.gds-ai-spinner){animation:none}:where(.gds-ai-dot-loader span){opacity:.85;animation:none}}:where(.gds-menu){border-radius:var(--radius-card);border:1px solid var(--border-default);background:var(--surface-elevated);box-shadow:var(--shadow-3);padding:4px}:where(.gds-menu-option){border-radius:calc(var(--radius-control) - 4px);width:100%;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:8px 10px;font-size:12px;font-weight:500;line-height:1.25;transition:background-color .15s,color .15s;display:flex}:where(.gds-menu-option:hover){background:var(--surface-card-muted)}:where(.gds-menu-option:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-menu-option-active){background:var(--client-primary-subtle);color:var(--client-primary);font-weight:600}:where(.gds-comparison-table){border-collapse:separate;border-spacing:0;border:1px solid var(--ds-comparison-table-border);background:var(--ds-comparison-table-bg);border-radius:20px;width:100%;overflow:hidden}:where(.gds-comparison-table th,.gds-comparison-table td){text-align:left;border-bottom:1px solid var(--ds-comparison-table-row-border);padding:14px 16px;font-size:13px}:where(.gds-comparison-table th){background:var(--ds-comparison-table-header-bg);text-transform:uppercase;letter-spacing:.08em;color:var(--ds-comparison-table-header-fg);font-size:11px}:where(.gds-comparison-table tr:last-child td){border-bottom:0}:where(.gds-comparison-table-winner-cell){background:var(--ds-comparison-table-winner-bg);color:var(--ds-comparison-table-winner-fg);font-weight:800}:host{all:initial;font-family:var(--gengage-font-family,"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);font-size:var(--gengage-font-size,14px)}.gengage-chat-root button,.gengage-chat-root [role=button],.gengage-chat-root a{cursor:pointer}.gengage-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.gengage-chat-root{z-index:var(--gengage-z-index,2147480000);--_gengage-chat-offset:var(--gengage-chat-offset,20px);--_gengage-chat-launcher-bottom:var(--gengage-chat-launcher-bottom,20px);--_gengage-chat-launcher-right:var(--gengage-chat-launcher-right,20px);--_gengage-chat-launcher-size:var(--gengage-chat-launcher-size,56px);--_gengage-chat-drawer-width:var(--gengage-chat-width,400px);--_gengage-chat-radius:var(--gengage-chat-shell-radius,1rem);--_gengage-chat-header-height:var(--gengage-chat-header-height,72px);--_gengage-chat-conversation-width:var(--gengage-chat-conversation-width,396px);--_gengage-chat-panel-min-width:var(--gengage-chat-panel-min-width,320px);--_gengage-chat-panel-max-width:var(--gengage-chat-panel-max-width,1200px);--_gengage-chat-input-height:var(--gengage-chat-input-height,48px);--_gengage-chat-shadow:var(--gengage-chat-shadow,var(--shadow-3));--_gengage-border-color:var(--border-default);--_gengage-discount-color:var(--gengage-discount-color,var(--client-primary));--_gengage-campaign-reason-start:var(--gengage-campaign-reason-color,var(--client-primary));--_gengage-campaign-reason-end:var(--gengage-campaign-reason-color-end,var(--gengage-campaign-reason-color,var(--client-primary)));--_gengage-success-color:var(--success);--_gengage-text-primary:var(--text-primary);--_gengage-text-secondary:var(--text-secondary);--_gengage-surface-secondary:var(--surface-card-soft);--_gengage-surface-muted:var(--surface-card-soft);--_gengage-surface-dark:var(--surface-shell);--_gengage-rating-color:var(--rating);--_gengage-error:var(--error);--_gengage-danger-color:var(--error);--_gengage-ghost-border:var(--gengage-ghost-border,color-mix(in srgb, var(--client-primary) 16%, transparent));position:fixed}.gengage-chat-backdrop{z-index:0;pointer-events:none;cursor:pointer;box-sizing:border-box;-webkit-tap-highlight-color:transparent;background:0 0;border:none;margin:0;padding:0;display:none;position:fixed;inset:0}.gengage-chat-root--open:not(.gengage-chat--inline) .gengage-chat-backdrop{pointer-events:none;background:var(--gengage-chat-float-backdrop,transparent);display:block}.gengage-chat-root--open.gengage-chat-root--maximized-host-chrome:not(.gengage-chat--inline) .gengage-chat-backdrop{pointer-events:auto;background:var(--gengage-chat-float-backdrop,color-mix(in srgb, var(--surface-overlay) 72%, transparent))}.gengage-chat-root.gengage-chat--overlay.gengage-chat-root--open .gengage-chat-backdrop{background:var(--gengage-chat-overlay-backdrop,var(--surface-overlay));pointer-events:auto}.gengage-chat-launcher-container{bottom:var(--_gengage-chat-launcher-bottom);right:var(--_gengage-chat-launcher-right);z-index:var(--gengage-z-index,2147480000);flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:fixed}.gengage-chat-launcher-content-area,.gengage-chat-launcher-content-area-bottom{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.gengage-chat-launcher-content-area:empty,.gengage-chat-launcher-content-area-bottom:empty,.gengage-chat-root--open .gengage-chat-launcher-content-area,.gengage-chat-root--open .gengage-chat-launcher-content-area-bottom{display:none}.gengage-chat-root--open .gengage-chat-launcher-container{pointer-events:none;opacity:0;transition:opacity .2s}.gengage-chat-launcher{width:var(--_gengage-chat-launcher-size);height:var(--_gengage-chat-launcher-size);border:1px solid var(--ds-button-primary-border);background:var(--ds-button-primary-bg);color:var(--ds-button-primary-fg);cursor:pointer;box-shadow:var(--shadow-3);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s;display:flex;position:relative}.gengage-chat-launcher:hover{box-shadow:var(--shadow-3);transform:none}.gengage-chat-launcher svg{width:28px;height:28px}.gengage-chat-launcher--image-mode{box-shadow:none;background:0 0;border:none;border-radius:0;padding:0;overflow:hidden}.gengage-chat-launcher--image-mode:hover{box-shadow:none}.gengage-chat-launcher--image-mode img{object-fit:contain;width:100%;height:100%}.gengage-chat-launcher--hidden-mobile{display:none!important}.gengage-chat-launcher-tooltip{border-radius:var(--radius-control);background:var(--surface-shell);color:var(--text-inverse);white-space:nowrap;opacity:0;pointer-events:none;box-shadow:var(--shadow-2);padding:6px 12px;font-size:13px;font-weight:500;transition:opacity .2s;position:absolute;top:50%;right:calc(100% + 12px);transform:translateY(-50%)}.gengage-chat-launcher-tooltip:after{content:"";border:5px solid #0000;border-left-color:var(--surface-shell);position:absolute;top:50%;left:100%;transform:translateY(-50%)}.gengage-chat-launcher:hover .gengage-chat-launcher-tooltip{opacity:1}.gengage-chat-root--open .gengage-chat-launcher-tooltip{display:none}.gengage-chat-drawer{width:var(--_gengage-chat-drawer-width);background:var(--surface-elevated,var(--surface-card));border-left:1px solid var(--border-default);max-height:100dvh;box-shadow:var(--_gengage-chat-shadow);z-index:var(--gengage-z-index,2147480000);opacity:1;border-radius:0;flex-direction:column;transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .2s;display:flex;position:fixed;top:0;bottom:0;right:0;overflow:hidden;transform:translate(0)}.gengage-chat-root--mobile .gengage-chat-launcher-container{right:var(--gengage-chat-launcher-mobile-right,16px);bottom:calc(var(--gengage-chat-launcher-mobile-bottom,16px) + env(safe-area-inset-bottom,0px))}.gengage-chat-root--mobile .gengage-chat-drawer{border:1px solid var(--border-default);width:100%;max-width:none;max-height:100dvh;box-shadow:var(--shadow-3);padding-bottom:env(safe-area-inset-bottom,0px);background:var(--surface-elevated,var(--surface-card));border-bottom:none;border-radius:16px 16px 0 0;bottom:0;left:0;right:0}.gengage-chat-drawer-handle{display:none}.gengage-chat-root--mobile .gengage-chat-drawer-handle{pointer-events:none;z-index:1;justify-content:center;align-items:center;height:14px;display:flex;position:absolute;top:6px;left:0;right:0}.gengage-chat-root--mobile .gengage-chat-header{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.gengage-chat-root--mobile .gengage-chat-header button,.gengage-chat-root--mobile .gengage-chat-header a{cursor:pointer;touch-action:auto;-webkit-user-select:auto;user-select:auto}.gengage-chat-root--mobile .gengage-chat-drawer-handle:before{content:"";background:var(--border-strong);pointer-events:none;border-radius:999px;width:36px;height:4px}.gengage-chat-root--mobile.gengage-chat-root--mobile-half .gengage-chat-drawer{height:min(72dvh,620px);max-height:min(72dvh,620px);top:auto}.gengage-chat-root--mobile.gengage-chat-root--mobile-full .gengage-chat-drawer{border-radius:0;height:100dvh;max-height:100dvh;top:0}.gengage-chat-root--mobile .gengage-chat-input-area{padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border-default);transform:translateY(calc(-1 * var(--gengage-keyboard-offset,0px)))}.gengage-chat-header{box-sizing:border-box;height:var(--_gengage-chat-header-height);background:var(--gengage-chat-header-bg,var(--ds-header-bg));color:var(--gengage-chat-header-foreground,var(--ds-header-fg));box-shadow:none;border-bottom:1px solid var(--gengage-chat-header-border-bottom,var(--ds-header-border));z-index:2;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex;position:relative}.gengage-chat-header-left{align-items:center;gap:10px;min-width:0;display:flex}.gengage-chat-header-avatar{background:var(--surface-card-soft);border:1px solid var(--border-default);object-fit:contain;border-radius:999px;flex-shrink:0;width:44px;height:44px}.gengage-chat-header-avatar--logo{object-fit:contain;background:0 0;border:none;border-radius:0;width:auto;max-width:92px;height:45px}.gengage-chat-header-info{flex-direction:column;gap:2px;min-width:0;display:flex}.gengage-chat-header-title-row{align-items:center;gap:6px;min-width:0;display:flex}.gengage-chat-header-title{letter-spacing:.01em;color:inherit;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:16px;font-weight:700;line-height:1.25;display:block;overflow:hidden}.gengage-chat-header-badge{border-radius:var(--radius-pill);background:var(--ds-badge-brand-bg);min-height:26px;color:var(--ds-badge-brand-fg);border:1px solid var(--ds-badge-brand-border);letter-spacing:.04em;text-transform:uppercase;align-items:center;padding:0 10px;font-size:10px;font-weight:800;line-height:1.5;display:inline-flex}.gengage-chat-header-powered{color:var(--ds-header-muted);align-items:center;gap:4px;font-size:11px;line-height:1.2;text-decoration:none;transition:color .15s;display:flex}.gengage-chat-header-powered:hover{color:var(--client-primary)}.gengage-chat-header-powered svg{opacity:.6;flex-shrink:0;width:12px;height:12px}.gengage-chat-header-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.gengage-chat-header-btn{border-radius:var(--radius-control,12px);background:var(--surface-card-soft);border:1px solid var(--border-default);width:42px;height:42px;color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;line-height:1;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.gengage-chat-header-btn:hover{background:var(--client-primary-subtle);color:var(--client-primary);border-color:color-mix(in srgb, var(--client-primary) 18%, white)}.gengage-chat-header-btn--fav{position:relative}.gengage-chat-header-btn--reopen-panel,.gengage-chat-root--mobile .gengage-chat-new-chat{display:none}.gengage-chat-header-fav-badge{background:var(--error);min-width:16px;height:16px;color:var(--text-inverse);text-align:center;pointer-events:none;border-radius:999px;padding:0 3px;font-size:9px;font-weight:700;line-height:16px;position:absolute;top:-4px;right:-4px}.gengage-chat-close{border-radius:var(--radius-control,12px);background:var(--surface-card-soft);border:1px solid var(--border-default);width:42px;min-width:42px;height:42px;min-height:42px;color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;font-size:18px;line-height:1;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.gengage-chat-close:hover{background:var(--client-primary-subtle);color:var(--client-primary);border-color:color-mix(in srgb, var(--client-primary) 18%, white)}.gengage-chat-body{flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.gengage-chat-panel{width:0;transition:width .22s cubic-bezier(.2,.72,.2,1);display:none;overflow:hidden}.gengage-chat-panel--visible{box-sizing:border-box;background:var(--gengage-chat-panel-bg,var(--surface-card));border-right:1px solid var(--border-default);scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--text-muted) 24%, transparent) transparent;flex-direction:column;width:440px;min-width:440px;padding:16px;display:flex;position:relative;overflow-y:auto}.gengage-chat-panel--visible::-webkit-scrollbar{width:6px}.gengage-chat-panel--visible::-webkit-scrollbar-track{background:0 0}.gengage-chat-panel--visible::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text-muted) 24%, transparent);border-radius:3px}.gengage-chat-panel--visible::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--text-muted) 36%, transparent)}.gengage-chat-panel-ai-zone{box-sizing:border-box;border-bottom:1px solid var(--border-subtle);flex-shrink:0;width:100%;max-height:min(42vh,320px);margin-bottom:4px;padding:8px 0 12px;overflow:auto}.gengage-chat-panel-ai-zone:has(.gengage-chat-grouping-cards){max-height:min(52vh,520px)}.gengage-chat-panel-ai-zone:has(.gengage-chat-ai-top-picks){max-height:none;overflow:visible}.gengage-chat-panel-ai-zone[hidden]{display:none!important}.gengage-chat-panel-ai-zone-inner{align-items:center;gap:10px;display:flex}.gengage-chat-panel-ai-zone-text{color:var(--text-muted);font-size:13px}.gengage-chat-grouping-section-title{display:none}.gengage-chat-panel-ai-zone .gengage-chat-grouping-section-title{width:100%;color:var(--text-primary);letter-spacing:-.01em;flex-shrink:0;align-self:stretch;margin:0 0 10px;font-size:15px;font-weight:700;display:block}.gengage-chat-panel-ai-zone .gengage-chat-grouping-cards{flex-direction:column;align-items:stretch;gap:0;width:100%;min-width:0;max-height:none;display:flex}.gengage-chat-panel-ai-zone .gengage-chat-grouping-cards-scroll{-webkit-overflow-scrolling:touch;scrollbar-width:thin;flex-flow:row;align-items:stretch;gap:10px;width:100%;min-width:0;margin:0 -2px;padding:2px 2px 10px;display:flex;overflow:auto hidden}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card{box-sizing:border-box;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-card);width:136px;min-width:136px;max-width:150px;box-shadow:var(--shadow-1);flex-direction:column;flex:none;align-items:stretch;gap:8px;padding:12px 10px 14px}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card:hover{border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));box-shadow:var(--shadow-2)}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-arrow{display:none}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-img{object-fit:cover;border-radius:8px;width:100%;min-width:0;max-width:88px;height:72px;min-height:72px;margin:0 auto}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-body{text-align:center;flex-direction:column;align-items:center;gap:4px;width:100%}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-name{font-size:13px;font-weight:700;line-height:1.25}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-desc{color:var(--text-muted);font-size:11px;line-height:1.3}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-labels{white-space:normal;text-overflow:unset;justify-content:center;margin-top:2px;line-height:1.35;overflow:visible}.gengage-chat-panel-divider{cursor:pointer;background:var(--_gengage-border-color);z-index:2;flex-shrink:0;align-items:center;width:4px;transition:background .15s;display:flex;position:relative}.gengage-chat-panel-divider:hover{background:var(--border-strong)}.gengage-chat-panel-divider--hidden{display:none}.gengage-chat-panel-divider-toggle{border:1px solid var(--_gengage-border-color);background:var(--surface-card);cursor:pointer;width:28px;height:48px;color:var(--text-secondary);box-shadow:var(--shadow-1);border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;transition:background .15s,color .15s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.gengage-chat-panel-divider-toggle:hover{background:var(--surface-card-muted);color:var(--client-primary)}.gengage-chat-panel-divider-preview{pointer-events:none;border:1px solid var(--border-default);background:color-mix(in srgb, var(--surface-elevated) 96%, transparent);width:38px;height:192px;box-shadow:var(--shadow-2);z-index:1;border-radius:999px;flex-direction:column;gap:2px;padding:6px 4px;display:none;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.gengage-chat-panel-divider-preview:after{content:"";background:linear-gradient(180deg, transparent, color-mix(in srgb, var(--surface-shell) 10%, transparent));pointer-events:none;position:absolute;inset:0}.gengage-chat-panel-divider-preview-thumb{border-radius:999px;flex:1 1 0;min-height:0;position:relative;overflow:hidden}.gengage-chat-panel-divider-preview-img{object-fit:cover;filter:grayscale(.55)saturate(.8)brightness(.92);opacity:.9;width:100%;height:100%;transform:scale(1.14)}.gengage-chat-panel.gengage-chat-panel--collapsed{border-right:none;flex:0 0 0;width:0;min-width:0;max-width:0;padding:0;overflow:hidden}.gengage-chat-panel--collapsed~.gengage-chat-panel-divider{background:0 0;width:0}.gengage-chat-panel--collapsed~.gengage-chat-panel-divider .gengage-chat-panel-divider-toggle{left:50%;transform:translate(-50%,-50%)}.gengage-chat-panel--collapsed~.gengage-chat-panel-divider.gengage-chat-panel-divider--preview-active .gengage-chat-panel-divider-preview{display:flex;left:50%;transform:translate(-50%,-50%)}.gengage-chat-conversation{background:var(--surface-card);z-index:1;flex-direction:column;flex:1;min-width:0;display:flex;position:relative;overflow:hidden}.gengage-chat-drawer--with-panel{width:auto;box-shadow:none;background:0 0;overflow:visible}.gengage-chat-drawer--with-panel .gengage-chat-header{border-radius:0;flex-shrink:0}.gengage-chat-drawer--with-panel .gengage-chat-body{flex:1 1 0;align-items:stretch;gap:0;min-height:0;padding:0;overflow:visible}.gengage-chat-drawer--with-panel .gengage-chat-panel--visible{width:clamp(var(--_gengage-chat-panel-min-width), 56vw, var(--_gengage-chat-panel-max-width));min-width:var(--_gengage-chat-panel-min-width);max-width:var(--_gengage-chat-panel-max-width);background:var(--gengage-chat-panel-bg,var(--surface-card));box-shadow:none;border-right:none;border-radius:0;flex:none;max-height:100dvh;margin:0;padding:0 16px 16px;overflow-y:auto}.gengage-chat-drawer--with-panel .gengage-chat-panel-divider{background:0 0;width:0}.gengage-chat-drawer--with-panel .gengage-chat-panel-divider-toggle{background:var(--surface-card);width:20px;height:48px;color:var(--client-primary);border:1px solid color-mix(in srgb, var(--client-primary) 20%, var(--border-default));box-shadow:var(--shadow-1);z-index:10;border-radius:10px;font-size:12px}.gengage-chat-drawer--with-panel .gengage-chat-panel-divider-toggle:hover{background:var(--client-primary-subtle);color:var(--client-primary)}.gengage-chat-drawer--with-panel .gengage-chat-panel-divider--preview-active .gengage-chat-panel-divider-toggle:hover{background:var(--client-primary-subtle)}.gengage-chat-drawer--with-panel .gengage-chat-conversation{flex:0 0 var(--_gengage-chat-conversation-width);width:var(--_gengage-chat-conversation-width);background:var(--surface-card);box-shadow:var(--shadow-2);border-left:none}.gengage-chat-drawer--with-panel .gengage-chat-messages{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--text-muted) 22%, transparent) transparent;padding-right:6px}.gengage-chat-drawer--with-panel .gengage-chat-messages::-webkit-scrollbar{width:0}.gengage-chat-drawer--with-panel .gengage-chat-panel.gengage-chat-panel--collapsed{flex:0 0 0;width:0;min-width:0;max-width:0;padding:0;overflow:hidden}.gengage-chat-drawer--with-panel:has(.gengage-chat-panel--collapsed){width:var(--_gengage-chat-conversation-width);background:var(--surface-elevated,var(--surface-card));box-shadow:var(--_gengage-chat-shadow)}.gengage-chat-drawer--with-panel .gengage-chat-footer{display:none}.gengage-chat-messages{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;flex-direction:column;flex:1;gap:16px;min-height:0;padding:16px;display:flex;overflow-y:auto}.gengage-chat-messages::-webkit-scrollbar{width:6px}.gengage-chat-messages::-webkit-scrollbar-track{background:0 0}.gengage-chat-messages::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text-muted) 22%, transparent);border-radius:3px}.gengage-chat-messages::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--text-muted) 36%, transparent)}.gengage-chat-bubble--presentation-collapsed{display:none!important}.gengage-chat-former-messages-btn{z-index:2;border-radius:var(--radius-pill);border:1px solid var(--ds-chip-border);background:color-mix(in srgb, var(--surface-card) 96%, transparent);color:var(--text-primary);cursor:pointer;box-shadow:var(--shadow-1);flex-shrink:0;align-self:center;margin-bottom:4px;padding:8px 14px;font-size:13px;font-weight:600;position:sticky;top:0}.gengage-chat-former-messages-btn:hover{background:var(--surface-card-muted)}.gengage-chat-bubble{position:relative}@keyframes gengage-chat-msg-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.gengage-chat-bubble--user{max-width:85%}.gengage-chat-bubble--assistant{max-width:85%;margin-left:2px}.gengage-chat-bubble--active{outline:2px solid var(--ds-message-active-outline);outline-offset:-2px}.gengage-chat-bubble--assistant:empty{display:none}.gengage-chat-bubble--assistant .gengage-chat-bubble-text a{color:var(--client-primary);text-decoration:underline}.gengage-chat-bubble--assistant .gengage-chat-bubble-text a:hover{text-decoration:none}.gengage-chat-bubble--assistant .gengage-chat-bubble-text p{margin:0 0 8px}.gengage-chat-bubble--assistant .gengage-chat-bubble-text p:last-child{margin-bottom:0}.gengage-chat-bubble--assistant .gengage-chat-bubble-text ul,.gengage-chat-bubble--assistant .gengage-chat-bubble-text ol{margin:6px 0;padding-left:20px}.gengage-chat-bubble--assistant .gengage-chat-bubble-text li{margin-bottom:6px;line-height:1.5}.gengage-chat-bubble--assistant .gengage-chat-bubble-text code{background:color-mix(in srgb, var(--text-primary) 8%, transparent);border-radius:6px;padding:1px 4px;font-size:.9em}.gengage-chat-bubble--assistant .gengage-chat-bubble-text pre{background:color-mix(in srgb, var(--surface-card) 78%, var(--surface-card-soft));border:1px solid var(--border-subtle);border-radius:12px;margin:4px 0;padding:10px 12px;overflow-x:auto}.gengage-chat-bubble--assistant .gengage-chat-bubble-text table{border-collapse:collapse;margin:4px 0;font-size:.9em}.gengage-chat-bubble--assistant .gengage-chat-bubble-text th,.gengage-chat-bubble--assistant .gengage-chat-bubble-text td{border:1px solid var(--border-default);padding:4px 8px}.gengage-chat-bubble--assistant .gengage-chat-bubble-text img{border-radius:12px;max-width:100%;height:auto;margin:4px 0}.gengage-chat-bubble--assistant .gengage-chat-bubble-text h1,.gengage-chat-bubble--assistant .gengage-chat-bubble-text h2,.gengage-chat-bubble--assistant .gengage-chat-bubble-text h3,.gengage-chat-bubble--assistant .gengage-chat-bubble-text h4,.gengage-chat-bubble--assistant .gengage-chat-bubble-text h5,.gengage-chat-bubble--assistant .gengage-chat-bubble-text h6{color:var(--text-primary);margin:8px 0 4px;line-height:1.3}.gengage-chat-bubble--assistant .gengage-chat-bubble-text blockquote{border-left:3px solid var(--border-default);color:var(--text-secondary);margin:4px 0;padding-left:12px}.gengage-chat-bubble--assistant .gengage-chat-bubble-text{overflow-wrap:break-word}.gengage-chat-bubble--photo-analysis{border-color:color-mix(in srgb, var(--client-primary) 24%, var(--border-default));background:linear-gradient(165deg, color-mix(in srgb, var(--surface-card-soft) 80%, white), var(--surface-card))}.gengage-chat-photo-analysis-card{flex-direction:column;gap:10px;display:flex}.gengage-chat-photo-analysis-badge{letter-spacing:.02em;color:var(--client-primary);background:color-mix(in srgb, var(--client-primary) 14%, white);border:1px solid color-mix(in srgb, var(--client-primary) 24%, var(--border-default));border-radius:999px;align-self:flex-start;padding:4px 10px;font-size:11px;font-weight:800}.gengage-chat-photo-analysis-body{flex-direction:column;gap:12px;display:flex}.gengage-chat-photo-analysis-summary{color:var(--text-primary);margin:0;font-size:14px;line-height:1.55}.gengage-chat-photo-analysis-highlights{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.gengage-chat-photo-analysis-section{border:1px solid color-mix(in srgb, var(--client-primary) 14%, var(--border-default));background:color-mix(in srgb, var(--surface-card-soft) 78%, white);border-radius:14px;flex-direction:column;gap:8px;padding:12px;display:flex}.gengage-chat-photo-analysis-section--celeb{gap:6px}.gengage-chat-photo-analysis-section-title{letter-spacing:.03em;text-transform:uppercase;color:var(--text-secondary);margin:0;font-size:12px;font-weight:800}.gengage-chat-photo-analysis-section-list{color:var(--text-primary);gap:6px;margin:0;padding-left:18px;font-size:13px;line-height:1.5;display:grid}.gengage-chat-photo-analysis-section-item{margin:0}.gengage-chat-photo-analysis-celeb-name{color:var(--text-primary);margin:0;font-size:15px;font-weight:800;line-height:1.35}.gengage-chat-photo-analysis-celeb-reason{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.5}.gengage-chat-photo-analysis-details{border:1px solid color-mix(in srgb, var(--client-primary) 12%, var(--border-default));background:color-mix(in srgb, var(--surface-card-soft) 54%, white);border-radius:12px;overflow:hidden}.gengage-chat-photo-analysis-details-summary{cursor:pointer;color:var(--client-primary);padding:10px 12px;font-size:13px;font-weight:700;list-style:none}.gengage-chat-photo-analysis-details-summary::-webkit-details-marker{display:none}.gengage-chat-photo-analysis-points{color:var(--text-primary);gap:6px;margin:0;padding-left:18px;font-size:13px;line-height:1.5;display:grid}.gengage-chat-photo-analysis-details .gengage-chat-photo-analysis-points{padding:0 16px 14px 32px}.gengage-chat-photo-analysis-next{background:color-mix(in srgb, var(--client-primary) 9%, white);color:var(--text-primary);border-radius:12px;margin:0;padding:10px 12px;font-size:13px;font-weight:700;line-height:1.45}.gengage-chat-bubble--first{border-left:1px solid var(--ds-message-assistant-border)}.gengage-chat-bubble--first .gengage-chat-bubble-text{font-size:inherit}@media (width<=768px){.gengage-chat-bubble--assistant .gengage-chat-bubble-text{line-height:1.5}.gengage-chat-bubble--user{word-break:break-word;max-width:calc(100% - 16px)}}.gengage-chat-typing{align-self:flex-start;max-width:85%}.gengage-chat-typing-dots{flex-shrink:0}.gengage-chat-typing-text{flex:1;min-width:0}.gengage-chat-panel-loading-status{margin-bottom:16px}.gengage-chat-panel-loading-status.gds-progress-loader-panel{box-sizing:border-box;min-width:0;max-width:100%}.gengage-chat-root--mobile .gengage-chat-panel-loading-status.gds-progress-loader-panel{max-width:100%}.gengage-chat-root--mobile .gengage-chat-panel-loading-status .gengage-chat-panel-loading-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.gengage-chat-offline-bar{color:color-mix(in srgb, var(--warning) 72%, var(--text-primary));background:color-mix(in srgb, var(--warning) 10%, white);border-bottom:1px solid color-mix(in srgb, var(--warning) 22%, var(--border-default));align-items:center;gap:6px;padding:6px 12px;font-size:12px;line-height:1.4;display:none}.gengage-chat-offline-bar--visible{display:flex}.gengage-chat-offline-bar:before{content:"";background:var(--_gengage-rating-color);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.gengage-chat-thinking-steps{flex-direction:column;gap:4px;padding:4px 0;display:flex}.gengage-chat-thinking-step{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;display:flex}.gengage-chat-thinking-step-marker{text-align:center;flex-shrink:0;width:16px;font-size:12px}.gengage-chat-thinking-step-marker--done{color:var(--_gengage-success-color)}.gengage-chat-thinking-step-marker--active{color:var(--ai-accent-start);animation:1.5s ease-in-out infinite gengage-thinking-pulse}@keyframes gengage-thinking-pulse{0%,to{opacity:1}50%{opacity:.4}}.gengage-chat-thinking-step-text{line-height:1.4}.gengage-chat-error{border-radius:var(--radius-control);background:color-mix(in srgb, var(--error) 10%, white);color:color-mix(in srgb, var(--error) 84%, var(--text-primary));text-align:center;border:1px solid color-mix(in srgb, var(--error) 22%, var(--border-default));justify-content:center;align-items:center;gap:10px;padding:10px 14px;font-size:13px;display:flex}.gengage-chat-error-retry{border:1px solid color-mix(in srgb, var(--error) 24%, var(--border-default));border-radius:var(--radius-control);background:var(--surface-card);color:color-mix(in srgb, var(--error) 84%, var(--text-primary));cursor:pointer;flex-shrink:0;padding:4px 12px;font-size:12px;font-weight:500;transition:background .15s,border-color .15s}.gengage-chat-error-retry:hover{background:color-mix(in srgb, var(--error) 8%, white);border-color:color-mix(in srgb, var(--error) 32%, var(--border-default))}.gengage-chat-input-area{border-top:1px solid var(--border-subtle);background:var(--surface-card);z-index:2;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:0;padding:10px 12px 12px;display:flex;position:relative}.gengage-chat-input-pill{background:var(--surface-card);border:1px solid var(--border-default);min-width:0;min-height:52px;box-shadow:none;border-radius:16px;flex:1;align-items:center;gap:12px;padding:6px 6px 6px 14px;transition:border-color .2s,box-shadow .2s;display:flex;overflow:visible}.gengage-chat-input-pill:focus-within{border-color:color-mix(in srgb, var(--client-primary) 28%, white);box-shadow:0 0 0 4px var(--client-focus-ring)}.gengage-chat-input{min-width:0;min-height:40px;max-height:120px;color:var(--_gengage-text-primary);resize:none;background:0 0;border:none;border-radius:0;outline:none;flex:1;align-content:center;padding:0;font-family:inherit;font-size:14px;line-height:1.4;overflow-y:hidden}.gengage-chat-root--mobile .gengage-chat-input-pill{min-height:52px;padding:6px 6px 6px 14px}.gengage-chat-root--mobile .gengage-chat-input{white-space:nowrap;min-height:44px;max-height:44px;font-size:16px;overflow:hidden}.gengage-chat-input::placeholder{color:var(--text-muted);font-size:14px;line-height:normal}.gengage-chat-send{border:1px solid var(--ds-button-primary-border);background:var(--ds-button-primary-bg);width:40px;min-width:40px;height:40px;color:var(--ds-button-primary-fg);cursor:pointer;box-shadow:none;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:0;font-weight:700;transition:background-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s,transform .15s;display:flex;position:relative}.gengage-chat-send:hover{background:var(--ds-button-primary-bg-hover);box-shadow:none;transform:none}.gengage-chat-send:active{box-shadow:none;transform:translateY(0)}.gengage-chat-send svg{width:18px;height:18px}.gengage-chat-send--stop{background:var(--surface-card-soft);border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));color:var(--text-primary)}.gengage-chat-send--stop:hover{background:color-mix(in srgb, var(--surface-card-soft) 86%, var(--client-primary-subtle));border-color:color-mix(in srgb, var(--client-primary) 24%, var(--border-default));color:var(--client-primary)}.gengage-chat-send-stop-icon{background:currentColor;border-radius:4px;width:12px;height:12px;display:inline-block}.gengage-chat-send--stop:after{content:attr(data-tooltip);background:color-mix(in srgb, var(--surface-shell) 98%, black);border:1px solid color-mix(in srgb, var(--surface-shell) 60%, white);box-shadow:var(--shadow-2);color:var(--text-inverse);white-space:nowrap;opacity:0;pointer-events:none;z-index:12;border-radius:10px;padding:7px 10px;font-size:12px;font-weight:600;line-height:1.2;transition:opacity .16s;position:absolute;top:50%;right:calc(100% + 10px);transform:translateY(-50%)}@media (hover:hover) and (pointer:fine){.gengage-chat-send--stop:hover:after,.gengage-chat-send--stop:focus-visible:after{opacity:1}}.gengage-chat-send:disabled{background:var(--ds-neutral-200);border-color:var(--ds-neutral-200);opacity:.5;box-shadow:none;cursor:not-allowed}.gengage-chat-footer{text-align:center;color:var(--text-muted);border-top:1px solid var(--border-subtle);background:var(--surface-card);padding:4px 10px;font-size:10px}.gengage-chat-uispec{width:100%}.gengage-chat-uispec:empty{display:none}.gengage-chat-uispec>*{animation:.16s cubic-bezier(.2,.7,.2,1) both gengage-chat-widget-enter}@keyframes gengage-chat-widget-enter{0%{opacity:0;transform:translateY(5px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}.gengage-chat-action-buttons{flex-wrap:wrap;justify-content:flex-start;gap:8px;padding:6px 0 4px;display:flex}.gengage-chat-action-buttons:after{content:"";flex:1 0 auto}.gengage-chat-action-btn{border:1px solid var(--ds-button-primary-border);border-radius:var(--radius-pill,999px);background:var(--ds-button-primary-bg);color:var(--ds-button-primary-fg);cursor:pointer;white-space:nowrap;flex:none;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:700;line-height:1.25;transition:filter .15s,transform .1s}.gengage-chat-action-btn:hover{background:var(--ds-button-primary-bg-hover)}.gengage-chat-action-btn:active{transform:scale(.97)}.gengage-chat-product-card{border:1px solid var(--ds-card-border);border-radius:var(--ds-card-radius);background:var(--ds-card-bg);width:160px;min-width:160px;max-width:160px;box-shadow:var(--ds-card-shadow);flex-direction:column;transition:transform .1s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.gengage-chat-product-card:hover{box-shadow:var(--ds-card-shadow-hover);transform:translateY(-2px)}.gengage-chat-product-card-img{object-fit:contain;background:var(--surface-card);box-sizing:border-box;width:100%;height:120px;padding:8px;display:block}.gengage-chat-product-card-body{text-align:center;flex-direction:column;flex:1;gap:4px;padding:8px 10px 10px;display:flex}.gengage-chat-product-card-name{color:var(--_gengage-text-primary);-webkit-line-clamp:2;line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;min-height:2.7em;margin-bottom:0;font-size:13px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.gengage-chat-product-card-brand{color:var(--text-secondary);font-size:10px}.gengage-chat-product-card-rating{color:var(--_gengage-rating-color);font-size:11px;line-height:1}.gengage-star-half{display:inline-block;position:relative}.gengage-star-half>span{width:.5em;position:absolute;top:0;left:0;overflow:hidden}.gengage-chat-product-card-review-count{color:var(--text-secondary);font-size:10px}.gengage-chat-product-card-price,.gengage-chat-product-card-price-block{color:var(--text-primary);flex-wrap:wrap;justify-content:center;align-items:baseline;gap:2px 6px;font-size:16px;font-weight:800;display:flex}.gengage-chat-product-card-current-price{font:inherit;color:var(--gengage-discounted-price-color,var(--text-primary));font-weight:800}.gengage-chat-product-card-original-price{color:var(--_gengage-text-secondary);margin-right:0;font-size:11px;font-weight:400;text-decoration:line-through}.gengage-chat-campaign-reason{letter-spacing:.02em;background:linear-gradient(90deg, var(--_gengage-campaign-reason-start), var(--_gengage-campaign-reason-end));color:#0000;-webkit-background-clip:text;background-clip:text;max-width:100%;margin:0 0 4px;font-size:11px;font-weight:700;line-height:1.25}@supports not ((-webkit-background-clip:text) or (background-clip:text)){.gengage-chat-campaign-reason,.gengage-chat-campaign-price-badge__reason{color:var(--_gengage-campaign-reason-start);background:0 0}}.gengage-chat-product-card-price-stack{flex-direction:column;align-items:flex-start;width:100%;min-width:0;display:flex}.gengage-chat-product-card-price-row{flex-flow:wrap;align-items:baseline;gap:0 6px;display:flex}.gengage-chat-product-card-price-sep{background:var(--border-subtle);flex-shrink:0;align-self:center;width:1px;height:.95em;margin:0 1px;display:inline-block}.gengage-chat-product-card-price-block--inline .gengage-chat-product-card-original-price{color:var(--gengage-inline-original-price-color,var(--text-secondary));font-size:16px;font-weight:500;text-decoration:none}.gengage-chat-product-card-price-block--inline .gengage-chat-product-card-current-price{color:var(--gengage-discounted-price-color,var(--text-primary));font-size:16px;font-weight:800}.gengage-chat-product-card-meta-row{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:8px;width:100%;min-height:34px;display:flex}.gengage-chat-product-card-meta-row--empty{visibility:hidden}.gengage-chat-product-card-rating-compact{border:1px solid var(--border-subtle);background:var(--surface-card-muted);color:var(--text-secondary);border-radius:999px;flex-shrink:0;align-items:center;gap:5px;padding:3px 8px;font-size:11px;font-weight:700;line-height:1.2;display:inline-flex}.gengage-chat-product-card-rating-compact-star{color:color-mix(in srgb, var(--warning) 60%, var(--text-primary));justify-content:center;align-items:center;line-height:0;display:inline-flex}.gengage-chat-product-card-rating-compact-value{font-variant-numeric:tabular-nums;color:var(--text-primary)}.gengage-chat-product-card-img-actions{z-index:4;pointer-events:none;flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:absolute;top:8px;right:8px}.gengage-chat-product-card-img-actions>*{pointer-events:auto}.gengage-chat-product-card-img-actions .gengage-chat-favorite-btn,.gengage-chat-product-card-img-actions .gengage-chat-find-similar-pill{position:static}.gengage-chat-price-skeleton{background:linear-gradient(90deg, var(--ds-neutral-200) 25%, var(--ds-neutral-100) 50%, var(--ds-neutral-200) 75%);vertical-align:middle;background-size:200% 100%;border-radius:4px;width:80px;height:16px;animation:1.5s ease-in-out infinite gengage-skeleton-price-pulse;display:inline-block}@keyframes gengage-skeleton-price-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.gengage-chat-product-card-cta{text-align:center;color:var(--client-primary);letter-spacing:.01em;border-top:1px solid var(--border-default);cursor:pointer;background:0 0;margin-top:auto;padding:8px 10px;font-size:12px;font-weight:700;text-decoration:none;transition:color .15s,background .15s;display:block}.gengage-chat-product-card-cta:hover{color:var(--client-primary-hover);background:var(--surface-card-soft)}.gengage-chat-product-card-cta:active{background:var(--surface-card-soft)}button.gengage-chat-product-card-cta{appearance:none;font:inherit;box-sizing:border-box;border-bottom:none;border-left:none;border-right:none;width:100%;margin:0}.gengage-chat-product-summary{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card);cursor:pointer;flex-wrap:wrap;align-items:center;gap:12px;margin:4px 0;padding:10px 12px;transition:background .15s,box-shadow .15s,border-color .15s;display:flex}.gengage-chat-product-summary:hover{background:var(--surface-card-soft);border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));box-shadow:var(--shadow-1)}.gengage-chat-product-summary__image{border-radius:var(--radius-control);border:1px solid var(--border-subtle);background:var(--surface-card-soft);flex-shrink:0;width:64px;height:64px;overflow:hidden}.gengage-chat-product-summary__image img{object-fit:cover;width:100%;height:100%;display:block}.gengage-chat-product-summary__content{flex-direction:column;flex:180px;gap:2px;min-width:0;display:flex}.gengage-chat-product-summary__name{color:var(--text-primary);-webkit-line-clamp:2;line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;font-size:13px;font-weight:500;line-height:1.3;display:-webkit-box;overflow:hidden}.gengage-chat-product-summary__rating{color:var(--_gengage-rating-color);font-size:11px;line-height:1}.gengage-chat-product-summary__review-count{color:var(--text-secondary);font-size:11px}.gengage-chat-product-summary__price{color:var(--text-primary);margin-top:2px;font-size:13px;font-weight:600;line-height:1}.gengage-chat-product-summary__price-original{color:var(--_gengage-text-secondary);font-size:11px;font-weight:400;text-decoration:line-through}.gengage-chat-product-summary__price-current{color:var(--gengage-discounted-price-color,var(--text-primary))}.gengage-chat-product-summary__price-stack{flex-direction:column;align-items:flex-start;gap:2px;margin-top:2px;display:flex}.gengage-chat-product-summary__price-stack .gengage-chat-campaign-reason{font-size:11px;font-weight:700}.gengage-chat-product-summary__price--inline{flex-flow:wrap;align-items:baseline;gap:0 6px;display:flex}.gengage-chat-product-summary__price-sep{background:var(--border-subtle);flex-shrink:0;align-self:center;width:1px;height:.9em;margin:0 1px;display:inline-block}.gengage-chat-product-summary__price--inline .gengage-chat-product-summary__price-original{color:var(--gengage-inline-original-price-color,var(--text-secondary));font-size:13px;font-weight:500;text-decoration:none}.gengage-chat-product-summary__price--inline .gengage-chat-product-summary__price-current{color:var(--gengage-discounted-price-color,var(--text-primary));font-size:13px;font-weight:700}.gengage-chat-product-summary__cta{color:var(--client-primary);border-radius:var(--radius-pill);background:var(--client-primary-subtle);white-space:nowrap;flex-shrink:0;margin-left:auto;padding:4px 10px;font-size:12px;font-weight:600;text-decoration:none;transition:background .15s,color .15s}.gengage-chat-product-summary__cta:hover{background:var(--client-primary-soft)}.gengage-chat-product-summary__cta:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:2px}.gengage-chat-product-grid{-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-snap-type:x proximity;gap:12px;min-height:180px;padding:8px 16px 8px 0;display:flex;overflow-x:auto}.gengage-chat-product-grid>*{scroll-snap-align:start;flex:none}.gengage-chat-product-grid::-webkit-scrollbar{display:none}.gengage-chat-review-highlights{padding:4px 0 8px}.gengage-chat-review-empty{color:var(--_gengage-text-secondary);font-size:12px}.gengage-chat-review-subjects-heading{color:var(--text-primary);margin-bottom:10px;font-size:14px;font-weight:700}.gengage-chat-review-subjects{margin-bottom:12px}.gengage-chat-review-subject{color:var(--text-primary);box-shadow:none;gap:6px;padding:7px 11px;font-size:13px;font-weight:600;line-height:1.2}.gengage-chat-review-subject--active{border-color:var(--ds-chip-border-active);background:var(--ds-chip-bg-active);color:var(--ds-chip-fg-active)}.gengage-chat-review-subject-icon{flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;display:inline-flex}.gengage-chat-review-subject-icon svg{width:14px;height:14px;display:block}.gengage-chat-review-subject[data-tone=positive] .gengage-chat-review-subject-icon{color:color-mix(in srgb, var(--success) 82%, var(--text-primary))}.gengage-chat-review-subject[data-tone=negative] .gengage-chat-review-subject-icon{color:color-mix(in srgb, var(--error) 84%, var(--text-primary))}.gengage-chat-review-subject[data-tone=neutral] .gengage-chat-review-subject-icon{color:var(--text-secondary)}.gengage-chat-review-subject-label{color:inherit}.gengage-chat-review-subject-count{color:var(--text-secondary);font-size:12px;font-weight:700}.gengage-chat-review-detail{padding:12px}.gengage-chat-review-detail-meta{flex-wrap:wrap;align-items:baseline;gap:10px 16px;margin-bottom:10px;display:flex}.gengage-chat-review-detail-mentions{color:var(--_gengage-text-primary);font-size:13px;font-weight:700}.gengage-chat-review-detail-positive{color:var(--_gengage-success-color);font-size:13px;font-weight:700}.gengage-chat-review-detail-negative{color:var(--error);font-size:13px;font-weight:700}.gengage-chat-review-snippets{gap:10px;display:grid}.gengage-chat-review-snippet{border:1px solid var(--border-subtle);border-left:3px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card-soft);padding:8px 10px}.gengage-chat-review-snippet[data-tone=positive]{border-left-color:color-mix(in srgb, var(--success) 40%, var(--border-default))}.gengage-chat-review-snippet[data-tone=negative]{border-left-color:color-mix(in srgb, var(--error) 40%, var(--border-default))}.gengage-chat-review-snippet-text{color:var(--_gengage-text-primary);font-size:13px;line-height:1.4}.gengage-chat-review-snippet-rating{color:var(--text-secondary);margin-top:4px;font-size:12px;font-weight:700}.gengage-chat-favorites-page{padding:12px}.gengage-chat-favorites-empty{text-align:center;color:var(--_gengage-text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 24px;display:flex}.gengage-chat-favorites-empty-icon{opacity:.25;color:var(--error)}.gengage-chat-favorites-empty p{margin:0;font-size:13px;line-height:1.5}.gengage-chat-favorites-list{flex-direction:column;gap:10px;display:flex}.gengage-chat-favorites-card{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card);box-shadow:var(--shadow-1);align-items:center;gap:12px;padding:10px 12px;transition:opacity .2s,transform .2s,box-shadow .2s,border-color .2s;display:flex;position:relative}.gengage-chat-favorites-card:hover{border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));box-shadow:var(--shadow-1)}.gengage-chat-favorites-card--removing{opacity:0;transform:translate(8px)}.gengage-chat-favorites-card__image{border-radius:var(--radius-control);background:var(--surface-card-muted);flex-shrink:0;width:56px;height:56px;overflow:hidden}.gengage-chat-favorites-card__image img{object-fit:contain;width:100%;height:100%}.gengage-chat-favorites-card__info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.gengage-chat-favorites-card__name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.gengage-chat-favorites-card__price{color:var(--client-primary);font-size:13px;font-weight:700}.gengage-chat-favorites-remove{border-radius:var(--radius-pill);width:28px;height:28px;color:var(--error);cursor:pointer;opacity:.7;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .15s,background .15s;display:inline-flex}.gengage-chat-favorites-remove:hover{opacity:1;background:color-mix(in srgb, var(--error) 10%, white)}.gengage-chat-divider{border:none;border-top:1px solid var(--_gengage-border-color);margin:8px 0}.gengage-chat-divider-wrapper{align-items:center;gap:8px;margin:8px 0;display:flex}.gengage-chat-divider-wrapper hr{border:none;border-top:1px solid var(--_gengage-border-color);flex:1;margin:0}.gengage-chat-divider-label{color:var(--text-muted);white-space:nowrap;font-size:11px}.gengage-chat--overlay .gengage-chat-drawer{border-radius:0;width:100%;max-width:480px;max-height:100%;margin:0 auto;animation:.24s cubic-bezier(.2,.72,.2,1) gengage-chat-overlay-in;position:fixed;inset:0}@keyframes gengage-chat-overlay-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.gengage-chat-panel-skeleton{box-sizing:border-box;flex-direction:column;gap:14px;min-width:0;max-width:100%;padding:6px 0;display:flex}.gengage-chat-panel-skeleton-block{background:linear-gradient(90deg, var(--ds-neutral-200) 25%, var(--ds-neutral-100) 50%, var(--ds-neutral-200) 75%);background-size:200% 100%;border-radius:10px;height:110px;animation:1.4s infinite gengage-panel-shimmer}@keyframes gengage-panel-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.gengage-chat-panel-skeleton-block--image{border-radius:8px;height:200px;margin-bottom:12px}.gengage-chat-panel-skeleton-block--text{border-radius:4px;height:16px;margin-bottom:8px}.gengage-chat-panel-skeleton-block--text:nth-child(3){width:80%}.gengage-chat-panel-skeleton-block--text:nth-child(4){width:60%}.gengage-chat-panel-skeleton-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.gengage-chat-panel-skeleton-block--card{border-radius:8px;height:120px}.gengage-chat-panel-skeleton--comparison{gap:0;padding:0}.gengage-chat-panel-skeleton--comparison .gengage-chat-panel-loading-status{margin:0;padding:16px 16px 0}.gengage-chat-comparison--skeleton{pointer-events:none;box-sizing:border-box;width:100%}.gengage-chat-comparison-skeleton-shimmer{background:linear-gradient(90deg, var(--ds-neutral-200) 25%, var(--ds-neutral-100) 50%, var(--ds-neutral-200) 75%);background-size:200% 100%;animation:1.4s infinite gengage-panel-shimmer}.gengage-chat-comparison-skeleton-rec-label{border-radius:4px;width:132px;height:12px;margin-bottom:12px}.gengage-chat-comparison-skeleton-rec-img{border-radius:8px;flex-shrink:0;width:80px;height:80px}.gengage-chat-comparison-skeleton-rec-title{border-radius:4px;max-width:100%;height:14px;margin-bottom:6px}.gengage-chat-comparison-skeleton-rec-title--short{width:72%;margin-bottom:8px}.gengage-chat-comparison-skeleton-rec-price{border-radius:4px;width:112px;height:18px}.gengage-chat-comparison-skeleton-hl-label{border-radius:4px;width:96px;height:12px;margin-bottom:6px}.gengage-chat-comparison-skeleton-hl-list{margin:0;padding-left:18px;list-style:none}.gengage-chat-comparison-skeleton-hl-list li{margin-bottom:8px}.gengage-chat-comparison-skeleton-hl-list li:last-child{margin-bottom:0}.gengage-chat-comparison-skeleton-hl-line{border-radius:4px;width:100%;height:13px}.gengage-chat-comparison-skeleton-hl-line--medium{width:92%}.gengage-chat-comparison-skeleton-hl-line--short{width:78%}.gengage-chat-comparison-skeleton-kd-heading{border-radius:4px;width:42%;height:14px;margin:0 0 8px}.gengage-chat-comparison-skeleton-kd-line{border-radius:4px;max-width:100%;height:13px;margin-bottom:8px}.gengage-chat-comparison-skeleton-kd-line:last-child{margin-bottom:0}.gengage-chat-comparison-skeleton-kd-line:nth-child(odd){width:100%}.gengage-chat-comparison-skeleton-kd-line:nth-child(2n){width:90%}.gengage-chat-comparison-special--skeleton{cursor:default;align-items:center;min-height:44px;display:flex}.gengage-chat-comparison-skeleton-special-line{border-radius:4px;width:56%;max-width:280px;height:14px}.gengage-chat-comparison-skeleton-table-wrap{border:1px solid var(--border-default);background:var(--surface-card);-webkit-overflow-scrolling:touch;border-radius:8px;margin-top:12px;overflow-x:auto}.gengage-chat-comparison-skeleton-table-head,.gengage-chat-comparison-skeleton-table-row{grid-template-columns:72px repeat(3,minmax(0,1fr));align-items:start;gap:8px;padding:10px 12px;display:grid}.gengage-chat-comparison-skeleton-table-head{border-bottom:1px solid var(--_gengage-surface-muted);background:var(--_gengage-surface-muted)}.gengage-chat-comparison-skeleton-table-corner{min-height:92px}.gengage-chat-comparison-skeleton-table-col{text-align:center;flex-direction:column;align-items:center;gap:6px;min-width:0;display:flex}.gengage-chat-comparison-skeleton-table-th-img{border-radius:6px;flex-shrink:0;width:60px;height:60px}.gengage-chat-comparison-skeleton-table-th-name{border-radius:3px;width:100%;max-width:100%;height:11px}.gengage-chat-comparison-skeleton-table-th-price{border-radius:3px;width:64%;height:13px}.gengage-chat-comparison-skeleton-table-row{border-bottom:1px solid var(--_gengage-surface-muted)}.gengage-chat-comparison-skeleton-table-row:last-child{border-bottom:none}.gengage-chat-comparison-skeleton-table-label{border-radius:3px;align-self:center;width:100%;max-width:56px;height:12px}.gengage-chat-comparison-skeleton-table-cell{border-radius:3px;width:100%;height:14px}.gengage-chat-panel-skeleton-block--row{border-radius:4px;height:32px;margin-bottom:4px}.gengage-chat-panel .gengage-chat-product-card{border-radius:var(--radius-card);border:1px solid var(--border-default);width:100%;min-width:0;max-width:100%;box-shadow:var(--shadow-1);background:var(--surface-card);flex-direction:column;padding:0;display:flex;overflow:hidden}.gengage-chat-panel .gengage-chat-product-card:hover{box-shadow:var(--shadow-2);border-color:var(--border-strong);transform:translateY(-2px)}.gengage-chat-panel .gengage-chat-product-card-img-actions{gap:6px;top:10px;right:10px}.gengage-chat-panel .gengage-chat-product-card-img-actions .gengage-chat-favorite-btn,.gengage-chat-panel .gengage-chat-product-card-img-actions .gengage-chat-find-similar-pill{border-radius:8px;width:28px;height:28px}.gengage-chat-panel .gengage-chat-product-card-discount-badge{border-radius:var(--radius-pill);background:var(--client-primary);min-width:36px;height:36px;color:var(--client-on-primary);box-shadow:var(--shadow-1);justify-content:center;align-items:center;padding:0 5px;font-size:11px;font-weight:700;display:inline-flex;top:10px;left:10px}.gengage-chat-panel .gengage-chat-product-card-brand{display:none}.gengage-chat-panel .gengage-chat-product-grid{grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:12px;min-height:auto;padding:4px 0;display:grid;overflow-x:visible}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-grid.gengage-chat-product-grid--mobile{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-height:auto;padding:6px 0 10px;display:grid;overflow-x:visible}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-grid.gengage-chat-product-grid--mobile .gengage-chat-product-card{box-sizing:border-box;width:100%;min-width:0;max-width:none}.gengage-chat-panel .gengage-chat-product-card-img-wrapper{aspect-ratio:1;background:var(--surface-card-muted);border-radius:var(--radius-card) var(--radius-card) 0 0;flex-shrink:0;width:100%;position:relative;overflow:hidden}.gengage-chat-panel .gengage-chat-product-card-img{border-radius:inherit;object-fit:cover;object-position:center;box-sizing:border-box;background:0 0;width:100%;height:100%;min-height:0;padding:0;display:block}.gengage-chat-panel .gengage-chat-product-card-body{text-align:left;gap:8px;padding:12px 14px 10px}.gengage-chat-panel .gengage-chat-product-card-meta-row{align-items:center;min-height:38px;margin-bottom:0}.gengage-chat-panel .gengage-chat-product-card-price,.gengage-chat-panel .gengage-chat-product-card-price-block{color:var(--text-primary);justify-content:flex-start;font-size:15px;font-weight:600}.gengage-chat-panel .gengage-chat-product-card-current-price{color:var(--gengage-discounted-price-color,var(--text-primary));font-size:15px;font-weight:600}.gengage-chat-panel .gengage-chat-product-card-original-price{color:var(--text-muted);font-size:12px;font-weight:400}.gengage-chat-panel .gengage-chat-product-card-rating-compact{font-size:11px;font-weight:700}.gengage-chat-panel .gengage-chat-product-card-rating-compact-star{color:color-mix(in srgb, var(--warning) 58%, var(--text-primary))}.gengage-chat-panel .gengage-chat-product-card-name{min-height:0;color:var(--text-primary);-webkit-line-clamp:2;line-clamp:2;margin:0 0 2px;font-size:14px;font-weight:600;line-height:1.35}.gengage-chat-panel .gengage-chat-product-card-buy-footer{flex-shrink:0;min-width:0;margin-top:auto;padding:0 14px 16px;display:flex;position:relative}.gengage-chat-panel .gengage-chat-product-card-buy-trigger{box-sizing:border-box;border:1.5px solid var(--client-primary);background:var(--surface-card);width:100%;min-width:0;min-height:42px;color:var(--client-primary);white-space:nowrap;cursor:pointer;border-radius:12px;justify-content:center;align-items:center;margin:0;padding:9px 14px;font-family:inherit;font-size:13px;font-weight:600;line-height:1.2;transition:background .15s,box-shadow .15s;display:flex}.gengage-chat-panel .gengage-chat-product-card-buy-trigger:hover{background:color-mix(in srgb, var(--client-primary) 6%, white);box-shadow:var(--shadow-1)}.gengage-chat-panel .gengage-chat-product-card .gengage-chat-product-card-cta{border:1.5px solid var(--client-primary);background:var(--surface-card);width:calc(100% - 28px);min-width:0;color:var(--client-primary);box-sizing:border-box;border-radius:12px;justify-content:center;align-items:center;min-height:42px;margin:0 14px 16px;padding:9px 14px;font-size:13px;font-weight:600;display:flex}.gengage-chat-panel .gengage-chat-product-card .gengage-chat-product-card-cta:hover{background:color-mix(in srgb, var(--client-primary) 6%, white)}.gengage-chat-product-card--selected{border-color:var(--client-primary);background:color-mix(in srgb, var(--client-primary) 8%, transparent);box-shadow:0 0 0 1px var(--client-primary)}.gengage-chat-panel--visible{min-height:0}.gengage-chat-panel--visible>*{flex-shrink:0}.gengage-chat-load-more-btn{border:1px solid var(--border-default);color:var(--client-primary);cursor:pointer;background:0 0;border-radius:8px;margin:12px auto;padding:8px 24px;font-size:14px;display:block}.gengage-chat-load-more-btn:hover{background:var(--surface-card-muted)}.gengage-chat-product-details-panel{background:var(--surface-card);border:1px solid var(--border-default);box-sizing:border-box;border-radius:16px;flex-direction:column;gap:12px;width:100%;padding:14px;display:flex}.gengage-chat-product-details-media{border:1px solid var(--border-subtle);background:var(--surface-card-muted);border-radius:12px;flex-direction:column;align-items:center;padding:12px;display:flex}.gengage-chat-product-details-img{object-fit:contain;border-radius:8px;width:100%;height:auto;max-height:300px}.gengage-chat-product-details-content{flex-direction:column;gap:8px;min-width:0;display:flex}.gengage-chat-product-details-title{color:var(--text-primary);margin:0;font-size:17px;font-weight:700;line-height:1.3}.gengage-chat-product-details-rating{background:color-mix(in srgb, var(--warning) 10%, white);width:fit-content;color:color-mix(in srgb, var(--warning) 72%, var(--text-primary));border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:13px;font-weight:700;display:inline-flex}.gengage-chat-product-details-review-count{color:color-mix(in srgb, var(--warning) 84%, var(--text-primary));font-weight:600}.gengage-chat-product-details-price{align-items:baseline;gap:6px;display:flex}.gengage-chat-product-details-original-price{color:var(--text-secondary);font-size:14px;text-decoration:line-through}.gengage-chat-product-details-price-stack{flex-direction:column;align-items:flex-start;gap:2px;width:100%;display:flex}.gengage-chat-product-details-price-stack .gengage-chat-campaign-reason{margin-bottom:2px;font-size:13px;font-weight:600}.gengage-chat-product-details-price--inline{flex-wrap:nowrap;align-items:baseline}.gengage-chat-product-details-price--inline .gengage-chat-product-details-price-sep{background:var(--border-subtle);flex-shrink:0;align-self:center;width:1px;height:1em;margin:0 4px;display:inline-block}.gengage-chat-product-details-price--inline .gengage-chat-product-details-original-price{color:var(--text-secondary);order:0;font-size:22px;font-weight:500;text-decoration:none}.gengage-chat-product-details-price--inline .gengage-chat-product-details-current-price{color:var(--gengage-discounted-price-color,var(--text-primary));order:0;font-size:22px;font-weight:800}.gengage-chat-product-details-current-price{color:var(--gengage-discounted-price-color,var(--text-primary));font-size:22px;font-weight:800;line-height:1.1}.gengage-chat-product-details-stock{border-radius:999px;width:fit-content;padding:4px 10px;font-size:12px;font-weight:700}.gengage-chat-product-details-stock.is-in-stock{background:color-mix(in srgb, var(--success) 12%, white);color:color-mix(in srgb, var(--success) 82%, var(--text-primary))}.gengage-chat-product-details-stock.is-out-of-stock{background:color-mix(in srgb, var(--error) 10%, white);color:color-mix(in srgb, var(--error) 82%, var(--text-primary))}.gengage-chat-product-details-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.gengage-chat-product-details-cta{border-radius:var(--radius-control,12px);border:1px solid var(--ds-button-primary-border);background:var(--ds-button-primary-bg);min-height:40px;color:var(--ds-button-primary-fg);cursor:pointer;justify-content:center;align-items:center;padding:0 20px;font-size:14px;font-weight:700;text-decoration:none;transition:filter .14s,transform .12s;display:inline-flex}.gengage-chat-product-details-cta:hover{background:var(--ds-button-primary-bg-hover)}.gengage-chat-product-details-cta:active{background:var(--ds-button-primary-bg-active)}.gengage-chat-product-details-atc{border-radius:var(--radius-control);background:var(--_gengage-success-color);color:var(--client-on-primary);cursor:pointer;border:none;justify-content:center;align-items:center;gap:6px;padding:10px 20px;font-family:inherit;font-size:14px;font-weight:700;transition:filter .12s,transform .12s;display:inline-flex}.gengage-chat-product-details-atc:hover{filter:brightness(1.08);transform:translateY(-1px)}.gengage-chat-product-details-atc:active{transform:translateY(1px)}.gengage-chat-product-detail-tabs{border-top:1px solid var(--border-default);margin-top:4px;padding-top:12px}.gengage-chat-product-detail-tab-bar{border-bottom:1px solid var(--border-default);gap:6px;margin-bottom:12px;padding-bottom:8px;display:flex}.gengage-chat-product-detail-tab{border:1px solid var(--border-default);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;flex:1;padding:8px 12px;font-family:inherit;font-size:13px;font-weight:600;transition:color .15s,border-color .15s,background .15s}.gengage-chat-product-detail-tab:hover{color:var(--text-primary);background:color-mix(in srgb, var(--surface-card-soft) 82%, transparent)}.gengage-chat-product-detail-tab--active{color:var(--client-primary);border-color:color-mix(in srgb, var(--client-primary) 26%, var(--border-default));background:color-mix(in srgb, var(--client-primary) 8%, white)}.gengage-chat-product-detail-tab-panel{color:var(--text-secondary);font-size:13px;line-height:1.6}.gengage-chat-product-description{color:var(--text-primary);flex-direction:column;gap:10px;display:flex}.gengage-chat-product-description p,.gengage-chat-product-description h2,.gengage-chat-product-description h3,.gengage-chat-product-description h4,.gengage-chat-product-description ul,.gengage-chat-product-description ol{margin:0}.gengage-chat-product-description h2,.gengage-chat-product-description h3,.gengage-chat-product-description h4{color:var(--text-primary);font-size:15px;font-weight:800;line-height:1.35}.gengage-chat-product-description ul,.gengage-chat-product-description ol{padding-left:20px}.gengage-chat-product-description li+li{margin-top:6px}.gengage-chat-product-description strong,.gengage-chat-product-description b{font-weight:800}.gengage-chat-product-specs-table{border-collapse:collapse;width:100%;font-size:13px}.gengage-chat-product-specs-table tr:nth-child(2n){background:var(--surface-card-muted)}.gengage-chat-product-specs-key{color:var(--text-secondary);white-space:nowrap;border-bottom:1px solid var(--border-subtle);width:40%;padding:6px 10px;font-weight:600}.gengage-chat-product-specs-value{color:var(--text-primary);border-bottom:1px solid var(--border-subtle);padding:6px 10px}.gengage-chat-product-card-atc{opacity:0;z-index:1;transition:opacity .15s;position:absolute;bottom:42px;right:6px}.gengage-chat-product-card:hover .gengage-chat-product-card-atc{opacity:1}@media (hover:none),(pointer:coarse){.gengage-chat-product-card-atc{opacity:1;width:100%;margin:0;display:flex;position:relative;bottom:auto;right:auto}}.gengage-chat-drawer.gengage-chat-drawer--hidden{opacity:0;pointer-events:none;box-shadow:none;visibility:hidden;transform:translate(100%)}.gengage-chat-root--mobile .gengage-chat-drawer.gengage-chat-drawer--hidden{opacity:0;pointer-events:none;box-shadow:none;visibility:hidden;transform:translateY(100%)}@media (width<=900px){.gengage-chat-drawer--with-panel .gengage-chat-panel--visible{width:clamp(280px, calc(100vw - var(--_gengage-chat-conversation-width)), 560px);max-width:560px}}.gengage-chat-attachment-preview{background:var(--surface-card-muted);border:1px solid var(--border-default);box-sizing:border-box;border-radius:8px;align-items:center;gap:8px;width:100%;padding:6px 10px;display:flex}.gengage-chat-attachment-preview--hidden{display:none}.gengage-chat-attachment-preview-thumb{object-fit:cover;border-radius:4px;flex-shrink:0;width:40px;height:40px}.gengage-chat-attachment-name{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.gengage-chat-attachment-remove{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;flex-shrink:0;padding:0 4px;font-size:18px;line-height:1}.gengage-chat-attachment-remove:hover{color:var(--error)}.gengage-chat-attach-btn{background:var(--surface-card-soft);border:1px solid var(--border-default);cursor:pointer;width:40px;height:40px;color:var(--text-primary);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:1;transition:color .15s,background .15s,border-color .15s;display:flex}.gengage-chat-attach-btn:hover{color:var(--client-primary);background:var(--client-primary-subtle);border-color:color-mix(in srgb, var(--client-primary) 18%, white)}.gengage-chat-attach-btn svg{width:20px;height:20px}.gengage-chat-attach-wrap{flex-shrink:0;align-items:center;display:flex;position:relative}.gengage-chat-attach-menu{z-index:50;background:var(--surface-elevated);border:1px solid var(--border-default);border-radius:var(--radius-card);min-width:196px;box-shadow:var(--shadow-3);margin:0;padding:4px 0;list-style:none;position:absolute;bottom:calc(100% + 8px);left:0}.gengage-chat-attach-menu[hidden]{display:none!important}.gengage-chat-attach-menu-item{cursor:pointer;width:100%;color:var(--text-primary);text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:10px 14px;font-family:inherit;font-size:14px;font-weight:500;transition:background .12s;display:flex}.gengage-chat-attach-menu-item:hover{background:var(--surface-card-muted)}.gengage-chat-attach-menu-icon{color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.gengage-chat-attach-menu-label{flex:1;min-width:0}.gengage-chat-attach-menu-sep{background:var(--border-default);height:1px;margin:4px 10px}.gengage-chat-mic-btn{cursor:pointer;border-radius:var(--radius-control);width:32px;height:32px;color:var(--text-secondary);background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:1;transition:color .15s,background .15s;display:flex}.gengage-chat-mic-btn:hover{color:var(--text-primary);background:var(--surface-card-muted);border-color:var(--border-default)}.gengage-chat-mic-btn svg{width:20px;height:20px}.gengage-chat-mic-btn--active{color:var(--error);animation:1.2s ease-in-out infinite gengage-mic-pulse}.gengage-chat-mic-btn--active:hover{color:color-mix(in srgb, var(--error) 84%, black)}@keyframes gengage-mic-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.15)}}.gengage-chat-input-area--dragover{outline:2px dashed var(--client-primary);outline-offset:-2px;background:color-mix(in srgb, var(--client-primary) 8%, white)}.gengage-chat-attachment-thumb{border-radius:8px;width:120px;max-width:100%;height:auto;margin-bottom:6px;display:block}.gengage-chat-root--mobile .gengage-chat-header-btn,.gengage-chat-root--mobile .gengage-chat-close{border-radius:12px;width:44px;height:44px}.gengage-chat-root--mobile .gengage-chat-attach-btn,.gengage-chat-root--mobile .gengage-chat-mic-btn,.gengage-chat-root--mobile .gengage-chat-send{width:44px;min-width:44px;height:44px}.gengage-chat-root--mobile .gengage-chat-attach-btn svg,.gengage-chat-root--mobile .gengage-chat-mic-btn svg{width:22px;height:22px}.gengage-chat-root--mobile .gengage-chat-panel-divider{cursor:ns-resize;touch-action:pan-y;background:0 0;justify-content:center;align-items:center;width:100%;height:20px;display:flex;position:relative;overflow:visible}.gengage-chat-root--mobile .gengage-chat-panel-divider--hidden{display:none}.gengage-chat-root--mobile .gengage-chat-drawer--with-panel{border-radius:0;width:100%;left:0;right:0}.gengage-chat-root--mobile .gengage-chat-panel{z-index:10;width:100%;min-width:0;max-width:none;max-height:none;box-shadow:none;background:var(--gengage-chat-panel-bg,var(--surface-card));pointer-events:none;border:none;border-radius:0;flex-direction:column;padding:0 12px 16px;transition:transform .32s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;inset:0;overflow-y:auto;transform:translate(100%)}.gengage-chat-root--mobile .gengage-chat-panel--visible{pointer-events:auto;transform:translate(0)}.gengage-chat-root--mobile .gengage-chat-panel-divider,.gengage-chat-root--mobile .gengage-chat-drawer--with-panel .gengage-chat-panel-divider{display:none}.gengage-chat-root--mobile .gengage-chat-drawer--with-panel .gengage-chat-body{flex-direction:row}.gengage-chat-root--mobile .gengage-chat-drawer--with-panel .gengage-chat-conversation{border-left:none;flex:1;width:100%}.gengage-chat-root--mobile .gengage-chat-product-details-share{width:44px;height:44px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-buy-footer,.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-cta{box-sizing:border-box;width:100%;max-width:100%}.gengage-chat-root--mobile .gengage-chat-product-details-panel{gap:8px;padding:10px}.gengage-chat-root--mobile .gengage-chat-product-details-media{min-height:0;padding:8px}.gengage-chat-root--mobile .gengage-chat-product-details-content{gap:6px}.gengage-chat-root--mobile .gengage-chat-product-details-title{font-size:14px;line-height:1.25}.gengage-chat-root--mobile .gengage-chat-product-details-rating{padding:2px 6px;font-size:12px}.gengage-chat-root--mobile .gengage-chat-product-details-original-price{font-size:12px}.gengage-chat-root--mobile .gengage-chat-product-details-current-price,.gengage-chat-root--mobile .gengage-chat-product-details-price--inline .gengage-chat-product-details-original-price,.gengage-chat-root--mobile .gengage-chat-product-details-price--inline .gengage-chat-product-details-current-price{font-size:18px}.gengage-chat-root--mobile .gengage-chat-product-details-actions{gap:6px;margin-top:2px}.gengage-chat-root--mobile .gengage-chat-product-details-cta{min-height:38px;padding:0 14px;font-size:13px}.gengage-chat-root--mobile .gengage-chat-product-grid:not(.gengage-chat-product-grid--mobile){scroll-snap-type:x mandatory}.gengage-chat-root--mobile .gengage-chat-product-grid.gengage-chat-product-grid--mobile{scroll-snap-type:none}.gengage-chat-root--mobile .gengage-chat-product-card{box-sizing:border-box;scroll-snap-align:center;width:280px;min-width:280px;max-width:100%}.gengage-chat-root--mobile .gengage-chat-product-grid--mobile .gengage-chat-product-card{scroll-snap-align:start;width:100%;min-width:0;max-width:none}.gengage-chat-root--mobile .gengage-chat-product-card-img-wrapper{justify-content:center;align-items:center;min-height:0;display:flex}.gengage-chat-root--mobile .gengage-chat-product-card-img{object-fit:contain;object-position:center;width:auto;max-width:100%;height:auto;min-height:0;max-height:180px;display:block}.gengage-chat-root--mobile .gengage-chat-product-card-discount-badge{padding:2px 6px;font-size:10px;font-weight:700;line-height:1.2}.gengage-chat-root--mobile .gengage-chat-drawer{border-radius:0;width:100%;max-height:100%;position:fixed;inset:0}.gengage-chat-root--mobile .gengage-chat-bubble{max-width:100%}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-img-wrapper{aspect-ratio:1;justify-content:center;align-items:center;min-height:0;display:flex}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-img{object-fit:contain;object-position:center;width:auto;max-width:100%;height:auto;min-height:0;max-height:min(200px,72%)}.gengage-chat-root--mobile .gengage-chat-product-card-img-actions .gengage-chat-favorite-btn,.gengage-chat-root--mobile .gengage-chat-product-card-img-actions .gengage-chat-find-similar-pill{flex-shrink:0;width:28px;min-width:28px;height:28px;min-height:28px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-discount-badge{min-width:28px;height:28px;padding:0 6px;font-size:10px;font-weight:700}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-buy-footer{padding:0 12px 14px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-buy-trigger{box-sizing:border-box;white-space:normal;text-align:center;-webkit-hyphens:auto;hyphens:auto;min-width:0;max-width:100%;line-height:1.25}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card .gengage-chat-product-card-cta{box-sizing:border-box;white-space:normal;width:calc(100% - 24px);min-width:0;max-width:calc(100% - 24px);margin-left:12px;margin-right:12px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-rating-compact{gap:3px;padding:2px 6px;font-size:10px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-stock{padding:2px 5px;font-size:10px}.gengage-chat-root--mobile .gengage-chat-messages{scrollbar-width:none;padding:12px 16px}.gengage-chat-root--mobile .gengage-chat-messages::-webkit-scrollbar{display:none}.gengage-chat-root--mobile .gengage-chat-drawer{border-top:none}.gengage-chat-root--mobile .gengage-chat-header{border-radius:16px 16px 0 0;min-height:72px;padding-top:22px;padding-bottom:8px}.gengage-chat-root--mobile.gengage-chat-root--mobile-full .gengage-chat-header{border-radius:0}.gengage-chat-root--mobile .gengage-chat-conversation{-webkit-overflow-scrolling:touch;min-height:0;overflow-y:auto}.gengage-chat-root--mobile .gengage-chat-product-details-img{object-fit:contain;min-height:0;max-height:200px}.gengage-chat-root--mobile .gengage-chat-product-details-actions{flex-wrap:wrap;gap:8px}.gengage-chat-root--mobile .gengage-chat-product-details-promos{flex-wrap:wrap;gap:4px}.gengage-chat-root--mobile .gengage-chat-input::placeholder{font-size:13px}.gengage-chat-kvkk-banner{background:color-mix(in srgb, var(--warning) 10%, white);border-bottom:1px solid color-mix(in srgb, var(--warning) 24%, var(--border-default));color:color-mix(in srgb, var(--warning) 72%, var(--text-primary));align-items:flex-start;gap:8px;padding:10px 14px;font-size:12px;line-height:1.5;display:flex}.gengage-chat-kvkk-content{flex:1;min-width:0}.gengage-chat-kvkk-content a{color:color-mix(in srgb, var(--warning) 82%, var(--text-primary));text-decoration:underline}.gengage-chat-kvkk-dismiss{width:20px;height:20px;color:color-mix(in srgb, var(--warning) 84%, var(--text-primary));cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:18px;line-height:1}.gengage-chat-comparison{box-sizing:border-box;flex-direction:column;gap:12px;padding:16px;display:flex}.gengage-chat-comparison-heading{letter-spacing:.05em;color:var(--text-primary);margin:0 0 16px;font-size:14px;font-weight:700}.gengage-chat-comparison-recommended{border:1px solid color-mix(in srgb, var(--client-primary) 18%, var(--border-default));border-radius:var(--radius-card);background:var(--surface-card);box-shadow:var(--shadow-1);padding:16px}.gengage-chat-comparison-recommended-label{color:var(--client-primary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:12px;font-size:12px;font-weight:700}.gengage-chat-comparison-recommended-body{grid-template-columns:minmax(108px,148px) minmax(0,1fr);align-items:flex-start;gap:16px;display:grid}.gengage-chat-comparison-recommended-media{aspect-ratio:1;border:1px solid var(--border-subtle);background:var(--surface-card);border-radius:14px;justify-content:center;align-items:center;display:flex;overflow:hidden}.gengage-chat-comparison-recommended-body img,.gengage-chat-comparison-recommended-placeholder{object-fit:contain;box-sizing:border-box;width:100%;height:100%;padding:8px}.gengage-chat-comparison-recommended-placeholder{background:var(--surface-card-muted)}.gengage-chat-comparison-recommended-info{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.gengage-chat-comparison-recommended-title{color:var(--text-primary);margin:0;font-size:24px;font-weight:800;line-height:1.2}.gengage-chat-comparison-recommended-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.gengage-chat-comparison-recommended-rating{border:1px solid var(--border-subtle);background:var(--surface-card-muted);color:color-mix(in srgb, var(--warning) 78%, var(--text-primary));border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:700;display:inline-flex}.gengage-chat-comparison-recommended-rating-value{color:var(--text-primary)}.gengage-chat-comparison-recommended-price{color:var(--text-primary);font-size:20px;font-weight:700}.gengage-chat-comparison-highlights{border-top:1px solid var(--border-subtle);padding-top:12px}.gengage-chat-comparison-highlights-label{color:var(--text-secondary);margin-bottom:6px;font-size:12px;font-weight:600}.gengage-chat-comparison-highlights ul{color:var(--text-primary);margin:0;padding-left:18px;font-size:14px;line-height:1.55}.gengage-chat-comparison-special{background:color-mix(in srgb, var(--warning) 10%, white);border:1px solid color-mix(in srgb, var(--warning) 24%, var(--border-default));border-radius:var(--radius-card);color:color-mix(in srgb, var(--warning) 72%, var(--text-primary));margin-bottom:12px;padding:12px 16px;font-size:13px}.gengage-chat-comparison-special summary{cursor:pointer;font-weight:600}.gengage-chat-comparison-special ul{margin:8px 0 0;padding-left:18px;line-height:1.6}.gengage-chat-comparison-table{border-collapse:collapse;background:var(--surface-card);width:100%;font-size:13px}.gengage-chat-comparison-table th,.gengage-chat-comparison-table td{text-align:center;border-bottom:1px solid var(--border-subtle);vertical-align:top;padding:10px 12px}.gengage-chat-comparison-table th{color:var(--text-secondary);font-size:12px;font-weight:600}.gengage-chat-comparison-table thead th:not(:first-child){vertical-align:top}.gengage-chat-comparison-table-header-cell{box-sizing:border-box;grid-template-rows:auto 1fr auto;place-items:start center;gap:6px;height:100%;min-height:0;display:grid}.gengage-chat-comparison-table-header-cell--clickable{cursor:pointer;border-radius:var(--radius-control);padding:6px;transition:background .16s,box-shadow .16s,transform .16s}.gengage-chat-comparison-table-header-cell--clickable:hover{background:var(--surface-card-soft);box-shadow:var(--shadow-1);transform:translateY(-1px)}.gengage-chat-comparison-table-header-cell--clickable:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:2px}.gengage-chat-comparison-table-header-cell img{object-fit:contain;border-radius:calc(var(--radius-control) - 4px);background:var(--surface-card-muted);width:60px;height:60px}.gengage-chat-comparison-table-header-img-placeholder{border-radius:calc(var(--radius-control) - 4px);background:var(--surface-card-muted);width:60px;height:60px}.gengage-chat-comparison-table-product-name{width:100%;min-width:0;color:var(--text-secondary);text-align:center;-webkit-line-clamp:2;line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;align-self:start;font-size:12px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.gengage-chat-comparison-table-price{color:var(--text-primary);text-align:center;width:100%;font-weight:700}.gengage-chat-comparison-label{text-align:left;color:var(--text-secondary);white-space:nowrap;font-weight:600}.gengage-chat-comparison-selected{background:color-mix(in srgb, var(--client-primary) 6%, white)}.gengage-chat-comparison-recommended-text{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.6}.gengage-chat-comparison-key-differences{border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-card-muted)}.gengage-chat-comparison-key-differences-summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;font-weight:700;list-style:none;display:flex}.gengage-chat-comparison-key-differences-summary::-webkit-details-marker{display:none}.gengage-chat-comparison-key-differences-summary-label{color:var(--text-primary)}.gengage-chat-comparison-key-differences-summary-meta{color:var(--client-primary);font-size:13px;font-weight:700}.gengage-chat-comparison-key-differences[open] .gengage-chat-comparison-key-differences-summary-meta{opacity:0}.gengage-chat-comparison-key-differences-content{color:var(--text-primary);padding:0 16px 16px;font-size:14px;line-height:1.7}.gengage-chat-comparison-key-differences-content ul,.gengage-chat-comparison-key-differences-content ol{margin:0;padding-left:20px}.gengage-chat-comparison-key-differences-content li+li{margin-top:8px}@media (width<=960px){.gengage-chat-comparison-recommended-body{grid-template-columns:1fr}.gengage-chat-comparison-recommended-title{font-size:20px}}.gengage-chat-pills{border-top:1px solid var(--border-subtle);background:var(--surface-card);padding:8px 12px 6px;position:relative}.gengage-chat-pills-scroll{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:8px;padding-right:28px;display:flex;overflow-x:auto}.gengage-chat-pills-scroll::-webkit-scrollbar{display:none}.gengage-chat-root--mobile .gengage-chat-pills-scroll{flex-wrap:wrap;gap:6px}.gengage-chat-root--mobile .gengage-chat-pill{white-space:normal;max-width:100%}.gengage-chat-pill{border:1px solid var(--ds-chip-border-active);background:var(--ds-chip-bg-active);color:var(--ds-chip-fg-active);white-space:nowrap;cursor:pointer;border-radius:999px;flex:none;padding:10px 14px;font-family:inherit;font-size:13px;font-weight:700;transition:background .15s,border-color .15s,color .15s}.gengage-chat-pill:hover{background:color-mix(in srgb, var(--client-primary) 12%, white);border-color:color-mix(in srgb, var(--client-primary) 36%, white)}.gengage-chat-pill:active{transform:none}.gengage-chat-pill--rich{border-radius:18px;align-items:center;gap:10px;padding:8px 14px 8px 8px;display:flex}.gengage-chat-pill-img{object-fit:cover;background:var(--surface-card);border-radius:12px;flex-shrink:0;width:32px;height:32px}.gengage-chat-pill-text{font-size:13px;font-weight:600;line-height:1.2}.gengage-chat-pill-desc{display:none}.gengage-chat-pill--rich .gengage-chat-pill-desc{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:160px;font-size:11px;font-weight:500;display:block;overflow:hidden}.gengage-chat-pills-arrow{border:1px solid var(--border-default);background:var(--surface-card);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;box-shadow:var(--shadow-1);z-index:1;border-radius:12px;justify-content:center;align-items:center;font-size:16px;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.gengage-chat-pills-arrow:hover{background:var(--surface-card-soft);color:var(--client-primary)}@media (prefers-reduced-motion:reduce){.gengage-chat-uispec>*,.gengage-chat-action-btn,.gengage-chat-product-card,.gengage-chat-product-card-cta,.gengage-chat-send,.gengage-chat-launcher,.gengage-chat-pill,.gengage-chat-drawer,.gengage-chat-typing-dots span,.gengage-chat-thinking-step-marker--active,.gengage-chat-bubble,.gengage-chat-panel-skeleton-block,.gengage-chat-ai-toppick-card,.gengage-chat-mic-btn--active,.gengage-chat-ai-toppick-spinner:after,.gengage-skeleton-card,.gengage-skeleton-line,.gengage-skeleton-img,.gengage-skeleton-text,.gengage-skeleton-price,.gengage-chat-cart-toast,.gengage-chat-header-btn--cart-flash{transition:none!important;animation:none!important;transform:none!important}}.gengage-chat-bubble--user{position:relative}.gengage-chat-rollback-btn{border-radius:var(--radius-pill);background:var(--surface-card-muted);width:24px;height:24px;color:var(--text-secondary);cursor:pointer;opacity:0;border:none;justify-content:center;align-items:center;padding:0;transition:opacity .15s;display:flex;position:absolute;top:50%;left:-28px;transform:translateY(-50%)}.gengage-chat-bubble--user:hover .gengage-chat-rollback-btn{opacity:1}.gengage-chat-rollback-btn:hover{background:var(--client-primary);color:var(--client-on-primary)}.gengage-chat-bubble--hidden{display:none}.gengage-chat-ai-top-picks{flex-direction:column;gap:12px;padding:8px 0;scroll-margin-top:60px;display:flex}.gengage-chat-ai-top-picks-title{color:var(--text-primary);margin:0 0 4px;font-size:15px;font-weight:600}.gengage-chat-ai-top-picks-scroll{flex-direction:column;gap:10px;min-width:0;display:flex}.gengage-chat-ai-top-picks-rest,.gengage-chat-ai-toppick-top-row{display:contents}.gengage-chat-ai-toppick-detail{width:100%;min-width:0}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks{gap:0;padding-top:4px}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-title{flex-shrink:0;width:100%;margin:0 0 10px;font-size:18px;font-weight:700;line-height:1.2}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll{scrollbar-width:none;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(0,auto);align-items:stretch;gap:12px;margin:0;padding:12px 0;display:grid;overflow:visible}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner,.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact{flex:initial;scroll-snap-align:none;width:100%;min-width:0;max-width:none}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child{grid-column:1/-1;grid-template-rows:auto auto;grid-template-columns:minmax(260px,340px) minmax(0,1fr);align-items:start;gap:12px 18px;display:grid}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child:has(.gengage-chat-ai-toppick-detail){grid-template-rows:auto auto auto}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact{flex-direction:column;align-items:stretch}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-media,.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-media{max-height:140px}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child .gengage-chat-ai-toppick-media{aspect-ratio:4/3;grid-area:1/1/span 2;max-height:260px}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child:has(.gengage-chat-ai-toppick-detail) .gengage-chat-ai-toppick-media{grid-row:1/span 3}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child .gengage-chat-ai-toppick-detail{grid-area:2/2;min-width:0;padding-top:0}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-img,.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-img{object-fit:contain;flex-shrink:0;width:100%;height:100%;max-height:140px}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child .gengage-chat-ai-toppick-img{max-height:260px}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-body,.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-body{flex:1;min-height:0;padding:0}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child .gengage-chat-ai-toppick-body{grid-area:1/2;padding-top:6px}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child:has(.gengage-chat-ai-toppick-detail) .gengage-chat-ai-toppick-cta{grid-row:3}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-cta{border:1px solid var(--ds-button-secondary-border);background:var(--ds-button-secondary-bg);width:calc(100% - 24px);color:var(--ds-button-secondary-fg);align-self:stretch;margin:14px 12px 12px}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-cta{border:1px solid var(--ds-button-secondary-border);background:var(--ds-button-secondary-bg);width:auto;min-width:180px;color:var(--ds-button-secondary-fg);grid-area:2/2;place-self:end start;margin:0}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-cta:hover,.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-cta:hover{background:var(--ds-button-secondary-bg-hover);filter:none}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner{border-color:color-mix(in srgb, var(--client-primary) 26%, var(--border-default));box-shadow:var(--shadow-2)}.gengage-chat-ai-toppick-rating{border:1px solid var(--border-subtle);background:var(--surface-card-muted);color:var(--text-secondary);border-radius:999px;align-self:flex-start;align-items:center;gap:5px;margin-top:4px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.gengage-chat-ai-toppick-rating-icon{color:color-mix(in srgb, var(--warning) 60%, var(--text-primary));justify-content:center;align-items:center;line-height:0;display:inline-flex}.gengage-chat-ai-toppick-rating-value{color:var(--text-primary)}.gengage-chat-ai-toppick-media .gengage-chat-ai-toppick-discount-badge{background:var(--client-primary);color:var(--client-on-primary);z-index:1;border-radius:999px;padding:2px 6px;font-size:9px;font-weight:800;line-height:1.2;position:absolute;top:4px;left:4px;right:auto}.gengage-chat-ai-toppick-card--winner,.gengage-chat-ai-toppick-card--compact{box-sizing:border-box;border-radius:var(--radius-card);background:var(--surface-card);flex-direction:column;align-items:stretch;padding:12px;transition:box-shadow .2s,background .15s,transform .15s;display:flex;position:relative;overflow:visible}.gengage-chat-ai-toppick-card--winner{border:1.5px solid color-mix(in srgb, var(--client-primary) 24%, var(--border-default))}.gengage-chat-ai-toppick-card--winner:hover{background:var(--surface-card-muted);box-shadow:var(--shadow-2)}.gengage-chat-ai-toppick-card--compact{border:1px solid var(--border-default)}.gengage-chat-ai-toppick-card--compact:hover{background:var(--surface-card-muted);box-shadow:var(--shadow-1);transform:translateY(-1px)}.gengage-chat-ai-toppick-badge{z-index:2;box-sizing:border-box;text-transform:uppercase;letter-spacing:.05em;pointer-events:none;white-space:normal;border-radius:999px;max-width:calc(100% - 24px);padding:2px 10px;font-size:10px;font-weight:700;line-height:1.25;position:absolute;top:-10px;left:12px}.gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-badge{background:var(--client-primary);color:var(--client-on-primary)}.gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-badge{background:var(--surface-card-muted);color:var(--text-secondary)}.gengage-chat-ai-toppick-media{aspect-ratio:1;border:1px solid var(--border-subtle);background:var(--surface-card);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:100%;margin-top:4px;margin-bottom:8px;display:flex;position:relative;overflow:hidden}.gengage-chat-ai-toppick-img{object-fit:contain;box-sizing:border-box;width:auto;max-width:100%;height:auto;max-height:100%;padding:4px}.gengage-chat-ai-toppick-body{flex-direction:column;flex:1;gap:0;min-width:0;padding:0;display:flex}.gengage-chat-ai-toppick-name{color:var(--text-primary);text-overflow:ellipsis;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin-bottom:4px;font-size:14px;font-weight:700;line-height:1.375;display:-webkit-box;overflow:hidden}.gengage-chat-ai-toppick-role{color:var(--client-primary);text-transform:uppercase;letter-spacing:.3px;font-size:11px;font-weight:600}.gengage-chat-ai-toppick-labels{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.gengage-chat-ai-toppick-label{border-radius:999px;padding:4px 8px;font-size:10px;font-weight:700}.gengage-chat-ai-toppick-label[data-sentiment=positive]{background:color-mix(in srgb, var(--success) 12%, white);color:color-mix(in srgb, var(--success) 82%, var(--text-primary))}.gengage-chat-ai-toppick-label[data-sentiment=negative]{background:color-mix(in srgb, var(--error) 10%, white);color:color-mix(in srgb, var(--error) 82%, var(--text-primary))}.gengage-chat-ai-toppick-label[data-sentiment=neutral]{background:var(--surface-card-muted);color:var(--text-secondary)}.gengage-chat-ai-toppick-reason{color:var(--text-secondary);margin:10px 0 0;font-size:13px;line-height:1.5}.gengage-chat-ai-toppick-review{border:1px solid var(--border-subtle);background:var(--surface-card-muted);color:var(--text-primary);border-radius:14px;margin-top:10px;padding:10px 12px;font-size:12px;line-height:1.45}.gengage-chat-ai-toppick-snippet{color:var(--text-secondary);margin:8px 0 0;font-size:12px;line-height:1.45}.gengage-chat-ai-toppick-price{color:var(--text-primary);margin-top:4px;font-size:14px;font-weight:700}.gengage-chat-ai-toppick-price-current{color:var(--gengage-discounted-price-color,var(--text-primary))}.gengage-chat-ai-toppick-original-price{color:var(--text-secondary);font-size:12px;font-weight:400;text-decoration:line-through}.gengage-chat-ai-toppick-price-stack{flex-direction:column;align-items:flex-start;gap:2px;margin-top:4px;display:flex}.gengage-chat-ai-toppick-price-stack .gengage-chat-campaign-reason{font-size:11px;font-weight:700}.gengage-chat-campaign-price-badge{box-sizing:border-box;border-radius:var(--radius-control,10px);background-image:linear-gradient(var(--gengage-campaign-price-badge-fill,#fff) 0 0), linear-gradient(135deg, var(--_gengage-campaign-reason-start), var(--_gengage-campaign-reason-end));background-origin:border-box;background-clip:padding-box,border-box;border:1px solid #0000;flex-direction:row;align-items:center;gap:10px;max-width:100%;padding:10px 12px;display:inline-flex}.gengage-chat-campaign-price-badge__logo{flex-shrink:0;justify-content:center;align-items:center;display:flex}.gengage-chat-campaign-price-badge__logo img{object-fit:contain;width:auto;max-width:72px;height:auto;max-height:32px;display:block}.gengage-chat-campaign-price-badge__body{flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;min-width:0;display:flex}.gengage-chat-campaign-price-badge__reason{letter-spacing:.02em;background:linear-gradient(90deg, var(--_gengage-campaign-reason-start), var(--_gengage-campaign-reason-end));color:#0000;-webkit-background-clip:text;background-clip:text;max-width:100%;margin:0;font-size:12px;font-weight:700;line-height:1.25}.gengage-chat-campaign-price-badge__sale{color:var(--gengage-discounted-price-color,var(--text-primary));font-size:17px;font-weight:800;line-height:1.15}.gengage-chat-product-card-price-row .gengage-chat-campaign-price-badge__sale{font-size:16px}.gengage-chat-product-summary__price .gengage-chat-campaign-price-badge__sale{font-size:15px}.gengage-chat-product-details-price .gengage-chat-campaign-price-badge{border-radius:var(--radius-control,12px);padding:12px 14px}.gengage-chat-product-details-price .gengage-chat-campaign-price-badge__reason{font-size:13px}.gengage-chat-product-details-price .gengage-chat-campaign-price-badge__sale{font-size:22px}:is(.gengage-chat-ai-toppick-price--inline:has(.gengage-chat-campaign-price-badge),.gengage-chat-product-card-price-row:has(.gengage-chat-campaign-price-badge),.gengage-chat-product-summary__price--inline:has(.gengage-chat-campaign-price-badge),.gengage-chat-product-details-price--inline:has(.gengage-chat-campaign-price-badge)){align-items:last baseline}:is(.gengage-chat-ai-toppick-price--inline:has(.gengage-chat-campaign-price-badge) .gengage-chat-ai-toppick-price-sep,.gengage-chat-product-card-price-row:has(.gengage-chat-campaign-price-badge) .gengage-chat-product-card-price-sep,.gengage-chat-product-summary__price--inline:has(.gengage-chat-campaign-price-badge) .gengage-chat-product-summary__price-sep,.gengage-chat-product-details-price--inline:has(.gengage-chat-campaign-price-badge) .gengage-chat-product-details-price-sep){align-self:last baseline}.gengage-chat-ai-toppick-price--inline{flex-flow:wrap;align-items:baseline;gap:0 6px;display:flex}.gengage-chat-ai-toppick-price-sep{background:var(--border-subtle);flex-shrink:0;align-self:center;width:1px;height:.85em;margin:0 1px;display:inline-block}.gengage-chat-ai-toppick-price--inline .gengage-chat-ai-toppick-original-price{font-size:14px;font-weight:500;text-decoration:none}.gengage-chat-ai-toppick-price--inline .gengage-chat-ai-toppick-price-current{color:var(--gengage-discounted-price-color,var(--text-primary));font-size:14px;font-weight:800}.gengage-chat-ai-toppick-cta{border:1px solid var(--ds-button-primary-border);border-radius:var(--radius-control,12px);background:var(--ds-button-primary-bg);width:calc(100% - 24px);color:var(--ds-button-primary-fg);cursor:pointer;text-align:center;box-sizing:border-box;opacity:0;pointer-events:none;flex-shrink:0;align-self:stretch;margin:14px 12px 12px;padding:8px 0;font-size:13px;font-weight:700;transition:opacity .18s,transform .18s,background .15s;display:block;transform:translateY(6px)}.gengage-chat-ai-toppick-card--winner:hover .gengage-chat-ai-toppick-cta,.gengage-chat-ai-toppick-card--compact:hover .gengage-chat-ai-toppick-cta,.gengage-chat-ai-toppick-card--winner:focus-within .gengage-chat-ai-toppick-cta,.gengage-chat-ai-toppick-card--compact:focus-within .gengage-chat-ai-toppick-cta{opacity:1;pointer-events:auto;transform:translateY(0)}.gengage-chat-ai-toppick-cta:hover{background:var(--ds-button-primary-bg-hover)}.gengage-chat-ai-toppick-spinner{background:color-mix(in srgb, var(--surface-card) 78%, transparent);z-index:6;border-radius:12px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.gengage-chat-ai-toppick-spinner:after{content:"";border:3px solid var(--border-default);border-top-color:var(--ai-accent-start);border-radius:50%;width:24px;height:24px;animation:.7s linear infinite gengage-spin}@keyframes gengage-spin{to{transform:rotate(360deg)}}.gengage-chat-root--mobile .gengage-chat-ai-top-picks{gap:8px;padding:4px 0}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-title{margin:0 0 2px;font-size:14px}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-scroll{flex-direction:column;gap:8px;min-width:0;padding:6px 0 2px;display:flex;overflow:visible}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-scroll>:first-child{flex-direction:column;align-items:stretch;width:100%;min-width:0;display:flex}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-scroll>:first-child.gengage-chat-ai-toppick-card--winner{flex-direction:column}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-rest{-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scrollbar-width:none;-ms-overflow-style:none;flex-flow:row;gap:8px;min-width:0;margin:0 -2px;padding:2px 2px 8px;display:flex;overflow:auto visible}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-rest::-webkit-scrollbar{width:0;height:0;display:none}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-rest .gengage-chat-ai-toppick-card--compact{scroll-snap-align:start;flex:0 0 min(82vw,272px);width:min(82vw,272px);min-width:0;max-width:272px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner{scroll-snap-align:none;flex-shrink:1;width:100%;min-width:0;max-width:none;padding:10px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact{scroll-snap-align:none;flex-shrink:1;width:100%;min-width:0;max-width:none;padding:6px 8px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner{border:1.5px solid color-mix(in srgb, var(--client-primary) 28%, var(--border-default));margin-bottom:8px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact{border:1px solid var(--border-default);box-shadow:none;flex-direction:column;align-items:stretch}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-top-row{flex-direction:row;align-items:flex-start;gap:10px;width:100%;min-width:0;display:flex}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-media{aspect-ratio:1;border-radius:10px;flex:0 0 clamp(96px,30vw,124px);width:clamp(96px,30vw,124px);height:clamp(96px,30vw,124px);max-height:none;margin:0}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-img{object-fit:contain;width:100%;height:100%;max-height:100%;padding:4px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-body{flex:1;min-width:0;padding-top:2px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-detail{width:100%;margin-top:10px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-reason{color:var(--text-primary);margin:0;font-size:12px;line-height:1.45;display:block!important}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-review{color:var(--text-secondary);border:1px solid var(--border-subtle);background:var(--surface-card-muted);border-radius:12px;margin-top:8px;padding:8px 10px;font-size:12px;font-style:italic;line-height:1.4;display:block!important}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-top-row{flex-direction:row;align-items:flex-start;gap:6px;width:100%;min-width:0;display:flex}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-media{aspect-ratio:1;border-radius:8px;flex:0 0 64px;width:64px;height:64px;max-height:64px;margin:0}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-img{object-fit:contain;width:100%;max-height:100%;padding:2px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-body{flex:1;min-width:0}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-rating{display:none}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-detail{width:100%;margin-top:4px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-snippet{color:var(--text-secondary);-webkit-line-clamp:2;line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;margin:0;font-size:10px;line-height:1.3;display:-webkit-box;overflow:hidden}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-role-line{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:0 0 2px;font-size:9px;font-weight:600;line-height:1.15}.gengage-chat-root--mobile .gengage-chat-ai-toppick-snippet{color:var(--text-secondary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:11px;line-height:1.35;display:-webkit-box;overflow:hidden}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-media .gengage-chat-product-card-img-actions{gap:5px;top:3px;right:5px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-media .gengage-chat-product-card-img-actions{gap:5px;top:5px;right:6px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-badge{letter-spacing:.04em;background:var(--client-primary);max-width:calc(100% - 18px);color:var(--client-on-primary);box-shadow:none;border:none;padding:2px 6px;font-size:8px;font-weight:700;line-height:1.15;top:-14px;left:8px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-name{margin-bottom:1px;font-size:12px;line-height:1.22}.gengage-chat-root--mobile .gengage-chat-ai-toppick-name{margin-bottom:2px;font-size:13px;line-height:1.28}.gengage-chat-root--mobile .gengage-chat-ai-toppick-rating{gap:3px;margin-top:2px;padding:2px 6px;font-size:10px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-price{margin-top:1px;font-size:13px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-price{margin-top:2px;font-size:13px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-original-price{font-size:11px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-labels,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-cta{display:none!important}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-cta{opacity:1;pointer-events:auto;border:1px solid var(--client-primary);background:var(--surface-card);width:calc(100% - 16px);color:var(--client-primary);box-shadow:none;filter:none;align-self:stretch;margin:8px 8px 6px;padding:6px 0;font-size:12px;font-weight:600;transform:none}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-cta:hover{background:color-mix(in srgb, var(--client-primary) 10%, var(--surface-card));color:var(--client-primary);border-color:var(--client-primary);filter:none}.gengage-chat-root--mobile .gengage-chat-rollback-btn{left:-24px}.gengage-chat-grounding-review{align-items:center;gap:12px;padding:12px 16px;transition:background .15s,border-color .15s,box-shadow .15s;display:flex}.gengage-chat-grounding-review:hover{background:var(--ds-card-bg-hover);border-color:var(--ds-card-border-hover);box-shadow:var(--ds-card-shadow-hover)}.gengage-chat-grounding-review-icon{background:color-mix(in srgb, var(--client-primary) 8%, var(--surface-card));width:32px;height:32px;color:var(--client-primary);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.gengage-chat-grounding-review-icon svg{width:18px;height:18px;display:block}.gengage-chat-grounding-review-body{flex:1;min-width:0}.gengage-chat-grounding-review-title{color:var(--text-primary);font-size:13px;font-weight:600}.gengage-chat-grounding-review-subtitle{color:var(--text-muted);margin-top:2px;font-size:12px}.gengage-chat-grounding-review-cta{color:var(--client-primary);white-space:nowrap;flex-shrink:0;align-items:center;gap:4px;font-size:13px;font-weight:600;display:inline-flex}.gengage-chat-grounding-review-cta-icon{align-items:center;display:inline-flex}.gengage-chat-grounding-review-cta-icon svg{width:14px;height:14px;display:block}.gengage-chat-grouping-cards{flex-direction:column;gap:6px;display:flex}.gengage-chat-grouping-cards-scroll{flex-direction:column;gap:6px;min-width:0;display:flex}.gengage-chat-grouping-card{background:var(--surface-card-soft);border:1px solid var(--border-default);border-radius:var(--radius-control);align-items:center;gap:10px;padding:8px 12px;transition:background .15s,border-color .15s;display:flex}.gengage-chat-grouping-card:hover{background:color-mix(in srgb, var(--client-primary) 6%, white);border-color:color-mix(in srgb, var(--client-primary) 24%, var(--border-default))}.gengage-chat-grouping-card-arrow{color:var(--client-primary);flex-shrink:0;font-size:14px;display:none}.gengage-chat-grouping-card-img{border-radius:calc(var(--radius-control) - 4px);object-fit:cover;flex-shrink:0;width:48px;min-width:48px;height:48px;min-height:48px}.gengage-chat-grouping-card-body{flex-direction:column;flex:1;align-items:flex-start;gap:2px;min-width:0;display:flex}.gengage-chat-grouping-card-name{color:var(--text-primary);font-size:13px;font-weight:600}.gengage-chat-grouping-card-desc{color:var(--text-muted);font-size:12px}.gengage-chat-grouping-card-labels{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.gengage-chat-grouping-card-label{color:var(--text-secondary);background:var(--surface-card-muted);border:1px solid var(--border-subtle);border-radius:999px;padding:4px 8px;font-size:10px;font-weight:700;line-height:1.2}.gengage-chat-root--mobile .gengage-chat-grouping-card-img{display:none}.gengage-chat-root--mobile .gengage-chat-grouping-card-arrow{display:inline}.gengage-chat-suggested-search-cards{flex-direction:column;gap:8px;display:flex}.gengage-chat-suggested-search-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-card);box-shadow:var(--shadow-1);align-items:center;gap:14px;padding:14px 16px;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s;display:flex}.gengage-chat-suggested-search-card:hover{background:var(--surface-card);border-color:color-mix(in srgb, var(--client-primary) 24%, var(--border-default));box-shadow:var(--shadow-2);transform:translateY(-1px)}.gengage-chat-suggested-search-card-img{object-fit:contain;background:var(--surface-card-muted);border:1px solid var(--border-subtle);border-radius:14px;flex-shrink:0;width:64px;height:64px;padding:4px}.gengage-chat-suggested-search-card-body{flex:1;min-width:0}.gengage-chat-suggested-search-card-name{color:var(--text-primary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:15px;font-weight:700;line-height:1.35;display:-webkit-box;overflow:hidden}.gengage-chat-product-details-gallery{position:relative}.gengage-chat-product-details-gallery .gengage-chat-product-details-img{touch-action:pan-y}.gengage-chat-product-gallery-nav{z-index:3;border:1px solid var(--border-default);border-radius:var(--radius-pill);cursor:pointer;background:color-mix(in srgb, var(--surface-card) 92%, transparent);width:36px;min-width:36px;height:36px;min-height:36px;color:var(--text-primary);box-shadow:var(--shadow-1);justify-content:center;align-items:center;padding:0;transition:background .15s,opacity .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.gengage-chat-product-gallery-nav:hover:not(:disabled){background:var(--surface-card);color:var(--client-primary)}.gengage-chat-product-gallery-nav:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:2px}.gengage-chat-product-gallery-nav:disabled{opacity:.35;cursor:not-allowed}.gengage-chat-product-gallery-nav--prev{left:8px}.gengage-chat-product-gallery-nav--next{right:8px}.gengage-chat-product-gallery-thumbs{scrollbar-width:thin;justify-content:center;gap:8px;width:100%;padding:10px 0 4px;display:flex;overflow-x:auto}.gengage-chat-product-gallery-thumb{object-fit:cover;cursor:pointer;background:var(--surface-card);border:2px solid #0000;border-radius:8px;flex-shrink:0;width:56px;height:56px;transition:border-color .15s}.gengage-chat-product-gallery-thumb:hover{border-color:var(--border-strong)}.gengage-chat-product-gallery-thumb--active{border-color:var(--client-primary)}.gengage-chat-product-gallery-thumb-more{background:var(--surface-card-muted);width:56px;height:56px;color:var(--text-secondary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.gengage-chat-product-variants-label{color:var(--text-muted);text-transform:none;letter-spacing:.5px;margin-bottom:6px;font-size:12px;font-weight:600}.gengage-chat-product-variants-list{flex-wrap:wrap;gap:6px;display:flex}.gengage-chat-product-variant-btn{border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;padding:6px 12px;font-size:12px;transition:background .15s,border-color .15s}.gengage-chat-product-variant-btn:hover{background:var(--surface-card-muted);border-color:color-mix(in srgb, var(--client-primary) 20%, var(--border-default));color:var(--client-primary)}.gengage-chat-product-details-panel{border-radius:var(--radius-card);background:var(--surface-card);box-shadow:var(--shadow-1);gap:16px;padding:16px}.gengage-chat-product-details-media{border-color:var(--border-default);border-radius:var(--radius-card);background:var(--surface-card-soft);justify-content:center;min-height:320px}.gengage-chat-product-details-img{max-height:420px}.gengage-chat-product-details-content{gap:12px}.gengage-chat-product-details-brand{color:var(--client-primary);font-size:12px;font-weight:800;line-height:1.2}.gengage-chat-product-details-title{font-size:22px;line-height:1.2}.gengage-chat-product-details-rating{border:1px solid color-mix(in srgb, var(--warning) 24%, var(--border-default));background:color-mix(in srgb, var(--warning) 10%, var(--surface-card));color:color-mix(in srgb, var(--warning) 72%, var(--text-primary));gap:6px;padding:6px 10px;font-family:inherit}button.gengage-chat-product-details-rating{border:1px solid color-mix(in srgb, var(--warning) 24%, var(--border-default));cursor:pointer}.gengage-chat-product-details-rating--clickable:hover{border-color:color-mix(in srgb, var(--warning) 42%, var(--border-default));background:color-mix(in srgb, var(--warning) 14%, var(--surface-card))}.gengage-chat-product-details-rating .gengage-star-rating{line-height:1}.gengage-chat-product-details-rating-value{color:var(--text-primary)}.gengage-chat-product-details-price{flex-wrap:wrap;gap:10px}.gengage-chat-product-details-original-price{order:2}.gengage-chat-product-details-current-price{order:1;font-size:30px}.gengage-chat-product-details-discount-badge{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--error) 12%, white);min-height:24px;color:color-mix(in srgb, var(--error) 84%, var(--text-primary));order:3;align-items:center;padding:2px 8px;font-size:12px;font-weight:800;display:inline-flex}.gengage-chat-product-details-price--inline .gengage-chat-product-details-original-price,.gengage-chat-product-details-price--inline .gengage-chat-product-details-current-price{order:0;font-size:30px}.gengage-chat-product-details-price--inline .gengage-chat-product-details-original-price{font-weight:500}.gengage-chat-product-details-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.gengage-chat-product-details-fact{border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-card-soft);min-width:0;padding:8px 10px}.gengage-chat-product-details-fact dt,.gengage-chat-product-details-fact dd{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;overflow:hidden}.gengage-chat-product-details-fact dt{color:var(--text-muted);font-size:11px;font-weight:700}.gengage-chat-product-details-fact dd{color:var(--text-primary);margin-top:2px;font-size:13px;font-weight:700}.gengage-chat-product-variants{margin-top:4px}.gengage-chat-product-variants-label{color:var(--text-primary);letter-spacing:normal;margin-bottom:8px;font-size:14px;font-weight:800}.gengage-chat-product-variants-list{gap:8px}.gengage-chat-product-variant-btn{border-radius:var(--radius-control);min-height:44px;color:var(--text-primary);gap:8px;padding:7px 10px;font-size:13px;font-weight:700}.gengage-chat-product-variant-btn--active{border-color:var(--client-primary);background:color-mix(in srgb, var(--client-primary) 8%, var(--surface-card));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--client-primary) 36%, transparent);color:var(--client-primary)}.gengage-chat-product-variant-btn--out{opacity:.48;cursor:not-allowed}.gengage-chat-product-variant-swatch{border:1px solid var(--border-default);background:var(--surface-card-muted);width:22px;height:22px;box-shadow:inset 0 0 0 2px var(--surface-card);border-radius:50%;flex:0 0 22px}.gengage-chat-product-variant-swatch--image{object-fit:cover;box-shadow:none}.gengage-chat-product-variant-label,.gengage-chat-product-variant-price{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.gengage-chat-product-variant-price{color:var(--text-secondary);font-size:12px;font-weight:700}.gengage-chat-product-details-actions{gap:10px;margin-top:6px}.gengage-chat-product-details-atc,.gengage-chat-product-details-cta{border-radius:var(--radius-control);min-height:44px}.gengage-chat-product-details-atc{border:1px solid var(--ds-button-primary-border);background:var(--ds-button-primary-bg);color:var(--ds-button-primary-fg)}.gengage-chat-product-details-atc:hover{background:var(--ds-button-primary-bg-hover);filter:none}.gengage-chat-product-details-cta.gds-btn-secondary{border-color:var(--ds-button-secondary-border);background:var(--ds-button-secondary-bg);color:var(--ds-button-secondary-fg)}.gengage-chat-product-details-cta.gds-btn-secondary:hover{background:var(--ds-button-secondary-bg-hover)}@media (width>=960px){.gengage-chat-product-details-panel{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:start;display:grid}.gengage-chat-product-details-media{position:sticky;top:0}.gengage-chat-product-detail-tabs{grid-column:1/-1}}.gengage-chat-root--mobile .gengage-chat-product-details-panel{box-shadow:none;gap:10px;padding:10px}.gengage-chat-root--mobile .gengage-chat-product-details-media{min-height:220px}.gengage-chat-root--mobile .gengage-chat-product-details-title{font-size:18px}.gengage-chat-root--mobile .gengage-chat-product-details-current-price{font-size:24px}.gengage-chat-root--mobile .gengage-chat-product-details-facts{grid-template-columns:1fr}.gengage-chat-root--mobile .gengage-chat-product-details-actions{grid-template-columns:1fr 1fr 44px;align-items:stretch;display:grid}.gengage-chat-root--mobile .gengage-chat-product-details-actions>.gengage-chat-product-details-share{width:44px;min-width:44px}.gengage-chat-root--mobile .gengage-chat-product-details-atc,.gengage-chat-root--mobile .gengage-chat-product-details-cta{width:100%;padding-inline:10px}.gengage-chat-product-grid-wrapper{flex-direction:column;gap:6px;display:flex}.gengage-chat-consulting-style-picker{border:1px solid color-mix(in srgb, var(--client-primary) 18%, var(--border-default));background:linear-gradient(160deg, color-mix(in srgb, var(--surface-card) 80%, white), color-mix(in srgb, var(--surface-card-soft) 84%, white));border-radius:20px;padding:12px}.gengage-chat-consulting-style-picker-title{color:var(--text-primary);margin-bottom:10px;font-size:14px;font-weight:800}.gengage-chat-consulting-style-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.gengage-chat-consulting-style-btn{border:1px solid var(--border-default);background:var(--surface-card);cursor:pointer;text-align:left;border-radius:14px;flex-direction:column;gap:0;padding:6px;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex}.gengage-chat-consulting-style-btn:hover{border-color:color-mix(in srgb, var(--client-primary) 26%, var(--border-default));transform:translateY(-1px)}.gengage-chat-consulting-style-btn--active{border-color:color-mix(in srgb, var(--client-primary) 40%, var(--border-default));box-shadow:0 0 0 2px color-mix(in srgb, var(--client-primary) 16%, transparent), var(--shadow-1)}.gengage-chat-consulting-style-media{border-radius:12px;position:relative;overflow:hidden}.gengage-chat-consulting-style-image{aspect-ratio:4/5;object-fit:cover;border:1px solid var(--border-subtle);border-radius:12px;width:100%}.gengage-chat-consulting-style-caption{color:#fff;background:#0000008c;border-radius:12px;padding:8px 10px;font-size:15px;font-weight:800;line-height:1.2;position:absolute;bottom:10px;left:10px;right:10px}.gengage-chat-consulting-group{border:1px solid color-mix(in srgb, var(--client-primary) 14%, var(--border-default));background:linear-gradient(180deg, var(--surface-card-soft), var(--surface-card));border-radius:16px;flex-direction:column;gap:10px;padding:12px;display:flex}.gengage-chat-consulting-group-header{flex-direction:column;gap:4px;min-height:112px;display:flex}.gengage-chat-consulting-group-label{color:var(--text-primary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;min-height:2.5em;margin:0;font-size:16px;font-weight:800;line-height:1.25;display:-webkit-box;overflow:hidden}.gengage-chat-consulting-group-reason{color:var(--text-secondary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.45;display:-webkit-box;overflow:hidden}.gengage-chat-consulting-group-grid{grid-template-columns:repeat(var(--consulting-group-columns,4), minmax(210px, 1fr));justify-content:stretch;align-items:stretch;gap:14px;margin-bottom:2px;display:grid}.gengage-chat-consulting-group-grid .gengage-chat-product-card{height:100%}.gengage-chat-beauty-photo-step{padding:0 12px}.gengage-chat-beauty-photo-step-card{border:1px solid color-mix(in srgb, var(--client-primary) 20%, var(--border-default));background:linear-gradient(165deg, color-mix(in srgb, var(--surface-card) 85%, white), var(--surface-card-soft));box-shadow:var(--shadow-1);border-radius:18px;gap:10px;padding:12px;display:flex}.gengage-chat-beauty-photo-step-icon{background:color-mix(in srgb, var(--client-primary) 16%, white);width:34px;height:34px;color:var(--client-primary);border-radius:12px;flex:none;justify-content:center;align-items:center;font-size:18px;font-weight:800;display:inline-flex}.gengage-chat-beauty-photo-step-content{flex:auto;min-width:0}.gengage-chat-beauty-photo-step-title{color:var(--text-primary);font-size:15px;font-weight:800}.gengage-chat-beauty-photo-step-desc{color:var(--text-secondary);margin:4px 0 0;font-size:12px;line-height:1.45}.gengage-chat-beauty-photo-step-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.gengage-chat-beauty-photo-step-upload{border-radius:999px;min-height:34px;padding-inline:14px;font-size:12px;font-weight:800}.gengage-chat-beauty-photo-step-skip{border-radius:999px;min-height:34px;padding-inline:12px;font-size:12px;font-weight:700}.gengage-chat-panel .gengage-chat-consulting-style-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.gengage-chat-panel .gengage-chat-consulting-style-image{min-height:250px}.gengage-chat-panel .gengage-chat-consulting-style-caption{padding:10px 12px;font-size:16px}.gengage-chat-panel .gengage-chat-consulting-group{border-radius:18px;padding:14px}.gengage-chat-panel .gengage-chat-consulting-group-grid .gengage-chat-product-card{min-width:0;margin-inline:auto}.gengage-chat-root--mobile .gengage-chat-consulting-style-grid{grid-template-columns:1fr}.gengage-chat-root--mobile .gengage-chat-consulting-style-image{min-height:220px}.gengage-chat-root--mobile .gengage-chat-consulting-group-grid{grid-template-columns:1fr}.gengage-chat-product-grid-head{justify-content:space-between;align-items:center;gap:8px;min-width:0;margin-bottom:2px;display:flex}.gengage-chat-product-grid-head-title{min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:18px;font-weight:700;line-height:1.2;overflow:hidden}.gengage-chat-product-grid-head-actions{flex-shrink:0;align-items:center;gap:6px;max-width:52%;display:flex}.gengage-chat-product-sort-toolbar{box-shadow:none;background:0 0;border:none;border-radius:0;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0;padding:0;display:flex}.gengage-chat-product-sort-toolbar--inline{flex-wrap:nowrap;justify-content:flex-end}.gengage-chat-product-sort-dropdown{z-index:5;flex:0 auto;width:auto;min-width:0;max-width:200px;position:relative}.gengage-chat-product-sort-toolbar:not(.gengage-chat-product-sort-toolbar--inline) .gengage-chat-product-sort-dropdown{flex:auto;max-width:min(200px,100%)}.gengage-chat-product-sort-dropdown--open{z-index:25}.gengage-chat-product-sort-trigger{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card);width:100%;min-height:32px;color:var(--text-primary);cursor:pointer;text-align:left;align-items:center;gap:6px;padding:5px 8px;font-size:12px;font-weight:600;line-height:1.2;transition:border-color .15s,box-shadow .15s,background .15s;display:flex}.gengage-chat-product-sort-trigger:hover{border-color:color-mix(in srgb, var(--client-primary) 22%, var(--border-default));background:var(--surface-card-soft)}.gengage-chat-product-sort-trigger:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:2px}.gengage-chat-product-sort-dropdown--open .gengage-chat-product-sort-trigger{border-color:color-mix(in srgb, var(--client-primary) 32%, var(--border-default));box-shadow:var(--shadow-2)}.gengage-chat-product-sort-trigger-icon{color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.gengage-chat-product-sort-dropdown[data-sort-icon=related] .gengage-chat-product-sort-trigger-icon{color:var(--client-primary)}.gengage-chat-product-sort-trigger-icon svg{display:block}.gengage-chat-product-sort-trigger-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.gengage-chat-product-sort-trigger-chevron{color:var(--text-muted);flex-shrink:0;transition:transform .2s;display:flex}.gengage-chat-product-sort-dropdown--open .gengage-chat-product-sort-trigger-chevron{transform:rotate(180deg)}.gengage-chat-product-sort-menu{width:max-content;min-width:100%;max-width:min(260px,100vw - 48px);margin:0;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:auto}.gengage-chat-product-sort-option{border-radius:calc(var(--radius-control) - 4px);width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:8px 10px;font-size:12px;font-weight:500;line-height:1.25;transition:background .12s;display:flex}.gengage-chat-product-sort-option:hover{background:var(--surface-card-muted)}.gengage-chat-product-sort-option--active{color:var(--client-primary);background:var(--client-primary-subtle);font-weight:600}.gengage-chat-product-sort-option-icon{color:var(--text-secondary);flex-shrink:0;display:flex}.gengage-chat-product-sort-option--active .gengage-chat-product-sort-option-icon,.gengage-chat-product-sort-option--active[data-sort-key=related] .gengage-chat-product-sort-option-icon{color:var(--client-primary)}.gengage-chat-product-sort-option-icon svg{display:block}.gengage-chat-product-sort-option-label{flex:auto;min-width:0}.gengage-chat-product-sort-option-check{width:22px;color:var(--client-primary);flex-shrink:0;justify-content:flex-end;display:flex}.gengage-chat-product-sort-option-check--hidden{visibility:hidden}.gengage-chat-product-sort-separator{background:var(--border-default);width:1px;margin:2px}.gengage-chat-comparison-toggle-btn{border:1px solid var(--border-default);border-radius:var(--radius-control,12px);background:var(--surface-card);min-height:32px;color:var(--text-primary);cursor:pointer;white-space:nowrap;flex:none;align-items:center;gap:5px;padding:5px 8px;font-size:12px;font-weight:700;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.gengage-chat-comparison-toggle-icon{color:var(--text-secondary);flex-shrink:0;display:flex}.gengage-chat-comparison-toggle-icon svg{display:block}.gengage-chat-comparison-toggle-btn:hover{background:var(--surface-card-soft);border-color:color-mix(in srgb, var(--client-primary) 18%, white);color:var(--client-primary)}.gengage-chat-comparison-toggle-btn--active{border-color:color-mix(in srgb, var(--client-primary) 26%, white);color:var(--client-primary);background:color-mix(in srgb, var(--client-primary) 8%, white)}.gengage-chat-comparison-toggle-btn--active .gengage-chat-comparison-toggle-icon{color:var(--client-primary)}.gengage-chat-comparison-toggle-btn--active:hover{background:var(--client-primary-hover);color:var(--client-on-primary);border-color:var(--client-primary-hover)}.gengage-chat-comparison-toggle-btn--active:hover .gengage-chat-comparison-toggle-icon{color:var(--client-on-primary)}.gengage-chat-comparison-select-wrapper{cursor:pointer;border-radius:var(--radius-control);transition:box-shadow .2s,transform .2s;position:relative}.gengage-chat-comparison-select-wrapper:hover{box-shadow:0 0 0 2px var(--client-focus-ring)}.gengage-chat-comparison-select-wrapper--selected,.gengage-chat-comparison-select-wrapper--selected:hover{box-shadow:none}@media (prefers-reduced-motion:reduce){.gengage-chat-comparison-select-wrapper{transition:none}}.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card{pointer-events:none;transition:opacity .2s,transform .2s,filter .2s}.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card .gengage-chat-product-card-img-actions,.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card .gengage-chat-product-card-discount-badge,.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card .gengage-chat-product-card-buy-footer,.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card .gengage-chat-product-card-cta{opacity:0}.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card .gengage-chat-product-card-body{opacity:.82}.gengage-chat-comparison-select-wrapper:hover>.gengage-chat-product-card,.gengage-chat-comparison-select-wrapper--selected>.gengage-chat-product-card{opacity:1;transform:translateY(-1px)}.gengage-chat-comparison-select-wrapper--selected>.gengage-chat-product-card{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--client-primary) 26%, white), var(--shadow-1);filter:saturate(1.02);border-color:#0000;outline:none}.gengage-chat-comparison-select-wrapper--selected>.gengage-chat-product-card .gengage-chat-product-card-body{opacity:1}.gengage-chat-comparison-card-hint{display:none}.gengage-chat-comparison-checkbox{z-index:4;cursor:pointer;pointer-events:auto;border:1px solid var(--border-default);background:color-mix(in srgb, var(--surface-card) 94%, white);min-height:40px;color:var(--text-primary);box-shadow:var(--shadow-2);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 14px;display:inline-flex;position:absolute;bottom:16px;left:16px;right:16px}.gengage-chat-comparison-checkbox[data-selected=true]{background:color-mix(in srgb, var(--client-primary) 10%, white);border-color:color-mix(in srgb, var(--client-primary) 22%, var(--border-default));color:var(--client-primary)}.gengage-chat-comparison-checkbox-icon{background:var(--surface-card-soft);color:currentColor;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.gengage-chat-comparison-checkbox[data-selected=true] .gengage-chat-comparison-checkbox-icon{background:var(--client-primary);color:var(--client-on-primary)}.gengage-chat-comparison-checkbox-dot{background:color-mix(in srgb, currentColor 75%, white);border-radius:999px;width:8px;height:8px}.gengage-chat-comparison-checkbox-label{font-size:12px;font-weight:700;line-height:1.2}.gengage-chat-comparison-toggle-btn--hidden{opacity:0;pointer-events:none}@keyframes gengage-comparison-fade-in{0%{opacity:0}to{opacity:1}}.gengage-chat-comparison-toggle-btn--reveal{animation:.5s forwards gengage-comparison-fade-in}@media (prefers-reduced-motion:reduce){.gengage-chat-comparison-toggle-btn--reveal{opacity:1;animation:none}}.gengage-chat-comparison-floating-btn{border:1px solid var(--border-default);background:color-mix(in srgb, var(--surface-card) 92%, white);width:min(100%,520px);color:var(--text-primary);z-index:5;box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:18px;justify-content:space-between;align-items:center;gap:14px;margin:16px auto 0;padding:12px 14px;display:flex;position:sticky;bottom:12px}.gengage-chat-comparison-dock-slot{display:none}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot:not(:empty){z-index:30;padding:0 10px max(6px, env(safe-area-inset-bottom,0px));box-sizing:border-box;pointer-events:none;max-width:100%;display:block;position:absolute;bottom:0;left:0;right:0}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot>*{pointer-events:auto}.gengage-chat-comparison-floating-summary{flex:auto;align-items:center;gap:12px;min-width:0;display:flex}.gengage-chat-comparison-floating-count{background:var(--client-primary-subtle);min-width:32px;height:32px;color:var(--client-primary);border-radius:999px;justify-content:center;align-items:center;padding:0 10px;font-size:13px;font-weight:800;display:inline-flex}.gengage-chat-comparison-floating-copy{min-width:0}.gengage-chat-comparison-floating-title{color:var(--text-primary);font-size:14px;font-weight:700;line-height:1.2}.gengage-chat-comparison-floating-warning{color:var(--error);margin-top:4px;font-size:12px;line-height:1.35}.gengage-chat-comparison-floating-subtitle{color:var(--text-secondary);margin-top:2px;font-size:12px;line-height:1.35}.gengage-chat-comparison-floating-action{flex:none;min-width:132px}.gengage-chat-comparison-floating-close{border-radius:14px;flex:none;width:40px;height:40px;padding:0}.gengage-chat-comparison-floating-action--disabled{opacity:.6}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-btn{box-sizing:border-box;width:100%;min-width:0;max-width:100%;box-shadow:var(--shadow-3);border-radius:14px;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:10px;margin:0;padding:10px;position:relative;bottom:auto}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-summary{align-items:center;gap:8px;min-height:26px;padding-right:34px;display:flex}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-count{flex-shrink:0;justify-content:center;align-items:center;min-width:26px;height:26px;padding:0 7px;font-size:12px;font-weight:800;line-height:1;display:inline-flex}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-copy{flex-direction:column;justify-content:center;min-width:0;display:flex}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-title{margin:0;font-size:13px;line-height:1.25}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-warning{margin-top:2px;font-size:11px}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-action{box-sizing:border-box;justify-content:center;align-items:center;width:100%;min-width:0;max-width:100%;min-height:42px;padding:0 12px;font-size:13px;display:flex}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-close{box-sizing:border-box;align-self:unset;z-index:10;touch-action:manipulation;border-radius:8px;flex:none;width:26px;min-width:26px;max-width:26px;height:26px;min-height:26px;max-height:26px;padding:0;line-height:0;position:absolute;top:9px;right:9px}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-close svg{width:11px;height:11px;display:block}.gengage-chat-panel-topbar{box-sizing:border-box;height:var(--_gengage-chat-header-height);background:var(--surface-card);z-index:3;border-bottom:none;flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:12px;padding:14px 16px;display:flex;position:sticky;top:0}.gengage-chat-panel-topbar-title-wrap{flex:1 1 0;align-items:center;min-width:0;display:flex}.gengage-chat-panel-topbar-back,.gengage-chat-panel-topbar-forward{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card);width:42px;min-width:42px;height:42px;min-height:42px;color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:0;transition:background .15s,border-color .15s,opacity .15s;display:flex}.gengage-chat-panel-topbar-back[hidden],.gengage-chat-panel-topbar-forward[hidden]{display:none}.gengage-chat-panel-topbar-back:hover:not(:disabled),.gengage-chat-panel-topbar-forward:hover:not(:disabled){background:var(--surface-card-soft);border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default))}.gengage-chat-panel-topbar-back:disabled,.gengage-chat-panel-topbar-forward:disabled{opacity:.3;cursor:default}.gengage-chat-panel-topbar-title{width:100%;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;text-align:left;letter-spacing:-.01em;font-size:17px;font-weight:700;line-height:1.2;display:block;overflow:hidden}.gengage-chat-panel-topbar-actions{flex:none;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.gengage-chat-panel-topbar-actions:empty{display:none}.gengage-chat-panel-topbar-toolbar-host{justify-content:flex-end;align-items:center;width:100%;display:flex}.gengage-chat-panel-topbar-toolbar-host .gengage-chat-product-sort-toolbar{flex-wrap:nowrap;justify-content:flex-end;gap:8px}.gengage-chat-panel-topbar-close{display:none}@keyframes gengage-typewriter-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.gengage-chat-typewriter-block{animation:.15s both gengage-typewriter-fade-in;display:block}@media (prefers-reduced-motion:reduce){.gengage-chat-typewriter-block{animation:none}}.gengage-product-mention{color:var(--client-primary);cursor:pointer;border-bottom:1px dashed var(--client-primary);font-weight:500;text-decoration:none;transition:border-color .15s}.gengage-product-mention:hover{border-bottom-style:solid}@keyframes gengage-skeleton-pulse{0%,to{opacity:.4}50%{opacity:.8}}.gengage-chat-panel-skeleton-block{animation:1.5s ease-in-out infinite gengage-skeleton-pulse}@media (prefers-reduced-motion:reduce){.gengage-chat-panel-skeleton-block{animation:none}}.gengage-chat-input-chips{scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap;gap:6px;padding:4px 12px 2px;display:flex;overflow-x:auto}.gengage-chat-input-chips::-webkit-scrollbar{display:none}.gengage-chat-input-chip{border-radius:var(--radius-pill);border:1px solid var(--border-default);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;white-space:nowrap;align-items:center;padding:8px 12px;font-family:inherit;font-size:12px;font-weight:700;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.gengage-chat-input-chip:hover{background:var(--client-primary-subtle);border-color:color-mix(in srgb, var(--client-primary) 24%, var(--border-default));color:var(--client-primary)}.gengage-chat-icon{flex-shrink:0;width:14px;height:14px}.gengage-chat-input-chip-icon,.gengage-chat-pill-icon{align-items:center;margin-right:4px;display:inline-flex}.gengage-chat-product-card-img-wrapper,.gengage-chat-product-details-img-wrap{position:relative;overflow:hidden}.gengage-chat-product-card-discount-badge{border-radius:var(--radius-pill);background:var(--_gengage-discount-color);color:var(--text-inverse);z-index:1;padding:3px 8px;font-size:11px;font-weight:700;line-height:1.3;position:absolute;top:8px;left:8px}.gengage-chat-product-card-stock{border-radius:var(--radius-pill);width:fit-content;margin-top:2px;padding:2px 6px;font-size:11px;font-weight:600}.gengage-chat-product-card-stock.is-in-stock{background:color-mix(in srgb, var(--success) 12%, white);color:color-mix(in srgb, var(--success) 82%, var(--text-primary))}.gengage-chat-product-card-stock.is-out-of-stock{background:color-mix(in srgb, var(--error) 10%, white);color:var(--error)}.gengage-chat-find-similar-pill{border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:color-mix(in srgb, var(--surface-elevated) 96%, transparent);width:28px;height:28px;color:var(--text-primary);box-shadow:var(--shadow-1);cursor:pointer;z-index:2;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:11px;font-weight:500;transition:opacity .2s,box-shadow .15s;display:inline-flex;position:relative}.gengage-chat-find-similar-pill:hover{box-shadow:var(--shadow-2);border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default))}@media (hover:hover) and (pointer:fine){.gengage-chat-find-similar-pill:after{content:attr(data-tooltip);background:color-mix(in srgb, var(--surface-shell) 98%, black);border:1px solid color-mix(in srgb, var(--surface-shell) 60%, white);box-shadow:var(--shadow-2);color:var(--text-inverse);white-space:nowrap;opacity:0;pointer-events:none;z-index:12;border-radius:10px;padding:6px 10px;font-size:11px;font-weight:600;line-height:1.2;transition:opacity .14s;position:absolute;top:50%;right:calc(100% + 8px);transform:translateY(-50%)}.gengage-chat-find-similar-pill:hover:after,.gengage-chat-find-similar-pill:focus-visible:after{opacity:1}}.gengage-chat-find-similar-pill-icon{justify-content:center;align-items:center;display:flex}.gengage-chat-find-similar-pill-icon svg{display:block}.gengage-chat-find-similar-pill-text{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.gengage-chat-product-card-img-wrapper .gengage-chat-product-card-img-actions,.gengage-chat-ai-toppick-media .gengage-chat-product-card-img-actions{transition:opacity .2s}@media (hover:hover) and (pointer:fine){.gengage-chat-product-card-img-wrapper:not(:hover) .gengage-chat-product-card-img-actions,.gengage-chat-ai-toppick-media:not(:hover) .gengage-chat-product-card-img-actions{opacity:0;pointer-events:none}.gengage-chat-product-card-img-wrapper:hover .gengage-chat-product-card-img-actions,.gengage-chat-ai-toppick-media:hover .gengage-chat-product-card-img-actions{opacity:1;pointer-events:auto}}@media (hover:none),(pointer:coarse){.gengage-chat-product-card-img-wrapper .gengage-chat-product-card-img-actions,.gengage-chat-ai-toppick-media .gengage-chat-product-card-img-actions{opacity:1;pointer-events:auto}}.gengage-chat-product-details-img-wrap .gengage-chat-find-similar-pill{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--surface-shell) 88%, transparent);width:auto;height:auto;color:var(--text-inverse);box-shadow:none;opacity:0;pointer-events:none;padding:4px 10px;position:absolute;top:40px;right:8px}.gengage-chat-product-details-img-wrap .gengage-chat-find-similar-pill-icon{display:none}.gengage-chat-product-details-img-wrap .gengage-chat-find-similar-pill-text{clip:auto;white-space:nowrap;width:auto;height:auto;margin:0;position:static;overflow:visible}.gengage-chat-product-card-img-wrapper:hover .gengage-chat-find-similar-pill,.gengage-chat-ai-toppick-media:hover .gengage-chat-find-similar-pill,.gengage-chat-product-details-img-wrap:hover .gengage-chat-find-similar-pill{opacity:1;pointer-events:auto}.gengage-chat-favorite-btn{background:color-mix(in srgb, var(--surface-elevated) 96%, transparent);border:1px solid var(--border-subtle);border-radius:var(--radius-control);cursor:pointer;width:28px;height:28px;color:var(--text-secondary);box-shadow:var(--shadow-1);z-index:3;justify-content:center;align-items:center;padding:0;transition:color .2s,box-shadow .15s;display:flex;position:absolute;top:8px;right:8px}.gengage-chat-favorite-btn:hover{box-shadow:var(--shadow-2);color:var(--error);border-color:color-mix(in srgb, var(--error) 20%, var(--border-default))}.gengage-chat-favorite-btn--active{color:var(--error)}.gengage-chat-product-details-promos{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.gengage-chat-product-details-promo-badge{border-radius:var(--radius-pill);background:var(--gengage-chat-promo-bg,color-mix(in srgb, var(--success) 12%, white));color:var(--gengage-chat-promo-text,color-mix(in srgb, var(--success) 82%, var(--text-primary)));white-space:nowrap;box-sizing:border-box;min-height:20px;padding:2px 6px;font-size:10px;font-weight:500;display:inline-block}.gengage-chat-thumbnails-column{pointer-events:none;display:none!important}.gengage-chat-thumbnail-btn{border:2px solid var(--border-default);border-radius:calc(var(--radius-control) - 4px);background:var(--surface-card);cursor:pointer;justify-content:center;align-items:center;width:40px;height:40px;padding:0;transition:border-color .15s;display:flex;overflow:hidden}.gengage-chat-thumbnail-btn:hover{border-color:var(--client-primary)}.gengage-chat-thumbnail-img{object-fit:cover;width:100%;height:100%}.gengage-chat-panel-float{box-sizing:border-box;pointer-events:none;z-index:10;flex-shrink:0;align-self:stretch;width:100%;height:0;margin-top:auto;position:sticky;bottom:0;overflow:visible}.gengage-chat-choice-prompter{pointer-events:none;background:var(--surface-card);border:1px solid var(--border-default);width:auto;max-width:none;box-shadow:var(--shadow-2);z-index:5;opacity:0;border-radius:16px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;margin-left:0;margin-right:0;padding:12px 14px;transition:opacity .2s,transform .2s;display:grid;position:absolute;bottom:12px;left:16px;right:16px;transform:translateY(12px)}.gengage-chat-panel--scrolled .gengage-chat-choice-prompter{pointer-events:auto;opacity:1;transform:translateY(0)}.gengage-chat-choice-prompter-heading{color:var(--text-primary);margin-bottom:2px;font-size:12px;font-weight:700}.gengage-chat-choice-prompter-suggestion{color:var(--text-secondary);margin-bottom:0;font-size:12px;line-height:1.35}.gengage-chat-choice-prompter-copy{min-width:0}.gengage-chat-choice-prompter-cta{border:1px solid var(--ds-button-primary-border);border-radius:var(--radius-control);background:var(--ds-button-primary-bg);width:auto;min-width:180px;min-height:40px;color:var(--ds-button-primary-fg);cursor:pointer;text-align:center;padding:0 18px;font-family:inherit;font-size:13px;font-weight:700;transition:background .15s;display:inline-flex}.gengage-chat-choice-prompter-cta:hover{background:var(--ds-button-primary-bg-hover)}.gengage-chat-choice-prompter-dismiss{border:1px solid var(--border-default);background:var(--surface-card-soft);min-width:32px;min-height:32px;color:var(--text-muted);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;display:flex;position:absolute;top:10px;right:10px}.gengage-chat-choice-prompter-dismiss:hover{color:var(--client-primary);border-color:color-mix(in srgb, var(--client-primary) 18%, white);background:var(--client-primary-subtle)}@media (prefers-reduced-motion:reduce){.gengage-chat-choice-prompter{animation:none}}.gengage-chat-pros-cons{background:var(--surface-card-soft);border:1px solid var(--border-subtle);border-radius:var(--radius-control);margin:8px 0;padding:12px 14px}.gengage-chat-pros-cons-heading{color:var(--text-primary);margin:0 0 10px;font-size:14px;font-weight:600}.gengage-chat-pros-cons-list{margin:0 0 8px;padding:0;list-style:none}.gengage-chat-pros-cons-list:last-child{margin-bottom:0}.gengage-chat-pros-cons-item{color:var(--text-secondary);align-items:flex-start;gap:8px;padding:4px 0;font-size:13px;line-height:1.5;display:flex}.gengage-chat-pros-cons-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:12px;font-weight:700;display:flex}.gengage-chat-pros-cons-icon--pro{color:var(--success);background:color-mix(in srgb, var(--success) 15%, white)}.gengage-chat-pros-cons-icon--con{color:var(--error);background:color-mix(in srgb, var(--error) 12%, white)}.gengage-chat-categories{flex-direction:column;gap:8px;display:flex}.gengage-chat-categories-tabs{-webkit-overflow-scrolling:touch;gap:4px;padding:4px 0;display:flex;overflow-x:auto}.gengage-chat-categories-tab{border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;white-space:nowrap;padding:6px 14px;font-size:13px;transition:background .15s,color .15s,border-color .15s}.gengage-chat-categories-tab:hover{background:var(--surface-card-soft);border-color:var(--border-strong)}.gengage-chat-categories-tab--active{background:var(--client-primary-subtle);color:var(--client-primary);border-color:color-mix(in srgb, var(--client-primary) 26%, var(--border-default))}.gengage-chat-categories-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;display:grid}.gengage-chat-categories-filter-tags{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.gengage-chat-categories-filter-tag{border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;padding:4px 10px;font-size:12px;transition:background .15s,border-color .15s,color .15s}.gengage-chat-categories-filter-tag:hover{background:var(--client-primary-subtle);border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));color:var(--client-primary)}.gengage-chat-product-grid-view-more{border:1px solid var(--ds-button-secondary-border);border-radius:var(--radius-control);background:var(--ds-button-secondary-bg);width:100%;color:var(--ds-button-secondary-fg);cursor:pointer;text-align:center;grid-column:1/-1;margin-top:8px;padding:10px;font-size:14px;font-weight:500;transition:background .15s;display:block}.gengage-chat-product-grid-view-more:hover{background:var(--ds-button-secondary-bg-hover)}.gengage-chat-product-grid--mobile{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px 0;display:grid;overflow-x:visible}.gengage-chat-product-grid--mobile .gengage-chat-product-card{width:100%;min-width:0;max-width:none}.gengage-chat-comparison--mobile{position:relative;overflow-x:clip}.gengage-chat-comparison--mobile .gengage-chat-comparison-table-wrapper{-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 88%,#0000);mask-image:linear-gradient(90deg,#000 88%,#0000)}.gengage-chat-comparison--mobile .gengage-chat-comparison-table{table-layout:fixed;min-width:480px}.gengage-chat-comparison--mobile .gengage-chat-comparison-table th:first-child,.gengage-chat-comparison--mobile .gengage-chat-comparison-table .gengage-chat-comparison-label{background:var(--surface-card);z-index:1;box-shadow:2px 0 4px color-mix(in srgb, var(--surface-shell) 8%, transparent);position:sticky;left:0}.gengage-chat-comparison--mobile .gengage-chat-comparison-table thead th:first-child{box-sizing:border-box;width:22ch;min-width:0;max-width:22ch;padding:8px 6px}.gengage-chat-comparison--mobile .gengage-chat-comparison-table td.gengage-chat-comparison-label{text-align:left;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box;vertical-align:middle;width:22ch;min-width:0;max-width:22ch;overflow:hidden}.gengage-chat-product-details-similars-heading{color:var(--text-primary);margin:16px 0 8px;font-size:18px;font-weight:700;line-height:1.2}.gengage-chat-product-details-similars{margin-top:8px}.gengage-chat-handoff-notice{background:color-mix(in srgb, var(--warning) 10%, white);border:1px solid color-mix(in srgb, var(--warning) 28%, var(--border-default));border-radius:var(--radius-control);text-align:center;flex-direction:column;align-items:center;gap:6px;margin:8px 0;padding:16px;display:flex}.gengage-chat-handoff-notice-icon{font-size:24px}.gengage-chat-handoff-notice-heading{color:color-mix(in srgb, var(--warning) 72%, var(--text-primary));margin:0;font-size:14px;font-weight:600}.gengage-chat-handoff-notice-summary{color:color-mix(in srgb, var(--warning) 84%, var(--text-primary));margin:0;font-size:13px;line-height:1.5}.gengage-chat-product-details-share{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card);width:36px;height:36px;color:var(--text-muted);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:color .12s,border-color .12s,background-color .12s;display:inline-flex;position:relative}.gengage-chat-product-details-share:hover{color:var(--client-primary);border-color:var(--client-primary);background:var(--client-primary-subtle)}.gengage-chat-product-details-share:before{content:attr(aria-label);border-radius:calc(var(--radius-control) - 4px);background:var(--surface-shell);color:var(--text-inverse);white-space:nowrap;pointer-events:none;opacity:0;z-index:2;padding:4px 8px;font-size:11px;font-weight:500;transition:opacity .15s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.gengage-chat-product-details-share:hover:before{opacity:1}.gengage-chat-product-details-share--copied:after{content:"✓";background:var(--_gengage-success-color);color:var(--client-on-primary);border-radius:var(--radius-control);justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex;position:absolute;inset:0}.gengage-chat-product-details-share svg{width:20px;height:20px}.gengage-chat-review-link,.gengage-chat-grounding-link{color:var(--client-primary);text-decoration:underline}@media (width<=768px){.gengage-chat-product-details-promo-badge{-webkit-line-clamp:2;line-clamp:2;white-space:normal;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}}.gengage-chat-launcher:focus-visible,.gengage-chat-close:focus-visible,.gengage-chat-header-btn:focus-visible,.gengage-chat-header-powered:focus-visible,.gengage-chat-send:focus-visible,.gengage-chat-action-btn:focus-visible,.gengage-chat-pill:focus-visible,.gengage-chat-input-chip:focus-visible,.gengage-chat-pills-arrow:focus-visible,.gengage-chat-error-retry:focus-visible,.gengage-chat-product-card-cta:focus-visible,.gengage-chat-product-details-cta:focus-visible,.gengage-chat-product-details-atc:focus-visible,.gengage-chat-product-detail-tab:focus-visible,.gengage-chat-panel-divider-toggle:focus-visible,.gengage-chat-panel-topbar-back:focus-visible,.gengage-chat-panel-topbar-forward:focus-visible,.gengage-chat-rollback-btn:focus-visible,.gengage-chat-ai-toppick-cta:focus-visible,.gengage-chat-comparison-toggle-btn:focus-visible,.gengage-chat-comparison-floating-btn:focus-visible,.gengage-chat-comparison-checkbox:focus-visible,.gengage-chat-product-sort-trigger:focus-visible,.gengage-chat-product-sort-option:focus-visible,.gengage-chat-product-variant-btn:focus-visible,.gengage-chat-product-gallery-thumb:focus-visible,.gengage-chat-thumbnail-btn:focus-visible,.gengage-chat-find-similar-pill:focus-visible,.gengage-chat-favorite-btn:focus-visible,.gengage-chat-attach-btn:focus-visible,.gengage-chat-attach-menu-item:focus-visible,.gengage-chat-mic-btn:focus-visible,.gengage-chat-attachment-remove:focus-visible,.gengage-chat-kvkk-dismiss:focus-visible,.gengage-chat-choice-prompter-cta:focus-visible,.gengage-chat-choice-prompter-dismiss:focus-visible,.gengage-chat-categories-tab:focus-visible,.gengage-chat-categories-filter-tag:focus-visible,.gengage-chat-product-grid-view-more:focus-visible,.gengage-chat-product-details-share:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:2px}.gengage-chat-root--mobile .gengage-chat-choice-prompter{width:auto;max-width:none;left:12px;right:12px;bottom:calc(var(--gengage-chat-launcher-mobile-bottom,16px) + var(--gengage-chat-launcher-size,56px) + env(safe-area-inset-bottom,0px) + 12px);grid-template-columns:1fr;max-height:40vh;overflow-y:auto}.gengage-chat-root--mobile .gengage-chat-choice-prompter-cta{width:100%}.gengage-chat-root--mobile .gengage-chat-product-sort-trigger,.gengage-chat-root--mobile .gengage-chat-product-sort-option,.gengage-chat-root--mobile .gengage-chat-comparison-toggle-btn{min-height:40px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-trigger-label,.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-trigger-chevron,.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-comparison-toggle-label{display:none}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-dropdown{flex:none;width:auto;max-width:none}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-trigger{justify-content:center;gap:0;width:auto;min-width:44px;padding:0 10px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-comparison-toggle-btn{justify-content:center;gap:0;width:44px;min-width:44px;padding:0}.gengage-chat-root--mobile .gengage-chat-input-chip{min-height:40px;padding:8px 12px}.gengage-chat-root--mobile .gengage-chat-choice-prompter-dismiss{width:32px;height:32px}.gengage-chat-root--mobile .gengage-chat-panel-divider-toggle{min-height:44px}.gengage-chat-root--mobile .gengage-chat-product-card-cta,.gengage-chat-root--mobile .gengage-chat-choice-prompter-cta,.gengage-chat-root--mobile .gengage-chat-product-grid-view-more{justify-content:center;align-items:center;min-height:44px;display:flex}.gengage-chat-root--mobile .gengage-chat-panel-topbar-back,.gengage-chat-root--mobile .gengage-chat-panel-topbar-forward,.gengage-chat-root--mobile .gengage-chat-favorite-btn,.gengage-chat-root--mobile .gengage-chat-product-details-share{width:44px;min-width:44px;height:44px}.gengage-chat-root--mobile .gengage-chat-panel-topbar-close{display:none}.gengage-skeleton{gap:12px;padding:12px;display:flex}.gengage-skeleton--message{flex-direction:column;gap:8px;padding:16px}.gengage-skeleton-card{flex-direction:column;flex:1;gap:8px;display:flex}.gengage-skeleton-img{border-radius:var(--radius-control);height:120px}.gengage-skeleton-text{border-radius:4px;height:14px}.gengage-skeleton-price{border-radius:4px;width:60%;height:14px}.gengage-skeleton-line{border-radius:4px;height:12px}@media (prefers-reduced-motion:no-preference){.gengage-skeleton-card,.gengage-skeleton-line,.gengage-skeleton-img,.gengage-skeleton-text,.gengage-skeleton-price{background:linear-gradient(90deg, var(--ds-neutral-100) 25%, var(--ds-neutral-200) 50%, var(--ds-neutral-100) 75%);background-size:200% 100%;animation:1.5s infinite gengage-shimmer}@keyframes gengage-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}}@media (prefers-reduced-motion:reduce){.gengage-skeleton-card,.gengage-skeleton-line,.gengage-skeleton-img,.gengage-skeleton-text,.gengage-skeleton-price{background:var(--ds-neutral-100)}}.gengage-chat-panel--has-scroll:after{content:"";background:linear-gradient(transparent, var(--surface-card-soft));pointer-events:none;height:40px;display:block;position:sticky;bottom:0}@media (prefers-reduced-motion:no-preference){.gengage-chat-panel--transitioning{opacity:0;transition:opacity .15s}}.gengage-chat-cart-toast{background:var(--success);color:var(--text-inverse);border-radius:var(--radius-pill);box-shadow:var(--shadow-3);pointer-events:none;opacity:0;z-index:10;white-space:nowrap;padding:8px 18px;font-size:13px;font-weight:600;transition:opacity .2s,transform .2s;position:absolute;bottom:72px;left:50%;transform:translate(-50%)translateY(8px)}.gengage-chat-cart-toast--visible{opacity:1;transform:translate(-50%)translateY(0)}@keyframes gengage-cart-flash{0%{transform:scale(1)}30%{transform:scale(1.25)}60%{transform:scale(.95)}to{transform:scale(1)}}.gengage-chat-header-btn--cart-flash{animation:.5s gengage-cart-flash}', Ar = U({
5160
- role: Ue(["user", "assistant"]),
5160
+ var Pr = ':where(:root,.gengage-chat-root,.gengage-qna-container,.gengage-simrel-container,.gengage-simbut-root){--ds-neutral-0:#fff;--ds-neutral-25:#fcfcfd;--ds-neutral-50:#f6f7fb;--ds-neutral-100:#f3f4f6;--ds-neutral-200:#e5e7eb;--ds-neutral-300:#d0d5dd;--ds-neutral-500:#667085;--ds-neutral-600:#475467;--ds-neutral-700:#344054;--ds-neutral-900:#111827;--ds-radius-2:8px;--ds-radius-3:12px;--ds-radius-4:16px;--ds-radius-5:20px;--ds-radius-6:24px;--ds-radius-pill:999px;--ds-shadow-1:0 1px 2px #1018280a, 0 1px 3px #1018280f;--ds-shadow-2:0 4px 12px #10182814;--ds-shadow-3:0 10px 24px #1018281f;--client-primary:var(--gengage-primary-color,#b7102a);--client-primary-hover:var(--gengage-primary-hover,color-mix(in srgb, var(--client-primary) 88%, black 12%));--client-primary-active:var(--gengage-primary-active,color-mix(in srgb, var(--client-primary) 78%, black 22%));--client-primary-subtle:color-mix(in srgb, var(--client-primary) 12%, white);--client-primary-soft:color-mix(in srgb, var(--client-primary) 20%, white);--client-on-primary:var(--gengage-primary-foreground,#fff);--client-focus-ring:color-mix(in srgb, var(--client-primary) 32%, transparent);--ai-accent-start:#0b24d6;--ai-accent-end:#f768f2;--ai-accent-soft:linear-gradient(135deg, #0b24d614, #f768f214);--surface-page:var(--gengage-page-bg,var(--ds-neutral-50));--surface-shell:var(--gengage-shell-bg,#10131a);--surface-card:var(--gengage-background-color,var(--ds-neutral-0));--surface-card-muted:var(--gengage-surface-soft,#f8fafc);--surface-card-soft:var(--surface-card-muted);--surface-elevated:var(--gengage-surface-elevated,var(--ds-neutral-0));--surface-input:var(--gengage-input-bg,var(--ds-neutral-0));--surface-overlay:var(--gengage-overlay-bg,#10131a85);--text-primary:var(--gengage-foreground-color,var(--ds-neutral-900));--text-secondary:var(--gengage-text-secondary,#4b5563);--text-muted:var(--gengage-text-muted,#6b7280);--text-inverse:var(--gengage-text-inverse,#f9fafb);--border-subtle:var(--gengage-border-subtle,#1118270f);--border-default:var(--gengage-border-color,#1118271a);--border-strong:var(--gengage-border-strong,#1118272e);--shadow-1:var(--gengage-shadow-1,var(--ds-shadow-1));--shadow-2:var(--gengage-shadow-2,var(--ds-shadow-2));--shadow-3:var(--gengage-shadow-3,var(--ds-shadow-3));--radius-control:var(--gengage-control-radius,var(--ds-radius-3));--radius-card:var(--gengage-card-radius,var(--ds-radius-4));--radius-panel:var(--gengage-panel-radius,var(--ds-radius-6));--radius-pill:var(--gengage-pill-radius,var(--ds-radius-pill));--success:var(--gengage-success-color,#16a34a);--warning:var(--gengage-warning-color,#d97706);--error:var(--gengage-error-color,#dc2626);--info:var(--gengage-info-color,#2563eb);--rating:var(--gengage-rating-color,#f5b301);--gengage-primary:var(--client-primary);--gengage-primary-soft:var(--client-primary-soft);--gengage-primary-subtle:var(--client-primary-subtle);--gengage-text-color:var(--text-primary);--gengage-text-secondary:var(--text-secondary);--gengage-hover-color:var(--surface-card-soft);--ds-button-primary-bg:var(--client-primary);--ds-button-primary-bg-hover:var(--client-primary-hover);--ds-button-primary-bg-active:var(--client-primary-active);--ds-button-primary-fg:var(--client-on-primary);--ds-button-primary-border:color-mix(in srgb, var(--client-primary) 82%, black 18%);--ds-button-secondary-bg:var(--surface-card);--ds-button-secondary-bg-hover:var(--client-primary-subtle);--ds-button-secondary-fg:var(--client-primary);--ds-button-secondary-border:color-mix(in srgb, var(--client-primary) 26%, white);--ds-button-ghost-bg:var(--surface-card-muted);--ds-button-ghost-bg-hover:var(--ds-button-ghost-bg);--ds-button-ghost-fg:var(--text-primary);--ds-button-ghost-fg-hover:var(--client-primary);--ds-button-ghost-border:var(--border-default);--ds-button-ghost-border-hover:color-mix(in srgb, var(--client-primary) 18%, white);--ds-panel-bg:var(--surface-card);--ds-panel-border:var(--border-default);--ds-panel-shadow:var(--shadow-1);--ds-panel-radius:var(--radius-panel);--ds-header-bg:var(--surface-card);--ds-header-fg:var(--text-primary);--ds-header-muted:var(--text-muted);--ds-header-border:var(--border-default);--ds-card-bg:var(--surface-card);--ds-card-bg-soft:var(--surface-card-muted);--ds-card-border:var(--border-default);--ds-card-shadow:var(--shadow-1);--ds-card-shadow-hover:var(--shadow-2);--ds-card-radius:var(--radius-card);--ds-card-border-hover:color-mix(in srgb, var(--client-primary) 14%, var(--border-default));--ds-card-bg-hover:color-mix(in srgb, var(--client-primary) 2%, var(--surface-card));--ds-product-card-media-bg:var(--surface-card-muted);--ds-product-card-media-border:var(--border-subtle);--ds-input-bg:var(--surface-input);--ds-input-border:var(--border-default);--ds-input-radius:16px;--ds-input-focus-border:color-mix(in srgb, var(--client-primary) 28%, white);--ds-input-focus-ring:0 0 0 4px var(--client-focus-ring);--ds-input-highlight:inset 0 1px 0 #fff9;--ds-chip-bg:var(--surface-card);--ds-chip-border:var(--border-default);--ds-chip-fg:var(--text-secondary);--ds-chip-bg-hover:var(--surface-card-muted);--ds-chip-bg-active:color-mix(in srgb, var(--client-primary) 8%, white);--ds-chip-border-active:color-mix(in srgb, var(--client-primary) 30%, white);--ds-chip-fg-active:var(--client-primary);--ds-tab-bg:var(--surface-card);--ds-tab-bg-hover:var(--surface-card-muted);--ds-tab-bg-active:color-mix(in srgb, var(--client-primary) 8%, white);--ds-tab-border:var(--border-default);--ds-tab-border-active:color-mix(in srgb, var(--client-primary) 26%, white);--ds-tab-fg:var(--text-secondary);--ds-tab-fg-active:var(--client-primary);--ds-badge-brand-bg:color-mix(in srgb, var(--client-primary) 10%, white);--ds-badge-brand-border:color-mix(in srgb, var(--client-primary) 18%, white);--ds-badge-brand-fg:var(--client-primary);--ds-message-user-bg:color-mix(in srgb, var(--client-primary) 10%, white);--ds-message-user-fg:var(--text-primary);--ds-message-user-border:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));--ds-message-user-shadow:none;--ds-message-assistant-bg:var(--surface-card-soft);--ds-message-assistant-fg:var(--text-primary);--ds-message-assistant-border:var(--border-default);--ds-message-assistant-shadow:none;--ds-message-active-outline:color-mix(in srgb, var(--client-primary) 68%, white);--ds-progress-card-border:var(--border-subtle);--ds-progress-mark-bg:color-mix(in srgb, var(--ai-accent-start) 8%, var(--surface-card));--ds-progress-mark-border:color-mix(in srgb, var(--ai-accent-start) 12%, var(--border-default));--ds-progress-scrollbar-thumb:color-mix(in srgb, var(--text-primary) 18%, transparent);--ds-toast-error-bg:color-mix(in srgb, var(--error) 5%, var(--surface-card));--ds-toast-error-border:color-mix(in srgb, var(--error) 18%, var(--border-default));--ds-toast-error-accent:var(--error);--ds-toast-error-fg:color-mix(in srgb, var(--error) 22%, var(--text-primary));--ds-toast-error-shadow:var(--shadow-3);--ds-comparison-table-bg:var(--surface-card);--ds-comparison-table-border:var(--border-default);--ds-comparison-table-header-bg:var(--surface-card-muted);--ds-comparison-table-header-fg:var(--text-muted);--ds-comparison-table-row-border:var(--border-subtle);--ds-comparison-table-winner-bg:color-mix(in srgb, var(--client-primary) 6%, white);--ds-comparison-table-winner-fg:var(--client-primary)}:where(.gds-panel){background:var(--ds-panel-bg);border:1px solid var(--ds-panel-border);border-radius:var(--ds-panel-radius);box-shadow:var(--ds-panel-shadow)}:where(.gengage-qna-panel,.gengage-chat-panel-topbar,.gengage-chat-chat-header,.gengage-chat-panel-ai-zone>.gengage-chat-ai-top-picks,.gengage-chat-grounding-review){border-color:var(--ds-panel-border)}:where(.gds-btn){border-radius:var(--radius-control);min-height:46px;font:inherit;cursor:pointer;border:0;outline:none;justify-content:center;align-items:center;gap:10px;padding:0 18px;font-weight:700;transition:box-shadow .15s,border-color .15s,background-color .15s,color .15s;display:inline-flex}:where(.gds-btn:hover){transform:none}:where(.gds-btn:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-btn:disabled){cursor:not-allowed;opacity:.56;box-shadow:none}:where(.gds-btn-primary){background:var(--ds-button-primary-bg);color:var(--ds-button-primary-fg);border:1px solid var(--ds-button-primary-border)}:where(.gds-btn-primary:hover){background:var(--ds-button-primary-bg-hover)}:where(.gds-btn-secondary){background:var(--ds-button-secondary-bg);color:var(--ds-button-secondary-fg);border:1px solid var(--ds-button-secondary-border)}:where(.gds-btn-secondary:hover){background:var(--ds-button-secondary-bg-hover)}:where(.gds-btn-ghost){background:var(--ds-button-ghost-bg);color:var(--ds-button-ghost-fg);border:1px solid var(--ds-button-ghost-border)}:where(.gds-btn-ghost:hover){background:var(--ds-button-ghost-bg-hover);border-color:var(--ds-button-ghost-border-hover);color:var(--ds-button-ghost-fg-hover)}:where(.gds-chip){border-radius:var(--radius-pill);border:1px solid var(--ds-chip-border);background:var(--ds-chip-bg);color:var(--ds-chip-fg);align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:700;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}:where(.gds-chip:hover){background:var(--ds-chip-bg-hover);border-color:color-mix(in srgb, var(--client-primary) 16%, var(--ds-chip-border))}:where(.gds-chip:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-chip-active){border-color:var(--ds-chip-border-active);background:var(--ds-chip-bg-active);color:var(--ds-chip-fg-active)}:where(.gds-badge){border-radius:var(--radius-pill);letter-spacing:.04em;align-items:center;min-height:28px;padding:0 10px;font-size:11px;font-weight:800;display:inline-flex}:where(.gds-badge-brand){background:var(--ds-badge-brand-bg);color:var(--ds-badge-brand-fg);border:1px solid var(--ds-badge-brand-border)}:where(.gds-shell-header){background:var(--ds-header-bg);color:var(--ds-header-fg);border-bottom:1px solid var(--ds-header-border);box-shadow:none;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}:where(.gds-shell-header [data-gengage-part=chat-header-powered-by]){color:var(--ds-header-muted)}:where(.gds-icon-btn){border-radius:var(--radius-control);width:42px;min-width:42px;height:42px;min-height:42px;padding:0}:where(.gds-input-shell){border-radius:var(--ds-input-radius);border:1px solid var(--ds-input-border);background:var(--ds-input-bg);min-height:52px;box-shadow:var(--ds-input-highlight);align-items:center;gap:12px;padding:6px 6px 6px 14px;transition:border-color .15s,box-shadow .15s,background-color .15s;display:flex}:where(.gds-input-shell:focus-within){border-color:var(--ds-input-focus-border);box-shadow:var(--ds-input-focus-ring)}:where(.gds-tab){border-radius:var(--radius-pill);border:1px solid var(--ds-tab-border);background:var(--ds-tab-bg);color:var(--ds-tab-fg);align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:700;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}:where(.gds-tab:hover){background:var(--ds-tab-bg-hover)}:where(.gds-tab:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-tab[aria-selected=true],.gds-tab.is-active){color:var(--ds-tab-fg-active);border-color:var(--ds-tab-border-active);background:var(--ds-tab-bg-active)}:where(.gds-toolbar){flex-wrap:wrap;align-items:center;gap:10px;display:flex}:where(.gds-toolbar-compact){gap:8px}:where(.gds-card){background:var(--ds-card-bg);border:1px solid var(--ds-card-border);border-radius:var(--ds-card-radius);box-shadow:var(--ds-card-shadow);transition:border-color .15s,box-shadow .15s,background-color .15s}:where(.gds-card-interactive),:where(.gds-clickable){cursor:pointer}:where(.gds-card-interactive:hover){background:var(--ds-card-bg-hover);border-color:var(--ds-card-border-hover);box-shadow:var(--ds-card-shadow-hover)}:where(.gds-card-soft){background:var(--ds-card-bg-soft)}:where(.gds-product-card){border-radius:16px}:where(.gds-evidence-card){background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-control);box-shadow:var(--shadow-1)}:where(.gds-evidence-card-success){background:color-mix(in srgb, var(--success) 10%, white);border-color:color-mix(in srgb, var(--success) 22%, var(--border-default))}:where(.gds-evidence-card-danger){background:color-mix(in srgb, var(--error) 8%, white);border-color:color-mix(in srgb, var(--error) 20%, var(--border-default))}:where(.gds-evidence-card-warning){background:color-mix(in srgb, var(--warning) 10%, white);border-color:color-mix(in srgb, var(--warning) 22%, var(--border-default))}:where(.gds-message){border-radius:calc(var(--radius-control) + 4px);word-wrap:break-word;overflow-wrap:break-word;border:1px solid #0000;max-width:85%;padding:14px 16px;font-size:14px;font-weight:400;line-height:1.55;animation:.3s cubic-bezier(.2,.7,.2,1) gengage-chat-msg-in}:where(.gds-message-user){background:var(--ds-message-user-bg);color:var(--ds-message-user-fg);border-color:var(--ds-message-user-border);box-shadow:var(--ds-message-user-shadow);border-bottom-right-radius:6px;align-self:flex-end}:where(.gds-message-assistant){background:var(--ds-message-assistant-bg);color:var(--ds-message-assistant-fg);border-color:var(--ds-message-assistant-border);box-shadow:var(--ds-message-assistant-shadow);border-bottom-left-radius:6px;align-self:flex-start;min-width:120px}:where(.gds-message-active){outline:2px solid var(--ds-message-active-outline);outline-offset:-2px}:where(.gds-ai-card){background:var(--surface-card);border:1px solid var(--ds-progress-card-border);border-radius:20px;gap:16px;padding:18px;display:grid}:where(.gds-ai-mark){background:var(--ds-progress-mark-bg);width:42px;height:42px;color:var(--ai-accent-start);border:1px solid var(--ds-progress-mark-border);border-radius:14px;place-items:center;display:grid}:where(.gds-ai-loader-row){align-items:center;gap:12px;display:flex}:where(.gds-progress-loader){border:1px solid color-mix(in srgb, var(--ai-accent-start) 10%, var(--border-default));background:linear-gradient(110deg, var(--surface-card-soft) 8%, color-mix(in srgb, var(--ai-accent-start) 5%, var(--surface-card)) 18%, var(--surface-card-soft) 33%);width:fit-content;max-width:100%;color:var(--text-secondary);background-size:220% 100%;border-radius:14px;align-items:center;gap:10px;padding:8px 14px;animation:1.8s linear infinite gds-progress-shimmer;display:inline-flex}:where(.gds-progress-loader-chat){box-sizing:border-box;align-self:flex-start;width:100%;min-width:0;max-width:85%;display:flex}:where(.gds-progress-loader-chat) .gds-progress-label{overflow-wrap:anywhere;flex:auto;min-width:0}:where(.gds-progress-loader-panel){box-sizing:border-box;justify-content:flex-start;align-items:center;width:100%;min-width:0;max-width:100%;display:flex}:where(.gds-progress-loader-panel) .gds-progress-label{overflow-wrap:anywhere;flex:auto;min-width:0}:where(.gds-progress-label){min-width:0;color:var(--text-secondary);word-break:break-word;font-size:13px;line-height:1.5}:where(.gds-progress-dots){flex-shrink:0;align-items:center;gap:6px;display:inline-flex}:where(.gds-progress-dot){background:color-mix(in srgb, var(--ai-accent-start) 20%, var(--text-muted));border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite gds-progress-dot-pulse;display:inline-block}:where(.gds-progress-dot:nth-child(2)){animation-delay:.2s}:where(.gds-progress-dot:nth-child(3)){animation-delay:.4s}:where(.gds-ai-status){border-radius:calc(var(--radius-control) + 2px);border:1px solid var(--border-default);background:var(--surface-card-muted);max-width:85%;color:var(--text-secondary);border-bottom-left-radius:6px;align-self:flex-start;align-items:center;gap:8px;padding:10px 14px;display:flex}:where(.gds-ai-status-text){color:var(--text-secondary);font-size:13px;font-style:italic}:where(.gds-ai-dot-loader){align-items:center;gap:5px;display:inline-flex}:where(.gds-ai-dot-loader span){background:color-mix(in srgb, var(--ai-accent-start) 38%, var(--text-muted));border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite gds-progress-dot-pulse;display:inline-block}:where(.gds-ai-dot-loader span:nth-child(2)){animation-delay:.2s}:where(.gds-ai-dot-loader span:nth-child(3)){animation-delay:.4s}:where(.gds-ai-spinner){border:2.5px solid var(--border-default);border-top-color:var(--ai-accent-start);border-radius:50%;flex-shrink:0;width:26px;height:26px;animation:.72s linear infinite gds-spin}@keyframes gds-spin{to{transform:rotate(360deg)}}@keyframes gds-progress-shimmer{0%{background-position:200% 0}to{background-position:-20% 0}}@keyframes gds-progress-dot-pulse{0%,to{opacity:.45;transform:scale(.7)}50%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){:where(.gds-progress-loader){animation:none}:where(.gds-progress-dot){opacity:.85;animation:none;transform:scale(1)}:where(.gds-ai-spinner){animation:none}:where(.gds-ai-dot-loader span){opacity:.85;animation:none}}:where(.gds-menu){border-radius:var(--radius-card);border:1px solid var(--border-default);background:var(--surface-elevated);box-shadow:var(--shadow-3);padding:4px}:where(.gds-menu-option){border-radius:calc(var(--radius-control) - 4px);width:100%;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:8px 10px;font-size:12px;font-weight:500;line-height:1.25;transition:background-color .15s,color .15s;display:flex}:where(.gds-menu-option:hover){background:var(--surface-card-muted)}:where(.gds-menu-option:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-menu-option-active){background:var(--client-primary-subtle);color:var(--client-primary);font-weight:600}:where(.gds-comparison-table){border-collapse:separate;border-spacing:0;border:1px solid var(--ds-comparison-table-border);background:var(--ds-comparison-table-bg);border-radius:20px;width:100%;overflow:hidden}:where(.gds-comparison-table th,.gds-comparison-table td){text-align:left;border-bottom:1px solid var(--ds-comparison-table-row-border);padding:14px 16px;font-size:13px}:where(.gds-comparison-table th){background:var(--ds-comparison-table-header-bg);text-transform:uppercase;letter-spacing:.08em;color:var(--ds-comparison-table-header-fg);font-size:11px}:where(.gds-comparison-table tr:last-child td){border-bottom:0}:where(.gds-comparison-table-winner-cell){background:var(--ds-comparison-table-winner-bg);color:var(--ds-comparison-table-winner-fg);font-weight:800}:host{all:initial;font-family:var(--gengage-font-family,"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);font-size:var(--gengage-font-size,14px)}.gengage-chat-root button,.gengage-chat-root [role=button],.gengage-chat-root a{cursor:pointer}.gengage-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.gengage-chat-root{z-index:var(--gengage-z-index,2147480000);--_gengage-chat-offset:var(--gengage-chat-offset,20px);--_gengage-chat-launcher-bottom:var(--gengage-chat-launcher-bottom,20px);--_gengage-chat-launcher-right:var(--gengage-chat-launcher-right,20px);--_gengage-chat-launcher-size:var(--gengage-chat-launcher-size,56px);--_gengage-chat-drawer-width:var(--gengage-chat-width,400px);--_gengage-chat-radius:var(--gengage-chat-shell-radius,1rem);--_gengage-chat-header-height:var(--gengage-chat-header-height,72px);--_gengage-chat-conversation-width:var(--gengage-chat-conversation-width,396px);--_gengage-chat-panel-min-width:var(--gengage-chat-panel-min-width,320px);--_gengage-chat-panel-max-width:var(--gengage-chat-panel-max-width,1200px);--_gengage-chat-input-height:var(--gengage-chat-input-height,48px);--_gengage-chat-shadow:var(--gengage-chat-shadow,var(--shadow-3));--_gengage-border-color:var(--border-default);--_gengage-discount-color:var(--gengage-discount-color,var(--client-primary));--_gengage-campaign-reason-start:var(--gengage-campaign-reason-color,var(--client-primary));--_gengage-campaign-reason-end:var(--gengage-campaign-reason-color-end,var(--gengage-campaign-reason-color,var(--client-primary)));--_gengage-success-color:var(--success);--_gengage-text-primary:var(--text-primary);--_gengage-text-secondary:var(--text-secondary);--_gengage-surface-secondary:var(--surface-card-soft);--_gengage-surface-muted:var(--surface-card-soft);--_gengage-surface-dark:var(--surface-shell);--_gengage-rating-color:var(--rating);--_gengage-error:var(--error);--_gengage-danger-color:var(--error);--_gengage-ghost-border:var(--gengage-ghost-border,color-mix(in srgb, var(--client-primary) 16%, transparent));position:fixed}.gengage-chat-backdrop{z-index:0;pointer-events:none;cursor:pointer;box-sizing:border-box;-webkit-tap-highlight-color:transparent;background:0 0;border:none;margin:0;padding:0;display:none;position:fixed;inset:0}.gengage-chat-root--open:not(.gengage-chat--inline) .gengage-chat-backdrop{pointer-events:none;background:var(--gengage-chat-float-backdrop,transparent);display:block}.gengage-chat-root--open.gengage-chat-root--maximized-host-chrome:not(.gengage-chat--inline) .gengage-chat-backdrop{pointer-events:auto;background:var(--gengage-chat-float-backdrop,color-mix(in srgb, var(--surface-overlay) 72%, transparent))}.gengage-chat-root.gengage-chat--overlay.gengage-chat-root--open .gengage-chat-backdrop{background:var(--gengage-chat-overlay-backdrop,var(--surface-overlay));pointer-events:auto}.gengage-chat-launcher-container{bottom:var(--_gengage-chat-launcher-bottom);right:var(--_gengage-chat-launcher-right);z-index:var(--gengage-z-index,2147480000);flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:fixed}.gengage-chat-launcher-content-area,.gengage-chat-launcher-content-area-bottom{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.gengage-chat-launcher-content-area:empty,.gengage-chat-launcher-content-area-bottom:empty,.gengage-chat-root--open .gengage-chat-launcher-content-area,.gengage-chat-root--open .gengage-chat-launcher-content-area-bottom{display:none}.gengage-chat-root--open .gengage-chat-launcher-container{pointer-events:none;opacity:0;transition:opacity .2s}.gengage-chat-launcher{width:var(--_gengage-chat-launcher-size);height:var(--_gengage-chat-launcher-size);border:1px solid var(--ds-button-primary-border);background:var(--ds-button-primary-bg);color:var(--ds-button-primary-fg);cursor:pointer;box-shadow:var(--shadow-3);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s;display:flex;position:relative}.gengage-chat-launcher:hover{box-shadow:var(--shadow-3);transform:none}.gengage-chat-launcher svg{width:28px;height:28px}.gengage-chat-launcher--image-mode{box-shadow:none;background:0 0;border:none;border-radius:0;padding:0;overflow:hidden}.gengage-chat-launcher--image-mode:hover{box-shadow:none}.gengage-chat-launcher--image-mode img{object-fit:contain;width:100%;height:100%}.gengage-chat-launcher--hidden-mobile{display:none!important}.gengage-chat-launcher-tooltip{border-radius:var(--radius-control);background:var(--surface-shell);color:var(--text-inverse);white-space:nowrap;opacity:0;pointer-events:none;box-shadow:var(--shadow-2);padding:6px 12px;font-size:13px;font-weight:500;transition:opacity .2s;position:absolute;top:50%;right:calc(100% + 12px);transform:translateY(-50%)}.gengage-chat-launcher-tooltip:after{content:"";border:5px solid #0000;border-left-color:var(--surface-shell);position:absolute;top:50%;left:100%;transform:translateY(-50%)}.gengage-chat-launcher:hover .gengage-chat-launcher-tooltip{opacity:1}.gengage-chat-root--open .gengage-chat-launcher-tooltip{display:none}.gengage-chat-drawer{width:var(--_gengage-chat-drawer-width);background:var(--surface-elevated,var(--surface-card));border-left:1px solid var(--border-default);max-height:100dvh;box-shadow:var(--_gengage-chat-shadow);z-index:var(--gengage-z-index,2147480000);opacity:1;border-radius:0;flex-direction:column;transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .2s;display:flex;position:fixed;top:0;bottom:0;right:0;overflow:hidden;transform:translate(0)}.gengage-chat-root--mobile .gengage-chat-launcher-container{right:var(--gengage-chat-launcher-mobile-right,16px);bottom:calc(var(--gengage-chat-launcher-mobile-bottom,16px) + env(safe-area-inset-bottom,0px))}.gengage-chat-root--mobile .gengage-chat-drawer{border:1px solid var(--border-default);width:100%;max-width:none;max-height:100dvh;box-shadow:var(--shadow-3);padding-bottom:env(safe-area-inset-bottom,0px);background:var(--surface-elevated,var(--surface-card));border-bottom:none;border-radius:16px 16px 0 0;bottom:0;left:0;right:0}.gengage-chat-drawer-handle{display:none}.gengage-chat-root--mobile .gengage-chat-drawer-handle{pointer-events:none;z-index:1;justify-content:center;align-items:center;height:14px;display:flex;position:absolute;top:6px;left:0;right:0}.gengage-chat-root--mobile .gengage-chat-header{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.gengage-chat-root--mobile .gengage-chat-header button,.gengage-chat-root--mobile .gengage-chat-header a{cursor:pointer;touch-action:auto;-webkit-user-select:auto;user-select:auto}.gengage-chat-root--mobile .gengage-chat-drawer-handle:before{content:"";background:var(--border-strong);pointer-events:none;border-radius:999px;width:36px;height:4px}.gengage-chat-root--mobile.gengage-chat-root--mobile-half .gengage-chat-drawer{height:min(72dvh,620px);max-height:min(72dvh,620px);top:auto}.gengage-chat-root--mobile.gengage-chat-root--mobile-full .gengage-chat-drawer{border-radius:0;height:100dvh;max-height:100dvh;top:0}.gengage-chat-root--mobile .gengage-chat-input-area{padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border-default);transform:translateY(calc(-1 * var(--gengage-keyboard-offset,0px)))}.gengage-chat-header{box-sizing:border-box;height:var(--_gengage-chat-header-height);background:var(--gengage-chat-header-bg,var(--ds-header-bg));color:var(--gengage-chat-header-foreground,var(--ds-header-fg));box-shadow:none;border-bottom:1px solid var(--gengage-chat-header-border-bottom,var(--ds-header-border));z-index:2;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex;position:relative}.gengage-chat-header-left{align-items:center;gap:10px;min-width:0;display:flex}.gengage-chat-header-avatar{background:var(--surface-card-soft);border:1px solid var(--border-default);object-fit:contain;border-radius:999px;flex-shrink:0;width:44px;height:44px}.gengage-chat-header-avatar--logo{object-fit:contain;background:0 0;border:none;border-radius:0;width:auto;max-width:92px;height:45px}.gengage-chat-header-info{flex-direction:column;gap:2px;min-width:0;display:flex}.gengage-chat-header-title-row{align-items:center;gap:6px;min-width:0;display:flex}.gengage-chat-header-title{letter-spacing:.01em;color:inherit;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:16px;font-weight:700;line-height:1.25;display:block;overflow:hidden}.gengage-chat-header-badge{border-radius:var(--radius-pill);background:var(--ds-badge-brand-bg);min-height:26px;color:var(--ds-badge-brand-fg);border:1px solid var(--ds-badge-brand-border);letter-spacing:.04em;text-transform:uppercase;align-items:center;padding:0 10px;font-size:10px;font-weight:800;line-height:1.5;display:inline-flex}.gengage-chat-header-powered{color:var(--ds-header-muted);align-items:center;gap:4px;font-size:11px;line-height:1.2;text-decoration:none;transition:color .15s;display:flex}.gengage-chat-header-powered:hover{color:var(--client-primary)}.gengage-chat-header-powered svg{opacity:.6;flex-shrink:0;width:12px;height:12px}.gengage-chat-header-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.gengage-chat-header-btn{border-radius:var(--radius-control,12px);background:var(--surface-card-soft);border:1px solid var(--border-default);width:42px;height:42px;color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;line-height:1;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.gengage-chat-header-btn:hover{background:var(--client-primary-subtle);color:var(--client-primary);border-color:color-mix(in srgb, var(--client-primary) 18%, white)}.gengage-chat-header-btn--fav{position:relative}.gengage-chat-header-btn--reopen-panel,.gengage-chat-root--mobile .gengage-chat-new-chat{display:none}.gengage-chat-header-fav-badge{background:var(--error);min-width:16px;height:16px;color:var(--text-inverse);text-align:center;pointer-events:none;border-radius:999px;padding:0 3px;font-size:9px;font-weight:700;line-height:16px;position:absolute;top:-4px;right:-4px}.gengage-chat-close{border-radius:var(--radius-control,12px);background:var(--surface-card-soft);border:1px solid var(--border-default);width:42px;min-width:42px;height:42px;min-height:42px;color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;font-size:18px;line-height:1;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.gengage-chat-close:hover{background:var(--client-primary-subtle);color:var(--client-primary);border-color:color-mix(in srgb, var(--client-primary) 18%, white)}.gengage-chat-body{flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.gengage-chat-panel{width:0;transition:width .22s cubic-bezier(.2,.72,.2,1);display:none;overflow:hidden}.gengage-chat-panel--visible{box-sizing:border-box;background:var(--gengage-chat-panel-bg,var(--surface-card));border-right:1px solid var(--border-default);scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--text-muted) 24%, transparent) transparent;flex-direction:column;width:440px;min-width:440px;padding:16px;display:flex;position:relative;overflow-y:auto}.gengage-chat-panel--visible::-webkit-scrollbar{width:6px}.gengage-chat-panel--visible::-webkit-scrollbar-track{background:0 0}.gengage-chat-panel--visible::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text-muted) 24%, transparent);border-radius:3px}.gengage-chat-panel--visible::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--text-muted) 36%, transparent)}.gengage-chat-panel-ai-zone{box-sizing:border-box;border-bottom:1px solid var(--border-subtle);flex-shrink:0;width:100%;max-height:min(42vh,320px);margin-bottom:4px;padding:8px 0 12px;overflow:auto}.gengage-chat-panel-ai-zone:has(.gengage-chat-grouping-cards){max-height:min(52vh,520px)}.gengage-chat-panel-ai-zone:has(.gengage-chat-ai-top-picks){max-height:none;overflow:visible}.gengage-chat-panel-ai-zone[hidden]{display:none!important}.gengage-chat-panel-ai-zone-inner{align-items:center;gap:10px;display:flex}.gengage-chat-panel-ai-zone-text{color:var(--text-muted);font-size:13px}.gengage-chat-grouping-section-title{display:none}.gengage-chat-panel-ai-zone .gengage-chat-grouping-section-title{width:100%;color:var(--text-primary);letter-spacing:-.01em;flex-shrink:0;align-self:stretch;margin:0 0 10px;font-size:15px;font-weight:700;display:block}.gengage-chat-panel-ai-zone .gengage-chat-grouping-cards{flex-direction:column;align-items:stretch;gap:0;width:100%;min-width:0;max-height:none;display:flex}.gengage-chat-panel-ai-zone .gengage-chat-grouping-cards-scroll{-webkit-overflow-scrolling:touch;scrollbar-width:thin;flex-flow:row;align-items:stretch;gap:10px;width:100%;min-width:0;margin:0 -2px;padding:2px 2px 10px;display:flex;overflow:auto hidden}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card{box-sizing:border-box;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-card);width:136px;min-width:136px;max-width:150px;box-shadow:var(--shadow-1);flex-direction:column;flex:none;align-items:stretch;gap:8px;padding:12px 10px 14px}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card:hover{border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));box-shadow:var(--shadow-2)}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-arrow{display:none}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-img{object-fit:cover;border-radius:8px;width:100%;min-width:0;max-width:88px;height:72px;min-height:72px;margin:0 auto}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-body{text-align:center;flex-direction:column;align-items:center;gap:4px;width:100%}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-name{font-size:13px;font-weight:700;line-height:1.25}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-desc{color:var(--text-muted);font-size:11px;line-height:1.3}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-labels{white-space:normal;text-overflow:unset;justify-content:center;margin-top:2px;line-height:1.35;overflow:visible}.gengage-chat-panel-divider{cursor:pointer;background:var(--_gengage-border-color);z-index:2;flex-shrink:0;align-items:center;width:4px;transition:background .15s;display:flex;position:relative}.gengage-chat-panel-divider:hover{background:var(--border-strong)}.gengage-chat-panel-divider--hidden{display:none}.gengage-chat-panel-divider-toggle{border:1px solid var(--_gengage-border-color);background:var(--surface-card);cursor:pointer;width:28px;height:48px;color:var(--text-secondary);box-shadow:var(--shadow-1);border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;transition:background .15s,color .15s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.gengage-chat-panel-divider-toggle:hover{background:var(--surface-card-muted);color:var(--client-primary)}.gengage-chat-panel-divider-preview{pointer-events:none;border:1px solid var(--border-default);background:color-mix(in srgb, var(--surface-elevated) 96%, transparent);width:38px;height:192px;box-shadow:var(--shadow-2);z-index:1;border-radius:999px;flex-direction:column;gap:2px;padding:6px 4px;display:none;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.gengage-chat-panel-divider-preview:after{content:"";background:linear-gradient(180deg, transparent, color-mix(in srgb, var(--surface-shell) 10%, transparent));pointer-events:none;position:absolute;inset:0}.gengage-chat-panel-divider-preview-thumb{border-radius:999px;flex:1 1 0;min-height:0;position:relative;overflow:hidden}.gengage-chat-panel-divider-preview-img{object-fit:cover;filter:grayscale(.55)saturate(.8)brightness(.92);opacity:.9;width:100%;height:100%;transform:scale(1.14)}.gengage-chat-panel.gengage-chat-panel--collapsed{border-right:none;flex:0 0 0;width:0;min-width:0;max-width:0;padding:0;overflow:hidden}.gengage-chat-panel--collapsed~.gengage-chat-panel-divider{background:0 0;width:0}.gengage-chat-panel--collapsed~.gengage-chat-panel-divider .gengage-chat-panel-divider-toggle{left:50%;transform:translate(-50%,-50%)}.gengage-chat-panel--collapsed~.gengage-chat-panel-divider.gengage-chat-panel-divider--preview-active .gengage-chat-panel-divider-preview{display:flex;left:50%;transform:translate(-50%,-50%)}.gengage-chat-conversation{background:var(--surface-card);z-index:1;flex-direction:column;flex:1;min-width:0;display:flex;position:relative;overflow:hidden}.gengage-chat-drawer--with-panel{width:auto;box-shadow:none;background:0 0;overflow:visible}.gengage-chat-drawer--with-panel .gengage-chat-header{border-radius:0;flex-shrink:0}.gengage-chat-drawer--with-panel .gengage-chat-body{flex:1 1 0;align-items:stretch;gap:0;min-height:0;padding:0;overflow:visible}.gengage-chat-drawer--with-panel .gengage-chat-panel--visible{width:clamp(var(--_gengage-chat-panel-min-width), 56vw, var(--_gengage-chat-panel-max-width));min-width:var(--_gengage-chat-panel-min-width);max-width:var(--_gengage-chat-panel-max-width);background:var(--gengage-chat-panel-bg,var(--surface-card));box-shadow:none;border-right:none;border-radius:0;flex:none;max-height:100dvh;margin:0;padding:0 16px 16px;overflow-y:auto}.gengage-chat-drawer--with-panel .gengage-chat-panel-divider{background:0 0;width:0}.gengage-chat-drawer--with-panel .gengage-chat-panel-divider-toggle{background:var(--surface-card);width:20px;height:48px;color:var(--client-primary);border:1px solid color-mix(in srgb, var(--client-primary) 20%, var(--border-default));box-shadow:var(--shadow-1);z-index:10;border-radius:10px;font-size:12px}.gengage-chat-drawer--with-panel .gengage-chat-panel-divider-toggle:hover{background:var(--client-primary-subtle);color:var(--client-primary)}.gengage-chat-drawer--with-panel .gengage-chat-panel-divider--preview-active .gengage-chat-panel-divider-toggle:hover{background:var(--client-primary-subtle)}.gengage-chat-drawer--with-panel .gengage-chat-conversation{flex:0 0 var(--_gengage-chat-conversation-width);width:var(--_gengage-chat-conversation-width);background:var(--surface-card);box-shadow:var(--shadow-2);border-left:none}.gengage-chat-drawer--with-panel .gengage-chat-messages{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--text-muted) 22%, transparent) transparent;padding-right:6px}.gengage-chat-drawer--with-panel .gengage-chat-messages::-webkit-scrollbar{width:0}.gengage-chat-drawer--with-panel .gengage-chat-panel.gengage-chat-panel--collapsed{flex:0 0 0;width:0;min-width:0;max-width:0;padding:0;overflow:hidden}.gengage-chat-drawer--with-panel:has(.gengage-chat-panel--collapsed){width:var(--_gengage-chat-conversation-width);background:var(--surface-elevated,var(--surface-card));box-shadow:var(--_gengage-chat-shadow)}.gengage-chat-drawer--with-panel .gengage-chat-footer{display:none}.gengage-chat-messages{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;flex-direction:column;flex:1;gap:16px;min-height:0;padding:16px;display:flex;overflow-y:auto}.gengage-chat-messages::-webkit-scrollbar{width:6px}.gengage-chat-messages::-webkit-scrollbar-track{background:0 0}.gengage-chat-messages::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text-muted) 22%, transparent);border-radius:3px}.gengage-chat-messages::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--text-muted) 36%, transparent)}.gengage-chat-bubble--presentation-collapsed{display:none!important}.gengage-chat-former-messages-btn{z-index:2;border-radius:var(--radius-pill);border:1px solid var(--ds-chip-border);background:color-mix(in srgb, var(--surface-card) 96%, transparent);color:var(--text-primary);cursor:pointer;box-shadow:var(--shadow-1);flex-shrink:0;align-self:center;margin-bottom:4px;padding:8px 14px;font-size:13px;font-weight:600;position:sticky;top:0}.gengage-chat-former-messages-btn:hover{background:var(--surface-card-muted)}.gengage-chat-bubble{position:relative}@keyframes gengage-chat-msg-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.gengage-chat-bubble--user{max-width:85%}.gengage-chat-bubble--assistant{max-width:85%;margin-left:2px}.gengage-chat-bubble--active{outline:2px solid var(--ds-message-active-outline);outline-offset:-2px}.gengage-chat-bubble--assistant:empty{display:none}.gengage-chat-bubble--assistant .gengage-chat-bubble-text a{color:var(--client-primary);text-decoration:underline}.gengage-chat-bubble--assistant .gengage-chat-bubble-text a:hover{text-decoration:none}.gengage-chat-bubble--assistant .gengage-chat-bubble-text p{margin:0 0 8px}.gengage-chat-bubble--assistant .gengage-chat-bubble-text p:last-child{margin-bottom:0}.gengage-chat-bubble--assistant .gengage-chat-bubble-text ul,.gengage-chat-bubble--assistant .gengage-chat-bubble-text ol{margin:6px 0;padding-left:20px}.gengage-chat-bubble--assistant .gengage-chat-bubble-text li{margin-bottom:6px;line-height:1.5}.gengage-chat-bubble--assistant .gengage-chat-bubble-text code{background:color-mix(in srgb, var(--text-primary) 8%, transparent);border-radius:6px;padding:1px 4px;font-size:.9em}.gengage-chat-bubble--assistant .gengage-chat-bubble-text pre{background:color-mix(in srgb, var(--surface-card) 78%, var(--surface-card-soft));border:1px solid var(--border-subtle);border-radius:12px;margin:4px 0;padding:10px 12px;overflow-x:auto}.gengage-chat-bubble--assistant .gengage-chat-bubble-text table{border-collapse:collapse;margin:4px 0;font-size:.9em}.gengage-chat-bubble--assistant .gengage-chat-bubble-text th,.gengage-chat-bubble--assistant .gengage-chat-bubble-text td{border:1px solid var(--border-default);padding:4px 8px}.gengage-chat-bubble--assistant .gengage-chat-bubble-text img{border-radius:12px;max-width:100%;height:auto;margin:4px 0}.gengage-chat-bubble--assistant .gengage-chat-bubble-text h1,.gengage-chat-bubble--assistant .gengage-chat-bubble-text h2,.gengage-chat-bubble--assistant .gengage-chat-bubble-text h3,.gengage-chat-bubble--assistant .gengage-chat-bubble-text h4,.gengage-chat-bubble--assistant .gengage-chat-bubble-text h5,.gengage-chat-bubble--assistant .gengage-chat-bubble-text h6{color:var(--text-primary);margin:8px 0 4px;line-height:1.3}.gengage-chat-bubble--assistant .gengage-chat-bubble-text blockquote{border-left:3px solid var(--border-default);color:var(--text-secondary);margin:4px 0;padding-left:12px}.gengage-chat-bubble--assistant .gengage-chat-bubble-text{overflow-wrap:break-word}.gengage-chat-bubble--photo-analysis{border-color:color-mix(in srgb, var(--client-primary) 24%, var(--border-default));background:linear-gradient(165deg, color-mix(in srgb, var(--surface-card-soft) 80%, white), var(--surface-card))}.gengage-chat-photo-analysis-card{flex-direction:column;gap:10px;display:flex}.gengage-chat-photo-analysis-badge{letter-spacing:.02em;color:var(--client-primary);background:color-mix(in srgb, var(--client-primary) 14%, white);border:1px solid color-mix(in srgb, var(--client-primary) 24%, var(--border-default));border-radius:999px;align-self:flex-start;padding:4px 10px;font-size:11px;font-weight:800}.gengage-chat-photo-analysis-body{flex-direction:column;gap:12px;display:flex}.gengage-chat-photo-analysis-summary{color:var(--text-primary);margin:0;font-size:14px;line-height:1.55}.gengage-chat-photo-analysis-highlights{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.gengage-chat-photo-analysis-section{border:1px solid color-mix(in srgb, var(--client-primary) 14%, var(--border-default));background:color-mix(in srgb, var(--surface-card-soft) 78%, white);border-radius:14px;flex-direction:column;gap:8px;padding:12px;display:flex}.gengage-chat-photo-analysis-section--celeb{gap:6px}.gengage-chat-photo-analysis-section-title{letter-spacing:.03em;text-transform:uppercase;color:var(--text-secondary);margin:0;font-size:12px;font-weight:800}.gengage-chat-photo-analysis-section-list{color:var(--text-primary);gap:6px;margin:0;padding-left:18px;font-size:13px;line-height:1.5;display:grid}.gengage-chat-photo-analysis-section-item{margin:0}.gengage-chat-photo-analysis-celeb-name{color:var(--text-primary);margin:0;font-size:15px;font-weight:800;line-height:1.35}.gengage-chat-photo-analysis-celeb-reason{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.5}.gengage-chat-photo-analysis-details{border:1px solid color-mix(in srgb, var(--client-primary) 12%, var(--border-default));background:color-mix(in srgb, var(--surface-card-soft) 54%, white);border-radius:12px;overflow:hidden}.gengage-chat-photo-analysis-details-summary{cursor:pointer;color:var(--client-primary);padding:10px 12px;font-size:13px;font-weight:700;list-style:none}.gengage-chat-photo-analysis-details-summary::-webkit-details-marker{display:none}.gengage-chat-photo-analysis-points{color:var(--text-primary);gap:6px;margin:0;padding-left:18px;font-size:13px;line-height:1.5;display:grid}.gengage-chat-photo-analysis-details .gengage-chat-photo-analysis-points{padding:0 16px 14px 32px}.gengage-chat-photo-analysis-next{background:color-mix(in srgb, var(--client-primary) 9%, white);color:var(--text-primary);border-radius:12px;margin:0;padding:10px 12px;font-size:13px;font-weight:700;line-height:1.45}.gengage-chat-bubble--first{border-left:1px solid var(--ds-message-assistant-border)}.gengage-chat-bubble--first .gengage-chat-bubble-text{font-size:inherit}@media (width<=768px){.gengage-chat-bubble--assistant .gengage-chat-bubble-text{line-height:1.5}.gengage-chat-bubble--user{word-break:break-word;max-width:calc(100% - 16px)}}.gengage-chat-typing{align-self:flex-start;max-width:85%}.gengage-chat-typing-dots{flex-shrink:0}.gengage-chat-typing-text{flex:1;min-width:0}.gengage-chat-panel-loading-status{margin-bottom:16px}.gengage-chat-panel-loading-status.gds-progress-loader-panel{box-sizing:border-box;min-width:0;max-width:100%}.gengage-chat-root--mobile .gengage-chat-panel-loading-status.gds-progress-loader-panel{max-width:100%}.gengage-chat-root--mobile .gengage-chat-panel-loading-status .gengage-chat-panel-loading-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.gengage-chat-offline-bar{color:color-mix(in srgb, var(--warning) 72%, var(--text-primary));background:color-mix(in srgb, var(--warning) 10%, white);border-bottom:1px solid color-mix(in srgb, var(--warning) 22%, var(--border-default));align-items:center;gap:6px;padding:6px 12px;font-size:12px;line-height:1.4;display:none}.gengage-chat-offline-bar--visible{display:flex}.gengage-chat-offline-bar:before{content:"";background:var(--_gengage-rating-color);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.gengage-chat-thinking-steps{flex-direction:column;gap:4px;padding:4px 0;display:flex}.gengage-chat-thinking-step{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;display:flex}.gengage-chat-thinking-step-marker{text-align:center;flex-shrink:0;width:16px;font-size:12px}.gengage-chat-thinking-step-marker--done{color:var(--_gengage-success-color)}.gengage-chat-thinking-step-marker--active{color:var(--ai-accent-start);animation:1.5s ease-in-out infinite gengage-thinking-pulse}@keyframes gengage-thinking-pulse{0%,to{opacity:1}50%{opacity:.4}}.gengage-chat-thinking-step-text{line-height:1.4}.gengage-chat-error{border-radius:var(--radius-control);background:color-mix(in srgb, var(--error) 10%, white);color:color-mix(in srgb, var(--error) 84%, var(--text-primary));text-align:center;border:1px solid color-mix(in srgb, var(--error) 22%, var(--border-default));justify-content:center;align-items:center;gap:10px;padding:10px 14px;font-size:13px;display:flex}.gengage-chat-error-retry{border:1px solid color-mix(in srgb, var(--error) 24%, var(--border-default));border-radius:var(--radius-control);background:var(--surface-card);color:color-mix(in srgb, var(--error) 84%, var(--text-primary));cursor:pointer;flex-shrink:0;padding:4px 12px;font-size:12px;font-weight:500;transition:background .15s,border-color .15s}.gengage-chat-error-retry:hover{background:color-mix(in srgb, var(--error) 8%, white);border-color:color-mix(in srgb, var(--error) 32%, var(--border-default))}.gengage-chat-input-area{border-top:1px solid var(--border-subtle);background:var(--surface-card);z-index:2;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:0;padding:10px 12px 12px;display:flex;position:relative}.gengage-chat-input-pill{background:var(--surface-card);border:1px solid var(--border-default);min-width:0;min-height:52px;box-shadow:none;border-radius:16px;flex:1;align-items:center;gap:12px;padding:6px 6px 6px 14px;transition:border-color .2s,box-shadow .2s;display:flex;overflow:visible}.gengage-chat-input-pill:focus-within{border-color:color-mix(in srgb, var(--client-primary) 28%, white);box-shadow:0 0 0 4px var(--client-focus-ring)}.gengage-chat-input{min-width:0;min-height:40px;max-height:120px;color:var(--_gengage-text-primary);resize:none;background:0 0;border:none;border-radius:0;outline:none;flex:1;align-content:center;padding:0;font-family:inherit;font-size:14px;line-height:1.4;overflow-y:hidden}.gengage-chat-root--mobile .gengage-chat-input-pill{min-height:52px;padding:6px 6px 6px 14px}.gengage-chat-root--mobile .gengage-chat-input{white-space:nowrap;min-height:44px;max-height:44px;font-size:16px;overflow:hidden}.gengage-chat-input::placeholder{color:var(--text-muted);font-size:14px;line-height:normal}.gengage-chat-send{border:1px solid var(--ds-button-primary-border);background:var(--ds-button-primary-bg);width:40px;min-width:40px;height:40px;color:var(--ds-button-primary-fg);cursor:pointer;box-shadow:none;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:0;font-weight:700;transition:background-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s,transform .15s;display:flex;position:relative}.gengage-chat-send:hover{background:var(--ds-button-primary-bg-hover);box-shadow:none;transform:none}.gengage-chat-send:active{box-shadow:none;transform:translateY(0)}.gengage-chat-send svg{width:18px;height:18px}.gengage-chat-send--stop{background:var(--surface-card-soft);border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));color:var(--text-primary)}.gengage-chat-send--stop:hover{background:color-mix(in srgb, var(--surface-card-soft) 86%, var(--client-primary-subtle));border-color:color-mix(in srgb, var(--client-primary) 24%, var(--border-default));color:var(--client-primary)}.gengage-chat-send-stop-icon{background:currentColor;border-radius:4px;width:12px;height:12px;display:inline-block}.gengage-chat-send--stop:after{content:attr(data-tooltip);background:color-mix(in srgb, var(--surface-shell) 98%, black);border:1px solid color-mix(in srgb, var(--surface-shell) 60%, white);box-shadow:var(--shadow-2);color:var(--text-inverse);white-space:nowrap;opacity:0;pointer-events:none;z-index:12;border-radius:10px;padding:7px 10px;font-size:12px;font-weight:600;line-height:1.2;transition:opacity .16s;position:absolute;top:50%;right:calc(100% + 10px);transform:translateY(-50%)}@media (hover:hover) and (pointer:fine){.gengage-chat-send--stop:hover:after,.gengage-chat-send--stop:focus-visible:after{opacity:1}}.gengage-chat-send:disabled{background:var(--ds-neutral-200);border-color:var(--ds-neutral-200);opacity:.5;box-shadow:none;cursor:not-allowed}.gengage-chat-footer{text-align:center;color:var(--text-muted);border-top:1px solid var(--border-subtle);background:var(--surface-card);padding:4px 10px;font-size:10px}.gengage-chat-uispec{width:100%}.gengage-chat-uispec:empty{display:none}.gengage-chat-uispec>*{animation:.16s cubic-bezier(.2,.7,.2,1) both gengage-chat-widget-enter}@keyframes gengage-chat-widget-enter{0%{opacity:0;transform:translateY(5px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}.gengage-chat-action-buttons{flex-wrap:wrap;justify-content:flex-start;gap:8px;padding:6px 0 4px;display:flex}.gengage-chat-action-buttons:after{content:"";flex:1 0 auto}.gengage-chat-action-btn{border:1px solid var(--ds-button-primary-border);border-radius:var(--radius-pill,999px);background:var(--ds-button-primary-bg);color:var(--ds-button-primary-fg);cursor:pointer;white-space:nowrap;flex:none;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:700;line-height:1.25;transition:filter .15s,transform .1s}.gengage-chat-action-btn:hover{background:var(--ds-button-primary-bg-hover)}.gengage-chat-action-btn:active{transform:scale(.97)}.gengage-chat-product-card{border:1px solid var(--ds-card-border);border-radius:var(--ds-card-radius);background:var(--ds-card-bg);width:160px;min-width:160px;max-width:160px;box-shadow:var(--ds-card-shadow);flex-direction:column;transition:transform .1s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.gengage-chat-product-card:hover{box-shadow:var(--ds-card-shadow-hover);transform:translateY(-2px)}.gengage-chat-product-card-img{object-fit:contain;background:var(--surface-card);box-sizing:border-box;width:100%;height:120px;padding:8px;display:block}.gengage-chat-product-card-body{text-align:center;flex-direction:column;flex:1;gap:4px;padding:8px 10px 10px;display:flex}.gengage-chat-product-card-name{color:var(--_gengage-text-primary);-webkit-line-clamp:2;line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;min-height:2.7em;margin-bottom:0;font-size:13px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.gengage-chat-product-card-brand{color:var(--text-secondary);font-size:10px}.gengage-chat-product-card-rating{color:var(--_gengage-rating-color);font-size:11px;line-height:1}.gengage-star-half{display:inline-block;position:relative}.gengage-star-half>span{width:.5em;position:absolute;top:0;left:0;overflow:hidden}.gengage-chat-product-card-review-count{color:var(--text-secondary);font-size:10px}.gengage-chat-product-card-price,.gengage-chat-product-card-price-block{color:var(--text-primary);flex-wrap:wrap;justify-content:center;align-items:baseline;gap:2px 6px;font-size:16px;font-weight:800;display:flex}.gengage-chat-product-card-current-price{font:inherit;color:var(--gengage-discounted-price-color,var(--text-primary));font-weight:800}.gengage-chat-product-card-original-price{color:var(--_gengage-text-secondary);margin-right:0;font-size:11px;font-weight:400;text-decoration:line-through}.gengage-chat-campaign-reason{letter-spacing:.02em;background:linear-gradient(90deg, var(--_gengage-campaign-reason-start), var(--_gengage-campaign-reason-end));color:#0000;-webkit-background-clip:text;background-clip:text;max-width:100%;margin:0 0 4px;font-size:11px;font-weight:700;line-height:1.25}@supports not ((-webkit-background-clip:text) or (background-clip:text)){.gengage-chat-campaign-reason,.gengage-chat-campaign-price-badge__reason{color:var(--_gengage-campaign-reason-start);background:0 0}}.gengage-chat-product-card-price-stack{flex-direction:column;align-items:flex-start;width:100%;min-width:0;display:flex}.gengage-chat-product-card-price-row{flex-flow:wrap;align-items:baseline;gap:0 6px;display:flex}.gengage-chat-product-card-price-sep{background:var(--border-subtle);flex-shrink:0;align-self:center;width:1px;height:.95em;margin:0 1px;display:inline-block}.gengage-chat-product-card-price-block--inline .gengage-chat-product-card-original-price{color:var(--gengage-inline-original-price-color,var(--text-secondary));font-size:16px;font-weight:500;text-decoration:none}.gengage-chat-product-card-price-block--inline .gengage-chat-product-card-current-price{color:var(--gengage-discounted-price-color,var(--text-primary));font-size:16px;font-weight:800}.gengage-chat-product-card-meta-row{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:8px;width:100%;min-height:34px;display:flex}.gengage-chat-product-card-meta-row--empty{visibility:hidden}.gengage-chat-product-card-rating-compact{border:1px solid var(--border-subtle);background:var(--surface-card-muted);color:var(--text-secondary);border-radius:999px;flex-shrink:0;align-items:center;gap:5px;padding:3px 8px;font-size:11px;font-weight:700;line-height:1.2;display:inline-flex}.gengage-chat-product-card-rating-compact-star{color:color-mix(in srgb, var(--warning) 60%, var(--text-primary));justify-content:center;align-items:center;line-height:0;display:inline-flex}.gengage-chat-product-card-rating-compact-value{font-variant-numeric:tabular-nums;color:var(--text-primary)}.gengage-chat-product-card-img-actions{z-index:4;pointer-events:none;flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:absolute;top:8px;right:8px}.gengage-chat-product-card-img-actions>*{pointer-events:auto}.gengage-chat-product-card-img-actions .gengage-chat-favorite-btn,.gengage-chat-product-card-img-actions .gengage-chat-find-similar-pill{position:static}.gengage-chat-price-skeleton{background:linear-gradient(90deg, var(--ds-neutral-200) 25%, var(--ds-neutral-100) 50%, var(--ds-neutral-200) 75%);vertical-align:middle;background-size:200% 100%;border-radius:4px;width:80px;height:16px;animation:1.5s ease-in-out infinite gengage-skeleton-price-pulse;display:inline-block}@keyframes gengage-skeleton-price-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.gengage-chat-product-card-cta{text-align:center;color:var(--client-primary);letter-spacing:.01em;border-top:1px solid var(--border-default);cursor:pointer;background:0 0;margin-top:auto;padding:8px 10px;font-size:12px;font-weight:700;text-decoration:none;transition:color .15s,background .15s;display:block}.gengage-chat-product-card-cta:hover{color:var(--client-primary-hover);background:var(--surface-card-soft)}.gengage-chat-product-card-cta:active{background:var(--surface-card-soft)}button.gengage-chat-product-card-cta{appearance:none;font:inherit;box-sizing:border-box;border-bottom:none;border-left:none;border-right:none;width:100%;margin:0}.gengage-chat-product-summary{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card);cursor:pointer;flex-wrap:wrap;align-items:center;gap:12px;margin:4px 0;padding:10px 12px;transition:background .15s,box-shadow .15s,border-color .15s;display:flex}.gengage-chat-product-summary:hover{background:var(--surface-card-soft);border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));box-shadow:var(--shadow-1)}.gengage-chat-product-summary__image{border-radius:var(--radius-control);border:1px solid var(--border-subtle);background:var(--surface-card-soft);flex-shrink:0;width:64px;height:64px;overflow:hidden}.gengage-chat-product-summary__image img{object-fit:cover;width:100%;height:100%;display:block}.gengage-chat-product-summary__content{flex-direction:column;flex:180px;gap:2px;min-width:0;display:flex}.gengage-chat-product-summary__name{color:var(--text-primary);-webkit-line-clamp:2;line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;font-size:13px;font-weight:500;line-height:1.3;display:-webkit-box;overflow:hidden}.gengage-chat-product-summary__rating{color:var(--_gengage-rating-color);font-size:11px;line-height:1}.gengage-chat-product-summary__review-count{color:var(--text-secondary);font-size:11px}.gengage-chat-product-summary__price{color:var(--text-primary);margin-top:2px;font-size:13px;font-weight:600;line-height:1}.gengage-chat-product-summary__price-original{color:var(--_gengage-text-secondary);font-size:11px;font-weight:400;text-decoration:line-through}.gengage-chat-product-summary__price-current{color:var(--gengage-discounted-price-color,var(--text-primary))}.gengage-chat-product-summary__price-stack{flex-direction:column;align-items:flex-start;gap:2px;margin-top:2px;display:flex}.gengage-chat-product-summary__price-stack .gengage-chat-campaign-reason{font-size:11px;font-weight:700}.gengage-chat-product-summary__price--inline{flex-flow:wrap;align-items:baseline;gap:0 6px;display:flex}.gengage-chat-product-summary__price-sep{background:var(--border-subtle);flex-shrink:0;align-self:center;width:1px;height:.9em;margin:0 1px;display:inline-block}.gengage-chat-product-summary__price--inline .gengage-chat-product-summary__price-original{color:var(--gengage-inline-original-price-color,var(--text-secondary));font-size:13px;font-weight:500;text-decoration:none}.gengage-chat-product-summary__price--inline .gengage-chat-product-summary__price-current{color:var(--gengage-discounted-price-color,var(--text-primary));font-size:13px;font-weight:700}.gengage-chat-product-summary__cta{color:var(--client-primary);border-radius:var(--radius-pill);background:var(--client-primary-subtle);white-space:nowrap;flex-shrink:0;margin-left:auto;padding:4px 10px;font-size:12px;font-weight:600;text-decoration:none;transition:background .15s,color .15s}.gengage-chat-product-summary__cta:hover{background:var(--client-primary-soft)}.gengage-chat-product-summary__cta:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:2px}.gengage-chat-product-grid{-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-snap-type:x proximity;gap:12px;min-height:180px;padding:8px 16px 8px 0;display:flex;overflow-x:auto}.gengage-chat-product-grid>*{scroll-snap-align:start;flex:none}.gengage-chat-product-grid::-webkit-scrollbar{display:none}.gengage-chat-review-highlights{padding:4px 0 8px}.gengage-chat-review-empty{color:var(--_gengage-text-secondary);font-size:12px}.gengage-chat-review-subjects-heading{color:var(--text-primary);margin-bottom:10px;font-size:14px;font-weight:700}.gengage-chat-review-subjects{margin-bottom:12px}.gengage-chat-review-subject{color:var(--text-primary);box-shadow:none;gap:6px;padding:7px 11px;font-size:13px;font-weight:600;line-height:1.2}.gengage-chat-review-subject--active{border-color:var(--ds-chip-border-active);background:var(--ds-chip-bg-active);color:var(--ds-chip-fg-active)}.gengage-chat-review-subject-icon{flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;display:inline-flex}.gengage-chat-review-subject-icon svg{width:14px;height:14px;display:block}.gengage-chat-review-subject[data-tone=positive] .gengage-chat-review-subject-icon{color:color-mix(in srgb, var(--success) 82%, var(--text-primary))}.gengage-chat-review-subject[data-tone=negative] .gengage-chat-review-subject-icon{color:color-mix(in srgb, var(--error) 84%, var(--text-primary))}.gengage-chat-review-subject[data-tone=neutral] .gengage-chat-review-subject-icon{color:var(--text-secondary)}.gengage-chat-review-subject-label{color:inherit}.gengage-chat-review-subject-count{color:var(--text-secondary);font-size:12px;font-weight:700}.gengage-chat-review-detail{padding:12px}.gengage-chat-review-detail-meta{flex-wrap:wrap;align-items:baseline;gap:10px 16px;margin-bottom:10px;display:flex}.gengage-chat-review-detail-mentions{color:var(--_gengage-text-primary);font-size:13px;font-weight:700}.gengage-chat-review-detail-positive{color:var(--_gengage-success-color);font-size:13px;font-weight:700}.gengage-chat-review-detail-negative{color:var(--error);font-size:13px;font-weight:700}.gengage-chat-review-snippets{gap:10px;display:grid}.gengage-chat-review-snippet{border:1px solid var(--border-subtle);border-left:3px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card-soft);padding:8px 10px}.gengage-chat-review-snippet[data-tone=positive]{border-left-color:color-mix(in srgb, var(--success) 40%, var(--border-default))}.gengage-chat-review-snippet[data-tone=negative]{border-left-color:color-mix(in srgb, var(--error) 40%, var(--border-default))}.gengage-chat-review-snippet-text{color:var(--_gengage-text-primary);font-size:13px;line-height:1.4}.gengage-chat-review-snippet-rating{color:var(--text-secondary);margin-top:4px;font-size:12px;font-weight:700}.gengage-chat-favorites-page{padding:12px}.gengage-chat-favorites-empty{text-align:center;color:var(--_gengage-text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 24px;display:flex}.gengage-chat-favorites-empty-icon{opacity:.25;color:var(--error)}.gengage-chat-favorites-empty p{margin:0;font-size:13px;line-height:1.5}.gengage-chat-favorites-list{flex-direction:column;gap:10px;display:flex}.gengage-chat-favorites-card{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card);box-shadow:var(--shadow-1);align-items:center;gap:12px;padding:10px 12px;transition:opacity .2s,transform .2s,box-shadow .2s,border-color .2s;display:flex;position:relative}.gengage-chat-favorites-card:hover{border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));box-shadow:var(--shadow-1)}.gengage-chat-favorites-card--removing{opacity:0;transform:translate(8px)}.gengage-chat-favorites-card__image{border-radius:var(--radius-control);background:var(--surface-card-muted);flex-shrink:0;width:56px;height:56px;overflow:hidden}.gengage-chat-favorites-card__image img{object-fit:contain;width:100%;height:100%}.gengage-chat-favorites-card__info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.gengage-chat-favorites-card__name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.gengage-chat-favorites-card__price{color:var(--client-primary);font-size:13px;font-weight:700}.gengage-chat-favorites-remove{border-radius:var(--radius-pill);width:28px;height:28px;color:var(--error);cursor:pointer;opacity:.7;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .15s,background .15s;display:inline-flex}.gengage-chat-favorites-remove:hover{opacity:1;background:color-mix(in srgb, var(--error) 10%, white)}.gengage-chat-divider{border:none;border-top:1px solid var(--_gengage-border-color);margin:8px 0}.gengage-chat-divider-wrapper{align-items:center;gap:8px;margin:8px 0;display:flex}.gengage-chat-divider-wrapper hr{border:none;border-top:1px solid var(--_gengage-border-color);flex:1;margin:0}.gengage-chat-divider-label{color:var(--text-muted);white-space:nowrap;font-size:11px}.gengage-chat--overlay .gengage-chat-drawer{border-radius:0;width:100%;max-width:480px;max-height:100%;margin:0 auto;animation:.24s cubic-bezier(.2,.72,.2,1) gengage-chat-overlay-in;position:fixed;inset:0}@keyframes gengage-chat-overlay-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.gengage-chat-panel-skeleton{box-sizing:border-box;flex-direction:column;gap:14px;min-width:0;max-width:100%;padding:6px 0;display:flex}.gengage-chat-panel-skeleton-block{background:linear-gradient(90deg, var(--ds-neutral-200) 25%, var(--ds-neutral-100) 50%, var(--ds-neutral-200) 75%);background-size:200% 100%;border-radius:10px;height:110px;animation:1.4s infinite gengage-panel-shimmer}@keyframes gengage-panel-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.gengage-chat-panel-skeleton-block--image{border-radius:8px;height:200px;margin-bottom:12px}.gengage-chat-panel-skeleton-block--text{border-radius:4px;height:16px;margin-bottom:8px}.gengage-chat-panel-skeleton-block--text:nth-child(3){width:80%}.gengage-chat-panel-skeleton-block--text:nth-child(4){width:60%}.gengage-chat-panel-skeleton-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.gengage-chat-panel-skeleton-block--card{border-radius:8px;height:120px}.gengage-chat-panel-skeleton--comparison{gap:0;padding:0}.gengage-chat-panel-skeleton--comparison .gengage-chat-panel-loading-status{margin:0;padding:16px 16px 0}.gengage-chat-comparison--skeleton{pointer-events:none;box-sizing:border-box;width:100%}.gengage-chat-comparison-skeleton-shimmer{background:linear-gradient(90deg, var(--ds-neutral-200) 25%, var(--ds-neutral-100) 50%, var(--ds-neutral-200) 75%);background-size:200% 100%;animation:1.4s infinite gengage-panel-shimmer}.gengage-chat-comparison-skeleton-rec-label{border-radius:4px;width:132px;height:12px;margin-bottom:12px}.gengage-chat-comparison-skeleton-rec-img{border-radius:8px;flex-shrink:0;width:80px;height:80px}.gengage-chat-comparison-skeleton-rec-title{border-radius:4px;max-width:100%;height:14px;margin-bottom:6px}.gengage-chat-comparison-skeleton-rec-title--short{width:72%;margin-bottom:8px}.gengage-chat-comparison-skeleton-rec-price{border-radius:4px;width:112px;height:18px}.gengage-chat-comparison-skeleton-hl-label{border-radius:4px;width:96px;height:12px;margin-bottom:6px}.gengage-chat-comparison-skeleton-hl-list{margin:0;padding-left:18px;list-style:none}.gengage-chat-comparison-skeleton-hl-list li{margin-bottom:8px}.gengage-chat-comparison-skeleton-hl-list li:last-child{margin-bottom:0}.gengage-chat-comparison-skeleton-hl-line{border-radius:4px;width:100%;height:13px}.gengage-chat-comparison-skeleton-hl-line--medium{width:92%}.gengage-chat-comparison-skeleton-hl-line--short{width:78%}.gengage-chat-comparison-skeleton-kd-heading{border-radius:4px;width:42%;height:14px;margin:0 0 8px}.gengage-chat-comparison-skeleton-kd-line{border-radius:4px;max-width:100%;height:13px;margin-bottom:8px}.gengage-chat-comparison-skeleton-kd-line:last-child{margin-bottom:0}.gengage-chat-comparison-skeleton-kd-line:nth-child(odd){width:100%}.gengage-chat-comparison-skeleton-kd-line:nth-child(2n){width:90%}.gengage-chat-comparison-special--skeleton{cursor:default;align-items:center;min-height:44px;display:flex}.gengage-chat-comparison-skeleton-special-line{border-radius:4px;width:56%;max-width:280px;height:14px}.gengage-chat-comparison-skeleton-table-wrap{border:1px solid var(--border-default);background:var(--surface-card);-webkit-overflow-scrolling:touch;border-radius:8px;margin-top:12px;overflow-x:auto}.gengage-chat-comparison-skeleton-table-head,.gengage-chat-comparison-skeleton-table-row{grid-template-columns:72px repeat(3,minmax(0,1fr));align-items:start;gap:8px;padding:10px 12px;display:grid}.gengage-chat-comparison-skeleton-table-head{border-bottom:1px solid var(--_gengage-surface-muted);background:var(--_gengage-surface-muted)}.gengage-chat-comparison-skeleton-table-corner{min-height:92px}.gengage-chat-comparison-skeleton-table-col{text-align:center;flex-direction:column;align-items:center;gap:6px;min-width:0;display:flex}.gengage-chat-comparison-skeleton-table-th-img{border-radius:6px;flex-shrink:0;width:60px;height:60px}.gengage-chat-comparison-skeleton-table-th-name{border-radius:3px;width:100%;max-width:100%;height:11px}.gengage-chat-comparison-skeleton-table-th-price{border-radius:3px;width:64%;height:13px}.gengage-chat-comparison-skeleton-table-row{border-bottom:1px solid var(--_gengage-surface-muted)}.gengage-chat-comparison-skeleton-table-row:last-child{border-bottom:none}.gengage-chat-comparison-skeleton-table-label{border-radius:3px;align-self:center;width:100%;max-width:56px;height:12px}.gengage-chat-comparison-skeleton-table-cell{border-radius:3px;width:100%;height:14px}.gengage-chat-panel-skeleton-block--row{border-radius:4px;height:32px;margin-bottom:4px}.gengage-chat-panel .gengage-chat-product-card{border-radius:var(--radius-card);border:1px solid var(--border-default);width:100%;min-width:0;max-width:100%;box-shadow:var(--shadow-1);background:var(--surface-card);flex-direction:column;padding:0;display:flex;overflow:hidden}.gengage-chat-panel .gengage-chat-product-card:hover{box-shadow:var(--shadow-2);border-color:var(--border-strong);transform:translateY(-2px)}.gengage-chat-panel .gengage-chat-product-card-img-actions{gap:6px;top:10px;right:10px}.gengage-chat-panel .gengage-chat-product-card-img-actions .gengage-chat-favorite-btn,.gengage-chat-panel .gengage-chat-product-card-img-actions .gengage-chat-find-similar-pill{border-radius:8px;width:28px;height:28px}.gengage-chat-panel .gengage-chat-product-card-discount-badge{border-radius:var(--radius-pill);background:var(--client-primary);min-width:36px;height:36px;color:var(--client-on-primary);box-shadow:var(--shadow-1);justify-content:center;align-items:center;padding:0 5px;font-size:11px;font-weight:700;display:inline-flex;top:10px;left:10px}.gengage-chat-panel .gengage-chat-product-card-brand{display:none}.gengage-chat-panel .gengage-chat-product-grid{grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:12px;min-height:auto;padding:4px 0;display:grid;overflow-x:visible}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-grid.gengage-chat-product-grid--mobile{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-height:auto;padding:6px 0 10px;display:grid;overflow-x:visible}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-grid.gengage-chat-product-grid--mobile .gengage-chat-product-card{box-sizing:border-box;width:100%;min-width:0;max-width:none}.gengage-chat-panel .gengage-chat-product-card-img-wrapper{aspect-ratio:1;background:var(--surface-card-muted);border-radius:var(--radius-card) var(--radius-card) 0 0;flex-shrink:0;width:100%;position:relative;overflow:hidden}.gengage-chat-panel .gengage-chat-product-card-img{border-radius:inherit;object-fit:cover;object-position:center;box-sizing:border-box;background:0 0;width:100%;height:100%;min-height:0;padding:0;display:block}.gengage-chat-panel .gengage-chat-product-card-body{text-align:left;gap:8px;padding:12px 14px 10px}.gengage-chat-panel .gengage-chat-product-card-meta-row{align-items:center;min-height:38px;margin-bottom:0}.gengage-chat-panel .gengage-chat-product-card-price,.gengage-chat-panel .gengage-chat-product-card-price-block{color:var(--text-primary);justify-content:flex-start;font-size:15px;font-weight:600}.gengage-chat-panel .gengage-chat-product-card-current-price{color:var(--gengage-discounted-price-color,var(--text-primary));font-size:15px;font-weight:600}.gengage-chat-panel .gengage-chat-product-card-original-price{color:var(--text-muted);font-size:12px;font-weight:400}.gengage-chat-panel .gengage-chat-product-card-rating-compact{font-size:11px;font-weight:700}.gengage-chat-panel .gengage-chat-product-card-rating-compact-star{color:color-mix(in srgb, var(--warning) 58%, var(--text-primary))}.gengage-chat-panel .gengage-chat-product-card-name{min-height:0;color:var(--text-primary);-webkit-line-clamp:2;line-clamp:2;margin:0 0 2px;font-size:14px;font-weight:600;line-height:1.35}.gengage-chat-panel .gengage-chat-product-card-buy-footer{flex-shrink:0;min-width:0;margin-top:auto;padding:0 14px 16px;display:flex;position:relative}.gengage-chat-panel .gengage-chat-product-card-buy-trigger{box-sizing:border-box;border:1.5px solid var(--client-primary);background:var(--surface-card);width:100%;min-width:0;min-height:42px;color:var(--client-primary);white-space:nowrap;cursor:pointer;border-radius:12px;justify-content:center;align-items:center;margin:0;padding:9px 14px;font-family:inherit;font-size:13px;font-weight:600;line-height:1.2;transition:background .15s,box-shadow .15s;display:flex}.gengage-chat-panel .gengage-chat-product-card-buy-trigger:hover{background:color-mix(in srgb, var(--client-primary) 6%, white);box-shadow:var(--shadow-1)}.gengage-chat-panel .gengage-chat-product-card .gengage-chat-product-card-cta{border:1.5px solid var(--client-primary);background:var(--surface-card);width:calc(100% - 28px);min-width:0;color:var(--client-primary);box-sizing:border-box;border-radius:12px;justify-content:center;align-items:center;min-height:42px;margin:0 14px 16px;padding:9px 14px;font-size:13px;font-weight:600;display:flex}.gengage-chat-panel .gengage-chat-product-card .gengage-chat-product-card-cta:hover{background:color-mix(in srgb, var(--client-primary) 6%, white)}.gengage-chat-product-card--selected{border-color:var(--client-primary);background:color-mix(in srgb, var(--client-primary) 8%, transparent);box-shadow:0 0 0 1px var(--client-primary)}.gengage-chat-panel--visible{min-height:0}.gengage-chat-panel--visible>*{flex-shrink:0}.gengage-chat-load-more-btn{border:1px solid var(--border-default);color:var(--client-primary);cursor:pointer;background:0 0;border-radius:8px;margin:12px auto;padding:8px 24px;font-size:14px;display:block}.gengage-chat-load-more-btn:hover{background:var(--surface-card-muted)}.gengage-chat-product-details-panel{background:var(--surface-card);border:1px solid var(--border-default);box-sizing:border-box;border-radius:16px;flex-direction:column;gap:12px;width:100%;padding:14px;display:flex}.gengage-chat-product-details-media{border:1px solid var(--border-subtle);background:var(--surface-card-muted);border-radius:12px;flex-direction:column;align-items:center;padding:12px;display:flex}.gengage-chat-product-details-img{object-fit:contain;border-radius:8px;width:100%;height:auto;max-height:300px}.gengage-chat-product-details-content{flex-direction:column;gap:8px;min-width:0;display:flex}.gengage-chat-product-details-title{color:var(--text-primary);margin:0;font-size:17px;font-weight:700;line-height:1.3}.gengage-chat-product-details-rating{background:color-mix(in srgb, var(--warning) 10%, white);width:fit-content;color:color-mix(in srgb, var(--warning) 72%, var(--text-primary));border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:13px;font-weight:700;display:inline-flex}.gengage-chat-product-details-review-count{color:color-mix(in srgb, var(--warning) 84%, var(--text-primary));font-weight:600}.gengage-chat-product-details-price{align-items:baseline;gap:6px;display:flex}.gengage-chat-product-details-original-price{color:var(--text-secondary);font-size:14px;text-decoration:line-through}.gengage-chat-product-details-price-stack{flex-direction:column;align-items:flex-start;gap:2px;width:100%;display:flex}.gengage-chat-product-details-price-stack .gengage-chat-campaign-reason{margin-bottom:2px;font-size:13px;font-weight:600}.gengage-chat-product-details-price--inline{flex-wrap:nowrap;align-items:baseline}.gengage-chat-product-details-price--inline .gengage-chat-product-details-price-sep{background:var(--border-subtle);flex-shrink:0;align-self:center;width:1px;height:1em;margin:0 4px;display:inline-block}.gengage-chat-product-details-price--inline .gengage-chat-product-details-original-price{color:var(--text-secondary);order:0;font-size:22px;font-weight:500;text-decoration:none}.gengage-chat-product-details-price--inline .gengage-chat-product-details-current-price{color:var(--gengage-discounted-price-color,var(--text-primary));order:0;font-size:22px;font-weight:800}.gengage-chat-product-details-current-price{color:var(--gengage-discounted-price-color,var(--text-primary));font-size:22px;font-weight:800;line-height:1.1}.gengage-chat-product-details-stock{border-radius:999px;width:fit-content;padding:4px 10px;font-size:12px;font-weight:700}.gengage-chat-product-details-stock.is-in-stock{background:color-mix(in srgb, var(--success) 12%, white);color:color-mix(in srgb, var(--success) 82%, var(--text-primary))}.gengage-chat-product-details-stock.is-out-of-stock{background:color-mix(in srgb, var(--error) 10%, white);color:color-mix(in srgb, var(--error) 82%, var(--text-primary))}.gengage-chat-product-details-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.gengage-chat-product-details-cta{border-radius:var(--radius-control,12px);border:1px solid var(--ds-button-primary-border);background:var(--ds-button-primary-bg);min-height:40px;color:var(--ds-button-primary-fg);cursor:pointer;justify-content:center;align-items:center;padding:0 20px;font-size:14px;font-weight:700;text-decoration:none;transition:filter .14s,transform .12s;display:inline-flex}.gengage-chat-product-details-cta:hover{background:var(--ds-button-primary-bg-hover)}.gengage-chat-product-details-cta:active{background:var(--ds-button-primary-bg-active)}.gengage-chat-product-details-atc{border-radius:var(--radius-control);background:var(--_gengage-success-color);color:var(--client-on-primary);cursor:pointer;border:none;justify-content:center;align-items:center;gap:6px;padding:10px 20px;font-family:inherit;font-size:14px;font-weight:700;transition:filter .12s,transform .12s;display:inline-flex}.gengage-chat-product-details-atc:hover{filter:brightness(1.08);transform:translateY(-1px)}.gengage-chat-product-details-atc:active{transform:translateY(1px)}.gengage-chat-product-detail-tabs{border-top:1px solid var(--border-default);margin-top:4px;padding-top:12px}.gengage-chat-product-detail-tab-bar{border-bottom:1px solid var(--border-default);gap:6px;margin-bottom:12px;padding-bottom:8px;display:flex}.gengage-chat-product-detail-tab{border:1px solid var(--border-default);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;flex:1;padding:8px 12px;font-family:inherit;font-size:13px;font-weight:600;transition:color .15s,border-color .15s,background .15s}.gengage-chat-product-detail-tab:hover{color:var(--text-primary);background:color-mix(in srgb, var(--surface-card-soft) 82%, transparent)}.gengage-chat-product-detail-tab--active{color:var(--client-primary);border-color:color-mix(in srgb, var(--client-primary) 26%, var(--border-default));background:color-mix(in srgb, var(--client-primary) 8%, white)}.gengage-chat-product-detail-tab-panel{color:var(--text-secondary);font-size:13px;line-height:1.6}.gengage-chat-product-description{color:var(--text-primary);flex-direction:column;gap:10px;display:flex}.gengage-chat-product-description p,.gengage-chat-product-description h2,.gengage-chat-product-description h3,.gengage-chat-product-description h4,.gengage-chat-product-description ul,.gengage-chat-product-description ol{margin:0}.gengage-chat-product-description h2,.gengage-chat-product-description h3,.gengage-chat-product-description h4{color:var(--text-primary);font-size:15px;font-weight:800;line-height:1.35}.gengage-chat-product-description ul,.gengage-chat-product-description ol{padding-left:20px}.gengage-chat-product-description li+li{margin-top:6px}.gengage-chat-product-description strong,.gengage-chat-product-description b{font-weight:800}.gengage-chat-product-specs-table{border-collapse:collapse;width:100%;font-size:13px}.gengage-chat-product-specs-table tr:nth-child(2n){background:var(--surface-card-muted)}.gengage-chat-product-specs-key{color:var(--text-secondary);white-space:nowrap;border-bottom:1px solid var(--border-subtle);width:40%;padding:6px 10px;font-weight:600}.gengage-chat-product-specs-value{color:var(--text-primary);border-bottom:1px solid var(--border-subtle);padding:6px 10px}.gengage-chat-product-card-atc{opacity:0;z-index:1;transition:opacity .15s;position:absolute;bottom:42px;right:6px}.gengage-chat-product-card:hover .gengage-chat-product-card-atc{opacity:1}@media (hover:none),(pointer:coarse){.gengage-chat-product-card-atc{opacity:1;width:100%;margin:0;display:flex;position:relative;bottom:auto;right:auto}}.gengage-chat-drawer.gengage-chat-drawer--hidden{opacity:0;pointer-events:none;box-shadow:none;visibility:hidden;transform:translate(100%)}.gengage-chat-root--mobile .gengage-chat-drawer.gengage-chat-drawer--hidden{opacity:0;pointer-events:none;box-shadow:none;visibility:hidden;transform:translateY(100%)}@media (width<=900px){.gengage-chat-drawer--with-panel .gengage-chat-panel--visible{width:clamp(280px, calc(100vw - var(--_gengage-chat-conversation-width)), 560px);max-width:560px}}.gengage-chat-attachment-preview{background:var(--surface-card-muted);border:1px solid var(--border-default);box-sizing:border-box;border-radius:8px;align-items:center;gap:8px;width:100%;padding:6px 10px;display:flex}.gengage-chat-attachment-preview--hidden{display:none}.gengage-chat-attachment-preview-thumb{object-fit:cover;border-radius:4px;flex-shrink:0;width:40px;height:40px}.gengage-chat-attachment-name{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.gengage-chat-attachment-remove{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;flex-shrink:0;padding:0 4px;font-size:18px;line-height:1}.gengage-chat-attachment-remove:hover{color:var(--error)}.gengage-chat-attach-btn{background:var(--surface-card-soft);border:1px solid var(--border-default);cursor:pointer;width:40px;height:40px;color:var(--text-primary);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:1;transition:color .15s,background .15s,border-color .15s;display:flex}.gengage-chat-attach-btn:hover{color:var(--client-primary);background:var(--client-primary-subtle);border-color:color-mix(in srgb, var(--client-primary) 18%, white)}.gengage-chat-attach-btn svg{width:20px;height:20px}.gengage-chat-attach-wrap{flex-shrink:0;align-items:center;display:flex;position:relative}.gengage-chat-attach-menu{z-index:50;background:var(--surface-elevated);border:1px solid var(--border-default);border-radius:var(--radius-card);min-width:196px;box-shadow:var(--shadow-3);margin:0;padding:4px 0;list-style:none;position:absolute;bottom:calc(100% + 8px);left:0}.gengage-chat-attach-menu[hidden]{display:none!important}.gengage-chat-attach-menu-item{cursor:pointer;width:100%;color:var(--text-primary);text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:10px 14px;font-family:inherit;font-size:14px;font-weight:500;transition:background .12s;display:flex}.gengage-chat-attach-menu-item:hover{background:var(--surface-card-muted)}.gengage-chat-attach-menu-icon{color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.gengage-chat-attach-menu-label{flex:1;min-width:0}.gengage-chat-attach-menu-sep{background:var(--border-default);height:1px;margin:4px 10px}.gengage-chat-mic-btn{cursor:pointer;border-radius:var(--radius-control);width:32px;height:32px;color:var(--text-secondary);background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:1;transition:color .15s,background .15s;display:flex}.gengage-chat-mic-btn:hover{color:var(--text-primary);background:var(--surface-card-muted);border-color:var(--border-default)}.gengage-chat-mic-btn svg{width:20px;height:20px}.gengage-chat-mic-btn--active{color:var(--error);animation:1.2s ease-in-out infinite gengage-mic-pulse}.gengage-chat-mic-btn--active:hover{color:color-mix(in srgb, var(--error) 84%, black)}@keyframes gengage-mic-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.15)}}.gengage-chat-input-area--dragover{outline:2px dashed var(--client-primary);outline-offset:-2px;background:color-mix(in srgb, var(--client-primary) 8%, white)}.gengage-chat-attachment-thumb{border-radius:8px;width:120px;max-width:100%;height:auto;margin-bottom:6px;display:block}.gengage-chat-root--mobile .gengage-chat-header-btn,.gengage-chat-root--mobile .gengage-chat-close{border-radius:12px;width:44px;height:44px}.gengage-chat-root--mobile .gengage-chat-attach-btn,.gengage-chat-root--mobile .gengage-chat-mic-btn,.gengage-chat-root--mobile .gengage-chat-send{width:44px;min-width:44px;height:44px}.gengage-chat-root--mobile .gengage-chat-attach-btn svg,.gengage-chat-root--mobile .gengage-chat-mic-btn svg{width:22px;height:22px}.gengage-chat-root--mobile .gengage-chat-panel-divider{cursor:ns-resize;touch-action:pan-y;background:0 0;justify-content:center;align-items:center;width:100%;height:20px;display:flex;position:relative;overflow:visible}.gengage-chat-root--mobile .gengage-chat-panel-divider--hidden{display:none}.gengage-chat-root--mobile .gengage-chat-drawer--with-panel{border-radius:0;width:100%;left:0;right:0}.gengage-chat-root--mobile .gengage-chat-panel{z-index:10;width:100%;min-width:0;max-width:none;max-height:none;box-shadow:none;background:var(--gengage-chat-panel-bg,var(--surface-card));pointer-events:none;border:none;border-radius:0;flex-direction:column;padding:0 12px 16px;transition:transform .32s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;inset:0;overflow-y:auto;transform:translate(100%)}.gengage-chat-root--mobile .gengage-chat-panel--visible{pointer-events:auto;transform:translate(0)}.gengage-chat-root--mobile .gengage-chat-panel-divider,.gengage-chat-root--mobile .gengage-chat-drawer--with-panel .gengage-chat-panel-divider{display:none}.gengage-chat-root--mobile .gengage-chat-drawer--with-panel .gengage-chat-body{flex-direction:row}.gengage-chat-root--mobile .gengage-chat-drawer--with-panel .gengage-chat-conversation{border-left:none;flex:1;width:100%}.gengage-chat-root--mobile .gengage-chat-product-details-share{width:44px;height:44px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-buy-footer,.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-cta{box-sizing:border-box;width:100%;max-width:100%}.gengage-chat-root--mobile .gengage-chat-product-details-panel{gap:8px;padding:10px}.gengage-chat-root--mobile .gengage-chat-product-details-media{min-height:0;padding:8px}.gengage-chat-root--mobile .gengage-chat-product-details-content{gap:6px}.gengage-chat-root--mobile .gengage-chat-product-details-title{font-size:14px;line-height:1.25}.gengage-chat-root--mobile .gengage-chat-product-details-rating{padding:2px 6px;font-size:12px}.gengage-chat-root--mobile .gengage-chat-product-details-original-price{font-size:12px}.gengage-chat-root--mobile .gengage-chat-product-details-current-price,.gengage-chat-root--mobile .gengage-chat-product-details-price--inline .gengage-chat-product-details-original-price,.gengage-chat-root--mobile .gengage-chat-product-details-price--inline .gengage-chat-product-details-current-price{font-size:18px}.gengage-chat-root--mobile .gengage-chat-product-details-actions{gap:6px;margin-top:2px}.gengage-chat-root--mobile .gengage-chat-product-details-cta{min-height:38px;padding:0 14px;font-size:13px}.gengage-chat-root--mobile .gengage-chat-product-grid:not(.gengage-chat-product-grid--mobile){scroll-snap-type:x mandatory}.gengage-chat-root--mobile .gengage-chat-product-grid.gengage-chat-product-grid--mobile{scroll-snap-type:none}.gengage-chat-root--mobile .gengage-chat-product-card{box-sizing:border-box;scroll-snap-align:center;width:280px;min-width:280px;max-width:100%}.gengage-chat-root--mobile .gengage-chat-product-grid--mobile .gengage-chat-product-card{scroll-snap-align:start;width:100%;min-width:0;max-width:none}.gengage-chat-root--mobile .gengage-chat-product-card-img-wrapper{justify-content:center;align-items:center;min-height:0;display:flex}.gengage-chat-root--mobile .gengage-chat-product-card-img{object-fit:contain;object-position:center;width:auto;max-width:100%;height:auto;min-height:0;max-height:180px;display:block}.gengage-chat-root--mobile .gengage-chat-product-card-discount-badge{padding:2px 6px;font-size:10px;font-weight:700;line-height:1.2}.gengage-chat-root--mobile .gengage-chat-drawer{border-radius:0;width:100%;max-height:100%;position:fixed;inset:0}.gengage-chat-root--mobile .gengage-chat-bubble{max-width:100%}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-img-wrapper{aspect-ratio:1;justify-content:center;align-items:center;min-height:0;display:flex}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-img{object-fit:contain;object-position:center;width:auto;max-width:100%;height:auto;min-height:0;max-height:min(200px,72%)}.gengage-chat-root--mobile .gengage-chat-product-card-img-actions .gengage-chat-favorite-btn,.gengage-chat-root--mobile .gengage-chat-product-card-img-actions .gengage-chat-find-similar-pill{flex-shrink:0;width:28px;min-width:28px;height:28px;min-height:28px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-discount-badge{min-width:28px;height:28px;padding:0 6px;font-size:10px;font-weight:700}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-buy-footer{padding:0 12px 14px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-buy-trigger{box-sizing:border-box;white-space:normal;text-align:center;-webkit-hyphens:auto;hyphens:auto;min-width:0;max-width:100%;line-height:1.25}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card .gengage-chat-product-card-cta{box-sizing:border-box;white-space:normal;width:calc(100% - 24px);min-width:0;max-width:calc(100% - 24px);margin-left:12px;margin-right:12px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-rating-compact{gap:3px;padding:2px 6px;font-size:10px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-stock{padding:2px 5px;font-size:10px}.gengage-chat-root--mobile .gengage-chat-messages{scrollbar-width:none;padding:12px 16px}.gengage-chat-root--mobile .gengage-chat-messages::-webkit-scrollbar{display:none}.gengage-chat-root--mobile .gengage-chat-drawer{border-top:none}.gengage-chat-root--mobile .gengage-chat-header{border-radius:16px 16px 0 0;min-height:72px;padding-top:22px;padding-bottom:8px}.gengage-chat-root--mobile.gengage-chat-root--mobile-full .gengage-chat-header{border-radius:0}.gengage-chat-root--mobile .gengage-chat-conversation{-webkit-overflow-scrolling:touch;min-height:0;overflow-y:auto}.gengage-chat-root--mobile .gengage-chat-product-details-img{object-fit:contain;min-height:0;max-height:200px}.gengage-chat-root--mobile .gengage-chat-product-details-actions{flex-wrap:wrap;gap:8px}.gengage-chat-root--mobile .gengage-chat-product-details-promos{flex-wrap:wrap;gap:4px}.gengage-chat-root--mobile .gengage-chat-input::placeholder{font-size:13px}.gengage-chat-kvkk-banner{background:color-mix(in srgb, var(--warning) 10%, white);border-bottom:1px solid color-mix(in srgb, var(--warning) 24%, var(--border-default));color:color-mix(in srgb, var(--warning) 72%, var(--text-primary));align-items:flex-start;gap:8px;padding:10px 14px;font-size:12px;line-height:1.5;display:flex}.gengage-chat-kvkk-content{flex:1;min-width:0}.gengage-chat-kvkk-content a{color:color-mix(in srgb, var(--warning) 82%, var(--text-primary));text-decoration:underline}.gengage-chat-kvkk-dismiss{width:20px;height:20px;color:color-mix(in srgb, var(--warning) 84%, var(--text-primary));cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:18px;line-height:1}.gengage-chat-comparison{box-sizing:border-box;flex-direction:column;gap:12px;padding:16px;display:flex}.gengage-chat-comparison-heading{letter-spacing:.05em;color:var(--text-primary);margin:0 0 16px;font-size:14px;font-weight:700}.gengage-chat-comparison-recommended{border:1px solid color-mix(in srgb, var(--client-primary) 18%, var(--border-default));border-radius:var(--radius-card);background:var(--surface-card);box-shadow:var(--shadow-1);padding:16px}.gengage-chat-comparison-recommended-label{color:var(--client-primary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:12px;font-size:12px;font-weight:700}.gengage-chat-comparison-recommended-body{grid-template-columns:minmax(108px,148px) minmax(0,1fr);align-items:flex-start;gap:16px;display:grid}.gengage-chat-comparison-recommended-media{aspect-ratio:1;border:1px solid var(--border-subtle);background:var(--surface-card);border-radius:14px;justify-content:center;align-items:center;display:flex;overflow:hidden}.gengage-chat-comparison-recommended-body img,.gengage-chat-comparison-recommended-placeholder{object-fit:contain;box-sizing:border-box;width:100%;height:100%;padding:8px}.gengage-chat-comparison-recommended-placeholder{background:var(--surface-card-muted)}.gengage-chat-comparison-recommended-info{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.gengage-chat-comparison-recommended-title{color:var(--text-primary);margin:0;font-size:24px;font-weight:800;line-height:1.2}.gengage-chat-comparison-recommended-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.gengage-chat-comparison-recommended-rating{border:1px solid var(--border-subtle);background:var(--surface-card-muted);color:color-mix(in srgb, var(--warning) 78%, var(--text-primary));border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:700;display:inline-flex}.gengage-chat-comparison-recommended-rating-value{color:var(--text-primary)}.gengage-chat-comparison-recommended-price{color:var(--text-primary);font-size:20px;font-weight:700}.gengage-chat-comparison-highlights{border-top:1px solid var(--border-subtle);padding-top:12px}.gengage-chat-comparison-highlights-label{color:var(--text-secondary);margin-bottom:6px;font-size:12px;font-weight:600}.gengage-chat-comparison-highlights ul{color:var(--text-primary);margin:0;padding-left:18px;font-size:14px;line-height:1.55}.gengage-chat-comparison-special{background:color-mix(in srgb, var(--warning) 10%, white);border:1px solid color-mix(in srgb, var(--warning) 24%, var(--border-default));border-radius:var(--radius-card);color:color-mix(in srgb, var(--warning) 72%, var(--text-primary));margin-bottom:12px;padding:12px 16px;font-size:13px}.gengage-chat-comparison-special summary{cursor:pointer;font-weight:600}.gengage-chat-comparison-special ul{margin:8px 0 0;padding-left:18px;line-height:1.6}.gengage-chat-comparison-table{border-collapse:collapse;background:var(--surface-card);width:100%;font-size:13px}.gengage-chat-comparison-table th,.gengage-chat-comparison-table td{text-align:center;border-bottom:1px solid var(--border-subtle);vertical-align:top;padding:10px 12px}.gengage-chat-comparison-table th{color:var(--text-secondary);font-size:12px;font-weight:600}.gengage-chat-comparison-table thead th:not(:first-child){vertical-align:top}.gengage-chat-comparison-table-header-cell{box-sizing:border-box;grid-template-rows:auto 1fr auto;place-items:start center;gap:6px;height:100%;min-height:0;display:grid}.gengage-chat-comparison-table-header-cell--clickable{cursor:pointer;border-radius:var(--radius-control);padding:6px;transition:background .16s,box-shadow .16s,transform .16s}.gengage-chat-comparison-table-header-cell--clickable:hover{background:var(--surface-card-soft);box-shadow:var(--shadow-1);transform:translateY(-1px)}.gengage-chat-comparison-table-header-cell--clickable:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:2px}.gengage-chat-comparison-table-header-cell img{object-fit:contain;border-radius:calc(var(--radius-control) - 4px);background:var(--surface-card-muted);width:60px;height:60px}.gengage-chat-comparison-table-header-img-placeholder{border-radius:calc(var(--radius-control) - 4px);background:var(--surface-card-muted);width:60px;height:60px}.gengage-chat-comparison-table-product-name{width:100%;min-width:0;color:var(--text-secondary);text-align:center;-webkit-line-clamp:2;line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;align-self:start;font-size:12px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.gengage-chat-comparison-table-price{color:var(--text-primary);text-align:center;width:100%;font-weight:700}.gengage-chat-comparison-label{text-align:left;color:var(--text-secondary);white-space:nowrap;font-weight:600}.gengage-chat-comparison-selected{background:color-mix(in srgb, var(--client-primary) 6%, white)}.gengage-chat-comparison-recommended-text{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.6}.gengage-chat-comparison-key-differences{border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-card-muted)}.gengage-chat-comparison-key-differences-summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;font-weight:700;list-style:none;display:flex}.gengage-chat-comparison-key-differences-summary::-webkit-details-marker{display:none}.gengage-chat-comparison-key-differences-summary-label{color:var(--text-primary)}.gengage-chat-comparison-key-differences-summary-meta{color:var(--client-primary);font-size:13px;font-weight:700}.gengage-chat-comparison-key-differences[open] .gengage-chat-comparison-key-differences-summary-meta{opacity:0}.gengage-chat-comparison-key-differences-content{color:var(--text-primary);padding:0 16px 16px;font-size:14px;line-height:1.7}.gengage-chat-comparison-key-differences-content ul,.gengage-chat-comparison-key-differences-content ol{margin:0;padding-left:20px}.gengage-chat-comparison-key-differences-content li+li{margin-top:8px}@media (width<=960px){.gengage-chat-comparison-recommended-body{grid-template-columns:1fr}.gengage-chat-comparison-recommended-title{font-size:20px}}.gengage-chat-pills{border-top:1px solid var(--border-subtle);background:var(--surface-card);padding:8px 12px 6px;position:relative}.gengage-chat-pills-scroll{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:8px;padding-right:28px;display:flex;overflow-x:auto}.gengage-chat-pills-scroll::-webkit-scrollbar{display:none}.gengage-chat-root--mobile .gengage-chat-pills-scroll{flex-wrap:wrap;gap:6px}.gengage-chat-root--mobile .gengage-chat-pill{white-space:normal;max-width:100%}.gengage-chat-pill{border:1px solid var(--ds-chip-border-active);background:var(--ds-chip-bg-active);color:var(--ds-chip-fg-active);white-space:nowrap;cursor:pointer;border-radius:999px;flex:none;padding:10px 14px;font-family:inherit;font-size:13px;font-weight:700;transition:background .15s,border-color .15s,color .15s}.gengage-chat-pill:hover{background:color-mix(in srgb, var(--client-primary) 12%, white);border-color:color-mix(in srgb, var(--client-primary) 36%, white)}.gengage-chat-pill:active{transform:none}.gengage-chat-pill--rich{border-radius:18px;align-items:center;gap:10px;padding:8px 14px 8px 8px;display:flex}.gengage-chat-pill-img{object-fit:cover;background:var(--surface-card);border-radius:12px;flex-shrink:0;width:32px;height:32px}.gengage-chat-pill-text{font-size:13px;font-weight:600;line-height:1.2}.gengage-chat-pill-desc{display:none}.gengage-chat-pill--rich .gengage-chat-pill-desc{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:160px;font-size:11px;font-weight:500;display:block;overflow:hidden}.gengage-chat-pills-arrow{border:1px solid var(--border-default);background:var(--surface-card);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;box-shadow:var(--shadow-1);z-index:1;border-radius:12px;justify-content:center;align-items:center;font-size:16px;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.gengage-chat-pills-arrow:hover{background:var(--surface-card-soft);color:var(--client-primary)}@media (prefers-reduced-motion:reduce){.gengage-chat-uispec>*,.gengage-chat-action-btn,.gengage-chat-product-card,.gengage-chat-product-card-cta,.gengage-chat-send,.gengage-chat-launcher,.gengage-chat-pill,.gengage-chat-drawer,.gengage-chat-typing-dots span,.gengage-chat-thinking-step-marker--active,.gengage-chat-bubble,.gengage-chat-panel-skeleton-block,.gengage-chat-ai-toppick-card,.gengage-chat-mic-btn--active,.gengage-chat-ai-toppick-spinner:after,.gengage-skeleton-card,.gengage-skeleton-line,.gengage-skeleton-img,.gengage-skeleton-text,.gengage-skeleton-price,.gengage-chat-cart-toast,.gengage-chat-header-btn--cart-flash{transition:none!important;animation:none!important;transform:none!important}}.gengage-chat-bubble--user{position:relative}.gengage-chat-rollback-btn{border-radius:var(--radius-pill);background:var(--surface-card-muted);width:24px;height:24px;color:var(--text-secondary);cursor:pointer;opacity:0;border:none;justify-content:center;align-items:center;padding:0;transition:opacity .15s;display:flex;position:absolute;top:50%;left:-28px;transform:translateY(-50%)}.gengage-chat-bubble--user:hover .gengage-chat-rollback-btn{opacity:1}.gengage-chat-rollback-btn:hover{background:var(--client-primary);color:var(--client-on-primary)}.gengage-chat-bubble--hidden{display:none}.gengage-chat-ai-top-picks{flex-direction:column;gap:12px;padding:8px 0;scroll-margin-top:60px;display:flex}.gengage-chat-ai-top-picks-title{color:var(--text-primary);margin:0 0 4px;font-size:15px;font-weight:600}.gengage-chat-ai-top-picks-scroll{flex-direction:column;gap:10px;min-width:0;display:flex}.gengage-chat-ai-top-picks-rest,.gengage-chat-ai-toppick-top-row{display:contents}.gengage-chat-ai-toppick-detail{width:100%;min-width:0}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks{gap:0;padding-top:4px}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-title{flex-shrink:0;width:100%;margin:0 0 10px;font-size:18px;font-weight:700;line-height:1.2}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll{scrollbar-width:none;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(0,auto);align-items:stretch;gap:12px;margin:0;padding:12px 0;display:grid;overflow:visible}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner,.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact{flex:initial;scroll-snap-align:none;width:100%;min-width:0;max-width:none}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child{grid-column:1/-1;grid-template-rows:auto auto;grid-template-columns:minmax(260px,340px) minmax(0,1fr);align-items:start;gap:12px 18px;display:grid}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child:has(.gengage-chat-ai-toppick-detail){grid-template-rows:auto auto auto}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact{flex-direction:column;align-items:stretch}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-media,.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-media{max-height:140px}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child .gengage-chat-ai-toppick-media{aspect-ratio:4/3;grid-area:1/1/span 2;max-height:260px}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child:has(.gengage-chat-ai-toppick-detail) .gengage-chat-ai-toppick-media{grid-row:1/span 3}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child .gengage-chat-ai-toppick-detail{grid-area:2/2;min-width:0;padding-top:0}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-img,.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-img{object-fit:contain;flex-shrink:0;width:100%;height:100%;max-height:140px}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child .gengage-chat-ai-toppick-img{max-height:260px}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-body,.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-body{flex:1;min-height:0;padding:0}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child .gengage-chat-ai-toppick-body{grid-area:1/2;padding-top:6px}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child:has(.gengage-chat-ai-toppick-detail) .gengage-chat-ai-toppick-cta{grid-row:3}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-cta{border:1px solid var(--ds-button-secondary-border);background:var(--ds-button-secondary-bg);width:calc(100% - 24px);color:var(--ds-button-secondary-fg);align-self:stretch;margin:14px 12px 12px}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-cta{border:1px solid var(--ds-button-secondary-border);background:var(--ds-button-secondary-bg);width:auto;min-width:180px;color:var(--ds-button-secondary-fg);grid-area:2/2;place-self:end start;margin:0}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-cta:hover,.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-cta:hover{background:var(--ds-button-secondary-bg-hover);filter:none}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner{border-color:color-mix(in srgb, var(--client-primary) 26%, var(--border-default));box-shadow:var(--shadow-2)}.gengage-chat-ai-toppick-rating{border:1px solid var(--border-subtle);background:var(--surface-card-muted);color:var(--text-secondary);border-radius:999px;align-self:flex-start;align-items:center;gap:5px;margin-top:4px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.gengage-chat-ai-toppick-rating-icon{color:color-mix(in srgb, var(--warning) 60%, var(--text-primary));justify-content:center;align-items:center;line-height:0;display:inline-flex}.gengage-chat-ai-toppick-rating-value{color:var(--text-primary)}.gengage-chat-ai-toppick-media .gengage-chat-ai-toppick-discount-badge{background:var(--client-primary);color:var(--client-on-primary);z-index:1;border-radius:999px;padding:2px 6px;font-size:9px;font-weight:800;line-height:1.2;position:absolute;top:4px;left:4px;right:auto}.gengage-chat-ai-toppick-card--winner,.gengage-chat-ai-toppick-card--compact{box-sizing:border-box;border-radius:var(--radius-card);background:var(--surface-card);flex-direction:column;align-items:stretch;padding:12px;transition:box-shadow .2s,background .15s,transform .15s;display:flex;position:relative;overflow:visible}.gengage-chat-ai-toppick-card--winner{border:1.5px solid color-mix(in srgb, var(--client-primary) 24%, var(--border-default))}.gengage-chat-ai-toppick-card--winner:hover{background:var(--surface-card-muted);box-shadow:var(--shadow-2)}.gengage-chat-ai-toppick-card--compact{border:1px solid var(--border-default)}.gengage-chat-ai-toppick-card--compact:hover{background:var(--surface-card-muted);box-shadow:var(--shadow-1);transform:translateY(-1px)}.gengage-chat-ai-toppick-badge{z-index:2;box-sizing:border-box;text-transform:uppercase;letter-spacing:.05em;pointer-events:none;white-space:normal;border-radius:999px;max-width:calc(100% - 24px);padding:2px 10px;font-size:10px;font-weight:700;line-height:1.25;position:absolute;top:-10px;left:12px}.gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-badge{background:var(--client-primary);color:var(--client-on-primary)}.gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-badge{background:var(--surface-card-muted);color:var(--text-secondary)}.gengage-chat-ai-toppick-media{aspect-ratio:1;border:1px solid var(--border-subtle);background:var(--surface-card);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:100%;margin-top:4px;margin-bottom:8px;display:flex;position:relative;overflow:hidden}.gengage-chat-ai-toppick-img{object-fit:contain;box-sizing:border-box;width:auto;max-width:100%;height:auto;max-height:100%;padding:4px}.gengage-chat-ai-toppick-body{flex-direction:column;flex:1;gap:0;min-width:0;padding:0;display:flex}.gengage-chat-ai-toppick-name{color:var(--text-primary);text-overflow:ellipsis;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin-bottom:4px;font-size:14px;font-weight:700;line-height:1.375;display:-webkit-box;overflow:hidden}.gengage-chat-ai-toppick-role{color:var(--client-primary);text-transform:uppercase;letter-spacing:.3px;font-size:11px;font-weight:600}.gengage-chat-ai-toppick-labels{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.gengage-chat-ai-toppick-label{border-radius:999px;padding:4px 8px;font-size:10px;font-weight:700}.gengage-chat-ai-toppick-label[data-sentiment=positive]{background:color-mix(in srgb, var(--success) 12%, white);color:color-mix(in srgb, var(--success) 82%, var(--text-primary))}.gengage-chat-ai-toppick-label[data-sentiment=negative]{background:color-mix(in srgb, var(--error) 10%, white);color:color-mix(in srgb, var(--error) 82%, var(--text-primary))}.gengage-chat-ai-toppick-label[data-sentiment=neutral]{background:var(--surface-card-muted);color:var(--text-secondary)}.gengage-chat-ai-toppick-reason{color:var(--text-secondary);margin:10px 0 0;font-size:13px;line-height:1.5}.gengage-chat-ai-toppick-review{border:1px solid var(--border-subtle);background:var(--surface-card-muted);color:var(--text-primary);border-radius:14px;margin-top:10px;padding:10px 12px;font-size:12px;line-height:1.45}.gengage-chat-ai-toppick-snippet{color:var(--text-secondary);margin:8px 0 0;font-size:12px;line-height:1.45}.gengage-chat-ai-toppick-price{color:var(--text-primary);margin-top:4px;font-size:14px;font-weight:700}.gengage-chat-ai-toppick-price-current{color:var(--gengage-discounted-price-color,var(--text-primary))}.gengage-chat-ai-toppick-original-price{color:var(--text-secondary);font-size:12px;font-weight:400;text-decoration:line-through}.gengage-chat-ai-toppick-price-stack{flex-direction:column;align-items:flex-start;gap:2px;margin-top:4px;display:flex}.gengage-chat-ai-toppick-price-stack .gengage-chat-campaign-reason{font-size:11px;font-weight:700}.gengage-chat-campaign-price-badge{box-sizing:border-box;border-radius:var(--radius-control,10px);background-image:linear-gradient(var(--gengage-campaign-price-badge-fill,#fff) 0 0), linear-gradient(135deg, var(--_gengage-campaign-reason-start), var(--_gengage-campaign-reason-end));background-origin:border-box;background-clip:padding-box,border-box;border:1px solid #0000;flex-direction:row;align-items:center;gap:10px;max-width:100%;padding:10px 12px;display:inline-flex}.gengage-chat-campaign-price-badge__logo{flex-shrink:0;justify-content:center;align-items:center;display:flex}.gengage-chat-campaign-price-badge__logo img{object-fit:contain;width:auto;max-width:72px;height:auto;max-height:32px;display:block}.gengage-chat-campaign-price-badge__body{flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;min-width:0;display:flex}.gengage-chat-campaign-price-badge__reason{letter-spacing:.02em;background:linear-gradient(90deg, var(--_gengage-campaign-reason-start), var(--_gengage-campaign-reason-end));color:#0000;-webkit-background-clip:text;background-clip:text;max-width:100%;margin:0;font-size:12px;font-weight:700;line-height:1.25}.gengage-chat-campaign-price-badge__sale{color:var(--gengage-discounted-price-color,var(--text-primary));font-size:17px;font-weight:800;line-height:1.15}.gengage-chat-product-card-price-row .gengage-chat-campaign-price-badge__sale{font-size:16px}.gengage-chat-product-summary__price .gengage-chat-campaign-price-badge__sale{font-size:15px}.gengage-chat-product-details-price .gengage-chat-campaign-price-badge{border-radius:var(--radius-control,12px);padding:12px 14px}.gengage-chat-product-details-price .gengage-chat-campaign-price-badge__reason{font-size:13px}.gengage-chat-product-details-price .gengage-chat-campaign-price-badge__sale{font-size:22px}:is(.gengage-chat-ai-toppick-price--inline:has(.gengage-chat-campaign-price-badge),.gengage-chat-product-card-price-row:has(.gengage-chat-campaign-price-badge),.gengage-chat-product-summary__price--inline:has(.gengage-chat-campaign-price-badge),.gengage-chat-product-details-price--inline:has(.gengage-chat-campaign-price-badge)){align-items:last baseline}:is(.gengage-chat-ai-toppick-price--inline:has(.gengage-chat-campaign-price-badge) .gengage-chat-ai-toppick-price-sep,.gengage-chat-product-card-price-row:has(.gengage-chat-campaign-price-badge) .gengage-chat-product-card-price-sep,.gengage-chat-product-summary__price--inline:has(.gengage-chat-campaign-price-badge) .gengage-chat-product-summary__price-sep,.gengage-chat-product-details-price--inline:has(.gengage-chat-campaign-price-badge) .gengage-chat-product-details-price-sep){align-self:last baseline}.gengage-chat-ai-toppick-price--inline{flex-flow:wrap;align-items:baseline;gap:0 6px;display:flex}.gengage-chat-ai-toppick-price-sep{background:var(--border-subtle);flex-shrink:0;align-self:center;width:1px;height:.85em;margin:0 1px;display:inline-block}.gengage-chat-ai-toppick-price--inline .gengage-chat-ai-toppick-original-price{font-size:14px;font-weight:500;text-decoration:none}.gengage-chat-ai-toppick-price--inline .gengage-chat-ai-toppick-price-current{color:var(--gengage-discounted-price-color,var(--text-primary));font-size:14px;font-weight:800}.gengage-chat-ai-toppick-cta{border:1px solid var(--ds-button-primary-border);border-radius:var(--radius-control,12px);background:var(--ds-button-primary-bg);width:calc(100% - 24px);color:var(--ds-button-primary-fg);cursor:pointer;text-align:center;box-sizing:border-box;opacity:0;pointer-events:none;flex-shrink:0;align-self:stretch;margin:14px 12px 12px;padding:8px 0;font-size:13px;font-weight:700;transition:opacity .18s,transform .18s,background .15s;display:block;transform:translateY(6px)}.gengage-chat-ai-toppick-card--winner:hover .gengage-chat-ai-toppick-cta,.gengage-chat-ai-toppick-card--compact:hover .gengage-chat-ai-toppick-cta,.gengage-chat-ai-toppick-card--winner:focus-within .gengage-chat-ai-toppick-cta,.gengage-chat-ai-toppick-card--compact:focus-within .gengage-chat-ai-toppick-cta{opacity:1;pointer-events:auto;transform:translateY(0)}.gengage-chat-ai-toppick-cta:hover{background:var(--ds-button-primary-bg-hover)}.gengage-chat-ai-toppick-spinner{background:color-mix(in srgb, var(--surface-card) 78%, transparent);z-index:6;border-radius:12px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.gengage-chat-ai-toppick-spinner:after{content:"";border:3px solid var(--border-default);border-top-color:var(--ai-accent-start);border-radius:50%;width:24px;height:24px;animation:.7s linear infinite gengage-spin}@keyframes gengage-spin{to{transform:rotate(360deg)}}.gengage-chat-root--mobile .gengage-chat-ai-top-picks{gap:8px;padding:4px 0}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-title{margin:0 0 2px;font-size:14px}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-scroll{flex-direction:column;gap:8px;min-width:0;padding:6px 0 2px;display:flex;overflow:visible}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-scroll>:first-child{flex-direction:column;align-items:stretch;width:100%;min-width:0;display:flex}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-scroll>:first-child.gengage-chat-ai-toppick-card--winner{flex-direction:column}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-rest{-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scrollbar-width:none;-ms-overflow-style:none;flex-flow:row;gap:8px;min-width:0;margin:0 -2px;padding:2px 2px 8px;display:flex;overflow:auto visible}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-rest::-webkit-scrollbar{width:0;height:0;display:none}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-rest .gengage-chat-ai-toppick-card--compact{scroll-snap-align:start;flex:0 0 min(82vw,272px);width:min(82vw,272px);min-width:0;max-width:272px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner{scroll-snap-align:none;flex-shrink:1;width:100%;min-width:0;max-width:none;padding:10px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact{scroll-snap-align:none;flex-shrink:1;width:100%;min-width:0;max-width:none;padding:6px 8px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner{border:1.5px solid color-mix(in srgb, var(--client-primary) 28%, var(--border-default));margin-bottom:8px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact{border:1px solid var(--border-default);box-shadow:none;flex-direction:column;align-items:stretch}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-top-row{flex-direction:row;align-items:flex-start;gap:10px;width:100%;min-width:0;display:flex}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-media{aspect-ratio:1;border-radius:10px;flex:0 0 clamp(96px,30vw,124px);width:clamp(96px,30vw,124px);height:clamp(96px,30vw,124px);max-height:none;margin:0}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-img{object-fit:contain;width:100%;height:100%;max-height:100%;padding:4px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-body{flex:1;min-width:0;padding-top:2px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-detail{width:100%;margin-top:10px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-reason{color:var(--text-primary);margin:0;font-size:12px;line-height:1.45;display:block!important}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-review{color:var(--text-secondary);border:1px solid var(--border-subtle);background:var(--surface-card-muted);border-radius:12px;margin-top:8px;padding:8px 10px;font-size:12px;font-style:italic;line-height:1.4;display:block!important}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-top-row{flex-direction:row;align-items:flex-start;gap:6px;width:100%;min-width:0;display:flex}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-media{aspect-ratio:1;border-radius:8px;flex:0 0 64px;width:64px;height:64px;max-height:64px;margin:0}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-img{object-fit:contain;width:100%;max-height:100%;padding:2px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-body{flex:1;min-width:0}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-rating{display:none}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-detail{width:100%;margin-top:4px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-snippet{color:var(--text-secondary);-webkit-line-clamp:2;line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;margin:0;font-size:10px;line-height:1.3;display:-webkit-box;overflow:hidden}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-role-line{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:0 0 2px;font-size:9px;font-weight:600;line-height:1.15}.gengage-chat-root--mobile .gengage-chat-ai-toppick-snippet{color:var(--text-secondary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:11px;line-height:1.35;display:-webkit-box;overflow:hidden}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-media .gengage-chat-product-card-img-actions{gap:5px;top:3px;right:5px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-media .gengage-chat-product-card-img-actions{gap:5px;top:5px;right:6px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-badge{letter-spacing:.04em;background:var(--client-primary);max-width:calc(100% - 18px);color:var(--client-on-primary);box-shadow:none;border:none;padding:2px 6px;font-size:8px;font-weight:700;line-height:1.15;top:-14px;left:8px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-name{margin-bottom:1px;font-size:12px;line-height:1.22}.gengage-chat-root--mobile .gengage-chat-ai-toppick-name{margin-bottom:2px;font-size:13px;line-height:1.28}.gengage-chat-root--mobile .gengage-chat-ai-toppick-rating{gap:3px;margin-top:2px;padding:2px 6px;font-size:10px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-price{margin-top:1px;font-size:13px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-price{margin-top:2px;font-size:13px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-original-price{font-size:11px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-labels,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-cta{display:none!important}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-cta{opacity:1;pointer-events:auto;border:1px solid var(--client-primary);background:var(--surface-card);width:calc(100% - 16px);color:var(--client-primary);box-shadow:none;filter:none;align-self:stretch;margin:8px 8px 6px;padding:6px 0;font-size:12px;font-weight:600;transform:none}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-cta:hover{background:color-mix(in srgb, var(--client-primary) 10%, var(--surface-card));color:var(--client-primary);border-color:var(--client-primary);filter:none}.gengage-chat-root--mobile .gengage-chat-rollback-btn{left:-24px}.gengage-chat-grounding-review{align-items:center;gap:12px;padding:12px 16px;transition:background .15s,border-color .15s,box-shadow .15s;display:flex}.gengage-chat-grounding-review:hover{background:var(--ds-card-bg-hover);border-color:var(--ds-card-border-hover);box-shadow:var(--ds-card-shadow-hover)}.gengage-chat-grounding-review-icon{background:color-mix(in srgb, var(--client-primary) 8%, var(--surface-card));width:32px;height:32px;color:var(--client-primary);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.gengage-chat-grounding-review-icon svg{width:18px;height:18px;display:block}.gengage-chat-grounding-review-body{flex:1;min-width:0}.gengage-chat-grounding-review-title{color:var(--text-primary);font-size:13px;font-weight:600}.gengage-chat-grounding-review-subtitle{color:var(--text-muted);margin-top:2px;font-size:12px}.gengage-chat-grounding-review-cta{color:var(--client-primary);white-space:nowrap;flex-shrink:0;align-items:center;gap:4px;font-size:13px;font-weight:600;display:inline-flex}.gengage-chat-grounding-review-cta-icon{align-items:center;display:inline-flex}.gengage-chat-grounding-review-cta-icon svg{width:14px;height:14px;display:block}.gengage-chat-grouping-cards{flex-direction:column;gap:6px;display:flex}.gengage-chat-grouping-cards-scroll{flex-direction:column;gap:6px;min-width:0;display:flex}.gengage-chat-grouping-card{background:var(--surface-card-soft);border:1px solid var(--border-default);border-radius:var(--radius-control);align-items:center;gap:10px;padding:8px 12px;transition:background .15s,border-color .15s;display:flex}.gengage-chat-grouping-card:hover{background:color-mix(in srgb, var(--client-primary) 6%, white);border-color:color-mix(in srgb, var(--client-primary) 24%, var(--border-default))}.gengage-chat-grouping-card-arrow{color:var(--client-primary);flex-shrink:0;font-size:14px;display:none}.gengage-chat-grouping-card-img{border-radius:calc(var(--radius-control) - 4px);object-fit:cover;flex-shrink:0;width:48px;min-width:48px;height:48px;min-height:48px}.gengage-chat-grouping-card-body{flex-direction:column;flex:1;align-items:flex-start;gap:2px;min-width:0;display:flex}.gengage-chat-grouping-card-name{color:var(--text-primary);font-size:13px;font-weight:600}.gengage-chat-grouping-card-desc{color:var(--text-muted);font-size:12px}.gengage-chat-grouping-card-labels{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.gengage-chat-grouping-card-label{color:var(--text-secondary);background:var(--surface-card-muted);border:1px solid var(--border-subtle);border-radius:999px;padding:4px 8px;font-size:10px;font-weight:700;line-height:1.2}.gengage-chat-root--mobile .gengage-chat-grouping-card-img{display:none}.gengage-chat-root--mobile .gengage-chat-grouping-card-arrow{display:inline}.gengage-chat-suggested-search-cards{flex-direction:column;gap:8px;display:flex}.gengage-chat-suggested-search-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-card);box-shadow:var(--shadow-1);align-items:center;gap:14px;padding:14px 16px;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s;display:flex}.gengage-chat-suggested-search-card:hover{background:var(--surface-card);border-color:color-mix(in srgb, var(--client-primary) 24%, var(--border-default));box-shadow:var(--shadow-2);transform:translateY(-1px)}.gengage-chat-suggested-search-card-img{object-fit:contain;background:var(--surface-card-muted);border:1px solid var(--border-subtle);border-radius:14px;flex-shrink:0;width:64px;height:64px;padding:4px}.gengage-chat-suggested-search-card-body{flex:1;min-width:0}.gengage-chat-suggested-search-card-name{color:var(--text-primary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:15px;font-weight:700;line-height:1.35;display:-webkit-box;overflow:hidden}.gengage-chat-product-details-gallery{position:relative}.gengage-chat-product-details-gallery .gengage-chat-product-details-img{touch-action:pan-y}.gengage-chat-product-gallery-nav{z-index:3;border:1px solid var(--border-default);border-radius:var(--radius-pill);cursor:pointer;background:color-mix(in srgb, var(--surface-card) 92%, transparent);width:36px;min-width:36px;height:36px;min-height:36px;color:var(--text-primary);box-shadow:var(--shadow-1);justify-content:center;align-items:center;padding:0;transition:background .15s,opacity .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.gengage-chat-product-gallery-nav:hover:not(:disabled){background:var(--surface-card);color:var(--client-primary)}.gengage-chat-product-gallery-nav:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:2px}.gengage-chat-product-gallery-nav:disabled{opacity:.35;cursor:not-allowed}.gengage-chat-product-gallery-nav--prev{left:8px}.gengage-chat-product-gallery-nav--next{right:8px}.gengage-chat-product-gallery-thumbs{scrollbar-width:thin;justify-content:center;gap:8px;width:100%;padding:10px 0 4px;display:flex;overflow-x:auto}.gengage-chat-product-gallery-thumb{object-fit:cover;cursor:pointer;background:var(--surface-card);border:2px solid #0000;border-radius:8px;flex-shrink:0;width:56px;height:56px;transition:border-color .15s}.gengage-chat-product-gallery-thumb:hover{border-color:var(--border-strong)}.gengage-chat-product-gallery-thumb--active{border-color:var(--client-primary)}.gengage-chat-product-gallery-thumb-more{background:var(--surface-card-muted);width:56px;height:56px;color:var(--text-secondary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.gengage-chat-product-variants-label{color:var(--text-muted);text-transform:none;letter-spacing:.5px;margin-bottom:6px;font-size:12px;font-weight:600}.gengage-chat-product-variants-list{flex-wrap:wrap;gap:6px;display:flex}.gengage-chat-product-variant-btn{border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;padding:6px 12px;font-size:12px;transition:background .15s,border-color .15s}.gengage-chat-product-variant-btn:hover{background:var(--surface-card-muted);border-color:color-mix(in srgb, var(--client-primary) 20%, var(--border-default));color:var(--client-primary)}.gengage-chat-product-details-panel{border-radius:var(--radius-card);background:var(--surface-card);box-shadow:var(--shadow-1);gap:16px;padding:16px}.gengage-chat-product-details-media{border-color:var(--border-default);border-radius:var(--radius-card);background:var(--surface-card-soft);justify-content:center;min-height:320px}.gengage-chat-product-details-img{max-height:420px}.gengage-chat-product-details-content{gap:12px}.gengage-chat-product-details-brand{color:var(--client-primary);font-size:12px;font-weight:800;line-height:1.2}.gengage-chat-product-details-title{font-size:22px;line-height:1.2}.gengage-chat-product-details-rating{border:1px solid color-mix(in srgb, var(--warning) 24%, var(--border-default));background:color-mix(in srgb, var(--warning) 10%, var(--surface-card));color:color-mix(in srgb, var(--warning) 72%, var(--text-primary));gap:6px;padding:6px 10px;font-family:inherit}button.gengage-chat-product-details-rating{border:1px solid color-mix(in srgb, var(--warning) 24%, var(--border-default));cursor:pointer}.gengage-chat-product-details-rating--clickable:hover{border-color:color-mix(in srgb, var(--warning) 42%, var(--border-default));background:color-mix(in srgb, var(--warning) 14%, var(--surface-card))}.gengage-chat-product-details-rating .gengage-star-rating{line-height:1}.gengage-chat-product-details-rating-value{color:var(--text-primary)}.gengage-chat-product-details-price{flex-wrap:wrap;gap:10px}.gengage-chat-product-details-original-price{order:2}.gengage-chat-product-details-current-price{order:1;font-size:30px}.gengage-chat-product-details-discount-badge{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--error) 12%, white);min-height:24px;color:color-mix(in srgb, var(--error) 84%, var(--text-primary));order:3;align-items:center;padding:2px 8px;font-size:12px;font-weight:800;display:inline-flex}.gengage-chat-product-details-price--inline .gengage-chat-product-details-original-price,.gengage-chat-product-details-price--inline .gengage-chat-product-details-current-price{order:0;font-size:30px}.gengage-chat-product-details-price--inline .gengage-chat-product-details-original-price{font-weight:500}.gengage-chat-product-details-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.gengage-chat-product-details-fact{border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-card-soft);min-width:0;padding:8px 10px}.gengage-chat-product-details-fact dt,.gengage-chat-product-details-fact dd{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;overflow:hidden}.gengage-chat-product-details-fact dt{color:var(--text-muted);font-size:11px;font-weight:700}.gengage-chat-product-details-fact dd{color:var(--text-primary);margin-top:2px;font-size:13px;font-weight:700}.gengage-chat-product-variants{margin-top:4px}.gengage-chat-product-variants-label{color:var(--text-primary);letter-spacing:normal;margin-bottom:8px;font-size:14px;font-weight:800}.gengage-chat-product-variants-list{gap:8px}.gengage-chat-product-variant-btn{border-radius:var(--radius-control);min-height:44px;color:var(--text-primary);gap:8px;padding:7px 10px;font-size:13px;font-weight:700}.gengage-chat-product-variant-btn--active{border-color:var(--client-primary);background:color-mix(in srgb, var(--client-primary) 8%, var(--surface-card));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--client-primary) 36%, transparent);color:var(--client-primary)}.gengage-chat-product-variant-btn--out{opacity:.48;cursor:not-allowed}.gengage-chat-product-variant-swatch{border:1px solid var(--border-default);background:var(--surface-card-muted);width:22px;height:22px;box-shadow:inset 0 0 0 2px var(--surface-card);border-radius:50%;flex:0 0 22px}.gengage-chat-product-variant-swatch--image{object-fit:cover;box-shadow:none}.gengage-chat-product-variant-label,.gengage-chat-product-variant-price{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.gengage-chat-product-variant-price{color:var(--text-secondary);font-size:12px;font-weight:700}.gengage-chat-product-details-actions{gap:10px;margin-top:6px}.gengage-chat-product-details-atc,.gengage-chat-product-details-cta{border-radius:var(--radius-control);min-height:44px}.gengage-chat-product-details-atc{border:1px solid var(--ds-button-primary-border);background:var(--ds-button-primary-bg);color:var(--ds-button-primary-fg)}.gengage-chat-product-details-atc:hover{background:var(--ds-button-primary-bg-hover);filter:none}.gengage-chat-product-details-cta.gds-btn-secondary{border-color:var(--ds-button-secondary-border);background:var(--ds-button-secondary-bg);color:var(--ds-button-secondary-fg)}.gengage-chat-product-details-cta.gds-btn-secondary:hover{background:var(--ds-button-secondary-bg-hover)}@media (width>=960px){.gengage-chat-product-details-panel{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);align-items:start;display:grid}.gengage-chat-product-details-media{position:sticky;top:0}.gengage-chat-product-detail-tabs{grid-column:1/-1}}.gengage-chat-root--mobile .gengage-chat-product-details-panel{box-shadow:none;gap:10px;padding:10px}.gengage-chat-root--mobile .gengage-chat-product-details-media{min-height:220px}.gengage-chat-root--mobile .gengage-chat-product-details-title{font-size:18px}.gengage-chat-root--mobile .gengage-chat-product-details-current-price{font-size:24px}.gengage-chat-root--mobile .gengage-chat-product-details-facts{grid-template-columns:1fr}.gengage-chat-root--mobile .gengage-chat-product-details-actions{grid-template-columns:1fr 1fr 44px;align-items:stretch;display:grid}.gengage-chat-root--mobile .gengage-chat-product-details-actions>.gengage-chat-product-details-share{width:44px;min-width:44px}.gengage-chat-root--mobile .gengage-chat-product-details-atc,.gengage-chat-root--mobile .gengage-chat-product-details-cta{width:100%;padding-inline:10px}.gengage-chat-product-grid-wrapper{flex-direction:column;gap:6px;display:flex}.gengage-chat-consulting-style-picker{border:1px solid color-mix(in srgb, var(--client-primary) 18%, var(--border-default));background:linear-gradient(160deg, color-mix(in srgb, var(--surface-card) 80%, white), color-mix(in srgb, var(--surface-card-soft) 84%, white));border-radius:20px;padding:12px}.gengage-chat-consulting-style-picker-title{color:var(--text-primary);margin-bottom:10px;font-size:14px;font-weight:800}.gengage-chat-consulting-style-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.gengage-chat-consulting-style-btn{border:1px solid var(--border-default);background:var(--surface-card);cursor:pointer;text-align:left;border-radius:14px;flex-direction:column;gap:0;padding:6px;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex}.gengage-chat-consulting-style-btn:hover{border-color:color-mix(in srgb, var(--client-primary) 26%, var(--border-default));transform:translateY(-1px)}.gengage-chat-consulting-style-btn--active{border-color:color-mix(in srgb, var(--client-primary) 40%, var(--border-default));box-shadow:0 0 0 2px color-mix(in srgb, var(--client-primary) 16%, transparent), var(--shadow-1)}.gengage-chat-consulting-style-media{border-radius:12px;position:relative;overflow:hidden}.gengage-chat-consulting-style-image{aspect-ratio:4/5;object-fit:cover;border:1px solid var(--border-subtle);border-radius:12px;width:100%}.gengage-chat-consulting-style-caption{color:#fff;background:#0000008c;border-radius:12px;padding:8px 10px;font-size:15px;font-weight:800;line-height:1.2;position:absolute;bottom:10px;left:10px;right:10px}.gengage-chat-consulting-group{border:1px solid color-mix(in srgb, var(--client-primary) 14%, var(--border-default));background:linear-gradient(180deg, var(--surface-card-soft), var(--surface-card));border-radius:16px;flex-direction:column;gap:10px;padding:12px;display:flex}.gengage-chat-consulting-group-header{flex-direction:column;gap:4px;min-height:112px;display:flex}.gengage-chat-consulting-group-label{color:var(--text-primary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;min-height:2.5em;margin:0;font-size:16px;font-weight:800;line-height:1.25;display:-webkit-box;overflow:hidden}.gengage-chat-consulting-group-reason{color:var(--text-secondary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.45;display:-webkit-box;overflow:hidden}.gengage-chat-consulting-group-grid{grid-template-columns:repeat(var(--consulting-group-columns,4), minmax(210px, 1fr));justify-content:stretch;align-items:stretch;gap:14px;margin-bottom:2px;display:grid}.gengage-chat-consulting-group-grid .gengage-chat-product-card{height:100%}.gengage-chat-beauty-photo-step{padding:0 12px}.gengage-chat-beauty-photo-step-card{border:1px solid color-mix(in srgb, var(--client-primary) 20%, var(--border-default));background:linear-gradient(165deg, color-mix(in srgb, var(--surface-card) 85%, white), var(--surface-card-soft));box-shadow:var(--shadow-1);border-radius:18px;gap:10px;padding:12px;display:flex}.gengage-chat-beauty-photo-step-icon{background:color-mix(in srgb, var(--client-primary) 16%, white);width:34px;height:34px;color:var(--client-primary);border-radius:12px;flex:none;justify-content:center;align-items:center;font-size:18px;font-weight:800;display:inline-flex}.gengage-chat-beauty-photo-step-content{flex:auto;min-width:0}.gengage-chat-beauty-photo-step-title{color:var(--text-primary);font-size:15px;font-weight:800}.gengage-chat-beauty-photo-step-desc{color:var(--text-secondary);margin:4px 0 0;font-size:12px;line-height:1.45}.gengage-chat-beauty-photo-step-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.gengage-chat-beauty-photo-step-upload{border-radius:999px;min-height:34px;padding-inline:14px;font-size:12px;font-weight:800}.gengage-chat-beauty-photo-step-skip{border-radius:999px;min-height:34px;padding-inline:12px;font-size:12px;font-weight:700}.gengage-chat-panel .gengage-chat-consulting-style-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.gengage-chat-panel .gengage-chat-consulting-style-image{min-height:250px}.gengage-chat-panel .gengage-chat-consulting-style-caption{padding:10px 12px;font-size:16px}.gengage-chat-panel .gengage-chat-consulting-group{border-radius:18px;padding:14px}.gengage-chat-panel .gengage-chat-consulting-group-grid .gengage-chat-product-card{min-width:0;margin-inline:auto}.gengage-chat-root--mobile .gengage-chat-consulting-style-grid{grid-template-columns:1fr}.gengage-chat-root--mobile .gengage-chat-consulting-style-image{min-height:220px}.gengage-chat-root--mobile .gengage-chat-consulting-group-grid{grid-template-columns:1fr}.gengage-chat-root--mobile .gengage-chat-consulting-group-grid.gengage-chat-consulting-group-grid--single-group{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gengage-chat-root--mobile .gengage-chat-consulting-group-grid .gengage-chat-product-card{width:100%;min-width:0;max-width:none}.gengage-chat-product-grid-head{justify-content:space-between;align-items:center;gap:8px;min-width:0;margin-bottom:2px;display:flex}.gengage-chat-product-grid-head-title{min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:18px;font-weight:700;line-height:1.2;overflow:hidden}.gengage-chat-product-grid-head-actions{flex-shrink:0;align-items:center;gap:6px;max-width:52%;display:flex}.gengage-chat-product-sort-toolbar{box-shadow:none;background:0 0;border:none;border-radius:0;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0;padding:0;display:flex}.gengage-chat-product-sort-toolbar--inline{flex-wrap:nowrap;justify-content:flex-end}.gengage-chat-product-sort-dropdown{z-index:5;flex:0 auto;width:auto;min-width:0;max-width:200px;position:relative}.gengage-chat-product-sort-toolbar:not(.gengage-chat-product-sort-toolbar--inline) .gengage-chat-product-sort-dropdown{flex:auto;max-width:min(200px,100%)}.gengage-chat-product-sort-dropdown--open{z-index:25}.gengage-chat-product-sort-trigger{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card);width:100%;min-height:32px;color:var(--text-primary);cursor:pointer;text-align:left;align-items:center;gap:6px;padding:5px 8px;font-size:12px;font-weight:600;line-height:1.2;transition:border-color .15s,box-shadow .15s,background .15s;display:flex}.gengage-chat-product-sort-trigger:hover{border-color:color-mix(in srgb, var(--client-primary) 22%, var(--border-default));background:var(--surface-card-soft)}.gengage-chat-product-sort-trigger:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:2px}.gengage-chat-product-sort-dropdown--open .gengage-chat-product-sort-trigger{border-color:color-mix(in srgb, var(--client-primary) 32%, var(--border-default));box-shadow:var(--shadow-2)}.gengage-chat-product-sort-trigger-icon{color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.gengage-chat-product-sort-dropdown[data-sort-icon=related] .gengage-chat-product-sort-trigger-icon{color:var(--client-primary)}.gengage-chat-product-sort-trigger-icon svg{display:block}.gengage-chat-product-sort-trigger-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.gengage-chat-product-sort-trigger-chevron{color:var(--text-muted);flex-shrink:0;transition:transform .2s;display:flex}.gengage-chat-product-sort-dropdown--open .gengage-chat-product-sort-trigger-chevron{transform:rotate(180deg)}.gengage-chat-product-sort-menu{width:max-content;min-width:100%;max-width:min(260px,100vw - 48px);margin:0;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:auto}.gengage-chat-product-sort-option{border-radius:calc(var(--radius-control) - 4px);width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:8px 10px;font-size:12px;font-weight:500;line-height:1.25;transition:background .12s;display:flex}.gengage-chat-product-sort-option:hover{background:var(--surface-card-muted)}.gengage-chat-product-sort-option--active{color:var(--client-primary);background:var(--client-primary-subtle);font-weight:600}.gengage-chat-product-sort-option-icon{color:var(--text-secondary);flex-shrink:0;display:flex}.gengage-chat-product-sort-option--active .gengage-chat-product-sort-option-icon,.gengage-chat-product-sort-option--active[data-sort-key=related] .gengage-chat-product-sort-option-icon{color:var(--client-primary)}.gengage-chat-product-sort-option-icon svg{display:block}.gengage-chat-product-sort-option-label{flex:auto;min-width:0}.gengage-chat-product-sort-option-check{width:22px;color:var(--client-primary);flex-shrink:0;justify-content:flex-end;display:flex}.gengage-chat-product-sort-option-check--hidden{visibility:hidden}.gengage-chat-product-sort-separator{background:var(--border-default);width:1px;margin:2px}.gengage-chat-comparison-toggle-btn{border:1px solid var(--border-default);border-radius:var(--radius-control,12px);background:var(--surface-card);min-height:32px;color:var(--text-primary);cursor:pointer;white-space:nowrap;flex:none;align-items:center;gap:5px;padding:5px 8px;font-size:12px;font-weight:700;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.gengage-chat-comparison-toggle-icon{color:var(--text-secondary);flex-shrink:0;display:flex}.gengage-chat-comparison-toggle-icon svg{display:block}.gengage-chat-comparison-toggle-btn:hover{background:var(--surface-card-soft);border-color:color-mix(in srgb, var(--client-primary) 18%, white);color:var(--client-primary)}.gengage-chat-comparison-toggle-btn--active{border-color:color-mix(in srgb, var(--client-primary) 26%, white);color:var(--client-primary);background:color-mix(in srgb, var(--client-primary) 8%, white)}.gengage-chat-comparison-toggle-btn--active .gengage-chat-comparison-toggle-icon{color:var(--client-primary)}.gengage-chat-comparison-toggle-btn--active:hover{background:var(--client-primary-hover);color:var(--client-on-primary);border-color:var(--client-primary-hover)}.gengage-chat-comparison-toggle-btn--active:hover .gengage-chat-comparison-toggle-icon{color:var(--client-on-primary)}.gengage-chat-comparison-select-wrapper{cursor:pointer;border-radius:var(--radius-control);transition:box-shadow .2s,transform .2s;position:relative}.gengage-chat-comparison-select-wrapper:hover{box-shadow:0 0 0 2px var(--client-focus-ring)}.gengage-chat-comparison-select-wrapper--selected,.gengage-chat-comparison-select-wrapper--selected:hover{box-shadow:none}@media (prefers-reduced-motion:reduce){.gengage-chat-comparison-select-wrapper{transition:none}}.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card{pointer-events:none;transition:opacity .2s,transform .2s,filter .2s}.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card .gengage-chat-product-card-img-actions,.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card .gengage-chat-product-card-discount-badge,.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card .gengage-chat-product-card-buy-footer,.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card .gengage-chat-product-card-cta{opacity:0}.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card .gengage-chat-product-card-body{opacity:.82}.gengage-chat-comparison-select-wrapper:hover>.gengage-chat-product-card,.gengage-chat-comparison-select-wrapper--selected>.gengage-chat-product-card{opacity:1;transform:translateY(-1px)}.gengage-chat-comparison-select-wrapper--selected>.gengage-chat-product-card{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--client-primary) 26%, white), var(--shadow-1);filter:saturate(1.02);border-color:#0000;outline:none}.gengage-chat-comparison-select-wrapper--selected>.gengage-chat-product-card .gengage-chat-product-card-body{opacity:1}.gengage-chat-comparison-card-hint{display:none}.gengage-chat-comparison-checkbox{z-index:4;cursor:pointer;pointer-events:auto;border:1px solid var(--border-default);background:color-mix(in srgb, var(--surface-card) 94%, white);min-height:40px;color:var(--text-primary);box-shadow:var(--shadow-2);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 14px;display:inline-flex;position:absolute;bottom:16px;left:16px;right:16px}.gengage-chat-comparison-checkbox[data-selected=true]{background:color-mix(in srgb, var(--client-primary) 10%, white);border-color:color-mix(in srgb, var(--client-primary) 22%, var(--border-default));color:var(--client-primary)}.gengage-chat-comparison-checkbox-icon{background:var(--surface-card-soft);color:currentColor;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.gengage-chat-comparison-checkbox[data-selected=true] .gengage-chat-comparison-checkbox-icon{background:var(--client-primary);color:var(--client-on-primary)}.gengage-chat-comparison-checkbox-dot{background:color-mix(in srgb, currentColor 75%, white);border-radius:999px;width:8px;height:8px}.gengage-chat-comparison-checkbox-label{font-size:12px;font-weight:700;line-height:1.2}.gengage-chat-comparison-toggle-btn--hidden{opacity:0;pointer-events:none}@keyframes gengage-comparison-fade-in{0%{opacity:0}to{opacity:1}}.gengage-chat-comparison-toggle-btn--reveal{animation:.5s forwards gengage-comparison-fade-in}@media (prefers-reduced-motion:reduce){.gengage-chat-comparison-toggle-btn--reveal{opacity:1;animation:none}}.gengage-chat-comparison-floating-btn{border:1px solid var(--border-default);background:color-mix(in srgb, var(--surface-card) 92%, white);width:min(100%,520px);color:var(--text-primary);z-index:5;box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:18px;justify-content:space-between;align-items:center;gap:14px;margin:16px auto 0;padding:12px 14px;display:flex;position:sticky;bottom:12px}.gengage-chat-comparison-dock-slot{display:none}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot:not(:empty){z-index:30;padding:0 10px max(6px, env(safe-area-inset-bottom,0px));box-sizing:border-box;pointer-events:none;max-width:100%;display:block;position:absolute;bottom:0;left:0;right:0}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot>*{pointer-events:auto}.gengage-chat-comparison-floating-summary{flex:auto;align-items:center;gap:12px;min-width:0;display:flex}.gengage-chat-comparison-floating-count{background:var(--client-primary-subtle);min-width:32px;height:32px;color:var(--client-primary);border-radius:999px;justify-content:center;align-items:center;padding:0 10px;font-size:13px;font-weight:800;display:inline-flex}.gengage-chat-comparison-floating-copy{min-width:0}.gengage-chat-comparison-floating-title{color:var(--text-primary);font-size:14px;font-weight:700;line-height:1.2}.gengage-chat-comparison-floating-warning{color:var(--error);margin-top:4px;font-size:12px;line-height:1.35}.gengage-chat-comparison-floating-subtitle{color:var(--text-secondary);margin-top:2px;font-size:12px;line-height:1.35}.gengage-chat-comparison-floating-action{flex:none;min-width:132px}.gengage-chat-comparison-floating-close{border-radius:14px;flex:none;width:40px;height:40px;padding:0}.gengage-chat-comparison-floating-action--disabled{opacity:.6}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-btn{box-sizing:border-box;width:100%;min-width:0;max-width:100%;box-shadow:var(--shadow-3);border-radius:14px;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:10px;margin:0;padding:10px;position:relative;bottom:auto}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-summary{align-items:center;gap:8px;min-height:26px;padding-right:34px;display:flex}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-count{flex-shrink:0;justify-content:center;align-items:center;min-width:26px;height:26px;padding:0 7px;font-size:12px;font-weight:800;line-height:1;display:inline-flex}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-copy{flex-direction:column;justify-content:center;min-width:0;display:flex}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-title{margin:0;font-size:13px;line-height:1.25}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-warning{margin-top:2px;font-size:11px}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-action{box-sizing:border-box;justify-content:center;align-items:center;width:100%;min-width:0;max-width:100%;min-height:42px;padding:0 12px;font-size:13px;display:flex}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-close{box-sizing:border-box;align-self:unset;z-index:10;touch-action:manipulation;border-radius:8px;flex:none;width:26px;min-width:26px;max-width:26px;height:26px;min-height:26px;max-height:26px;padding:0;line-height:0;position:absolute;top:9px;right:9px}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-close svg{width:11px;height:11px;display:block}.gengage-chat-panel-topbar{box-sizing:border-box;height:var(--_gengage-chat-header-height);background:var(--surface-card);z-index:3;border-bottom:none;flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:12px;padding:14px 16px;display:flex;position:sticky;top:0}.gengage-chat-panel-topbar-title-wrap{flex:1 1 0;align-items:center;min-width:0;display:flex}.gengage-chat-panel-topbar-back,.gengage-chat-panel-topbar-forward{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card);width:42px;min-width:42px;height:42px;min-height:42px;color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:0;transition:background .15s,border-color .15s,opacity .15s;display:flex}.gengage-chat-panel-topbar-back[hidden],.gengage-chat-panel-topbar-forward[hidden]{display:none}.gengage-chat-panel-topbar-back:hover:not(:disabled),.gengage-chat-panel-topbar-forward:hover:not(:disabled){background:var(--surface-card-soft);border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default))}.gengage-chat-panel-topbar-back:disabled,.gengage-chat-panel-topbar-forward:disabled{opacity:.3;cursor:default}.gengage-chat-panel-topbar-title{width:100%;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;text-align:left;letter-spacing:-.01em;font-size:17px;font-weight:700;line-height:1.2;display:block;overflow:hidden}.gengage-chat-panel-topbar-actions{flex:none;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.gengage-chat-panel-topbar-actions:empty{display:none}.gengage-chat-panel-topbar-toolbar-host{justify-content:flex-end;align-items:center;width:100%;display:flex}.gengage-chat-panel-topbar-toolbar-host .gengage-chat-product-sort-toolbar{flex-wrap:nowrap;justify-content:flex-end;gap:8px}.gengage-chat-panel-topbar-close{display:none}@keyframes gengage-typewriter-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.gengage-chat-typewriter-block{animation:.15s both gengage-typewriter-fade-in;display:block}@media (prefers-reduced-motion:reduce){.gengage-chat-typewriter-block{animation:none}}.gengage-product-mention{color:var(--client-primary);cursor:pointer;border-bottom:1px dashed var(--client-primary);font-weight:500;text-decoration:none;transition:border-color .15s}.gengage-product-mention:hover{border-bottom-style:solid}@keyframes gengage-skeleton-pulse{0%,to{opacity:.4}50%{opacity:.8}}.gengage-chat-panel-skeleton-block{animation:1.5s ease-in-out infinite gengage-skeleton-pulse}@media (prefers-reduced-motion:reduce){.gengage-chat-panel-skeleton-block{animation:none}}.gengage-chat-input-chips{scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap;gap:6px;padding:4px 12px 2px;display:flex;overflow-x:auto}.gengage-chat-input-chips::-webkit-scrollbar{display:none}.gengage-chat-input-chip{border-radius:var(--radius-pill);border:1px solid var(--border-default);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;white-space:nowrap;align-items:center;padding:8px 12px;font-family:inherit;font-size:12px;font-weight:700;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.gengage-chat-input-chip:hover{background:var(--client-primary-subtle);border-color:color-mix(in srgb, var(--client-primary) 24%, var(--border-default));color:var(--client-primary)}.gengage-chat-icon{flex-shrink:0;width:14px;height:14px}.gengage-chat-input-chip-icon,.gengage-chat-pill-icon{align-items:center;margin-right:4px;display:inline-flex}.gengage-chat-product-card-img-wrapper,.gengage-chat-product-details-img-wrap{position:relative;overflow:hidden}.gengage-chat-product-card-discount-badge{border-radius:var(--radius-pill);background:var(--_gengage-discount-color);color:var(--text-inverse);z-index:1;padding:3px 8px;font-size:11px;font-weight:700;line-height:1.3;position:absolute;top:8px;left:8px}.gengage-chat-product-card-stock{border-radius:var(--radius-pill);width:fit-content;margin-top:2px;padding:2px 6px;font-size:11px;font-weight:600}.gengage-chat-product-card-stock.is-in-stock{background:color-mix(in srgb, var(--success) 12%, white);color:color-mix(in srgb, var(--success) 82%, var(--text-primary))}.gengage-chat-product-card-stock.is-out-of-stock{background:color-mix(in srgb, var(--error) 10%, white);color:var(--error)}.gengage-chat-find-similar-pill{border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:color-mix(in srgb, var(--surface-elevated) 96%, transparent);width:28px;height:28px;color:var(--text-primary);box-shadow:var(--shadow-1);cursor:pointer;z-index:2;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:11px;font-weight:500;transition:opacity .2s,box-shadow .15s;display:inline-flex;position:relative}.gengage-chat-find-similar-pill:hover{box-shadow:var(--shadow-2);border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default))}@media (hover:hover) and (pointer:fine){.gengage-chat-find-similar-pill:after{content:attr(data-tooltip);background:color-mix(in srgb, var(--surface-shell) 98%, black);border:1px solid color-mix(in srgb, var(--surface-shell) 60%, white);box-shadow:var(--shadow-2);color:var(--text-inverse);white-space:nowrap;opacity:0;pointer-events:none;z-index:12;border-radius:10px;padding:6px 10px;font-size:11px;font-weight:600;line-height:1.2;transition:opacity .14s;position:absolute;top:50%;right:calc(100% + 8px);transform:translateY(-50%)}.gengage-chat-find-similar-pill:hover:after,.gengage-chat-find-similar-pill:focus-visible:after{opacity:1}}.gengage-chat-find-similar-pill-icon{justify-content:center;align-items:center;display:flex}.gengage-chat-find-similar-pill-icon svg{display:block}.gengage-chat-find-similar-pill-text{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.gengage-chat-product-card-img-wrapper .gengage-chat-product-card-img-actions,.gengage-chat-ai-toppick-media .gengage-chat-product-card-img-actions{transition:opacity .2s}@media (hover:hover) and (pointer:fine){.gengage-chat-product-card-img-wrapper:not(:hover) .gengage-chat-product-card-img-actions,.gengage-chat-ai-toppick-media:not(:hover) .gengage-chat-product-card-img-actions{opacity:0;pointer-events:none}.gengage-chat-product-card-img-wrapper:hover .gengage-chat-product-card-img-actions,.gengage-chat-ai-toppick-media:hover .gengage-chat-product-card-img-actions{opacity:1;pointer-events:auto}}@media (hover:none),(pointer:coarse){.gengage-chat-product-card-img-wrapper .gengage-chat-product-card-img-actions,.gengage-chat-ai-toppick-media .gengage-chat-product-card-img-actions{opacity:1;pointer-events:auto}}.gengage-chat-product-details-img-wrap .gengage-chat-find-similar-pill{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--surface-shell) 88%, transparent);width:auto;height:auto;color:var(--text-inverse);box-shadow:none;opacity:0;pointer-events:none;padding:4px 10px;position:absolute;top:40px;right:8px}.gengage-chat-product-details-img-wrap .gengage-chat-find-similar-pill-icon{display:none}.gengage-chat-product-details-img-wrap .gengage-chat-find-similar-pill-text{clip:auto;white-space:nowrap;width:auto;height:auto;margin:0;position:static;overflow:visible}.gengage-chat-product-card-img-wrapper:hover .gengage-chat-find-similar-pill,.gengage-chat-ai-toppick-media:hover .gengage-chat-find-similar-pill,.gengage-chat-product-details-img-wrap:hover .gengage-chat-find-similar-pill{opacity:1;pointer-events:auto}.gengage-chat-favorite-btn{background:color-mix(in srgb, var(--surface-elevated) 96%, transparent);border:1px solid var(--border-subtle);border-radius:var(--radius-control);cursor:pointer;width:28px;height:28px;color:var(--text-secondary);box-shadow:var(--shadow-1);z-index:3;justify-content:center;align-items:center;padding:0;transition:color .2s,box-shadow .15s;display:flex;position:absolute;top:8px;right:8px}.gengage-chat-favorite-btn:hover{box-shadow:var(--shadow-2);color:var(--error);border-color:color-mix(in srgb, var(--error) 20%, var(--border-default))}.gengage-chat-favorite-btn--active{color:var(--error)}.gengage-chat-product-details-promos{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.gengage-chat-product-details-promo-badge{border-radius:var(--radius-pill);background:var(--gengage-chat-promo-bg,color-mix(in srgb, var(--success) 12%, white));color:var(--gengage-chat-promo-text,color-mix(in srgb, var(--success) 82%, var(--text-primary)));white-space:nowrap;box-sizing:border-box;min-height:20px;padding:2px 6px;font-size:10px;font-weight:500;display:inline-block}.gengage-chat-thumbnails-column{pointer-events:none;display:none!important}.gengage-chat-thumbnail-btn{border:2px solid var(--border-default);border-radius:calc(var(--radius-control) - 4px);background:var(--surface-card);cursor:pointer;justify-content:center;align-items:center;width:40px;height:40px;padding:0;transition:border-color .15s;display:flex;overflow:hidden}.gengage-chat-thumbnail-btn:hover{border-color:var(--client-primary)}.gengage-chat-thumbnail-img{object-fit:cover;width:100%;height:100%}.gengage-chat-panel-float{box-sizing:border-box;pointer-events:none;z-index:10;flex-shrink:0;align-self:stretch;width:100%;height:0;margin-top:auto;position:sticky;bottom:0;overflow:visible}.gengage-chat-choice-prompter{pointer-events:none;background:var(--surface-card);border:1px solid var(--border-default);width:auto;max-width:none;box-shadow:var(--shadow-2);z-index:5;opacity:0;border-radius:16px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;margin-left:0;margin-right:0;padding:12px 14px;transition:opacity .2s,transform .2s;display:grid;position:absolute;bottom:12px;left:16px;right:16px;transform:translateY(12px)}.gengage-chat-panel--scrolled .gengage-chat-choice-prompter{pointer-events:auto;opacity:1;transform:translateY(0)}.gengage-chat-choice-prompter-heading{color:var(--text-primary);margin-bottom:2px;font-size:12px;font-weight:700}.gengage-chat-choice-prompter-suggestion{color:var(--text-secondary);margin-bottom:0;font-size:12px;line-height:1.35}.gengage-chat-choice-prompter-copy{min-width:0}.gengage-chat-choice-prompter-cta{border:1px solid var(--ds-button-primary-border);border-radius:var(--radius-control);background:var(--ds-button-primary-bg);width:auto;min-width:180px;min-height:40px;color:var(--ds-button-primary-fg);cursor:pointer;text-align:center;padding:0 18px;font-family:inherit;font-size:13px;font-weight:700;transition:background .15s;display:inline-flex}.gengage-chat-choice-prompter-cta:hover{background:var(--ds-button-primary-bg-hover)}.gengage-chat-choice-prompter-dismiss{border:1px solid var(--border-default);background:var(--surface-card-soft);min-width:32px;min-height:32px;color:var(--text-muted);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;display:flex;position:absolute;top:10px;right:10px}.gengage-chat-choice-prompter-dismiss:hover{color:var(--client-primary);border-color:color-mix(in srgb, var(--client-primary) 18%, white);background:var(--client-primary-subtle)}@media (prefers-reduced-motion:reduce){.gengage-chat-choice-prompter{animation:none}}.gengage-chat-pros-cons{background:var(--surface-card-soft);border:1px solid var(--border-subtle);border-radius:var(--radius-control);margin:8px 0;padding:12px 14px}.gengage-chat-pros-cons-heading{color:var(--text-primary);margin:0 0 10px;font-size:14px;font-weight:600}.gengage-chat-pros-cons-list{margin:0 0 8px;padding:0;list-style:none}.gengage-chat-pros-cons-list:last-child{margin-bottom:0}.gengage-chat-pros-cons-item{color:var(--text-secondary);align-items:flex-start;gap:8px;padding:4px 0;font-size:13px;line-height:1.5;display:flex}.gengage-chat-pros-cons-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:12px;font-weight:700;display:flex}.gengage-chat-pros-cons-icon--pro{color:var(--success);background:color-mix(in srgb, var(--success) 15%, white)}.gengage-chat-pros-cons-icon--con{color:var(--error);background:color-mix(in srgb, var(--error) 12%, white)}.gengage-chat-categories{flex-direction:column;gap:8px;display:flex}.gengage-chat-categories-tabs{-webkit-overflow-scrolling:touch;gap:4px;padding:4px 0;display:flex;overflow-x:auto}.gengage-chat-categories-tab{border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;white-space:nowrap;padding:6px 14px;font-size:13px;transition:background .15s,color .15s,border-color .15s}.gengage-chat-categories-tab:hover{background:var(--surface-card-soft);border-color:var(--border-strong)}.gengage-chat-categories-tab--active{background:var(--client-primary-subtle);color:var(--client-primary);border-color:color-mix(in srgb, var(--client-primary) 26%, var(--border-default))}.gengage-chat-categories-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;display:grid}.gengage-chat-categories-filter-tags{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.gengage-chat-categories-filter-tag{border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;padding:4px 10px;font-size:12px;transition:background .15s,border-color .15s,color .15s}.gengage-chat-categories-filter-tag:hover{background:var(--client-primary-subtle);border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));color:var(--client-primary)}.gengage-chat-product-grid-view-more{border:1px solid var(--ds-button-secondary-border);border-radius:var(--radius-control);background:var(--ds-button-secondary-bg);width:100%;color:var(--ds-button-secondary-fg);cursor:pointer;text-align:center;grid-column:1/-1;margin-top:8px;padding:10px;font-size:14px;font-weight:500;transition:background .15s;display:block}.gengage-chat-product-grid-view-more:hover{background:var(--ds-button-secondary-bg-hover)}.gengage-chat-product-grid--mobile{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px 0;display:grid;overflow-x:visible}.gengage-chat-product-grid--mobile .gengage-chat-product-card{width:100%;min-width:0;max-width:none}.gengage-chat-comparison--mobile{position:relative;overflow-x:clip}.gengage-chat-comparison--mobile .gengage-chat-comparison-table-wrapper{-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 88%,#0000);mask-image:linear-gradient(90deg,#000 88%,#0000)}.gengage-chat-comparison--mobile .gengage-chat-comparison-table{table-layout:fixed;min-width:480px}.gengage-chat-comparison--mobile .gengage-chat-comparison-table th:first-child,.gengage-chat-comparison--mobile .gengage-chat-comparison-table .gengage-chat-comparison-label{background:var(--surface-card);z-index:1;box-shadow:2px 0 4px color-mix(in srgb, var(--surface-shell) 8%, transparent);position:sticky;left:0}.gengage-chat-comparison--mobile .gengage-chat-comparison-table thead th:first-child{box-sizing:border-box;width:22ch;min-width:0;max-width:22ch;padding:8px 6px}.gengage-chat-comparison--mobile .gengage-chat-comparison-table td.gengage-chat-comparison-label{text-align:left;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box;vertical-align:middle;width:22ch;min-width:0;max-width:22ch;overflow:hidden}.gengage-chat-product-details-similars-heading{color:var(--text-primary);margin:16px 0 8px;font-size:18px;font-weight:700;line-height:1.2}.gengage-chat-product-details-similars{margin-top:8px}.gengage-chat-handoff-notice{background:color-mix(in srgb, var(--warning) 10%, white);border:1px solid color-mix(in srgb, var(--warning) 28%, var(--border-default));border-radius:var(--radius-control);text-align:center;flex-direction:column;align-items:center;gap:6px;margin:8px 0;padding:16px;display:flex}.gengage-chat-handoff-notice-icon{font-size:24px}.gengage-chat-handoff-notice-heading{color:color-mix(in srgb, var(--warning) 72%, var(--text-primary));margin:0;font-size:14px;font-weight:600}.gengage-chat-handoff-notice-summary{color:color-mix(in srgb, var(--warning) 84%, var(--text-primary));margin:0;font-size:13px;line-height:1.5}.gengage-chat-product-details-share{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card);width:36px;height:36px;color:var(--text-muted);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:color .12s,border-color .12s,background-color .12s;display:inline-flex;position:relative}.gengage-chat-product-details-share:hover{color:var(--client-primary);border-color:var(--client-primary);background:var(--client-primary-subtle)}.gengage-chat-product-details-share:before{content:attr(aria-label);border-radius:calc(var(--radius-control) - 4px);background:var(--surface-shell);color:var(--text-inverse);white-space:nowrap;pointer-events:none;opacity:0;z-index:2;padding:4px 8px;font-size:11px;font-weight:500;transition:opacity .15s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.gengage-chat-product-details-share:hover:before{opacity:1}.gengage-chat-product-details-share--copied:after{content:"✓";background:var(--_gengage-success-color);color:var(--client-on-primary);border-radius:var(--radius-control);justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex;position:absolute;inset:0}.gengage-chat-product-details-share svg{width:20px;height:20px}.gengage-chat-review-link,.gengage-chat-grounding-link{color:var(--client-primary);text-decoration:underline}@media (width<=768px){.gengage-chat-product-details-promo-badge{-webkit-line-clamp:2;line-clamp:2;white-space:normal;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}}.gengage-chat-launcher:focus-visible,.gengage-chat-close:focus-visible,.gengage-chat-header-btn:focus-visible,.gengage-chat-header-powered:focus-visible,.gengage-chat-send:focus-visible,.gengage-chat-action-btn:focus-visible,.gengage-chat-pill:focus-visible,.gengage-chat-input-chip:focus-visible,.gengage-chat-pills-arrow:focus-visible,.gengage-chat-error-retry:focus-visible,.gengage-chat-product-card-cta:focus-visible,.gengage-chat-product-details-cta:focus-visible,.gengage-chat-product-details-atc:focus-visible,.gengage-chat-product-detail-tab:focus-visible,.gengage-chat-panel-divider-toggle:focus-visible,.gengage-chat-panel-topbar-back:focus-visible,.gengage-chat-panel-topbar-forward:focus-visible,.gengage-chat-rollback-btn:focus-visible,.gengage-chat-ai-toppick-cta:focus-visible,.gengage-chat-comparison-toggle-btn:focus-visible,.gengage-chat-comparison-floating-btn:focus-visible,.gengage-chat-comparison-checkbox:focus-visible,.gengage-chat-product-sort-trigger:focus-visible,.gengage-chat-product-sort-option:focus-visible,.gengage-chat-product-variant-btn:focus-visible,.gengage-chat-product-gallery-thumb:focus-visible,.gengage-chat-thumbnail-btn:focus-visible,.gengage-chat-find-similar-pill:focus-visible,.gengage-chat-favorite-btn:focus-visible,.gengage-chat-attach-btn:focus-visible,.gengage-chat-attach-menu-item:focus-visible,.gengage-chat-mic-btn:focus-visible,.gengage-chat-attachment-remove:focus-visible,.gengage-chat-kvkk-dismiss:focus-visible,.gengage-chat-choice-prompter-cta:focus-visible,.gengage-chat-choice-prompter-dismiss:focus-visible,.gengage-chat-categories-tab:focus-visible,.gengage-chat-categories-filter-tag:focus-visible,.gengage-chat-product-grid-view-more:focus-visible,.gengage-chat-product-details-share:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:2px}.gengage-chat-root--mobile .gengage-chat-choice-prompter{width:auto;max-width:none;left:12px;right:12px;bottom:calc(var(--gengage-chat-launcher-mobile-bottom,16px) + var(--gengage-chat-launcher-size,56px) + env(safe-area-inset-bottom,0px) + 12px);grid-template-columns:1fr;max-height:40vh;overflow-y:auto}.gengage-chat-root--mobile .gengage-chat-choice-prompter-cta{width:100%}.gengage-chat-root--mobile .gengage-chat-product-sort-trigger,.gengage-chat-root--mobile .gengage-chat-product-sort-option,.gengage-chat-root--mobile .gengage-chat-comparison-toggle-btn{min-height:40px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-trigger-label,.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-trigger-chevron,.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-comparison-toggle-label{display:none}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-dropdown{flex:none;width:auto;max-width:none}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-trigger{justify-content:center;gap:0;width:auto;min-width:44px;padding:0 10px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-comparison-toggle-btn{justify-content:center;gap:0;width:44px;min-width:44px;padding:0}.gengage-chat-root--mobile .gengage-chat-input-chip{min-height:40px;padding:8px 12px}.gengage-chat-root--mobile .gengage-chat-choice-prompter-dismiss{width:32px;height:32px}.gengage-chat-root--mobile .gengage-chat-panel-divider-toggle{min-height:44px}.gengage-chat-root--mobile .gengage-chat-product-card-cta,.gengage-chat-root--mobile .gengage-chat-choice-prompter-cta,.gengage-chat-root--mobile .gengage-chat-product-grid-view-more{justify-content:center;align-items:center;min-height:44px;display:flex}.gengage-chat-root--mobile .gengage-chat-panel-topbar-back,.gengage-chat-root--mobile .gengage-chat-panel-topbar-forward,.gengage-chat-root--mobile .gengage-chat-favorite-btn,.gengage-chat-root--mobile .gengage-chat-product-details-share{width:44px;min-width:44px;height:44px}.gengage-chat-root--mobile .gengage-chat-panel-topbar-close{display:none}.gengage-skeleton{gap:12px;padding:12px;display:flex}.gengage-skeleton--message{flex-direction:column;gap:8px;padding:16px}.gengage-skeleton-card{flex-direction:column;flex:1;gap:8px;display:flex}.gengage-skeleton-img{border-radius:var(--radius-control);height:120px}.gengage-skeleton-text{border-radius:4px;height:14px}.gengage-skeleton-price{border-radius:4px;width:60%;height:14px}.gengage-skeleton-line{border-radius:4px;height:12px}@media (prefers-reduced-motion:no-preference){.gengage-skeleton-card,.gengage-skeleton-line,.gengage-skeleton-img,.gengage-skeleton-text,.gengage-skeleton-price{background:linear-gradient(90deg, var(--ds-neutral-100) 25%, var(--ds-neutral-200) 50%, var(--ds-neutral-100) 75%);background-size:200% 100%;animation:1.5s infinite gengage-shimmer}@keyframes gengage-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}}@media (prefers-reduced-motion:reduce){.gengage-skeleton-card,.gengage-skeleton-line,.gengage-skeleton-img,.gengage-skeleton-text,.gengage-skeleton-price{background:var(--ds-neutral-100)}}.gengage-chat-panel--has-scroll:after{content:"";background:linear-gradient(transparent, var(--surface-card-soft));pointer-events:none;height:40px;display:block;position:sticky;bottom:0}@media (prefers-reduced-motion:no-preference){.gengage-chat-panel--transitioning{opacity:0;transition:opacity .15s}}.gengage-chat-cart-toast{background:var(--success);color:var(--text-inverse);border-radius:var(--radius-pill);box-shadow:var(--shadow-3);pointer-events:none;opacity:0;z-index:10;white-space:nowrap;padding:8px 18px;font-size:13px;font-weight:600;transition:opacity .2s,transform .2s;position:absolute;bottom:72px;left:50%;transform:translate(-50%)translateY(8px)}.gengage-chat-cart-toast--visible{opacity:1;transform:translate(-50%)translateY(0)}@keyframes gengage-cart-flash{0%{transform:scale(1)}30%{transform:scale(1.25)}60%{transform:scale(.95)}to{transform:scale(1)}}.gengage-chat-header-btn--cart-flash{animation:.5s gengage-cart-flash}', Ar = U({
5161
+ role: De(["user", "assistant"]),
5161
5162
  content: w(),
5162
5163
  timestamp: he().optional()
5163
5164
  }), Lr = U({
@@ -5168,7 +5169,7 @@ var Pr = ':where(:root,.gengage-chat-root,.gengage-qna-container,.gengage-simrel
5168
5169
  originalPrice: w().optional(),
5169
5170
  url: w().url(),
5170
5171
  ctaLabel: w().optional()
5171
- }), Tr = U({ buttons: Y(U({
5172
+ }), Tr = U({ buttons: Z(U({
5172
5173
  label: w(),
5173
5174
  action: U({
5174
5175
  title: w(),
@@ -5184,17 +5185,17 @@ var Pr = ':where(:root,.gengage-chat-root,.gengage-qna-container,.gengage-simrel
5184
5185
  reviewCount: he().optional()
5185
5186
  }), Mr = U({
5186
5187
  recommended: Pt,
5187
- products: Y(Pt),
5188
- attributes: Y(U({
5188
+ products: Z(Pt),
5189
+ attributes: Z(U({
5189
5190
  label: w(),
5190
- values: Y(w())
5191
+ values: Z(w())
5191
5192
  })),
5192
- highlights: Y(w()),
5193
- specialCases: Y(w()).optional(),
5193
+ highlights: Z(w()),
5194
+ specialCases: Z(w()).optional(),
5194
5195
  recommendedText: w().optional(),
5195
5196
  winnerHits: Ce(w(), U({
5196
- positive: Y(w()).optional(),
5197
- negative: Y(w()).optional()
5197
+ positive: Z(w()).optional(),
5198
+ negative: Z(w()).optional()
5198
5199
  })).optional(),
5199
5200
  productActions: Ce(w(), U({
5200
5201
  title: w(),
@@ -5203,7 +5204,7 @@ var Pr = ':where(:root,.gengage-chat-root,.gengage-qna-container,.gengage-simrel
5203
5204
  })).optional()
5204
5205
  }), Br = U({
5205
5206
  label: w(),
5206
- sentiment: Ue([
5207
+ sentiment: De([
5207
5208
  "positive",
5208
5209
  "negative",
5209
5210
  "neutral"
@@ -5212,7 +5213,7 @@ var Pr = ':where(:root,.gengage-chat-root,.gengage-qna-container,.gengage-simrel
5212
5213
  product: Ce(w(), me()),
5213
5214
  role: w().optional(),
5214
5215
  reason: w().optional(),
5215
- labels: Y(Br).optional(),
5216
+ labels: Z(Br).optional(),
5216
5217
  expertQualityScore: he().optional(),
5217
5218
  reviewHighlight: w().optional(),
5218
5219
  action: U({
@@ -5220,7 +5221,7 @@ var Pr = ':where(:root,.gengage-chat-root,.gengage-qna-container,.gengage-simrel
5220
5221
  type: w(),
5221
5222
  payload: me().optional()
5222
5223
  }).optional()
5223
- }), Rr = U({ suggestions: Y(zr) }), Hr = U({
5224
+ }), Rr = U({ suggestions: Z(zr) }), Hr = U({
5224
5225
  title: w().optional(),
5225
5226
  text: w().optional(),
5226
5227
  reviewCount: w().optional(),
@@ -5229,7 +5230,7 @@ var Pr = ':where(:root,.gengage-chat-root,.gengage-qna-container,.gengage-simrel
5229
5230
  type: w(),
5230
5231
  payload: me().optional()
5231
5232
  })
5232
- }), Fr = U({ entries: Y(U({
5233
+ }), Fr = U({ entries: Z(U({
5233
5234
  name: w(),
5234
5235
  image: w().optional(),
5235
5236
  description: w().optional(),
@@ -5238,7 +5239,7 @@ var Pr = ':where(:root,.gengage-chat-root,.gengage-qna-container,.gengage-simrel
5238
5239
  type: w(),
5239
5240
  payload: me().optional()
5240
5241
  })
5241
- })) }), Dr = U({ entries: Y(U({
5242
+ })) }), Dr = U({ entries: Z(U({
5242
5243
  shortName: w(),
5243
5244
  detailedMessage: w().optional(),
5244
5245
  whyDifferent: w().optional(),
@@ -5280,7 +5281,7 @@ var Pr = ':where(:root,.gengage-chat-root,.gengage-qna-container,.gengage-simrel
5280
5281
  product: U({
5281
5282
  sku: w().optional(),
5282
5283
  name: w().optional(),
5283
- images: Y(w()).optional(),
5284
+ images: Z(w()).optional(),
5284
5285
  imageUrl: w().optional(),
5285
5286
  rating: he().optional(),
5286
5287
  reviewCount: he().optional(),
@@ -5290,17 +5291,17 @@ var Pr = ':where(:root,.gengage-chat-root,.gengage-qna-container,.gengage-simrel
5290
5291
  discount_reason: w().optional(),
5291
5292
  campaignReason: w().optional(),
5292
5293
  campaign_reason: w().optional(),
5293
- originalPriceStyle: Ue(["strikethrough", "inline"]).optional(),
5294
- price_original_style: Ue(["strikethrough", "inline"]).optional(),
5294
+ originalPriceStyle: De(["strikethrough", "inline"]).optional(),
5295
+ price_original_style: De(["strikethrough", "inline"]).optional(),
5295
5296
  price_discount_rate: he().optional(),
5296
5297
  price_async: ke().optional(),
5297
5298
  inStock: ke().optional(),
5298
- promotions: Y(w()).optional(),
5299
- variants: Y(Ne).optional(),
5300
- variantOptions: Y(Ne).optional(),
5301
- variant_options: Y(Ne).optional(),
5302
- productVariants: Y(Ne).optional(),
5303
- product_variants: Y(Ne).optional(),
5299
+ promotions: Z(w()).optional(),
5300
+ variants: Z(Ne).optional(),
5301
+ variantOptions: Z(Ne).optional(),
5302
+ variant_options: Z(Ne).optional(),
5303
+ productVariants: Z(Ne).optional(),
5304
+ product_variants: Z(Ne).optional(),
5304
5305
  url: w().optional(),
5305
5306
  cartCode: w().optional(),
5306
5307
  description: w().optional(),
@@ -5308,7 +5309,7 @@ var Pr = ':where(:root,.gengage-chat-root,.gengage-qna-container,.gengage-simrel
5308
5309
  descriptionHtml: w().optional(),
5309
5310
  facet_hits: Ce(w(), me()).optional(),
5310
5311
  facetHits: Ce(w(), me()).optional(),
5311
- features: Y(U({
5312
+ features: Z(U({
5312
5313
  name: w().optional(),
5313
5314
  key: w().optional(),
5314
5315
  label: w().optional(),
@@ -5318,7 +5319,7 @@ var Pr = ':where(:root,.gengage-chat-root,.gengage-qna-container,.gengage-simrel
5318
5319
  ke()
5319
5320
  ]).optional()
5320
5321
  })).optional(),
5321
- specifications: Be([Ce(w(), w()), Y(U({
5322
+ specifications: Be([Ce(w(), w()), Z(U({
5322
5323
  key: w(),
5323
5324
  value: w()
5324
5325
  }))]).optional()
@@ -5329,32 +5330,32 @@ var Pr = ':where(:root,.gengage-chat-root,.gengage-qna-container,.gengage-simrel
5329
5330
  review_text: w().optional(),
5330
5331
  review_rating: Be([w(), he()]).optional(),
5331
5332
  review_tag: w().optional()
5332
- }), qr = U({ reviews: Y(Or).optional() }), Vr = U({
5333
+ }), qr = U({ reviews: Z(Or).optional() }), Vr = U({
5333
5334
  productName: w().optional(),
5334
- pros: Y(w()).optional(),
5335
- cons: Y(w()).optional()
5335
+ pros: Z(w()).optional(),
5336
+ cons: Z(w()).optional()
5336
5337
  }), $r = U({
5337
- groups: Y(U({
5338
+ groups: Z(U({
5338
5339
  groupName: w(),
5339
- products: Y(Ce(w(), me())).optional()
5340
+ products: Z(Ce(w(), me())).optional()
5340
5341
  })).optional(),
5341
- filterTags: Y(U({
5342
+ filterTags: Z(U({
5342
5343
  title: w(),
5343
5344
  action: Yt.optional()
5344
5345
  })).optional()
5345
5346
  }), Gr = U({
5346
5347
  summary: w().optional(),
5347
- products_discussed: Y(w()).optional(),
5348
+ products_discussed: Z(w()).optional(),
5348
5349
  user_sentiment: w().optional()
5349
5350
  }), Wr = U({
5350
5351
  summary: w(),
5351
- strengths: Y(w()).optional(),
5352
- focus_points: Y(w()).optional(),
5352
+ strengths: Z(w()).optional(),
5353
+ focus_points: Z(w()).optional(),
5353
5354
  celeb_style: w().optional(),
5354
5355
  celeb_style_reason: w().optional(),
5355
- details: Y(w()),
5356
+ details: Z(w()),
5356
5357
  next_question: w().optional(),
5357
- style_images: Y(w()).optional()
5358
+ style_images: Z(w()).optional()
5358
5359
  }), Yr = U({
5359
5360
  processing: ke().optional(),
5360
5361
  title: w().optional(),
@@ -5438,7 +5439,7 @@ var Pr = ':where(:root,.gengage-chat-root,.gengage-qna-container,.gengage-simrel
5438
5439
  function At(t) {
5439
5440
  return t.length > 120 ? !1 : /^[a-zA-Z0-9#(),.\s%/\-]+$/.test(t);
5440
5441
  }
5441
- function Xe(t) {
5442
+ function Ze(t) {
5442
5443
  return typeof t == "object" && t !== null && typeof t.type == "string";
5443
5444
  }
5444
5445
  var Kr = class Ae extends Ea {
@@ -5589,8 +5590,8 @@ var Kr = class Ae extends Ea {
5589
5590
  if (!this._drawerVisible || !this._isMobileViewport) return;
5590
5591
  const f = this._drawer?.getElement();
5591
5592
  if (!f) return;
5592
- const x = window.innerHeight - (window.visualViewport?.height ?? window.innerHeight);
5593
- f.style.setProperty("--gengage-keyboard-offset", `${Math.max(0, x)}px`);
5593
+ const y = window.innerHeight - (window.visualViewport?.height ?? window.innerHeight);
5594
+ f.style.setProperty("--gengage-keyboard-offset", `${Math.max(0, y)}px`);
5594
5595
  };
5595
5596
  window.visualViewport.addEventListener("resize", u), this.addCleanup(() => window.visualViewport?.removeEventListener("resize", u));
5596
5597
  }
@@ -5722,7 +5723,7 @@ var Kr = class Ae extends Ea {
5722
5723
  this.close();
5723
5724
  break;
5724
5725
  case "startNewChatWithLauncherAction": {
5725
- const a = e.payload, n = a?.action, i = Xe(n) ? n : Xe(a) ? a : null;
5726
+ const a = e.payload, n = a?.action, i = Ze(n) ? n : Ze(a) ? a : null;
5726
5727
  i && this._sendAction(i, { silent: !0 }), this.open();
5727
5728
  break;
5728
5729
  }
@@ -5731,7 +5732,7 @@ var Kr = class Ae extends Ea {
5731
5732
  if (a && typeof a == "object") {
5732
5733
  this._bridgeContext = a;
5733
5734
  const n = a.sku;
5734
- if (n && this.update({ sku: n }), Xe(a.action)) {
5735
+ if (n && this.update({ sku: n }), Ze(a.action)) {
5735
5736
  this._pdpLaunched = !0, this.open(), this._sendAction(a.action);
5736
5737
  break;
5737
5738
  }
@@ -5985,7 +5986,7 @@ var Kr = class Ae extends Ea {
5985
5986
  this._drawer?.stageAttachment(e);
5986
5987
  }
5987
5988
  _sendMessage(e, a) {
5988
- this._pdpPrimingInFlight && (this._abortAllActiveRequests(), this._pdpPrimingInFlight = !1, this._queuedUserMessages = []), (!this._messages.some((i) => i.role === "user") || this._drawer?.isKvkkBannerVisible()) && (Ze(this.config.accountId), this._drawer?.hideKvkkBanner()), ha(), this._messages.some((i) => i.role === "user") || ya(), Se("chat", "sendMessage", {
5989
+ this._pdpPrimingInFlight && (this._abortAllActiveRequests(), this._pdpPrimingInFlight = !1, this._queuedUserMessages = []), (!this._messages.some((i) => i.role === "user") || this._drawer?.isKvkkBannerVisible()) && (Ke(this.config.accountId), this._drawer?.hideKvkkBanner()), ha(), this._messages.some((i) => i.role === "user") || ya(), Se("chat", "sendMessage", {
5989
5990
  mode: this._assistantMode,
5990
5991
  hasAttachment: a !== void 0,
5991
5992
  textLength: e.length
@@ -6027,12 +6028,12 @@ var Kr = class Ae extends Ea {
6027
6028
  return;
6028
6029
  }
6029
6030
  if (this._choicePrompterEl?.remove(), this._choicePrompterEl = null, a?.preservePanel || nr(), !a?.preservePanel && this._comparisonSelectMode && e.type !== "getComparisonTable" && (this._comparisonSelectMode = !1, this._comparisonSelectedSkus = []), a?.preservePanel || (this._localPanelHistory = []), this._currentThreadId && this._lastThreadId && this._lastThreadId > this._currentThreadId) {
6030
- const m = this._currentThreadId, _ = this._messages.filter((y) => y.threadId !== void 0 && y.threadId > m);
6031
- this._messages = this._messages.filter((y) => !y.threadId || y.threadId <= m);
6032
- for (const y of _)
6033
- this._shadow?.querySelector(`[data-message-id="${CSS.escape(y.id)}"]`)?.remove(), this._panel.snapshots.delete(y.id), this._panel.snapshotTypes.delete(y.id);
6034
- this._shadow?.querySelectorAll("[data-thread-id]")?.forEach((y) => {
6035
- y instanceof HTMLElement && y.dataset.threadId && y.dataset.threadId > m && y.remove();
6031
+ const m = this._currentThreadId, k = this._messages.filter((x) => x.threadId !== void 0 && x.threadId > m);
6032
+ this._messages = this._messages.filter((x) => !x.threadId || x.threadId <= m);
6033
+ for (const x of k)
6034
+ this._shadow?.querySelector(`[data-message-id="${CSS.escape(x.id)}"]`)?.remove(), this._panel.snapshots.delete(x.id), this._panel.snapshotTypes.delete(x.id);
6035
+ this._shadow?.querySelectorAll("[data-thread-id]")?.forEach((x) => {
6036
+ x instanceof HTMLElement && x.dataset.threadId && x.dataset.threadId > m && x.remove();
6036
6037
  });
6037
6038
  }
6038
6039
  a?.preservePills || this._drawer?.setPills([]), this._drawer?.clearInputAreaChips(), this._bridge?.send("isResponding", !0);
@@ -6040,15 +6041,15 @@ var Kr = class Ae extends Ea {
6040
6041
  this._currentThreadId = n, this._lastThreadId = n, this._panel && e.type !== "launchSingleProduct" && (this._panel.lastActionType = e.type);
6041
6042
  const i = a?.preservePanel === !0, r = e.type === "launchSingleProduct" && a?.silent === !0 && a?.isPdpPrime === !0;
6042
6043
  if (i || (this._activeRequestThreadId = n), !a?.silent && !i && this._drawer?.setPresentationFocus(n), !a?.silent) {
6043
- const m = typeof e.payload == "string" ? e.payload : typeof e.payload?.text == "string" ? e.payload.text : e.title, _ = this._messages.length > 0 ? this._messages[this._messages.length - 1] : void 0;
6044
- if (!(_ !== void 0 && _.role === "user" && _.content === m)) {
6045
- const y = this._createMessage("user", m);
6046
- y.threadId = n, a?.attachment !== void 0 && (y.attachment = a.attachment), this._drawer?.addMessage(y), this._messages.push(y);
6044
+ const m = typeof e.payload == "string" ? e.payload : typeof e.payload?.text == "string" ? e.payload.text : e.title, k = this._messages.length > 0 ? this._messages[this._messages.length - 1] : void 0;
6045
+ if (!(k !== void 0 && k.role === "user" && k.content === m)) {
6046
+ const x = this._createMessage("user", m);
6047
+ x.threadId = n, a?.attachment !== void 0 && (x.attachment = a.attachment), this._drawer?.addMessage(x), this._messages.push(x);
6047
6048
  }
6048
6049
  }
6049
6050
  if (!a?.silent && this._assistantMode === "shopping" && this._hasUnavailableProductContext() && (e.type === "user_message" || e.type === "inputText")) {
6050
- const m = this._i18n.productNotFoundMessage, _ = this._createMessage("assistant", m);
6051
- _.threadId = n, _.status = "done", this._messages.push(_), this._ensureAssistantMessageRendered(_), this._drawer?.updateBotMessage(_.id, m), this._drawer?.setPresentationFocus(n), this._bridge?.send("isResponding", !1), this.emit("message", _), this._persistToIndexedDB().catch(() => {
6051
+ const m = this._i18n.productNotFoundMessage, k = this._createMessage("assistant", m);
6052
+ k.threadId = n, k.status = "done", this._messages.push(k), this._ensureAssistantMessageRendered(k), this._drawer?.updateBotMessage(k.id, m), this._drawer?.setPresentationFocus(n), this._bridge?.send("isResponding", !1), this.emit("message", k), this._persistToIndexedDB().catch(() => {
6052
6053
  });
6053
6054
  return;
6054
6055
  }
@@ -6058,8 +6059,8 @@ var Kr = class Ae extends Ea {
6058
6059
  }, c = () => {
6059
6060
  if (this._drawer?.isPanelLoading()) {
6060
6061
  if (o) {
6061
- const m = this._buildRenderContext(), _ = this._renderPanelFromSource(o, m);
6062
- this._drawer.setPanelContent(_), this._drawer.setDividerPreviewEnabled(this._shouldUseDividerPreviewForSource(o)), this._currentPanelSource = o;
6062
+ const m = this._buildRenderContext(), k = this._renderPanelFromSource(o, m);
6063
+ this._drawer.setPanelContent(k), this._drawer.setDividerPreviewEnabled(this._shouldUseDividerPreviewForSource(o)), this._currentPanelSource = o;
6063
6064
  } else
6064
6065
  this._drawer.clearPanel(), this._currentPanelSource = null;
6065
6066
  o = null;
@@ -6113,68 +6114,68 @@ var Kr = class Ae extends Ea {
6113
6114
  }
6114
6115
  };
6115
6116
  this.config.session?.userId !== void 0 && (f.user_id = this.config.session.userId), this.config.session?.viewId !== void 0 && (f.view_id = this.config.session.viewId), u.payload !== void 0 && (f.payload = u.payload), this.config.pageContext?.sku !== void 0 && (f.sku = this.config.pageContext.sku), this.config.pageContext?.pageType !== void 0 && (f.page_type = this.config.pageContext.pageType);
6116
- const x = crypto.randomUUID(), N = Date.now();
6117
- let S = 0, E = !1, k = !1, I = !1, B = !1, P = !1;
6118
- const V = vn();
6119
- let Z = null;
6120
- const K = () => {
6117
+ const y = crypto.randomUUID(), M = Date.now();
6118
+ let _ = 0, E = !1, C = !1, L = !1, I = !1, N = !1;
6119
+ const j = vn();
6120
+ let K = null;
6121
+ const G = () => {
6121
6122
  if (this._drawer) {
6122
- if (this._isMobileViewport || !I) {
6123
+ if (this._isMobileViewport || !L) {
6123
6124
  this._drawer.setPanelAiZoneState("hidden");
6124
6125
  return;
6125
6126
  }
6126
- B || (P ? this._drawer.setPanelAiZoneState("hidden") : this._drawer.setPanelAiZoneState("analyzing", { analyzingLabel: this._i18n.aiAnalysisAnalyzingLabel }));
6127
+ I || (N ? this._drawer.setPanelAiZoneState("hidden") : this._drawer.setPanelAiZoneState("analyzing", { analyzingLabel: this._i18n.aiAnalysisAnalyzingLabel }));
6127
6128
  }
6128
6129
  };
6129
6130
  this.track(ra(this.analyticsContext(), {
6130
6131
  endpoint: "process_action",
6131
- request_id: x,
6132
+ request_id: y,
6132
6133
  widget: "chat"
6133
6134
  }));
6134
6135
  let b = null;
6135
6136
  if (b = Da(f, {
6136
- onTextChunk: (m, _, y) => {
6137
- if (!i && n !== this._activeRequestThreadId || (d += m, this._drawer?.removeTypingIndicator(), y?.skuToProductItem && (this._skuToProductItem = {
6137
+ onTextChunk: (m, k, x) => {
6138
+ if (!i && n !== this._activeRequestThreadId || (d += m, this._drawer?.removeTypingIndicator(), x?.skuToProductItem && (this._skuToProductItem = {
6138
6139
  ...this._skuToProductItem,
6139
- ...y.skuToProductItem
6140
- }), y?.conversationMode && (this._conversationMode = y.conversationMode), y?.renderHint && (s.renderHint = y.renderHint), this.track(ca(this.analyticsContext(), {
6141
- request_id: x,
6142
- chunk_index: S++,
6140
+ ...x.skuToProductItem
6141
+ }), x?.conversationMode && (this._conversationMode = x.conversationMode), x?.renderHint && (s.renderHint = x.renderHint), this.track(ca(this.analyticsContext(), {
6142
+ request_id: y,
6143
+ chunk_index: _++,
6143
6144
  widget: "chat"
6144
6145
  })), !this._drawer)) return;
6145
- let A = d;
6146
- const M = y?.kvkk === !0 || r && ot(A);
6147
- if (_ && M) {
6146
+ let P = d;
6147
+ const B = x?.kvkk === !0 || r && ot(P);
6148
+ if (k && B) {
6148
6149
  const z = this.config.accountId;
6149
6150
  if (!Et(z)) {
6150
- const T = Cr(A);
6151
+ const T = Cr(P);
6151
6152
  T ? this._drawer?.showKvkkBanner(T, () => {
6152
- this._drawer?.hideKvkkBanner(), Ze(z);
6153
- }) : Ze(z);
6153
+ this._drawer?.hideKvkkBanner(), Ke(z);
6154
+ }) : Ke(z);
6154
6155
  }
6155
- A = kr(A);
6156
+ P = kr(P);
6156
6157
  }
6157
- const L = this._shadow?.querySelector(`[data-message-id="${s.id}"] .gengage-chat-bubble-text`);
6158
- if (L ? L.innerHTML = ue(A) : (s.content = A, s.role === "assistant" && s.threadId && !this._threadsWithFirstBot.has(s.threadId) && (this._threadsWithFirstBot.add(s.threadId), this._drawer.markFirstBotMessage(s.id)), this._drawer.addMessage(s)), _)
6159
- if (s.content = A, s.status = "done", st(), yn(s)) this._drawer?.updateBotMessage(s.id, A, "photo_analysis", s.photoAnalysis);
6158
+ const A = this._shadow?.querySelector(`[data-message-id="${s.id}"] .gengage-chat-bubble-text`);
6159
+ if (A ? A.innerHTML = ue(P) : (s.content = P, s.role === "assistant" && s.threadId && !this._threadsWithFirstBot.has(s.threadId) && (this._threadsWithFirstBot.add(s.threadId), this._drawer.markFirstBotMessage(s.id)), this._drawer.addMessage(s)), k)
6160
+ if (s.content = P, s.status = "done", st(), yn(s)) this._drawer?.updateBotMessage(s.id, P, "photo_analysis", s.photoAnalysis);
6160
6161
  else {
6161
6162
  const z = this._shadow?.querySelector(`[data-message-id="${s.id}"] .gengage-chat-bubble-text`);
6162
6163
  if (z) {
6163
6164
  this._activeTypewriter?.cancel();
6164
- const T = y?.productMentions;
6165
+ const T = x?.productMentions;
6165
6166
  this._activeTypewriter = Zi({
6166
6167
  container: z,
6167
- html: ue(A),
6168
+ html: ue(P),
6168
6169
  onTick: () => this._drawer?.scrollToBottomIfNeeded(),
6169
6170
  onComplete: () => {
6170
6171
  this._activeTypewriter = null, T && T.length > 0 && z && Xi({
6171
6172
  container: z,
6172
6173
  mentions: T,
6173
- onProductClick: (O) => {
6174
+ onProductClick: (q) => {
6174
6175
  this._sendAction({
6175
- title: T.find((H) => H.sku === O)?.short_name ?? O,
6176
+ title: T.find((H) => H.sku === q)?.short_name ?? q,
6176
6177
  type: "launchSingleProduct",
6177
- payload: { sku: O }
6178
+ payload: { sku: q }
6178
6179
  });
6179
6180
  }
6180
6181
  });
@@ -6183,68 +6184,68 @@ var Kr = class Ae extends Ea {
6183
6184
  }
6184
6185
  }
6185
6186
  },
6186
- onUISpec: (m, _, y, A) => {
6187
- if (!i && n !== this._activeRequestThreadId || _ !== "chat") return;
6188
- A && (this._clearAssistantPanelLikeStreamClearPanel(), E = !1);
6189
- const M = m.elements[m.root], L = M?.type ?? "unknown";
6190
- if (xn(L, M?.props ?? {}, V, {
6187
+ onUISpec: (m, k, x, P) => {
6188
+ if (!i && n !== this._activeRequestThreadId || k !== "chat") return;
6189
+ P && (this._clearAssistantPanelLikeStreamClearPanel(), E = !1);
6190
+ const B = m.elements[m.root], A = B?.type ?? "unknown";
6191
+ if (xn(A, B?.props ?? {}, j, {
6191
6192
  drawer: this._drawer,
6192
6193
  ensureRendered: () => this._ensureAssistantMessageRendered(s),
6193
6194
  cancelTypewriter: () => {
6194
6195
  this._activeTypewriter?.cancel(), this._activeTypewriter = null;
6195
6196
  },
6196
6197
  sendSkipMessage: () => this._sendMessage(this._i18n.beautyPhotoStepSkipMessage),
6197
- streamDone: P
6198
+ streamDone: N
6198
6199
  }, s)) return;
6199
- const z = L === "ProductGrid" && M?.props?.similarsAppend === !0, T = this.config.productDetailsExtended !== !0 && (L === "ProductDetailsPanel" || z);
6200
- T && !A && (this._clearAssistantPanelLikeStreamClearPanel(), E = !1);
6201
- const O = L === "ProductDetailsPanel" && y !== "panel" ? "panel" : y;
6200
+ const z = A === "ProductGrid" && B?.props?.similarsAppend === !0, T = this.config.productDetailsExtended !== !0 && (A === "ProductDetailsPanel" || z);
6201
+ T && !P && (this._clearAssistantPanelLikeStreamClearPanel(), E = !1);
6202
+ const q = A === "ProductDetailsPanel" && x !== "panel" ? "panel" : x;
6202
6203
  this.track(aa(this.analyticsContext(), {
6203
- request_id: x,
6204
- chunk_index: S,
6205
- component_type: L,
6204
+ request_id: y,
6205
+ chunk_index: _,
6206
+ component_type: A,
6206
6207
  widget: "chat"
6207
6208
  }));
6208
6209
  const H = this._buildRenderContext();
6209
- if (H.isStreaming = !0, L === "ComparisonTable") {
6210
- const F = M?.props?.products;
6210
+ if (H.isStreaming = !0, A === "ComparisonTable") {
6211
+ const F = B?.props?.products;
6211
6212
  ba(Array.isArray(F) ? F.length : 0);
6212
6213
  }
6213
- if (L === "ProductGrid") {
6214
- const F = M?.children?.length ?? 0;
6214
+ if (A === "ProductGrid") {
6215
+ const F = B?.children?.length ?? 0;
6215
6216
  va(void 0, F);
6216
6217
  }
6217
- const $ = O === "panel" && this._panel ? this._panel.toPanelSpec(m) : m;
6218
- if (O === "panel" && this._panel && !T) {
6219
- const F = !k;
6220
- k = !0;
6218
+ const $ = q === "panel" && this._panel ? this._panel.toPanelSpec(m) : m;
6219
+ if (q === "panel" && this._panel && !T) {
6220
+ const F = !C;
6221
+ C = !0;
6221
6222
  const R = pr({
6222
- componentType: L,
6223
- similarsAppend: M?.props?.similarsAppend === !0,
6223
+ componentType: A,
6224
+ similarsAppend: B?.props?.similarsAppend === !0,
6224
6225
  currentPanelType: this._panel.currentType,
6225
6226
  hasPanelContent: this._drawer?.hasPanelContent() ?? !1,
6226
6227
  isPanelLoading: this._drawer?.isPanelLoading() ?? !1,
6227
6228
  isFirstPanelContentInStream: F
6228
6229
  });
6229
- H.panelProductListHeading = void 0, L === "ProductGrid" && (R === "appendSimilars" ? H.panelProductListHeading = this._i18n.similarProductsLabel ?? "Similar Products" : this._applyPanelListHeadingToContext(H, {
6230
+ H.panelProductListHeading = void 0, A === "ProductGrid" && (R === "appendSimilars" ? H.panelProductListHeading = this._i18n.similarProductsLabel ?? "Similar Products" : this._applyPanelListHeadingToContext(H, {
6230
6231
  kind: "spec",
6231
6232
  spec: $
6232
6233
  })), R === "appendSimilars" ? this._appendSimilarsToPanel($, H) : R === "append" ? (this._drawer?.appendPanelContent(this._renderUISpec($, H)), this._comparisonSelectMode && this._refreshComparisonUI()) : (this._comparisonSelectMode = !1, this._comparisonSelectedSkus = [], this._comparisonSelectionWarning = null, this._drawer?.setComparisonDockContent(null), this._drawer?.setPanelContent(this._renderUISpec($, H)), this._currentPanelSource = {
6233
6234
  kind: "spec",
6234
6235
  spec: $
6235
- }, this._panel.currentType = L), this._drawer?.setDividerPreviewEnabled((this._panel.currentType ?? L) === "ProductGrid"), L === "ProductDetailsPanel" && e.type === "launchSingleProduct" && this._clearUnavailableProductContext(), s.threadId && !this._panel.threads.includes(s.threadId) && this._panel.threads.push(s.threadId);
6236
- const X = this._panel.currentType ?? L, D = M?.props?.panelTitle;
6237
- if (this._panel.updateTopBar(X, D), this._panel.updateExtendedMode(L), this._isMobileViewport && r && this._drawer?.hideMobilePanel(), L === "ProductGrid" || L === "CategoriesContainer") {
6238
- if (I = !this._isMobileViewport, Z) {
6236
+ }, this._panel.currentType = A), this._drawer?.setDividerPreviewEnabled((this._panel.currentType ?? A) === "ProductGrid"), A === "ProductDetailsPanel" && e.type === "launchSingleProduct" && this._clearUnavailableProductContext(), s.threadId && !this._panel.threads.includes(s.threadId) && this._panel.threads.push(s.threadId);
6237
+ const X = this._panel.currentType ?? A, D = B?.props?.panelTitle;
6238
+ if (this._panel.updateTopBar(X, D), this._panel.updateExtendedMode(A), this._isMobileViewport && r && this._drawer?.hideMobilePanel(), A === "ProductGrid" || A === "CategoriesContainer") {
6239
+ if (L = !this._isMobileViewport, K) {
6239
6240
  const Q = this._buildRenderContext();
6240
6241
  Q.isStreaming = !0;
6241
- const Re = this._renderUISpec(Z, Q);
6242
- B = !0, this._drawer?.setPanelAiZoneState("results", { resultEl: Re }), Z = null;
6242
+ const Re = this._renderUISpec(K, Q);
6243
+ I = !0, this._drawer?.setPanelAiZoneState("results", { resultEl: Re }), K = null;
6243
6244
  }
6244
- } else R !== "appendSimilars" && R !== "append" && (I = !1, Z = null, this._drawer?.setPanelAiZoneState("hidden"));
6245
+ } else R !== "appendSimilars" && R !== "append" && (L = !1, K = null, this._drawer?.setPanelAiZoneState("hidden"));
6245
6246
  }
6246
- if (L === "ProductDetailsPanel" && O === "panel" && (!s.silent || r)) {
6247
- const F = M?.props?.product;
6247
+ if (A === "ProductDetailsPanel" && q === "panel" && (!s.silent || r)) {
6248
+ const F = B?.props?.product;
6248
6249
  if (F) {
6249
6250
  const R = {
6250
6251
  root: "root",
@@ -6260,30 +6261,30 @@ var Kr = class Ae extends Ea {
6260
6261
  Q && Q.parentNode === X ? Q.after(D) : X.appendChild(D), D.scrollIntoView({
6261
6262
  behavior: "auto",
6262
6263
  block: "end"
6263
- }), this._drawer?.refreshPresentationCollapsed(), k = !0;
6264
+ }), this._drawer?.refreshPresentationCollapsed(), C = !0;
6264
6265
  }
6265
6266
  }
6266
6267
  }
6267
- const te = L === "AITopPicks" || L === "AIGroupingCards";
6268
- let j = !1, ee = !1;
6269
- if (T && z && (H.panelProductListHeading = this._i18n.similarProductsLabel ?? "Similar Products"), te && !this._isMobileViewport && !s.silent) if (I) {
6268
+ const te = A === "AITopPicks" || A === "AIGroupingCards";
6269
+ let O = !1, ee = !1;
6270
+ if (T && z && (H.panelProductListHeading = this._i18n.similarProductsLabel ?? "Similar Products"), te && !this._isMobileViewport && !s.silent) if (L) {
6270
6271
  const F = this._renderUISpec(m, H);
6271
- B = !0, this._drawer?.setPanelAiZoneState("results", { resultEl: F }), j = !0, Z = null;
6272
+ I = !0, this._drawer?.setPanelAiZoneState("results", { resultEl: F }), O = !0, K = null;
6272
6273
  } else
6273
- Z = m, ee = !0;
6274
- const oe = r && L === "GroundingReviewCard";
6275
- if ((!s.silent || oe) && (O !== "panel" || L === "ProductCard" || T && L === "ProductGrid" && (!z || this._isMobileViewport)) && L !== "ActionButtons" && !j && !(ee && te)) {
6274
+ K = m, ee = !0;
6275
+ const oe = r && A === "GroundingReviewCard";
6276
+ if ((!s.silent || oe) && (q !== "panel" || A === "ProductCard" || T && A === "ProductGrid" && (!z || this._isMobileViewport)) && A !== "ActionButtons" && !O && !(ee && te)) {
6276
6277
  const F = this._shadow?.querySelector(".gengage-chat-messages");
6277
6278
  if (F) {
6278
6279
  const R = this._renderUISpec(m, H);
6279
6280
  s.threadId && (R.dataset.threadId = s.threadId), F.appendChild(R), R.scrollIntoView({
6280
6281
  behavior: "auto",
6281
6282
  block: "end"
6282
- }), this._drawer?.refreshPresentationCollapsed(), T && L === "ProductGrid" && (k = !0);
6283
+ }), this._drawer?.refreshPresentationCollapsed(), T && A === "ProductGrid" && (C = !0);
6283
6284
  }
6284
6285
  }
6285
- if ((L === "ProductGrid" || L === "ProductCard") && s.threadId) {
6286
- const F = M?.children ?? [], R = L === "ProductGrid" ? F.map((X) => m.elements[X]?.props?.product).filter(Boolean) : [M?.props?.product].filter(Boolean);
6286
+ if ((A === "ProductGrid" || A === "ProductCard") && s.threadId) {
6287
+ const F = B?.children ?? [], R = A === "ProductGrid" ? F.map((X) => m.elements[X]?.props?.product).filter(Boolean) : [B?.props?.product].filter(Boolean);
6287
6288
  for (const X of R) {
6288
6289
  const D = X.sku, Q = X.imageUrl;
6289
6290
  D && Q && this._thumbnailEntries.push({
@@ -6294,12 +6295,12 @@ var Kr = class Ae extends Ea {
6294
6295
  }
6295
6296
  this._drawer?.setThumbnails(this._thumbnailEntries);
6296
6297
  }
6297
- if (L === "ProductGrid" || L === "ProductDetailsPanel") {
6298
- const F = (L === "ProductGrid" ? (M?.children ?? []).map((R) => m.elements[R]?.props?.product).filter(Boolean) : [M?.props?.product ?? M?.props].filter(Boolean)).map((R) => R.imageUrl).filter((R) => typeof R == "string").slice(0, 5);
6298
+ if (A === "ProductGrid" || A === "ProductDetailsPanel") {
6299
+ const F = (A === "ProductGrid" ? (B?.children ?? []).map((R) => m.elements[R]?.props?.product).filter(Boolean) : [B?.props?.product ?? B?.props].filter(Boolean)).map((R) => R.imageUrl).filter((R) => typeof R == "string").slice(0, 5);
6299
6300
  F.length > 0 && this._bridge?.send("previewImages", { images: F });
6300
6301
  }
6301
- const q = M?.children?.length ?? 0;
6302
- if (L === "ProductGrid" && O === "panel" && !T && q > 1 && !this._modeController.isChoicePrompterHidden && !this._comparisonSelectMode && !ir(this._currentThreadId ?? "")) {
6302
+ const V = B?.children?.length ?? 0;
6303
+ if (A === "ProductGrid" && q === "panel" && !T && V > 1 && !this._modeController.isChoicePrompterHidden && !this._comparisonSelectMode && !ir(this._currentThreadId ?? "")) {
6303
6304
  this._choicePrompterEl?.remove(), this._shadow?.querySelectorAll(".gengage-chat-choice-prompter").forEach((R) => R.remove()), this._choicePrompterEl = ar({
6304
6305
  heading: this._i18n.choicePrompterHeading,
6305
6306
  suggestion: this._i18n.choicePrompterSuggestion,
@@ -6323,8 +6324,8 @@ var Kr = class Ae extends Ea {
6323
6324
  }
6324
6325
  } else this._choicePrompterEl = null;
6325
6326
  }
6326
- if (L === "ActionButtons") {
6327
- const F = M?.props?.buttons;
6327
+ if (A === "ActionButtons") {
6328
+ const F = B?.props?.buttons;
6328
6329
  if (F && F.length > 0) {
6329
6330
  const R = [], X = [];
6330
6331
  for (const D of F) if (er(D)) {
@@ -6347,75 +6348,75 @@ var Kr = class Ae extends Ea {
6347
6348
  }));
6348
6349
  }
6349
6350
  }
6350
- K(), s.uiSpec = m;
6351
+ G(), s.uiSpec = m;
6351
6352
  },
6352
6353
  onAction: (m) => {
6353
6354
  if (!(!i && n !== this._activeRequestThreadId) && m.type === "action") {
6354
- const _ = {};
6355
- this.config.actionHandling?.unknownActionPolicy !== void 0 && (_.unknownActionPolicy = this.config.actionHandling.unknownActionPolicy), this.config.actionHandling?.allowScriptCall !== void 0 && (_.allowScriptCall = this.config.actionHandling.allowScriptCall), Ia(m, {
6355
+ const k = {};
6356
+ this.config.actionHandling?.unknownActionPolicy !== void 0 && (k.unknownActionPolicy = this.config.actionHandling.unknownActionPolicy), this.config.actionHandling?.allowScriptCall !== void 0 && (k.allowScriptCall = this.config.actionHandling.allowScriptCall), Ia(m, {
6356
6357
  openChat: () => this.open(),
6357
- navigate: (y) => {
6358
- ce(y.url) && (this._bridge?.send("navigate", y), y.newTab ? window.open(y.url, "_blank", "noopener,noreferrer") : window.location.href = y.url);
6358
+ navigate: (x) => {
6359
+ ce(x.url) && (this._bridge?.send("navigate", x), x.newTab ? window.open(x.url, "_blank", "noopener,noreferrer") : window.location.href = x.url);
6359
6360
  },
6360
- saveSession: (y) => this.saveSession(y.sessionId, y.sku),
6361
- addToCart: (y) => {
6362
- le("gengage:similar:add-to-cart", y);
6361
+ saveSession: (x) => this.saveSession(x.sessionId, x.sku),
6362
+ addToCart: (x) => {
6363
+ le("gengage:similar:add-to-cart", x);
6363
6364
  },
6364
- scriptCall: (y) => {
6365
- le("gengage:chat:script-call", y), this.config.onScriptCall?.(y);
6365
+ scriptCall: (x) => {
6366
+ le("gengage:chat:script-call", x), this.config.onScriptCall?.(x);
6366
6367
  }
6367
- }, _);
6368
+ }, k);
6368
6369
  }
6369
6370
  },
6370
6371
  onMetadata: (m) => {
6371
6372
  if (!(!i && n !== this._activeRequestThreadId) && m.type === "metadata" && m.meta) {
6372
6373
  if (m.meta.panel !== void 0 || m.meta.messages !== void 0 || m.meta.message_id !== void 0) {
6373
6374
  this._lastBackendContext = m.meta;
6374
- const y = rt(m.meta.panel);
6375
- y && (this._modeController.updateFromContext(y), this._applyUiHints());
6375
+ const x = rt(m.meta.panel);
6376
+ x && (this._modeController.updateFromContext(x), this._applyUiHints());
6376
6377
  }
6377
6378
  if (m.meta.panelLoading) {
6378
- const y = typeof m.meta.panelPendingType == "string" ? m.meta.panelPendingType : void 0;
6379
- this.config.productDetailsExtended !== !0 && (y === "productDetails" || y === "productDetailsSimilars") || (E = !0, k = !1, g(), this._panel && (this._panel.currentType = null), this._drawer?.showPanelLoading(y), y && this._panel?.updateTopBarForLoading(y));
6379
+ const x = typeof m.meta.panelPendingType == "string" ? m.meta.panelPendingType : void 0;
6380
+ this.config.productDetailsExtended !== !0 && (x === "productDetails" || x === "productDetailsSimilars") || (E = !0, C = !1, g(), this._panel && (this._panel.currentType = null), this._drawer?.showPanelLoading(x), x && this._panel?.updateTopBarForLoading(x));
6380
6381
  }
6381
6382
  if (m.meta.voice) {
6382
- const y = new CustomEvent("gengage:chat:voice", {
6383
+ const x = new CustomEvent("gengage:chat:voice", {
6383
6384
  detail: { payload: m.meta.voice },
6384
6385
  bubbles: !1,
6385
6386
  cancelable: !0
6386
- }), A = window.dispatchEvent(y);
6387
- if (ga(), A) {
6388
- const M = m.meta.voice;
6389
- M.audio_base64 && (this._activeTtsHandle?.stop(), this._activeTtsHandle = En(M.audio_base64, M.content_type ?? "audio/ogg"));
6387
+ }), P = window.dispatchEvent(x);
6388
+ if (ga(), P) {
6389
+ const B = m.meta.voice;
6390
+ B.audio_base64 && (this._activeTtsHandle?.stop(), this._activeTtsHandle = En(B.audio_base64, B.content_type ?? "audio/ogg"));
6390
6391
  }
6391
6392
  }
6392
6393
  if ((m.meta.redirectTarget || m.meta.redirect) && (le("gengage:chat:redirect", {
6393
6394
  target: m.meta.redirectTarget ?? null,
6394
6395
  payload: m.meta.redirect ?? null
6395
- }), Se("redirect", "redirect dispatched", { target: m.meta.redirectTarget ?? null }), this._handleRedirectMetadata(m.meta.redirect)), m.meta.analyzeAnimation && this.config.productDetailsExtended === !0 && (E = !0, k = !1, g(), this._panel && (this._panel.currentType = null), this._drawer?.showPanelLoading(), this._panel?.updateTopBarForLoading("productDetails")), m.meta.loading) {
6396
- const y = Array.isArray(m.meta.thinkingMessages) ? m.meta.thinkingMessages.filter((M) => typeof M == "string") : [], A = typeof m.meta.loadingText == "string" ? m.meta.loadingText : void 0;
6397
- if (y.length > 0) {
6398
- const M = A && this._modeController.shouldCondenseThinking() ? [...y.slice(0, 2), A] : y;
6399
- this._drawer?.setThinkingSteps(M);
6396
+ }), Se("redirect", "redirect dispatched", { target: m.meta.redirectTarget ?? null }), this._handleRedirectMetadata(m.meta.redirect)), m.meta.analyzeAnimation && this.config.productDetailsExtended === !0 && (E = !0, C = !1, g(), this._panel && (this._panel.currentType = null), this._drawer?.showPanelLoading(), this._panel?.updateTopBarForLoading("productDetails")), m.meta.loading) {
6397
+ const x = Array.isArray(m.meta.thinkingMessages) ? m.meta.thinkingMessages.filter((B) => typeof B == "string") : [], P = typeof m.meta.loadingText == "string" ? m.meta.loadingText : void 0;
6398
+ if (x.length > 0) {
6399
+ const B = P && this._modeController.shouldCondenseThinking() ? [...x.slice(0, 2), P] : x;
6400
+ this._drawer?.setThinkingSteps(B);
6400
6401
  }
6401
- typeof A == "string" && A.length > 0 && (this._drawer?.addThinkingStep(A), this._bridge?.send("loadingMessage", { text: A }));
6402
+ typeof P == "string" && P.length > 0 && (this._drawer?.addThinkingStep(P), this._bridge?.send("loadingMessage", { text: P }));
6402
6403
  }
6403
6404
  m.meta.visitorDataResponse && this._bridge?.send("engagingMessage", m.meta.visitorDataResponse), m.meta.formType && this._bridge?.send("glovOtokoc", {
6404
6405
  type: m.meta.formType,
6405
6406
  data: m.meta.formPayload
6406
6407
  }), m.meta.launcherContent && this._bridge?.send("launcherContent", m.meta.launcherContent), le("gengage:chat:metadata", { payload: m.meta });
6407
- const _ = m.meta;
6408
- typeof _.prompt_tokens == "number" && typeof _.completion_tokens == "number" && this.track(ia(this.analyticsContext(), {
6408
+ const k = m.meta;
6409
+ typeof k.prompt_tokens == "number" && typeof k.completion_tokens == "number" && this.track(ia(this.analyticsContext(), {
6409
6410
  model: m.model ?? "unknown",
6410
- prompt_tokens: _.prompt_tokens,
6411
- completion_tokens: _.completion_tokens,
6412
- total_tokens: _.total_tokens ?? _.prompt_tokens + _.completion_tokens
6411
+ prompt_tokens: k.prompt_tokens,
6412
+ completion_tokens: k.completion_tokens,
6413
+ total_tokens: k.total_tokens ?? k.prompt_tokens + k.completion_tokens
6413
6414
  }));
6414
6415
  }
6415
6416
  },
6416
6417
  onError: (m) => {
6417
6418
  if (b && this._abortControllers.delete(b), !i && n !== this._activeRequestThreadId) return;
6418
- P = !0, this._activeTypewriter?.cancel(), this._activeTypewriter = null, K(), Z = null, this._bridge?.send("isResponding", !1), this._bridge?.send("loadingMessage", { text: null }), this._drawer?.removeTypingIndicator(), this._drawer?.clearInputAreaChips(), _n(V, {
6419
+ N = !0, this._activeTypewriter?.cancel(), this._activeTypewriter = null, G(), K = null, this._bridge?.send("isResponding", !1), this._bridge?.send("loadingMessage", { text: null }), this._drawer?.removeTypingIndicator(), this._drawer?.clearInputAreaChips(), _n(j, {
6419
6420
  drawer: this._drawer,
6420
6421
  ensureRendered: () => {
6421
6422
  },
@@ -6424,20 +6425,20 @@ var Kr = class Ae extends Ea {
6424
6425
  sendSkipMessage: () => this._sendMessage(this._i18n.beautyPhotoStepSkipMessage),
6425
6426
  streamDone: !0
6426
6427
  });
6427
- const _ = k;
6428
- E && !k && c(), E = !1, k = !1;
6429
- const y = s.silent || s.content != null && s.content.length > 0 || d.length > 0 || _, A = typeof navigator < "u" && navigator.onLine === !1 && Lt(m), M = () => {
6428
+ const k = C;
6429
+ E && !C && c(), E = !1, C = !1;
6430
+ const x = s.silent || s.content != null && s.content.length > 0 || d.length > 0 || k, P = typeof navigator < "u" && navigator.onLine === !1 && Lt(m), B = () => {
6430
6431
  this._shadow?.querySelector(`[data-message-id="${CSS.escape(s.id)}"]`)?.remove();
6431
6432
  const T = this._messages.indexOf(s);
6432
6433
  T >= 0 && this._messages.splice(T, 1);
6433
6434
  };
6434
- let L = !1;
6435
+ let A = !1;
6435
6436
  const z = () => {
6436
- if (A) return;
6437
+ if (P) return;
6437
6438
  this.emit("error", m);
6438
6439
  const T = m.message;
6439
6440
  T === this._lastErrorMessage ? this._consecutiveErrorCount++ : (this._consecutiveErrorCount = 1, this._lastErrorMessage = T);
6440
- const O = m.message.trim(), H = O.length > 0 ? O : this._i18n.errorMessage, $ = {
6441
+ const q = m.message.trim(), H = q.length > 0 ? q : this._i18n.errorMessage, $ = {
6441
6442
  onRetry: () => {
6442
6443
  this._lastSentAction && this._sendAction(this._lastSentAction.action, this._lastSentAction.options);
6443
6444
  },
@@ -6446,11 +6447,11 @@ var Kr = class Ae extends Ea {
6446
6447
  }
6447
6448
  };
6448
6449
  if (this._consecutiveErrorCount >= 2) {
6449
- M(), L = !0, this._drawer?.showErrorWithRecovery(this._i18n.accountInactiveMessage, $);
6450
+ B(), A = !0, this._drawer?.showErrorWithRecovery(this._i18n.accountInactiveMessage, $);
6450
6451
  return;
6451
6452
  }
6452
6453
  if (yr(m, H)) {
6453
- M(), L = !0, this._drawer?.showErrorWithRecovery(H, $);
6454
+ B(), A = !0, this._drawer?.showErrorWithRecovery(H, $);
6454
6455
  return;
6455
6456
  }
6456
6457
  s.content = H, s.status = "done";
@@ -6459,14 +6460,14 @@ var Kr = class Ae extends Ea {
6459
6460
  `).join("<br />"));
6460
6461
  this._ensureAssistantMessageRendered(s), this._drawer?.updateBotMessage(s.id, te), this._drawer?.showRecoveryPillsOnly($);
6461
6462
  };
6462
- if (y) this._drawer?.setPills([]), s.silent || z();
6463
+ if (x) this._drawer?.setPills([]), s.silent || z();
6463
6464
  else if (r || this._hasUnavailableProductContext()) {
6464
6465
  this._drawer?.setPills([]);
6465
6466
  const T = this._i18n.productNotFoundMessage;
6466
6467
  s.content = T, s.status = "done", this._ensureAssistantMessageRendered(s), this._drawer?.updateBotMessage(s.id, T), this._markUnavailableProductContext();
6467
- } else if (z(), A) return;
6468
- r && (this._pdpPrimingInFlight = !1, this._flushQueuedUserMessages()), !L && s.status === "streaming" && (s.status = "error"), A || this.track(la(this.analyticsContext(), {
6469
- request_id: x,
6468
+ } else if (z(), P) return;
6469
+ r && (this._pdpPrimingInFlight = !1, this._flushQueuedUserMessages()), !A && s.status === "streaming" && (s.status = "error"), P || this.track(la(this.analyticsContext(), {
6470
+ request_id: y,
6470
6471
  error_code: "STREAM_ERROR",
6471
6472
  error_message: m.message,
6472
6473
  widget: "chat"
@@ -6474,20 +6475,20 @@ var Kr = class Ae extends Ea {
6474
6475
  },
6475
6476
  onDone: () => {
6476
6477
  if (b && this._abortControllers.delete(b), !i && n !== this._activeRequestThreadId) return;
6477
- if (P = !0, K(), Z) {
6478
- const A = this._buildRenderContext();
6479
- A.isStreaming = !1;
6480
- const M = this._shadow?.querySelector(".gengage-chat-messages");
6481
- if (M) {
6482
- const L = this._renderUISpec(Z, A);
6483
- s.threadId && (L.dataset.threadId = s.threadId), M.appendChild(L), L.scrollIntoView({
6478
+ if (N = !0, G(), K) {
6479
+ const P = this._buildRenderContext();
6480
+ P.isStreaming = !1;
6481
+ const B = this._shadow?.querySelector(".gengage-chat-messages");
6482
+ if (B) {
6483
+ const A = this._renderUISpec(K, P);
6484
+ s.threadId && (A.dataset.threadId = s.threadId), B.appendChild(A), A.scrollIntoView({
6484
6485
  behavior: "auto",
6485
6486
  block: "end"
6486
6487
  }), this._drawer?.refreshPresentationCollapsed();
6487
6488
  }
6488
- Z = null;
6489
+ K = null;
6489
6490
  }
6490
- this._activeRequestThreadId = null, this._consecutiveErrorCount = 0, this._lastErrorMessage = "", this._bridge?.send("isResponding", !1), this._bridge?.send("loadingMessage", { text: null }), this._drawer?.removeTypingIndicator(), wn(V, {
6491
+ this._activeRequestThreadId = null, this._consecutiveErrorCount = 0, this._lastErrorMessage = "", this._bridge?.send("isResponding", !1), this._bridge?.send("loadingMessage", { text: null }), this._drawer?.removeTypingIndicator(), wn(j, {
6491
6492
  drawer: this._drawer,
6492
6493
  ensureRendered: () => {
6493
6494
  },
@@ -6496,27 +6497,27 @@ var Kr = class Ae extends Ea {
6496
6497
  sendSkipMessage: () => this._sendMessage(this._i18n.beautyPhotoStepSkipMessage),
6497
6498
  streamDone: !0
6498
6499
  });
6499
- const m = k;
6500
- if (E && !k && c(), E = !1, r && !d && !m) {
6501
- const A = this._i18n.productNotFoundMessage;
6502
- s.content = A, this._ensureAssistantMessageRendered(s), this._drawer?.updateBotMessage(s.id, A), this._markUnavailableProductContext();
6500
+ const m = C;
6501
+ if (E && !C && c(), E = !1, r && !d && !m) {
6502
+ const P = this._i18n.productNotFoundMessage;
6503
+ s.content = P, this._ensureAssistantMessageRendered(s), this._drawer?.updateBotMessage(s.id, P), this._markUnavailableProductContext();
6503
6504
  }
6504
- if (k = !1, r) {
6505
+ if (C = !1, r) {
6505
6506
  this._pdpPrimingInFlight = !1;
6506
- const A = this._queuedUserMessages.length > 0;
6507
- this._flushQueuedUserMessages(), A || this._ensurePdpPrimeSuggestedUiIfNeeded();
6507
+ const P = this._queuedUserMessages.length > 0;
6508
+ this._flushQueuedUserMessages(), P || this._ensurePdpPrimeSuggestedUiIfNeeded();
6508
6509
  }
6509
6510
  s.status === "streaming" && (s.status = "done", st()), this._presentation.finalizeAssistantGroup(n);
6510
- const _ = this._shadow?.querySelector(".gengage-chat-comparison-toggle-btn--hidden");
6511
- _ && (_.classList.remove("gengage-chat-comparison-toggle-btn--hidden"), _.classList.add("gengage-chat-comparison-toggle-btn--reveal")), this.emit("message", s);
6512
- const y = this._currentPanelSource;
6513
- this._panel?.snapshotForMessage(s.id, y ? () => {
6514
- const A = this._buildRenderContext();
6515
- return this._renderPanelFromSource(y, A);
6511
+ const k = this._shadow?.querySelector(".gengage-chat-comparison-toggle-btn--hidden");
6512
+ k && (k.classList.remove("gengage-chat-comparison-toggle-btn--hidden"), k.classList.add("gengage-chat-comparison-toggle-btn--reveal")), this.emit("message", s);
6513
+ const x = this._currentPanelSource;
6514
+ this._panel?.snapshotForMessage(s.id, x ? () => {
6515
+ const P = this._buildRenderContext();
6516
+ return this._renderPanelFromSource(x, P);
6516
6517
  } : void 0), this.track(sa(this.analyticsContext(), {
6517
- request_id: x,
6518
- latency_ms: Date.now() - N,
6519
- chunk_count: S,
6518
+ request_id: y,
6519
+ latency_ms: Date.now() - M,
6520
+ chunk_count: _,
6520
6521
  widget: "chat"
6521
6522
  })), this.track(wa(this.analyticsContext(), {
6522
6523
  meter_key: "chat_request",
@@ -6812,8 +6813,8 @@ var Kr = class Ae extends Ea {
6812
6813
  const u = h.querySelector(".gengage-chat-comparison-checkbox");
6813
6814
  if (u) {
6814
6815
  u.dataset.selected = v ? "true" : "false", u.setAttribute("aria-pressed", v ? "true" : "false");
6815
- const f = u.querySelector(".gengage-chat-comparison-checkbox-icon"), x = u.querySelector(".gengage-chat-comparison-checkbox-label");
6816
- f && (f.innerHTML = v ? '<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6L9 17l-5-5"/></svg>' : '<span class="gengage-chat-comparison-checkbox-dot"></span>'), x && (x.textContent = v ? this._i18n.comparisonSelectedLabel ?? "Selected" : this._i18n.comparisonSelectLabel ?? "Select to compare");
6816
+ const f = u.querySelector(".gengage-chat-comparison-checkbox-icon"), y = u.querySelector(".gengage-chat-comparison-checkbox-label");
6817
+ f && (f.innerHTML = v ? '<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M20 6L9 17l-5-5"/></svg>' : '<span class="gengage-chat-comparison-checkbox-dot"></span>'), y && (y.textContent = v ? this._i18n.comparisonSelectedLabel ?? "Selected" : this._i18n.comparisonSelectLabel ?? "Select to compare");
6817
6818
  }
6818
6819
  continue;
6819
6820
  }
@@ -7164,7 +7165,7 @@ function ao() {
7164
7165
  export {
7165
7166
  hr as a,
7166
7167
  pi as c,
7167
- Qe as d,
7168
+ Xe as d,
7168
7169
  eo as f,
7169
7170
  mr as i,
7170
7171
  Ka as l,