@gengage/assistant-fe 0.4.6 → 0.4.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/README.md +21 -1
  2. package/dist/{api-paths-C4GDpeTf.js → api-paths-DR5bPNhi.js} +2 -3
  3. package/dist/assistant-fe.css +1 -1
  4. package/dist/chat-runtime.js +1 -1
  5. package/dist/chat.iife.js +2 -2
  6. package/dist/chat.js +1 -1
  7. package/dist/common/overlay.d.ts +4 -0
  8. package/dist/common/protocol-adapter.d.ts +1 -1
  9. package/dist/common/safe-html.d.ts +1 -1
  10. package/dist/{common-CEN5OW7E.js → common-c-awF96O.js} +3 -3
  11. package/dist/common.js +8 -8
  12. package/dist/{connection-warning-B6oIU-9s.js → connection-warning-ecZqpczd.js} +1 -1
  13. package/dist/{context-VIG4SVcS.js → context-DGz5F81j.js} +82 -79
  14. package/dist/index.d.ts +4 -4
  15. package/dist/index.js +44 -42
  16. package/dist/{native-webview-DudQ7nHe.js → native-webview-C_PmKnzm.js} +1 -1
  17. package/dist/native.iife.js +7 -7
  18. package/dist/native.js +1 -1
  19. package/dist/{overlay-1EO41ZC7.js → overlay-DJ1ZRMfI.js} +75 -75
  20. package/dist/overlay.js +2 -2
  21. package/dist/{pill-launcher-57nrdLRr.js → pill-launcher-DSEeJT9h.js} +2 -2
  22. package/dist/qna/runtime.d.ts +2 -1
  23. package/dist/qna/types.d.ts +14 -0
  24. package/dist/qna-runtime.js +1 -1
  25. package/dist/qna.css +1 -1
  26. package/dist/qna.iife.js +21 -21
  27. package/dist/qna.js +1 -1
  28. package/dist/{runtime-BdwZZIrO.js → runtime-BsZZ8zTg.js} +5 -4
  29. package/dist/{runtime-C0qZk0y7.js → runtime-DNbjpTCh.js} +4 -4
  30. package/dist/runtime-SKDvc0Xc.js +660 -0
  31. package/dist/simbut/index.d.ts +3 -1
  32. package/dist/simbut/types.d.ts +11 -0
  33. package/dist/simbut-Bw3vBFtW.js +109 -0
  34. package/dist/simbut.css +1 -1
  35. package/dist/simbut.iife.js +10 -10
  36. package/dist/simbut.js +1 -1
  37. package/dist/simrel/index.d.ts +2 -0
  38. package/dist/simrel/renderers/default.d.ts +40 -0
  39. package/dist/simrel-DJZ983BF.js +513 -0
  40. package/dist/simrel-runtime.js +1 -1
  41. package/dist/simrel.css +3 -0
  42. package/dist/simrel.iife.js +38 -38
  43. package/dist/simrel.js +4 -3
  44. package/dist/{widget-base-TgwiA8cD.js → widget-base-2-B1Ch5I.js} +1 -1
  45. package/package.json +6 -1
  46. package/dist/runtime-DDu8Wk0z.js +0 -629
  47. package/dist/simbut-BMWC6x_t.js +0 -81
  48. package/dist/simrel-ohfkluhp.js +0 -55
