pxengine 0.1.117 → 0.1.118

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -16129,6 +16129,10 @@ var RefreshIcon = () => /* @__PURE__ */ (0, import_jsx_runtime147.jsxs)("svg", {
16129
16129
  /* @__PURE__ */ (0, import_jsx_runtime147.jsx)("polyline", { points: "23 4 23 10 17 10" }),
16130
16130
  /* @__PURE__ */ (0, import_jsx_runtime147.jsx)("path", { d: "M20.49 15a9 9 0 1 1-2.12-9.36L23 10" })
16131
16131
  ] });
16132
+ var EditIcon = () => /* @__PURE__ */ (0, import_jsx_runtime147.jsxs)("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.2", strokeLinecap: "round", strokeLinejoin: "round", children: [
16133
+ /* @__PURE__ */ (0, import_jsx_runtime147.jsx)("path", { d: "M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7" }),
16134
+ /* @__PURE__ */ (0, import_jsx_runtime147.jsx)("path", { d: "M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z" })
16135
+ ] });
16132
16136
  var SlideTypeIcon = () => /* @__PURE__ */ (0, import_jsx_runtime147.jsxs)("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
16133
16137
  /* @__PURE__ */ (0, import_jsx_runtime147.jsx)("rect", { x: "3", y: "4", width: "18", height: "14", rx: "2" }),
16134
16138
  /* @__PURE__ */ (0, import_jsx_runtime147.jsx)("line", { x1: "3", y1: "10", x2: "21", y2: "10" })
@@ -16166,7 +16170,7 @@ var FORMATS = [
16166
16170
  ext: ".html",
16167
16171
  emoji: "\u{1F310}",
16168
16172
  desc: "Interactive web presentation \u2014 download and open in browser",
16169
- accent: { text: "text-indigo-400", bg: "bg-indigo-500/10 border-indigo-500/20" }
16173
+ accent: { text: "text-sky-400", bg: "bg-sky-500/10 border-sky-500/20" }
16170
16174
  }
16171
16175
  ];
