@gengage/assistant-fe 0.3.12 → 0.3.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assistant-fe.css +1 -1
- package/dist/chat/components/ChatDrawer.d.ts +6 -0
- package/dist/chat/components/ChatDrawer.d.ts.map +1 -1
- package/dist/chat/index.d.ts +1 -0
- package/dist/chat/index.d.ts.map +1 -1
- package/dist/chat/stream-error-display.d.ts +7 -0
- package/dist/chat/stream-error-display.d.ts.map +1 -0
- package/dist/chat-CET9ibDo.cjs +15 -0
- package/dist/chat-CET9ibDo.cjs.map +1 -0
- package/dist/{chat-DotV4wWS.js → chat-D7c9emMm.js} +507 -392
- package/dist/chat-D7c9emMm.js.map +1 -0
- package/dist/chat.cjs +1 -1
- package/dist/chat.iife.js +8 -6
- package/dist/chat.iife.js.map +1 -1
- package/dist/chat.js +1 -1
- package/dist/common/protocol-adapter.d.ts.map +1 -1
- package/dist/{common-DMw7ug2l.cjs → common-C0QxGDX5.cjs} +2 -2
- package/dist/{common-DMw7ug2l.cjs.map → common-C0QxGDX5.cjs.map} +1 -1
- package/dist/{common-BXGv2eQ-.js → common-Dtx5Bgu_.js} +3 -3
- package/dist/{common-BXGv2eQ-.js.map → common-Dtx5Bgu_.js.map} +1 -1
- package/dist/common.cjs +1 -1
- package/dist/common.js +4 -4
- package/dist/index.cjs +1 -1
- package/dist/index.js +6 -6
- package/dist/{native-webview-CpzrpNOT.cjs → native-webview-BlmrmhV_.cjs} +2 -2
- package/dist/{native-webview-CpzrpNOT.cjs.map → native-webview-BlmrmhV_.cjs.map} +1 -1
- package/dist/{native-webview-Cusg9-Do.js → native-webview-CRFBySOa.js} +5 -5
- package/dist/{native-webview-Cusg9-Do.js.map → native-webview-CRFBySOa.js.map} +1 -1
- package/dist/native.cjs +1 -1
- package/dist/native.iife.js +16 -14
- package/dist/native.iife.js.map +1 -1
- package/dist/native.js +1 -1
- package/dist/qna/components/TextInput.d.ts.map +1 -1
- package/dist/qna-DvgpFom7.cjs +2 -0
- package/dist/qna-DvgpFom7.cjs.map +1 -0
- package/dist/{qna-ybyRS6Ld.js → qna-c7t5suwI.js} +74 -53
- package/dist/qna-c7t5suwI.js.map +1 -0
- package/dist/qna.cjs +1 -1
- package/dist/qna.css +1 -1
- package/dist/qna.iife.js +12 -12
- package/dist/qna.iife.js.map +1 -1
- package/dist/qna.js +1 -1
- package/dist/{schemas-C6SfDfYA.cjs → schemas-C-giAkv4.cjs} +2 -2
- package/dist/schemas-C-giAkv4.cjs.map +1 -0
- package/dist/{schemas-ErdIv_5c.js → schemas-DUid6HBM.js} +7 -7
- package/dist/schemas-DUid6HBM.js.map +1 -0
- package/dist/{simrel-CQWwR6lP.js → simrel-1J9Ph5k5.js} +2 -2
- package/dist/{simrel-CQWwR6lP.js.map → simrel-1J9Ph5k5.js.map} +1 -1
- package/dist/{simrel-cBtT9MB3.cjs → simrel-CT26hFlJ.cjs} +2 -2
- package/dist/{simrel-cBtT9MB3.cjs.map → simrel-CT26hFlJ.cjs.map} +1 -1
- package/dist/simrel.cjs +1 -1
- package/dist/simrel.iife.js +1 -1
- package/dist/simrel.iife.js.map +1 -1
- package/dist/simrel.js +1 -1
- package/package.json +1 -1
- package/dist/chat-DlpBnJVz.cjs +0 -13
- package/dist/chat-DlpBnJVz.cjs.map +0 -1
- package/dist/chat-DotV4wWS.js.map +0 -1
- package/dist/qna-C-ZYmCnM.cjs +0 -2
- package/dist/qna-C-ZYmCnM.cjs.map +0 -1
- package/dist/qna-ybyRS6Ld.js.map +0 -1
- package/dist/schemas-C6SfDfYA.cjs.map +0 -1
- package/dist/schemas-ErdIv_5c.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as e, a as t, c as n, d as r, l as i, n as a, o, p as s, r as c, s as l, t as u, u as d, x as f, y as p } from "./schemas-
|
|
1
|
+
import { C as e, a as t, c as n, d as r, l as i, n as a, o, p as s, r as c, s as l, t as u, u as d, x as f, y as p } from "./schemas-DUid6HBM.js";
|
|
2
2
|
import { $ as m, B as h, C as g, H as _, K as v, P as y, Q as b, R as x, U as S, V as C, X as w, Y as T, Z as E, _ as ee, a as te, b as D, c as O, d as ne, f as k, g as A, h as j, i as M, l as N, m as re, n as P, o as F, p as I, q as L, r as R, s as z, t as B, u as ie, y as V, z as H } from "./ga-datalayer-DdTUkXC3.js";
|
|
3
3
|
import { a as U, i as ae, n as oe, r as se, t as W } from "./product-utils-BUalkWz3.js";
|
|
4
4
|
//#region src/common/uuidv7.ts
|
|
@@ -760,20 +760,42 @@ var ze = class {
|
|
|
760
760
|
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>",
|
|
761
761
|
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>",
|
|
762
762
|
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>"
|
|
763
|
-
}, He = Ae, Ue = 1400;
|
|
764
|
-
async function
|
|
763
|
+
}, He = Ae, Ue = 1400, We = /data:image\/(png|jpeg|jpg|webp);base64,[A-Za-z0-9+/=]+/gi;
|
|
764
|
+
async function Ge(e) {
|
|
765
|
+
for (let t of e) for (let e of t.types) if (e.startsWith("image/")) try {
|
|
766
|
+
let n = await t.getType(e);
|
|
767
|
+
if (!n || n.size === 0) continue;
|
|
768
|
+
let r = e || n.type || "image/png", i = r === "image/png" ? "png" : r === "image/webp" ? "webp" : "jpg", a = `paste-${Date.now()}.${i}`;
|
|
769
|
+
return new File([n], a, { type: r });
|
|
770
|
+
} catch {
|
|
771
|
+
continue;
|
|
772
|
+
}
|
|
773
|
+
for (let t of e) if (t.types.includes("text/html")) try {
|
|
774
|
+
let e = (await (await t.getType("text/html")).text()).match(We)?.[0];
|
|
775
|
+
if (!e || e.length > 5e6) continue;
|
|
776
|
+
let n = await (await fetch(e)).blob();
|
|
777
|
+
if (!n || n.size === 0) continue;
|
|
778
|
+
let r = n.type || "image/png";
|
|
779
|
+
if (![
|
|
780
|
+
"image/jpeg",
|
|
781
|
+
"image/png",
|
|
782
|
+
"image/webp"
|
|
783
|
+
].includes(r)) continue;
|
|
784
|
+
let i = r === "image/png" ? "png" : r === "image/webp" ? "webp" : "jpg";
|
|
785
|
+
return new File([n], `paste-${Date.now()}.${i}`, { type: r });
|
|
786
|
+
} catch {
|
|
787
|
+
continue;
|
|
788
|
+
}
|
|
789
|
+
return null;
|
|
790
|
+
}
|
|
791
|
+
async function Ke(e) {
|
|
765
792
|
try {
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
for (let t of e) for (let e of t.types) if (e.startsWith("image/")) {
|
|
769
|
-
let n = await t.getType(e), r = e === "image/png" ? "png" : e === "image/webp" ? "webp" : "jpg", i = `paste-${Date.now()}.${r}`;
|
|
770
|
-
return new File([n], i, { type: e || n.type || "image/png" });
|
|
771
|
-
}
|
|
772
|
-
}
|
|
793
|
+
let t = e ?? (typeof navigator.clipboard?.read == "function" ? navigator.clipboard.read() : null);
|
|
794
|
+
return t ? Ge(await t) : null;
|
|
773
795
|
} catch {}
|
|
774
796
|
return null;
|
|
775
797
|
}
|
|
776
|
-
var
|
|
798
|
+
var qe = class {
|
|
777
799
|
constructor(e, t) {
|
|
778
800
|
this._sendStopHandler = null, this._panelVisible = !1, this._panelCollapsed = !1, this._dividerPreviewEnabled = !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._panelListScrollAnimToken = 0, 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._options = t, this.i18n = {
|
|
779
801
|
...He,
|
|
@@ -996,7 +1018,9 @@ var Ge = class {
|
|
|
996
1018
|
z.className = "gengage-chat-attach-menu-sep", z.dataset.gengagePart = "chat-attach-menu-separator", z.setAttribute("aria-hidden", "true");
|
|
997
1019
|
let B = document.createElement("button");
|
|
998
1020
|
B.type = "button", B.className = "gengage-chat-attach-menu-item gds-btn gds-btn-ghost", B.dataset.gengagePart = "chat-attach-menu-paste", B.setAttribute("role", "menuitem"), B.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>`, B.addEventListener("click", (e) => {
|
|
999
|
-
e.stopPropagation()
|
|
1021
|
+
e.stopPropagation();
|
|
1022
|
+
let t = typeof navigator.clipboard?.read == "function" ? navigator.clipboard.read() : void 0;
|
|
1023
|
+
this._pasteImageFromClipboardMenu(t);
|
|
1000
1024
|
}), L.appendChild(R), L.appendChild(z), L.appendChild(B), F.appendChild(I), F.appendChild(L), 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";
|
|
1001
1025
|
let ie = document.createElement("img");
|
|
1002
1026
|
ie.className = "gengage-chat-attachment-preview-thumb", ie.dataset.gengagePart = "chat-attachment-preview-thumb", ie.alt = "", this._previewName = document.createElement("span"), this._previewName.className = "gengage-chat-attachment-name", this._previewName.dataset.gengagePart = "chat-attachment-preview-name";
|
|
@@ -1110,12 +1134,18 @@ var Ge = class {
|
|
|
1110
1134
|
this.messagesEl.appendChild(n), this._scrollToBottom(!0);
|
|
1111
1135
|
}
|
|
1112
1136
|
showErrorWithRecovery(e, t) {
|
|
1113
|
-
this.showError(e), this.
|
|
1137
|
+
this.showError(e), this.setRecoveryPills(t);
|
|
1138
|
+
}
|
|
1139
|
+
showRecoveryPillsOnly(e) {
|
|
1140
|
+
this.setRecoveryPills(e);
|
|
1141
|
+
}
|
|
1142
|
+
setRecoveryPills(e) {
|
|
1143
|
+
this.setPills([{
|
|
1114
1144
|
label: this.i18n.tryAgainButton,
|
|
1115
|
-
onAction:
|
|
1145
|
+
onAction: e.onRetry
|
|
1116
1146
|
}, {
|
|
1117
1147
|
label: this.i18n.askSomethingElseButton,
|
|
1118
|
-
onAction:
|
|
1148
|
+
onAction: e.onNewQuestion
|
|
1119
1149
|
}]);
|
|
1120
1150
|
}
|
|
1121
1151
|
clearMessages() {
|
|
@@ -1210,10 +1240,10 @@ var Ge = class {
|
|
|
1210
1240
|
_toggleAttachMenu() {
|
|
1211
1241
|
this._attachMenuEl && (this._attachMenuEl.hasAttribute("hidden") ? this._openAttachMenu() : this._closeAttachMenu());
|
|
1212
1242
|
}
|
|
1213
|
-
async _pasteImageFromClipboardMenu() {
|
|
1214
|
-
let
|
|
1215
|
-
if (
|
|
1216
|
-
this._routeAttachmentFile(
|
|
1243
|
+
async _pasteImageFromClipboardMenu(e) {
|
|
1244
|
+
let t = await Ke(e);
|
|
1245
|
+
if (t) {
|
|
1246
|
+
this._routeAttachmentFile(t), this._closeAttachMenu();
|
|
1217
1247
|
return;
|
|
1218
1248
|
}
|
|
1219
1249
|
y("gengage:global:error", {
|
|
@@ -1737,8 +1767,8 @@ var Ge = class {
|
|
|
1737
1767
|
for (let e of this._cleanups) e();
|
|
1738
1768
|
this._cleanups.length = 0, this._voiceInput?.destroy(), this._voiceInput = null;
|
|
1739
1769
|
}
|
|
1740
|
-
},
|
|
1741
|
-
function
|
|
1770
|
+
}, Je = "<svg width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <rect x=\"3\" y=\"7\" width=\"18\" height=\"13\" rx=\"3\" fill=\"currentColor\" opacity=\"0.15\"/>\n <rect x=\"3\" y=\"7\" width=\"18\" height=\"13\" rx=\"3\" stroke=\"currentColor\" stroke-width=\"1.5\"/>\n <circle cx=\"9\" cy=\"13\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"15\" cy=\"13\" r=\"1.5\" fill=\"currentColor\"/>\n <path d=\"M9.5 17C10.3 17.6 11.1 18 12 18C12.9 18 13.7 17.6 14.5 17\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"/>\n <path d=\"M12 7V4\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"/>\n <circle cx=\"12\" cy=\"3\" r=\"1\" fill=\"currentColor\"/>\n <path d=\"M1 12V14\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"/>\n <path d=\"M23 12V14\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"/>\n</svg>";
|
|
1771
|
+
function Ye(e) {
|
|
1742
1772
|
let t = document.createElement("div");
|
|
1743
1773
|
t.className = "gengage-chat-launcher-container", t.dataset.gengagePart = "chat-launcher-container";
|
|
1744
1774
|
let n = document.createElement("div");
|
|
@@ -1748,7 +1778,7 @@ function qe(e) {
|
|
|
1748
1778
|
r.className = "gengage-chat-launcher gengage-chat-launcher--image-mode";
|
|
1749
1779
|
let t = document.createElement("img");
|
|
1750
1780
|
t.src = e.imageUrl, t.alt = "", t.draggable = !1, r.appendChild(t);
|
|
1751
|
-
} else r.className = "gengage-chat-launcher", r.innerHTML = e.svgMarkup ??
|
|
1781
|
+
} else r.className = "gengage-chat-launcher", r.innerHTML = e.svgMarkup ?? Je;
|
|
1752
1782
|
if (r.dataset.gengagePart = "chat-launcher-button", e.tooltip !== void 0) {
|
|
1753
1783
|
let t = document.createElement("span");
|
|
1754
1784
|
t.className = "gengage-chat-launcher-tooltip", t.dataset.gengagePart = "chat-launcher-tooltip", t.textContent = e.tooltip, r.appendChild(t);
|
|
@@ -1764,7 +1794,7 @@ function qe(e) {
|
|
|
1764
1794
|
}
|
|
1765
1795
|
//#endregion
|
|
1766
1796
|
//#region src/common/tts-player.ts
|
|
1767
|
-
var
|
|
1797
|
+
var Xe = new Set([
|
|
1768
1798
|
"audio/ogg",
|
|
1769
1799
|
"audio/mpeg",
|
|
1770
1800
|
"audio/mp3",
|
|
@@ -1772,25 +1802,25 @@ var Je = new Set([
|
|
|
1772
1802
|
"audio/webm",
|
|
1773
1803
|
"audio/aac",
|
|
1774
1804
|
"audio/mp4"
|
|
1775
|
-
]),
|
|
1776
|
-
function
|
|
1777
|
-
e.pause(), e.removeAttribute("src"), e.load(),
|
|
1805
|
+
]), Ze = /* @__PURE__ */ new Set();
|
|
1806
|
+
function Qe(e) {
|
|
1807
|
+
e.pause(), e.removeAttribute("src"), e.load(), Ze.delete(e);
|
|
1778
1808
|
}
|
|
1779
|
-
function
|
|
1809
|
+
function $e(e, t = "audio/ogg") {
|
|
1780
1810
|
let n = t.split(";")[0].trim();
|
|
1781
|
-
if (!
|
|
1811
|
+
if (!Xe.has(n)) return null;
|
|
1782
1812
|
try {
|
|
1783
1813
|
let n = new Audio(`data:${t};base64,${e}`);
|
|
1784
|
-
return
|
|
1785
|
-
|
|
1786
|
-
}), { stop: () =>
|
|
1814
|
+
return Ze.add(n), n.addEventListener("ended", () => Qe(n), { once: !0 }), n.play().catch(() => {
|
|
1815
|
+
Qe(n);
|
|
1816
|
+
}), { stop: () => Qe(n) };
|
|
1787
1817
|
} catch {
|
|
1788
1818
|
return null;
|
|
1789
1819
|
}
|
|
1790
1820
|
}
|
|
1791
1821
|
//#endregion
|
|
1792
1822
|
//#region src/chat/components/ComparisonTable.ts
|
|
1793
|
-
var
|
|
1823
|
+
var et = {
|
|
1794
1824
|
screen_size: "Screen Size",
|
|
1795
1825
|
weight: "Weight",
|
|
1796
1826
|
battery_capacity: "Battery Capacity",
|
|
@@ -1822,25 +1852,25 @@ var Qe = {
|
|
|
1822
1852
|
height: "Height",
|
|
1823
1853
|
depth: "Depth"
|
|
1824
1854
|
};
|
|
1825
|
-
function
|
|
1826
|
-
return t?.[e] ??
|
|
1855
|
+
function tt(e, t) {
|
|
1856
|
+
return t?.[e] ?? et[e] ?? e.replace(/_/g, " ").replace(/^\w/, (e) => e.toUpperCase());
|
|
1827
1857
|
}
|
|
1828
|
-
function
|
|
1858
|
+
function nt(e) {
|
|
1829
1859
|
if (typeof e != "string") return !1;
|
|
1830
1860
|
let t = Number(e);
|
|
1831
1861
|
return Number.isFinite(t) && t > 0;
|
|
1832
1862
|
}
|
|
1833
|
-
function
|
|
1863
|
+
function rt(e) {
|
|
1834
1864
|
let t = typeof e == "number" ? e : typeof e == "string" ? Number(e) : NaN;
|
|
1835
1865
|
return Number.isFinite(t) && t > 0;
|
|
1836
1866
|
}
|
|
1837
|
-
function
|
|
1867
|
+
function it(e) {
|
|
1838
1868
|
let t = typeof e == "number" ? e : Number(e), n = document.createElement("div");
|
|
1839
1869
|
n.className = "gengage-chat-comparison-recommended-rating", n.innerHTML = "<span class=\"gengage-chat-comparison-recommended-rating-icon\" aria-hidden=\"true\"><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></span>";
|
|
1840
1870
|
let r = document.createElement("span");
|
|
1841
1871
|
return r.className = "gengage-chat-comparison-recommended-rating-value", r.textContent = t.toFixed(1), n.appendChild(r), n;
|
|
1842
1872
|
}
|
|
1843
|
-
function
|
|
1873
|
+
function at(e) {
|
|
1844
1874
|
let { recommended: t, products: n, attributes: r, highlights: i, specialCases: a, onProductClick: o, i18n: s } = e, c = document.createElement("div");
|
|
1845
1875
|
if (c.className = "gengage-chat-comparison", c.dataset.gengagePart = "comparison-dialog", c.setAttribute("role", "dialog"), c.setAttribute("aria-label", s?.comparisonHeading ?? "Comparison Results"), t) {
|
|
1846
1876
|
let n = document.createElement("article");
|
|
@@ -1865,7 +1895,7 @@ function rt(e) {
|
|
|
1865
1895
|
let d = document.createElement("div");
|
|
1866
1896
|
d.className = "gengage-chat-comparison-recommended-title", d.textContent = t.name, u.appendChild(d);
|
|
1867
1897
|
let f = document.createElement("div");
|
|
1868
|
-
if (f.className = "gengage-chat-comparison-recommended-meta",
|
|
1898
|
+
if (f.className = "gengage-chat-comparison-recommended-meta", rt(t.rating) && f.appendChild(it(t.rating)), nt(t.price)) {
|
|
1869
1899
|
let n = document.createElement("div");
|
|
1870
1900
|
n.className = "gengage-chat-comparison-recommended-price", n.textContent = U(t.price, e.pricing), f.appendChild(n);
|
|
1871
1901
|
}
|
|
@@ -1906,7 +1936,7 @@ function rt(e) {
|
|
|
1906
1936
|
let i = document.createElement("span");
|
|
1907
1937
|
i.className = "gengage-chat-comparison-key-differences-summary-meta", i.textContent = s?.viewMoreLabel ?? "Show More", n.appendChild(r), n.appendChild(i), t.appendChild(n);
|
|
1908
1938
|
let a = document.createElement("div");
|
|
1909
|
-
a.className = "gengage-chat-comparison-key-differences-content", a.innerHTML = C(
|
|
1939
|
+
a.className = "gengage-chat-comparison-key-differences-content", a.innerHTML = C(ot(e.keyDifferencesHtml)), t.appendChild(a), c.appendChild(t);
|
|
1910
1940
|
}
|
|
1911
1941
|
if (a && a.length > 0) {
|
|
1912
1942
|
let e = document.createElement("details");
|
|
@@ -1914,7 +1944,7 @@ function rt(e) {
|
|
|
1914
1944
|
let t = document.createElement("summary");
|
|
1915
1945
|
t.textContent = s?.specialCasesLabel ?? "For Special Cases", e.appendChild(t);
|
|
1916
1946
|
let n = document.createElement("ul");
|
|
1917
|
-
for (let e of a)
|
|
1947
|
+
for (let e of a) st(n, e);
|
|
1918
1948
|
n.childElementCount > 0 && e.appendChild(n), c.appendChild(e);
|
|
1919
1949
|
}
|
|
1920
1950
|
if (n.length > 0 && r.length > 0) {
|
|
@@ -1945,7 +1975,7 @@ function rt(e) {
|
|
|
1945
1975
|
e.className = "gengage-chat-comparison-table-header-img-placeholder", e.setAttribute("aria-hidden", "true"), i.appendChild(e);
|
|
1946
1976
|
}
|
|
1947
1977
|
let s = document.createElement("div");
|
|
1948
|
-
if (s.className = "gengage-chat-comparison-table-product-name", s.textContent = r.name, i.appendChild(s),
|
|
1978
|
+
if (s.className = "gengage-chat-comparison-table-product-name", s.textContent = r.name, i.appendChild(s), nt(r.price)) {
|
|
1949
1979
|
let t = document.createElement("div");
|
|
1950
1980
|
t.className = "gengage-chat-comparison-table-price", t.textContent = U(r.price, e.pricing), i.appendChild(t);
|
|
1951
1981
|
}
|
|
@@ -1955,7 +1985,7 @@ function rt(e) {
|
|
|
1955
1985
|
let d = document.createElement("tbody");
|
|
1956
1986
|
for (let e of r) {
|
|
1957
1987
|
let r = document.createElement("tr"), i = document.createElement("td");
|
|
1958
|
-
i.className = "gengage-chat-comparison-label", i.textContent =
|
|
1988
|
+
i.className = "gengage-chat-comparison-label", i.textContent = tt(e.label, s?.criteriaLabels), r.appendChild(i);
|
|
1959
1989
|
for (let i = 0; i < e.values.length; i++) {
|
|
1960
1990
|
let a = document.createElement("td");
|
|
1961
1991
|
n[i]?.sku === t?.sku && (a.className = "gengage-chat-comparison-selected gds-comparison-table-winner-cell"), a.textContent = e.values[i] ?? "", r.appendChild(a);
|
|
@@ -1974,12 +2004,12 @@ function rt(e) {
|
|
|
1974
2004
|
e.shiftKey && document.activeElement === n ? (e.preventDefault(), r.focus()) : !e.shiftKey && document.activeElement === r && (e.preventDefault(), n.focus());
|
|
1975
2005
|
}), c;
|
|
1976
2006
|
}
|
|
1977
|
-
function
|
|
2007
|
+
function ot(e) {
|
|
1978
2008
|
if (/<[uo]l[\s>]/i.test(e) || /<li[\s>]/i.test(e)) return e;
|
|
1979
2009
|
let t = e.split("\n").filter((e) => e.trim());
|
|
1980
2010
|
return t.length <= 1 ? e : "<ul>" + t.map((e) => `<li>${e.trim()}</li>`).join("") + "</ul>";
|
|
1981
2011
|
}
|
|
1982
|
-
function
|
|
2012
|
+
function st(e, t) {
|
|
1983
2013
|
let n = C(t);
|
|
1984
2014
|
if (!n) return;
|
|
1985
2015
|
let r = document.createElement("template");
|
|
@@ -1993,14 +2023,14 @@ function at(e, t) {
|
|
|
1993
2023
|
return;
|
|
1994
2024
|
}
|
|
1995
2025
|
let a = document.createElement("li");
|
|
1996
|
-
|
|
2026
|
+
ct(t) ? a.innerHTML = n : a.textContent = t, e.appendChild(a);
|
|
1997
2027
|
}
|
|
1998
|
-
function
|
|
2028
|
+
function ct(e) {
|
|
1999
2029
|
return /<\/?[a-z][\s\S]*>/i.test(e);
|
|
2000
2030
|
}
|
|
2001
2031
|
//#endregion
|
|
2002
2032
|
//#region src/chat/utils/ui.ts
|
|
2003
|
-
function
|
|
2033
|
+
function lt(e, t = 18) {
|
|
2004
2034
|
let n = "http://www.w3.org/2000/svg", r = document.createElementNS(n, "svg");
|
|
2005
2035
|
r.setAttribute("width", String(t)), r.setAttribute("height", String(t)), r.setAttribute("viewBox", "0 0 24 24"), r.setAttribute("fill", "none"), r.setAttribute("stroke", "currentColor"), r.setAttribute("stroke-width", "2"), r.setAttribute("stroke-linecap", "round"), r.setAttribute("stroke-linejoin", "round"), r.setAttribute("aria-hidden", "true");
|
|
2006
2036
|
for (let t of e) {
|
|
@@ -2011,30 +2041,30 @@ function st(e, t = 18) {
|
|
|
2011
2041
|
}
|
|
2012
2042
|
//#endregion
|
|
2013
2043
|
//#region src/chat/components/ReviewHighlights.ts
|
|
2014
|
-
var
|
|
2015
|
-
function
|
|
2016
|
-
if (typeof e != "string") return [
|
|
2044
|
+
var ut = "General", dt = 220, ft = 6;
|
|
2045
|
+
function pt(e) {
|
|
2046
|
+
if (typeof e != "string") return [ut];
|
|
2017
2047
|
let t = e.split(/[,;|/]+/).map((e) => e.trim().replace(/\s+/g, " ")).filter((e) => e.length > 0);
|
|
2018
|
-
return t.length === 0 ? [
|
|
2048
|
+
return t.length === 0 ? [ut] : Array.from(new Set(t.map((e) => e.toLocaleLowerCase()))).map((e) => t.find((t) => t.toLocaleLowerCase() === e) ?? ut);
|
|
2019
2049
|
}
|
|
2020
|
-
function
|
|
2050
|
+
function mt(e) {
|
|
2021
2051
|
return e === "positive" || e === "negative" || e === "neutral" ? e : "neutral";
|
|
2022
2052
|
}
|
|
2023
|
-
function
|
|
2053
|
+
function ht(e) {
|
|
2024
2054
|
if (typeof e != "string") return "";
|
|
2025
2055
|
let t = e.trim().replace(/\s+/g, " ");
|
|
2026
|
-
return t.length <=
|
|
2056
|
+
return t.length <= dt ? t : `${t.slice(0, dt - 3).trimEnd()}...`;
|
|
2027
2057
|
}
|
|
2028
|
-
function
|
|
2058
|
+
function gt(e) {
|
|
2029
2059
|
return e.positive > e.negative ? "positive" : e.negative > e.positive ? "negative" : "neutral";
|
|
2030
2060
|
}
|
|
2031
|
-
function
|
|
2032
|
-
return
|
|
2061
|
+
function _t(e) {
|
|
2062
|
+
return lt(e === "positive" ? ["M7 17 17 7", "M7 7h10v10"] : e === "negative" ? ["M7 7 17 17", "M17 7v10H7"] : ["M5 12h14"], 14);
|
|
2033
2063
|
}
|
|
2034
|
-
function
|
|
2064
|
+
function vt(e, t = "1 customer mentions", n = "customers mention") {
|
|
2035
2065
|
return e === 1 ? t : `${e} ${n}`;
|
|
2036
2066
|
}
|
|
2037
|
-
function
|
|
2067
|
+
function yt(e, t) {
|
|
2038
2068
|
let n = document.createElement("div");
|
|
2039
2069
|
n.className = "gengage-chat-review-highlights";
|
|
2040
2070
|
let r = e.props?.reviews;
|
|
@@ -2044,7 +2074,7 @@ function _t(e, t) {
|
|
|
2044
2074
|
}
|
|
2045
2075
|
let i = r.filter((e) => typeof e == "object" && !!e), a = /* @__PURE__ */ new Map();
|
|
2046
2076
|
for (let e of i) {
|
|
2047
|
-
let t =
|
|
2077
|
+
let t = mt(e.review_class), n = ht(e.review_text), r = pt(e.review_tag);
|
|
2048
2078
|
for (let i of r) {
|
|
2049
2079
|
let r = i.toLocaleLowerCase(), o = a.get(r);
|
|
2050
2080
|
if (o || (o = {
|
|
@@ -2055,7 +2085,7 @@ function _t(e, t) {
|
|
|
2055
2085
|
negative: 0,
|
|
2056
2086
|
neutral: 0,
|
|
2057
2087
|
snippets: []
|
|
2058
|
-
}, a.set(r, o)), o.mentions += 1, t === "positive" ? o.positive += 1 : t === "negative" ? o.negative += 1 : o.neutral += 1, n.length > 0 && o.snippets.length <
|
|
2088
|
+
}, a.set(r, o)), o.mentions += 1, t === "positive" ? o.positive += 1 : t === "negative" ? o.negative += 1 : o.neutral += 1, n.length > 0 && o.snippets.length < ft && !o.snippets.some((e) => e.text === n)) {
|
|
2059
2089
|
let r = {
|
|
2060
2090
|
text: n,
|
|
2061
2091
|
tone: t
|
|
@@ -2083,7 +2113,7 @@ function _t(e, t) {
|
|
|
2083
2113
|
let n = document.createElement("div");
|
|
2084
2114
|
n.className = "gengage-chat-review-detail-meta";
|
|
2085
2115
|
let r = document.createElement("span");
|
|
2086
|
-
if (r.className = "gengage-chat-review-detail-mentions", r.textContent = `${
|
|
2116
|
+
if (r.className = "gengage-chat-review-detail-mentions", r.textContent = `${vt(e.mentions, t?.reviewCustomersMentionSingular, t?.reviewCustomersMentionPlural)} "${e.label}"`, n.appendChild(r), e.positive > 0) {
|
|
2087
2117
|
let t = document.createElement("span");
|
|
2088
2118
|
t.className = "gengage-chat-review-detail-positive", t.textContent = `${e.positive} ${s}`, n.appendChild(t);
|
|
2089
2119
|
}
|
|
@@ -2112,10 +2142,10 @@ function _t(e, t) {
|
|
|
2112
2142
|
}
|
|
2113
2143
|
};
|
|
2114
2144
|
for (let e of o) {
|
|
2115
|
-
let t =
|
|
2145
|
+
let t = gt(e), n = document.createElement("button");
|
|
2116
2146
|
n.type = "button", n.className = "gengage-chat-review-subject gds-chip", n.dataset.subjectKey = e.key, n.dataset.tone = t;
|
|
2117
2147
|
let r = document.createElement("span");
|
|
2118
|
-
r.className = "gengage-chat-review-subject-icon", r.appendChild(
|
|
2148
|
+
r.className = "gengage-chat-review-subject-icon", r.appendChild(_t(t)), n.appendChild(r);
|
|
2119
2149
|
let i = document.createElement("span");
|
|
2120
2150
|
i.className = "gengage-chat-review-subject-label", i.textContent = e.label, n.appendChild(i);
|
|
2121
2151
|
let a = document.createElement("span");
|
|
@@ -2127,23 +2157,23 @@ function _t(e, t) {
|
|
|
2127
2157
|
}
|
|
2128
2158
|
//#endregion
|
|
2129
2159
|
//#region src/chat/components/AITopPicks.ts
|
|
2130
|
-
function
|
|
2160
|
+
function bt(e) {
|
|
2131
2161
|
let t = e.product.sku;
|
|
2132
2162
|
if (typeof t == "string" && t.length > 0) return t;
|
|
2133
2163
|
let n = e.action?.payload;
|
|
2134
2164
|
return n && typeof n == "object" && "sku" in n && typeof n.sku == "string" ? n.sku : null;
|
|
2135
2165
|
}
|
|
2136
|
-
var
|
|
2166
|
+
var xt = {
|
|
2137
2167
|
winner: "roleWinner",
|
|
2138
2168
|
best_value: "roleBestValue",
|
|
2139
2169
|
best_alternative: "roleBestAlternative"
|
|
2140
2170
|
};
|
|
2141
|
-
function
|
|
2171
|
+
function St(e, t) {
|
|
2142
2172
|
if (!e || !t) return null;
|
|
2143
|
-
let n =
|
|
2173
|
+
let n = xt[e];
|
|
2144
2174
|
return n ? t[n] ?? e : e;
|
|
2145
2175
|
}
|
|
2146
|
-
function
|
|
2176
|
+
function Ct(e) {
|
|
2147
2177
|
let t = e.rating, n = typeof t == "number" ? t : typeof t == "string" ? parseFloat(t) : NaN;
|
|
2148
2178
|
if (Number.isNaN(n) || n <= 0) return null;
|
|
2149
2179
|
let r = document.createElement("div");
|
|
@@ -2153,7 +2183,7 @@ function xt(e) {
|
|
|
2153
2183
|
let a = document.createElement("span");
|
|
2154
2184
|
return a.className = "gengage-chat-ai-toppick-rating-value", a.textContent = n.toFixed(1), r.appendChild(i), r.appendChild(a), r;
|
|
2155
2185
|
}
|
|
2156
|
-
function
|
|
2186
|
+
function wt(e, t, n, r, i) {
|
|
2157
2187
|
let a = document.createElement("div");
|
|
2158
2188
|
a.className = "gengage-chat-ai-toppick-media", a.dataset.gengagePart = "ai-top-pick-media";
|
|
2159
2189
|
let o = e.product, s = o.imageUrl;
|
|
@@ -2161,7 +2191,7 @@ function St(e, t, n, r, i) {
|
|
|
2161
2191
|
let e = document.createElement("img");
|
|
2162
2192
|
e.className = "gengage-chat-ai-toppick-img", e.dataset.gengagePart = "ai-top-pick-image", h(e, "src", s), e.loading = "lazy", e.alt = t, W(e), a.appendChild(e);
|
|
2163
2193
|
}
|
|
2164
|
-
let c =
|
|
2194
|
+
let c = bt(e);
|
|
2165
2195
|
if (c && !i?.skipOverlayActions) {
|
|
2166
2196
|
let e = document.createElement("div");
|
|
2167
2197
|
if (e.className = "gengage-chat-product-card-img-actions", r.onFavoriteToggle) {
|
|
@@ -2188,7 +2218,7 @@ function St(e, t, n, r, i) {
|
|
|
2188
2218
|
}
|
|
2189
2219
|
n.appendChild(a);
|
|
2190
2220
|
}
|
|
2191
|
-
function
|
|
2221
|
+
function Tt(e, t, n) {
|
|
2192
2222
|
let r = e.price, i = e.originalPrice;
|
|
2193
2223
|
if (!r) return;
|
|
2194
2224
|
let a = document.createElement("div");
|
|
@@ -2199,7 +2229,7 @@ function Ct(e, t, n) {
|
|
|
2199
2229
|
let o = document.createElement("span");
|
|
2200
2230
|
o.textContent = U(r, n.pricing), a.appendChild(o), t.appendChild(a);
|
|
2201
2231
|
}
|
|
2202
|
-
function
|
|
2232
|
+
function Et(e, t) {
|
|
2203
2233
|
let n = typeof e.reason == "string" ? e.reason.trim() : "", r = typeof e.reviewHighlight == "string" ? e.reviewHighlight.trim() : "";
|
|
2204
2234
|
if (!(!n && !r)) {
|
|
2205
2235
|
if (n) {
|
|
@@ -2212,10 +2242,10 @@ function wt(e, t) {
|
|
|
2212
2242
|
}
|
|
2213
2243
|
}
|
|
2214
2244
|
}
|
|
2215
|
-
function
|
|
2245
|
+
function Dt(e, t, n) {
|
|
2216
2246
|
let r = document.createElement("div");
|
|
2217
2247
|
r.className = n ? "gengage-chat-ai-toppick-card gengage-chat-ai-toppick-card--winner gds-card" : "gengage-chat-ai-toppick-card gengage-chat-ai-toppick-card--compact gds-card", r.dataset.gengagePart = n ? "ai-top-pick-card-winner" : "ai-top-pick-card";
|
|
2218
|
-
let i = e.product, a =
|
|
2248
|
+
let i = e.product, a = bt(e), o = i.url ?? "", s = i.cartCode, c = i.inStock, l = !!(a && s && c !== !1), u = e.action;
|
|
2219
2249
|
a && t.onProductClick ? (r.classList.add("gds-clickable"), r.addEventListener("click", (e) => {
|
|
2220
2250
|
e.target.closest(".gengage-chat-ai-toppick-cta") || e.target.closest(".gengage-chat-favorite-btn") || e.target.closest(".gengage-chat-find-similar-pill") || t.onProductClick?.({
|
|
2221
2251
|
sku: a,
|
|
@@ -2224,13 +2254,13 @@ function Tt(e, t, n) {
|
|
|
2224
2254
|
})) : u && (r.classList.add("gds-clickable"), r.addEventListener("click", (e) => {
|
|
2225
2255
|
e.target.closest(".gengage-chat-ai-toppick-cta") || e.target.closest(".gengage-chat-favorite-btn") || e.target.closest(".gengage-chat-find-similar-pill") || t.onAction(u);
|
|
2226
2256
|
}));
|
|
2227
|
-
let d = i.name || "Product image", f = !n && t.isMobile === !0, p = n ?
|
|
2257
|
+
let d = i.name || "Product image", f = !n && t.isMobile === !0, p = n ? St(e.role, t.i18n) ?? t.i18n?.roleWinner ?? "TOP MATCH" : St(e.role, t.i18n);
|
|
2228
2258
|
if (p && !f) {
|
|
2229
2259
|
let e = document.createElement("span");
|
|
2230
2260
|
e.className = "gengage-chat-ai-toppick-badge gds-badge", e.dataset.gengagePart = "ai-top-pick-role-badge", e.textContent = p, r.appendChild(e);
|
|
2231
2261
|
}
|
|
2232
2262
|
let m = document.createElement("div");
|
|
2233
|
-
m.className = "gengage-chat-ai-toppick-top-row", m.dataset.gengagePart = "ai-top-pick-top-row",
|
|
2263
|
+
m.className = "gengage-chat-ai-toppick-top-row", m.dataset.gengagePart = "ai-top-pick-top-row", wt(e, d, m, t, { skipOverlayActions: f });
|
|
2234
2264
|
let h = document.createElement("div");
|
|
2235
2265
|
if (h.className = "gengage-chat-ai-toppick-body", h.dataset.gengagePart = "ai-top-pick-body", p && f) {
|
|
2236
2266
|
let e = document.createElement("div");
|
|
@@ -2241,10 +2271,10 @@ function Tt(e, t, n) {
|
|
|
2241
2271
|
let e = document.createElement("div");
|
|
2242
2272
|
e.className = "gengage-chat-ai-toppick-name", e.dataset.gengagePart = "ai-top-pick-name", e.textContent = g, h.appendChild(e);
|
|
2243
2273
|
}
|
|
2244
|
-
let _ =
|
|
2245
|
-
_ && h.appendChild(_),
|
|
2274
|
+
let _ = Ct(i);
|
|
2275
|
+
_ && h.appendChild(_), Tt(i, h, t), e.labels && e.labels.length > 0 && h.appendChild(kt(e.labels)), m.appendChild(h), r.appendChild(m);
|
|
2246
2276
|
let v = document.createElement("div");
|
|
2247
|
-
if (v.className = "gengage-chat-ai-toppick-detail", v.dataset.gengagePart = "ai-top-pick-detail", n)
|
|
2277
|
+
if (v.className = "gengage-chat-ai-toppick-detail", v.dataset.gengagePart = "ai-top-pick-detail", n) Et(e, v);
|
|
2248
2278
|
else {
|
|
2249
2279
|
let t = typeof e.reason == "string" ? e.reason.trim() : "";
|
|
2250
2280
|
if (t) {
|
|
@@ -2286,7 +2316,7 @@ function Tt(e, t, n) {
|
|
|
2286
2316
|
}
|
|
2287
2317
|
return r;
|
|
2288
2318
|
}
|
|
2289
|
-
function
|
|
2319
|
+
function Ot(e, t) {
|
|
2290
2320
|
let n = document.createElement("div");
|
|
2291
2321
|
n.className = "gengage-chat-ai-top-picks", n.dataset.gengagePart = "ai-top-picks";
|
|
2292
2322
|
let r = e.props?.suggestions ?? [];
|
|
@@ -2296,18 +2326,18 @@ function Et(e, t) {
|
|
|
2296
2326
|
let a = document.createElement("div");
|
|
2297
2327
|
a.className = "gengage-chat-ai-top-picks-scroll", a.dataset.gengagePart = "ai-top-picks-scroll";
|
|
2298
2328
|
let o = r[0];
|
|
2299
|
-
if (a.appendChild(
|
|
2329
|
+
if (a.appendChild(Dt(o, t, !0)), r.length > 1) {
|
|
2300
2330
|
let e = document.createElement("div");
|
|
2301
2331
|
e.className = "gengage-chat-ai-top-picks-rest", e.dataset.gengagePart = "ai-top-picks-rest";
|
|
2302
2332
|
for (let n = 1; n < r.length; n++) {
|
|
2303
2333
|
let i = r[n], a = i.role === "winner";
|
|
2304
|
-
e.appendChild(
|
|
2334
|
+
e.appendChild(Dt(i, t, a));
|
|
2305
2335
|
}
|
|
2306
2336
|
a.appendChild(e);
|
|
2307
2337
|
}
|
|
2308
2338
|
return n.appendChild(a), n;
|
|
2309
2339
|
}
|
|
2310
|
-
function
|
|
2340
|
+
function kt(e) {
|
|
2311
2341
|
let t = document.createElement("div");
|
|
2312
2342
|
t.className = "gengage-chat-ai-toppick-labels", t.dataset.gengagePart = "ai-top-pick-labels";
|
|
2313
2343
|
for (let n of e) {
|
|
@@ -2318,11 +2348,11 @@ function Dt(e) {
|
|
|
2318
2348
|
}
|
|
2319
2349
|
//#endregion
|
|
2320
2350
|
//#region src/chat/components/GroundingReviewCard.ts
|
|
2321
|
-
function
|
|
2351
|
+
function At(e, t) {
|
|
2322
2352
|
let n = document.createElement("div");
|
|
2323
2353
|
n.className = "gengage-chat-grounding-review gds-evidence-card", n.dataset.gengagePart = "grounding-review-card";
|
|
2324
2354
|
let r = e.props ?? {}, i = r.title, a = r.reviewCount, o = r.action, s = t.i18n?.groundingReviewCta ?? "Read Reviews", c = document.createElement("span");
|
|
2325
|
-
c.className = "gengage-chat-grounding-review-icon", c.appendChild(
|
|
2355
|
+
c.className = "gengage-chat-grounding-review-icon", c.appendChild(lt([
|
|
2326
2356
|
"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",
|
|
2327
2357
|
"M8 9h8",
|
|
2328
2358
|
"M8 13h6"
|
|
@@ -2340,13 +2370,13 @@ function Ot(e, t) {
|
|
|
2340
2370
|
let f = document.createElement("span");
|
|
2341
2371
|
f.textContent = s, d.appendChild(f);
|
|
2342
2372
|
let p = document.createElement("span");
|
|
2343
|
-
return p.className = "gengage-chat-grounding-review-cta-icon", p.appendChild(
|
|
2373
|
+
return p.className = "gengage-chat-grounding-review-cta-icon", p.appendChild(lt(["M5 12h14", "M15 8l4 4-4 4"], 14)), d.appendChild(p), n.appendChild(d), o && (n.classList.add("gds-clickable"), n.setAttribute("role", "button"), n.setAttribute("tabindex", "0"), n.addEventListener("click", () => t.onAction(o)), n.addEventListener("keydown", (e) => {
|
|
2344
2374
|
(e.key === "Enter" || e.key === " ") && (e.preventDefault(), t.onAction(o));
|
|
2345
2375
|
})), n;
|
|
2346
2376
|
}
|
|
2347
2377
|
//#endregion
|
|
2348
2378
|
//#region src/chat/components/AIGroupingCards.ts
|
|
2349
|
-
function
|
|
2379
|
+
function jt(e) {
|
|
2350
2380
|
if (e.action.type !== "findSimilar") return e.action;
|
|
2351
2381
|
let t = e.action.payload && typeof e.action.payload == "object" ? e.action.payload : null, n = typeof t?.input == "string" && t.input.trim() || typeof t?.text == "string" && t.text.trim() || e.name.trim();
|
|
2352
2382
|
if (!n) return e.action;
|
|
@@ -2364,7 +2394,7 @@ function kt(e) {
|
|
|
2364
2394
|
payload: r
|
|
2365
2395
|
};
|
|
2366
2396
|
}
|
|
2367
|
-
function
|
|
2397
|
+
function Mt(e, t) {
|
|
2368
2398
|
let n = document.createElement("div");
|
|
2369
2399
|
n.className = "gengage-chat-grouping-cards", n.dataset.gengagePart = "ai-grouping-cards";
|
|
2370
2400
|
let r = e.props?.entries ?? [];
|
|
@@ -2378,7 +2408,7 @@ function At(e, t) {
|
|
|
2378
2408
|
o.className = "gengage-chat-grouping-cards-scroll", o.dataset.gengagePart = "ai-grouping-cards-scroll";
|
|
2379
2409
|
for (let e of r) {
|
|
2380
2410
|
let n = document.createElement("div");
|
|
2381
|
-
if (n.className = "gengage-chat-grouping-card gds-card", n.dataset.gengagePart = "ai-grouping-card", n.classList.add("gds-clickable"), n.addEventListener("click", () => t.onAction(
|
|
2411
|
+
if (n.className = "gengage-chat-grouping-card gds-card", n.dataset.gengagePart = "ai-grouping-card", n.classList.add("gds-clickable"), n.addEventListener("click", () => t.onAction(jt(e))), e.image && x(e.image)) {
|
|
2382
2412
|
let t = document.createElement("img");
|
|
2383
2413
|
t.className = "gengage-chat-grouping-card-img", t.dataset.gengagePart = "ai-grouping-card-image", t.src = e.image, t.alt = e.name, t.width = 64, t.height = 64, n.appendChild(t);
|
|
2384
2414
|
}
|
|
@@ -2402,7 +2432,7 @@ function At(e, t) {
|
|
|
2402
2432
|
}
|
|
2403
2433
|
//#endregion
|
|
2404
2434
|
//#region src/chat/components/AISuggestedSearchCards.ts
|
|
2405
|
-
function
|
|
2435
|
+
function Nt(e, t) {
|
|
2406
2436
|
let n = document.createElement("div");
|
|
2407
2437
|
n.className = "gengage-chat-suggested-search-cards", n.dataset.gengagePart = "ai-suggested-search-cards";
|
|
2408
2438
|
let r = e.props?.entries ?? [];
|
|
@@ -2422,7 +2452,7 @@ function jt(e, t) {
|
|
|
2422
2452
|
}
|
|
2423
2453
|
//#endregion
|
|
2424
2454
|
//#region src/chat/components/FloatingComparisonButton.ts
|
|
2425
|
-
function
|
|
2455
|
+
function Pt(e, t) {
|
|
2426
2456
|
let n = e.length >= 2, r = t.i18n?.compareSelected ?? "Compare", i = t.comparisonSelectionWarning, a = document.createElement("div");
|
|
2427
2457
|
a.className = "gengage-chat-comparison-floating-btn", a.dataset.gengagePart = "comparison-dock";
|
|
2428
2458
|
let o = document.createElement("div");
|
|
@@ -2454,7 +2484,7 @@ function Mt(e, t) {
|
|
|
2454
2484
|
}
|
|
2455
2485
|
//#endregion
|
|
2456
2486
|
//#region src/chat/components/ProsAndCons.ts
|
|
2457
|
-
function
|
|
2487
|
+
function Ft(e) {
|
|
2458
2488
|
let t = document.createElement("div");
|
|
2459
2489
|
t.className = "gengage-chat-pros-cons gds-card-soft", t.dataset.gengagePart = "pros-cons";
|
|
2460
2490
|
let n = e.props?.productName;
|
|
@@ -2493,7 +2523,7 @@ function Nt(e) {
|
|
|
2493
2523
|
}
|
|
2494
2524
|
//#endregion
|
|
2495
2525
|
//#region src/chat/components/CategoriesContainer.ts
|
|
2496
|
-
function
|
|
2526
|
+
function It(e, t) {
|
|
2497
2527
|
let n = e.props?.groups ?? [], r = e.props?.filterTags ?? [], i = document.createElement("div");
|
|
2498
2528
|
if (i.className = "gengage-chat-categories", i.dataset.gengagePart = "categories-container", n.length === 0) return i;
|
|
2499
2529
|
let a = document.createElement("div");
|
|
@@ -2513,7 +2543,7 @@ function Pt(e, t) {
|
|
|
2513
2543
|
let d = document.createElement("div");
|
|
2514
2544
|
d.className = "gengage-chat-categories-grid", d.dataset.gengagePart = "categories-panel", d.id = l, d.setAttribute("role", "tabpanel"), d.setAttribute("aria-labelledby", i), e !== 0 && (d.style.display = "none");
|
|
2515
2545
|
for (let e of r.products) {
|
|
2516
|
-
let n =
|
|
2546
|
+
let n = Lt(e, t);
|
|
2517
2547
|
d.appendChild(n);
|
|
2518
2548
|
}
|
|
2519
2549
|
s.push(d);
|
|
@@ -2533,7 +2563,7 @@ function Pt(e, t) {
|
|
|
2533
2563
|
}
|
|
2534
2564
|
return i;
|
|
2535
2565
|
}
|
|
2536
|
-
function
|
|
2566
|
+
function Lt(e, t) {
|
|
2537
2567
|
let n = document.createElement("div");
|
|
2538
2568
|
if (n.className = "gengage-chat-product-card gds-card gds-product-card gds-card-interactive", n.dataset.gengagePart = "categories-product-card", e.imageUrl && x(e.imageUrl)) {
|
|
2539
2569
|
let t = document.createElement("img");
|
|
@@ -2560,7 +2590,7 @@ function Ft(e, t) {
|
|
|
2560
2590
|
}
|
|
2561
2591
|
//#endregion
|
|
2562
2592
|
//#region src/chat/components/HandoffNotice.ts
|
|
2563
|
-
function
|
|
2593
|
+
function Rt(e, t) {
|
|
2564
2594
|
let n = document.createElement("div");
|
|
2565
2595
|
n.className = "gengage-chat-handoff-notice gds-evidence-card gds-evidence-card-warning", n.dataset.gengagePart = "handoff-notice", n.setAttribute("role", "alert");
|
|
2566
2596
|
let r = document.createElement("span");
|
|
@@ -2576,7 +2606,7 @@ function It(e, t) {
|
|
|
2576
2606
|
}
|
|
2577
2607
|
//#endregion
|
|
2578
2608
|
//#region src/chat/components/ProductSummaryCard.ts
|
|
2579
|
-
function
|
|
2609
|
+
function zt(e, t) {
|
|
2580
2610
|
let n = e.props?.product ?? e.props, r = document.createElement("div");
|
|
2581
2611
|
if (r.className = "gengage-chat-product-summary gds-card", r.dataset.gengagePart = "product-summary-card", !n) return r;
|
|
2582
2612
|
r.classList.add("gds-clickable"), r.addEventListener("click", (e) => {
|
|
@@ -2627,16 +2657,16 @@ function Lt(e, t) {
|
|
|
2627
2657
|
}
|
|
2628
2658
|
//#endregion
|
|
2629
2659
|
//#region src/chat/components/renderUISpec.ts
|
|
2630
|
-
function
|
|
2660
|
+
function Bt() {
|
|
2631
2661
|
return window.innerWidth < 768;
|
|
2632
2662
|
}
|
|
2633
|
-
var
|
|
2634
|
-
ActionButtons: ({ element: e, context: t }) =>
|
|
2635
|
-
ActionButton: ({ element: e, context: t }) =>
|
|
2636
|
-
ProductCard: ({ element: e, context: t }) =>
|
|
2637
|
-
ProductDetailsPanel: ({ element: e, context: t }) =>
|
|
2638
|
-
ProductGrid: ({ element: e, spec: t, renderElement: n, context: r }) =>
|
|
2639
|
-
ReviewHighlights: ({ element: e, context: t }) =>
|
|
2663
|
+
var Vt = {
|
|
2664
|
+
ActionButtons: ({ element: e, context: t }) => Gt(e, t),
|
|
2665
|
+
ActionButton: ({ element: e, context: t }) => Kt(e, t),
|
|
2666
|
+
ProductCard: ({ element: e, context: t }) => qt(e, t),
|
|
2667
|
+
ProductDetailsPanel: ({ element: e, context: t }) => wn(e, t),
|
|
2668
|
+
ProductGrid: ({ element: e, spec: t, renderElement: n, context: r }) => In(e, t, n, r),
|
|
2669
|
+
ReviewHighlights: ({ element: e, context: t }) => yt(e, {
|
|
2640
2670
|
emptyReviewsMessage: t.i18n?.emptyReviewsMessage,
|
|
2641
2671
|
reviewFilterPositive: t.i18n?.reviewFilterPositive,
|
|
2642
2672
|
reviewFilterNegative: t.i18n?.reviewFilterNegative,
|
|
@@ -2644,17 +2674,17 @@ var zt = {
|
|
|
2644
2674
|
reviewCustomersMentionPlural: t.i18n?.reviewCustomersMentionPlural,
|
|
2645
2675
|
reviewSubjectsHeading: t.i18n?.reviewSubjectsHeading
|
|
2646
2676
|
}),
|
|
2647
|
-
ComparisonTable: ({ element: e, context: t }) =>
|
|
2648
|
-
AITopPicks: ({ element: e, context: t }) =>
|
|
2649
|
-
GroundingReviewCard: ({ element: e, context: t }) =>
|
|
2650
|
-
AIGroupingCards: ({ element: e, context: t }) =>
|
|
2651
|
-
AISuggestedSearchCards: ({ element: e, context: t }) =>
|
|
2652
|
-
ProsAndCons: ({ element: e }) =>
|
|
2653
|
-
CategoriesContainer: ({ element: e, context: t }) =>
|
|
2654
|
-
HandoffNotice: ({ element: e, context: t }) =>
|
|
2655
|
-
ProductSummaryCard: ({ element: e, context: t }) =>
|
|
2656
|
-
Divider: ({ element: e }) =>
|
|
2657
|
-
},
|
|
2677
|
+
ComparisonTable: ({ element: e, context: t }) => Ln(e, t),
|
|
2678
|
+
AITopPicks: ({ element: e, context: t }) => Ot(e, t),
|
|
2679
|
+
GroundingReviewCard: ({ element: e, context: t }) => At(e, t),
|
|
2680
|
+
AIGroupingCards: ({ element: e, context: t }) => Mt(e, t),
|
|
2681
|
+
AISuggestedSearchCards: ({ element: e, context: t }) => Nt(e, t),
|
|
2682
|
+
ProsAndCons: ({ element: e }) => Ft(e),
|
|
2683
|
+
CategoriesContainer: ({ element: e, context: t }) => It(e, t),
|
|
2684
|
+
HandoffNotice: ({ element: e, context: t }) => Rt(e, t),
|
|
2685
|
+
ProductSummaryCard: ({ element: e, context: t }) => zt(e, t),
|
|
2686
|
+
Divider: ({ element: e }) => Rn(e)
|
|
2687
|
+
}, Ht = ({ element: e, renderElement: t }) => {
|
|
2658
2688
|
if (!e.children || e.children.length === 0) return null;
|
|
2659
2689
|
let n = document.createElement("div");
|
|
2660
2690
|
for (let r of e.children) {
|
|
@@ -2663,10 +2693,10 @@ var zt = {
|
|
|
2663
2693
|
}
|
|
2664
2694
|
return n;
|
|
2665
2695
|
};
|
|
2666
|
-
function
|
|
2667
|
-
return { ...
|
|
2696
|
+
function Ut() {
|
|
2697
|
+
return { ...Vt };
|
|
2668
2698
|
}
|
|
2669
|
-
function
|
|
2699
|
+
function Wt(t, n, r = Vt, i = Ht) {
|
|
2670
2700
|
return e({
|
|
2671
2701
|
spec: t,
|
|
2672
2702
|
context: n,
|
|
@@ -2675,7 +2705,7 @@ function Ht(t, n, r = zt, i = Bt) {
|
|
|
2675
2705
|
unknownRenderer: i
|
|
2676
2706
|
});
|
|
2677
2707
|
}
|
|
2678
|
-
function
|
|
2708
|
+
function Gt(e, t) {
|
|
2679
2709
|
let n = document.createElement("div");
|
|
2680
2710
|
n.className = "gengage-chat-action-buttons";
|
|
2681
2711
|
let r = e.props?.buttons;
|
|
@@ -2685,7 +2715,7 @@ function Ut(e, t) {
|
|
|
2685
2715
|
}
|
|
2686
2716
|
return n;
|
|
2687
2717
|
}
|
|
2688
|
-
function
|
|
2718
|
+
function Kt(e, t) {
|
|
2689
2719
|
let n = document.createElement("button");
|
|
2690
2720
|
n.className = "gengage-chat-action-btn";
|
|
2691
2721
|
let r = e.props?.label;
|
|
@@ -2693,7 +2723,7 @@ function Wt(e, t) {
|
|
|
2693
2723
|
let i = e.props?.action;
|
|
2694
2724
|
return i && n.addEventListener("click", () => t.onAction(i)), n;
|
|
2695
2725
|
}
|
|
2696
|
-
function
|
|
2726
|
+
function qt(e, t) {
|
|
2697
2727
|
let n = document.createElement("div");
|
|
2698
2728
|
n.className = "gengage-chat-product-card gds-card gds-product-card gds-card-interactive";
|
|
2699
2729
|
let r = e.props?.product ?? e.props;
|
|
@@ -2872,28 +2902,28 @@ function Gt(e, t) {
|
|
|
2872
2902
|
}
|
|
2873
2903
|
return n;
|
|
2874
2904
|
}
|
|
2875
|
-
var
|
|
2905
|
+
var Jt = new Set([
|
|
2876
2906
|
"color",
|
|
2877
2907
|
"colour",
|
|
2878
2908
|
"renk",
|
|
2879
2909
|
"renk kodu",
|
|
2880
2910
|
"color code"
|
|
2881
|
-
]),
|
|
2911
|
+
]), Yt = new Set([
|
|
2882
2912
|
"size",
|
|
2883
2913
|
"beden",
|
|
2884
2914
|
"boyut"
|
|
2885
|
-
]),
|
|
2915
|
+
]), Xt = new Set([
|
|
2886
2916
|
"finish",
|
|
2887
2917
|
"bitiş",
|
|
2888
2918
|
"bitişi"
|
|
2889
|
-
]),
|
|
2919
|
+
]), Zt = [
|
|
2890
2920
|
"variants",
|
|
2891
2921
|
"variantOptions",
|
|
2892
2922
|
"variant_options",
|
|
2893
2923
|
"productVariants",
|
|
2894
2924
|
"product_variants",
|
|
2895
2925
|
"options"
|
|
2896
|
-
],
|
|
2926
|
+
], Qt = new Set([
|
|
2897
2927
|
"H2",
|
|
2898
2928
|
"H3",
|
|
2899
2929
|
"H4",
|
|
@@ -2906,7 +2936,7 @@ var Kt = new Set([
|
|
|
2906
2936
|
"B",
|
|
2907
2937
|
"EM",
|
|
2908
2938
|
"I"
|
|
2909
|
-
]),
|
|
2939
|
+
]), $t = new Set([
|
|
2910
2940
|
"SCRIPT",
|
|
2911
2941
|
"STYLE",
|
|
2912
2942
|
"NOSCRIPT",
|
|
@@ -2923,7 +2953,7 @@ function q(e, ...t) {
|
|
|
2923
2953
|
}
|
|
2924
2954
|
}
|
|
2925
2955
|
}
|
|
2926
|
-
function
|
|
2956
|
+
function en(e, ...t) {
|
|
2927
2957
|
for (let n of t) {
|
|
2928
2958
|
let t = e[n];
|
|
2929
2959
|
if (typeof t == "number" && Number.isFinite(t)) return t;
|
|
@@ -2933,32 +2963,32 @@ function Qt(e, ...t) {
|
|
|
2933
2963
|
}
|
|
2934
2964
|
}
|
|
2935
2965
|
}
|
|
2936
|
-
function
|
|
2966
|
+
function tn(e, ...t) {
|
|
2937
2967
|
for (let n of t) {
|
|
2938
2968
|
let t = e[n];
|
|
2939
2969
|
if (typeof t == "boolean") return t;
|
|
2940
2970
|
}
|
|
2941
2971
|
}
|
|
2942
|
-
function
|
|
2972
|
+
function nn(e, ...t) {
|
|
2943
2973
|
for (let n of t) {
|
|
2944
2974
|
let t = e[n];
|
|
2945
2975
|
if (t && typeof t == "object" && !Array.isArray(t)) return t;
|
|
2946
2976
|
}
|
|
2947
2977
|
}
|
|
2948
|
-
function
|
|
2978
|
+
function rn(e) {
|
|
2949
2979
|
return Array.isArray(e) ? e.filter((e) => typeof e == "string" && e.trim().length > 0) : [];
|
|
2950
2980
|
}
|
|
2951
|
-
function
|
|
2952
|
-
let t = [...
|
|
2981
|
+
function an(e) {
|
|
2982
|
+
let t = [...rn(e.images), q(e, "imageUrl", "image_url", "image")].filter((e) => !!e && H(e));
|
|
2953
2983
|
return Array.from(new Set(t));
|
|
2954
2984
|
}
|
|
2955
|
-
function
|
|
2985
|
+
function on(e) {
|
|
2956
2986
|
return typeof DOMParser < "u" ? (new DOMParser().parseFromString(e, "text/html").body.textContent ?? "").replace(/\s+/g, " ").trim() : e.replace(/<[^>]*>/g, " ").replace(/\s+/g, " ").trim();
|
|
2957
2987
|
}
|
|
2958
|
-
function
|
|
2988
|
+
function sn(e) {
|
|
2959
2989
|
let t = q(e, "description_html", "descriptionHtml");
|
|
2960
2990
|
if (t) {
|
|
2961
|
-
let e =
|
|
2991
|
+
let e = on(t);
|
|
2962
2992
|
if (e) return {
|
|
2963
2993
|
text: e,
|
|
2964
2994
|
html: t
|
|
@@ -2967,7 +2997,7 @@ function an(e) {
|
|
|
2967
2997
|
let n = q(e, "description");
|
|
2968
2998
|
return n ? { text: n } : void 0;
|
|
2969
2999
|
}
|
|
2970
|
-
function
|
|
3000
|
+
function cn(e) {
|
|
2971
3001
|
return Array.isArray(e) ? e.map((e) => {
|
|
2972
3002
|
if (!e || typeof e != "object") return null;
|
|
2973
3003
|
let t = e, n = q(t, "key", "name", "label", "title"), r = t.value, i = typeof r == "string" || typeof r == "number" || typeof r == "boolean" ? String(r).trim() : void 0;
|
|
@@ -2983,93 +3013,93 @@ function on(e) {
|
|
|
2983
3013
|
};
|
|
2984
3014
|
}).filter((e) => e !== null) : [];
|
|
2985
3015
|
}
|
|
2986
|
-
function
|
|
2987
|
-
let t =
|
|
2988
|
-
return t.length > 0 ? t :
|
|
3016
|
+
function ln(e) {
|
|
3017
|
+
let t = cn(e.features);
|
|
3018
|
+
return t.length > 0 ? t : cn(e.specifications);
|
|
2989
3019
|
}
|
|
2990
|
-
function
|
|
2991
|
-
let t = e.specifications, n =
|
|
3020
|
+
function un(e) {
|
|
3021
|
+
let t = e.specifications, n = cn(t);
|
|
2992
3022
|
if (n.length > 0) return Array.isArray(t) ? n : Object.fromEntries(n.map((e) => [e.key, e.value]));
|
|
2993
|
-
let r =
|
|
3023
|
+
let r = cn(e.features);
|
|
2994
3024
|
return r.length > 0 ? r : void 0;
|
|
2995
3025
|
}
|
|
2996
3026
|
function J(e, ...t) {
|
|
2997
3027
|
return q(e, ...t);
|
|
2998
3028
|
}
|
|
2999
|
-
function
|
|
3000
|
-
return
|
|
3029
|
+
function dn(e, ...t) {
|
|
3030
|
+
return en(e, ...t);
|
|
3001
3031
|
}
|
|
3002
|
-
function
|
|
3032
|
+
function fn(e) {
|
|
3003
3033
|
return J(e, "value", "option_value", "attribute_value", "label", "title", "name", "variant_name", "sku");
|
|
3004
3034
|
}
|
|
3005
|
-
function
|
|
3035
|
+
function pn(e) {
|
|
3006
3036
|
return J(e, "type", "attribute", "option_name", "attribute_name") || (J(e, "value") ? J(e, "name", "variant_name") : void 0);
|
|
3007
3037
|
}
|
|
3008
|
-
function
|
|
3009
|
-
let t =
|
|
3010
|
-
return !!(q(e, "color", "colour", "color_hex", "hex", "swatch", "swatchColor") || t &&
|
|
3038
|
+
function mn(e) {
|
|
3039
|
+
let t = pn(e)?.toLowerCase();
|
|
3040
|
+
return !!(q(e, "color", "colour", "color_hex", "hex", "swatch", "swatchColor") || t && Jt.has(t));
|
|
3011
3041
|
}
|
|
3012
|
-
function
|
|
3042
|
+
function hn(e) {
|
|
3013
3043
|
if (!e) return;
|
|
3014
3044
|
let t = e.trim();
|
|
3015
3045
|
if (!(!t || t.includes(";")) && (typeof CSS < "u" && CSS.supports?.("color", t) || /^#(?:[0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(t))) return t;
|
|
3016
3046
|
}
|
|
3017
|
-
function
|
|
3018
|
-
let t =
|
|
3047
|
+
function gn(e) {
|
|
3048
|
+
let t = hn(J(e, "swatchColor", "swatch", "color_hex", "hex", "color", "colour"));
|
|
3019
3049
|
if (t) return t;
|
|
3020
|
-
if (
|
|
3050
|
+
if (mn(e)) return hn(fn(e));
|
|
3021
3051
|
}
|
|
3022
|
-
function
|
|
3052
|
+
function _n(e) {
|
|
3023
3053
|
return J(e, "image", "imageUrl", "image_url", "swatchImage", "swatch_image");
|
|
3024
3054
|
}
|
|
3025
|
-
function
|
|
3026
|
-
return
|
|
3055
|
+
function vn(e) {
|
|
3056
|
+
return dn(e, "price_discounted", "priceDiscounted") ?? J(e, "price_discounted", "priceDiscounted") ?? dn(e, "price") ?? J(e, "price");
|
|
3027
3057
|
}
|
|
3028
|
-
function
|
|
3058
|
+
function yn(e) {
|
|
3029
3059
|
let t = e.trim().toLowerCase();
|
|
3030
|
-
return
|
|
3060
|
+
return Jt.has(t) || Yt.has(t) || Xt.has(t);
|
|
3031
3061
|
}
|
|
3032
|
-
function
|
|
3062
|
+
function bn(e) {
|
|
3033
3063
|
let t = e.trim().toLowerCase();
|
|
3034
3064
|
return t === "renk kodu" ? "Renk" : t === "color code" ? "Color" : e.trim();
|
|
3035
3065
|
}
|
|
3036
|
-
function
|
|
3037
|
-
for (let t of
|
|
3066
|
+
function xn(e) {
|
|
3067
|
+
for (let t of Zt) {
|
|
3038
3068
|
let n = e[t];
|
|
3039
3069
|
if (!Array.isArray(n)) continue;
|
|
3040
3070
|
let r = n.filter((e) => !!e && typeof e == "object" && !Array.isArray(e));
|
|
3041
3071
|
if (r.length > 0) return r;
|
|
3042
3072
|
}
|
|
3043
3073
|
}
|
|
3044
|
-
function
|
|
3045
|
-
let t =
|
|
3074
|
+
function Sn(e) {
|
|
3075
|
+
let t = xn(e);
|
|
3046
3076
|
if (t) return t;
|
|
3047
|
-
let n = q(e, "sku"), r =
|
|
3048
|
-
if (!
|
|
3077
|
+
let n = q(e, "sku"), r = tn(e, "inStock", "in_stock"), i = [], a = /* @__PURE__ */ new Set(), o = (e, t) => {
|
|
3078
|
+
if (!yn(e) || typeof t != "string" && typeof t != "number" && typeof t != "boolean") return;
|
|
3049
3079
|
let o = String(t).trim();
|
|
3050
3080
|
if (!o) return;
|
|
3051
|
-
let s =
|
|
3081
|
+
let s = bn(e), c = `${s.toLowerCase()}:${o.toLowerCase()}`;
|
|
3052
3082
|
a.has(c) || (a.add(c), i.push({
|
|
3053
3083
|
name: s,
|
|
3054
3084
|
value: o,
|
|
3055
3085
|
sku: n,
|
|
3056
3086
|
inStock: r
|
|
3057
3087
|
}));
|
|
3058
|
-
}, s =
|
|
3088
|
+
}, s = nn(e, "facetHits", "facet_hits");
|
|
3059
3089
|
if (s) for (let [e, t] of Object.entries(s)) o(e, t);
|
|
3060
|
-
for (let t of
|
|
3090
|
+
for (let t of ln(e)) o(t.key, t.value);
|
|
3061
3091
|
return i;
|
|
3062
3092
|
}
|
|
3063
|
-
function
|
|
3064
|
-
let n = Array.from(new Set(e.map(
|
|
3093
|
+
function Cn(e, t) {
|
|
3094
|
+
let n = Array.from(new Set(e.map(pn).filter((e) => !!e)));
|
|
3065
3095
|
return n.length === 1 ? `${e.length} ${n[0]}` : t.i18n?.variantsLabel ?? "Variants";
|
|
3066
3096
|
}
|
|
3067
|
-
function
|
|
3097
|
+
function wn(e, t) {
|
|
3068
3098
|
let n = document.createElement("article");
|
|
3069
3099
|
n.className = "gengage-chat-product-details-panel";
|
|
3070
3100
|
let r = e.props?.product ?? e.props;
|
|
3071
3101
|
if (!r) return n;
|
|
3072
|
-
let i = q(r, "name"), a = q(r, "brand"), o = q(r, "sku"), s = q(r, "cartCode", "cart_code"), c = q(r, "price"), l = q(r, "originalPrice", "price_original"), u =
|
|
3102
|
+
let i = q(r, "name"), a = q(r, "brand"), o = q(r, "sku"), s = q(r, "cartCode", "cart_code"), c = q(r, "price"), l = q(r, "originalPrice", "price_original"), u = tn(r, "price_async"), d = tn(r, "inStock", "in_stock"), f = en(r, "reviewCount", "review_count"), p = en(r, "rating"), m = an(r), g = ln(r).slice(0, 4);
|
|
3073
3103
|
if (m.length > 1) {
|
|
3074
3104
|
let e = document.createElement("div");
|
|
3075
3105
|
e.className = "gengage-chat-product-details-media gengage-chat-product-details-gallery gengage-chat-product-details-img-wrap";
|
|
@@ -3164,7 +3194,7 @@ function Sn(e, t) {
|
|
|
3164
3194
|
}
|
|
3165
3195
|
let n = document.createElement("span");
|
|
3166
3196
|
n.className = "gengage-chat-product-details-current-price", n.textContent = U(c, t.pricing), e.appendChild(n);
|
|
3167
|
-
let i =
|
|
3197
|
+
let i = en(r, "discountPercent", "price_discount_rate");
|
|
3168
3198
|
if (typeof i == "number" && i > 0) {
|
|
3169
3199
|
let t = document.createElement("span");
|
|
3170
3200
|
t.className = "gengage-chat-product-details-discount-badge", t.textContent = `%${oe(i)}`, e.appendChild(t);
|
|
@@ -3199,24 +3229,24 @@ function Sn(e, t) {
|
|
|
3199
3229
|
}
|
|
3200
3230
|
_.appendChild(e);
|
|
3201
3231
|
}
|
|
3202
|
-
let y =
|
|
3232
|
+
let y = Sn(r);
|
|
3203
3233
|
if (y.length > 0) {
|
|
3204
3234
|
let e = document.createElement("div");
|
|
3205
3235
|
e.className = "gengage-chat-product-variants";
|
|
3206
3236
|
let n = document.createElement("div");
|
|
3207
|
-
n.className = "gengage-chat-product-variants-label", n.textContent =
|
|
3237
|
+
n.className = "gengage-chat-product-variants-label", n.textContent = Cn(y, t), e.appendChild(n);
|
|
3208
3238
|
let r = document.createElement("div");
|
|
3209
3239
|
r.className = "gengage-chat-product-variants-list";
|
|
3210
3240
|
for (let e of y) {
|
|
3211
|
-
let n =
|
|
3241
|
+
let n = fn(e), a = J(e, "sku");
|
|
3212
3242
|
if (!n && !a) continue;
|
|
3213
3243
|
let s = document.createElement("button");
|
|
3214
3244
|
s.className = "gengage-chat-product-variant-btn gds-chip", s.type = "button";
|
|
3215
3245
|
let l = n ?? a ?? "";
|
|
3216
3246
|
s.title = l;
|
|
3217
|
-
let u =
|
|
3247
|
+
let u = tn(e, "in_stock", "inStock");
|
|
3218
3248
|
a && o && a === o ? (s.classList.add("gengage-chat-product-variant-btn--active"), s.setAttribute("aria-pressed", "true")) : s.setAttribute("aria-pressed", "false"), u === !1 && (s.classList.add("gengage-chat-product-variant-btn--out"), s.disabled = !0);
|
|
3219
|
-
let d =
|
|
3249
|
+
let d = _n(e), f = gn(e);
|
|
3220
3250
|
if (d && H(d)) {
|
|
3221
3251
|
let e = document.createElement("img");
|
|
3222
3252
|
e.className = "gengage-chat-product-variant-swatch gengage-chat-product-variant-swatch--image", h(e, "src", d), e.alt = "", e.setAttribute("aria-hidden", "true"), W(e), s.appendChild(e);
|
|
@@ -3226,7 +3256,7 @@ function Sn(e, t) {
|
|
|
3226
3256
|
}
|
|
3227
3257
|
let p = document.createElement("span");
|
|
3228
3258
|
p.className = "gengage-chat-product-variant-label", p.textContent = l, s.appendChild(p);
|
|
3229
|
-
let m =
|
|
3259
|
+
let m = vn(e);
|
|
3230
3260
|
if (m && String(m) !== String(c)) {
|
|
3231
3261
|
let e = document.createElement("span");
|
|
3232
3262
|
e.className = "gengage-chat-product-variant-price", e.textContent = U(String(m), t.pricing), s.appendChild(e);
|
|
@@ -3302,47 +3332,47 @@ function Sn(e, t) {
|
|
|
3302
3332
|
}), b.appendChild(e);
|
|
3303
3333
|
}
|
|
3304
3334
|
b.childElementCount > 0 && _.appendChild(b), n.appendChild(_);
|
|
3305
|
-
let w =
|
|
3306
|
-
return (w || T) && n.appendChild(
|
|
3335
|
+
let w = sn(r), T = un(r);
|
|
3336
|
+
return (w || T) && n.appendChild(On(w, T, t)), n;
|
|
3307
3337
|
}
|
|
3308
|
-
function
|
|
3338
|
+
function Tn(e) {
|
|
3309
3339
|
if (e.nodeType === Node.TEXT_NODE) return document.createTextNode(e.textContent ?? "");
|
|
3310
3340
|
if (e.nodeType !== Node.ELEMENT_NODE) return null;
|
|
3311
3341
|
let t = e, n = t.tagName.toUpperCase();
|
|
3312
|
-
if (
|
|
3313
|
-
if (!
|
|
3342
|
+
if ($t.has(n)) return null;
|
|
3343
|
+
if (!Qt.has(n)) {
|
|
3314
3344
|
let e = document.createDocumentFragment();
|
|
3315
3345
|
for (let n of Array.from(t.childNodes)) {
|
|
3316
|
-
let t =
|
|
3346
|
+
let t = Tn(n);
|
|
3317
3347
|
t && e.appendChild(t);
|
|
3318
3348
|
}
|
|
3319
3349
|
return e;
|
|
3320
3350
|
}
|
|
3321
3351
|
let r = document.createElement(n.toLowerCase());
|
|
3322
3352
|
for (let e of Array.from(t.childNodes)) {
|
|
3323
|
-
let t =
|
|
3353
|
+
let t = Tn(e);
|
|
3324
3354
|
t && r.appendChild(t);
|
|
3325
3355
|
}
|
|
3326
3356
|
return r;
|
|
3327
3357
|
}
|
|
3328
|
-
function
|
|
3358
|
+
function En(e, t) {
|
|
3329
3359
|
let n = t.split(/\n{2,}/).map((e) => e.replace(/\s+/g, " ").trim()).filter(Boolean);
|
|
3330
3360
|
if (n.length !== 0) for (let t of n) {
|
|
3331
3361
|
let n = document.createElement("p");
|
|
3332
3362
|
n.textContent = t, e.appendChild(n);
|
|
3333
3363
|
}
|
|
3334
3364
|
}
|
|
3335
|
-
function
|
|
3365
|
+
function Dn(e, t) {
|
|
3336
3366
|
if (e.classList.add("gengage-chat-product-description"), t.html && typeof DOMParser < "u") {
|
|
3337
|
-
let n = new DOMParser().parseFromString(t.html, "text/html"), r = Array.from(n.body.childNodes).map((e) =>
|
|
3367
|
+
let n = new DOMParser().parseFromString(t.html, "text/html"), r = Array.from(n.body.childNodes).map((e) => Tn(e)).filter((e) => !!e && (e.nodeType === Node.ELEMENT_NODE || !!e.textContent?.trim()));
|
|
3338
3368
|
if (r.length > 0) {
|
|
3339
3369
|
for (let t of r) e.appendChild(t);
|
|
3340
3370
|
return;
|
|
3341
3371
|
}
|
|
3342
3372
|
}
|
|
3343
|
-
|
|
3373
|
+
En(e, t.text);
|
|
3344
3374
|
}
|
|
3345
|
-
function
|
|
3375
|
+
function On(e, t, n) {
|
|
3346
3376
|
let r = document.createElement("div");
|
|
3347
3377
|
r.className = "gengage-chat-product-detail-tabs";
|
|
3348
3378
|
let i = document.createElement("div");
|
|
@@ -3352,7 +3382,7 @@ function En(e, t, n) {
|
|
|
3352
3382
|
let t = document.createElement("button");
|
|
3353
3383
|
t.className = "gengage-chat-product-detail-tab gds-tab gengage-chat-product-detail-tab--active is-active", t.type = "button", t.setAttribute("aria-selected", "true"), t.textContent = n.i18n?.productInfoTab ?? "Product Info", i.appendChild(t);
|
|
3354
3384
|
let r = document.createElement("div");
|
|
3355
|
-
r.className = "gengage-chat-product-detail-tab-panel",
|
|
3385
|
+
r.className = "gengage-chat-product-detail-tab-panel", Dn(r, e), a.push(r);
|
|
3356
3386
|
}
|
|
3357
3387
|
if (t) {
|
|
3358
3388
|
let r = document.createElement("button");
|
|
@@ -3386,7 +3416,7 @@ function En(e, t, n) {
|
|
|
3386
3416
|
for (let e of a) r.appendChild(e);
|
|
3387
3417
|
return r;
|
|
3388
3418
|
}
|
|
3389
|
-
function
|
|
3419
|
+
function kn(e) {
|
|
3390
3420
|
let t = "width=\"15\" height=\"15\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"";
|
|
3391
3421
|
switch (e) {
|
|
3392
3422
|
case "related": return `<svg ${t} aria-hidden="true"><path d="M13 2 3 14h9l-1 8 10-12h-9l1-8z"/></svg>`;
|
|
@@ -3395,19 +3425,19 @@ function Dn(e) {
|
|
|
3395
3425
|
default: return "";
|
|
3396
3426
|
}
|
|
3397
3427
|
}
|
|
3398
|
-
function
|
|
3428
|
+
function An() {
|
|
3399
3429
|
return "<svg class=\"gengage-chat-product-sort-chevron\" width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polyline points=\"6 9 12 15 18 9\"/></svg>";
|
|
3400
3430
|
}
|
|
3401
|
-
function
|
|
3431
|
+
function jn() {
|
|
3402
3432
|
return "<svg class=\"gengage-chat-product-sort-check\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><polyline points=\"20 6 9 17 4 12\"/></svg>";
|
|
3403
3433
|
}
|
|
3404
|
-
function
|
|
3434
|
+
function Mn() {
|
|
3405
3435
|
return "<svg width=\"15\" height=\"15\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M8 3 4 7l4 4\"/><path d=\"M16 21l4-4-4-4\"/><path d=\"M4 7h16\"/><path d=\"M20 17H4\"/></svg>";
|
|
3406
3436
|
}
|
|
3407
|
-
function
|
|
3437
|
+
function Nn(e, t) {
|
|
3408
3438
|
return e.type === t.type && e.direction === t.direction;
|
|
3409
3439
|
}
|
|
3410
|
-
function
|
|
3440
|
+
function Pn(e, t, n) {
|
|
3411
3441
|
if (!n || n.type === "related") return e;
|
|
3412
3442
|
let r = e.map((e) => {
|
|
3413
3443
|
let n = t.elements[e]?.props?.product, r = n ? Number(n.price) : NaN;
|
|
@@ -3418,8 +3448,8 @@ function Mn(e, t, n) {
|
|
|
3418
3448
|
});
|
|
3419
3449
|
return r.sort((e, t) => e.price === Infinity && t.price === Infinity ? 0 : e.price === Infinity ? 1 : t.price === Infinity ? -1 : n.direction === "desc" ? t.price - e.price : e.price - t.price), r.map((e) => e.id);
|
|
3420
3450
|
}
|
|
3421
|
-
function
|
|
3422
|
-
let i =
|
|
3451
|
+
function Fn(e, t, n, r) {
|
|
3452
|
+
let i = Pn(t, n, r), a = /* @__PURE__ */ new Map();
|
|
3423
3453
|
for (let t of Array.from(e.children)) {
|
|
3424
3454
|
let e = t.dataset.elementId;
|
|
3425
3455
|
e && a.set(e, t);
|
|
@@ -3429,7 +3459,7 @@ function Nn(e, t, n, r) {
|
|
|
3429
3459
|
n && e.appendChild(n);
|
|
3430
3460
|
}
|
|
3431
3461
|
}
|
|
3432
|
-
function
|
|
3462
|
+
function In(e, t, n, r) {
|
|
3433
3463
|
let i = document.createElement("div");
|
|
3434
3464
|
i.className = "gengage-chat-product-grid-wrapper";
|
|
3435
3465
|
let a = e.children ?? [], o = document.createElement("div");
|
|
@@ -3469,12 +3499,12 @@ function Pn(e, t, n, r) {
|
|
|
3469
3499
|
let p = document.createElement("span");
|
|
3470
3500
|
p.className = "gengage-chat-product-sort-trigger-label";
|
|
3471
3501
|
let m = (e) => {
|
|
3472
|
-
let t = c.find((t) =>
|
|
3473
|
-
p.textContent = t.label, f.innerHTML =
|
|
3502
|
+
let t = c.find((t) => Nn(t.sortState, e)) ?? c[0];
|
|
3503
|
+
p.textContent = t.label, f.innerHTML = kn(t.icon), l.dataset.sortIcon = t.icon, u.setAttribute("aria-label", `${d}: ${t.label}`), u.title = t.label;
|
|
3474
3504
|
};
|
|
3475
3505
|
m(n);
|
|
3476
3506
|
let h = document.createElement("span");
|
|
3477
|
-
h.className = "gengage-chat-product-sort-trigger-chevron", h.innerHTML =
|
|
3507
|
+
h.className = "gengage-chat-product-sort-trigger-chevron", h.innerHTML = An(), u.appendChild(f), u.appendChild(p), u.appendChild(h);
|
|
3478
3508
|
let g = document.createElement("div");
|
|
3479
3509
|
g.className = "gengage-chat-product-sort-menu gds-menu", g.hidden = !0, g.setAttribute("role", "listbox"), g.setAttribute("aria-label", d);
|
|
3480
3510
|
let _ = e.ownerDocument, v = null, y = () => {
|
|
@@ -3497,17 +3527,17 @@ function Pn(e, t, n, r) {
|
|
|
3497
3527
|
for (let e of c) {
|
|
3498
3528
|
let i = document.createElement("button");
|
|
3499
3529
|
i.type = "button", i.className = "gengage-chat-product-sort-option gds-menu-option", i.setAttribute("role", "option");
|
|
3500
|
-
let s =
|
|
3530
|
+
let s = Nn(n, e.sortState);
|
|
3501
3531
|
i.setAttribute("aria-selected", s ? "true" : "false"), s && i.classList.add("gengage-chat-product-sort-option--active", "gds-menu-option-active");
|
|
3502
3532
|
let c = e.sortState.type === "related" ? "related" : `price-${e.sortState.direction ?? ""}`;
|
|
3503
3533
|
i.dataset.sortKey = c;
|
|
3504
3534
|
let l = document.createElement("span");
|
|
3505
|
-
l.className = "gengage-chat-product-sort-option-icon", l.innerHTML =
|
|
3535
|
+
l.className = "gengage-chat-product-sort-option-icon", l.innerHTML = kn(e.icon);
|
|
3506
3536
|
let u = document.createElement("span");
|
|
3507
3537
|
u.className = "gengage-chat-product-sort-option-label", u.textContent = e.label;
|
|
3508
3538
|
let d = document.createElement("span");
|
|
3509
|
-
d.className = "gengage-chat-product-sort-option-check", d.innerHTML =
|
|
3510
|
-
n = e.sortState, r.onSortChange?.(e.sortState),
|
|
3539
|
+
d.className = "gengage-chat-product-sort-option-check", d.innerHTML = jn(), d.setAttribute("aria-hidden", "true"), s || d.classList.add("gengage-chat-product-sort-option-check--hidden"), i.appendChild(l), i.appendChild(u), i.appendChild(d), i.addEventListener("click", () => {
|
|
3540
|
+
n = e.sortState, r.onSortChange?.(e.sortState), Fn(o, a, t, e.sortState), g.querySelectorAll(".gengage-chat-product-sort-option").forEach((e) => {
|
|
3511
3541
|
let t = e, n = t.dataset.sortKey === c;
|
|
3512
3542
|
t.classList.toggle("gengage-chat-product-sort-option--active", n), t.classList.toggle("gds-menu-option-active", n), t.setAttribute("aria-selected", n ? "true" : "false"), t.querySelector(".gengage-chat-product-sort-option-check")?.classList.toggle("gengage-chat-product-sort-option-check--hidden", !n);
|
|
3513
3543
|
}), m(e.sortState), y();
|
|
@@ -3517,7 +3547,7 @@ function Pn(e, t, n, r) {
|
|
|
3517
3547
|
let t = document.createElement("button");
|
|
3518
3548
|
t.className = "gengage-chat-comparison-toggle-btn gds-btn gds-btn-ghost", t.type = "button", r.comparisonSelectMode && t.classList.add("gengage-chat-comparison-toggle-btn--active"), r.isStreaming && t.classList.add("gengage-chat-comparison-toggle-btn--hidden");
|
|
3519
3549
|
let n = document.createElement("span");
|
|
3520
|
-
n.className = "gengage-chat-comparison-toggle-icon", n.innerHTML =
|
|
3550
|
+
n.className = "gengage-chat-comparison-toggle-icon", n.innerHTML = Mn();
|
|
3521
3551
|
let i = document.createElement("span");
|
|
3522
3552
|
i.className = "gengage-chat-comparison-toggle-label";
|
|
3523
3553
|
let a = r.i18n?.compareSelected ?? "Compare";
|
|
@@ -3540,13 +3570,13 @@ function Pn(e, t, n, r) {
|
|
|
3540
3570
|
let t = document.createElement("span");
|
|
3541
3571
|
t.className = "gengage-chat-product-grid-head-title", t.textContent = s, e.appendChild(t), i.appendChild(e);
|
|
3542
3572
|
}
|
|
3543
|
-
let c =
|
|
3573
|
+
let c = Pn(a, t, r?.productSort);
|
|
3544
3574
|
for (let e of c) {
|
|
3545
3575
|
if (!t.elements[e]) continue;
|
|
3546
3576
|
let r = n(e);
|
|
3547
3577
|
r && (r.dataset.elementId = e, o.appendChild(r));
|
|
3548
3578
|
}
|
|
3549
|
-
if ((r?.isMobile ??
|
|
3579
|
+
if ((r?.isMobile ?? Bt()) && o.classList.add("gengage-chat-product-grid--mobile"), i.appendChild(o), e.props?.endOfList !== !0 && a.length > 0) {
|
|
3550
3580
|
let e = r?.i18n?.viewMoreLabel ?? "Show More", t = document.createElement("button");
|
|
3551
3581
|
t.className = "gengage-chat-product-grid-view-more", t.type = "button", t.textContent = e, t.addEventListener("click", () => {
|
|
3552
3582
|
r?.onAction({
|
|
@@ -3556,14 +3586,14 @@ function Pn(e, t, n, r) {
|
|
|
3556
3586
|
});
|
|
3557
3587
|
}), i.appendChild(t);
|
|
3558
3588
|
}
|
|
3559
|
-
let l = r?.isMobile ??
|
|
3589
|
+
let l = r?.isMobile ?? Bt();
|
|
3560
3590
|
if (r?.comparisonSelectMode && r.comparisonSelectedSkus && !l) {
|
|
3561
|
-
let e =
|
|
3591
|
+
let e = Pt(r.comparisonSelectedSkus, r);
|
|
3562
3592
|
i.appendChild(e);
|
|
3563
3593
|
}
|
|
3564
3594
|
return i;
|
|
3565
3595
|
}
|
|
3566
|
-
function
|
|
3596
|
+
function Ln(e, t) {
|
|
3567
3597
|
let n = e.props ?? {}, r = n.keyDifferencesHtml, i = n.recommended, a = n.products ?? [], o = n.attributes ?? [], s = n.highlights ?? [], c = n.specialCases, l = n.recommendedText, u = n.winnerHits, d = n.productActions;
|
|
3568
3598
|
if (!i) return document.createElement("div");
|
|
3569
3599
|
let f = {
|
|
@@ -3590,10 +3620,10 @@ function Fn(e, t) {
|
|
|
3590
3620
|
specialCasesLabel: t.i18n.specialCasesLabel,
|
|
3591
3621
|
addToCartButton: t.i18n.addToCartButton
|
|
3592
3622
|
});
|
|
3593
|
-
let p =
|
|
3594
|
-
return (t.isMobile ??
|
|
3623
|
+
let p = at(f);
|
|
3624
|
+
return (t.isMobile ?? Bt()) && p.classList.add("gengage-chat-comparison--mobile"), p;
|
|
3595
3625
|
}
|
|
3596
|
-
function
|
|
3626
|
+
function Rn(e) {
|
|
3597
3627
|
let t = document.createElement("hr");
|
|
3598
3628
|
t.className = "gengage-chat-divider";
|
|
3599
3629
|
let n = e.props?.label;
|
|
@@ -3609,7 +3639,7 @@ function In(e) {
|
|
|
3609
3639
|
}
|
|
3610
3640
|
//#endregion
|
|
3611
3641
|
//#region src/chat/components/typewriter.ts
|
|
3612
|
-
var
|
|
3642
|
+
var zn = new Set([
|
|
3613
3643
|
"P",
|
|
3614
3644
|
"DIV",
|
|
3615
3645
|
"H1",
|
|
@@ -3632,23 +3662,23 @@ var Ln = new Set([
|
|
|
3632
3662
|
"DT",
|
|
3633
3663
|
"DD"
|
|
3634
3664
|
]);
|
|
3635
|
-
function
|
|
3665
|
+
function Bn(e) {
|
|
3636
3666
|
let t = [], n = [];
|
|
3637
|
-
for (let r of e) r.nodeType === Node.ELEMENT_NODE &&
|
|
3667
|
+
for (let r of e) r.nodeType === Node.ELEMENT_NODE && zn.has(r.tagName) ? (n.length > 0 && (t.push(n), n = []), t.push([r])) : n.push(r);
|
|
3638
3668
|
return n.length > 0 && t.push(n), t;
|
|
3639
3669
|
}
|
|
3640
|
-
function
|
|
3670
|
+
function Vn(e) {
|
|
3641
3671
|
for (let t of e) for (let e of t) if (e.nodeType === Node.ELEMENT_NODE && (e.tagName === "TABLE" || e.querySelector?.("table"))) return !0;
|
|
3642
3672
|
return !1;
|
|
3643
3673
|
}
|
|
3644
|
-
function
|
|
3674
|
+
function Hn() {
|
|
3645
3675
|
return typeof window > "u" || typeof window.matchMedia != "function" ? !1 : window.matchMedia("(prefers-reduced-motion: reduce)").matches;
|
|
3646
3676
|
}
|
|
3647
|
-
function
|
|
3677
|
+
function Un(e) {
|
|
3648
3678
|
let { container: t, html: n, delayMs: r = 30, onTick: i, onComplete: a } = e, o = document.createElement("template");
|
|
3649
3679
|
o.innerHTML = n;
|
|
3650
|
-
let s =
|
|
3651
|
-
if (
|
|
3680
|
+
let s = Bn(o.content.childNodes);
|
|
3681
|
+
if (Hn() || s.length <= 1 || Vn(s)) return t.innerHTML = n, a?.(), {
|
|
3652
3682
|
complete() {},
|
|
3653
3683
|
cancel() {},
|
|
3654
3684
|
isRunning: !1
|
|
@@ -3679,10 +3709,10 @@ function Vn(e) {
|
|
|
3679
3709
|
}
|
|
3680
3710
|
//#endregion
|
|
3681
3711
|
//#region src/chat/components/productMentionLinker.ts
|
|
3682
|
-
function
|
|
3712
|
+
function Wn(e) {
|
|
3683
3713
|
return e !== void 0 && /[\p{L}\p{N}_]/u.test(e);
|
|
3684
3714
|
}
|
|
3685
|
-
function
|
|
3715
|
+
function Gn(e) {
|
|
3686
3716
|
let { container: t, mentions: n, onProductClick: r } = e;
|
|
3687
3717
|
if (n.length === 0) return;
|
|
3688
3718
|
let i = /* @__PURE__ */ new Map();
|
|
@@ -3696,7 +3726,7 @@ function Un(e) {
|
|
|
3696
3726
|
continue;
|
|
3697
3727
|
}
|
|
3698
3728
|
let c = s > 0 ? t[s - 1] : void 0, l = t[s + n.short_name.length];
|
|
3699
|
-
if (
|
|
3729
|
+
if (Wn(c) || Wn(l)) {
|
|
3700
3730
|
a = i.nextNode();
|
|
3701
3731
|
continue;
|
|
3702
3732
|
}
|
|
@@ -3714,25 +3744,25 @@ function Un(e) {
|
|
|
3714
3744
|
}
|
|
3715
3745
|
//#endregion
|
|
3716
3746
|
//#region src/chat/components/actionClassifier.ts
|
|
3717
|
-
var
|
|
3747
|
+
var Kn = new Set([
|
|
3718
3748
|
"search",
|
|
3719
3749
|
"info",
|
|
3720
3750
|
"review",
|
|
3721
3751
|
"similar"
|
|
3722
|
-
]),
|
|
3752
|
+
]), qn = new Set([
|
|
3723
3753
|
"quickAnswer",
|
|
3724
3754
|
"reviewSummary",
|
|
3725
3755
|
"searchDiscovery",
|
|
3726
3756
|
"launchDiscovery",
|
|
3727
3757
|
"exploreTogetherV2"
|
|
3728
3758
|
]);
|
|
3729
|
-
function
|
|
3730
|
-
return !!(e.icon &&
|
|
3759
|
+
function Jn(e) {
|
|
3760
|
+
return !!(e.icon && Kn.has(e.icon) || e.action?.type && qn.has(e.action.type));
|
|
3731
3761
|
}
|
|
3732
3762
|
//#endregion
|
|
3733
3763
|
//#region src/chat/components/ChoicePrompter.ts
|
|
3734
|
-
var
|
|
3735
|
-
function
|
|
3764
|
+
var Yn = "gengage_choice_prompter_dismissed", Xn = "gengage_choice_prompter_dismissed_global";
|
|
3765
|
+
function Zn(e) {
|
|
3736
3766
|
let t = document.createElement("div");
|
|
3737
3767
|
t.className = "gengage-chat-choice-prompter gds-card", t.dataset.gengagePart = "choice-prompter";
|
|
3738
3768
|
let n = document.createElement("div");
|
|
@@ -3743,39 +3773,39 @@ function Yn(e) {
|
|
|
3743
3773
|
i.className = "gengage-chat-choice-prompter-suggestion", i.textContent = e.suggestion, n.appendChild(i), t.appendChild(n);
|
|
3744
3774
|
let a = document.createElement("button");
|
|
3745
3775
|
a.type = "button", a.className = "gengage-chat-choice-prompter-cta gds-btn gds-btn-primary", a.dataset.gengagePart = "choice-prompter-cta", a.textContent = e.ctaLabel, a.addEventListener("click", () => {
|
|
3746
|
-
|
|
3776
|
+
er(e.threadId), t.remove(), e.onCtaClick();
|
|
3747
3777
|
}), t.appendChild(a);
|
|
3748
3778
|
let o = document.createElement("button");
|
|
3749
3779
|
return o.type = "button", o.className = "gengage-chat-choice-prompter-dismiss", o.dataset.gengagePart = "choice-prompter-dismiss", o.textContent = "×", o.setAttribute("aria-label", e.dismissAriaLabel ?? "Dismiss"), o.addEventListener("click", () => {
|
|
3750
|
-
|
|
3780
|
+
er(e.threadId), t.remove(), e.onDismiss?.();
|
|
3751
3781
|
}), t.appendChild(o), t;
|
|
3752
3782
|
}
|
|
3753
|
-
function
|
|
3783
|
+
function Qn() {
|
|
3754
3784
|
try {
|
|
3755
|
-
sessionStorage.removeItem(
|
|
3785
|
+
sessionStorage.removeItem(Yn), sessionStorage.removeItem(Xn);
|
|
3756
3786
|
} catch {}
|
|
3757
3787
|
}
|
|
3758
|
-
function
|
|
3788
|
+
function $n(e) {
|
|
3759
3789
|
try {
|
|
3760
|
-
let t = sessionStorage.getItem(
|
|
3790
|
+
let t = sessionStorage.getItem(Yn);
|
|
3761
3791
|
return t ? JSON.parse(t).includes(e) : !1;
|
|
3762
3792
|
} catch {
|
|
3763
3793
|
return !1;
|
|
3764
3794
|
}
|
|
3765
3795
|
}
|
|
3766
|
-
function
|
|
3796
|
+
function er(e) {
|
|
3767
3797
|
try {
|
|
3768
|
-
let t = sessionStorage.getItem(
|
|
3769
|
-
n.includes(e) || n.push(e), sessionStorage.setItem(
|
|
3798
|
+
let t = sessionStorage.getItem(Yn), n = t ? JSON.parse(t) : [];
|
|
3799
|
+
n.includes(e) || n.push(e), sessionStorage.setItem(Yn, JSON.stringify(n));
|
|
3770
3800
|
} catch {}
|
|
3771
3801
|
}
|
|
3772
|
-
function
|
|
3773
|
-
e &&
|
|
3802
|
+
function tr(e) {
|
|
3803
|
+
e && er(e);
|
|
3774
3804
|
}
|
|
3775
3805
|
//#endregion
|
|
3776
3806
|
//#region src/common/indexed-db.ts
|
|
3777
|
-
var
|
|
3778
|
-
function
|
|
3807
|
+
var nr = "gengage_assistant", rr = 3, Y = "sessions", X = "context", Z = "payload", Q = "favorites";
|
|
3808
|
+
function ir(e) {
|
|
3779
3809
|
return new Promise((t, n) => {
|
|
3780
3810
|
e.onsuccess = () => t(e.result), e.onerror = () => n(e.error);
|
|
3781
3811
|
});
|
|
@@ -3785,8 +3815,8 @@ function $(e) {
|
|
|
3785
3815
|
e.oncomplete = () => t(), e.onerror = () => n(e.error), e.onabort = () => n(e.error ?? new DOMException("Transaction aborted"));
|
|
3786
3816
|
});
|
|
3787
3817
|
}
|
|
3788
|
-
var
|
|
3789
|
-
constructor(e =
|
|
3818
|
+
var ar = class {
|
|
3819
|
+
constructor(e = nr, t = rr) {
|
|
3790
3820
|
this._db = null, this._dbName = e, this._version = t;
|
|
3791
3821
|
}
|
|
3792
3822
|
async open() {
|
|
@@ -3824,7 +3854,7 @@ var rr = class {
|
|
|
3824
3854
|
t.objectStore(Y).put(e), await $(t);
|
|
3825
3855
|
}
|
|
3826
3856
|
async loadSession(e, t, n) {
|
|
3827
|
-
return await
|
|
3857
|
+
return await ir(this._requireDb().transaction(Y, "readonly").objectStore(Y).get([
|
|
3828
3858
|
e,
|
|
3829
3859
|
t,
|
|
3830
3860
|
n
|
|
@@ -3835,7 +3865,7 @@ var rr = class {
|
|
|
3835
3865
|
t.objectStore(X).put(e), await $(t);
|
|
3836
3866
|
}
|
|
3837
3867
|
async loadContext(e, t) {
|
|
3838
|
-
return await
|
|
3868
|
+
return await ir(this._requireDb().transaction(X, "readonly").objectStore(X).get([e, t])) ?? null;
|
|
3839
3869
|
}
|
|
3840
3870
|
async deleteContextsAfterThread(e, t) {
|
|
3841
3871
|
let n = this._requireDb().transaction(X, "readwrite"), r = n.objectStore(X).openCursor();
|
|
@@ -3869,7 +3899,7 @@ var rr = class {
|
|
|
3869
3899
|
t.objectStore(Z).put(e), await $(t);
|
|
3870
3900
|
}
|
|
3871
3901
|
async loadPayload(e, t) {
|
|
3872
|
-
return await
|
|
3902
|
+
return await ir(this._requireDb().transaction(Z, "readonly").objectStore(Z).get([e, t])) ?? null;
|
|
3873
3903
|
}
|
|
3874
3904
|
async loadPayloadsByThread(e) {
|
|
3875
3905
|
let t = this._requireDb().transaction(Z, "readonly").objectStore(Z).index("threadId"), n = [];
|
|
@@ -3898,10 +3928,10 @@ var rr = class {
|
|
|
3898
3928
|
]), await $(r);
|
|
3899
3929
|
}
|
|
3900
3930
|
async loadFavorites(e, t) {
|
|
3901
|
-
return (await
|
|
3931
|
+
return (await ir(this._requireDb().transaction(Q, "readonly").objectStore(Q).getAll())).filter((n) => n.userId === e && n.appId === t);
|
|
3902
3932
|
}
|
|
3903
3933
|
async isFavorite(e, t, n) {
|
|
3904
|
-
return await
|
|
3934
|
+
return await ir(this._requireDb().transaction(Q, "readonly").objectStore(Q).get([
|
|
3905
3935
|
e,
|
|
3906
3936
|
t,
|
|
3907
3937
|
n
|
|
@@ -3911,15 +3941,15 @@ var rr = class {
|
|
|
3911
3941
|
if (!this._db) throw Error("GengageIndexedDB: database not open. Call open() first.");
|
|
3912
3942
|
return this._db;
|
|
3913
3943
|
}
|
|
3914
|
-
},
|
|
3944
|
+
}, or = [
|
|
3915
3945
|
"comparisonTable",
|
|
3916
3946
|
"groupList",
|
|
3917
3947
|
"productDetailsSimilars",
|
|
3918
3948
|
"productList"
|
|
3919
|
-
],
|
|
3949
|
+
], sr = class {
|
|
3920
3950
|
constructor(e) {
|
|
3921
3951
|
this._lockCount = 1, this._hiddenByUser = !1, this._lastPanelContentType = null, this._chatShown = !1, this._isFavoritesMode = !1, this._lastExtended = !1, this._onChange = e.onChange;
|
|
3922
|
-
let t = new Set(
|
|
3952
|
+
let t = new Set(or);
|
|
3923
3953
|
e.productDetailsInPanel && t.add("productDetails"), this._panelContentTypes = t;
|
|
3924
3954
|
}
|
|
3925
3955
|
get isExtended() {
|
|
@@ -3947,7 +3977,7 @@ var rr = class {
|
|
|
3947
3977
|
let e = this.isExtended;
|
|
3948
3978
|
e !== this._lastExtended && (this._lastExtended = e, this._onChange(e));
|
|
3949
3979
|
}
|
|
3950
|
-
},
|
|
3980
|
+
}, cr = class {
|
|
3951
3981
|
constructor(e) {
|
|
3952
3982
|
this.deps = e, this.snapshots = /* @__PURE__ */ new Map(), this._snapshotRebuilders = /* @__PURE__ */ new Map(), this.snapshotTypes = /* @__PURE__ */ new Map(), this.activePanelMessageId = null, this.currentType = null, this.threads = [], this.lastActionType = null;
|
|
3953
3983
|
}
|
|
@@ -3989,7 +4019,7 @@ var rr = class {
|
|
|
3989
4019
|
let n = this.deps.i18n();
|
|
3990
4020
|
switch (e) {
|
|
3991
4021
|
case "ProductDetailsPanel": return n.panelTitleProductDetails;
|
|
3992
|
-
case "ProductGrid": return
|
|
4022
|
+
case "ProductGrid": return lr(this.lastActionType) ? n.panelTitleSearchResults : n.panelTitleSimilarProducts;
|
|
3993
4023
|
case "ComparisonTable": return n.panelTitleComparisonResults;
|
|
3994
4024
|
case "AIGroupingCards": return n.panelTitleCategories;
|
|
3995
4025
|
default: return "";
|
|
@@ -4004,7 +4034,7 @@ var rr = class {
|
|
|
4004
4034
|
updateTopBarForLoading(e) {
|
|
4005
4035
|
let t = this.deps.i18n(), n = {
|
|
4006
4036
|
productDetails: t.panelTitleProductDetails,
|
|
4007
|
-
productList:
|
|
4037
|
+
productList: lr(this.lastActionType) ? t.panelTitleSearchResults : t.panelTitleSimilarProducts,
|
|
4008
4038
|
comparisonTable: t.panelTitleComparisonResults,
|
|
4009
4039
|
groupList: t.panelTitleCategories
|
|
4010
4040
|
}[e] ?? "";
|
|
@@ -4059,15 +4089,15 @@ var rr = class {
|
|
|
4059
4089
|
this.snapshots.clear(), this._snapshotRebuilders.clear(), this.snapshotTypes.clear(), this.activePanelMessageId = null, this.currentType = null, this.threads = [];
|
|
4060
4090
|
}
|
|
4061
4091
|
};
|
|
4062
|
-
function
|
|
4092
|
+
function lr(e) {
|
|
4063
4093
|
return e === "user_message" || e === "inputText";
|
|
4064
4094
|
}
|
|
4065
|
-
function
|
|
4095
|
+
function ur(e) {
|
|
4066
4096
|
return e.similarsAppend && e.currentPanelType === "ProductDetailsPanel" && e.hasPanelContent && !e.isPanelLoading ? "appendSimilars" : e.componentType === "ProductGrid" && !e.isFirstPanelContentInStream && e.hasPanelContent && !e.isPanelLoading ? "append" : "replace";
|
|
4067
4097
|
}
|
|
4068
4098
|
//#endregion
|
|
4069
4099
|
//#region src/chat/session-persistence.ts
|
|
4070
|
-
var
|
|
4100
|
+
var dr = class {
|
|
4071
4101
|
constructor(e) {
|
|
4072
4102
|
this.favoritedSkus = /* @__PURE__ */ new Set(), this._favoritesCache = /* @__PURE__ */ new Map(), this._persistLock = Promise.resolve(), this._db = e;
|
|
4073
4103
|
}
|
|
@@ -4168,7 +4198,7 @@ var lr = class {
|
|
|
4168
4198
|
close() {
|
|
4169
4199
|
this._db?.close(), this._db = null;
|
|
4170
4200
|
}
|
|
4171
|
-
},
|
|
4201
|
+
}, fr = (e) => `${e}:assistant`, pr = class {
|
|
4172
4202
|
constructor() {
|
|
4173
4203
|
this.groups = {}, this.pinnedToBottom = !0, this.userInteracting = !1, this.focusedThreadId = null, this.shown = !1, this.lastAutoAnchoredGroupId = null, this.scrollRequest = null, this._nextScrollId = 1;
|
|
4174
4204
|
}
|
|
@@ -4179,7 +4209,7 @@ var lr = class {
|
|
|
4179
4209
|
this.groups = {}, this.pinnedToBottom = !0, this.userInteracting = !1, this.focusedThreadId = null, this.lastAutoAnchoredGroupId = null, this.scrollRequest = null;
|
|
4180
4210
|
}
|
|
4181
4211
|
registerAssistantActivity(e) {
|
|
4182
|
-
let t =
|
|
4212
|
+
let t = fr(e), n = this.groups[t], r = this.shown && this.pinnedToBottom && !this.userInteracting ? "active_unread" : "unseen";
|
|
4183
4213
|
this.groups[t] = {
|
|
4184
4214
|
id: t,
|
|
4185
4215
|
threadId: e,
|
|
@@ -4189,7 +4219,7 @@ var lr = class {
|
|
|
4189
4219
|
}, n?.readState === "seen" && this.lastAutoAnchoredGroupId === t && (this.lastAutoAnchoredGroupId = null);
|
|
4190
4220
|
}
|
|
4191
4221
|
finalizeAssistantGroup(e) {
|
|
4192
|
-
let t =
|
|
4222
|
+
let t = fr(e), n = this.groups[t];
|
|
4193
4223
|
n && (n.status = "complete", n.updatedAt = Date.now());
|
|
4194
4224
|
}
|
|
4195
4225
|
setGroupReadStates(e) {
|
|
@@ -4230,10 +4260,10 @@ var lr = class {
|
|
|
4230
4260
|
return this.shown && this.userInteracting && !this.pinnedToBottom;
|
|
4231
4261
|
}
|
|
4232
4262
|
getAssistantReadState(e) {
|
|
4233
|
-
return this.groups[
|
|
4263
|
+
return this.groups[fr(e)]?.readState;
|
|
4234
4264
|
}
|
|
4235
4265
|
};
|
|
4236
|
-
function
|
|
4266
|
+
function mr(e, t) {
|
|
4237
4267
|
for (let n = e.length - 1; n >= 0; n--) {
|
|
4238
4268
|
let r = e[n], i = t.getAssistantReadState(r);
|
|
4239
4269
|
if (i !== void 0 && i !== "seen") return r;
|
|
@@ -4241,57 +4271,92 @@ function fr(e, t) {
|
|
|
4241
4271
|
return null;
|
|
4242
4272
|
}
|
|
4243
4273
|
//#endregion
|
|
4274
|
+
//#region src/chat/stream-error-display.ts
|
|
4275
|
+
var hr = /^HTTP\s+\d{3}\b/i, gr = [
|
|
4276
|
+
/response body is null/i,
|
|
4277
|
+
/streaming not supported/i,
|
|
4278
|
+
/ECONNREFUSED/i,
|
|
4279
|
+
/ECONNRESET/i,
|
|
4280
|
+
/ETIMEDOUT/i,
|
|
4281
|
+
/socket hang up/i,
|
|
4282
|
+
/net::ERR_/i,
|
|
4283
|
+
/502\s+bad gateway/i,
|
|
4284
|
+
/503\s+service unavailable/i,
|
|
4285
|
+
/504\s+gateway timeout/i
|
|
4286
|
+
], _r = [
|
|
4287
|
+
/Traceback\s*\(/i,
|
|
4288
|
+
/\bSyntaxError\b/,
|
|
4289
|
+
/\bReferenceError\b/,
|
|
4290
|
+
/\bTypeError\s*:/,
|
|
4291
|
+
/\bat\s+[\w./()[\]<>-]+:\d+:\d+/,
|
|
4292
|
+
/\n\s+at\s+\w/,
|
|
4293
|
+
/undefined is not/i,
|
|
4294
|
+
/is not a function/i,
|
|
4295
|
+
/<anonymous>/i,
|
|
4296
|
+
/ChunkLoadError/i,
|
|
4297
|
+
/UnhandledPromiseRejection/i
|
|
4298
|
+
], vr = 720;
|
|
4299
|
+
function yr(e, t) {
|
|
4300
|
+
if (g(e)) return !0;
|
|
4301
|
+
let n = e.message.trim();
|
|
4302
|
+
if (hr.test(n) || gr.some((e) => e.test(n))) return !0;
|
|
4303
|
+
let r = t.trim();
|
|
4304
|
+
if (r.length > vr) return !0;
|
|
4305
|
+
let i = r.split(/\n/).length;
|
|
4306
|
+
return !!(i >= 6 || _r.some((e) => e.test(r)) || i >= 3 && /\bat\s+/.test(r));
|
|
4307
|
+
}
|
|
4308
|
+
//#endregion
|
|
4244
4309
|
//#region src/chat/kvkk.ts
|
|
4245
|
-
var
|
|
4310
|
+
var br = "gengage_kvkk_shown", xr = [
|
|
4246
4311
|
"kvkk",
|
|
4247
4312
|
"kişisel veri",
|
|
4248
4313
|
"kisisel veri"
|
|
4249
|
-
],
|
|
4250
|
-
function
|
|
4314
|
+
], Sr = /\b6698\b/;
|
|
4315
|
+
function Cr(e) {
|
|
4251
4316
|
let t = e.toLowerCase();
|
|
4252
|
-
return
|
|
4317
|
+
return xr.some((e) => t.includes(e)) || Sr.test(t);
|
|
4253
4318
|
}
|
|
4254
|
-
function
|
|
4319
|
+
function wr(e) {
|
|
4255
4320
|
try {
|
|
4256
|
-
return localStorage.getItem(`${
|
|
4321
|
+
return localStorage.getItem(`${br}_${e}`) === "1";
|
|
4257
4322
|
} catch {
|
|
4258
4323
|
return !1;
|
|
4259
4324
|
}
|
|
4260
4325
|
}
|
|
4261
|
-
function
|
|
4326
|
+
function Tr(e) {
|
|
4262
4327
|
try {
|
|
4263
|
-
localStorage.setItem(`${
|
|
4328
|
+
localStorage.setItem(`${br}_${e}`, "1");
|
|
4264
4329
|
} catch {}
|
|
4265
4330
|
}
|
|
4266
|
-
function
|
|
4331
|
+
function Er(e) {
|
|
4267
4332
|
let t = new DOMParser().parseFromString(e, "text/html").body, n = Array.from(t.children);
|
|
4268
|
-
for (let e of n) if (
|
|
4333
|
+
for (let e of n) if (Cr(e.textContent ?? "")) {
|
|
4269
4334
|
e.remove();
|
|
4270
4335
|
break;
|
|
4271
4336
|
}
|
|
4272
4337
|
return t.innerHTML.trim();
|
|
4273
4338
|
}
|
|
4274
|
-
function
|
|
4339
|
+
function Dr(e) {
|
|
4275
4340
|
let t = new DOMParser().parseFromString(e, "text/html");
|
|
4276
|
-
for (let e of Array.from(t.body.children)) if (
|
|
4341
|
+
for (let e of Array.from(t.body.children)) if (Cr(e.textContent ?? "")) return e.outerHTML;
|
|
4277
4342
|
return null;
|
|
4278
4343
|
}
|
|
4279
|
-
var
|
|
4344
|
+
var Or = {
|
|
4280
4345
|
tr: "TURKISH",
|
|
4281
4346
|
en: "ENGLISH",
|
|
4282
4347
|
de: "GERMAN",
|
|
4283
4348
|
fr: "FRENCH"
|
|
4284
4349
|
};
|
|
4285
|
-
function
|
|
4286
|
-
return e ?
|
|
4350
|
+
function kr(e) {
|
|
4351
|
+
return e ? Or[e.toLowerCase().slice(0, 2)] ?? "TURKISH" : "TURKISH";
|
|
4287
4352
|
}
|
|
4288
4353
|
//#endregion
|
|
4289
4354
|
//#region src/chat/components/chat.css?inline
|
|
4290
|
-
var Cr = ":where(:root,.gengage-chat-root,.gengage-qna-container,.gengage-simrel-container,.gengage-simbut-root){--ds-neutral-0:#fff;--ds-neutral-25:#fcfcfd;--ds-neutral-50:#f6f7fb;--ds-neutral-100:#f3f4f6;--ds-neutral-200:#e5e7eb;--ds-neutral-300:#d0d5dd;--ds-neutral-500:#667085;--ds-neutral-600:#475467;--ds-neutral-700:#344054;--ds-neutral-900:#111827;--ds-radius-2:8px;--ds-radius-3:12px;--ds-radius-4:16px;--ds-radius-5:20px;--ds-radius-6:24px;--ds-radius-pill:999px;--ds-shadow-1:0 1px 2px #1018280a, 0 1px 3px #1018280f;--ds-shadow-2:0 4px 12px #10182814;--ds-shadow-3:0 10px 24px #1018281f;--client-primary:var(--gengage-primary-color,#b7102a);--client-primary-hover:var(--gengage-primary-hover,color-mix(in srgb, var(--client-primary) 88%, black 12%));--client-primary-active:var(--gengage-primary-active,color-mix(in srgb, var(--client-primary) 78%, black 22%));--client-primary-subtle:color-mix(in srgb, var(--client-primary) 12%, white);--client-primary-soft:color-mix(in srgb, var(--client-primary) 20%, white);--client-on-primary:var(--gengage-primary-foreground,#fff);--client-focus-ring:color-mix(in srgb, var(--client-primary) 32%, transparent);--ai-accent-start:#0b24d6;--ai-accent-end:#f768f2;--ai-accent-soft:linear-gradient(135deg, #0b24d614, #f768f214);--surface-page:var(--gengage-page-bg,var(--ds-neutral-50));--surface-shell:var(--gengage-shell-bg,#10131a);--surface-card:var(--gengage-background-color,var(--ds-neutral-0));--surface-card-muted:var(--gengage-surface-soft,#f8fafc);--surface-card-soft:var(--surface-card-muted);--surface-elevated:var(--gengage-surface-elevated,var(--ds-neutral-0));--surface-input:var(--gengage-input-bg,var(--ds-neutral-0));--surface-overlay:var(--gengage-overlay-bg,#10131a85);--text-primary:var(--gengage-foreground-color,var(--ds-neutral-900));--text-secondary:var(--gengage-text-secondary,#4b5563);--text-muted:var(--gengage-text-muted,#6b7280);--text-inverse:var(--gengage-text-inverse,#f9fafb);--border-subtle:var(--gengage-border-subtle,#1118270f);--border-default:var(--gengage-border-color,#1118271a);--border-strong:var(--gengage-border-strong,#1118272e);--shadow-1:var(--gengage-shadow-1,var(--ds-shadow-1));--shadow-2:var(--gengage-shadow-2,var(--ds-shadow-2));--shadow-3:var(--gengage-shadow-3,var(--ds-shadow-3));--radius-control:var(--gengage-control-radius,var(--ds-radius-3));--radius-card:var(--gengage-card-radius,var(--ds-radius-4));--radius-panel:var(--gengage-panel-radius,var(--ds-radius-6));--radius-pill:var(--gengage-pill-radius,var(--ds-radius-pill));--success:var(--gengage-success-color,#16a34a);--warning:var(--gengage-warning-color,#d97706);--error:var(--gengage-error-color,#dc2626);--info:var(--gengage-info-color,#2563eb);--rating:var(--gengage-rating-color,#f5b301);--gengage-primary:var(--client-primary);--gengage-primary-soft:var(--client-primary-soft);--gengage-primary-subtle:var(--client-primary-subtle);--gengage-text-color:var(--text-primary);--gengage-text-secondary:var(--text-secondary);--gengage-hover-color:var(--surface-card-soft);--ds-button-primary-bg:var(--client-primary);--ds-button-primary-bg-hover:var(--client-primary-hover);--ds-button-primary-bg-active:var(--client-primary-active);--ds-button-primary-fg:var(--client-on-primary);--ds-button-primary-border:color-mix(in srgb, var(--client-primary) 82%, black 18%);--ds-button-secondary-bg:var(--surface-card);--ds-button-secondary-bg-hover:var(--client-primary-subtle);--ds-button-secondary-fg:var(--client-primary);--ds-button-secondary-border:color-mix(in srgb, var(--client-primary) 26%, white);--ds-button-ghost-bg:var(--surface-card-muted);--ds-button-ghost-bg-hover:var(--ds-button-ghost-bg);--ds-button-ghost-fg:var(--text-primary);--ds-button-ghost-fg-hover:var(--client-primary);--ds-button-ghost-border:var(--border-default);--ds-button-ghost-border-hover:color-mix(in srgb, var(--client-primary) 18%, white);--ds-panel-bg:var(--surface-card);--ds-panel-border:var(--border-default);--ds-panel-shadow:var(--shadow-1);--ds-panel-radius:var(--radius-panel);--ds-header-bg:var(--surface-card);--ds-header-fg:var(--text-primary);--ds-header-muted:var(--text-muted);--ds-header-border:var(--border-default);--ds-card-bg:var(--surface-card);--ds-card-bg-soft:var(--surface-card-muted);--ds-card-border:var(--border-default);--ds-card-shadow:var(--shadow-1);--ds-card-shadow-hover:var(--shadow-2);--ds-card-radius:var(--radius-card);--ds-card-border-hover:color-mix(in srgb, var(--client-primary) 14%, var(--border-default));--ds-card-bg-hover:color-mix(in srgb, var(--client-primary) 2%, var(--surface-card));--ds-product-card-media-bg:var(--surface-card-muted);--ds-product-card-media-border:var(--border-subtle);--ds-input-bg:var(--surface-input);--ds-input-border:var(--border-default);--ds-input-radius:16px;--ds-input-focus-border:color-mix(in srgb, var(--client-primary) 28%, white);--ds-input-focus-ring:0 0 0 4px var(--client-focus-ring);--ds-input-highlight:inset 0 1px 0 #fff9;--ds-chip-bg:var(--surface-card);--ds-chip-border:var(--border-default);--ds-chip-fg:var(--text-secondary);--ds-chip-bg-hover:var(--surface-card-muted);--ds-chip-bg-active:color-mix(in srgb, var(--client-primary) 8%, white);--ds-chip-border-active:color-mix(in srgb, var(--client-primary) 30%, white);--ds-chip-fg-active:var(--client-primary);--ds-tab-bg:var(--surface-card);--ds-tab-bg-hover:var(--surface-card-muted);--ds-tab-bg-active:color-mix(in srgb, var(--client-primary) 8%, white);--ds-tab-border:var(--border-default);--ds-tab-border-active:color-mix(in srgb, var(--client-primary) 26%, white);--ds-tab-fg:var(--text-secondary);--ds-tab-fg-active:var(--client-primary);--ds-badge-brand-bg:color-mix(in srgb, var(--client-primary) 10%, white);--ds-badge-brand-border:color-mix(in srgb, var(--client-primary) 18%, white);--ds-badge-brand-fg:var(--client-primary);--ds-message-user-bg:color-mix(in srgb, var(--client-primary) 10%, white);--ds-message-user-fg:var(--text-primary);--ds-message-user-border:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));--ds-message-user-shadow:none;--ds-message-assistant-bg:var(--surface-card-soft);--ds-message-assistant-fg:var(--text-primary);--ds-message-assistant-border:var(--border-default);--ds-message-assistant-shadow:none;--ds-message-active-outline:color-mix(in srgb, var(--client-primary) 68%, white);--ds-progress-card-border:var(--border-subtle);--ds-progress-mark-bg:color-mix(in srgb, var(--ai-accent-start) 8%, var(--surface-card));--ds-progress-mark-border:color-mix(in srgb, var(--ai-accent-start) 12%, var(--border-default));--ds-progress-scrollbar-thumb:color-mix(in srgb, var(--text-primary) 18%, transparent);--ds-toast-error-bg:color-mix(in srgb, var(--error) 5%, var(--surface-card));--ds-toast-error-border:color-mix(in srgb, var(--error) 18%, var(--border-default));--ds-toast-error-accent:var(--error);--ds-toast-error-fg:color-mix(in srgb, var(--error) 22%, var(--text-primary));--ds-toast-error-shadow:var(--shadow-3);--ds-comparison-table-bg:var(--surface-card);--ds-comparison-table-border:var(--border-default);--ds-comparison-table-header-bg:var(--surface-card-muted);--ds-comparison-table-header-fg:var(--text-muted);--ds-comparison-table-row-border:var(--border-subtle);--ds-comparison-table-winner-bg:color-mix(in srgb, var(--client-primary) 6%, white);--ds-comparison-table-winner-fg:var(--client-primary)}:where(.gds-panel){background:var(--ds-panel-bg);border:1px solid var(--ds-panel-border);border-radius:var(--ds-panel-radius);box-shadow:var(--ds-panel-shadow)}:where(.gengage-qna-panel,.gengage-chat-panel-topbar,.gengage-chat-chat-header,.gengage-chat-panel-ai-zone>.gengage-chat-ai-top-picks,.gengage-chat-grounding-review){border-color:var(--ds-panel-border)}:where(.gds-btn){border-radius:var(--radius-control);min-height:46px;font:inherit;cursor:pointer;border:0;outline:none;justify-content:center;align-items:center;gap:10px;padding:0 18px;font-weight:700;transition:box-shadow .15s,border-color .15s,background-color .15s,color .15s;display:inline-flex}:where(.gds-btn:hover){transform:none}:where(.gds-btn:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-btn:disabled){cursor:not-allowed;opacity:.56;box-shadow:none}:where(.gds-btn-primary){background:var(--ds-button-primary-bg);color:var(--ds-button-primary-fg);border:1px solid var(--ds-button-primary-border)}:where(.gds-btn-primary:hover){background:var(--ds-button-primary-bg-hover)}:where(.gds-btn-secondary){background:var(--ds-button-secondary-bg);color:var(--ds-button-secondary-fg);border:1px solid var(--ds-button-secondary-border)}:where(.gds-btn-secondary:hover){background:var(--ds-button-secondary-bg-hover)}:where(.gds-btn-ghost){background:var(--ds-button-ghost-bg);color:var(--ds-button-ghost-fg);border:1px solid var(--ds-button-ghost-border)}:where(.gds-btn-ghost:hover){background:var(--ds-button-ghost-bg-hover);border-color:var(--ds-button-ghost-border-hover);color:var(--ds-button-ghost-fg-hover)}:where(.gds-chip){border-radius:var(--radius-pill);border:1px solid var(--ds-chip-border);background:var(--ds-chip-bg);color:var(--ds-chip-fg);align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:700;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}:where(.gds-chip:hover){background:var(--ds-chip-bg-hover);border-color:color-mix(in srgb, var(--client-primary) 16%, var(--ds-chip-border))}:where(.gds-chip:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-chip-active){border-color:var(--ds-chip-border-active);background:var(--ds-chip-bg-active);color:var(--ds-chip-fg-active)}:where(.gds-badge){border-radius:var(--radius-pill);letter-spacing:.04em;align-items:center;min-height:28px;padding:0 10px;font-size:11px;font-weight:800;display:inline-flex}:where(.gds-badge-brand){background:var(--ds-badge-brand-bg);color:var(--ds-badge-brand-fg);border:1px solid var(--ds-badge-brand-border)}:where(.gds-shell-header){background:var(--ds-header-bg);color:var(--ds-header-fg);border-bottom:1px solid var(--ds-header-border);box-shadow:none;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}:where(.gds-shell-header [data-gengage-part=chat-header-powered-by]){color:var(--ds-header-muted)}:where(.gds-icon-btn){border-radius:var(--radius-control);width:42px;min-width:42px;height:42px;min-height:42px;padding:0}:where(.gds-input-shell){border-radius:var(--ds-input-radius);border:1px solid var(--ds-input-border);background:var(--ds-input-bg);min-height:52px;box-shadow:var(--ds-input-highlight);align-items:center;gap:12px;padding:6px 6px 6px 14px;transition:border-color .15s,box-shadow .15s,background-color .15s;display:flex}:where(.gds-input-shell:focus-within){border-color:var(--ds-input-focus-border);box-shadow:var(--ds-input-focus-ring)}:where(.gds-tab){border-radius:var(--radius-pill);border:1px solid var(--ds-tab-border);background:var(--ds-tab-bg);color:var(--ds-tab-fg);align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:700;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}:where(.gds-tab:hover){background:var(--ds-tab-bg-hover)}:where(.gds-tab:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-tab[aria-selected=true],.gds-tab.is-active){color:var(--ds-tab-fg-active);border-color:var(--ds-tab-border-active);background:var(--ds-tab-bg-active)}:where(.gds-toolbar){flex-wrap:wrap;align-items:center;gap:10px;display:flex}:where(.gds-toolbar-compact){gap:8px}:where(.gds-card){background:var(--ds-card-bg);border:1px solid var(--ds-card-border);border-radius:var(--ds-card-radius);box-shadow:var(--ds-card-shadow);transition:border-color .15s,box-shadow .15s,background-color .15s}:where(.gds-card-interactive),:where(.gds-clickable){cursor:pointer}:where(.gds-card-interactive:hover){background:var(--ds-card-bg-hover);border-color:var(--ds-card-border-hover);box-shadow:var(--ds-card-shadow-hover)}:where(.gds-card-soft){background:var(--ds-card-bg-soft)}:where(.gds-product-card){border-radius:16px}:where(.gds-evidence-card){background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-control);box-shadow:var(--shadow-1)}:where(.gds-evidence-card-success){background:color-mix(in srgb, var(--success) 10%, white);border-color:color-mix(in srgb, var(--success) 22%, var(--border-default))}:where(.gds-evidence-card-danger){background:color-mix(in srgb, var(--error) 8%, white);border-color:color-mix(in srgb, var(--error) 20%, var(--border-default))}:where(.gds-evidence-card-warning){background:color-mix(in srgb, var(--warning) 10%, white);border-color:color-mix(in srgb, var(--warning) 22%, var(--border-default))}:where(.gds-message){border-radius:calc(var(--radius-control) + 4px);word-wrap:break-word;overflow-wrap:break-word;border:1px solid #0000;max-width:85%;padding:14px 16px;font-size:14px;font-weight:400;line-height:1.55;animation:.3s cubic-bezier(.2,.7,.2,1) gengage-chat-msg-in}:where(.gds-message-user){background:var(--ds-message-user-bg);color:var(--ds-message-user-fg);border-color:var(--ds-message-user-border);box-shadow:var(--ds-message-user-shadow);border-bottom-right-radius:6px;align-self:flex-end}:where(.gds-message-assistant){background:var(--ds-message-assistant-bg);color:var(--ds-message-assistant-fg);border-color:var(--ds-message-assistant-border);box-shadow:var(--ds-message-assistant-shadow);border-bottom-left-radius:6px;align-self:flex-start;min-width:120px}:where(.gds-message-active){outline:2px solid var(--ds-message-active-outline);outline-offset:-2px}:where(.gds-ai-card){background:var(--surface-card);border:1px solid var(--ds-progress-card-border);border-radius:20px;gap:16px;padding:18px;display:grid}:where(.gds-ai-mark){background:var(--ds-progress-mark-bg);width:42px;height:42px;color:var(--ai-accent-start);border:1px solid var(--ds-progress-mark-border);border-radius:14px;place-items:center;display:grid}:where(.gds-ai-loader-row){align-items:center;gap:12px;display:flex}:where(.gds-progress-loader){border:1px solid color-mix(in srgb, var(--ai-accent-start) 10%, var(--border-default));background:linear-gradient(110deg, var(--surface-card-soft) 8%, color-mix(in srgb, var(--ai-accent-start) 5%, var(--surface-card)) 18%, var(--surface-card-soft) 33%);width:fit-content;max-width:100%;color:var(--text-secondary);background-size:220% 100%;border-radius:14px;align-items:center;gap:10px;padding:8px 14px;animation:1.8s linear infinite gds-progress-shimmer;display:inline-flex}:where(.gds-progress-loader-chat){box-sizing:border-box;align-self:flex-start;width:100%;min-width:0;max-width:85%;display:flex}:where(.gds-progress-loader-chat) .gds-progress-label{overflow-wrap:anywhere;flex:auto;min-width:0}:where(.gds-progress-loader-panel){box-sizing:border-box;justify-content:flex-start;align-items:center;width:100%;min-width:0;max-width:100%;display:flex}:where(.gds-progress-loader-panel) .gds-progress-label{overflow-wrap:anywhere;flex:auto;min-width:0}:where(.gds-progress-label){min-width:0;color:var(--text-secondary);word-break:break-word;font-size:13px;line-height:1.5}:where(.gds-progress-dots){flex-shrink:0;align-items:center;gap:6px;display:inline-flex}:where(.gds-progress-dot){background:color-mix(in srgb, var(--ai-accent-start) 20%, var(--text-muted));border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite gds-progress-dot-pulse;display:inline-block}:where(.gds-progress-dot:nth-child(2)){animation-delay:.2s}:where(.gds-progress-dot:nth-child(3)){animation-delay:.4s}:where(.gds-ai-status){border-radius:calc(var(--radius-control) + 2px);border:1px solid var(--border-default);background:var(--surface-card-muted);max-width:85%;color:var(--text-secondary);border-bottom-left-radius:6px;align-self:flex-start;align-items:center;gap:8px;padding:10px 14px;display:flex}:where(.gds-ai-status-text){color:var(--text-secondary);font-size:13px;font-style:italic}:where(.gds-ai-dot-loader){align-items:center;gap:5px;display:inline-flex}:where(.gds-ai-dot-loader span){background:color-mix(in srgb, var(--ai-accent-start) 38%, var(--text-muted));border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite gds-progress-dot-pulse;display:inline-block}:where(.gds-ai-dot-loader span:nth-child(2)){animation-delay:.2s}:where(.gds-ai-dot-loader span:nth-child(3)){animation-delay:.4s}:where(.gds-ai-spinner){border:2.5px solid var(--border-default);border-top-color:var(--ai-accent-start);border-radius:50%;flex-shrink:0;width:26px;height:26px;animation:.72s linear infinite gds-spin}@keyframes gds-spin{to{transform:rotate(360deg)}}@keyframes gds-progress-shimmer{0%{background-position:200% 0}to{background-position:-20% 0}}@keyframes gds-progress-dot-pulse{0%,to{opacity:.45;transform:scale(.7)}50%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){:where(.gds-progress-loader){animation:none}:where(.gds-progress-dot){opacity:.85;animation:none;transform:scale(1)}:where(.gds-ai-spinner){animation:none}:where(.gds-ai-dot-loader span){opacity:.85;animation:none}}:where(.gds-menu){border-radius:var(--radius-card);border:1px solid var(--border-default);background:var(--surface-elevated);box-shadow:var(--shadow-3);padding:4px}:where(.gds-menu-option){border-radius:calc(var(--radius-control) - 4px);width:100%;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:8px 10px;font-size:12px;font-weight:500;line-height:1.25;transition:background-color .15s,color .15s;display:flex}:where(.gds-menu-option:hover){background:var(--surface-card-muted)}:where(.gds-menu-option:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-menu-option-active){background:var(--client-primary-subtle);color:var(--client-primary);font-weight:600}:where(.gds-comparison-table){border-collapse:separate;border-spacing:0;border:1px solid var(--ds-comparison-table-border);background:var(--ds-comparison-table-bg);border-radius:20px;width:100%;overflow:hidden}:where(.gds-comparison-table th,.gds-comparison-table td){text-align:left;border-bottom:1px solid var(--ds-comparison-table-row-border);padding:14px 16px;font-size:13px}:where(.gds-comparison-table th){background:var(--ds-comparison-table-header-bg);text-transform:uppercase;letter-spacing:.08em;color:var(--ds-comparison-table-header-fg);font-size:11px}:where(.gds-comparison-table tr:last-child td){border-bottom:0}:where(.gds-comparison-table-winner-cell){background:var(--ds-comparison-table-winner-bg);color:var(--ds-comparison-table-winner-fg);font-weight:800}:host{all:initial;font-family:var(--gengage-font-family,\"Plus Jakarta Sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif);font-size:var(--gengage-font-size,14px)}.gengage-chat-root button,.gengage-chat-root [role=button],.gengage-chat-root a{cursor:pointer}.gengage-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.gengage-chat-root{z-index:var(--gengage-z-index,2147480000);--_gengage-chat-offset:var(--gengage-chat-offset,20px);--_gengage-chat-launcher-bottom:var(--gengage-chat-launcher-bottom,20px);--_gengage-chat-launcher-right:var(--gengage-chat-launcher-right,20px);--_gengage-chat-launcher-size:var(--gengage-chat-launcher-size,56px);--_gengage-chat-drawer-width:var(--gengage-chat-width,400px);--_gengage-chat-radius:var(--gengage-chat-shell-radius,1rem);--_gengage-chat-header-height:var(--gengage-chat-header-height,72px);--_gengage-chat-conversation-width:var(--gengage-chat-conversation-width,396px);--_gengage-chat-panel-min-width:var(--gengage-chat-panel-min-width,320px);--_gengage-chat-panel-max-width:var(--gengage-chat-panel-max-width,1200px);--_gengage-chat-input-height:var(--gengage-chat-input-height,48px);--_gengage-chat-shadow:var(--gengage-chat-shadow,var(--shadow-3));--_gengage-border-color:var(--border-default);--_gengage-discount-color:var(--gengage-discount-color,var(--client-primary));--_gengage-success-color:var(--success);--_gengage-text-primary:var(--text-primary);--_gengage-text-secondary:var(--text-secondary);--_gengage-surface-secondary:var(--surface-card-soft);--_gengage-surface-muted:var(--surface-card-soft);--_gengage-surface-dark:var(--surface-shell);--_gengage-rating-color:var(--rating);--_gengage-error:var(--error);--_gengage-danger-color:var(--error);--_gengage-ghost-border:var(--gengage-ghost-border,color-mix(in srgb, var(--client-primary) 16%, transparent));position:fixed}.gengage-chat-backdrop{z-index:0;pointer-events:none;cursor:pointer;box-sizing:border-box;-webkit-tap-highlight-color:transparent;background:0 0;border:none;margin:0;padding:0;display:none;position:fixed;inset:0}.gengage-chat-root--open:not(.gengage-chat--inline) .gengage-chat-backdrop{pointer-events:none;background:var(--gengage-chat-float-backdrop,transparent);display:block}.gengage-chat-root--open.gengage-chat-root--maximized-host-chrome:not(.gengage-chat--inline) .gengage-chat-backdrop{pointer-events:auto;background:var(--gengage-chat-float-backdrop,color-mix(in srgb, var(--surface-overlay) 72%, transparent))}.gengage-chat-root.gengage-chat--overlay.gengage-chat-root--open .gengage-chat-backdrop{background:var(--gengage-chat-overlay-backdrop,var(--surface-overlay));pointer-events:auto}.gengage-chat-launcher-container{bottom:var(--_gengage-chat-launcher-bottom);right:var(--_gengage-chat-launcher-right);z-index:var(--gengage-z-index,2147480000);flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:fixed}.gengage-chat-launcher-content-area,.gengage-chat-launcher-content-area-bottom{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.gengage-chat-launcher-content-area:empty,.gengage-chat-launcher-content-area-bottom:empty,.gengage-chat-root--open .gengage-chat-launcher-content-area,.gengage-chat-root--open .gengage-chat-launcher-content-area-bottom{display:none}.gengage-chat-root--open .gengage-chat-launcher-container{pointer-events:none;opacity:0;transition:opacity .2s}.gengage-chat-launcher{width:var(--_gengage-chat-launcher-size);height:var(--_gengage-chat-launcher-size);border:1px solid var(--ds-button-primary-border);background:var(--ds-button-primary-bg);color:var(--ds-button-primary-fg);cursor:pointer;box-shadow:var(--shadow-3);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s;display:flex;position:relative}.gengage-chat-launcher:hover{box-shadow:var(--shadow-3);transform:none}.gengage-chat-launcher svg{width:28px;height:28px}.gengage-chat-launcher--image-mode{box-shadow:none;background:0 0;border:none;border-radius:0;padding:0;overflow:hidden}.gengage-chat-launcher--image-mode:hover{box-shadow:none}.gengage-chat-launcher--image-mode img{object-fit:contain;width:100%;height:100%}.gengage-chat-launcher--hidden-mobile{display:none!important}.gengage-chat-launcher-tooltip{border-radius:var(--radius-control);background:var(--surface-shell);color:var(--text-inverse);white-space:nowrap;opacity:0;pointer-events:none;box-shadow:var(--shadow-2);padding:6px 12px;font-size:13px;font-weight:500;transition:opacity .2s;position:absolute;top:50%;right:calc(100% + 12px);transform:translateY(-50%)}.gengage-chat-launcher-tooltip:after{content:\"\";border:5px solid #0000;border-left-color:var(--surface-shell);position:absolute;top:50%;left:100%;transform:translateY(-50%)}.gengage-chat-launcher:hover .gengage-chat-launcher-tooltip{opacity:1}.gengage-chat-root--open .gengage-chat-launcher-tooltip{display:none}.gengage-chat-drawer{width:var(--_gengage-chat-drawer-width);background:var(--surface-elevated,var(--surface-card));border-left:1px solid var(--border-default);max-height:100dvh;box-shadow:var(--_gengage-chat-shadow);z-index:var(--gengage-z-index,2147480000);opacity:1;border-radius:0;flex-direction:column;transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .2s;display:flex;position:fixed;top:0;bottom:0;right:0;overflow:hidden;transform:translate(0)}.gengage-chat-root--mobile .gengage-chat-launcher-container{right:var(--gengage-chat-launcher-mobile-right,16px);bottom:calc(var(--gengage-chat-launcher-mobile-bottom,16px) + env(safe-area-inset-bottom,0px))}.gengage-chat-root--mobile .gengage-chat-drawer{border:1px solid var(--border-default);width:100%;max-width:none;max-height:100dvh;box-shadow:var(--shadow-3);padding-bottom:env(safe-area-inset-bottom,0px);background:var(--surface-elevated,var(--surface-card));border-bottom:none;border-radius:16px 16px 0 0;bottom:0;left:0;right:0}.gengage-chat-drawer-handle{display:none}.gengage-chat-root--mobile .gengage-chat-drawer-handle{pointer-events:none;z-index:1;justify-content:center;align-items:center;height:14px;display:flex;position:absolute;top:6px;left:0;right:0}.gengage-chat-root--mobile .gengage-chat-header{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.gengage-chat-root--mobile .gengage-chat-header button,.gengage-chat-root--mobile .gengage-chat-header a{cursor:pointer;touch-action:auto;-webkit-user-select:auto;user-select:auto}.gengage-chat-root--mobile .gengage-chat-drawer-handle:before{content:\"\";background:var(--border-strong);pointer-events:none;border-radius:999px;width:36px;height:4px}.gengage-chat-root--mobile.gengage-chat-root--mobile-half .gengage-chat-drawer{height:min(72dvh,620px);max-height:min(72dvh,620px);top:auto}.gengage-chat-root--mobile.gengage-chat-root--mobile-full .gengage-chat-drawer{border-radius:0;height:100dvh;max-height:100dvh;top:0}.gengage-chat-root--mobile .gengage-chat-input-area{padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border-default);transform:translateY(calc(-1 * var(--gengage-keyboard-offset,0px)))}.gengage-chat-header{box-sizing:border-box;height:var(--_gengage-chat-header-height);background:var(--gengage-chat-header-bg,var(--ds-header-bg));color:var(--gengage-chat-header-foreground,var(--ds-header-fg));box-shadow:none;border-bottom:1px solid var(--gengage-chat-header-border-bottom,var(--ds-header-border));z-index:2;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex;position:relative}.gengage-chat-header-left{align-items:center;gap:10px;min-width:0;display:flex}.gengage-chat-header-avatar{background:var(--surface-card-soft);border:1px solid var(--border-default);object-fit:contain;border-radius:999px;flex-shrink:0;width:44px;height:44px}.gengage-chat-header-avatar--logo{object-fit:contain;background:0 0;border:none;border-radius:0;width:auto;max-width:92px;height:45px}.gengage-chat-header-info{flex-direction:column;gap:2px;min-width:0;display:flex}.gengage-chat-header-title-row{align-items:center;gap:6px;min-width:0;display:flex}.gengage-chat-header-title{letter-spacing:.01em;color:inherit;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:16px;font-weight:700;line-height:1.25;display:block;overflow:hidden}.gengage-chat-header-badge{border-radius:var(--radius-pill);background:var(--ds-badge-brand-bg);min-height:26px;color:var(--ds-badge-brand-fg);border:1px solid var(--ds-badge-brand-border);letter-spacing:.04em;text-transform:uppercase;align-items:center;padding:0 10px;font-size:10px;font-weight:800;line-height:1.5;display:inline-flex}.gengage-chat-header-powered{color:var(--ds-header-muted);align-items:center;gap:4px;font-size:11px;line-height:1.2;text-decoration:none;transition:color .15s;display:flex}.gengage-chat-header-powered:hover{color:var(--client-primary)}.gengage-chat-header-powered svg{opacity:.6;flex-shrink:0;width:12px;height:12px}.gengage-chat-header-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.gengage-chat-header-btn{border-radius:var(--radius-control,12px);background:var(--surface-card-soft);border:1px solid var(--border-default);width:42px;height:42px;color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;line-height:1;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.gengage-chat-header-btn:hover{background:var(--client-primary-subtle);color:var(--client-primary);border-color:color-mix(in srgb, var(--client-primary) 18%, white)}.gengage-chat-header-btn--fav{position:relative}.gengage-chat-header-btn--reopen-panel,.gengage-chat-root--mobile .gengage-chat-new-chat{display:none}.gengage-chat-header-fav-badge{background:var(--error);min-width:16px;height:16px;color:var(--text-inverse);text-align:center;pointer-events:none;border-radius:999px;padding:0 3px;font-size:9px;font-weight:700;line-height:16px;position:absolute;top:-4px;right:-4px}.gengage-chat-close{border-radius:var(--radius-control,12px);background:var(--surface-card-soft);border:1px solid var(--border-default);width:42px;min-width:42px;height:42px;min-height:42px;color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;font-size:18px;line-height:1;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.gengage-chat-close:hover{background:var(--client-primary-subtle);color:var(--client-primary);border-color:color-mix(in srgb, var(--client-primary) 18%, white)}.gengage-chat-body{flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.gengage-chat-panel{width:0;transition:width .22s cubic-bezier(.2,.72,.2,1);display:none;overflow:hidden}.gengage-chat-panel--visible{box-sizing:border-box;background:var(--gengage-chat-panel-bg,var(--surface-card));border-right:1px solid var(--border-default);scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--text-muted) 24%, transparent) transparent;flex-direction:column;width:440px;min-width:440px;padding:16px;display:flex;position:relative;overflow-y:auto}.gengage-chat-panel--visible::-webkit-scrollbar{width:6px}.gengage-chat-panel--visible::-webkit-scrollbar-track{background:0 0}.gengage-chat-panel--visible::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text-muted) 24%, transparent);border-radius:3px}.gengage-chat-panel--visible::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--text-muted) 36%, transparent)}.gengage-chat-panel-ai-zone{box-sizing:border-box;border-bottom:1px solid var(--border-subtle);flex-shrink:0;width:100%;max-height:min(42vh,320px);margin-bottom:4px;padding:8px 0 12px;overflow:auto}.gengage-chat-panel-ai-zone:has(.gengage-chat-grouping-cards){max-height:min(52vh,520px)}.gengage-chat-panel-ai-zone:has(.gengage-chat-ai-top-picks){max-height:none;overflow:visible}.gengage-chat-panel-ai-zone[hidden]{display:none!important}.gengage-chat-panel-ai-zone-inner{align-items:center;gap:10px;display:flex}.gengage-chat-panel-ai-zone-text{color:var(--text-muted);font-size:13px}.gengage-chat-grouping-section-title{display:none}.gengage-chat-panel-ai-zone .gengage-chat-grouping-section-title{width:100%;color:var(--text-primary);letter-spacing:-.01em;flex-shrink:0;align-self:stretch;margin:0 0 10px;font-size:15px;font-weight:700;display:block}.gengage-chat-panel-ai-zone .gengage-chat-grouping-cards{flex-direction:column;align-items:stretch;gap:0;width:100%;min-width:0;max-height:none;display:flex}.gengage-chat-panel-ai-zone .gengage-chat-grouping-cards-scroll{-webkit-overflow-scrolling:touch;scrollbar-width:thin;flex-flow:row;align-items:stretch;gap:10px;width:100%;min-width:0;margin:0 -2px;padding:2px 2px 10px;display:flex;overflow:auto hidden}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card{box-sizing:border-box;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-card);width:136px;min-width:136px;max-width:150px;box-shadow:var(--shadow-1);flex-direction:column;flex:none;align-items:stretch;gap:8px;padding:12px 10px 14px}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card:hover{border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));box-shadow:var(--shadow-2)}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-arrow{display:none}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-img{object-fit:cover;border-radius:8px;width:100%;min-width:0;max-width:88px;height:72px;min-height:72px;margin:0 auto}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-body{text-align:center;flex-direction:column;align-items:center;gap:4px;width:100%}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-name{font-size:13px;font-weight:700;line-height:1.25}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-desc{color:var(--text-muted);font-size:11px;line-height:1.3}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-labels{white-space:normal;text-overflow:unset;justify-content:center;margin-top:2px;line-height:1.35;overflow:visible}.gengage-chat-panel-divider{cursor:pointer;background:var(--_gengage-border-color);z-index:2;flex-shrink:0;align-items:center;width:4px;transition:background .15s;display:flex;position:relative}.gengage-chat-panel-divider:hover{background:var(--border-strong)}.gengage-chat-panel-divider--hidden{display:none}.gengage-chat-panel-divider-toggle{border:1px solid var(--_gengage-border-color);background:var(--surface-card);cursor:pointer;width:28px;height:48px;color:var(--text-secondary);box-shadow:var(--shadow-1);border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;transition:background .15s,color .15s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.gengage-chat-panel-divider-toggle:hover{background:var(--surface-card-muted);color:var(--client-primary)}.gengage-chat-panel-divider-preview{pointer-events:none;border:1px solid var(--border-default);background:color-mix(in srgb, var(--surface-elevated) 96%, transparent);width:38px;height:192px;box-shadow:var(--shadow-2);z-index:1;border-radius:999px;flex-direction:column;gap:2px;padding:6px 4px;display:none;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.gengage-chat-panel-divider-preview:after{content:\"\";background:linear-gradient(180deg, transparent, color-mix(in srgb, var(--surface-shell) 10%, transparent));pointer-events:none;position:absolute;inset:0}.gengage-chat-panel-divider-preview-thumb{border-radius:999px;flex:1 1 0;min-height:0;position:relative;overflow:hidden}.gengage-chat-panel-divider-preview-img{object-fit:cover;filter:grayscale(.55)saturate(.8)brightness(.92);opacity:.9;width:100%;height:100%;transform:scale(1.14)}.gengage-chat-panel.gengage-chat-panel--collapsed{border-right:none;flex:0 0 0;width:0;min-width:0;max-width:0;padding:0;overflow:hidden}.gengage-chat-panel--collapsed~.gengage-chat-panel-divider{background:0 0;width:0}.gengage-chat-panel--collapsed~.gengage-chat-panel-divider .gengage-chat-panel-divider-toggle{left:50%;transform:translate(-50%,-50%)}.gengage-chat-panel--collapsed~.gengage-chat-panel-divider.gengage-chat-panel-divider--preview-active .gengage-chat-panel-divider-preview{display:flex;left:50%;transform:translate(-50%,-50%)}.gengage-chat-conversation{background:var(--surface-card);z-index:1;flex-direction:column;flex:1;min-width:0;display:flex;position:relative;overflow:hidden}.gengage-chat-drawer--with-panel{width:auto;box-shadow:none;background:0 0;overflow:visible}.gengage-chat-drawer--with-panel .gengage-chat-header{border-radius:0;flex-shrink:0}.gengage-chat-drawer--with-panel .gengage-chat-body{flex:1 1 0;align-items:stretch;gap:0;min-height:0;padding:0;overflow:visible}.gengage-chat-drawer--with-panel .gengage-chat-panel--visible{width:clamp(var(--_gengage-chat-panel-min-width), 56vw, var(--_gengage-chat-panel-max-width));min-width:var(--_gengage-chat-panel-min-width);max-width:var(--_gengage-chat-panel-max-width);background:var(--gengage-chat-panel-bg,var(--surface-card));box-shadow:none;border-right:none;border-radius:0;flex:none;max-height:100dvh;margin:0;padding:0 16px 16px;overflow-y:auto}.gengage-chat-drawer--with-panel .gengage-chat-panel-divider{background:0 0;width:0}.gengage-chat-drawer--with-panel .gengage-chat-panel-divider-toggle{background:var(--surface-card);width:20px;height:48px;color:var(--client-primary);border:1px solid color-mix(in srgb, var(--client-primary) 20%, var(--border-default));box-shadow:var(--shadow-1);z-index:10;border-radius:10px;font-size:12px}.gengage-chat-drawer--with-panel .gengage-chat-panel-divider-toggle:hover{background:var(--client-primary-subtle);color:var(--client-primary)}.gengage-chat-drawer--with-panel .gengage-chat-panel-divider--preview-active .gengage-chat-panel-divider-toggle:hover{background:var(--client-primary-subtle)}.gengage-chat-drawer--with-panel .gengage-chat-conversation{flex:0 0 var(--_gengage-chat-conversation-width);width:var(--_gengage-chat-conversation-width);background:var(--surface-card);box-shadow:var(--shadow-2);border-left:none}.gengage-chat-drawer--with-panel .gengage-chat-messages{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--text-muted) 22%, transparent) transparent;padding-right:6px}.gengage-chat-drawer--with-panel .gengage-chat-messages::-webkit-scrollbar{width:0}.gengage-chat-drawer--with-panel .gengage-chat-panel.gengage-chat-panel--collapsed{flex:0 0 0;width:0;min-width:0;max-width:0;padding:0;overflow:hidden}.gengage-chat-drawer--with-panel:has(.gengage-chat-panel--collapsed){width:var(--_gengage-chat-conversation-width);background:var(--surface-elevated,var(--surface-card));box-shadow:var(--_gengage-chat-shadow)}.gengage-chat-drawer--with-panel .gengage-chat-footer{display:none}.gengage-chat-messages{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;flex-direction:column;flex:1;gap:16px;min-height:0;padding:16px;display:flex;overflow-y:auto}.gengage-chat-messages::-webkit-scrollbar{width:6px}.gengage-chat-messages::-webkit-scrollbar-track{background:0 0}.gengage-chat-messages::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text-muted) 22%, transparent);border-radius:3px}.gengage-chat-messages::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--text-muted) 36%, transparent)}.gengage-chat-bubble--presentation-collapsed{display:none!important}.gengage-chat-former-messages-btn{z-index:2;border-radius:var(--radius-pill);border:1px solid var(--ds-chip-border);background:color-mix(in srgb, var(--surface-card) 96%, transparent);color:var(--text-primary);cursor:pointer;box-shadow:var(--shadow-1);flex-shrink:0;align-self:center;margin-bottom:4px;padding:8px 14px;font-size:13px;font-weight:600;position:sticky;top:0}.gengage-chat-former-messages-btn:hover{background:var(--surface-card-muted)}.gengage-chat-bubble{position:relative}@keyframes gengage-chat-msg-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.gengage-chat-bubble--user{max-width:85%}.gengage-chat-bubble--assistant{max-width:85%;margin-left:2px}.gengage-chat-bubble--active{outline:2px solid var(--ds-message-active-outline);outline-offset:-2px}.gengage-chat-bubble--assistant:empty{display:none}.gengage-chat-bubble--assistant .gengage-chat-bubble-text a{color:var(--client-primary);text-decoration:underline}.gengage-chat-bubble--assistant .gengage-chat-bubble-text a:hover{text-decoration:none}.gengage-chat-bubble--assistant .gengage-chat-bubble-text p{margin:0 0 8px}.gengage-chat-bubble--assistant .gengage-chat-bubble-text p:last-child{margin-bottom:0}.gengage-chat-bubble--assistant .gengage-chat-bubble-text ul,.gengage-chat-bubble--assistant .gengage-chat-bubble-text ol{margin:6px 0;padding-left:20px}.gengage-chat-bubble--assistant .gengage-chat-bubble-text li{margin-bottom:6px;line-height:1.5}.gengage-chat-bubble--assistant .gengage-chat-bubble-text code{background:color-mix(in srgb, var(--text-primary) 8%, transparent);border-radius:6px;padding:1px 4px;font-size:.9em}.gengage-chat-bubble--assistant .gengage-chat-bubble-text pre{background:color-mix(in srgb, var(--surface-card) 78%, var(--surface-card-soft));border:1px solid var(--border-subtle);border-radius:12px;margin:4px 0;padding:10px 12px;overflow-x:auto}.gengage-chat-bubble--assistant .gengage-chat-bubble-text table{border-collapse:collapse;margin:4px 0;font-size:.9em}.gengage-chat-bubble--assistant .gengage-chat-bubble-text th,.gengage-chat-bubble--assistant .gengage-chat-bubble-text td{border:1px solid var(--border-default);padding:4px 8px}.gengage-chat-bubble--assistant .gengage-chat-bubble-text img{border-radius:12px;max-width:100%;height:auto;margin:4px 0}.gengage-chat-bubble--assistant .gengage-chat-bubble-text h1,.gengage-chat-bubble--assistant .gengage-chat-bubble-text h2,.gengage-chat-bubble--assistant .gengage-chat-bubble-text h3,.gengage-chat-bubble--assistant .gengage-chat-bubble-text h4,.gengage-chat-bubble--assistant .gengage-chat-bubble-text h5,.gengage-chat-bubble--assistant .gengage-chat-bubble-text h6{color:var(--text-primary);margin:8px 0 4px;line-height:1.3}.gengage-chat-bubble--assistant .gengage-chat-bubble-text blockquote{border-left:3px solid var(--border-default);color:var(--text-secondary);margin:4px 0;padding-left:12px}.gengage-chat-bubble--assistant .gengage-chat-bubble-text{overflow-wrap:break-word}.gengage-chat-bubble--first{border-left:1px solid var(--ds-message-assistant-border)}.gengage-chat-bubble--first .gengage-chat-bubble-text{font-size:inherit}@media (width<=768px){.gengage-chat-bubble--assistant .gengage-chat-bubble-text{line-height:1.5}.gengage-chat-bubble--user{word-break:break-word;max-width:calc(100% - 16px)}}.gengage-chat-typing{align-self:flex-start;max-width:85%}.gengage-chat-typing-dots{flex-shrink:0}.gengage-chat-typing-text{flex:1;min-width:0}.gengage-chat-panel-loading-status{margin-bottom:16px}.gengage-chat-panel-loading-status.gds-progress-loader-panel{box-sizing:border-box;min-width:0;max-width:100%}.gengage-chat-root--mobile .gengage-chat-panel-loading-status.gds-progress-loader-panel{max-width:100%}.gengage-chat-root--mobile .gengage-chat-panel-loading-status .gengage-chat-panel-loading-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.gengage-chat-offline-bar{color:color-mix(in srgb, var(--warning) 72%, var(--text-primary));background:color-mix(in srgb, var(--warning) 10%, white);border-bottom:1px solid color-mix(in srgb, var(--warning) 22%, var(--border-default));align-items:center;gap:6px;padding:6px 12px;font-size:12px;line-height:1.4;display:none}.gengage-chat-offline-bar--visible{display:flex}.gengage-chat-offline-bar:before{content:\"\";background:var(--_gengage-rating-color);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.gengage-chat-thinking-steps{flex-direction:column;gap:4px;padding:4px 0;display:flex}.gengage-chat-thinking-step{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;display:flex}.gengage-chat-thinking-step-marker{text-align:center;flex-shrink:0;width:16px;font-size:12px}.gengage-chat-thinking-step-marker--done{color:var(--_gengage-success-color)}.gengage-chat-thinking-step-marker--active{color:var(--ai-accent-start);animation:1.5s ease-in-out infinite gengage-thinking-pulse}@keyframes gengage-thinking-pulse{0%,to{opacity:1}50%{opacity:.4}}.gengage-chat-thinking-step-text{line-height:1.4}.gengage-chat-error{border-radius:var(--radius-control);background:color-mix(in srgb, var(--error) 10%, white);color:color-mix(in srgb, var(--error) 84%, var(--text-primary));text-align:center;border:1px solid color-mix(in srgb, var(--error) 22%, var(--border-default));justify-content:center;align-items:center;gap:10px;padding:10px 14px;font-size:13px;display:flex}.gengage-chat-error-retry{border:1px solid color-mix(in srgb, var(--error) 24%, var(--border-default));border-radius:var(--radius-control);background:var(--surface-card);color:color-mix(in srgb, var(--error) 84%, var(--text-primary));cursor:pointer;flex-shrink:0;padding:4px 12px;font-size:12px;font-weight:500;transition:background .15s,border-color .15s}.gengage-chat-error-retry:hover{background:color-mix(in srgb, var(--error) 8%, white);border-color:color-mix(in srgb, var(--error) 32%, var(--border-default))}.gengage-chat-input-area{border-top:1px solid var(--border-subtle);background:var(--surface-card);z-index:2;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:0;padding:10px 12px 12px;display:flex;position:relative}.gengage-chat-input-pill{background:var(--surface-card);border:1px solid var(--border-default);min-width:0;min-height:52px;box-shadow:none;border-radius:16px;flex:1;align-items:center;gap:12px;padding:6px 6px 6px 14px;transition:border-color .2s,box-shadow .2s;display:flex;overflow:visible}.gengage-chat-input-pill:focus-within{border-color:color-mix(in srgb, var(--client-primary) 28%, white);box-shadow:0 0 0 4px var(--client-focus-ring)}.gengage-chat-input{min-width:0;min-height:40px;max-height:120px;color:var(--_gengage-text-primary);resize:none;background:0 0;border:none;border-radius:0;outline:none;flex:1;align-content:center;padding:0;font-family:inherit;font-size:14px;line-height:1.4;overflow-y:hidden}.gengage-chat-root--mobile .gengage-chat-input-pill{min-height:52px;padding:6px 6px 6px 14px}.gengage-chat-root--mobile .gengage-chat-input{white-space:nowrap;min-height:44px;max-height:44px;font-size:16px;overflow:hidden}.gengage-chat-input::placeholder{color:var(--text-muted);font-size:14px;line-height:normal}.gengage-chat-send{border:1px solid var(--ds-button-primary-border);background:var(--ds-button-primary-bg);width:40px;min-width:40px;height:40px;color:var(--ds-button-primary-fg);cursor:pointer;box-shadow:none;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:0;font-weight:700;transition:background-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s,transform .15s;display:flex;position:relative}.gengage-chat-send:hover{background:var(--ds-button-primary-bg-hover);box-shadow:none;transform:none}.gengage-chat-send:active{box-shadow:none;transform:translateY(0)}.gengage-chat-send svg{width:18px;height:18px}.gengage-chat-send--stop{background:var(--surface-card-soft);border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));color:var(--text-primary)}.gengage-chat-send--stop:hover{background:color-mix(in srgb, var(--surface-card-soft) 86%, var(--client-primary-subtle));border-color:color-mix(in srgb, var(--client-primary) 24%, var(--border-default));color:var(--client-primary)}.gengage-chat-send-stop-icon{background:currentColor;border-radius:4px;width:12px;height:12px;display:inline-block}.gengage-chat-send--stop:after{content:attr(data-tooltip);background:color-mix(in srgb, var(--surface-shell) 98%, black);border:1px solid color-mix(in srgb, var(--surface-shell) 60%, white);box-shadow:var(--shadow-2);color:var(--text-inverse);white-space:nowrap;opacity:0;pointer-events:none;z-index:12;border-radius:10px;padding:7px 10px;font-size:12px;font-weight:600;line-height:1.2;transition:opacity .16s;position:absolute;top:50%;right:calc(100% + 10px);transform:translateY(-50%)}@media (hover:hover) and (pointer:fine){.gengage-chat-send--stop:hover:after,.gengage-chat-send--stop:focus-visible:after{opacity:1}}.gengage-chat-send:disabled{background:var(--ds-neutral-200);border-color:var(--ds-neutral-200);opacity:.5;box-shadow:none;cursor:not-allowed}.gengage-chat-footer{text-align:center;color:var(--text-muted);border-top:1px solid var(--border-subtle);background:var(--surface-card);padding:4px 10px;font-size:10px}.gengage-chat-uispec{width:100%}.gengage-chat-uispec:empty{display:none}.gengage-chat-uispec>*{animation:.16s cubic-bezier(.2,.7,.2,1) both gengage-chat-widget-enter}@keyframes gengage-chat-widget-enter{0%{opacity:0;transform:translateY(5px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}.gengage-chat-action-buttons{flex-wrap:wrap;justify-content:flex-start;gap:8px;padding:6px 0 4px;display:flex}.gengage-chat-action-buttons:after{content:\"\";flex:1 0 auto}.gengage-chat-action-btn{border:1px solid var(--ds-button-primary-border);border-radius:var(--radius-pill,999px);background:var(--ds-button-primary-bg);color:var(--ds-button-primary-fg);cursor:pointer;white-space:nowrap;flex:none;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:700;line-height:1.25;transition:filter .15s,transform .1s}.gengage-chat-action-btn:hover{background:var(--ds-button-primary-bg-hover)}.gengage-chat-action-btn:active{transform:scale(.97)}.gengage-chat-product-card{border:1px solid var(--ds-card-border);border-radius:var(--ds-card-radius);background:var(--ds-card-bg);width:160px;min-width:160px;max-width:160px;box-shadow:var(--ds-card-shadow);flex-direction:column;transition:transform .1s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.gengage-chat-product-card:hover{box-shadow:var(--ds-card-shadow-hover);transform:translateY(-2px)}.gengage-chat-product-card-img{object-fit:contain;background:var(--surface-card);box-sizing:border-box;width:100%;height:120px;padding:8px;display:block}.gengage-chat-product-card-body{text-align:center;flex-direction:column;flex:1;gap:4px;padding:8px 10px 10px;display:flex}.gengage-chat-product-card-name{color:var(--_gengage-text-primary);-webkit-line-clamp:2;line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;min-height:2.7em;margin-bottom:0;font-size:13px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.gengage-chat-product-card-brand{color:var(--text-secondary);font-size:10px}.gengage-chat-product-card-rating{color:var(--_gengage-rating-color);font-size:11px;line-height:1}.gengage-star-half{display:inline-block;position:relative}.gengage-star-half>span{width:.5em;position:absolute;top:0;left:0;overflow:hidden}.gengage-chat-product-card-review-count{color:var(--text-secondary);font-size:10px}.gengage-chat-product-card-price,.gengage-chat-product-card-price-block{color:var(--text-primary);flex-wrap:wrap;justify-content:center;align-items:baseline;gap:2px 6px;font-size:16px;font-weight:800;display:flex}.gengage-chat-product-card-current-price{font:inherit;color:inherit;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-product-card-meta-row{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:8px;width:100%;min-height:34px;display:flex}.gengage-chat-product-card-meta-row--empty{visibility:hidden}.gengage-chat-product-card-rating-compact{border:1px solid var(--border-subtle);background:var(--surface-card-muted);color:var(--text-secondary);border-radius:999px;flex-shrink:0;align-items:center;gap:5px;padding:3px 8px;font-size:11px;font-weight:700;line-height:1.2;display:inline-flex}.gengage-chat-product-card-rating-compact-star{color:color-mix(in srgb, var(--warning) 60%, var(--text-primary));justify-content:center;align-items:center;line-height:0;display:inline-flex}.gengage-chat-product-card-rating-compact-value{font-variant-numeric:tabular-nums;color:var(--text-primary)}.gengage-chat-product-card-img-actions{z-index:4;pointer-events:none;flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:absolute;top:8px;right:8px}.gengage-chat-product-card-img-actions>*{pointer-events:auto}.gengage-chat-product-card-img-actions .gengage-chat-favorite-btn,.gengage-chat-product-card-img-actions .gengage-chat-find-similar-pill{position:static}.gengage-chat-price-skeleton{background:linear-gradient(90deg, var(--ds-neutral-200) 25%, var(--ds-neutral-100) 50%, var(--ds-neutral-200) 75%);vertical-align:middle;background-size:200% 100%;border-radius:4px;width:80px;height:16px;animation:1.5s ease-in-out infinite gengage-skeleton-price-pulse;display:inline-block}@keyframes gengage-skeleton-price-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.gengage-chat-product-card-cta{text-align:center;color:var(--client-primary);letter-spacing:.01em;border-top:1px solid var(--border-default);cursor:pointer;background:0 0;margin-top:auto;padding:8px 10px;font-size:12px;font-weight:700;text-decoration:none;transition:color .15s,background .15s;display:block}.gengage-chat-product-card-cta:hover{color:var(--client-primary-hover);background:var(--surface-card-soft)}.gengage-chat-product-card-cta:active{background:var(--surface-card-soft)}button.gengage-chat-product-card-cta{appearance:none;font:inherit;box-sizing:border-box;border-bottom:none;border-left:none;border-right:none;width:100%;margin:0}.gengage-chat-product-summary{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card);cursor:pointer;flex-wrap:wrap;align-items:center;gap:12px;margin:4px 0;padding:10px 12px;transition:background .15s,box-shadow .15s,border-color .15s;display:flex}.gengage-chat-product-summary:hover{background:var(--surface-card-soft);border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));box-shadow:var(--shadow-1)}.gengage-chat-product-summary__image{border-radius:var(--radius-control);border:1px solid var(--border-subtle);background:var(--surface-card-soft);flex-shrink:0;width:64px;height:64px;overflow:hidden}.gengage-chat-product-summary__image img{object-fit:cover;width:100%;height:100%;display:block}.gengage-chat-product-summary__content{flex-direction:column;flex:180px;gap:2px;min-width:0;display:flex}.gengage-chat-product-summary__name{color:var(--text-primary);-webkit-line-clamp:2;line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;font-size:13px;font-weight:500;line-height:1.3;display:-webkit-box;overflow:hidden}.gengage-chat-product-summary__rating{color:var(--_gengage-rating-color);font-size:11px;line-height:1}.gengage-chat-product-summary__review-count{color:var(--text-secondary);font-size:11px}.gengage-chat-product-summary__price{color:var(--text-primary);margin-top:2px;font-size:13px;font-weight:600;line-height:1}.gengage-chat-product-summary__price-original{color:var(--_gengage-text-secondary);font-size:11px;font-weight:400;text-decoration:line-through}.gengage-chat-product-summary__price-current{color:var(--client-primary)}.gengage-chat-product-summary__cta{color:var(--client-primary);border-radius:var(--radius-pill);background:var(--client-primary-subtle);white-space:nowrap;flex-shrink:0;margin-left:auto;padding:4px 10px;font-size:12px;font-weight:600;text-decoration:none;transition:background .15s,color .15s}.gengage-chat-product-summary__cta:hover{background:var(--client-primary-soft)}.gengage-chat-product-summary__cta:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:2px}.gengage-chat-product-grid{-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-snap-type:x proximity;gap:12px;min-height:180px;padding:8px 16px 8px 0;display:flex;overflow-x:auto}.gengage-chat-product-grid>*{scroll-snap-align:start;flex:none}.gengage-chat-product-grid::-webkit-scrollbar{display:none}.gengage-chat-review-highlights{padding:4px 0 8px}.gengage-chat-review-empty{color:var(--_gengage-text-secondary);font-size:12px}.gengage-chat-review-subjects-heading{color:var(--text-primary);margin-bottom:10px;font-size:14px;font-weight:700}.gengage-chat-review-subjects{margin-bottom:12px}.gengage-chat-review-subject{color:var(--text-primary);box-shadow:none;gap:6px;padding:7px 11px;font-size:13px;font-weight:600;line-height:1.2}.gengage-chat-review-subject--active{border-color:var(--ds-chip-border-active);background:var(--ds-chip-bg-active);color:var(--ds-chip-fg-active)}.gengage-chat-review-subject-icon{flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;display:inline-flex}.gengage-chat-review-subject-icon svg{width:14px;height:14px;display:block}.gengage-chat-review-subject[data-tone=positive] .gengage-chat-review-subject-icon{color:color-mix(in srgb, var(--success) 82%, var(--text-primary))}.gengage-chat-review-subject[data-tone=negative] .gengage-chat-review-subject-icon{color:color-mix(in srgb, var(--error) 84%, var(--text-primary))}.gengage-chat-review-subject[data-tone=neutral] .gengage-chat-review-subject-icon{color:var(--text-secondary)}.gengage-chat-review-subject-label{color:inherit}.gengage-chat-review-subject-count{color:var(--text-secondary);font-size:12px;font-weight:700}.gengage-chat-review-detail{padding:12px}.gengage-chat-review-detail-meta{flex-wrap:wrap;align-items:baseline;gap:10px 16px;margin-bottom:10px;display:flex}.gengage-chat-review-detail-mentions{color:var(--_gengage-text-primary);font-size:13px;font-weight:700}.gengage-chat-review-detail-positive{color:var(--_gengage-success-color);font-size:13px;font-weight:700}.gengage-chat-review-detail-negative{color:var(--error);font-size:13px;font-weight:700}.gengage-chat-review-snippets{gap:10px;display:grid}.gengage-chat-review-snippet{border:1px solid var(--border-subtle);border-left:3px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card-soft);padding:8px 10px}.gengage-chat-review-snippet[data-tone=positive]{border-left-color:color-mix(in srgb, var(--success) 40%, var(--border-default))}.gengage-chat-review-snippet[data-tone=negative]{border-left-color:color-mix(in srgb, var(--error) 40%, var(--border-default))}.gengage-chat-review-snippet-text{color:var(--_gengage-text-primary);font-size:13px;line-height:1.4}.gengage-chat-review-snippet-rating{color:var(--text-secondary);margin-top:4px;font-size:12px;font-weight:700}.gengage-chat-favorites-page{padding:12px}.gengage-chat-favorites-empty{text-align:center;color:var(--_gengage-text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 24px;display:flex}.gengage-chat-favorites-empty-icon{opacity:.25;color:var(--error)}.gengage-chat-favorites-empty p{margin:0;font-size:13px;line-height:1.5}.gengage-chat-favorites-list{flex-direction:column;gap:10px;display:flex}.gengage-chat-favorites-card{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card);box-shadow:var(--shadow-1);align-items:center;gap:12px;padding:10px 12px;transition:opacity .2s,transform .2s,box-shadow .2s,border-color .2s;display:flex;position:relative}.gengage-chat-favorites-card:hover{border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));box-shadow:var(--shadow-1)}.gengage-chat-favorites-card--removing{opacity:0;transform:translate(8px)}.gengage-chat-favorites-card__image{border-radius:var(--radius-control);background:var(--surface-card-muted);flex-shrink:0;width:56px;height:56px;overflow:hidden}.gengage-chat-favorites-card__image img{object-fit:contain;width:100%;height:100%}.gengage-chat-favorites-card__info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.gengage-chat-favorites-card__name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.gengage-chat-favorites-card__price{color:var(--client-primary);font-size:13px;font-weight:700}.gengage-chat-favorites-remove{border-radius:var(--radius-pill);width:28px;height:28px;color:var(--error);cursor:pointer;opacity:.7;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .15s,background .15s;display:inline-flex}.gengage-chat-favorites-remove:hover{opacity:1;background:color-mix(in srgb, var(--error) 10%, white)}.gengage-chat-divider{border:none;border-top:1px solid var(--_gengage-border-color);margin:8px 0}.gengage-chat-divider-wrapper{align-items:center;gap:8px;margin:8px 0;display:flex}.gengage-chat-divider-wrapper hr{border:none;border-top:1px solid var(--_gengage-border-color);flex:1;margin:0}.gengage-chat-divider-label{color:var(--text-muted);white-space:nowrap;font-size:11px}.gengage-chat--overlay .gengage-chat-drawer{border-radius:0;width:100%;max-width:480px;max-height:100%;margin:0 auto;animation:.24s cubic-bezier(.2,.72,.2,1) gengage-chat-overlay-in;position:fixed;inset:0}@keyframes gengage-chat-overlay-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.gengage-chat-panel-skeleton{box-sizing:border-box;flex-direction:column;gap:14px;min-width:0;max-width:100%;padding:6px 0;display:flex}.gengage-chat-panel-skeleton-block{background:linear-gradient(90deg, var(--ds-neutral-200) 25%, var(--ds-neutral-100) 50%, var(--ds-neutral-200) 75%);background-size:200% 100%;border-radius:10px;height:110px;animation:1.4s infinite gengage-panel-shimmer}@keyframes gengage-panel-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.gengage-chat-panel-skeleton-block--image{border-radius:8px;height:200px;margin-bottom:12px}.gengage-chat-panel-skeleton-block--text{border-radius:4px;height:16px;margin-bottom:8px}.gengage-chat-panel-skeleton-block--text:nth-child(3){width:80%}.gengage-chat-panel-skeleton-block--text:nth-child(4){width:60%}.gengage-chat-panel-skeleton-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.gengage-chat-panel-skeleton-block--card{border-radius:8px;height:120px}.gengage-chat-panel-skeleton--comparison{gap:0;padding:0}.gengage-chat-panel-skeleton--comparison .gengage-chat-panel-loading-status{margin:0;padding:16px 16px 0}.gengage-chat-comparison--skeleton{pointer-events:none;box-sizing:border-box;width:100%}.gengage-chat-comparison-skeleton-shimmer{background:linear-gradient(90deg, var(--ds-neutral-200) 25%, var(--ds-neutral-100) 50%, var(--ds-neutral-200) 75%);background-size:200% 100%;animation:1.4s infinite gengage-panel-shimmer}.gengage-chat-comparison-skeleton-rec-label{border-radius:4px;width:132px;height:12px;margin-bottom:12px}.gengage-chat-comparison-skeleton-rec-img{border-radius:8px;flex-shrink:0;width:80px;height:80px}.gengage-chat-comparison-skeleton-rec-title{border-radius:4px;max-width:100%;height:14px;margin-bottom:6px}.gengage-chat-comparison-skeleton-rec-title--short{width:72%;margin-bottom:8px}.gengage-chat-comparison-skeleton-rec-price{border-radius:4px;width:112px;height:18px}.gengage-chat-comparison-skeleton-hl-label{border-radius:4px;width:96px;height:12px;margin-bottom:6px}.gengage-chat-comparison-skeleton-hl-list{margin:0;padding-left:18px;list-style:none}.gengage-chat-comparison-skeleton-hl-list li{margin-bottom:8px}.gengage-chat-comparison-skeleton-hl-list li:last-child{margin-bottom:0}.gengage-chat-comparison-skeleton-hl-line{border-radius:4px;width:100%;height:13px}.gengage-chat-comparison-skeleton-hl-line--medium{width:92%}.gengage-chat-comparison-skeleton-hl-line--short{width:78%}.gengage-chat-comparison-skeleton-kd-heading{border-radius:4px;width:42%;height:14px;margin:0 0 8px}.gengage-chat-comparison-skeleton-kd-line{border-radius:4px;max-width:100%;height:13px;margin-bottom:8px}.gengage-chat-comparison-skeleton-kd-line:last-child{margin-bottom:0}.gengage-chat-comparison-skeleton-kd-line:nth-child(odd){width:100%}.gengage-chat-comparison-skeleton-kd-line:nth-child(2n){width:90%}.gengage-chat-comparison-special--skeleton{cursor:default;align-items:center;min-height:44px;display:flex}.gengage-chat-comparison-skeleton-special-line{border-radius:4px;width:56%;max-width:280px;height:14px}.gengage-chat-comparison-skeleton-table-wrap{border:1px solid var(--border-default);background:var(--surface-card);-webkit-overflow-scrolling:touch;border-radius:8px;margin-top:12px;overflow-x:auto}.gengage-chat-comparison-skeleton-table-head,.gengage-chat-comparison-skeleton-table-row{grid-template-columns:72px repeat(3,minmax(0,1fr));align-items:start;gap:8px;padding:10px 12px;display:grid}.gengage-chat-comparison-skeleton-table-head{border-bottom:1px solid var(--_gengage-surface-muted);background:var(--_gengage-surface-muted)}.gengage-chat-comparison-skeleton-table-corner{min-height:92px}.gengage-chat-comparison-skeleton-table-col{text-align:center;flex-direction:column;align-items:center;gap:6px;min-width:0;display:flex}.gengage-chat-comparison-skeleton-table-th-img{border-radius:6px;flex-shrink:0;width:60px;height:60px}.gengage-chat-comparison-skeleton-table-th-name{border-radius:3px;width:100%;max-width:100%;height:11px}.gengage-chat-comparison-skeleton-table-th-price{border-radius:3px;width:64%;height:13px}.gengage-chat-comparison-skeleton-table-row{border-bottom:1px solid var(--_gengage-surface-muted)}.gengage-chat-comparison-skeleton-table-row:last-child{border-bottom:none}.gengage-chat-comparison-skeleton-table-label{border-radius:3px;align-self:center;width:100%;max-width:56px;height:12px}.gengage-chat-comparison-skeleton-table-cell{border-radius:3px;width:100%;height:14px}.gengage-chat-panel-skeleton-block--row{border-radius:4px;height:32px;margin-bottom:4px}.gengage-chat-panel .gengage-chat-product-card{border-radius:var(--radius-card);border:1px solid var(--border-default);width:100%;min-width:0;max-width:100%;box-shadow:var(--shadow-1);background:var(--surface-card);flex-direction:column;padding:0;display:flex;overflow:hidden}.gengage-chat-panel .gengage-chat-product-card:hover{box-shadow:var(--shadow-2);border-color:var(--border-strong);transform:translateY(-2px)}.gengage-chat-panel .gengage-chat-product-card-img-actions{gap:6px;top:10px;right:10px}.gengage-chat-panel .gengage-chat-product-card-img-actions .gengage-chat-favorite-btn,.gengage-chat-panel .gengage-chat-product-card-img-actions .gengage-chat-find-similar-pill{border-radius:8px;width:28px;height:28px}.gengage-chat-panel .gengage-chat-product-card-discount-badge{border-radius:var(--radius-pill);background:var(--client-primary);min-width:36px;height:36px;color:var(--client-on-primary);box-shadow:var(--shadow-1);justify-content:center;align-items:center;padding:0 5px;font-size:11px;font-weight:700;display:inline-flex;top:10px;left:10px}.gengage-chat-panel .gengage-chat-product-card-brand{display:none}.gengage-chat-panel .gengage-chat-product-grid{grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:12px;min-height:auto;padding:4px 0;display:grid;overflow-x:visible}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-grid.gengage-chat-product-grid--mobile{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-height:auto;padding:6px 0 10px;display:grid;overflow-x:visible}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-grid.gengage-chat-product-grid--mobile .gengage-chat-product-card{box-sizing:border-box;width:100%;min-width:0;max-width:none}.gengage-chat-panel .gengage-chat-product-card-img-wrapper{aspect-ratio:1;background:var(--surface-card-muted);border-radius:var(--radius-card) var(--radius-card) 0 0;flex-shrink:0;width:100%;position:relative;overflow:hidden}.gengage-chat-panel .gengage-chat-product-card-img{border-radius:inherit;object-fit:cover;object-position:center;box-sizing:border-box;background:0 0;width:100%;height:100%;min-height:0;padding:0;display:block}.gengage-chat-panel .gengage-chat-product-card-body{text-align:left;gap:8px;padding:12px 14px 10px}.gengage-chat-panel .gengage-chat-product-card-meta-row{align-items:center;min-height:38px;margin-bottom:0}.gengage-chat-panel .gengage-chat-product-card-price,.gengage-chat-panel .gengage-chat-product-card-price-block{color:var(--text-primary);justify-content:flex-start;font-size:15px;font-weight:600}.gengage-chat-panel .gengage-chat-product-card-current-price{color:var(--client-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-current-price{color:var(--text-primary);font-size:22px;font-weight:800;line-height:1.1}.gengage-chat-product-details-stock{border-radius:999px;width:fit-content;padding:4px 10px;font-size:12px;font-weight:700}.gengage-chat-product-details-stock.is-in-stock{background:color-mix(in srgb, var(--success) 12%, white);color:color-mix(in srgb, var(--success) 82%, var(--text-primary))}.gengage-chat-product-details-stock.is-out-of-stock{background:color-mix(in srgb, var(--error) 10%, white);color:color-mix(in srgb, var(--error) 82%, var(--text-primary))}.gengage-chat-product-details-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.gengage-chat-product-details-cta{border-radius:var(--radius-control,12px);border:1px solid var(--ds-button-primary-border);background:var(--ds-button-primary-bg);min-height:40px;color:var(--ds-button-primary-fg);cursor:pointer;justify-content:center;align-items:center;padding:0 20px;font-size:14px;font-weight:700;text-decoration:none;transition:filter .14s,transform .12s;display:inline-flex}.gengage-chat-product-details-cta:hover{background:var(--ds-button-primary-bg-hover)}.gengage-chat-product-details-cta:active{background:var(--ds-button-primary-bg-active)}.gengage-chat-product-details-atc{border-radius:var(--radius-control);background:var(--_gengage-success-color);color:var(--client-on-primary);cursor:pointer;border:none;justify-content:center;align-items:center;gap:6px;padding:10px 20px;font-family:inherit;font-size:14px;font-weight:700;transition:filter .12s,transform .12s;display:inline-flex}.gengage-chat-product-details-atc:hover{filter:brightness(1.08);transform:translateY(-1px)}.gengage-chat-product-details-atc:active{transform:translateY(1px)}.gengage-chat-product-detail-tabs{border-top:1px solid var(--border-default);margin-top:4px;padding-top:12px}.gengage-chat-product-detail-tab-bar{border-bottom:1px solid var(--border-default);gap:6px;margin-bottom:12px;padding-bottom:8px;display:flex}.gengage-chat-product-detail-tab{border:1px solid var(--border-default);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;flex:1;padding:8px 12px;font-family:inherit;font-size:13px;font-weight:600;transition:color .15s,border-color .15s,background .15s}.gengage-chat-product-detail-tab:hover{color:var(--text-primary);background:color-mix(in srgb, var(--surface-card-soft) 82%, transparent)}.gengage-chat-product-detail-tab--active{color:var(--client-primary);border-color:color-mix(in srgb, var(--client-primary) 26%, var(--border-default));background:color-mix(in srgb, var(--client-primary) 8%, white)}.gengage-chat-product-detail-tab-panel{color:var(--text-secondary);font-size:13px;line-height:1.6}.gengage-chat-product-description{color:var(--text-primary);flex-direction:column;gap:10px;display:flex}.gengage-chat-product-description p,.gengage-chat-product-description h2,.gengage-chat-product-description h3,.gengage-chat-product-description h4,.gengage-chat-product-description ul,.gengage-chat-product-description ol{margin:0}.gengage-chat-product-description h2,.gengage-chat-product-description h3,.gengage-chat-product-description h4{color:var(--text-primary);font-size:15px;font-weight:800;line-height:1.35}.gengage-chat-product-description ul,.gengage-chat-product-description ol{padding-left:20px}.gengage-chat-product-description li+li{margin-top:6px}.gengage-chat-product-description strong,.gengage-chat-product-description b{font-weight:800}.gengage-chat-product-specs-table{border-collapse:collapse;width:100%;font-size:13px}.gengage-chat-product-specs-table tr:nth-child(2n){background:var(--surface-card-muted)}.gengage-chat-product-specs-key{color:var(--text-secondary);white-space:nowrap;border-bottom:1px solid var(--border-subtle);width:40%;padding:6px 10px;font-weight:600}.gengage-chat-product-specs-value{color:var(--text-primary);border-bottom:1px solid var(--border-subtle);padding:6px 10px}.gengage-chat-product-card-atc{opacity:0;z-index:1;transition:opacity .15s;position:absolute;bottom:42px;right:6px}.gengage-chat-product-card:hover .gengage-chat-product-card-atc{opacity:1}@media (hover:none),(pointer:coarse){.gengage-chat-product-card-atc{opacity:1;width:100%;margin:0;display:flex;position:relative;bottom:auto;right:auto}}.gengage-chat-drawer.gengage-chat-drawer--hidden{opacity:0;pointer-events:none;box-shadow:none;visibility:hidden;transform:translate(100%)}.gengage-chat-root--mobile .gengage-chat-drawer.gengage-chat-drawer--hidden{opacity:0;pointer-events:none;box-shadow:none;visibility:hidden;transform:translateY(100%)}@media (width<=900px){.gengage-chat-drawer--with-panel .gengage-chat-panel--visible{width:clamp(280px, calc(100vw - var(--_gengage-chat-conversation-width)), 560px);max-width:560px}}.gengage-chat-attachment-preview{background:var(--surface-card-muted);border:1px solid var(--border-default);box-sizing:border-box;border-radius:8px;align-items:center;gap:8px;width:100%;padding:6px 10px;display:flex}.gengage-chat-attachment-preview--hidden{display:none}.gengage-chat-attachment-preview-thumb{object-fit:cover;border-radius:4px;flex-shrink:0;width:40px;height:40px}.gengage-chat-attachment-name{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.gengage-chat-attachment-remove{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;flex-shrink:0;padding:0 4px;font-size:18px;line-height:1}.gengage-chat-attachment-remove:hover{color:var(--error)}.gengage-chat-attach-btn{background:var(--surface-card-soft);border:1px solid var(--border-default);cursor:pointer;width:40px;height:40px;color:var(--text-primary);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:1;transition:color .15s,background .15s,border-color .15s;display:flex}.gengage-chat-attach-btn:hover{color:var(--client-primary);background:var(--client-primary-subtle);border-color:color-mix(in srgb, var(--client-primary) 18%, white)}.gengage-chat-attach-btn svg{width:20px;height:20px}.gengage-chat-attach-wrap{flex-shrink:0;align-items:center;display:flex;position:relative}.gengage-chat-attach-menu{z-index:50;background:var(--surface-elevated);border:1px solid var(--border-default);border-radius:var(--radius-card);min-width:196px;box-shadow:var(--shadow-3);margin:0;padding:4px 0;list-style:none;position:absolute;bottom:calc(100% + 8px);left:0}.gengage-chat-attach-menu[hidden]{display:none!important}.gengage-chat-attach-menu-item{cursor:pointer;width:100%;color:var(--text-primary);text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:10px 14px;font-family:inherit;font-size:14px;font-weight:500;transition:background .12s;display:flex}.gengage-chat-attach-menu-item:hover{background:var(--surface-card-muted)}.gengage-chat-attach-menu-icon{color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.gengage-chat-attach-menu-label{flex:1;min-width:0}.gengage-chat-attach-menu-sep{background:var(--border-default);height:1px;margin:4px 10px}.gengage-chat-mic-btn{cursor:pointer;border-radius:var(--radius-control);width:32px;height:32px;color:var(--text-secondary);background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:1;transition:color .15s,background .15s;display:flex}.gengage-chat-mic-btn:hover{color:var(--text-primary);background:var(--surface-card-muted);border-color:var(--border-default)}.gengage-chat-mic-btn svg{width:20px;height:20px}.gengage-chat-mic-btn--active{color:var(--error);animation:1.2s ease-in-out infinite gengage-mic-pulse}.gengage-chat-mic-btn--active:hover{color:color-mix(in srgb, var(--error) 84%, black)}@keyframes gengage-mic-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.15)}}.gengage-chat-input-area--dragover{outline:2px dashed var(--client-primary);outline-offset:-2px;background:color-mix(in srgb, var(--client-primary) 8%, white)}.gengage-chat-attachment-thumb{border-radius:8px;width:120px;max-width:100%;height:auto;margin-bottom:6px;display:block}.gengage-chat-root--mobile .gengage-chat-header-btn,.gengage-chat-root--mobile .gengage-chat-close{border-radius:12px;width:44px;height:44px}.gengage-chat-root--mobile .gengage-chat-attach-btn,.gengage-chat-root--mobile .gengage-chat-mic-btn,.gengage-chat-root--mobile .gengage-chat-send{width:44px;min-width:44px;height:44px}.gengage-chat-root--mobile .gengage-chat-attach-btn svg,.gengage-chat-root--mobile .gengage-chat-mic-btn svg{width:22px;height:22px}.gengage-chat-root--mobile .gengage-chat-panel-divider{cursor:ns-resize;touch-action:pan-y;background:0 0;justify-content:center;align-items:center;width:100%;height:20px;display:flex;position:relative;overflow:visible}.gengage-chat-root--mobile .gengage-chat-panel-divider--hidden{display:none}.gengage-chat-root--mobile .gengage-chat-drawer--with-panel{border-radius:0;width:100%;left:0;right:0}.gengage-chat-root--mobile .gengage-chat-panel{z-index:10;width:100%;min-width:0;max-width:none;max-height:none;box-shadow:none;background:var(--gengage-chat-panel-bg,var(--surface-card));pointer-events:none;border:none;border-radius:0;flex-direction:column;padding:0 12px 16px;transition:transform .32s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;inset:0;overflow-y:auto;transform:translate(100%)}.gengage-chat-root--mobile .gengage-chat-panel--visible{pointer-events:auto;transform:translate(0)}.gengage-chat-root--mobile .gengage-chat-panel-divider,.gengage-chat-root--mobile .gengage-chat-drawer--with-panel .gengage-chat-panel-divider{display:none}.gengage-chat-root--mobile .gengage-chat-drawer--with-panel .gengage-chat-body{flex-direction:row}.gengage-chat-root--mobile .gengage-chat-drawer--with-panel .gengage-chat-conversation{border-left:none;flex:1;width:100%}.gengage-chat-root--mobile .gengage-chat-product-details-share{width:44px;height:44px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-buy-footer,.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-cta{box-sizing:border-box;width:100%;max-width:100%}.gengage-chat-root--mobile .gengage-chat-product-details-panel{gap:8px;padding:10px}.gengage-chat-root--mobile .gengage-chat-product-details-media{min-height:0;padding:8px}.gengage-chat-root--mobile .gengage-chat-product-details-content{gap:6px}.gengage-chat-root--mobile .gengage-chat-product-details-title{font-size:14px;line-height:1.25}.gengage-chat-root--mobile .gengage-chat-product-details-rating{padding:2px 6px;font-size:12px}.gengage-chat-root--mobile .gengage-chat-product-details-original-price{font-size:12px}.gengage-chat-root--mobile .gengage-chat-product-details-actions{gap:6px;margin-top:2px}.gengage-chat-root--mobile .gengage-chat-product-details-cta{min-height:38px;padding:0 14px;font-size:13px}.gengage-chat-root--mobile .gengage-chat-product-grid:not(.gengage-chat-product-grid--mobile){scroll-snap-type:x mandatory}.gengage-chat-root--mobile .gengage-chat-product-grid.gengage-chat-product-grid--mobile{scroll-snap-type:none}.gengage-chat-root--mobile .gengage-chat-product-card{box-sizing:border-box;scroll-snap-align:center;width:280px;min-width:280px;max-width:100%}.gengage-chat-root--mobile .gengage-chat-product-grid--mobile .gengage-chat-product-card{scroll-snap-align:start;width:100%;min-width:0;max-width:none}.gengage-chat-root--mobile .gengage-chat-product-card-img-wrapper{justify-content:center;align-items:center;min-height:0;display:flex}.gengage-chat-root--mobile .gengage-chat-product-card-img{object-fit:contain;object-position:center;width:auto;max-width:100%;height:auto;min-height:0;max-height:180px;display:block}.gengage-chat-root--mobile .gengage-chat-product-card-discount-badge{padding:2px 6px;font-size:10px;font-weight:700;line-height:1.2}.gengage-chat-root--mobile .gengage-chat-drawer{border-radius:0;width:100%;max-height:100%;position:fixed;inset:0}.gengage-chat-root--mobile .gengage-chat-bubble{max-width:100%}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-img-wrapper{aspect-ratio:1;justify-content:center;align-items:center;min-height:0;display:flex}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-img{object-fit:contain;object-position:center;width:auto;max-width:100%;height:auto;min-height:0;max-height:min(200px,72%)}.gengage-chat-root--mobile .gengage-chat-product-card-img-actions .gengage-chat-favorite-btn,.gengage-chat-root--mobile .gengage-chat-product-card-img-actions .gengage-chat-find-similar-pill{flex-shrink:0;width:28px;min-width:28px;height:28px;min-height:28px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-discount-badge{min-width:28px;height:28px;padding:0 6px;font-size:10px;font-weight:700}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-buy-footer{padding:0 12px 14px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-buy-trigger{box-sizing:border-box;white-space:normal;text-align:center;-webkit-hyphens:auto;hyphens:auto;min-width:0;max-width:100%;line-height:1.25}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card .gengage-chat-product-card-cta{box-sizing:border-box;white-space:normal;width:calc(100% - 24px);min-width:0;max-width:calc(100% - 24px);margin-left:12px;margin-right:12px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-rating-compact{gap:3px;padding:2px 6px;font-size:10px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-stock{padding:2px 5px;font-size:10px}.gengage-chat-root--mobile .gengage-chat-messages{scrollbar-width:none;padding:12px 16px}.gengage-chat-root--mobile .gengage-chat-messages::-webkit-scrollbar{display:none}.gengage-chat-root--mobile .gengage-chat-drawer{border-top:none}.gengage-chat-root--mobile .gengage-chat-header{border-radius:16px 16px 0 0;min-height:72px;padding-top:22px;padding-bottom:8px}.gengage-chat-root--mobile.gengage-chat-root--mobile-full .gengage-chat-header{border-radius:0}.gengage-chat-root--mobile .gengage-chat-conversation{-webkit-overflow-scrolling:touch;min-height:0;overflow-y:auto}.gengage-chat-root--mobile .gengage-chat-product-details-img{object-fit:contain;min-height:0;max-height:200px}.gengage-chat-root--mobile .gengage-chat-product-details-actions{flex-wrap:wrap;gap:8px}.gengage-chat-root--mobile .gengage-chat-product-details-promos{flex-wrap:wrap;gap:4px}.gengage-chat-root--mobile .gengage-chat-input::placeholder{font-size:13px}.gengage-chat-kvkk-banner{background:color-mix(in srgb, var(--warning) 10%, white);border-bottom:1px solid color-mix(in srgb, var(--warning) 24%, var(--border-default));color:color-mix(in srgb, var(--warning) 72%, var(--text-primary));align-items:flex-start;gap:8px;padding:10px 14px;font-size:12px;line-height:1.5;display:flex}.gengage-chat-kvkk-content{flex:1;min-width:0}.gengage-chat-kvkk-content a{color:color-mix(in srgb, var(--warning) 82%, var(--text-primary));text-decoration:underline}.gengage-chat-kvkk-dismiss{width:20px;height:20px;color:color-mix(in srgb, var(--warning) 84%, var(--text-primary));cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:18px;line-height:1}.gengage-chat-comparison{box-sizing:border-box;flex-direction:column;gap:12px;padding:16px;display:flex}.gengage-chat-comparison-heading{letter-spacing:.05em;color:var(--text-primary);margin:0 0 16px;font-size:14px;font-weight:700}.gengage-chat-comparison-recommended{border:1px solid color-mix(in srgb, var(--client-primary) 18%, var(--border-default));border-radius:var(--radius-card);background:var(--surface-card);box-shadow:var(--shadow-1);padding:16px}.gengage-chat-comparison-recommended-label{color:var(--client-primary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:12px;font-size:12px;font-weight:700}.gengage-chat-comparison-recommended-body{grid-template-columns:minmax(108px,148px) minmax(0,1fr);align-items:flex-start;gap:16px;display:grid}.gengage-chat-comparison-recommended-media{aspect-ratio:1;border:1px solid var(--border-subtle);background:var(--surface-card);border-radius:14px;justify-content:center;align-items:center;display:flex;overflow:hidden}.gengage-chat-comparison-recommended-body img,.gengage-chat-comparison-recommended-placeholder{object-fit:contain;box-sizing:border-box;width:100%;height:100%;padding:8px}.gengage-chat-comparison-recommended-placeholder{background:var(--surface-card-muted)}.gengage-chat-comparison-recommended-info{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.gengage-chat-comparison-recommended-title{color:var(--text-primary);margin:0;font-size:24px;font-weight:800;line-height:1.2}.gengage-chat-comparison-recommended-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.gengage-chat-comparison-recommended-rating{border:1px solid var(--border-subtle);background:var(--surface-card-muted);color:color-mix(in srgb, var(--warning) 78%, var(--text-primary));border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:700;display:inline-flex}.gengage-chat-comparison-recommended-rating-value{color:var(--text-primary)}.gengage-chat-comparison-recommended-price{color:var(--text-primary);font-size:20px;font-weight:700}.gengage-chat-comparison-highlights{border-top:1px solid var(--border-subtle);padding-top:12px}.gengage-chat-comparison-highlights-label{color:var(--text-secondary);margin-bottom:6px;font-size:12px;font-weight:600}.gengage-chat-comparison-highlights ul{color:var(--text-primary);margin:0;padding-left:18px;font-size:14px;line-height:1.55}.gengage-chat-comparison-special{background:color-mix(in srgb, var(--warning) 10%, white);border:1px solid color-mix(in srgb, var(--warning) 24%, var(--border-default));border-radius:var(--radius-card);color:color-mix(in srgb, var(--warning) 72%, var(--text-primary));margin-bottom:12px;padding:12px 16px;font-size:13px}.gengage-chat-comparison-special summary{cursor:pointer;font-weight:600}.gengage-chat-comparison-special ul{margin:8px 0 0;padding-left:18px;line-height:1.6}.gengage-chat-comparison-table{border-collapse:collapse;background:var(--surface-card);width:100%;font-size:13px}.gengage-chat-comparison-table th,.gengage-chat-comparison-table td{text-align:center;border-bottom:1px solid var(--border-subtle);vertical-align:top;padding:10px 12px}.gengage-chat-comparison-table th{color:var(--text-secondary);font-size:12px;font-weight:600}.gengage-chat-comparison-table thead th:not(:first-child){vertical-align:top}.gengage-chat-comparison-table-header-cell{box-sizing:border-box;grid-template-rows:auto 1fr auto;place-items:start center;gap:6px;height:100%;min-height:0;display:grid}.gengage-chat-comparison-table-header-cell--clickable{cursor:pointer;border-radius:var(--radius-control);padding:6px;transition:background .16s,box-shadow .16s,transform .16s}.gengage-chat-comparison-table-header-cell--clickable:hover{background:var(--surface-card-soft);box-shadow:var(--shadow-1);transform:translateY(-1px)}.gengage-chat-comparison-table-header-cell--clickable:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:2px}.gengage-chat-comparison-table-header-cell img{object-fit:contain;border-radius:calc(var(--radius-control) - 4px);background:var(--surface-card-muted);width:60px;height:60px}.gengage-chat-comparison-table-header-img-placeholder{border-radius:calc(var(--radius-control) - 4px);background:var(--surface-card-muted);width:60px;height:60px}.gengage-chat-comparison-table-product-name{width:100%;min-width:0;color:var(--text-secondary);text-align:center;-webkit-line-clamp:2;line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;align-self:start;font-size:12px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.gengage-chat-comparison-table-price{color:var(--text-primary);text-align:center;width:100%;font-weight:700}.gengage-chat-comparison-label{text-align:left;color:var(--text-secondary);white-space:nowrap;font-weight:600}.gengage-chat-comparison-selected{background:color-mix(in srgb, var(--client-primary) 6%, white)}.gengage-chat-comparison-recommended-text{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.6}.gengage-chat-comparison-key-differences{border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-card-muted)}.gengage-chat-comparison-key-differences-summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;font-weight:700;list-style:none;display:flex}.gengage-chat-comparison-key-differences-summary::-webkit-details-marker{display:none}.gengage-chat-comparison-key-differences-summary-label{color:var(--text-primary)}.gengage-chat-comparison-key-differences-summary-meta{color:var(--client-primary);font-size:13px;font-weight:700}.gengage-chat-comparison-key-differences[open] .gengage-chat-comparison-key-differences-summary-meta{opacity:0}.gengage-chat-comparison-key-differences-content{color:var(--text-primary);padding:0 16px 16px;font-size:14px;line-height:1.7}.gengage-chat-comparison-key-differences-content ul,.gengage-chat-comparison-key-differences-content ol{margin:0;padding-left:20px}.gengage-chat-comparison-key-differences-content li+li{margin-top:8px}@media (width<=960px){.gengage-chat-comparison-recommended-body{grid-template-columns:1fr}.gengage-chat-comparison-recommended-title{font-size:20px}}.gengage-chat-pills{border-top:1px solid var(--border-subtle);background:var(--surface-card);padding:8px 12px 6px;position:relative}.gengage-chat-pills-scroll{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:8px;padding-right:28px;display:flex;overflow-x:auto}.gengage-chat-pills-scroll::-webkit-scrollbar{display:none}.gengage-chat-root--mobile .gengage-chat-pills-scroll{flex-wrap:wrap;gap:6px}.gengage-chat-root--mobile .gengage-chat-pill{white-space:normal;max-width:100%}.gengage-chat-pill{border:1px solid var(--ds-chip-border-active);background:var(--ds-chip-bg-active);color:var(--ds-chip-fg-active);white-space:nowrap;cursor:pointer;border-radius:999px;flex:none;padding:10px 14px;font-family:inherit;font-size:13px;font-weight:700;transition:background .15s,border-color .15s,color .15s}.gengage-chat-pill:hover{background:color-mix(in srgb, var(--client-primary) 12%, white);border-color:color-mix(in srgb, var(--client-primary) 36%, white)}.gengage-chat-pill:active{transform:none}.gengage-chat-pill--rich{border-radius:18px;align-items:center;gap:10px;padding:8px 14px 8px 8px;display:flex}.gengage-chat-pill-img{object-fit:cover;background:var(--surface-card);border-radius:12px;flex-shrink:0;width:32px;height:32px}.gengage-chat-pill-text{font-size:13px;font-weight:600;line-height:1.2}.gengage-chat-pill-desc{display:none}.gengage-chat-pill--rich .gengage-chat-pill-desc{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:160px;font-size:11px;font-weight:500;display:block;overflow:hidden}.gengage-chat-pills-arrow{border:1px solid var(--border-default);background:var(--surface-card);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;box-shadow:var(--shadow-1);z-index:1;border-radius:12px;justify-content:center;align-items:center;font-size:16px;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.gengage-chat-pills-arrow:hover{background:var(--surface-card-soft);color:var(--client-primary)}@media (prefers-reduced-motion:reduce){.gengage-chat-uispec>*,.gengage-chat-action-btn,.gengage-chat-product-card,.gengage-chat-product-card-cta,.gengage-chat-send,.gengage-chat-launcher,.gengage-chat-pill,.gengage-chat-drawer,.gengage-chat-typing-dots span,.gengage-chat-thinking-step-marker--active,.gengage-chat-bubble,.gengage-chat-panel-skeleton-block,.gengage-chat-ai-toppick-card,.gengage-chat-mic-btn--active,.gengage-chat-ai-toppick-spinner:after,.gengage-skeleton-card,.gengage-skeleton-line,.gengage-skeleton-img,.gengage-skeleton-text,.gengage-skeleton-price,.gengage-chat-cart-toast,.gengage-chat-header-btn--cart-flash{transition:none!important;animation:none!important;transform:none!important}}.gengage-chat-bubble--user{position:relative}.gengage-chat-rollback-btn{border-radius:var(--radius-pill);background:var(--surface-card-muted);width:24px;height:24px;color:var(--text-secondary);cursor:pointer;opacity:0;border:none;justify-content:center;align-items:center;padding:0;transition:opacity .15s;display:flex;position:absolute;top:50%;left:-28px;transform:translateY(-50%)}.gengage-chat-bubble--user:hover .gengage-chat-rollback-btn{opacity:1}.gengage-chat-rollback-btn:hover{background:var(--client-primary);color:var(--client-on-primary)}.gengage-chat-bubble--hidden{display:none}.gengage-chat-ai-top-picks{flex-direction:column;gap:12px;padding:8px 0;scroll-margin-top:60px;display:flex}.gengage-chat-ai-top-picks-title{color:var(--text-primary);margin:0 0 4px;font-size:15px;font-weight:600}.gengage-chat-ai-top-picks-scroll{flex-direction:column;gap:10px;min-width:0;display:flex}.gengage-chat-ai-top-picks-rest,.gengage-chat-ai-toppick-top-row{display:contents}.gengage-chat-ai-toppick-detail{width:100%;min-width:0}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks{gap:0;padding-top:4px}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-title{flex-shrink:0;width:100%;margin:0 0 10px;font-size:18px;font-weight:700;line-height:1.2}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll{scrollbar-width:none;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(0,auto);align-items:stretch;gap:12px;margin:0;padding:12px 0;display:grid;overflow:visible}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner,.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact{flex:initial;scroll-snap-align:none;width:100%;min-width:0;max-width:none}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child{grid-column:1/-1;grid-template-rows:auto auto;grid-template-columns:minmax(260px,340px) minmax(0,1fr);align-items:start;gap:12px 18px;display:grid}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child:has(.gengage-chat-ai-toppick-detail){grid-template-rows:auto auto auto}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact{flex-direction:column;align-items:stretch}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-media,.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-media{max-height:140px}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child .gengage-chat-ai-toppick-media{aspect-ratio:4/3;grid-area:1/1/span 2;max-height:260px}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child:has(.gengage-chat-ai-toppick-detail) .gengage-chat-ai-toppick-media{grid-row:1/span 3}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child .gengage-chat-ai-toppick-detail{grid-area:2/2;min-width:0;padding-top:0}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-img,.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-img{object-fit:contain;flex-shrink:0;width:100%;height:100%;max-height:140px}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child .gengage-chat-ai-toppick-img{max-height:260px}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-body,.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-body{flex:1;min-height:0;padding:0}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child .gengage-chat-ai-toppick-body{grid-area:1/2;padding-top:6px}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child:has(.gengage-chat-ai-toppick-detail) .gengage-chat-ai-toppick-cta{grid-row:3}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-cta{border:1px solid var(--ds-button-secondary-border);background:var(--ds-button-secondary-bg);width:calc(100% - 24px);color:var(--ds-button-secondary-fg);align-self:stretch;margin:14px 12px 12px}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-cta{border:1px solid var(--ds-button-secondary-border);background:var(--ds-button-secondary-bg);width:auto;min-width:180px;color:var(--ds-button-secondary-fg);grid-area:2/2;place-self:end start;margin:0}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-cta:hover,.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-cta:hover{background:var(--ds-button-secondary-bg-hover);filter:none}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner{border-color:color-mix(in srgb, var(--client-primary) 26%, var(--border-default));box-shadow:var(--shadow-2)}.gengage-chat-ai-toppick-rating{border:1px solid var(--border-subtle);background:var(--surface-card-muted);color:var(--text-secondary);border-radius:999px;align-self:flex-start;align-items:center;gap:5px;margin-top:4px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.gengage-chat-ai-toppick-rating-icon{color:color-mix(in srgb, var(--warning) 60%, var(--text-primary));justify-content:center;align-items:center;line-height:0;display:inline-flex}.gengage-chat-ai-toppick-rating-value{color:var(--text-primary)}.gengage-chat-ai-toppick-media .gengage-chat-ai-toppick-discount-badge{background:var(--client-primary);color:var(--client-on-primary);z-index:1;border-radius:999px;padding:2px 6px;font-size:9px;font-weight:800;line-height:1.2;position:absolute;top:4px;left:4px;right:auto}.gengage-chat-ai-toppick-card--winner,.gengage-chat-ai-toppick-card--compact{box-sizing:border-box;border-radius:var(--radius-card);background:var(--surface-card);flex-direction:column;align-items:stretch;padding:12px;transition:box-shadow .2s,background .15s,transform .15s;display:flex;position:relative;overflow:visible}.gengage-chat-ai-toppick-card--winner{border:1.5px solid color-mix(in srgb, var(--client-primary) 24%, var(--border-default))}.gengage-chat-ai-toppick-card--winner:hover{background:var(--surface-card-muted);box-shadow:var(--shadow-2)}.gengage-chat-ai-toppick-card--compact{border:1px solid var(--border-default)}.gengage-chat-ai-toppick-card--compact:hover{background:var(--surface-card-muted);box-shadow:var(--shadow-1);transform:translateY(-1px)}.gengage-chat-ai-toppick-badge{z-index:2;box-sizing:border-box;text-transform:uppercase;letter-spacing:.05em;pointer-events:none;white-space:normal;border-radius:999px;max-width:calc(100% - 24px);padding:2px 10px;font-size:10px;font-weight:700;line-height:1.25;position:absolute;top:-10px;left:12px}.gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-badge{background:var(--client-primary);color:var(--client-on-primary)}.gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-badge{background:var(--surface-card-muted);color:var(--text-secondary)}.gengage-chat-ai-toppick-media{aspect-ratio:1;border:1px solid var(--border-subtle);background:var(--surface-card);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:100%;margin-top:4px;margin-bottom:8px;display:flex;position:relative;overflow:hidden}.gengage-chat-ai-toppick-img{object-fit:contain;box-sizing:border-box;width:auto;max-width:100%;height:auto;max-height:100%;padding:4px}.gengage-chat-ai-toppick-body{flex-direction:column;flex:1;gap:0;min-width:0;padding:0;display:flex}.gengage-chat-ai-toppick-name{color:var(--text-primary);text-overflow:ellipsis;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin-bottom:4px;font-size:14px;font-weight:700;line-height:1.375;display:-webkit-box;overflow:hidden}.gengage-chat-ai-toppick-role{color:var(--client-primary);text-transform:uppercase;letter-spacing:.3px;font-size:11px;font-weight:600}.gengage-chat-ai-toppick-labels{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.gengage-chat-ai-toppick-label{border-radius:999px;padding:4px 8px;font-size:10px;font-weight:700}.gengage-chat-ai-toppick-label[data-sentiment=positive]{background:color-mix(in srgb, var(--success) 12%, white);color:color-mix(in srgb, var(--success) 82%, var(--text-primary))}.gengage-chat-ai-toppick-label[data-sentiment=negative]{background:color-mix(in srgb, var(--error) 10%, white);color:color-mix(in srgb, var(--error) 82%, var(--text-primary))}.gengage-chat-ai-toppick-label[data-sentiment=neutral]{background:var(--surface-card-muted);color:var(--text-secondary)}.gengage-chat-ai-toppick-reason{color:var(--text-secondary);margin:10px 0 0;font-size:13px;line-height:1.5}.gengage-chat-ai-toppick-review{border:1px solid var(--border-subtle);background:var(--surface-card-muted);color:var(--text-primary);border-radius:14px;margin-top:10px;padding:10px 12px;font-size:12px;line-height:1.45}.gengage-chat-ai-toppick-snippet{color:var(--text-secondary);margin:8px 0 0;font-size:12px;line-height:1.45}.gengage-chat-ai-toppick-price{color:var(--text-primary);margin-top:4px;font-size:14px;font-weight:700}.gengage-chat-ai-toppick-original-price{color:var(--text-secondary);font-size:12px;font-weight:400;text-decoration:line-through}.gengage-chat-ai-toppick-cta{border:1px solid var(--ds-button-primary-border);border-radius:var(--radius-control,12px);background:var(--ds-button-primary-bg);width:calc(100% - 24px);color:var(--ds-button-primary-fg);cursor:pointer;text-align:center;box-sizing:border-box;opacity:0;pointer-events:none;flex-shrink:0;align-self:stretch;margin:14px 12px 12px;padding:8px 0;font-size:13px;font-weight:700;transition:opacity .18s,transform .18s,background .15s;display:block;transform:translateY(6px)}.gengage-chat-ai-toppick-card--winner:hover .gengage-chat-ai-toppick-cta,.gengage-chat-ai-toppick-card--compact:hover .gengage-chat-ai-toppick-cta,.gengage-chat-ai-toppick-card--winner:focus-within .gengage-chat-ai-toppick-cta,.gengage-chat-ai-toppick-card--compact:focus-within .gengage-chat-ai-toppick-cta{opacity:1;pointer-events:auto;transform:translateY(0)}.gengage-chat-ai-toppick-cta:hover{background:var(--ds-button-primary-bg-hover)}.gengage-chat-ai-toppick-spinner{background:color-mix(in srgb, var(--surface-card) 78%, transparent);z-index:6;border-radius:12px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.gengage-chat-ai-toppick-spinner:after{content:\"\";border:3px solid var(--border-default);border-top-color:var(--ai-accent-start);border-radius:50%;width:24px;height:24px;animation:.7s linear infinite gengage-spin}@keyframes gengage-spin{to{transform:rotate(360deg)}}.gengage-chat-root--mobile .gengage-chat-ai-top-picks{gap:8px;padding:4px 0}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-title{margin:0 0 2px;font-size:14px}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-scroll{flex-direction:column;gap:8px;min-width:0;padding:6px 0 2px;display:flex;overflow:visible}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-scroll>:first-child{flex-direction:column;align-items:stretch;width:100%;min-width:0;display:flex}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-scroll>:first-child.gengage-chat-ai-toppick-card--winner{flex-direction:column}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-rest{-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scrollbar-width:none;-ms-overflow-style:none;flex-flow:row;gap:8px;min-width:0;margin:0 -2px;padding:2px 2px 8px;display:flex;overflow:auto visible}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-rest::-webkit-scrollbar{width:0;height:0;display:none}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-rest .gengage-chat-ai-toppick-card--compact{scroll-snap-align:start;flex:0 0 min(82vw,272px);width:min(82vw,272px);min-width:0;max-width:272px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner{scroll-snap-align:none;flex-shrink:1;width:100%;min-width:0;max-width:none;padding:10px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact{scroll-snap-align:none;flex-shrink:1;width:100%;min-width:0;max-width:none;padding:6px 8px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner{border:1.5px solid color-mix(in srgb, var(--client-primary) 28%, var(--border-default));margin-bottom:8px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact{border:1px solid var(--border-default);box-shadow:none;flex-direction:column;align-items:stretch}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-top-row{flex-direction:row;align-items:flex-start;gap:10px;width:100%;min-width:0;display:flex}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-media{aspect-ratio:1;border-radius:10px;flex:0 0 clamp(96px,30vw,124px);width:clamp(96px,30vw,124px);height:clamp(96px,30vw,124px);max-height:none;margin:0}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-img{object-fit:contain;width:100%;height:100%;max-height:100%;padding:4px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-body{flex:1;min-width:0;padding-top:2px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-detail{width:100%;margin-top:10px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-reason{color:var(--text-primary);margin:0;font-size:12px;line-height:1.45;display:block!important}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-review{color:var(--text-secondary);border:1px solid var(--border-subtle);background:var(--surface-card-muted);border-radius:12px;margin-top:8px;padding:8px 10px;font-size:12px;font-style:italic;line-height:1.4;display:block!important}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-top-row{flex-direction:row;align-items:flex-start;gap:6px;width:100%;min-width:0;display:flex}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-media{aspect-ratio:1;border-radius:8px;flex:0 0 64px;width:64px;height:64px;max-height:64px;margin:0}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-img{object-fit:contain;width:100%;max-height:100%;padding:2px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-body{flex:1;min-width:0}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-rating{display:none}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-detail{width:100%;margin-top:4px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-snippet{color:var(--text-secondary);-webkit-line-clamp:2;line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;margin:0;font-size:10px;line-height:1.3;display:-webkit-box;overflow:hidden}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-role-line{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:0 0 2px;font-size:9px;font-weight:600;line-height:1.15}.gengage-chat-root--mobile .gengage-chat-ai-toppick-snippet{color:var(--text-secondary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:11px;line-height:1.35;display:-webkit-box;overflow:hidden}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-media .gengage-chat-product-card-img-actions{gap:5px;top:3px;right:5px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-media .gengage-chat-product-card-img-actions{gap:5px;top:5px;right:6px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-badge{letter-spacing:.04em;background:var(--client-primary);max-width:calc(100% - 18px);color:var(--client-on-primary);box-shadow:none;border:none;padding:2px 6px;font-size:8px;font-weight:700;line-height:1.15;top:-14px;left:8px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-name{margin-bottom:1px;font-size:12px;line-height:1.22}.gengage-chat-root--mobile .gengage-chat-ai-toppick-name{margin-bottom:2px;font-size:13px;line-height:1.28}.gengage-chat-root--mobile .gengage-chat-ai-toppick-rating{gap:3px;margin-top:2px;padding:2px 6px;font-size:10px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-price{margin-top:1px;font-size:13px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-price{margin-top:2px;font-size:13px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-original-price{font-size:11px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-labels,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-cta{display:none!important}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-cta{opacity:1;pointer-events:auto;border:1px solid var(--client-primary);background:var(--surface-card);width:calc(100% - 16px);color:var(--client-primary);box-shadow:none;filter:none;align-self:stretch;margin:8px 8px 6px;padding:6px 0;font-size:12px;font-weight:600;transform:none}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-cta:hover{background:color-mix(in srgb, var(--client-primary) 10%, var(--surface-card));color:var(--client-primary);border-color:var(--client-primary);filter:none}.gengage-chat-root--mobile .gengage-chat-rollback-btn{left:-24px}.gengage-chat-grounding-review{align-items:center;gap:12px;padding:12px 16px;transition:background .15s,border-color .15s,box-shadow .15s;display:flex}.gengage-chat-grounding-review:hover{background:var(--ds-card-bg-hover);border-color:var(--ds-card-border-hover);box-shadow:var(--ds-card-shadow-hover)}.gengage-chat-grounding-review-icon{background:color-mix(in srgb, var(--client-primary) 8%, var(--surface-card));width:32px;height:32px;color:var(--client-primary);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.gengage-chat-grounding-review-icon svg{width:18px;height:18px;display:block}.gengage-chat-grounding-review-body{flex:1;min-width:0}.gengage-chat-grounding-review-title{color:var(--text-primary);font-size:13px;font-weight:600}.gengage-chat-grounding-review-subtitle{color:var(--text-muted);margin-top:2px;font-size:12px}.gengage-chat-grounding-review-cta{color:var(--client-primary);white-space:nowrap;flex-shrink:0;align-items:center;gap:4px;font-size:13px;font-weight:600;display:inline-flex}.gengage-chat-grounding-review-cta-icon{align-items:center;display:inline-flex}.gengage-chat-grounding-review-cta-icon svg{width:14px;height:14px;display:block}.gengage-chat-grouping-cards{flex-direction:column;gap:6px;display:flex}.gengage-chat-grouping-cards-scroll{flex-direction:column;gap:6px;min-width:0;display:flex}.gengage-chat-grouping-card{background:var(--surface-card-soft);border:1px solid var(--border-default);border-radius:var(--radius-control);align-items:center;gap:10px;padding:8px 12px;transition:background .15s,border-color .15s;display:flex}.gengage-chat-grouping-card:hover{background:color-mix(in srgb, var(--client-primary) 6%, white);border-color:color-mix(in srgb, var(--client-primary) 24%, var(--border-default))}.gengage-chat-grouping-card-arrow{color:var(--client-primary);flex-shrink:0;font-size:14px;display:none}.gengage-chat-grouping-card-img{border-radius:calc(var(--radius-control) - 4px);object-fit:cover;flex-shrink:0;width:48px;min-width:48px;height:48px;min-height:48px}.gengage-chat-grouping-card-body{flex-direction:column;flex:1;align-items:flex-start;gap:2px;min-width:0;display:flex}.gengage-chat-grouping-card-name{color:var(--text-primary);font-size:13px;font-weight:600}.gengage-chat-grouping-card-desc{color:var(--text-muted);font-size:12px}.gengage-chat-grouping-card-labels{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.gengage-chat-grouping-card-label{color:var(--text-secondary);background:var(--surface-card-muted);border:1px solid var(--border-subtle);border-radius:999px;padding:4px 8px;font-size:10px;font-weight:700;line-height:1.2}.gengage-chat-root--mobile .gengage-chat-grouping-card-img{display:none}.gengage-chat-root--mobile .gengage-chat-grouping-card-arrow{display:inline}.gengage-chat-suggested-search-cards{flex-direction:column;gap:8px;display:flex}.gengage-chat-suggested-search-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-card);box-shadow:var(--shadow-1);align-items:center;gap:14px;padding:14px 16px;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s;display:flex}.gengage-chat-suggested-search-card:hover{background:var(--surface-card);border-color:color-mix(in srgb, var(--client-primary) 24%, var(--border-default));box-shadow:var(--shadow-2);transform:translateY(-1px)}.gengage-chat-suggested-search-card-img{object-fit:contain;background:var(--surface-card-muted);border:1px solid var(--border-subtle);border-radius:14px;flex-shrink:0;width:64px;height:64px;padding:4px}.gengage-chat-suggested-search-card-body{flex:1;min-width:0}.gengage-chat-suggested-search-card-name{color:var(--text-primary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:15px;font-weight:700;line-height:1.35;display:-webkit-box;overflow:hidden}.gengage-chat-product-details-gallery{position:relative}.gengage-chat-product-details-gallery .gengage-chat-product-details-img{touch-action:pan-y}.gengage-chat-product-gallery-nav{z-index:3;border:1px solid var(--border-default);border-radius:var(--radius-pill);cursor:pointer;background:color-mix(in srgb, var(--surface-card) 92%, transparent);width:36px;min-width:36px;height:36px;min-height:36px;color:var(--text-primary);box-shadow:var(--shadow-1);justify-content:center;align-items:center;padding:0;transition:background .15s,opacity .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.gengage-chat-product-gallery-nav:hover:not(:disabled){background:var(--surface-card);color:var(--client-primary)}.gengage-chat-product-gallery-nav:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:2px}.gengage-chat-product-gallery-nav:disabled{opacity:.35;cursor:not-allowed}.gengage-chat-product-gallery-nav--prev{left:8px}.gengage-chat-product-gallery-nav--next{right:8px}.gengage-chat-product-gallery-thumbs{scrollbar-width:thin;justify-content:center;gap:8px;width:100%;padding:10px 0 4px;display:flex;overflow-x:auto}.gengage-chat-product-gallery-thumb{object-fit:cover;cursor:pointer;background:var(--surface-card);border:2px solid #0000;border-radius:8px;flex-shrink:0;width:56px;height:56px;transition:border-color .15s}.gengage-chat-product-gallery-thumb:hover{border-color:var(--border-strong)}.gengage-chat-product-gallery-thumb--active{border-color:var(--client-primary)}.gengage-chat-product-gallery-thumb-more{background:var(--surface-card-muted);width:56px;height:56px;color:var(--text-secondary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.gengage-chat-product-variants-label{color:var(--text-muted);text-transform:none;letter-spacing:.5px;margin-bottom:6px;font-size:12px;font-weight:600}.gengage-chat-product-variants-list{flex-wrap:wrap;gap:6px;display:flex}.gengage-chat-product-variant-btn{border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;padding:6px 12px;font-size:12px;transition:background .15s,border-color .15s}.gengage-chat-product-variant-btn:hover{background:var(--surface-card-muted);border-color:color-mix(in srgb, var(--client-primary) 20%, var(--border-default));color:var(--client-primary)}.gengage-chat-product-details-panel{border-radius:var(--radius-card);background:var(--surface-card);box-shadow:var(--shadow-1);gap:16px;padding:16px}.gengage-chat-product-details-media{border-color:var(--border-default);border-radius:var(--radius-card);background:var(--surface-card-soft);justify-content:center;min-height:320px}.gengage-chat-product-details-img{max-height:420px}.gengage-chat-product-details-content{gap:12px}.gengage-chat-product-details-brand{color:var(--client-primary);font-size:12px;font-weight:800;line-height:1.2}.gengage-chat-product-details-title{font-size:22px;line-height:1.2}.gengage-chat-product-details-rating{border:1px solid color-mix(in srgb, var(--warning) 24%, var(--border-default));background:color-mix(in srgb, var(--warning) 10%, var(--surface-card));color:color-mix(in srgb, var(--warning) 72%, var(--text-primary));gap:6px;padding:6px 10px;font-family:inherit}button.gengage-chat-product-details-rating{border:1px solid color-mix(in srgb, var(--warning) 24%, var(--border-default));cursor:pointer}.gengage-chat-product-details-rating--clickable:hover{border-color:color-mix(in srgb, var(--warning) 42%, var(--border-default));background:color-mix(in srgb, var(--warning) 14%, var(--surface-card))}.gengage-chat-product-details-rating .gengage-star-rating{line-height:1}.gengage-chat-product-details-rating-value{color:var(--text-primary)}.gengage-chat-product-details-price{flex-wrap:wrap;gap:10px}.gengage-chat-product-details-original-price{order:2}.gengage-chat-product-details-current-price{order:1;font-size:30px}.gengage-chat-product-details-discount-badge{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--error) 12%, white);min-height:24px;color:color-mix(in srgb, var(--error) 84%, var(--text-primary));order:3;align-items:center;padding:2px 8px;font-size:12px;font-weight:800;display:inline-flex}.gengage-chat-product-details-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-head{justify-content:space-between;align-items:center;gap:8px;min-width:0;margin-bottom:2px;display:flex}.gengage-chat-product-grid-head-title{min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:18px;font-weight:700;line-height:1.2;overflow:hidden}.gengage-chat-product-grid-head-actions{flex-shrink:0;align-items:center;gap:6px;max-width:52%;display:flex}.gengage-chat-product-sort-toolbar{box-shadow:none;background:0 0;border:none;border-radius:0;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0;padding:0;display:flex}.gengage-chat-product-sort-toolbar--inline{flex-wrap:nowrap;justify-content:flex-end}.gengage-chat-product-sort-dropdown{z-index:5;flex:0 auto;width:auto;min-width:0;max-width:200px;position:relative}.gengage-chat-product-sort-toolbar:not(.gengage-chat-product-sort-toolbar--inline) .gengage-chat-product-sort-dropdown{flex:auto;max-width:min(200px,100%)}.gengage-chat-product-sort-dropdown--open{z-index:25}.gengage-chat-product-sort-trigger{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card);width:100%;min-height:32px;color:var(--text-primary);cursor:pointer;text-align:left;align-items:center;gap:6px;padding:5px 8px;font-size:12px;font-weight:600;line-height:1.2;transition:border-color .15s,box-shadow .15s,background .15s;display:flex}.gengage-chat-product-sort-trigger:hover{border-color:color-mix(in srgb, var(--client-primary) 22%, var(--border-default));background:var(--surface-card-soft)}.gengage-chat-product-sort-trigger:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:2px}.gengage-chat-product-sort-dropdown--open .gengage-chat-product-sort-trigger{border-color:color-mix(in srgb, var(--client-primary) 32%, var(--border-default));box-shadow:var(--shadow-2)}.gengage-chat-product-sort-trigger-icon{color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.gengage-chat-product-sort-dropdown[data-sort-icon=related] .gengage-chat-product-sort-trigger-icon{color:var(--client-primary)}.gengage-chat-product-sort-trigger-icon svg{display:block}.gengage-chat-product-sort-trigger-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.gengage-chat-product-sort-trigger-chevron{color:var(--text-muted);flex-shrink:0;transition:transform .2s;display:flex}.gengage-chat-product-sort-dropdown--open .gengage-chat-product-sort-trigger-chevron{transform:rotate(180deg)}.gengage-chat-product-sort-menu{width:max-content;min-width:100%;max-width:min(260px,100vw - 48px);margin:0;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:auto}.gengage-chat-product-sort-option{border-radius:calc(var(--radius-control) - 4px);width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:8px 10px;font-size:12px;font-weight:500;line-height:1.25;transition:background .12s;display:flex}.gengage-chat-product-sort-option:hover{background:var(--surface-card-muted)}.gengage-chat-product-sort-option--active{color:var(--client-primary);background:var(--client-primary-subtle);font-weight:600}.gengage-chat-product-sort-option-icon{color:var(--text-secondary);flex-shrink:0;display:flex}.gengage-chat-product-sort-option--active .gengage-chat-product-sort-option-icon,.gengage-chat-product-sort-option--active[data-sort-key=related] .gengage-chat-product-sort-option-icon{color:var(--client-primary)}.gengage-chat-product-sort-option-icon svg{display:block}.gengage-chat-product-sort-option-label{flex:auto;min-width:0}.gengage-chat-product-sort-option-check{width:22px;color:var(--client-primary);flex-shrink:0;justify-content:flex-end;display:flex}.gengage-chat-product-sort-option-check--hidden{visibility:hidden}.gengage-chat-product-sort-separator{background:var(--border-default);width:1px;margin:2px}.gengage-chat-comparison-toggle-btn{border:1px solid var(--border-default);border-radius:var(--radius-control,12px);background:var(--surface-card);min-height:32px;color:var(--text-primary);cursor:pointer;white-space:nowrap;flex:none;align-items:center;gap:5px;padding:5px 8px;font-size:12px;font-weight:700;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.gengage-chat-comparison-toggle-icon{color:var(--text-secondary);flex-shrink:0;display:flex}.gengage-chat-comparison-toggle-icon svg{display:block}.gengage-chat-comparison-toggle-btn:hover{background:var(--surface-card-soft);border-color:color-mix(in srgb, var(--client-primary) 18%, white);color:var(--client-primary)}.gengage-chat-comparison-toggle-btn--active{border-color:color-mix(in srgb, var(--client-primary) 26%, white);color:var(--client-primary);background:color-mix(in srgb, var(--client-primary) 8%, white)}.gengage-chat-comparison-toggle-btn--active .gengage-chat-comparison-toggle-icon{color:var(--client-primary)}.gengage-chat-comparison-toggle-btn--active:hover{background:var(--client-primary-hover);color:var(--client-on-primary);border-color:var(--client-primary-hover)}.gengage-chat-comparison-toggle-btn--active:hover .gengage-chat-comparison-toggle-icon{color:var(--client-on-primary)}.gengage-chat-comparison-select-wrapper{cursor:pointer;border-radius:var(--radius-control);transition:box-shadow .2s,transform .2s;position:relative}.gengage-chat-comparison-select-wrapper:hover{box-shadow:0 0 0 2px var(--client-focus-ring)}.gengage-chat-comparison-select-wrapper--selected,.gengage-chat-comparison-select-wrapper--selected:hover{box-shadow:none}@media (prefers-reduced-motion:reduce){.gengage-chat-comparison-select-wrapper{transition:none}}.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card{pointer-events:none;transition:opacity .2s,transform .2s,filter .2s}.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card .gengage-chat-product-card-img-actions,.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card .gengage-chat-product-card-discount-badge,.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card .gengage-chat-product-card-buy-footer,.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card .gengage-chat-product-card-cta{opacity:0}.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card .gengage-chat-product-card-body{opacity:.82}.gengage-chat-comparison-select-wrapper:hover>.gengage-chat-product-card,.gengage-chat-comparison-select-wrapper--selected>.gengage-chat-product-card{opacity:1;transform:translateY(-1px)}.gengage-chat-comparison-select-wrapper--selected>.gengage-chat-product-card{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--client-primary) 26%, white), var(--shadow-1);filter:saturate(1.02);border-color:#0000;outline:none}.gengage-chat-comparison-select-wrapper--selected>.gengage-chat-product-card .gengage-chat-product-card-body{opacity:1}.gengage-chat-comparison-card-hint{display:none}.gengage-chat-comparison-checkbox{z-index:4;cursor:pointer;pointer-events:auto;border:1px solid var(--border-default);background:color-mix(in srgb, var(--surface-card) 94%, white);min-height:40px;color:var(--text-primary);box-shadow:var(--shadow-2);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 14px;display:inline-flex;position:absolute;bottom:16px;left:16px;right:16px}.gengage-chat-comparison-checkbox[data-selected=true]{background:color-mix(in srgb, var(--client-primary) 10%, white);border-color:color-mix(in srgb, var(--client-primary) 22%, var(--border-default));color:var(--client-primary)}.gengage-chat-comparison-checkbox-icon{background:var(--surface-card-soft);color:currentColor;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.gengage-chat-comparison-checkbox[data-selected=true] .gengage-chat-comparison-checkbox-icon{background:var(--client-primary);color:var(--client-on-primary)}.gengage-chat-comparison-checkbox-dot{background:color-mix(in srgb, currentColor 75%, white);border-radius:999px;width:8px;height:8px}.gengage-chat-comparison-checkbox-label{font-size:12px;font-weight:700;line-height:1.2}.gengage-chat-comparison-toggle-btn--hidden{opacity:0;pointer-events:none}@keyframes gengage-comparison-fade-in{0%{opacity:0}to{opacity:1}}.gengage-chat-comparison-toggle-btn--reveal{animation:.5s forwards gengage-comparison-fade-in}@media (prefers-reduced-motion:reduce){.gengage-chat-comparison-toggle-btn--reveal{opacity:1;animation:none}}.gengage-chat-comparison-floating-btn{border:1px solid var(--border-default);background:color-mix(in srgb, var(--surface-card) 92%, white);width:min(100%,520px);color:var(--text-primary);z-index:5;box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:18px;justify-content:space-between;align-items:center;gap:14px;margin:16px auto 0;padding:12px 14px;display:flex;position:sticky;bottom:12px}.gengage-chat-comparison-dock-slot{display:none}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot:not(:empty){z-index:30;padding:0 10px max(6px, env(safe-area-inset-bottom,0px));box-sizing:border-box;pointer-events:none;max-width:100%;display:block;position:absolute;bottom:0;left:0;right:0}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot>*{pointer-events:auto}.gengage-chat-comparison-floating-summary{flex:auto;align-items:center;gap:12px;min-width:0;display:flex}.gengage-chat-comparison-floating-count{background:var(--client-primary-subtle);min-width:32px;height:32px;color:var(--client-primary);border-radius:999px;justify-content:center;align-items:center;padding:0 10px;font-size:13px;font-weight:800;display:inline-flex}.gengage-chat-comparison-floating-copy{min-width:0}.gengage-chat-comparison-floating-title{color:var(--text-primary);font-size:14px;font-weight:700;line-height:1.2}.gengage-chat-comparison-floating-warning{color:var(--error);margin-top:4px;font-size:12px;line-height:1.35}.gengage-chat-comparison-floating-subtitle{color:var(--text-secondary);margin-top:2px;font-size:12px;line-height:1.35}.gengage-chat-comparison-floating-action{flex:none;min-width:132px}.gengage-chat-comparison-floating-close{border-radius:14px;flex:none;width:40px;height:40px;padding:0}.gengage-chat-comparison-floating-action--disabled{opacity:.6}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-btn{box-sizing:border-box;width:100%;min-width:0;max-width:100%;box-shadow:var(--shadow-3);border-radius:14px;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:10px;margin:0;padding:10px;position:relative;bottom:auto}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-summary{align-items:center;gap:8px;min-height:26px;padding-right:34px;display:flex}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-count{flex-shrink:0;justify-content:center;align-items:center;min-width:26px;height:26px;padding:0 7px;font-size:12px;font-weight:800;line-height:1;display:inline-flex}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-copy{flex-direction:column;justify-content:center;min-width:0;display:flex}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-title{margin:0;font-size:13px;line-height:1.25}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-warning{margin-top:2px;font-size:11px}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-action{box-sizing:border-box;justify-content:center;align-items:center;width:100%;min-width:0;max-width:100%;min-height:42px;padding:0 12px;font-size:13px;display:flex}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-close{box-sizing:border-box;align-self:unset;z-index:10;touch-action:manipulation;border-radius:8px;flex:none;width:26px;min-width:26px;max-width:26px;height:26px;min-height:26px;max-height:26px;padding:0;line-height:0;position:absolute;top:9px;right:9px}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-close svg{width:11px;height:11px;display:block}.gengage-chat-panel-topbar{box-sizing:border-box;height:var(--_gengage-chat-header-height);background:var(--surface-card);z-index:3;border-bottom:none;flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:12px;padding:14px 16px;display:flex;position:sticky;top:0}.gengage-chat-panel-topbar-title-wrap{flex:1 1 0;align-items:center;min-width:0;display:flex}.gengage-chat-panel-topbar-back,.gengage-chat-panel-topbar-forward{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card);width:42px;min-width:42px;height:42px;min-height:42px;color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:0;transition:background .15s,border-color .15s,opacity .15s;display:flex}.gengage-chat-panel-topbar-back[hidden],.gengage-chat-panel-topbar-forward[hidden]{display:none}.gengage-chat-panel-topbar-back:hover:not(:disabled),.gengage-chat-panel-topbar-forward:hover:not(:disabled){background:var(--surface-card-soft);border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default))}.gengage-chat-panel-topbar-back:disabled,.gengage-chat-panel-topbar-forward:disabled{opacity:.3;cursor:default}.gengage-chat-panel-topbar-title{width:100%;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;text-align:left;letter-spacing:-.01em;font-size:17px;font-weight:700;line-height:1.2;display:block;overflow:hidden}.gengage-chat-panel-topbar-actions{flex:none;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.gengage-chat-panel-topbar-actions:empty{display:none}.gengage-chat-panel-topbar-toolbar-host{justify-content:flex-end;align-items:center;width:100%;display:flex}.gengage-chat-panel-topbar-toolbar-host .gengage-chat-product-sort-toolbar{flex-wrap:nowrap;justify-content:flex-end;gap:8px}.gengage-chat-panel-topbar-close{display:none}@keyframes gengage-typewriter-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.gengage-chat-typewriter-block{animation:.15s both gengage-typewriter-fade-in;display:block}@media (prefers-reduced-motion:reduce){.gengage-chat-typewriter-block{animation:none}}.gengage-product-mention{color:var(--client-primary);cursor:pointer;border-bottom:1px dashed var(--client-primary);font-weight:500;text-decoration:none;transition:border-color .15s}.gengage-product-mention:hover{border-bottom-style:solid}@keyframes gengage-skeleton-pulse{0%,to{opacity:.4}50%{opacity:.8}}.gengage-chat-panel-skeleton-block{animation:1.5s ease-in-out infinite gengage-skeleton-pulse}@media (prefers-reduced-motion:reduce){.gengage-chat-panel-skeleton-block{animation:none}}.gengage-chat-input-chips{scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap;gap:6px;padding:4px 12px 2px;display:flex;overflow-x:auto}.gengage-chat-input-chips::-webkit-scrollbar{display:none}.gengage-chat-input-chip{border-radius:var(--radius-pill);border:1px solid var(--border-default);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;white-space:nowrap;align-items:center;padding:8px 12px;font-family:inherit;font-size:12px;font-weight:700;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.gengage-chat-input-chip:hover{background:var(--client-primary-subtle);border-color:color-mix(in srgb, var(--client-primary) 24%, var(--border-default));color:var(--client-primary)}.gengage-chat-icon{flex-shrink:0;width:14px;height:14px}.gengage-chat-input-chip-icon,.gengage-chat-pill-icon{align-items:center;margin-right:4px;display:inline-flex}.gengage-chat-product-card-img-wrapper,.gengage-chat-product-details-img-wrap{position:relative;overflow:hidden}.gengage-chat-product-card-discount-badge{border-radius:var(--radius-pill);background:var(--_gengage-discount-color);color:var(--text-inverse);z-index:1;padding:3px 8px;font-size:11px;font-weight:700;line-height:1.3;position:absolute;top:8px;left:8px}.gengage-chat-product-card-stock{border-radius:var(--radius-pill);width:fit-content;margin-top:2px;padding:2px 6px;font-size:11px;font-weight:600}.gengage-chat-product-card-stock.is-in-stock{background:color-mix(in srgb, var(--success) 12%, white);color:color-mix(in srgb, var(--success) 82%, var(--text-primary))}.gengage-chat-product-card-stock.is-out-of-stock{background:color-mix(in srgb, var(--error) 10%, white);color:var(--error)}.gengage-chat-find-similar-pill{border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:color-mix(in srgb, var(--surface-elevated) 96%, transparent);width:28px;height:28px;color:var(--text-primary);box-shadow:var(--shadow-1);cursor:pointer;z-index:2;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:11px;font-weight:500;transition:opacity .2s,box-shadow .15s;display:inline-flex;position:relative}.gengage-chat-find-similar-pill:hover{box-shadow:var(--shadow-2);border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default))}@media (hover:hover) and (pointer:fine){.gengage-chat-find-similar-pill:after{content:attr(data-tooltip);background:color-mix(in srgb, var(--surface-shell) 98%, black);border:1px solid color-mix(in srgb, var(--surface-shell) 60%, white);box-shadow:var(--shadow-2);color:var(--text-inverse);white-space:nowrap;opacity:0;pointer-events:none;z-index:12;border-radius:10px;padding:6px 10px;font-size:11px;font-weight:600;line-height:1.2;transition:opacity .14s;position:absolute;top:50%;right:calc(100% + 8px);transform:translateY(-50%)}.gengage-chat-find-similar-pill:hover:after,.gengage-chat-find-similar-pill:focus-visible:after{opacity:1}}.gengage-chat-find-similar-pill-icon{justify-content:center;align-items:center;display:flex}.gengage-chat-find-similar-pill-icon svg{display:block}.gengage-chat-find-similar-pill-text{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.gengage-chat-product-card-img-wrapper .gengage-chat-product-card-img-actions,.gengage-chat-ai-toppick-media .gengage-chat-product-card-img-actions{transition:opacity .2s}@media (hover:hover) and (pointer:fine){.gengage-chat-product-card-img-wrapper:not(:hover) .gengage-chat-product-card-img-actions,.gengage-chat-ai-toppick-media:not(:hover) .gengage-chat-product-card-img-actions{opacity:0;pointer-events:none}.gengage-chat-product-card-img-wrapper:hover .gengage-chat-product-card-img-actions,.gengage-chat-ai-toppick-media:hover .gengage-chat-product-card-img-actions{opacity:1;pointer-events:auto}}@media (hover:none),(pointer:coarse){.gengage-chat-product-card-img-wrapper .gengage-chat-product-card-img-actions,.gengage-chat-ai-toppick-media .gengage-chat-product-card-img-actions{opacity:1;pointer-events:auto}}.gengage-chat-product-details-img-wrap .gengage-chat-find-similar-pill{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--surface-shell) 88%, transparent);width:auto;height:auto;color:var(--text-inverse);box-shadow:none;opacity:0;pointer-events:none;padding:4px 10px;position:absolute;top:40px;right:8px}.gengage-chat-product-details-img-wrap .gengage-chat-find-similar-pill-icon{display:none}.gengage-chat-product-details-img-wrap .gengage-chat-find-similar-pill-text{clip:auto;white-space:nowrap;width:auto;height:auto;margin:0;position:static;overflow:visible}.gengage-chat-product-card-img-wrapper:hover .gengage-chat-find-similar-pill,.gengage-chat-ai-toppick-media:hover .gengage-chat-find-similar-pill,.gengage-chat-product-details-img-wrap:hover .gengage-chat-find-similar-pill{opacity:1;pointer-events:auto}.gengage-chat-favorite-btn{background:color-mix(in srgb, var(--surface-elevated) 96%, transparent);border:1px solid var(--border-subtle);border-radius:var(--radius-control);cursor:pointer;width:28px;height:28px;color:var(--text-secondary);box-shadow:var(--shadow-1);z-index:3;justify-content:center;align-items:center;padding:0;transition:color .2s,box-shadow .15s;display:flex;position:absolute;top:8px;right:8px}.gengage-chat-favorite-btn:hover{box-shadow:var(--shadow-2);color:var(--error);border-color:color-mix(in srgb, var(--error) 20%, var(--border-default))}.gengage-chat-favorite-btn--active{color:var(--error)}.gengage-chat-product-details-promos{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.gengage-chat-product-details-promo-badge{border-radius:var(--radius-pill);background:var(--gengage-chat-promo-bg,color-mix(in srgb, var(--success) 12%, white));color:var(--gengage-chat-promo-text,color-mix(in srgb, var(--success) 82%, var(--text-primary)));white-space:nowrap;box-sizing:border-box;min-height:20px;padding:2px 6px;font-size:10px;font-weight:500;display:inline-block}.gengage-chat-thumbnails-column{pointer-events:none;display:none!important}.gengage-chat-thumbnail-btn{border:2px solid var(--border-default);border-radius:calc(var(--radius-control) - 4px);background:var(--surface-card);cursor:pointer;justify-content:center;align-items:center;width:40px;height:40px;padding:0;transition:border-color .15s;display:flex;overflow:hidden}.gengage-chat-thumbnail-btn:hover{border-color:var(--client-primary)}.gengage-chat-thumbnail-img{object-fit:cover;width:100%;height:100%}.gengage-chat-panel-float{box-sizing:border-box;pointer-events:none;z-index:10;flex-shrink:0;align-self:stretch;width:100%;height:0;margin-top:auto;position:sticky;bottom:0;overflow:visible}.gengage-chat-choice-prompter{pointer-events:none;background:var(--surface-card);border:1px solid var(--border-default);width:auto;max-width:none;box-shadow:var(--shadow-2);z-index:5;opacity:0;border-radius:16px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;margin-left:0;margin-right:0;padding:12px 14px;transition:opacity .2s,transform .2s;display:grid;position:absolute;bottom:12px;left:16px;right:16px;transform:translateY(12px)}.gengage-chat-panel--scrolled .gengage-chat-choice-prompter{pointer-events:auto;opacity:1;transform:translateY(0)}.gengage-chat-choice-prompter-heading{color:var(--text-primary);margin-bottom:2px;font-size:12px;font-weight:700}.gengage-chat-choice-prompter-suggestion{color:var(--text-secondary);margin-bottom:0;font-size:12px;line-height:1.35}.gengage-chat-choice-prompter-copy{min-width:0}.gengage-chat-choice-prompter-cta{border:1px solid var(--ds-button-primary-border);border-radius:var(--radius-control);background:var(--ds-button-primary-bg);width:auto;min-width:180px;min-height:40px;color:var(--ds-button-primary-fg);cursor:pointer;text-align:center;padding:0 18px;font-family:inherit;font-size:13px;font-weight:700;transition:background .15s;display:inline-flex}.gengage-chat-choice-prompter-cta:hover{background:var(--ds-button-primary-bg-hover)}.gengage-chat-choice-prompter-dismiss{border:1px solid var(--border-default);background:var(--surface-card-soft);min-width:32px;min-height:32px;color:var(--text-muted);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;display:flex;position:absolute;top:10px;right:10px}.gengage-chat-choice-prompter-dismiss:hover{color:var(--client-primary);border-color:color-mix(in srgb, var(--client-primary) 18%, white);background:var(--client-primary-subtle)}@media (prefers-reduced-motion:reduce){.gengage-chat-choice-prompter{animation:none}}.gengage-chat-pros-cons{background:var(--surface-card-soft);border:1px solid var(--border-subtle);border-radius:var(--radius-control);margin:8px 0;padding:12px 14px}.gengage-chat-pros-cons-heading{color:var(--text-primary);margin:0 0 10px;font-size:14px;font-weight:600}.gengage-chat-pros-cons-list{margin:0 0 8px;padding:0;list-style:none}.gengage-chat-pros-cons-list:last-child{margin-bottom:0}.gengage-chat-pros-cons-item{color:var(--text-secondary);align-items:flex-start;gap:8px;padding:4px 0;font-size:13px;line-height:1.5;display:flex}.gengage-chat-pros-cons-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:12px;font-weight:700;display:flex}.gengage-chat-pros-cons-icon--pro{color:var(--success);background:color-mix(in srgb, var(--success) 15%, white)}.gengage-chat-pros-cons-icon--con{color:var(--error);background:color-mix(in srgb, var(--error) 12%, white)}.gengage-chat-categories{flex-direction:column;gap:8px;display:flex}.gengage-chat-categories-tabs{-webkit-overflow-scrolling:touch;gap:4px;padding:4px 0;display:flex;overflow-x:auto}.gengage-chat-categories-tab{border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;white-space:nowrap;padding:6px 14px;font-size:13px;transition:background .15s,color .15s,border-color .15s}.gengage-chat-categories-tab:hover{background:var(--surface-card-soft);border-color:var(--border-strong)}.gengage-chat-categories-tab--active{background:var(--client-primary-subtle);color:var(--client-primary);border-color:color-mix(in srgb, var(--client-primary) 26%, var(--border-default))}.gengage-chat-categories-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;display:grid}.gengage-chat-categories-filter-tags{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.gengage-chat-categories-filter-tag{border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;padding:4px 10px;font-size:12px;transition:background .15s,border-color .15s,color .15s}.gengage-chat-categories-filter-tag:hover{background:var(--client-primary-subtle);border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));color:var(--client-primary)}.gengage-chat-product-grid-view-more{border:1px solid var(--ds-button-secondary-border);border-radius:var(--radius-control);background:var(--ds-button-secondary-bg);width:100%;color:var(--ds-button-secondary-fg);cursor:pointer;text-align:center;grid-column:1/-1;margin-top:8px;padding:10px;font-size:14px;font-weight:500;transition:background .15s;display:block}.gengage-chat-product-grid-view-more:hover{background:var(--ds-button-secondary-bg-hover)}.gengage-chat-product-grid--mobile{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px 0;display:grid;overflow-x:visible}.gengage-chat-product-grid--mobile .gengage-chat-product-card{width:100%;min-width:0;max-width:none}.gengage-chat-comparison--mobile{position:relative;overflow-x:clip}.gengage-chat-comparison--mobile .gengage-chat-comparison-table-wrapper{-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 88%,#0000);mask-image:linear-gradient(90deg,#000 88%,#0000)}.gengage-chat-comparison--mobile .gengage-chat-comparison-table{table-layout:fixed;min-width:480px}.gengage-chat-comparison--mobile .gengage-chat-comparison-table th:first-child,.gengage-chat-comparison--mobile .gengage-chat-comparison-table .gengage-chat-comparison-label{background:var(--surface-card);z-index:1;box-shadow:2px 0 4px color-mix(in srgb, var(--surface-shell) 8%, transparent);position:sticky;left:0}.gengage-chat-comparison--mobile .gengage-chat-comparison-table thead th:first-child{box-sizing:border-box;width:22ch;min-width:0;max-width:22ch;padding:8px 6px}.gengage-chat-comparison--mobile .gengage-chat-comparison-table td.gengage-chat-comparison-label{text-align:left;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box;vertical-align:middle;width:22ch;min-width:0;max-width:22ch;overflow:hidden}.gengage-chat-product-details-similars-heading{color:var(--text-primary);margin:16px 0 8px;font-size:18px;font-weight:700;line-height:1.2}.gengage-chat-product-details-similars{margin-top:8px}.gengage-chat-handoff-notice{background:color-mix(in srgb, var(--warning) 10%, white);border:1px solid color-mix(in srgb, var(--warning) 28%, var(--border-default));border-radius:var(--radius-control);text-align:center;flex-direction:column;align-items:center;gap:6px;margin:8px 0;padding:16px;display:flex}.gengage-chat-handoff-notice-icon{font-size:24px}.gengage-chat-handoff-notice-heading{color:color-mix(in srgb, var(--warning) 72%, var(--text-primary));margin:0;font-size:14px;font-weight:600}.gengage-chat-handoff-notice-summary{color:color-mix(in srgb, var(--warning) 84%, var(--text-primary));margin:0;font-size:13px;line-height:1.5}.gengage-chat-product-details-share{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card);width:36px;height:36px;color:var(--text-muted);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:color .12s,border-color .12s,background-color .12s;display:inline-flex;position:relative}.gengage-chat-product-details-share:hover{color:var(--client-primary);border-color:var(--client-primary);background:var(--client-primary-subtle)}.gengage-chat-product-details-share:before{content:attr(aria-label);border-radius:calc(var(--radius-control) - 4px);background:var(--surface-shell);color:var(--text-inverse);white-space:nowrap;pointer-events:none;opacity:0;z-index:2;padding:4px 8px;font-size:11px;font-weight:500;transition:opacity .15s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.gengage-chat-product-details-share:hover:before{opacity:1}.gengage-chat-product-details-share--copied:after{content:\"✓\";background:var(--_gengage-success-color);color:var(--client-on-primary);border-radius:var(--radius-control);justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex;position:absolute;inset:0}.gengage-chat-product-details-share svg{width:20px;height:20px}.gengage-chat-review-link,.gengage-chat-grounding-link{color:var(--client-primary);text-decoration:underline}@media (width<=768px){.gengage-chat-product-details-promo-badge{-webkit-line-clamp:2;line-clamp:2;white-space:normal;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}}.gengage-chat-launcher:focus-visible,.gengage-chat-close:focus-visible,.gengage-chat-header-btn:focus-visible,.gengage-chat-header-powered:focus-visible,.gengage-chat-send:focus-visible,.gengage-chat-action-btn:focus-visible,.gengage-chat-pill:focus-visible,.gengage-chat-input-chip:focus-visible,.gengage-chat-pills-arrow:focus-visible,.gengage-chat-error-retry:focus-visible,.gengage-chat-product-card-cta:focus-visible,.gengage-chat-product-details-cta:focus-visible,.gengage-chat-product-details-atc:focus-visible,.gengage-chat-product-detail-tab:focus-visible,.gengage-chat-panel-divider-toggle:focus-visible,.gengage-chat-panel-topbar-back:focus-visible,.gengage-chat-panel-topbar-forward:focus-visible,.gengage-chat-rollback-btn:focus-visible,.gengage-chat-ai-toppick-cta:focus-visible,.gengage-chat-comparison-toggle-btn:focus-visible,.gengage-chat-comparison-floating-btn:focus-visible,.gengage-chat-comparison-checkbox:focus-visible,.gengage-chat-product-sort-trigger:focus-visible,.gengage-chat-product-sort-option:focus-visible,.gengage-chat-product-variant-btn:focus-visible,.gengage-chat-product-gallery-thumb:focus-visible,.gengage-chat-thumbnail-btn:focus-visible,.gengage-chat-find-similar-pill:focus-visible,.gengage-chat-favorite-btn:focus-visible,.gengage-chat-attach-btn:focus-visible,.gengage-chat-attach-menu-item:focus-visible,.gengage-chat-mic-btn:focus-visible,.gengage-chat-attachment-remove:focus-visible,.gengage-chat-kvkk-dismiss:focus-visible,.gengage-chat-choice-prompter-cta:focus-visible,.gengage-chat-choice-prompter-dismiss:focus-visible,.gengage-chat-categories-tab:focus-visible,.gengage-chat-categories-filter-tag:focus-visible,.gengage-chat-product-grid-view-more:focus-visible,.gengage-chat-product-details-share:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:2px}.gengage-chat-root--mobile .gengage-chat-choice-prompter{grid-template-columns:1fr;width:auto;max-width:none;max-height:40vh;bottom:12px;left:12px;right:12px;overflow-y:auto}.gengage-chat-root--mobile .gengage-chat-choice-prompter-cta{width:100%}.gengage-chat-root--mobile .gengage-chat-product-sort-trigger,.gengage-chat-root--mobile .gengage-chat-product-sort-option,.gengage-chat-root--mobile .gengage-chat-comparison-toggle-btn{min-height:40px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-trigger-label,.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-trigger-chevron,.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-comparison-toggle-label{display:none}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-dropdown{flex:none;width:auto;max-width:none}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-trigger{justify-content:center;gap:0;width:auto;min-width:44px;padding:0 10px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-comparison-toggle-btn{justify-content:center;gap:0;width:44px;min-width:44px;padding:0}.gengage-chat-root--mobile .gengage-chat-input-chip{min-height:40px;padding:8px 12px}.gengage-chat-root--mobile .gengage-chat-choice-prompter-dismiss{width:32px;height:32px}.gengage-chat-root--mobile .gengage-chat-panel-divider-toggle{min-height:44px}.gengage-chat-root--mobile .gengage-chat-product-card-cta,.gengage-chat-root--mobile .gengage-chat-choice-prompter-cta,.gengage-chat-root--mobile .gengage-chat-product-grid-view-more{justify-content:center;align-items:center;min-height:44px;display:flex}.gengage-chat-root--mobile .gengage-chat-panel-topbar-back,.gengage-chat-root--mobile .gengage-chat-panel-topbar-forward,.gengage-chat-root--mobile .gengage-chat-favorite-btn,.gengage-chat-root--mobile .gengage-chat-product-details-share{width:44px;min-width:44px;height:44px}.gengage-chat-root--mobile .gengage-chat-panel-topbar-close{display:none}.gengage-skeleton{gap:12px;padding:12px;display:flex}.gengage-skeleton--message{flex-direction:column;gap:8px;padding:16px}.gengage-skeleton-card{flex-direction:column;flex:1;gap:8px;display:flex}.gengage-skeleton-img{border-radius:var(--radius-control);height:120px}.gengage-skeleton-text{border-radius:4px;height:14px}.gengage-skeleton-price{border-radius:4px;width:60%;height:14px}.gengage-skeleton-line{border-radius:4px;height:12px}@media (prefers-reduced-motion:no-preference){.gengage-skeleton-card,.gengage-skeleton-line,.gengage-skeleton-img,.gengage-skeleton-text,.gengage-skeleton-price{background:linear-gradient(90deg, var(--ds-neutral-100) 25%, var(--ds-neutral-200) 50%, var(--ds-neutral-100) 75%);background-size:200% 100%;animation:1.5s infinite gengage-shimmer}@keyframes gengage-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}}@media (prefers-reduced-motion:reduce){.gengage-skeleton-card,.gengage-skeleton-line,.gengage-skeleton-img,.gengage-skeleton-text,.gengage-skeleton-price{background:var(--ds-neutral-100)}}.gengage-chat-panel--has-scroll:after{content:\"\";background:linear-gradient(transparent, var(--surface-card-soft));pointer-events:none;height:40px;display:block;position:sticky;bottom:0}@media (prefers-reduced-motion:no-preference){.gengage-chat-panel--transitioning{opacity:0;transition:opacity .15s}}.gengage-chat-cart-toast{background:var(--success);color:var(--text-inverse);border-radius:var(--radius-pill);box-shadow:var(--shadow-3);pointer-events:none;opacity:0;z-index:10;white-space:nowrap;padding:8px 18px;font-size:13px;font-weight:600;transition:opacity .2s,transform .2s;position:absolute;bottom:72px;left:50%;transform:translate(-50%)translateY(8px)}.gengage-chat-cart-toast--visible{opacity:1;transform:translate(-50%)translateY(0)}@keyframes gengage-cart-flash{0%{transform:scale(1)}30%{transform:scale(1.25)}60%{transform:scale(.95)}to{transform:scale(1)}}.gengage-chat-header-btn--cart-flash{animation:.5s gengage-cart-flash}", wr = o({
|
|
4355
|
+
var Ar = ":where(:root,.gengage-chat-root,.gengage-qna-container,.gengage-simrel-container,.gengage-simbut-root){--ds-neutral-0:#fff;--ds-neutral-25:#fcfcfd;--ds-neutral-50:#f6f7fb;--ds-neutral-100:#f3f4f6;--ds-neutral-200:#e5e7eb;--ds-neutral-300:#d0d5dd;--ds-neutral-500:#667085;--ds-neutral-600:#475467;--ds-neutral-700:#344054;--ds-neutral-900:#111827;--ds-radius-2:8px;--ds-radius-3:12px;--ds-radius-4:16px;--ds-radius-5:20px;--ds-radius-6:24px;--ds-radius-pill:999px;--ds-shadow-1:0 1px 2px #1018280a, 0 1px 3px #1018280f;--ds-shadow-2:0 4px 12px #10182814;--ds-shadow-3:0 10px 24px #1018281f;--client-primary:var(--gengage-primary-color,#b7102a);--client-primary-hover:var(--gengage-primary-hover,color-mix(in srgb, var(--client-primary) 88%, black 12%));--client-primary-active:var(--gengage-primary-active,color-mix(in srgb, var(--client-primary) 78%, black 22%));--client-primary-subtle:color-mix(in srgb, var(--client-primary) 12%, white);--client-primary-soft:color-mix(in srgb, var(--client-primary) 20%, white);--client-on-primary:var(--gengage-primary-foreground,#fff);--client-focus-ring:color-mix(in srgb, var(--client-primary) 32%, transparent);--ai-accent-start:#0b24d6;--ai-accent-end:#f768f2;--ai-accent-soft:linear-gradient(135deg, #0b24d614, #f768f214);--surface-page:var(--gengage-page-bg,var(--ds-neutral-50));--surface-shell:var(--gengage-shell-bg,#10131a);--surface-card:var(--gengage-background-color,var(--ds-neutral-0));--surface-card-muted:var(--gengage-surface-soft,#f8fafc);--surface-card-soft:var(--surface-card-muted);--surface-elevated:var(--gengage-surface-elevated,var(--ds-neutral-0));--surface-input:var(--gengage-input-bg,var(--ds-neutral-0));--surface-overlay:var(--gengage-overlay-bg,#10131a85);--text-primary:var(--gengage-foreground-color,var(--ds-neutral-900));--text-secondary:var(--gengage-text-secondary,#4b5563);--text-muted:var(--gengage-text-muted,#6b7280);--text-inverse:var(--gengage-text-inverse,#f9fafb);--border-subtle:var(--gengage-border-subtle,#1118270f);--border-default:var(--gengage-border-color,#1118271a);--border-strong:var(--gengage-border-strong,#1118272e);--shadow-1:var(--gengage-shadow-1,var(--ds-shadow-1));--shadow-2:var(--gengage-shadow-2,var(--ds-shadow-2));--shadow-3:var(--gengage-shadow-3,var(--ds-shadow-3));--radius-control:var(--gengage-control-radius,var(--ds-radius-3));--radius-card:var(--gengage-card-radius,var(--ds-radius-4));--radius-panel:var(--gengage-panel-radius,var(--ds-radius-6));--radius-pill:var(--gengage-pill-radius,var(--ds-radius-pill));--success:var(--gengage-success-color,#16a34a);--warning:var(--gengage-warning-color,#d97706);--error:var(--gengage-error-color,#dc2626);--info:var(--gengage-info-color,#2563eb);--rating:var(--gengage-rating-color,#f5b301);--gengage-primary:var(--client-primary);--gengage-primary-soft:var(--client-primary-soft);--gengage-primary-subtle:var(--client-primary-subtle);--gengage-text-color:var(--text-primary);--gengage-text-secondary:var(--text-secondary);--gengage-hover-color:var(--surface-card-soft);--ds-button-primary-bg:var(--client-primary);--ds-button-primary-bg-hover:var(--client-primary-hover);--ds-button-primary-bg-active:var(--client-primary-active);--ds-button-primary-fg:var(--client-on-primary);--ds-button-primary-border:color-mix(in srgb, var(--client-primary) 82%, black 18%);--ds-button-secondary-bg:var(--surface-card);--ds-button-secondary-bg-hover:var(--client-primary-subtle);--ds-button-secondary-fg:var(--client-primary);--ds-button-secondary-border:color-mix(in srgb, var(--client-primary) 26%, white);--ds-button-ghost-bg:var(--surface-card-muted);--ds-button-ghost-bg-hover:var(--ds-button-ghost-bg);--ds-button-ghost-fg:var(--text-primary);--ds-button-ghost-fg-hover:var(--client-primary);--ds-button-ghost-border:var(--border-default);--ds-button-ghost-border-hover:color-mix(in srgb, var(--client-primary) 18%, white);--ds-panel-bg:var(--surface-card);--ds-panel-border:var(--border-default);--ds-panel-shadow:var(--shadow-1);--ds-panel-radius:var(--radius-panel);--ds-header-bg:var(--surface-card);--ds-header-fg:var(--text-primary);--ds-header-muted:var(--text-muted);--ds-header-border:var(--border-default);--ds-card-bg:var(--surface-card);--ds-card-bg-soft:var(--surface-card-muted);--ds-card-border:var(--border-default);--ds-card-shadow:var(--shadow-1);--ds-card-shadow-hover:var(--shadow-2);--ds-card-radius:var(--radius-card);--ds-card-border-hover:color-mix(in srgb, var(--client-primary) 14%, var(--border-default));--ds-card-bg-hover:color-mix(in srgb, var(--client-primary) 2%, var(--surface-card));--ds-product-card-media-bg:var(--surface-card-muted);--ds-product-card-media-border:var(--border-subtle);--ds-input-bg:var(--surface-input);--ds-input-border:var(--border-default);--ds-input-radius:16px;--ds-input-focus-border:color-mix(in srgb, var(--client-primary) 28%, white);--ds-input-focus-ring:0 0 0 4px var(--client-focus-ring);--ds-input-highlight:inset 0 1px 0 #fff9;--ds-chip-bg:var(--surface-card);--ds-chip-border:var(--border-default);--ds-chip-fg:var(--text-secondary);--ds-chip-bg-hover:var(--surface-card-muted);--ds-chip-bg-active:color-mix(in srgb, var(--client-primary) 8%, white);--ds-chip-border-active:color-mix(in srgb, var(--client-primary) 30%, white);--ds-chip-fg-active:var(--client-primary);--ds-tab-bg:var(--surface-card);--ds-tab-bg-hover:var(--surface-card-muted);--ds-tab-bg-active:color-mix(in srgb, var(--client-primary) 8%, white);--ds-tab-border:var(--border-default);--ds-tab-border-active:color-mix(in srgb, var(--client-primary) 26%, white);--ds-tab-fg:var(--text-secondary);--ds-tab-fg-active:var(--client-primary);--ds-badge-brand-bg:color-mix(in srgb, var(--client-primary) 10%, white);--ds-badge-brand-border:color-mix(in srgb, var(--client-primary) 18%, white);--ds-badge-brand-fg:var(--client-primary);--ds-message-user-bg:color-mix(in srgb, var(--client-primary) 10%, white);--ds-message-user-fg:var(--text-primary);--ds-message-user-border:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));--ds-message-user-shadow:none;--ds-message-assistant-bg:var(--surface-card-soft);--ds-message-assistant-fg:var(--text-primary);--ds-message-assistant-border:var(--border-default);--ds-message-assistant-shadow:none;--ds-message-active-outline:color-mix(in srgb, var(--client-primary) 68%, white);--ds-progress-card-border:var(--border-subtle);--ds-progress-mark-bg:color-mix(in srgb, var(--ai-accent-start) 8%, var(--surface-card));--ds-progress-mark-border:color-mix(in srgb, var(--ai-accent-start) 12%, var(--border-default));--ds-progress-scrollbar-thumb:color-mix(in srgb, var(--text-primary) 18%, transparent);--ds-toast-error-bg:color-mix(in srgb, var(--error) 5%, var(--surface-card));--ds-toast-error-border:color-mix(in srgb, var(--error) 18%, var(--border-default));--ds-toast-error-accent:var(--error);--ds-toast-error-fg:color-mix(in srgb, var(--error) 22%, var(--text-primary));--ds-toast-error-shadow:var(--shadow-3);--ds-comparison-table-bg:var(--surface-card);--ds-comparison-table-border:var(--border-default);--ds-comparison-table-header-bg:var(--surface-card-muted);--ds-comparison-table-header-fg:var(--text-muted);--ds-comparison-table-row-border:var(--border-subtle);--ds-comparison-table-winner-bg:color-mix(in srgb, var(--client-primary) 6%, white);--ds-comparison-table-winner-fg:var(--client-primary)}:where(.gds-panel){background:var(--ds-panel-bg);border:1px solid var(--ds-panel-border);border-radius:var(--ds-panel-radius);box-shadow:var(--ds-panel-shadow)}:where(.gengage-qna-panel,.gengage-chat-panel-topbar,.gengage-chat-chat-header,.gengage-chat-panel-ai-zone>.gengage-chat-ai-top-picks,.gengage-chat-grounding-review){border-color:var(--ds-panel-border)}:where(.gds-btn){border-radius:var(--radius-control);min-height:46px;font:inherit;cursor:pointer;border:0;outline:none;justify-content:center;align-items:center;gap:10px;padding:0 18px;font-weight:700;transition:box-shadow .15s,border-color .15s,background-color .15s,color .15s;display:inline-flex}:where(.gds-btn:hover){transform:none}:where(.gds-btn:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-btn:disabled){cursor:not-allowed;opacity:.56;box-shadow:none}:where(.gds-btn-primary){background:var(--ds-button-primary-bg);color:var(--ds-button-primary-fg);border:1px solid var(--ds-button-primary-border)}:where(.gds-btn-primary:hover){background:var(--ds-button-primary-bg-hover)}:where(.gds-btn-secondary){background:var(--ds-button-secondary-bg);color:var(--ds-button-secondary-fg);border:1px solid var(--ds-button-secondary-border)}:where(.gds-btn-secondary:hover){background:var(--ds-button-secondary-bg-hover)}:where(.gds-btn-ghost){background:var(--ds-button-ghost-bg);color:var(--ds-button-ghost-fg);border:1px solid var(--ds-button-ghost-border)}:where(.gds-btn-ghost:hover){background:var(--ds-button-ghost-bg-hover);border-color:var(--ds-button-ghost-border-hover);color:var(--ds-button-ghost-fg-hover)}:where(.gds-chip){border-radius:var(--radius-pill);border:1px solid var(--ds-chip-border);background:var(--ds-chip-bg);color:var(--ds-chip-fg);align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:700;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}:where(.gds-chip:hover){background:var(--ds-chip-bg-hover);border-color:color-mix(in srgb, var(--client-primary) 16%, var(--ds-chip-border))}:where(.gds-chip:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-chip-active){border-color:var(--ds-chip-border-active);background:var(--ds-chip-bg-active);color:var(--ds-chip-fg-active)}:where(.gds-badge){border-radius:var(--radius-pill);letter-spacing:.04em;align-items:center;min-height:28px;padding:0 10px;font-size:11px;font-weight:800;display:inline-flex}:where(.gds-badge-brand){background:var(--ds-badge-brand-bg);color:var(--ds-badge-brand-fg);border:1px solid var(--ds-badge-brand-border)}:where(.gds-shell-header){background:var(--ds-header-bg);color:var(--ds-header-fg);border-bottom:1px solid var(--ds-header-border);box-shadow:none;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}:where(.gds-shell-header [data-gengage-part=chat-header-powered-by]){color:var(--ds-header-muted)}:where(.gds-icon-btn){border-radius:var(--radius-control);width:42px;min-width:42px;height:42px;min-height:42px;padding:0}:where(.gds-input-shell){border-radius:var(--ds-input-radius);border:1px solid var(--ds-input-border);background:var(--ds-input-bg);min-height:52px;box-shadow:var(--ds-input-highlight);align-items:center;gap:12px;padding:6px 6px 6px 14px;transition:border-color .15s,box-shadow .15s,background-color .15s;display:flex}:where(.gds-input-shell:focus-within){border-color:var(--ds-input-focus-border);box-shadow:var(--ds-input-focus-ring)}:where(.gds-tab){border-radius:var(--radius-pill);border:1px solid var(--ds-tab-border);background:var(--ds-tab-bg);color:var(--ds-tab-fg);align-items:center;gap:8px;padding:10px 14px;font-size:13px;font-weight:700;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}:where(.gds-tab:hover){background:var(--ds-tab-bg-hover)}:where(.gds-tab:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-tab[aria-selected=true],.gds-tab.is-active){color:var(--ds-tab-fg-active);border-color:var(--ds-tab-border-active);background:var(--ds-tab-bg-active)}:where(.gds-toolbar){flex-wrap:wrap;align-items:center;gap:10px;display:flex}:where(.gds-toolbar-compact){gap:8px}:where(.gds-card){background:var(--ds-card-bg);border:1px solid var(--ds-card-border);border-radius:var(--ds-card-radius);box-shadow:var(--ds-card-shadow);transition:border-color .15s,box-shadow .15s,background-color .15s}:where(.gds-card-interactive),:where(.gds-clickable){cursor:pointer}:where(.gds-card-interactive:hover){background:var(--ds-card-bg-hover);border-color:var(--ds-card-border-hover);box-shadow:var(--ds-card-shadow-hover)}:where(.gds-card-soft){background:var(--ds-card-bg-soft)}:where(.gds-product-card){border-radius:16px}:where(.gds-evidence-card){background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-control);box-shadow:var(--shadow-1)}:where(.gds-evidence-card-success){background:color-mix(in srgb, var(--success) 10%, white);border-color:color-mix(in srgb, var(--success) 22%, var(--border-default))}:where(.gds-evidence-card-danger){background:color-mix(in srgb, var(--error) 8%, white);border-color:color-mix(in srgb, var(--error) 20%, var(--border-default))}:where(.gds-evidence-card-warning){background:color-mix(in srgb, var(--warning) 10%, white);border-color:color-mix(in srgb, var(--warning) 22%, var(--border-default))}:where(.gds-message){border-radius:calc(var(--radius-control) + 4px);word-wrap:break-word;overflow-wrap:break-word;border:1px solid #0000;max-width:85%;padding:14px 16px;font-size:14px;font-weight:400;line-height:1.55;animation:.3s cubic-bezier(.2,.7,.2,1) gengage-chat-msg-in}:where(.gds-message-user){background:var(--ds-message-user-bg);color:var(--ds-message-user-fg);border-color:var(--ds-message-user-border);box-shadow:var(--ds-message-user-shadow);border-bottom-right-radius:6px;align-self:flex-end}:where(.gds-message-assistant){background:var(--ds-message-assistant-bg);color:var(--ds-message-assistant-fg);border-color:var(--ds-message-assistant-border);box-shadow:var(--ds-message-assistant-shadow);border-bottom-left-radius:6px;align-self:flex-start;min-width:120px}:where(.gds-message-active){outline:2px solid var(--ds-message-active-outline);outline-offset:-2px}:where(.gds-ai-card){background:var(--surface-card);border:1px solid var(--ds-progress-card-border);border-radius:20px;gap:16px;padding:18px;display:grid}:where(.gds-ai-mark){background:var(--ds-progress-mark-bg);width:42px;height:42px;color:var(--ai-accent-start);border:1px solid var(--ds-progress-mark-border);border-radius:14px;place-items:center;display:grid}:where(.gds-ai-loader-row){align-items:center;gap:12px;display:flex}:where(.gds-progress-loader){border:1px solid color-mix(in srgb, var(--ai-accent-start) 10%, var(--border-default));background:linear-gradient(110deg, var(--surface-card-soft) 8%, color-mix(in srgb, var(--ai-accent-start) 5%, var(--surface-card)) 18%, var(--surface-card-soft) 33%);width:fit-content;max-width:100%;color:var(--text-secondary);background-size:220% 100%;border-radius:14px;align-items:center;gap:10px;padding:8px 14px;animation:1.8s linear infinite gds-progress-shimmer;display:inline-flex}:where(.gds-progress-loader-chat){box-sizing:border-box;align-self:flex-start;width:100%;min-width:0;max-width:85%;display:flex}:where(.gds-progress-loader-chat) .gds-progress-label{overflow-wrap:anywhere;flex:auto;min-width:0}:where(.gds-progress-loader-panel){box-sizing:border-box;justify-content:flex-start;align-items:center;width:100%;min-width:0;max-width:100%;display:flex}:where(.gds-progress-loader-panel) .gds-progress-label{overflow-wrap:anywhere;flex:auto;min-width:0}:where(.gds-progress-label){min-width:0;color:var(--text-secondary);word-break:break-word;font-size:13px;line-height:1.5}:where(.gds-progress-dots){flex-shrink:0;align-items:center;gap:6px;display:inline-flex}:where(.gds-progress-dot){background:color-mix(in srgb, var(--ai-accent-start) 20%, var(--text-muted));border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite gds-progress-dot-pulse;display:inline-block}:where(.gds-progress-dot:nth-child(2)){animation-delay:.2s}:where(.gds-progress-dot:nth-child(3)){animation-delay:.4s}:where(.gds-ai-status){border-radius:calc(var(--radius-control) + 2px);border:1px solid var(--border-default);background:var(--surface-card-muted);max-width:85%;color:var(--text-secondary);border-bottom-left-radius:6px;align-self:flex-start;align-items:center;gap:8px;padding:10px 14px;display:flex}:where(.gds-ai-status-text){color:var(--text-secondary);font-size:13px;font-style:italic}:where(.gds-ai-dot-loader){align-items:center;gap:5px;display:inline-flex}:where(.gds-ai-dot-loader span){background:color-mix(in srgb, var(--ai-accent-start) 38%, var(--text-muted));border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite gds-progress-dot-pulse;display:inline-block}:where(.gds-ai-dot-loader span:nth-child(2)){animation-delay:.2s}:where(.gds-ai-dot-loader span:nth-child(3)){animation-delay:.4s}:where(.gds-ai-spinner){border:2.5px solid var(--border-default);border-top-color:var(--ai-accent-start);border-radius:50%;flex-shrink:0;width:26px;height:26px;animation:.72s linear infinite gds-spin}@keyframes gds-spin{to{transform:rotate(360deg)}}@keyframes gds-progress-shimmer{0%{background-position:200% 0}to{background-position:-20% 0}}@keyframes gds-progress-dot-pulse{0%,to{opacity:.45;transform:scale(.7)}50%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){:where(.gds-progress-loader){animation:none}:where(.gds-progress-dot){opacity:.85;animation:none;transform:scale(1)}:where(.gds-ai-spinner){animation:none}:where(.gds-ai-dot-loader span){opacity:.85;animation:none}}:where(.gds-menu){border-radius:var(--radius-card);border:1px solid var(--border-default);background:var(--surface-elevated);box-shadow:var(--shadow-3);padding:4px}:where(.gds-menu-option){border-radius:calc(var(--radius-control) - 4px);width:100%;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:8px 10px;font-size:12px;font-weight:500;line-height:1.25;transition:background-color .15s,color .15s;display:flex}:where(.gds-menu-option:hover){background:var(--surface-card-muted)}:where(.gds-menu-option:focus-visible){outline:2px solid var(--client-focus-ring);outline-offset:2px}:where(.gds-menu-option-active){background:var(--client-primary-subtle);color:var(--client-primary);font-weight:600}:where(.gds-comparison-table){border-collapse:separate;border-spacing:0;border:1px solid var(--ds-comparison-table-border);background:var(--ds-comparison-table-bg);border-radius:20px;width:100%;overflow:hidden}:where(.gds-comparison-table th,.gds-comparison-table td){text-align:left;border-bottom:1px solid var(--ds-comparison-table-row-border);padding:14px 16px;font-size:13px}:where(.gds-comparison-table th){background:var(--ds-comparison-table-header-bg);text-transform:uppercase;letter-spacing:.08em;color:var(--ds-comparison-table-header-fg);font-size:11px}:where(.gds-comparison-table tr:last-child td){border-bottom:0}:where(.gds-comparison-table-winner-cell){background:var(--ds-comparison-table-winner-bg);color:var(--ds-comparison-table-winner-fg);font-weight:800}:host{all:initial;font-family:var(--gengage-font-family,\"Plus Jakarta Sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif);font-size:var(--gengage-font-size,14px)}.gengage-chat-root button,.gengage-chat-root [role=button],.gengage-chat-root a{cursor:pointer}.gengage-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.gengage-chat-root{z-index:var(--gengage-z-index,2147480000);--_gengage-chat-offset:var(--gengage-chat-offset,20px);--_gengage-chat-launcher-bottom:var(--gengage-chat-launcher-bottom,20px);--_gengage-chat-launcher-right:var(--gengage-chat-launcher-right,20px);--_gengage-chat-launcher-size:var(--gengage-chat-launcher-size,56px);--_gengage-chat-drawer-width:var(--gengage-chat-width,400px);--_gengage-chat-radius:var(--gengage-chat-shell-radius,1rem);--_gengage-chat-header-height:var(--gengage-chat-header-height,72px);--_gengage-chat-conversation-width:var(--gengage-chat-conversation-width,396px);--_gengage-chat-panel-min-width:var(--gengage-chat-panel-min-width,320px);--_gengage-chat-panel-max-width:var(--gengage-chat-panel-max-width,1200px);--_gengage-chat-input-height:var(--gengage-chat-input-height,48px);--_gengage-chat-shadow:var(--gengage-chat-shadow,var(--shadow-3));--_gengage-border-color:var(--border-default);--_gengage-discount-color:var(--gengage-discount-color,var(--client-primary));--_gengage-success-color:var(--success);--_gengage-text-primary:var(--text-primary);--_gengage-text-secondary:var(--text-secondary);--_gengage-surface-secondary:var(--surface-card-soft);--_gengage-surface-muted:var(--surface-card-soft);--_gengage-surface-dark:var(--surface-shell);--_gengage-rating-color:var(--rating);--_gengage-error:var(--error);--_gengage-danger-color:var(--error);--_gengage-ghost-border:var(--gengage-ghost-border,color-mix(in srgb, var(--client-primary) 16%, transparent));position:fixed}.gengage-chat-backdrop{z-index:0;pointer-events:none;cursor:pointer;box-sizing:border-box;-webkit-tap-highlight-color:transparent;background:0 0;border:none;margin:0;padding:0;display:none;position:fixed;inset:0}.gengage-chat-root--open:not(.gengage-chat--inline) .gengage-chat-backdrop{pointer-events:none;background:var(--gengage-chat-float-backdrop,transparent);display:block}.gengage-chat-root--open.gengage-chat-root--maximized-host-chrome:not(.gengage-chat--inline) .gengage-chat-backdrop{pointer-events:auto;background:var(--gengage-chat-float-backdrop,color-mix(in srgb, var(--surface-overlay) 72%, transparent))}.gengage-chat-root.gengage-chat--overlay.gengage-chat-root--open .gengage-chat-backdrop{background:var(--gengage-chat-overlay-backdrop,var(--surface-overlay));pointer-events:auto}.gengage-chat-launcher-container{bottom:var(--_gengage-chat-launcher-bottom);right:var(--_gengage-chat-launcher-right);z-index:var(--gengage-z-index,2147480000);flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:fixed}.gengage-chat-launcher-content-area,.gengage-chat-launcher-content-area-bottom{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.gengage-chat-launcher-content-area:empty,.gengage-chat-launcher-content-area-bottom:empty,.gengage-chat-root--open .gengage-chat-launcher-content-area,.gengage-chat-root--open .gengage-chat-launcher-content-area-bottom{display:none}.gengage-chat-root--open .gengage-chat-launcher-container{pointer-events:none;opacity:0;transition:opacity .2s}.gengage-chat-launcher{width:var(--_gengage-chat-launcher-size);height:var(--_gengage-chat-launcher-size);border:1px solid var(--ds-button-primary-border);background:var(--ds-button-primary-bg);color:var(--ds-button-primary-fg);cursor:pointer;box-shadow:var(--shadow-3);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:transform .18s cubic-bezier(.2,.8,.2,1),box-shadow .18s;display:flex;position:relative}.gengage-chat-launcher:hover{box-shadow:var(--shadow-3);transform:none}.gengage-chat-launcher svg{width:28px;height:28px}.gengage-chat-launcher--image-mode{box-shadow:none;background:0 0;border:none;border-radius:0;padding:0;overflow:hidden}.gengage-chat-launcher--image-mode:hover{box-shadow:none}.gengage-chat-launcher--image-mode img{object-fit:contain;width:100%;height:100%}.gengage-chat-launcher--hidden-mobile{display:none!important}.gengage-chat-launcher-tooltip{border-radius:var(--radius-control);background:var(--surface-shell);color:var(--text-inverse);white-space:nowrap;opacity:0;pointer-events:none;box-shadow:var(--shadow-2);padding:6px 12px;font-size:13px;font-weight:500;transition:opacity .2s;position:absolute;top:50%;right:calc(100% + 12px);transform:translateY(-50%)}.gengage-chat-launcher-tooltip:after{content:\"\";border:5px solid #0000;border-left-color:var(--surface-shell);position:absolute;top:50%;left:100%;transform:translateY(-50%)}.gengage-chat-launcher:hover .gengage-chat-launcher-tooltip{opacity:1}.gengage-chat-root--open .gengage-chat-launcher-tooltip{display:none}.gengage-chat-drawer{width:var(--_gengage-chat-drawer-width);background:var(--surface-elevated,var(--surface-card));border-left:1px solid var(--border-default);max-height:100dvh;box-shadow:var(--_gengage-chat-shadow);z-index:var(--gengage-z-index,2147480000);opacity:1;border-radius:0;flex-direction:column;transition:transform .25s cubic-bezier(.4,0,.2,1),opacity .2s;display:flex;position:fixed;top:0;bottom:0;right:0;overflow:hidden;transform:translate(0)}.gengage-chat-root--mobile .gengage-chat-launcher-container{right:var(--gengage-chat-launcher-mobile-right,16px);bottom:calc(var(--gengage-chat-launcher-mobile-bottom,16px) + env(safe-area-inset-bottom,0px))}.gengage-chat-root--mobile .gengage-chat-drawer{border:1px solid var(--border-default);width:100%;max-width:none;max-height:100dvh;box-shadow:var(--shadow-3);padding-bottom:env(safe-area-inset-bottom,0px);background:var(--surface-elevated,var(--surface-card));border-bottom:none;border-radius:16px 16px 0 0;bottom:0;left:0;right:0}.gengage-chat-drawer-handle{display:none}.gengage-chat-root--mobile .gengage-chat-drawer-handle{pointer-events:none;z-index:1;justify-content:center;align-items:center;height:14px;display:flex;position:absolute;top:6px;left:0;right:0}.gengage-chat-root--mobile .gengage-chat-header{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.gengage-chat-root--mobile .gengage-chat-header button,.gengage-chat-root--mobile .gengage-chat-header a{cursor:pointer;touch-action:auto;-webkit-user-select:auto;user-select:auto}.gengage-chat-root--mobile .gengage-chat-drawer-handle:before{content:\"\";background:var(--border-strong);pointer-events:none;border-radius:999px;width:36px;height:4px}.gengage-chat-root--mobile.gengage-chat-root--mobile-half .gengage-chat-drawer{height:min(72dvh,620px);max-height:min(72dvh,620px);top:auto}.gengage-chat-root--mobile.gengage-chat-root--mobile-full .gengage-chat-drawer{border-radius:0;height:100dvh;max-height:100dvh;top:0}.gengage-chat-root--mobile .gengage-chat-input-area{padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border-default);transform:translateY(calc(-1 * var(--gengage-keyboard-offset,0px)))}.gengage-chat-header{box-sizing:border-box;height:var(--_gengage-chat-header-height);background:var(--gengage-chat-header-bg,var(--ds-header-bg));color:var(--gengage-chat-header-foreground,var(--ds-header-fg));box-shadow:none;border-bottom:1px solid var(--gengage-chat-header-border-bottom,var(--ds-header-border));z-index:2;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex;position:relative}.gengage-chat-header-left{align-items:center;gap:10px;min-width:0;display:flex}.gengage-chat-header-avatar{background:var(--surface-card-soft);border:1px solid var(--border-default);object-fit:contain;border-radius:999px;flex-shrink:0;width:44px;height:44px}.gengage-chat-header-avatar--logo{object-fit:contain;background:0 0;border:none;border-radius:0;width:auto;max-width:92px;height:45px}.gengage-chat-header-info{flex-direction:column;gap:2px;min-width:0;display:flex}.gengage-chat-header-title-row{align-items:center;gap:6px;min-width:0;display:flex}.gengage-chat-header-title{letter-spacing:.01em;color:inherit;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:16px;font-weight:700;line-height:1.25;display:block;overflow:hidden}.gengage-chat-header-badge{border-radius:var(--radius-pill);background:var(--ds-badge-brand-bg);min-height:26px;color:var(--ds-badge-brand-fg);border:1px solid var(--ds-badge-brand-border);letter-spacing:.04em;text-transform:uppercase;align-items:center;padding:0 10px;font-size:10px;font-weight:800;line-height:1.5;display:inline-flex}.gengage-chat-header-powered{color:var(--ds-header-muted);align-items:center;gap:4px;font-size:11px;line-height:1.2;text-decoration:none;transition:color .15s;display:flex}.gengage-chat-header-powered:hover{color:var(--client-primary)}.gengage-chat-header-powered svg{opacity:.6;flex-shrink:0;width:12px;height:12px}.gengage-chat-header-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.gengage-chat-header-btn{border-radius:var(--radius-control,12px);background:var(--surface-card-soft);border:1px solid var(--border-default);width:42px;height:42px;color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;line-height:1;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.gengage-chat-header-btn:hover{background:var(--client-primary-subtle);color:var(--client-primary);border-color:color-mix(in srgb, var(--client-primary) 18%, white)}.gengage-chat-header-btn--fav{position:relative}.gengage-chat-header-btn--reopen-panel,.gengage-chat-root--mobile .gengage-chat-new-chat{display:none}.gengage-chat-header-fav-badge{background:var(--error);min-width:16px;height:16px;color:var(--text-inverse);text-align:center;pointer-events:none;border-radius:999px;padding:0 3px;font-size:9px;font-weight:700;line-height:16px;position:absolute;top:-4px;right:-4px}.gengage-chat-close{border-radius:var(--radius-control,12px);background:var(--surface-card-soft);border:1px solid var(--border-default);width:42px;min-width:42px;height:42px;min-height:42px;color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;font-size:18px;line-height:1;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.gengage-chat-close:hover{background:var(--client-primary-subtle);color:var(--client-primary);border-color:color-mix(in srgb, var(--client-primary) 18%, white)}.gengage-chat-body{flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.gengage-chat-panel{width:0;transition:width .22s cubic-bezier(.2,.72,.2,1);display:none;overflow:hidden}.gengage-chat-panel--visible{box-sizing:border-box;background:var(--gengage-chat-panel-bg,var(--surface-card));border-right:1px solid var(--border-default);scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--text-muted) 24%, transparent) transparent;flex-direction:column;width:440px;min-width:440px;padding:16px;display:flex;position:relative;overflow-y:auto}.gengage-chat-panel--visible::-webkit-scrollbar{width:6px}.gengage-chat-panel--visible::-webkit-scrollbar-track{background:0 0}.gengage-chat-panel--visible::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text-muted) 24%, transparent);border-radius:3px}.gengage-chat-panel--visible::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--text-muted) 36%, transparent)}.gengage-chat-panel-ai-zone{box-sizing:border-box;border-bottom:1px solid var(--border-subtle);flex-shrink:0;width:100%;max-height:min(42vh,320px);margin-bottom:4px;padding:8px 0 12px;overflow:auto}.gengage-chat-panel-ai-zone:has(.gengage-chat-grouping-cards){max-height:min(52vh,520px)}.gengage-chat-panel-ai-zone:has(.gengage-chat-ai-top-picks){max-height:none;overflow:visible}.gengage-chat-panel-ai-zone[hidden]{display:none!important}.gengage-chat-panel-ai-zone-inner{align-items:center;gap:10px;display:flex}.gengage-chat-panel-ai-zone-text{color:var(--text-muted);font-size:13px}.gengage-chat-grouping-section-title{display:none}.gengage-chat-panel-ai-zone .gengage-chat-grouping-section-title{width:100%;color:var(--text-primary);letter-spacing:-.01em;flex-shrink:0;align-self:stretch;margin:0 0 10px;font-size:15px;font-weight:700;display:block}.gengage-chat-panel-ai-zone .gengage-chat-grouping-cards{flex-direction:column;align-items:stretch;gap:0;width:100%;min-width:0;max-height:none;display:flex}.gengage-chat-panel-ai-zone .gengage-chat-grouping-cards-scroll{-webkit-overflow-scrolling:touch;scrollbar-width:thin;flex-flow:row;align-items:stretch;gap:10px;width:100%;min-width:0;margin:0 -2px;padding:2px 2px 10px;display:flex;overflow:auto hidden}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card{box-sizing:border-box;background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-card);width:136px;min-width:136px;max-width:150px;box-shadow:var(--shadow-1);flex-direction:column;flex:none;align-items:stretch;gap:8px;padding:12px 10px 14px}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card:hover{border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));box-shadow:var(--shadow-2)}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-arrow{display:none}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-img{object-fit:cover;border-radius:8px;width:100%;min-width:0;max-width:88px;height:72px;min-height:72px;margin:0 auto}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-body{text-align:center;flex-direction:column;align-items:center;gap:4px;width:100%}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-name{font-size:13px;font-weight:700;line-height:1.25}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-desc{color:var(--text-muted);font-size:11px;line-height:1.3}.gengage-chat-panel-ai-zone .gengage-chat-grouping-card-labels{white-space:normal;text-overflow:unset;justify-content:center;margin-top:2px;line-height:1.35;overflow:visible}.gengage-chat-panel-divider{cursor:pointer;background:var(--_gengage-border-color);z-index:2;flex-shrink:0;align-items:center;width:4px;transition:background .15s;display:flex;position:relative}.gengage-chat-panel-divider:hover{background:var(--border-strong)}.gengage-chat-panel-divider--hidden{display:none}.gengage-chat-panel-divider-toggle{border:1px solid var(--_gengage-border-color);background:var(--surface-card);cursor:pointer;width:28px;height:48px;color:var(--text-secondary);box-shadow:var(--shadow-1);border-radius:6px;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;transition:background .15s,color .15s;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.gengage-chat-panel-divider-toggle:hover{background:var(--surface-card-muted);color:var(--client-primary)}.gengage-chat-panel-divider-preview{pointer-events:none;border:1px solid var(--border-default);background:color-mix(in srgb, var(--surface-elevated) 96%, transparent);width:38px;height:192px;box-shadow:var(--shadow-2);z-index:1;border-radius:999px;flex-direction:column;gap:2px;padding:6px 4px;display:none;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.gengage-chat-panel-divider-preview:after{content:\"\";background:linear-gradient(180deg, transparent, color-mix(in srgb, var(--surface-shell) 10%, transparent));pointer-events:none;position:absolute;inset:0}.gengage-chat-panel-divider-preview-thumb{border-radius:999px;flex:1 1 0;min-height:0;position:relative;overflow:hidden}.gengage-chat-panel-divider-preview-img{object-fit:cover;filter:grayscale(.55)saturate(.8)brightness(.92);opacity:.9;width:100%;height:100%;transform:scale(1.14)}.gengage-chat-panel.gengage-chat-panel--collapsed{border-right:none;flex:0 0 0;width:0;min-width:0;max-width:0;padding:0;overflow:hidden}.gengage-chat-panel--collapsed~.gengage-chat-panel-divider{background:0 0;width:0}.gengage-chat-panel--collapsed~.gengage-chat-panel-divider .gengage-chat-panel-divider-toggle{left:50%;transform:translate(-50%,-50%)}.gengage-chat-panel--collapsed~.gengage-chat-panel-divider.gengage-chat-panel-divider--preview-active .gengage-chat-panel-divider-preview{display:flex;left:50%;transform:translate(-50%,-50%)}.gengage-chat-conversation{background:var(--surface-card);z-index:1;flex-direction:column;flex:1;min-width:0;display:flex;position:relative;overflow:hidden}.gengage-chat-drawer--with-panel{width:auto;box-shadow:none;background:0 0;overflow:visible}.gengage-chat-drawer--with-panel .gengage-chat-header{border-radius:0;flex-shrink:0}.gengage-chat-drawer--with-panel .gengage-chat-body{flex:1 1 0;align-items:stretch;gap:0;min-height:0;padding:0;overflow:visible}.gengage-chat-drawer--with-panel .gengage-chat-panel--visible{width:clamp(var(--_gengage-chat-panel-min-width), 56vw, var(--_gengage-chat-panel-max-width));min-width:var(--_gengage-chat-panel-min-width);max-width:var(--_gengage-chat-panel-max-width);background:var(--gengage-chat-panel-bg,var(--surface-card));box-shadow:none;border-right:none;border-radius:0;flex:none;max-height:100dvh;margin:0;padding:0 16px 16px;overflow-y:auto}.gengage-chat-drawer--with-panel .gengage-chat-panel-divider{background:0 0;width:0}.gengage-chat-drawer--with-panel .gengage-chat-panel-divider-toggle{background:var(--surface-card);width:20px;height:48px;color:var(--client-primary);border:1px solid color-mix(in srgb, var(--client-primary) 20%, var(--border-default));box-shadow:var(--shadow-1);z-index:10;border-radius:10px;font-size:12px}.gengage-chat-drawer--with-panel .gengage-chat-panel-divider-toggle:hover{background:var(--client-primary-subtle);color:var(--client-primary)}.gengage-chat-drawer--with-panel .gengage-chat-panel-divider--preview-active .gengage-chat-panel-divider-toggle:hover{background:var(--client-primary-subtle)}.gengage-chat-drawer--with-panel .gengage-chat-conversation{flex:0 0 var(--_gengage-chat-conversation-width);width:var(--_gengage-chat-conversation-width);background:var(--surface-card);box-shadow:var(--shadow-2);border-left:none}.gengage-chat-drawer--with-panel .gengage-chat-messages{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--text-muted) 22%, transparent) transparent;padding-right:6px}.gengage-chat-drawer--with-panel .gengage-chat-messages::-webkit-scrollbar{width:0}.gengage-chat-drawer--with-panel .gengage-chat-panel.gengage-chat-panel--collapsed{flex:0 0 0;width:0;min-width:0;max-width:0;padding:0;overflow:hidden}.gengage-chat-drawer--with-panel:has(.gengage-chat-panel--collapsed){width:var(--_gengage-chat-conversation-width);background:var(--surface-elevated,var(--surface-card));box-shadow:var(--_gengage-chat-shadow)}.gengage-chat-drawer--with-panel .gengage-chat-footer{display:none}.gengage-chat-messages{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;flex-direction:column;flex:1;gap:16px;min-height:0;padding:16px;display:flex;overflow-y:auto}.gengage-chat-messages::-webkit-scrollbar{width:6px}.gengage-chat-messages::-webkit-scrollbar-track{background:0 0}.gengage-chat-messages::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text-muted) 22%, transparent);border-radius:3px}.gengage-chat-messages::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--text-muted) 36%, transparent)}.gengage-chat-bubble--presentation-collapsed{display:none!important}.gengage-chat-former-messages-btn{z-index:2;border-radius:var(--radius-pill);border:1px solid var(--ds-chip-border);background:color-mix(in srgb, var(--surface-card) 96%, transparent);color:var(--text-primary);cursor:pointer;box-shadow:var(--shadow-1);flex-shrink:0;align-self:center;margin-bottom:4px;padding:8px 14px;font-size:13px;font-weight:600;position:sticky;top:0}.gengage-chat-former-messages-btn:hover{background:var(--surface-card-muted)}.gengage-chat-bubble{position:relative}@keyframes gengage-chat-msg-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.gengage-chat-bubble--user{max-width:85%}.gengage-chat-bubble--assistant{max-width:85%;margin-left:2px}.gengage-chat-bubble--active{outline:2px solid var(--ds-message-active-outline);outline-offset:-2px}.gengage-chat-bubble--assistant:empty{display:none}.gengage-chat-bubble--assistant .gengage-chat-bubble-text a{color:var(--client-primary);text-decoration:underline}.gengage-chat-bubble--assistant .gengage-chat-bubble-text a:hover{text-decoration:none}.gengage-chat-bubble--assistant .gengage-chat-bubble-text p{margin:0 0 8px}.gengage-chat-bubble--assistant .gengage-chat-bubble-text p:last-child{margin-bottom:0}.gengage-chat-bubble--assistant .gengage-chat-bubble-text ul,.gengage-chat-bubble--assistant .gengage-chat-bubble-text ol{margin:6px 0;padding-left:20px}.gengage-chat-bubble--assistant .gengage-chat-bubble-text li{margin-bottom:6px;line-height:1.5}.gengage-chat-bubble--assistant .gengage-chat-bubble-text code{background:color-mix(in srgb, var(--text-primary) 8%, transparent);border-radius:6px;padding:1px 4px;font-size:.9em}.gengage-chat-bubble--assistant .gengage-chat-bubble-text pre{background:color-mix(in srgb, var(--surface-card) 78%, var(--surface-card-soft));border:1px solid var(--border-subtle);border-radius:12px;margin:4px 0;padding:10px 12px;overflow-x:auto}.gengage-chat-bubble--assistant .gengage-chat-bubble-text table{border-collapse:collapse;margin:4px 0;font-size:.9em}.gengage-chat-bubble--assistant .gengage-chat-bubble-text th,.gengage-chat-bubble--assistant .gengage-chat-bubble-text td{border:1px solid var(--border-default);padding:4px 8px}.gengage-chat-bubble--assistant .gengage-chat-bubble-text img{border-radius:12px;max-width:100%;height:auto;margin:4px 0}.gengage-chat-bubble--assistant .gengage-chat-bubble-text h1,.gengage-chat-bubble--assistant .gengage-chat-bubble-text h2,.gengage-chat-bubble--assistant .gengage-chat-bubble-text h3,.gengage-chat-bubble--assistant .gengage-chat-bubble-text h4,.gengage-chat-bubble--assistant .gengage-chat-bubble-text h5,.gengage-chat-bubble--assistant .gengage-chat-bubble-text h6{color:var(--text-primary);margin:8px 0 4px;line-height:1.3}.gengage-chat-bubble--assistant .gengage-chat-bubble-text blockquote{border-left:3px solid var(--border-default);color:var(--text-secondary);margin:4px 0;padding-left:12px}.gengage-chat-bubble--assistant .gengage-chat-bubble-text{overflow-wrap:break-word}.gengage-chat-bubble--first{border-left:1px solid var(--ds-message-assistant-border)}.gengage-chat-bubble--first .gengage-chat-bubble-text{font-size:inherit}@media (width<=768px){.gengage-chat-bubble--assistant .gengage-chat-bubble-text{line-height:1.5}.gengage-chat-bubble--user{word-break:break-word;max-width:calc(100% - 16px)}}.gengage-chat-typing{align-self:flex-start;max-width:85%}.gengage-chat-typing-dots{flex-shrink:0}.gengage-chat-typing-text{flex:1;min-width:0}.gengage-chat-panel-loading-status{margin-bottom:16px}.gengage-chat-panel-loading-status.gds-progress-loader-panel{box-sizing:border-box;min-width:0;max-width:100%}.gengage-chat-root--mobile .gengage-chat-panel-loading-status.gds-progress-loader-panel{max-width:100%}.gengage-chat-root--mobile .gengage-chat-panel-loading-status .gengage-chat-panel-loading-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.gengage-chat-offline-bar{color:color-mix(in srgb, var(--warning) 72%, var(--text-primary));background:color-mix(in srgb, var(--warning) 10%, white);border-bottom:1px solid color-mix(in srgb, var(--warning) 22%, var(--border-default));align-items:center;gap:6px;padding:6px 12px;font-size:12px;line-height:1.4;display:none}.gengage-chat-offline-bar--visible{display:flex}.gengage-chat-offline-bar:before{content:\"\";background:var(--_gengage-rating-color);border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.gengage-chat-thinking-steps{flex-direction:column;gap:4px;padding:4px 0;display:flex}.gengage-chat-thinking-step{color:var(--text-secondary);align-items:center;gap:6px;font-size:13px;display:flex}.gengage-chat-thinking-step-marker{text-align:center;flex-shrink:0;width:16px;font-size:12px}.gengage-chat-thinking-step-marker--done{color:var(--_gengage-success-color)}.gengage-chat-thinking-step-marker--active{color:var(--ai-accent-start);animation:1.5s ease-in-out infinite gengage-thinking-pulse}@keyframes gengage-thinking-pulse{0%,to{opacity:1}50%{opacity:.4}}.gengage-chat-thinking-step-text{line-height:1.4}.gengage-chat-error{border-radius:var(--radius-control);background:color-mix(in srgb, var(--error) 10%, white);color:color-mix(in srgb, var(--error) 84%, var(--text-primary));text-align:center;border:1px solid color-mix(in srgb, var(--error) 22%, var(--border-default));justify-content:center;align-items:center;gap:10px;padding:10px 14px;font-size:13px;display:flex}.gengage-chat-error-retry{border:1px solid color-mix(in srgb, var(--error) 24%, var(--border-default));border-radius:var(--radius-control);background:var(--surface-card);color:color-mix(in srgb, var(--error) 84%, var(--text-primary));cursor:pointer;flex-shrink:0;padding:4px 12px;font-size:12px;font-weight:500;transition:background .15s,border-color .15s}.gengage-chat-error-retry:hover{background:color-mix(in srgb, var(--error) 8%, white);border-color:color-mix(in srgb, var(--error) 32%, var(--border-default))}.gengage-chat-input-area{border-top:1px solid var(--border-subtle);background:var(--surface-card);z-index:2;flex-wrap:wrap;flex-shrink:0;align-items:center;gap:0;padding:10px 12px 12px;display:flex;position:relative}.gengage-chat-input-pill{background:var(--surface-card);border:1px solid var(--border-default);min-width:0;min-height:52px;box-shadow:none;border-radius:16px;flex:1;align-items:center;gap:12px;padding:6px 6px 6px 14px;transition:border-color .2s,box-shadow .2s;display:flex;overflow:visible}.gengage-chat-input-pill:focus-within{border-color:color-mix(in srgb, var(--client-primary) 28%, white);box-shadow:0 0 0 4px var(--client-focus-ring)}.gengage-chat-input{min-width:0;min-height:40px;max-height:120px;color:var(--_gengage-text-primary);resize:none;background:0 0;border:none;border-radius:0;outline:none;flex:1;align-content:center;padding:0;font-family:inherit;font-size:14px;line-height:1.4;overflow-y:hidden}.gengage-chat-root--mobile .gengage-chat-input-pill{min-height:52px;padding:6px 6px 6px 14px}.gengage-chat-root--mobile .gengage-chat-input{white-space:nowrap;min-height:44px;max-height:44px;font-size:16px;overflow:hidden}.gengage-chat-input::placeholder{color:var(--text-muted);font-size:14px;line-height:normal}.gengage-chat-send{border:1px solid var(--ds-button-primary-border);background:var(--ds-button-primary-bg);width:40px;min-width:40px;height:40px;color:var(--ds-button-primary-fg);cursor:pointer;box-shadow:none;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:0;font-weight:700;transition:background-color .2s cubic-bezier(.4,0,.2,1),box-shadow .2s,transform .15s;display:flex;position:relative}.gengage-chat-send:hover{background:var(--ds-button-primary-bg-hover);box-shadow:none;transform:none}.gengage-chat-send:active{box-shadow:none;transform:translateY(0)}.gengage-chat-send svg{width:18px;height:18px}.gengage-chat-send--stop{background:var(--surface-card-soft);border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));color:var(--text-primary)}.gengage-chat-send--stop:hover{background:color-mix(in srgb, var(--surface-card-soft) 86%, var(--client-primary-subtle));border-color:color-mix(in srgb, var(--client-primary) 24%, var(--border-default));color:var(--client-primary)}.gengage-chat-send-stop-icon{background:currentColor;border-radius:4px;width:12px;height:12px;display:inline-block}.gengage-chat-send--stop:after{content:attr(data-tooltip);background:color-mix(in srgb, var(--surface-shell) 98%, black);border:1px solid color-mix(in srgb, var(--surface-shell) 60%, white);box-shadow:var(--shadow-2);color:var(--text-inverse);white-space:nowrap;opacity:0;pointer-events:none;z-index:12;border-radius:10px;padding:7px 10px;font-size:12px;font-weight:600;line-height:1.2;transition:opacity .16s;position:absolute;top:50%;right:calc(100% + 10px);transform:translateY(-50%)}@media (hover:hover) and (pointer:fine){.gengage-chat-send--stop:hover:after,.gengage-chat-send--stop:focus-visible:after{opacity:1}}.gengage-chat-send:disabled{background:var(--ds-neutral-200);border-color:var(--ds-neutral-200);opacity:.5;box-shadow:none;cursor:not-allowed}.gengage-chat-footer{text-align:center;color:var(--text-muted);border-top:1px solid var(--border-subtle);background:var(--surface-card);padding:4px 10px;font-size:10px}.gengage-chat-uispec{width:100%}.gengage-chat-uispec:empty{display:none}.gengage-chat-uispec>*{animation:.16s cubic-bezier(.2,.7,.2,1) both gengage-chat-widget-enter}@keyframes gengage-chat-widget-enter{0%{opacity:0;transform:translateY(5px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}.gengage-chat-action-buttons{flex-wrap:wrap;justify-content:flex-start;gap:8px;padding:6px 0 4px;display:flex}.gengage-chat-action-buttons:after{content:\"\";flex:1 0 auto}.gengage-chat-action-btn{border:1px solid var(--ds-button-primary-border);border-radius:var(--radius-pill,999px);background:var(--ds-button-primary-bg);color:var(--ds-button-primary-fg);cursor:pointer;white-space:nowrap;flex:none;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:700;line-height:1.25;transition:filter .15s,transform .1s}.gengage-chat-action-btn:hover{background:var(--ds-button-primary-bg-hover)}.gengage-chat-action-btn:active{transform:scale(.97)}.gengage-chat-product-card{border:1px solid var(--ds-card-border);border-radius:var(--ds-card-radius);background:var(--ds-card-bg);width:160px;min-width:160px;max-width:160px;box-shadow:var(--ds-card-shadow);flex-direction:column;transition:transform .1s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.gengage-chat-product-card:hover{box-shadow:var(--ds-card-shadow-hover);transform:translateY(-2px)}.gengage-chat-product-card-img{object-fit:contain;background:var(--surface-card);box-sizing:border-box;width:100%;height:120px;padding:8px;display:block}.gengage-chat-product-card-body{text-align:center;flex-direction:column;flex:1;gap:4px;padding:8px 10px 10px;display:flex}.gengage-chat-product-card-name{color:var(--_gengage-text-primary);-webkit-line-clamp:2;line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;min-height:2.7em;margin-bottom:0;font-size:13px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.gengage-chat-product-card-brand{color:var(--text-secondary);font-size:10px}.gengage-chat-product-card-rating{color:var(--_gengage-rating-color);font-size:11px;line-height:1}.gengage-star-half{display:inline-block;position:relative}.gengage-star-half>span{width:.5em;position:absolute;top:0;left:0;overflow:hidden}.gengage-chat-product-card-review-count{color:var(--text-secondary);font-size:10px}.gengage-chat-product-card-price,.gengage-chat-product-card-price-block{color:var(--text-primary);flex-wrap:wrap;justify-content:center;align-items:baseline;gap:2px 6px;font-size:16px;font-weight:800;display:flex}.gengage-chat-product-card-current-price{font:inherit;color:inherit;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-product-card-meta-row{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:8px;width:100%;min-height:34px;display:flex}.gengage-chat-product-card-meta-row--empty{visibility:hidden}.gengage-chat-product-card-rating-compact{border:1px solid var(--border-subtle);background:var(--surface-card-muted);color:var(--text-secondary);border-radius:999px;flex-shrink:0;align-items:center;gap:5px;padding:3px 8px;font-size:11px;font-weight:700;line-height:1.2;display:inline-flex}.gengage-chat-product-card-rating-compact-star{color:color-mix(in srgb, var(--warning) 60%, var(--text-primary));justify-content:center;align-items:center;line-height:0;display:inline-flex}.gengage-chat-product-card-rating-compact-value{font-variant-numeric:tabular-nums;color:var(--text-primary)}.gengage-chat-product-card-img-actions{z-index:4;pointer-events:none;flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:absolute;top:8px;right:8px}.gengage-chat-product-card-img-actions>*{pointer-events:auto}.gengage-chat-product-card-img-actions .gengage-chat-favorite-btn,.gengage-chat-product-card-img-actions .gengage-chat-find-similar-pill{position:static}.gengage-chat-price-skeleton{background:linear-gradient(90deg, var(--ds-neutral-200) 25%, var(--ds-neutral-100) 50%, var(--ds-neutral-200) 75%);vertical-align:middle;background-size:200% 100%;border-radius:4px;width:80px;height:16px;animation:1.5s ease-in-out infinite gengage-skeleton-price-pulse;display:inline-block}@keyframes gengage-skeleton-price-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.gengage-chat-product-card-cta{text-align:center;color:var(--client-primary);letter-spacing:.01em;border-top:1px solid var(--border-default);cursor:pointer;background:0 0;margin-top:auto;padding:8px 10px;font-size:12px;font-weight:700;text-decoration:none;transition:color .15s,background .15s;display:block}.gengage-chat-product-card-cta:hover{color:var(--client-primary-hover);background:var(--surface-card-soft)}.gengage-chat-product-card-cta:active{background:var(--surface-card-soft)}button.gengage-chat-product-card-cta{appearance:none;font:inherit;box-sizing:border-box;border-bottom:none;border-left:none;border-right:none;width:100%;margin:0}.gengage-chat-product-summary{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card);cursor:pointer;flex-wrap:wrap;align-items:center;gap:12px;margin:4px 0;padding:10px 12px;transition:background .15s,box-shadow .15s,border-color .15s;display:flex}.gengage-chat-product-summary:hover{background:var(--surface-card-soft);border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));box-shadow:var(--shadow-1)}.gengage-chat-product-summary__image{border-radius:var(--radius-control);border:1px solid var(--border-subtle);background:var(--surface-card-soft);flex-shrink:0;width:64px;height:64px;overflow:hidden}.gengage-chat-product-summary__image img{object-fit:cover;width:100%;height:100%;display:block}.gengage-chat-product-summary__content{flex-direction:column;flex:180px;gap:2px;min-width:0;display:flex}.gengage-chat-product-summary__name{color:var(--text-primary);-webkit-line-clamp:2;line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;font-size:13px;font-weight:500;line-height:1.3;display:-webkit-box;overflow:hidden}.gengage-chat-product-summary__rating{color:var(--_gengage-rating-color);font-size:11px;line-height:1}.gengage-chat-product-summary__review-count{color:var(--text-secondary);font-size:11px}.gengage-chat-product-summary__price{color:var(--text-primary);margin-top:2px;font-size:13px;font-weight:600;line-height:1}.gengage-chat-product-summary__price-original{color:var(--_gengage-text-secondary);font-size:11px;font-weight:400;text-decoration:line-through}.gengage-chat-product-summary__price-current{color:var(--client-primary)}.gengage-chat-product-summary__cta{color:var(--client-primary);border-radius:var(--radius-pill);background:var(--client-primary-subtle);white-space:nowrap;flex-shrink:0;margin-left:auto;padding:4px 10px;font-size:12px;font-weight:600;text-decoration:none;transition:background .15s,color .15s}.gengage-chat-product-summary__cta:hover{background:var(--client-primary-soft)}.gengage-chat-product-summary__cta:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:2px}.gengage-chat-product-grid{-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-snap-type:x proximity;gap:12px;min-height:180px;padding:8px 16px 8px 0;display:flex;overflow-x:auto}.gengage-chat-product-grid>*{scroll-snap-align:start;flex:none}.gengage-chat-product-grid::-webkit-scrollbar{display:none}.gengage-chat-review-highlights{padding:4px 0 8px}.gengage-chat-review-empty{color:var(--_gengage-text-secondary);font-size:12px}.gengage-chat-review-subjects-heading{color:var(--text-primary);margin-bottom:10px;font-size:14px;font-weight:700}.gengage-chat-review-subjects{margin-bottom:12px}.gengage-chat-review-subject{color:var(--text-primary);box-shadow:none;gap:6px;padding:7px 11px;font-size:13px;font-weight:600;line-height:1.2}.gengage-chat-review-subject--active{border-color:var(--ds-chip-border-active);background:var(--ds-chip-bg-active);color:var(--ds-chip-fg-active)}.gengage-chat-review-subject-icon{flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;display:inline-flex}.gengage-chat-review-subject-icon svg{width:14px;height:14px;display:block}.gengage-chat-review-subject[data-tone=positive] .gengage-chat-review-subject-icon{color:color-mix(in srgb, var(--success) 82%, var(--text-primary))}.gengage-chat-review-subject[data-tone=negative] .gengage-chat-review-subject-icon{color:color-mix(in srgb, var(--error) 84%, var(--text-primary))}.gengage-chat-review-subject[data-tone=neutral] .gengage-chat-review-subject-icon{color:var(--text-secondary)}.gengage-chat-review-subject-label{color:inherit}.gengage-chat-review-subject-count{color:var(--text-secondary);font-size:12px;font-weight:700}.gengage-chat-review-detail{padding:12px}.gengage-chat-review-detail-meta{flex-wrap:wrap;align-items:baseline;gap:10px 16px;margin-bottom:10px;display:flex}.gengage-chat-review-detail-mentions{color:var(--_gengage-text-primary);font-size:13px;font-weight:700}.gengage-chat-review-detail-positive{color:var(--_gengage-success-color);font-size:13px;font-weight:700}.gengage-chat-review-detail-negative{color:var(--error);font-size:13px;font-weight:700}.gengage-chat-review-snippets{gap:10px;display:grid}.gengage-chat-review-snippet{border:1px solid var(--border-subtle);border-left:3px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card-soft);padding:8px 10px}.gengage-chat-review-snippet[data-tone=positive]{border-left-color:color-mix(in srgb, var(--success) 40%, var(--border-default))}.gengage-chat-review-snippet[data-tone=negative]{border-left-color:color-mix(in srgb, var(--error) 40%, var(--border-default))}.gengage-chat-review-snippet-text{color:var(--_gengage-text-primary);font-size:13px;line-height:1.4}.gengage-chat-review-snippet-rating{color:var(--text-secondary);margin-top:4px;font-size:12px;font-weight:700}.gengage-chat-favorites-page{padding:12px}.gengage-chat-favorites-empty{text-align:center;color:var(--_gengage-text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 24px;display:flex}.gengage-chat-favorites-empty-icon{opacity:.25;color:var(--error)}.gengage-chat-favorites-empty p{margin:0;font-size:13px;line-height:1.5}.gengage-chat-favorites-list{flex-direction:column;gap:10px;display:flex}.gengage-chat-favorites-card{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card);box-shadow:var(--shadow-1);align-items:center;gap:12px;padding:10px 12px;transition:opacity .2s,transform .2s,box-shadow .2s,border-color .2s;display:flex;position:relative}.gengage-chat-favorites-card:hover{border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));box-shadow:var(--shadow-1)}.gengage-chat-favorites-card--removing{opacity:0;transform:translate(8px)}.gengage-chat-favorites-card__image{border-radius:var(--radius-control);background:var(--surface-card-muted);flex-shrink:0;width:56px;height:56px;overflow:hidden}.gengage-chat-favorites-card__image img{object-fit:contain;width:100%;height:100%}.gengage-chat-favorites-card__info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.gengage-chat-favorites-card__name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.gengage-chat-favorites-card__price{color:var(--client-primary);font-size:13px;font-weight:700}.gengage-chat-favorites-remove{border-radius:var(--radius-pill);width:28px;height:28px;color:var(--error);cursor:pointer;opacity:.7;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .15s,background .15s;display:inline-flex}.gengage-chat-favorites-remove:hover{opacity:1;background:color-mix(in srgb, var(--error) 10%, white)}.gengage-chat-divider{border:none;border-top:1px solid var(--_gengage-border-color);margin:8px 0}.gengage-chat-divider-wrapper{align-items:center;gap:8px;margin:8px 0;display:flex}.gengage-chat-divider-wrapper hr{border:none;border-top:1px solid var(--_gengage-border-color);flex:1;margin:0}.gengage-chat-divider-label{color:var(--text-muted);white-space:nowrap;font-size:11px}.gengage-chat--overlay .gengage-chat-drawer{border-radius:0;width:100%;max-width:480px;max-height:100%;margin:0 auto;animation:.24s cubic-bezier(.2,.72,.2,1) gengage-chat-overlay-in;position:fixed;inset:0}@keyframes gengage-chat-overlay-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.gengage-chat-panel-skeleton{box-sizing:border-box;flex-direction:column;gap:14px;min-width:0;max-width:100%;padding:6px 0;display:flex}.gengage-chat-panel-skeleton-block{background:linear-gradient(90deg, var(--ds-neutral-200) 25%, var(--ds-neutral-100) 50%, var(--ds-neutral-200) 75%);background-size:200% 100%;border-radius:10px;height:110px;animation:1.4s infinite gengage-panel-shimmer}@keyframes gengage-panel-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.gengage-chat-panel-skeleton-block--image{border-radius:8px;height:200px;margin-bottom:12px}.gengage-chat-panel-skeleton-block--text{border-radius:4px;height:16px;margin-bottom:8px}.gengage-chat-panel-skeleton-block--text:nth-child(3){width:80%}.gengage-chat-panel-skeleton-block--text:nth-child(4){width:60%}.gengage-chat-panel-skeleton-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.gengage-chat-panel-skeleton-block--card{border-radius:8px;height:120px}.gengage-chat-panel-skeleton--comparison{gap:0;padding:0}.gengage-chat-panel-skeleton--comparison .gengage-chat-panel-loading-status{margin:0;padding:16px 16px 0}.gengage-chat-comparison--skeleton{pointer-events:none;box-sizing:border-box;width:100%}.gengage-chat-comparison-skeleton-shimmer{background:linear-gradient(90deg, var(--ds-neutral-200) 25%, var(--ds-neutral-100) 50%, var(--ds-neutral-200) 75%);background-size:200% 100%;animation:1.4s infinite gengage-panel-shimmer}.gengage-chat-comparison-skeleton-rec-label{border-radius:4px;width:132px;height:12px;margin-bottom:12px}.gengage-chat-comparison-skeleton-rec-img{border-radius:8px;flex-shrink:0;width:80px;height:80px}.gengage-chat-comparison-skeleton-rec-title{border-radius:4px;max-width:100%;height:14px;margin-bottom:6px}.gengage-chat-comparison-skeleton-rec-title--short{width:72%;margin-bottom:8px}.gengage-chat-comparison-skeleton-rec-price{border-radius:4px;width:112px;height:18px}.gengage-chat-comparison-skeleton-hl-label{border-radius:4px;width:96px;height:12px;margin-bottom:6px}.gengage-chat-comparison-skeleton-hl-list{margin:0;padding-left:18px;list-style:none}.gengage-chat-comparison-skeleton-hl-list li{margin-bottom:8px}.gengage-chat-comparison-skeleton-hl-list li:last-child{margin-bottom:0}.gengage-chat-comparison-skeleton-hl-line{border-radius:4px;width:100%;height:13px}.gengage-chat-comparison-skeleton-hl-line--medium{width:92%}.gengage-chat-comparison-skeleton-hl-line--short{width:78%}.gengage-chat-comparison-skeleton-kd-heading{border-radius:4px;width:42%;height:14px;margin:0 0 8px}.gengage-chat-comparison-skeleton-kd-line{border-radius:4px;max-width:100%;height:13px;margin-bottom:8px}.gengage-chat-comparison-skeleton-kd-line:last-child{margin-bottom:0}.gengage-chat-comparison-skeleton-kd-line:nth-child(odd){width:100%}.gengage-chat-comparison-skeleton-kd-line:nth-child(2n){width:90%}.gengage-chat-comparison-special--skeleton{cursor:default;align-items:center;min-height:44px;display:flex}.gengage-chat-comparison-skeleton-special-line{border-radius:4px;width:56%;max-width:280px;height:14px}.gengage-chat-comparison-skeleton-table-wrap{border:1px solid var(--border-default);background:var(--surface-card);-webkit-overflow-scrolling:touch;border-radius:8px;margin-top:12px;overflow-x:auto}.gengage-chat-comparison-skeleton-table-head,.gengage-chat-comparison-skeleton-table-row{grid-template-columns:72px repeat(3,minmax(0,1fr));align-items:start;gap:8px;padding:10px 12px;display:grid}.gengage-chat-comparison-skeleton-table-head{border-bottom:1px solid var(--_gengage-surface-muted);background:var(--_gengage-surface-muted)}.gengage-chat-comparison-skeleton-table-corner{min-height:92px}.gengage-chat-comparison-skeleton-table-col{text-align:center;flex-direction:column;align-items:center;gap:6px;min-width:0;display:flex}.gengage-chat-comparison-skeleton-table-th-img{border-radius:6px;flex-shrink:0;width:60px;height:60px}.gengage-chat-comparison-skeleton-table-th-name{border-radius:3px;width:100%;max-width:100%;height:11px}.gengage-chat-comparison-skeleton-table-th-price{border-radius:3px;width:64%;height:13px}.gengage-chat-comparison-skeleton-table-row{border-bottom:1px solid var(--_gengage-surface-muted)}.gengage-chat-comparison-skeleton-table-row:last-child{border-bottom:none}.gengage-chat-comparison-skeleton-table-label{border-radius:3px;align-self:center;width:100%;max-width:56px;height:12px}.gengage-chat-comparison-skeleton-table-cell{border-radius:3px;width:100%;height:14px}.gengage-chat-panel-skeleton-block--row{border-radius:4px;height:32px;margin-bottom:4px}.gengage-chat-panel .gengage-chat-product-card{border-radius:var(--radius-card);border:1px solid var(--border-default);width:100%;min-width:0;max-width:100%;box-shadow:var(--shadow-1);background:var(--surface-card);flex-direction:column;padding:0;display:flex;overflow:hidden}.gengage-chat-panel .gengage-chat-product-card:hover{box-shadow:var(--shadow-2);border-color:var(--border-strong);transform:translateY(-2px)}.gengage-chat-panel .gengage-chat-product-card-img-actions{gap:6px;top:10px;right:10px}.gengage-chat-panel .gengage-chat-product-card-img-actions .gengage-chat-favorite-btn,.gengage-chat-panel .gengage-chat-product-card-img-actions .gengage-chat-find-similar-pill{border-radius:8px;width:28px;height:28px}.gengage-chat-panel .gengage-chat-product-card-discount-badge{border-radius:var(--radius-pill);background:var(--client-primary);min-width:36px;height:36px;color:var(--client-on-primary);box-shadow:var(--shadow-1);justify-content:center;align-items:center;padding:0 5px;font-size:11px;font-weight:700;display:inline-flex;top:10px;left:10px}.gengage-chat-panel .gengage-chat-product-card-brand{display:none}.gengage-chat-panel .gengage-chat-product-grid{grid-template-columns:repeat(auto-fill,minmax(176px,1fr));gap:12px;min-height:auto;padding:4px 0;display:grid;overflow-x:visible}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-grid.gengage-chat-product-grid--mobile{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-height:auto;padding:6px 0 10px;display:grid;overflow-x:visible}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-grid.gengage-chat-product-grid--mobile .gengage-chat-product-card{box-sizing:border-box;width:100%;min-width:0;max-width:none}.gengage-chat-panel .gengage-chat-product-card-img-wrapper{aspect-ratio:1;background:var(--surface-card-muted);border-radius:var(--radius-card) var(--radius-card) 0 0;flex-shrink:0;width:100%;position:relative;overflow:hidden}.gengage-chat-panel .gengage-chat-product-card-img{border-radius:inherit;object-fit:cover;object-position:center;box-sizing:border-box;background:0 0;width:100%;height:100%;min-height:0;padding:0;display:block}.gengage-chat-panel .gengage-chat-product-card-body{text-align:left;gap:8px;padding:12px 14px 10px}.gengage-chat-panel .gengage-chat-product-card-meta-row{align-items:center;min-height:38px;margin-bottom:0}.gengage-chat-panel .gengage-chat-product-card-price,.gengage-chat-panel .gengage-chat-product-card-price-block{color:var(--text-primary);justify-content:flex-start;font-size:15px;font-weight:600}.gengage-chat-panel .gengage-chat-product-card-current-price{color:var(--client-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-current-price{color:var(--text-primary);font-size:22px;font-weight:800;line-height:1.1}.gengage-chat-product-details-stock{border-radius:999px;width:fit-content;padding:4px 10px;font-size:12px;font-weight:700}.gengage-chat-product-details-stock.is-in-stock{background:color-mix(in srgb, var(--success) 12%, white);color:color-mix(in srgb, var(--success) 82%, var(--text-primary))}.gengage-chat-product-details-stock.is-out-of-stock{background:color-mix(in srgb, var(--error) 10%, white);color:color-mix(in srgb, var(--error) 82%, var(--text-primary))}.gengage-chat-product-details-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.gengage-chat-product-details-cta{border-radius:var(--radius-control,12px);border:1px solid var(--ds-button-primary-border);background:var(--ds-button-primary-bg);min-height:40px;color:var(--ds-button-primary-fg);cursor:pointer;justify-content:center;align-items:center;padding:0 20px;font-size:14px;font-weight:700;text-decoration:none;transition:filter .14s,transform .12s;display:inline-flex}.gengage-chat-product-details-cta:hover{background:var(--ds-button-primary-bg-hover)}.gengage-chat-product-details-cta:active{background:var(--ds-button-primary-bg-active)}.gengage-chat-product-details-atc{border-radius:var(--radius-control);background:var(--_gengage-success-color);color:var(--client-on-primary);cursor:pointer;border:none;justify-content:center;align-items:center;gap:6px;padding:10px 20px;font-family:inherit;font-size:14px;font-weight:700;transition:filter .12s,transform .12s;display:inline-flex}.gengage-chat-product-details-atc:hover{filter:brightness(1.08);transform:translateY(-1px)}.gengage-chat-product-details-atc:active{transform:translateY(1px)}.gengage-chat-product-detail-tabs{border-top:1px solid var(--border-default);margin-top:4px;padding-top:12px}.gengage-chat-product-detail-tab-bar{border-bottom:1px solid var(--border-default);gap:6px;margin-bottom:12px;padding-bottom:8px;display:flex}.gengage-chat-product-detail-tab{border:1px solid var(--border-default);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;flex:1;padding:8px 12px;font-family:inherit;font-size:13px;font-weight:600;transition:color .15s,border-color .15s,background .15s}.gengage-chat-product-detail-tab:hover{color:var(--text-primary);background:color-mix(in srgb, var(--surface-card-soft) 82%, transparent)}.gengage-chat-product-detail-tab--active{color:var(--client-primary);border-color:color-mix(in srgb, var(--client-primary) 26%, var(--border-default));background:color-mix(in srgb, var(--client-primary) 8%, white)}.gengage-chat-product-detail-tab-panel{color:var(--text-secondary);font-size:13px;line-height:1.6}.gengage-chat-product-description{color:var(--text-primary);flex-direction:column;gap:10px;display:flex}.gengage-chat-product-description p,.gengage-chat-product-description h2,.gengage-chat-product-description h3,.gengage-chat-product-description h4,.gengage-chat-product-description ul,.gengage-chat-product-description ol{margin:0}.gengage-chat-product-description h2,.gengage-chat-product-description h3,.gengage-chat-product-description h4{color:var(--text-primary);font-size:15px;font-weight:800;line-height:1.35}.gengage-chat-product-description ul,.gengage-chat-product-description ol{padding-left:20px}.gengage-chat-product-description li+li{margin-top:6px}.gengage-chat-product-description strong,.gengage-chat-product-description b{font-weight:800}.gengage-chat-product-specs-table{border-collapse:collapse;width:100%;font-size:13px}.gengage-chat-product-specs-table tr:nth-child(2n){background:var(--surface-card-muted)}.gengage-chat-product-specs-key{color:var(--text-secondary);white-space:nowrap;border-bottom:1px solid var(--border-subtle);width:40%;padding:6px 10px;font-weight:600}.gengage-chat-product-specs-value{color:var(--text-primary);border-bottom:1px solid var(--border-subtle);padding:6px 10px}.gengage-chat-product-card-atc{opacity:0;z-index:1;transition:opacity .15s;position:absolute;bottom:42px;right:6px}.gengage-chat-product-card:hover .gengage-chat-product-card-atc{opacity:1}@media (hover:none),(pointer:coarse){.gengage-chat-product-card-atc{opacity:1;width:100%;margin:0;display:flex;position:relative;bottom:auto;right:auto}}.gengage-chat-drawer.gengage-chat-drawer--hidden{opacity:0;pointer-events:none;box-shadow:none;visibility:hidden;transform:translate(100%)}.gengage-chat-root--mobile .gengage-chat-drawer.gengage-chat-drawer--hidden{opacity:0;pointer-events:none;box-shadow:none;visibility:hidden;transform:translateY(100%)}@media (width<=900px){.gengage-chat-drawer--with-panel .gengage-chat-panel--visible{width:clamp(280px, calc(100vw - var(--_gengage-chat-conversation-width)), 560px);max-width:560px}}.gengage-chat-attachment-preview{background:var(--surface-card-muted);border:1px solid var(--border-default);box-sizing:border-box;border-radius:8px;align-items:center;gap:8px;width:100%;padding:6px 10px;display:flex}.gengage-chat-attachment-preview--hidden{display:none}.gengage-chat-attachment-preview-thumb{object-fit:cover;border-radius:4px;flex-shrink:0;width:40px;height:40px}.gengage-chat-attachment-name{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.gengage-chat-attachment-remove{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;flex-shrink:0;padding:0 4px;font-size:18px;line-height:1}.gengage-chat-attachment-remove:hover{color:var(--error)}.gengage-chat-attach-btn{background:var(--surface-card-soft);border:1px solid var(--border-default);cursor:pointer;width:40px;height:40px;color:var(--text-primary);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:1;transition:color .15s,background .15s,border-color .15s;display:flex}.gengage-chat-attach-btn:hover{color:var(--client-primary);background:var(--client-primary-subtle);border-color:color-mix(in srgb, var(--client-primary) 18%, white)}.gengage-chat-attach-btn svg{width:20px;height:20px}.gengage-chat-attach-wrap{flex-shrink:0;align-items:center;display:flex;position:relative}.gengage-chat-attach-menu{z-index:50;background:var(--surface-elevated);border:1px solid var(--border-default);border-radius:var(--radius-card);min-width:196px;box-shadow:var(--shadow-3);margin:0;padding:4px 0;list-style:none;position:absolute;bottom:calc(100% + 8px);left:0}.gengage-chat-attach-menu[hidden]{display:none!important}.gengage-chat-attach-menu-item{cursor:pointer;width:100%;color:var(--text-primary);text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:10px 14px;font-family:inherit;font-size:14px;font-weight:500;transition:background .12s;display:flex}.gengage-chat-attach-menu-item:hover{background:var(--surface-card-muted)}.gengage-chat-attach-menu-icon{color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.gengage-chat-attach-menu-label{flex:1;min-width:0}.gengage-chat-attach-menu-sep{background:var(--border-default);height:1px;margin:4px 10px}.gengage-chat-mic-btn{cursor:pointer;border-radius:var(--radius-control);width:32px;height:32px;color:var(--text-secondary);background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;line-height:1;transition:color .15s,background .15s;display:flex}.gengage-chat-mic-btn:hover{color:var(--text-primary);background:var(--surface-card-muted);border-color:var(--border-default)}.gengage-chat-mic-btn svg{width:20px;height:20px}.gengage-chat-mic-btn--active{color:var(--error);animation:1.2s ease-in-out infinite gengage-mic-pulse}.gengage-chat-mic-btn--active:hover{color:color-mix(in srgb, var(--error) 84%, black)}@keyframes gengage-mic-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.15)}}.gengage-chat-input-area--dragover{outline:2px dashed var(--client-primary);outline-offset:-2px;background:color-mix(in srgb, var(--client-primary) 8%, white)}.gengage-chat-attachment-thumb{border-radius:8px;width:120px;max-width:100%;height:auto;margin-bottom:6px;display:block}.gengage-chat-root--mobile .gengage-chat-header-btn,.gengage-chat-root--mobile .gengage-chat-close{border-radius:12px;width:44px;height:44px}.gengage-chat-root--mobile .gengage-chat-attach-btn,.gengage-chat-root--mobile .gengage-chat-mic-btn,.gengage-chat-root--mobile .gengage-chat-send{width:44px;min-width:44px;height:44px}.gengage-chat-root--mobile .gengage-chat-attach-btn svg,.gengage-chat-root--mobile .gengage-chat-mic-btn svg{width:22px;height:22px}.gengage-chat-root--mobile .gengage-chat-panel-divider{cursor:ns-resize;touch-action:pan-y;background:0 0;justify-content:center;align-items:center;width:100%;height:20px;display:flex;position:relative;overflow:visible}.gengage-chat-root--mobile .gengage-chat-panel-divider--hidden{display:none}.gengage-chat-root--mobile .gengage-chat-drawer--with-panel{border-radius:0;width:100%;left:0;right:0}.gengage-chat-root--mobile .gengage-chat-panel{z-index:10;width:100%;min-width:0;max-width:none;max-height:none;box-shadow:none;background:var(--gengage-chat-panel-bg,var(--surface-card));pointer-events:none;border:none;border-radius:0;flex-direction:column;padding:0 12px 16px;transition:transform .32s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;inset:0;overflow-y:auto;transform:translate(100%)}.gengage-chat-root--mobile .gengage-chat-panel--visible{pointer-events:auto;transform:translate(0)}.gengage-chat-root--mobile .gengage-chat-panel-divider,.gengage-chat-root--mobile .gengage-chat-drawer--with-panel .gengage-chat-panel-divider{display:none}.gengage-chat-root--mobile .gengage-chat-drawer--with-panel .gengage-chat-body{flex-direction:row}.gengage-chat-root--mobile .gengage-chat-drawer--with-panel .gengage-chat-conversation{border-left:none;flex:1;width:100%}.gengage-chat-root--mobile .gengage-chat-product-details-share{width:44px;height:44px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-buy-footer,.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-cta{box-sizing:border-box;width:100%;max-width:100%}.gengage-chat-root--mobile .gengage-chat-product-details-panel{gap:8px;padding:10px}.gengage-chat-root--mobile .gengage-chat-product-details-media{min-height:0;padding:8px}.gengage-chat-root--mobile .gengage-chat-product-details-content{gap:6px}.gengage-chat-root--mobile .gengage-chat-product-details-title{font-size:14px;line-height:1.25}.gengage-chat-root--mobile .gengage-chat-product-details-rating{padding:2px 6px;font-size:12px}.gengage-chat-root--mobile .gengage-chat-product-details-original-price{font-size:12px}.gengage-chat-root--mobile .gengage-chat-product-details-actions{gap:6px;margin-top:2px}.gengage-chat-root--mobile .gengage-chat-product-details-cta{min-height:38px;padding:0 14px;font-size:13px}.gengage-chat-root--mobile .gengage-chat-product-grid:not(.gengage-chat-product-grid--mobile){scroll-snap-type:x mandatory}.gengage-chat-root--mobile .gengage-chat-product-grid.gengage-chat-product-grid--mobile{scroll-snap-type:none}.gengage-chat-root--mobile .gengage-chat-product-card{box-sizing:border-box;scroll-snap-align:center;width:280px;min-width:280px;max-width:100%}.gengage-chat-root--mobile .gengage-chat-product-grid--mobile .gengage-chat-product-card{scroll-snap-align:start;width:100%;min-width:0;max-width:none}.gengage-chat-root--mobile .gengage-chat-product-card-img-wrapper{justify-content:center;align-items:center;min-height:0;display:flex}.gengage-chat-root--mobile .gengage-chat-product-card-img{object-fit:contain;object-position:center;width:auto;max-width:100%;height:auto;min-height:0;max-height:180px;display:block}.gengage-chat-root--mobile .gengage-chat-product-card-discount-badge{padding:2px 6px;font-size:10px;font-weight:700;line-height:1.2}.gengage-chat-root--mobile .gengage-chat-drawer{border-radius:0;width:100%;max-height:100%;position:fixed;inset:0}.gengage-chat-root--mobile .gengage-chat-bubble{max-width:100%}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-img-wrapper{aspect-ratio:1;justify-content:center;align-items:center;min-height:0;display:flex}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-img{object-fit:contain;object-position:center;width:auto;max-width:100%;height:auto;min-height:0;max-height:min(200px,72%)}.gengage-chat-root--mobile .gengage-chat-product-card-img-actions .gengage-chat-favorite-btn,.gengage-chat-root--mobile .gengage-chat-product-card-img-actions .gengage-chat-find-similar-pill{flex-shrink:0;width:28px;min-width:28px;height:28px;min-height:28px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-discount-badge{min-width:28px;height:28px;padding:0 6px;font-size:10px;font-weight:700}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-buy-footer{padding:0 12px 14px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-buy-trigger{box-sizing:border-box;white-space:normal;text-align:center;-webkit-hyphens:auto;hyphens:auto;min-width:0;max-width:100%;line-height:1.25}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card .gengage-chat-product-card-cta{box-sizing:border-box;white-space:normal;width:calc(100% - 24px);min-width:0;max-width:calc(100% - 24px);margin-left:12px;margin-right:12px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-rating-compact{gap:3px;padding:2px 6px;font-size:10px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-card-stock{padding:2px 5px;font-size:10px}.gengage-chat-root--mobile .gengage-chat-messages{scrollbar-width:none;padding:12px 16px}.gengage-chat-root--mobile .gengage-chat-messages::-webkit-scrollbar{display:none}.gengage-chat-root--mobile .gengage-chat-drawer{border-top:none}.gengage-chat-root--mobile .gengage-chat-header{border-radius:16px 16px 0 0;min-height:72px;padding-top:22px;padding-bottom:8px}.gengage-chat-root--mobile.gengage-chat-root--mobile-full .gengage-chat-header{border-radius:0}.gengage-chat-root--mobile .gengage-chat-conversation{-webkit-overflow-scrolling:touch;min-height:0;overflow-y:auto}.gengage-chat-root--mobile .gengage-chat-product-details-img{object-fit:contain;min-height:0;max-height:200px}.gengage-chat-root--mobile .gengage-chat-product-details-actions{flex-wrap:wrap;gap:8px}.gengage-chat-root--mobile .gengage-chat-product-details-promos{flex-wrap:wrap;gap:4px}.gengage-chat-root--mobile .gengage-chat-input::placeholder{font-size:13px}.gengage-chat-kvkk-banner{background:color-mix(in srgb, var(--warning) 10%, white);border-bottom:1px solid color-mix(in srgb, var(--warning) 24%, var(--border-default));color:color-mix(in srgb, var(--warning) 72%, var(--text-primary));align-items:flex-start;gap:8px;padding:10px 14px;font-size:12px;line-height:1.5;display:flex}.gengage-chat-kvkk-content{flex:1;min-width:0}.gengage-chat-kvkk-content a{color:color-mix(in srgb, var(--warning) 82%, var(--text-primary));text-decoration:underline}.gengage-chat-kvkk-dismiss{width:20px;height:20px;color:color-mix(in srgb, var(--warning) 84%, var(--text-primary));cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:18px;line-height:1}.gengage-chat-comparison{box-sizing:border-box;flex-direction:column;gap:12px;padding:16px;display:flex}.gengage-chat-comparison-heading{letter-spacing:.05em;color:var(--text-primary);margin:0 0 16px;font-size:14px;font-weight:700}.gengage-chat-comparison-recommended{border:1px solid color-mix(in srgb, var(--client-primary) 18%, var(--border-default));border-radius:var(--radius-card);background:var(--surface-card);box-shadow:var(--shadow-1);padding:16px}.gengage-chat-comparison-recommended-label{color:var(--client-primary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:12px;font-size:12px;font-weight:700}.gengage-chat-comparison-recommended-body{grid-template-columns:minmax(108px,148px) minmax(0,1fr);align-items:flex-start;gap:16px;display:grid}.gengage-chat-comparison-recommended-media{aspect-ratio:1;border:1px solid var(--border-subtle);background:var(--surface-card);border-radius:14px;justify-content:center;align-items:center;display:flex;overflow:hidden}.gengage-chat-comparison-recommended-body img,.gengage-chat-comparison-recommended-placeholder{object-fit:contain;box-sizing:border-box;width:100%;height:100%;padding:8px}.gengage-chat-comparison-recommended-placeholder{background:var(--surface-card-muted)}.gengage-chat-comparison-recommended-info{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.gengage-chat-comparison-recommended-title{color:var(--text-primary);margin:0;font-size:24px;font-weight:800;line-height:1.2}.gengage-chat-comparison-recommended-meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.gengage-chat-comparison-recommended-rating{border:1px solid var(--border-subtle);background:var(--surface-card-muted);color:color-mix(in srgb, var(--warning) 78%, var(--text-primary));border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:700;display:inline-flex}.gengage-chat-comparison-recommended-rating-value{color:var(--text-primary)}.gengage-chat-comparison-recommended-price{color:var(--text-primary);font-size:20px;font-weight:700}.gengage-chat-comparison-highlights{border-top:1px solid var(--border-subtle);padding-top:12px}.gengage-chat-comparison-highlights-label{color:var(--text-secondary);margin-bottom:6px;font-size:12px;font-weight:600}.gengage-chat-comparison-highlights ul{color:var(--text-primary);margin:0;padding-left:18px;font-size:14px;line-height:1.55}.gengage-chat-comparison-special{background:color-mix(in srgb, var(--warning) 10%, white);border:1px solid color-mix(in srgb, var(--warning) 24%, var(--border-default));border-radius:var(--radius-card);color:color-mix(in srgb, var(--warning) 72%, var(--text-primary));margin-bottom:12px;padding:12px 16px;font-size:13px}.gengage-chat-comparison-special summary{cursor:pointer;font-weight:600}.gengage-chat-comparison-special ul{margin:8px 0 0;padding-left:18px;line-height:1.6}.gengage-chat-comparison-table{border-collapse:collapse;background:var(--surface-card);width:100%;font-size:13px}.gengage-chat-comparison-table th,.gengage-chat-comparison-table td{text-align:center;border-bottom:1px solid var(--border-subtle);vertical-align:top;padding:10px 12px}.gengage-chat-comparison-table th{color:var(--text-secondary);font-size:12px;font-weight:600}.gengage-chat-comparison-table thead th:not(:first-child){vertical-align:top}.gengage-chat-comparison-table-header-cell{box-sizing:border-box;grid-template-rows:auto 1fr auto;place-items:start center;gap:6px;height:100%;min-height:0;display:grid}.gengage-chat-comparison-table-header-cell--clickable{cursor:pointer;border-radius:var(--radius-control);padding:6px;transition:background .16s,box-shadow .16s,transform .16s}.gengage-chat-comparison-table-header-cell--clickable:hover{background:var(--surface-card-soft);box-shadow:var(--shadow-1);transform:translateY(-1px)}.gengage-chat-comparison-table-header-cell--clickable:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:2px}.gengage-chat-comparison-table-header-cell img{object-fit:contain;border-radius:calc(var(--radius-control) - 4px);background:var(--surface-card-muted);width:60px;height:60px}.gengage-chat-comparison-table-header-img-placeholder{border-radius:calc(var(--radius-control) - 4px);background:var(--surface-card-muted);width:60px;height:60px}.gengage-chat-comparison-table-product-name{width:100%;min-width:0;color:var(--text-secondary);text-align:center;-webkit-line-clamp:2;line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;align-self:start;font-size:12px;font-weight:600;line-height:1.35;display:-webkit-box;overflow:hidden}.gengage-chat-comparison-table-price{color:var(--text-primary);text-align:center;width:100%;font-weight:700}.gengage-chat-comparison-label{text-align:left;color:var(--text-secondary);white-space:nowrap;font-weight:600}.gengage-chat-comparison-selected{background:color-mix(in srgb, var(--client-primary) 6%, white)}.gengage-chat-comparison-recommended-text{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.6}.gengage-chat-comparison-key-differences{border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-card-muted)}.gengage-chat-comparison-key-differences-summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;font-weight:700;list-style:none;display:flex}.gengage-chat-comparison-key-differences-summary::-webkit-details-marker{display:none}.gengage-chat-comparison-key-differences-summary-label{color:var(--text-primary)}.gengage-chat-comparison-key-differences-summary-meta{color:var(--client-primary);font-size:13px;font-weight:700}.gengage-chat-comparison-key-differences[open] .gengage-chat-comparison-key-differences-summary-meta{opacity:0}.gengage-chat-comparison-key-differences-content{color:var(--text-primary);padding:0 16px 16px;font-size:14px;line-height:1.7}.gengage-chat-comparison-key-differences-content ul,.gengage-chat-comparison-key-differences-content ol{margin:0;padding-left:20px}.gengage-chat-comparison-key-differences-content li+li{margin-top:8px}@media (width<=960px){.gengage-chat-comparison-recommended-body{grid-template-columns:1fr}.gengage-chat-comparison-recommended-title{font-size:20px}}.gengage-chat-pills{border-top:1px solid var(--border-subtle);background:var(--surface-card);padding:8px 12px 6px;position:relative}.gengage-chat-pills-scroll{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:8px;padding-right:28px;display:flex;overflow-x:auto}.gengage-chat-pills-scroll::-webkit-scrollbar{display:none}.gengage-chat-root--mobile .gengage-chat-pills-scroll{flex-wrap:wrap;gap:6px}.gengage-chat-root--mobile .gengage-chat-pill{white-space:normal;max-width:100%}.gengage-chat-pill{border:1px solid var(--ds-chip-border-active);background:var(--ds-chip-bg-active);color:var(--ds-chip-fg-active);white-space:nowrap;cursor:pointer;border-radius:999px;flex:none;padding:10px 14px;font-family:inherit;font-size:13px;font-weight:700;transition:background .15s,border-color .15s,color .15s}.gengage-chat-pill:hover{background:color-mix(in srgb, var(--client-primary) 12%, white);border-color:color-mix(in srgb, var(--client-primary) 36%, white)}.gengage-chat-pill:active{transform:none}.gengage-chat-pill--rich{border-radius:18px;align-items:center;gap:10px;padding:8px 14px 8px 8px;display:flex}.gengage-chat-pill-img{object-fit:cover;background:var(--surface-card);border-radius:12px;flex-shrink:0;width:32px;height:32px}.gengage-chat-pill-text{font-size:13px;font-weight:600;line-height:1.2}.gengage-chat-pill-desc{display:none}.gengage-chat-pill--rich .gengage-chat-pill-desc{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:160px;font-size:11px;font-weight:500;display:block;overflow:hidden}.gengage-chat-pills-arrow{border:1px solid var(--border-default);background:var(--surface-card);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;box-shadow:var(--shadow-1);z-index:1;border-radius:12px;justify-content:center;align-items:center;font-size:16px;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.gengage-chat-pills-arrow:hover{background:var(--surface-card-soft);color:var(--client-primary)}@media (prefers-reduced-motion:reduce){.gengage-chat-uispec>*,.gengage-chat-action-btn,.gengage-chat-product-card,.gengage-chat-product-card-cta,.gengage-chat-send,.gengage-chat-launcher,.gengage-chat-pill,.gengage-chat-drawer,.gengage-chat-typing-dots span,.gengage-chat-thinking-step-marker--active,.gengage-chat-bubble,.gengage-chat-panel-skeleton-block,.gengage-chat-ai-toppick-card,.gengage-chat-mic-btn--active,.gengage-chat-ai-toppick-spinner:after,.gengage-skeleton-card,.gengage-skeleton-line,.gengage-skeleton-img,.gengage-skeleton-text,.gengage-skeleton-price,.gengage-chat-cart-toast,.gengage-chat-header-btn--cart-flash{transition:none!important;animation:none!important;transform:none!important}}.gengage-chat-bubble--user{position:relative}.gengage-chat-rollback-btn{border-radius:var(--radius-pill);background:var(--surface-card-muted);width:24px;height:24px;color:var(--text-secondary);cursor:pointer;opacity:0;border:none;justify-content:center;align-items:center;padding:0;transition:opacity .15s;display:flex;position:absolute;top:50%;left:-28px;transform:translateY(-50%)}.gengage-chat-bubble--user:hover .gengage-chat-rollback-btn{opacity:1}.gengage-chat-rollback-btn:hover{background:var(--client-primary);color:var(--client-on-primary)}.gengage-chat-bubble--hidden{display:none}.gengage-chat-ai-top-picks{flex-direction:column;gap:12px;padding:8px 0;scroll-margin-top:60px;display:flex}.gengage-chat-ai-top-picks-title{color:var(--text-primary);margin:0 0 4px;font-size:15px;font-weight:600}.gengage-chat-ai-top-picks-scroll{flex-direction:column;gap:10px;min-width:0;display:flex}.gengage-chat-ai-top-picks-rest,.gengage-chat-ai-toppick-top-row{display:contents}.gengage-chat-ai-toppick-detail{width:100%;min-width:0}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks{gap:0;padding-top:4px}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-title{flex-shrink:0;width:100%;margin:0 0 10px;font-size:18px;font-weight:700;line-height:1.2}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll{scrollbar-width:none;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(0,auto);align-items:stretch;gap:12px;margin:0;padding:12px 0;display:grid;overflow:visible}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner,.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact{flex:initial;scroll-snap-align:none;width:100%;min-width:0;max-width:none}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child{grid-column:1/-1;grid-template-rows:auto auto;grid-template-columns:minmax(260px,340px) minmax(0,1fr);align-items:start;gap:12px 18px;display:grid}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child:has(.gengage-chat-ai-toppick-detail){grid-template-rows:auto auto auto}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact{flex-direction:column;align-items:stretch}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-media,.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-media{max-height:140px}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child .gengage-chat-ai-toppick-media{aspect-ratio:4/3;grid-area:1/1/span 2;max-height:260px}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child:has(.gengage-chat-ai-toppick-detail) .gengage-chat-ai-toppick-media{grid-row:1/span 3}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child .gengage-chat-ai-toppick-detail{grid-area:2/2;min-width:0;padding-top:0}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-img,.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-img{object-fit:contain;flex-shrink:0;width:100%;height:100%;max-height:140px}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child .gengage-chat-ai-toppick-img{max-height:260px}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-body,.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-body{flex:1;min-height:0;padding:0}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child .gengage-chat-ai-toppick-body{grid-area:1/2;padding-top:6px}.gengage-chat-panel-ai-zone .gengage-chat-ai-top-picks-scroll>:first-child:has(.gengage-chat-ai-toppick-detail) .gengage-chat-ai-toppick-cta{grid-row:3}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-cta{border:1px solid var(--ds-button-secondary-border);background:var(--ds-button-secondary-bg);width:calc(100% - 24px);color:var(--ds-button-secondary-fg);align-self:stretch;margin:14px 12px 12px}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-cta{border:1px solid var(--ds-button-secondary-border);background:var(--ds-button-secondary-bg);width:auto;min-width:180px;color:var(--ds-button-secondary-fg);grid-area:2/2;place-self:end start;margin:0}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-cta:hover,.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-cta:hover{background:var(--ds-button-secondary-bg-hover);filter:none}.gengage-chat-panel-ai-zone .gengage-chat-ai-toppick-card--winner{border-color:color-mix(in srgb, var(--client-primary) 26%, var(--border-default));box-shadow:var(--shadow-2)}.gengage-chat-ai-toppick-rating{border:1px solid var(--border-subtle);background:var(--surface-card-muted);color:var(--text-secondary);border-radius:999px;align-self:flex-start;align-items:center;gap:5px;margin-top:4px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.gengage-chat-ai-toppick-rating-icon{color:color-mix(in srgb, var(--warning) 60%, var(--text-primary));justify-content:center;align-items:center;line-height:0;display:inline-flex}.gengage-chat-ai-toppick-rating-value{color:var(--text-primary)}.gengage-chat-ai-toppick-media .gengage-chat-ai-toppick-discount-badge{background:var(--client-primary);color:var(--client-on-primary);z-index:1;border-radius:999px;padding:2px 6px;font-size:9px;font-weight:800;line-height:1.2;position:absolute;top:4px;left:4px;right:auto}.gengage-chat-ai-toppick-card--winner,.gengage-chat-ai-toppick-card--compact{box-sizing:border-box;border-radius:var(--radius-card);background:var(--surface-card);flex-direction:column;align-items:stretch;padding:12px;transition:box-shadow .2s,background .15s,transform .15s;display:flex;position:relative;overflow:visible}.gengage-chat-ai-toppick-card--winner{border:1.5px solid color-mix(in srgb, var(--client-primary) 24%, var(--border-default))}.gengage-chat-ai-toppick-card--winner:hover{background:var(--surface-card-muted);box-shadow:var(--shadow-2)}.gengage-chat-ai-toppick-card--compact{border:1px solid var(--border-default)}.gengage-chat-ai-toppick-card--compact:hover{background:var(--surface-card-muted);box-shadow:var(--shadow-1);transform:translateY(-1px)}.gengage-chat-ai-toppick-badge{z-index:2;box-sizing:border-box;text-transform:uppercase;letter-spacing:.05em;pointer-events:none;white-space:normal;border-radius:999px;max-width:calc(100% - 24px);padding:2px 10px;font-size:10px;font-weight:700;line-height:1.25;position:absolute;top:-10px;left:12px}.gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-badge{background:var(--client-primary);color:var(--client-on-primary)}.gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-badge{background:var(--surface-card-muted);color:var(--text-secondary)}.gengage-chat-ai-toppick-media{aspect-ratio:1;border:1px solid var(--border-subtle);background:var(--surface-card);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:100%;margin-top:4px;margin-bottom:8px;display:flex;position:relative;overflow:hidden}.gengage-chat-ai-toppick-img{object-fit:contain;box-sizing:border-box;width:auto;max-width:100%;height:auto;max-height:100%;padding:4px}.gengage-chat-ai-toppick-body{flex-direction:column;flex:1;gap:0;min-width:0;padding:0;display:flex}.gengage-chat-ai-toppick-name{color:var(--text-primary);text-overflow:ellipsis;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin-bottom:4px;font-size:14px;font-weight:700;line-height:1.375;display:-webkit-box;overflow:hidden}.gengage-chat-ai-toppick-role{color:var(--client-primary);text-transform:uppercase;letter-spacing:.3px;font-size:11px;font-weight:600}.gengage-chat-ai-toppick-labels{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.gengage-chat-ai-toppick-label{border-radius:999px;padding:4px 8px;font-size:10px;font-weight:700}.gengage-chat-ai-toppick-label[data-sentiment=positive]{background:color-mix(in srgb, var(--success) 12%, white);color:color-mix(in srgb, var(--success) 82%, var(--text-primary))}.gengage-chat-ai-toppick-label[data-sentiment=negative]{background:color-mix(in srgb, var(--error) 10%, white);color:color-mix(in srgb, var(--error) 82%, var(--text-primary))}.gengage-chat-ai-toppick-label[data-sentiment=neutral]{background:var(--surface-card-muted);color:var(--text-secondary)}.gengage-chat-ai-toppick-reason{color:var(--text-secondary);margin:10px 0 0;font-size:13px;line-height:1.5}.gengage-chat-ai-toppick-review{border:1px solid var(--border-subtle);background:var(--surface-card-muted);color:var(--text-primary);border-radius:14px;margin-top:10px;padding:10px 12px;font-size:12px;line-height:1.45}.gengage-chat-ai-toppick-snippet{color:var(--text-secondary);margin:8px 0 0;font-size:12px;line-height:1.45}.gengage-chat-ai-toppick-price{color:var(--text-primary);margin-top:4px;font-size:14px;font-weight:700}.gengage-chat-ai-toppick-original-price{color:var(--text-secondary);font-size:12px;font-weight:400;text-decoration:line-through}.gengage-chat-ai-toppick-cta{border:1px solid var(--ds-button-primary-border);border-radius:var(--radius-control,12px);background:var(--ds-button-primary-bg);width:calc(100% - 24px);color:var(--ds-button-primary-fg);cursor:pointer;text-align:center;box-sizing:border-box;opacity:0;pointer-events:none;flex-shrink:0;align-self:stretch;margin:14px 12px 12px;padding:8px 0;font-size:13px;font-weight:700;transition:opacity .18s,transform .18s,background .15s;display:block;transform:translateY(6px)}.gengage-chat-ai-toppick-card--winner:hover .gengage-chat-ai-toppick-cta,.gengage-chat-ai-toppick-card--compact:hover .gengage-chat-ai-toppick-cta,.gengage-chat-ai-toppick-card--winner:focus-within .gengage-chat-ai-toppick-cta,.gengage-chat-ai-toppick-card--compact:focus-within .gengage-chat-ai-toppick-cta{opacity:1;pointer-events:auto;transform:translateY(0)}.gengage-chat-ai-toppick-cta:hover{background:var(--ds-button-primary-bg-hover)}.gengage-chat-ai-toppick-spinner{background:color-mix(in srgb, var(--surface-card) 78%, transparent);z-index:6;border-radius:12px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.gengage-chat-ai-toppick-spinner:after{content:\"\";border:3px solid var(--border-default);border-top-color:var(--ai-accent-start);border-radius:50%;width:24px;height:24px;animation:.7s linear infinite gengage-spin}@keyframes gengage-spin{to{transform:rotate(360deg)}}.gengage-chat-root--mobile .gengage-chat-ai-top-picks{gap:8px;padding:4px 0}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-title{margin:0 0 2px;font-size:14px}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-scroll{flex-direction:column;gap:8px;min-width:0;padding:6px 0 2px;display:flex;overflow:visible}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-scroll>:first-child{flex-direction:column;align-items:stretch;width:100%;min-width:0;display:flex}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-scroll>:first-child.gengage-chat-ai-toppick-card--winner{flex-direction:column}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-rest{-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scrollbar-width:none;-ms-overflow-style:none;flex-flow:row;gap:8px;min-width:0;margin:0 -2px;padding:2px 2px 8px;display:flex;overflow:auto visible}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-rest::-webkit-scrollbar{width:0;height:0;display:none}.gengage-chat-root--mobile .gengage-chat-ai-top-picks-rest .gengage-chat-ai-toppick-card--compact{scroll-snap-align:start;flex:0 0 min(82vw,272px);width:min(82vw,272px);min-width:0;max-width:272px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner{scroll-snap-align:none;flex-shrink:1;width:100%;min-width:0;max-width:none;padding:10px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact{scroll-snap-align:none;flex-shrink:1;width:100%;min-width:0;max-width:none;padding:6px 8px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner{border:1.5px solid color-mix(in srgb, var(--client-primary) 28%, var(--border-default));margin-bottom:8px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact{border:1px solid var(--border-default);box-shadow:none;flex-direction:column;align-items:stretch}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-top-row{flex-direction:row;align-items:flex-start;gap:10px;width:100%;min-width:0;display:flex}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-media{aspect-ratio:1;border-radius:10px;flex:0 0 clamp(96px,30vw,124px);width:clamp(96px,30vw,124px);height:clamp(96px,30vw,124px);max-height:none;margin:0}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-img{object-fit:contain;width:100%;height:100%;max-height:100%;padding:4px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-body{flex:1;min-width:0;padding-top:2px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-detail{width:100%;margin-top:10px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-reason{color:var(--text-primary);margin:0;font-size:12px;line-height:1.45;display:block!important}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-review{color:var(--text-secondary);border:1px solid var(--border-subtle);background:var(--surface-card-muted);border-radius:12px;margin-top:8px;padding:8px 10px;font-size:12px;font-style:italic;line-height:1.4;display:block!important}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-top-row{flex-direction:row;align-items:flex-start;gap:6px;width:100%;min-width:0;display:flex}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-media{aspect-ratio:1;border-radius:8px;flex:0 0 64px;width:64px;height:64px;max-height:64px;margin:0}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-img{object-fit:contain;width:100%;max-height:100%;padding:2px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-body{flex:1;min-width:0}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-rating{display:none}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-detail{width:100%;margin-top:4px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-snippet{color:var(--text-secondary);-webkit-line-clamp:2;line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;margin:0;font-size:10px;line-height:1.3;display:-webkit-box;overflow:hidden}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-role-line{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:0 0 2px;font-size:9px;font-weight:600;line-height:1.15}.gengage-chat-root--mobile .gengage-chat-ai-toppick-snippet{color:var(--text-secondary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:11px;line-height:1.35;display:-webkit-box;overflow:hidden}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-media .gengage-chat-product-card-img-actions{gap:5px;top:3px;right:5px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-media .gengage-chat-product-card-img-actions{gap:5px;top:5px;right:6px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-badge{letter-spacing:.04em;background:var(--client-primary);max-width:calc(100% - 18px);color:var(--client-on-primary);box-shadow:none;border:none;padding:2px 6px;font-size:8px;font-weight:700;line-height:1.15;top:-14px;left:8px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-name{margin-bottom:1px;font-size:12px;line-height:1.22}.gengage-chat-root--mobile .gengage-chat-ai-toppick-name{margin-bottom:2px;font-size:13px;line-height:1.28}.gengage-chat-root--mobile .gengage-chat-ai-toppick-rating{gap:3px;margin-top:2px;padding:2px 6px;font-size:10px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-price{margin-top:1px;font-size:13px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-price{margin-top:2px;font-size:13px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-original-price{font-size:11px}.gengage-chat-root--mobile .gengage-chat-ai-toppick-labels,.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--compact .gengage-chat-ai-toppick-cta{display:none!important}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-cta{opacity:1;pointer-events:auto;border:1px solid var(--client-primary);background:var(--surface-card);width:calc(100% - 16px);color:var(--client-primary);box-shadow:none;filter:none;align-self:stretch;margin:8px 8px 6px;padding:6px 0;font-size:12px;font-weight:600;transform:none}.gengage-chat-root--mobile .gengage-chat-ai-toppick-card--winner .gengage-chat-ai-toppick-cta:hover{background:color-mix(in srgb, var(--client-primary) 10%, var(--surface-card));color:var(--client-primary);border-color:var(--client-primary);filter:none}.gengage-chat-root--mobile .gengage-chat-rollback-btn{left:-24px}.gengage-chat-grounding-review{align-items:center;gap:12px;padding:12px 16px;transition:background .15s,border-color .15s,box-shadow .15s;display:flex}.gengage-chat-grounding-review:hover{background:var(--ds-card-bg-hover);border-color:var(--ds-card-border-hover);box-shadow:var(--ds-card-shadow-hover)}.gengage-chat-grounding-review-icon{background:color-mix(in srgb, var(--client-primary) 8%, var(--surface-card));width:32px;height:32px;color:var(--client-primary);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.gengage-chat-grounding-review-icon svg{width:18px;height:18px;display:block}.gengage-chat-grounding-review-body{flex:1;min-width:0}.gengage-chat-grounding-review-title{color:var(--text-primary);font-size:13px;font-weight:600}.gengage-chat-grounding-review-subtitle{color:var(--text-muted);margin-top:2px;font-size:12px}.gengage-chat-grounding-review-cta{color:var(--client-primary);white-space:nowrap;flex-shrink:0;align-items:center;gap:4px;font-size:13px;font-weight:600;display:inline-flex}.gengage-chat-grounding-review-cta-icon{align-items:center;display:inline-flex}.gengage-chat-grounding-review-cta-icon svg{width:14px;height:14px;display:block}.gengage-chat-grouping-cards{flex-direction:column;gap:6px;display:flex}.gengage-chat-grouping-cards-scroll{flex-direction:column;gap:6px;min-width:0;display:flex}.gengage-chat-grouping-card{background:var(--surface-card-soft);border:1px solid var(--border-default);border-radius:var(--radius-control);align-items:center;gap:10px;padding:8px 12px;transition:background .15s,border-color .15s;display:flex}.gengage-chat-grouping-card:hover{background:color-mix(in srgb, var(--client-primary) 6%, white);border-color:color-mix(in srgb, var(--client-primary) 24%, var(--border-default))}.gengage-chat-grouping-card-arrow{color:var(--client-primary);flex-shrink:0;font-size:14px;display:none}.gengage-chat-grouping-card-img{border-radius:calc(var(--radius-control) - 4px);object-fit:cover;flex-shrink:0;width:48px;min-width:48px;height:48px;min-height:48px}.gengage-chat-grouping-card-body{flex-direction:column;flex:1;align-items:flex-start;gap:2px;min-width:0;display:flex}.gengage-chat-grouping-card-name{color:var(--text-primary);font-size:13px;font-weight:600}.gengage-chat-grouping-card-desc{color:var(--text-muted);font-size:12px}.gengage-chat-grouping-card-labels{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.gengage-chat-grouping-card-label{color:var(--text-secondary);background:var(--surface-card-muted);border:1px solid var(--border-subtle);border-radius:999px;padding:4px 8px;font-size:10px;font-weight:700;line-height:1.2}.gengage-chat-root--mobile .gengage-chat-grouping-card-img{display:none}.gengage-chat-root--mobile .gengage-chat-grouping-card-arrow{display:inline}.gengage-chat-suggested-search-cards{flex-direction:column;gap:8px;display:flex}.gengage-chat-suggested-search-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-card);box-shadow:var(--shadow-1);align-items:center;gap:14px;padding:14px 16px;transition:background .15s,border-color .15s,box-shadow .15s,transform .15s;display:flex}.gengage-chat-suggested-search-card:hover{background:var(--surface-card);border-color:color-mix(in srgb, var(--client-primary) 24%, var(--border-default));box-shadow:var(--shadow-2);transform:translateY(-1px)}.gengage-chat-suggested-search-card-img{object-fit:contain;background:var(--surface-card-muted);border:1px solid var(--border-subtle);border-radius:14px;flex-shrink:0;width:64px;height:64px;padding:4px}.gengage-chat-suggested-search-card-body{flex:1;min-width:0}.gengage-chat-suggested-search-card-name{color:var(--text-primary);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:15px;font-weight:700;line-height:1.35;display:-webkit-box;overflow:hidden}.gengage-chat-product-details-gallery{position:relative}.gengage-chat-product-details-gallery .gengage-chat-product-details-img{touch-action:pan-y}.gengage-chat-product-gallery-nav{z-index:3;border:1px solid var(--border-default);border-radius:var(--radius-pill);cursor:pointer;background:color-mix(in srgb, var(--surface-card) 92%, transparent);width:36px;min-width:36px;height:36px;min-height:36px;color:var(--text-primary);box-shadow:var(--shadow-1);justify-content:center;align-items:center;padding:0;transition:background .15s,opacity .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.gengage-chat-product-gallery-nav:hover:not(:disabled){background:var(--surface-card);color:var(--client-primary)}.gengage-chat-product-gallery-nav:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:2px}.gengage-chat-product-gallery-nav:disabled{opacity:.35;cursor:not-allowed}.gengage-chat-product-gallery-nav--prev{left:8px}.gengage-chat-product-gallery-nav--next{right:8px}.gengage-chat-product-gallery-thumbs{scrollbar-width:thin;justify-content:center;gap:8px;width:100%;padding:10px 0 4px;display:flex;overflow-x:auto}.gengage-chat-product-gallery-thumb{object-fit:cover;cursor:pointer;background:var(--surface-card);border:2px solid #0000;border-radius:8px;flex-shrink:0;width:56px;height:56px;transition:border-color .15s}.gengage-chat-product-gallery-thumb:hover{border-color:var(--border-strong)}.gengage-chat-product-gallery-thumb--active{border-color:var(--client-primary)}.gengage-chat-product-gallery-thumb-more{background:var(--surface-card-muted);width:56px;height:56px;color:var(--text-secondary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.gengage-chat-product-variants-label{color:var(--text-muted);text-transform:none;letter-spacing:.5px;margin-bottom:6px;font-size:12px;font-weight:600}.gengage-chat-product-variants-list{flex-wrap:wrap;gap:6px;display:flex}.gengage-chat-product-variant-btn{border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;padding:6px 12px;font-size:12px;transition:background .15s,border-color .15s}.gengage-chat-product-variant-btn:hover{background:var(--surface-card-muted);border-color:color-mix(in srgb, var(--client-primary) 20%, var(--border-default));color:var(--client-primary)}.gengage-chat-product-details-panel{border-radius:var(--radius-card);background:var(--surface-card);box-shadow:var(--shadow-1);gap:16px;padding:16px}.gengage-chat-product-details-media{border-color:var(--border-default);border-radius:var(--radius-card);background:var(--surface-card-soft);justify-content:center;min-height:320px}.gengage-chat-product-details-img{max-height:420px}.gengage-chat-product-details-content{gap:12px}.gengage-chat-product-details-brand{color:var(--client-primary);font-size:12px;font-weight:800;line-height:1.2}.gengage-chat-product-details-title{font-size:22px;line-height:1.2}.gengage-chat-product-details-rating{border:1px solid color-mix(in srgb, var(--warning) 24%, var(--border-default));background:color-mix(in srgb, var(--warning) 10%, var(--surface-card));color:color-mix(in srgb, var(--warning) 72%, var(--text-primary));gap:6px;padding:6px 10px;font-family:inherit}button.gengage-chat-product-details-rating{border:1px solid color-mix(in srgb, var(--warning) 24%, var(--border-default));cursor:pointer}.gengage-chat-product-details-rating--clickable:hover{border-color:color-mix(in srgb, var(--warning) 42%, var(--border-default));background:color-mix(in srgb, var(--warning) 14%, var(--surface-card))}.gengage-chat-product-details-rating .gengage-star-rating{line-height:1}.gengage-chat-product-details-rating-value{color:var(--text-primary)}.gengage-chat-product-details-price{flex-wrap:wrap;gap:10px}.gengage-chat-product-details-original-price{order:2}.gengage-chat-product-details-current-price{order:1;font-size:30px}.gengage-chat-product-details-discount-badge{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--error) 12%, white);min-height:24px;color:color-mix(in srgb, var(--error) 84%, var(--text-primary));order:3;align-items:center;padding:2px 8px;font-size:12px;font-weight:800;display:inline-flex}.gengage-chat-product-details-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-head{justify-content:space-between;align-items:center;gap:8px;min-width:0;margin-bottom:2px;display:flex}.gengage-chat-product-grid-head-title{min-width:0;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:18px;font-weight:700;line-height:1.2;overflow:hidden}.gengage-chat-product-grid-head-actions{flex-shrink:0;align-items:center;gap:6px;max-width:52%;display:flex}.gengage-chat-product-sort-toolbar{box-shadow:none;background:0 0;border:none;border-radius:0;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:0;padding:0;display:flex}.gengage-chat-product-sort-toolbar--inline{flex-wrap:nowrap;justify-content:flex-end}.gengage-chat-product-sort-dropdown{z-index:5;flex:0 auto;width:auto;min-width:0;max-width:200px;position:relative}.gengage-chat-product-sort-toolbar:not(.gengage-chat-product-sort-toolbar--inline) .gengage-chat-product-sort-dropdown{flex:auto;max-width:min(200px,100%)}.gengage-chat-product-sort-dropdown--open{z-index:25}.gengage-chat-product-sort-trigger{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card);width:100%;min-height:32px;color:var(--text-primary);cursor:pointer;text-align:left;align-items:center;gap:6px;padding:5px 8px;font-size:12px;font-weight:600;line-height:1.2;transition:border-color .15s,box-shadow .15s,background .15s;display:flex}.gengage-chat-product-sort-trigger:hover{border-color:color-mix(in srgb, var(--client-primary) 22%, var(--border-default));background:var(--surface-card-soft)}.gengage-chat-product-sort-trigger:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:2px}.gengage-chat-product-sort-dropdown--open .gengage-chat-product-sort-trigger{border-color:color-mix(in srgb, var(--client-primary) 32%, var(--border-default));box-shadow:var(--shadow-2)}.gengage-chat-product-sort-trigger-icon{color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.gengage-chat-product-sort-dropdown[data-sort-icon=related] .gengage-chat-product-sort-trigger-icon{color:var(--client-primary)}.gengage-chat-product-sort-trigger-icon svg{display:block}.gengage-chat-product-sort-trigger-label{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.gengage-chat-product-sort-trigger-chevron{color:var(--text-muted);flex-shrink:0;transition:transform .2s;display:flex}.gengage-chat-product-sort-dropdown--open .gengage-chat-product-sort-trigger-chevron{transform:rotate(180deg)}.gengage-chat-product-sort-menu{width:max-content;min-width:100%;max-width:min(260px,100vw - 48px);margin:0;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:auto}.gengage-chat-product-sort-option{border-radius:calc(var(--radius-control) - 4px);width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:8px 10px;font-size:12px;font-weight:500;line-height:1.25;transition:background .12s;display:flex}.gengage-chat-product-sort-option:hover{background:var(--surface-card-muted)}.gengage-chat-product-sort-option--active{color:var(--client-primary);background:var(--client-primary-subtle);font-weight:600}.gengage-chat-product-sort-option-icon{color:var(--text-secondary);flex-shrink:0;display:flex}.gengage-chat-product-sort-option--active .gengage-chat-product-sort-option-icon,.gengage-chat-product-sort-option--active[data-sort-key=related] .gengage-chat-product-sort-option-icon{color:var(--client-primary)}.gengage-chat-product-sort-option-icon svg{display:block}.gengage-chat-product-sort-option-label{flex:auto;min-width:0}.gengage-chat-product-sort-option-check{width:22px;color:var(--client-primary);flex-shrink:0;justify-content:flex-end;display:flex}.gengage-chat-product-sort-option-check--hidden{visibility:hidden}.gengage-chat-product-sort-separator{background:var(--border-default);width:1px;margin:2px}.gengage-chat-comparison-toggle-btn{border:1px solid var(--border-default);border-radius:var(--radius-control,12px);background:var(--surface-card);min-height:32px;color:var(--text-primary);cursor:pointer;white-space:nowrap;flex:none;align-items:center;gap:5px;padding:5px 8px;font-size:12px;font-weight:700;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.gengage-chat-comparison-toggle-icon{color:var(--text-secondary);flex-shrink:0;display:flex}.gengage-chat-comparison-toggle-icon svg{display:block}.gengage-chat-comparison-toggle-btn:hover{background:var(--surface-card-soft);border-color:color-mix(in srgb, var(--client-primary) 18%, white);color:var(--client-primary)}.gengage-chat-comparison-toggle-btn--active{border-color:color-mix(in srgb, var(--client-primary) 26%, white);color:var(--client-primary);background:color-mix(in srgb, var(--client-primary) 8%, white)}.gengage-chat-comparison-toggle-btn--active .gengage-chat-comparison-toggle-icon{color:var(--client-primary)}.gengage-chat-comparison-toggle-btn--active:hover{background:var(--client-primary-hover);color:var(--client-on-primary);border-color:var(--client-primary-hover)}.gengage-chat-comparison-toggle-btn--active:hover .gengage-chat-comparison-toggle-icon{color:var(--client-on-primary)}.gengage-chat-comparison-select-wrapper{cursor:pointer;border-radius:var(--radius-control);transition:box-shadow .2s,transform .2s;position:relative}.gengage-chat-comparison-select-wrapper:hover{box-shadow:0 0 0 2px var(--client-focus-ring)}.gengage-chat-comparison-select-wrapper--selected,.gengage-chat-comparison-select-wrapper--selected:hover{box-shadow:none}@media (prefers-reduced-motion:reduce){.gengage-chat-comparison-select-wrapper{transition:none}}.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card{pointer-events:none;transition:opacity .2s,transform .2s,filter .2s}.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card .gengage-chat-product-card-img-actions,.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card .gengage-chat-product-card-discount-badge,.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card .gengage-chat-product-card-buy-footer,.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card .gengage-chat-product-card-cta{opacity:0}.gengage-chat-comparison-select-wrapper>.gengage-chat-product-card .gengage-chat-product-card-body{opacity:.82}.gengage-chat-comparison-select-wrapper:hover>.gengage-chat-product-card,.gengage-chat-comparison-select-wrapper--selected>.gengage-chat-product-card{opacity:1;transform:translateY(-1px)}.gengage-chat-comparison-select-wrapper--selected>.gengage-chat-product-card{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--client-primary) 26%, white), var(--shadow-1);filter:saturate(1.02);border-color:#0000;outline:none}.gengage-chat-comparison-select-wrapper--selected>.gengage-chat-product-card .gengage-chat-product-card-body{opacity:1}.gengage-chat-comparison-card-hint{display:none}.gengage-chat-comparison-checkbox{z-index:4;cursor:pointer;pointer-events:auto;border:1px solid var(--border-default);background:color-mix(in srgb, var(--surface-card) 94%, white);min-height:40px;color:var(--text-primary);box-shadow:var(--shadow-2);border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 14px;display:inline-flex;position:absolute;bottom:16px;left:16px;right:16px}.gengage-chat-comparison-checkbox[data-selected=true]{background:color-mix(in srgb, var(--client-primary) 10%, white);border-color:color-mix(in srgb, var(--client-primary) 22%, var(--border-default));color:var(--client-primary)}.gengage-chat-comparison-checkbox-icon{background:var(--surface-card-soft);color:currentColor;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.gengage-chat-comparison-checkbox[data-selected=true] .gengage-chat-comparison-checkbox-icon{background:var(--client-primary);color:var(--client-on-primary)}.gengage-chat-comparison-checkbox-dot{background:color-mix(in srgb, currentColor 75%, white);border-radius:999px;width:8px;height:8px}.gengage-chat-comparison-checkbox-label{font-size:12px;font-weight:700;line-height:1.2}.gengage-chat-comparison-toggle-btn--hidden{opacity:0;pointer-events:none}@keyframes gengage-comparison-fade-in{0%{opacity:0}to{opacity:1}}.gengage-chat-comparison-toggle-btn--reveal{animation:.5s forwards gengage-comparison-fade-in}@media (prefers-reduced-motion:reduce){.gengage-chat-comparison-toggle-btn--reveal{opacity:1;animation:none}}.gengage-chat-comparison-floating-btn{border:1px solid var(--border-default);background:color-mix(in srgb, var(--surface-card) 92%, white);width:min(100%,520px);color:var(--text-primary);z-index:5;box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:18px;justify-content:space-between;align-items:center;gap:14px;margin:16px auto 0;padding:12px 14px;display:flex;position:sticky;bottom:12px}.gengage-chat-comparison-dock-slot{display:none}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot:not(:empty){z-index:30;padding:0 10px max(6px, env(safe-area-inset-bottom,0px));box-sizing:border-box;pointer-events:none;max-width:100%;display:block;position:absolute;bottom:0;left:0;right:0}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot>*{pointer-events:auto}.gengage-chat-comparison-floating-summary{flex:auto;align-items:center;gap:12px;min-width:0;display:flex}.gengage-chat-comparison-floating-count{background:var(--client-primary-subtle);min-width:32px;height:32px;color:var(--client-primary);border-radius:999px;justify-content:center;align-items:center;padding:0 10px;font-size:13px;font-weight:800;display:inline-flex}.gengage-chat-comparison-floating-copy{min-width:0}.gengage-chat-comparison-floating-title{color:var(--text-primary);font-size:14px;font-weight:700;line-height:1.2}.gengage-chat-comparison-floating-warning{color:var(--error);margin-top:4px;font-size:12px;line-height:1.35}.gengage-chat-comparison-floating-subtitle{color:var(--text-secondary);margin-top:2px;font-size:12px;line-height:1.35}.gengage-chat-comparison-floating-action{flex:none;min-width:132px}.gengage-chat-comparison-floating-close{border-radius:14px;flex:none;width:40px;height:40px;padding:0}.gengage-chat-comparison-floating-action--disabled{opacity:.6}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-btn{box-sizing:border-box;width:100%;min-width:0;max-width:100%;box-shadow:var(--shadow-3);border-radius:14px;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:10px;margin:0;padding:10px;position:relative;bottom:auto}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-summary{align-items:center;gap:8px;min-height:26px;padding-right:34px;display:flex}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-count{flex-shrink:0;justify-content:center;align-items:center;min-width:26px;height:26px;padding:0 7px;font-size:12px;font-weight:800;line-height:1;display:inline-flex}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-copy{flex-direction:column;justify-content:center;min-width:0;display:flex}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-title{margin:0;font-size:13px;line-height:1.25}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-warning{margin-top:2px;font-size:11px}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-action{box-sizing:border-box;justify-content:center;align-items:center;width:100%;min-width:0;max-width:100%;min-height:42px;padding:0 12px;font-size:13px;display:flex}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-close{box-sizing:border-box;align-self:unset;z-index:10;touch-action:manipulation;border-radius:8px;flex:none;width:26px;min-width:26px;max-width:26px;height:26px;min-height:26px;max-height:26px;padding:0;line-height:0;position:absolute;top:9px;right:9px}.gengage-chat-root--mobile .gengage-chat-comparison-dock-slot .gengage-chat-comparison-floating-close svg{width:11px;height:11px;display:block}.gengage-chat-panel-topbar{box-sizing:border-box;height:var(--_gengage-chat-header-height);background:var(--surface-card);z-index:3;border-bottom:none;flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:12px;padding:14px 16px;display:flex;position:sticky;top:0}.gengage-chat-panel-topbar-title-wrap{flex:1 1 0;align-items:center;min-width:0;display:flex}.gengage-chat-panel-topbar-back,.gengage-chat-panel-topbar-forward{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card);width:42px;min-width:42px;height:42px;min-height:42px;color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:0;transition:background .15s,border-color .15s,opacity .15s;display:flex}.gengage-chat-panel-topbar-back[hidden],.gengage-chat-panel-topbar-forward[hidden]{display:none}.gengage-chat-panel-topbar-back:hover:not(:disabled),.gengage-chat-panel-topbar-forward:hover:not(:disabled){background:var(--surface-card-soft);border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default))}.gengage-chat-panel-topbar-back:disabled,.gengage-chat-panel-topbar-forward:disabled{opacity:.3;cursor:default}.gengage-chat-panel-topbar-title{width:100%;color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;text-align:left;letter-spacing:-.01em;font-size:17px;font-weight:700;line-height:1.2;display:block;overflow:hidden}.gengage-chat-panel-topbar-actions{flex:none;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.gengage-chat-panel-topbar-actions:empty{display:none}.gengage-chat-panel-topbar-toolbar-host{justify-content:flex-end;align-items:center;width:100%;display:flex}.gengage-chat-panel-topbar-toolbar-host .gengage-chat-product-sort-toolbar{flex-wrap:nowrap;justify-content:flex-end;gap:8px}.gengage-chat-panel-topbar-close{display:none}@keyframes gengage-typewriter-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.gengage-chat-typewriter-block{animation:.15s both gengage-typewriter-fade-in;display:block}@media (prefers-reduced-motion:reduce){.gengage-chat-typewriter-block{animation:none}}.gengage-product-mention{color:var(--client-primary);cursor:pointer;border-bottom:1px dashed var(--client-primary);font-weight:500;text-decoration:none;transition:border-color .15s}.gengage-product-mention:hover{border-bottom-style:solid}@keyframes gengage-skeleton-pulse{0%,to{opacity:.4}50%{opacity:.8}}.gengage-chat-panel-skeleton-block{animation:1.5s ease-in-out infinite gengage-skeleton-pulse}@media (prefers-reduced-motion:reduce){.gengage-chat-panel-skeleton-block{animation:none}}.gengage-chat-input-chips{scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap;gap:6px;padding:4px 12px 2px;display:flex;overflow-x:auto}.gengage-chat-input-chips::-webkit-scrollbar{display:none}.gengage-chat-input-chip{border-radius:var(--radius-pill);border:1px solid var(--border-default);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;white-space:nowrap;align-items:center;padding:8px 12px;font-family:inherit;font-size:12px;font-weight:700;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.gengage-chat-input-chip:hover{background:var(--client-primary-subtle);border-color:color-mix(in srgb, var(--client-primary) 24%, var(--border-default));color:var(--client-primary)}.gengage-chat-icon{flex-shrink:0;width:14px;height:14px}.gengage-chat-input-chip-icon,.gengage-chat-pill-icon{align-items:center;margin-right:4px;display:inline-flex}.gengage-chat-product-card-img-wrapper,.gengage-chat-product-details-img-wrap{position:relative;overflow:hidden}.gengage-chat-product-card-discount-badge{border-radius:var(--radius-pill);background:var(--_gengage-discount-color);color:var(--text-inverse);z-index:1;padding:3px 8px;font-size:11px;font-weight:700;line-height:1.3;position:absolute;top:8px;left:8px}.gengage-chat-product-card-stock{border-radius:var(--radius-pill);width:fit-content;margin-top:2px;padding:2px 6px;font-size:11px;font-weight:600}.gengage-chat-product-card-stock.is-in-stock{background:color-mix(in srgb, var(--success) 12%, white);color:color-mix(in srgb, var(--success) 82%, var(--text-primary))}.gengage-chat-product-card-stock.is-out-of-stock{background:color-mix(in srgb, var(--error) 10%, white);color:var(--error)}.gengage-chat-find-similar-pill{border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:color-mix(in srgb, var(--surface-elevated) 96%, transparent);width:28px;height:28px;color:var(--text-primary);box-shadow:var(--shadow-1);cursor:pointer;z-index:2;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:11px;font-weight:500;transition:opacity .2s,box-shadow .15s;display:inline-flex;position:relative}.gengage-chat-find-similar-pill:hover{box-shadow:var(--shadow-2);border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default))}@media (hover:hover) and (pointer:fine){.gengage-chat-find-similar-pill:after{content:attr(data-tooltip);background:color-mix(in srgb, var(--surface-shell) 98%, black);border:1px solid color-mix(in srgb, var(--surface-shell) 60%, white);box-shadow:var(--shadow-2);color:var(--text-inverse);white-space:nowrap;opacity:0;pointer-events:none;z-index:12;border-radius:10px;padding:6px 10px;font-size:11px;font-weight:600;line-height:1.2;transition:opacity .14s;position:absolute;top:50%;right:calc(100% + 8px);transform:translateY(-50%)}.gengage-chat-find-similar-pill:hover:after,.gengage-chat-find-similar-pill:focus-visible:after{opacity:1}}.gengage-chat-find-similar-pill-icon{justify-content:center;align-items:center;display:flex}.gengage-chat-find-similar-pill-icon svg{display:block}.gengage-chat-find-similar-pill-text{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.gengage-chat-product-card-img-wrapper .gengage-chat-product-card-img-actions,.gengage-chat-ai-toppick-media .gengage-chat-product-card-img-actions{transition:opacity .2s}@media (hover:hover) and (pointer:fine){.gengage-chat-product-card-img-wrapper:not(:hover) .gengage-chat-product-card-img-actions,.gengage-chat-ai-toppick-media:not(:hover) .gengage-chat-product-card-img-actions{opacity:0;pointer-events:none}.gengage-chat-product-card-img-wrapper:hover .gengage-chat-product-card-img-actions,.gengage-chat-ai-toppick-media:hover .gengage-chat-product-card-img-actions{opacity:1;pointer-events:auto}}@media (hover:none),(pointer:coarse){.gengage-chat-product-card-img-wrapper .gengage-chat-product-card-img-actions,.gengage-chat-ai-toppick-media .gengage-chat-product-card-img-actions{opacity:1;pointer-events:auto}}.gengage-chat-product-details-img-wrap .gengage-chat-find-similar-pill{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--surface-shell) 88%, transparent);width:auto;height:auto;color:var(--text-inverse);box-shadow:none;opacity:0;pointer-events:none;padding:4px 10px;position:absolute;top:40px;right:8px}.gengage-chat-product-details-img-wrap .gengage-chat-find-similar-pill-icon{display:none}.gengage-chat-product-details-img-wrap .gengage-chat-find-similar-pill-text{clip:auto;white-space:nowrap;width:auto;height:auto;margin:0;position:static;overflow:visible}.gengage-chat-product-card-img-wrapper:hover .gengage-chat-find-similar-pill,.gengage-chat-ai-toppick-media:hover .gengage-chat-find-similar-pill,.gengage-chat-product-details-img-wrap:hover .gengage-chat-find-similar-pill{opacity:1;pointer-events:auto}.gengage-chat-favorite-btn{background:color-mix(in srgb, var(--surface-elevated) 96%, transparent);border:1px solid var(--border-subtle);border-radius:var(--radius-control);cursor:pointer;width:28px;height:28px;color:var(--text-secondary);box-shadow:var(--shadow-1);z-index:3;justify-content:center;align-items:center;padding:0;transition:color .2s,box-shadow .15s;display:flex;position:absolute;top:8px;right:8px}.gengage-chat-favorite-btn:hover{box-shadow:var(--shadow-2);color:var(--error);border-color:color-mix(in srgb, var(--error) 20%, var(--border-default))}.gengage-chat-favorite-btn--active{color:var(--error)}.gengage-chat-product-details-promos{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.gengage-chat-product-details-promo-badge{border-radius:var(--radius-pill);background:var(--gengage-chat-promo-bg,color-mix(in srgb, var(--success) 12%, white));color:var(--gengage-chat-promo-text,color-mix(in srgb, var(--success) 82%, var(--text-primary)));white-space:nowrap;box-sizing:border-box;min-height:20px;padding:2px 6px;font-size:10px;font-weight:500;display:inline-block}.gengage-chat-thumbnails-column{pointer-events:none;display:none!important}.gengage-chat-thumbnail-btn{border:2px solid var(--border-default);border-radius:calc(var(--radius-control) - 4px);background:var(--surface-card);cursor:pointer;justify-content:center;align-items:center;width:40px;height:40px;padding:0;transition:border-color .15s;display:flex;overflow:hidden}.gengage-chat-thumbnail-btn:hover{border-color:var(--client-primary)}.gengage-chat-thumbnail-img{object-fit:cover;width:100%;height:100%}.gengage-chat-panel-float{box-sizing:border-box;pointer-events:none;z-index:10;flex-shrink:0;align-self:stretch;width:100%;height:0;margin-top:auto;position:sticky;bottom:0;overflow:visible}.gengage-chat-choice-prompter{pointer-events:none;background:var(--surface-card);border:1px solid var(--border-default);width:auto;max-width:none;box-shadow:var(--shadow-2);z-index:5;opacity:0;border-radius:16px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;margin-left:0;margin-right:0;padding:12px 14px;transition:opacity .2s,transform .2s;display:grid;position:absolute;bottom:12px;left:16px;right:16px;transform:translateY(12px)}.gengage-chat-panel--scrolled .gengage-chat-choice-prompter{pointer-events:auto;opacity:1;transform:translateY(0)}.gengage-chat-choice-prompter-heading{color:var(--text-primary);margin-bottom:2px;font-size:12px;font-weight:700}.gengage-chat-choice-prompter-suggestion{color:var(--text-secondary);margin-bottom:0;font-size:12px;line-height:1.35}.gengage-chat-choice-prompter-copy{min-width:0}.gengage-chat-choice-prompter-cta{border:1px solid var(--ds-button-primary-border);border-radius:var(--radius-control);background:var(--ds-button-primary-bg);width:auto;min-width:180px;min-height:40px;color:var(--ds-button-primary-fg);cursor:pointer;text-align:center;padding:0 18px;font-family:inherit;font-size:13px;font-weight:700;transition:background .15s;display:inline-flex}.gengage-chat-choice-prompter-cta:hover{background:var(--ds-button-primary-bg-hover)}.gengage-chat-choice-prompter-dismiss{border:1px solid var(--border-default);background:var(--surface-card-soft);min-width:32px;min-height:32px;color:var(--text-muted);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;display:flex;position:absolute;top:10px;right:10px}.gengage-chat-choice-prompter-dismiss:hover{color:var(--client-primary);border-color:color-mix(in srgb, var(--client-primary) 18%, white);background:var(--client-primary-subtle)}@media (prefers-reduced-motion:reduce){.gengage-chat-choice-prompter{animation:none}}.gengage-chat-pros-cons{background:var(--surface-card-soft);border:1px solid var(--border-subtle);border-radius:var(--radius-control);margin:8px 0;padding:12px 14px}.gengage-chat-pros-cons-heading{color:var(--text-primary);margin:0 0 10px;font-size:14px;font-weight:600}.gengage-chat-pros-cons-list{margin:0 0 8px;padding:0;list-style:none}.gengage-chat-pros-cons-list:last-child{margin-bottom:0}.gengage-chat-pros-cons-item{color:var(--text-secondary);align-items:flex-start;gap:8px;padding:4px 0;font-size:13px;line-height:1.5;display:flex}.gengage-chat-pros-cons-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:12px;font-weight:700;display:flex}.gengage-chat-pros-cons-icon--pro{color:var(--success);background:color-mix(in srgb, var(--success) 15%, white)}.gengage-chat-pros-cons-icon--con{color:var(--error);background:color-mix(in srgb, var(--error) 12%, white)}.gengage-chat-categories{flex-direction:column;gap:8px;display:flex}.gengage-chat-categories-tabs{-webkit-overflow-scrolling:touch;gap:4px;padding:4px 0;display:flex;overflow-x:auto}.gengage-chat-categories-tab{border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;white-space:nowrap;padding:6px 14px;font-size:13px;transition:background .15s,color .15s,border-color .15s}.gengage-chat-categories-tab:hover{background:var(--surface-card-soft);border-color:var(--border-strong)}.gengage-chat-categories-tab--active{background:var(--client-primary-subtle);color:var(--client-primary);border-color:color-mix(in srgb, var(--client-primary) 26%, var(--border-default))}.gengage-chat-categories-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;display:grid}.gengage-chat-categories-filter-tags{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.gengage-chat-categories-filter-tag{border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--surface-card);color:var(--text-secondary);cursor:pointer;padding:4px 10px;font-size:12px;transition:background .15s,border-color .15s,color .15s}.gengage-chat-categories-filter-tag:hover{background:var(--client-primary-subtle);border-color:color-mix(in srgb, var(--client-primary) 18%, var(--border-default));color:var(--client-primary)}.gengage-chat-product-grid-view-more{border:1px solid var(--ds-button-secondary-border);border-radius:var(--radius-control);background:var(--ds-button-secondary-bg);width:100%;color:var(--ds-button-secondary-fg);cursor:pointer;text-align:center;grid-column:1/-1;margin-top:8px;padding:10px;font-size:14px;font-weight:500;transition:background .15s;display:block}.gengage-chat-product-grid-view-more:hover{background:var(--ds-button-secondary-bg-hover)}.gengage-chat-product-grid--mobile{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px 0;display:grid;overflow-x:visible}.gengage-chat-product-grid--mobile .gengage-chat-product-card{width:100%;min-width:0;max-width:none}.gengage-chat-comparison--mobile{position:relative;overflow-x:clip}.gengage-chat-comparison--mobile .gengage-chat-comparison-table-wrapper{-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 88%,#0000);mask-image:linear-gradient(90deg,#000 88%,#0000)}.gengage-chat-comparison--mobile .gengage-chat-comparison-table{table-layout:fixed;min-width:480px}.gengage-chat-comparison--mobile .gengage-chat-comparison-table th:first-child,.gengage-chat-comparison--mobile .gengage-chat-comparison-table .gengage-chat-comparison-label{background:var(--surface-card);z-index:1;box-shadow:2px 0 4px color-mix(in srgb, var(--surface-shell) 8%, transparent);position:sticky;left:0}.gengage-chat-comparison--mobile .gengage-chat-comparison-table thead th:first-child{box-sizing:border-box;width:22ch;min-width:0;max-width:22ch;padding:8px 6px}.gengage-chat-comparison--mobile .gengage-chat-comparison-table td.gengage-chat-comparison-label{text-align:left;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box;vertical-align:middle;width:22ch;min-width:0;max-width:22ch;overflow:hidden}.gengage-chat-product-details-similars-heading{color:var(--text-primary);margin:16px 0 8px;font-size:18px;font-weight:700;line-height:1.2}.gengage-chat-product-details-similars{margin-top:8px}.gengage-chat-handoff-notice{background:color-mix(in srgb, var(--warning) 10%, white);border:1px solid color-mix(in srgb, var(--warning) 28%, var(--border-default));border-radius:var(--radius-control);text-align:center;flex-direction:column;align-items:center;gap:6px;margin:8px 0;padding:16px;display:flex}.gengage-chat-handoff-notice-icon{font-size:24px}.gengage-chat-handoff-notice-heading{color:color-mix(in srgb, var(--warning) 72%, var(--text-primary));margin:0;font-size:14px;font-weight:600}.gengage-chat-handoff-notice-summary{color:color-mix(in srgb, var(--warning) 84%, var(--text-primary));margin:0;font-size:13px;line-height:1.5}.gengage-chat-product-details-share{border:1px solid var(--border-default);border-radius:var(--radius-control);background:var(--surface-card);width:36px;height:36px;color:var(--text-muted);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:color .12s,border-color .12s,background-color .12s;display:inline-flex;position:relative}.gengage-chat-product-details-share:hover{color:var(--client-primary);border-color:var(--client-primary);background:var(--client-primary-subtle)}.gengage-chat-product-details-share:before{content:attr(aria-label);border-radius:calc(var(--radius-control) - 4px);background:var(--surface-shell);color:var(--text-inverse);white-space:nowrap;pointer-events:none;opacity:0;z-index:2;padding:4px 8px;font-size:11px;font-weight:500;transition:opacity .15s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.gengage-chat-product-details-share:hover:before{opacity:1}.gengage-chat-product-details-share--copied:after{content:\"✓\";background:var(--_gengage-success-color);color:var(--client-on-primary);border-radius:var(--radius-control);justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex;position:absolute;inset:0}.gengage-chat-product-details-share svg{width:20px;height:20px}.gengage-chat-review-link,.gengage-chat-grounding-link{color:var(--client-primary);text-decoration:underline}@media (width<=768px){.gengage-chat-product-details-promo-badge{-webkit-line-clamp:2;line-clamp:2;white-space:normal;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}}.gengage-chat-launcher:focus-visible,.gengage-chat-close:focus-visible,.gengage-chat-header-btn:focus-visible,.gengage-chat-header-powered:focus-visible,.gengage-chat-send:focus-visible,.gengage-chat-action-btn:focus-visible,.gengage-chat-pill:focus-visible,.gengage-chat-input-chip:focus-visible,.gengage-chat-pills-arrow:focus-visible,.gengage-chat-error-retry:focus-visible,.gengage-chat-product-card-cta:focus-visible,.gengage-chat-product-details-cta:focus-visible,.gengage-chat-product-details-atc:focus-visible,.gengage-chat-product-detail-tab:focus-visible,.gengage-chat-panel-divider-toggle:focus-visible,.gengage-chat-panel-topbar-back:focus-visible,.gengage-chat-panel-topbar-forward:focus-visible,.gengage-chat-rollback-btn:focus-visible,.gengage-chat-ai-toppick-cta:focus-visible,.gengage-chat-comparison-toggle-btn:focus-visible,.gengage-chat-comparison-floating-btn:focus-visible,.gengage-chat-comparison-checkbox:focus-visible,.gengage-chat-product-sort-trigger:focus-visible,.gengage-chat-product-sort-option:focus-visible,.gengage-chat-product-variant-btn:focus-visible,.gengage-chat-product-gallery-thumb:focus-visible,.gengage-chat-thumbnail-btn:focus-visible,.gengage-chat-find-similar-pill:focus-visible,.gengage-chat-favorite-btn:focus-visible,.gengage-chat-attach-btn:focus-visible,.gengage-chat-attach-menu-item:focus-visible,.gengage-chat-mic-btn:focus-visible,.gengage-chat-attachment-remove:focus-visible,.gengage-chat-kvkk-dismiss:focus-visible,.gengage-chat-choice-prompter-cta:focus-visible,.gengage-chat-choice-prompter-dismiss:focus-visible,.gengage-chat-categories-tab:focus-visible,.gengage-chat-categories-filter-tag:focus-visible,.gengage-chat-product-grid-view-more:focus-visible,.gengage-chat-product-details-share:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:2px}.gengage-chat-root--mobile .gengage-chat-choice-prompter{grid-template-columns:1fr;width:auto;max-width:none;max-height:40vh;bottom:12px;left:12px;right:12px;overflow-y:auto}.gengage-chat-root--mobile .gengage-chat-choice-prompter-cta{width:100%}.gengage-chat-root--mobile .gengage-chat-product-sort-trigger,.gengage-chat-root--mobile .gengage-chat-product-sort-option,.gengage-chat-root--mobile .gengage-chat-comparison-toggle-btn{min-height:40px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-trigger-label,.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-trigger-chevron,.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-comparison-toggle-label{display:none}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-dropdown{flex:none;width:auto;max-width:none}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-product-sort-trigger{justify-content:center;gap:0;width:auto;min-width:44px;padding:0 10px}.gengage-chat-root--mobile .gengage-chat-panel .gengage-chat-comparison-toggle-btn{justify-content:center;gap:0;width:44px;min-width:44px;padding:0}.gengage-chat-root--mobile .gengage-chat-input-chip{min-height:40px;padding:8px 12px}.gengage-chat-root--mobile .gengage-chat-choice-prompter-dismiss{width:32px;height:32px}.gengage-chat-root--mobile .gengage-chat-panel-divider-toggle{min-height:44px}.gengage-chat-root--mobile .gengage-chat-product-card-cta,.gengage-chat-root--mobile .gengage-chat-choice-prompter-cta,.gengage-chat-root--mobile .gengage-chat-product-grid-view-more{justify-content:center;align-items:center;min-height:44px;display:flex}.gengage-chat-root--mobile .gengage-chat-panel-topbar-back,.gengage-chat-root--mobile .gengage-chat-panel-topbar-forward,.gengage-chat-root--mobile .gengage-chat-favorite-btn,.gengage-chat-root--mobile .gengage-chat-product-details-share{width:44px;min-width:44px;height:44px}.gengage-chat-root--mobile .gengage-chat-panel-topbar-close{display:none}.gengage-skeleton{gap:12px;padding:12px;display:flex}.gengage-skeleton--message{flex-direction:column;gap:8px;padding:16px}.gengage-skeleton-card{flex-direction:column;flex:1;gap:8px;display:flex}.gengage-skeleton-img{border-radius:var(--radius-control);height:120px}.gengage-skeleton-text{border-radius:4px;height:14px}.gengage-skeleton-price{border-radius:4px;width:60%;height:14px}.gengage-skeleton-line{border-radius:4px;height:12px}@media (prefers-reduced-motion:no-preference){.gengage-skeleton-card,.gengage-skeleton-line,.gengage-skeleton-img,.gengage-skeleton-text,.gengage-skeleton-price{background:linear-gradient(90deg, var(--ds-neutral-100) 25%, var(--ds-neutral-200) 50%, var(--ds-neutral-100) 75%);background-size:200% 100%;animation:1.5s infinite gengage-shimmer}@keyframes gengage-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}}@media (prefers-reduced-motion:reduce){.gengage-skeleton-card,.gengage-skeleton-line,.gengage-skeleton-img,.gengage-skeleton-text,.gengage-skeleton-price{background:var(--ds-neutral-100)}}.gengage-chat-panel--has-scroll:after{content:\"\";background:linear-gradient(transparent, var(--surface-card-soft));pointer-events:none;height:40px;display:block;position:sticky;bottom:0}@media (prefers-reduced-motion:no-preference){.gengage-chat-panel--transitioning{opacity:0;transition:opacity .15s}}.gengage-chat-cart-toast{background:var(--success);color:var(--text-inverse);border-radius:var(--radius-pill);box-shadow:var(--shadow-3);pointer-events:none;opacity:0;z-index:10;white-space:nowrap;padding:8px 18px;font-size:13px;font-weight:600;transition:opacity .2s,transform .2s;position:absolute;bottom:72px;left:50%;transform:translate(-50%)translateY(8px)}.gengage-chat-cart-toast--visible{opacity:1;transform:translate(-50%)translateY(0)}@keyframes gengage-cart-flash{0%{transform:scale(1)}30%{transform:scale(1.25)}60%{transform:scale(.95)}to{transform:scale(1)}}.gengage-chat-header-btn--cart-flash{animation:.5s gengage-cart-flash}", jr = o({
|
|
4291
4356
|
role: u(["user", "assistant"]),
|
|
4292
4357
|
content: n(),
|
|
4293
4358
|
timestamp: t().optional()
|
|
4294
|
-
}),
|
|
4359
|
+
}), Mr = o({
|
|
4295
4360
|
sku: n(),
|
|
4296
4361
|
name: n(),
|
|
4297
4362
|
imageUrl: n().url().optional(),
|
|
@@ -4299,23 +4364,23 @@ var Cr = ":where(:root,.gengage-chat-root,.gengage-qna-container,.gengage-simrel
|
|
|
4299
4364
|
originalPrice: n().optional(),
|
|
4300
4365
|
url: n().url(),
|
|
4301
4366
|
ctaLabel: n().optional()
|
|
4302
|
-
}),
|
|
4367
|
+
}), Nr = o({ buttons: a(o({
|
|
4303
4368
|
label: n(),
|
|
4304
4369
|
action: o({
|
|
4305
4370
|
title: n(),
|
|
4306
4371
|
type: n(),
|
|
4307
4372
|
payload: d().optional()
|
|
4308
4373
|
})
|
|
4309
|
-
})) }),
|
|
4374
|
+
})) }), Pr = o({}), Fr = o({ label: n().optional() }), Ir = o({
|
|
4310
4375
|
sku: n(),
|
|
4311
4376
|
name: n(),
|
|
4312
4377
|
price: n(),
|
|
4313
4378
|
imageUrl: n().optional(),
|
|
4314
4379
|
rating: t().optional(),
|
|
4315
4380
|
reviewCount: t().optional()
|
|
4316
|
-
}),
|
|
4317
|
-
recommended:
|
|
4318
|
-
products: a(
|
|
4381
|
+
}), Lr = o({
|
|
4382
|
+
recommended: Ir,
|
|
4383
|
+
products: a(Ir),
|
|
4319
4384
|
attributes: a(o({
|
|
4320
4385
|
label: n(),
|
|
4321
4386
|
values: a(n())
|
|
@@ -4332,18 +4397,18 @@ var Cr = ":where(:root,.gengage-chat-root,.gengage-qna-container,.gengage-simrel
|
|
|
4332
4397
|
type: n(),
|
|
4333
4398
|
payload: d().optional()
|
|
4334
4399
|
})).optional()
|
|
4335
|
-
}),
|
|
4400
|
+
}), Rr = o({
|
|
4336
4401
|
label: n(),
|
|
4337
4402
|
sentiment: u([
|
|
4338
4403
|
"positive",
|
|
4339
4404
|
"negative",
|
|
4340
4405
|
"neutral"
|
|
4341
4406
|
]).optional()
|
|
4342
|
-
}),
|
|
4407
|
+
}), zr = o({ suggestions: a(o({
|
|
4343
4408
|
product: l(n(), d()),
|
|
4344
4409
|
role: n().optional(),
|
|
4345
4410
|
reason: n().optional(),
|
|
4346
|
-
labels: a(
|
|
4411
|
+
labels: a(Rr).optional(),
|
|
4347
4412
|
expertQualityScore: t().optional(),
|
|
4348
4413
|
reviewHighlight: n().optional(),
|
|
4349
4414
|
action: o({
|
|
@@ -4351,7 +4416,7 @@ var Cr = ":where(:root,.gengage-chat-root,.gengage-qna-container,.gengage-simrel
|
|
|
4351
4416
|
type: n(),
|
|
4352
4417
|
payload: d().optional()
|
|
4353
4418
|
}).optional()
|
|
4354
|
-
})) }),
|
|
4419
|
+
})) }), Br = o({
|
|
4355
4420
|
title: n().optional(),
|
|
4356
4421
|
text: n().optional(),
|
|
4357
4422
|
reviewCount: n().optional(),
|
|
@@ -4360,7 +4425,7 @@ var Cr = ":where(:root,.gengage-chat-root,.gengage-qna-container,.gengage-simrel
|
|
|
4360
4425
|
type: n(),
|
|
4361
4426
|
payload: d().optional()
|
|
4362
4427
|
})
|
|
4363
|
-
}),
|
|
4428
|
+
}), Vr = o({ entries: a(o({
|
|
4364
4429
|
name: n(),
|
|
4365
4430
|
image: n().optional(),
|
|
4366
4431
|
description: n().optional(),
|
|
@@ -4369,7 +4434,7 @@ var Cr = ":where(:root,.gengage-chat-root,.gengage-qna-container,.gengage-simrel
|
|
|
4369
4434
|
type: n(),
|
|
4370
4435
|
payload: d().optional()
|
|
4371
4436
|
})
|
|
4372
|
-
})) }),
|
|
4437
|
+
})) }), Hr = o({ entries: a(o({
|
|
4373
4438
|
shortName: n(),
|
|
4374
4439
|
detailedMessage: n().optional(),
|
|
4375
4440
|
whyDifferent: n().optional(),
|
|
@@ -4379,11 +4444,11 @@ var Cr = ":where(:root,.gengage-chat-root,.gengage-qna-container,.gengage-simrel
|
|
|
4379
4444
|
type: n(),
|
|
4380
4445
|
payload: d().optional()
|
|
4381
4446
|
})
|
|
4382
|
-
})) }),
|
|
4447
|
+
})) }), Ur = o({
|
|
4383
4448
|
title: n(),
|
|
4384
4449
|
type: n(),
|
|
4385
4450
|
payload: d().optional()
|
|
4386
|
-
}),
|
|
4451
|
+
}), Wr = o({
|
|
4387
4452
|
name: n().optional(),
|
|
4388
4453
|
value: n().optional(),
|
|
4389
4454
|
option_value: n().optional(),
|
|
@@ -4407,7 +4472,7 @@ var Cr = ":where(:root,.gengage-chat-root,.gengage-qna-container,.gengage-simrel
|
|
|
4407
4472
|
swatchColor: n().optional(),
|
|
4408
4473
|
in_stock: c().optional(),
|
|
4409
4474
|
inStock: c().optional()
|
|
4410
|
-
}),
|
|
4475
|
+
}), Gr = o({
|
|
4411
4476
|
product: o({
|
|
4412
4477
|
sku: n().optional(),
|
|
4413
4478
|
name: n().optional(),
|
|
@@ -4421,11 +4486,11 @@ var Cr = ":where(:root,.gengage-chat-root,.gengage-qna-container,.gengage-simrel
|
|
|
4421
4486
|
price_async: c().optional(),
|
|
4422
4487
|
inStock: c().optional(),
|
|
4423
4488
|
promotions: a(n()).optional(),
|
|
4424
|
-
variants: a(
|
|
4425
|
-
variantOptions: a(
|
|
4426
|
-
variant_options: a(
|
|
4427
|
-
productVariants: a(
|
|
4428
|
-
product_variants: a(
|
|
4489
|
+
variants: a(Wr).optional(),
|
|
4490
|
+
variantOptions: a(Wr).optional(),
|
|
4491
|
+
variant_options: a(Wr).optional(),
|
|
4492
|
+
productVariants: a(Wr).optional(),
|
|
4493
|
+
product_variants: a(Wr).optional(),
|
|
4429
4494
|
url: n().optional(),
|
|
4430
4495
|
cartCode: n().optional(),
|
|
4431
4496
|
description: n().optional(),
|
|
@@ -4448,110 +4513,110 @@ var Cr = ":where(:root,.gengage-chat-root,.gengage-qna-container,.gengage-simrel
|
|
|
4448
4513
|
value: n()
|
|
4449
4514
|
}))]).optional()
|
|
4450
4515
|
}).optional(),
|
|
4451
|
-
action:
|
|
4452
|
-
}),
|
|
4516
|
+
action: Ur.optional()
|
|
4517
|
+
}), Kr = o({ endOfList: c().optional() }), qr = o({ reviews: a(o({
|
|
4453
4518
|
review_class: n().optional(),
|
|
4454
4519
|
review_text: n().optional(),
|
|
4455
4520
|
review_rating: i([n(), t()]).optional(),
|
|
4456
4521
|
review_tag: n().optional()
|
|
4457
|
-
})).optional() }),
|
|
4522
|
+
})).optional() }), Jr = o({
|
|
4458
4523
|
productName: n().optional(),
|
|
4459
4524
|
pros: a(n()).optional(),
|
|
4460
4525
|
cons: a(n()).optional()
|
|
4461
|
-
}),
|
|
4526
|
+
}), Yr = o({
|
|
4462
4527
|
groups: a(o({
|
|
4463
4528
|
groupName: n(),
|
|
4464
4529
|
products: a(l(n(), d())).optional()
|
|
4465
4530
|
})).optional(),
|
|
4466
4531
|
filterTags: a(o({
|
|
4467
4532
|
title: n(),
|
|
4468
|
-
action:
|
|
4533
|
+
action: Ur.optional()
|
|
4469
4534
|
})).optional()
|
|
4470
|
-
}),
|
|
4535
|
+
}), Xr = o({
|
|
4471
4536
|
summary: n().optional(),
|
|
4472
4537
|
products_discussed: a(n()).optional(),
|
|
4473
4538
|
user_sentiment: n().optional()
|
|
4474
|
-
}),
|
|
4539
|
+
}), Zr = { components: {
|
|
4475
4540
|
MessageBubble: {
|
|
4476
|
-
schema:
|
|
4541
|
+
schema: jr,
|
|
4477
4542
|
description: "A single chat message bubble for user or assistant turns."
|
|
4478
4543
|
},
|
|
4479
4544
|
ProductCard: {
|
|
4480
|
-
schema:
|
|
4545
|
+
schema: Mr,
|
|
4481
4546
|
description: "A product card rendered inline in the chat stream."
|
|
4482
4547
|
},
|
|
4483
4548
|
ActionButtons: {
|
|
4484
|
-
schema:
|
|
4549
|
+
schema: Nr,
|
|
4485
4550
|
description: "A horizontal row of quick-reply action buttons."
|
|
4486
4551
|
},
|
|
4487
4552
|
TypingIndicator: {
|
|
4488
|
-
schema:
|
|
4553
|
+
schema: Pr,
|
|
4489
4554
|
description: "An animated indicator shown while the assistant is typing."
|
|
4490
4555
|
},
|
|
4491
4556
|
Divider: {
|
|
4492
|
-
schema:
|
|
4557
|
+
schema: Fr,
|
|
4493
4558
|
description: "A horizontal rule with an optional label."
|
|
4494
4559
|
},
|
|
4495
4560
|
ComparisonTable: {
|
|
4496
|
-
schema:
|
|
4561
|
+
schema: Lr,
|
|
4497
4562
|
description: "A product comparison table with recommended pick, attribute rows, and highlights."
|
|
4498
4563
|
},
|
|
4499
4564
|
AITopPicks: {
|
|
4500
|
-
schema:
|
|
4565
|
+
schema: zr,
|
|
4501
4566
|
description: "Rich AI-curated product suggestion cards with roles, sentiment labels, scores, and review quotes."
|
|
4502
4567
|
},
|
|
4503
4568
|
GroundingReviewCard: {
|
|
4504
|
-
schema:
|
|
4569
|
+
schema: Br,
|
|
4505
4570
|
description: "A card showing review grounding data with review count and CTA."
|
|
4506
4571
|
},
|
|
4507
4572
|
AIGroupingCards: {
|
|
4508
|
-
schema:
|
|
4573
|
+
schema: Vr,
|
|
4509
4574
|
description: "Category grouping cards with images and labels for product discovery."
|
|
4510
4575
|
},
|
|
4511
4576
|
AISuggestedSearchCards: {
|
|
4512
|
-
schema:
|
|
4577
|
+
schema: Hr,
|
|
4513
4578
|
description: "Suggested search cards with images, descriptions, and differentiation."
|
|
4514
4579
|
},
|
|
4515
4580
|
ProductDetailsPanel: {
|
|
4516
|
-
schema:
|
|
4581
|
+
schema: Gr,
|
|
4517
4582
|
description: "Full product detail view with images, specs, variants, and purchase actions."
|
|
4518
4583
|
},
|
|
4519
4584
|
ProductGrid: {
|
|
4520
|
-
schema:
|
|
4585
|
+
schema: Kr,
|
|
4521
4586
|
description: "A scrollable grid of ProductCard children with optional \"more\" pagination."
|
|
4522
4587
|
},
|
|
4523
4588
|
ReviewHighlights: {
|
|
4524
|
-
schema:
|
|
4589
|
+
schema: qr,
|
|
4525
4590
|
description: "A list of highlighted customer reviews with sentiment and ratings."
|
|
4526
4591
|
},
|
|
4527
4592
|
ProsAndCons: {
|
|
4528
|
-
schema:
|
|
4593
|
+
schema: Jr,
|
|
4529
4594
|
description: "A pros and cons list for a product."
|
|
4530
4595
|
},
|
|
4531
4596
|
CategoriesContainer: {
|
|
4532
|
-
schema:
|
|
4597
|
+
schema: Yr,
|
|
4533
4598
|
description: "Tabbed product groups with optional filter tag buttons."
|
|
4534
4599
|
},
|
|
4535
4600
|
HandoffNotice: {
|
|
4536
|
-
schema:
|
|
4601
|
+
schema: Xr,
|
|
4537
4602
|
description: "A notice shown when the conversation is escalated to a human agent."
|
|
4538
4603
|
}
|
|
4539
4604
|
} };
|
|
4540
4605
|
//#endregion
|
|
4541
4606
|
//#region src/chat/index.ts
|
|
4542
|
-
function
|
|
4607
|
+
function Qr(e) {
|
|
4543
4608
|
return e.length > 120 ? !1 : /^[a-zA-Z0-9#(),.\s%/\-]+$/.test(e);
|
|
4544
4609
|
}
|
|
4545
|
-
function
|
|
4610
|
+
function $r(e) {
|
|
4546
4611
|
return typeof e == "object" && !!e && typeof e.type == "string";
|
|
4547
4612
|
}
|
|
4548
|
-
var
|
|
4613
|
+
var ei = class e extends V {
|
|
4549
4614
|
constructor(...e) {
|
|
4550
4615
|
super(...e), this._shadow = null, this._rootEl = null, this._backdropEl = null, this._launcher = null, this._drawer = null, this._bridge = null, this._drawerVisible = !1, this._hostScrollLockActive = !1, this._preventHostDocumentTouchMove = (e) => {
|
|
4551
4616
|
this._hostScrollLockActive && (this._hostScrollEventShouldReachChatScroller(e) || e.preventDefault());
|
|
4552
4617
|
}, this._preventHostDocumentWheel = (e) => {
|
|
4553
4618
|
this._hostScrollLockActive && (this._hostScrollEventShouldReachChatScroller(e) || e.preventDefault());
|
|
4554
|
-
}, this._messages = [], this._currentMessageId = 0, this._abortControllers = /* @__PURE__ */ new Set(), this._currentThreadId = null, this._lastThreadId = null, this._chatCreatedAt = "", this._lastBackendContext = null, this._productSort = { type: "related" }, this._comparisonSelectMode = !1, this._comparisonSelectedSkus = [], this._comparisonSelectionWarning = null, this._comparisonRefreshRafId = null, this._viewedProductSkus = /* @__PURE__ */ new Set(), this._thumbnailEntries = [], this._choicePrompterEl = null, this._openState = "full", this._mobileBreakpoint = 768, this._isMobileViewport = !1, this._pdpLaunched = !1, this._entryContextPrimed = !1, this._pdpPrimingInFlight = !1, this._queuedUserMessages = [], this._productContextUnavailableSku = null, this._i18n = Ae, this._extendedModeManager = null, this._activeTypewriter = null, this._activeTtsHandle = null, this._activeRequestThreadId = null, this._skuToProductItem = {}, this._conversationMode = null, this._initComplete = !1, this._pendingActions = [], this._bridgeContext = null, this._cartQuantity = null, this._threadsWithFirstBot = /* @__PURE__ */ new Set(), this._panel = null, this._localPanelHistory = [], this._currentPanelSource = null, this._session = null, this._presentation = new
|
|
4619
|
+
}, this._messages = [], this._currentMessageId = 0, this._abortControllers = /* @__PURE__ */ new Set(), this._currentThreadId = null, this._lastThreadId = null, this._chatCreatedAt = "", this._lastBackendContext = null, this._productSort = { type: "related" }, this._comparisonSelectMode = !1, this._comparisonSelectedSkus = [], this._comparisonSelectionWarning = null, this._comparisonRefreshRafId = null, this._viewedProductSkus = /* @__PURE__ */ new Set(), this._thumbnailEntries = [], this._choicePrompterEl = null, this._openState = "full", this._mobileBreakpoint = 768, this._isMobileViewport = !1, this._pdpLaunched = !1, this._entryContextPrimed = !1, this._pdpPrimingInFlight = !1, this._queuedUserMessages = [], this._productContextUnavailableSku = null, this._i18n = Ae, this._extendedModeManager = null, this._activeTypewriter = null, this._activeTtsHandle = null, this._activeRequestThreadId = null, this._skuToProductItem = {}, this._conversationMode = null, this._initComplete = !1, this._pendingActions = [], this._bridgeContext = null, this._cartQuantity = null, this._threadsWithFirstBot = /* @__PURE__ */ new Set(), this._panel = null, this._localPanelHistory = [], this._currentPanelSource = null, this._session = null, this._presentation = new pr(), this._eventCallbacks = /* @__PURE__ */ new Map(), this._lastSentAction = null, this._consecutiveErrorCount = 0, this._lastErrorMessage = "";
|
|
4555
4620
|
}
|
|
4556
4621
|
static {
|
|
4557
4622
|
this._MAX_COMPARISON_SELECTION = 5;
|
|
@@ -4562,9 +4627,9 @@ var qr = class e extends V {
|
|
|
4562
4627
|
async onInit(e) {
|
|
4563
4628
|
this._i18n = this._resolveI18n(e), this._chatCreatedAt = (/* @__PURE__ */ new Date()).toISOString(), this._shadow = this.root.attachShadow({ mode: "open" });
|
|
4564
4629
|
let t = document.createElement("style");
|
|
4565
|
-
t.textContent =
|
|
4630
|
+
t.textContent = Ar, this._shadow.appendChild(t);
|
|
4566
4631
|
let n = this.root, r = (e, t) => {
|
|
4567
|
-
t &&
|
|
4632
|
+
t && Qr(t) && n.style.setProperty(e, t);
|
|
4568
4633
|
};
|
|
4569
4634
|
if (r("--gengage-chat-header-bg", e.headerBg), r("--gengage-chat-header-foreground", e.headerForeground), e.theme) for (let [t, n] of Object.entries(e.theme)) t.startsWith("--") && typeof n == "string" && r(t, n);
|
|
4570
4635
|
let i = document.createElement("div");
|
|
@@ -4581,11 +4646,11 @@ var qr = class e extends V {
|
|
|
4581
4646
|
onClick: () => this.open(),
|
|
4582
4647
|
ariaLabel: this._i18n.openButton
|
|
4583
4648
|
};
|
|
4584
|
-
e.launcherImageUrl === void 0 ? e.launcherSvg !== void 0 && (t.svgMarkup = e.launcherSvg) : t.imageUrl = e.launcherImageUrl, e.hideMobileLauncher !== void 0 && (t.hideMobile = e.hideMobileLauncher), e.mobileBreakpoint !== void 0 && (t.mobileBreakpoint = e.mobileBreakpoint), e.launcherTooltip !== void 0 && (t.tooltip = e.launcherTooltip), this._launcher =
|
|
4649
|
+
e.launcherImageUrl === void 0 ? e.launcherSvg !== void 0 && (t.svgMarkup = e.launcherSvg) : t.imageUrl = e.launcherImageUrl, e.hideMobileLauncher !== void 0 && (t.hideMobile = e.hideMobileLauncher), e.mobileBreakpoint !== void 0 && (t.mobileBreakpoint = e.mobileBreakpoint), e.launcherTooltip !== void 0 && (t.tooltip = e.launcherTooltip), this._launcher = Ye(t), i.appendChild(this._launcher.container);
|
|
4585
4650
|
}
|
|
4586
4651
|
a === "overlay" && i.classList.add("gengage-chat--overlay");
|
|
4587
4652
|
let o = document.createElement("div");
|
|
4588
|
-
i.appendChild(o), this._drawer = new
|
|
4653
|
+
i.appendChild(o), this._drawer = new qe(o, {
|
|
4589
4654
|
i18n: this._i18n,
|
|
4590
4655
|
onSend: (e, t) => this._sendMessage(e, t),
|
|
4591
4656
|
onClose: () => this.close(),
|
|
@@ -4646,10 +4711,10 @@ var qr = class e extends V {
|
|
|
4646
4711
|
shouldBlockSoftAutoScroll: () => this._presentation.shouldBlockStreamAutoScroll(),
|
|
4647
4712
|
onReleasePresentationFocus: () => this._releasePresentationFocus()
|
|
4648
4713
|
}
|
|
4649
|
-
}), this._extendedModeManager = new
|
|
4714
|
+
}), this._extendedModeManager = new sr({
|
|
4650
4715
|
onChange: (e) => this._panel?.notifyExtension(e),
|
|
4651
4716
|
productDetailsInPanel: (e.isDemoWebsite ?? !1) && (e.productDetailsExtended ?? !1)
|
|
4652
|
-
}), this._panel = new
|
|
4717
|
+
}), this._panel = new cr({
|
|
4653
4718
|
drawer: () => this._drawer,
|
|
4654
4719
|
shadow: () => this._shadow,
|
|
4655
4720
|
currentThreadId: () => this._currentThreadId,
|
|
@@ -4663,10 +4728,10 @@ var qr = class e extends V {
|
|
|
4663
4728
|
let c = sessionStorage.getItem("gengage_restore_session_id"), l = sessionStorage.getItem("gengage_restore_sku"), u = !!(c && l);
|
|
4664
4729
|
u && (sessionStorage.removeItem("gengage_restore_session_id"), sessionStorage.removeItem("gengage_restore_sku"));
|
|
4665
4730
|
try {
|
|
4666
|
-
let e = new
|
|
4667
|
-
await e.open(), this._session = new
|
|
4731
|
+
let e = new ar();
|
|
4732
|
+
await e.open(), this._session = new dr(e), await this._restoreFromIndexedDB(u);
|
|
4668
4733
|
} catch {
|
|
4669
|
-
this._session = new
|
|
4734
|
+
this._session = new dr(null);
|
|
4670
4735
|
}
|
|
4671
4736
|
this._registerPublicAPI(), e.mobileInitialState !== void 0 && (this._openState = e.mobileInitialState), this._mobileBreakpoint = e.mobileBreakpoint ?? 768, this._syncViewportState();
|
|
4672
4737
|
let d = () => this._syncViewportState();
|
|
@@ -4789,7 +4854,7 @@ var qr = class e extends V {
|
|
|
4789
4854
|
if (!this._drawer || !this._presentation.shown) return;
|
|
4790
4855
|
let e = this._orderedThreadIds();
|
|
4791
4856
|
if (e.length === 0) return;
|
|
4792
|
-
let t =
|
|
4857
|
+
let t = mr(e, this._presentation);
|
|
4793
4858
|
if (!t) return;
|
|
4794
4859
|
let n = `${t}:assistant`;
|
|
4795
4860
|
this._presentation.lastAutoAnchoredGroupId !== n && (this._presentation.userInteracting && !this._presentation.pinnedToBottom || this._drawer.scrollThreadIntoView(t, "smooth") && this._presentation.markGroupAutoAnchored(n));
|
|
@@ -4803,7 +4868,7 @@ var qr = class e extends V {
|
|
|
4803
4868
|
this.close();
|
|
4804
4869
|
break;
|
|
4805
4870
|
case "startNewChatWithLauncherAction": {
|
|
4806
|
-
let t = e.payload, n = t?.action, r =
|
|
4871
|
+
let t = e.payload, n = t?.action, r = $r(n) ? n : $r(t) ? t : null;
|
|
4807
4872
|
r && this._sendAction(r, { silent: !0 }), this.open();
|
|
4808
4873
|
break;
|
|
4809
4874
|
}
|
|
@@ -4812,7 +4877,7 @@ var qr = class e extends V {
|
|
|
4812
4877
|
if (t && typeof t == "object") {
|
|
4813
4878
|
this._bridgeContext = t;
|
|
4814
4879
|
let e = t.sku;
|
|
4815
|
-
if (e && this.update({ sku: e }),
|
|
4880
|
+
if (e && this.update({ sku: e }), $r(t.action)) {
|
|
4816
4881
|
this._pdpLaunched = !0, this.open(), this._sendAction(t.action);
|
|
4817
4882
|
break;
|
|
4818
4883
|
}
|
|
@@ -4846,7 +4911,7 @@ var qr = class e extends V {
|
|
|
4846
4911
|
break;
|
|
4847
4912
|
case "bgColorChange": {
|
|
4848
4913
|
let t = e.payload?.color;
|
|
4849
|
-
typeof t == "string" &&
|
|
4914
|
+
typeof t == "string" && Qr(t) && this._shadow && this._shadow.host.style.setProperty("--gengage-chat-bg", t);
|
|
4850
4915
|
break;
|
|
4851
4916
|
}
|
|
4852
4917
|
default: break;
|
|
@@ -5097,7 +5162,7 @@ var qr = class e extends V {
|
|
|
5097
5162
|
});
|
|
5098
5163
|
return;
|
|
5099
5164
|
}
|
|
5100
|
-
if (this._choicePrompterEl?.remove(), this._choicePrompterEl = null, t?.preservePanel ||
|
|
5165
|
+
if (this._choicePrompterEl?.remove(), this._choicePrompterEl = null, t?.preservePanel || Qn(), !t?.preservePanel && this._comparisonSelectMode && e.type !== "getComparisonTable" && (this._comparisonSelectMode = !1, this._comparisonSelectedSkus = []), t?.preservePanel || (this._localPanelHistory = []), this._currentThreadId && this._lastThreadId && this._lastThreadId > this._currentThreadId) {
|
|
5101
5166
|
let e = this._currentThreadId, t = this._messages.filter((t) => t.threadId !== void 0 && t.threadId > e);
|
|
5102
5167
|
this._messages = this._messages.filter((t) => !t.threadId || t.threadId <= e);
|
|
5103
5168
|
for (let e of t) this._shadow?.querySelector(`[data-message-id="${CSS.escape(e.id)}"]`)?.remove(), this._panel.snapshots.delete(e.id), this._panel.snapshotTypes.delete(e.id);
|
|
@@ -5144,7 +5209,7 @@ var qr = class e extends V {
|
|
|
5144
5209
|
role: e.role === "user" ? "user" : "model",
|
|
5145
5210
|
content: e.content ?? ""
|
|
5146
5211
|
})), p = {
|
|
5147
|
-
outputLanguage:
|
|
5212
|
+
outputLanguage: kr(this.config.locale),
|
|
5148
5213
|
parentUrl: window.location.href,
|
|
5149
5214
|
windowWidth: String(window.innerWidth),
|
|
5150
5215
|
windowHeight: String(window.innerHeight),
|
|
@@ -5154,7 +5219,7 @@ var qr = class e extends V {
|
|
|
5154
5219
|
appId: this.config.accountId,
|
|
5155
5220
|
threads: [],
|
|
5156
5221
|
createdAt: this._chatCreatedAt,
|
|
5157
|
-
kvkkApproved:
|
|
5222
|
+
kvkkApproved: wr(this.config.accountId),
|
|
5158
5223
|
voiceEnabled: this.config.voiceEnabled ?? !1,
|
|
5159
5224
|
threadId: n,
|
|
5160
5225
|
isControlGroup: this.config.session?.abTestVariant === "control",
|
|
@@ -5205,15 +5270,15 @@ var qr = class e extends V {
|
|
|
5205
5270
|
widget: "chat"
|
|
5206
5271
|
})), !this._drawer)) return;
|
|
5207
5272
|
let a = l;
|
|
5208
|
-
if (t &&
|
|
5273
|
+
if (t && Cr(a)) {
|
|
5209
5274
|
let e = this.config.accountId;
|
|
5210
|
-
if (!
|
|
5211
|
-
let t =
|
|
5275
|
+
if (!wr(e)) {
|
|
5276
|
+
let t = Dr(a);
|
|
5212
5277
|
t ? this._drawer?.showKvkkBanner(t, () => {
|
|
5213
|
-
this._drawer?.hideKvkkBanner(),
|
|
5214
|
-
}) :
|
|
5278
|
+
this._drawer?.hideKvkkBanner(), Tr(e);
|
|
5279
|
+
}) : Tr(e);
|
|
5215
5280
|
}
|
|
5216
|
-
a =
|
|
5281
|
+
a = Er(a);
|
|
5217
5282
|
}
|
|
5218
5283
|
let o = this._shadow?.querySelector(`[data-message-id="${u.id}"] .gengage-chat-bubble-text`);
|
|
5219
5284
|
if (o ? o.innerHTML = C(a) : (u.content = a, u.role === "assistant" && u.threadId && !this._threadsWithFirstBot.has(u.threadId) && (this._threadsWithFirstBot.add(u.threadId), this._drawer.markFirstBotMessage(u.id)), this._drawer.addMessage(u)), t) {
|
|
@@ -5222,12 +5287,12 @@ var qr = class e extends V {
|
|
|
5222
5287
|
if (e) {
|
|
5223
5288
|
this._activeTypewriter?.cancel();
|
|
5224
5289
|
let t = i?.productMentions;
|
|
5225
|
-
this._activeTypewriter =
|
|
5290
|
+
this._activeTypewriter = Un({
|
|
5226
5291
|
container: e,
|
|
5227
5292
|
html: C(a),
|
|
5228
5293
|
onTick: () => this._drawer?.scrollToBottomIfNeeded(),
|
|
5229
5294
|
onComplete: () => {
|
|
5230
|
-
this._activeTypewriter = null, t && t.length > 0 && e &&
|
|
5295
|
+
this._activeTypewriter = null, t && t.length > 0 && e && Gn({
|
|
5231
5296
|
container: e,
|
|
5232
5297
|
mentions: t,
|
|
5233
5298
|
onProductClick: (e) => {
|
|
@@ -5265,7 +5330,7 @@ var qr = class e extends V {
|
|
|
5265
5330
|
if (p === "panel" && this._panel && !f) {
|
|
5266
5331
|
let t = !k;
|
|
5267
5332
|
k = !0;
|
|
5268
|
-
let n =
|
|
5333
|
+
let n = ur({
|
|
5269
5334
|
componentType: l,
|
|
5270
5335
|
similarsAppend: c?.props?.similarsAppend === !0,
|
|
5271
5336
|
currentPanelType: this._panel.currentType,
|
|
@@ -5316,7 +5381,8 @@ var qr = class e extends V {
|
|
|
5316
5381
|
let e = this._renderUISpec(t, h);
|
|
5317
5382
|
j = !0, this._drawer?.setPanelAiZoneState("results", { resultEl: e }), v = !0, P = null;
|
|
5318
5383
|
} else P = t, y = !0;
|
|
5319
|
-
|
|
5384
|
+
let b = i && l === "GroundingReviewCard";
|
|
5385
|
+
if ((!u.silent || b) && (p !== "panel" || l === "ProductCard" || f && l === "ProductGrid") && l !== "ActionButtons" && !v && !(y && _)) {
|
|
5320
5386
|
let e = this._shadow?.querySelector(".gengage-chat-messages");
|
|
5321
5387
|
if (e) {
|
|
5322
5388
|
let n = this._renderUISpec(t, h);
|
|
@@ -5342,9 +5408,9 @@ var qr = class e extends V {
|
|
|
5342
5408
|
let e = (l === "ProductGrid" ? (c?.children ?? []).map((e) => t.elements[e]?.props?.product).filter(Boolean) : [c?.props?.product ?? c?.props].filter(Boolean)).map((e) => e.imageUrl).filter((e) => typeof e == "string").slice(0, 5);
|
|
5343
5409
|
e.length > 0 && this._bridge?.send("previewImages", { images: e });
|
|
5344
5410
|
}
|
|
5345
|
-
let
|
|
5346
|
-
if (l === "ProductGrid" && p === "panel" && !f &&
|
|
5347
|
-
this._choicePrompterEl?.remove(), this._shadow?.querySelectorAll(".gengage-chat-choice-prompter").forEach((e) => e.remove()), this._choicePrompterEl =
|
|
5411
|
+
let S = c?.children?.length ?? 0;
|
|
5412
|
+
if (l === "ProductGrid" && p === "panel" && !f && S > 1 && !this._comparisonSelectMode && !$n(this._currentThreadId ?? "")) {
|
|
5413
|
+
this._choicePrompterEl?.remove(), this._shadow?.querySelectorAll(".gengage-chat-choice-prompter").forEach((e) => e.remove()), this._choicePrompterEl = Zn({
|
|
5348
5414
|
heading: this._i18n.choicePrompterHeading,
|
|
5349
5415
|
suggestion: this._i18n.choicePrompterSuggestion,
|
|
5350
5416
|
ctaLabel: this._i18n.choicePrompterCta,
|
|
@@ -5371,7 +5437,7 @@ var qr = class e extends V {
|
|
|
5371
5437
|
let e = c?.props?.buttons;
|
|
5372
5438
|
if (e && e.length > 0) {
|
|
5373
5439
|
let t = [], n = [];
|
|
5374
|
-
for (let r of e) if (
|
|
5440
|
+
for (let r of e) if (Jn(r)) {
|
|
5375
5441
|
let e = {
|
|
5376
5442
|
label: r.label,
|
|
5377
5443
|
action: r.action
|
|
@@ -5425,7 +5491,7 @@ var qr = class e extends V {
|
|
|
5425
5491
|
}), n = window.dispatchEvent(t);
|
|
5426
5492
|
if (ee(), n) {
|
|
5427
5493
|
let t = e.meta.voice;
|
|
5428
|
-
t.audio_base64 && (this._activeTtsHandle?.stop(), this._activeTtsHandle =
|
|
5494
|
+
t.audio_base64 && (this._activeTtsHandle?.stop(), this._activeTtsHandle = $e(t.audio_base64, t.content_type ?? "audio/ogg"));
|
|
5429
5495
|
}
|
|
5430
5496
|
}
|
|
5431
5497
|
if ((e.meta.redirectTarget || e.meta.redirect) && y("gengage:chat:redirect", {
|
|
@@ -5450,31 +5516,45 @@ var qr = class e extends V {
|
|
|
5450
5516
|
},
|
|
5451
5517
|
onError: (e) => {
|
|
5452
5518
|
if (I && this._abortControllers.delete(I), !r && n !== this._activeRequestThreadId) return;
|
|
5453
|
-
N = !0, F(), P = null, this._bridge?.send("isResponding", !1), this._bridge?.send("loadingMessage", { text: null }), this._drawer?.removeTypingIndicator();
|
|
5519
|
+
N = !0, this._activeTypewriter?.cancel(), this._activeTypewriter = null, F(), P = null, this._bridge?.send("isResponding", !1), this._bridge?.send("loadingMessage", { text: null }), this._drawer?.removeTypingIndicator(), this._drawer?.clearInputAreaChips();
|
|
5454
5520
|
let t = k;
|
|
5455
|
-
|
|
5456
|
-
|
|
5457
|
-
|
|
5458
|
-
|
|
5459
|
-
|
|
5521
|
+
O && !k && c(), O = !1, k = !1;
|
|
5522
|
+
let a = u.silent || u.content != null && u.content.length > 0 || l.length > 0 || t, o = typeof navigator < "u" && navigator.onLine === !1 && g(e), s = () => {
|
|
5523
|
+
this._shadow?.querySelector(`[data-message-id="${CSS.escape(u.id)}"]`)?.remove();
|
|
5524
|
+
let e = this._messages.indexOf(u);
|
|
5525
|
+
e >= 0 && this._messages.splice(e, 1);
|
|
5526
|
+
}, d = !1, f = () => {
|
|
5527
|
+
if (o) return;
|
|
5528
|
+
this.emit("error", e);
|
|
5460
5529
|
let t = e.message;
|
|
5461
|
-
t === this._lastErrorMessage ? this._consecutiveErrorCount++ : (this._consecutiveErrorCount = 1, this._lastErrorMessage = t)
|
|
5530
|
+
t === this._lastErrorMessage ? this._consecutiveErrorCount++ : (this._consecutiveErrorCount = 1, this._lastErrorMessage = t);
|
|
5531
|
+
let n = e.message.trim(), r = n.length > 0 ? n : this._i18n.errorMessage, i = {
|
|
5462
5532
|
onRetry: () => {
|
|
5463
5533
|
this._lastSentAction && this._sendAction(this._lastSentAction.action, this._lastSentAction.options);
|
|
5464
5534
|
},
|
|
5465
5535
|
onNewQuestion: () => {
|
|
5466
5536
|
this._drawer?.focusInput();
|
|
5467
5537
|
}
|
|
5468
|
-
}
|
|
5469
|
-
|
|
5470
|
-
|
|
5471
|
-
|
|
5472
|
-
|
|
5473
|
-
|
|
5474
|
-
|
|
5475
|
-
|
|
5476
|
-
|
|
5477
|
-
|
|
5538
|
+
};
|
|
5539
|
+
if (this._consecutiveErrorCount >= 2) {
|
|
5540
|
+
s(), d = !0, this._drawer?.showErrorWithRecovery(this._i18n.accountInactiveMessage, i);
|
|
5541
|
+
return;
|
|
5542
|
+
}
|
|
5543
|
+
if (yr(e, r)) {
|
|
5544
|
+
s(), d = !0, this._drawer?.showErrorWithRecovery(r, i);
|
|
5545
|
+
return;
|
|
5546
|
+
}
|
|
5547
|
+
u.content = r, u.status = "done";
|
|
5548
|
+
let a = C(r.replace(/\r\n/g, "\n").split("\n").join("<br />"));
|
|
5549
|
+
this._ensureAssistantMessageRendered(u), this._drawer?.updateBotMessage(u.id, a), this._drawer?.showRecoveryPillsOnly(i);
|
|
5550
|
+
};
|
|
5551
|
+
if (a) this._drawer?.setPills([]), u.silent || f();
|
|
5552
|
+
else if (i || this._hasUnavailableProductContext()) {
|
|
5553
|
+
this._drawer?.setPills([]);
|
|
5554
|
+
let e = this._i18n.productNotFoundMessage;
|
|
5555
|
+
u.content = e, u.status = "done", this._ensureAssistantMessageRendered(u), this._drawer?.updateBotMessage(u.id, e), this._markUnavailableProductContext();
|
|
5556
|
+
} else if (f(), o) return;
|
|
5557
|
+
i && (this._pdpPrimingInFlight = !1, this._flushQueuedUserMessages()), !d && u.status === "streaming" && (u.status = "error"), o || this.track(E(this.analyticsContext(), {
|
|
5478
5558
|
request_id: x,
|
|
5479
5559
|
error_code: "STREAM_ERROR",
|
|
5480
5560
|
error_message: e.message,
|
|
@@ -5500,7 +5580,12 @@ var qr = class e extends V {
|
|
|
5500
5580
|
let e = this._i18n.productNotFoundMessage;
|
|
5501
5581
|
u.content = e, this._ensureAssistantMessageRendered(u), this._drawer?.updateBotMessage(u.id, e), this._markUnavailableProductContext();
|
|
5502
5582
|
}
|
|
5503
|
-
|
|
5583
|
+
if (i) {
|
|
5584
|
+
this._pdpPrimingInFlight = !1;
|
|
5585
|
+
let e = this._queuedUserMessages.length > 0;
|
|
5586
|
+
this._flushQueuedUserMessages(), e || this._ensurePdpPrimeSuggestedUiIfNeeded();
|
|
5587
|
+
}
|
|
5588
|
+
u.status === "streaming" && (u.status = "done", ne()), this._presentation.finalizeAssistantGroup(n);
|
|
5504
5589
|
let e = this._shadow?.querySelector(".gengage-chat-comparison-toggle-btn--hidden");
|
|
5505
5590
|
e && (e.classList.remove("gengage-chat-comparison-toggle-btn--hidden"), e.classList.add("gengage-chat-comparison-toggle-btn--reveal")), this.emit("message", u);
|
|
5506
5591
|
let t = this._currentPanelSource;
|
|
@@ -5578,6 +5663,36 @@ var qr = class e extends V {
|
|
|
5578
5663
|
let t = this._messages.find((t) => t.id === e);
|
|
5579
5664
|
t?.threadId && this._rollbackToThread(t.threadId);
|
|
5580
5665
|
}
|
|
5666
|
+
_ensurePdpPrimeSuggestedUiIfNeeded() {
|
|
5667
|
+
let e = this.config.pageContext?.sku;
|
|
5668
|
+
if (!e || !this._drawer || this._hasUnavailableProductContext()) return;
|
|
5669
|
+
let t = "product", n = this._resolveContextualOpeningActions(t);
|
|
5670
|
+
if (n.length > 0) {
|
|
5671
|
+
this._drawer.setInputAreaChips(n.map((e) => ({
|
|
5672
|
+
label: e.title,
|
|
5673
|
+
onAction: () => this._sendAction(this._resolveContextualOpeningAction(e, t)),
|
|
5674
|
+
...e.icon ? { icon: e.icon } : {}
|
|
5675
|
+
})));
|
|
5676
|
+
return;
|
|
5677
|
+
}
|
|
5678
|
+
this._drawer.setInputAreaChips([{
|
|
5679
|
+
label: this._i18n.groundingReviewCta,
|
|
5680
|
+
icon: "review",
|
|
5681
|
+
onAction: () => this._sendAction({
|
|
5682
|
+
title: this._i18n.customerReviewsTitle,
|
|
5683
|
+
type: "reviewSummary",
|
|
5684
|
+
payload: { sku: e }
|
|
5685
|
+
})
|
|
5686
|
+
}, {
|
|
5687
|
+
label: this._i18n.findSimilarLabel,
|
|
5688
|
+
icon: "similar",
|
|
5689
|
+
onAction: () => this._sendAction({
|
|
5690
|
+
title: this._i18n.findSimilarLabel,
|
|
5691
|
+
type: "findSimilar",
|
|
5692
|
+
payload: { sku: e }
|
|
5693
|
+
})
|
|
5694
|
+
}]);
|
|
5695
|
+
}
|
|
5581
5696
|
_rollbackToThread(e) {
|
|
5582
5697
|
if (this._panel && this._panel.threads.length > 0 && !this._panel.threads.includes(e) && !this._messages.some((t) => t.threadId === e)) return;
|
|
5583
5698
|
this._currentThreadId = e, this._extendedModeManager?.setHiddenByUser(!1), this._lastThreadId != null && e === this._lastThreadId ? (this._presentation.setFocusedThreadId(e), this._drawer?.setPresentationFocus(e)) : (this._presentation.releaseFocusedThread(), this._drawer?.setPresentationFocus(null)), this._drawer?.setFormerMessagesButtonVisible(!1);
|
|
@@ -5735,7 +5850,7 @@ var qr = class e extends V {
|
|
|
5735
5850
|
return e?.kind === "spec" ? this._shouldUseDividerPreviewForSpec(e.spec) : !1;
|
|
5736
5851
|
}
|
|
5737
5852
|
_toggleComparisonSku(t) {
|
|
5738
|
-
if (t === "") this._comparisonSelectMode = !this._comparisonSelectMode, this._comparisonSelectionWarning = null, this._comparisonSelectMode && (
|
|
5853
|
+
if (t === "") this._comparisonSelectMode = !this._comparisonSelectMode, this._comparisonSelectionWarning = null, this._comparisonSelectMode && (tr(this._currentThreadId ?? ""), this._choicePrompterEl?.remove(), this._choicePrompterEl = null, this._shadow?.querySelectorAll(".gengage-chat-choice-prompter").forEach((e) => e.remove())), this._comparisonSelectMode || (this._comparisonSelectedSkus = [], this._comparisonSelectionWarning = null, P());
|
|
5739
5854
|
else if (this._comparisonSelectedSkus.indexOf(t) >= 0) this._comparisonSelectedSkus = this._comparisonSelectedSkus.filter((e) => e !== t), this._comparisonSelectionWarning = null;
|
|
5740
5855
|
else {
|
|
5741
5856
|
if (this._comparisonSelectedSkus.length >= e._MAX_COMPARISON_SELECTION) {
|
|
@@ -5799,7 +5914,7 @@ var qr = class e extends V {
|
|
|
5799
5914
|
}
|
|
5800
5915
|
}
|
|
5801
5916
|
if (t.querySelector(".gengage-chat-comparison-floating-btn")?.remove(), this._comparisonSelectMode) {
|
|
5802
|
-
let e =
|
|
5917
|
+
let e = Pt(this._comparisonSelectedSkus, this._buildRenderContext());
|
|
5803
5918
|
this._isMobileViewport ? this._drawer?.setComparisonDockContent(e) : (this._drawer?.setComparisonDockContent(null), t.appendChild(e));
|
|
5804
5919
|
} else this._drawer?.setComparisonDockContent(null);
|
|
5805
5920
|
}
|
|
@@ -6094,10 +6209,10 @@ var qr = class e extends V {
|
|
|
6094
6209
|
};
|
|
6095
6210
|
}
|
|
6096
6211
|
_resolveUISpecRegistry() {
|
|
6097
|
-
return f(
|
|
6212
|
+
return f(Ut(), this.config.renderer?.registry);
|
|
6098
6213
|
}
|
|
6099
6214
|
_renderUISpec(e, t) {
|
|
6100
|
-
let n = this._resolveUISpecRegistry(), r = this.config.renderer?.unknownRenderer ??
|
|
6215
|
+
let n = this._resolveUISpecRegistry(), r = this.config.renderer?.unknownRenderer ?? Ht, i = (e, t) => Wt(e, t, n, r), a = this.config.renderer?.renderUISpec;
|
|
6101
6216
|
return a ? a(e, t, {
|
|
6102
6217
|
registry: n,
|
|
6103
6218
|
unknownRenderer: r,
|
|
@@ -6105,10 +6220,10 @@ var qr = class e extends V {
|
|
|
6105
6220
|
}) : i(e, t);
|
|
6106
6221
|
}
|
|
6107
6222
|
};
|
|
6108
|
-
function
|
|
6109
|
-
return new
|
|
6223
|
+
function ti() {
|
|
6224
|
+
return new ei();
|
|
6110
6225
|
}
|
|
6111
6226
|
//#endregion
|
|
6112
|
-
export {
|
|
6227
|
+
export { Ut as a, Ie as c, Oe as d, ke as f, pr as i, Pe as l, ti as n, Ht as o, pe as p, Zr as r, Wt as s, ei as t, Ee as u };
|
|
6113
6228
|
|
|
6114
|
-
//# sourceMappingURL=chat-
|
|
6229
|
+
//# sourceMappingURL=chat-D7c9emMm.js.map
|