@gengage/assistant-fe 0.6.42 → 0.6.44

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/dist/chat/components/ChatDrawer.d.ts +5 -1
  2. package/dist/chat/runtime.d.ts +1 -1
  3. package/dist/chat/types.d.ts +18 -0
  4. package/dist/chat-runtime.js +1 -1
  5. package/dist/chat.iife.js +25 -25
  6. package/dist/chat.js +1 -1
  7. package/dist/common/overlay.d.ts +1 -0
  8. package/dist/{common-B9n_o9ki.js → common-B_QhTwRK.js} +2 -2
  9. package/dist/common.js +7 -7
  10. package/dist/{connection-warning-ByY3TKaG.js → connection-warning-DjGsAS1h.js} +1 -1
  11. package/dist/{fastIntent-BaNC2CJz.js → fastIntent-DOgXE46i.js} +1 -1
  12. package/dist/index.d.ts +1 -1
  13. package/dist/index.js +12 -12
  14. package/dist/{native-webview-Ch9lsx7E.js → native-webview-CYX30O3Q.js} +1 -1
  15. package/dist/native.iife.js +8 -8
  16. package/dist/native.js +1 -1
  17. package/dist/{overlay-CPLLn1eK.js → overlay-BPZEIyo_.js} +1 -1
  18. package/dist/overlay.js +1 -1
  19. package/dist/qna-runtime.js +1 -1
  20. package/dist/qna.iife.js +8 -8
  21. package/dist/qna.js +1 -1
  22. package/dist/{request-response-cache-DkilqELR.js → request-response-cache-Ddw59jGs.js} +1 -1
  23. package/dist/{runtime-BkqUiRUi.js → runtime-BJiDilHj.js} +3 -3
  24. package/dist/{runtime-CmpEARET.js → runtime-Cr3f6wjm.js} +3 -3
  25. package/dist/{runtime-_ly8XVXC.js → runtime-D39A30T-.js} +1176 -1155
  26. package/dist/{simbut-CltMk2OF.js → simbut-C-2-g2V1.js} +1 -1
  27. package/dist/simbut.iife.js +2 -2
  28. package/dist/simbut.js +1 -1
  29. package/dist/{simrel-BuCc53Pw.js → simrel-BaahIAgs.js} +1 -1
  30. package/dist/simrel-runtime.js +1 -1
  31. package/dist/simrel.iife.js +2 -2
  32. package/dist/simrel.js +2 -2
  33. package/dist/{widget-base-vDXD27_n.js → widget-base-DRNUkp-i.js} +4 -1
  34. package/package.json +1 -1
@@ -1,9 +1,9 @@
1
- import { c as Xt, f as Sa, g as Ea, i as Pa, l as Ta, m as La, n as Aa, t as Ia } from "./request-response-cache-DkilqELR.js";
2
- import { A as Ce, C as Ma, D as Na, E as Ba, M as pe, N as be, O as za, S as yt, T as Ra, _ as Ha, a as _e, b as Fa, d as Da, f as Oa, g as Ua, h as ja, j as xe, l as qa, m as $a, p as Va, u as Ga, v as Wa, w as at, x as Ka } from "./context-UTzCGyR9.js";
3
- import { i as ze, s as Qt, t as Ya } from "./widget-base-vDXD27_n.js";
4
- import { d as he, f as Za, i as Xa, n as Qa, p as Ja, r as en, t as wt, u as tn } from "./fastIntent-BaNC2CJz.js";
1
+ import { c as Xt, f as Sa, g as Ea, i as Pa, l as La, m as Ta, n as Aa, t as Ia } from "./request-response-cache-Ddw59jGs.js";
2
+ import { A as Ce, C as Ma, D as Na, E as Ba, M as de, N as be, O as za, S as yt, T as Ra, _ as Ha, a as _e, b as Fa, d as Da, f as Oa, g as Ua, h as ja, j as ve, l as qa, m as $a, p as Va, u as Ga, v as Wa, w as at, x as Ka } from "./context-UTzCGyR9.js";
3
+ import { i as ze, s as Qt, t as Ya } from "./widget-base-DRNUkp-i.js";
4
+ import { d as he, f as Za, i as Xa, n as Qa, p as Ja, r as en, t as wt, u as tn } from "./fastIntent-DOgXE46i.js";
5
5
  import { t as Ue } from "./locale-uQ5XZ2yS.js";
6
- import { a as Jt, i as ea, n as ve, r as ta, t as oe } from "./price-formatter-CHUmYq8I.js";
6
+ import { a as Jt, i as ea, n as xe, r as ta, t as ae } from "./price-formatter-CHUmYq8I.js";
7
7
  function _t() {
8
8
  const t = Date.now(), e = new Uint8Array(16);
9
9
  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;
@@ -754,7 +754,7 @@ function Pn(t, e) {
754
754
  const a = ra(t.props ?? {}) ?? { summary: "" };
755
755
  return ia(En(e), a);
756
756
  }
757
- function Tn(t, e, a) {
757
+ function Ln(t, e, a) {
758
758
  t.innerHTML = "", a && t.appendChild(ia(e, a));
759
759
  }
760
760
  var Et = '<svg viewBox="0 0 16 16" class="gengage-chat-icon"><path d="M3 8h10M9 4l4 4-4 4" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>', Pt = {
@@ -762,7 +762,7 @@ var Et = '<svg viewBox="0 0 16 16" class="gengage-chat-icon"><path d="M3 8h10M9
762
762
  review: '<svg viewBox="0 0 16 16" class="gengage-chat-icon"><polygon points="8,1 10,6 15,6 11,9 12.5,14 8,11 3.5,14 5,9 1,6 6,6" fill="none" stroke="currentColor" stroke-width="1.5"/></svg>',
763
763
  info: '<svg viewBox="0 0 16 16" class="gengage-chat-icon"><circle cx="8" cy="8" r="7" fill="none" stroke="currentColor" stroke-width="1.5"/><line x1="8" y1="7" x2="8" y2="12" stroke="currentColor" stroke-width="1.5"/><circle cx="8" cy="4.5" r="0.8" fill="currentColor"/></svg>',
764
764
  similar: '<svg viewBox="0 0 16 16" class="gengage-chat-icon"><rect x="1" y="3" width="6" height="6" rx="1" fill="none" stroke="currentColor" stroke-width="1.5"/><rect x="9" y="3" width="6" height="6" rx="1" fill="none" stroke="currentColor" stroke-width="1.5"/></svg>'
765
- }, Ln = Re, An = 1400, Tt = 1500, In = /data:image\/(png|jpeg|jpg|webp);base64,[A-Za-z0-9+/=]+/gi;
765
+ }, Tn = Re, An = 1400, Lt = 1500, In = /data:image\/(png|jpeg|jpg|webp);base64,[A-Za-z0-9+/=]+/gi;
766
766
  async function Mn(t) {
767
767
  for (const e of t) for (const a of e.types)
768
768
  if (a.startsWith("image/"))
@@ -804,24 +804,41 @@ async function Nn(t) {
804
804
  }
805
805
  var Bn = class {
806
806
  _renderPhotoAnalysisCard(t, e) {
807
- Tn(t, {
807
+ Ln(t, {
808
808
  badge: this.i18n.photoAnalysisBadge,
809
809
  strengths: this.i18n.photoAnalysisStrengthsLabel,
810
810
  focus: this.i18n.photoAnalysisFocusLabel,
811
811
  celebStyle: this.i18n.photoAnalysisCelebStyleLabel
812
812
  }, e);
813
813
  }
814
+ _createLegacyHeaderPoweredBy() {
815
+ const t = typeof this.i18n.poweredBy == "string" ? this.i18n.poweredBy.trim() : "";
816
+ if (!t) return null;
817
+ const e = document.createElement("a");
818
+ return e.className = "gengage-chat-header-powered", e.dataset.gengagePart = "chat-header-powered-by", e.href = "https://gengage.ai/", e.target = "_blank", e.rel = "noopener noreferrer", e.innerHTML = `<svg viewBox="0 0 15 15" fill="none" aria-hidden="true"><path d="M15 5.88941C12.2201 5.88941 9.72762 7.14107 8.05571 9.11059H0C2.77991 9.11059 5.27238 7.85893 6.94429 5.88941H15Z" fill="currentColor"/><path d="M9.10964 0C9.10964 2.24394 8.29524 4.30038 6.94429 5.88941C5.27238 7.85962 2.77922 9.11059 0 9.11059V5.88941C3.24802 5.88941 5.89036 3.2465 5.89036 0H9.10964Z" fill="currentColor" fill-opacity="0.68"/><path d="M15 5.88941V9.11059C11.752 9.11059 9.10964 11.7535 9.10964 15H5.89036C5.89036 12.7561 6.70476 10.6996 8.05571 9.11059C9.72762 7.14038 12.2208 5.88941 15 5.88941Z" fill="currentColor" fill-opacity="0.68"/></svg>${t}`, e;
819
+ }
820
+ _createFooterAttribution() {
821
+ const t = document.createElement("div");
822
+ t.className = "gengage-chat-footer", t.dataset.gengagePart = "chat-footer";
823
+ const e = this._options.footerAttribution, a = typeof e?.label == "string" ? e.label.trim() : "", n = typeof e?.href == "string" ? e.href.trim() : "", r = typeof this.i18n.poweredBy == "string" ? this.i18n.poweredBy.trim() : "", i = a || r;
824
+ if (!i) return null;
825
+ if (n && ve(n)) {
826
+ const o = document.createElement("a");
827
+ return o.className = "gengage-chat-footer-link", o.dataset.gengagePart = "chat-footer-link", o.href = n, o.target = e?.target || "_blank", o.rel = e?.rel || "noopener noreferrer", o.textContent = i, typeof e?.ariaLabel == "string" && e.ariaLabel.trim() && o.setAttribute("aria-label", e.ariaLabel.trim()), t.appendChild(o), t;
828
+ }
829
+ return t.textContent = i, t;
830
+ }
814
831
  constructor(t, e) {
815
832
  this._sendStopHandler = null, this._panelVisible = !1, this._panelCollapsed = !1, this._onPanelToggle = void 0, this._onHostShellSync = void 0, this._pendingAttachment = null, this._onAttachment = void 0, this._onRollback = void 0, this._onLinkClick = void 0, this._userScrolledUp = !1, this._scrollLockedUntil = 0, this._favBadgeEl = null, this._thinkingSteps = [], this._firstBotMessageIds = /* @__PURE__ */ new Set(), this._voiceInput = null, this._micBtn = null, this._voiceEnabled = !1, this._voiceLang = "tr-TR", this._ignoreNextDividerClick = !1, this._cleanups = [], this._focusTrapHandler = null, this._previouslyFocusedElement = null, this._conversationEl = null, this._reopenPanelBtn = null, this._presentationFocusThreadId = null, this._formerMessagesBtn = null, this._programmaticScrollUntil = 0, this._userInteractionUntil = 0, this._touchStartY = null, this._presentationPinned = !0, this._presentationUserInteracting = !1, this._resizeRafId = null, this._cartBtn = null, this._attachWrapEl = null, this._attachMenuEl = null, this._attachBtn = null, this._attachMenuCleanup = null, this._attachMenuClickTimerId = null, this._typingLoadingBinding = null, this._panelLoadingBinding = null, this._panelAiZoneLoadingBinding = null, this._beautyPhotoStepEl = null, this._cartToastEl = null, this._cartToastTimerId = null, this._options = e, this.i18n = {
816
- ...Ln,
833
+ ...Tn,
817
834
  ...e.i18n
818
835
  }, this.onSend = e.onSend, e.onPanelToggle !== void 0 && (this._onPanelToggle = e.onPanelToggle), e.onHostShellSync !== void 0 && (this._onHostShellSync = e.onHostShellSync), e.onAttachment !== void 0 && (this._onAttachment = e.onAttachment), e.onRollback !== void 0 && (this._onRollback = e.onRollback), e.onLinkClick !== void 0 && (this._onLinkClick = e.onLinkClick), e.voiceEnabled && (this._voiceEnabled = !0), e.voiceLang !== void 0 && (this._voiceLang = e.voiceLang), this.root = document.createElement("div"), this.root.className = "gengage-chat-drawer gds-panel", this.root.dataset.gengagePart = "chat-drawer", this.root.setAttribute("role", "dialog"), this.root.setAttribute("aria-label", this.i18n.headerTitle ?? "Chat"), this.root.setAttribute("aria-modal", "true");
819
836
  const a = "gengage-chat-dialog-desc", n = document.createElement("span");
820
837
  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);
821
838
  let r = null;
822
839
  {
823
- const w = document.createElement("div");
824
- w.className = "gengage-chat-drawer-handle", w.dataset.gengagePart = "chat-drawer-handle", w.setAttribute("aria-hidden", "true"), w.style.pointerEvents = "none", r = w;
840
+ const y = document.createElement("div");
841
+ y.className = "gengage-chat-drawer-handle", y.dataset.gengagePart = "chat-drawer-handle", y.setAttribute("aria-hidden", "true"), y.style.pointerEvents = "none", r = y;
825
842
  }
826
843
  const i = document.createElement("div");
827
844
  i.className = "gengage-chat-header gds-shell-header", i.dataset.gengagePart = "chat-header";
@@ -829,8 +846,8 @@ var Bn = class {
829
846
  o.className = "gengage-chat-header-left", o.dataset.gengagePart = "chat-header-left";
830
847
  const s = e.headerAvatarUrl ?? e.launcherImageUrl, c = typeof e.headerAvatarUrl == "string" && e.headerAvatarUrl.length > 0 && e.headerAvatarUrl !== e.launcherImageUrl;
831
848
  if (s) {
832
- const w = document.createElement("img");
833
- w.className = "gengage-chat-header-avatar", c && w.classList.add("gengage-chat-header-avatar--logo"), w.dataset.gengagePart = "chat-header-avatar", w.src = s, w.alt = e.headerTitle ?? "Assistant", o.appendChild(w);
849
+ const y = document.createElement("img");
850
+ y.className = "gengage-chat-header-avatar", c && y.classList.add("gengage-chat-header-avatar--logo"), y.dataset.gengagePart = "chat-header-avatar", y.src = s, y.alt = e.headerTitle ?? "Assistant", o.appendChild(y);
834
851
  }
835
852
  const l = document.createElement("div");
836
853
  l.className = "gengage-chat-header-info", l.dataset.gengagePart = "chat-header-info";
@@ -838,70 +855,72 @@ var Bn = class {
838
855
  d.className = "gengage-chat-header-title-row", d.dataset.gengagePart = "chat-header-title-row";
839
856
  const p = document.createElement("span");
840
857
  if (p.className = "gengage-chat-header-title", p.dataset.gengagePart = "chat-header-title", p.textContent = e.headerTitle ?? this.i18n.headerTitle ?? "Product Expert", d.appendChild(p), e.headerBadge) {
841
- const w = document.createElement("span");
842
- w.className = "gengage-chat-header-badge gds-badge gds-badge-brand", w.dataset.gengagePart = "chat-header-badge", w.textContent = e.headerBadge, d.appendChild(w);
858
+ const y = document.createElement("span");
859
+ y.className = "gengage-chat-header-badge gds-badge gds-badge-brand", y.dataset.gengagePart = "chat-header-badge", y.textContent = e.headerBadge, d.appendChild(y);
843
860
  }
844
- l.appendChild(d);
845
- const h = document.createElement("a");
846
- h.className = "gengage-chat-header-powered", h.dataset.gengagePart = "chat-header-powered-by", h.href = "https://gengage.ai/", h.target = "_blank", h.rel = "noopener noreferrer", h.innerHTML = `<svg viewBox="0 0 15 15" fill="none" aria-hidden="true"><path d="M15 5.88941C12.2201 5.88941 9.72762 7.14107 8.05571 9.11059H0C2.77991 9.11059 5.27238 7.85893 6.94429 5.88941H15Z" fill="currentColor"/><path d="M9.10964 0C9.10964 2.24394 8.29524 4.30038 6.94429 5.88941C5.27238 7.85962 2.77922 9.11059 0 9.11059V5.88941C3.24802 5.88941 5.89036 3.2465 5.89036 0H9.10964Z" fill="currentColor" fill-opacity="0.68"/><path d="M15 5.88941V9.11059C11.752 9.11059 9.10964 11.7535 9.10964 15H5.89036C5.89036 12.7561 6.70476 10.6996 8.05571 9.11059C9.72762 7.14038 12.2208 5.88941 15 5.88941Z" fill="currentColor" fill-opacity="0.68"/></svg>${this.i18n.poweredBy}`, l.appendChild(h), o.appendChild(l), i.appendChild(o);
847
- const m = document.createElement("div");
848
- m.className = "gengage-chat-header-right", m.dataset.gengagePart = "chat-header-actions";
861
+ if (l.appendChild(d), e.footerAttribution === void 0) {
862
+ const y = this._createLegacyHeaderPoweredBy();
863
+ y && l.appendChild(y);
864
+ }
865
+ o.appendChild(l), i.appendChild(o);
866
+ const h = document.createElement("div");
867
+ h.className = "gengage-chat-header-right", h.dataset.gengagePart = "chat-header-actions";
849
868
  {
850
- const w = document.createElement("button");
851
- w.type = "button", w.className = "gengage-chat-header-btn gengage-chat-header-btn--reopen-panel gds-btn gds-btn-ghost gds-icon-btn", w.dataset.gengagePart = "chat-header-reopen-panel", w.setAttribute("aria-label", this.i18n.showPanelAriaLabel), w.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>', w.addEventListener("click", () => this._showMobilePanelFromBtn()), m.appendChild(w), this._reopenPanelBtn = w;
869
+ const y = document.createElement("button");
870
+ y.type = "button", y.className = "gengage-chat-header-btn gengage-chat-header-btn--reopen-panel gds-btn gds-btn-ghost gds-icon-btn", y.dataset.gengagePart = "chat-header-reopen-panel", y.setAttribute("aria-label", this.i18n.showPanelAriaLabel), y.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>', y.addEventListener("click", () => this._showMobilePanelFromBtn()), h.appendChild(y), this._reopenPanelBtn = y;
852
871
  }
853
872
  if (e.headerCartUrl || e.onCartClick) {
854
- const w = document.createElement("button");
855
- w.type = "button", w.className = "gengage-chat-header-btn gengage-chat-header-btn--cart gds-btn gds-btn-ghost gds-icon-btn", w.dataset.gengagePart = "chat-header-cart", w.setAttribute("aria-label", this.i18n.cartAriaLabel), w.title = this.i18n.cartAriaLabel, w.innerHTML = '<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><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>', w.addEventListener("click", () => e.onCartClick?.()), m.appendChild(w), this._cartBtn = w;
873
+ const y = document.createElement("button");
874
+ y.type = "button", y.className = "gengage-chat-header-btn gengage-chat-header-btn--cart gds-btn gds-btn-ghost gds-icon-btn", y.dataset.gengagePart = "chat-header-cart", y.setAttribute("aria-label", this.i18n.cartAriaLabel), y.title = this.i18n.cartAriaLabel, y.innerHTML = '<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><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>', y.addEventListener("click", () => e.onCartClick?.()), h.appendChild(y), this._cartBtn = y;
856
875
  }
857
876
  if (e.onHistoryClick) {
858
- const w = document.createElement("button");
859
- w.type = "button", w.className = "gengage-chat-header-btn gengage-chat-header-btn--history gds-btn gds-btn-ghost gds-icon-btn", w.dataset.gengagePart = "chat-header-history", w.setAttribute("aria-label", this.i18n.historyAriaLabel), w.title = this.i18n.historyAriaLabel, w.innerHTML = '<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 8v5l3 2"/><path d="M3.05 11A9 9 0 1 1 5 17.5"/><path d="M3 8v4h4"/></svg>', w.addEventListener("click", () => e.onHistoryClick?.()), m.appendChild(w);
877
+ const y = document.createElement("button");
878
+ y.type = "button", y.className = "gengage-chat-header-btn gengage-chat-header-btn--history gds-btn gds-btn-ghost gds-icon-btn", y.dataset.gengagePart = "chat-header-history", y.setAttribute("aria-label", this.i18n.historyAriaLabel), y.title = this.i18n.historyAriaLabel, y.innerHTML = '<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M12 8v5l3 2"/><path d="M3.05 11A9 9 0 1 1 5 17.5"/><path d="M3 8v4h4"/></svg>', y.addEventListener("click", () => e.onHistoryClick?.()), h.appendChild(y);
860
879
  }
861
880
  if (e.onNewChat) {
862
- const w = document.createElement("button");
863
- w.className = "gengage-chat-header-btn gengage-chat-new-chat gds-btn gds-btn-ghost gds-icon-btn", w.dataset.gengagePart = "chat-header-new-chat", w.type = "button", w.setAttribute("aria-label", this.i18n.newChatButton), w.title = this.i18n.newChatButton, w.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>', w.addEventListener("click", () => e.onNewChat?.()), m.appendChild(w);
864
- }
865
- const x = document.createElement("button");
866
- if (x.className = "gengage-chat-close gds-btn gds-btn-ghost gds-icon-btn", x.dataset.gengagePart = "chat-header-close", x.type = "button", x.setAttribute("aria-label", this.i18n.closeButton), x.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>', x.addEventListener("click", e.onClose), e.showHeaderFavorites) {
867
- const w = document.createElement("button");
868
- w.className = "gengage-chat-header-btn gengage-chat-header-btn--fav gds-btn gds-btn-ghost gds-icon-btn", w.dataset.gengagePart = "chat-header-favorites", w.type = "button", w.setAttribute("aria-label", this.i18n.favoritesAriaLabel), w.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>';
869
- const Q = document.createElement("span");
870
- Q.className = "gengage-chat-header-fav-badge", Q.dataset.gengagePart = "chat-header-favorites-badge", Q.setAttribute("aria-hidden", "true"), Q.style.display = "none", w.appendChild(Q), this._favBadgeEl = Q, w.addEventListener("click", () => {
881
+ const y = document.createElement("button");
882
+ y.className = "gengage-chat-header-btn gengage-chat-new-chat gds-btn gds-btn-ghost gds-icon-btn", y.dataset.gengagePart = "chat-header-new-chat", y.type = "button", y.setAttribute("aria-label", this.i18n.newChatButton), y.title = this.i18n.newChatButton, y.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>', y.addEventListener("click", () => e.onNewChat?.()), h.appendChild(y);
883
+ }
884
+ const m = document.createElement("button");
885
+ if (m.className = "gengage-chat-close gds-btn gds-btn-ghost gds-icon-btn", m.dataset.gengagePart = "chat-header-close", m.type = "button", m.setAttribute("aria-label", this.i18n.closeButton), m.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>', m.addEventListener("click", e.onClose), e.showHeaderFavorites) {
886
+ const y = document.createElement("button");
887
+ y.className = "gengage-chat-header-btn gengage-chat-header-btn--fav gds-btn gds-btn-ghost gds-icon-btn", y.dataset.gengagePart = "chat-header-favorites", y.type = "button", y.setAttribute("aria-label", this.i18n.favoritesAriaLabel), y.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>';
888
+ const Y = document.createElement("span");
889
+ Y.className = "gengage-chat-header-fav-badge", Y.dataset.gengagePart = "chat-header-favorites-badge", Y.setAttribute("aria-hidden", "true"), Y.style.display = "none", y.appendChild(Y), this._favBadgeEl = Y, y.addEventListener("click", () => {
871
890
  e.onFavoritesClick?.();
872
- }), m.appendChild(w);
891
+ }), h.appendChild(y);
873
892
  }
874
- m.appendChild(x), r && i.insertBefore(r, i.firstChild), i.appendChild(m);
893
+ h.appendChild(m), r && i.insertBefore(r, i.firstChild), i.appendChild(h);
875
894
  {
876
- let Q = 0, ie = 0, A = !1;
877
- const z = ($) => {
878
- if (!(this._options.getMobileViewport?.() ?? window.innerWidth <= 768) || $.target.closest('button, a, input, [role="button"]')) return;
879
- const K = $.changedTouches?.[0];
880
- K && (Q = K.clientY, ie = 0, A = !0, this.root.style.transition = "none");
881
- }, ee = ($) => {
882
- if (!A) return;
883
- const K = $.changedTouches?.[0];
884
- if (!K) return;
885
- ie = K.clientY - Q;
886
- const ae = (e.getMobileState?.() ?? "full") === "full" ? Math.max(0, ie) : ie;
887
- $.preventDefault(), this.root.style.transform = `translateY(${ae}px)`;
888
- }, le = () => {
889
- if (!A) return;
890
- A = !1;
891
- const $ = e.getMobileState?.() ?? "full";
892
- let K;
893
- ie > 72 ? K = $ === "full" ? "half" : "close" : ie < -72 && $ === "half" ? K = "full" : K = $, this.root.style.transition = "", K === "close" ? (this.root.style.transform = "translateY(100%)", setTimeout(() => {
895
+ let Y = 0, ce = 0, ie = !1;
896
+ const M = (V) => {
897
+ if (!(this._options.getMobileViewport?.() ?? window.innerWidth <= 768) || V.target.closest('button, a, input, [role="button"]')) return;
898
+ const G = V.changedTouches?.[0];
899
+ G && (Y = G.clientY, ce = 0, ie = !0, this.root.style.transition = "none");
900
+ }, H = (V) => {
901
+ if (!ie) return;
902
+ const G = V.changedTouches?.[0];
903
+ if (!G) return;
904
+ ce = G.clientY - Y;
905
+ const J = (e.getMobileState?.() ?? "full") === "full" ? Math.max(0, ce) : ce;
906
+ V.preventDefault(), this.root.style.transform = `translateY(${J}px)`;
907
+ }, ee = () => {
908
+ if (!ie) return;
909
+ ie = !1;
910
+ const V = e.getMobileState?.() ?? "full";
911
+ let G;
912
+ ce > 72 ? G = V === "full" ? "half" : "close" : ce < -72 && V === "half" ? G = "full" : G = V, this.root.style.transition = "", G === "close" ? (this.root.style.transform = "translateY(100%)", setTimeout(() => {
894
913
  this.root.style.transform = "", e.onMobileSnap?.("close");
895
- }, 280)) : (this.root.style.transform = "", e.onMobileSnap?.(K)), ie = 0;
896
- }, Z = () => {
897
- A && (A = !1, ie = 0, this.root.style.transition = "", this.root.style.transform = "");
914
+ }, 280)) : (this.root.style.transform = "", e.onMobileSnap?.(G)), ce = 0;
915
+ }, pe = () => {
916
+ ie && (ie = !1, ce = 0, this.root.style.transition = "", this.root.style.transform = "");
898
917
  };
899
- i.addEventListener("touchstart", z, { passive: !0 }), i.addEventListener("touchmove", ee, { passive: !1 }), i.addEventListener("touchend", le, { passive: !0 }), i.addEventListener("touchcancel", Z, { passive: !0 }), this._cleanups.push(() => {
900
- i.removeEventListener("touchstart", z), i.removeEventListener("touchmove", ee), i.removeEventListener("touchend", le), i.removeEventListener("touchcancel", Z);
918
+ i.addEventListener("touchstart", M, { passive: !0 }), i.addEventListener("touchmove", H, { passive: !1 }), i.addEventListener("touchend", ee, { passive: !0 }), i.addEventListener("touchcancel", pe, { passive: !0 }), this._cleanups.push(() => {
919
+ i.removeEventListener("touchstart", M), i.removeEventListener("touchmove", H), i.removeEventListener("touchend", ee), i.removeEventListener("touchcancel", pe);
901
920
  });
902
921
  }
903
- const v = document.createElement("div");
904
- v.className = "gengage-chat-body", v.dataset.gengagePart = "chat-body", this._panelEl = document.createElement("div"), this._panelEl.className = "gengage-chat-panel gds-panel", this._panelEl.dataset.gengagePart = "chat-panel", this._panelTopBar = new _n({
922
+ const x = document.createElement("div");
923
+ x.className = "gengage-chat-body", x.dataset.gengagePart = "chat-body", this._panelEl = document.createElement("div"), this._panelEl.className = "gengage-chat-panel gds-panel", this._panelEl.dataset.gengagePart = "chat-panel", this._panelTopBar = new _n({
905
924
  onBack: () => e.onPanelBack?.(),
906
925
  onForward: () => e.onPanelForward?.(),
907
926
  onClose: () => {
@@ -911,186 +930,186 @@ var Bn = class {
911
930
  forwardAriaLabel: this.i18n.forwardAriaLabel,
912
931
  closePanelAriaLabel: this.i18n.closePanelAriaLabel
913
932
  }), this._panelEl.appendChild(this._panelTopBar.getElement());
914
- const u = () => this._updateScrollAffordance();
915
- this._panelEl.addEventListener("scroll", u, { passive: !0 }), this._cleanups.push(() => this._panelEl.removeEventListener("scroll", u)), v.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);
916
- const g = document.createElement("button");
917
- g.className = "gengage-chat-panel-divider-toggle gds-btn gds-btn-ghost", g.dataset.gengagePart = "chat-panel-divider-toggle", g.type = "button", g.setAttribute("aria-label", this.i18n.togglePanelAriaLabel), g.setAttribute("title", this.i18n.togglePanelAriaLabel), g.textContent = "»", g.addEventListener("click", () => {
933
+ const v = () => this._updateScrollAffordance();
934
+ this._panelEl.addEventListener("scroll", v, { passive: !0 }), this._cleanups.push(() => this._panelEl.removeEventListener("scroll", v)), x.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);
935
+ const u = document.createElement("button");
936
+ u.className = "gengage-chat-panel-divider-toggle gds-btn gds-btn-ghost", u.dataset.gengagePart = "chat-panel-divider-toggle", u.type = "button", u.setAttribute("aria-label", this.i18n.togglePanelAriaLabel), u.setAttribute("title", this.i18n.togglePanelAriaLabel), u.textContent = "»", u.addEventListener("click", () => {
918
937
  if (this._ignoreNextDividerClick) {
919
938
  this._ignoreNextDividerClick = !1;
920
939
  return;
921
940
  }
922
941
  this.togglePanel(), this._onPanelToggle?.();
923
942
  });
924
- let _ = null, y = null;
925
- const b = 24, L = (w) => {
943
+ let g = null, _ = null;
944
+ const w = 24, b = (y) => {
926
945
  if (!(this._options.getMobileViewport?.() ?? window.innerWidth <= 768)) return;
927
- const Q = w.changedTouches?.[0];
928
- Q && (_ = Q.clientX, y = Q.clientY);
929
- }, M = (w) => {
930
- if (!(this._options.getMobileViewport?.() ?? window.innerWidth <= 768) || _ === null || y === null) return;
931
- const Q = w.changedTouches?.[0];
932
- if (!Q) return;
933
- const ie = Q.clientX - _, A = Q.clientY - y;
934
- if (_ = null, y = null, Math.abs(A) < b || Math.abs(A) < Math.abs(ie)) return;
935
- const z = A < 0;
936
- z !== this._panelCollapsed && (this._ignoreNextDividerClick = !0, this.setPanelCollapsed(z), this._onPanelToggle?.());
946
+ const Y = y.changedTouches?.[0];
947
+ Y && (g = Y.clientX, _ = Y.clientY);
948
+ }, A = (y) => {
949
+ if (!(this._options.getMobileViewport?.() ?? window.innerWidth <= 768) || g === null || _ === null) return;
950
+ const Y = y.changedTouches?.[0];
951
+ if (!Y) return;
952
+ const ce = Y.clientX - g, ie = Y.clientY - _;
953
+ if (g = null, _ = null, Math.abs(ie) < w || Math.abs(ie) < Math.abs(ce)) return;
954
+ const M = ie < 0;
955
+ M !== this._panelCollapsed && (this._ignoreNextDividerClick = !0, this.setPanelCollapsed(M), this._onPanelToggle?.());
937
956
  };
938
- this._dividerEl.addEventListener("touchstart", L, { passive: !0 }), this._dividerEl.addEventListener("touchend", M, { passive: !0 }), this._cleanups.push(() => {
939
- this._dividerEl.removeEventListener("touchstart", L), this._dividerEl.removeEventListener("touchend", M);
940
- }), this._dividerEl.appendChild(g), v.appendChild(this._dividerEl);
957
+ this._dividerEl.addEventListener("touchstart", b, { passive: !0 }), this._dividerEl.addEventListener("touchend", A, { passive: !0 }), this._cleanups.push(() => {
958
+ this._dividerEl.removeEventListener("touchstart", b), this._dividerEl.removeEventListener("touchend", A);
959
+ }), this._dividerEl.appendChild(u), x.appendChild(this._dividerEl);
960
+ const T = document.createElement("div");
961
+ T.className = "gengage-chat-conversation", T.dataset.gengagePart = "chat-conversation", this._conversationEl = T, T.appendChild(i);
941
962
  const k = document.createElement("div");
942
- k.className = "gengage-chat-conversation", k.dataset.gengagePart = "chat-conversation", this._conversationEl = k, k.appendChild(i);
943
- const E = document.createElement("div");
944
- E.className = "gengage-chat-offline-bar gds-evidence-card gds-evidence-card-warning", E.dataset.gengagePart = "chat-offline-bar", E.setAttribute("role", "status"), E.setAttribute("aria-live", "polite"), E.textContent = this.i18n.offlineMessage, typeof navigator < "u" && !navigator.onLine && E.classList.add("gengage-chat-offline-bar--visible"), k.appendChild(E);
945
- const R = () => E.classList.add("gengage-chat-offline-bar--visible"), G = () => E.classList.remove("gengage-chat-offline-bar--visible");
946
- window.addEventListener("offline", R), window.addEventListener("online", G), this._cleanups.push(() => {
947
- window.removeEventListener("offline", R), window.removeEventListener("online", G);
948
- }), this._kvkkSlot = document.createElement("div"), this._kvkkSlot.className = "gengage-chat-kvkk-slot", this._kvkkSlot.dataset.gengagePart = "chat-kvkk-slot", k.appendChild(this._kvkkSlot), this.messagesEl = document.createElement("div"), this.messagesEl.id = dt, 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), Ct(this.messagesEl);
949
- const W = document.createElement("button");
950
- W.type = "button", W.className = "gengage-chat-former-messages-btn gds-chip", W.dataset.gengagePart = "chat-former-messages-button", W.textContent = this.i18n.showFormerMessagesButton, W.setAttribute("aria-label", this.i18n.showFormerMessagesButton), W.style.display = "none", W.addEventListener("click", () => {
963
+ k.className = "gengage-chat-offline-bar gds-evidence-card gds-evidence-card-warning", k.dataset.gengagePart = "chat-offline-bar", k.setAttribute("role", "status"), k.setAttribute("aria-live", "polite"), k.textContent = this.i18n.offlineMessage, typeof navigator < "u" && !navigator.onLine && k.classList.add("gengage-chat-offline-bar--visible"), T.appendChild(k);
964
+ const P = () => k.classList.add("gengage-chat-offline-bar--visible"), z = () => k.classList.remove("gengage-chat-offline-bar--visible");
965
+ window.addEventListener("offline", P), window.addEventListener("online", z), this._cleanups.push(() => {
966
+ window.removeEventListener("offline", P), window.removeEventListener("online", z);
967
+ }), this._kvkkSlot = document.createElement("div"), this._kvkkSlot.className = "gengage-chat-kvkk-slot", this._kvkkSlot.dataset.gengagePart = "chat-kvkk-slot", T.appendChild(this._kvkkSlot), this.messagesEl = document.createElement("div"), this.messagesEl.id = dt, 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), Ct(this.messagesEl);
968
+ const U = document.createElement("button");
969
+ U.type = "button", U.className = "gengage-chat-former-messages-btn gds-chip", U.dataset.gengagePart = "chat-former-messages-button", U.textContent = this.i18n.showFormerMessagesButton, U.setAttribute("aria-label", this.i18n.showFormerMessagesButton), U.style.display = "none", U.addEventListener("click", () => {
951
970
  this._options.presentation?.onReleasePresentationFocus?.();
952
- }), this.messagesEl.appendChild(W), this._formerMessagesBtn = W;
953
- const P = () => {
971
+ }), this.messagesEl.appendChild(U), this._formerMessagesBtn = U;
972
+ const X = () => {
954
973
  this._userInteractionUntil = Date.now() + 2e3;
955
974
  };
956
- let H = !1;
957
- const D = () => this._options.presentation, N = () => {
958
- H || (H = !0, requestAnimationFrame(() => {
959
- H = !1;
960
- const { scrollTop: w, scrollHeight: Q, clientHeight: ie } = this.messagesEl, A = Q - w - ie;
961
- this._userScrolledUp = A > 10;
962
- const z = this._presentationPinned ? A < 96 : A < 32, ee = Date.now(), le = ee < this._programmaticScrollUntil, Z = !z && ee < this._userInteractionUntil, $ = le ? !1 : Z;
963
- z !== this._presentationPinned && (this._presentationPinned = z, D()?.onPinnedToBottomChange?.(z)), $ !== this._presentationUserInteracting && (this._presentationUserInteracting = $, D()?.onUserInteractingChange?.($));
975
+ let E = !1;
976
+ const R = () => this._options.presentation, F = () => {
977
+ E || (E = !0, requestAnimationFrame(() => {
978
+ E = !1;
979
+ const { scrollTop: y, scrollHeight: Y, clientHeight: ce } = this.messagesEl, ie = Y - y - ce;
980
+ this._userScrolledUp = ie > 10;
981
+ const M = this._presentationPinned ? ie < 96 : ie < 32, H = Date.now(), ee = H < this._programmaticScrollUntil, pe = !M && H < this._userInteractionUntil, V = ee ? !1 : pe;
982
+ M !== this._presentationPinned && (this._presentationPinned = M, R()?.onPinnedToBottomChange?.(M)), V !== this._presentationUserInteracting && (this._presentationUserInteracting = V, R()?.onUserInteractingChange?.(V));
964
983
  }));
965
984
  };
966
- this.messagesEl.addEventListener("scroll", N, { passive: !0 }), this._cleanups.push(() => {
967
- this.messagesEl.removeEventListener("scroll", N);
985
+ this.messagesEl.addEventListener("scroll", F, { passive: !0 }), this._cleanups.push(() => {
986
+ this.messagesEl.removeEventListener("scroll", F);
968
987
  });
969
- const C = (w) => {
970
- P(), w.deltaY < -6 && this._presentationFocusThreadId && this._options.presentation?.onFormerMessagesHint?.();
988
+ const B = (y) => {
989
+ X(), y.deltaY < -6 && this._presentationFocusThreadId && this._options.presentation?.onFormerMessagesHint?.();
971
990
  };
972
- this.messagesEl.addEventListener("wheel", C, { passive: !0 }), this._cleanups.push(() => this.messagesEl.removeEventListener("wheel", C));
973
- const U = (w) => {
974
- P(), this._touchStartY = w.touches[0]?.clientY ?? null;
975
- }, B = (w) => {
976
- P();
977
- const Q = w.touches[0]?.clientY, ie = this._touchStartY;
978
- typeof Q == "number" && typeof ie == "number" && Q - ie > 10 && this._presentationFocusThreadId && this._options.presentation?.onFormerMessagesHint?.();
991
+ this.messagesEl.addEventListener("wheel", B, { passive: !0 }), this._cleanups.push(() => this.messagesEl.removeEventListener("wheel", B));
992
+ const C = (y) => {
993
+ X(), this._touchStartY = y.touches[0]?.clientY ?? null;
994
+ }, O = (y) => {
995
+ X();
996
+ const Y = y.touches[0]?.clientY, ce = this._touchStartY;
997
+ typeof Y == "number" && typeof ce == "number" && Y - ce > 10 && this._presentationFocusThreadId && this._options.presentation?.onFormerMessagesHint?.();
979
998
  };
980
- this.messagesEl.addEventListener("touchstart", U, { passive: !0 }), this.messagesEl.addEventListener("touchmove", B, { passive: !0 }), this._cleanups.push(() => {
981
- this.messagesEl.removeEventListener("touchstart", U), this.messagesEl.removeEventListener("touchmove", B);
982
- }), k.appendChild(this.messagesEl), 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";
983
- const j = document.createElement("div");
984
- j.className = "gengage-chat-pills-scroll", j.dataset.gengagePart = "chat-suggestion-pills-scroll", this._pillsEl.appendChild(j);
985
- const F = document.createElement("button");
986
- F.className = "gengage-chat-pills-arrow gds-btn gds-btn-ghost", F.dataset.gengagePart = "chat-suggestion-pills-more", F.type = "button", F.setAttribute("aria-label", this.i18n.moreSuggestionsAriaLabel), F.textContent = "›", F.addEventListener("click", () => {
987
- j.scrollBy({
999
+ this.messagesEl.addEventListener("touchstart", C, { passive: !0 }), this.messagesEl.addEventListener("touchmove", O, { passive: !0 }), this._cleanups.push(() => {
1000
+ this.messagesEl.removeEventListener("touchstart", C), this.messagesEl.removeEventListener("touchmove", O);
1001
+ }), T.appendChild(this.messagesEl), 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";
1002
+ const N = document.createElement("div");
1003
+ N.className = "gengage-chat-pills-scroll", N.dataset.gengagePart = "chat-suggestion-pills-scroll", this._pillsEl.appendChild(N);
1004
+ const q = document.createElement("button");
1005
+ q.className = "gengage-chat-pills-arrow gds-btn gds-btn-ghost", q.dataset.gengagePart = "chat-suggestion-pills-more", q.type = "button", q.setAttribute("aria-label", this.i18n.moreSuggestionsAriaLabel), q.textContent = "›", q.addEventListener("click", () => {
1006
+ N.scrollBy({
988
1007
  left: 150,
989
1008
  behavior: "smooth"
990
1009
  });
991
- }), this._pillsEl.appendChild(F);
992
- let ne = !1;
993
- const X = () => {
994
- ne || (ne = !0, requestAnimationFrame(() => {
995
- ne = !1;
996
- const w = j.scrollLeft + j.clientWidth >= j.scrollWidth - 4;
997
- F.style.display = w ? "none" : "";
1010
+ }), this._pillsEl.appendChild(q);
1011
+ let D = !1;
1012
+ const ne = () => {
1013
+ D || (D = !0, requestAnimationFrame(() => {
1014
+ D = !1;
1015
+ const y = N.scrollLeft + N.clientWidth >= N.scrollWidth - 4;
1016
+ q.style.display = y ? "none" : "";
998
1017
  }));
999
1018
  };
1000
- j.addEventListener("scroll", X, { passive: !0 }), this._cleanups.push(() => {
1001
- j.removeEventListener("scroll", X);
1002
- }), k.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", k.appendChild(this._inputChipsEl);
1003
- const V = document.createElement("div");
1004
- V.className = "gengage-chat-input-area", V.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", () => {
1019
+ N.addEventListener("scroll", ne, { passive: !0 }), this._cleanups.push(() => {
1020
+ N.removeEventListener("scroll", ne);
1021
+ }), T.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", T.appendChild(this._inputChipsEl);
1022
+ const W = document.createElement("div");
1023
+ W.className = "gengage-chat-input-area", W.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", () => {
1005
1024
  this._resizeRafId !== null && cancelAnimationFrame(this._resizeRafId), this._resizeRafId = requestAnimationFrame(() => {
1006
1025
  this._resizeRafId = null, this.inputEl.style.height = "auto", this.inputEl.style.height = `${Math.min(this.inputEl.scrollHeight, 120)}px`;
1007
1026
  }), this._updateSendEnabled();
1008
- }), this.inputEl.addEventListener("keydown", (w) => {
1009
- w.key === "Enter" && !w.isComposing && ((this._options.getMobileViewport?.() ?? window.innerWidth <= 768) || !w.shiftKey) && (w.preventDefault(), this._submit());
1010
- }), this.inputEl.addEventListener("paste", (w) => {
1011
- const Q = w.clipboardData;
1012
- if (!Q) return;
1013
- let ie = null;
1014
- const A = Q.files?.[0];
1015
- if (A && A.type.startsWith("image/")) ie = A;
1016
- else if (Q.items?.length) for (let z = 0; z < Q.items.length; z++) {
1017
- const ee = Q.items[z];
1018
- if (ee?.kind === "file" && ee.type.startsWith("image/")) {
1019
- const le = ee.getAsFile();
1020
- if (le) {
1021
- ie = le;
1027
+ }), this.inputEl.addEventListener("keydown", (y) => {
1028
+ y.key === "Enter" && !y.isComposing && ((this._options.getMobileViewport?.() ?? window.innerWidth <= 768) || !y.shiftKey) && (y.preventDefault(), this._submit());
1029
+ }), this.inputEl.addEventListener("paste", (y) => {
1030
+ const Y = y.clipboardData;
1031
+ if (!Y) return;
1032
+ let ce = null;
1033
+ const ie = Y.files?.[0];
1034
+ if (ie && ie.type.startsWith("image/")) ce = ie;
1035
+ else if (Y.items?.length) for (let M = 0; M < Y.items.length; M++) {
1036
+ const H = Y.items[M];
1037
+ if (H?.kind === "file" && H.type.startsWith("image/")) {
1038
+ const ee = H.getAsFile();
1039
+ if (ee) {
1040
+ ce = ee;
1022
1041
  break;
1023
1042
  }
1024
1043
  }
1025
1044
  }
1026
- ie && (w.preventDefault(), this._routeAttachmentFile(ie));
1045
+ ce && (y.preventDefault(), this._routeAttachmentFile(ce));
1027
1046
  }), 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", () => {
1028
- const w = this._fileInput.files?.[0];
1029
- w && this._routeAttachmentFile(w), this._fileInput.value = "";
1047
+ const y = this._fileInput.files?.[0];
1048
+ y && this._routeAttachmentFile(y), this._fileInput.value = "";
1030
1049
  });
1031
- const f = document.createElement("div");
1032
- f.className = "gengage-chat-attach-wrap", f.dataset.gengagePart = "chat-attach-wrap", this._attachWrapEl = f;
1033
- const S = document.createElement("button");
1034
- this._attachBtn = S, S.className = "gengage-chat-attach-btn gds-btn gds-btn-ghost", S.dataset.gengagePart = "chat-attach-button", S.type = "button", S.setAttribute("aria-label", this.i18n.attachImageButton), S.setAttribute("aria-haspopup", "menu"), S.setAttribute("aria-expanded", "false"), S.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>', S.addEventListener("click", (w) => {
1035
- w.stopPropagation(), this._toggleAttachMenu();
1050
+ const K = document.createElement("div");
1051
+ K.className = "gengage-chat-attach-wrap", K.dataset.gengagePart = "chat-attach-wrap", this._attachWrapEl = K;
1052
+ const f = document.createElement("button");
1053
+ this._attachBtn = f, f.className = "gengage-chat-attach-btn gds-btn gds-btn-ghost", f.dataset.gengagePart = "chat-attach-button", f.type = "button", f.setAttribute("aria-label", this.i18n.attachImageButton), f.setAttribute("aria-haspopup", "menu"), f.setAttribute("aria-expanded", "false"), f.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>', f.addEventListener("click", (y) => {
1054
+ y.stopPropagation(), this._toggleAttachMenu();
1036
1055
  });
1037
- const T = document.createElement("div");
1038
- this._attachMenuEl = T, T.className = "gengage-chat-attach-menu gds-menu", T.dataset.gengagePart = "chat-attach-menu", T.setAttribute("role", "menu"), T.setAttribute("hidden", "");
1039
- const q = document.createElement("button");
1040
- q.type = "button", q.className = "gengage-chat-attach-menu-item gds-btn gds-btn-ghost", q.dataset.gengagePart = "chat-attach-menu-select-photo", q.setAttribute("role", "menuitem"), q.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>`, q.addEventListener("click", (w) => {
1041
- w.stopPropagation(), this._closeAttachMenu(), this._fileInput.click();
1056
+ const S = document.createElement("div");
1057
+ this._attachMenuEl = S, S.className = "gengage-chat-attach-menu gds-menu", S.dataset.gengagePart = "chat-attach-menu", S.setAttribute("role", "menu"), S.setAttribute("hidden", "");
1058
+ const L = document.createElement("button");
1059
+ L.type = "button", L.className = "gengage-chat-attach-menu-item gds-btn gds-btn-ghost", L.dataset.gengagePart = "chat-attach-menu-select-photo", L.setAttribute("role", "menuitem"), L.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>`, L.addEventListener("click", (y) => {
1060
+ y.stopPropagation(), this._closeAttachMenu(), this._fileInput.click();
1042
1061
  });
1043
- const I = document.createElement("div");
1044
- I.className = "gengage-chat-attach-menu-sep", I.dataset.gengagePart = "chat-attach-menu-separator", I.setAttribute("aria-hidden", "true");
1045
- const O = document.createElement("button");
1046
- O.type = "button", O.className = "gengage-chat-attach-menu-item gds-btn gds-btn-ghost", O.dataset.gengagePart = "chat-attach-menu-paste", O.setAttribute("role", "menuitem"), O.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>`, O.addEventListener("click", (w) => {
1047
- w.stopPropagation();
1048
- const Q = typeof navigator.clipboard?.read == "function" ? navigator.clipboard.read() : void 0;
1049
- this._pasteImageFromClipboardMenu(Q);
1050
- }), T.appendChild(q), T.appendChild(I), T.appendChild(O), f.appendChild(S), f.appendChild(T), 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";
1051
- const J = document.createElement("img");
1052
- J.className = "gengage-chat-attachment-preview-thumb", J.dataset.gengagePart = "chat-attachment-preview-thumb", J.alt = "", this._previewName = document.createElement("span"), this._previewName.className = "gengage-chat-attachment-name", this._previewName.dataset.gengagePart = "chat-attachment-preview-name";
1053
- const re = document.createElement("button");
1054
- re.className = "gengage-chat-attachment-remove gds-btn gds-btn-ghost", re.dataset.gengagePart = "chat-attachment-preview-remove", re.type = "button", re.setAttribute("aria-label", this.i18n.removeAttachmentButton), re.textContent = "×", re.addEventListener("click", () => this.clearAttachment()), this._previewStrip.appendChild(J), this._previewStrip.appendChild(this._previewName), this._previewStrip.appendChild(re), 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", () => {
1062
+ const $ = document.createElement("div");
1063
+ $.className = "gengage-chat-attach-menu-sep", $.dataset.gengagePart = "chat-attach-menu-separator", $.setAttribute("aria-hidden", "true");
1064
+ const I = document.createElement("button");
1065
+ I.type = "button", I.className = "gengage-chat-attach-menu-item gds-btn gds-btn-ghost", I.dataset.gengagePart = "chat-attach-menu-paste", I.setAttribute("role", "menuitem"), I.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>`, I.addEventListener("click", (y) => {
1066
+ y.stopPropagation();
1067
+ const Y = typeof navigator.clipboard?.read == "function" ? navigator.clipboard.read() : void 0;
1068
+ this._pasteImageFromClipboardMenu(Y);
1069
+ }), S.appendChild(L), S.appendChild($), S.appendChild(I), K.appendChild(f), K.appendChild(S), 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";
1070
+ const j = document.createElement("img");
1071
+ j.className = "gengage-chat-attachment-preview-thumb", j.dataset.gengagePart = "chat-attachment-preview-thumb", j.alt = "", this._previewName = document.createElement("span"), this._previewName.className = "gengage-chat-attachment-name", this._previewName.dataset.gengagePart = "chat-attachment-preview-name";
1072
+ const Q = document.createElement("button");
1073
+ Q.className = "gengage-chat-attachment-remove gds-btn gds-btn-ghost", Q.dataset.gengagePart = "chat-attachment-preview-remove", Q.type = "button", Q.setAttribute("aria-label", this.i18n.removeAttachmentButton), Q.textContent = "×", Q.addEventListener("click", () => this.clearAttachment()), this._previewStrip.appendChild(j), this._previewStrip.appendChild(this._previewName), this._previewStrip.appendChild(Q), 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", () => {
1055
1074
  if (this._sendStopHandler) {
1056
- const w = this._sendStopHandler;
1057
- this.hideStopButton(), w();
1075
+ const y = this._sendStopHandler;
1076
+ this.hideStopButton(), y();
1058
1077
  return;
1059
1078
  }
1060
1079
  this._submit();
1061
- }), V.addEventListener("dragover", (w) => {
1062
- w.preventDefault(), V.classList.add("gengage-chat-input-area--dragover");
1063
- }), V.addEventListener("dragleave", () => {
1064
- V.classList.remove("gengage-chat-input-area--dragover");
1065
- }), V.addEventListener("drop", (w) => {
1066
- w.preventDefault(), V.classList.remove("gengage-chat-input-area--dragover");
1067
- const Q = w.dataTransfer?.files[0];
1068
- Q && this._routeAttachmentFile(Q);
1080
+ }), W.addEventListener("dragover", (y) => {
1081
+ y.preventDefault(), W.classList.add("gengage-chat-input-area--dragover");
1082
+ }), W.addEventListener("dragleave", () => {
1083
+ W.classList.remove("gengage-chat-input-area--dragover");
1084
+ }), W.addEventListener("drop", (y) => {
1085
+ y.preventDefault(), W.classList.remove("gengage-chat-input-area--dragover");
1086
+ const Y = y.dataTransfer?.files[0];
1087
+ Y && this._routeAttachmentFile(Y);
1069
1088
  });
1070
1089
  const te = document.createElement("div");
1071
- te.className = "gengage-chat-input-pill gds-input-shell", te.dataset.gengagePart = "chat-input-shell", te.appendChild(f), te.appendChild(this.inputEl), this._voiceEnabled && Xa() && (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()), te.appendChild(this._micBtn), this._voiceInput = new en({
1072
- onInterim: (w) => {
1073
- this._resizeRafId !== null && (cancelAnimationFrame(this._resizeRafId), this._resizeRafId = null), this.inputEl.value = w, this.inputEl.style.height = "auto", this.inputEl.style.height = `${Math.min(this.inputEl.scrollHeight, 120)}px`;
1090
+ te.className = "gengage-chat-input-pill gds-input-shell", te.dataset.gengagePart = "chat-input-shell", te.appendChild(K), te.appendChild(this.inputEl), this._voiceEnabled && Xa() && (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()), te.appendChild(this._micBtn), this._voiceInput = new en({
1091
+ onInterim: (y) => {
1092
+ this._resizeRafId !== null && (cancelAnimationFrame(this._resizeRafId), this._resizeRafId = null), this.inputEl.value = y, this.inputEl.style.height = "auto", this.inputEl.style.height = `${Math.min(this.inputEl.scrollHeight, 120)}px`;
1074
1093
  },
1075
- onFinal: (w) => {
1076
- this.inputEl.value = w;
1094
+ onFinal: (y) => {
1095
+ this.inputEl.value = y;
1077
1096
  },
1078
- onAutoSubmit: (w) => {
1079
- this.inputEl.value = w, this._micBtn?.classList.remove("gengage-chat-mic-btn--active"), this._submit();
1097
+ onAutoSubmit: (y) => {
1098
+ this.inputEl.value = y, this._micBtn?.classList.remove("gengage-chat-mic-btn--active"), this._submit();
1080
1099
  },
1081
- onStateChange: (w) => {
1082
- w === "listening" ? this._micBtn?.classList.add("gengage-chat-mic-btn--active") : this._micBtn?.classList.remove("gengage-chat-mic-btn--active");
1100
+ onStateChange: (y) => {
1101
+ y === "listening" ? this._micBtn?.classList.add("gengage-chat-mic-btn--active") : this._micBtn?.classList.remove("gengage-chat-mic-btn--active");
1083
1102
  },
1084
- onError: (w, Q) => {
1103
+ onError: (y, Y) => {
1085
1104
  this._micBtn?.classList.remove("gengage-chat-mic-btn--active");
1086
1105
  }
1087
- }, { lang: this._voiceLang })), te.appendChild(this.sendBtn), V.appendChild(this._previewStrip), V.appendChild(this._fileInput), V.appendChild(te), k.appendChild(V), v.appendChild(k), this._comparisonDockSlotEl = document.createElement("div"), this._comparisonDockSlotEl.className = "gengage-chat-comparison-dock-slot", this._comparisonDockSlotEl.dataset.gengagePart = "comparison-dock-slot", v.appendChild(this._comparisonDockSlotEl), this.root.appendChild(v), this._setupHorizontalSwipe(k);
1088
- const se = document.createElement("div");
1089
- se.className = "gengage-chat-footer", se.dataset.gengagePart = "chat-footer", se.textContent = this.i18n.poweredBy, this.root.appendChild(se);
1090
- const ce = (w) => {
1091
- w.key === "Escape" && e.onClose();
1106
+ }, { lang: this._voiceLang })), te.appendChild(this.sendBtn), W.appendChild(this._previewStrip), W.appendChild(this._fileInput), W.appendChild(te), T.appendChild(W), x.appendChild(T), this._comparisonDockSlotEl = document.createElement("div"), this._comparisonDockSlotEl.className = "gengage-chat-comparison-dock-slot", this._comparisonDockSlotEl.dataset.gengagePart = "comparison-dock-slot", x.appendChild(this._comparisonDockSlotEl), this.root.appendChild(x), this._setupHorizontalSwipe(T);
1107
+ const oe = this._createFooterAttribution();
1108
+ oe && this.root.appendChild(oe);
1109
+ const se = (y) => {
1110
+ y.key === "Escape" && e.onClose();
1092
1111
  };
1093
- this.root.addEventListener("keydown", ce), this._cleanups.push(() => this.root.removeEventListener("keydown", ce)), t.appendChild(this.root);
1112
+ this.root.addEventListener("keydown", se), this._cleanups.push(() => this.root.removeEventListener("keydown", se)), t.appendChild(this.root);
1094
1113
  }
1095
1114
  addMessage(t) {
1096
1115
  const e = this._options.renderMessageUISpec?.(t) ?? null;
@@ -1432,8 +1451,8 @@ var Bn = class {
1432
1451
  const d = document.createElement("div");
1433
1452
  d.className = "gengage-chat-comparison-recommended-info";
1434
1453
  for (let k = 0; k < 2; k++) {
1435
- const E = document.createElement("div");
1436
- E.className = "gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-rec-title", k === 1 && E.classList.add("gengage-chat-comparison-skeleton-rec-title--short"), d.appendChild(E);
1454
+ const P = document.createElement("div");
1455
+ P.className = "gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-rec-title", k === 1 && P.classList.add("gengage-chat-comparison-skeleton-rec-title--short"), d.appendChild(P);
1437
1456
  }
1438
1457
  const p = document.createElement("div");
1439
1458
  p.className = "gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-rec-price", d.appendChild(p), c.appendChild(l), c.appendChild(d), o.appendChild(c);
@@ -1444,8 +1463,8 @@ var Bn = class {
1444
1463
  const x = document.createElement("ul");
1445
1464
  x.className = "gengage-chat-comparison-skeleton-hl-list";
1446
1465
  for (let k = 0; k < 3; k++) {
1447
- const E = document.createElement("li"), R = document.createElement("div");
1448
- R.className = "gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-hl-line", k === 1 && R.classList.add("gengage-chat-comparison-skeleton-hl-line--medium"), k === 2 && R.classList.add("gengage-chat-comparison-skeleton-hl-line--short"), E.appendChild(R), x.appendChild(E);
1466
+ const P = document.createElement("li"), z = document.createElement("div");
1467
+ z.className = "gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-hl-line", k === 1 && z.classList.add("gengage-chat-comparison-skeleton-hl-line--medium"), k === 2 && z.classList.add("gengage-chat-comparison-skeleton-hl-line--short"), P.appendChild(z), x.appendChild(P);
1449
1468
  }
1450
1469
  h.appendChild(x), o.appendChild(h), i.appendChild(o);
1451
1470
  const v = document.createElement("div");
@@ -1455,41 +1474,41 @@ var Bn = class {
1455
1474
  const g = document.createElement("div");
1456
1475
  g.className = "gengage-chat-comparison-key-differences-content";
1457
1476
  for (let k = 0; k < 4; k++) {
1458
- const E = document.createElement("div");
1459
- E.className = "gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-kd-line", g.appendChild(E);
1477
+ const P = document.createElement("div");
1478
+ P.className = "gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-kd-line", g.appendChild(P);
1460
1479
  }
1461
1480
  v.appendChild(g), i.appendChild(v);
1462
1481
  const _ = document.createElement("div");
1463
1482
  _.className = "gengage-chat-comparison-special gengage-chat-comparison-special--skeleton";
1464
- const y = document.createElement("div");
1465
- y.className = "gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-special-line", _.appendChild(y), i.appendChild(_);
1483
+ const w = document.createElement("div");
1484
+ w.className = "gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-special-line", _.appendChild(w), i.appendChild(_);
1466
1485
  const b = document.createElement("div");
1467
1486
  b.className = "gengage-chat-comparison-skeleton-table-wrap";
1468
- const L = document.createElement("div");
1469
- L.className = "gengage-chat-comparison-skeleton-table-head";
1470
- const M = document.createElement("div");
1471
- M.className = "gengage-chat-comparison-skeleton-table-corner", L.appendChild(M);
1487
+ const A = document.createElement("div");
1488
+ A.className = "gengage-chat-comparison-skeleton-table-head";
1489
+ const T = document.createElement("div");
1490
+ T.className = "gengage-chat-comparison-skeleton-table-corner", A.appendChild(T);
1472
1491
  for (let k = 0; k < 3; k++) {
1473
- const E = document.createElement("div");
1474
- E.className = "gengage-chat-comparison-skeleton-table-col";
1475
- const R = document.createElement("div");
1476
- R.className = "gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-table-th-img";
1477
- const G = document.createElement("div");
1478
- G.className = "gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-table-th-name";
1479
- const W = document.createElement("div");
1480
- W.className = "gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-table-th-price", E.appendChild(R), E.appendChild(G), E.appendChild(W), L.appendChild(E);
1492
+ const P = document.createElement("div");
1493
+ P.className = "gengage-chat-comparison-skeleton-table-col";
1494
+ const z = document.createElement("div");
1495
+ z.className = "gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-table-th-img";
1496
+ const U = document.createElement("div");
1497
+ U.className = "gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-table-th-name";
1498
+ const X = document.createElement("div");
1499
+ X.className = "gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-table-th-price", P.appendChild(z), P.appendChild(U), P.appendChild(X), A.appendChild(P);
1481
1500
  }
1482
- b.appendChild(L);
1501
+ b.appendChild(A);
1483
1502
  for (let k = 0; k < 3; k++) {
1484
- const E = document.createElement("div");
1485
- E.className = "gengage-chat-comparison-skeleton-table-row";
1486
- const R = document.createElement("div");
1487
- R.className = "gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-table-label", E.appendChild(R);
1488
- for (let G = 0; G < 3; G++) {
1489
- const W = document.createElement("div");
1490
- W.className = "gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-table-cell", E.appendChild(W);
1503
+ const P = document.createElement("div");
1504
+ P.className = "gengage-chat-comparison-skeleton-table-row";
1505
+ const z = document.createElement("div");
1506
+ z.className = "gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-table-label", P.appendChild(z);
1507
+ for (let U = 0; U < 3; U++) {
1508
+ const X = document.createElement("div");
1509
+ X.className = "gengage-chat-comparison-skeleton-shimmer gengage-chat-comparison-skeleton-table-cell", P.appendChild(X);
1491
1510
  }
1492
- b.appendChild(E);
1511
+ b.appendChild(P);
1493
1512
  }
1494
1513
  i.appendChild(b), e.appendChild(i);
1495
1514
  break;
@@ -1718,7 +1737,7 @@ var Bn = class {
1718
1737
  }
1719
1738
  if (r || (r = i), !r) return !1;
1720
1739
  const o = Date.now();
1721
- this._programmaticScrollUntil = o + Tt, this._scrollLockedUntil = Math.max(this._scrollLockedUntil, o + Tt), this._userScrolledUp = !0;
1740
+ this._programmaticScrollUntil = o + Lt, this._scrollLockedUntil = Math.max(this._scrollLockedUntil, o + Lt), this._userScrolledUp = !0;
1722
1741
  const s = () => {
1723
1742
  this._scrollMessagesTo(Math.max(r.offsetTop - 20, 0), e);
1724
1743
  };
@@ -1988,7 +2007,7 @@ function Kn(t, e) {
1988
2007
  return t.toLocaleUpperCase("tr");
1989
2008
  }
1990
2009
  }
1991
- function Lt(t) {
2010
+ function Tt(t) {
1992
2011
  if (typeof t != "string") return !1;
1993
2012
  const e = Number(t);
1994
2013
  return Number.isFinite(e) && e > 0;
@@ -2028,9 +2047,9 @@ function Xn(t) {
2028
2047
  const x = document.createElement("div");
2029
2048
  x.className = "gengage-chat-comparison-recommended-title", x.textContent = e.name, m.appendChild(x);
2030
2049
  const v = document.createElement("div");
2031
- if (v.className = "gengage-chat-comparison-recommended-meta", Yn(e.rating) && v.appendChild(Zn(e.rating)), Lt(e.price)) {
2050
+ if (v.className = "gengage-chat-comparison-recommended-meta", Yn(e.rating) && v.appendChild(Zn(e.rating)), Tt(e.price)) {
2032
2051
  const g = document.createElement("div");
2033
- g.className = "gengage-chat-comparison-recommended-price", g.textContent = oe(e.price, t.pricing), v.appendChild(g);
2052
+ g.className = "gengage-chat-comparison-recommended-price", g.textContent = ae(e.price, t.pricing), v.appendChild(g);
2034
2053
  }
2035
2054
  if (v.childElementCount > 0 && m.appendChild(v), t.recommendedText) {
2036
2055
  const g = document.createElement("p");
@@ -2050,12 +2069,12 @@ function Xn(t) {
2050
2069
  g.className = "gengage-chat-comparison-highlights", g.dataset.gengagePart = "comparison-highlights";
2051
2070
  const _ = document.createElement("div");
2052
2071
  _.className = "gengage-chat-comparison-highlights-label", _.textContent = s?.highlightsLabel ?? "Key Highlights", g.appendChild(_);
2053
- const y = document.createElement("ul");
2072
+ const w = document.createElement("ul");
2054
2073
  for (const b of r) {
2055
- const L = document.createElement("li");
2056
- L.textContent = b, y.appendChild(L);
2074
+ const A = document.createElement("li");
2075
+ A.textContent = b, w.appendChild(A);
2057
2076
  }
2058
- g.appendChild(y), l.appendChild(g);
2077
+ g.appendChild(w), l.appendChild(g);
2059
2078
  }
2060
2079
  c.appendChild(l);
2061
2080
  }
@@ -2107,10 +2126,10 @@ function Xn(t) {
2107
2126
  const b = document.createElement("div");
2108
2127
  b.className = "gengage-chat-comparison-table-header-img-placeholder", b.setAttribute("aria-hidden", "true"), g.appendChild(b);
2109
2128
  }
2110
- const y = document.createElement("div");
2111
- if (y.className = "gengage-chat-comparison-table-product-name", y.textContent = v.name, g.appendChild(y), Lt(v.price)) {
2129
+ const w = document.createElement("div");
2130
+ if (w.className = "gengage-chat-comparison-table-product-name", w.textContent = v.name, g.appendChild(w), Tt(v.price)) {
2112
2131
  const b = document.createElement("div");
2113
- b.className = "gengage-chat-comparison-table-price", b.textContent = oe(v.price, t.pricing), g.appendChild(b);
2132
+ b.className = "gengage-chat-comparison-table-price", b.textContent = ae(v.price, t.pricing), g.appendChild(b);
2114
2133
  }
2115
2134
  u.appendChild(g), p.appendChild(u);
2116
2135
  }
@@ -2120,10 +2139,10 @@ function Xn(t) {
2120
2139
  const u = document.createElement("tr"), g = document.createElement("td");
2121
2140
  g.className = "gengage-chat-comparison-label", g.textContent = Wn(v.label, s?.criteriaLabels, t.locale), u.appendChild(g);
2122
2141
  for (let _ = 0; _ < v.values.length; _++) {
2123
- const y = document.createElement("td");
2124
- a[_]?.sku === e?.sku && (y.className = "gengage-chat-comparison-selected gds-comparison-table-winner-cell");
2142
+ const w = document.createElement("td");
2143
+ a[_]?.sku === e?.sku && (w.className = "gengage-chat-comparison-selected gds-comparison-table-winner-cell");
2125
2144
  const b = v.values[_] ?? "";
2126
- sa(b) ? y.innerHTML = be(b) : y.textContent = b, u.appendChild(y);
2145
+ sa(b) ? w.innerHTML = be(b) : w.textContent = b, u.appendChild(w);
2127
2146
  }
2128
2147
  m.appendChild(u);
2129
2148
  }
@@ -2207,23 +2226,23 @@ function sr(t, e) {
2207
2226
  const r = n.filter((v) => v !== null && typeof v == "object"), i = /* @__PURE__ */ new Map();
2208
2227
  for (const v of r) {
2209
2228
  const u = ar(v.review_class), g = nr(v.review_text), _ = tr(v.review_tag);
2210
- for (const y of _) {
2211
- const b = y.toLocaleLowerCase();
2212
- let L = i.get(b);
2213
- if (L || (L = {
2229
+ for (const w of _) {
2230
+ const b = w.toLocaleLowerCase();
2231
+ let A = i.get(b);
2232
+ if (A || (A = {
2214
2233
  key: b,
2215
- label: y,
2234
+ label: w,
2216
2235
  mentions: 0,
2217
2236
  positive: 0,
2218
2237
  negative: 0,
2219
2238
  neutral: 0,
2220
2239
  snippets: []
2221
- }, i.set(b, L)), L.mentions += 1, u === "positive" ? L.positive += 1 : u === "negative" ? L.negative += 1 : L.neutral += 1, g.length > 0 && L.snippets.length < er && !L.snippets.some((M) => M.text === g)) {
2222
- const M = {
2240
+ }, i.set(b, A)), A.mentions += 1, u === "positive" ? A.positive += 1 : u === "negative" ? A.negative += 1 : A.neutral += 1, g.length > 0 && A.snippets.length < er && !A.snippets.some((T) => T.text === g)) {
2241
+ const T = {
2223
2242
  text: g,
2224
2243
  tone: u
2225
2244
  };
2226
- v.review_rating !== void 0 && String(v.review_rating).length > 0 && (M.rating = v.review_rating), L.snippets.push(M);
2245
+ v.review_rating !== void 0 && String(v.review_rating).length > 0 && (T.rating = v.review_rating), A.snippets.push(T);
2227
2246
  }
2228
2247
  }
2229
2248
  }
@@ -2242,29 +2261,29 @@ function sr(t, e) {
2242
2261
  const m = () => {
2243
2262
  for (; h.firstChild; ) h.removeChild(h.firstChild);
2244
2263
  if (!d) return;
2245
- const v = o.find((y) => y.key === d);
2264
+ const v = o.find((w) => w.key === d);
2246
2265
  if (!v) return;
2247
2266
  const u = document.createElement("div");
2248
2267
  u.className = "gengage-chat-review-detail-meta";
2249
2268
  const g = document.createElement("span");
2250
2269
  if (g.className = "gengage-chat-review-detail-mentions", g.textContent = `${or(v.mentions, e?.reviewCustomersMentionSingular, e?.reviewCustomersMentionPlural)} "${v.label}"`, u.appendChild(g), v.positive > 0) {
2251
- const y = document.createElement("span");
2252
- y.className = "gengage-chat-review-detail-positive", y.textContent = `${v.positive} ${s}`, u.appendChild(y);
2270
+ const w = document.createElement("span");
2271
+ w.className = "gengage-chat-review-detail-positive", w.textContent = `${v.positive} ${s}`, u.appendChild(w);
2253
2272
  }
2254
2273
  if (v.negative > 0) {
2255
- const y = document.createElement("span");
2256
- y.className = "gengage-chat-review-detail-negative", y.textContent = `${v.negative} ${c}`, u.appendChild(y);
2274
+ const w = document.createElement("span");
2275
+ w.className = "gengage-chat-review-detail-negative", w.textContent = `${v.negative} ${c}`, u.appendChild(w);
2257
2276
  }
2258
2277
  h.appendChild(u);
2259
2278
  const _ = document.createElement("div");
2260
2279
  _.className = "gengage-chat-review-snippets";
2261
- for (const y of v.snippets) {
2280
+ for (const w of v.snippets) {
2262
2281
  const b = document.createElement("article");
2263
- b.className = "gengage-chat-review-snippet", b.dataset.tone = y.tone;
2264
- const L = document.createElement("div");
2265
- if (L.className = "gengage-chat-review-snippet-text", L.textContent = `"${y.text}"`, b.appendChild(L), y.rating !== void 0 && String(y.rating).length > 0) {
2266
- const M = document.createElement("div");
2267
- M.className = "gengage-chat-review-snippet-rating", M.textContent = `★ ${String(y.rating)}`, b.appendChild(M);
2282
+ b.className = "gengage-chat-review-snippet", b.dataset.tone = w.tone;
2283
+ const A = document.createElement("div");
2284
+ if (A.className = "gengage-chat-review-snippet-text", A.textContent = `"${w.text}"`, b.appendChild(A), w.rating !== void 0 && String(w.rating).length > 0) {
2285
+ const T = document.createElement("div");
2286
+ T.className = "gengage-chat-review-snippet-rating", T.textContent = `★ ${String(w.rating)}`, b.appendChild(T);
2268
2287
  }
2269
2288
  _.appendChild(b);
2270
2289
  }
@@ -2280,8 +2299,8 @@ function sr(t, e) {
2280
2299
  g.type = "button", g.className = "gengage-chat-review-subject gds-chip", g.dataset.subjectKey = v.key, g.dataset.tone = u;
2281
2300
  const _ = document.createElement("span");
2282
2301
  _.className = "gengage-chat-review-subject-icon", _.appendChild(ir(u)), g.appendChild(_);
2283
- const y = document.createElement("span");
2284
- y.className = "gengage-chat-review-subject-label", y.textContent = v.label, g.appendChild(y);
2302
+ const w = document.createElement("span");
2303
+ w.className = "gengage-chat-review-subject-label", w.textContent = v.label, g.appendChild(w);
2285
2304
  const b = document.createElement("span");
2286
2305
  b.className = "gengage-chat-review-subject-count", b.textContent = `(${v.mentions})`, g.appendChild(b), g.addEventListener("click", () => {
2287
2306
  d = v.key, x(), m();
@@ -2335,7 +2354,7 @@ function et(t) {
2335
2354
  const i = document.createElement("div");
2336
2355
  i.className = "gengage-chat-campaign-price-badge__logo";
2337
2356
  const o = document.createElement("img");
2338
- o.alt = "", o.loading = "lazy", o.src = t.logoUrl, ve(o), i.appendChild(o), e.appendChild(i);
2357
+ o.alt = "", o.loading = "lazy", o.src = t.logoUrl, xe(o), i.appendChild(o), e.appendChild(i);
2339
2358
  }
2340
2359
  const a = document.createElement("div");
2341
2360
  a.className = "gengage-chat-campaign-price-badge__body";
@@ -2383,7 +2402,7 @@ function pr(t, e, a, n, r) {
2383
2402
  const o = t.product, s = o.imageUrl;
2384
2403
  if (s && Ce(s)) {
2385
2404
  const l = document.createElement("img");
2386
- l.className = "gengage-chat-ai-toppick-img", l.dataset.gengagePart = "ai-top-pick-image", pe(l, "src", s), l.loading = "lazy", l.alt = e, ve(l), i.appendChild(l);
2405
+ l.className = "gengage-chat-ai-toppick-img", l.dataset.gengagePart = "ai-top-pick-image", de(l, "src", s), l.loading = "lazy", l.alt = e, xe(l), i.appendChild(l);
2387
2406
  }
2388
2407
  const c = ca(t);
2389
2408
  if (c && !r?.skipOverlayActions) {
@@ -2416,7 +2435,7 @@ function hr(t, e, a) {
2416
2435
  if (d.className = "gengage-chat-ai-toppick-price", d.dataset.gengagePart = "ai-top-pick-price", c) {
2417
2436
  const p = et({
2418
2437
  reasonText: i,
2419
- salePriceFormatted: oe(n, a.pricing),
2438
+ salePriceFormatted: ae(n, a.pricing),
2420
2439
  ...l !== void 0 ? { logoUrl: l } : {}
2421
2440
  });
2422
2441
  if (s && o === "inline") {
@@ -2424,10 +2443,10 @@ function hr(t, e, a) {
2424
2443
  const h = document.createElement("span");
2425
2444
  h.className = "gengage-chat-ai-toppick-price-sep", h.setAttribute("aria-hidden", "true");
2426
2445
  const m = document.createElement("span");
2427
- m.className = "gengage-chat-ai-toppick-original-price", m.textContent = oe(r, a.pricing), d.appendChild(h), d.appendChild(m);
2446
+ m.className = "gengage-chat-ai-toppick-original-price", m.textContent = ae(r, a.pricing), d.appendChild(h), d.appendChild(m);
2428
2447
  } else {
2429
2448
  const h = document.createElement("span");
2430
- h.className = "gengage-chat-ai-toppick-original-price", h.textContent = oe(r, a.pricing), d.appendChild(h), d.appendChild(document.createTextNode(" ")), d.appendChild(p);
2449
+ h.className = "gengage-chat-ai-toppick-original-price", h.textContent = ae(r, a.pricing), d.appendChild(h), d.appendChild(document.createTextNode(" ")), d.appendChild(p);
2431
2450
  }
2432
2451
  e.appendChild(d);
2433
2452
  return;
@@ -2435,19 +2454,19 @@ function hr(t, e, a) {
2435
2454
  if (s && o === "inline") {
2436
2455
  d.classList.add("gengage-chat-ai-toppick-price--inline");
2437
2456
  const p = document.createElement("span");
2438
- p.className = "gengage-chat-ai-toppick-price-current", p.textContent = oe(n, a.pricing);
2457
+ p.className = "gengage-chat-ai-toppick-price-current", p.textContent = ae(n, a.pricing);
2439
2458
  const h = document.createElement("span");
2440
2459
  h.className = "gengage-chat-ai-toppick-price-sep", h.setAttribute("aria-hidden", "true");
2441
2460
  const m = document.createElement("span");
2442
- m.className = "gengage-chat-ai-toppick-original-price", m.textContent = oe(r, a.pricing), d.appendChild(p), d.appendChild(h), d.appendChild(m);
2461
+ m.className = "gengage-chat-ai-toppick-original-price", m.textContent = ae(r, a.pricing), d.appendChild(p), d.appendChild(h), d.appendChild(m);
2443
2462
  } else if (s) {
2444
2463
  const p = document.createElement("span");
2445
- p.className = "gengage-chat-ai-toppick-original-price", p.textContent = oe(r, a.pricing), d.appendChild(p), d.appendChild(document.createTextNode(" "));
2464
+ p.className = "gengage-chat-ai-toppick-original-price", p.textContent = ae(r, a.pricing), d.appendChild(p), d.appendChild(document.createTextNode(" "));
2446
2465
  const h = document.createElement("span");
2447
- h.className = "gengage-chat-ai-toppick-price-current", h.textContent = oe(n, a.pricing), d.appendChild(h);
2466
+ h.className = "gengage-chat-ai-toppick-price-current", h.textContent = ae(n, a.pricing), d.appendChild(h);
2448
2467
  } else {
2449
2468
  const p = document.createElement("span");
2450
- p.className = "gengage-chat-ai-toppick-price-current", p.textContent = oe(n, a.pricing), d.appendChild(p);
2469
+ p.className = "gengage-chat-ai-toppick-price-current", p.textContent = ae(n, a.pricing), d.appendChild(p);
2451
2470
  }
2452
2471
  if (i) {
2453
2472
  const p = document.createElement("div");
@@ -2475,11 +2494,11 @@ function Mt(t, e, a, n) {
2475
2494
  const o = t.product, s = ca(t), c = o.url ?? "", l = o.cartCode, d = o.inStock, p = !!(s && l && d !== !1), h = t.action;
2476
2495
  s && e.onProductClick ? (r.classList.add("gds-clickable"), r.addEventListener("click", (k) => {
2477
2496
  if (k.target.closest(".gengage-chat-ai-toppick-cta") || k.target.closest(".gengage-chat-favorite-btn") || k.target.closest(".gengage-chat-find-similar-pill")) return;
2478
- const E = o.name;
2497
+ const P = o.name;
2479
2498
  e.onProductClick?.({
2480
2499
  sku: s,
2481
2500
  url: c,
2482
- ...E ? { name: E } : {}
2501
+ ...P ? { name: P } : {}
2483
2502
  });
2484
2503
  })) : h && (r.classList.add("gds-clickable"), r.addEventListener("click", (k) => {
2485
2504
  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(h);
@@ -2501,25 +2520,25 @@ function Mt(t, e, a, n) {
2501
2520
  const k = document.createElement("div");
2502
2521
  k.className = "gengage-chat-ai-toppick-name", k.dataset.gengagePart = "ai-top-pick-name", k.textContent = _, g.appendChild(k);
2503
2522
  }
2504
- const y = dr(o);
2505
- y && g.appendChild(y), hr(o, g, e), t.labels && t.labels.length > 0 && g.appendChild(fr(t.labels)), u.appendChild(g), r.appendChild(u);
2523
+ const w = dr(o);
2524
+ w && g.appendChild(w), hr(o, g, e), t.labels && t.labels.length > 0 && g.appendChild(fr(t.labels)), u.appendChild(g), r.appendChild(u);
2506
2525
  const b = document.createElement("div");
2507
2526
  if (b.className = "gengage-chat-ai-toppick-detail", b.dataset.gengagePart = "ai-top-pick-detail", a) ur(t, b, e);
2508
2527
  else {
2509
2528
  const k = typeof t.reason == "string" ? t.reason.trim() : "";
2510
2529
  if (k) {
2511
- const E = document.createElement("p");
2512
- E.className = "gengage-chat-ai-toppick-snippet", E.dataset.gengagePart = "ai-top-pick-snippet", E.textContent = k, b.appendChild(E);
2530
+ const P = document.createElement("p");
2531
+ P.className = "gengage-chat-ai-toppick-snippet", P.dataset.gengagePart = "ai-top-pick-snippet", P.textContent = k, b.appendChild(P);
2513
2532
  }
2514
2533
  }
2515
2534
  b.childNodes.length > 0 && r.appendChild(b);
2516
- const L = !!(s && e.topPicksLoadingSku === s), M = (p || h) && !x;
2517
- if (L || p || h) {
2535
+ const A = !!(s && e.topPicksLoadingSku === s), T = (p || h) && !x;
2536
+ if (A || p || h) {
2518
2537
  const k = document.createElement("div");
2519
- if (k.className = "gengage-chat-ai-toppick-spinner", k.dataset.gengagePart = "ai-top-pick-spinner", k.style.display = L ? "" : "none", r.appendChild(k), M) {
2520
- const E = document.createElement("button");
2521
- E.className = "gengage-chat-ai-toppick-cta gds-btn gds-btn-primary", E.dataset.gengagePart = "ai-top-pick-cta", E.type = "button", E.textContent = p ? e.i18n?.addToCartButton ?? "Add to Cart" : e.i18n?.viewDetails ?? "View Details", E.addEventListener("click", (R) => {
2522
- if (R.stopPropagation(), p) {
2538
+ if (k.className = "gengage-chat-ai-toppick-spinner", k.dataset.gengagePart = "ai-top-pick-spinner", k.style.display = A ? "" : "none", r.appendChild(k), T) {
2539
+ const P = document.createElement("button");
2540
+ P.className = "gengage-chat-ai-toppick-cta gds-btn gds-btn-primary", P.dataset.gengagePart = "ai-top-pick-cta", P.type = "button", P.textContent = p ? e.i18n?.addToCartButton ?? "Add to Cart" : e.i18n?.viewDetails ?? "View Details", P.addEventListener("click", (z) => {
2541
+ if (z.stopPropagation(), p) {
2523
2542
  e.onAction({
2524
2543
  title: e.i18n?.addToCartButton ?? "Add to Cart",
2525
2544
  type: "addToCart",
@@ -2533,17 +2552,17 @@ function Mt(t, e, a, n) {
2533
2552
  }
2534
2553
  if (h) {
2535
2554
  if (h.type === "findSimilar" && s && e.onProductClick) {
2536
- const G = o.name;
2555
+ const U = o.name;
2537
2556
  e.onProductClick({
2538
2557
  sku: s,
2539
2558
  url: c,
2540
- ...G ? { name: G } : {}
2559
+ ...U ? { name: U } : {}
2541
2560
  });
2542
2561
  return;
2543
2562
  }
2544
2563
  e.onAction(h);
2545
2564
  }
2546
- }), r.appendChild(E);
2565
+ }), r.appendChild(P);
2547
2566
  }
2548
2567
  }
2549
2568
  return r;
@@ -2777,7 +2796,7 @@ function Er(t) {
2777
2796
  const e = Sr(t), a = typeof t.description == "string" ? t.description.trim() : "";
2778
2797
  if (!a && e.length === 0) return null;
2779
2798
  const n = document.createElement("div");
2780
- if (n.className = "gengage-chat-categories-group-summary", n.dataset.gengagePart = "categories-group-summary", n.appendChild(Pr(t)), e.length > 0 && n.appendChild(Tr(e)), a) {
2799
+ if (n.className = "gengage-chat-categories-group-summary", n.dataset.gengagePart = "categories-group-summary", n.appendChild(Pr(t)), e.length > 0 && n.appendChild(Lr(e)), a) {
2781
2800
  const r = document.createElement("p");
2782
2801
  r.className = "gengage-chat-categories-group-reason", r.dataset.gengagePart = "categories-group-reason", r.textContent = a, n.appendChild(r);
2783
2802
  }
@@ -2787,12 +2806,12 @@ function Pr(t) {
2787
2806
  const e = document.createElement("div");
2788
2807
  if (e.className = "gengage-chat-categories-group-selection", e.dataset.gengagePart = "categories-group-selection", t.image && Ce(t.image)) {
2789
2808
  const n = document.createElement("img");
2790
- n.className = "gengage-chat-categories-group-selection-image", n.draggable = !1, n.src = t.image, n.alt = t.groupName, n.loading = "lazy", ve(n), e.appendChild(n);
2809
+ n.className = "gengage-chat-categories-group-selection-image", n.draggable = !1, n.src = t.image, n.alt = t.groupName, n.loading = "lazy", xe(n), e.appendChild(n);
2791
2810
  }
2792
2811
  const a = document.createElement("div");
2793
2812
  return a.className = "gengage-chat-categories-group-selection-title", a.textContent = t.groupName, e.appendChild(a), e;
2794
2813
  }
2795
- function Tr(t) {
2814
+ function Lr(t) {
2796
2815
  const e = document.createElement("div");
2797
2816
  e.className = "gengage-chat-categories-group-chips", e.dataset.gengagePart = "categories-group-chips";
2798
2817
  for (const a of t) {
@@ -2801,7 +2820,7 @@ function Tr(t) {
2801
2820
  }
2802
2821
  return e;
2803
2822
  }
2804
- function Lr(t, e) {
2823
+ function Tr(t, e) {
2805
2824
  const a = t.props?.groups ?? [], n = t.props?.filterTags ?? [], r = `gengage-cat-${Cr++}`, i = document.createElement("div");
2806
2825
  if (i.className = "gengage-chat-categories", i.dataset.gengagePart = "categories-container", a.length === 0) return i;
2807
2826
  const o = document.createElement("div");
@@ -2815,13 +2834,13 @@ function Lr(t, e) {
2815
2834
  for (let d = 0; d < a.length; d++) {
2816
2835
  const p = a[d], h = `${r}-tab-${d}`, m = `${r}-panel-${d}`, x = document.createElement("button");
2817
2836
  if (x.className = "gengage-chat-categories-tab gds-tab", x.type = "button", x.dataset.gengagePart = "categories-tab", x.id = h, x.setAttribute("role", "tab"), x.setAttribute("aria-controls", m), x.setAttribute("aria-selected", String(d === 0)), x.tabIndex = d === 0 ? 0 : -1, d === 0 && x.classList.add("gengage-chat-categories-tab--active", "is-active"), p.image && Ce(p.image)) {
2818
- const y = document.createElement("img");
2819
- y.className = "gengage-chat-categories-tab-image", y.draggable = !1, y.src = p.image, y.alt = p.groupName, y.loading = "lazy", ve(y), x.appendChild(y);
2837
+ const w = document.createElement("img");
2838
+ w.className = "gengage-chat-categories-tab-image", w.draggable = !1, w.src = p.image, w.alt = p.groupName, w.loading = "lazy", xe(w), x.appendChild(w);
2820
2839
  }
2821
2840
  const v = document.createElement("span");
2822
- v.className = "gengage-chat-categories-tab-text", v.textContent = p.groupName, x.appendChild(v), x.addEventListener("click", () => l(d)), x.addEventListener("keydown", (y) => {
2841
+ v.className = "gengage-chat-categories-tab-text", v.textContent = p.groupName, x.appendChild(v), x.addEventListener("click", () => l(d)), x.addEventListener("keydown", (w) => {
2823
2842
  let b = -1;
2824
- y.key === "ArrowRight" || y.key === "ArrowDown" ? b = (d + 1) % a.length : y.key === "ArrowLeft" || y.key === "ArrowUp" ? b = (d - 1 + a.length) % a.length : y.key === "Home" ? b = 0 : y.key === "End" && (b = a.length - 1), b >= 0 && (y.preventDefault(), l(b), s[b].focus());
2843
+ w.key === "ArrowRight" || w.key === "ArrowDown" ? b = (d + 1) % a.length : w.key === "ArrowLeft" || w.key === "ArrowUp" ? b = (d - 1 + a.length) % a.length : w.key === "Home" ? b = 0 : w.key === "End" && (b = a.length - 1), b >= 0 && (w.preventDefault(), l(b), s[b].focus());
2825
2844
  }), s.push(x), o.appendChild(x);
2826
2845
  const u = document.createElement("div");
2827
2846
  u.className = "gengage-chat-categories-panel", u.dataset.gengagePart = "categories-panel", u.id = m, u.setAttribute("role", "tabpanel"), u.setAttribute("aria-labelledby", h), d !== 0 && (u.style.display = "none");
@@ -2829,8 +2848,8 @@ function Lr(t, e) {
2829
2848
  g && u.appendChild(g);
2830
2849
  const _ = document.createElement("div");
2831
2850
  _.className = "gengage-chat-categories-grid", _.dataset.gengagePart = "categories-grid";
2832
- for (const y of p.products) {
2833
- const b = Ar(y, e);
2851
+ for (const w of p.products) {
2852
+ const b = Ar(w, e);
2834
2853
  _.appendChild(b);
2835
2854
  }
2836
2855
  u.appendChild(_), c.push(u);
@@ -2854,14 +2873,14 @@ function Ar(t, e) {
2854
2873
  const a = document.createElement("div");
2855
2874
  if (a.className = "gengage-chat-product-card gds-card gds-product-card gds-card-interactive", a.dataset.gengagePart = "categories-product-card", t.imageUrl && Ce(t.imageUrl)) {
2856
2875
  const i = document.createElement("img");
2857
- i.className = "gengage-chat-product-card-img", i.draggable = !1, i.src = t.imageUrl, i.alt = t.name, i.loading = "lazy", ve(i), a.appendChild(i);
2876
+ i.className = "gengage-chat-product-card-img", i.draggable = !1, i.src = t.imageUrl, i.alt = t.name, i.loading = "lazy", xe(i), a.appendChild(i);
2858
2877
  }
2859
2878
  const n = document.createElement("div");
2860
2879
  n.className = "gengage-chat-product-card-body";
2861
2880
  const r = document.createElement("div");
2862
2881
  if (r.className = "gengage-chat-product-card-name", r.textContent = t.name, n.appendChild(r), t.price) {
2863
2882
  const i = document.createElement("div");
2864
- i.className = "gengage-chat-product-card-price", i.textContent = oe(t.price, e.pricing), n.appendChild(i);
2883
+ i.className = "gengage-chat-product-card-price", i.textContent = ae(t.price, e.pricing), n.appendChild(i);
2865
2884
  }
2866
2885
  return a.appendChild(n), (e.onProductSelect || e.onAction) && (a.classList.add("gds-clickable"), a.addEventListener("click", () => {
2867
2886
  if (t.sku) {
@@ -2890,7 +2909,7 @@ function Ir(t, e) {
2890
2909
  return a;
2891
2910
  }
2892
2911
  var Mr = "frontend_restore_panel_message";
2893
- function Le(t) {
2912
+ function Te(t) {
2894
2913
  return typeof t == "string" ? t : "";
2895
2914
  }
2896
2915
  function Nr(t) {
@@ -2898,13 +2917,13 @@ function Nr(t) {
2898
2917
  if (!e || typeof e != "object") return null;
2899
2918
  const a = e;
2900
2919
  return {
2901
- imageUrl: Le(a.imageUrl) || void 0,
2902
- name: Le(a.name) || void 0
2920
+ imageUrl: Te(a.imageUrl) || void 0,
2921
+ name: Te(a.name) || void 0
2903
2922
  };
2904
2923
  }).filter((e) => e !== null) : [];
2905
2924
  }
2906
2925
  function Br(t, e) {
2907
- const a = t.props ?? {}, n = Le(a.eyebrow), r = Le(a.title), i = a.showTitle !== !1, o = Le(a.ctaLabel) || e.i18n?.showPanelAriaLabel || "Show Results", s = Le(a.panelMessageId), c = Le(a.highlightMessageId), l = Le(a.threadId), d = Nr(a.products).slice(0, 3), p = document.createElement("button");
2926
+ const a = t.props ?? {}, n = Te(a.eyebrow), r = Te(a.title), i = a.showTitle !== !1, o = Te(a.ctaLabel) || e.i18n?.showPanelAriaLabel || "Show Results", s = Te(a.panelMessageId), c = Te(a.highlightMessageId), l = Te(a.threadId), d = Nr(a.products).slice(0, 3), p = document.createElement("button");
2908
2927
  p.type = "button", p.className = "gengage-chat-panel-restore-card gds-card", !n && !i && p.classList.add("gengage-chat-panel-restore-card--minimal"), p.dataset.gengagePart = "panel-restore-card";
2909
2928
  const h = r || n || o;
2910
2929
  p.setAttribute("aria-label", r ? `${h} - ${o}` : h);
@@ -2928,9 +2947,9 @@ function Br(t, e) {
2928
2947
  const g = document.createElement("div");
2929
2948
  g.className = "gengage-chat-panel-restore-card__thumb";
2930
2949
  const _ = u.imageUrl;
2931
- if (_ && xe(_)) {
2932
- const y = document.createElement("img");
2933
- y.loading = "lazy", y.alt = u.name || r, pe(y, "src", _), ve(y), g.appendChild(y);
2950
+ if (_ && ve(_)) {
2951
+ const w = document.createElement("img");
2952
+ w.loading = "lazy", w.alt = u.name || r, de(w, "src", _), xe(w), g.appendChild(w);
2934
2953
  }
2935
2954
  v.appendChild(g);
2936
2955
  }
@@ -2950,11 +2969,11 @@ function zr(t, e) {
2950
2969
  g.target.closest("a") || e.onProductSelect?.(a);
2951
2970
  });
2952
2971
  const r = a.imageUrl;
2953
- if (r && xe(r)) {
2972
+ if (r && ve(r)) {
2954
2973
  const g = document.createElement("div");
2955
2974
  g.className = "gengage-chat-product-summary__image", g.dataset.gengagePart = "product-summary-image";
2956
2975
  const _ = document.createElement("img");
2957
- _.loading = "lazy", pe(_, "src", r), _.alt = a.name || "Product image", ve(_), g.appendChild(_), n.appendChild(g);
2976
+ _.loading = "lazy", de(_, "src", r), _.alt = a.name || "Product image", xe(_), g.appendChild(_), n.appendChild(g);
2958
2977
  }
2959
2978
  const i = document.createElement("div");
2960
2979
  i.className = "gengage-chat-product-summary__content", i.dataset.gengagePart = "product-summary-content";
@@ -2976,43 +2995,43 @@ function zr(t, e) {
2976
2995
  }
2977
2996
  const d = a.price, p = a.originalPrice;
2978
2997
  if (d) {
2979
- const g = He(e, a), _ = $e(e, a), y = !!(p && p !== d), b = document.createElement("div");
2998
+ const g = He(e, a), _ = $e(e, a), w = !!(p && p !== d), b = document.createElement("div");
2980
2999
  b.className = "gengage-chat-product-summary__price", b.dataset.gengagePart = "product-summary-price";
2981
- const L = !!(g && y), M = Je(e, a);
2982
- if (L) {
3000
+ const A = !!(g && w), T = Je(e, a);
3001
+ if (A) {
2983
3002
  const k = et({
2984
3003
  reasonText: g,
2985
- salePriceFormatted: oe(d, e.pricing),
2986
- ...M !== void 0 ? { logoUrl: M } : {}
3004
+ salePriceFormatted: ae(d, e.pricing),
3005
+ ...T !== void 0 ? { logoUrl: T } : {}
2987
3006
  });
2988
- if (y && _ === "inline") {
3007
+ if (w && _ === "inline") {
2989
3008
  b.classList.add("gengage-chat-product-summary__price--inline"), b.appendChild(k);
2990
- const E = document.createElement("span");
2991
- E.className = "gengage-chat-product-summary__price-sep", E.setAttribute("aria-hidden", "true");
2992
- const R = document.createElement("span");
2993
- R.className = "gengage-chat-product-summary__price-original", R.textContent = oe(p, e.pricing), b.appendChild(E), b.appendChild(R);
3009
+ const P = document.createElement("span");
3010
+ P.className = "gengage-chat-product-summary__price-sep", P.setAttribute("aria-hidden", "true");
3011
+ const z = document.createElement("span");
3012
+ z.className = "gengage-chat-product-summary__price-original", z.textContent = ae(p, e.pricing), b.appendChild(P), b.appendChild(z);
2994
3013
  } else {
2995
- const E = document.createElement("span");
2996
- E.className = "gengage-chat-product-summary__price-original", E.textContent = oe(p, e.pricing), b.appendChild(E), b.appendChild(document.createTextNode(" ")), b.appendChild(k);
3014
+ const P = document.createElement("span");
3015
+ P.className = "gengage-chat-product-summary__price-original", P.textContent = ae(p, e.pricing), b.appendChild(P), b.appendChild(document.createTextNode(" ")), b.appendChild(k);
2997
3016
  }
2998
3017
  i.appendChild(b);
2999
3018
  } else {
3000
- if (y && _ === "inline") {
3019
+ if (w && _ === "inline") {
3001
3020
  b.classList.add("gengage-chat-product-summary__price--inline");
3002
3021
  const k = document.createElement("span");
3003
- k.className = "gengage-chat-product-summary__price-current", k.textContent = oe(d, e.pricing);
3004
- const E = document.createElement("span");
3005
- E.className = "gengage-chat-product-summary__price-sep", E.setAttribute("aria-hidden", "true");
3006
- const R = document.createElement("span");
3007
- R.className = "gengage-chat-product-summary__price-original", R.textContent = oe(p, e.pricing), b.appendChild(k), b.appendChild(E), b.appendChild(R);
3008
- } else if (y) {
3022
+ k.className = "gengage-chat-product-summary__price-current", k.textContent = ae(d, e.pricing);
3023
+ const P = document.createElement("span");
3024
+ P.className = "gengage-chat-product-summary__price-sep", P.setAttribute("aria-hidden", "true");
3025
+ const z = document.createElement("span");
3026
+ z.className = "gengage-chat-product-summary__price-original", z.textContent = ae(p, e.pricing), b.appendChild(k), b.appendChild(P), b.appendChild(z);
3027
+ } else if (w) {
3009
3028
  const k = document.createElement("span");
3010
- k.className = "gengage-chat-product-summary__price-original", k.textContent = oe(p, e.pricing), b.appendChild(k), b.appendChild(document.createTextNode(" "));
3011
- const E = document.createElement("span");
3012
- E.className = "gengage-chat-product-summary__price-current", E.textContent = oe(d, e.pricing), b.appendChild(E);
3029
+ k.className = "gengage-chat-product-summary__price-original", k.textContent = ae(p, e.pricing), b.appendChild(k), b.appendChild(document.createTextNode(" "));
3030
+ const P = document.createElement("span");
3031
+ P.className = "gengage-chat-product-summary__price-current", P.textContent = ae(d, e.pricing), b.appendChild(P);
3013
3032
  } else {
3014
3033
  const k = document.createElement("span");
3015
- k.className = "gengage-chat-product-summary__price-current", k.textContent = oe(d, e.pricing), b.appendChild(k);
3034
+ k.className = "gengage-chat-product-summary__price-current", k.textContent = ae(d, e.pricing), b.appendChild(k);
3016
3035
  }
3017
3036
  if (g) {
3018
3037
  const k = document.createElement("div");
@@ -3035,9 +3054,9 @@ function zr(t, e) {
3035
3054
  }
3036
3055
  });
3037
3056
  }), n.appendChild(g);
3038
- } else if (h && xe(h)) {
3057
+ } else if (h && ve(h)) {
3039
3058
  const g = document.createElement("a");
3040
- g.className = "gengage-chat-product-summary__cta gds-chip gds-chip-active", g.dataset.gengagePart = "product-summary-cta", pe(g, "href", h), pe(g, "target", "_blank"), pe(g, "rel", "noopener noreferrer"), g.textContent = e.i18n?.productCtaLabel ?? "View", n.appendChild(g);
3059
+ g.className = "gengage-chat-product-summary__cta gds-chip gds-chip-active", g.dataset.gengagePart = "product-summary-cta", de(g, "href", h), de(g, "target", "_blank"), de(g, "rel", "noopener noreferrer"), g.textContent = e.i18n?.productCtaLabel ?? "View", n.appendChild(g);
3041
3060
  }
3042
3061
  return n;
3043
3062
  }
@@ -3069,7 +3088,7 @@ var ga = {
3069
3088
  AIGroupingCards: ({ element: t, context: e }) => xr(t, e),
3070
3089
  AISuggestedSearchCards: ({ element: t, context: e }) => yr(t, e),
3071
3090
  ProsAndCons: ({ element: t }) => _r(t),
3072
- CategoriesContainer: ({ element: t, context: e }) => Lr(t, e),
3091
+ CategoriesContainer: ({ element: t, context: e }) => Tr(t, e),
3073
3092
  HandoffNotice: ({ element: t, context: e }) => Ir(t, e),
3074
3093
  PanelRestoreCard: ({ element: t, context: e }) => Br(t, e),
3075
3094
  ProductSummaryCard: ({ element: t, context: e }) => zr(t, e),
@@ -3121,7 +3140,7 @@ function Nt(t, e, a, n, r) {
3121
3140
  if (c) {
3122
3141
  const p = et({
3123
3142
  reasonText: s,
3124
- salePriceFormatted: oe(n, e.pricing),
3143
+ salePriceFormatted: ae(n, e.pricing),
3125
3144
  ...l !== void 0 ? { logoUrl: l } : {}
3126
3145
  });
3127
3146
  if (o && i === "inline") {
@@ -3131,13 +3150,13 @@ function Nt(t, e, a, n, r) {
3131
3150
  const m = document.createElement("span");
3132
3151
  m.className = "gengage-chat-product-card-price-sep", m.setAttribute("aria-hidden", "true");
3133
3152
  const x = document.createElement("span");
3134
- x.className = "gengage-chat-product-card-original-price", x.textContent = oe(r, e.pricing), h.appendChild(m), h.appendChild(x), t.appendChild(h);
3153
+ x.className = "gengage-chat-product-card-original-price", x.textContent = ae(r, e.pricing), h.appendChild(m), h.appendChild(x), t.appendChild(h);
3135
3154
  return;
3136
3155
  }
3137
3156
  if (t.classList.remove("gengage-chat-product-card-price-block--inline"), t.appendChild(p), o) {
3138
3157
  t.appendChild(document.createTextNode(" "));
3139
3158
  const h = document.createElement("span");
3140
- h.className = "gengage-chat-product-card-original-price", h.textContent = oe(r, e.pricing), t.appendChild(h);
3159
+ h.className = "gengage-chat-product-card-original-price", h.textContent = ae(r, e.pricing), t.appendChild(h);
3141
3160
  }
3142
3161
  return;
3143
3162
  }
@@ -3146,19 +3165,19 @@ function Nt(t, e, a, n, r) {
3146
3165
  const p = document.createElement("div");
3147
3166
  p.className = "gengage-chat-product-card-price-row";
3148
3167
  const h = document.createElement("span");
3149
- h.className = "gengage-chat-product-card-current-price", h.textContent = oe(n, e.pricing);
3168
+ h.className = "gengage-chat-product-card-current-price", h.textContent = ae(n, e.pricing);
3150
3169
  const m = document.createElement("span");
3151
3170
  m.className = "gengage-chat-product-card-price-sep", m.setAttribute("aria-hidden", "true");
3152
3171
  const x = document.createElement("span");
3153
- x.className = "gengage-chat-product-card-original-price", x.textContent = oe(r, e.pricing), p.appendChild(h), p.appendChild(m), p.appendChild(x), t.appendChild(p);
3172
+ x.className = "gengage-chat-product-card-original-price", x.textContent = ae(r, e.pricing), p.appendChild(h), p.appendChild(m), p.appendChild(x), t.appendChild(p);
3154
3173
  return;
3155
3174
  }
3156
3175
  t.classList.remove("gengage-chat-product-card-price-block--inline");
3157
3176
  const d = document.createElement("span");
3158
- if (d.className = "gengage-chat-product-card-current-price", d.textContent = oe(n, e.pricing), t.appendChild(d), o) {
3177
+ if (d.className = "gengage-chat-product-card-current-price", d.textContent = ae(n, e.pricing), t.appendChild(d), o) {
3159
3178
  t.appendChild(document.createTextNode(" "));
3160
3179
  const p = document.createElement("span");
3161
- p.className = "gengage-chat-product-card-original-price", p.textContent = oe(r, e.pricing), t.appendChild(p);
3180
+ p.className = "gengage-chat-product-card-original-price", p.textContent = ae(r, e.pricing), t.appendChild(p);
3162
3181
  }
3163
3182
  }
3164
3183
  function Bt(t, e, a, n, r, i, o) {
@@ -3167,7 +3186,7 @@ function Bt(t, e, a, n, r, i, o) {
3167
3186
  if (c) {
3168
3187
  const p = et({
3169
3188
  reasonText: s,
3170
- salePriceFormatted: oe(n, e.pricing),
3189
+ salePriceFormatted: ae(n, e.pricing),
3171
3190
  ...l !== void 0 ? { logoUrl: l } : {}
3172
3191
  });
3173
3192
  if (o && i === "inline") {
@@ -3175,29 +3194,29 @@ function Bt(t, e, a, n, r, i, o) {
3175
3194
  const h = document.createElement("span");
3176
3195
  h.className = "gengage-chat-product-details-price-sep", h.setAttribute("aria-hidden", "true");
3177
3196
  const m = document.createElement("span");
3178
- m.className = "gengage-chat-product-details-original-price", m.textContent = oe(r, e.pricing), t.appendChild(h), t.appendChild(m);
3197
+ m.className = "gengage-chat-product-details-original-price", m.textContent = ae(r, e.pricing), t.appendChild(h), t.appendChild(m);
3179
3198
  } else {
3180
3199
  if (o) {
3181
3200
  const h = document.createElement("span");
3182
- h.className = "gengage-chat-product-details-original-price", h.textContent = oe(r, e.pricing), t.appendChild(h), t.appendChild(document.createTextNode(" "));
3201
+ h.className = "gengage-chat-product-details-original-price", h.textContent = ae(r, e.pricing), t.appendChild(h), t.appendChild(document.createTextNode(" "));
3183
3202
  }
3184
3203
  t.appendChild(p);
3185
3204
  }
3186
3205
  } else if (o && i === "inline") {
3187
3206
  t.classList.add("gengage-chat-product-details-price--inline");
3188
3207
  const p = document.createElement("span");
3189
- p.className = "gengage-chat-product-details-current-price", p.textContent = oe(n, e.pricing);
3208
+ p.className = "gengage-chat-product-details-current-price", p.textContent = ae(n, e.pricing);
3190
3209
  const h = document.createElement("span");
3191
3210
  h.className = "gengage-chat-product-details-price-sep", h.setAttribute("aria-hidden", "true");
3192
3211
  const m = document.createElement("span");
3193
- m.className = "gengage-chat-product-details-original-price", m.textContent = oe(r, e.pricing), t.appendChild(p), t.appendChild(h), t.appendChild(m);
3212
+ m.className = "gengage-chat-product-details-original-price", m.textContent = ae(r, e.pricing), t.appendChild(p), t.appendChild(h), t.appendChild(m);
3194
3213
  } else {
3195
3214
  if (o) {
3196
3215
  const h = document.createElement("span");
3197
- h.className = "gengage-chat-product-details-original-price", h.textContent = oe(r, e.pricing), t.appendChild(h), t.appendChild(document.createTextNode(" "));
3216
+ h.className = "gengage-chat-product-details-original-price", h.textContent = ae(r, e.pricing), t.appendChild(h), t.appendChild(document.createTextNode(" "));
3198
3217
  }
3199
3218
  const p = document.createElement("span");
3200
- p.className = "gengage-chat-product-details-current-price", p.textContent = oe(n, e.pricing), t.appendChild(p);
3219
+ p.className = "gengage-chat-product-details-current-price", p.textContent = ae(n, e.pricing), t.appendChild(p);
3201
3220
  }
3202
3221
  const d = Ke(a, "discountPercent", "price_discount_rate");
3203
3222
  if (!e.hideProductDiscountBadge && typeof d == "number" && d > 0) {
@@ -3212,7 +3231,7 @@ function pt(t, e) {
3212
3231
  if (!n) return a;
3213
3232
  const r = n.sku;
3214
3233
  r && (a.dataset.sku = r);
3215
- const i = t.props?.action, o = n.name, s = n.url, c = n.sku, l = s && xe(s) ? s : void 0, d = () => i?.type !== "launchSingleProduct" || l === void 0 || c === void 0 || e.onProductClick === void 0 ? !1 : (e.onProductClick({
3234
+ const i = t.props?.action, o = n.name, s = n.url, c = n.sku, l = s && ve(s) ? s : void 0, d = () => i?.type !== "launchSingleProduct" || l === void 0 || c === void 0 || e.onProductClick === void 0 ? !1 : (e.onProductClick({
3216
3235
  sku: c,
3217
3236
  url: l,
3218
3237
  ...typeof o == "string" ? { name: o } : {}
@@ -3227,45 +3246,45 @@ function pt(t, e) {
3227
3246
  }
3228
3247
  }));
3229
3248
  const p = n.imageUrl;
3230
- if (p && xe(p)) {
3249
+ if (p && ve(p)) {
3231
3250
  const C = document.createElement("div");
3232
3251
  C.className = "gengage-chat-product-card-img-wrapper";
3233
- const U = document.createElement("img");
3234
- U.className = "gengage-chat-product-card-img", U.loading = "lazy", pe(U, "src", p);
3235
- const B = n.name;
3236
- B && (U.alt = B), ve(U), C.appendChild(U);
3237
- const j = n.discountPercent;
3238
- if (!e.hideProductDiscountBadge && typeof j == "number" && j > 0) {
3252
+ const O = document.createElement("img");
3253
+ O.className = "gengage-chat-product-card-img", O.loading = "lazy", de(O, "src", p);
3254
+ const N = n.name;
3255
+ N && (O.alt = N), xe(O), C.appendChild(O);
3256
+ const q = n.discountPercent;
3257
+ if (!e.hideProductDiscountBadge && typeof q == "number" && q > 0) {
3239
3258
  const f = document.createElement("span");
3240
- f.className = "gengage-chat-product-card-discount-badge", f.textContent = `%${ta(j)}`, C.appendChild(f);
3259
+ f.className = "gengage-chat-product-card-discount-badge", f.textContent = `%${ta(q)}`, C.appendChild(f);
3241
3260
  }
3242
- const F = document.createElement("div");
3243
- F.className = "gengage-chat-product-card-img-actions";
3261
+ const D = document.createElement("div");
3262
+ D.className = "gengage-chat-product-card-img-actions";
3244
3263
  const ne = n.sku;
3245
3264
  if (ne && e.onFavoriteToggle) {
3246
3265
  const f = document.createElement("button");
3247
3266
  f.className = "gengage-chat-favorite-btn", f.type = "button", f.dataset.gengageFavoriteSku = ne, f.setAttribute("aria-label", e.i18n?.addToFavoritesLabel ?? "Add to favorites");
3248
3267
  const S = e.favoritedSkus?.has(ne) ?? !1;
3249
- S && f.classList.add("gengage-chat-favorite-btn--active"), f.innerHTML = `<svg width="14" height="14" viewBox="0 0 24 24" fill="${S ? "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>`, f.addEventListener("click", (T) => {
3250
- T.stopPropagation(), f.classList.toggle("gengage-chat-favorite-btn--active");
3251
- const q = f.querySelector("svg");
3252
- q && q.setAttribute("fill", f.classList.contains("gengage-chat-favorite-btn--active") ? "currentColor" : "none"), e.onFavoriteToggle(ne, n);
3253
- }), F.appendChild(f);
3254
- }
3255
- const X = n.sku, V = e.i18n?.findSimilarLabel ?? "Find Similar";
3256
- if (X) {
3268
+ S && f.classList.add("gengage-chat-favorite-btn--active"), f.innerHTML = `<svg width="14" height="14" viewBox="0 0 24 24" fill="${S ? "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>`, f.addEventListener("click", (L) => {
3269
+ L.stopPropagation(), f.classList.toggle("gengage-chat-favorite-btn--active");
3270
+ const $ = f.querySelector("svg");
3271
+ $ && $.setAttribute("fill", f.classList.contains("gengage-chat-favorite-btn--active") ? "currentColor" : "none"), e.onFavoriteToggle(ne, n);
3272
+ }), D.appendChild(f);
3273
+ }
3274
+ const W = n.sku, K = e.i18n?.findSimilarLabel ?? "Find Similar";
3275
+ if (W) {
3257
3276
  const f = document.createElement("button");
3258
- f.className = "gengage-chat-find-similar-pill", f.type = "button", f.setAttribute("aria-label", V), f.dataset.tooltip = V, f.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>';
3277
+ f.className = "gengage-chat-find-similar-pill", f.type = "button", f.setAttribute("aria-label", K), f.dataset.tooltip = K, f.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>';
3259
3278
  const S = document.createElement("span");
3260
- S.className = "gengage-chat-find-similar-pill-text", S.textContent = V, f.appendChild(S), f.addEventListener("click", (T) => {
3261
- T.stopPropagation(), e.onAction({
3262
- title: V,
3279
+ S.className = "gengage-chat-find-similar-pill-text", S.textContent = K, f.appendChild(S), f.addEventListener("click", (L) => {
3280
+ L.stopPropagation(), e.onAction({
3281
+ title: K,
3263
3282
  type: "findSimilar",
3264
- payload: { sku: X }
3283
+ payload: { sku: W }
3265
3284
  });
3266
- }), F.appendChild(f);
3285
+ }), D.appendChild(f);
3267
3286
  }
3268
- F.childElementCount > 0 && C.appendChild(F), a.appendChild(C);
3287
+ D.childElementCount > 0 && C.appendChild(D), a.appendChild(C);
3269
3288
  }
3270
3289
  const h = document.createElement("div");
3271
3290
  h.className = "gengage-chat-product-card-body";
@@ -3274,73 +3293,73 @@ function pt(t, e) {
3274
3293
  const C = document.createElement("div");
3275
3294
  C.className = "gengage-chat-product-card-brand", C.textContent = m, h.appendChild(C);
3276
3295
  }
3277
- const x = n.rating, v = n.reviewCount, u = n.price, g = n.originalPrice, _ = n.price_async, y = He(e, n), b = $e(e, n), L = !!(g && u && g !== u && parseFloat(u) > 0), M = !!(y && L), k = !!(y && !M || L && b === "inline"), E = typeof x == "number" && Number.isFinite(x) && x > 0, R = document.createElement("div");
3278
- R.className = "gengage-chat-product-card-meta-row";
3279
- const G = document.createElement("div");
3280
- G.className = "gengage-chat-product-card-price gengage-chat-product-card-price-block";
3281
- const W = k ? (() => {
3296
+ const x = n.rating, v = n.reviewCount, u = n.price, g = n.originalPrice, _ = n.price_async, w = He(e, n), b = $e(e, n), A = !!(g && u && g !== u && parseFloat(u) > 0), T = !!(w && A), k = !!(w && !T || A && b === "inline"), P = typeof x == "number" && Number.isFinite(x) && x > 0, z = document.createElement("div");
3297
+ z.className = "gengage-chat-product-card-meta-row";
3298
+ const U = document.createElement("div");
3299
+ U.className = "gengage-chat-product-card-price gengage-chat-product-card-price-block";
3300
+ const X = k ? (() => {
3282
3301
  const C = document.createElement("div");
3283
- return C.className = "gengage-chat-product-card-price-stack", y && !M && C.appendChild(Qe(y)), C.appendChild(G), C;
3284
- })() : G;
3302
+ return C.className = "gengage-chat-product-card-price-stack", w && !T && C.appendChild(Qe(w)), C.appendChild(U), C;
3303
+ })() : U;
3285
3304
  if (_ === !0) {
3286
3305
  const C = document.createElement("span");
3287
- C.className = "gengage-chat-price-skeleton", G.appendChild(C), setTimeout(() => {
3288
- C.parentElement && (u && parseFloat(u) > 0 ? Nt(G, e, n, u, n.originalPrice) : C.remove());
3306
+ C.className = "gengage-chat-price-skeleton", U.appendChild(C), setTimeout(() => {
3307
+ C.parentElement && (u && parseFloat(u) > 0 ? Nt(U, e, n, u, n.originalPrice) : C.remove());
3289
3308
  }, 300);
3290
- } else u && parseFloat(u) > 0 && Nt(G, e, n, u, g);
3291
- if ((G.childElementCount > 0 || _ === !0) && R.appendChild(W), E) {
3309
+ } else u && parseFloat(u) > 0 && Nt(U, e, n, u, g);
3310
+ if ((U.childElementCount > 0 || _ === !0) && z.appendChild(X), P) {
3292
3311
  const C = document.createElement("div");
3293
3312
  C.className = "gengage-chat-product-card-rating gengage-chat-product-card-rating-compact";
3294
- const U = ea(x), B = [`${U.toFixed(1)}`, "out of 5 stars"];
3295
- typeof v == "number" && Number.isFinite(v) && B.push(`(${v} reviews)`), C.setAttribute("aria-label", B.join(" "));
3296
- const j = document.createElement("span");
3297
- j.className = "gengage-chat-product-card-rating-compact-star", j.setAttribute("aria-hidden", "true"), j.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>';
3298
- const F = document.createElement("span");
3299
- F.className = "gengage-chat-product-card-rating-compact-value", F.textContent = U.toFixed(1), C.appendChild(j), C.appendChild(F), R.appendChild(C);
3300
- }
3301
- if (R.childElementCount === 0 && (R.classList.add("gengage-chat-product-card-meta-row--empty"), R.setAttribute("aria-hidden", "true")), h.appendChild(R), o) {
3313
+ const O = ea(x), N = [`${O.toFixed(1)}`, "out of 5 stars"];
3314
+ typeof v == "number" && Number.isFinite(v) && N.push(`(${v} reviews)`), C.setAttribute("aria-label", N.join(" "));
3315
+ const q = document.createElement("span");
3316
+ q.className = "gengage-chat-product-card-rating-compact-star", q.setAttribute("aria-hidden", "true"), q.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>';
3317
+ const D = document.createElement("span");
3318
+ D.className = "gengage-chat-product-card-rating-compact-value", D.textContent = O.toFixed(1), C.appendChild(q), C.appendChild(D), z.appendChild(C);
3319
+ }
3320
+ if (z.childElementCount === 0 && (z.classList.add("gengage-chat-product-card-meta-row--empty"), z.setAttribute("aria-hidden", "true")), h.appendChild(z), o) {
3302
3321
  const C = document.createElement("div");
3303
3322
  C.className = "gengage-chat-product-card-name", C.textContent = o, C.title = o, h.appendChild(C);
3304
3323
  }
3305
- const P = n.inStock;
3306
- if (e.hideStockStatus !== !0 && typeof P == "boolean") {
3324
+ const E = n.inStock;
3325
+ if (e.hideStockStatus !== !0 && typeof E == "boolean") {
3307
3326
  const C = document.createElement("div");
3308
- C.className = `gengage-chat-product-card-stock ${P ? "is-in-stock" : "is-out-of-stock"}`, C.textContent = P ? e.i18n?.inStockLabel ?? "In Stock" : e.i18n?.outOfStockLabel ?? "Out of Stock", h.appendChild(C);
3327
+ C.className = `gengage-chat-product-card-stock ${E ? "is-in-stock" : "is-out-of-stock"}`, C.textContent = E ? e.i18n?.inStockLabel ?? "In Stock" : e.i18n?.outOfStockLabel ?? "Out of Stock", h.appendChild(C);
3309
3328
  }
3310
3329
  a.appendChild(h);
3311
- const H = n.cartCode, D = !!(H && c && P !== !1), N = e.i18n?.productCtaLabel ?? "View";
3312
- if (D) {
3330
+ const R = n.cartCode, F = !!(R && c && E !== !1), B = e.i18n?.productCtaLabel ?? "View";
3331
+ if (F) {
3313
3332
  const C = document.createElement("div");
3314
3333
  C.className = "gengage-chat-product-card-buy-footer";
3315
- const U = document.createElement("button");
3316
- U.type = "button", U.className = "gengage-chat-product-card-buy-trigger", U.textContent = N, U.addEventListener("click", (B) => {
3317
- B.stopPropagation(), e.onAction({
3318
- title: e.i18n?.addToCartButton ?? N,
3334
+ const O = document.createElement("button");
3335
+ O.type = "button", O.className = "gengage-chat-product-card-buy-trigger", O.textContent = B, O.addEventListener("click", (N) => {
3336
+ N.stopPropagation(), e.onAction({
3337
+ title: e.i18n?.addToCartButton ?? B,
3319
3338
  type: "addToCart",
3320
3339
  payload: {
3321
3340
  sku: c,
3322
- cartCode: H,
3341
+ cartCode: R,
3323
3342
  quantity: 1
3324
3343
  }
3325
3344
  });
3326
- }), C.appendChild(U), a.appendChild(C);
3345
+ }), C.appendChild(O), a.appendChild(C);
3327
3346
  } else if (i) {
3328
3347
  const C = document.createElement("button");
3329
- C.className = "gengage-chat-product-card-cta", C.type = "button", C.textContent = i.type === "launchSingleProduct" ? N : i.title || N, C.addEventListener("click", (U) => {
3348
+ C.className = "gengage-chat-product-card-cta", C.type = "button", C.textContent = i.type === "launchSingleProduct" ? B : i.title || B, C.addEventListener("click", (O) => {
3330
3349
  if (a.parentElement?.classList.contains("gengage-chat-comparison-select-wrapper")) {
3331
- U.stopPropagation();
3350
+ O.stopPropagation();
3332
3351
  return;
3333
3352
  }
3334
3353
  d() || e.onAction(i);
3335
3354
  }), a.appendChild(C);
3336
3355
  } else if (l) {
3337
3356
  const C = document.createElement("a");
3338
- C.className = "gengage-chat-product-card-cta", pe(C, "href", l), pe(C, "target", "_blank"), pe(C, "rel", "noopener noreferrer"), C.textContent = N, C.addEventListener("click", (U) => {
3357
+ C.className = "gengage-chat-product-card-cta", de(C, "href", l), de(C, "target", "_blank"), de(C, "rel", "noopener noreferrer"), C.textContent = B, C.addEventListener("click", (O) => {
3339
3358
  if (a.parentElement?.classList.contains("gengage-chat-comparison-select-wrapper")) {
3340
- U.preventDefault(), U.stopPropagation();
3359
+ O.preventDefault(), O.stopPropagation();
3341
3360
  return;
3342
3361
  }
3343
- e.onProductClick && c && (U.preventDefault(), e.onProductClick({
3362
+ e.onProductClick && c && (O.preventDefault(), e.onProductClick({
3344
3363
  sku: c,
3345
3364
  url: l,
3346
3365
  ...o ? { name: o } : {}
@@ -3350,22 +3369,22 @@ function pt(t, e) {
3350
3369
  if (e.comparisonSelectMode && c && e.onToggleComparisonSku) {
3351
3370
  const C = document.createElement("div");
3352
3371
  C.className = "gengage-chat-comparison-select-wrapper";
3353
- const U = e.comparisonSelectedSkus?.includes(c) ?? !1;
3354
- U && C.classList.add("gengage-chat-comparison-select-wrapper--selected");
3355
- const B = n.name ?? c, j = e.i18n?.comparisonSelectCardHint ?? "Tap anywhere on the card to add or remove it from comparison.";
3356
- C.setAttribute("role", "group"), C.setAttribute("aria-label", `${String(B)}. ${j}`);
3357
- const F = document.createElement("button");
3358
- F.type = "button", F.className = "gengage-chat-comparison-checkbox", F.dataset.selected = U ? "true" : "false", F.setAttribute("aria-pressed", U ? "true" : "false");
3372
+ const O = e.comparisonSelectedSkus?.includes(c) ?? !1;
3373
+ O && C.classList.add("gengage-chat-comparison-select-wrapper--selected");
3374
+ const N = n.name ?? c, q = e.i18n?.comparisonSelectCardHint ?? "Tap anywhere on the card to add or remove it from comparison.";
3375
+ C.setAttribute("role", "group"), C.setAttribute("aria-label", `${String(N)}. ${q}`);
3376
+ const D = document.createElement("button");
3377
+ D.type = "button", D.className = "gengage-chat-comparison-checkbox", D.dataset.selected = O ? "true" : "false", D.setAttribute("aria-pressed", O ? "true" : "false");
3359
3378
  const ne = document.createElement("span");
3360
- ne.className = "gengage-chat-comparison-checkbox-icon", ne.innerHTML = U ? '<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>';
3361
- const X = document.createElement("span");
3362
- X.className = "gengage-chat-comparison-checkbox-label", X.textContent = U ? e.i18n?.comparisonSelectedLabel ?? "Selected" : e.i18n?.comparisonSelectLabel ?? "Select to compare", F.appendChild(ne), F.appendChild(X), F.addEventListener("click", (f) => {
3379
+ ne.className = "gengage-chat-comparison-checkbox-icon", ne.innerHTML = O ? '<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>';
3380
+ const W = document.createElement("span");
3381
+ W.className = "gengage-chat-comparison-checkbox-label", W.textContent = O ? e.i18n?.comparisonSelectedLabel ?? "Selected" : e.i18n?.comparisonSelectLabel ?? "Select to compare", D.appendChild(ne), D.appendChild(W), D.addEventListener("click", (f) => {
3363
3382
  f.stopPropagation(), e.onToggleComparisonSku?.(c);
3364
3383
  });
3365
- const V = document.createElement("div");
3366
- return V.className = "gengage-chat-comparison-card-hint", V.setAttribute("aria-hidden", "true"), V.textContent = j, C.addEventListener("click", (f) => {
3384
+ const K = document.createElement("div");
3385
+ return K.className = "gengage-chat-comparison-card-hint", K.setAttribute("aria-hidden", "true"), K.textContent = q, C.addEventListener("click", (f) => {
3367
3386
  f.target.closest(".gengage-chat-comparison-checkbox") || (f.stopPropagation(), e.onToggleComparisonSku?.(c));
3368
- }), C.appendChild(F), C.appendChild(V), C.appendChild(a), C;
3387
+ }), C.appendChild(D), C.appendChild(K), C.appendChild(a), C;
3369
3388
  }
3370
3389
  return a;
3371
3390
  }
@@ -3446,7 +3465,7 @@ function Wr(t) {
3446
3465
  return Array.isArray(t) ? t.filter((e) => typeof e == "string" && e.trim().length > 0) : [];
3447
3466
  }
3448
3467
  function Kr(t) {
3449
- const e = [...Wr(t.images), fe(t, "imageUrl", "image_url", "image")].filter((a) => !!a && xe(a));
3468
+ const e = [...Wr(t.images), fe(t, "imageUrl", "image_url", "image")].filter((a) => !!a && ve(a));
3450
3469
  return Array.from(new Set(e));
3451
3470
  }
3452
3471
  function Yr(t) {
@@ -3571,193 +3590,193 @@ function si(t, e) {
3571
3590
  if (!n) return a;
3572
3591
  const r = fe(n, "name"), i = fe(n, "brand"), o = fe(n, "sku"), s = fe(n, "cartCode", "cart_code"), c = fe(n, "price"), l = fe(n, "originalPrice", "price_original"), d = Ge(n, "price_async"), p = He(e, n), h = $e(e, n), m = !!(l && c && l !== c), x = Ge(n, "inStock", "in_stock"), v = Ke(n, "reviewCount", "review_count"), u = Ke(n, "rating"), g = Kr(n), _ = ha(n).slice(0, 4);
3573
3592
  if (g.length > 1) {
3574
- const P = document.createElement("div");
3575
- P.className = "gengage-chat-product-details-media gengage-chat-product-details-gallery gengage-chat-product-details-img-wrap";
3576
- const H = document.createElement("img");
3577
- H.className = "gengage-chat-product-details-img", pe(H, "src", g[0]), H.alt = r ?? "Product image", ve(H), P.appendChild(H);
3578
- const D = document.createElement("div");
3579
- D.className = "gengage-chat-product-gallery-thumbs";
3580
- const N = 6;
3581
- let C = null, U = 0;
3582
- const B = e.i18n, j = B?.galleryPrevAriaLabel ?? "Previous image", F = B?.galleryNextAriaLabel ?? "Next image", ne = (I) => I === "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>', X = document.createElement("button");
3583
- X.type = "button", X.className = "gengage-chat-product-gallery-nav gengage-chat-product-gallery-nav--prev gds-btn gds-btn-ghost gds-icon-btn", X.setAttribute("aria-label", j), X.innerHTML = ne("prev");
3584
- const V = document.createElement("button");
3585
- V.type = "button", V.className = "gengage-chat-product-gallery-nav gengage-chat-product-gallery-nav--next gds-btn gds-btn-ghost gds-icon-btn", V.setAttribute("aria-label", F), V.innerHTML = ne("next");
3593
+ const E = document.createElement("div");
3594
+ E.className = "gengage-chat-product-details-media gengage-chat-product-details-gallery gengage-chat-product-details-img-wrap";
3595
+ const R = document.createElement("img");
3596
+ R.className = "gengage-chat-product-details-img", de(R, "src", g[0]), R.alt = r ?? "Product image", xe(R), E.appendChild(R);
3597
+ const F = document.createElement("div");
3598
+ F.className = "gengage-chat-product-gallery-thumbs";
3599
+ const B = 6;
3600
+ let C = null, O = 0;
3601
+ const N = e.i18n, q = N?.galleryPrevAriaLabel ?? "Previous image", D = N?.galleryNextAriaLabel ?? "Next image", ne = (I) => I === "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>', W = document.createElement("button");
3602
+ W.type = "button", W.className = "gengage-chat-product-gallery-nav gengage-chat-product-gallery-nav--prev gds-btn gds-btn-ghost gds-icon-btn", W.setAttribute("aria-label", q), W.innerHTML = ne("prev");
3603
+ const K = document.createElement("button");
3604
+ K.type = "button", K.className = "gengage-chat-product-gallery-nav gengage-chat-product-gallery-nav--next gds-btn gds-btn-ghost gds-icon-btn", K.setAttribute("aria-label", D), K.innerHTML = ne("next");
3586
3605
  const f = () => {
3587
- X.disabled = U <= 0, V.disabled = U >= g.length - 1;
3606
+ W.disabled = O <= 0, K.disabled = O >= g.length - 1;
3588
3607
  }, S = (I) => {
3589
- if (I < 0 || I >= g.length || I === U) return;
3590
- const O = g[I];
3591
- if (!O) return;
3592
- pe(H, "src", O);
3593
- const J = D.querySelectorAll(".gengage-chat-product-gallery-thumb");
3594
- C && C.classList.remove("gengage-chat-product-gallery-thumb--active"), I < N && J[I] ? (J[I].classList.add("gengage-chat-product-gallery-thumb--active"), C = J[I]) : C = null, U = I, f();
3608
+ if (I < 0 || I >= g.length || I === O) return;
3609
+ const j = g[I];
3610
+ if (!j) return;
3611
+ de(R, "src", j);
3612
+ const Q = F.querySelectorAll(".gengage-chat-product-gallery-thumb");
3613
+ C && C.classList.remove("gengage-chat-product-gallery-thumb--active"), I < B && Q[I] ? (Q[I].classList.add("gengage-chat-product-gallery-thumb--active"), C = Q[I]) : C = null, O = I, f();
3595
3614
  };
3596
3615
  for (let I = 0; I < g.length; I++) {
3597
- const O = g[I];
3598
- if (I >= N) break;
3599
- const J = document.createElement("img");
3600
- J.className = "gengage-chat-product-gallery-thumb", I === 0 && (J.classList.add("gengage-chat-product-gallery-thumb--active"), C = J), pe(J, "src", O), J.alt = `${r ?? "Product"} ${I + 1}`, J.width = 48, J.height = 48, ve(J), J.addEventListener("click", () => {
3616
+ const j = g[I];
3617
+ if (I >= B) break;
3618
+ const Q = document.createElement("img");
3619
+ Q.className = "gengage-chat-product-gallery-thumb", I === 0 && (Q.classList.add("gengage-chat-product-gallery-thumb--active"), C = Q), de(Q, "src", j), Q.alt = `${r ?? "Product"} ${I + 1}`, Q.width = 48, Q.height = 48, xe(Q), Q.addEventListener("click", () => {
3601
3620
  S(I);
3602
- }), D.appendChild(J);
3621
+ }), F.appendChild(Q);
3603
3622
  }
3604
- if (g.length > N) {
3623
+ if (g.length > B) {
3605
3624
  const I = document.createElement("span");
3606
- I.className = "gengage-chat-product-gallery-thumb-more", I.textContent = `+${g.length - N}`, D.appendChild(I);
3625
+ I.className = "gengage-chat-product-gallery-thumb-more", I.textContent = `+${g.length - B}`, F.appendChild(I);
3607
3626
  }
3608
- X.addEventListener("click", (I) => {
3609
- I.stopPropagation(), S(U - 1);
3610
- }), V.addEventListener("click", (I) => {
3611
- I.stopPropagation(), S(U + 1);
3627
+ W.addEventListener("click", (I) => {
3628
+ I.stopPropagation(), S(O - 1);
3629
+ }), K.addEventListener("click", (I) => {
3630
+ I.stopPropagation(), S(O + 1);
3612
3631
  }), f();
3613
- let T = 0;
3614
- const q = 50;
3615
- H.addEventListener("touchstart", (I) => {
3616
- T = I.changedTouches[0].clientX;
3617
- }, { passive: !0 }), H.addEventListener("touchend", (I) => {
3618
- const O = I.changedTouches[0].clientX, J = T - O;
3619
- Math.abs(J) < q || S(J > 0 ? Math.min(U + 1, g.length - 1) : Math.max(U - 1, 0));
3620
- }), P.appendChild(X), P.appendChild(V), P.appendChild(D), a.appendChild(P);
3632
+ let L = 0;
3633
+ const $ = 50;
3634
+ R.addEventListener("touchstart", (I) => {
3635
+ L = I.changedTouches[0].clientX;
3636
+ }, { passive: !0 }), R.addEventListener("touchend", (I) => {
3637
+ const j = I.changedTouches[0].clientX, Q = L - j;
3638
+ Math.abs(Q) < $ || S(Q > 0 ? Math.min(O + 1, g.length - 1) : Math.max(O - 1, 0));
3639
+ }), E.appendChild(W), E.appendChild(K), E.appendChild(F), a.appendChild(E);
3621
3640
  } else if (g.length === 1) {
3622
- const P = document.createElement("div");
3623
- P.className = "gengage-chat-product-details-media gengage-chat-product-details-img-wrap";
3624
- const H = document.createElement("img");
3625
- H.className = "gengage-chat-product-details-img", H.loading = "lazy", pe(H, "src", g[0]), ve(H), H.alt = r ?? "Product image", P.appendChild(H), a.appendChild(P);
3641
+ const E = document.createElement("div");
3642
+ E.className = "gengage-chat-product-details-media gengage-chat-product-details-img-wrap";
3643
+ const R = document.createElement("img");
3644
+ R.className = "gengage-chat-product-details-img", R.loading = "lazy", de(R, "src", g[0]), xe(R), R.alt = r ?? "Product image", E.appendChild(R), a.appendChild(E);
3626
3645
  }
3627
- const y = document.createElement("div");
3628
- if (y.className = "gengage-chat-product-details-content", i && (!r || !r.toLowerCase().startsWith(i.toLowerCase()))) {
3629
- const P = document.createElement("div");
3630
- P.className = "gengage-chat-product-details-brand", P.textContent = i, y.appendChild(P);
3646
+ const w = document.createElement("div");
3647
+ if (w.className = "gengage-chat-product-details-content", i && (!r || !r.toLowerCase().startsWith(i.toLowerCase()))) {
3648
+ const E = document.createElement("div");
3649
+ E.className = "gengage-chat-product-details-brand", E.textContent = i, w.appendChild(E);
3631
3650
  }
3632
3651
  if (r) {
3633
- const P = document.createElement("h3");
3634
- P.className = "gengage-chat-product-details-title", P.textContent = r, P.title = r, y.appendChild(P);
3652
+ const E = document.createElement("h3");
3653
+ E.className = "gengage-chat-product-details-title", E.textContent = r, E.title = r, w.appendChild(E);
3635
3654
  }
3636
3655
  if (e.hideUserReviews !== !0 && typeof u == "number" && Number.isFinite(u) && u > 0) {
3637
- const P = document.createElement(o ? "button" : "div");
3638
- P.className = "gengage-chat-product-details-rating", o && (P.type = "button", P.classList.add("gengage-chat-product-details-rating--clickable"), P.setAttribute("aria-label", e.i18n?.groundingReviewCta ?? "Read Reviews"), P.addEventListener("click", () => {
3656
+ const E = document.createElement(o ? "button" : "div");
3657
+ E.className = "gengage-chat-product-details-rating", o && (E.type = "button", E.classList.add("gengage-chat-product-details-rating--clickable"), E.setAttribute("aria-label", e.i18n?.groundingReviewCta ?? "Read Reviews"), E.addEventListener("click", () => {
3639
3658
  e.onAction({
3640
3659
  title: e.i18n?.customerReviewsTitle ?? "Customer Reviews",
3641
3660
  type: "reviewSummary",
3642
3661
  payload: { sku: o }
3643
3662
  });
3644
- })), P.appendChild(Jt(u));
3645
- const H = document.createElement("span");
3646
- if (H.className = "gengage-chat-product-details-rating-value", H.textContent = ea(u).toFixed(1), P.appendChild(H), typeof v == "number" && Number.isFinite(v)) {
3647
- const D = document.createElement("span");
3648
- D.className = "gengage-chat-product-details-review-count", D.textContent = ` (${v})`, P.appendChild(D);
3663
+ })), E.appendChild(Jt(u));
3664
+ const R = document.createElement("span");
3665
+ if (R.className = "gengage-chat-product-details-rating-value", R.textContent = ea(u).toFixed(1), E.appendChild(R), typeof v == "number" && Number.isFinite(v)) {
3666
+ const F = document.createElement("span");
3667
+ F.className = "gengage-chat-product-details-review-count", F.textContent = ` (${v})`, E.appendChild(F);
3649
3668
  }
3650
- y.appendChild(P);
3669
+ w.appendChild(E);
3651
3670
  }
3652
3671
  {
3653
- const P = !!(p && m);
3654
- let H = y;
3655
- if (p && !P) {
3656
- const N = document.createElement("div");
3657
- N.className = "gengage-chat-product-details-price-stack", N.appendChild(Qe(p)), y.appendChild(N), H = N;
3672
+ const E = !!(p && m);
3673
+ let R = w;
3674
+ if (p && !E) {
3675
+ const B = document.createElement("div");
3676
+ B.className = "gengage-chat-product-details-price-stack", B.appendChild(Qe(p)), w.appendChild(B), R = B;
3658
3677
  }
3659
- const D = document.createElement("div");
3660
- if (D.className = "gengage-chat-product-details-price", d === !0) {
3661
- const N = document.createElement("span");
3662
- N.className = "gengage-chat-price-skeleton", D.appendChild(N), H.appendChild(D), setTimeout(() => {
3663
- if (N.parentElement)
3664
- if (c && parseFloat(c) > 0) Bt(D, e, n, c, l, h, m);
3678
+ const F = document.createElement("div");
3679
+ if (F.className = "gengage-chat-product-details-price", d === !0) {
3680
+ const B = document.createElement("span");
3681
+ B.className = "gengage-chat-price-skeleton", F.appendChild(B), R.appendChild(F), setTimeout(() => {
3682
+ if (B.parentElement)
3683
+ if (c && parseFloat(c) > 0) Bt(F, e, n, c, l, h, m);
3665
3684
  else {
3666
- const C = D.parentElement;
3667
- D.remove(), C?.classList.contains("gengage-chat-product-details-price-stack") && C.remove();
3685
+ const C = F.parentElement;
3686
+ F.remove(), C?.classList.contains("gengage-chat-product-details-price-stack") && C.remove();
3668
3687
  }
3669
3688
  }, 300);
3670
3689
  } else if (c && parseFloat(c) > 0)
3671
- Bt(D, e, n, c, l, h, m), H.appendChild(D);
3690
+ Bt(F, e, n, c, l, h, m), R.appendChild(F);
3672
3691
  else if (p) {
3673
- const N = H;
3674
- N.classList.contains("gengage-chat-product-details-price-stack") && N.remove();
3692
+ const B = R;
3693
+ B.classList.contains("gengage-chat-product-details-price-stack") && B.remove();
3675
3694
  }
3676
3695
  }
3677
3696
  if (e.hideStockStatus !== !0 && typeof x == "boolean") {
3678
- const P = document.createElement("div");
3679
- P.className = `gengage-chat-product-details-stock ${x ? "is-in-stock" : "is-out-of-stock"}`, P.textContent = x ? e.i18n?.inStockLabel ?? "In Stock" : e.i18n?.outOfStockLabel ?? "Out of Stock", y.appendChild(P);
3697
+ const E = document.createElement("div");
3698
+ E.className = `gengage-chat-product-details-stock ${x ? "is-in-stock" : "is-out-of-stock"}`, E.textContent = x ? e.i18n?.inStockLabel ?? "In Stock" : e.i18n?.outOfStockLabel ?? "Out of Stock", w.appendChild(E);
3680
3699
  }
3681
3700
  const b = n.promotions;
3682
3701
  if (b && b.length > 0) {
3683
- const P = document.createElement("div");
3684
- P.className = "gengage-chat-product-details-promos";
3685
- for (const H of b.slice(0, 3)) {
3686
- if (!H || /%(0(\.0+)?)\s/.test(H)) continue;
3687
- const D = document.createElement("span");
3688
- D.className = "gengage-chat-product-details-promo-badge", D.textContent = H, D.title = H, P.appendChild(D);
3702
+ const E = document.createElement("div");
3703
+ E.className = "gengage-chat-product-details-promos";
3704
+ for (const R of b.slice(0, 3)) {
3705
+ if (!R || /%(0(\.0+)?)\s/.test(R)) continue;
3706
+ const F = document.createElement("span");
3707
+ F.className = "gengage-chat-product-details-promo-badge", F.textContent = R, F.title = R, E.appendChild(F);
3689
3708
  }
3690
- P.childElementCount > 0 && y.appendChild(P);
3709
+ E.childElementCount > 0 && w.appendChild(E);
3691
3710
  }
3692
3711
  if (_.length > 0) {
3693
- const P = document.createElement("dl");
3694
- P.className = "gengage-chat-product-details-facts";
3695
- for (const H of _) {
3696
- const D = document.createElement("div");
3697
- D.className = "gengage-chat-product-details-fact";
3698
- const N = document.createElement("dt");
3699
- N.textContent = H.key;
3712
+ const E = document.createElement("dl");
3713
+ E.className = "gengage-chat-product-details-facts";
3714
+ for (const R of _) {
3715
+ const F = document.createElement("div");
3716
+ F.className = "gengage-chat-product-details-fact";
3717
+ const B = document.createElement("dt");
3718
+ B.textContent = R.key;
3700
3719
  const C = document.createElement("dd");
3701
- C.textContent = H.value, D.appendChild(N), D.appendChild(C), P.appendChild(D);
3720
+ C.textContent = R.value, F.appendChild(B), F.appendChild(C), E.appendChild(F);
3702
3721
  }
3703
- y.appendChild(P);
3722
+ w.appendChild(E);
3704
3723
  }
3705
- const L = ii(n);
3706
- if (L.length > 0) {
3707
- const P = document.createElement("div");
3708
- P.className = "gengage-chat-product-variants";
3709
- const H = document.createElement("div");
3710
- H.className = "gengage-chat-product-variants-label", H.textContent = oi(L, e), P.appendChild(H);
3711
- const D = document.createElement("div");
3712
- D.className = "gengage-chat-product-variants-list";
3713
- for (const N of L) {
3714
- const C = ua(N), U = Ee(N, "sku");
3715
- if (!C && !U) continue;
3716
- const B = document.createElement("button");
3717
- B.className = "gengage-chat-product-variant-btn gds-chip", B.type = "button";
3718
- const j = C ?? U ?? "";
3719
- B.title = j;
3720
- const F = Ge(N, "in_stock", "inStock");
3721
- U && o && U === o ? (B.classList.add("gengage-chat-product-variant-btn--active"), B.setAttribute("aria-pressed", "true")) : B.setAttribute("aria-pressed", "false"), F === !1 && (B.classList.add("gengage-chat-product-variant-btn--out"), B.disabled = !0);
3722
- const ne = ei(N), X = Jr(N);
3723
- if (ne && xe(ne)) {
3724
+ const A = ii(n);
3725
+ if (A.length > 0) {
3726
+ const E = document.createElement("div");
3727
+ E.className = "gengage-chat-product-variants";
3728
+ const R = document.createElement("div");
3729
+ R.className = "gengage-chat-product-variants-label", R.textContent = oi(A, e), E.appendChild(R);
3730
+ const F = document.createElement("div");
3731
+ F.className = "gengage-chat-product-variants-list";
3732
+ for (const B of A) {
3733
+ const C = ua(B), O = Ee(B, "sku");
3734
+ if (!C && !O) continue;
3735
+ const N = document.createElement("button");
3736
+ N.className = "gengage-chat-product-variant-btn gds-chip", N.type = "button";
3737
+ const q = C ?? O ?? "";
3738
+ N.title = q;
3739
+ const D = Ge(B, "in_stock", "inStock");
3740
+ O && o && O === o ? (N.classList.add("gengage-chat-product-variant-btn--active"), N.setAttribute("aria-pressed", "true")) : N.setAttribute("aria-pressed", "false"), D === !1 && (N.classList.add("gengage-chat-product-variant-btn--out"), N.disabled = !0);
3741
+ const ne = ei(B), W = Jr(B);
3742
+ if (ne && ve(ne)) {
3724
3743
  const S = document.createElement("img");
3725
- S.className = "gengage-chat-product-variant-swatch gengage-chat-product-variant-swatch--image", pe(S, "src", ne), S.alt = "", S.setAttribute("aria-hidden", "true"), ve(S), B.appendChild(S);
3726
- } else if (X) {
3744
+ S.className = "gengage-chat-product-variant-swatch gengage-chat-product-variant-swatch--image", de(S, "src", ne), S.alt = "", S.setAttribute("aria-hidden", "true"), xe(S), N.appendChild(S);
3745
+ } else if (W) {
3727
3746
  const S = document.createElement("span");
3728
- S.className = "gengage-chat-product-variant-swatch", S.setAttribute("aria-hidden", "true"), S.style.backgroundColor = X, B.appendChild(S);
3747
+ S.className = "gengage-chat-product-variant-swatch", S.setAttribute("aria-hidden", "true"), S.style.backgroundColor = W, N.appendChild(S);
3729
3748
  }
3730
- const V = document.createElement("span");
3731
- V.className = "gengage-chat-product-variant-label", V.textContent = j, B.appendChild(V);
3732
- const f = ti(N);
3749
+ const K = document.createElement("span");
3750
+ K.className = "gengage-chat-product-variant-label", K.textContent = q, N.appendChild(K);
3751
+ const f = ti(B);
3733
3752
  if (f && String(f) !== String(c)) {
3734
3753
  const S = document.createElement("span");
3735
- S.className = "gengage-chat-product-variant-price", S.textContent = oe(String(f), e.pricing), B.appendChild(S);
3754
+ S.className = "gengage-chat-product-variant-price", S.textContent = ae(String(f), e.pricing), N.appendChild(S);
3736
3755
  }
3737
- if (U && U !== o) {
3738
- const S = r ?? "", T = (typeof N.value == "string" ? N.value.trim() : "") || (typeof N.name == "string" ? N.name.trim() : "") || (typeof N.variant_name == "string" ? N.variant_name.trim() : "") || "", q = S.length > 0 ? T.length > 0 && T !== S ? `${S} (${T})` : S : j;
3739
- B.addEventListener("click", () => {
3756
+ if (O && O !== o) {
3757
+ const S = r ?? "", L = (typeof B.value == "string" ? B.value.trim() : "") || (typeof B.name == "string" ? B.name.trim() : "") || (typeof B.variant_name == "string" ? B.variant_name.trim() : "") || "", $ = S.length > 0 ? L.length > 0 && L !== S ? `${S} (${L})` : S : q;
3758
+ N.addEventListener("click", () => {
3740
3759
  e.onAction({
3741
- title: q,
3760
+ title: $,
3742
3761
  type: "launchVariant",
3743
- payload: { sku: U }
3762
+ payload: { sku: O }
3744
3763
  });
3745
3764
  });
3746
3765
  }
3747
- D.appendChild(B);
3766
+ F.appendChild(N);
3748
3767
  }
3749
- D.childElementCount > 0 && (P.appendChild(D), y.appendChild(P));
3768
+ F.childElementCount > 0 && (E.appendChild(F), w.appendChild(E));
3750
3769
  }
3751
- const M = document.createElement("div");
3752
- M.className = "gengage-chat-product-details-actions";
3770
+ const T = document.createElement("div");
3771
+ T.className = "gengage-chat-product-details-actions";
3753
3772
  const k = t.props?.action;
3754
3773
  if (k) {
3755
- const P = document.createElement("button");
3756
- P.className = "gengage-chat-product-details-cta gds-btn gds-btn-primary", P.type = "button", P.textContent = k.title || e.i18n?.productCtaLabel || "View", P.addEventListener("click", () => e.onAction(k)), M.appendChild(P);
3774
+ const E = document.createElement("button");
3775
+ E.className = "gengage-chat-product-details-cta gds-btn gds-btn-primary", E.type = "button", E.textContent = k.title || e.i18n?.productCtaLabel || "View", E.addEventListener("click", () => e.onAction(k)), T.appendChild(E);
3757
3776
  }
3758
3777
  if (s && o && x !== !1) {
3759
- const P = document.createElement("button");
3760
- P.className = "gengage-chat-product-details-atc gds-btn gds-btn-primary", P.type = "button", P.textContent = e.i18n?.addToCartButton ?? "Add to Cart", P.addEventListener("click", () => {
3778
+ const E = document.createElement("button");
3779
+ E.className = "gengage-chat-product-details-atc gds-btn gds-btn-primary", E.type = "button", E.textContent = e.i18n?.addToCartButton ?? "Add to Cart", E.addEventListener("click", () => {
3761
3780
  e.onAction({
3762
3781
  title: e.i18n?.addToCartButton ?? "Add to Cart",
3763
3782
  type: "addToCart",
@@ -3767,46 +3786,46 @@ function si(t, e) {
3767
3786
  quantity: 1
3768
3787
  }
3769
3788
  });
3770
- }), M.appendChild(P);
3789
+ }), T.appendChild(E);
3771
3790
  }
3772
- const E = fe(n, "url");
3773
- if (!k && E && xe(E)) {
3774
- const P = document.createElement("a");
3775
- P.className = "gengage-chat-product-details-cta gds-btn gds-btn-secondary", pe(P, "href", E), pe(P, "target", "_blank"), pe(P, "rel", "noopener noreferrer"), P.textContent = e.i18n?.viewOnSiteLabel ?? e.i18n?.productCtaLabel ?? "View on Site", P.addEventListener("click", (H) => {
3776
- e.onProductClick && o && (H.preventDefault(), e.onProductClick({
3791
+ const P = fe(n, "url");
3792
+ if (!k && P && ve(P)) {
3793
+ const E = document.createElement("a");
3794
+ E.className = "gengage-chat-product-details-cta gds-btn gds-btn-secondary", de(E, "href", P), de(E, "target", "_blank"), de(E, "rel", "noopener noreferrer"), E.textContent = e.i18n?.viewOnSiteLabel ?? e.i18n?.productCtaLabel ?? "View on Site", E.addEventListener("click", (R) => {
3795
+ e.onProductClick && o && (R.preventDefault(), e.onProductClick({
3777
3796
  sku: o,
3778
- url: E,
3797
+ url: P,
3779
3798
  ...r ? { name: r } : {}
3780
3799
  }));
3781
- }), M.appendChild(P);
3782
- }
3783
- const R = E;
3784
- if (R && xe(R)) {
3785
- let C = function(B, j) {
3786
- const F = document.createElementNS(D, "circle");
3787
- F.setAttribute("cx", B), F.setAttribute("cy", j), F.setAttribute("r", "3"), N.appendChild(F);
3788
- }, U = function(B, j, F, ne) {
3789
- const X = document.createElementNS(D, "line");
3790
- X.setAttribute("x1", B), X.setAttribute("y1", j), X.setAttribute("x2", F), X.setAttribute("y2", ne), N.appendChild(X);
3800
+ }), T.appendChild(E);
3801
+ }
3802
+ const z = P;
3803
+ if (z && ve(z)) {
3804
+ let C = function(N, q) {
3805
+ const D = document.createElementNS(F, "circle");
3806
+ D.setAttribute("cx", N), D.setAttribute("cy", q), D.setAttribute("r", "3"), B.appendChild(D);
3807
+ }, O = function(N, q, D, ne) {
3808
+ const W = document.createElementNS(F, "line");
3809
+ W.setAttribute("x1", N), W.setAttribute("y1", q), W.setAttribute("x2", D), W.setAttribute("y2", ne), B.appendChild(W);
3791
3810
  };
3792
- const P = document.createElement("button");
3793
- P.className = "gengage-chat-product-details-share gds-btn gds-btn-ghost gds-icon-btn", P.type = "button";
3794
- const H = e.i18n?.shareButton ?? "Share";
3795
- P.title = H, P.setAttribute("aria-label", H);
3796
- const D = "http://www.w3.org/2000/svg", N = document.createElementNS(D, "svg");
3797
- N.setAttribute("width", "18"), N.setAttribute("height", "18"), N.setAttribute("viewBox", "0 0 24 24"), N.setAttribute("fill", "none"), N.setAttribute("stroke", "currentColor"), N.setAttribute("stroke-width", "2"), N.setAttribute("stroke-linecap", "round"), N.setAttribute("stroke-linejoin", "round"), C("18", "5"), C("6", "12"), C("18", "19"), U("8.59", "13.51", "15.42", "17.49"), U("15.41", "6.51", "8.59", "10.49"), P.appendChild(N), P.addEventListener("click", async () => {
3811
+ const E = document.createElement("button");
3812
+ E.className = "gengage-chat-product-details-share gds-btn gds-btn-ghost gds-icon-btn", E.type = "button";
3813
+ const R = e.i18n?.shareButton ?? "Share";
3814
+ E.title = R, E.setAttribute("aria-label", R);
3815
+ const F = "http://www.w3.org/2000/svg", B = document.createElementNS(F, "svg");
3816
+ B.setAttribute("width", "18"), B.setAttribute("height", "18"), B.setAttribute("viewBox", "0 0 24 24"), B.setAttribute("fill", "none"), B.setAttribute("stroke", "currentColor"), B.setAttribute("stroke-width", "2"), B.setAttribute("stroke-linecap", "round"), B.setAttribute("stroke-linejoin", "round"), C("18", "5"), C("6", "12"), C("18", "19"), O("8.59", "13.51", "15.42", "17.49"), O("15.41", "6.51", "8.59", "10.49"), E.appendChild(B), E.addEventListener("click", async () => {
3798
3817
  try {
3799
3818
  navigator.share ? await navigator.share({
3800
3819
  title: r ?? "",
3801
- url: R
3802
- }) : navigator.clipboard && (await navigator.clipboard.writeText(R), P.classList.add("gengage-chat-product-details-share--copied"), setTimeout(() => P.classList.remove("gengage-chat-product-details-share--copied"), 1500));
3820
+ url: z
3821
+ }) : navigator.clipboard && (await navigator.clipboard.writeText(z), E.classList.add("gengage-chat-product-details-share--copied"), setTimeout(() => E.classList.remove("gengage-chat-product-details-share--copied"), 1500));
3803
3822
  } catch {
3804
3823
  }
3805
- }), M.appendChild(P);
3824
+ }), T.appendChild(E);
3806
3825
  }
3807
- M.childElementCount > 0 && y.appendChild(M), a.appendChild(y);
3808
- const G = Zr(n), W = Xr(n);
3809
- return (G || W) && a.appendChild(gi(G, W, e)), a;
3826
+ T.childElementCount > 0 && w.appendChild(T), a.appendChild(w);
3827
+ const U = Zr(n), X = Xr(n);
3828
+ return (U || X) && a.appendChild(gi(U, X, e)), a;
3810
3829
  }
3811
3830
  function ht(t) {
3812
3831
  if (t.nodeType === Node.TEXT_NODE) return document.createTextNode(t.textContent ?? "");
@@ -3949,25 +3968,25 @@ function mi(t, e, a, n) {
3949
3968
  if (!n?.onToggleComparisonSku) return;
3950
3969
  const _ = document.createElement("button");
3951
3970
  _.className = "gengage-chat-comparison-toggle-btn gds-btn gds-btn-ghost", _.type = "button", n.comparisonSelectMode && _.classList.add("gengage-chat-comparison-toggle-btn--active"), n.isStreaming && _.classList.add("gengage-chat-comparison-toggle-btn--hidden");
3952
- const y = document.createElement("span");
3953
- y.className = "gengage-chat-comparison-toggle-icon", y.innerHTML = hi();
3971
+ const w = document.createElement("span");
3972
+ w.className = "gengage-chat-comparison-toggle-icon", w.innerHTML = hi();
3954
3973
  const b = document.createElement("span");
3955
3974
  b.className = "gengage-chat-comparison-toggle-label";
3956
- const L = n.i18n?.compareSelected ?? "Compare";
3957
- b.textContent = L, _.setAttribute("aria-label", L), _.title = L, _.appendChild(y), _.appendChild(b), _.addEventListener("click", () => {
3975
+ const A = n.i18n?.compareSelected ?? "Compare";
3976
+ b.textContent = A, _.setAttribute("aria-label", A), _.title = A, _.appendChild(w), _.appendChild(b), _.addEventListener("click", () => {
3958
3977
  n.onToggleComparisonSku?.("");
3959
3978
  }), g.appendChild(_);
3960
3979
  }, v = (g, _ = s.length) => {
3961
- const y = t.props?.endOfList;
3962
- if (o || !(d ? y === !1 : y !== !0) || _ === 0) return;
3963
- const b = n?.i18n?.viewMoreLabel ?? "Show More", L = document.createElement("button");
3964
- L.className = "gengage-chat-product-grid-view-more", L.type = "button", L.textContent = b, L.addEventListener("click", () => {
3980
+ const w = t.props?.endOfList;
3981
+ if (o || !(d ? w === !1 : w !== !0) || _ === 0) return;
3982
+ const b = n?.i18n?.viewMoreLabel ?? "Show More", A = document.createElement("button");
3983
+ A.className = "gengage-chat-product-grid-view-more", A.type = "button", A.textContent = b, A.addEventListener("click", () => {
3965
3984
  n?.onAction({
3966
3985
  title: b,
3967
3986
  type: "moreProductList",
3968
3987
  payload: {}
3969
3988
  });
3970
- }), g.appendChild(L);
3989
+ }), g.appendChild(A);
3971
3990
  }, u = () => {
3972
3991
  const g = n?.isMobile ?? Ve();
3973
3992
  n?.comparisonSelectMode && n.comparisonSelectedSkus && !g && r.appendChild(la(n.comparisonSelectedSkus, n));
@@ -3976,7 +3995,7 @@ function mi(t, e, a, n) {
3976
3995
  const g = document.createElement("div");
3977
3996
  g.className = "gengage-chat-product-sort-toolbar", g.setAttribute("role", "toolbar"), g.setAttribute("aria-label", n.i18n?.sortToolbarAriaLabel ?? "Sort products");
3978
3997
  let _ = n.productSort ?? { type: "related" };
3979
- const y = [
3998
+ const w = [
3980
3999
  {
3981
4000
  label: n.i18n?.sortRelated ?? "Related",
3982
4001
  sortState: { type: "related" },
@@ -4000,67 +4019,67 @@ function mi(t, e, a, n) {
4000
4019
  }
4001
4020
  ], b = document.createElement("div");
4002
4021
  b.className = "gengage-chat-product-sort-dropdown";
4003
- const L = document.createElement("button");
4004
- L.type = "button", L.className = "gengage-chat-product-sort-trigger gds-btn gds-btn-ghost", L.setAttribute("aria-haspopup", "listbox"), L.setAttribute("aria-expanded", "false");
4005
- const M = n.i18n?.sortToolbarAriaLabel ?? "Sort products", k = document.createElement("span");
4022
+ const A = document.createElement("button");
4023
+ A.type = "button", A.className = "gengage-chat-product-sort-trigger gds-btn gds-btn-ghost", A.setAttribute("aria-haspopup", "listbox"), A.setAttribute("aria-expanded", "false");
4024
+ const T = n.i18n?.sortToolbarAriaLabel ?? "Sort products", k = document.createElement("span");
4006
4025
  k.className = "gengage-chat-product-sort-trigger-icon";
4007
- const E = document.createElement("span");
4008
- E.className = "gengage-chat-product-sort-trigger-label";
4009
- const R = (B) => {
4010
- const j = y.find((F) => Ft(F.sortState, B)) ?? y[0];
4011
- E.textContent = j.label, k.innerHTML = Ht(j.icon), b.dataset.sortIcon = j.icon, L.setAttribute("aria-label", `${M}: ${j.label}`), L.title = j.label;
4026
+ const P = document.createElement("span");
4027
+ P.className = "gengage-chat-product-sort-trigger-label";
4028
+ const z = (N) => {
4029
+ const q = w.find((D) => Ft(D.sortState, N)) ?? w[0];
4030
+ P.textContent = q.label, k.innerHTML = Ht(q.icon), b.dataset.sortIcon = q.icon, A.setAttribute("aria-label", `${T}: ${q.label}`), A.title = q.label;
4012
4031
  };
4013
- R(_);
4014
- const G = document.createElement("span");
4015
- G.className = "gengage-chat-product-sort-trigger-chevron", G.innerHTML = di(), L.appendChild(k), L.appendChild(E), L.appendChild(G);
4016
- const W = document.createElement("div");
4017
- W.className = "gengage-chat-product-sort-menu gds-menu", W.hidden = !0, W.setAttribute("role", "listbox"), W.setAttribute("aria-label", M);
4018
- const P = g.ownerDocument;
4019
- let H = null;
4020
- const D = () => {
4021
- W.hidden = !0, b.classList.remove("gengage-chat-product-sort-dropdown--open"), L.setAttribute("aria-expanded", "false"), H?.abort(), H = null;
4022
- }, N = (B) => {
4023
- b.classList.contains("gengage-chat-product-sort-dropdown--open") && (b.contains(B.target) || D());
4024
- }, C = (B) => {
4025
- B.key === "Escape" && (B.preventDefault(), D());
4026
- }, U = () => {
4027
- W.hidden = !1, b.classList.add("gengage-chat-product-sort-dropdown--open"), L.setAttribute("aria-expanded", "true"), H = new AbortController();
4028
- const { signal: B } = H;
4029
- P.addEventListener("click", N, { signal: B }), P.addEventListener("keydown", C, {
4032
+ z(_);
4033
+ const U = document.createElement("span");
4034
+ U.className = "gengage-chat-product-sort-trigger-chevron", U.innerHTML = di(), A.appendChild(k), A.appendChild(P), A.appendChild(U);
4035
+ const X = document.createElement("div");
4036
+ X.className = "gengage-chat-product-sort-menu gds-menu", X.hidden = !0, X.setAttribute("role", "listbox"), X.setAttribute("aria-label", T);
4037
+ const E = g.ownerDocument;
4038
+ let R = null;
4039
+ const F = () => {
4040
+ X.hidden = !0, b.classList.remove("gengage-chat-product-sort-dropdown--open"), A.setAttribute("aria-expanded", "false"), R?.abort(), R = null;
4041
+ }, B = (N) => {
4042
+ b.classList.contains("gengage-chat-product-sort-dropdown--open") && (b.contains(N.target) || F());
4043
+ }, C = (N) => {
4044
+ N.key === "Escape" && (N.preventDefault(), F());
4045
+ }, O = () => {
4046
+ X.hidden = !1, b.classList.add("gengage-chat-product-sort-dropdown--open"), A.setAttribute("aria-expanded", "true"), R = new AbortController();
4047
+ const { signal: N } = R;
4048
+ E.addEventListener("click", B, { signal: N }), E.addEventListener("keydown", C, {
4030
4049
  capture: !0,
4031
- signal: B
4050
+ signal: N
4032
4051
  });
4033
4052
  };
4034
- L.addEventListener("click", (B) => {
4035
- B.stopPropagation(), b.classList.contains("gengage-chat-product-sort-dropdown--open") ? D() : U();
4053
+ A.addEventListener("click", (N) => {
4054
+ N.stopPropagation(), b.classList.contains("gengage-chat-product-sort-dropdown--open") ? F() : O();
4036
4055
  });
4037
- for (const B of y) {
4038
- const j = document.createElement("button");
4039
- j.type = "button", j.className = "gengage-chat-product-sort-option gds-menu-option", j.setAttribute("role", "option");
4040
- const F = Ft(_, B.sortState);
4041
- j.setAttribute("aria-selected", F ? "true" : "false"), F && j.classList.add("gengage-chat-product-sort-option--active", "gds-menu-option-active");
4042
- const ne = B.sortState.type === "related" ? "related" : `price-${B.sortState.direction ?? ""}`;
4043
- j.dataset.sortKey = ne;
4044
- const X = document.createElement("span");
4045
- X.className = "gengage-chat-product-sort-option-icon", X.innerHTML = Ht(B.icon);
4046
- const V = document.createElement("span");
4047
- V.className = "gengage-chat-product-sort-option-label", V.textContent = B.label;
4056
+ for (const N of w) {
4057
+ const q = document.createElement("button");
4058
+ q.type = "button", q.className = "gengage-chat-product-sort-option gds-menu-option", q.setAttribute("role", "option");
4059
+ const D = Ft(_, N.sortState);
4060
+ q.setAttribute("aria-selected", D ? "true" : "false"), D && q.classList.add("gengage-chat-product-sort-option--active", "gds-menu-option-active");
4061
+ const ne = N.sortState.type === "related" ? "related" : `price-${N.sortState.direction ?? ""}`;
4062
+ q.dataset.sortKey = ne;
4063
+ const W = document.createElement("span");
4064
+ W.className = "gengage-chat-product-sort-option-icon", W.innerHTML = Ht(N.icon);
4065
+ const K = document.createElement("span");
4066
+ K.className = "gengage-chat-product-sort-option-label", K.textContent = N.label;
4048
4067
  const f = document.createElement("span");
4049
- f.className = "gengage-chat-product-sort-option-check", f.innerHTML = pi(), f.setAttribute("aria-hidden", "true"), F || f.classList.add("gengage-chat-product-sort-option-check--hidden"), j.appendChild(X), j.appendChild(V), j.appendChild(f), j.addEventListener("click", () => {
4050
- _ = B.sortState, n.onSortChange?.(B.sortState), ui(c, s, e, B.sortState), W.querySelectorAll(".gengage-chat-product-sort-option").forEach((S) => {
4051
- const T = S, q = T.dataset.sortKey === ne;
4052
- T.classList.toggle("gengage-chat-product-sort-option--active", q), T.classList.toggle("gds-menu-option-active", q), T.setAttribute("aria-selected", q ? "true" : "false"), T.querySelector(".gengage-chat-product-sort-option-check")?.classList.toggle("gengage-chat-product-sort-option-check--hidden", !q);
4053
- }), R(B.sortState), D();
4054
- }), W.appendChild(j);
4055
- }
4056
- if (b.appendChild(L), b.appendChild(W), g.appendChild(b), x(g), h) {
4068
+ f.className = "gengage-chat-product-sort-option-check", f.innerHTML = pi(), f.setAttribute("aria-hidden", "true"), D || f.classList.add("gengage-chat-product-sort-option-check--hidden"), q.appendChild(W), q.appendChild(K), q.appendChild(f), q.addEventListener("click", () => {
4069
+ _ = N.sortState, n.onSortChange?.(N.sortState), ui(c, s, e, N.sortState), X.querySelectorAll(".gengage-chat-product-sort-option").forEach((S) => {
4070
+ const L = S, $ = L.dataset.sortKey === ne;
4071
+ L.classList.toggle("gengage-chat-product-sort-option--active", $), L.classList.toggle("gds-menu-option-active", $), L.setAttribute("aria-selected", $ ? "true" : "false"), L.querySelector(".gengage-chat-product-sort-option-check")?.classList.toggle("gengage-chat-product-sort-option-check--hidden", !$);
4072
+ }), z(N.sortState), F();
4073
+ }), X.appendChild(q);
4074
+ }
4075
+ if (b.appendChild(A), b.appendChild(X), g.appendChild(b), x(g), h) {
4057
4076
  g.classList.add("gengage-chat-product-sort-toolbar--inline");
4058
- const B = document.createElement("div");
4059
- B.className = "gengage-chat-product-grid-head";
4060
- const j = document.createElement("span");
4061
- j.className = "gengage-chat-product-grid-head-title", j.textContent = h, B.appendChild(j);
4062
- const F = document.createElement("div");
4063
- F.className = "gengage-chat-product-grid-head-actions", F.appendChild(g), B.appendChild(F), r.appendChild(B);
4077
+ const N = document.createElement("div");
4078
+ N.className = "gengage-chat-product-grid-head";
4079
+ const q = document.createElement("span");
4080
+ q.className = "gengage-chat-product-grid-head-title", q.textContent = h, N.appendChild(q);
4081
+ const D = document.createElement("div");
4082
+ D.className = "gengage-chat-product-grid-head-actions", D.appendChild(g), N.appendChild(D), r.appendChild(N);
4064
4083
  } else r.appendChild(g);
4065
4084
  } else if (h) {
4066
4085
  const g = document.createElement("div");
@@ -4076,35 +4095,35 @@ function mi(t, e, a, n) {
4076
4095
  const g = document.createElement("div");
4077
4096
  g.className = "gengage-chat-product-grid-sections", g.setAttribute("role", "list");
4078
4097
  const _ = t.props?.rankingState;
4079
- let y = 0;
4098
+ let w = 0;
4080
4099
  for (const b of l) {
4081
- y += b.children.length;
4082
- const L = fi(b.children.length, n), M = document.createElement("section");
4083
- M.className = "gengage-chat-product-grid-section", M.setAttribute("role", "listitem");
4100
+ w += b.children.length;
4101
+ const A = fi(b.children.length, n), T = document.createElement("section");
4102
+ T.className = "gengage-chat-product-grid-section", T.setAttribute("role", "listitem");
4084
4103
  const k = document.createElement("div");
4085
4104
  if (k.className = "gengage-chat-product-grid-section-head", b.title) {
4086
- const G = document.createElement("h3");
4087
- G.className = "gengage-chat-product-grid-section-title", G.textContent = b.title, k.appendChild(G);
4105
+ const U = document.createElement("h3");
4106
+ U.className = "gengage-chat-product-grid-section-title", U.textContent = b.title, k.appendChild(U);
4088
4107
  }
4089
- const E = document.createElement("span");
4090
- E.className = "gengage-chat-product-grid-section-count", E.textContent = L, k.appendChild(E), M.appendChild(k);
4091
- const R = document.createElement("div");
4092
- R.className = "gengage-chat-product-grid gengage-chat-product-grid--section";
4093
- for (const G of b.children) {
4094
- const W = a(G);
4095
- W && (W.dataset.elementId = G, R.appendChild(W));
4108
+ const P = document.createElement("span");
4109
+ P.className = "gengage-chat-product-grid-section-count", P.textContent = A, k.appendChild(P), T.appendChild(k);
4110
+ const z = document.createElement("div");
4111
+ z.className = "gengage-chat-product-grid gengage-chat-product-grid--section";
4112
+ for (const U of b.children) {
4113
+ const X = a(U);
4114
+ X && (X.dataset.elementId = U, z.appendChild(X));
4096
4115
  }
4097
- (n?.isMobile ?? Ve()) && R.classList.add("gengage-chat-product-grid--mobile"), _ === "pending" && (R.classList.add("gengage-chat-product-grid--pending"), R.inert = !0, R.setAttribute("aria-busy", "true")), M.appendChild(R), g.appendChild(M);
4116
+ (n?.isMobile ?? Ve()) && z.classList.add("gengage-chat-product-grid--mobile"), _ === "pending" && (z.classList.add("gengage-chat-product-grid--pending"), z.inert = !0, z.setAttribute("aria-busy", "true")), T.appendChild(z), g.appendChild(T);
4098
4117
  }
4099
- return r.appendChild(g), v(r, y), u(), r;
4118
+ return r.appendChild(g), v(r, w), u(), r;
4100
4119
  }
4101
4120
  if (o) Ci(r, c, i, n);
4102
4121
  else {
4103
4122
  const g = fa(s, e, n?.productSort);
4104
4123
  for (const _ of g) {
4105
4124
  if (!e.elements[_]) continue;
4106
- const y = a(_);
4107
- y && (y.dataset.elementId = _, c.appendChild(y));
4125
+ const w = a(_);
4126
+ w && (w.dataset.elementId = _, c.appendChild(w));
4108
4127
  }
4109
4128
  }
4110
4129
  return (n?.isMobile ?? Ve()) && c.classList.add("gengage-chat-product-grid--mobile"), t.props?.rankingState === "pending" && (c.classList.add("gengage-chat-product-grid--pending"), c.inert = !0, c.setAttribute("aria-busy", "true")), r.appendChild(c), v(r), u(), r;
@@ -4240,38 +4259,38 @@ function vt(t, e) {
4240
4259
  const g = typeof u?.sku == "string" ? u.sku : void 0;
4241
4260
  g && d.set(g, u);
4242
4261
  }
4243
- const p = (u, g, _, y) => {
4262
+ const p = (u, g, _, w) => {
4244
4263
  if (g.length === 0) return;
4245
4264
  const b = document.createElement("section");
4246
4265
  b.className = "gengage-chat-consulting-group";
4247
- const L = document.createElement("div");
4248
- L.className = "gengage-chat-consulting-group-header";
4249
- const M = document.createElement("h4");
4250
- if (M.className = "gengage-chat-consulting-group-label", M.textContent = `${u} (${g.length})`, L.appendChild(M), typeof y == "string" && y.trim().length > 0) {
4251
- const E = document.createElement("p");
4252
- E.className = "gengage-chat-consulting-group-reason", E.textContent = y, L.appendChild(E);
4266
+ const A = document.createElement("div");
4267
+ A.className = "gengage-chat-consulting-group-header";
4268
+ const T = document.createElement("h4");
4269
+ if (T.className = "gengage-chat-consulting-group-label", T.textContent = `${u} (${g.length})`, A.appendChild(T), typeof w == "string" && w.trim().length > 0) {
4270
+ const P = document.createElement("p");
4271
+ P.className = "gengage-chat-consulting-group-reason", P.textContent = w, A.appendChild(P);
4253
4272
  }
4254
- b.appendChild(L);
4273
+ b.appendChild(A);
4255
4274
  const k = document.createElement("div");
4256
4275
  k.className = "gengage-chat-product-grid gengage-chat-consulting-group-grid", _ && k.classList.add("gengage-chat-consulting-group-grid--single-group"), k.style.setProperty("--consulting-group-columns", String(Math.max(1, Math.min(4, g.length))));
4257
- for (const E of g) {
4258
- const R = pt({
4276
+ for (const P of g) {
4277
+ const z = pt({
4259
4278
  type: "ProductCard",
4260
- props: { product: E }
4279
+ props: { product: P }
4261
4280
  }, r ?? { onAction: () => {
4262
4281
  } });
4263
- k.appendChild(R);
4282
+ k.appendChild(z);
4264
4283
  }
4265
4284
  b.appendChild(k), n.appendChild(b);
4266
4285
  }, h = /* @__PURE__ */ new Set(), m = [];
4267
4286
  for (const u of l) {
4268
4287
  const g = (Array.isArray(u.skus) ? u.skus.filter((b) => typeof b == "string" && b.trim().length > 0) : []).map((b) => (h.add(b), d.get(b))).filter((b) => !!b);
4269
4288
  if (g.length === 0) continue;
4270
- const _ = typeof u.label == "string" && u.label.trim().length > 0 ? u.label : i.consultingFallbackGroupLabel, y = typeof u.reason == "string" ? u.reason : void 0;
4289
+ const _ = typeof u.label == "string" && u.label.trim().length > 0 ? u.label : i.consultingFallbackGroupLabel, w = typeof u.reason == "string" ? u.reason : void 0;
4271
4290
  m.push({
4272
4291
  labelText: _,
4273
4292
  products: g,
4274
- ...y !== void 0 ? { reasonText: y } : {}
4293
+ ...w !== void 0 ? { reasonText: w } : {}
4275
4294
  });
4276
4295
  }
4277
4296
  const x = c.filter((u) => {
@@ -4301,9 +4320,9 @@ function mt(t, e, a, n) {
4301
4320
  let s = t.querySelector(".gengage-chat-consulting-style-media");
4302
4321
  s ? s.innerHTML = "" : (s = document.createElement("div"), s.className = "gengage-chat-consulting-style-media", t.appendChild(s));
4303
4322
  const c = yi(e.image_url);
4304
- if (c && xe(c)) {
4323
+ if (c && ve(c)) {
4305
4324
  const d = document.createElement("img");
4306
- d.className = "gengage-chat-consulting-style-image", d.draggable = !1, pe(d, "src", c), d.alt = We(e, a + 1, n), d.loading = "lazy", ve(d), s.appendChild(d);
4325
+ d.className = "gengage-chat-consulting-style-image", d.draggable = !1, de(d, "src", c), d.alt = We(e, a + 1, n), d.loading = "lazy", xe(d), s.appendChild(d);
4307
4326
  }
4308
4327
  const l = document.createElement("span");
4309
4328
  if (l.className = "gengage-chat-consulting-style-caption", l.textContent = We(e, a + 1, n), s.appendChild(l), r === "loading" || r !== "ready") {
@@ -4385,7 +4404,7 @@ function ki(t) {
4385
4404
  function ft(t) {
4386
4405
  const e = typeof t.props?.source == "string" ? t.props.source : void 0, a = (Array.isArray(t.props?.styleVariations) ? t.props.styleVariations : []).filter((n) => typeof n.style_label == "string" && n.style_label.trim().length > 0);
4387
4406
  return {
4388
- isConsulting: Ta(e) && a.length > 0,
4407
+ isConsulting: La(e) && a.length > 0,
4389
4408
  source: e,
4390
4409
  styleVariations: a
4391
4410
  };
@@ -4410,7 +4429,7 @@ var Pi = `<svg width="28" height="28" viewBox="0 0 24 24" fill="none" xmlns="htt
4410
4429
  <path d="M1 12V14" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
4411
4430
  <path d="M23 12V14" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
4412
4431
  </svg>`;
4413
- function Ti(t) {
4432
+ function Li(t) {
4414
4433
  const e = document.createElement("div");
4415
4434
  e.className = "gengage-chat-launcher-container", e.dataset.gengagePart = "chat-launcher-container";
4416
4435
  const a = document.createElement("div");
@@ -4440,7 +4459,7 @@ function Ti(t) {
4440
4459
  };
4441
4460
  }
4442
4461
  var Ot = "gengage-floating-launcher-style";
4443
- function Li(t) {
4462
+ function Ti(t) {
4444
4463
  return `
4445
4464
  @property --gengage-fl-ring-angle {
4446
4465
  syntax: '<angle>';
@@ -4734,10 +4753,10 @@ function Ii(t, e, a) {
4734
4753
  "Ürün ara",
4735
4754
  "Karşılaştır",
4736
4755
  "Soru sor"
4737
- ], placeholderInterval: x = 2e3, voiceLang: v = "tr-TR", showBorderAnimation: u = !0, sendAriaLabel: g = "Gönder", micAriaLabel: _ = "Sesli giriş", cancelAriaLabel: y = "Ses kaydını durdur", openChatAriaLabel: b = "Chat'i aç" } = t;
4756
+ ], placeholderInterval: x = 2e3, voiceLang: v = "tr-TR", showBorderAnimation: u = !0, sendAriaLabel: g = "Gönder", micAriaLabel: _ = "Sesli giriş", cancelAriaLabel: w = "Ses kaydını durdur", openChatAriaLabel: b = "Chat'i aç" } = t;
4738
4757
  if (!a.getElementById(Ot)) {
4739
- const Z = document.createElement("style");
4740
- Z.id = Ot, Z.textContent = Li({
4758
+ const V = document.createElement("style");
4759
+ V.id = Ot, V.textContent = Ti({
4741
4760
  primaryColor: n,
4742
4761
  backgroundColor: r,
4743
4762
  textColor: i,
@@ -4748,135 +4767,135 @@ function Ii(t, e, a) {
4748
4767
  height: d,
4749
4768
  maxWidth: p,
4750
4769
  fontFamily: h
4751
- }), a.appendChild(Z);
4770
+ }), a.appendChild(V);
4752
4771
  }
4753
- const L = document.createElement("div");
4754
- L.className = "gengage-fl", L.dataset.gengagePart = "floating-launcher", L.innerHTML = Ai();
4755
- const M = L.querySelector(".gengage-fl-input"), k = L.querySelector(".gengage-fl-transcript"), E = L.querySelector(".gengage-fl-transcript-final"), R = L.querySelector(".gengage-fl-transcript-interim"), G = L.querySelector(".gengage-fl-btn-send"), W = L.querySelector(".gengage-fl-btn-mic"), P = L.querySelector(".gengage-fl-btn-open-chat"), H = L.querySelector(".gengage-fl-cancel"), D = L.querySelector(".gengage-fl-wave"), N = L.querySelector(".gengage-fl-ring");
4756
- M.placeholder = m[0] ?? "", G.setAttribute("aria-label", g), W.setAttribute("aria-label", _), H.setAttribute("aria-label", y), P.setAttribute("aria-label", b);
4757
- let C = !1, U = !1, B = "", j = !1, F = null, ne = 0, X = null, V = null, f = null, S = null, T = null, q = 0;
4772
+ const A = document.createElement("div");
4773
+ A.className = "gengage-fl", A.dataset.gengagePart = "floating-launcher", A.innerHTML = Ai();
4774
+ const T = A.querySelector(".gengage-fl-input"), k = A.querySelector(".gengage-fl-transcript"), P = A.querySelector(".gengage-fl-transcript-final"), z = A.querySelector(".gengage-fl-transcript-interim"), U = A.querySelector(".gengage-fl-btn-send"), X = A.querySelector(".gengage-fl-btn-mic"), E = A.querySelector(".gengage-fl-btn-open-chat"), R = A.querySelector(".gengage-fl-cancel"), F = A.querySelector(".gengage-fl-wave"), B = A.querySelector(".gengage-fl-ring");
4775
+ T.placeholder = m[0] ?? "", U.setAttribute("aria-label", g), X.setAttribute("aria-label", _), R.setAttribute("aria-label", w), E.setAttribute("aria-label", b);
4776
+ let C = !1, O = !1, N = "", q = !1, D = null, ne = 0, W = null, K = null, f = null, S = null, L = null, $ = 0;
4758
4777
  function I() {
4759
- const Z = M.value.trim().length > 0;
4760
- if (W.classList.toggle("is-recording", C), C) {
4761
- G.style.display = "flex", W.style.display = "flex", H.style.display = "flex", P.style.display = "none";
4778
+ const V = T.value.trim().length > 0;
4779
+ if (X.classList.toggle("is-recording", C), C) {
4780
+ U.style.display = "flex", X.style.display = "flex", R.style.display = "flex", E.style.display = "none";
4762
4781
  return;
4763
4782
  }
4764
- G.style.display = Z ? "flex" : "none", W.style.display = Z ? "none" : "flex", H.style.display = "none", P.style.display = !Z && j ? "flex" : "none";
4765
- }
4766
- function O() {
4767
- ne = (ne + 1) % m.length, M.placeholder = m[ne] ?? "", X = setTimeout(O, x);
4783
+ U.style.display = V ? "flex" : "none", X.style.display = V ? "none" : "flex", R.style.display = "none", E.style.display = !V && q ? "flex" : "none";
4768
4784
  }
4769
- function J() {
4770
- X !== null || m.length <= 1 || (X = setTimeout(O, x));
4785
+ function j() {
4786
+ ne = (ne + 1) % m.length, T.placeholder = m[ne] ?? "", W = setTimeout(j, x);
4771
4787
  }
4772
- function re() {
4773
- X !== null && (clearTimeout(X), X = null);
4788
+ function Q() {
4789
+ W !== null || m.length <= 1 || (W = setTimeout(j, x));
4774
4790
  }
4775
4791
  function te() {
4776
- C && (C = !1, ce(), U = !1, ie(), u && z(), B = "", M.style.display = "", k.style.display = "none", E.textContent = "", R.textContent = "");
4777
- const Z = M.value.trim();
4778
- Z && (e.onSend(Z), j || (j = !0)), M.value = "", B = "", I();
4792
+ W !== null && (clearTimeout(W), W = null);
4793
+ }
4794
+ function oe() {
4795
+ C && (C = !1, y(), O = !1, ie(), u && H(), N = "", T.style.display = "", k.style.display = "none", P.textContent = "", z.textContent = "");
4796
+ const V = T.value.trim();
4797
+ V && (e.onSend(V), q || (q = !0)), T.value = "", N = "", I();
4779
4798
  }
4780
4799
  function se() {
4781
- const Z = window, $ = Z.SpeechRecognition ?? Z.webkitSpeechRecognition;
4782
- if (!$) {
4800
+ const V = window, G = V.SpeechRecognition ?? V.webkitSpeechRecognition;
4801
+ if (!G) {
4783
4802
  console.warn("[FloatingLauncher] SpeechRecognition not supported.");
4784
4803
  return;
4785
4804
  }
4786
- F || (F = new $(), F.continuous = !0, F.interimResults = !0, F.lang = v), C = !0, U = !0, B = "", M.value = "", M.style.display = "none", k.style.display = "flex", E.textContent = "", R.textContent = "", I(), Q(), u && A(), F.onresult = (K) => {
4805
+ D || (D = new G(), D.continuous = !0, D.interimResults = !0, D.lang = v), C = !0, O = !0, N = "", T.value = "", T.style.display = "none", k.style.display = "flex", P.textContent = "", z.textContent = "", I(), ce(), u && M(), D.onresult = (J) => {
4787
4806
  if (!C) return;
4788
- let ae = "", Y = "";
4789
- for (let ge = K.resultIndex; ge < K.results.length; ge++) {
4790
- const Ae = K.results[ge];
4807
+ let re = "", Z = "";
4808
+ for (let le = J.resultIndex; le < J.results.length; le++) {
4809
+ const Ae = J.results[le];
4791
4810
  if (!Ae) continue;
4792
4811
  const Fe = Ae[0]?.transcript ?? "";
4793
- Ae.isFinal ? Y += Fe : ae += Fe;
4812
+ Ae.isFinal ? Z += Fe : re += Fe;
4794
4813
  }
4795
- B += Y, E.textContent = B, R.textContent = ae, M.value = `${B} ${ae}`.trim(), I();
4796
- }, F.onend = () => w(), F.onerror = () => w();
4814
+ N += Z, P.textContent = N, z.textContent = re, T.value = `${N} ${re}`.trim(), I();
4815
+ }, D.onend = () => Y(), D.onerror = () => Y();
4797
4816
  try {
4798
- F.start();
4817
+ D.start();
4799
4818
  } catch {
4800
- w();
4819
+ Y();
4801
4820
  }
4802
4821
  }
4803
- function ce() {
4822
+ function y() {
4804
4823
  try {
4805
- F?.stop();
4824
+ D?.stop();
4806
4825
  } catch {
4807
4826
  }
4808
4827
  }
4809
- function w() {
4810
- U && (U = !1, C = !1, ie(), u && z(), B.trim() && (M.value = B.trim()), M.style.display = "", k.style.display = "none", E.textContent = "", R.textContent = "", I());
4828
+ function Y() {
4829
+ O && (O = !1, C = !1, ie(), u && H(), N.trim() && (T.value = N.trim()), T.style.display = "", k.style.display = "none", P.textContent = "", z.textContent = "", I());
4811
4830
  }
4812
- async function Q() {
4813
- const Z = ++q, $ = Array.from(D.querySelectorAll("span"));
4831
+ async function ce() {
4832
+ const V = ++$, G = Array.from(F.querySelectorAll("span"));
4814
4833
  try {
4815
- const K = await navigator.mediaDevices.getUserMedia({ audio: !0 });
4816
- if (!C || Z !== q) {
4817
- K.getTracks().forEach((Ie) => Ie.stop());
4834
+ const J = await navigator.mediaDevices.getUserMedia({ audio: !0 });
4835
+ if (!C || V !== $) {
4836
+ J.getTracks().forEach((Ie) => Ie.stop());
4818
4837
  return;
4819
4838
  }
4820
- V = K;
4821
- const ae = window, Y = ae.AudioContext ?? ae.webkitAudioContext;
4822
- if (!Y)
4823
- throw V = null, K.getTracks().forEach((Ie) => Ie.stop()), new Error("AudioContext not supported");
4824
- const ge = new Y();
4825
- if (!C || Z !== q) {
4826
- K.getTracks().forEach((Ie) => Ie.stop()), ge.close().catch(() => {
4839
+ K = J;
4840
+ const re = window, Z = re.AudioContext ?? re.webkitAudioContext;
4841
+ if (!Z)
4842
+ throw K = null, J.getTracks().forEach((Ie) => Ie.stop()), new Error("AudioContext not supported");
4843
+ const le = new Z();
4844
+ if (!C || V !== $) {
4845
+ J.getTracks().forEach((Ie) => Ie.stop()), le.close().catch(() => {
4827
4846
  });
4828
4847
  return;
4829
4848
  }
4830
- f = ge, S = ge.createAnalyser(), S.fftSize = 256, ge.createMediaStreamSource(K).connect(S);
4849
+ f = le, S = le.createAnalyser(), S.fftSize = 256, le.createMediaStreamSource(J).connect(S);
4831
4850
  const Ae = new Uint8Array(S.frequencyBinCount), Fe = () => {
4832
- if (!C || Z !== q || !S) return;
4851
+ if (!C || V !== $ || !S) return;
4833
4852
  S.getByteFrequencyData(Ae);
4834
- const Ie = Math.max(1, Math.floor(Ae.length / $.length));
4835
- $.forEach((ka, Ca) => {
4853
+ const Ie = Math.max(1, Math.floor(Ae.length / G.length));
4854
+ G.forEach((ka, Ca) => {
4836
4855
  ka.style.height = `${4 + Math.round((Ae[Ca * Ie] ?? 0) / 255 * 8)}px`;
4837
- }), T = requestAnimationFrame(Fe);
4856
+ }), L = requestAnimationFrame(Fe);
4838
4857
  };
4839
4858
  Fe();
4840
4859
  } catch {
4841
- if (!C || Z !== q) return;
4842
- T !== null && (cancelAnimationFrame(T), T = null), S && (S.disconnect(), S = null), f && (f.close().catch(() => {
4843
- }), f = null), V && (V.getTracks().forEach((K) => K.stop()), V = null), D.classList.add("is-css-animated");
4860
+ if (!C || V !== $) return;
4861
+ L !== null && (cancelAnimationFrame(L), L = null), S && (S.disconnect(), S = null), f && (f.close().catch(() => {
4862
+ }), f = null), K && (K.getTracks().forEach((J) => J.stop()), K = null), F.classList.add("is-css-animated");
4844
4863
  }
4845
4864
  }
4846
4865
  function ie() {
4847
- q += 1, D.classList.remove("is-css-animated"), T !== null && (cancelAnimationFrame(T), T = null), S && (S.disconnect(), S = null), f && (f.close().catch(() => {
4848
- }), f = null), V && (V.getTracks().forEach((Z) => Z.stop()), V = null), Array.from(D.querySelectorAll("span")).forEach((Z) => {
4849
- Z.style.height = "4px";
4866
+ $ += 1, F.classList.remove("is-css-animated"), L !== null && (cancelAnimationFrame(L), L = null), S && (S.disconnect(), S = null), f && (f.close().catch(() => {
4867
+ }), f = null), K && (K.getTracks().forEach((V) => V.stop()), K = null), Array.from(F.querySelectorAll("span")).forEach((V) => {
4868
+ V.style.height = "4px";
4850
4869
  });
4851
4870
  }
4852
- function A() {
4853
- N.classList.add("is-active");
4854
- }
4855
- function z() {
4856
- N.classList.remove("is-active");
4857
- }
4858
- G.addEventListener("click", te), W.addEventListener("click", (Z) => {
4859
- Z.preventDefault(), Z.stopPropagation(), C ? ce() : se();
4860
- }), H.addEventListener("click", () => {
4861
- C && (C = !1, ce(), U = !1, ie(), u && z(), B = "", M.style.display = "", k.style.display = "none", E.textContent = "", R.textContent = "", I());
4862
- }), P.addEventListener("click", (Z) => {
4863
- Z.preventDefault(), Z.stopPropagation(), e.onOpenChat();
4864
- }), M.addEventListener("input", I), M.addEventListener("keydown", (Z) => {
4865
- Z.key === "Enter" && te();
4866
- }), I(), J();
4871
+ function M() {
4872
+ B.classList.add("is-active");
4873
+ }
4874
+ function H() {
4875
+ B.classList.remove("is-active");
4876
+ }
4877
+ U.addEventListener("click", oe), X.addEventListener("click", (V) => {
4878
+ V.preventDefault(), V.stopPropagation(), C ? y() : se();
4879
+ }), R.addEventListener("click", () => {
4880
+ C && (C = !1, y(), O = !1, ie(), u && H(), N = "", T.style.display = "", k.style.display = "none", P.textContent = "", z.textContent = "", I());
4881
+ }), E.addEventListener("click", (V) => {
4882
+ V.preventDefault(), V.stopPropagation(), e.onOpenChat();
4883
+ }), T.addEventListener("input", I), T.addEventListener("keydown", (V) => {
4884
+ V.key === "Enter" && oe();
4885
+ }), I(), Q();
4867
4886
  function ee() {
4868
- j = !0, I();
4887
+ q = !0, I();
4869
4888
  }
4870
- function le() {
4871
- re(), ie(), z(), C && (C = !1, ce()), F && (F.onresult = null, F.onend = null, F.onerror = null, F = null);
4889
+ function pe() {
4890
+ te(), ie(), H(), C && (C = !1, y()), D && (D.onresult = null, D.onend = null, D.onerror = null, D = null);
4872
4891
  }
4873
4892
  return {
4874
- container: L,
4893
+ container: A,
4875
4894
  showOpenChatButton: ee,
4876
- destroy: le
4895
+ destroy: pe
4877
4896
  };
4878
4897
  }
4879
- var Mi = "gengage-inline-launcher-style", Ut = "gengage-inline-launcher-hide-floating", me = "gengage-inline-launcher", Ni = "gengage-inline-launcher", je = "data-gengage-inline-sibling", rt = "data-gengage-inline-sibling-restore-index", Bi = '<svg viewBox="0 0 20 20" fill="none" aria-hidden="true"><path d="M8.85 2.4c.23 0 .43.16.48.39l.9 3.77a3.8 3.8 0 0 0 2.8 2.8l3.77.9a.5.5 0 0 1 0 .98l-3.77.9a3.8 3.8 0 0 0-2.8 2.8l-.9 3.77a.5.5 0 0 1-.98 0l-.9-3.77a3.8 3.8 0 0 0-2.8-2.8l-3.77-.9a.5.5 0 0 1 0-.98l3.77-.9a3.8 3.8 0 0 0 2.8-2.8l.9-3.77c.05-.23.25-.39.48-.39Z" fill="currentColor"/><path d="M15.95 1.1c.12 0 .23.08.26.2l.32 1.34c.16.68.7 1.21 1.37 1.37l1.34.32a.27.27 0 0 1 0 .53l-1.34.32a1.87 1.87 0 0 0-1.37 1.37l-.32 1.34a.27.27 0 0 1-.53 0l-.32-1.34A1.87 1.87 0 0 0 14 5.18l-1.34-.32a.27.27 0 0 1 0-.53L14 4a1.87 1.87 0 0 0 1.37-1.37l.32-1.34c.03-.12.14-.2.26-.2Z" fill="currentColor" opacity=".72"/></svg>', de = {
4898
+ var Mi = "gengage-inline-launcher-style", Ut = "gengage-inline-launcher-hide-floating", me = "gengage-inline-launcher", Ni = "gengage-inline-launcher", je = "data-gengage-inline-sibling", rt = "data-gengage-inline-sibling-restore-index", Bi = '<svg viewBox="0 0 20 20" fill="none" aria-hidden="true"><path d="M8.85 2.4c.23 0 .43.16.48.39l.9 3.77a3.8 3.8 0 0 0 2.8 2.8l3.77.9a.5.5 0 0 1 0 .98l-3.77.9a3.8 3.8 0 0 0-2.8 2.8l-.9 3.77a.5.5 0 0 1-.98 0l-.9-3.77a3.8 3.8 0 0 0-2.8-2.8l-3.77-.9a.5.5 0 0 1 0-.98l3.77-.9a3.8 3.8 0 0 0 2.8-2.8l.9-3.77c.05-.23.25-.39.48-.39Z" fill="currentColor"/><path d="M15.95 1.1c.12 0 .23.08.26.2l.32 1.34c.16.68.7 1.21 1.37 1.37l1.34.32a.27.27 0 0 1 0 .53l-1.34.32a1.87 1.87 0 0 0-1.37 1.37l-.32 1.34a.27.27 0 0 1-.53 0l-.32-1.34A1.87 1.87 0 0 0 14 5.18l-1.34-.32a.27.27 0 0 1 0-.53L14 4a1.87 1.87 0 0 0 1.37-1.37l.32-1.34c.03-.12.14-.2.26-.2Z" fill="currentColor" opacity=".72"/></svg>', ge = {
4880
4899
  rowGap: "14px",
4881
4900
  buttonHeight: "46px",
4882
4901
  buttonPadding: "0 14px 0 10px",
@@ -4903,27 +4922,27 @@ var Mi = "gengage-inline-launcher-style", Ut = "gengage-inline-launcher-hide-flo
4903
4922
  function zi(t) {
4904
4923
  const e = t?.mobile;
4905
4924
  return {
4906
- rowGap: t?.rowGap ?? de.rowGap,
4907
- buttonHeight: t?.buttonHeight ?? de.buttonHeight,
4908
- buttonPadding: t?.buttonPadding ?? de.buttonPadding,
4909
- buttonGap: t?.buttonGap ?? de.buttonGap,
4910
- fontSize: t?.fontSize ?? de.fontSize,
4911
- iconSize: t?.iconSize ?? de.iconSize,
4912
- iconImageSize: t?.iconImageSize ?? de.iconImageSize,
4913
- sparkSize: t?.sparkSize ?? de.sparkSize,
4914
- sparkIconSize: t?.sparkIconSize ?? de.sparkIconSize,
4925
+ rowGap: t?.rowGap ?? ge.rowGap,
4926
+ buttonHeight: t?.buttonHeight ?? ge.buttonHeight,
4927
+ buttonPadding: t?.buttonPadding ?? ge.buttonPadding,
4928
+ buttonGap: t?.buttonGap ?? ge.buttonGap,
4929
+ fontSize: t?.fontSize ?? ge.fontSize,
4930
+ iconSize: t?.iconSize ?? ge.iconSize,
4931
+ iconImageSize: t?.iconImageSize ?? ge.iconImageSize,
4932
+ sparkSize: t?.sparkSize ?? ge.sparkSize,
4933
+ sparkIconSize: t?.sparkIconSize ?? ge.sparkIconSize,
4915
4934
  mobile: {
4916
- rowGap: e?.rowGap ?? de.mobile.rowGap,
4917
- buttonPadding: e?.buttonPadding ?? de.mobile.buttonPadding,
4918
- buttonGap: e?.buttonGap ?? de.mobile.buttonGap,
4919
- fontSize: e?.fontSize ?? de.mobile.fontSize,
4920
- iconSize: e?.iconSize ?? de.mobile.iconSize,
4921
- iconImageSize: e?.iconImageSize ?? de.mobile.iconImageSize,
4922
- sparkSize: e?.sparkSize ?? de.mobile.sparkSize,
4923
- sparkIconSize: e?.sparkIconSize ?? de.mobile.sparkIconSize,
4924
- hideTitle: e?.hideTitle ?? de.mobile.hideTitle,
4925
- hideSpark: e?.hideSpark ?? de.mobile.hideSpark,
4926
- hideLogo: e?.hideLogo ?? de.mobile.hideLogo
4935
+ rowGap: e?.rowGap ?? ge.mobile.rowGap,
4936
+ buttonPadding: e?.buttonPadding ?? ge.mobile.buttonPadding,
4937
+ buttonGap: e?.buttonGap ?? ge.mobile.buttonGap,
4938
+ fontSize: e?.fontSize ?? ge.mobile.fontSize,
4939
+ iconSize: e?.iconSize ?? ge.mobile.iconSize,
4940
+ iconImageSize: e?.iconImageSize ?? ge.mobile.iconImageSize,
4941
+ sparkSize: e?.sparkSize ?? ge.mobile.sparkSize,
4942
+ sparkIconSize: e?.sparkIconSize ?? ge.mobile.sparkIconSize,
4943
+ hideTitle: e?.hideTitle ?? ge.mobile.hideTitle,
4944
+ hideSpark: e?.hideSpark ?? ge.mobile.hideSpark,
4945
+ hideLogo: e?.hideLogo ?? ge.mobile.hideLogo
4927
4946
  }
4928
4947
  };
4929
4948
  }
@@ -5060,17 +5079,17 @@ function Hi(t) {
5060
5079
  return new Promise((e) => window.setTimeout(e, t));
5061
5080
  }
5062
5081
  function Fi(t, e, a) {
5063
- const { hostSelector: n, rowClassName: r = "gengage-inline-launcher-row", siblingSelector: i, siblingPlacement: o = "before", rowPlacement: s = "end", title: c = "Ask", iconUrl: l, primaryColor: d = "#6366f1", textColor: p = "#222222", fontFamily: h = "inherit", borderRadius: m = "3px", showSparkIcon: x = !0, desktopMinWidth: v = 0, enableOnMobile: u = !1, disabledPageTypes: g = ["pdp"], hideFloatingLauncher: _ = !0, mountPollFrames: y = 90, debounceMs: b = 90, buttonId: L = Ni } = t, M = t.ariaLabel ?? c, k = t.siblingRestoreParentSelector ?? n, E = u && v > 0 ? v : 576, R = zi(t.size), G = `${Mi}-${L}`;
5064
- let W = !1, P = !1, H = null, D = null, N = null, C = null;
5065
- const U = () => {
5082
+ const { hostSelector: n, rowClassName: r = "gengage-inline-launcher-row", siblingSelector: i, siblingPlacement: o = "before", rowPlacement: s = "end", title: c = "Ask", iconUrl: l, primaryColor: d = "#6366f1", textColor: p = "#222222", fontFamily: h = "inherit", borderRadius: m = "3px", showSparkIcon: x = !0, desktopMinWidth: v = 0, enableOnMobile: u = !1, disabledPageTypes: g = ["pdp"], hideFloatingLauncher: _ = !0, mountPollFrames: w = 90, debounceMs: b = 90, buttonId: A = Ni } = t, T = t.ariaLabel ?? c, k = t.siblingRestoreParentSelector ?? n, P = u && v > 0 ? v : 576, z = zi(t.size), U = `${Mi}-${A}`;
5083
+ let X = !1, E = !1, R = null, F = null, B = null, C = null;
5084
+ const O = () => {
5066
5085
  if (u && v > 0 && window.innerWidth < v && t.mobileHost && t.mobileHost) {
5067
- const A = t.mobileHost;
5086
+ const M = t.mobileHost;
5068
5087
  return {
5069
- hostSelector: A.hostSelector,
5070
- siblingSelector: A.siblingSelector ?? i,
5071
- siblingRestoreParentSelector: A.siblingRestoreParentSelector ?? A.hostSelector,
5072
- rowPlacement: A.rowPlacement ?? s,
5073
- siblingPlacement: A.siblingPlacement ?? o
5088
+ hostSelector: M.hostSelector,
5089
+ siblingSelector: M.siblingSelector ?? i,
5090
+ siblingRestoreParentSelector: M.siblingRestoreParentSelector ?? M.hostSelector,
5091
+ rowPlacement: M.rowPlacement ?? s,
5092
+ siblingPlacement: M.siblingPlacement ?? o
5074
5093
  };
5075
5094
  }
5076
5095
  return {
@@ -5080,143 +5099,143 @@ function Fi(t, e, a) {
5080
5099
  rowPlacement: s,
5081
5100
  siblingPlacement: o
5082
5101
  };
5083
- }, B = (A) => [
5084
- A.hostSelector,
5085
- A.siblingSelector ?? "",
5086
- A.siblingRestoreParentSelector
5087
- ].join("|"), j = () => {
5088
- if (document.getElementById(G)) return;
5089
- const A = document.createElement("style");
5090
- A.id = G, A.textContent = Ri({
5102
+ }, N = (M) => [
5103
+ M.hostSelector,
5104
+ M.siblingSelector ?? "",
5105
+ M.siblingRestoreParentSelector
5106
+ ].join("|"), q = () => {
5107
+ if (document.getElementById(U)) return;
5108
+ const M = document.createElement("style");
5109
+ M.id = U, M.textContent = Ri({
5091
5110
  primaryColor: d,
5092
5111
  textColor: p,
5093
5112
  fontFamily: h,
5094
5113
  borderRadius: m,
5095
5114
  rowClassName: r,
5096
- compactBelowWidth: E,
5097
- buttonId: L,
5098
- sizes: R
5099
- }), document.head.appendChild(A);
5100
- }, F = (A) => {
5115
+ compactBelowWidth: P,
5116
+ buttonId: A,
5117
+ sizes: z
5118
+ }), document.head.appendChild(M);
5119
+ }, D = (M) => {
5101
5120
  if (!_ || !a.shadowRoot) return;
5102
- const z = a.shadowRoot.getElementById(Ut);
5103
- if (!A) {
5104
- z?.remove();
5121
+ const H = a.shadowRoot.getElementById(Ut);
5122
+ if (!M) {
5123
+ H?.remove();
5105
5124
  return;
5106
5125
  }
5107
- if (z) return;
5126
+ if (H) return;
5108
5127
  const ee = document.createElement("style");
5109
5128
  ee.id = Ut, ee.textContent = ".gengage-chat-launcher-container,.gengage-fl{display:none!important;}", a.shadowRoot.appendChild(ee);
5110
- }, ne = (A) => {
5111
- const z = document.querySelector(A);
5112
- return z instanceof HTMLElement ? z : null;
5113
- }, X = (A) => {
5114
- if (!A) return null;
5115
- const z = document.querySelector(A);
5116
- return z instanceof HTMLElement ? z : null;
5117
- }, V = (A) => {
5129
+ }, ne = (M) => {
5130
+ const H = document.querySelector(M);
5131
+ return H instanceof HTMLElement ? H : null;
5132
+ }, W = (M) => {
5133
+ if (!M) return null;
5134
+ const H = document.querySelector(M);
5135
+ return H instanceof HTMLElement ? H : null;
5136
+ }, K = (M) => {
5118
5137
  if (C?.isConnected) return C;
5119
- const z = X(A.siblingSelector);
5120
- return z && (C = z), z;
5121
- }, f = (A) => {
5122
- const z = document.querySelector(A);
5123
- return z instanceof HTMLElement ? z : null;
5124
- }, S = (A) => {
5125
- if (A.hasAttribute(rt)) return;
5126
- const z = A.parentElement;
5127
- if (!z) return;
5128
- const ee = Array.from(z.children).indexOf(A);
5129
- ee >= 0 && A.setAttribute(rt, String(ee));
5130
- }, T = (A) => {
5131
- const z = V(A), ee = f(A.siblingRestoreParentSelector);
5132
- if (!z || !ee) return;
5133
- if (S(z), z.parentElement === ee) {
5134
- z.removeAttribute(je);
5138
+ const H = W(M.siblingSelector);
5139
+ return H && (C = H), H;
5140
+ }, f = (M) => {
5141
+ const H = document.querySelector(M);
5142
+ return H instanceof HTMLElement ? H : null;
5143
+ }, S = (M) => {
5144
+ if (M.hasAttribute(rt)) return;
5145
+ const H = M.parentElement;
5146
+ if (!H) return;
5147
+ const ee = Array.from(H.children).indexOf(M);
5148
+ ee >= 0 && M.setAttribute(rt, String(ee));
5149
+ }, L = (M) => {
5150
+ const H = K(M), ee = f(M.siblingRestoreParentSelector);
5151
+ if (!H || !ee) return;
5152
+ if (S(H), H.parentElement === ee) {
5153
+ H.removeAttribute(je);
5135
5154
  return;
5136
5155
  }
5137
- const le = z.getAttribute(rt), Z = le ? Number.parseInt(le, 10) : 0, $ = Array.from(ee.children).filter((ae) => !(ae instanceof HTMLElement && ae.classList.contains(r))), K = Number.isFinite(Z) && Z >= 0 ? $[Z] ?? null : null;
5138
- if (K) {
5139
- ee.insertBefore(z, K), z.removeAttribute(je);
5156
+ const pe = H.getAttribute(rt), V = pe ? Number.parseInt(pe, 10) : 0, G = Array.from(ee.children).filter((re) => !(re instanceof HTMLElement && re.classList.contains(r))), J = Number.isFinite(V) && V >= 0 ? G[V] ?? null : null;
5157
+ if (J) {
5158
+ ee.insertBefore(H, J), H.removeAttribute(je);
5140
5159
  return;
5141
5160
  }
5142
- ee.appendChild(z), z.removeAttribute(je);
5143
- }, q = (A) => {
5144
- A.querySelector(`.${r}`)?.remove();
5161
+ ee.appendChild(H), H.removeAttribute(je);
5162
+ }, $ = (M) => {
5163
+ M.querySelector(`.${r}`)?.remove();
5145
5164
  }, I = () => {
5146
- const A = document.createElement("span");
5147
- A.className = `${me}-icon`;
5148
- const z = document.createElement("img");
5149
- return z.src = l, z.alt = "", z.draggable = !1, A.appendChild(z), A;
5150
- }, O = () => window.innerWidth < E, J = (A) => {
5165
+ const M = document.createElement("span");
5166
+ M.className = `${me}-icon`;
5167
+ const H = document.createElement("img");
5168
+ return H.src = l, H.alt = "", H.draggable = !1, M.appendChild(H), M;
5169
+ }, j = () => window.innerWidth < P, Q = (M) => {
5151
5170
  if (!l) return;
5152
- const z = A.querySelector(`.${me}-icon`);
5153
- if (O() && R.mobile.hideLogo) {
5154
- z?.remove();
5171
+ const H = M.querySelector(`.${me}-icon`);
5172
+ if (j() && z.mobile.hideLogo) {
5173
+ H?.remove();
5155
5174
  return;
5156
5175
  }
5157
- z || A.insertBefore(I(), A.firstChild);
5158
- }, re = () => {
5159
- const A = document.createElement("button");
5160
- A.type = "button", A.id = L, A.className = me, A.setAttribute("aria-label", M), l && A.appendChild(I());
5161
- const z = document.createElement("span");
5162
- z.className = `${me}-copy`;
5176
+ H || M.insertBefore(I(), M.firstChild);
5177
+ }, te = () => {
5178
+ const M = document.createElement("button");
5179
+ M.type = "button", M.id = A, M.className = me, M.setAttribute("aria-label", T), l && M.appendChild(I());
5180
+ const H = document.createElement("span");
5181
+ H.className = `${me}-copy`;
5163
5182
  const ee = document.createElement("span");
5164
- if (ee.className = `${me}-title`, ee.textContent = c, z.appendChild(ee), A.appendChild(z), x) {
5165
- const le = document.createElement("span");
5166
- le.className = `${me}-spark`, le.innerHTML = Bi, A.appendChild(le);
5167
- }
5168
- return A.addEventListener("click", () => e.onClick()), A;
5169
- }, te = (A, z, ee) => {
5170
- if (S(z), z.setAttribute(je, "true"), o === "before") {
5171
- (z.parentElement !== A || z.nextElementSibling !== ee) && A.insertBefore(z, ee);
5183
+ if (ee.className = `${me}-title`, ee.textContent = c, H.appendChild(ee), M.appendChild(H), x) {
5184
+ const pe = document.createElement("span");
5185
+ pe.className = `${me}-spark`, pe.innerHTML = Bi, M.appendChild(pe);
5186
+ }
5187
+ return M.addEventListener("click", () => e.onClick()), M;
5188
+ }, oe = (M, H, ee) => {
5189
+ if (S(H), H.setAttribute(je, "true"), o === "before") {
5190
+ (H.parentElement !== M || H.nextElementSibling !== ee) && M.insertBefore(H, ee);
5172
5191
  return;
5173
5192
  }
5174
- (z.parentElement !== A || ee.nextElementSibling !== z) && A.appendChild(z);
5193
+ (H.parentElement !== M || ee.nextElementSibling !== H) && M.appendChild(H);
5175
5194
  }, se = () => {
5176
- if (N) {
5177
- T(N);
5178
- const A = ne(N.hostSelector);
5179
- A && q(A), N = null;
5180
- }
5181
- C = null, F(!1), W = !1;
5182
- }, ce = (A) => !(A && g.includes(A) || v > 0 && window.innerWidth < v && !u), w = async (A) => {
5183
- const z = A ?? a.getPageType();
5184
- if (!ce(z))
5195
+ if (B) {
5196
+ L(B);
5197
+ const M = ne(B.hostSelector);
5198
+ M && $(M), B = null;
5199
+ }
5200
+ C = null, D(!1), X = !1;
5201
+ }, y = (M) => !(M && g.includes(M) || v > 0 && window.innerWidth < v && !u), Y = async (M) => {
5202
+ const H = M ?? a.getPageType();
5203
+ if (!y(H))
5185
5204
  return se(), !1;
5186
- j();
5187
- const ee = U();
5188
- N && B(N) !== B(ee) && se();
5189
- for (let le = 0; le < y; le += 1) {
5190
- if (!ce(z))
5205
+ q();
5206
+ const ee = O();
5207
+ B && N(B) !== N(ee) && se();
5208
+ for (let pe = 0; pe < w; pe += 1) {
5209
+ if (!y(H))
5191
5210
  return se(), !1;
5192
- const Z = U(), $ = ne(Z.hostSelector), K = V(Z);
5193
- if ($ && (!Z.siblingSelector || K)) {
5194
- N && B(N) !== B(Z) && se(), K && S(K);
5195
- let ae = $.querySelector(`.${r}`);
5196
- ae instanceof HTMLElement || (ae = document.createElement("div"), ae.className = r, Z.rowPlacement === "start" ? $.insertBefore(ae, $.firstChild) : $.appendChild(ae));
5197
- let Y = ae.querySelector(`#${CSS.escape(L)}`);
5198
- return Y instanceof HTMLButtonElement ? D = Y : (Y = re(), D = Y, ae.appendChild(Y)), K && te(ae, K, Y), J(Y), P ? Y.classList.add(`${me}--active`) : Y.classList.remove(`${me}--active`), F(!0), W = !0, N = Z, !0;
5211
+ const V = O(), G = ne(V.hostSelector), J = K(V);
5212
+ if (G && (!V.siblingSelector || J)) {
5213
+ B && N(B) !== N(V) && se(), J && S(J);
5214
+ let re = G.querySelector(`.${r}`);
5215
+ re instanceof HTMLElement || (re = document.createElement("div"), re.className = r, V.rowPlacement === "start" ? G.insertBefore(re, G.firstChild) : G.appendChild(re));
5216
+ let Z = re.querySelector(`#${CSS.escape(A)}`);
5217
+ return Z instanceof HTMLButtonElement ? F = Z : (Z = te(), F = Z, re.appendChild(Z)), J && oe(re, J, Z), Q(Z), E ? Z.classList.add(`${me}--active`) : Z.classList.remove(`${me}--active`), D(!0), X = !0, B = V, !0;
5199
5218
  }
5200
5219
  await Hi(16);
5201
5220
  }
5202
5221
  return se(), !1;
5203
- }, Q = () => {
5204
- H !== null && window.clearTimeout(H), H = window.setTimeout(() => {
5205
- H = null, w();
5222
+ }, ce = () => {
5223
+ R !== null && window.clearTimeout(R), R = window.setTimeout(() => {
5224
+ R = null, Y();
5206
5225
  }, b);
5207
- }, ie = () => Q();
5226
+ }, ie = () => ce();
5208
5227
  return window.addEventListener("resize", ie, { passive: !0 }), window.addEventListener("orientationchange", ie), {
5209
5228
  get isMounted() {
5210
- return W;
5229
+ return X;
5211
5230
  },
5212
- sync(A) {
5213
- return w(A);
5231
+ sync(M) {
5232
+ return Y(M);
5214
5233
  },
5215
- setActive(A) {
5216
- P = A, D?.classList.toggle(`${me}--active`, A);
5234
+ setActive(M) {
5235
+ E = M, F?.classList.toggle(`${me}--active`, M);
5217
5236
  },
5218
5237
  destroy() {
5219
- H !== null && (window.clearTimeout(H), H = null), window.removeEventListener("resize", ie), window.removeEventListener("orientationchange", ie), se(), document.getElementById(G)?.remove(), D = null;
5238
+ R !== null && (window.clearTimeout(R), R = null), window.removeEventListener("resize", ie), window.removeEventListener("orientationchange", ie), se(), document.getElementById(U)?.remove(), F = null;
5220
5239
  }
5221
5240
  };
5222
5241
  }
@@ -5346,8 +5365,8 @@ function Gi(t) {
5346
5365
  continue;
5347
5366
  }
5348
5367
  const _ = document.createElement("a");
5349
- _.className = "gengage-product-mention", _.textContent = v, _.href = "#", _.addEventListener("click", (y) => {
5350
- y.preventDefault(), n(o.sku);
5368
+ _.className = "gengage-product-mention", _.textContent = v, _.href = "#", _.addEventListener("click", (w) => {
5369
+ w.preventDefault(), n(o.sku);
5351
5370
  }), x && g.insertBefore(document.createTextNode(x), c), g.insertBefore(_, c), u && g.insertBefore(document.createTextNode(u), c), g.removeChild(c), l = !0;
5352
5371
  }
5353
5372
  }
@@ -5412,7 +5431,7 @@ function bt(t) {
5412
5431
  function Ji(t) {
5413
5432
  t && bt(t);
5414
5433
  }
5415
- var eo = "gengage_assistant", to = 3, Te = "sessions", ye = "context", Se = "payload", we = "favorites";
5434
+ var eo = "gengage_assistant", to = 3, Le = "sessions", ye = "context", Se = "payload", we = "favorites";
5416
5435
  function De(t) {
5417
5436
  return new Promise((e, a) => {
5418
5437
  t.onsuccess = () => e(t.result), t.onerror = () => a(t.error);
@@ -5432,7 +5451,7 @@ var ao = class {
5432
5451
  const a = indexedDB.open(this._dbName, this._version);
5433
5452
  a.onupgradeneeded = (n) => {
5434
5453
  const r = a.result, i = n.oldVersion;
5435
- i < 1 && (r.createObjectStore(Te, { keyPath: [
5454
+ i < 1 && (r.createObjectStore(Le, { keyPath: [
5436
5455
  "userId",
5437
5456
  "appId",
5438
5457
  "sessionId"
@@ -5440,7 +5459,7 @@ var ao = class {
5440
5459
  "userId",
5441
5460
  "appId",
5442
5461
  "sku"
5443
- ] })), i >= 1 && i < 2 && (r.objectStoreNames.contains(Te) && r.deleteObjectStore(Te), r.objectStoreNames.contains(Se) && r.deleteObjectStore(Se), r.createObjectStore(Te, { keyPath: [
5462
+ ] })), i >= 1 && i < 2 && (r.objectStoreNames.contains(Le) && r.deleteObjectStore(Le), r.objectStoreNames.contains(Se) && r.deleteObjectStore(Se), r.createObjectStore(Le, { keyPath: [
5444
5463
  "userId",
5445
5464
  "appId",
5446
5465
  "sessionId"
@@ -5458,11 +5477,11 @@ var ao = class {
5458
5477
  this._db?.close(), this._db = null;
5459
5478
  }
5460
5479
  async saveSession(t) {
5461
- const e = this._requireDb().transaction(Te, "readwrite");
5462
- e.objectStore(Te).put(t), await Ne(e);
5480
+ const e = this._requireDb().transaction(Le, "readwrite");
5481
+ e.objectStore(Le).put(t), await Ne(e);
5463
5482
  }
5464
5483
  async loadSession(t, e, a) {
5465
- return await De(this._requireDb().transaction(Te, "readonly").objectStore(Te).get([
5484
+ return await De(this._requireDb().transaction(Le, "readonly").objectStore(Le).get([
5466
5485
  t,
5467
5486
  e,
5468
5487
  a
@@ -6004,7 +6023,7 @@ var xo = class {
6004
6023
  await e();
6005
6024
  } catch {
6006
6025
  }
6007
- a?.send("openURLInNewTab", { url: t }), xe(t) && n(t);
6026
+ a?.send("openURLInNewTab", { url: t }), ve(t) && n(t);
6008
6027
  }
6009
6028
  async loadPayload(t, e) {
6010
6029
  if (!this._db) return null;
@@ -6158,10 +6177,10 @@ var _a = "gengage_kvkk_shown", Po = [
6158
6177
  "kvkk",
6159
6178
  "kişisel veri",
6160
6179
  "kisisel veri"
6161
- ], To = /\b6698\b/;
6180
+ ], Lo = /\b6698\b/;
6162
6181
  function xt(t) {
6163
6182
  const e = t.toLowerCase();
6164
- return Po.some((a) => e.includes(a)) || To.test(e);
6183
+ return Po.some((a) => e.includes(a)) || Lo.test(e);
6165
6184
  }
6166
6185
  function Kt(t) {
6167
6186
  try {
@@ -6176,7 +6195,7 @@ function ct(t) {
6176
6195
  } catch {
6177
6196
  }
6178
6197
  }
6179
- function Lo(t, e = {}) {
6198
+ function To(t, e = {}) {
6180
6199
  const a = new DOMParser().parseFromString(t, "text/html").body, n = Array.from(a.children);
6181
6200
  let r = !1;
6182
6201
  for (const i of n) if (xt(i.textContent ?? "")) {
@@ -6199,7 +6218,7 @@ var Io = {
6199
6218
  function Mo(t) {
6200
6219
  return t ? Io[t.toLowerCase().slice(0, 2)] ?? "TURKISH" : "TURKISH";
6201
6220
  }
6202
- var No = ':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%;min-height:44px;color:var(--text-secondary);background-size:220% 100%;border-radius:14px;align-items:center;gap:10px;padding:0 16px;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%;min-height:48px;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;align-self:center;font-size:13px;line-height:1.35;display:block}:where(.gds-progress-dots){flex-shrink:0;align-items:center;gap:6px;min-height:20px;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-width:var(--gengage-chat-launcher-width,56px);--_gengage-chat-launcher-height:var(--gengage-chat-launcher-height,56px);--_gengage-chat-launcher-mobile-width:var(--gengage-chat-launcher-mobile-width,var(--_gengage-chat-launcher-width));--_gengage-chat-launcher-mobile-height:var(--gengage-chat-launcher-mobile-height,var(--_gengage-chat-launcher-height));--_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-anchor-bottom,var(--_gengage-chat-launcher-bottom));right:var(--gengage-chat-launcher-anchor-right,var(--_gengage-chat-launcher-right));z-index:var(--gengage-z-index,2147480000);transition:bottom var(--gengage-chat-launcher-anchor-transition,0s) ease, right var(--gengage-chat-launcher-anchor-transition,0s) ease;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-width);height:var(--_gengage-chat-launcher-height);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-img--mobile,.gengage-chat-root--mobile .gengage-chat-launcher-img--desktop{display:none}.gengage-chat-root--mobile .gengage-chat-launcher-img--mobile{display:block}.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-anchor-right,var(--gengage-chat-launcher-mobile-right,16px));bottom:calc(var(--gengage-chat-launcher-anchor-bottom,var(--gengage-chat-launcher-mobile-bottom,16px)) + env(safe-area-inset-bottom,0px))}.gengage-chat-root--mobile .gengage-chat-launcher{width:var(--_gengage-chat-launcher-mobile-width);height:var(--_gengage-chat-launcher-mobile-height)}.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{top:var(--gengage-chat-visual-top,0px);height:var(--gengage-chat-visual-vh,100dvh);max-height:var(--gengage-chat-visual-vh,100dvh);border-radius:0;bottom:auto}.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)}.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}@media (width<=374px){.gengage-chat-header{gap:8px;padding:10px}.gengage-chat-header-right{flex-shrink:1;gap:4px;min-width:0}.gengage-chat-header-btn{width:34px;min-width:34px;height:34px;min-height:34px}}.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.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-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-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--panel-bookmark{max-width:72%;margin-top:-6px}.gengage-chat-inline-panel-bookmark-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px;font-size:11px;font-weight:700}.gengage-chat-inline-panel-bookmark-card{border:1px solid color-mix(in srgb, var(--client-primary) 38%, var(--border-default));background:color-mix(in srgb, var(--surface-card) 94%, transparent);text-align:left;width:100%;color:var(--text-primary);cursor:pointer;box-shadow:var(--shadow-1);border-radius:18px;flex-direction:column;align-items:flex-start;gap:10px;padding:12px;transition:transform .16s,border-color .16s,box-shadow .16s,background-color .16s;display:flex}.gengage-chat-inline-panel-bookmark-card:hover{border-color:color-mix(in srgb, var(--client-primary) 52%, var(--border-default));box-shadow:var(--shadow-2);transform:translateY(-1px)}.gengage-chat-inline-panel-bookmark-card--active{background:color-mix(in srgb, var(--client-primary-subtle) 42%, var(--surface-card))}.gengage-chat-inline-panel-bookmark-previews{gap:8px;display:flex}.gengage-chat-inline-panel-bookmark-preview{background:color-mix(in srgb, var(--surface-card-muted) 70%, var(--surface-card));border:1px solid color-mix(in srgb, var(--border-default) 74%, transparent);border-radius:14px;flex:none;justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex;overflow:hidden}.gengage-chat-inline-panel-bookmark-preview-img{object-fit:cover;width:100%;height:100%;display:block}.gengage-chat-inline-panel-bookmark-preview-fallback{color:var(--text-primary);font-size:13px;font-weight:700}.gengage-chat-inline-panel-bookmark-title{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:15px;font-weight:700;line-height:1.25;display:-webkit-box;overflow:hidden}.gengage-chat-inline-panel-bookmark-cta{color:var(--client-primary);font-size:13px;font-weight:700}@media (width<=768px){.gengage-chat-bubble--panel-bookmark{display:none!important}}.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--ui-spec{box-shadow:none;background:0 0;border:none;min-width:0;padding:0}.gengage-chat-bubble--ui-spec-only{max-width:min(85%,420px)}.gengage-chat-bubble-ui-spec{width:100%}.gengage-chat-bubble--active{outline:2px solid var(--ds-message-active-outline);outline-offset:-2px}.gengage-chat-bubble--panel-restore.gengage-chat-bubble--active{outline:none}.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-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-typing--presence{justify-content:flex-start;width:fit-content;max-width:100%}.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{--gengage-chat-input-control-size:40px;--gengage-chat-input-shell-pad:6px;--gengage-chat-input-shell-radius:18px;--gengage-chat-input-control-radius:12px;min-width:0;min-height:calc(var(--gengage-chat-input-control-size) + (var(--gengage-chat-input-shell-pad) * 2));background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--gengage-chat-input-shell-radius);padding:var(--gengage-chat-input-shell-pad);box-sizing:border-box;box-shadow:none;flex:1;align-items:center;gap:10px;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{box-sizing:border-box;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;padding:11px 0 9px;font-family:inherit;font-size:14px;line-height:1.4;overflow-y:hidden}.gengage-chat-root--mobile .gengage-chat-input-pill{--gengage-chat-input-control-size:44px;--gengage-chat-input-shell-radius:20px;--gengage-chat-input-control-radius:14px;min-height:calc(var(--gengage-chat-input-control-size) + (var(--gengage-chat-input-shell-pad) * 2))}.gengage-chat-root--mobile .gengage-chat-input{white-space:nowrap;min-height:44px;max-height:44px;padding:12px 0 10px;font-size:16px;line-height:1.4;overflow:hidden}.gengage-chat-input::placeholder{color:var(--text-muted);font-size:14px;line-height:inherit}.gengage-chat-send{width:var(--gengage-chat-input-control-size,40px);height:var(--gengage-chat-input-control-size,40px);min-width:var(--gengage-chat-input-control-size,40px);border:1px solid var(--ds-button-primary-border);border-radius:var(--gengage-chat-input-control-radius,12px);background:var(--ds-button-primary-bg);color:var(--ds-button-primary-fg);cursor:pointer;box-shadow:none;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-inline-question-buttons{flex-wrap:wrap;align-items:flex-start;gap:12px;padding:10px 0 4px;display:flex}.gengage-chat-inline-question-btn{border:1px solid var(--ds-chip-border);border-radius:var(--radius-pill);background:var(--ds-chip-bg);max-width:100%;min-height:46px;color:var(--text-primary);text-align:left;white-space:normal;cursor:pointer;flex:0 auto;justify-content:flex-start;padding:11px 18px;font-size:13px;font-weight:700;line-height:1.4;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,transform .15s;box-shadow:0 1px #1118270a}.gengage-chat-inline-question-btn:hover{background:var(--ds-chip-bg-hover);border-color:color-mix(in srgb, var(--client-primary) 16%, var(--ds-chip-border));box-shadow:0 4px 12px #11182714}.gengage-chat-inline-question-btn:active{background:var(--ds-chip-bg-active);border-color:var(--ds-chip-border-active);color:var(--text-primary);transform:translateY(1px);box-shadow:0 1px 4px #1118270f}.gengage-chat-inline-question-icon{color:color-mix(in srgb, var(--client-primary) 38%, var(--text-muted));flex:none;font-size:12px;line-height:1;transform:translateY(-1px)}.gengage-chat-inline-question-label{display:inline}.gengage-chat-root--mobile .gengage-chat-inline-question-buttons{gap:10px}.gengage-chat-root--mobile .gengage-chat-inline-question-btn{width:auto;max-width:min(100%,34rem);padding:12px 16px;font-size:12.5px}.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-panel-restore-card{appearance:none;box-sizing:border-box;font:inherit;border:1px solid color-mix(in srgb, var(--client-primary) 34%, var(--border-default));border-radius:calc(var(--radius-control) + 6px);background:var(--surface-card);width:100%;color:var(--text-primary);text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:12px;margin:0;padding:16px 18px;transition:transform .18s,background .18s,box-shadow .18s,border-color .18s;display:flex}.gengage-chat-panel-restore-card--minimal{gap:10px;padding:14px 16px}.gengage-chat-panel-restore-card:hover{background:color-mix(in srgb, var(--surface-card) 92%, var(--client-primary-subtle) 8%);box-shadow:var(--shadow-2);border-color:color-mix(in srgb, var(--client-primary) 52%, var(--border-default));transform:translateY(-1px)}.gengage-chat-panel-restore-card:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:3px}.gengage-chat-panel-restore-card__eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);font-size:12px;font-weight:800}.gengage-chat-panel-restore-card__previews{gap:10px;display:flex}.gengage-chat-panel-restore-card--minimal .gengage-chat-panel-restore-card__previews{gap:8px}.gengage-chat-panel-restore-card__thumb{border:1px solid var(--border-default);background:var(--surface-card);border-radius:16px;width:58px;height:58px;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff8a}.gengage-chat-panel-restore-card__thumb img{object-fit:cover;width:100%;height:100%;display:block}.gengage-chat-panel-restore-card__title{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:18px;font-weight:700;line-height:1.24;display:-webkit-box;overflow:hidden}.gengage-chat-panel-restore-card__cta{color:var(--client-primary);font-size:15px;font-weight:700}.gengage-chat-panel-restore-card--minimal .gengage-chat-panel-restore-card__cta{letter-spacing:.01em;font-size:14px}.gengage-chat-root--mobile .gengage-chat-panel-restore-card{-webkit-tap-highlight-color:transparent;padding:14px 16px}.gengage-chat-root--mobile .gengage-chat-panel-restore-card__thumb{border-radius:14px;width:52px;height:52px}.gengage-chat-root--mobile .gengage-chat-bubble--active{outline:none}.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}button.gengage-chat-product-summary__cta{cursor:pointer;font:inherit;border:none}.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-product-grid--pending{filter:blur(3px)saturate(.85);opacity:.75;pointer-events:none;transition:filter .16s ease-out,opacity .16s ease-out;position:relative}.gengage-chat-product-grid--pending:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 0%,#ffffff59 50%,#0000 100%);animation:1.2s ease-in-out infinite gengage-chat-product-grid-shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes gengage-chat-product-grid-shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.gengage-chat-product-grid--pending:after{animation: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-history-page{flex-direction:column;gap:12px;padding:12px;display:flex}.gengage-chat-history-actions{display:flex}.gengage-chat-history-new-chat{border:1px solid color-mix(in srgb, var(--client-primary) 20%, var(--border-default));border-radius:var(--radius-control);background:color-mix(in srgb, var(--client-primary) 9%, white);width:100%;min-height:42px;color:var(--client-primary);cursor:pointer;padding:0 14px;font-size:13px;font-weight:700;transition:background .15s,border-color .15s,transform .15s}.gengage-chat-history-new-chat:hover{background:color-mix(in srgb, var(--client-primary) 14%, white);border-color:color-mix(in srgb, var(--client-primary) 28%, var(--border-default))}.gengage-chat-history-list{flex-direction:column;gap:10px;display:flex}.gengage-chat-history-item{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card);box-shadow:var(--shadow-1);align-items:stretch;gap:8px;padding:0;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.gengage-chat-history-item:hover{border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default))}.gengage-chat-history-item--active{border-color:color-mix(in srgb, var(--client-primary) 28%, var(--border-default));background:color-mix(in srgb, var(--client-primary) 6%, var(--surface-card))}.gengage-chat-history-open{min-width:0;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;flex:1;padding:12px 14px}.gengage-chat-history-item-title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.gengage-chat-history-item-title{min-width:0;color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.gengage-chat-history-item-meta{color:var(--text-muted);flex-shrink:0;font-size:11px;font-weight:600}.gengage-chat-history-item-preview{color:var(--text-secondary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:6px 0 0;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.gengage-chat-history-delete{border:none;border-left:1px solid color-mix(in srgb, var(--border-default) 84%, transparent);border-top-right-radius:inherit;border-bottom-right-radius:inherit;width:38px;min-width:38px;color:var(--text-muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex}.gengage-chat-history-delete:hover{background:color-mix(in srgb, var(--error) 10%, white);color:var(--error)}.gengage-chat-history-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-history-empty-icon{opacity:.25;color:var(--client-primary)}.gengage-chat-history-empty p{margin:0;font-size:13px;line-height:1.5}.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-panel .gengage-chat-product-grid.gengage-chat-product-grid--consulting-groups{grid-template-columns:repeat(auto-fit,minmax(200px,240px));justify-content:start}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-grid.gengage-chat-product-grid--consulting-groups.gengage-chat-product-grid--mobile{grid-template-columns:1fr}.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:var(--gengage-chat-input-control-size,40px);height:var(--gengage-chat-input-control-size,40px);border-radius:var(--gengage-chat-input-control-radius,12px);color:var(--text-primary);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}@media (width<=374px){.gengage-chat-root--mobile .gengage-chat-header-btn{width:34px;min-width:34px;height:34px;min-height:34px}}.gengage-chat-root--mobile .gengage-chat-attach-btn,.gengage-chat-root--mobile .gengage-chat-mic-btn,.gengage-chat-root--mobile .gengage-chat-send{width:var(--gengage-chat-input-control-size,44px);height:var(--gengage-chat-input-control-size,44px);min-width:var(--gengage-chat-input-control-size,44px);border-radius:var(--gengage-chat-input-control-radius,14px)}.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;line-height:inherit}.gengage-chat-kvkk-banner{color:var(--text-secondary);background:0 0;border:none;padding:14px 32px 10px;font-size:13px;line-height:1.55}.gengage-chat-kvkk-content{min-width:0}.gengage-chat-kvkk-content p{margin:0}.gengage-chat-kvkk-content a{color:inherit;margin-top:8px;text-decoration:underline;display:inline-block}.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 td ul,.gengage-chat-comparison-table td ol{text-align:left;margin:0;padding-left:18px}.gengage-chat-comparison-table td li+li{margin-top:4px}.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-inline-question-btn,.gengage-chat-product-card,.gengage-chat-product-card-cta,.gengage-chat-send,.gengage-chat-launcher-container,.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-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:none}.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,.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child .gengage-chat-ai-toppick-img{object-fit:contain;width:calc(100% - 8px);height:calc(100% - 8px);position:absolute;inset:4px}.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{--_badge-inset-top:12px;--_badge-height:30px;box-sizing:border-box;padding:calc(var(--_badge-inset-top) + var(--_badge-height) + 6px) 12px 12px;border-radius:var(--radius-card);background:var(--surface-card);flex-direction:column;align-items:stretch;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{top:var(--_badge-inset-top,12px);z-index:2;box-sizing:border-box;text-transform:uppercase;letter-spacing:.04em;pointer-events:none;white-space:normal;border-radius:999px;align-items:center;max-width:calc(100% - 28px);margin:0;padding:8px 14px;font-size:11px;font-weight:800;line-height:1.25;display:inline-flex;position:absolute;left:14px}.gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-badge{background:var(--client-primary);color:var(--client-on-primary);box-shadow:0 10px 18px color-mix(in srgb, var(--client-primary) 20%, transparent)}.gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-badge{background:var(--surface-card);color:color-mix(in srgb, var(--client-primary) 72%, var(--text-primary));border:1px solid color-mix(in srgb, var(--client-primary) 24%, var(--border-default))}.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:100%;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:8px;max-width:100%;padding:7px 9px;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:64px;height:auto;max-height:26px;display:block}.gengage-chat-campaign-price-badge__body{flex-direction:column;justify-content:center;align-items:flex-start;gap:1px;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:10px;font-weight:700;line-height:1.2}.gengage-chat-campaign-price-badge__sale{color:var(--gengage-discounted-price-color,var(--text-primary));font-size:14px;font-weight:800;line-height:1.15}.gengage-chat-product-card-price-row .gengage-chat-campaign-price-badge__sale{font-size:13px}.gengage-chat-product-summary__price .gengage-chat-campaign-price-badge__sale{font-size:12px}.gengage-chat-product-details-price .gengage-chat-campaign-price-badge{border-radius:var(--radius-control,12px);padding:9px 11px}.gengage-chat-product-details-price .gengage-chat-campaign-price-badge__reason{font-size:11px}.gengage-chat-product-details-price .gengage-chat-campaign-price-badge__sale{font-size:18px}: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--uniform-mobile{scroll-snap-type:none;flex-direction:column;margin:0;padding:0;overflow-x: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-top-picks-rest--uniform-mobile .gengage-chat-ai-toppick-card--compact{scroll-snap-align:none;flex:none;width:100%;max-width:none}.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--mobile-uniform{margin-top:8px;padding:10px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-top-row,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform .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,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform .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,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform .gengage-chat-ai-toppick-img{object-fit:contain;width:100%;height:100%;padding:4px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-body,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform .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,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform .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,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform .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--mobile-uniform .gengage-chat-ai-toppick-cta{display:block!important}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-cta:hover,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform .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;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;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-product-grid-wrapper--grouped{gap:12px}.gengage-chat-product-grid-sections{flex-direction:column;gap:20px;display:flex}.gengage-chat-product-grid-section{border-top:1px solid color-mix(in srgb, var(--border-default) 70%, transparent);flex-direction:column;gap:10px;padding:14px 0 18px;display:flex}.gengage-chat-product-grid-section:first-child{border-top:0;padding-top:4px}.gengage-chat-product-grid-section:last-child{padding-bottom:4px}.gengage-chat-product-grid-section-head{justify-content:space-between;align-items:baseline;gap:12px;min-width:0;padding:0 2px;display:flex}.gengage-chat-product-grid-section-title{letter-spacing:0;min-width:0;color:var(--text-primary);overflow-wrap:anywhere;margin:0;font-family:inherit;font-size:15px;font-weight:700;line-height:1.25}.gengage-chat-product-grid-section-count{border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--surface-card-soft);min-height:22px;color:var(--text-secondary);letter-spacing:0;white-space:nowrap;flex:none;justify-content:center;align-items:center;padding:1px 8px;font-family:inherit;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.gengage-chat-panel .gengage-chat-product-grid--section{padding-top:0;padding-bottom:2px}.gengage-chat-root--mobile .gengage-chat-product-grid-sections{gap:16px}.gengage-chat-root--mobile .gengage-chat-product-grid-section{gap:8px;padding:12px 0 14px}.gengage-chat-root--mobile .gengage-chat-product-grid-section-title{font-size:14px}.gengage-chat-root--mobile .gengage-chat-product-grid-section-count{min-height:20px;padding-inline:8px;font-size:10.5px}.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-btn--loading{border-style:dashed}.gengage-chat-consulting-style-btn--muted{opacity:.78}.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);-webkit-user-drag:none;-webkit-user-select:none;user-select:none;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-style-status{color:var(--text-primary);background:color-mix(in srgb, white 88%, var(--client-primary) 12%);border:1px solid color-mix(in srgb, var(--client-primary) 18%, var(--border-default));border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;position:absolute;top:10px;right:10px}.gengage-chat-consulting-loading-panel{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:18px;flex-direction:column;gap:12px;padding:16px;display:flex}.gengage-chat-consulting-loading-panel-title{color:var(--text-primary);margin:0;font-size:18px;font-weight:800}.gengage-chat-consulting-loading-panel-copy{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.5}.gengage-chat-consulting-loading-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.gengage-chat-consulting-loading-card{border:1px solid var(--border-default);background:linear-gradient(90deg, color-mix(in srgb, var(--surface-card-soft) 94%, white) 20%, color-mix(in srgb, white 86%, var(--surface-card-soft) 14%) 50%, color-mix(in srgb, var(--surface-card-soft) 94%, white) 80%);background-size:220% 100%;border-radius:18px;min-height:240px;animation:1.2s linear infinite gengage-chat-consulting-loading-shimmer}@keyframes gengage-chat-consulting-loading-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.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(0, 1fr));justify-content:stretch;align-items:stretch;gap:14px;margin-bottom:2px;display:grid}.gengage-chat-consulting-group-grid .gengage-chat-product-card{width:100%;min-width:0;max-width:none;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;min-width:0;padding:14px}.gengage-chat-panel .gengage-chat-consulting-group-grid .gengage-chat-product-card{width:100%;min-width:0;max-width:100%;margin-inline:0}.gengage-chat-panel .gengage-chat-consulting-group-grid .gengage-chat-product-card .gengage-chat-product-card-img-wrapper{flex-shrink:1;align-self:stretch;min-width:0;max-width:100%}.gengage-chat-panel .gengage-chat-consulting-group-grid .gengage-chat-product-card .gengage-chat-product-card-body{min-width:0;max-width:100%}.gengage-chat-panel .gengage-chat-consulting-group-grid .gengage-chat-product-card .gengage-chat-product-card-name,.gengage-chat-panel .gengage-chat-consulting-group-grid .gengage-chat-product-card .gengage-chat-product-card-price,.gengage-chat-panel .gengage-chat-consulting-group-grid .gengage-chat-product-card .gengage-chat-product-card-price-block{overflow-wrap:anywhere;word-break:break-word}.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-root--mobile .gengage-chat-consulting-loading-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: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-panel.gengage-chat-panel--visible~.gengage-chat-comparison-dock-slot:not(:empty){left:0;right:0;bottom:calc(var(--gengage-chat-input-control-size,44px) + 8px + env(safe-area-inset-bottom,0px));z-index:30;box-sizing:border-box;pointer-events:none;max-width:100%;padding:0 10px;display:block;position:absolute}.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-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:auto;background:var(--surface-card);border:1px solid var(--border-default);z-index:5;opacity:1;border-bottom:none;border-radius:16px 16px 0 0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;width:auto;max-width:none;margin-left:0;margin-right:0;padding:12px 20px;transition:opacity .2s,transform .2s;display:grid;position:absolute;bottom:-16px;left:-16px;right:-16px;transform:translateY(0);box-shadow:0 -2px 8px #00000014}.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-actions{justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:inline-flex}.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:color-mix(in srgb, var(--surface-card-soft) 92%, white);width:40px;height:40px;color:var(--text-muted);cursor:pointer;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;transition:color .15s,border-color .15s,background .15s;display:flex}.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;align-items:center;gap:8px;padding:6px 14px;font-size:13px;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.gengage-chat-categories-tab-image{object-fit:cover;border:1px solid var(--border-subtle);background:var(--surface-card-muted);-webkit-user-drag:none;-webkit-user-select:none;user-select:none;border-radius:999px;flex:none;width:28px;height:28px}.gengage-chat-categories-tab-text{min-width:0}.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-panel{flex-direction:column;gap:12px;display:flex}.gengage-chat-categories-group-summary{border:1px solid color-mix(in srgb, var(--client-primary) 20%, var(--border-default));background:color-mix(in srgb, var(--client-primary) 6%, var(--surface-card));border-radius:8px;flex-direction:column;gap:8px;padding:12px;display:flex}.gengage-chat-categories-group-selection{border:1px solid color-mix(in srgb, var(--client-primary) 24%, var(--border-default));background:color-mix(in srgb, var(--client-primary) 10%, white);max-width:100%;color:var(--client-primary);border-radius:999px;align-self:flex-start;align-items:center;gap:10px;padding:6px 12px 6px 8px;display:inline-flex}.gengage-chat-categories-group-selection-image{object-fit:cover;border:1px solid color-mix(in srgb, white 82%, var(--border-subtle) 18%);background:var(--surface-card-muted);-webkit-user-drag:none;-webkit-user-select:none;user-select:none;border-radius:999px;flex:none;width:30px;height:30px}.gengage-chat-categories-group-selection-title{min-width:0;color:inherit;font-size:13px;font-weight:800;line-height:1.25}.gengage-chat-categories-group-chips{flex-wrap:wrap;gap:6px;display:flex}.gengage-chat-categories-group-chip{border:1px solid var(--border-default);background:color-mix(in srgb, white 78%, var(--surface-card-soft));color:var(--text-secondary);border-radius:999px;align-items:center;padding:5px 10px;font-size:11px;font-weight:700;line-height:1.2;display:inline-flex}.gengage-chat-categories-group-chip--accent{border-color:color-mix(in srgb, var(--client-primary) 22%, var(--border-default));background:color-mix(in srgb, var(--client-primary) 10%, white);color:var(--client-primary)}.gengage-chat-categories-group-reason{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.5}.gengage-chat-categories-grid{grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:12px;display:grid}.gengage-chat-categories-grid .gengage-chat-product-card{width:100%;min-width:0;max-width:none}:is(.gengage-chat-categories .gengage-chat-product-card-img,.gengage-chat-consulting-group-grid .gengage-chat-product-card-img,.gengage-chat-product-grid-wrapper:has(.gengage-chat-consulting-style-picker) .gengage-chat-product-card-img){-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.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-inline-question-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-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-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-root--mobile-half .gengage-chat-comparison-dock-slot .gengage-chat-choice-prompter{display:none}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-choice-prompter{box-sizing:border-box;pointer-events:auto;opacity:1;border-radius:14px;grid-template-columns:1fr;gap:10px;width:100%;max-width:100%;max-height:none;margin:0;padding:10px 12px;display:none;position:relative;bottom:auto;left:auto;right:auto;overflow:visible;transform:none}.gengage-chat-root--mobile.gengage-chat-root--mobile-full .gengage-chat-panel--visible~.gengage-chat-comparison-dock-slot .gengage-chat-choice-prompter{display:grid}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-choice-prompter-suggestion{display:none}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-choice-prompter-actions{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-choice-prompter-cta{width:100%;min-width:0;min-height:44px;padding:0 14px}.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-dropdown--open{z-index:40}.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-product-sort-menu{width:min(224px,100vw - 32px);min-width:196px;max-width:calc(100vw - 32px);top:calc(100% + 6px);left:auto;right:0}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-option{min-height:44px;padding:10px 12px;font-size:13px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-option-label{white-space:normal;line-height:1.3}.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-comparison-dock-slot .gengage-chat-choice-prompter-dismiss{width:40px;height:40px}.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}@media (prefers-reduced-motion:reduce){.gengage-chat-consulting-loading-card{animation:none}}.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}.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--neutral{background:var(--surface-shell);color:var(--text-inverse)}.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}', Bo = /* @__PURE__ */ new Set([
6221
+ var No = ':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%;min-height:44px;color:var(--text-secondary);background-size:220% 100%;border-radius:14px;align-items:center;gap:10px;padding:0 16px;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%;min-height:48px;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;align-self:center;font-size:13px;line-height:1.35;display:block}:where(.gds-progress-dots){flex-shrink:0;align-items:center;gap:6px;min-height:20px;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-width:var(--gengage-chat-launcher-width,56px);--_gengage-chat-launcher-height:var(--gengage-chat-launcher-height,56px);--_gengage-chat-launcher-mobile-width:var(--gengage-chat-launcher-mobile-width,var(--_gengage-chat-launcher-width));--_gengage-chat-launcher-mobile-height:var(--gengage-chat-launcher-mobile-height,var(--_gengage-chat-launcher-height));--_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-anchor-bottom,var(--_gengage-chat-launcher-bottom));right:var(--gengage-chat-launcher-anchor-right,var(--_gengage-chat-launcher-right));z-index:var(--gengage-z-index,2147480000);transition:bottom var(--gengage-chat-launcher-anchor-transition,0s) ease, right var(--gengage-chat-launcher-anchor-transition,0s) ease;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-width);height:var(--_gengage-chat-launcher-height);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-img--mobile,.gengage-chat-root--mobile .gengage-chat-launcher-img--desktop{display:none}.gengage-chat-root--mobile .gengage-chat-launcher-img--mobile{display:block}.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-anchor-right,var(--gengage-chat-launcher-mobile-right,16px));bottom:calc(var(--gengage-chat-launcher-anchor-bottom,var(--gengage-chat-launcher-mobile-bottom,16px)) + env(safe-area-inset-bottom,0px))}.gengage-chat-root--mobile .gengage-chat-launcher{width:var(--_gengage-chat-launcher-mobile-width);height:var(--_gengage-chat-launcher-mobile-height)}.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{top:var(--gengage-chat-visual-top,0px);height:var(--gengage-chat-visual-vh,100dvh);max-height:var(--gengage-chat-visual-vh,100dvh);border-radius:0;bottom:auto}.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)}.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}@media (width<=374px){.gengage-chat-header{gap:8px;padding:10px}.gengage-chat-header-right{flex-shrink:1;gap:4px;min-width:0}.gengage-chat-header-btn{width:34px;min-width:34px;height:34px;min-height:34px}}.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.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-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-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--panel-bookmark{max-width:72%;margin-top:-6px}.gengage-chat-inline-panel-bookmark-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px;font-size:11px;font-weight:700}.gengage-chat-inline-panel-bookmark-card{border:1px solid color-mix(in srgb, var(--client-primary) 38%, var(--border-default));background:color-mix(in srgb, var(--surface-card) 94%, transparent);text-align:left;width:100%;color:var(--text-primary);cursor:pointer;box-shadow:var(--shadow-1);border-radius:18px;flex-direction:column;align-items:flex-start;gap:10px;padding:12px;transition:transform .16s,border-color .16s,box-shadow .16s,background-color .16s;display:flex}.gengage-chat-inline-panel-bookmark-card:hover{border-color:color-mix(in srgb, var(--client-primary) 52%, var(--border-default));box-shadow:var(--shadow-2);transform:translateY(-1px)}.gengage-chat-inline-panel-bookmark-card--active{background:color-mix(in srgb, var(--client-primary-subtle) 42%, var(--surface-card))}.gengage-chat-inline-panel-bookmark-previews{gap:8px;display:flex}.gengage-chat-inline-panel-bookmark-preview{background:color-mix(in srgb, var(--surface-card-muted) 70%, var(--surface-card));border:1px solid color-mix(in srgb, var(--border-default) 74%, transparent);border-radius:14px;flex:none;justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex;overflow:hidden}.gengage-chat-inline-panel-bookmark-preview-img{object-fit:cover;width:100%;height:100%;display:block}.gengage-chat-inline-panel-bookmark-preview-fallback{color:var(--text-primary);font-size:13px;font-weight:700}.gengage-chat-inline-panel-bookmark-title{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:15px;font-weight:700;line-height:1.25;display:-webkit-box;overflow:hidden}.gengage-chat-inline-panel-bookmark-cta{color:var(--client-primary);font-size:13px;font-weight:700}@media (width<=768px){.gengage-chat-bubble--panel-bookmark{display:none!important}}.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--ui-spec{box-shadow:none;background:0 0;border:none;min-width:0;padding:0}.gengage-chat-bubble--ui-spec-only{max-width:min(85%,420px)}.gengage-chat-bubble-ui-spec{width:100%}.gengage-chat-bubble--active{outline:2px solid var(--ds-message-active-outline);outline-offset:-2px}.gengage-chat-bubble--panel-restore.gengage-chat-bubble--active{outline:none}.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-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-typing--presence{justify-content:flex-start;width:fit-content;max-width:100%}.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{--gengage-chat-input-control-size:40px;--gengage-chat-input-shell-pad:6px;--gengage-chat-input-shell-radius:18px;--gengage-chat-input-control-radius:12px;min-width:0;min-height:calc(var(--gengage-chat-input-control-size) + (var(--gengage-chat-input-shell-pad) * 2));background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--gengage-chat-input-shell-radius);padding:var(--gengage-chat-input-shell-pad);box-sizing:border-box;box-shadow:none;flex:1;align-items:center;gap:10px;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{box-sizing:border-box;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;padding:11px 0 9px;font-family:inherit;font-size:14px;line-height:1.4;overflow-y:hidden}.gengage-chat-root--mobile .gengage-chat-input-pill{--gengage-chat-input-control-size:44px;--gengage-chat-input-shell-radius:20px;--gengage-chat-input-control-radius:14px;min-height:calc(var(--gengage-chat-input-control-size) + (var(--gengage-chat-input-shell-pad) * 2))}.gengage-chat-root--mobile .gengage-chat-input{white-space:nowrap;min-height:44px;max-height:44px;padding:12px 0 10px;font-size:16px;line-height:1.4;overflow:hidden}.gengage-chat-input::placeholder{color:var(--text-muted);font-size:14px;line-height:inherit}.gengage-chat-send{width:var(--gengage-chat-input-control-size,40px);height:var(--gengage-chat-input-control-size,40px);min-width:var(--gengage-chat-input-control-size,40px);border:1px solid var(--ds-button-primary-border);border-radius:var(--gengage-chat-input-control-radius,12px);background:var(--ds-button-primary-bg);color:var(--ds-button-primary-fg);cursor:pointer;box-shadow:none;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-footer-link{max-width:100%;color:inherit;text-underline-offset:.22em;justify-content:center;align-items:center;text-decoration-line:underline;text-decoration-color:#0000;text-decoration-thickness:1.5px;transition:color .2s,text-decoration-color .2s;display:inline-flex}.gengage-chat-footer-link:hover,.gengage-chat-footer-link:focus-visible{color:var(--gengage-chat-footer-link-hover-color,var(--gengage-brand-accent-mid,var(--ai-accent-end,#f768f2)));-webkit-text-decoration-color:var(--gengage-brand-accent-end,#ffed74);text-decoration-color:var(--gengage-brand-accent-end,#ffed74)}@supports ((-webkit-background-clip:text) or (background-clip:text)){.gengage-chat-footer-link:hover,.gengage-chat-footer-link:focus-visible{background-image:linear-gradient(90deg, var(--gengage-brand-accent-start,var(--ai-accent-start,#0b24d6)) 0%, var(--gengage-brand-accent-start,var(--ai-accent-start,#0b24d6)) 42%, var(--gengage-brand-accent-mid,var(--ai-accent-end,#f768f2)) 100%);color:#0000;-webkit-background-clip:text;background-clip:text}}.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-inline-question-buttons{flex-wrap:wrap;align-items:flex-start;gap:12px;padding:10px 0 4px;display:flex}.gengage-chat-inline-question-btn{border:1px solid var(--ds-chip-border);border-radius:var(--radius-pill);background:var(--ds-chip-bg);max-width:100%;min-height:46px;color:var(--text-primary);text-align:left;white-space:normal;cursor:pointer;flex:0 auto;justify-content:flex-start;padding:11px 18px;font-size:13px;font-weight:700;line-height:1.4;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,transform .15s;box-shadow:0 1px #1118270a}.gengage-chat-inline-question-btn:hover{background:var(--ds-chip-bg-hover);border-color:color-mix(in srgb, var(--client-primary) 16%, var(--ds-chip-border));box-shadow:0 4px 12px #11182714}.gengage-chat-inline-question-btn:active{background:var(--ds-chip-bg-active);border-color:var(--ds-chip-border-active);color:var(--text-primary);transform:translateY(1px);box-shadow:0 1px 4px #1118270f}.gengage-chat-inline-question-icon{color:color-mix(in srgb, var(--client-primary) 38%, var(--text-muted));flex:none;font-size:12px;line-height:1;transform:translateY(-1px)}.gengage-chat-inline-question-label{display:inline}.gengage-chat-root--mobile .gengage-chat-inline-question-buttons{gap:10px}.gengage-chat-root--mobile .gengage-chat-inline-question-btn{width:auto;max-width:min(100%,34rem);padding:12px 16px;font-size:12.5px}.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-panel-restore-card{appearance:none;box-sizing:border-box;font:inherit;border:1px solid color-mix(in srgb, var(--client-primary) 34%, var(--border-default));border-radius:calc(var(--radius-control) + 6px);background:var(--surface-card);width:100%;color:var(--text-primary);text-align:left;cursor:pointer;flex-direction:column;align-items:flex-start;gap:12px;margin:0;padding:16px 18px;transition:transform .18s,background .18s,box-shadow .18s,border-color .18s;display:flex}.gengage-chat-panel-restore-card--minimal{gap:10px;padding:14px 16px}.gengage-chat-panel-restore-card:hover{background:color-mix(in srgb, var(--surface-card) 92%, var(--client-primary-subtle) 8%);box-shadow:var(--shadow-2);border-color:color-mix(in srgb, var(--client-primary) 52%, var(--border-default));transform:translateY(-1px)}.gengage-chat-panel-restore-card:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:3px}.gengage-chat-panel-restore-card__eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);font-size:12px;font-weight:800}.gengage-chat-panel-restore-card__previews{gap:10px;display:flex}.gengage-chat-panel-restore-card--minimal .gengage-chat-panel-restore-card__previews{gap:8px}.gengage-chat-panel-restore-card__thumb{border:1px solid var(--border-default);background:var(--surface-card);border-radius:16px;width:58px;height:58px;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff8a}.gengage-chat-panel-restore-card__thumb img{object-fit:cover;width:100%;height:100%;display:block}.gengage-chat-panel-restore-card__title{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:18px;font-weight:700;line-height:1.24;display:-webkit-box;overflow:hidden}.gengage-chat-panel-restore-card__cta{color:var(--client-primary);font-size:15px;font-weight:700}.gengage-chat-panel-restore-card--minimal .gengage-chat-panel-restore-card__cta{letter-spacing:.01em;font-size:14px}.gengage-chat-root--mobile .gengage-chat-panel-restore-card{-webkit-tap-highlight-color:transparent;padding:14px 16px}.gengage-chat-root--mobile .gengage-chat-panel-restore-card__thumb{border-radius:14px;width:52px;height:52px}.gengage-chat-root--mobile .gengage-chat-bubble--active{outline:none}.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}button.gengage-chat-product-summary__cta{cursor:pointer;font:inherit;border:none}.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-product-grid--pending{filter:blur(3px)saturate(.85);opacity:.75;pointer-events:none;transition:filter .16s ease-out,opacity .16s ease-out;position:relative}.gengage-chat-product-grid--pending:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000 0%,#ffffff59 50%,#0000 100%);animation:1.2s ease-in-out infinite gengage-chat-product-grid-shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes gengage-chat-product-grid-shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.gengage-chat-product-grid--pending:after{animation: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-history-page{flex-direction:column;gap:12px;padding:12px;display:flex}.gengage-chat-history-actions{display:flex}.gengage-chat-history-new-chat{border:1px solid color-mix(in srgb, var(--client-primary) 20%, var(--border-default));border-radius:var(--radius-control);background:color-mix(in srgb, var(--client-primary) 9%, white);width:100%;min-height:42px;color:var(--client-primary);cursor:pointer;padding:0 14px;font-size:13px;font-weight:700;transition:background .15s,border-color .15s,transform .15s}.gengage-chat-history-new-chat:hover{background:color-mix(in srgb, var(--client-primary) 14%, white);border-color:color-mix(in srgb, var(--client-primary) 28%, var(--border-default))}.gengage-chat-history-list{flex-direction:column;gap:10px;display:flex}.gengage-chat-history-item{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card);box-shadow:var(--shadow-1);align-items:stretch;gap:8px;padding:0;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.gengage-chat-history-item:hover{border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default))}.gengage-chat-history-item--active{border-color:color-mix(in srgb, var(--client-primary) 28%, var(--border-default));background:color-mix(in srgb, var(--client-primary) 6%, var(--surface-card))}.gengage-chat-history-open{min-width:0;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;flex:1;padding:12px 14px}.gengage-chat-history-item-title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.gengage-chat-history-item-title{min-width:0;color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.gengage-chat-history-item-meta{color:var(--text-muted);flex-shrink:0;font-size:11px;font-weight:600}.gengage-chat-history-item-preview{color:var(--text-secondary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:6px 0 0;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.gengage-chat-history-delete{border:none;border-left:1px solid color-mix(in srgb, var(--border-default) 84%, transparent);border-top-right-radius:inherit;border-bottom-right-radius:inherit;width:38px;min-width:38px;color:var(--text-muted);cursor:pointer;background:0 0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex}.gengage-chat-history-delete:hover{background:color-mix(in srgb, var(--error) 10%, white);color:var(--error)}.gengage-chat-history-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-history-empty-icon{opacity:.25;color:var(--client-primary)}.gengage-chat-history-empty p{margin:0;font-size:13px;line-height:1.5}.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-panel .gengage-chat-product-grid.gengage-chat-product-grid--consulting-groups{grid-template-columns:repeat(auto-fit,minmax(200px,240px));justify-content:start}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-grid.gengage-chat-product-grid--consulting-groups.gengage-chat-product-grid--mobile{grid-template-columns:1fr}.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:var(--gengage-chat-input-control-size,40px);height:var(--gengage-chat-input-control-size,40px);border-radius:var(--gengage-chat-input-control-radius,12px);color:var(--text-primary);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}@media (width<=374px){.gengage-chat-root--mobile .gengage-chat-header-btn{width:34px;min-width:34px;height:34px;min-height:34px}}.gengage-chat-root--mobile .gengage-chat-attach-btn,.gengage-chat-root--mobile .gengage-chat-mic-btn,.gengage-chat-root--mobile .gengage-chat-send{width:var(--gengage-chat-input-control-size,44px);height:var(--gengage-chat-input-control-size,44px);min-width:var(--gengage-chat-input-control-size,44px);border-radius:var(--gengage-chat-input-control-radius,14px)}.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;line-height:inherit}.gengage-chat-kvkk-banner{color:var(--text-secondary);background:0 0;border:none;padding:14px 32px 10px;font-size:13px;line-height:1.55}.gengage-chat-kvkk-content{min-width:0}.gengage-chat-kvkk-content p{margin:0}.gengage-chat-kvkk-content a{color:inherit;margin-top:8px;text-decoration:underline;display:inline-block}.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 td ul,.gengage-chat-comparison-table td ol{text-align:left;margin:0;padding-left:18px}.gengage-chat-comparison-table td li+li{margin-top:4px}.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-inline-question-btn,.gengage-chat-product-card,.gengage-chat-product-card-cta,.gengage-chat-send,.gengage-chat-launcher-container,.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-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:none}.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,.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child .gengage-chat-ai-toppick-img{object-fit:contain;width:calc(100% - 8px);height:calc(100% - 8px);position:absolute;inset:4px}.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{--_badge-inset-top:12px;--_badge-height:30px;box-sizing:border-box;padding:calc(var(--_badge-inset-top) + var(--_badge-height) + 6px) 12px 12px;border-radius:var(--radius-card);background:var(--surface-card);flex-direction:column;align-items:stretch;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{top:var(--_badge-inset-top,12px);z-index:2;box-sizing:border-box;text-transform:uppercase;letter-spacing:.04em;pointer-events:none;white-space:normal;border-radius:999px;align-items:center;max-width:calc(100% - 28px);margin:0;padding:8px 14px;font-size:11px;font-weight:800;line-height:1.25;display:inline-flex;position:absolute;left:14px}.gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-badge{background:var(--client-primary);color:var(--client-on-primary);box-shadow:0 10px 18px color-mix(in srgb, var(--client-primary) 20%, transparent)}.gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-badge{background:var(--surface-card);color:color-mix(in srgb, var(--client-primary) 72%, var(--text-primary));border:1px solid color-mix(in srgb, var(--client-primary) 24%, var(--border-default))}.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:100%;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:8px;max-width:100%;padding:7px 9px;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:64px;height:auto;max-height:26px;display:block}.gengage-chat-campaign-price-badge__body{flex-direction:column;justify-content:center;align-items:flex-start;gap:1px;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:10px;font-weight:700;line-height:1.2}.gengage-chat-campaign-price-badge__sale{color:var(--gengage-discounted-price-color,var(--text-primary));font-size:14px;font-weight:800;line-height:1.15}.gengage-chat-product-card-price-row .gengage-chat-campaign-price-badge__sale{font-size:13px}.gengage-chat-product-summary__price .gengage-chat-campaign-price-badge__sale{font-size:12px}.gengage-chat-product-details-price .gengage-chat-campaign-price-badge{border-radius:var(--radius-control,12px);padding:9px 11px}.gengage-chat-product-details-price .gengage-chat-campaign-price-badge__reason{font-size:11px}.gengage-chat-product-details-price .gengage-chat-campaign-price-badge__sale{font-size:18px}: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--uniform-mobile{scroll-snap-type:none;flex-direction:column;margin:0;padding:0;overflow-x: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-top-picks-rest--uniform-mobile .gengage-chat-ai-toppick-card--compact{scroll-snap-align:none;flex:none;width:100%;max-width:none}.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--mobile-uniform{margin-top:8px;padding:10px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-top-row,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform .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,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform .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,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform .gengage-chat-ai-toppick-img{object-fit:contain;width:100%;height:100%;padding:4px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-body,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform .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,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform .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,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform .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--mobile-uniform .gengage-chat-ai-toppick-cta{display:block!important}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-cta:hover,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--mobile-uniform .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;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;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-product-grid-wrapper--grouped{gap:12px}.gengage-chat-product-grid-sections{flex-direction:column;gap:20px;display:flex}.gengage-chat-product-grid-section{border-top:1px solid color-mix(in srgb, var(--border-default) 70%, transparent);flex-direction:column;gap:10px;padding:14px 0 18px;display:flex}.gengage-chat-product-grid-section:first-child{border-top:0;padding-top:4px}.gengage-chat-product-grid-section:last-child{padding-bottom:4px}.gengage-chat-product-grid-section-head{justify-content:space-between;align-items:baseline;gap:12px;min-width:0;padding:0 2px;display:flex}.gengage-chat-product-grid-section-title{letter-spacing:0;min-width:0;color:var(--text-primary);overflow-wrap:anywhere;margin:0;font-family:inherit;font-size:15px;font-weight:700;line-height:1.25}.gengage-chat-product-grid-section-count{border:1px solid var(--border-subtle);border-radius:var(--radius-pill);background:var(--surface-card-soft);min-height:22px;color:var(--text-secondary);letter-spacing:0;white-space:nowrap;flex:none;justify-content:center;align-items:center;padding:1px 8px;font-family:inherit;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.gengage-chat-panel .gengage-chat-product-grid--section{padding-top:0;padding-bottom:2px}.gengage-chat-root--mobile .gengage-chat-product-grid-sections{gap:16px}.gengage-chat-root--mobile .gengage-chat-product-grid-section{gap:8px;padding:12px 0 14px}.gengage-chat-root--mobile .gengage-chat-product-grid-section-title{font-size:14px}.gengage-chat-root--mobile .gengage-chat-product-grid-section-count{min-height:20px;padding-inline:8px;font-size:10.5px}.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-btn--loading{border-style:dashed}.gengage-chat-consulting-style-btn--muted{opacity:.78}.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);-webkit-user-drag:none;-webkit-user-select:none;user-select:none;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-style-status{color:var(--text-primary);background:color-mix(in srgb, white 88%, var(--client-primary) 12%);border:1px solid color-mix(in srgb, var(--client-primary) 18%, var(--border-default));border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;position:absolute;top:10px;right:10px}.gengage-chat-consulting-loading-panel{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:18px;flex-direction:column;gap:12px;padding:16px;display:flex}.gengage-chat-consulting-loading-panel-title{color:var(--text-primary);margin:0;font-size:18px;font-weight:800}.gengage-chat-consulting-loading-panel-copy{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.5}.gengage-chat-consulting-loading-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.gengage-chat-consulting-loading-card{border:1px solid var(--border-default);background:linear-gradient(90deg, color-mix(in srgb, var(--surface-card-soft) 94%, white) 20%, color-mix(in srgb, white 86%, var(--surface-card-soft) 14%) 50%, color-mix(in srgb, var(--surface-card-soft) 94%, white) 80%);background-size:220% 100%;border-radius:18px;min-height:240px;animation:1.2s linear infinite gengage-chat-consulting-loading-shimmer}@keyframes gengage-chat-consulting-loading-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.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(0, 1fr));justify-content:stretch;align-items:stretch;gap:14px;margin-bottom:2px;display:grid}.gengage-chat-consulting-group-grid .gengage-chat-product-card{width:100%;min-width:0;max-width:none;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;min-width:0;padding:14px}.gengage-chat-panel .gengage-chat-consulting-group-grid .gengage-chat-product-card{width:100%;min-width:0;max-width:100%;margin-inline:0}.gengage-chat-panel .gengage-chat-consulting-group-grid .gengage-chat-product-card .gengage-chat-product-card-img-wrapper{flex-shrink:1;align-self:stretch;min-width:0;max-width:100%}.gengage-chat-panel .gengage-chat-consulting-group-grid .gengage-chat-product-card .gengage-chat-product-card-body{min-width:0;max-width:100%}.gengage-chat-panel .gengage-chat-consulting-group-grid .gengage-chat-product-card .gengage-chat-product-card-name,.gengage-chat-panel .gengage-chat-consulting-group-grid .gengage-chat-product-card .gengage-chat-product-card-price,.gengage-chat-panel .gengage-chat-consulting-group-grid .gengage-chat-product-card .gengage-chat-product-card-price-block{overflow-wrap:anywhere;word-break:break-word}.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-root--mobile .gengage-chat-consulting-loading-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: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-panel.gengage-chat-panel--visible~.gengage-chat-comparison-dock-slot:not(:empty){left:0;right:0;bottom:calc(var(--gengage-chat-input-control-size,44px) + 8px + env(safe-area-inset-bottom,0px));z-index:30;box-sizing:border-box;pointer-events:none;max-width:100%;padding:0 10px;display:block;position:absolute}.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-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:auto;background:var(--surface-card);border:1px solid var(--border-default);z-index:5;opacity:1;border-bottom:none;border-radius:16px 16px 0 0;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;width:auto;max-width:none;margin-left:0;margin-right:0;padding:12px 20px;transition:opacity .2s,transform .2s;display:grid;position:absolute;bottom:-16px;left:-16px;right:-16px;transform:translateY(0);box-shadow:0 -2px 8px #00000014}.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-actions{justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:inline-flex}.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:color-mix(in srgb, var(--surface-card-soft) 92%, white);width:40px;height:40px;color:var(--text-muted);cursor:pointer;border-radius:999px;flex:none;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;transition:color .15s,border-color .15s,background .15s;display:flex}.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;align-items:center;gap:8px;padding:6px 14px;font-size:13px;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.gengage-chat-categories-tab-image{object-fit:cover;border:1px solid var(--border-subtle);background:var(--surface-card-muted);-webkit-user-drag:none;-webkit-user-select:none;user-select:none;border-radius:999px;flex:none;width:28px;height:28px}.gengage-chat-categories-tab-text{min-width:0}.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-panel{flex-direction:column;gap:12px;display:flex}.gengage-chat-categories-group-summary{border:1px solid color-mix(in srgb, var(--client-primary) 20%, var(--border-default));background:color-mix(in srgb, var(--client-primary) 6%, var(--surface-card));border-radius:8px;flex-direction:column;gap:8px;padding:12px;display:flex}.gengage-chat-categories-group-selection{border:1px solid color-mix(in srgb, var(--client-primary) 24%, var(--border-default));background:color-mix(in srgb, var(--client-primary) 10%, white);max-width:100%;color:var(--client-primary);border-radius:999px;align-self:flex-start;align-items:center;gap:10px;padding:6px 12px 6px 8px;display:inline-flex}.gengage-chat-categories-group-selection-image{object-fit:cover;border:1px solid color-mix(in srgb, white 82%, var(--border-subtle) 18%);background:var(--surface-card-muted);-webkit-user-drag:none;-webkit-user-select:none;user-select:none;border-radius:999px;flex:none;width:30px;height:30px}.gengage-chat-categories-group-selection-title{min-width:0;color:inherit;font-size:13px;font-weight:800;line-height:1.25}.gengage-chat-categories-group-chips{flex-wrap:wrap;gap:6px;display:flex}.gengage-chat-categories-group-chip{border:1px solid var(--border-default);background:color-mix(in srgb, white 78%, var(--surface-card-soft));color:var(--text-secondary);border-radius:999px;align-items:center;padding:5px 10px;font-size:11px;font-weight:700;line-height:1.2;display:inline-flex}.gengage-chat-categories-group-chip--accent{border-color:color-mix(in srgb, var(--client-primary) 22%, var(--border-default));background:color-mix(in srgb, var(--client-primary) 10%, white);color:var(--client-primary)}.gengage-chat-categories-group-reason{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.5}.gengage-chat-categories-grid{grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:12px;display:grid}.gengage-chat-categories-grid .gengage-chat-product-card{width:100%;min-width:0;max-width:none}:is(.gengage-chat-categories .gengage-chat-product-card-img,.gengage-chat-consulting-group-grid .gengage-chat-product-card-img,.gengage-chat-product-grid-wrapper:has(.gengage-chat-consulting-style-picker) .gengage-chat-product-card-img){-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.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-footer-link:focus-visible,.gengage-chat-send:focus-visible,.gengage-chat-action-btn:focus-visible,.gengage-chat-inline-question-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-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-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-root--mobile-half .gengage-chat-comparison-dock-slot .gengage-chat-choice-prompter{display:none}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-choice-prompter{box-sizing:border-box;pointer-events:auto;opacity:1;border-radius:14px;grid-template-columns:1fr;gap:10px;width:100%;max-width:100%;max-height:none;margin:0;padding:10px 12px;display:none;position:relative;bottom:auto;left:auto;right:auto;overflow:visible;transform:none}.gengage-chat-root--mobile.gengage-chat-root--mobile-full .gengage-chat-panel--visible~.gengage-chat-comparison-dock-slot .gengage-chat-choice-prompter{display:grid}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-choice-prompter-suggestion{display:none}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-choice-prompter-actions{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-choice-prompter-cta{width:100%;min-width:0;min-height:44px;padding:0 14px}.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-dropdown--open{z-index:40}.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-product-sort-menu{width:min(224px,100vw - 32px);min-width:196px;max-width:calc(100vw - 32px);top:calc(100% + 6px);left:auto;right:0}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-option{min-height:44px;padding:10px 12px;font-size:13px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-option-label{white-space:normal;line-height:1.3}.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-comparison-dock-slot .gengage-chat-choice-prompter-dismiss{width:40px;height:40px}.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}@media (prefers-reduced-motion:reduce){.gengage-chat-consulting-loading-card{animation:none}}.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}.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--neutral{background:var(--surface-shell);color:var(--text-inverse)}.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}', Bo = /* @__PURE__ */ new Set([
6203
6222
  "launchSingleProduct",
6204
6223
  "launchProductList",
6205
6224
  "launchHomepage"
@@ -6292,7 +6311,7 @@ var Fo = class Me extends Ya {
6292
6311
  onClick: () => this.open(),
6293
6312
  ariaLabel: this._i18n.openButton
6294
6313
  };
6295
- e.launcherImageUrl !== void 0 ? u.imageUrl = e.launcherImageUrl : e.launcherSvg !== void 0 && (u.svgMarkup = e.launcherSvg), e.mobileLauncherImageUrl !== void 0 && (u.mobileImageUrl = e.mobileLauncherImageUrl), e.hideMobileLauncher !== void 0 && (u.hideMobile = e.hideMobileLauncher), e.mobileBreakpoint !== void 0 && (u.mobileBreakpoint = e.mobileBreakpoint), e.launcherTooltip !== void 0 && (u.tooltip = e.launcherTooltip), this._launcher = Ti(u), i.appendChild(this._launcher.container);
6314
+ e.launcherImageUrl !== void 0 ? u.imageUrl = e.launcherImageUrl : e.launcherSvg !== void 0 && (u.svgMarkup = e.launcherSvg), e.mobileLauncherImageUrl !== void 0 && (u.mobileImageUrl = e.mobileLauncherImageUrl), e.hideMobileLauncher !== void 0 && (u.hideMobile = e.hideMobileLauncher), e.mobileBreakpoint !== void 0 && (u.mobileBreakpoint = e.mobileBreakpoint), e.launcherTooltip !== void 0 && (u.tooltip = e.launcherTooltip), this._launcher = Li(u), i.appendChild(this._launcher.container);
6296
6315
  }
6297
6316
  this._setupLauncherAnchor(e), e.inlineLauncher && this._setupInlineLauncher(e);
6298
6317
  }
@@ -6324,6 +6343,7 @@ var Fo = class Me extends Ya {
6324
6343
  launcherImageUrl: e.launcherImageUrl,
6325
6344
  headerBadge: e.headerBadge,
6326
6345
  headerCartUrl: e.headerCartUrl,
6346
+ footerAttribution: e.footerAttribution,
6327
6347
  showHeaderFavorites: typeof e.onFavoritesClick == "function" || e.headerFavoritesToggle === !0,
6328
6348
  ...e.headerCartUrl || e.onCartClick ? { onCartClick: () => {
6329
6349
  e.headerCartUrl ? this._saveSessionAndOpenURL(e.headerCartUrl) : e.onCartClick?.();
@@ -6400,15 +6420,15 @@ var Fo = class Me extends Ya {
6400
6420
  if (!this._drawerVisible || !this._isMobileViewport) return;
6401
6421
  const _ = this._drawer?.getElement();
6402
6422
  if (!_) return;
6403
- const y = window.visualViewport, b = Math.max(0, Math.round(window.innerHeight - (y.height + y.offsetTop))), L = b > 90, M = this._openState === "full" && L ? b : 0;
6404
- M !== this._lastAppliedKeyboardInset && (this._lastAppliedKeyboardInset = M, _.style.setProperty("--gengage-chat-keyboard-inset", `${M}px`)), this._openState === "full" && (_.style.setProperty("--gengage-chat-visual-vh", `${Math.round(y.height)}px`), _.style.setProperty("--gengage-chat-visual-top", `${Math.round(y.offsetTop)}px`));
6423
+ const w = window.visualViewport, b = Math.max(0, Math.round(window.innerHeight - (w.height + w.offsetTop))), A = b > 90, T = this._openState === "full" && A ? b : 0;
6424
+ T !== this._lastAppliedKeyboardInset && (this._lastAppliedKeyboardInset = T, _.style.setProperty("--gengage-chat-keyboard-inset", `${T}px`)), this._openState === "full" && (_.style.setProperty("--gengage-chat-visual-vh", `${Math.round(w.height)}px`), _.style.setProperty("--gengage-chat-visual-top", `${Math.round(w.offsetTop)}px`));
6405
6425
  };
6406
6426
  this._syncVisualVh = () => {
6407
6427
  if (!this._isMobileViewport || this._openState !== "full") return;
6408
6428
  const _ = this._drawer?.getElement();
6409
6429
  if (!_ || !window.visualViewport) return;
6410
- const y = window.visualViewport;
6411
- _.style.setProperty("--gengage-chat-visual-vh", `${Math.round(y.height)}px`), _.style.setProperty("--gengage-chat-visual-top", `${Math.round(y.offsetTop)}px`);
6430
+ const w = window.visualViewport;
6431
+ _.style.setProperty("--gengage-chat-visual-vh", `${Math.round(w.height)}px`), _.style.setProperty("--gengage-chat-visual-top", `${Math.round(w.offsetTop)}px`);
6412
6432
  }, window.visualViewport.addEventListener("resize", g), window.visualViewport.addEventListener("scroll", g), this.addCleanup(() => {
6413
6433
  window.visualViewport?.removeEventListener("resize", g), window.visualViewport?.removeEventListener("scroll", g);
6414
6434
  });
@@ -6478,28 +6498,28 @@ var Fo = class Me extends Ya {
6478
6498
  const a = e.launcherAnchor;
6479
6499
  if (!a || !a.mobile && !a.desktop) return;
6480
6500
  const n = this.root, r = e.mobileBreakpoint ?? 768, i = () => window.innerWidth <= r ? a.mobile : a.desktop, o = () => {
6481
- const M = i();
6482
- return !!M?.dynamicRelocate && !!M.selector;
6501
+ const T = i();
6502
+ return !!T?.dynamicRelocate && !!T.selector;
6483
6503
  }, s = "--gengage-chat-launcher-anchor-bottom", c = "--gengage-chat-launcher-anchor-right";
6484
6504
  (a.mobile?.dynamicRelocate || a.desktop?.dynamicRelocate) && n.style.setProperty("--gengage-chat-launcher-anchor-transition", "0.35s");
6485
6505
  const l = () => {
6486
- const M = window.innerWidth <= r ? a.mobile : a.desktop;
6487
- if (!M) return;
6488
- const k = M.selector, E = !!k, R = (E ? document.querySelector(k) : null)?.getBoundingClientRect();
6489
- if (M.bottom !== void 0) {
6490
- const { offset: G, type: W } = M.bottom;
6491
- if (!E) n.style.setProperty(s, `${Math.max(0, G)}px`);
6492
- else if (R) {
6493
- const P = W === "root" || G === 0 ? R.bottom : R.top, H = Math.max(0, window.innerHeight - P + G);
6494
- n.style.setProperty(s, `${H}px`);
6506
+ const T = window.innerWidth <= r ? a.mobile : a.desktop;
6507
+ if (!T) return;
6508
+ const k = T.selector, P = !!k, z = (P ? document.querySelector(k) : null)?.getBoundingClientRect();
6509
+ if (T.bottom !== void 0) {
6510
+ const { offset: U, type: X } = T.bottom;
6511
+ if (!P) n.style.setProperty(s, `${Math.max(0, U)}px`);
6512
+ else if (z) {
6513
+ const E = X === "root" || U === 0 ? z.bottom : z.top, R = Math.max(0, window.innerHeight - E + U);
6514
+ n.style.setProperty(s, `${R}px`);
6495
6515
  }
6496
6516
  }
6497
- if (M.right !== void 0) {
6498
- const { offset: G, type: W } = M.right;
6499
- if (!E) n.style.setProperty(c, `${Math.max(0, G)}px`);
6500
- else if (R) {
6501
- const P = W === "root" || G === 0 ? R.right : R.left, H = Math.max(0, window.innerWidth - P + G);
6502
- n.style.setProperty(c, `${H}px`);
6517
+ if (T.right !== void 0) {
6518
+ const { offset: U, type: X } = T.right;
6519
+ if (!P) n.style.setProperty(c, `${Math.max(0, U)}px`);
6520
+ else if (z) {
6521
+ const E = X === "root" || U === 0 ? z.right : z.left, R = Math.max(0, window.innerWidth - E + U);
6522
+ n.style.setProperty(c, `${R}px`);
6503
6523
  }
6504
6524
  }
6505
6525
  }, d = () => {
@@ -6515,43 +6535,43 @@ var Fo = class Me extends Ya {
6515
6535
  });
6516
6536
  let v = null, u = null;
6517
6537
  const g = () => {
6518
- const M = i()?.selector;
6519
- return !M || !!document.querySelector(M);
6538
+ const T = i()?.selector;
6539
+ return !T || !!document.querySelector(T);
6520
6540
  }, _ = () => {
6521
6541
  !o() || g() || (u?.disconnect(), u = new MutationObserver(() => {
6522
- g() && (u?.disconnect(), u = null, y());
6542
+ g() && (u?.disconnect(), u = null, w());
6523
6543
  }), u.observe(document.body, {
6524
6544
  childList: !0,
6525
6545
  subtree: !0
6526
6546
  }));
6527
- }, y = () => {
6547
+ }, w = () => {
6528
6548
  x.disconnect(), v?.disconnect(), v = null, p = !1;
6529
- const M = i();
6530
- if (!M) return;
6531
- if (!M.selector) {
6549
+ const T = i();
6550
+ if (!T) return;
6551
+ if (!T.selector) {
6532
6552
  l();
6533
6553
  return;
6534
6554
  }
6535
- const k = document.querySelector(M.selector);
6536
- k && (x.observe(k), o() ? (v = new IntersectionObserver((E) => {
6537
- for (const R of E) R.isIntersecting ? (p = !0, l()) : (p = !1, d(), _());
6555
+ const k = document.querySelector(T.selector);
6556
+ k && (x.observe(k), o() ? (v = new IntersectionObserver((P) => {
6557
+ for (const z of P) z.isIntersecting ? (p = !0, l()) : (p = !1, d(), _());
6538
6558
  }, { threshold: 0 }), v.observe(k)) : l());
6539
6559
  };
6540
- y();
6560
+ w();
6541
6561
  let b = 0;
6542
- const L = () => {
6562
+ const A = () => {
6543
6563
  b || (b = requestAnimationFrame(() => {
6544
- b = 0, p = !1, d(), u?.disconnect(), u = null, y(), _(), o() || l();
6564
+ b = 0, p = !1, d(), u?.disconnect(), u = null, w(), _(), o() || l();
6545
6565
  }));
6546
6566
  };
6547
- window.addEventListener("resize", L, { passive: !0 }), window.addEventListener("scroll", m, { passive: !0 }), window.visualViewport?.addEventListener("scroll", m, { passive: !0 }), this._syncLauncherAnchor = () => {
6548
- p = !1, d(), u?.disconnect(), u = null, y(), _();
6567
+ window.addEventListener("resize", A, { passive: !0 }), window.addEventListener("scroll", m, { passive: !0 }), window.visualViewport?.addEventListener("scroll", m, { passive: !0 }), this._syncLauncherAnchor = () => {
6568
+ p = !1, d(), u?.disconnect(), u = null, w(), _();
6549
6569
  }, o() ? _() : (l(), [
6550
6570
  100,
6551
6571
  400,
6552
6572
  1e3
6553
- ].forEach((M) => window.setTimeout(l, M))), this._launcherAnchorCleanup = () => {
6554
- x.disconnect(), v?.disconnect(), u?.disconnect(), window.removeEventListener("resize", L), window.removeEventListener("scroll", m), window.visualViewport?.removeEventListener("scroll", m), b && cancelAnimationFrame(b), h && cancelAnimationFrame(h);
6573
+ ].forEach((T) => window.setTimeout(l, T))), this._launcherAnchorCleanup = () => {
6574
+ x.disconnect(), v?.disconnect(), u?.disconnect(), window.removeEventListener("resize", A), window.removeEventListener("scroll", m), window.visualViewport?.removeEventListener("scroll", m), b && cancelAnimationFrame(b), h && cancelAnimationFrame(h);
6555
6575
  };
6556
6576
  }
6557
6577
  syncLauncherAnchor() {
@@ -7073,12 +7093,12 @@ var Fo = class Me extends Ya {
7073
7093
  return;
7074
7094
  }
7075
7095
  if (this._clearChoicePrompter(), a?.preservePanel || qt(), !a?.preservePanel && this._comparisonSelectMode && e.type !== "getComparisonTable" && (this._comparisonSelectMode = !1, this._comparisonSelectedSkus = []), a?.preservePanel || (this._localPanelHistory = []), this._currentThreadId && this._lastThreadId && this._lastThreadId > this._currentThreadId) {
7076
- const f = this._currentThreadId, S = this._messages.filter((T) => T.threadId !== void 0 && T.threadId > f);
7077
- this._messages = this._messages.filter((T) => !T.threadId || T.threadId <= f);
7078
- for (const T of S)
7079
- this._shadow?.querySelector(`[data-message-id="${he(T.id)}"]`)?.remove(), this._panel?.deleteSnapshotForMessage(T.id);
7080
- this._panel?.pruneThreadsAfter(f), this._shadow?.querySelectorAll("[data-thread-id]")?.forEach((T) => {
7081
- T instanceof HTMLElement && T.dataset.threadId && T.dataset.threadId > f && T.remove();
7096
+ const f = this._currentThreadId, S = this._messages.filter((L) => L.threadId !== void 0 && L.threadId > f);
7097
+ this._messages = this._messages.filter((L) => !L.threadId || L.threadId <= f);
7098
+ for (const L of S)
7099
+ this._shadow?.querySelector(`[data-message-id="${he(L.id)}"]`)?.remove(), this._panel?.deleteSnapshotForMessage(L.id);
7100
+ this._panel?.pruneThreadsAfter(f), this._shadow?.querySelectorAll("[data-thread-id]")?.forEach((L) => {
7101
+ L instanceof HTMLElement && L.dataset.threadId && L.dataset.threadId > f && L.remove();
7082
7102
  });
7083
7103
  }
7084
7104
  a?.preservePills || this._drawer?.setPills([]), this._drawer?.clearInputAreaChips();
@@ -7094,9 +7114,9 @@ var Fo = class Me extends Ya {
7094
7114
  if (o || (this._activeRequestThreadId = i), !a?.silent && !o && this._drawer?.setPresentationFocus(i), !a?.silent) {
7095
7115
  const f = typeof e.payload == "string" ? e.payload : typeof e.payload?.text == "string" ? e.payload.text : e.title, S = this._messages.length > 0 ? this._messages[this._messages.length - 1] : void 0;
7096
7116
  if (!(S !== void 0 && S.role === "user" && S.content === f)) {
7097
- (!this._messages.some((q) => q.role === "user") || this._drawer?.isKvkkBannerVisible()) && (ct(this.config.accountId), this._drawer?.hideKvkkBanner());
7098
- const T = this._createMessage("user", f);
7099
- T.threadId = i, a?.attachment !== void 0 && (T.attachment = a.attachment), this._drawer?.addMessage(T), a?.attachment !== void 0 && this._modeController.isBeautyConsulting && this._drawer?.setBeautyPhotoStepCard({ visible: !1 }), this._messages.push(T), this._persistHistoryToLocalStorage();
7117
+ (!this._messages.some(($) => $.role === "user") || this._drawer?.isKvkkBannerVisible()) && (ct(this.config.accountId), this._drawer?.hideKvkkBanner());
7118
+ const L = this._createMessage("user", f);
7119
+ L.threadId = i, a?.attachment !== void 0 && (L.attachment = a.attachment), this._drawer?.addMessage(L), a?.attachment !== void 0 && this._modeController.isBeautyConsulting && this._drawer?.setBeautyPhotoStepCard({ visible: !1 }), this._messages.push(L), this._persistHistoryToLocalStorage();
7100
7120
  }
7101
7121
  }
7102
7122
  const d = !a?.silent && this._assistantMode === "shopping" && this._hasUnavailableProductContext() && (e.type === "user_message" || e.type === "inputText");
@@ -7123,7 +7143,7 @@ var Fo = class Me extends Ya {
7123
7143
  ...this.config.injectorAdapter ? { injectorAdapter: this.config.injectorAdapter } : {}
7124
7144
  };
7125
7145
  a?.attachment !== void 0 && (_.attachment = a.attachment);
7126
- const y = this._getVisibleMessages().filter((f) => !f.frontendOnly && f !== g && (f.content || f.role === "assistant")).slice(-50).map((f) => ({
7146
+ const w = this._getVisibleMessages().filter((f) => !f.frontendOnly && f !== g && (f.content || f.role === "assistant")).slice(-50).map((f) => ({
7127
7147
  role: f.role === "user" ? "user" : "model",
7128
7148
  content: f.content ?? ""
7129
7149
  })), b = {
@@ -7144,115 +7164,116 @@ var Fo = class Me extends Ya {
7144
7164
  isMobile: this._isMobileViewport
7145
7165
  };
7146
7166
  this.config.isDemoWebsite === !0 && (b.openPdpSimilars = !0), this._modeController.isShopping || (b.assistantMode = this._modeController.mode), this.config.session?.viewId !== void 0 && (b.viewId = this.config.session.viewId);
7147
- const L = cn(e, {
7167
+ const A = cn(e, {
7148
7168
  pageContext: this.config.pageContext,
7149
7169
  backendContext: this._lastBackendContext,
7150
7170
  isMobile: this._isMobileViewport,
7151
7171
  genericNonPdpLaunch: this.config.genericNonPdpLaunch
7152
- }), M = {
7172
+ }), T = {
7153
7173
  account_id: this.config.accountId,
7154
7174
  session_id: this.config.session?.sessionId ?? "",
7155
7175
  correlation_id: this.config.session?.sessionId ?? "",
7156
- type: L.type,
7176
+ type: A.type,
7157
7177
  locale: Ue(this.config.locale),
7158
7178
  meta: b,
7159
7179
  context: {
7160
7180
  ...this._lastBackendContext ?? {},
7161
- messages: y,
7181
+ messages: w,
7162
7182
  session_id: this.config.session?.sessionId ?? ""
7163
7183
  }
7164
7184
  };
7165
- this.config.session?.userId !== void 0 && (M.user_id = this.config.session.userId), this.config.session?.viewId !== void 0 && (M.view_id = this.config.session.viewId), L.payload !== void 0 && (M.payload = L.payload), !d && this.config.pageContext?.sku !== void 0 && (M.sku = this.config.pageContext.sku), !d && this.config.pageContext?.pageType !== void 0 && (M.page_type = this.config.pageContext.pageType);
7166
- let k = !1, E = !1, R = !1, G = !1, W = !1, P = !1;
7167
- const H = Un();
7168
- let D = null, N = null;
7185
+ this.config.session?.userId !== void 0 && (T.user_id = this.config.session.userId), this.config.session?.viewId !== void 0 && (T.view_id = this.config.session.viewId), A.payload !== void 0 && (T.payload = A.payload), !d && this.config.pageContext?.sku !== void 0 && (T.sku = this.config.pageContext.sku), !d && this.config.pageContext?.pageType !== void 0 && (T.page_type = this.config.pageContext.pageType);
7186
+ let k = !1, P = !1, z = !1, U = !1, X = !1, E = !1;
7187
+ const R = Un();
7188
+ let F = null, B = null;
7169
7189
  const C = () => {
7170
- if (this._drawer && !G) {
7171
- if (!R) {
7190
+ if (this._drawer && !U) {
7191
+ if (!z) {
7172
7192
  this._drawer.setPanelAiZoneState("hidden");
7173
7193
  return;
7174
7194
  }
7175
- W ? this._drawer.setPanelAiZoneState("hidden") : this._drawer.setPanelAiZoneState("analyzing", { analyzingLabel: this._i18n.aiAnalysisAnalyzingLabel });
7195
+ X ? this._drawer.setPanelAiZoneState("hidden") : this._drawer.setPanelAiZoneState("analyzing", { analyzingLabel: this._i18n.aiAnalysisAnalyzingLabel });
7176
7196
  }
7177
- }, U = (f) => {
7178
- if (!D || !this._drawer) return;
7197
+ }, O = (f) => {
7198
+ if (!F || !this._drawer) return;
7179
7199
  const S = this._buildRenderContext();
7180
7200
  S.isStreaming = f;
7181
- const T = this._renderUISpec(D, S);
7182
- G = !0, this._drawer.setPanelAiZoneState("results", { resultEl: T }), D = null;
7183
- }, B = (f, S, T) => {
7201
+ const L = this._renderUISpec(F, S);
7202
+ U = !0, this._drawer.setPanelAiZoneState("results", { resultEl: L }), F = null;
7203
+ }, N = (f, S, L) => {
7184
7204
  if (f === "ProductGrid" || f === "CategoriesContainer") {
7185
- R = !0, U(T), C();
7205
+ z = !0, O(L), C();
7186
7206
  return;
7187
7207
  }
7188
- S !== "appendSimilars" && S !== "append" && (R = !1, G = !1, D = null, this._drawer?.setPanelAiZoneState("hidden"));
7189
- }, j = (f) => (f === "ProductGrid" || f === "CategoriesContainer") && (R || G || D !== null), F = () => {
7190
- P || (P = !0, this._drawer?.removeTypingIndicator(), r(!1), this._bridge?.send("loadingMessage", { text: null }));
7191
- }, ne = (f, S, T) => {
7208
+ S !== "appendSimilars" && S !== "append" && (z = !1, U = !1, F = null, this._drawer?.setPanelAiZoneState("hidden"));
7209
+ }, q = (f) => (f === "ProductGrid" || f === "CategoriesContainer") && (z || U || F !== null), D = () => {
7210
+ E || (E = !0, this._drawer?.removeTypingIndicator(), r(!1), this._bridge?.send("loadingMessage", { text: null }));
7211
+ }, ne = (f, S, L) => {
7192
7212
  if (!this._drawer || !this._panel) return;
7193
- const q = f.elements[f.root];
7194
- if (T === "ProductGrid" && q) {
7195
- const I = ft(q);
7213
+ const $ = f.elements[f.root];
7214
+ if (L === "ProductGrid" && $) {
7215
+ const I = ft($);
7196
7216
  if (I.isConsulting) {
7197
- const O = this._drawer.getPanelContentElement();
7198
- if (O && Ei(O, I, S)) {
7217
+ const j = this._drawer.getPanelContentElement();
7218
+ if (j && Ei(j, I, S)) {
7199
7219
  this._comparisonSelectMode = !1, this._comparisonSelectedSkus = [], this._comparisonSelectionWarning = null, this._drawer.setComparisonDockContent(null), this._currentPanelSource = {
7200
7220
  kind: "spec",
7201
7221
  spec: f
7202
- }, this._panel.currentType = T, this._drawer.resyncPanelTopBarFromCurrentContent();
7222
+ }, this._panel.currentType = L, this._drawer.resyncPanelTopBarFromCurrentContent();
7203
7223
  return;
7204
7224
  }
7205
7225
  }
7206
7226
  }
7207
- this._comparisonSelectMode = !1, this._comparisonSelectedSkus = [], this._comparisonSelectionWarning = null, this._drawer.setComparisonDockContent(null), this._drawer.setPanelContent(this._renderUISpec(f, S), { preserveAiZone: j(T) }), this._currentPanelSource = {
7227
+ this._comparisonSelectMode = !1, this._comparisonSelectedSkus = [], this._comparisonSelectionWarning = null, this._drawer.setComparisonDockContent(null), this._drawer.setPanelContent(this._renderUISpec(f, S), { preserveAiZone: q(L) }), this._currentPanelSource = {
7208
7228
  kind: "spec",
7209
7229
  spec: f
7210
- }, this._panel.currentType = T;
7211
- }, X = (f, S, T, q) => {
7230
+ }, this._panel.currentType = L;
7231
+ }, W = (f, S, L, $) => {
7212
7232
  if (!this._panel) return;
7213
7233
  f === "ProductDetailsPanel" && e.type === "launchSingleProduct" && this._clearUnavailableProductContext(), g.threadId && this._panel.threads[this._panel.threads.length - 1] !== g.threadId && this._panel.threads.push(g.threadId), this._isMobileViewport && f === "ProductGrid" && this._ensureMobilePanelOverlayVisible();
7214
- const I = this._panel.currentType ?? f, O = S?.props?.panelTitle;
7215
- this._panel.updateTopBar(I, O), this._panel.updateExtendedMode(f), this._isMobileViewport && c && this._drawer?.hideMobilePanel(), B(f, T, q);
7234
+ const I = this._panel.currentType ?? f, j = S?.props?.panelTitle;
7235
+ this._panel.updateTopBar(I, j), this._panel.updateExtendedMode(f), this._isMobileViewport && c && this._drawer?.hideMobilePanel(), N(f, L, $);
7216
7236
  };
7217
- let V = null;
7218
- if (V = pn(M, {
7219
- onTextChunk: (f, S, T) => {
7220
- if (!o && i !== this._activeRequestThreadId || (u += f, Ho(u) && F(), T?.skuToProductItem && (this._skuToProductItem = {
7237
+ let K = null;
7238
+ if (K = pn(T, {
7239
+ onTextChunk: (f, S, L) => {
7240
+ if (!o && i !== this._activeRequestThreadId || (u += f, L?.skuToProductItem && (this._skuToProductItem = {
7221
7241
  ...this._skuToProductItem,
7222
- ...T.skuToProductItem
7223
- }), T?.conversationMode && (this._conversationMode = T.conversationMode), T?.renderHint && (g.renderHint = T.renderHint), !this._drawer)) return;
7224
- let q = u;
7225
- const I = T?.kvkk === !0, O = I ? { fallbackToFirstBlock: !0 } : void 0;
7226
- if (I || xt(q)) {
7242
+ ...L.skuToProductItem
7243
+ }), L?.conversationMode && (this._conversationMode = L.conversationMode), L?.renderHint && (g.renderHint = L.renderHint), !this._drawer)) return;
7244
+ let $ = u;
7245
+ const I = L?.kvkk === !0, j = I ? { fallbackToFirstBlock: !0 } : void 0;
7246
+ if (I || xt($)) {
7227
7247
  if (S) {
7228
- const re = this.config.accountId;
7229
- if (!Kt(re)) {
7230
- const te = Ao(q, O);
7231
- te && this._drawer?.showKvkkBanner(te), ct(re);
7248
+ const te = this.config.accountId;
7249
+ if (!Kt(te)) {
7250
+ const oe = Ao($, j);
7251
+ oe && this._drawer?.showKvkkBanner(oe), ct(te);
7232
7252
  }
7233
7253
  }
7234
- q = Lo(q, O);
7254
+ $ = To($, j), u = $;
7235
7255
  }
7236
- const J = this._shadow?.querySelector(`[data-message-id="${g.id}"] .gengage-chat-bubble-text`);
7237
- if (J ? J.innerHTML = be(q) : (g.content = q, g.role === "assistant" && g.threadId && !this._threadsWithFirstBot.has(g.threadId) && (this._threadsWithFirstBot.add(g.threadId), this._drawer.markFirstBotMessage(g.id)), this._drawer.addMessage(g)), S)
7238
- if (g.content = q, g.status = "done", yt(), qn(g))
7239
- this._drawer?.updateBotMessage(g.id, q, "photo_analysis", g.photoAnalysis), g.threadId && this._focusPresentationThread(g.threadId, "auto");
7256
+ Ho($) && D();
7257
+ const Q = this._shadow?.querySelector(`[data-message-id="${g.id}"] .gengage-chat-bubble-text`);
7258
+ if (Q ? Q.innerHTML = be($) : (g.content = $, g.role === "assistant" && g.threadId && !this._threadsWithFirstBot.has(g.threadId) && (this._threadsWithFirstBot.add(g.threadId), this._drawer.markFirstBotMessage(g.id)), this._drawer.addMessage(g)), S)
7259
+ if (g.content = $, g.status = "done", yt(), qn(g))
7260
+ this._drawer?.updateBotMessage(g.id, $, "photo_analysis", g.photoAnalysis), g.threadId && this._focusPresentationThread(g.threadId, "auto");
7240
7261
  else {
7241
- const re = this._shadow?.querySelector(`[data-message-id="${g.id}"] .gengage-chat-bubble-text`);
7242
- if (re) {
7262
+ const te = this._shadow?.querySelector(`[data-message-id="${g.id}"] .gengage-chat-bubble-text`);
7263
+ if (te) {
7243
7264
  this._activeTypewriter?.cancel();
7244
- const te = T?.productMentions;
7265
+ const oe = L?.productMentions;
7245
7266
  this._activeTypewriter = Vi({
7246
- container: re,
7247
- html: be(q),
7267
+ container: te,
7268
+ html: be($),
7248
7269
  onTick: () => this._drawer?.scrollToBottomIfNeeded(),
7249
7270
  onComplete: () => {
7250
- this._activeTypewriter = null, te && te.length > 0 && re && Gi({
7251
- container: re,
7252
- mentions: te,
7271
+ this._activeTypewriter = null, oe && oe.length > 0 && te && Gi({
7272
+ container: te,
7273
+ mentions: oe,
7253
7274
  onProductClick: (se) => {
7254
7275
  this._sendAction({
7255
- title: te.find((ce) => ce.sku === se)?.short_name ?? se,
7276
+ title: oe.find((y) => y.sku === se)?.short_name ?? se,
7256
7277
  type: "launchSingleProduct",
7257
7278
  payload: { sku: se }
7258
7279
  });
@@ -7263,107 +7284,107 @@ var Fo = class Me extends Ya {
7263
7284
  }
7264
7285
  }
7265
7286
  },
7266
- onUISpec: (f, S, T, q) => {
7287
+ onUISpec: (f, S, L, $) => {
7267
7288
  if (!o && i !== this._activeRequestThreadId || S !== "chat") return;
7268
- q && (this._clearAssistantPanelLikeStreamClearPanel(), k = !1, N = null);
7269
- const I = f.elements[f.root], O = I?.type ?? "unknown";
7270
- if (jn(O, I?.props ?? {}, H, {
7289
+ $ && (this._clearAssistantPanelLikeStreamClearPanel(), k = !1, B = null);
7290
+ const I = f.elements[f.root], j = I?.type ?? "unknown";
7291
+ if (jn(j, I?.props ?? {}, R, {
7271
7292
  drawer: this._drawer,
7272
7293
  ensureRendered: () => this._ensureAssistantMessageRendered(g),
7273
7294
  cancelTypewriter: () => {
7274
7295
  this._activeTypewriter?.cancel(), this._activeTypewriter = null;
7275
7296
  },
7276
7297
  sendSkipMessage: () => this._sendMessage(this._i18n.beautyPhotoStepSkipMessage),
7277
- streamDone: W
7298
+ streamDone: X
7278
7299
  }, g)) {
7279
- O === "PhotoAnalysisCard" && g.threadId && this._focusPresentationThread(g.threadId, "auto");
7300
+ j === "PhotoAnalysisCard" && g.threadId && this._focusPresentationThread(g.threadId, "auto");
7280
7301
  return;
7281
7302
  }
7282
- const J = gt(I), re = this.config.productDetailsExtended !== !0 && (O === "ProductDetailsPanel" || J);
7283
- re && !q && (this._clearAssistantPanelLikeStreamClearPanel(), k = !1);
7284
- const te = O === "ProductDetailsPanel" && T !== "panel" ? "panel" : T, se = this._buildRenderContext();
7285
- if (se.isStreaming = !0, O === "ComparisonTable") {
7286
- const $ = I?.props?.products;
7287
- $a(Array.isArray($) ? $.length : 0);
7303
+ const Q = gt(I), te = this.config.productDetailsExtended !== !0 && (j === "ProductDetailsPanel" || Q);
7304
+ te && !$ && (this._clearAssistantPanelLikeStreamClearPanel(), k = !1);
7305
+ const oe = j === "ProductDetailsPanel" && L !== "panel" ? "panel" : L, se = this._buildRenderContext();
7306
+ if (se.isStreaming = !0, j === "ComparisonTable") {
7307
+ const G = I?.props?.products;
7308
+ $a(Array.isArray(G) ? G.length : 0);
7288
7309
  }
7289
- if (O === "ProductGrid") {
7290
- const $ = I?.children?.length ?? 0;
7291
- Ra(void 0, $);
7310
+ if (j === "ProductGrid") {
7311
+ const G = I?.children?.length ?? 0;
7312
+ Ra(void 0, G);
7292
7313
  }
7293
- const ce = te === "panel" && this._panel ? this._panel.toPanelSpec(f) : f;
7294
- if (te === "panel" && this._panel && !re && O === "ProductGrid" && I) {
7295
- const $ = ft(I);
7296
- if ($.isConsulting && !Si($)) {
7297
- N = f;
7314
+ const y = oe === "panel" && this._panel ? this._panel.toPanelSpec(f) : f;
7315
+ if (oe === "panel" && this._panel && !te && j === "ProductGrid" && I) {
7316
+ const G = ft(I);
7317
+ if (G.isConsulting && !Si(G)) {
7318
+ B = f;
7298
7319
  return;
7299
7320
  }
7300
- $.isConsulting && (N = null);
7321
+ G.isConsulting && (B = null);
7301
7322
  }
7302
- if (Ro(I) && F(), te === "panel" && this._panel && !re) {
7303
- const $ = !E;
7304
- E = !0;
7305
- const K = I?.props?.replacePanel === !0, ae = I?.props?.rankingState, Y = K || ae === "pending" || ae === "final" ? "replace" : oo({
7306
- componentType: O,
7323
+ if (Ro(I) && D(), oe === "panel" && this._panel && !te) {
7324
+ const G = !P;
7325
+ P = !0;
7326
+ const J = I?.props?.replacePanel === !0, re = I?.props?.rankingState, Z = J || re === "pending" || re === "final" ? "replace" : oo({
7327
+ componentType: j,
7307
7328
  similarsAppend: I?.props?.similarsAppend === !0,
7308
7329
  currentPanelType: this._panel.currentType,
7309
7330
  hasPanelContent: this._drawer?.hasPanelContent() ?? !1,
7310
7331
  isPanelLoading: this._drawer?.isPanelLoading() ?? !1,
7311
- isFirstPanelContentInStream: $
7332
+ isFirstPanelContentInStream: G
7312
7333
  });
7313
- se.panelProductListHeading = void 0, O === "ProductGrid" && (Y === "appendSimilars" ? se.panelProductListHeading = this._i18n.similarProductsLabel ?? "Similar Products" : this._applyPanelListHeadingToContext(se, {
7334
+ se.panelProductListHeading = void 0, j === "ProductGrid" && (Z === "appendSimilars" ? se.panelProductListHeading = this._i18n.similarProductsLabel ?? "Similar Products" : this._applyPanelListHeadingToContext(se, {
7314
7335
  kind: "spec",
7315
- spec: ce
7316
- })), Y === "appendSimilars" ? this._appendSimilarsToPanel(ce, se) : Y === "append" ? (this._drawer?.appendPanelContent(this._renderUISpec(ce, se)), this._comparisonSelectMode && this._refreshComparisonUI()) : ne(ce, se, O), X(O, I, Y, !0);
7336
+ spec: y
7337
+ })), Z === "appendSimilars" ? this._appendSimilarsToPanel(y, se) : Z === "append" ? (this._drawer?.appendPanelContent(this._renderUISpec(y, se)), this._comparisonSelectMode && this._refreshComparisonUI()) : ne(y, se, j), W(j, I, Z, !0);
7317
7338
  }
7318
- if (O === "ProductDetailsPanel" && te === "panel" && (!g.silent || c)) {
7319
- const $ = I?.props?.product;
7320
- if ($) {
7321
- c && (l = $), this._currentInlineProductSummaryRecord = $;
7322
- const K = {
7339
+ if (j === "ProductDetailsPanel" && oe === "panel" && (!g.silent || c)) {
7340
+ const G = I?.props?.product;
7341
+ if (G) {
7342
+ c && (l = G), this._currentInlineProductSummaryRecord = G;
7343
+ const J = {
7323
7344
  root: "root",
7324
7345
  elements: { root: {
7325
7346
  type: "ProductSummaryCard",
7326
- props: { product: $ }
7347
+ props: { product: G }
7327
7348
  } }
7328
- }, ae = this._shadow?.querySelector(".gengage-chat-messages");
7329
- if (ae) {
7330
- const Y = this._renderUISpec(K, se);
7331
- g.threadId && (Y.dataset.threadId = g.threadId);
7332
- const ge = this._shadow?.querySelector(`[data-message-id="${g.id}"]`);
7333
- ge && ge.parentNode === ae ? ge.after(Y) : ae.appendChild(Y), this._scrollInlineIntoView(Y, g.threadId), this._drawer?.refreshPresentationCollapsed(), E = !0;
7349
+ }, re = this._shadow?.querySelector(".gengage-chat-messages");
7350
+ if (re) {
7351
+ const Z = this._renderUISpec(J, se);
7352
+ g.threadId && (Z.dataset.threadId = g.threadId);
7353
+ const le = this._shadow?.querySelector(`[data-message-id="${g.id}"]`);
7354
+ le && le.parentNode === re ? le.after(Z) : re.appendChild(Z), this._scrollInlineIntoView(Z, g.threadId), this._drawer?.refreshPresentationCollapsed(), P = !0;
7334
7355
  }
7335
7356
  }
7336
7357
  }
7337
- const w = O === "AITopPicks" || O === "AIGroupingCards", Q = O === "InlineQuestionButtons", ie = O === "ActionButtons" ? I?.props?.buttons : void 0, A = O === "ActionButtons" && this._modeController.mode !== "shopping" && Array.isArray(ie) && ie.length > 0 && ie.every(($) => $.action?.type === "inputText");
7338
- let z = !1, ee = !1;
7339
- if (re && J && (se.panelProductListHeading = this._i18n.similarProductsLabel ?? "Similar Products"), w && (!g.silent || s))
7340
- if (g.threadId && this._rememberPanelAiSpec(g.threadId, f), R) {
7341
- const $ = this._renderUISpec(f, se);
7342
- G = !0, this._drawer?.setPanelAiZoneState("results", { resultEl: $ }), z = !0, D = null;
7358
+ const Y = j === "AITopPicks" || j === "AIGroupingCards", ce = j === "InlineQuestionButtons", ie = j === "ActionButtons" ? I?.props?.buttons : void 0, M = j === "ActionButtons" && this._modeController.mode !== "shopping" && Array.isArray(ie) && ie.length > 0 && ie.every((G) => G.action?.type === "inputText");
7359
+ let H = !1, ee = !1;
7360
+ if (te && Q && (se.panelProductListHeading = this._i18n.similarProductsLabel ?? "Similar Products"), Y && (!g.silent || s))
7361
+ if (g.threadId && this._rememberPanelAiSpec(g.threadId, f), z) {
7362
+ const G = this._renderUISpec(f, se);
7363
+ U = !0, this._drawer?.setPanelAiZoneState("results", { resultEl: G }), H = !0, F = null;
7343
7364
  } else
7344
- D = f, ee = !0;
7345
- Q && (this._drawer?.setInputAreaChips([]), this._drawer?.setPills([]));
7346
- const le = s && (O === "GroundingReviewCard" || w || O === "InlineQuestionButtons");
7347
- if (!w && (!g.silent || le) && (te !== "panel" || O === "ProductCard" || re && O === "ProductGrid" && !J) && (O !== "ActionButtons" || A) && !z && !(ee && w)) {
7348
- const $ = this._shadow?.querySelector(".gengage-chat-messages");
7349
- if ($) {
7350
- const K = this._renderUISpec(f, se);
7351
- g.threadId && (K.dataset.threadId = g.threadId), $.appendChild(K), this._scrollInlineIntoView(K, g.threadId), this._drawer?.refreshPresentationCollapsed(), re && O === "ProductGrid" && (E = !0);
7365
+ F = f, ee = !0;
7366
+ ce && (this._drawer?.setInputAreaChips([]), this._drawer?.setPills([]));
7367
+ const pe = s && (j === "GroundingReviewCard" || Y || j === "InlineQuestionButtons");
7368
+ if (!Y && (!g.silent || pe) && (oe !== "panel" || j === "ProductCard" || te && j === "ProductGrid" && !Q) && (j !== "ActionButtons" || M) && !H && !(ee && Y)) {
7369
+ const G = this._shadow?.querySelector(".gengage-chat-messages");
7370
+ if (G) {
7371
+ const J = this._renderUISpec(f, se);
7372
+ g.threadId && (J.dataset.threadId = g.threadId), G.appendChild(J), this._scrollInlineIntoView(J, g.threadId), this._drawer?.refreshPresentationCollapsed(), te && j === "ProductGrid" && (P = !0);
7352
7373
  }
7353
7374
  }
7354
- if ((O === "ProductGrid" || O === "ProductCard") && g.threadId) {
7355
- const $ = I?.children ?? [], K = O === "ProductGrid" ? $.map((ae) => f.elements[ae]?.props?.product).filter(Boolean) : [I?.props?.product].filter(Boolean);
7356
- for (const ae of K) {
7357
- const Y = ae.sku;
7358
- Y && this._viewedProductSkus.add(Y);
7375
+ if ((j === "ProductGrid" || j === "ProductCard") && g.threadId) {
7376
+ const G = I?.children ?? [], J = j === "ProductGrid" ? G.map((re) => f.elements[re]?.props?.product).filter(Boolean) : [I?.props?.product].filter(Boolean);
7377
+ for (const re of J) {
7378
+ const Z = re.sku;
7379
+ Z && this._viewedProductSkus.add(Z);
7359
7380
  }
7360
7381
  }
7361
- if (O === "ProductGrid" || O === "ProductDetailsPanel") {
7362
- const $ = (O === "ProductGrid" ? (I?.children ?? []).map((K) => f.elements[K]?.props?.product).filter(Boolean) : [I?.props?.product ?? I?.props].filter(Boolean)).map((K) => K.imageUrl).filter((K) => typeof K == "string").slice(0, 5);
7363
- $.length > 0 && this._bridge?.send("previewImages", { images: $ });
7382
+ if (j === "ProductGrid" || j === "ProductDetailsPanel") {
7383
+ const G = (j === "ProductGrid" ? (I?.children ?? []).map((J) => f.elements[J]?.props?.product).filter(Boolean) : [I?.props?.product ?? I?.props].filter(Boolean)).map((J) => J.imageUrl).filter((J) => typeof J == "string").slice(0, 5);
7384
+ G.length > 0 && this._bridge?.send("previewImages", { images: G });
7364
7385
  }
7365
- const Z = I?.children?.length ?? 0;
7366
- if (O === "ProductGrid" && te === "panel" && !re && Z > 1 && !this._isMobileViewport && !this._modeController.isChoicePrompterHidden && !this._comparisonSelectMode && !Qi(this._currentThreadId ?? "") && (this._clearChoicePrompter(), this._choicePrompterEl = Xi({
7386
+ const V = I?.children?.length ?? 0;
7387
+ if (j === "ProductGrid" && oe === "panel" && !te && V > 1 && !this._isMobileViewport && !this._modeController.isChoicePrompterHidden && !this._comparisonSelectMode && !Qi(this._currentThreadId ?? "") && (this._clearChoicePrompter(), this._choicePrompterEl = Xi({
7367
7388
  heading: this._i18n.choicePrompterHeading,
7368
7389
  suggestion: this._i18n.choicePrompterSuggestion,
7369
7390
  ctaLabel: this._i18n.choicePrompterCta,
@@ -7375,27 +7396,27 @@ var Fo = class Me extends Ya {
7375
7396
  onDismiss: () => {
7376
7397
  this._choicePrompterEl = null;
7377
7398
  }
7378
- }), this._mountChoicePrompter()), O === "ActionButtons") {
7379
- const $ = I?.props?.buttons;
7380
- if ($ && $.length > 0 && !A) {
7381
- const K = [], ae = [];
7382
- for (const Y of $) if (Yi(Y)) {
7383
- const ge = {
7384
- label: Y.label,
7385
- action: Y.action
7399
+ }), this._mountChoicePrompter()), j === "ActionButtons") {
7400
+ const G = I?.props?.buttons;
7401
+ if (G && G.length > 0 && !M) {
7402
+ const J = [], re = [];
7403
+ for (const Z of G) if (Yi(Z)) {
7404
+ const le = {
7405
+ label: Z.label,
7406
+ action: Z.action
7386
7407
  };
7387
- Y.icon && (ge.icon = Y.icon), K.push(ge);
7388
- } else ae.push(Y);
7389
- K.length > 0 && this._drawer?.setInputAreaChips(K.map((Y) => ({
7390
- label: Y.label,
7391
- onAction: () => this._sendAction(Y.action),
7392
- ...Y.icon ? { icon: Y.icon } : {}
7393
- }))), ae.length > 0 && this._drawer?.setPills(ae.map((Y) => {
7394
- const ge = {
7395
- label: Y.label,
7396
- onAction: () => this._sendAction(Y.action)
7408
+ Z.icon && (le.icon = Z.icon), J.push(le);
7409
+ } else re.push(Z);
7410
+ J.length > 0 && this._drawer?.setInputAreaChips(J.map((Z) => ({
7411
+ label: Z.label,
7412
+ onAction: () => this._sendAction(Z.action),
7413
+ ...Z.icon ? { icon: Z.icon } : {}
7414
+ }))), re.length > 0 && this._drawer?.setPills(re.map((Z) => {
7415
+ const le = {
7416
+ label: Z.label,
7417
+ onAction: () => this._sendAction(Z.action)
7397
7418
  };
7398
- return Y.icon && (ge.icon = Y.icon), Y.image && (ge.image = Y.image), Y.description && (ge.description = Y.description), ge;
7419
+ return Z.icon && (le.icon = Z.icon), Z.image && (le.image = Z.image), Z.description && (le.description = Z.description), le;
7399
7420
  }));
7400
7421
  }
7401
7422
  }
@@ -7406,15 +7427,15 @@ var Fo = class Me extends Ya {
7406
7427
  const S = {};
7407
7428
  this.config.actionHandling?.unknownActionPolicy !== void 0 && (S.unknownActionPolicy = this.config.actionHandling.unknownActionPolicy), this.config.actionHandling?.allowScriptCall !== void 0 && (S.allowScriptCall = this.config.actionHandling.allowScriptCall), Za(f, {
7408
7429
  openChat: () => this.open(),
7409
- navigate: (T) => {
7410
- xe(T.url) && (this._bridge?.send("navigate", T), T.newTab ? window.open(T.url, "_blank", "noopener,noreferrer") : window.location.href = T.url);
7430
+ navigate: (L) => {
7431
+ ve(L.url) && (this._bridge?.send("navigate", L), L.newTab ? window.open(L.url, "_blank", "noopener,noreferrer") : window.location.href = L.url);
7411
7432
  },
7412
- saveSession: (T) => this.saveSession(T.sessionId, T.sku),
7413
- addToCart: (T) => {
7414
- this._runChatAddToCartFlow(T);
7433
+ saveSession: (L) => this.saveSession(L.sessionId, L.sku),
7434
+ addToCart: (L) => {
7435
+ this._runChatAddToCartFlow(L);
7415
7436
  },
7416
- scriptCall: (T) => {
7417
- _e("gengage:chat:script-call", T), this.config.onScriptCall?.(T);
7437
+ scriptCall: (L) => {
7438
+ _e("gengage:chat:script-call", L), this.config.onScriptCall?.(L);
7418
7439
  }
7419
7440
  }, S);
7420
7441
  }
@@ -7428,29 +7449,29 @@ var Fo = class Me extends Ya {
7428
7449
  }
7429
7450
  if (f.meta.panelLoading) {
7430
7451
  const S = typeof f.meta.panelPendingType == "string" ? f.meta.panelPendingType : void 0;
7431
- this.config.productDetailsExtended !== !0 && (S === "productDetails" || S === "productDetailsSimilars") || (k = !0, E = !1, x(), this._panel && (this._panel.currentType = null), this._drawer?.showPanelLoading(S), this._isMobileViewport && S === "productList" && this._ensureMobilePanelOverlayVisible(), S && this._panel?.updateTopBarForLoading(S));
7452
+ this.config.productDetailsExtended !== !0 && (S === "productDetails" || S === "productDetailsSimilars") || (k = !0, P = !1, x(), this._panel && (this._panel.currentType = null), this._drawer?.showPanelLoading(S), this._isMobileViewport && S === "productList" && this._ensureMobilePanelOverlayVisible(), S && this._panel?.updateTopBarForLoading(S));
7432
7453
  }
7433
7454
  if (f.meta.voice) {
7434
7455
  const S = new CustomEvent("gengage:chat:voice", {
7435
7456
  detail: { payload: f.meta.voice },
7436
7457
  bubbles: !1,
7437
7458
  cancelable: !0
7438
- }), T = window.dispatchEvent(S);
7439
- if (za(), T) {
7440
- const q = f.meta.voice;
7441
- q.audio_base64 && (this._activeTtsHandle?.stop(), this._activeTtsHandle = Oi(q.audio_base64, q.content_type ?? "audio/ogg"));
7459
+ }), L = window.dispatchEvent(S);
7460
+ if (za(), L) {
7461
+ const $ = f.meta.voice;
7462
+ $.audio_base64 && (this._activeTtsHandle?.stop(), this._activeTtsHandle = Oi($.audio_base64, $.content_type ?? "audio/ogg"));
7442
7463
  }
7443
7464
  }
7444
7465
  if ((f.meta.redirectTarget || f.meta.redirect) && (_e("gengage:chat:redirect", {
7445
7466
  target: f.meta.redirectTarget ?? null,
7446
7467
  payload: f.meta.redirect ?? null
7447
- }), ze("redirect", "redirect dispatched", { target: f.meta.redirectTarget ?? null }), this._handleRedirectMetadata(f.meta.redirect)), f.meta.analyzeAnimation && this.config.productDetailsExtended === !0 && (k = !0, E = !1, x(), this._panel && (this._panel.currentType = null), this._drawer?.showPanelLoading(), this._panel?.updateTopBarForLoading("productDetails")), f.meta.loading) {
7448
- const S = Array.isArray(f.meta.thinkingMessages) ? f.meta.thinkingMessages.filter((q) => typeof q == "string") : [], T = typeof f.meta.loadingText == "string" ? f.meta.loadingText : void 0;
7468
+ }), ze("redirect", "redirect dispatched", { target: f.meta.redirectTarget ?? null }), this._handleRedirectMetadata(f.meta.redirect)), f.meta.analyzeAnimation && this.config.productDetailsExtended === !0 && (k = !0, P = !1, x(), this._panel && (this._panel.currentType = null), this._drawer?.showPanelLoading(), this._panel?.updateTopBarForLoading("productDetails")), f.meta.loading) {
7469
+ const S = Array.isArray(f.meta.thinkingMessages) ? f.meta.thinkingMessages.filter(($) => typeof $ == "string") : [], L = typeof f.meta.loadingText == "string" ? f.meta.loadingText : void 0;
7449
7470
  if (S.length > 0) {
7450
- const q = T && this._modeController.shouldCondenseThinking() ? [...S.slice(0, 2), T] : S;
7451
- this._drawer?.setThinkingSteps(q);
7471
+ const $ = L && this._modeController.shouldCondenseThinking() ? [...S.slice(0, 2), L] : S;
7472
+ this._drawer?.setThinkingSteps($);
7452
7473
  }
7453
- typeof T == "string" && T.length > 0 && (this._drawer?.addThinkingStep(T), P || this._bridge?.send("loadingMessage", { text: T }));
7474
+ typeof L == "string" && L.length > 0 && (this._drawer?.addThinkingStep(L), E || this._bridge?.send("loadingMessage", { text: L }));
7454
7475
  }
7455
7476
  f.meta.visitorDataResponse && this._bridge?.send("engagingMessage", f.meta.visitorDataResponse), f.meta.formType && this._bridge?.send("glovForm", {
7456
7477
  type: f.meta.formType,
@@ -7459,8 +7480,8 @@ var Fo = class Me extends Ya {
7459
7480
  }
7460
7481
  },
7461
7482
  onError: (f) => {
7462
- if (V && this._abortControllers.delete(V), !o && i !== this._activeRequestThreadId) return;
7463
- W = !0, this._activeTypewriter?.cancel(), this._activeTypewriter = null, C(), D = null, N = null, r(!1), this._bridge?.send("loadingMessage", { text: null }), this._drawer?.removeTypingIndicator(), this._drawer?.clearInputAreaChips(), Vn(H, {
7483
+ if (K && this._abortControllers.delete(K), !o && i !== this._activeRequestThreadId) return;
7484
+ X = !0, this._activeTypewriter?.cancel(), this._activeTypewriter = null, C(), F = null, B = null, r(!1), this._bridge?.send("loadingMessage", { text: null }), this._drawer?.removeTypingIndicator(), this._drawer?.clearInputAreaChips(), Vn(R, {
7464
7485
  drawer: this._drawer,
7465
7486
  ensureRendered: () => {
7466
7487
  },
@@ -7469,20 +7490,20 @@ var Fo = class Me extends Ya {
7469
7490
  sendSkipMessage: () => this._sendMessage(this._i18n.beautyPhotoStepSkipMessage),
7470
7491
  streamDone: !0
7471
7492
  });
7472
- const S = E;
7473
- k && !E && v(), k = !1, this._maybeHidePreservedMobilePanel(e.type, S), E = !1;
7474
- const T = g.content != null && g.content.length > 0 || u.length > 0 || S, q = g.silent || T, I = typeof navigator < "u" && navigator.onLine === !1 && Qt(f), O = () => {
7493
+ const S = P;
7494
+ k && !P && v(), k = !1, this._maybeHidePreservedMobilePanel(e.type, S), P = !1;
7495
+ const L = g.content != null && g.content.length > 0 || u.length > 0 || S, $ = g.silent || L, I = typeof navigator < "u" && navigator.onLine === !1 && Qt(f), j = () => {
7475
7496
  this._shadow?.querySelector(`[data-message-id="${he(g.id)}"]`)?.remove();
7476
- const te = this._messages.indexOf(g);
7477
- te >= 0 && this._messages.splice(te, 1);
7497
+ const oe = this._messages.indexOf(g);
7498
+ oe >= 0 && this._messages.splice(oe, 1);
7478
7499
  };
7479
- let J = !1;
7480
- const re = () => {
7500
+ let Q = !1;
7501
+ const te = () => {
7481
7502
  if (I) return;
7482
7503
  this.emit("error", f);
7483
- const te = f.message;
7484
- te === this._lastErrorMessage ? this._consecutiveErrorCount++ : (this._consecutiveErrorCount = 1, this._lastErrorMessage = te);
7485
- const se = f.message.trim(), ce = se.length > 0 ? se : this._i18n.errorMessage, w = {
7504
+ const oe = f.message;
7505
+ oe === this._lastErrorMessage ? this._consecutiveErrorCount++ : (this._consecutiveErrorCount = 1, this._lastErrorMessage = oe);
7506
+ const se = f.message.trim(), y = se.length > 0 ? se : this._i18n.errorMessage, Y = {
7486
7507
  onRetry: () => {
7487
7508
  this._lastSentAction && this._sendAction(this._lastSentAction.action, this._lastSentAction.options);
7488
7509
  },
@@ -7491,43 +7512,43 @@ var Fo = class Me extends Ya {
7491
7512
  }
7492
7513
  };
7493
7514
  if (this._consecutiveErrorCount >= 2) {
7494
- O(), J = !0, this._drawer?.showErrorWithRecovery(this._i18n.accountInactiveMessage, w);
7515
+ j(), Q = !0, this._drawer?.showErrorWithRecovery(this._i18n.accountInactiveMessage, Y);
7495
7516
  return;
7496
7517
  }
7497
- if (Eo(f, ce)) {
7498
- O(), J = !0, this._drawer?.showErrorWithRecovery(ce, w);
7518
+ if (Eo(f, y)) {
7519
+ j(), Q = !0, this._drawer?.showErrorWithRecovery(y, Y);
7499
7520
  return;
7500
7521
  }
7501
- g.content = ce, g.status = "done";
7502
- const Q = be(ce.replace(/\r\n/g, `
7522
+ g.content = y, g.status = "done";
7523
+ const ce = be(y.replace(/\r\n/g, `
7503
7524
  `).split(`
7504
7525
  `).join("<br />"));
7505
- this._ensureAssistantMessageRendered(g), this._drawer?.updateBotMessage(g.id, Q), this._drawer?.showRecoveryPillsOnly(w);
7526
+ this._ensureAssistantMessageRendered(g), this._drawer?.updateBotMessage(g.id, ce), this._drawer?.showRecoveryPillsOnly(Y);
7506
7527
  };
7507
- if (s && !T) if (c || this._hasUnavailableProductContext()) {
7528
+ if (s && !L) if (c || this._hasUnavailableProductContext()) {
7508
7529
  this._drawer?.setPills([]);
7509
- const te = this._i18n.productNotFoundMessage;
7510
- g.content = te, g.status = "done", this._ensureAssistantMessageRendered(g), this._drawer?.updateBotMessage(g.id, te), this._markUnavailableProductContext();
7530
+ const oe = this._i18n.productNotFoundMessage;
7531
+ g.content = oe, g.status = "done", this._ensureAssistantMessageRendered(g), this._drawer?.updateBotMessage(g.id, oe), this._markUnavailableProductContext();
7511
7532
  } else g.status = "done";
7512
- else if (q)
7513
- this._drawer?.setPills([]), g.silent || re();
7514
- else if (re(), I) return;
7515
- s && (this._contextPrimingInFlight = !1, this._flushQueuedUserMessages()), !J && g.status === "streaming" && (g.status = "error");
7533
+ else if ($)
7534
+ this._drawer?.setPills([]), g.silent || te();
7535
+ else if (te(), I) return;
7536
+ s && (this._contextPrimingInFlight = !1, this._flushQueuedUserMessages()), !Q && g.status === "streaming" && (g.status = "error");
7516
7537
  },
7517
7538
  onDone: () => {
7518
- if (V && this._abortControllers.delete(V), !o && i !== this._activeRequestThreadId) return;
7519
- if (W = !0, N && this._panel && this._drawer) {
7539
+ if (K && this._abortControllers.delete(K), !o && i !== this._activeRequestThreadId) return;
7540
+ if (X = !0, B && this._panel && this._drawer) {
7520
7541
  const I = this._buildRenderContext();
7521
7542
  I.isStreaming = !1;
7522
- const O = N.elements[N.root], J = this._panel.toPanelSpec(N);
7543
+ const j = B.elements[B.root], Q = this._panel.toPanelSpec(B);
7523
7544
  this._applyPanelListHeadingToContext(I, {
7524
7545
  kind: "spec",
7525
- spec: J
7546
+ spec: Q
7526
7547
  });
7527
- const re = O?.type ?? "ProductGrid";
7528
- ne(J, I, re), X(re, O, "replace", !1), E = !0;
7548
+ const te = j?.type ?? "ProductGrid";
7549
+ ne(Q, I, te), W(te, j, "replace", !1), P = !0;
7529
7550
  }
7530
- N = null, D && U(!1), C(), !o && i === this._activeRequestThreadId && (this._activeRequestThreadId = null), this._consecutiveErrorCount = 0, this._lastErrorMessage = "", r(!1), this._bridge?.send("loadingMessage", { text: null }), this._drawer?.removeTypingIndicator(), $n(H, {
7551
+ B = null, F && O(!1), C(), !o && i === this._activeRequestThreadId && (this._activeRequestThreadId = null), this._consecutiveErrorCount = 0, this._lastErrorMessage = "", r(!1), this._bridge?.send("loadingMessage", { text: null }), this._drawer?.removeTypingIndicator(), $n(R, {
7531
7552
  drawer: this._drawer,
7532
7553
  ensureRendered: () => {
7533
7554
  },
@@ -7536,12 +7557,12 @@ var Fo = class Me extends Ya {
7536
7557
  sendSkipMessage: () => this._sendMessage(this._i18n.beautyPhotoStepSkipMessage),
7537
7558
  streamDone: !0
7538
7559
  });
7539
- const f = E;
7540
- if (k && !E && v(), k = !1, this._maybeHidePreservedMobilePanel(e.type, f), c && !u && !f) {
7560
+ const f = P;
7561
+ if (k && !P && v(), k = !1, this._maybeHidePreservedMobilePanel(e.type, f), c && !u && !f) {
7541
7562
  const I = this._i18n.productNotFoundMessage;
7542
7563
  g.content = I, this._ensureAssistantMessageRendered(g), this._drawer?.updateBotMessage(g.id, I), this._markUnavailableProductContext();
7543
7564
  }
7544
- if (E = !1, s) {
7565
+ if (P = !1, s) {
7545
7566
  this._contextPrimingInFlight = !1;
7546
7567
  const I = this._queuedUserMessages.length > 0;
7547
7568
  this._flushQueuedUserMessages(), !I && c && this._ensurePdpPrimeSuggestedUiIfNeeded(l);
@@ -7549,18 +7570,18 @@ var Fo = class Me extends Ya {
7549
7570
  g.status === "streaming" && (g.status = "done", yt()), this._presentation.finalizeAssistantGroup(i);
7550
7571
  const S = this._shadow?.querySelector(".gengage-chat-comparison-toggle-btn--hidden");
7551
7572
  S && (S.classList.remove("gengage-chat-comparison-toggle-btn--hidden"), S.classList.add("gengage-chat-comparison-toggle-btn--reveal")), this.emit("message", g);
7552
- const T = this._currentPanelSource, q = T ? this._clonePanelSourceForHistory(T) : null;
7553
- this._panel?.snapshotForMessage(g.id, q ? {
7554
- source: q,
7573
+ const L = this._currentPanelSource, $ = L ? this._clonePanelSourceForHistory(L) : null;
7574
+ this._panel?.snapshotForMessage(g.id, $ ? {
7575
+ source: $,
7555
7576
  threadId: g.threadId,
7556
7577
  rebuild: () => {
7557
7578
  const I = this._buildRenderContext();
7558
- return this._renderPanelFromSource(q, I);
7579
+ return this._renderPanelFromSource($, I);
7559
7580
  }
7560
7581
  } : void 0), this._maybeAddPanelRestoreMessage(g), this._persistConversationState();
7561
7582
  }
7562
- }, _), this._abortControllers.add(V), !a?.silent && !o) {
7563
- const f = V;
7583
+ }, _), this._abortControllers.add(K), !a?.silent && !o) {
7584
+ const f = K;
7564
7585
  this._drawer?.showStopButton(() => {
7565
7586
  f.abort(), this._abortControllers.delete(f), this._drawer?.removeTypingIndicator(), r(!1), this._bridge?.send("loadingMessage", { text: null }), g.status === "streaming" && (g.status = "done");
7566
7587
  });
@@ -8312,7 +8333,7 @@ var Fo = class Me extends Ya {
8312
8333
  return;
8313
8334
  }
8314
8335
  const i = a.url.trim();
8315
- if (!n && this.config.onProductNavigate !== void 0 && i.length > 0 && xe(i)) {
8336
+ if (!n && this.config.onProductNavigate !== void 0 && i.length > 0 && ve(i)) {
8316
8337
  at(a.sku), this.config.onProductNavigate(i, a.sku, this.config.session?.sessionId ?? null);
8317
8338
  return;
8318
8339
  }
@@ -8656,7 +8677,7 @@ var Fo = class Me extends Ya {
8656
8677
  };
8657
8678
  }
8658
8679
  _resolveUISpecRegistry() {
8659
- return La(Hr(), this.config.renderer?.registry);
8680
+ return Ta(Hr(), this.config.renderer?.registry);
8660
8681
  }
8661
8682
  _renderUISpec(e, a) {
8662
8683
  const n = e.elements[e.root];