16172
16176
  var ExportModal = ({ formats, title, onClose }) => {
@@ -16283,7 +16287,7 @@ var FullscreenModal = ({ url, title, slideCount, initialSlide = 1, onClose }) =>
16283
16287
  return /* @__PURE__ */ (0, import_jsx_runtime147.jsxs)("div", { className: "fixed inset-0 z-50 bg-black flex flex-col", children: [
16284
16288
  /* @__PURE__ */ (0, import_jsx_runtime147.jsxs)("div", { className: "flex items-center justify-between gap-4 px-4 h-11 bg-zinc-950/90 border-b border-zinc-800/60 flex-shrink-0", children: [
16285
16289
  /* @__PURE__ */ (0, import_jsx_runtime147.jsxs)("div", { className: "flex items-center gap-3 min-w-0", children: [
16286
- /* @__PURE__ */ (0, import_jsx_runtime147.jsx)("span", { className: "text-indigo-400 flex-shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(SlidesIcon, {}) }),
16290
+ /* @__PURE__ */ (0, import_jsx_runtime147.jsx)("span", { className: "text-[#DCC99B] flex-shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(SlidesIcon, {}) }),
16287
16291
  /* @__PURE__ */ (0, import_jsx_runtime147.jsx)("span", { className: "text-sm font-medium text-zinc-300 truncate", children: title }),
16288
16292
  slideCount > 0 && /* @__PURE__ */ (0, import_jsx_runtime147.jsxs)("span", { className: "text-xs text-zinc-600 flex-shrink-0", children: [
16289
16293
  currentSlide,
@@ -16297,7 +16301,7 @@ var FullscreenModal = ({ url, title, slideCount, initialSlide = 1, onClose }) =>
16297
16301
  {
16298
16302
  onClick: () => sendSlideCommand("prevSlide"),
16299
16303
  disabled: !iframeReady,
16300
- className: "w-7 h-7 rounded-full border border-zinc-700 bg-zinc-800 hover:border-indigo-500 hover:text-indigo-400 text-zinc-400 flex items-center justify-center transition-colors disabled:opacity-30 disabled:cursor-not-allowed",
16304
+ className: "w-7 h-7 rounded-full border border-zinc-700 bg-zinc-800 hover:border-[#C0AE82] hover:text-[#DCC99B] text-zinc-400 flex items-center justify-center transition-colors disabled:opacity-30 disabled:cursor-not-allowed",
16301
16305
  "aria-label": "Previous slide",
16302
16306
  children: /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(ChevronLeft2, {})
16303
16307
  }
@@ -16307,7 +16311,7 @@ var FullscreenModal = ({ url, title, slideCount, initialSlide = 1, onClose }) =>
16307
16311
  {
16308
16312
  onClick: () => sendSlideCommand("nextSlide"),
16309
16313
  disabled: !iframeReady,
16310
- className: "w-7 h-7 rounded-full border border-zinc-700 bg-zinc-800 hover:border-indigo-500 hover:text-indigo-400 text-zinc-400 flex items-center justify-center transition-colors disabled:opacity-30 disabled:cursor-not-allowed",
16314
+ className: "w-7 h-7 rounded-full border border-zinc-700 bg-zinc-800 hover:border-[#C0AE82] hover:text-[#DCC99B] text-zinc-400 flex items-center justify-center transition-colors disabled:opacity-30 disabled:cursor-not-allowed",
16311
16315
  "aria-label": "Next slide",
16312
16316
  children: /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(ChevronRight2, {})
16313
16317
  }
@@ -16883,11 +16887,11 @@ var PresentationJobCard = ({
16883
16887
  /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(
16884
16888
  "div",
16885
16889
  {
16886
- className: "h-[3px] bg-gradient-to-r from-indigo-500 via-purple-500 to-indigo-500 bg-[length:200%_100%] animate-[gradient-shift_2s_ease-in-out_infinite]",
16890
+ className: "h-[3px]",
16887
16891
  style: {
16892
+ backgroundImage: accentGradient || "linear-gradient(90deg, #8B7D5E, #C0AE82, #DCC99B, #C0AE82, #8B7D5E)",
16888
16893
  backgroundSize: "200% 100%",
16889
- animation: "gradient-shift 2s ease-in-out infinite",
16890
- ...accentGradient ? { backgroundImage: accentGradient } : {}
16894
+ animation: "gradient-shift 2s ease-in-out infinite"
16891
16895
  }
16892
16896
  }
16893
16897
  ),
@@ -16896,7 +16900,7 @@ var PresentationJobCard = ({
16896
16900
  /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(
16897
16901
  "div",
16898
16902
  {
16899
- className: "w-10 h-10 rounded-xl bg-indigo-500/10 border border-indigo-500/20 flex items-center justify-center flex-shrink-0",
16903
+ className: "w-10 h-10 rounded-xl bg-[#C0AE82]/10 border border-[#C0AE82]/25 flex items-center justify-center flex-shrink-0",
16900
16904
  style: { ...t.accentSubtle(0.1), ...t.accentBorder },
16901
16905
  children: /* @__PURE__ */ (0, import_jsx_runtime147.jsx)("span", { className: "text-lg", children: getPhaseIcon() })
16902
16906
  }
@@ -16914,10 +16918,11 @@ var PresentationJobCard = ({
16914
16918
  /* @__PURE__ */ (0, import_jsx_runtime147.jsx)("div", { className: "h-2 bg-zinc-800 rounded-full overflow-hidden", children: /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(
16915
16919
  "div",
16916
16920
  {
16917
- className: "h-full bg-gradient-to-r from-indigo-500 to-purple-500 rounded-full transition-all duration-500 ease-out",
16921
+ className: "h-full rounded-full transition-all duration-500 ease-out",
16918
16922
  style: {
16919
16923
  width: `${Math.max(pct, 2)}%`,
16920
- ...accentGradient ? { backgroundImage: accentGradient } : t.accentBg
16924
+ backgroundImage: accentGradient || "linear-gradient(90deg, #8B7D5E, #C0AE82, #DCC99B)",
16925
+ ...!accentGradient ? t.accentBg : {}
16921
16926
  }
16922
16927
  }
16923
16928
  ) }),
@@ -16927,7 +16932,7 @@ var PresentationJobCard = ({
16927
16932
  ] })
16928
16933
  ] }),
16929
16934
  /* @__PURE__ */ (0, import_jsx_runtime147.jsxs)("div", { className: "flex items-center gap-2", children: [
16930
- /* @__PURE__ */ (0, import_jsx_runtime147.jsx)("div", { className: "w-2 h-2 rounded-full bg-indigo-500 animate-pulse", style: t.accentBg }),
16935
+ /* @__PURE__ */ (0, import_jsx_runtime147.jsx)("div", { className: "w-2 h-2 rounded-full bg-[#C0AE82] animate-pulse", style: t.accentBg }),
16931
16936
  /* @__PURE__ */ (0, import_jsx_runtime147.jsx)("span", { className: "text-xs text-zinc-400", children: step })
16932
16937
  ] }),
16933
16938
  phase === "ai_generation" && slidesTotal > 0 && /* @__PURE__ */ (0, import_jsx_runtime147.jsxs)("div", { className: "flex items-center gap-2 pt-1", children: [
@@ -16936,7 +16941,7 @@ var PresentationJobCard = ({
16936
16941
  {
16937
16942
  className: cn(
16938
16943
  "w-6 h-1.5 rounded-full transition-all duration-300",
16939
- i < slidesCompleted ? "bg-indigo-500" : i === slidesCompleted ? "bg-indigo-500/50 animate-pulse" : "bg-zinc-700"
16944
+ i < slidesCompleted ? "bg-[#C0AE82]" : i === slidesCompleted ? "bg-[#C0AE82]/50 animate-pulse" : "bg-zinc-700"
16940
16945
  )
16941
16946
  },
16942
16947
  i
@@ -16984,7 +16989,7 @@ var PresentationJobCard = ({
16984
16989
  /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(
16985
16990
  "div",
16986
16991
  {
16987
- className: "w-10 h-10 rounded-xl bg-indigo-500/10 border border-indigo-500/20 flex items-center justify-center flex-shrink-0 text-indigo-400",
16992
+ className: "w-10 h-10 rounded-xl bg-[#C0AE82]/10 border border-[#C0AE82]/25 flex items-center justify-center flex-shrink-0 text-[#DCC99B]",
16988
16993
  style: { ...t.accentSubtle(0.1), ...t.accentBorder, ...t.accent },
16989
16994
  children: /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(SlidesIcon, {})
16990
16995
  }
@@ -17021,7 +17026,7 @@ var PresentationJobCard = ({
17021
17026
  onChange: (e) => setSlideTemplate(i, e.target.value),
17022
17027
  disabled: rowBusy,
17023
17028
  title: "Design template for this slide only (default: deck's template)",
17024
- className: "w-24 flex-shrink-0 bg-zinc-800/60 border border-zinc-700 rounded-lg px-1.5 h-8 text-[10px] text-zinc-300 focus:border-indigo-500 outline-none disabled:opacity-60",
17029
+ className: "w-24 flex-shrink-0 bg-zinc-800/60 border border-zinc-700 rounded-lg px-1.5 h-8 text-[10px] text-zinc-300 focus:border-[#C0AE82] outline-none disabled:opacity-60",
17025
17030
  children: [
17026
17031
  /* @__PURE__ */ (0, import_jsx_runtime147.jsx)("option", { value: "", children: "Deck default" }),
17027
17032
  slideTemplateOptions.map((opt) => /* @__PURE__ */ (0, import_jsx_runtime147.jsx)("option", { value: opt.id, children: opt.name }, opt.id))
@@ -17034,7 +17039,7 @@ var PresentationJobCard = ({
17034
17039
  value: messageEdits[i] ?? s.message ?? "",
17035
17040
  onChange: (e) => setMessageEdits((prev) => ({ ...prev, [i]: e.target.value })),
17036
17041
  disabled: building,
17037
- className: "flex-1 min-w-0 bg-zinc-800/60 border border-zinc-700 rounded-lg px-3 h-8 text-xs text-zinc-200 focus:border-indigo-500 outline-none disabled:opacity-60"
17042
+ className: "flex-1 min-w-0 bg-zinc-800/60 border border-zinc-700 rounded-lg px-3 h-8 text-xs text-zinc-200 focus:border-[#C0AE82] outline-none disabled:opacity-60"
17038
17043
  }
17039
17044
  ),
17040
17045
  /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(
@@ -17109,7 +17114,7 @@ var PresentationJobCard = ({
17109
17114
  /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(
17110
17115
  "div",
17111
17116
  {
17112
- className: "w-10 h-10 rounded-xl bg-indigo-500/10 border border-indigo-500/20 flex items-center justify-center flex-shrink-0 text-indigo-400",
17117
+ className: "w-10 h-10 rounded-xl bg-[#C0AE82]/10 border border-[#C0AE82]/25 flex items-center justify-center flex-shrink-0 text-[#DCC99B]",
17113
17118
  style: { ...t.accentSubtle(0.1), ...t.accentBorder, ...t.accent },
17114
17119
  children: /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(SlidesIcon, {})
17115
17120
  }
@@ -17124,19 +17129,63 @@ var PresentationJobCard = ({
17124
17129
  generationMode === "template" && /* @__PURE__ */ (0, import_jsx_runtime147.jsx)("p", { className: "text-xs mt-1", children: isApproved ? /* @__PURE__ */ (0, import_jsx_runtime147.jsx)("span", { className: "text-emerald-400/90", children: "Approved \u2014 future decks use this format" }) : reviewStatus === "pending_review" ? /* @__PURE__ */ (0, import_jsx_runtime147.jsx)("span", { className: "text-amber-400/90", children: "Review this deck, then approve to lock the format" }) : null })
17125
17130
  ] }),
17126
17131
  /* @__PURE__ */ (0, import_jsx_runtime147.jsxs)("div", { className: "flex items-center gap-1.5 flex-shrink-0 flex-wrap justify-end", children: [
17127
- canRegenerate && /* @__PURE__ */ (0, import_jsx_runtime147.jsxs)(
17128
- "button",
17129
- {
17130
- onClick: handleRegenerate,
17131
- disabled: regenerating || approving,
17132
- title: "Try another design template with the same content",
17133
- className: "flex items-center gap-1.5 px-2.5 h-7 rounded-lg border border-zinc-700 bg-zinc-800 hover:border-zinc-500 text-zinc-300 text-xs font-medium transition-colors disabled:opacity-50",
17134
- children: [
17135
- /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(RefreshIcon, {}),
17136
- /* @__PURE__ */ (0, import_jsx_runtime147.jsx)("span", { children: regenerating ? "Switching..." : "Regenerate" })
17137
- ]
17138
- }
17139
- ),
17132
+ /* @__PURE__ */ (0, import_jsx_runtime147.jsxs)("div", { className: "flex items-center rounded-lg border border-zinc-700 bg-zinc-800 overflow-hidden divide-x divide-zinc-700", children: [
17133
+ /* @__PURE__ */ (0, import_jsx_runtime147.jsxs)(
17134
+ "a",
17135
+ {
17136
+ href: hasHtml ? `/presentations/${_job_id}/edit` : void 0,
17137
+ "aria-disabled": !hasHtml,
17138
+ title: "Edit presentation content",
17139
+ className: cn(
17140
+ "flex items-center gap-1.5 px-2.5 h-7 text-xs font-medium text-zinc-300 hover:text-zinc-100 hover:bg-zinc-700/60 transition-colors",
17141
+ !hasHtml && "pointer-events-none opacity-40"
17142
+ ),
17143
+ children: [
17144
+ /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(EditIcon, {}),
17145
+ /* @__PURE__ */ (0, import_jsx_runtime147.jsx)("span", { children: "Edit" })
17146
+ ]
17147
+ }
17148
+ ),
17149
+ /* @__PURE__ */ (0, import_jsx_runtime147.jsxs)(
17150
+ "button",
17151
+ {
17152
+ onClick: () => setShowFullscreen(true),
17153
+ disabled: !hasHtml,
17154
+ title: "Open fullscreen preview",
17155
+ className: "flex items-center gap-1.5 px-2.5 h-7 text-xs font-medium text-zinc-300 hover:text-zinc-100 hover:bg-zinc-700/60 transition-colors disabled:opacity-40 disabled:cursor-not-allowed",
17156
+ children: [
17157
+ /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(ExpandIcon, {}),
17158
+ /* @__PURE__ */ (0, import_jsx_runtime147.jsx)("span", { children: "Preview" })
17159
+ ]
17160
+ }
17161
+ ),
17162
+ canRegenerate && /* @__PURE__ */ (0, import_jsx_runtime147.jsxs)(
17163
+ "button",
17164
+ {
17165
+ onClick: handleRegenerate,
17166
+ disabled: regenerating || approving,
17167
+ title: "Try another design template with the same content",
17168
+ className: "flex items-center gap-1.5 px-2.5 h-7 text-xs font-medium text-zinc-300 hover:text-zinc-100 hover:bg-zinc-700/60 transition-colors disabled:opacity-40",
17169
+ children: [
17170
+ /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(RefreshIcon, {}),
17171
+ /* @__PURE__ */ (0, import_jsx_runtime147.jsx)("span", { children: regenerating ? "Switching\u2026" : "Regenerate" })
17172
+ ]
17173
+ }
17174
+ ),
17175
+ /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(
17176
+ "button",
17177
+ {
17178
+ onClick: handleShare,
17179
+ disabled: !hasHtml,
17180
+ title: copied ? "Copied!" : "Copy shareable link",
17181
+ className: cn(
17182
+ "flex items-center justify-center w-7 h-7 transition-colors disabled:opacity-30 disabled:cursor-not-allowed",
17183
+ copied ? "text-green-400" : "text-zinc-300 hover:text-zinc-100 hover:bg-zinc-700/60"
17184
+ ),
17185
+ children: copied ? /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(CheckIcon, {}) : /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(ShareIcon, {})
17186
+ }
17187
+ )
17188
+ ] }),
17140
17189
  canApprove && /* @__PURE__ */ (0, import_jsx_runtime147.jsxs)(
17141
17190
  "button",
17142
17191
  {
@@ -17151,39 +17200,16 @@ var PresentationJobCard = ({
17151
17200
  }
17152
17201
  ),
17153
17202
  isApproved && /* @__PURE__ */ (0, import_jsx_runtime147.jsx)("span", { className: "flex items-center justify-center w-7 h-7 rounded-lg border border-emerald-500/40 bg-emerald-500/10 text-emerald-400", title: "Format saved", children: /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(CheckIcon, {}) }),
17154
- /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(
17155
- "button",
17156
- {
17157
- onClick: handleShare,
17158
- disabled: !hasHtml,
17159
- title: copied ? "Copied!" : "Copy shareable link",
17160
- className: cn(
17161
- "w-7 h-7 rounded-lg border flex items-center justify-center transition-all",
17162
- copied ? "border-green-500/40 bg-green-500/10 text-green-400" : "border-zinc-700 bg-zinc-800 text-zinc-400 hover:border-zinc-500 hover:text-zinc-200",
17163
- "disabled:opacity-30 disabled:cursor-not-allowed"
17164
- ),
17165
- children: copied ? /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(CheckIcon, {}) : /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(ShareIcon, {})
17166
- }
17167
- ),
17168
- /* @__PURE__ */ (0, import_jsx_runtime147.jsxs)(
17169
- "button",
17170
- {
17171
- onClick: () => setShowFullscreen(true),
17172
- disabled: !hasHtml,
17173
- title: "Open fullscreen preview",
17174
- className: "flex items-center gap-1.5 px-2.5 h-7 rounded-lg border border-zinc-700 bg-zinc-800 hover:border-zinc-500 text-zinc-400 hover:text-zinc-200 text-xs font-medium transition-colors disabled:opacity-30 disabled:cursor-not-allowed",
17175
- children: [
17176
- /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(ExpandIcon, {}),
17177
- /* @__PURE__ */ (0, import_jsx_runtime147.jsx)("span", { children: "Preview" })
17178
- ]
17179
- }
17180
- ),
17181
17203
  /* @__PURE__ */ (0, import_jsx_runtime147.jsxs)(
17182
17204
  "button",
17183
17205
  {
17184
17206
  onClick: () => setShowExport(true),
17185
- className: "flex items-center gap-1.5 px-2.5 h-7 bg-indigo-600 hover:bg-indigo-500 active:bg-indigo-700 text-white text-xs font-medium rounded-lg transition-colors",
17186
- style: { ...t.accentBg, ...t.accentText },
17207
+ className: "flex items-center gap-1.5 px-3 h-7 text-xs font-semibold rounded-lg transition-colors",
17208
+ style: {
17209
+ backgroundImage: accentGradient || "linear-gradient(90deg, #8B7D5E, #C0AE82, #DCC99B)",
17210
+ color: "#0A0A0A",
17211
+ ...accentGradient ? t.accentText : {}
17212
+ },
17187
17213
  children: [
17188
17214
  /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(DownloadIcon, {}),
17189
17215
  /* @__PURE__ */ (0, import_jsx_runtime147.jsx)("span", { children: "Export" })
@@ -17238,7 +17264,7 @@ var PresentationJobCard = ({
17238
17264
  sendSlideCommand("prevSlide");
17239
17265
  },
17240
17266
  disabled: !hasHtml || !iframeReady,
17241
- className: "w-7 h-7 rounded-full border border-zinc-700 bg-zinc-800 hover:border-indigo-500 hover:text-indigo-400 text-zinc-400 flex items-center justify-center transition-colors disabled:opacity-30 disabled:cursor-not-allowed",
17267
+ className: "w-7 h-7 rounded-full border border-zinc-700 bg-zinc-800 hover:border-[#C0AE82] hover:text-[#DCC99B] text-zinc-400 flex items-center justify-center transition-colors disabled:opacity-30 disabled:cursor-not-allowed",
17242
17268
  "aria-label": "Previous slide",
17243
17269
  children: /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(ChevronLeft2, {})
17244
17270
  }
@@ -17256,7 +17282,7 @@ var PresentationJobCard = ({
17256
17282
  sendSlideCommand("nextSlide");
17257
17283
  },
17258
17284
  disabled: !hasHtml || !iframeReady,
17259
- className: "w-7 h-7 rounded-full border border-zinc-700 bg-zinc-800 hover:border-indigo-500 hover:text-indigo-400 text-zinc-400 flex items-center justify-center transition-colors disabled:opacity-30 disabled:cursor-not-allowed",
17285
+ className: "w-7 h-7 rounded-full border border-zinc-700 bg-zinc-800 hover:border-[#C0AE82] hover:text-[#DCC99B] text-zinc-400 flex items-center justify-center transition-colors disabled:opacity-30 disabled:cursor-not-allowed",
17260
17286
  "aria-label": "Next slide",
17261
17287
  children: /* @__PURE__ */ (0, import_jsx_runtime147.jsx)(ChevronRight2, {})
17262
17288
  }
@@ -17283,10 +17309,11 @@ var PresentationJobCard = ({
17283
17309
  var import_react79 = require("react");
17284
17310
  var import_jsx_runtime148 = require("react/jsx-runtime");
17285
17311
  var DEFAULT_THEME = {
17286
- primary: "#8b5cf6",
17287
- secondary: "#a78bfa",
17288
- accent: "#c4b5fd"
17312
+ primary: "#C0AE82",
17313
+ secondary: "#C4AD7C",
17314
+ accent: "#DCC99B"
17289
17315
  };
17316
+ var GOLD_GRADIENT = "linear-gradient(90deg, #8B7D5E, #C0AE82, #DCC99B)";
17290
17317
  function readableOn(bg) {
17291
17318
  if (!bg || typeof bg !== "string") return "#ffffff";
17292
17319
  const hex = bg.replace("#", "");
@@ -17333,6 +17360,10 @@ var RefreshIcon2 = () => /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)("svg",
17333
17360
  /* @__PURE__ */ (0, import_jsx_runtime148.jsx)("polyline", { points: "23 4 23 10 17 10" }),
17334
17361
  /* @__PURE__ */ (0, import_jsx_runtime148.jsx)("path", { d: "M20.49 15a9 9 0 1 1-2.12-9.36L23 10" })
17335
17362
  ] });
17363
+ var EditIcon2 = () => /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.2", strokeLinecap: "round", strokeLinejoin: "round", children: [
17364
+ /* @__PURE__ */ (0, import_jsx_runtime148.jsx)("path", { d: "M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7" }),
17365
+ /* @__PURE__ */ (0, import_jsx_runtime148.jsx)("path", { d: "M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z" })
17366
+ ] });
17336
17367
  function formatTemplateLabel2(templateId) {
17337
17368
  if (!templateId) return null;
17338
17369
  return templateId.split("-").map((w) => w.charAt(0).toUpperCase() + w.slice(1)).join(" ");
@@ -17354,7 +17385,7 @@ var FullscreenPreviewModal = ({ url, title, onClose }) => {
17354
17385
  return /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)("div", { className: "fixed inset-0 z-50 bg-black flex flex-col", children: [
17355
17386
  /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)("div", { className: "flex items-center justify-between gap-4 px-4 h-11 bg-zinc-950/90 border-b border-zinc-800/60 flex-shrink-0", children: [
17356
17387
  /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)("div", { className: "flex items-center gap-3 min-w-0", children: [
17357
- /* @__PURE__ */ (0, import_jsx_runtime148.jsx)("span", { className: "text-violet-400 flex-shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(DocumentIcon, {}) }),
17388
+ /* @__PURE__ */ (0, import_jsx_runtime148.jsx)("span", { className: "text-[#DCC99B] flex-shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(DocumentIcon, {}) }),
17358
17389
  /* @__PURE__ */ (0, import_jsx_runtime148.jsx)("span", { className: "text-sm font-medium text-zinc-300 truncate", children: title })
17359
17390
  ] }),
17360
17391
  /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)(
@@ -17835,8 +17866,9 @@ var ResearchReportJobCard = (props) => {
17835
17866
  /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(
17836
17867
  "div",
17837
17868
  {
17838
- className: "h-[3px] bg-gradient-to-r from-violet-500 via-purple-500 to-violet-500",
17869
+ className: "h-[3px]",
17839
17870
  style: {
17871
+ backgroundImage: "linear-gradient(90deg, #8B7D5E, #C0AE82, #DCC99B, #C0AE82, #8B7D5E)",
17840
17872
  backgroundSize: "200% 100%",
17841
17873
  animation: "gradient-shift 2s ease-in-out infinite"
17842
17874
  }
@@ -17844,7 +17876,7 @@ var ResearchReportJobCard = (props) => {
17844
17876
  ),
17845
17877
  /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)("div", { className: "p-5", children: [
17846
17878
  /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)("div", { className: "flex items-start gap-3", children: [
17847
- /* @__PURE__ */ (0, import_jsx_runtime148.jsx)("div", { className: "w-10 h-10 rounded-xl bg-violet-500/10 border border-violet-500/20 flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime148.jsx)("span", { className: "text-lg", children: getPhaseIcon() }) }),
17879
+ /* @__PURE__ */ (0, import_jsx_runtime148.jsx)("div", { className: "w-10 h-10 rounded-xl bg-[#C0AE82]/10 border border-[#C0AE82]/25 flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime148.jsx)("span", { className: "text-lg", children: getPhaseIcon() }) }),
17848
17880
  /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)("div", { className: "flex-1 min-w-0", children: [
17849
17881
  /* @__PURE__ */ (0, import_jsx_runtime148.jsx)("h3", { className: "text-sm font-semibold text-zinc-100 truncate leading-tight", children: title || "Generating Research Report" }),
17850
17882
  /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)("p", { className: "text-xs text-zinc-500 mt-0.5", children: [
@@ -17859,8 +17891,8 @@ var ResearchReportJobCard = (props) => {
17859
17891
  /* @__PURE__ */ (0, import_jsx_runtime148.jsx)("div", { className: "h-2 bg-zinc-800 rounded-full overflow-hidden", children: /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(
17860
17892
  "div",
17861
17893
  {
17862
- className: "h-full bg-gradient-to-r from-violet-500 to-purple-500 rounded-full transition-all duration-500 ease-out",
17863
- style: { width: `${Math.max(pct, 2)}%` }
17894
+ className: "h-full rounded-full transition-all duration-500 ease-out",
17895
+ style: { width: `${Math.max(pct, 2)}%`, backgroundImage: GOLD_GRADIENT }
17864
17896
  }
17865
17897
  ) }),
17866
17898
  /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)("span", { className: "absolute right-0 -top-5 text-xs text-zinc-500 font-medium tabular-nums", children: [
@@ -17869,7 +17901,7 @@ var ResearchReportJobCard = (props) => {
17869
17901
  ] })
17870
17902
  ] }),
17871
17903
  /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)("div", { className: "flex items-center gap-2", children: [
17872
- /* @__PURE__ */ (0, import_jsx_runtime148.jsx)("div", { className: "w-2 h-2 rounded-full bg-violet-500 animate-pulse" }),
17904
+ /* @__PURE__ */ (0, import_jsx_runtime148.jsx)("div", { className: "w-2 h-2 rounded-full bg-[#C0AE82] animate-pulse" }),
17873
17905
  /* @__PURE__ */ (0, import_jsx_runtime148.jsx)("span", { className: "text-xs text-zinc-400", children: step })
17874
17906
  ] }),
17875
17907
  phase === "ai_generation" && searchesTotal > 0 && /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)("div", { className: "pt-1", children: [
@@ -17886,7 +17918,7 @@ var ResearchReportJobCard = (props) => {
17886
17918
  {
17887
17919
  className: cn(
17888
17920
  "flex-1 h-1 rounded-full transition-all duration-300",
17889
- i < searchesCompleted ? "bg-violet-500" : i === searchesCompleted ? "bg-violet-500/50 animate-pulse" : "bg-zinc-700"
17921
+ i < searchesCompleted ? "bg-[#C0AE82]" : i === searchesCompleted ? "bg-[#C0AE82]/50 animate-pulse" : "bg-zinc-700"
17890
17922
  )
17891
17923
  },
17892
17924
  i
@@ -17920,12 +17952,12 @@ var ResearchReportJobCard = (props) => {
17920
17952
  "div",
17921
17953
  {
17922
17954
  className: "h-[3px]",
17923
- style: { background: "linear-gradient(90deg, #8B7D5E, #C0AE82, #DCC99B)" }
17955
+ style: { backgroundImage: GOLD_GRADIENT }
17924
17956
  }
17925
17957
  ),
17926
17958
  /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)("div", { className: "p-5", children: [
17927
17959
  /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)("div", { className: "flex items-start gap-3", children: [
17928
- /* @__PURE__ */ (0, import_jsx_runtime148.jsx)("div", { className: "w-10 h-10 rounded-xl bg-violet-500/10 border border-violet-500/20 flex items-center justify-center flex-shrink-0 text-violet-300", children: /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(DocumentIcon, {}) }),
17960
+ /* @__PURE__ */ (0, import_jsx_runtime148.jsx)("div", { className: "w-10 h-10 rounded-xl bg-[#C0AE82]/10 border border-[#C0AE82]/25 flex items-center justify-center flex-shrink-0 text-[#DCC99B]", children: /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(DocumentIcon, {}) }),
17929
17961
  /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)("div", { className: "flex-1 min-w-0", children: [
17930
17962
  /* @__PURE__ */ (0, import_jsx_runtime148.jsx)("h3", { className: "text-sm font-semibold text-zinc-100 truncate leading-tight", children: title || "Report outline" }),
17931
17963
  /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)("p", { className: "text-xs text-amber-400/90 mt-0.5", children: [
@@ -17946,7 +17978,7 @@ var ResearchReportJobCard = (props) => {
17946
17978
  value: headingEdits[i] ?? s.heading ?? "",
17947
17979
  onChange: (e) => setHeadingEdits((prev) => ({ ...prev, [i]: e.target.value })),
17948
17980
  disabled: building,
17949
- className: "flex-1 min-w-0 bg-zinc-800/60 border border-zinc-700 rounded-lg px-3 h-8 text-xs text-zinc-200 focus:border-violet-500 outline-none disabled:opacity-60"
17981
+ className: "flex-1 min-w-0 bg-zinc-800/60 border border-zinc-700 rounded-lg px-3 h-8 text-xs text-zinc-200 focus:border-[#C0AE82] outline-none disabled:opacity-60"
17950
17982
  }
17951
17983
  ),
17952
17984
  /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(
@@ -18208,19 +18240,75 @@ var ResearchReportJobCard = (props) => {
18208
18240
  generationMode === "template" && /* @__PURE__ */ (0, import_jsx_runtime148.jsx)("p", { className: "text-xs mt-1", children: isApproved ? /* @__PURE__ */ (0, import_jsx_runtime148.jsx)("span", { className: "text-emerald-400/90", children: "Approved \u2014 future reports use this format" }) : reviewStatus === "pending_review" ? /* @__PURE__ */ (0, import_jsx_runtime148.jsx)("span", { className: "text-amber-400/90", children: "Review this report, then approve to lock the layout" }) : null })
18209
18241
  ] }),
18210
18242
  /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)("div", { className: "flex items-center gap-1.5 flex-shrink-0 flex-wrap justify-end", children: [
18211
- canRegenerate && /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)(
18212
- "button",
18213
- {
18214
- onClick: handleRegenerate,
18215
- disabled: regenerating || approving,
18216
- title: "Try another report template with the same data",
18217
- className: "flex items-center gap-1.5 px-2.5 h-7 rounded-lg border border-zinc-700 bg-zinc-800 hover:border-zinc-500 text-zinc-300 text-xs font-medium transition-colors disabled:opacity-50",
18218
- children: [
18219
- /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(RefreshIcon2, {}),
18220
- /* @__PURE__ */ (0, import_jsx_runtime148.jsx)("span", { children: regenerating ? "Switching..." : "Regenerate" })
18221
- ]
18222
- }
18223
- ),
18243
+ /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)("div", { className: "flex items-center rounded-lg border border-zinc-700 bg-zinc-800 overflow-hidden divide-x divide-zinc-700", children: [
18244
+ /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)(
18245
+ "a",
18246
+ {
18247
+ href: htmlUrl ? `/reports/${job_id}/edit` : void 0,
18248
+ "aria-disabled": !htmlUrl,
18249
+ title: "Edit report content",
18250
+ className: cn(
18251
+ "flex items-center gap-1.5 px-2.5 h-7 text-xs font-medium text-zinc-300 hover:text-zinc-100 hover:bg-zinc-700/60 transition-colors",
18252
+ !htmlUrl && "pointer-events-none opacity-40"
18253
+ ),
18254
+ children: [
18255
+ /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(EditIcon2, {}),
18256
+ /* @__PURE__ */ (0, import_jsx_runtime148.jsx)("span", { children: "Edit" })
18257
+ ]
18258
+ }
18259
+ ),
18260
+ /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)(
18261
+ "button",
18262
+ {
18263
+ onClick: () => setShowPreview(true),
18264
+ disabled: !hasHTML,
18265
+ title: "Preview report",
18266
+ className: "flex items-center gap-1.5 px-2.5 h-7 text-xs font-medium text-zinc-300 hover:text-zinc-100 hover:bg-zinc-700/60 transition-colors disabled:opacity-40 disabled:cursor-not-allowed",
18267
+ children: [
18268
+ /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(ExpandIcon2, {}),
18269
+ /* @__PURE__ */ (0, import_jsx_runtime148.jsx)("span", { children: "Preview" })
18270
+ ]
18271
+ }
18272
+ ),
18273
+ canRegenerate && /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)(
18274
+ "button",
18275
+ {
18276
+ onClick: handleRegenerate,
18277
+ disabled: regenerating || approving,
18278
+ title: "Try another report template with the same data",
18279
+ className: "flex items-center gap-1.5 px-2.5 h-7 text-xs font-medium text-zinc-300 hover:text-zinc-100 hover:bg-zinc-700/60 transition-colors disabled:opacity-40",
18280
+ children: [
18281
+ /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(RefreshIcon2, {}),
18282
+ /* @__PURE__ */ (0, import_jsx_runtime148.jsx)("span", { children: regenerating ? "Switching\u2026" : "Regenerate" })
18283
+ ]
18284
+ }
18285
+ ),
18286
+ /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(
18287
+ "button",
18288
+ {
18289
+ onClick: handleShare,
18290
+ disabled: !canShare,
18291
+ title: !canShare && reviewStatus === "pending_review" ? "Approve the report to enable sharing" : copied ? "Copied!" : "Copy shareable link",
18292
+ className: cn(
18293
+ "flex items-center justify-center w-7 h-7 transition-colors disabled:opacity-30 disabled:cursor-not-allowed",
18294
+ copied ? "text-green-400" : "text-zinc-300 hover:text-zinc-100 hover:bg-zinc-700/60"
18295
+ ),
18296
+ children: copied ? /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(CheckIcon2, {}) : /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(ShareIcon2, {})
18297
+ }
18298
+ ),
18299
+ pdfUrl && /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)(
18300
+ "button",
18301
+ {
18302
+ onClick: handleDownloadPdf,
18303
+ title: "Download PDF",
18304
+ className: "flex items-center gap-1.5 px-2.5 h-7 text-xs font-medium text-zinc-300 hover:text-zinc-100 hover:bg-zinc-700/60 transition-colors",
18305
+ children: [
18306
+ /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(DownloadIcon2, {}),
18307
+ /* @__PURE__ */ (0, import_jsx_runtime148.jsx)("span", { children: "PDF" })
18308
+ ]
18309
+ }
18310
+ )
18311
+ ] }),
18224
18312
  canApprove && /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)(
18225
18313
  "button",
18226
18314
  {
@@ -18235,53 +18323,14 @@ var ResearchReportJobCard = (props) => {
18235
18323
  }
18236
18324
  ),
18237
18325
  isApproved && /* @__PURE__ */ (0, import_jsx_runtime148.jsx)("span", { className: "flex items-center justify-center w-7 h-7 rounded-lg border border-emerald-500/40 bg-emerald-500/10 text-emerald-400", title: "Format saved", children: /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(CheckIcon2, {}) }),
18238
- /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(
18239
- "button",
18240
- {
18241
- onClick: handleShare,
18242
- disabled: !canShare,
18243
- title: !canShare && reviewStatus === "pending_review" ? "Approve the report to enable sharing" : copied ? "Copied!" : "Copy shareable link",
18244
- className: cn(
18245
- "w-7 h-7 rounded-lg border flex items-center justify-center transition-all",
18246
- copied ? "border-green-500/40 bg-green-500/10 text-green-400" : "border-zinc-700 bg-zinc-800 text-zinc-400 hover:border-zinc-500 hover:text-zinc-200",
18247
- "disabled:opacity-30 disabled:cursor-not-allowed"
18248
- ),
18249
- children: copied ? /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(CheckIcon2, {}) : /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(ShareIcon2, {})
18250
- }
18251
- ),
18252
- /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)(
18253
- "button",
18254
- {
18255
- onClick: () => setShowPreview(true),
18256
- disabled: !hasHTML,
18257
- title: "Preview report",
18258
- className: "flex items-center gap-1.5 px-2.5 h-7 rounded-lg border border-zinc-700 bg-zinc-800 hover:border-zinc-500 text-zinc-400 hover:text-zinc-200 text-xs font-medium transition-colors disabled:opacity-30 disabled:cursor-not-allowed",
18259
- children: [
18260
- /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(ExpandIcon2, {}),
18261
- /* @__PURE__ */ (0, import_jsx_runtime148.jsx)("span", { children: "Preview" })
18262
- ]
18263
- }
18264
- ),
18265
- pdfUrl && /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)(
18266
- "button",
18267
- {
18268
- onClick: handleDownloadPdf,
18269
- title: "Download PDF",
18270
- className: "flex items-center gap-1.5 px-2.5 h-7 rounded-lg border border-zinc-700 bg-zinc-800 hover:border-zinc-500 text-zinc-400 hover:text-zinc-200 text-xs font-medium transition-colors",
18271
- children: [
18272
- /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(DownloadIcon2, {}),
18273
- /* @__PURE__ */ (0, import_jsx_runtime148.jsx)("span", { children: "PDF" })
18274
- ]
18275
- }
18276
- ),
18277
18326
  /* @__PURE__ */ (0, import_jsx_runtime148.jsxs)(
18278
18327
  "button",
18279
18328
  {
18280
18329
  onClick: handleDownload,
18281
18330
  disabled: !hasHTML,
18282
- className: "flex items-center gap-1.5 px-2.5 h-7 text-xs font-medium rounded-lg transition-colors disabled:opacity-50 disabled:cursor-not-allowed",
18283
- style: { backgroundColor: primaryColor, color: readableOn(primaryColor) },
18284
- onMouseEnter: (e) => e.currentTarget.style.filter = "brightness(1.15)",
18331
+ className: "flex items-center gap-1.5 px-3 h-7 text-xs font-semibold rounded-lg transition-colors disabled:opacity-50 disabled:cursor-not-allowed",
18332
+ style: { backgroundImage: GOLD_GRADIENT, color: readableOn(primaryColor) },
18333
+ onMouseEnter: (e) => e.currentTarget.style.filter = "brightness(1.1)",
18285
18334
  onMouseLeave: (e) => e.currentTarget.style.filter = "brightness(1)",
18286
18335
  children: [
18287
18336
  /* @__PURE__ */ (0, import_jsx_runtime148.jsx)(DownloadIcon2, {}),
@@ -18479,7 +18528,7 @@ var WebSearchJobCard = ({
18479
18528
  {
18480
18529
  className: "h-[3px]",
18481
18530
  style: {
18482
- background: "linear-gradient(90deg, #d97706, #f59e0b, #d97706)",
18531
+ backgroundImage: "linear-gradient(90deg, #8B7D5E, #C0AE82, #DCC99B, #C0AE82, #8B7D5E)",
18483
18532
  backgroundSize: "200% 100%",
18484
18533
  animation: "gradient-shift 2s ease-in-out infinite"
18485
18534
  }
@@ -18501,7 +18550,7 @@ var WebSearchJobCard = ({
18501
18550
  className: "h-full rounded-full transition-all duration-500 ease-out",
18502
18551
  style: {
18503
18552
  width: `${Math.max(pct, 2)}%`,
18504
- background: "linear-gradient(90deg, #d97706, #f59e0b)"
18553
+ backgroundImage: "linear-gradient(90deg, #8B7D5E, #C0AE82, #DCC99B)"
18505
18554
  }
18506
18555
  }
18507
18556
  ) }),
@@ -18511,7 +18560,7 @@ var WebSearchJobCard = ({
18511
18560
  ] })
18512
18561
  ] }),
18513
18562
  /* @__PURE__ */ (0, import_jsx_runtime149.jsxs)("div", { className: "flex items-center gap-2", children: [
18514
- /* @__PURE__ */ (0, import_jsx_runtime149.jsx)("div", { className: "w-2 h-2 rounded-full bg-amber-500 animate-pulse flex-shrink-0" }),
18563
+ /* @__PURE__ */ (0, import_jsx_runtime149.jsx)("div", { className: "w-2 h-2 rounded-full bg-[#C0AE82] animate-pulse flex-shrink-0" }),
18515
18564
  /* @__PURE__ */ (0, import_jsx_runtime149.jsx)("span", { className: "text-xs text-zinc-400", children: step })
18516
18565
  ] }),
18517
18566
  searchesTotal > 0 && /* @__PURE__ */ (0, import_jsx_runtime149.jsxs)("div", { className: "pt-1", children: [
@@ -18528,7 +18577,7 @@ var WebSearchJobCard = ({
18528
18577
  {
18529
18578
  className: cn(
18530
18579
  "flex-1 h-1 rounded-full transition-all duration-300",
18531
- i < searchesCompleted ? "bg-amber-500" : phase === "ai_generation" && i === searchesCompleted ? "bg-amber-500/50 animate-pulse" : "bg-zinc-700"
18580
+ i < searchesCompleted ? "bg-[#C0AE82]" : phase === "ai_generation" && i === searchesCompleted ? "bg-[#C0AE82]/50 animate-pulse" : "bg-zinc-700"
18532
18581
  )
18533
18582
  },
18534
18583
  i
@@ -21768,7 +21817,7 @@ function PlatformMetricsBanner({
21768
21817
  return /* @__PURE__ */ (0, import_jsx_runtime173.jsxs)(
21769
21818
  "div",
21770
21819
  {
21771
- className: "\r\n grid grid-cols-1 gap-3 rounded-xl py-4 px-4 shadow-sm\r\n md:flex md:overflow-x-auto md:gap-6 md:rounded-l-xl md:py-4 md:px-4 md:items-center md:gap-0 md:px-0 md:ml-8\r\n ",
21820
+ className: "\n grid grid-cols-1 gap-3 rounded-xl py-4 px-4 shadow-sm\n md:flex md:overflow-x-auto md:gap-6 md:rounded-l-xl md:py-4 md:px-4 md:items-center md:gap-0 md:px-0 md:ml-8\n ",
21772
21821
  style: { backgroundColor: bgColor },
21773
21822
  children: [
21774
21823
  /* @__PURE__ */ (0, import_jsx_runtime173.jsxs)("div", { className: "flex flex-col items-center md:min-w-0", children: [