package/dist/native.js CHANGED
@@ -1,4 +1,4 @@
1
- import { a, i, n as t, r, t as s } from "./native-webview-DudQ7nHe.js";
1
+ import { a, i, n as t, r, t as s } from "./native-webview-C_PmKnzm.js";
2
2
  export {
3
3
  s as DEFAULT_NATIVE_TRACKED_EVENTS,
4
4
  t as applyNativeSession,
@@ -1,33 +1,33 @@
1
- import { j as g, r as m, s as f, y as _ } from "./context-VIG4SVcS.js";
1
+ import { j as g, r as m, s as f, y as _ } from "./context-DGz5F81j.js";
2
2
  var v = "__gengageWidgetsInit", l = `${v}_overlay_`, y = "#gengage-qna", w = "#gengage-simrel", C = "#gengage-simbut";
3
3
  function d() {
4
- const t = window;
5
- return t.__gengageOverlayRegistry || (t.__gengageOverlayRegistry = {
4
+ const i = window;
5
+ return i.__gengageOverlayRegistry || (i.__gengageOverlayRegistry = {
6
6
  instances: {},
7
7
  pending: {}
8
- }), t.__gengageOverlayRegistry;
8
+ }), i.__gengageOverlayRegistry;
9
9
  }
10
- function T(t) {
11
- const i = { pageType: t.pageContext?.pageType ?? (typeof t.sku == "string" ? "pdp" : "other") }, s = t.pageContext;
12
- return typeof s?.sku == "string" && (i.sku = s.sku), s?.skuList !== void 0 && (i.skuList = s.skuList), s?.price !== void 0 && (i.price = s.price), s?.categoryTree !== void 0 && (i.categoryTree = s.categoryTree), s?.url !== void 0 && (i.url = s.url), s?.extra !== void 0 && (i.extra = s.extra), typeof t.sku == "string" && (i.sku = t.sku), i;
10
+ function T(i) {
11
+ const t = { pageType: i.pageContext?.pageType ?? (typeof i.sku == "string" ? "pdp" : "other") }, s = i.pageContext;
12
+ return typeof s?.sku == "string" && (t.sku = s.sku), s?.skuList !== void 0 && (t.skuList = s.skuList), s?.price !== void 0 && (t.price = s.price), s?.categoryTree !== void 0 && (t.categoryTree = s.categoryTree), s?.url !== void 0 && (t.url = s.url), s?.extra !== void 0 && (t.extra = s.extra), typeof i.sku == "string" && (t.sku = i.sku), t;
13
13
  }
14
- function b(t, i) {
14
+ function b(i, t) {
15
15
  const s = {
16
- ...t,
17
16
  ...i,
18
- pageType: i.pageType ?? t.pageType
17
+ ...t,
18
+ pageType: t.pageType ?? i.pageType
19
19
  };
20
- return i.sku !== void 0 && typeof i.sku != "string" && delete s.sku, i.pageType !== void 0 && i.pageType !== t.pageType ? (i.pageType !== "pdp" && i.sku === void 0 && delete s.sku, i.pageType !== "plp" && i.skuList === void 0 && delete s.skuList) : (i.sku === void 0 && t.sku !== void 0 && (s.sku = t.sku), i.skuList === void 0 && t.skuList !== void 0 && (s.skuList = t.skuList)), s;
20
+ return t.sku !== void 0 && typeof t.sku != "string" && delete s.sku, t.pageType !== void 0 && t.pageType !== i.pageType ? (t.pageType !== "pdp" && t.sku === void 0 && delete s.sku, t.pageType !== "plp" && t.skuList === void 0 && delete s.skuList) : (t.sku === void 0 && i.sku !== void 0 && (s.sku = i.sku), t.skuList === void 0 && i.skuList !== void 0 && (s.skuList = i.skuList)), s;
21
21
  }
22
- function r(t) {
23
- return t instanceof HTMLElement || document.querySelector(t) ? t : null;
22
+ function r(i) {
23
+ return i instanceof HTMLElement || document.querySelector(i) ? i : null;
24
24
  }
25
- function p(t) {
26
- return t.idempotencyKey ?? `${l}${t.accountId}`;
25
+ function p(i) {
26
+ return i.idempotencyKey ?? `${l}${i.accountId}`;
27
27
  }
28
28
  var S = class {
29
- constructor(t, i) {
30
- this.options = t, this.onDestroy = i, this._chat = null, this._qna = null, this._simrel = null, this._simbut = null, this._analyticsClient = null, this._offQnaWire = null, this._destroyed = !1, this._queue = Promise.resolve(), this._warnedQnaMountMissing = !1, this._warnedSimRelMountMissing = !1, this._warnedSimButMountMissing = !1, this._warnedSimButNoChat = !1, this.idempotencyKey = p(t), this.session = m(t.session), this._pageContext = T(t);
29
+ constructor(i, t) {
30
+ this.options = i, this.onDestroy = t, this._chat = null, this._qna = null, this._simrel = null, this._simbut = null, this._analyticsClient = null, this._offQnaWire = null, this._destroyed = !1, this._queue = Promise.resolve(), this._warnedQnaMountMissing = !1, this._warnedSimRelMountMissing = !1, this._warnedSimButMountMissing = !1, this._warnedSimButNoChat = !1, this.idempotencyKey = p(i), this.session = m(i.session), this._pageContext = T(i);
31
31
  }
32
32
  get chat() {
33
33
  return this._chat;
@@ -47,75 +47,75 @@ var S = class {
47
47
  async init() {
48
48
  window.gengage || (window.gengage = {}), window.gengage.sessionId = this.session.sessionId, window.gengage.pageContext = this._pageContext, await this._initChat(), this.options.wireQnaToChat !== !1 && (this._offQnaWire = f()), await this._syncPdpWidgets(), window.gengage.overlay = this;
49
49
  }
50
- openChat(t) {
51
- this._chat?.open(t);
50
+ openChat(i) {
51
+ this._chat?.open(i);
52
52
  }
53
53
  closeChat() {
54
54
  this._chat?.close();
55
55
  }
56
- async updateContext(t) {
56
+ async updateContext(i) {
57
57
  this._destroyed || await this._enqueue(async () => {
58
- this._pageContext = b(this._pageContext, t), window.gengage || (window.gengage = {}), window.gengage.pageContext = this._pageContext, this._chat?.update(this._pageContext), this._qna?.update(this._pageContext), this._simrel?.update(this._pageContext), this._simbut?.update(this._pageContext), await this._syncPdpWidgets();
58
+ this._pageContext = b(this._pageContext, i), window.gengage || (window.gengage = {}), window.gengage.pageContext = this._pageContext, this._chat?.update(this._pageContext), this._qna?.update(this._pageContext), this._simrel?.update(this._pageContext), this._simbut?.update(this._pageContext), await this._syncPdpWidgets();
59
59
  });
60
60
  }
61
- async updateSku(t, i = "pdp") {
61
+ async updateSku(i, t = "pdp") {
62
62
  await this.updateContext({
63
- sku: t,
64
- pageType: i
63
+ sku: i,
64
+ pageType: t
65
65
  });
66
66
  }
67
- async updatePageContext(t) {
68
- await this.updateContext(t);
67
+ async updatePageContext(i) {
68
+ await this.updateContext(i);
69
69
  }
70
- async setPageContext(t) {
71
- await this.updateContext(t);
70
+ async setPageContext(i) {
71
+ await this.updateContext(i);
72
72
  }
73
73
  destroy() {
74
74
  this._destroyed || (this._destroyed = !0, this._offQnaWire?.(), this._offQnaWire = null, this._chat?.destroy(), this._qna?.destroy(), this._simrel?.destroy(), this._simbut?.destroy(), this._chat = null, this._qna = null, this._simrel = null, this._simbut = null, window.gengage?.overlay === this && delete window.gengage.overlay, this.onDestroy());
75
75
  }
76
76
  async _initChat() {
77
77
  if (this.options.chat?.enabled === !1) return;
78
- const t = this.options.middlewareUrl, i = this.options.chat?.productDetailsExtended ?? this.options.productDetailsExtended, s = this.options.chat?.isDemoWebsite ?? this.options.isDemoWebsite, e = {
78
+ const i = this.options.middlewareUrl, t = this.options.chat?.productDetailsExtended ?? this.options.productDetailsExtended, s = this.options.chat?.isDemoWebsite ?? this.options.isDemoWebsite, e = {
79
79
  accountId: this.options.accountId,
80
- middlewareUrl: t,
80
+ middlewareUrl: i,
81
81
  session: this.session,
82
82
  pageContext: this._pageContext,
83
83
  variant: this.options.chat?.variant ?? "floating"
84
84
  };
85
- this.options.theme !== void 0 && (e.theme = this.options.theme), this.options.locale !== void 0 && (e.locale = this.options.locale), this.options.pricing !== void 0 && (e.pricing = this.options.pricing), this.options.chat?.mountTarget !== void 0 && (e.mountTarget = this.options.chat.mountTarget), this.options.chat?.pillLauncher !== void 0 && (e.pillLauncher = this.options.chat.pillLauncher), this.options.chat?.launcherImageUrl !== void 0 ? e.launcherImageUrl = this.options.chat.launcherImageUrl : this.options.chat?.launcherSvg !== void 0 && (e.launcherSvg = this.options.chat.launcherSvg), this.options.chat?.headerTitle !== void 0 && (e.headerTitle = this.options.chat.headerTitle), this.options.chat?.headerAvatarUrl !== void 0 && (e.headerAvatarUrl = this.options.chat.headerAvatarUrl), this.options.chat?.headerBadge !== void 0 && (e.headerBadge = this.options.chat.headerBadge), this.options.chat?.headerCartUrl !== void 0 && (e.headerCartUrl = this.options.chat.headerCartUrl), this.options.chat?.headerFavoritesToggle !== void 0 && (e.headerFavoritesToggle = this.options.chat.headerFavoritesToggle), this.options.chat?.onFavoritesClick !== void 0 && (e.onFavoritesClick = this.options.chat.onFavoritesClick), this.options.chat?.hideMobileLauncher !== void 0 && (e.hideMobileLauncher = this.options.chat.hideMobileLauncher), this.options.chat?.mobileBreakpoint !== void 0 && (e.mobileBreakpoint = this.options.chat.mobileBreakpoint), this.options.chat?.mobileInitialState !== void 0 && (e.mobileInitialState = this.options.chat.mobileInitialState), this.options.chat?.i18n !== void 0 && (e.i18n = this.options.chat.i18n), this.options.chat?.actionHandling !== void 0 && (e.actionHandling = this.options.chat.actionHandling), this.options.chat?.renderer !== void 0 && (e.renderer = this.options.chat.renderer), i !== void 0 && (e.productDetailsExtended = i), s !== void 0 && (e.isDemoWebsite = s), this.options.chat?.productPriceUi !== void 0 && (e.productPriceUi = this.options.chat.productPriceUi), this.options.chat?.hideProductDiscountBadge !== void 0 && (e.hideProductDiscountBadge = this.options.chat.hideProductDiscountBadge), this.options.chat?.hideUserReviews !== void 0 && (e.hideUserReviews = this.options.chat.hideUserReviews), this.options.chat?.hideStockStatus !== void 0 && (e.hideStockStatus = this.options.chat.hideStockStatus), this.options.onScriptCall !== void 0 && (e.onScriptCall = this.options.onScriptCall), this.options.onAddToCart !== void 0 && (e.onAddToCart = this.options.onAddToCart), this.options.chat?.onOpen !== void 0 && (e.onOpen = this.options.chat.onOpen), this.options.chat?.onClose !== void 0 && (e.onClose = this.options.chat.onClose);
85
+ this.options.theme !== void 0 && (e.theme = this.options.theme), this.options.locale !== void 0 && (e.locale = this.options.locale), this.options.pricing !== void 0 && (e.pricing = this.options.pricing), this.options.chat?.mountTarget !== void 0 && (e.mountTarget = this.options.chat.mountTarget), this.options.chat?.pillLauncher !== void 0 && (e.pillLauncher = this.options.chat.pillLauncher), this.options.chat?.launcherImageUrl !== void 0 ? e.launcherImageUrl = this.options.chat.launcherImageUrl : this.options.chat?.launcherSvg !== void 0 && (e.launcherSvg = this.options.chat.launcherSvg), this.options.chat?.headerTitle !== void 0 && (e.headerTitle = this.options.chat.headerTitle), this.options.chat?.headerAvatarUrl !== void 0 && (e.headerAvatarUrl = this.options.chat.headerAvatarUrl), this.options.chat?.headerBadge !== void 0 && (e.headerBadge = this.options.chat.headerBadge), this.options.chat?.headerCartUrl !== void 0 && (e.headerCartUrl = this.options.chat.headerCartUrl), this.options.chat?.headerFavoritesToggle !== void 0 && (e.headerFavoritesToggle = this.options.chat.headerFavoritesToggle), this.options.chat?.onFavoritesClick !== void 0 && (e.onFavoritesClick = this.options.chat.onFavoritesClick), this.options.chat?.hideMobileLauncher !== void 0 && (e.hideMobileLauncher = this.options.chat.hideMobileLauncher), this.options.chat?.mobileBreakpoint !== void 0 && (e.mobileBreakpoint = this.options.chat.mobileBreakpoint), this.options.chat?.mobileInitialState !== void 0 && (e.mobileInitialState = this.options.chat.mobileInitialState), this.options.chat?.i18n !== void 0 && (e.i18n = this.options.chat.i18n), this.options.chat?.actionHandling !== void 0 && (e.actionHandling = this.options.chat.actionHandling), this.options.chat?.renderer !== void 0 && (e.renderer = this.options.chat.renderer), t !== void 0 && (e.productDetailsExtended = t), s !== void 0 && (e.isDemoWebsite = s), this.options.chat?.productPriceUi !== void 0 && (e.productPriceUi = this.options.chat.productPriceUi), this.options.chat?.hideProductDiscountBadge !== void 0 && (e.hideProductDiscountBadge = this.options.chat.hideProductDiscountBadge), this.options.chat?.hideUserReviews !== void 0 && (e.hideUserReviews = this.options.chat.hideUserReviews), this.options.chat?.hideStockStatus !== void 0 && (e.hideStockStatus = this.options.chat.hideStockStatus), this.options.onScriptCall !== void 0 && (e.onScriptCall = this.options.onScriptCall), this.options.onAddToCart !== void 0 && (e.onAddToCart = this.options.onAddToCart), this.options.chat?.onOpen !== void 0 && (e.onOpen = this.options.chat.onOpen), this.options.chat?.onClose !== void 0 && (e.onClose = this.options.chat.onClose);
86
86
  const { GengageChat: a } = await import("./chat-runtime.js");
87
87
  this._chat = new a(), await this._chat.init(e);
88
88
  }
89
89
  async _syncPdpWidgets() {
90
90
  if (this._destroyed) return;
91
- const t = typeof this._pageContext.sku == "string" ? this._pageContext.sku : void 0;
92
- if (!(this._pageContext.pageType === "pdp" && t !== void 0 && t.length > 0)) {
91
+ const i = typeof this._pageContext.sku == "string" ? this._pageContext.sku : void 0;
92
+ if (!(this._pageContext.pageType === "pdp" && i !== void 0 && i.length > 0)) {
93
93
  this._qna?.hide(), this._simrel?.hide(), this._simbut?.hide();
94
94
  return;
95
95
  }
96
- const i = this.options.middlewareUrl;
96
+ const t = this.options.middlewareUrl;
97
97
  if (this.options.qna?.enabled !== !1) {
98
98
  const s = this.options.qna?.mountTarget ?? y, e = r(s);
99
99
  if (e)
100
100
  if (this._warnedQnaMountMissing = !1, this._qna)
101
101
  this._qna.show(), this._qna.update({
102
102
  pageType: "pdp",
103
- sku: t
103
+ sku: i
104
104
  });
105
105
  else {
106
- const { GengageQNA: a } = await import("./qna-runtime.js"), h = new a(), n = {
106
+ const { GengageQNA: a } = await import("./qna-runtime.js"), h = new a(), o = {
107
107
  accountId: this.options.accountId,
108
- middlewareUrl: i,
108
+ middlewareUrl: t,
109
109
  session: this.session,
110
110
  pageContext: {
111
111
  pageType: "pdp",
112
- sku: t
112
+ sku: i
113
113
  },
114
114
  mountTarget: e
115
115
  };
116
- this.options.theme !== void 0 && (n.theme = this.options.theme), this.options.qna?.ctaText !== void 0 && (n.ctaText = this.options.qna.ctaText), this.options.qna?.hideButtonRowCta !== void 0 && (n.hideButtonRowCta = this.options.qna.hideButtonRowCta), this.options.qna?.inputPlaceholder !== void 0 && (n.inputPlaceholder = this.options.qna.inputPlaceholder), this.options.qna?.i18n !== void 0 && (n.i18n = this.options.qna.i18n), this.options.qna?.renderer !== void 0 && (n.renderer = this.options.qna.renderer);
117
- const o = this.options.qna?.headerTitle ?? this.options.qna?.headingTitle;
118
- o !== void 0 && (n.headerTitle = o), await h.init(n), this._qna = h;
116
+ this.options.theme !== void 0 && (o.theme = this.options.theme), this.options.qna?.chrome !== void 0 && (o.chrome = this.options.qna.chrome), this.options.qna?.ctaText !== void 0 && (o.ctaText = this.options.qna.ctaText), this.options.qna?.hideButtonRowCta !== void 0 && (o.hideButtonRowCta = this.options.qna.hideButtonRowCta), this.options.qna?.inputPlaceholder !== void 0 && (o.inputPlaceholder = this.options.qna.inputPlaceholder), this.options.qna?.i18n !== void 0 && (o.i18n = this.options.qna.i18n), this.options.qna?.renderer !== void 0 && (o.renderer = this.options.qna.renderer);
117
+ const n = this.options.qna?.headerTitle ?? this.options.qna?.headingTitle;
118
+ n !== void 0 && (o.headerTitle = n), await h.init(o), this._qna = h;
119
119
  }
120
120
  else
121
121
  this._qna?.destroy(), this._qna = null, this._warnedQnaMountMissing || (console.warn(`[gengage] QNA mount target not found: ${s}`), this._warnedQnaMountMissing = !0);
@@ -127,19 +127,19 @@ var S = class {
127
127
  if (this._warnedSimRelMountMissing = !1, this._simrel)
128
128
  this._simrel.show(), this._simrel.update({
129
129
  pageType: "pdp",
130
- sku: t
130
+ sku: i
131
131
  });
132
132
  else {
133
- const { GengageSimRel: a } = await import("./simrel-runtime.js"), h = new a(), n = {
133
+ const { GengageSimRel: a } = await import("./simrel-runtime.js"), h = new a(), o = {
134
134
  accountId: this.options.accountId,
135
- middlewareUrl: i,
135
+ middlewareUrl: t,
136
136
  session: this.session,
137
- sku: t,
137
+ sku: i,
138
138
  mountTarget: e
139
139
  };
140
- this.options.theme !== void 0 && (n.theme = this.options.theme), this.options.pricing !== void 0 && (n.pricing = this.options.pricing), this.options.simrel?.discountType !== void 0 && (n.discountType = this.options.simrel.discountType), this.options.simrel?.renderCardElement !== void 0 && (n.renderCardElement = this.options.simrel.renderCardElement), this.options.simrel?.renderer !== void 0 && (n.renderer = this.options.simrel.renderer), this.options.onAddToCart !== void 0 && (n.onAddToCart = this.options.onAddToCart), this.options.onProductNavigate !== void 0 ? n.onProductNavigate = this.options.onProductNavigate : n.onProductNavigate = (o, u, c) => {
141
- g(o) && (this._chat?.saveSession(c ?? this.session.sessionId, u), window.location.href = o);
142
- }, await h.init(n), this._simrel = h;
140
+ this.options.theme !== void 0 && (o.theme = this.options.theme), this.options.pricing !== void 0 && (o.pricing = this.options.pricing), this.options.simrel?.discountType !== void 0 && (o.discountType = this.options.simrel.discountType), this.options.simrel?.gridColumns !== void 0 && (o.gridColumns = this.options.simrel.gridColumns), this.options.simrel?.renderCardElement !== void 0 && (o.renderCardElement = this.options.simrel.renderCardElement), this.options.simrel?.renderer !== void 0 && (o.renderer = this.options.simrel.renderer), this.options.onAddToCart !== void 0 && (o.onAddToCart = this.options.onAddToCart), this.options.onProductNavigate !== void 0 ? o.onProductNavigate = this.options.onProductNavigate : o.onProductNavigate = (n, u, c) => {
141
+ g(n) && (this._chat?.saveSession(c ?? this.session.sessionId, u), window.location.href = n);
142
+ }, await h.init(o), this._simrel = h;
143
143
  }
144
144
  else
145
145
  this._simrel?.destroy(), this._simrel = null, this._warnedSimRelMountMissing || (console.warn(`[gengage] SimRel mount target not found: ${s}`), this._warnedSimRelMountMissing = !0);
@@ -151,62 +151,62 @@ var S = class {
151
151
  if (this._warnedSimButMountMissing = !1, this._warnedSimButNoChat = !1, this._simbut)
152
152
  this._simbut.show(), this._simbut.setChat(this._chat), this._simbut.update({
153
153
  pageType: "pdp",
154
- sku: t
154
+ sku: i
155
155
  });
156
156
  else {
157
- const { GengageSimBut: h } = await import("./simbut.js"), n = new h(), o = {
157
+ const { GengageSimBut: h } = await import("./simbut.js"), o = new h(), n = {
158
158
  accountId: this.options.accountId,
159
- middlewareUrl: i,
159
+ middlewareUrl: t,
160
160
  session: this.session,
161
161
  pageContext: {
162
162
  pageType: "pdp",
163
- sku: t
163
+ sku: i
164
164
  },
165
165
  mountTarget: e,
166
166
  chat: this._chat
167
167
  };
168
- this.options.theme !== void 0 && (o.theme = this.options.theme), this.options.locale !== void 0 && (o.locale = this.options.locale), this.options.simbut.imageUrl !== void 0 && (o.imageUrl = this.options.simbut.imageUrl), this.options.simbut.i18n !== void 0 && (o.i18n = this.options.simbut.i18n), this.options.simbut.onFindSimilar !== void 0 && (o.onFindSimilar = this.options.simbut.onFindSimilar), await n.init(o), this._simbut = n;
168
+ this.options.theme !== void 0 && (n.theme = this.options.theme), this.options.locale !== void 0 && (n.locale = this.options.locale), this.options.simbut.layout !== void 0 && (n.layout = this.options.simbut.layout), this.options.simbut.inlineCard !== void 0 && (n.inlineCard = this.options.simbut.inlineCard), this.options.simbut.imageUrl !== void 0 && (n.imageUrl = this.options.simbut.imageUrl), this.options.simbut.i18n !== void 0 && (n.i18n = this.options.simbut.i18n), this.options.simbut.onFindSimilar !== void 0 && (n.onFindSimilar = this.options.simbut.onFindSimilar), await o.init(n), this._simbut = o;
169
169
  }
170
170
  else
171
171
  this._simbut?.destroy(), this._simbut = null, !e && !this._warnedSimButMountMissing ? (console.warn(`[gengage] SimBut mount target not found: ${s}`), this._warnedSimButMountMissing = !0) : !a && !this._warnedSimButNoChat && (console.warn("[gengage] SimBut requires chat to be enabled or simbut.onFindSimilar"), this._warnedSimButNoChat = !0);
172
172
  } else
173
173
  this._simbut?.destroy(), this._simbut = null;
174
174
  }
175
- _enqueue(t) {
176
- const i = this._queue.then(t);
177
- return this._queue = i.catch((s) => {
178
- }), i;
175
+ _enqueue(i) {
176
+ const t = this._queue.then(i);
177
+ return this._queue = t.catch((s) => {
178
+ }), t;
179
179
  }
180
180
  };
181
- async function k(t) {
182
- const i = p(t), s = d(), e = s.instances[i];
181
+ async function k(i) {
182
+ const t = p(i), s = d(), e = s.instances[t];
183
183
  if (e) return e;
184
- const a = s.pending[i];
184
+ const a = s.pending[t];
185
185
  if (a) return a;
186
- const h = new S(t, () => {
187
- const o = d();
188
- delete o.instances[i], delete o.pending[i];
189
- }), n = h.init().then(() => (s.instances[i] = h, delete s.pending[i], h)).catch((o) => {
190
- throw delete s.pending[i], _({
186
+ const h = new S(i, () => {
187
+ const n = d();
188
+ delete n.instances[t], delete n.pending[t];
189
+ }), o = h.init().then(() => (s.instances[t] = h, delete s.pending[t], h)).catch((n) => {
190
+ throw delete s.pending[t], _({
191
191
  reason: "overlay_init_failed",
192
- message: o instanceof Error ? o.message : String(o)
193
- }), o;
192
+ message: n instanceof Error ? n.message : String(n)
193
+ }), n;
194
194
  });
195
- return s.pending[i] = n, n;
195
+ return s.pending[t] = o, o;
196
196
  }
197
- function x(t) {
198
- return d().instances[t] ?? null;
197
+ function q(i) {
198
+ return d().instances[i] ?? null;
199
199
  }
200
- function M(t) {
201
- x(t)?.destroy();
200
+ function M(i) {
201
+ q(i)?.destroy();
202
202
  }
203
- function U(t) {
204
- return `${l}${t}`;
203
+ function U(i) {
204
+ return `${l}${i}`;
205
205
  }
206
206
  export {
207
207
  v as a,
208
208
  k as i,
209
209
  M as n,
210
- x as r,
210
+ q as r,
211
211
  U as t
212
212
  };
package/dist/overlay.js CHANGED
@@ -1,5 +1,5 @@
1
- import { i as t, t as a } from "./context-VIG4SVcS.js";
2
- import { i as r, n as i, r as o, t as d } from "./overlay-1EO41ZC7.js";
1
+ import { i as t, t as a } from "./context-DGz5F81j.js";
2
+ import { i as r, n as i, r as o, t as d } from "./overlay-DJ1ZRMfI.js";
3
3
  export {
4
4
  a as bootstrapSession,
5
5
  d as buildOverlayIdempotencyKey,
@@ -1,5 +1,5 @@
1
- import { n as I } from "./widget-base-TgwiA8cD.js";
2
- import { j as S } from "./context-VIG4SVcS.js";
1
+ import { n as I } from "./widget-base-2-B1Ch5I.js";
2
+ import { j as S } from "./context-DGz5F81j.js";
3
3
  function E(n, e) {
4
4
  if (typeof window > "u" || !S(n)) return !1;
5
5
  const r = new CustomEvent("gengage:navigate", {
@@ -39,6 +39,7 @@ export declare class GengageQNA extends BaseWidget<QNAWidgetConfig> {
39
39
  private _fetchAndRender;
40
40
  private _createLoadingIndicator;
41
41
  private _resolveI18n;
42
+ private _createChrome;
42
43
  private _resolveUISpecRegistry;
43
44
  private _renderUISpec;
44
45
  private _specIncludesType;
@@ -56,6 +57,6 @@ export declare class GengageQNA extends BaseWidget<QNAWidgetConfig> {
56
57
  _openChatHandler: () => void;
57
58
  }
58
59
  export declare function createQNAWidget(): GengageQNA;
59
- export type { QNAWidgetConfig, QNAUIComponents, QNAI18n, QNAUISpecRenderContext, QNARendererConfig } from './types.js';
60
+ export type { QNAWidgetConfig, QNAUIComponents, QNAI18n, QNAChromeLayout, QNAChromeConfig, QNAUISpecRenderContext, QNARendererConfig, } from './types.js';
60
61
  export { renderQnaUISpec, createDefaultQnaUISpecRegistry, defaultQnaUnknownUISpecRenderer, } from './components/renderUISpec.js';
61
62
  export type { QNAUISpecRegistry } from './components/renderUISpec.js';
@@ -3,6 +3,8 @@ import { UISpecRendererOverrides } from '../common/renderer/index.js';
3
3
  export interface QNAWidgetConfig extends BaseWidgetConfig {
4
4
  /** Where to mount the QNA buttons container. Required. */
5
5
  mountTarget: HTMLElement | string;
6
+ /** Optional SDK-owned outer chrome for merchant PDP prompts. Defaults to no chrome. */
7
+ chrome?: QNAChromeConfig;
6
8
  /** CTA label for the "open chat" pill/button (default: 'Ask something else'). */
7
9
  ctaText?: string;
8
10
  /** Hide the CTA button inside the quick-question button row.
@@ -47,6 +49,18 @@ export interface QNAI18n {
47
49
  */
48
50
  productContextQuickPillLabel: string;
49
51
  }
52
+ export type QNAChromeLayout = 'default' | 'side-image';
53
+ export interface QNAChromeConfig {
54
+ /** Optional chrome layout. `side-image` keeps the QNA body in the content column beside the image. */
55
+ layout?: QNAChromeLayout;
56
+ title?: string;
57
+ subtitle?: string;
58
+ imageUrl?: string;
59
+ imageAlt?: string;
60
+ /** Optional CSS padding value applied to the chrome image. */
61
+ imagePadding?: string;
62
+ startButtonLabel?: string;
63
+ }
50
64
  export interface QNAUISpecRenderContext {
51
65
  onAction: (action: ActionPayload) => void;
52
66
  onOpenChat?: () => void;
@@ -1,4 +1,4 @@
1
- import { a, i as r, n, r as t, t as s } from "./runtime-DDu8Wk0z.js";
1
+ import { a, i as r, n, r as t, t as s } from "./runtime-SKDvc0Xc.js";
2
2
  export {
3
3
  s as GengageQNA,
4
4
  t as createDefaultQnaUISpecRegistry,
package/dist/qna.css CHANGED
@@ -1 +1 @@
1
- :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}.gengage-qna-container{margin-top:var(--gengage-qna-container-margin-top,16px);margin-bottom:var(--gengage-qna-container-margin-bottom,32px);font-family:var(--gengage-font-family,"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);font-size:var(--gengage-font-size,14px);color:var(--text-primary);--_gengage-border-color:var(--border-default);--_gengage-text-primary:var(--text-primary);--_gengage-text-secondary:var(--text-secondary);--_gengage-qna-panel-surface:var(--gengage-qna-panel-bg,#f7f7f9);--_gengage-qna-icon-color:var(--gengage-qna-icon-color,var(--client-primary));--_gengage-qna-transition-overlay:color-mix(in srgb, var(--surface-card) 78%, transparent);--_gengage-qna-pill-bg:var(--gengage-qna-pill-bg,#fff);--_gengage-qna-pill-bg-hover:var(--gengage-qna-pill-bg-hover,color-mix(in srgb, var(--client-primary) 10%, white));--_gengage-qna-pill-fg:var(--gengage-qna-pill-fg,var(--client-primary));--_gengage-qna-pill-border:var(--gengage-qna-pill-border,color-mix(in srgb, var(--client-primary) 64%, white));--_gengage-qna-pill-border-hover:var(--gengage-qna-pill-border-hover,color-mix(in srgb, var(--client-primary) 78%, white));--_gengage-qna-input-bg:var(--gengage-qna-input-bg,#fff);--_gengage-qna-input-border:var(--gengage-qna-input-border,color-mix(in srgb, var(--client-primary) 58%, white));--_gengage-qna-action-icon-bg-hover:var(--gengage-qna-action-icon-bg-hover,color-mix(in srgb, var(--client-primary) 12%, white));--_gengage-qna-clear-color:var(--gengage-qna-clear-color,var(--client-primary));--_gengage-qna-send-color:var(--gengage-qna-send-color,var(--client-primary));--_gengage-qna-send-color-disabled:var(--gengage-qna-send-color-disabled,color-mix(in srgb, var(--client-primary) 36%, #b3b8c8));--_gengage-qna-action-icon-size:var(--gengage-qna-action-icon-size,20px);position:relative}.gengage-qna-panel{z-index:0;isolation:isolate;background:var(--_gengage-qna-panel-surface);border:var(--gengage-qna-panel-border,1px solid var(--_gengage-border-color));border-radius:var(--gengage-qna-panel-radius,14px);padding:var(--gengage-qna-panel-padding,18px 20px 24px);margin-bottom:var(--gengage-qna-panel-margin-bottom,0);margin-top:var(--gengage-qna-panel-margin-top,0);box-shadow:var(--gengage-qna-panel-shadow,0 2px 14px color-mix(in srgb, var(--_gengage-text-primary) 7%, transparent), 0 1px 2px color-mix(in srgb, var(--_gengage-text-primary) 5%, transparent));flex-direction:column;display:flex;position:relative}.gengage-qna-panel>.gengage-qna-heading{order:0}.gengage-qna-panel>.gengage-qna-uispec{order:1}.gengage-qna-panel>:not(.gengage-qna-transition-indicator){z-index:0;position:relative}.gengage-qna-panel .gengage-qna-heading:first-child{margin-top:0}.gengage-qna-uispec{gap:var(--gengage-qna-uispec-gap,12px);flex-direction:column;display:flex}.gengage-qna-uispec>.gengage-qna-heading{order:0}.gengage-qna-uispec>.gengage-qna-input-wrapper{order:1}.gengage-qna-uispec>.gengage-qna-buttons{order:2}.gengage-qna-uispec>*{animation:.15s cubic-bezier(.2,.72,.2,1) both gengage-qna-enter}@keyframes gengage-qna-enter{0%{opacity:0;transform:translateY(4px)scale(.995)}to{opacity:1;transform:none}}.gengage-qna-buttons{gap:var(--gengage-qna-buttons-gap,10px);padding:var(--gengage-qna-buttons-padding,2px 0 2px);flex-wrap:wrap;align-content:flex-start;display:flex}.gengage-qna-button{min-height:var(--gengage-qna-button-min-height,34px);padding:var(--gengage-qna-button-padding,6px 12px);border:1px solid var(--_gengage-qna-pill-border);border-radius:var(--radius-pill,var(--gengage-qna-pill-radius,999px));background:var(--_gengage-qna-pill-bg);color:var(--_gengage-qna-pill-fg);font-size:var(--gengage-qna-button-font-size,14px);cursor:pointer;text-align:left;justify-content:center;align-items:center;font-family:inherit;font-weight:700;line-height:1.3;transition:background-color .14s,border-color .14s,color .14s,transform .12s;display:inline-flex}.gengage-qna-button:hover{background:var(--_gengage-qna-pill-bg-hover);border-color:var(--_gengage-qna-pill-border-hover);transform:translateY(-1px)}.gengage-qna-button:active{transform:translateY(1px)scale(.988)}.gengage-qna-button:focus-visible{outline:2px solid var(--client-primary);outline-offset:2px}.gengage-qna-cta{min-height:var(--gengage-qna-button-min-height,34px);padding:var(--gengage-qna-button-padding,6px 12px);border:1px solid var(--ds-button-secondary-border);border-radius:var(--radius-pill,var(--gengage-qna-pill-radius,999px));background:var(--ds-button-secondary-bg);color:var(--ds-button-secondary-fg);font-size:var(--gengage-qna-button-font-size,14px);cursor:pointer;opacity:.92;white-space:nowrap;align-items:center;font-family:inherit;font-weight:700;transition:opacity .12s,transform .12s;display:inline-flex}.gengage-qna-cta:hover{background:var(--ds-button-secondary-bg-hover);transform:translateY(-1px)}.gengage-qna-cta:focus-visible{outline:2px solid var(--client-primary);outline-offset:2px}.gengage-qna-input-wrapper{padding:var(--gengage-qna-input-wrapper-padding,0);margin-bottom:var(--gengage-qna-input-wrapper-margin-bottom,14px)}.gengage-qna-input-combo{border:1px solid var(--_gengage-qna-input-border);border-radius:var(--gengage-qna-input-radius,12px);background:var(--_gengage-qna-input-bg);min-height:48px;box-shadow:var(--gengage-qna-input-inner-shadow,var(--ds-input-highlight));flex-direction:row;align-items:center;transition:border-color .14s,box-shadow .14s;display:flex;position:relative;overflow:hidden}.gengage-qna-input-combo:before{content:"";border:2px solid var(--_gengage-qna-icon-color);box-sizing:border-box;pointer-events:none;border-radius:999px;width:18px;height:18px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.gengage-qna-input-combo:after{content:"";background:var(--_gengage-qna-icon-color);transform-origin:50%;pointer-events:none;border-radius:999px;width:8px;height:2px;position:absolute;top:50%;left:28px;transform:translateY(4px)rotate(45deg)}.gengage-qna-input-combo:focus-within{border-color:var(--ds-input-focus-border);box-shadow:var(--ds-input-focus-ring)}.gengage-qna-input{min-width:0;height:48px;font-size:var(--gengage-qna-input-font-size,14px);font-weight:var(--gengage-qna-input-font-weight,500);background:0 0;border:none;border-radius:0;outline:none;flex:1;padding:0 10px 0 40px;font-family:inherit;transition:none}.gengage-qna-input::placeholder{color:var(--gengage-qna-input-placeholder-color,#6b7280);transition:opacity .18s}.gengage-qna-input--fade::placeholder{opacity:0}.gengage-qna-input-actions{flex-shrink:0;align-items:center;gap:6px;padding-left:4px;padding-right:10px;display:inline-flex}.gengage-qna-icon-btn{cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;width:32px;height:32px;margin:0;padding:0;transition:opacity .15s,transform .15s,background-color .15s,color .15s;display:inline-flex}.gengage-qna-icon-btn svg{width:var(--_gengage-qna-action-icon-size);height:var(--_gengage-qna-action-icon-size);stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;fill:none;transition:opacity .12s}.gengage-qna-icon-btn:hover{background:var(--_gengage-qna-action-icon-bg-hover)}.gengage-qna-icon-btn:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:1px}.gengage-qna-icon-btn--hidden{display:none}.gengage-qna-clear{color:var(--_gengage-qna-clear-color)}.gengage-qna-clear svg{stroke:currentColor}.gengage-qna-send{color:var(--_gengage-qna-send-color-disabled)}.gengage-qna-send:disabled{opacity:1;cursor:pointer}.gengage-qna-send svg{stroke:currentColor}.gengage-qna-send.gengage-qna-send--active{color:var(--_gengage-qna-send-color)}.gengage-qna-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.gengage-qna-heading{font-size:var(--gengage-qna-heading-font-size,clamp(16px, 1.15vw, 19px));line-height:var(--gengage-qna-heading-line-height,1.3);letter-spacing:var(--gengage-qna-heading-letter-spacing,-.012em);font-weight:var(--gengage-qna-heading-font-weight,700);margin:var(--gengage-qna-heading-margin,0 0 8px);color:var(--gengage-qna-heading-color,var(--_gengage-text-primary))}.gengage-qna-loading{gap:4px;padding:12px 0;display:flex}.gengage-qna-loading-dot{background:var(--client-primary);opacity:.4;border-radius:50%;width:7px;height:7px;animation:1.4s ease-in-out infinite both gengage-qna-pulse}.gengage-qna-loading-dot:first-child{animation-delay:0s}.gengage-qna-loading-dot:nth-child(2){animation-delay:.16s}.gengage-qna-loading-dot:nth-child(3){animation-delay:.32s}@keyframes gengage-qna-pulse{0%,80%,to{opacity:.4;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}@media (width<=900px){.gengage-qna-panel{padding:var(--gengage-qna-panel-padding-tablet,14px 16px 18px)}.gengage-qna-uispec{gap:var(--gengage-qna-uispec-gap-tablet,12px)}.gengage-qna-uispec>.gengage-qna-buttons{padding-top:var(--gengage-qna-buttons-padding-top-tablet,2px);gap:var(--gengage-qna-buttons-gap-tablet,8px)}}@media (width<=768px){.gengage-qna-buttons{gap:10px;padding:8px 0 12px}.gengage-qna-button,.gengage-qna-cta{min-height:44px;padding:10px 16px;font-size:14px;line-height:1.2}.gengage-qna-input{font-size:16px}.gengage-qna-input-actions{gap:4px;padding-right:8px}.gengage-qna-icon-btn{width:30px;height:30px}}@media (prefers-reduced-motion:reduce){.gengage-qna-uispec>*,.gengage-qna-button,.gengage-qna-cta,.gengage-qna-send,.gengage-qna--transitioning,.gengage-qna-transition-indicator{transition:none!important;animation:none!important;transform:none!important}}.gengage-qna--transitioning{opacity:.7;pointer-events:none;transition:opacity .2s}.gengage-qna-transition-indicator{z-index:2147483647;box-sizing:border-box;color:var(--client-primary);text-align:center;pointer-events:none;background:var(--_gengage-qna-transition-overlay);-webkit-backdrop-filter:blur(4px);border-radius:inherit;justify-content:center;align-items:center;padding:16px;font-size:12px;font-weight:500;line-height:1.35;animation:.15s gengage-qna-fade-in;display:flex;position:absolute;inset:0}@keyframes gengage-qna-fade-in{0%{opacity:0}to{opacity:1}}
1
+ :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}.gengage-qna-container{margin-top:var(--gengage-qna-container-margin-top,16px);margin-bottom:var(--gengage-qna-container-margin-bottom,32px);font-family:var(--gengage-font-family,"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);font-size:var(--gengage-font-size,14px);color:var(--text-primary);--_gengage-border-color:var(--border-default);--_gengage-text-primary:var(--text-primary);--_gengage-text-secondary:var(--text-secondary);--_gengage-qna-panel-surface:var(--gengage-qna-panel-bg,#f7f7f9);--_gengage-qna-icon-color:var(--gengage-qna-icon-color,var(--client-primary));--_gengage-qna-transition-overlay:color-mix(in srgb, var(--surface-card) 78%, transparent);--_gengage-qna-pill-bg:var(--gengage-qna-pill-bg,#fff);--_gengage-qna-pill-bg-hover:var(--gengage-qna-pill-bg-hover,color-mix(in srgb, var(--client-primary) 10%, white));--_gengage-qna-pill-fg:var(--gengage-qna-pill-fg,var(--client-primary));--_gengage-qna-pill-border:var(--gengage-qna-pill-border,color-mix(in srgb, var(--client-primary) 64%, white));--_gengage-qna-pill-border-hover:var(--gengage-qna-pill-border-hover,color-mix(in srgb, var(--client-primary) 78%, white));--_gengage-qna-input-bg:var(--gengage-qna-input-bg,#fff);--_gengage-qna-input-border:var(--gengage-qna-input-border,color-mix(in srgb, var(--client-primary) 58%, white));--_gengage-qna-action-icon-bg-hover:var(--gengage-qna-action-icon-bg-hover,color-mix(in srgb, var(--client-primary) 12%, white));--_gengage-qna-clear-color:var(--gengage-qna-clear-color,var(--client-primary));--_gengage-qna-send-color:var(--gengage-qna-send-color,var(--client-primary));--_gengage-qna-send-color-disabled:var(--gengage-qna-send-color-disabled,color-mix(in srgb, var(--client-primary) 36%, #b3b8c8));--_gengage-qna-action-icon-size:var(--gengage-qna-action-icon-size,20px);position:relative}.gengage-qna-chrome{box-sizing:border-box;grid-template-columns:var(--gengage-qna-chrome-grid-template-columns,minmax(0, 1fr) auto);align-items:var(--gengage-qna-chrome-align-items,start);gap:var(--gengage-qna-chrome-gap,18px);min-height:var(--gengage-qna-chrome-min-height,0);margin:var(--gengage-qna-chrome-margin,0 0 32px);padding:var(--gengage-qna-chrome-padding,20px 24px 24px);border:var(--gengage-qna-chrome-border,0);border-radius:var(--gengage-qna-chrome-radius,6px);background:var(--gengage-qna-chrome-bg,#f6f6f6);color:var(--gengage-qna-chrome-color,var(--text-primary,#242424));font-family:inherit;display:grid;position:relative;overflow:visible}.gengage-qna-chrome-copy{grid-column:var(--gengage-qna-chrome-copy-grid-column,auto);grid-row:var(--gengage-qna-chrome-copy-grid-row,auto);min-width:0;padding-right:var(--gengage-qna-chrome-copy-padding-right,0)}.gengage-qna-chrome-title{margin:var(--gengage-qna-chrome-title-margin,0 0 8px);color:var(--gengage-qna-chrome-title-color,var(--text-primary,#242424));font-family:inherit;font-size:var(--gengage-qna-chrome-title-font-size,24px);font-weight:var(--gengage-qna-chrome-title-font-weight,700);line-height:var(--gengage-qna-chrome-title-line-height,1.2);letter-spacing:0}.gengage-qna-chrome-subtitle{margin:var(--gengage-qna-chrome-subtitle-margin,0);max-width:var(--gengage-qna-chrome-subtitle-max-width,560px);color:var(--gengage-qna-chrome-subtitle-color,var(--text-secondary,#4b5563));font-family:inherit;font-size:var(--gengage-qna-chrome-subtitle-font-size,16px);font-weight:var(--gengage-qna-chrome-subtitle-font-weight,400);line-height:var(--gengage-qna-chrome-subtitle-line-height,1.45);letter-spacing:0}.gengage-qna-chrome-image{grid-column:var(--gengage-qna-chrome-image-grid-column,2);grid-row:var(--gengage-qna-chrome-image-grid-row,1 / span 3);align-self:var(--gengage-qna-chrome-image-align-self,end);justify-self:var(--gengage-qna-chrome-image-justify-self,center);box-sizing:border-box;width:var(--gengage-qna-chrome-image-width,180px);max-width:var(--gengage-qna-chrome-image-max-width,34vw);height:var(--gengage-qna-chrome-image-height,180px);padding:var(--gengage-qna-chrome-image-padding,0);object-fit:contain;pointer-events:none}.gengage-qna-chrome-widget{grid-column:var(--gengage-qna-chrome-widget-grid-column,1 / -1);grid-row:var(--gengage-qna-chrome-widget-grid-row,auto);min-width:0;max-width:var(--gengage-qna-chrome-widget-max-width,none)}.gengage-qna-chrome-start{grid-column:var(--gengage-qna-chrome-start-grid-column,1);grid-row:var(--gengage-qna-chrome-start-grid-row,auto);justify-self:var(--gengage-qna-chrome-start-justify-self,start);min-width:var(--gengage-qna-chrome-start-min-width,108px);min-height:var(--gengage-qna-chrome-start-min-height,42px);margin-top:var(--gengage-qna-chrome-start-margin-top,14px);padding:var(--gengage-qna-chrome-start-padding,0 22px);border:var(--gengage-qna-chrome-start-border,0);border-radius:var(--gengage-qna-chrome-start-radius,25px);background:var(--gengage-qna-chrome-start-bg,var(--ds-button-primary-bg));color:var(--gengage-qna-chrome-start-fg,var(--ds-button-primary-fg));font-family:inherit;font-size:var(--gengage-qna-chrome-start-font-size,13px);font-weight:var(--gengage-qna-chrome-start-font-weight,700);letter-spacing:0;white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;line-height:1.2;transition:background-color .14s,transform .12s;display:inline-flex}.gengage-qna-chrome--side-image{grid-template-columns:var(--gengage-qna-chrome-side-image-columns,minmax(0, 1fr) minmax(var(--gengage-qna-chrome-image-width,180px), auto))}.gengage-qna-chrome--side-image .gengage-qna-chrome-copy{grid-column:var(--gengage-qna-chrome-copy-grid-column,1);grid-row:var(--gengage-qna-chrome-copy-grid-row,1)}.gengage-qna-chrome--side-image .gengage-qna-chrome-image{grid-column:var(--gengage-qna-chrome-image-grid-column,2);grid-row:var(--gengage-qna-chrome-image-grid-row,1 / span 3)}.gengage-qna-chrome--side-image .gengage-qna-chrome-widget{grid-column:var(--gengage-qna-chrome-widget-grid-column,1);grid-row:var(--gengage-qna-chrome-widget-grid-row,2)}.gengage-qna-chrome--side-image .gengage-qna-chrome-start{grid-column:var(--gengage-qna-chrome-start-grid-column,1);grid-row:var(--gengage-qna-chrome-start-grid-row,3)}.gengage-qna-chrome-start:hover{background:var(--gengage-qna-chrome-start-bg-hover,var(--ds-button-primary-bg-hover));transform:translateY(-1px)}.gengage-qna-chrome-start:active{transform:translateY(0)}.gengage-qna-chrome-start:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:2px}.gengage-qna-panel{z-index:0;isolation:isolate;background:var(--_gengage-qna-panel-surface);border:var(--gengage-qna-panel-border,1px solid var(--_gengage-border-color));border-radius:var(--gengage-qna-panel-radius,14px);padding:var(--gengage-qna-panel-padding,18px 20px 24px);margin-bottom:var(--gengage-qna-panel-margin-bottom,0);margin-top:var(--gengage-qna-panel-margin-top,0);box-shadow:var(--gengage-qna-panel-shadow,0 2px 14px color-mix(in srgb, var(--_gengage-text-primary) 7%, transparent), 0 1px 2px color-mix(in srgb, var(--_gengage-text-primary) 5%, transparent));flex-direction:column;display:flex;position:relative}.gengage-qna-panel>.gengage-qna-heading{order:0}.gengage-qna-panel>.gengage-qna-uispec{order:1}.gengage-qna-panel>:not(.gengage-qna-transition-indicator){z-index:0;position:relative}.gengage-qna-panel .gengage-qna-heading:first-child{margin-top:0}.gengage-qna-uispec{gap:var(--gengage-qna-uispec-gap,12px);flex-direction:column;display:flex}.gengage-qna-uispec>.gengage-qna-heading{order:0}.gengage-qna-uispec>.gengage-qna-input-wrapper{order:1}.gengage-qna-uispec>.gengage-qna-buttons{order:2}.gengage-qna-uispec>*{animation:.15s cubic-bezier(.2,.72,.2,1) both gengage-qna-enter}@keyframes gengage-qna-enter{0%{opacity:0;transform:translateY(4px)scale(.995)}to{opacity:1;transform:none}}.gengage-qna-buttons{gap:var(--gengage-qna-buttons-gap,10px);padding:var(--gengage-qna-buttons-padding,2px 0 2px);flex-wrap:wrap;align-content:flex-start;display:flex}.gengage-qna-button{min-height:var(--gengage-qna-button-min-height,34px);padding:var(--gengage-qna-button-padding,6px 12px);border:1px solid var(--_gengage-qna-pill-border);border-radius:var(--radius-pill,var(--gengage-qna-pill-radius,999px));background:var(--_gengage-qna-pill-bg);color:var(--_gengage-qna-pill-fg);font-size:var(--gengage-qna-button-font-size,14px);cursor:pointer;text-align:left;justify-content:center;align-items:center;font-family:inherit;font-weight:700;line-height:1.3;transition:background-color .14s,border-color .14s,color .14s,transform .12s;display:inline-flex}.gengage-qna-button:hover{background:var(--_gengage-qna-pill-bg-hover);border-color:var(--_gengage-qna-pill-border-hover);transform:translateY(-1px)}.gengage-qna-button:active{transform:translateY(1px)scale(.988)}.gengage-qna-button:focus-visible{outline:2px solid var(--client-primary);outline-offset:2px}.gengage-qna-cta{min-height:var(--gengage-qna-button-min-height,34px);padding:var(--gengage-qna-button-padding,6px 12px);border:1px solid var(--ds-button-secondary-border);border-radius:var(--radius-pill,var(--gengage-qna-pill-radius,999px));background:var(--ds-button-secondary-bg);color:var(--ds-button-secondary-fg);font-size:var(--gengage-qna-button-font-size,14px);cursor:pointer;opacity:.92;white-space:nowrap;align-items:center;font-family:inherit;font-weight:700;transition:opacity .12s,transform .12s;display:inline-flex}.gengage-qna-cta:hover{background:var(--ds-button-secondary-bg-hover);transform:translateY(-1px)}.gengage-qna-cta:focus-visible{outline:2px solid var(--client-primary);outline-offset:2px}.gengage-qna-input-wrapper{padding:var(--gengage-qna-input-wrapper-padding,0);margin-bottom:var(--gengage-qna-input-wrapper-margin-bottom,14px)}.gengage-qna-input-combo{border:1px solid var(--_gengage-qna-input-border);border-radius:var(--gengage-qna-input-radius,12px);background:var(--_gengage-qna-input-bg);min-height:48px;box-shadow:var(--gengage-qna-input-inner-shadow,var(--ds-input-highlight));flex-direction:row;align-items:center;transition:border-color .14s,box-shadow .14s;display:flex;position:relative;overflow:hidden}.gengage-qna-input-combo:before{content:"";border:2px solid var(--_gengage-qna-icon-color);box-sizing:border-box;pointer-events:none;border-radius:999px;width:18px;height:18px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.gengage-qna-input-combo:after{content:"";background:var(--_gengage-qna-icon-color);transform-origin:50%;pointer-events:none;border-radius:999px;width:8px;height:2px;position:absolute;top:50%;left:28px;transform:translateY(4px)rotate(45deg)}.gengage-qna-input-combo:focus-within{border-color:var(--ds-input-focus-border);box-shadow:var(--ds-input-focus-ring)}.gengage-qna-input{min-width:0;height:48px;font-size:var(--gengage-qna-input-font-size,14px);font-weight:var(--gengage-qna-input-font-weight,500);background:0 0;border:none;border-radius:0;outline:none;flex:1;padding:0 10px 0 40px;font-family:inherit;transition:none}.gengage-qna-input::placeholder{color:var(--gengage-qna-input-placeholder-color,#6b7280);transition:opacity .18s}.gengage-qna-input--fade::placeholder{opacity:0}.gengage-qna-input-actions{flex-shrink:0;align-items:center;gap:6px;padding-left:4px;padding-right:10px;display:inline-flex}.gengage-qna-icon-btn{cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;width:32px;height:32px;margin:0;padding:0;transition:opacity .15s,transform .15s,background-color .15s,color .15s;display:inline-flex}.gengage-qna-icon-btn svg{width:var(--_gengage-qna-action-icon-size);height:var(--_gengage-qna-action-icon-size);stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;fill:none;transition:opacity .12s}.gengage-qna-icon-btn:hover{background:var(--_gengage-qna-action-icon-bg-hover)}.gengage-qna-icon-btn:focus-visible{outline:2px solid var(--client-focus-ring);outline-offset:1px}.gengage-qna-icon-btn--hidden{display:none}.gengage-qna-clear{color:var(--_gengage-qna-clear-color)}.gengage-qna-clear svg{stroke:currentColor}.gengage-qna-send{color:var(--_gengage-qna-send-color-disabled)}.gengage-qna-send:disabled{opacity:1;cursor:pointer}.gengage-qna-send svg{stroke:currentColor}.gengage-qna-send.gengage-qna-send--active{color:var(--_gengage-qna-send-color)}.gengage-qna-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.gengage-qna-heading{display:var(--gengage-qna-heading-display,block);font-size:var(--gengage-qna-heading-font-size,clamp(16px, 1.15vw, 19px));line-height:var(--gengage-qna-heading-line-height,1.3);letter-spacing:var(--gengage-qna-heading-letter-spacing,-.012em);font-weight:var(--gengage-qna-heading-font-weight,700);margin:var(--gengage-qna-heading-margin,0 0 8px);color:var(--gengage-qna-heading-color,var(--_gengage-text-primary))}.gengage-qna-loading{gap:4px;padding:12px 0;display:flex}.gengage-qna-loading-dot{background:var(--client-primary);opacity:.4;border-radius:50%;width:7px;height:7px;animation:1.4s ease-in-out infinite both gengage-qna-pulse}.gengage-qna-loading-dot:first-child{animation-delay:0s}.gengage-qna-loading-dot:nth-child(2){animation-delay:.16s}.gengage-qna-loading-dot:nth-child(3){animation-delay:.32s}@keyframes gengage-qna-pulse{0%,80%,to{opacity:.4;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}@media (width<=900px){.gengage-qna-chrome{gap:var(--gengage-qna-chrome-gap-tablet,12px);padding:var(--gengage-qna-chrome-padding-tablet,18px 18px 20px)}.gengage-qna-chrome-image{width:var(--gengage-qna-chrome-image-width-tablet,150px);height:var(--gengage-qna-chrome-image-height-tablet,150px)}.gengage-qna-panel{padding:var(--gengage-qna-panel-padding-tablet,14px 16px 18px)}.gengage-qna-uispec{gap:var(--gengage-qna-uispec-gap-tablet,12px)}.gengage-qna-uispec>.gengage-qna-buttons{padding-top:var(--gengage-qna-buttons-padding-top-tablet,2px);gap:var(--gengage-qna-buttons-gap-tablet,8px)}}@media (width<=768px){.gengage-qna-chrome{grid-template-columns:var(--gengage-qna-chrome-grid-template-columns-mobile,var(--gengage-qna-chrome-grid-template-columns,minmax(0, 1fr) auto));padding:var(--gengage-qna-chrome-padding-mobile,18px 16px 20px)}.gengage-qna-chrome--side-image{grid-template-columns:var(--gengage-qna-chrome-side-image-columns-mobile,minmax(0, 1fr))}.gengage-qna-chrome--side-image .gengage-qna-chrome-copy,.gengage-qna-chrome--side-image .gengage-qna-chrome-widget,.gengage-qna-chrome--side-image .gengage-qna-chrome-start{grid-column:var(--gengage-qna-chrome-content-grid-column-mobile,1)}.gengage-qna-chrome-copy{padding-right:var(--gengage-qna-chrome-copy-padding-right-mobile,76px)}.gengage-qna-chrome-title{font-size:var(--gengage-qna-chrome-title-font-size-mobile,22px)}.gengage-qna-chrome-subtitle{font-size:var(--gengage-qna-chrome-subtitle-font-size-mobile,14px)}.gengage-qna-chrome-image{right:var(--gengage-qna-chrome-image-right-mobile,0);bottom:var(--gengage-qna-chrome-image-bottom-mobile,-4px);width:var(--gengage-qna-chrome-image-width-mobile,126px);max-width:var(--gengage-qna-chrome-image-max-width-mobile,40vw);height:var(--gengage-qna-chrome-image-height-mobile,126px);position:absolute}.gengage-qna-chrome-start{min-height:var(--gengage-qna-chrome-start-min-height-mobile,44px)}.gengage-qna-buttons{gap:10px;padding:8px 0 12px}.gengage-qna-button,.gengage-qna-cta{min-height:44px;padding:10px 16px;font-size:14px;line-height:1.2}.gengage-qna-input{font-size:16px}.gengage-qna-input-actions{gap:4px;padding-right:8px}.gengage-qna-icon-btn{width:30px;height:30px}}@media (prefers-reduced-motion:reduce){.gengage-qna-uispec>*,.gengage-qna-button,.gengage-qna-cta,.gengage-qna-send,.gengage-qna--transitioning,.gengage-qna-transition-indicator,.gengage-qna-chrome-start{transition:none!important;animation:none!important;transform:none!important}}.gengage-qna--transitioning{opacity:.7;pointer-events:none;transition:opacity .2s}.gengage-qna-transition-indicator{z-index:2147483647;box-sizing:border-box;color:var(--client-primary);text-align:center;pointer-events:none;background:var(--_gengage-qna-transition-overlay);-webkit-backdrop-filter:blur(4px);border-radius:inherit;justify-content:center;align-items:center;padding:16px;font-size:12px;font-weight:500;line-height:1.35;animation:.15s gengage-qna-fade-in;display:flex;position:absolute;inset:0}@keyframes gengage-qna-fade-in{0%{opacity:0}to{opacity:1}}