@loafmarkets/ui 0.1.366 → 0.1.368

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.mjs CHANGED
@@ -28,7 +28,7 @@ var buttonVariants = cva(
28
28
  primary: "bg-teal-500 text-slate-950 hover:bg-teal-400 focus-visible:ring-teal-200",
29
29
  onboarding: "rounded-lg bg-[#F2D898] text-[#0A0C15] shadow-[0_20px_60px_rgba(242,216,152,0.35)] transition will-change-transform hover:-translate-y-0.5 hover:brightness-110 focus-visible:ring-[#F2D898]/50 focus-visible:ring-offset-[#0A0C15]",
30
30
  onboardingOutline: "rounded-lg border border-[#F2D898] bg-transparent text-white hover:bg-white/5 focus-visible:ring-[#F2D898]/50 focus-visible:ring-offset-[#0A0C15]",
31
- accent: "bg-[var(--color-accent,#e6c87e)] text-black hover:bg-[var(--color-accent-hover,#f8d12f)] focus-visible:ring-[var(--color-accent,#e6c87e)]",
31
+ accent: "bg-[var(--color-accent,#e6c87e)] text-black hover:bg-[var(--color-accent-hover,#F2D898)] focus-visible:ring-[var(--color-accent,#e6c87e)]",
32
32
  accentOutline: "border border-[var(--color-accent,#e6c87e)] bg-transparent text-[var(--color-accent,#e6c87e)] hover:bg-[rgba(230,200,126,0.10)] focus-visible:ring-[var(--color-accent,#e6c87e)]",
33
33
  media: "border border-white/10 bg-transparent text-white/90 hover:bg-white/5 hover:border-[var(--color-accent,#e6c87e)] hover:text-[var(--color-accent,#e6c87e)] focus-visible:ring-[var(--color-accent,#e6c87e)]",
34
34
  outline: "border border-slate-800/20 bg-white text-slate-900 hover:border-slate-800/40 focus-visible:ring-slate-200",
@@ -782,7 +782,7 @@ function HousePositionSlider({
782
782
  }
783
783
  },
784
784
  placeholder: "Price",
785
- className: "w-full rounded-[8px] border border-white/10 bg-black/30 px-4 py-3 pr-14 text-[0.95rem] text-white outline-none focus:border-[#f0b90b]"
785
+ className: "w-full rounded-[8px] border border-white/10 bg-black/30 px-4 py-3 pr-14 text-[0.95rem] text-white outline-none focus:border-[#E6C87E]"
786
786
  }
787
787
  ),
788
788
  /* @__PURE__ */ jsx("span", { className: "absolute right-4 top-1/2 -translate-y-1/2 text-[0.8rem] text-white/50", children: "USD" })
@@ -792,7 +792,7 @@ function HousePositionSlider({
792
792
  "Available: $",
793
793
  availableCash.toLocaleString()
794
794
  ] }),
795
- /* @__PURE__ */ jsx("button", { type: "button", className: "text-[#f0b90b] hover:underline", children: "Add Funds" })
795
+ /* @__PURE__ */ jsx("button", { type: "button", className: "text-[#E6C87E] hover:underline", children: "Add Funds" })
796
796
  ] })
797
797
  ] })
798
798
  ] });
@@ -995,7 +995,7 @@ var styles = {
995
995
  addFundsButton: {
996
996
  background: "none",
997
997
  border: "none",
998
- color: "#f0b90b",
998
+ color: "#E6C87E",
999
999
  fontSize: "0.75rem",
1000
1000
  cursor: "pointer",
1001
1001
  padding: 0
@@ -1811,7 +1811,8 @@ function DepthRow({
1811
1811
  amountPrecision,
1812
1812
  hasUserOrder,
1813
1813
  onPriceClick,
1814
- flashOnMount
1814
+ flashOnMount,
1815
+ fillHeight
1815
1816
  }) {
1816
1817
  const isAsk = side === "ask";
1817
1818
  const rowRef = React5.useRef(null);
@@ -1821,7 +1822,7 @@ function DepthRow({
1821
1822
  {
1822
1823
  ref: rowRef,
1823
1824
  className: "relative grid grid-cols-3 items-center gap-3 px-3 text-[0.8rem]",
1824
- style: { height: `${DEPTH_ROW_HEIGHT_PX}px`, cursor: onPriceClick ? "pointer" : void 0 },
1825
+ style: fillHeight ? { flex: "1 1 0", minHeight: 0, cursor: onPriceClick ? "pointer" : void 0 } : { height: `${DEPTH_ROW_HEIGHT_PX}px`, cursor: onPriceClick ? "pointer" : void 0 },
1825
1826
  onClick: onPriceClick ? () => onPriceClick(price) : void 0,
1826
1827
  children: [
1827
1828
  /* @__PURE__ */ jsx(
@@ -2208,7 +2209,8 @@ function DesktopOrderbookLayout({
2208
2209
  amountPrecision,
2209
2210
  hasUserOrder: userAskPrices.has(l.price),
2210
2211
  onPriceClick,
2211
- flashOnMount: newAskPrices.has(l.price)
2212
+ flashOnMount: newAskPrices.has(l.price),
2213
+ fillHeight
2212
2214
  },
2213
2215
  `ask-${l.price}`
2214
2216
  ))
@@ -2246,7 +2248,8 @@ function DesktopOrderbookLayout({
2246
2248
  amountPrecision,
2247
2249
  hasUserOrder: userBidPrices.has(l.price),
2248
2250
  onPriceClick,
2249
- flashOnMount: newBidPrices.has(l.price)
2251
+ flashOnMount: newBidPrices.has(l.price),
2252
+ fillHeight
2250
2253
  },
2251
2254
  `bid-${l.price}`
2252
2255
  ))
@@ -2603,6 +2606,9 @@ var PropertyTour = React5.forwardRef(
2603
2606
  ref: videoRef,
2604
2607
  className: "absolute inset-0 h-full w-full object-cover object-center",
2605
2608
  controls,
2609
+ controlsList: "nodownload noplaybackrate",
2610
+ disablePictureInPicture: true,
2611
+ onContextMenu: (e) => e.preventDefault(),
2606
2612
  loop,
2607
2613
  autoPlay,
2608
2614
  muted,
@@ -2658,7 +2664,7 @@ var categoryStyles = {
2658
2664
  label: "Market News",
2659
2665
  backgroundColor: "rgba(248, 209, 47, 0.15)",
2660
2666
  borderColor: "rgba(248, 209, 47, 0.45)",
2661
- color: "#f8d12f"
2667
+ color: "#F2D898"
2662
2668
  }
2663
2669
  };
2664
2670
  var formatDate = (value) => {
@@ -2827,7 +2833,7 @@ function NewsArticleModal({ item, onClose }) {
2827
2833
  gap: "0.4rem",
2828
2834
  fontSize: "0.8rem",
2829
2835
  fontWeight: 600,
2830
- color: "var(--color-accent, #f0b90b)",
2836
+ color: "var(--color-accent, #E6C87E)",
2831
2837
  textDecoration: "none",
2832
2838
  transition: "opacity 0.15s"
2833
2839
  },
@@ -2929,7 +2935,7 @@ var PropertyNewsUpdates = React5.forwardRef(
2929
2935
  subheading ? /* @__PURE__ */ jsx("p", { className: "text-sm text-white/60", children: subheading }) : null
2930
2936
  ] })
2931
2937
  ] }),
2932
- isHomeVariant && viewAllHref ? /* @__PURE__ */ jsxs("a", { href: viewAllHref, style: { color: "var(--color-accent, #f0b90b)", fontWeight: 500, fontSize: "0.75rem", textDecoration: "none", display: "flex", alignItems: "center", gap: "0.25rem", height: "24px" }, children: [
2938
+ isHomeVariant && viewAllHref ? /* @__PURE__ */ jsxs("a", { href: viewAllHref, style: { color: "var(--color-accent, #E6C87E)", fontWeight: 500, fontSize: "0.75rem", textDecoration: "none", display: "flex", alignItems: "center", gap: "0.25rem", height: "24px" }, children: [
2933
2939
  viewAllLabel,
2934
2940
  /* @__PURE__ */ jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "12", height: "12", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ jsx("path", { d: "M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z" }) })
2935
2941
  ] }) : !isHomeVariant && !isPurchaseVariant ? connectionStatus === "connecting" ? /* @__PURE__ */ jsxs("div", { className: "inline-flex items-center font-semibold uppercase", style: { gap: "0.35rem", fontSize: "0.8rem", letterSpacing: "0.15em", color: "#f97316" }, children: [
@@ -2948,7 +2954,7 @@ var PropertyNewsUpdates = React5.forwardRef(
2948
2954
  style: {
2949
2955
  background: "transparent",
2950
2956
  border: "none",
2951
- borderBottom: homeTab === tab ? "2px solid var(--color-accent, #f0b90b)" : "2px solid transparent",
2957
+ borderBottom: homeTab === tab ? "2px solid var(--color-accent, #E6C87E)" : "2px solid transparent",
2952
2958
  padding: "0 0 0.5rem 0",
2953
2959
  marginBottom: "-1px",
2954
2960
  fontSize: "0.75rem",
@@ -2989,7 +2995,7 @@ var PropertyNewsUpdates = React5.forwardRef(
2989
2995
  purchase.id
2990
2996
  );
2991
2997
  }) : /* @__PURE__ */ jsxs("div", { style: { display: "flex", flexDirection: "column", alignItems: "center", justifyContent: "center", padding: "3rem 0", gap: "0.75rem" }, children: [
2992
- /* @__PURE__ */ jsx("div", { style: { width: "28px", height: "28px", border: "3px solid rgba(255,255,255,0.1)", borderTopColor: "var(--color-accent, #f0b90b)", borderRadius: "50%", animation: "propertyNewsSpin 1s linear infinite" } }),
2998
+ /* @__PURE__ */ jsx("div", { style: { width: "28px", height: "28px", border: "3px solid rgba(255,255,255,0.1)", borderTopColor: "var(--color-accent, #E6C87E)", borderRadius: "50%", animation: "propertyNewsSpin 1s linear infinite" } }),
2993
2999
  /* @__PURE__ */ jsx("span", { style: { fontSize: "0.8rem", color: "rgba(255,255,255,0.4)" }, children: "Awaiting offering..." })
2994
3000
  ] }) : isHomeVariant ? hasItems ? homePaginatedItems.map((item, index) => {
2995
3001
  const key = item.displayId ?? item.id ?? `${item.title}-${index}`;
@@ -3031,7 +3037,7 @@ var PropertyNewsUpdates = React5.forwardRef(
3031
3037
  /* @__PURE__ */ jsxs("div", { style: { display: "flex", gap: isMobile ? "0.35rem" : "0.5rem", alignItems: "center", flexWrap: "wrap" }, children: [
3032
3038
  /* @__PURE__ */ jsx("span", { style: { color: "#848e9c", fontSize: isMobile ? "0.55rem" : "0.7rem" }, children: formatDateShort(item.date) }),
3033
3039
  item.source && /* @__PURE__ */ jsx("span", { style: { padding: isMobile ? "0.08rem 0.35rem" : "0.1rem 0.4rem", borderRadius: "3px", fontSize: isMobile ? "0.52rem" : "0.62rem", fontWeight: 500, backgroundColor: "rgba(255,255,255,0.07)", color: "#848e9c", whiteSpace: "nowrap" }, children: item.source }),
3034
- /* @__PURE__ */ jsx("span", { style: { padding: isMobile ? "0.1rem 0.35rem" : "0.15rem 0.4rem", borderRadius: "2px", fontSize: isMobile ? "0.52rem" : "0.65rem", fontWeight: 500, backgroundColor: isProperty ? "rgba(14,203,129,0.1)" : "rgba(240,185,11,0.1)", color: isProperty ? "#0ecb81" : "#f0b90b" }, children: isProperty ? "Property Update" : "Market News" }),
3040
+ /* @__PURE__ */ jsx("span", { style: { padding: isMobile ? "0.1rem 0.35rem" : "0.15rem 0.4rem", borderRadius: "2px", fontSize: isMobile ? "0.52rem" : "0.65rem", fontWeight: 500, backgroundColor: isProperty ? "rgba(14,203,129,0.1)" : "rgba(240,185,11,0.1)", color: isProperty ? "#0ecb81" : "#E6C87E" }, children: isProperty ? "Property Update" : "Market News" }),
3035
3041
  sentimentInfo && /* @__PURE__ */ jsxs("span", { style: { fontSize: isMobile ? "0.52rem" : "0.65rem", fontWeight: 600, color: sentimentInfo.color }, children: [
3036
3042
  sentimentInfo.arrow ? `${sentimentInfo.arrow} ` : "",
3037
3043
  sentimentInfo.label
@@ -3995,7 +4001,7 @@ var YourOrders = React5.forwardRef(
3995
4001
  ) : null
3996
4002
  ] }) : null
3997
4003
  ] }),
3998
- /* @__PURE__ */ jsx("div", { style: { fontSize: "0.9rem", fontWeight: 500, color: "#D4AF37" }, children: formatCurrency2(value) }),
4004
+ /* @__PURE__ */ jsx("div", { style: { fontSize: "0.9rem", fontWeight: 500, color: "#E6C87E" }, children: formatCurrency2(value) }),
3999
4005
  /* @__PURE__ */ jsx("div", { style: { fontSize: "0.9rem", color: "rgba(255,255,255,0.92)" }, children: holding }),
4000
4006
  showPropertyPercentColumn ? /* @__PURE__ */ jsx("div", { style: { fontSize: "0.9rem", color: "rgba(255,255,255,0.8)" }, children: formatPercent(propertyPercent, 3) }) : null,
4001
4007
  /* @__PURE__ */ jsx("div", { style: { fontSize: "0.9rem", color: "rgba(255,255,255,0.9)" }, children: formatCurrency2(avgPrice) }),
@@ -4114,7 +4120,7 @@ var YourOrders = React5.forwardRef(
4114
4120
  left: 0,
4115
4121
  right: 0,
4116
4122
  height: "2px",
4117
- background: "#f0b90b"
4123
+ background: "#E6C87E"
4118
4124
  }
4119
4125
  }
4120
4126
  ) : null
@@ -4974,7 +4980,7 @@ var StatusBadge = styled9.div`
4974
4980
  align-items: center;
4975
4981
  gap: 0.5rem;
4976
4982
  background-color: ${({ $isLive }) => $isLive ? "rgba(20, 20, 20, 0.85)" : "rgba(240, 185, 11, 0.9)"};
4977
- color: ${({ $isLive }) => $isLive ? "#f0b90b" : "#000"};
4983
+ color: ${({ $isLive }) => $isLive ? "#E6C87E" : "#000"};
4978
4984
  padding: 0.5rem 1rem;
4979
4985
  border-radius: 6px;
4980
4986
  font-weight: 600;
@@ -4987,7 +4993,7 @@ var PulsingDot = styled9.span`
4987
4993
  display: inline-block;
4988
4994
  width: 8px;
4989
4995
  height: 8px;
4990
- background-color: #f0b90b;
4996
+ background-color: #E6C87E;
4991
4997
  border-radius: 50%;
4992
4998
  animation: heroStatusPulse 1.5s infinite;
4993
4999
 
@@ -5044,6 +5050,7 @@ var Header = ({
5044
5050
  onSettingsClick,
5045
5051
  showTradeTab = true,
5046
5052
  portfolioSummary,
5053
+ fundsPending = false,
5047
5054
  transparentOnTop = false
5048
5055
  }) => {
5049
5056
  const [headerBgOpacity, setHeaderBgOpacity] = useState(transparentOnTop ? 0 : 1);
@@ -5068,6 +5075,27 @@ var Header = ({
5068
5075
  return next;
5069
5076
  });
5070
5077
  }, []);
5078
+ const SIMULATE_FUNDS = false;
5079
+ const [simFundsPending, setSimFundsPending] = useState(true);
5080
+ useEffect(() => {
5081
+ return;
5082
+ }, [simFundsPending]);
5083
+ const showFundsPending = (fundsPending || SIMULATE_FUNDS) && isAuthenticated && isPortfolioBarVisible;
5084
+ const [fundsCountdown, setFundsCountdown] = useState(10);
5085
+ useEffect(() => {
5086
+ if (!showFundsPending) return;
5087
+ setFundsCountdown(10);
5088
+ const id = setInterval(() => {
5089
+ setFundsCountdown((n) => {
5090
+ if (n <= 1) {
5091
+ clearInterval(id);
5092
+ return 0;
5093
+ }
5094
+ return n - 1;
5095
+ });
5096
+ }, 1e3);
5097
+ return () => clearInterval(id);
5098
+ }, [showFundsPending]);
5071
5099
  useEffect(() => {
5072
5100
  const handler = () => {
5073
5101
  if (LoginPopupComponent) {
@@ -5480,18 +5508,16 @@ var Header = ({
5480
5508
  ] })
5481
5509
  ] })
5482
5510
  ] }),
5483
- isMobileMenuOpen && /* @__PURE__ */ jsx(
5484
- MobileOnlyButton,
5485
- {
5486
- onClick: () => setIsMobileMenuOpen(false),
5487
- $isOpen: true,
5488
- style: { position: "fixed", right: "1rem", top: "4rem" },
5489
- "aria-label": "Close menu",
5490
- children: "\u2715"
5491
- }
5492
- ),
5493
5511
  isAuthenticated ? /* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center" }, children: [
5494
- portfolioSummary && isPortfolioBarVisible && (() => {
5512
+ showFundsPending && /* @__PURE__ */ jsxs(FundsPendingInline, { className: "loaf-funds-pending", children: [
5513
+ /* @__PURE__ */ jsx(FundsPendingText, { children: "Your test funds will arrive soon\u2026" }),
5514
+ fundsCountdown > 0 && /* @__PURE__ */ jsxs(FundsPendingCountdown, { children: [
5515
+ "~",
5516
+ fundsCountdown,
5517
+ "s"
5518
+ ] })
5519
+ ] }),
5520
+ !showFundsPending && portfolioSummary && isPortfolioBarVisible && (() => {
5495
5521
  const fmtInline = (n) => n.toLocaleString("en-US", { minimumFractionDigits: 2, maximumFractionDigits: 2 });
5496
5522
  const isPLPos = portfolioSummary.pnl >= 0;
5497
5523
  return /* @__PURE__ */ jsxs(PortfolioInline, { className: "loaf-portfolio-inline", children: [
@@ -5513,7 +5539,7 @@ var Header = ({
5513
5539
  /* @__PURE__ */ jsx(PBOperator, { children: "=" }),
5514
5540
  /* @__PURE__ */ jsxs(PBMetric, { children: [
5515
5541
  /* @__PURE__ */ jsx(PBMetricLabel, { children: "Portfolio" }),
5516
- /* @__PURE__ */ jsxs(PBMetricValue, { style: { color: "#D4AF37", fontWeight: 700 }, children: [
5542
+ /* @__PURE__ */ jsxs(PBMetricValue, { style: { color: "#E6C87E", fontWeight: 700 }, children: [
5517
5543
  "$",
5518
5544
  fmtInline(portfolioSummary.portfolioValue)
5519
5545
  ] })
@@ -5620,84 +5646,93 @@ var Header = ({
5620
5646
  )
5621
5647
  ] })
5622
5648
  ] }),
5623
- !isMobileMenuOpen && /* @__PURE__ */ jsx(
5649
+ /* @__PURE__ */ jsx(
5624
5650
  MobileOnlyButton,
5625
5651
  {
5626
- onClick: () => setIsMobileMenuOpen(true),
5627
- $isOpen: false,
5652
+ onClick: () => setIsMobileMenuOpen((v) => !v),
5653
+ $isOpen: isMobileMenuOpen,
5628
5654
  className: "mobile-menu-button",
5629
- "aria-label": "Open menu",
5630
- children: "\u2630"
5655
+ "aria-label": isMobileMenuOpen ? "Close menu" : "Open menu",
5656
+ children: isMobileMenuOpen ? "\u2715" : "\u2630"
5631
5657
  }
5632
5658
  )
5633
5659
  ] }) : /* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center" }, children: [
5634
5660
  /* @__PURE__ */ jsx(Button2, { className: "signup", onClick: handleSignIn, children: "Connect" }),
5635
- !isMobileMenuOpen && /* @__PURE__ */ jsx(
5661
+ /* @__PURE__ */ jsx(
5636
5662
  MobileOnlyButton,
5637
5663
  {
5638
- onClick: () => setIsMobileMenuOpen(true),
5639
- $isOpen: false,
5664
+ onClick: () => setIsMobileMenuOpen((v) => !v),
5665
+ $isOpen: isMobileMenuOpen,
5640
5666
  className: "mobile-menu-button",
5641
- "aria-label": "Open menu",
5642
- children: "\u2630"
5667
+ "aria-label": isMobileMenuOpen ? "Close menu" : "Open menu",
5668
+ children: isMobileMenuOpen ? "\u2715" : "\u2630"
5643
5669
  }
5644
5670
  )
5645
5671
  ] })
5646
5672
  ] }),
5647
5673
  /* @__PURE__ */ jsx(HeaderSpacer, {}),
5648
- isAuthenticated && portfolioSummary && isPortfolioBarVisible && (() => {
5649
- const fmt = (n) => n.toLocaleString("en-US", { minimumFractionDigits: 2, maximumFractionDigits: 2 });
5650
- const isPLPositive = portfolioSummary.pnl >= 0;
5651
- return /* @__PURE__ */ jsx(PortfolioBarContainer, { className: "loaf-portfolio-bar loaf-portfolio-bar-dropdown", children: /* @__PURE__ */ jsxs(PortfolioBarPill, { ref: portfolioPillRef, className: "loaf-portfolio-pill", children: [
5652
- portfolioArrowLeft !== null && /* @__PURE__ */ jsx(PortfolioBarArrow, { className: "loaf-portfolio-arrow", style: { left: `${portfolioArrowLeft}px` } }),
5653
- /* @__PURE__ */ jsxs(PBMetric, { children: [
5654
- /* @__PURE__ */ jsx(PBMetricLabel, { children: "Holdings" }),
5655
- /* @__PURE__ */ jsxs(PBMetricValue, { children: [
5656
- "$",
5657
- fmt(portfolioSummary.holdings)
5658
- ] })
5659
- ] }),
5660
- /* @__PURE__ */ jsx(PBOperator, { children: "+" }),
5661
- /* @__PURE__ */ jsxs(PBMetric, { children: [
5662
- /* @__PURE__ */ jsx(PBMetricLabel, { children: "Cash" }),
5663
- /* @__PURE__ */ jsxs(PBMetricValue, { children: [
5664
- "$",
5665
- fmt(portfolioSummary.cash)
5666
- ] })
5667
- ] }),
5668
- /* @__PURE__ */ jsx(PBOperator, { children: "=" }),
5669
- /* @__PURE__ */ jsxs(PBMetric, { children: [
5670
- /* @__PURE__ */ jsx(PBMetricLabel, { children: "Portfolio" }),
5671
- /* @__PURE__ */ jsxs(PBMetricValue, { style: { color: "#D4AF37", fontWeight: 700 }, children: [
5672
- "$",
5673
- fmt(portfolioSummary.portfolioValue)
5674
- ] })
5675
- ] }),
5676
- /* @__PURE__ */ jsx(PBDot, {}),
5677
- /* @__PURE__ */ jsxs(PBMetric, { children: [
5678
- /* @__PURE__ */ jsx(PBMetricLabel, { children: "Locked Balance" }),
5679
- /* @__PURE__ */ jsxs(PBMetricValue, { style: { color: "#B0B0B8" }, children: [
5680
- "$",
5681
- fmt(portfolioSummary.frozen ?? 0)
5682
- ] })
5683
- ] }),
5684
- /* @__PURE__ */ jsx(PBDot, {}),
5685
- /* @__PURE__ */ jsxs(PBMetric, { children: [
5686
- /* @__PURE__ */ jsx(PBMetricLabel, { children: "P&L" }),
5687
- /* @__PURE__ */ jsxs(PBMetricValue, { $positive: isPLPositive, $negative: !isPLPositive, children: [
5688
- isPLPositive ? "+" : "",
5689
- "$",
5690
- fmt(Math.abs(portfolioSummary.pnl)),
5691
- /* @__PURE__ */ jsxs("span", { style: { fontSize: "0.6rem", marginLeft: "2px", opacity: 0.7 }, children: [
5692
- "(",
5674
+ isAuthenticated && isPortfolioBarVisible && (showFundsPending || portfolioSummary) && /* @__PURE__ */ jsx(PortfolioBarContainer, { className: "loaf-portfolio-bar loaf-portfolio-bar-dropdown", children: /* @__PURE__ */ jsxs(PortfolioBarPill, { ref: portfolioPillRef, className: "loaf-portfolio-pill", children: [
5675
+ portfolioArrowLeft !== null && /* @__PURE__ */ jsx(PortfolioBarArrow, { className: "loaf-portfolio-arrow", style: { left: `${portfolioArrowLeft}px` } }),
5676
+ showFundsPending ? /* @__PURE__ */ jsxs("div", { style: { display: "flex", alignItems: "center", gap: "0.5rem" }, className: "loaf-funds-pending", children: [
5677
+ /* @__PURE__ */ jsx(FundsPendingText, { children: "Your test funds will arrive soon\u2026" }),
5678
+ fundsCountdown > 0 && /* @__PURE__ */ jsxs(FundsPendingCountdown, { children: [
5679
+ "~",
5680
+ fundsCountdown,
5681
+ "s"
5682
+ ] })
5683
+ ] }) : portfolioSummary ? (() => {
5684
+ const fmt = (n) => n.toLocaleString("en-US", { minimumFractionDigits: 2, maximumFractionDigits: 2 });
5685
+ const isPLPositive = portfolioSummary.pnl >= 0;
5686
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
5687
+ /* @__PURE__ */ jsxs(PBMetric, { children: [
5688
+ /* @__PURE__ */ jsx(PBMetricLabel, { children: "Holdings" }),
5689
+ /* @__PURE__ */ jsxs(PBMetricValue, { children: [
5690
+ "$",
5691
+ fmt(portfolioSummary.holdings)
5692
+ ] })
5693
+ ] }),
5694
+ /* @__PURE__ */ jsx(PBOperator, { children: "+" }),
5695
+ /* @__PURE__ */ jsxs(PBMetric, { children: [
5696
+ /* @__PURE__ */ jsx(PBMetricLabel, { children: "Cash" }),
5697
+ /* @__PURE__ */ jsxs(PBMetricValue, { children: [
5698
+ "$",
5699
+ fmt(portfolioSummary.cash)
5700
+ ] })
5701
+ ] }),
5702
+ /* @__PURE__ */ jsx(PBOperator, { children: "=" }),
5703
+ /* @__PURE__ */ jsxs(PBMetric, { children: [
5704
+ /* @__PURE__ */ jsx(PBMetricLabel, { children: "Portfolio" }),
5705
+ /* @__PURE__ */ jsxs(PBMetricValue, { style: { color: "#E6C87E", fontWeight: 700 }, children: [
5706
+ "$",
5707
+ fmt(portfolioSummary.portfolioValue)
5708
+ ] })
5709
+ ] }),
5710
+ /* @__PURE__ */ jsx(PBDot, {}),
5711
+ /* @__PURE__ */ jsxs(PBMetric, { children: [
5712
+ /* @__PURE__ */ jsx(PBMetricLabel, { children: "Locked Balance" }),
5713
+ /* @__PURE__ */ jsxs(PBMetricValue, { style: { color: "#B0B0B8" }, children: [
5714
+ "$",
5715
+ fmt(portfolioSummary.frozen ?? 0)
5716
+ ] })
5717
+ ] }),
5718
+ /* @__PURE__ */ jsx(PBDot, {}),
5719
+ /* @__PURE__ */ jsxs(PBMetric, { children: [
5720
+ /* @__PURE__ */ jsx(PBMetricLabel, { children: "P&L" }),
5721
+ /* @__PURE__ */ jsxs(PBMetricValue, { $positive: isPLPositive, $negative: !isPLPositive, children: [
5693
5722
  isPLPositive ? "+" : "",
5694
- portfolioSummary.pnlPercent.toFixed(2),
5695
- "%)"
5723
+ "$",
5724
+ fmt(Math.abs(portfolioSummary.pnl)),
5725
+ /* @__PURE__ */ jsxs("span", { style: { fontSize: "0.6rem", marginLeft: "2px", opacity: 0.7 }, children: [
5726
+ "(",
5727
+ isPLPositive ? "+" : "",
5728
+ portfolioSummary.pnlPercent.toFixed(2),
5729
+ "%)"
5730
+ ] })
5696
5731
  ] })
5697
5732
  ] })
5698
- ] })
5699
- ] }) });
5700
- })(),
5733
+ ] });
5734
+ })() : null
5735
+ ] }) }),
5701
5736
  LoginPopupComponent && showLoginPopup && /* @__PURE__ */ jsx(
5702
5737
  LoginPopupComponent,
5703
5738
  {
@@ -5728,11 +5763,11 @@ var Overlay = styled9.div`
5728
5763
  height: 100%;
5729
5764
  background-color: rgba(0, 0, 0, 0.7);
5730
5765
  backdrop-filter: blur(3px);
5731
- z-index: 999;
5766
+ z-index: 970;
5732
5767
  `;
5733
5768
  var MobileOnlyButton = styled9.button.attrs({ type: "button" })`
5734
5769
  display: none;
5735
- background-color: ${(props) => props.$isOpen ? "rgba(240, 185, 11, 0.2)" : "#f0b90b"};
5770
+ background-color: ${(props) => props.$isOpen ? "rgba(230, 200, 126, 0.2)" : "#E6C87E"};
5736
5771
  color: ${(props) => props.$isOpen ? "#ffffff" : "#0b0e11"};
5737
5772
  font-size: 18px;
5738
5773
  font-weight: bold;
@@ -5743,18 +5778,18 @@ var MobileOnlyButton = styled9.button.attrs({ type: "button" })`
5743
5778
  margin-left: 0.5rem;
5744
5779
  z-index: 1100;
5745
5780
  border-radius: 6px;
5746
- border: ${(props) => props.$isOpen ? "1px solid #f0b90b" : "none"};
5781
+ border: ${(props) => props.$isOpen ? "1px solid #E6C87E" : "none"};
5747
5782
  line-height: 1;
5748
5783
  padding: 0;
5749
5784
  cursor: pointer;
5750
5785
  box-shadow: ${(props) => props.$isOpen ? "0 2px 8px rgba(0, 0, 0, 0.3)" : "none"};
5751
5786
 
5752
5787
  &:hover {
5753
- background-color: ${(props) => props.$isOpen ? "rgba(240, 185, 11, 0.3)" : "#e0aa0b"};
5788
+ background-color: ${(props) => props.$isOpen ? "rgba(230, 200, 126, 0.3)" : "#F2D898"};
5754
5789
  }
5755
5790
 
5756
5791
  &:active {
5757
- background-color: ${(props) => props.$isOpen ? "rgba(240, 185, 11, 0.4)" : "#d19f0a"};
5792
+ background-color: ${(props) => props.$isOpen ? "rgba(230, 200, 126, 0.4)" : "#F2D898"};
5758
5793
  }
5759
5794
 
5760
5795
  @media (max-width: 1024px) {
@@ -5769,7 +5804,7 @@ var HeaderContainer = styled9.header`
5769
5804
  still get the horizontal padding — only the top falls back to 0 */
5770
5805
  padding: 0 2rem;
5771
5806
  padding-top: max(env(safe-area-inset-top, 0px), var(--telegram-safe-top, 0px));
5772
- background-color: rgba(13, 17, 23, ${({ $bgOpacity }) => $bgOpacity ?? 1});
5807
+ background-color: rgba(17, 17, 19, ${({ $bgOpacity }) => $bgOpacity ?? 1});
5773
5808
  border-bottom: 1px solid rgba(35, 42, 50, ${({ $bgOpacity }) => $bgOpacity ?? 1});
5774
5809
  transition: background-color 0.15s ease, border-bottom-color 0.15s ease;
5775
5810
  position: fixed;
@@ -5792,7 +5827,7 @@ var HeaderContainer = styled9.header`
5792
5827
  min-height: 46px;
5793
5828
  padding: 0 0.75rem;
5794
5829
  border-radius: 12px;
5795
- background-color: rgba(13, 17, 23, ${({ $bgOpacity }) => Math.max(($bgOpacity ?? 1) * 0.92, 0)});
5830
+ background-color: rgba(17, 17, 19, ${({ $bgOpacity }) => Math.max(($bgOpacity ?? 1) * 0.92, 0)});
5796
5831
  backdrop-filter: blur(${({ $bgOpacity }) => Math.round(($bgOpacity ?? 1) * 12)}px);
5797
5832
  border: 1px solid rgba(255, 255, 255, ${({ $bgOpacity }) => ($bgOpacity ?? 1) * 0.08});
5798
5833
  border-bottom: 1px solid rgba(255, 255, 255, ${({ $bgOpacity }) => ($bgOpacity ?? 1) * 0.08});
@@ -5860,19 +5895,25 @@ var Nav = styled9.nav`
5860
5895
 
5861
5896
  @media (max-width: 1024px) {
5862
5897
  position: fixed;
5863
- top: 56px;
5864
- top: calc(56px + max(env(safe-area-inset-top, 0px), var(--telegram-safe-top, 0px)));
5865
- right: ${(props) => props.$isOpen ? "0" : "-100%"} ;
5866
- width: 280px;
5867
- max-width: 280px;
5868
- height: calc(100vh - 56px);
5869
- height: calc(100vh - 56px - max(env(safe-area-inset-top, 0px), var(--telegram-safe-top, 0px)));
5898
+ /* Opens just below the nav — and below the Private Beta banner when it's showing.
5899
+ The shell publishes --loaf-menu-top (banner-aware); the fallback is the bare
5900
+ nav bottom for standalone apps with no shell/banner. */
5901
+ top: var(--loaf-menu-top, calc(56px + max(env(safe-area-inset-top, 0px), var(--telegram-safe-top, 0px))));
5902
+ right: 0;
5903
+ left: 0;
5904
+ width: 100%;
5905
+ max-width: 100%;
5906
+ height: calc(100dvh - var(--loaf-menu-top, calc(56px + max(env(safe-area-inset-top, 0px), var(--telegram-safe-top, 0px)))));
5870
5907
  background: linear-gradient(180deg, #0f1419 0%, #0a0e13 100%);
5871
- z-index: 1000;
5872
- transition: right 0.3s ease;
5873
- box-shadow: ${(props) => props.$isOpen ? "-10px 0 30px rgba(0, 0, 0, 0.5)" : "none"};
5908
+ z-index: 980;
5909
+ /* Gentle fade + slide-down instead of an abrupt slide-in. */
5910
+ opacity: ${(props) => props.$isOpen ? "1" : "0"};
5911
+ transform: ${(props) => props.$isOpen ? "translateY(0)" : "translateY(-14px)"};
5912
+ visibility: ${(props) => props.$isOpen ? "visible" : "hidden"};
5913
+ pointer-events: ${(props) => props.$isOpen ? "auto" : "none"};
5914
+ transition: opacity 0.28s ease, transform 0.28s ease, visibility 0.28s ease;
5915
+ box-shadow: ${(props) => props.$isOpen ? "0 12px 30px rgba(0, 0, 0, 0.5)" : "none"};
5874
5916
  overflow-y: auto;
5875
- border-left: 1px solid rgba(255, 255, 255, 0.05);
5876
5917
 
5877
5918
  .desktop-nav {
5878
5919
  display: none;
@@ -5881,10 +5922,18 @@ var Nav = styled9.nav`
5881
5922
  .mobile-menu-content {
5882
5923
  display: flex;
5883
5924
  flex-direction: column;
5884
- padding-top: 0;
5885
- border-top: 1px solid rgba(255, 255, 255, 0.1);
5925
+ align-items: center;
5926
+ justify-content: center;
5927
+ min-height: 100%;
5928
+ padding: 2rem 1.5rem 2.5rem;
5929
+ gap: 0.4rem;
5886
5930
  }
5887
5931
  }
5932
+
5933
+ @media (max-width: 768px) {
5934
+ top: var(--loaf-menu-top, calc(0.5rem + 46px + max(env(safe-area-inset-top, 0px), var(--telegram-safe-top, 0px))));
5935
+ height: calc(100dvh - var(--loaf-menu-top, calc(0.5rem + 46px + max(env(safe-area-inset-top, 0px), var(--telegram-safe-top, 0px)))));
5936
+ }
5888
5937
  `;
5889
5938
  var NavLink = styled9.a`
5890
5939
  margin: 0 12px;
@@ -5906,7 +5955,7 @@ var NavLink = styled9.a`
5906
5955
 
5907
5956
  &:hover,
5908
5957
  &.active {
5909
- color: #f0b90b;
5958
+ color: #E6C87E;
5910
5959
  }
5911
5960
 
5912
5961
  &.active::after {
@@ -5916,7 +5965,7 @@ var NavLink = styled9.a`
5916
5965
  left: 0;
5917
5966
  width: 100%;
5918
5967
  height: 3px;
5919
- background-color: #f0b90b;
5968
+ background-color: #E6C87E;
5920
5969
  }
5921
5970
 
5922
5971
  @media (max-width: 768px) {
@@ -5955,8 +6004,8 @@ var Button2 = styled9.button.attrs({ type: "button" })`
5955
6004
 
5956
6005
  &.login {
5957
6006
  background-color: transparent;
5958
- border: 1px solid #f0b90b;
5959
- color: #f0b90b;
6007
+ border: 1px solid #E6C87E;
6008
+ color: #E6C87E;
5960
6009
 
5961
6010
  &:hover {
5962
6011
  background-color: rgba(240, 185, 11, 0.1);
@@ -5968,12 +6017,12 @@ var Button2 = styled9.button.attrs({ type: "button" })`
5968
6017
  }
5969
6018
 
5970
6019
  &.signup {
5971
- background-color: #f0b90b;
6020
+ background-color: #E6C87E;
5972
6021
  color: #0b0e11;
5973
6022
  border: none;
5974
6023
 
5975
6024
  &:hover {
5976
- background-color: #f8d12f;
6025
+ background-color: #F2D898;
5977
6026
  }
5978
6027
  }
5979
6028
 
@@ -6064,7 +6113,7 @@ var MenuItem = styled9.div`
6064
6113
  border-bottom: none;
6065
6114
 
6066
6115
  &:hover {
6067
- color: #f0b90b;
6116
+ color: #E6C87E;
6068
6117
  background-color: rgba(240, 185, 11, 0.08);
6069
6118
  }
6070
6119
 
@@ -6073,13 +6122,7 @@ var MenuItem = styled9.div`
6073
6122
  }
6074
6123
  `;
6075
6124
  var MobileMenuHeader = styled9.div`
6076
- display: flex;
6077
- justify-content: flex-end;
6078
- align-items: center;
6079
- padding: 16px 20px;
6080
- margin-top: 60px;
6081
- border-bottom: 1px solid rgba(255, 255, 255, 0.05);
6082
- background: rgba(0, 0, 0, 0.2);
6125
+ display: none;
6083
6126
  `;
6084
6127
  var MobileMenuClose = styled9.button.attrs({ type: "button" })`
6085
6128
  background: none;
@@ -6095,19 +6138,20 @@ var MobileMenuClose = styled9.button.attrs({ type: "button" })`
6095
6138
  var MobileNavItem = styled9.div`
6096
6139
  display: flex;
6097
6140
  align-items: center;
6098
- padding: 14px 20px;
6099
- color: rgba(255, 255, 255, 0.85);
6100
- font-size: 15px;
6141
+ justify-content: center;
6142
+ padding: 13px 20px;
6143
+ width: 100%;
6144
+ max-width: 320px;
6145
+ color: rgba(255, 255, 255, 0.88);
6146
+ font-size: 18px;
6101
6147
  cursor: pointer;
6102
- border-bottom: 1px solid rgba(255, 255, 255, 0.03);
6103
- font-weight: 400;
6104
- transition: all 0.2s ease;
6148
+ font-weight: 500;
6149
+ transition: color 0.2s ease;
6105
6150
  letter-spacing: 0.2px;
6151
+ text-align: center;
6106
6152
 
6107
6153
  &:hover {
6108
- background: rgba(255, 255, 255, 0.05);
6109
- color: #ffffff;
6110
- padding-left: 24px;
6154
+ color: #E6C87E;
6111
6155
  }
6112
6156
  `;
6113
6157
  var pbShimmer = keyframes`
@@ -6123,14 +6167,14 @@ var PortfolioEyeButton = styled9.button`
6123
6167
  display: flex;
6124
6168
  align-items: center;
6125
6169
  justify-content: center;
6126
- color: ${(p) => p.$active ? "#D4AF37" : "rgba(255,255,255,0.5)"};
6170
+ color: ${(p) => p.$active ? "#E6C87E" : "rgba(255,255,255,0.5)"};
6127
6171
  transition: all 0.2s ease;
6128
6172
  margin-left: 6px;
6129
6173
  margin-right: 10px;
6130
6174
 
6131
6175
  &:hover {
6132
6176
  background: rgba(212, 175, 55, 0.2);
6133
- color: #D4AF37;
6177
+ color: #E6C87E;
6134
6178
  }
6135
6179
 
6136
6180
  @media (max-width: 768px) {
@@ -6262,6 +6306,35 @@ var PortfolioInline = styled9.div`
6262
6306
  display: none;
6263
6307
  }
6264
6308
  `;
6309
+ var fundsPendingPulse = keyframes`
6310
+ 0% { opacity: 0.25; }
6311
+ 50% { opacity: 1; }
6312
+ 100% { opacity: 0.25; }
6313
+ `;
6314
+ var FundsPendingInline = styled9.div`
6315
+ display: flex;
6316
+ align-items: center;
6317
+ gap: 0.5rem;
6318
+ margin-right: 0.75rem;
6319
+
6320
+ @media (max-width: 1800px) {
6321
+ display: none;
6322
+ }
6323
+ `;
6324
+ var FundsPendingText = styled9.span`
6325
+ font-size: 0.8rem;
6326
+ font-weight: 600;
6327
+ letter-spacing: 0.2px;
6328
+ color: #E6C87E;
6329
+ white-space: nowrap;
6330
+ animation: ${fundsPendingPulse} 1.8s ease-in-out infinite;
6331
+ `;
6332
+ var FundsPendingCountdown = styled9.span`
6333
+ font-size: 0.7rem;
6334
+ font-weight: 600;
6335
+ color: rgba(255, 255, 255, 0.55);
6336
+ font-variant-numeric: tabular-nums;
6337
+ `;
6265
6338
  var PBMetric = styled9.div`
6266
6339
  display: flex;
6267
6340
  flex-direction: column;
@@ -6588,20 +6661,6 @@ var LoginPopup = ({
6588
6661
  setLoading(false);
6589
6662
  }
6590
6663
  };
6591
- const handlePasskeyLogin = async () => {
6592
- if (!onPasskeyLogin) return;
6593
- setError("");
6594
- setLoading(true);
6595
- try {
6596
- await onPasskeyLogin();
6597
- onClose();
6598
- } catch (err) {
6599
- const message = err instanceof Error ? err.message : "Passkey sign-in failed";
6600
- setError(message);
6601
- } finally {
6602
- setLoading(false);
6603
- }
6604
- };
6605
6664
  const handleEmailClick = (signUp = false) => {
6606
6665
  setIsSignUp(signUp);
6607
6666
  setView("email");
@@ -6617,13 +6676,9 @@ var LoginPopup = ({
6617
6676
  setError("Email addresses with '+' are not allowed. Please use your base email address.");
6618
6677
  return;
6619
6678
  }
6620
- if (isSignUp && !handle.trim()) {
6621
- setError("Please claim a handle to continue");
6622
- return;
6623
- }
6624
6679
  setLoading(true);
6625
6680
  setError("");
6626
- const normalizedHandle = isSignUp ? handle.trim() : void 0;
6681
+ const normalizedHandle = isSignUp && handle.trim() ? handle.trim() : void 0;
6627
6682
  try {
6628
6683
  const demoResult = await onDemoLogin?.(email, normalizedHandle ?? null);
6629
6684
  if (demoResult && demoResult.success) {
@@ -6851,13 +6906,13 @@ var LoginPopup = ({
6851
6906
  return /* @__PURE__ */ jsx(Overlay2, { onClick: onClose, children: /* @__PURE__ */ jsxs(PopupContainer, { onClick: (event) => event.stopPropagation(), children: [
6852
6907
  /* @__PURE__ */ jsx(CloseButton, { onClick: onClose, "aria-label": "Close login popup", children: /* @__PURE__ */ jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ jsx("path", { d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z" }) }) }),
6853
6908
  /* @__PURE__ */ jsxs(Title, { children: [
6854
- /* @__PURE__ */ jsx(LogoContainer3, { children: /* @__PURE__ */ jsx(LogoImage, { src: logoSrc, alt: logoAlt }) }),
6855
- /* @__PURE__ */ jsxs(TitleText, { children: [
6856
- "Welcome to Loaf",
6857
- /* @__PURE__ */ jsx(BetaBadge, { children: "(Private Beta)" })
6858
- ] })
6909
+ /* @__PURE__ */ jsxs(LogoContainer3, { children: [
6910
+ /* @__PURE__ */ jsx(LogoImage, { src: logoSrc, alt: logoAlt }),
6911
+ /* @__PURE__ */ jsx(LogoBeta, { children: "Private Beta" })
6912
+ ] }),
6913
+ /* @__PURE__ */ jsx(TitleText, { children: "Welcome to Loaf" })
6859
6914
  ] }),
6860
- /* @__PURE__ */ jsx(Subtitle, { children: "Sign in to claim $100k in test USD." }),
6915
+ /* @__PURE__ */ jsx(Subtitle, { children: "Sign in to claim 100k in test USD." }),
6861
6916
  /* @__PURE__ */ jsxs(ButtonsContainer, { children: [
6862
6917
  /* @__PURE__ */ jsxs(LoginButton, { onClick: () => handleEmailClick(false), children: [
6863
6918
  /* @__PURE__ */ jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ jsx("path", { d: "M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z" }) }),
@@ -6867,11 +6922,12 @@ var LoginPopup = ({
6867
6922
  /* @__PURE__ */ jsxs(LoginButton, { onClick: handleWalletLogin, children: [
6868
6923
  /* @__PURE__ */ jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ jsx("path", { d: "M21 18v1c0 1.1-.9 2-2 2H5c-1.11 0-2-.9-2-2V5c0-1.1.89-2 2-2h14c1.1 0 2 .9 2 2v1h-9c-1.11 0-2 .9-2 2v8c0 1.1.89 2 2 2h9zm-9-2h10V8H12v8zm4-2.5c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5z" }) }),
6869
6924
  "Sign in with Wallet"
6870
- ] }),
6871
- onPasskeyLogin && /* @__PURE__ */ jsxs(LoginButton, { onClick: handlePasskeyLogin, disabled: loading, children: [
6872
- /* @__PURE__ */ jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "currentColor", children: /* @__PURE__ */ jsx("path", { d: "M12 2C9.79 2 8 3.79 8 6v4H6c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-8c0-1.1-.9-2-2-2h-2V6c0-2.21-1.79-4-4-4zm-2 4c0-1.1.9-2 2-2s2 .9 2 2v4h-4V6zm2 9a2 2 0 100 4 2 2 0 000-4z" }) }),
6873
- "Sign in with Passkey"
6874
6925
  ] })
6926
+ ] }),
6927
+ /* @__PURE__ */ jsxs(SignUpPrompt, { children: [
6928
+ "New to Loaf?",
6929
+ " ",
6930
+ /* @__PURE__ */ jsx(SignUpLink, { type: "button", onClick: () => handleEmailClick(true), children: "Sign up" })
6875
6931
  ] })
6876
6932
  ] }) });
6877
6933
  }
@@ -6886,7 +6942,7 @@ var LoginPopup = ({
6886
6942
  /* @__PURE__ */ jsx(LogoContainer3, { children: /* @__PURE__ */ jsx(LogoImage, { src: logoSrc, alt: logoAlt }) }),
6887
6943
  isSignUp ? "Sign up with Email" : "Sign in with Email"
6888
6944
  ] }),
6889
- /* @__PURE__ */ jsx("form", { onSubmit: handleSendCode, children: /* @__PURE__ */ jsxs(EmailFormContainer, { children: [
6945
+ /* @__PURE__ */ jsx("form", { onSubmit: handleSendCode, style: { marginTop: "1.5rem" }, children: /* @__PURE__ */ jsxs(EmailFormContainer, { children: [
6890
6946
  /* @__PURE__ */ jsx(
6891
6947
  EmailInput,
6892
6948
  {
@@ -6901,13 +6957,13 @@ var LoginPopup = ({
6901
6957
  EmailInput,
6902
6958
  {
6903
6959
  type: "text",
6904
- placeholder: "Claim your handle (e.g. Landlord)",
6960
+ placeholder: "Claim your username (Optional)",
6905
6961
  value: handle,
6906
6962
  onChange: (event) => setHandle(event.target.value),
6907
6963
  style: { marginTop: "0.5rem" }
6908
6964
  }
6909
6965
  ),
6910
- /* @__PURE__ */ jsx(SubmitButton, { type: "submit", disabled: loading || !email || isSignUp && !handle, children: loading ? "Sending..." : "Continue" }),
6966
+ /* @__PURE__ */ jsx(SubmitButton, { type: "submit", disabled: loading || !email, children: loading ? "Sending..." : "Continue" }),
6911
6967
  error && /* @__PURE__ */ jsx(StatusMessage, { $error: true, children: error })
6912
6968
  ] }) }),
6913
6969
  /* @__PURE__ */ jsx(InfoText, { children: "We'll send you a verification code to sign in securely." }),
@@ -6995,7 +7051,7 @@ var LoginPopup = ({
6995
7051
  style: {
6996
7052
  background: "none",
6997
7053
  border: "none",
6998
- color: "#f0b90b",
7054
+ color: "#E6C87E",
6999
7055
  cursor: "pointer",
7000
7056
  textDecoration: "underline"
7001
7057
  },
@@ -7025,7 +7081,7 @@ var LoginPopup = ({
7025
7081
  ] })
7026
7082
  ] }),
7027
7083
  !showKycWidget && /* @__PURE__ */ jsxs(KycLandingContainer, { children: [
7028
- /* @__PURE__ */ jsx(KycLockIcon, { children: /* @__PURE__ */ jsxs("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "#D4AF37", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", children: [
7084
+ /* @__PURE__ */ jsx(KycLockIcon, { children: /* @__PURE__ */ jsxs("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "#E6C87E", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", children: [
7029
7085
  /* @__PURE__ */ jsx("rect", { x: "3", y: "11", width: "18", height: "11", rx: "2", ry: "2" }),
7030
7086
  /* @__PURE__ */ jsx("path", { d: "M7 11V7a5 5 0 0 1 10 0v4" })
7031
7087
  ] }) }),
@@ -7192,7 +7248,7 @@ var LoginPopup = ({
7192
7248
  /* @__PURE__ */ jsx("path", { d: "M16 3.13a4 4 0 0 1 0 7.75" })
7193
7249
  ] }) }),
7194
7250
  /* @__PURE__ */ jsx(OnboardingHeading, { children: "Enter code to access Private Beta trading" }),
7195
- /* @__PURE__ */ jsx(OnboardingSubtext, { style: { marginBottom: "1.5rem" }, children: "Enter your code to unlock $100k in testnet USD, or skip to continue." }),
7251
+ /* @__PURE__ */ jsx(OnboardingSubtext, { style: { marginBottom: "1.5rem" }, children: "Enter code to trade 100k in USDC, or skip to continue." }),
7196
7252
  /* @__PURE__ */ jsxs(EmailFormContainer, { style: { width: "100%", marginBottom: 0 }, children: [
7197
7253
  /* @__PURE__ */ jsx(
7198
7254
  EmailInput,
@@ -7500,7 +7556,7 @@ var KycStartButton = styled9.button`
7500
7556
  border-radius: 8px;
7501
7557
  border: none;
7502
7558
  cursor: pointer;
7503
- background: #D4AF37;
7559
+ background: #E6C87E;
7504
7560
  color: #0a0a0a;
7505
7561
  font-weight: 600;
7506
7562
  font-size: 0.9rem;
@@ -7569,18 +7625,17 @@ var Title = styled9.h2`
7569
7625
  gap: 1rem;
7570
7626
  `;
7571
7627
  var TitleText = styled9.span`
7572
- display: flex;
7573
- flex-direction: column;
7574
- align-items: center;
7575
- gap: 0.35rem;
7576
7628
  text-align: center;
7577
7629
  line-height: 1.2;
7578
7630
  `;
7579
- var BetaBadge = styled9.span`
7580
- font-size: 0.875rem;
7581
- font-weight: 500;
7582
- color: var(--color-accent, #e6c87e);
7631
+ var LogoBeta = styled9.span`
7632
+ color: var(--color-accent, #E6C87E);
7633
+ font-size: 0.6rem;
7634
+ font-weight: 600;
7635
+ letter-spacing: 0.14em;
7636
+ text-transform: uppercase;
7583
7637
  white-space: nowrap;
7638
+ padding-bottom: 0.95rem;
7584
7639
  `;
7585
7640
  var Subtitle = styled9.p`
7586
7641
  font-size: 0.9rem;
@@ -7591,7 +7646,9 @@ var Subtitle = styled9.p`
7591
7646
  `;
7592
7647
  var LogoContainer3 = styled9.div`
7593
7648
  display: flex;
7649
+ align-items: flex-end;
7594
7650
  justify-content: center;
7651
+ gap: 0.45rem;
7595
7652
  margin-bottom: 0.5rem;
7596
7653
  `;
7597
7654
  var LogoImage = styled9.img`
@@ -7603,6 +7660,25 @@ var ButtonsContainer = styled9.div`
7603
7660
  gap: 1rem;
7604
7661
  margin-bottom: 1.5rem;
7605
7662
  `;
7663
+ var SignUpPrompt = styled9.div`
7664
+ text-align: center;
7665
+ font-size: 0.875rem;
7666
+ color: var(--color-text-secondary, #848e9c);
7667
+ margin-bottom: 0.5rem;
7668
+ `;
7669
+ var SignUpLink = styled9.button`
7670
+ background: none;
7671
+ border: none;
7672
+ padding: 0;
7673
+ font: inherit;
7674
+ color: var(--color-accent, #E6C87E);
7675
+ text-decoration: underline;
7676
+ cursor: pointer;
7677
+
7678
+ &:hover {
7679
+ opacity: 0.85;
7680
+ }
7681
+ `;
7606
7682
  var LoginButton = styled9.button`
7607
7683
  display: flex;
7608
7684
  align-items: center;
@@ -7620,13 +7696,13 @@ var LoginButton = styled9.button`
7620
7696
 
7621
7697
  &:hover {
7622
7698
  background-color: rgba(230, 198, 86, 0.1);
7623
- border-color: var(--color-accent, #e6c656);
7699
+ border-color: var(--color-accent, #E6C87E);
7624
7700
  }
7625
7701
 
7626
7702
  svg {
7627
7703
  width: 20px;
7628
7704
  height: 20px;
7629
- color: var(--color-accent, #e6c656);
7705
+ color: var(--color-accent, #E6C87E);
7630
7706
  }
7631
7707
  `;
7632
7708
  var InfoText = styled9.p`
@@ -7653,7 +7729,7 @@ var EmailInput = styled9.input`
7653
7729
 
7654
7730
  &:focus {
7655
7731
  outline: none;
7656
- border-color: var(--color-accent, #e6c656);
7732
+ border-color: var(--color-accent, #E6C87E);
7657
7733
  }
7658
7734
 
7659
7735
  &::placeholder {
@@ -7674,19 +7750,19 @@ var OTPInput = styled9.input`
7674
7750
  background-color: var(--color-background-light, #1a1a1a);
7675
7751
  border: 1px solid rgba(230, 198, 86, 0.2);
7676
7752
  border-radius: var(--border-radius, 8px);
7677
- color: var(--color-accent, #e6c656);
7753
+ color: var(--color-accent, #E6C87E);
7678
7754
  transition: all 0.2s ease;
7679
7755
 
7680
7756
  &:focus {
7681
7757
  outline: none;
7682
- border-color: var(--color-accent, #e6c656);
7758
+ border-color: var(--color-accent, #E6C87E);
7683
7759
  box-shadow: 0 0 0 2px rgba(230, 198, 86, 0.2);
7684
7760
  }
7685
7761
  `;
7686
7762
  var SubmitButton = styled9.button`
7687
7763
  width: 100%;
7688
7764
  padding: 0.85rem;
7689
- background-color: var(--color-accent, #e6c656);
7765
+ background-color: var(--color-accent, #E6C87E);
7690
7766
  border: none;
7691
7767
  border-radius: var(--border-radius, 8px);
7692
7768
  color: var(--color-background, #0a0a0a);
@@ -7696,7 +7772,7 @@ var SubmitButton = styled9.button`
7696
7772
  transition: all 0.2s ease;
7697
7773
 
7698
7774
  &:hover:not(:disabled) {
7699
- background-color: var(--color-accent-hover, #d4a50a);
7775
+ background-color: var(--color-accent-hover, #F2D898);
7700
7776
  transform: translateY(-1px);
7701
7777
  }
7702
7778
 
@@ -7718,7 +7794,7 @@ var BackButton = styled9.button`
7718
7794
  margin-bottom: 1rem;
7719
7795
 
7720
7796
  &:hover {
7721
- color: var(--color-accent, #e6c656);
7797
+ color: var(--color-accent, #E6C87E);
7722
7798
  }
7723
7799
  `;
7724
7800
  var StatusMessage = styled9.p`
@@ -8039,7 +8115,7 @@ var SpinnerRing = styled9.div`
8039
8115
  width: 40px;
8040
8116
  height: 40px;
8041
8117
  border: 3px solid rgba(230, 198, 86, 0.2);
8042
- border-top-color: var(--color-accent, #e6c656);
8118
+ border-top-color: var(--color-accent, #E6C87E);
8043
8119
  border-radius: 50%;
8044
8120
  animation: spin 0.8s linear infinite;
8045
8121
 
@@ -8072,7 +8148,7 @@ var FactLabel = styled9.div`
8072
8148
  letter-spacing: 0.12em;
8073
8149
  text-transform: uppercase;
8074
8150
  font-weight: 700;
8075
- color: var(--color-accent, #e6c656);
8151
+ color: var(--color-accent, #E6C87E);
8076
8152
  margin-bottom: 0.4rem;
8077
8153
  `;
8078
8154
  var FactText = styled9.p`
@@ -8529,6 +8605,18 @@ var PriceChange = styled9.span`
8529
8605
  gap: 0.35rem;
8530
8606
  color: ${(props) => props.$isPositive == null ? "var(--color-text-secondary, rgba(255, 255, 255, 0.6))" : props.$isPositive ? "var(--color-positive, #0ecb81)" : "var(--color-negative, #f6465d)"};
8531
8607
  `;
8608
+ function useMaxWidth(maxWidth) {
8609
+ const [match, setMatch] = useState(() => typeof window !== "undefined" && window.matchMedia(`(max-width: ${maxWidth}px)`).matches);
8610
+ useEffect(() => {
8611
+ if (typeof window === "undefined") return;
8612
+ const mq = window.matchMedia(`(max-width: ${maxWidth}px)`);
8613
+ const onChange = () => setMatch(mq.matches);
8614
+ onChange();
8615
+ mq.addEventListener("change", onChange);
8616
+ return () => mq.removeEventListener("change", onChange);
8617
+ }, [maxWidth]);
8618
+ return match;
8619
+ }
8532
8620
  function GalleryMapSection({
8533
8621
  images = [],
8534
8622
  categories = [],
@@ -8548,6 +8636,8 @@ function GalleryMapSection({
8548
8636
  const [showVideo, setShowVideo] = useState(false);
8549
8637
  const [autoPlaying, setAutoPlaying] = useState(autoPlay);
8550
8638
  const [showFullMap, setShowFullMap] = useState(false);
8639
+ const [showFullVideo, setShowFullVideo] = useState(false);
8640
+ const isMobile = useMaxWidth(768);
8551
8641
  const resolvedMapUrl = mapUrl ?? (tokenName ? `/map/${tokenName}?embed=true&zoom=14&hideOthers=true` : "about:blank");
8552
8642
  useEffect(() => {
8553
8643
  if (!autoPlaying || images.length <= 1) return;
@@ -8578,62 +8668,67 @@ function GalleryMapSection({
8578
8668
  /* @__PURE__ */ jsx(BiImages, {}),
8579
8669
  " Property Gallery"
8580
8670
  ] }),
8581
- /* @__PURE__ */ jsxs("button", { type: "button", onClick: () => onPhotoClick?.(carouselIndex), children: [
8671
+ isMobile ? videoUrl && /* @__PURE__ */ jsxs("button", { type: "button", onClick: () => setShowFullVideo(true), children: [
8672
+ /* @__PURE__ */ jsx(BiVideo, { size: 15 }),
8673
+ "Video"
8674
+ ] }) : /* @__PURE__ */ jsxs("button", { type: "button", onClick: () => onPhotoClick?.(carouselIndex), children: [
8582
8675
  /* @__PURE__ */ jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", style: { width: 14, height: 14 }, children: /* @__PURE__ */ jsx("path", { d: "M8 3H5a2 2 0 00-2 2v3m18 0V5a2 2 0 00-2-2h-3m0 18h3a2 2 0 002-2v-3M3 16v3a2 2 0 002 2h3" }) }),
8583
8676
  "Full View"
8584
8677
  ] })
8585
8678
  ] }),
8586
- /* @__PURE__ */ jsxs(Carousel, { children: [
8587
- showVideo && videoUrl && /* @__PURE__ */ jsx(VideoOverlay, { children: /* @__PURE__ */ jsx("video", { autoPlay: true, loop: true, playsInline: true, controls: true, style: { width: "100%", height: "100%", objectFit: "cover", borderRadius: 8 }, children: /* @__PURE__ */ jsx("source", { src: videoUrl, type: "video/mp4" }) }) }),
8588
- /* @__PURE__ */ jsx(Track, { style: { transform: `translateX(-${carouselIndex * 100}%)` }, children: images.map((img, idx) => /* @__PURE__ */ jsxs(Slide, { onClick: () => onPhotoClick?.(idx), children: [
8589
- /* @__PURE__ */ jsx("img", { src: img.src, alt: img.title }),
8590
- /* @__PURE__ */ jsxs(SlideCaption, { children: [
8591
- /* @__PURE__ */ jsx("h4", { children: img.title }),
8592
- img.subtitle && /* @__PURE__ */ jsx("p", { children: img.subtitle })
8679
+ isMobile ? /* @__PURE__ */ jsx(StackedGallery, { images, onPhotoClick }) : /* @__PURE__ */ jsxs(Fragment, { children: [
8680
+ /* @__PURE__ */ jsxs(Carousel, { children: [
8681
+ showVideo && videoUrl && /* @__PURE__ */ jsx(VideoOverlay, { children: /* @__PURE__ */ jsx("video", { autoPlay: true, loop: true, playsInline: true, controls: true, style: { width: "100%", height: "100%", objectFit: "cover", borderRadius: 8 }, children: /* @__PURE__ */ jsx("source", { src: videoUrl, type: "video/mp4" }) }) }),
8682
+ /* @__PURE__ */ jsx(Track, { style: { transform: `translateX(-${carouselIndex * 100}%)` }, children: images.map((img, idx) => /* @__PURE__ */ jsxs(Slide, { onClick: () => onPhotoClick?.(idx), children: [
8683
+ /* @__PURE__ */ jsx("img", { src: img.src, alt: img.title }),
8684
+ /* @__PURE__ */ jsxs(SlideCaption, { children: [
8685
+ /* @__PURE__ */ jsx("h4", { children: img.title }),
8686
+ img.subtitle && /* @__PURE__ */ jsx("p", { children: img.subtitle })
8687
+ ] })
8688
+ ] }, idx)) }),
8689
+ !showVideo && images.length > 1 && /* @__PURE__ */ jsxs(Fragment, { children: [
8690
+ /* @__PURE__ */ jsx(CarouselButton, { className: "prev", onClick: goPrev, children: /* @__PURE__ */ jsx("svg", { viewBox: "0 0 24 24", fill: "none", strokeWidth: "3", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsx("path", { d: "M15 18l-6-6 6-6" }) }) }),
8691
+ /* @__PURE__ */ jsx(CarouselButton, { className: "next", onClick: goNext, children: /* @__PURE__ */ jsx("svg", { viewBox: "0 0 24 24", fill: "none", strokeWidth: "3", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsx("path", { d: "M9 18l6-6-6-6" }) }) })
8593
8692
  ] })
8594
- ] }, idx)) }),
8595
- !showVideo && images.length > 1 && /* @__PURE__ */ jsxs(Fragment, { children: [
8596
- /* @__PURE__ */ jsx(CarouselButton, { className: "prev", onClick: goPrev, children: /* @__PURE__ */ jsx("svg", { viewBox: "0 0 24 24", fill: "none", strokeWidth: "3", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsx("path", { d: "M15 18l-6-6 6-6" }) }) }),
8597
- /* @__PURE__ */ jsx(CarouselButton, { className: "next", onClick: goNext, children: /* @__PURE__ */ jsx("svg", { viewBox: "0 0 24 24", fill: "none", strokeWidth: "3", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsx("path", { d: "M9 18l6-6-6-6" }) }) })
8598
- ] })
8599
- ] }),
8600
- /* @__PURE__ */ jsxs(ThumbStrip, { children: [
8601
- /* @__PURE__ */ jsx(ThumbScroll, { children: images.filter((img) => img.category !== "Floorplan").map((img) => {
8602
- const actualIndex = images.indexOf(img);
8603
- return /* @__PURE__ */ jsx(Thumbnail2, { "data-active": !showVideo && carouselIndex === actualIndex, onClick: () => {
8604
- stopAutoPlay();
8605
- setShowVideo(false);
8606
- setCarouselIndex(actualIndex);
8607
- }, children: /* @__PURE__ */ jsx("img", { src: img.src, alt: img.title }) }, actualIndex);
8608
- }) }),
8609
- /* @__PURE__ */ jsx(ThumbDivider, {}),
8610
- /* @__PURE__ */ jsxs(FixedButtons, { children: [
8611
- floorplanIndex !== -1 && /* @__PURE__ */ jsxs(FixedBtn, { $active: isFloorplan, onClick: () => {
8612
- stopAutoPlay();
8613
- setShowVideo(false);
8614
- setCarouselIndex(floorplanIndex);
8615
- }, children: [
8616
- /* @__PURE__ */ jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
8617
- /* @__PURE__ */ jsx("rect", { x: "2", y: "2", width: "20", height: "20", rx: "1" }),
8618
- /* @__PURE__ */ jsx("line", { x1: "2", y1: "10", x2: "22", y2: "10" }),
8619
- /* @__PURE__ */ jsx("line", { x1: "10", y1: "2", x2: "10", y2: "22" })
8693
+ ] }),
8694
+ /* @__PURE__ */ jsxs(ThumbStrip, { children: [
8695
+ /* @__PURE__ */ jsx(ThumbScroll, { children: images.filter((img) => img.category !== "Floorplan").map((img) => {
8696
+ const actualIndex = images.indexOf(img);
8697
+ return /* @__PURE__ */ jsx(Thumbnail2, { "data-active": !showVideo && carouselIndex === actualIndex, onClick: () => {
8698
+ stopAutoPlay();
8699
+ setShowVideo(false);
8700
+ setCarouselIndex(actualIndex);
8701
+ }, children: /* @__PURE__ */ jsx("img", { src: img.src, alt: img.title }) }, actualIndex);
8702
+ }) }),
8703
+ /* @__PURE__ */ jsx(ThumbDivider, {}),
8704
+ /* @__PURE__ */ jsxs(FixedButtons, { children: [
8705
+ floorplanIndex !== -1 && /* @__PURE__ */ jsxs(FixedBtn, { $active: isFloorplan, onClick: () => {
8706
+ stopAutoPlay();
8707
+ setShowVideo(false);
8708
+ setCarouselIndex(floorplanIndex);
8709
+ }, children: [
8710
+ /* @__PURE__ */ jsxs("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: [
8711
+ /* @__PURE__ */ jsx("rect", { x: "2", y: "2", width: "20", height: "20", rx: "1" }),
8712
+ /* @__PURE__ */ jsx("line", { x1: "2", y1: "10", x2: "22", y2: "10" }),
8713
+ /* @__PURE__ */ jsx("line", { x1: "10", y1: "2", x2: "10", y2: "22" })
8714
+ ] }),
8715
+ "Floor Plan"
8620
8716
  ] }),
8621
- "Floor Plan"
8622
- ] }),
8623
- videoUrl && /* @__PURE__ */ jsxs(FixedBtn, { $active: showVideo, onClick: () => setShowVideo((p) => !p), children: [
8624
- /* @__PURE__ */ jsx(BiVideo, { size: 16 }),
8625
- " Video"
8717
+ videoUrl && /* @__PURE__ */ jsxs(FixedBtn, { $active: showVideo, onClick: () => setShowVideo((p) => !p), children: [
8718
+ /* @__PURE__ */ jsx(BiVideo, { size: 16 }),
8719
+ " Video"
8720
+ ] })
8626
8721
  ] })
8627
- ] })
8628
- ] }),
8629
- filteredCategories.length > 0 && /* @__PURE__ */ jsx(CategoryRow, { children: filteredCategories.map((cat, i) => {
8630
- const isActive = carouselIndex >= cat.startIndex && (i === filteredCategories.length - 1 || carouselIndex < filteredCategories[i + 1].startIndex);
8631
- return /* @__PURE__ */ jsx("button", { type: "button", "data-active": isActive, onClick: () => {
8632
- stopAutoPlay();
8633
- setShowVideo(false);
8634
- setCarouselIndex(cat.startIndex);
8635
- }, children: cat.name }, cat.name);
8636
- }) })
8722
+ ] }),
8723
+ filteredCategories.length > 0 && /* @__PURE__ */ jsx(CategoryRow, { children: filteredCategories.map((cat, i) => {
8724
+ const isActive = carouselIndex >= cat.startIndex && (i === filteredCategories.length - 1 || carouselIndex < filteredCategories[i + 1].startIndex);
8725
+ return /* @__PURE__ */ jsx("button", { type: "button", "data-active": isActive, onClick: () => {
8726
+ stopAutoPlay();
8727
+ setShowVideo(false);
8728
+ setCarouselIndex(cat.startIndex);
8729
+ }, children: cat.name }, cat.name);
8730
+ }) })
8731
+ ] })
8637
8732
  ] }),
8638
8733
  featuresSlot,
8639
8734
  !hideMap && /* @__PURE__ */ jsxs(MapPanel, { children: [
@@ -8693,7 +8788,130 @@ function GalleryMapSection({
8693
8788
  ] }),
8694
8789
  /* @__PURE__ */ jsx(SuburbDesc, { children: "One of Sydney's most prestigious harbourside suburbs, consistently ranked among Australia's highest-value residential markets. Strong capital growth driven by limited supply, heritage conservation overlays, and international buyer demand." })
8695
8790
  ] }),
8696
- showFullMap && !hideMap && /* @__PURE__ */ jsx(FullMapPopup, { onClose: () => setShowFullMap(false), mapUrl: resolvedMapUrl })
8791
+ showFullMap && !hideMap && /* @__PURE__ */ jsx(FullMapPopup, { onClose: () => setShowFullMap(false), mapUrl: resolvedMapUrl }),
8792
+ showFullVideo && videoUrl && /* @__PURE__ */ jsxs(FullVideoOverlay, { onClick: () => setShowFullVideo(false), children: [
8793
+ /* @__PURE__ */ jsx(FullVideoClose, { onClick: () => setShowFullVideo(false), "aria-label": "Close video", children: "\u2715" }),
8794
+ /* @__PURE__ */ jsx(
8795
+ "video",
8796
+ {
8797
+ src: videoUrl,
8798
+ autoPlay: true,
8799
+ controls: true,
8800
+ playsInline: true,
8801
+ controlsList: "nodownload",
8802
+ disablePictureInPicture: true,
8803
+ onClick: (e) => e.stopPropagation(),
8804
+ onContextMenu: (e) => e.preventDefault()
8805
+ }
8806
+ )
8807
+ ] })
8808
+ ] });
8809
+ }
8810
+ function StackedGallery({ images, onPhotoClick }) {
8811
+ const [expanded, setExpanded] = useState(false);
8812
+ const [cardH, setCardH] = useState(200);
8813
+ const wrapRef = useRef(null);
8814
+ useEffect(() => {
8815
+ const el = wrapRef.current;
8816
+ if (!el) return;
8817
+ const measure = () => {
8818
+ const w = el.clientWidth;
8819
+ if (w > 0) setCardH(Math.round(w * 9 / 16));
8820
+ };
8821
+ measure();
8822
+ const ro = new ResizeObserver(measure);
8823
+ ro.observe(el);
8824
+ return () => ro.disconnect();
8825
+ }, []);
8826
+ useEffect(() => {
8827
+ const el = wrapRef.current;
8828
+ if (!el) return;
8829
+ const update = () => {
8830
+ const nav = document.getElementById("loaf-header");
8831
+ let topPx = nav ? nav.getBoundingClientRect().bottom : 56;
8832
+ const header = document.querySelector(".trade-top-sticky");
8833
+ if (header) {
8834
+ const b = header.getBoundingClientRect().bottom;
8835
+ if (b > 0 && b < window.innerHeight * 0.5) topPx = Math.max(topPx, b);
8836
+ }
8837
+ el.style.setProperty("--gallery-showless-top", `${Math.round(topPx) + 12}px`);
8838
+ };
8839
+ update();
8840
+ window.addEventListener("scroll", update, { passive: true });
8841
+ window.addEventListener("resize", update);
8842
+ return () => {
8843
+ window.removeEventListener("scroll", update);
8844
+ window.removeEventListener("resize", update);
8845
+ };
8846
+ }, []);
8847
+ const collapse = () => {
8848
+ setExpanded(false);
8849
+ requestAnimationFrame(() => {
8850
+ const wrap = wrapRef.current;
8851
+ const panel = wrap?.parentElement;
8852
+ if (!panel) return;
8853
+ const nav = document.getElementById("loaf-header");
8854
+ let offset = nav ? nav.getBoundingClientRect().bottom : 56;
8855
+ const header = document.querySelector(".trade-top-sticky");
8856
+ if (header) {
8857
+ const b = header.getBoundingClientRect().bottom;
8858
+ if (b > 0 && b < window.innerHeight * 0.5) offset = Math.max(offset, b);
8859
+ }
8860
+ const top = panel.getBoundingClientRect().top + window.scrollY - offset - 64;
8861
+ window.scrollTo({ top: Math.max(0, top), behavior: "auto" });
8862
+ });
8863
+ };
8864
+ const n = images.length;
8865
+ const PEEK = 12;
8866
+ const INSET = 10;
8867
+ const GAP = 14;
8868
+ const MAX_BEHIND = 2;
8869
+ const collapsedHeight = cardH + MAX_BEHIND * PEEK;
8870
+ const expandedHeight = n * cardH + (n - 1) * GAP;
8871
+ return /* @__PURE__ */ jsxs(StackWrap, { ref: wrapRef, children: [
8872
+ expanded && /* @__PURE__ */ jsxs(ShowLessBtn, { type: "button", onClick: collapse, children: [
8873
+ /* @__PURE__ */ jsx(BiChevronUp, { size: 16 }),
8874
+ " Show less"
8875
+ ] }),
8876
+ /* @__PURE__ */ jsx(StackViewport, { style: { height: (expanded ? expandedHeight : collapsedHeight) || void 0 }, children: images.map((img, i) => {
8877
+ const depth = Math.min(i, MAX_BEHIND);
8878
+ const top = expanded ? i * (cardH + GAP) : depth * PEEK;
8879
+ const side = expanded ? 0 : depth * INSET;
8880
+ const hidden = !expanded && i > MAX_BEHIND;
8881
+ return /* @__PURE__ */ jsxs(
8882
+ StackCard,
8883
+ {
8884
+ style: {
8885
+ top,
8886
+ left: side,
8887
+ right: side,
8888
+ height: cardH,
8889
+ zIndex: expanded ? 1 : n - i,
8890
+ opacity: hidden ? 0 : 1,
8891
+ pointerEvents: hidden ? "none" : "auto"
8892
+ },
8893
+ onClick: () => {
8894
+ if (!expanded) setExpanded(true);
8895
+ else onPhotoClick?.(i);
8896
+ },
8897
+ children: [
8898
+ /* @__PURE__ */ jsx("img", { src: img.src, alt: img.title, draggable: false }),
8899
+ /* @__PURE__ */ jsxs(StackCaption, { children: [
8900
+ /* @__PURE__ */ jsx("h4", { children: img.title }),
8901
+ img.subtitle && /* @__PURE__ */ jsx("p", { children: img.subtitle })
8902
+ ] }),
8903
+ !expanded && i === 0 && n > 1 && /* @__PURE__ */ jsxs(StackBadge, { children: [
8904
+ /* @__PURE__ */ jsx(BiImages, { size: 13 }),
8905
+ " ",
8906
+ n,
8907
+ " photos ",
8908
+ /* @__PURE__ */ jsx(BiChevronDown, { size: 14 })
8909
+ ] })
8910
+ ]
8911
+ },
8912
+ i
8913
+ );
8914
+ }) })
8697
8915
  ] });
8698
8916
  }
8699
8917
  function FullMapPopup({ onClose, mapUrl }) {
@@ -8757,6 +8975,9 @@ var Row = styled9.div`
8757
8975
  overflow: hidden;
8758
8976
  box-sizing: border-box;
8759
8977
  width: 100%;
8978
+ /* Mobile uses the stacked gallery whose "Show less" is position:sticky — overflow:hidden
8979
+ on any ancestor breaks sticky, so open it up here (no carousel to clip on mobile). */
8980
+ @media (max-width: 768px) { overflow: visible; }
8760
8981
  `;
8761
8982
  var PanelBase = styled9.div`
8762
8983
  background: #111111;
@@ -8775,7 +8996,7 @@ var PanelHeader = styled9.div`
8775
8996
  border-bottom: 1px solid rgba(255,255,255,0.1);
8776
8997
  h3 { margin: 0; font-size: 1rem; font-weight: 600; display: flex; align-items: center; gap: 0.5rem; }
8777
8998
  button {
8778
- background: transparent; border: 1px solid #D4AF37; color: #D4AF37;
8999
+ background: transparent; border: 1px solid #E6C87E; color: #E6C87E;
8779
9000
  padding: 0.35rem 0.75rem; border-radius: 4px; font-size: 0.75rem;
8780
9001
  cursor: pointer; display: flex; align-items: center; gap: 0.35rem;
8781
9002
  }
@@ -8783,6 +9004,90 @@ var PanelHeader = styled9.div`
8783
9004
  `;
8784
9005
  var GalleryPanel = styled9(PanelBase)`
8785
9006
  min-width: 0; overflow: hidden;
9007
+ /* Allow the sticky "Show less" to pin against the viewport on mobile. */
9008
+ @media (max-width: 768px) { overflow: visible; }
9009
+ `;
9010
+ var StackWrap = styled9.div`
9011
+ position: relative;
9012
+ width: 100%;
9013
+ `;
9014
+ var StackViewport = styled9.div`
9015
+ position: relative;
9016
+ width: 100%;
9017
+ transition: height 0.45s cubic-bezier(0.22, 1, 0.36, 1);
9018
+ `;
9019
+ var StackCard = styled9.div`
9020
+ position: absolute;
9021
+ border-radius: 14px;
9022
+ overflow: hidden;
9023
+ cursor: pointer;
9024
+ background: #0c0c0c;
9025
+ box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
9026
+ border: 1px solid rgba(255, 255, 255, 0.08);
9027
+ transition: top 0.45s cubic-bezier(0.22, 1, 0.36, 1),
9028
+ left 0.45s cubic-bezier(0.22, 1, 0.36, 1),
9029
+ right 0.45s cubic-bezier(0.22, 1, 0.36, 1),
9030
+ opacity 0.3s ease;
9031
+ img {
9032
+ width: 100%;
9033
+ height: 100%;
9034
+ object-fit: cover;
9035
+ display: block;
9036
+ user-select: none;
9037
+ -webkit-user-drag: none;
9038
+ }
9039
+ `;
9040
+ var StackCaption = styled9.div`
9041
+ position: absolute;
9042
+ bottom: 0;
9043
+ left: 0;
9044
+ right: 0;
9045
+ padding: 0.9rem 1rem;
9046
+ background: linear-gradient(to top, rgba(0, 0, 0, 0.82), transparent);
9047
+ pointer-events: none;
9048
+ h4 { margin: 0; font-size: 0.92rem; font-weight: 600; color: #fff; }
9049
+ p { margin: 0.2rem 0 0; font-size: 0.72rem; color: rgba(255, 255, 255, 0.72); }
9050
+ `;
9051
+ var StackBadge = styled9.div`
9052
+ position: absolute;
9053
+ top: 0.65rem;
9054
+ right: 0.65rem;
9055
+ display: flex;
9056
+ align-items: center;
9057
+ gap: 0.3rem;
9058
+ padding: 0.32rem 0.6rem;
9059
+ border-radius: 999px;
9060
+ background: rgba(0, 0, 0, 0.55);
9061
+ backdrop-filter: blur(6px);
9062
+ border: 1px solid rgba(255, 255, 255, 0.16);
9063
+ color: #fff;
9064
+ font-size: 0.72rem;
9065
+ font-weight: 600;
9066
+ `;
9067
+ var ShowLessBtn = styled9.button`
9068
+ /* Starts above the first image (right-aligned). As you scroll it pins just below the
9069
+ page's tab bar (--gallery-showless-top, measured live) and rides along; sticky
9070
+ auto-releases at the bottom of the gallery, so it stops at the last image's bottom-right. */
9071
+ position: sticky;
9072
+ top: var(--gallery-showless-top, 116px);
9073
+ z-index: 9;
9074
+ display: flex;
9075
+ width: fit-content;
9076
+ align-items: center;
9077
+ justify-content: center;
9078
+ gap: 0.3rem;
9079
+ margin: 0 0 0.75rem auto;
9080
+ padding: 0.45rem 1rem;
9081
+ border-radius: 999px;
9082
+ background: rgba(20, 20, 24, 0.92);
9083
+ backdrop-filter: blur(8px);
9084
+ border: 1px solid rgba(255, 255, 255, 0.18);
9085
+ color: #fff;
9086
+ font-size: 0.78rem;
9087
+ font-weight: 600;
9088
+ cursor: pointer;
9089
+ transition: background 0.15s ease, border-color 0.15s ease;
9090
+ &:hover { background: rgba(40, 40, 46, 0.95); border-color: #E6C87E; color: #E6C87E; }
8786
9091
  `;
8787
9092
  var Carousel = styled9.div`
8788
9093
  position: relative; width: 100%; overflow: hidden; border-radius: 8px;
@@ -8829,7 +9134,7 @@ var Thumbnail2 = styled9.div`
8829
9134
  min-width: 60px; height: 45px; border-radius: 4px; overflow: hidden;
8830
9135
  cursor: pointer; border: 2px solid transparent; opacity: 0.6;
8831
9136
  transition: all 0.2s ease; flex-shrink: 0;
8832
- &[data-active='true'] { border-color: #D4AF37; opacity: 1; }
9137
+ &[data-active='true'] { border-color: #E6C87E; opacity: 1; }
8833
9138
  img { width: 100%; height: 100%; object-fit: cover; }
8834
9139
  `;
8835
9140
  var ThumbDivider = styled9.div`
@@ -8843,9 +9148,9 @@ var FixedBtn = styled9.button`
8843
9148
  height: 45px; padding: 0 0.75rem; border-radius: 4px;
8844
9149
  display: flex; align-items: center; justify-content: center; gap: 0.4rem;
8845
9150
  cursor: pointer; transition: all 0.2s ease;
8846
- border: 1px solid ${(p) => p.$active ? "#D4AF37" : "rgba(255,255,255,0.25)"};
9151
+ border: 1px solid ${(p) => p.$active ? "#E6C87E" : "rgba(255,255,255,0.25)"};
8847
9152
  background: ${(p) => p.$active ? "rgba(212,175,55,0.15)" : "rgba(255,255,255,0.06)"};
8848
- color: ${(p) => p.$active ? "#D4AF37" : "rgba(255,255,255,0.7)"};
9153
+ color: ${(p) => p.$active ? "#E6C87E" : "rgba(255,255,255,0.7)"};
8849
9154
  font-size: 0.75rem; font-weight: 500; letter-spacing: 0.02em; white-space: nowrap;
8850
9155
  `;
8851
9156
  var CategoryRow = styled9.div`
@@ -8858,7 +9163,7 @@ var CategoryRow = styled9.div`
8858
9163
  font-size: 0.8rem; font-weight: 500; cursor: pointer; transition: all 0.2s ease;
8859
9164
  flex-shrink: 0; white-space: nowrap;
8860
9165
  }
8861
- button[data-active='true'] { background: rgba(212,175,55,0.2); border-color: #D4AF37; color: #D4AF37; }
9166
+ button[data-active='true'] { background: rgba(212,175,55,0.2); border-color: #E6C87E; color: #E6C87E; }
8862
9167
  `;
8863
9168
  var MapPanel = styled9(PanelBase)`
8864
9169
  min-height: 350px; padding: 1.5rem;
@@ -8875,7 +9180,7 @@ var SuburbProfilePanel = styled9(PanelBase)`
8875
9180
  `;
8876
9181
  var SuburbProfileTitle = styled9.div`
8877
9182
  font-size: 0.65rem;
8878
- color: #D4AF37;
9183
+ color: #E6C87E;
8879
9184
  text-transform: uppercase;
8880
9185
  letter-spacing: 0.1em;
8881
9186
  font-weight: 600;
@@ -8927,6 +9232,44 @@ var FullMapOverlay = styled9.div`
8927
9232
  justify-content: center;
8928
9233
  backdrop-filter: blur(4px);
8929
9234
  `;
9235
+ var FullVideoOverlay = styled9.div`
9236
+ position: fixed;
9237
+ inset: 0;
9238
+ background: rgba(0, 0, 0, 0.92);
9239
+ z-index: 10000;
9240
+ display: flex;
9241
+ align-items: center;
9242
+ justify-content: center;
9243
+ padding: 1rem;
9244
+ video {
9245
+ max-width: 100%;
9246
+ max-height: 100%;
9247
+ width: auto;
9248
+ height: auto;
9249
+ border-radius: 10px;
9250
+ background: #000;
9251
+ }
9252
+ `;
9253
+ var FullVideoClose = styled9.button`
9254
+ position: absolute;
9255
+ top: max(1rem, env(safe-area-inset-top, 0px));
9256
+ right: 1rem;
9257
+ z-index: 1;
9258
+ width: 40px;
9259
+ height: 40px;
9260
+ border-radius: 50%;
9261
+ border: 1px solid rgba(255, 255, 255, 0.2);
9262
+ background: rgba(0, 0, 0, 0.55);
9263
+ backdrop-filter: blur(6px);
9264
+ color: #fff;
9265
+ font-size: 1.1rem;
9266
+ line-height: 1;
9267
+ cursor: pointer;
9268
+ display: flex;
9269
+ align-items: center;
9270
+ justify-content: center;
9271
+ &:hover { background: rgba(40, 40, 46, 0.9); }
9272
+ `;
8930
9273
  var FullMapPanel = styled9.div`
8931
9274
  background: #111;
8932
9275
  border: 1px solid rgba(255,255,255,0.08);
@@ -9506,6 +9849,9 @@ var GallerySpecLeft = styled9.div`
9506
9849
  display: flex;
9507
9850
  flex-direction: column;
9508
9851
  gap: 0.75rem;
9852
+ /* Don't clip the stacked gallery's sticky "Show less" on mobile (overflow:hidden on an
9853
+ ancestor disables position:sticky). */
9854
+ @media (max-width: 768px) { overflow: visible; }
9509
9855
  `;
9510
9856
  var AssetBentoNarratives = styled9.div`
9511
9857
  display: grid;
@@ -9598,7 +9944,7 @@ var TokenDetailsCard = styled9.div`
9598
9944
  `;
9599
9945
  var TokenDetailsTitle = styled9.div`
9600
9946
  font-size: 0.65rem;
9601
- color: #D4AF37;
9947
+ color: #E6C87E;
9602
9948
  text-transform: uppercase;
9603
9949
  letter-spacing: 0.12em;
9604
9950
  font-weight: 600;
@@ -9645,7 +9991,7 @@ var CopyBtn = styled9.button`
9645
9991
  var DocLinkBtn = styled9.button`
9646
9992
  background: none;
9647
9993
  border: none;
9648
- color: #D4AF37;
9994
+ color: #E6C87E;
9649
9995
  cursor: pointer;
9650
9996
  padding: 0;
9651
9997
  font-size: inherit;
@@ -9683,7 +10029,7 @@ var StatsRowSection = styled9.div`
9683
10029
  `;
9684
10030
  var StatsRowLabel = styled9.div`
9685
10031
  font-size: 0.65rem;
9686
- color: #D4AF37;
10032
+ color: #E6C87E;
9687
10033
  text-transform: uppercase;
9688
10034
  letter-spacing: 0.12em;
9689
10035
  font-weight: 600;
@@ -9717,14 +10063,13 @@ var StatsHCellLabel = styled9.span`
9717
10063
  var StatsHCellValue = styled9.span`
9718
10064
  font-size: 0.92rem;
9719
10065
  font-weight: 500;
9720
- color: ${(p) => p.$gold ? "#D4AF37" : "#fff"};
10066
+ color: ${(p) => p.$gold ? "#E6C87E" : "#fff"};
9721
10067
  font-variant-numeric: tabular-nums;
9722
10068
  `;
9723
10069
  var StatsTabbedCard = styled9.div`
9724
10070
  background: #111111;
9725
10071
  border: 1px solid rgba(255,255,255,0.1);
9726
10072
  border-radius: 12px;
9727
- max-width: 400px;
9728
10073
  `;
9729
10074
  var StatsTabBar = styled9.div`
9730
10075
  display: flex;
@@ -9741,10 +10086,10 @@ var StatsTab = styled9.button`
9741
10086
  letter-spacing: 0.1em;
9742
10087
  cursor: pointer;
9743
10088
  transition: color 0.15s, border-color 0.15s;
9744
- color: ${(p) => p.$active ? "#D4AF37" : "rgba(255,255,255,0.35)"};
9745
- border-bottom: 2px solid ${(p) => p.$active ? "#D4AF37" : "transparent"};
10089
+ color: ${(p) => p.$active ? "#E6C87E" : "rgba(255,255,255,0.35)"};
10090
+ border-bottom: 2px solid ${(p) => p.$active ? "#E6C87E" : "transparent"};
9746
10091
  margin-bottom: -1px;
9747
- &:hover { color: ${(p) => p.$active ? "#D4AF37" : "rgba(255,255,255,0.6)"}; }
10092
+ &:hover { color: ${(p) => p.$active ? "#E6C87E" : "rgba(255,255,255,0.6)"}; }
9748
10093
  `;
9749
10094
  var StatsTabContent = styled9.div`
9750
10095
  padding: 0.5rem 1.25rem 1.25rem;
@@ -9757,7 +10102,7 @@ var StatsColumn = styled9.div`
9757
10102
  `;
9758
10103
  var StatsColumnHeader = styled9.div`
9759
10104
  font-size: 0.65rem;
9760
- color: #D4AF37;
10105
+ color: #E6C87E;
9761
10106
  text-transform: uppercase;
9762
10107
  letter-spacing: 0.12em;
9763
10108
  font-weight: 600;
@@ -9788,7 +10133,7 @@ var StatLabel = styled9.span`
9788
10133
  var StatValue = styled9.span`
9789
10134
  font-size: 0.88rem;
9790
10135
  font-weight: 500;
9791
- color: ${(p) => p.$gold ? "#D4AF37" : "#fff"};
10136
+ color: ${(p) => p.$gold ? "#E6C87E" : "#fff"};
9792
10137
  font-variant-numeric: tabular-nums;
9793
10138
  `;
9794
10139
  var NarrativeCard = styled9.div`
@@ -9811,7 +10156,7 @@ var NarrativeIcon = styled9.div`
9811
10156
  display: flex;
9812
10157
  align-items: center;
9813
10158
  justify-content: center;
9814
- color: #D4AF37;
10159
+ color: #E6C87E;
9815
10160
  flex-shrink: 0;
9816
10161
  `;
9817
10162
  var NarrativeTitle = styled9.div`
@@ -9853,7 +10198,7 @@ var TimelineDot = styled9.div`
9853
10198
  width: 8px;
9854
10199
  height: 8px;
9855
10200
  border-radius: 50%;
9856
- background: ${(p) => p.$active ? "#D4AF37" : "rgba(255,255,255,0.15)"};
10201
+ background: ${(p) => p.$active ? "#E6C87E" : "rgba(255,255,255,0.15)"};
9857
10202
  border: ${(p) => p.$active ? "2px solid rgba(212,175,55,0.4)" : "none"};
9858
10203
  justify-self: center;
9859
10204
  `;
@@ -9876,7 +10221,7 @@ var TimelinePriceWrap = styled9.div`
9876
10221
  var TimelinePrice = styled9.span`
9877
10222
  font-size: 0.85rem;
9878
10223
  font-weight: 600;
9879
- color: ${(p) => p.$gold ? "#D4AF37" : "#fff"};
10224
+ color: ${(p) => p.$gold ? "#E6C87E" : "#fff"};
9880
10225
  font-variant-numeric: tabular-nums;
9881
10226
  `;
9882
10227
  var FeaturesPanel = styled9.div`
@@ -9977,7 +10322,7 @@ var SecurityValue = styled9.span`
9977
10322
  `;
9978
10323
  var SecurityDocLink = styled9.a`
9979
10324
  font-size: 0.82rem;
9980
- color: #D4AF37;
10325
+ color: #E6C87E;
9981
10326
  font-weight: 600;
9982
10327
  text-decoration: none;
9983
10328
  cursor: pointer;
@@ -9991,7 +10336,7 @@ var DividendHistoryBtn = styled9.button`
9991
10336
  padding: 0.5rem 0;
9992
10337
  background: none;
9993
10338
  border: none;
9994
- color: #D4AF37;
10339
+ color: #E6C87E;
9995
10340
  font-size: 0.78rem;
9996
10341
  font-weight: 500;
9997
10342
  cursor: pointer;
@@ -10107,7 +10452,7 @@ var STATUS_BG = {
10107
10452
  var STATUS_COLOR = {
10108
10453
  active: "#0ecb81",
10109
10454
  rejected: "#f6465d",
10110
- pending: "#f2c94c",
10455
+ pending: "#E6C87E",
10111
10456
  historical: "#3861fb",
10112
10457
  expired: "rgba(255,255,255,0.7)"
10113
10458
  };
@@ -10128,7 +10473,7 @@ function PropertyOffers({ offers, totalShares }) {
10128
10473
  "button",
10129
10474
  {
10130
10475
  onClick: () => alert("Coming soon..."),
10131
- className: "rounded-md px-6 py-[0.65rem] font-semibold text-[0.9rem] cursor-pointer transition-all duration-200 bg-[var(--color-accent,#f0b90b)] border-none text-black hover:bg-[var(--color-accent-hover,#f8d12f)] hover:-translate-y-px",
10476
+ className: "rounded-md px-6 py-[0.65rem] font-semibold text-[0.9rem] cursor-pointer transition-all duration-200 bg-[var(--color-accent,#E6C87E)] border-none text-black hover:bg-[var(--color-accent-hover,#F2D898)] hover:-translate-y-px",
10132
10477
  children: "Make Offer"
10133
10478
  }
10134
10479
  ),
@@ -10136,7 +10481,7 @@ function PropertyOffers({ offers, totalShares }) {
10136
10481
  "button",
10137
10482
  {
10138
10483
  onClick: () => alert("Coming soon..."),
10139
- className: "rounded-md px-6 py-[0.65rem] font-semibold text-[0.9rem] cursor-pointer transition-all duration-200 bg-transparent border border-[var(--color-accent,#f0b90b)] text-[var(--color-accent,#f0b90b)] hover:bg-[rgba(240,185,11,0.12)] hover:-translate-y-px",
10484
+ className: "rounded-md px-6 py-[0.65rem] font-semibold text-[0.9rem] cursor-pointer transition-all duration-200 bg-transparent border border-[var(--color-accent,#E6C87E)] text-[var(--color-accent,#E6C87E)] hover:bg-[rgba(240,185,11,0.12)] hover:-translate-y-px",
10140
10485
  children: "Enquire"
10141
10486
  }
10142
10487
  )
@@ -10180,7 +10525,7 @@ function PropertyOffers({ offers, totalShares }) {
10180
10525
  "button",
10181
10526
  {
10182
10527
  onClick: () => alert(`Voted for offer: ${offer.price} by ${offer.buyer}`),
10183
- className: "bg-[var(--color-accent,#f0b90b)] text-black border-none rounded-md px-5 py-[0.45rem] font-semibold text-[0.78rem] uppercase cursor-pointer transition-all duration-200 hover:bg-[var(--color-accent-hover,#f8d12f)] hover:-translate-y-px",
10528
+ className: "bg-[var(--color-accent,#E6C87E)] text-black border-none rounded-md px-5 py-[0.45rem] font-semibold text-[0.78rem] uppercase cursor-pointer transition-all duration-200 hover:bg-[var(--color-accent-hover,#F2D898)] hover:-translate-y-px",
10184
10529
  children: "Vote"
10185
10530
  }
10186
10531
  )
@@ -10603,9 +10948,9 @@ var FilterButtonsContainer = styled9.div`
10603
10948
  }
10604
10949
  `;
10605
10950
  var FilterButton = styled9.button`
10606
- background-color: ${(props) => props.$active ? "var(--color-accent, #f0b90b)" : "transparent"};
10951
+ background-color: ${(props) => props.$active ? "var(--color-accent, #E6C87E)" : "transparent"};
10607
10952
  color: ${(props) => props.$active ? "#000" : "#fff"};
10608
- border: 1px solid var(--color-accent, #f0b90b);
10953
+ border: 1px solid var(--color-accent, #E6C87E);
10609
10954
  border-radius: 4px;
10610
10955
  padding: 0.4rem 0.8rem;
10611
10956
  font-size: 0.9rem;
@@ -10613,7 +10958,7 @@ var FilterButton = styled9.button`
10613
10958
  transition: all 0.2s;
10614
10959
 
10615
10960
  &:hover {
10616
- background-color: ${(props) => props.$active ? "var(--color-accent, #f0b90b)" : "rgba(240, 185, 11, 0.1)"};
10961
+ background-color: ${(props) => props.$active ? "var(--color-accent, #E6C87E)" : "rgba(240, 185, 11, 0.1)"};
10617
10962
  }
10618
10963
 
10619
10964
  @media (max-width: 768px) {
@@ -10724,7 +11069,7 @@ var TypeBadge2 = styled9.span`
10724
11069
  background-color: ${(props) => {
10725
11070
  switch (props.$type) {
10726
11071
  case "Listed":
10727
- return "var(--color-accent, #f0b90b)";
11072
+ return "var(--color-accent, #E6C87E)";
10728
11073
  case "Sale":
10729
11074
  return "rgba(14, 203, 129, 0.15)";
10730
11075
  case "Leased":
@@ -10936,7 +11281,7 @@ var ComingSoonBadge = styled9.span`
10936
11281
  margin-left: auto;
10937
11282
  padding: 0.25rem 0.5rem;
10938
11283
  background: rgba(212, 175, 55, 0.1);
10939
- color: #D4AF37;
11284
+ color: #E6C87E;
10940
11285
  border-radius: 0.25rem;
10941
11286
  font-size: 0.7rem;
10942
11287
  font-weight: 500;
@@ -11073,8 +11418,8 @@ var SpotsLeft = styled9.span`
11073
11418
  var BookButton = styled9.button`
11074
11419
  padding: 0.4rem 1rem;
11075
11420
  background: transparent;
11076
- border: 1px solid var(--color-accent, #f0b90b);
11077
- color: var(--color-accent, #f0b90b);
11421
+ border: 1px solid var(--color-accent, #E6C87E);
11422
+ color: var(--color-accent, #E6C87E);
11078
11423
  border-radius: 4px;
11079
11424
  font-size: 0.8rem;
11080
11425
  font-weight: 600;
@@ -11135,8 +11480,8 @@ var SignInSub = styled9.div`
11135
11480
  var SignInButton = styled9.button`
11136
11481
  padding: 0.5rem 1.25rem;
11137
11482
  background: transparent;
11138
- border: 1px solid var(--color-accent, #f0b90b);
11139
- color: var(--color-accent, #f0b90b);
11483
+ border: 1px solid var(--color-accent, #E6C87E);
11484
+ color: var(--color-accent, #E6C87E);
11140
11485
  border-radius: 4px;
11141
11486
  font-size: 0.8rem;
11142
11487
  font-weight: 600;
@@ -11259,8 +11604,20 @@ var IPOAssetSelector = styled9.div`
11259
11604
 
11260
11605
  @media (max-width: 768px) {
11261
11606
  flex-wrap: nowrap;
11262
- padding: 0.6rem 0.75rem;
11263
- gap: 0.4rem;
11607
+ gap: 0.5rem;
11608
+ /* Curved ribbon extending down from the nav: the box stretches up UNDER the
11609
+ nav (negative margin) while the content is pushed back down (top padding),
11610
+ so the dark background runs all the way to the nav with no visible top edge.
11611
+ The nav has a higher z-index and covers the overhang. Inset to the nav's width. */
11612
+ margin: -2.25rem 0.25rem 0;
11613
+ padding: 3rem 0.9rem 0.75rem;
11614
+ border: 1px solid rgba(255, 255, 255, 0.08);
11615
+ border-top: none;
11616
+ border-radius: 0 0 14px 14px;
11617
+ background: rgba(20, 24, 31, 0.97);
11618
+ backdrop-filter: blur(12px);
11619
+ box-shadow: 0 10px 24px rgba(0, 0, 0, 0.35);
11620
+ &:hover { box-shadow: 0 10px 24px rgba(0, 0, 0, 0.35); border-color: rgba(255, 255, 255, 0.08); }
11264
11621
  }
11265
11622
  `;
11266
11623
  var AssetThumbnail = styled9.img`
@@ -11272,9 +11629,9 @@ var AssetThumbnail = styled9.img`
11272
11629
  border: 1px solid rgba(255, 255, 255, 0.1);
11273
11630
 
11274
11631
  @media (max-width: 768px) {
11275
- width: 32px;
11276
- height: 32px;
11277
- border-radius: 6px;
11632
+ width: 42px;
11633
+ height: 42px;
11634
+ border-radius: 8px;
11278
11635
  }
11279
11636
  `;
11280
11637
  var AssetSelectorDropdown = styled9.div`
@@ -11305,7 +11662,7 @@ var AssetName = styled9.div`
11305
11662
  }
11306
11663
 
11307
11664
  @media (max-width: 768px) {
11308
- font-size: 1rem;
11665
+ font-size: 1.2rem;
11309
11666
  overflow: hidden;
11310
11667
  text-overflow: ellipsis;
11311
11668
  white-space: nowrap;
@@ -11376,7 +11733,7 @@ var MetricLabel = styled9.span`
11376
11733
  var MetricValue = styled9.span`
11377
11734
  font-size: ${(p) => p.$secondary ? "0.95rem" : "1.25rem"};
11378
11735
  font-weight: ${(p) => p.$secondary ? "600" : "700"};
11379
- color: ${(p) => p.$accent ? "#D4AF37" : p.$secondary ? "rgba(255,255,255,0.7)" : "#fff"};
11736
+ color: ${(p) => p.$accent ? "#E6C87E" : p.$secondary ? "rgba(255,255,255,0.7)" : "#fff"};
11380
11737
 
11381
11738
  @media (max-width: 768px) {
11382
11739
  font-size: ${(p) => p.$secondary ? "0.85rem" : "1.05rem"};
@@ -11621,8 +11978,8 @@ function OfferingProgressCard({
11621
11978
  ] }) : ipoStarted ? /* @__PURE__ */ jsxs(StatusSpan, { $color: "#0ecb81", children: [
11622
11979
  /* @__PURE__ */ jsx(StatusDot3, { $color: "#0ecb81", $pulse: true }),
11623
11980
  "LIVE"
11624
- ] }) : /* @__PURE__ */ jsxs(StatusSpan, { $color: statusColor || "#D4AF37", children: [
11625
- /* @__PURE__ */ jsx(StatusDot3, { $color: statusColor || "#D4AF37" }),
11981
+ ] }) : /* @__PURE__ */ jsxs(StatusSpan, { $color: statusColor || "#E6C87E", children: [
11982
+ /* @__PURE__ */ jsx(StatusDot3, { $color: statusColor || "#E6C87E" }),
11626
11983
  statusLabel || "Preparing"
11627
11984
  ] }) })
11628
11985
  ] }),
@@ -11741,8 +12098,8 @@ function OfferingProgressCard({
11741
12098
  " ",
11742
12099
  "AEST"
11743
12100
  ] })
11744
- ] }) : /* @__PURE__ */ jsxs(StatusSpan, { $color: statusColor || "#D4AF37", children: [
11745
- /* @__PURE__ */ jsx(StatusDot3, { $color: statusColor || "#D4AF37", $pulse: true }),
12101
+ ] }) : /* @__PURE__ */ jsxs(StatusSpan, { $color: statusColor || "#E6C87E", children: [
12102
+ /* @__PURE__ */ jsx(StatusDot3, { $color: statusColor || "#E6C87E", $pulse: true }),
11746
12103
  isPrivateClient ? "PRE-OFFERING" : statusLabel || "PREPARING"
11747
12104
  ] }) })
11748
12105
  ] }),
@@ -11907,7 +12264,7 @@ var MetricLabel2 = styled9.div`
11907
12264
  var MetricValue2 = styled9.div`
11908
12265
  font-size: 1.5rem;
11909
12266
  font-weight: 700;
11910
- color: ${(p) => p.$accent ? "#D4AF37" : "#fff"};
12267
+ color: ${(p) => p.$accent ? "#E6C87E" : "#fff"};
11911
12268
  `;
11912
12269
  var CountdownCenter = styled9.div`
11913
12270
  text-align: center;
@@ -11933,7 +12290,7 @@ var CountdownNumber = styled9.span`
11933
12290
  font-size: 2rem;
11934
12291
  font-weight: 700;
11935
12292
  font-family: monospace;
11936
- color: #D4AF37;
12293
+ color: #E6C87E;
11937
12294
  @media (max-width: 768px) {
11938
12295
  font-size: 1.5rem;
11939
12296
  }
@@ -11974,7 +12331,7 @@ var LiveLabel = styled9.div`
11974
12331
  var LivePercent = styled9.div`
11975
12332
  font-size: 2rem;
11976
12333
  font-weight: 600;
11977
- color: #D4AF37;
12334
+ color: #E6C87E;
11978
12335
  display: flex;
11979
12336
  align-items: center;
11980
12337
  .arrow {
@@ -11988,7 +12345,7 @@ var UnitsValue = styled9.div`
11988
12345
  font-size: clamp(1.25rem, 4vw, 1.75rem);
11989
12346
  font-weight: 700;
11990
12347
  white-space: nowrap;
11991
- span { color: #D4AF37; }
12348
+ span { color: #E6C87E; }
11992
12349
  small { color: rgba(255,255,255,0.3); font-weight: 700; margin-left: 0.35rem; font-size: inherit; }
11993
12350
  `;
11994
12351
  var ProgressBarOuter = styled9.div`
@@ -12001,7 +12358,7 @@ var ProgressBarOuter = styled9.div`
12001
12358
  `;
12002
12359
  var ProgressBarInner = styled9.div`
12003
12360
  height: 100%;
12004
- background: linear-gradient(90deg, #D4AF37, #f0b90b);
12361
+ background: linear-gradient(90deg, #E6C87E, #E6C87E);
12005
12362
  border-radius: 6px;
12006
12363
  transition: width 0.8s cubic-bezier(0.4, 0, 0.2, 1);
12007
12364
  will-change: width;
@@ -12017,7 +12374,7 @@ var ProgressSubscribers = styled9.div`
12017
12374
  `;
12018
12375
  var ProgressAmounts = styled9.div`
12019
12376
  font-weight: 600;
12020
- .raised { color: #D4AF37; }
12377
+ .raised { color: #E6C87E; }
12021
12378
  .target { color: rgba(255,255,255,0.3); }
12022
12379
  `;
12023
12380
  var CompactContainer = styled9.div`
@@ -12064,7 +12421,7 @@ var HomeSpinner = styled9.span`
12064
12421
  width: 14px;
12065
12422
  height: 14px;
12066
12423
  border: 2px solid rgba(255, 255, 255, 0.1);
12067
- border-top-color: var(--color-accent, #f0b90b);
12424
+ border-top-color: var(--color-accent, #E6C87E);
12068
12425
  border-radius: 50%;
12069
12426
  animation: homeSpin 1s linear infinite;
12070
12427
  vertical-align: middle;
@@ -12263,7 +12620,7 @@ function OrderPanel({
12263
12620
  /* @__PURE__ */ jsx("div", { className: "pending-footnote", children: "Your order has been submitted and is being processed. This usually takes a few seconds." })
12264
12621
  ] }) : orderPlacedSuccess ? /* @__PURE__ */ jsxs(OrderSuccessCard, { children: [
12265
12622
  /* @__PURE__ */ jsxs("div", { className: "success-header", children: [
12266
- /* @__PURE__ */ jsx("div", { className: "icon", children: /* @__PURE__ */ jsx("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "#D4AF37", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsx("polyline", { points: "20 6 9 17 4 12" }) }) }),
12623
+ /* @__PURE__ */ jsx("div", { className: "icon", children: /* @__PURE__ */ jsx("svg", { width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "#E6C87E", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsx("polyline", { points: "20 6 9 17 4 12" }) }) }),
12267
12624
  /* @__PURE__ */ jsxs("div", { children: [
12268
12625
  /* @__PURE__ */ jsx("p", { children: "Order Complete" }),
12269
12626
  /* @__PURE__ */ jsxs("small", { children: [
@@ -12645,7 +13002,7 @@ var QuickSelectRow = styled9.div`
12645
13002
  button.active {
12646
13003
  background: rgba(212,175,55,0.2);
12647
13004
  border-color: rgba(212,175,55,0.5);
12648
- color: #D4AF37;
13005
+ color: #E6C87E;
12649
13006
  }
12650
13007
 
12651
13008
  @media (max-width: 480px) {
@@ -12670,7 +13027,7 @@ var DepositButton2 = styled9.button`
12670
13027
  border-radius: 4px;
12671
13028
  padding: 0.25rem 0.5rem;
12672
13029
  font-size: 0.65rem;
12673
- color: #D4AF37;
13030
+ color: #E6C87E;
12674
13031
  cursor: pointer;
12675
13032
  font-weight: 500;
12676
13033
  `;
@@ -12739,11 +13096,11 @@ var SubscribeButton = styled9.button`
12739
13096
  color: #fff;
12740
13097
  }
12741
13098
  &:not([disabled])[data-green='false'] {
12742
- background-color: #D4AF37;
13099
+ background-color: #E6C87E;
12743
13100
  color: #0a0a0a;
12744
13101
  }
12745
13102
  &:not([disabled])[data-verify='true'] {
12746
- background: linear-gradient(135deg, #D4AF37 0%, #b8962e 100%);
13103
+ background: linear-gradient(135deg, #E6C87E 0%, #E6C87E 100%);
12747
13104
  color: #0a0a0a;
12748
13105
  font-weight: 700;
12749
13106
  box-shadow: 0 2px 8px rgba(212,175,55,0.25);
@@ -12788,7 +13145,7 @@ var BalanceValue = styled9.div`
12788
13145
  `;
12789
13146
  var BalanceAction = styled9.div`
12790
13147
  font-size: 0.75rem;
12791
- color: #D4AF37;
13148
+ color: #E6C87E;
12792
13149
  cursor: pointer;
12793
13150
  font-weight: 500;
12794
13151
  margin-top: 0.5rem;
@@ -12829,7 +13186,7 @@ var OrderPendingCard = styled9.div`
12829
13186
  height: 32px;
12830
13187
  border-radius: 50%;
12831
13188
  border: 2.5px solid rgba(212,175,55,0.15);
12832
- border-top-color: #D4AF37;
13189
+ border-top-color: #E6C87E;
12833
13190
  animation: spin 0.8s linear infinite;
12834
13191
  flex-shrink: 0;
12835
13192
  }
@@ -12981,7 +13338,7 @@ var OrderSuccessCard = styled9.div`
12981
13338
  strong {
12982
13339
  font-size: 1.05rem;
12983
13340
  font-weight: 700;
12984
- color: #D4AF37;
13341
+ color: #E6C87E;
12985
13342
  font-family: monospace;
12986
13343
  }
12987
13344
  }
@@ -13000,7 +13357,7 @@ var OrderSuccessCard = styled9.div`
13000
13357
  font-weight: 600;
13001
13358
  font-size: 0.9rem;
13002
13359
  cursor: pointer;
13003
- background: linear-gradient(135deg, #D4AF37 0%, #b8962e 100%);
13360
+ background: linear-gradient(135deg, #E6C87E 0%, #E6C87E 100%);
13004
13361
  color: #0a0a0a;
13005
13362
  border: none;
13006
13363
  box-shadow: 0 2px 8px rgba(212,175,55,0.25);
@@ -13310,7 +13667,7 @@ var Badge2 = styled9.span`
13310
13667
  text-transform: uppercase;
13311
13668
  letter-spacing: 0.5px;
13312
13669
  background: linear-gradient(135deg, rgba(212,175,55,0.2) 0%, rgba(212,175,55,0.1) 100%);
13313
- color: #D4AF37;
13670
+ color: #E6C87E;
13314
13671
  border: 1px solid rgba(212,175,55,0.3);
13315
13672
  `;
13316
13673
  var ModalBody = styled9.div`
@@ -13337,7 +13694,7 @@ var ModalRow = styled9.div`
13337
13694
  font-size: 0.95rem;
13338
13695
  }
13339
13696
  strong[data-highlight='true'] {
13340
- color: #D4AF37;
13697
+ color: #E6C87E;
13341
13698
  font-weight: 600;
13342
13699
  }
13343
13700
  `;
@@ -13459,7 +13816,7 @@ var PrimaryButton = styled9(BaseButton)`
13459
13816
 
13460
13817
  // src/components/property-buy/constants.ts
13461
13818
  var STATUS_COLOR2 = {
13462
- PENDING: "#D4AF37",
13819
+ PENDING: "#E6C87E",
13463
13820
  LIVE: "#0ecb81",
13464
13821
  CLOSED: "#848e9c",
13465
13822
  CANCELLED: "#f6465d"
@@ -13497,7 +13854,7 @@ var getOrderStatusMeta = (statusRaw) => {
13497
13854
  if (status === "CANCELLED" || status === "CANCELED" || status === "REJECTED") {
13498
13855
  return { color: "#f6465d", bg: "rgba(246,70,93,0.12)" };
13499
13856
  }
13500
- return { color: "#f0b90b", bg: "rgba(240,185,11,0.15)" };
13857
+ return { color: "#E6C87E", bg: "rgba(240,185,11,0.15)" };
13501
13858
  };
13502
13859
  function EditableField({ value, onCommit, format }) {
13503
13860
  const [editing, setEditing] = useState(false);
@@ -14076,7 +14433,7 @@ function PortfolioActivityPanel({
14076
14433
  const isFailed = s === "SETTLEMENT_FAILED" || s === "REJECTED" || s === "CANCELLED" || s === "CANCELED";
14077
14434
  const isSettling = !isSettled && !isFailed && !!trade.status;
14078
14435
  const settlementLabel = isSettled ? "Settled" : isFailed ? "Settlement Failed" : isSettling ? prettyLabel(trade.status) : "\u2014";
14079
- const settlementMeta = isSettled ? { color: "#0ecb81", bg: "rgba(14,203,129,0.1)" } : isFailed ? { color: "#f6465d", bg: "rgba(246,70,93,0.12)" } : isSettling ? { color: "#f0b90b", bg: "rgba(240,185,11,0.15)" } : null;
14436
+ const settlementMeta = isSettled ? { color: "#0ecb81", bg: "rgba(14,203,129,0.1)" } : isFailed ? { color: "#f6465d", bg: "rgba(246,70,93,0.12)" } : isSettling ? { color: "#E6C87E", bg: "rgba(240,185,11,0.15)" } : null;
14080
14437
  return /* @__PURE__ */ jsxs(GridRow, { $columns: "1.2fr 0.6fr 0.8fr 1fr 1fr 1fr 1fr 36px", children: [
14081
14438
  /* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(CellText, { $primary: true, children: trade.tokenName }) }),
14082
14439
  /* @__PURE__ */ jsx(GridCell, { children: /* @__PURE__ */ jsx(SideBadge, { $side: sideLabel(trade.side), children: sideLabel(trade.side) }) }),
@@ -14211,6 +14568,11 @@ var PanelTitle = styled9.h3`
14211
14568
  font-weight: 600;
14212
14569
  color: var(--color-text, #fff);
14213
14570
  margin: 0 0 0.75rem;
14571
+ padding-left: 1rem;
14572
+ /* Redundant on mobile — the tab row already says what this is. Reclaim the space. */
14573
+ @media (max-width: 768px) {
14574
+ display: none;
14575
+ }
14214
14576
  `;
14215
14577
  var TabContainer = styled9.div`
14216
14578
  display: flex;
@@ -14951,9 +15313,9 @@ function PropertyBuy({
14951
15313
  const ipoStarted = ipoStatus === "LIVE" || isPrivateClient && ipoStatus === "PENDING";
14952
15314
  const ipoEnded = ipoStatus === "CLOSED" || ipoStatus === "CANCELLED";
14953
15315
  const statusLabel = ipoStatus === "PENDING" ? "Preparing" : ipoStatus;
14954
- const statusColor = STATUS_COLOR2[ipoStatus] ?? "#D4AF37";
15316
+ const statusColor = STATUS_COLOR2[ipoStatus] ?? "#E6C87E";
14955
15317
  const displayStatusLabel = isPrivateClient && ipoStatus !== "LIVE" ? "Private Client Access" : statusLabel;
14956
- const displayStatusColor = isPrivateClient && ipoStatus !== "LIVE" ? "#D4AF37" : statusColor;
15318
+ const displayStatusColor = isPrivateClient && ipoStatus !== "LIVE" ? "#E6C87E" : statusColor;
14957
15319
  const rawSpend = manualOrderAmount !== null ? manualOrderAmount : sliderValue === 100 ? Math.floor(availableBalance / (1 + feeRate)) : Math.round(sliderValue / 100 * availableBalance);
14958
15320
  const tokenQuantity = Math.floor(rawSpend / tokenPrice);
14959
15321
  const feeInUsd = tokenQuantity * tokenPrice * feeRate;
@@ -15096,6 +15458,7 @@ function PropertyBuy({
15096
15458
  tradeHistory: portfolioActivity?.tradeHistory,
15097
15459
  transfers: portfolioActivity?.transfers,
15098
15460
  onCancelOrder: portfolioActivity?.onCancelOrder,
15461
+ onCancelAllOrders: portfolioActivity?.onCancelAllOrders,
15099
15462
  onClosePosition: portfolioActivity?.onClosePosition,
15100
15463
  cancellingOrderId: portfolioActivity?.cancellingOrderId,
15101
15464
  defaultTab: "subscriptions",
@@ -15375,7 +15738,7 @@ var RecentOrderPanel = styled9.div`
15375
15738
  height: 40px;
15376
15739
  border-radius: 50%;
15377
15740
  border: 2px solid rgba(212,175,55,0.3);
15378
- border-top-color: #D4AF37;
15741
+ border-top-color: #E6C87E;
15379
15742
  animation: roaSpin 1s linear infinite;
15380
15743
  }
15381
15744
 
@@ -15532,7 +15895,7 @@ var PaymentMethodDetails = styled9.div`
15532
15895
  }
15533
15896
  `;
15534
15897
  var ConfirmButton = styled9.button`
15535
- background: ${(props) => props.disabled ? "rgba(255, 255, 255, 0.1)" : "linear-gradient(to right, #d4af37, #f2d35b)"};
15898
+ background: ${(props) => props.disabled ? "rgba(255, 255, 255, 0.1)" : "linear-gradient(to right, #E6C87E, #f2d35b)"};
15536
15899
  border: none;
15537
15900
  border-radius: 8px;
15538
15901
  padding: 0.75rem 1.5rem;
@@ -15543,7 +15906,7 @@ var ConfirmButton = styled9.button`
15543
15906
  transition: all 0.2s;
15544
15907
 
15545
15908
  &:hover {
15546
- background: ${(props) => props.disabled ? "rgba(255, 255, 255, 0.1)" : "linear-gradient(to right, #f2d35b, #d4af37)"};
15909
+ background: ${(props) => props.disabled ? "rgba(255, 255, 255, 0.1)" : "linear-gradient(to right, #f2d35b, #E6C87E)"};
15547
15910
  transform: ${(props) => props.disabled ? "none" : "translateY(-2px)"};
15548
15911
  }
15549
15912
  `;
@@ -15616,7 +15979,7 @@ function PaymentPopup({
15616
15979
  ] }),
15617
15980
  /* @__PURE__ */ jsx("h4", { className: "text-[1.2rem] m-0 mb-4 text-white", children: "Select Payment Method" }),
15618
15981
  /* @__PURE__ */ jsxs(PaymentOption, { $isSelected: selectedPaymentMethod === "tokens", onClick: () => setSelectedPaymentMethod("tokens"), children: [
15619
- /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center w-10 h-10 rounded-full bg-white/10 mr-4", style: { color: "#d4af37" }, children: /* @__PURE__ */ jsx(BiCoin, { size: 24 }) }),
15982
+ /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center w-10 h-10 rounded-full bg-white/10 mr-4", style: { color: "#E6C87E" }, children: /* @__PURE__ */ jsx(BiCoin, { size: 24 }) }),
15620
15983
  /* @__PURE__ */ jsxs("div", { className: "flex-1", children: [
15621
15984
  /* @__PURE__ */ jsx("div", { className: "font-semibold mb-1", children: "Loaf Tokens" }),
15622
15985
  /* @__PURE__ */ jsx("div", { className: "text-[0.85rem] text-white/70", children: "Pay with your Loaf token balance" })
@@ -15997,9 +16360,9 @@ var OwnerBooking = ({ propertyName, token }) => {
15997
16360
  ),
15998
16361
  /* @__PURE__ */ jsx(DateSelectorDropdown, { $isOpen: isDateSelectorOpen, children: /* @__PURE__ */ jsxs("div", { className: "p-3", children: [
15999
16362
  /* @__PURE__ */ jsxs("div", { className: "flex justify-between items-center mb-[0.6rem]", children: [
16000
- /* @__PURE__ */ jsx("button", { onClick: () => changeYear(-1), className: "bg-none border-none text-[#d4af37] text-[1.1rem] cursor-pointer px-2 py-1 transition-colors duration-200 hover:text-[#f2d35b]", children: "<" }),
16363
+ /* @__PURE__ */ jsx("button", { onClick: () => changeYear(-1), className: "bg-none border-none text-[#E6C87E] text-[1.1rem] cursor-pointer px-2 py-1 transition-colors duration-200 hover:text-[#f2d35b]", children: "<" }),
16001
16364
  /* @__PURE__ */ jsx("span", { className: "text-white text-base", children: selectorYear }),
16002
- /* @__PURE__ */ jsx("button", { onClick: () => changeYear(1), className: "bg-none border-none text-[#d4af37] text-[1.1rem] cursor-pointer px-2 py-1 transition-colors duration-200 hover:text-[#f2d35b]", children: ">" })
16365
+ /* @__PURE__ */ jsx("button", { onClick: () => changeYear(1), className: "bg-none border-none text-[#E6C87E] text-[1.1rem] cursor-pointer px-2 py-1 transition-colors duration-200 hover:text-[#f2d35b]", children: ">" })
16003
16366
  ] }),
16004
16367
  /* @__PURE__ */ jsx("h4", { className: "m-0 mt-[0.65rem] mb-[0.4rem] text-[0.85rem] uppercase tracking-[0.08em] text-[rgba(212,175,55,0.9)]", children: "Select Month" }),
16005
16368
  /* @__PURE__ */ jsx("div", { className: "grid grid-cols-3 gap-2", children: monthNames.map((month, index) => /* @__PURE__ */ jsx(
@@ -16015,8 +16378,8 @@ var OwnerBooking = ({ propertyName, token }) => {
16015
16378
  ] })
16016
16379
  ] }),
16017
16380
  /* @__PURE__ */ jsxs("div", { className: "flex gap-2 items-center flex-wrap", children: [
16018
- /* @__PURE__ */ jsx("button", { onClick: () => shiftMonth("prev"), className: "bg-[rgba(212,175,55,0.15)] border-none rounded-md text-[#d4af37] w-8 h-8 flex items-center justify-center cursor-pointer transition-colors duration-200 hover:bg-[rgba(212,175,55,0.3)]", children: "<" }),
16019
- /* @__PURE__ */ jsx("button", { onClick: () => shiftMonth("next"), className: "bg-[rgba(212,175,55,0.15)] border-none rounded-md text-[#d4af37] w-8 h-8 flex items-center justify-center cursor-pointer transition-colors duration-200 hover:bg-[rgba(212,175,55,0.3)]", children: ">" }),
16381
+ /* @__PURE__ */ jsx("button", { onClick: () => shiftMonth("prev"), className: "bg-[rgba(212,175,55,0.15)] border-none rounded-md text-[#E6C87E] w-8 h-8 flex items-center justify-center cursor-pointer transition-colors duration-200 hover:bg-[rgba(212,175,55,0.3)]", children: "<" }),
16382
+ /* @__PURE__ */ jsx("button", { onClick: () => shiftMonth("next"), className: "bg-[rgba(212,175,55,0.15)] border-none rounded-md text-[#E6C87E] w-8 h-8 flex items-center justify-center cursor-pointer transition-colors duration-200 hover:bg-[rgba(212,175,55,0.3)]", children: ">" }),
16020
16383
  /* @__PURE__ */ jsx("button", { onClick: jumpToNextAvailable, className: "bg-[rgba(212,175,55,0.18)] border border-[rgba(212,175,55,0.4)] rounded-md text-[#f2d35b] px-3 py-[0.35rem] text-[0.85rem] cursor-pointer whitespace-nowrap transition-all duration-200 hover:bg-[rgba(212,175,55,0.3)]", children: "Next Available Date" })
16021
16384
  ] })
16022
16385
  ] }),
@@ -16182,7 +16545,7 @@ var OwnerBooking = ({ propertyName, token }) => {
16182
16545
  " nights"
16183
16546
  ] }),
16184
16547
  /* @__PURE__ */ jsxs("div", { className: "text-right", children: [
16185
- /* @__PURE__ */ jsxs("div", { className: "text-[0.95rem] font-semibold text-[#d4af37]", children: [
16548
+ /* @__PURE__ */ jsxs("div", { className: "text-[0.95rem] font-semibold text-[#E6C87E]", children: [
16186
16549
  range.tokens.toFixed(4),
16187
16550
  " Elara"
16188
16551
  ] }),
@@ -16223,7 +16586,7 @@ var OwnerBooking = ({ propertyName, token }) => {
16223
16586
  {
16224
16587
  onClick: () => setIsPaymentPopupOpen(true),
16225
16588
  className: "mt-2 w-full border-none rounded-xl p-4 text-base font-semibold text-black cursor-pointer transition-all duration-200 hover:-translate-y-0.5 hover:shadow-[0_12px_30px_rgba(212,175,55,0.3)]",
16226
- style: { background: "linear-gradient(90deg, #d4af37, #f2d35b)" },
16589
+ style: { background: "linear-gradient(90deg, #E6C87E, #f2d35b)" },
16227
16590
  children: "Confirm Reservation"
16228
16591
  }
16229
16592
  )
@@ -16266,8 +16629,8 @@ var DateSelectorDropdown = styled9.div`
16266
16629
  var MonthButton = styled9.button`
16267
16630
  background: ${({ $isSelected }) => $isSelected ? "rgba(212, 175, 55, 0.2)" : "transparent"};
16268
16631
  border: 1px solid
16269
- ${({ $isSelected }) => $isSelected ? "#d4af37" : "rgba(255, 255, 255, 0.12)"};
16270
- color: ${({ $isSelected }) => $isSelected ? "#d4af37" : "#fff"};
16632
+ ${({ $isSelected }) => $isSelected ? "#E6C87E" : "rgba(255, 255, 255, 0.12)"};
16633
+ color: ${({ $isSelected }) => $isSelected ? "#E6C87E" : "#fff"};
16271
16634
  border-radius: 6px;
16272
16635
  padding: 0.4rem 0;
16273
16636
  cursor: pointer;
@@ -16352,7 +16715,7 @@ var ReservationCard = styled9.div`
16352
16715
  var ActionButton = styled9.button`
16353
16716
  background: none;
16354
16717
  border: none;
16355
- color: ${({ $variant }) => $variant === "danger" ? "#ff7676" : "#d4af37"};
16718
+ color: ${({ $variant }) => $variant === "danger" ? "#ff7676" : "#E6C87E"};
16356
16719
  cursor: pointer;
16357
16720
  padding: 0.25rem;
16358
16721
  display: inline-flex;
@@ -16368,7 +16731,7 @@ var musgraveComparisonData = {
16368
16731
  datasets: [
16369
16732
  {
16370
16733
  name: "Musgrave",
16371
- color: "#D4AF37",
16734
+ color: "#E6C87E",
16372
16735
  data: [100, 115, 125, 118, 130, 145, 155, 165, 180, 195, 210, 225, 240, 225, 235, 231, 265, 285, 300, 310, 320]
16373
16736
  },
16374
16737
  {
@@ -16471,7 +16834,7 @@ function PropertyValuation({
16471
16834
  const year = musgraveComparisonData.labels[ctx.dataIndex];
16472
16835
  if (year === "2006") return "#4CAF50";
16473
16836
  if (year === "2021") return "#FF5722";
16474
- if (year === "2026") return "#D4AF37";
16837
+ if (year === "2026") return "#E6C87E";
16475
16838
  }
16476
16839
  return dataset.color;
16477
16840
  },
@@ -16495,13 +16858,13 @@ function PropertyValuation({
16495
16858
  return /* @__PURE__ */ jsxs("div", { children: [
16496
16859
  /* @__PURE__ */ jsx(ValuationHeading, { children: "Valuation Model" }),
16497
16860
  /* @__PURE__ */ jsxs(LoafPricingSection, { children: [
16498
- /* @__PURE__ */ jsx("h2", { style: { color: "#D4AF37", marginBottom: "0" }, children: "Loaf Pricing Model" }),
16861
+ /* @__PURE__ */ jsx("h2", { style: { color: "#E6C87E", marginBottom: "0" }, children: "Loaf Pricing Model" }),
16499
16862
  /* @__PURE__ */ jsx(BlurredContent, { children: /* @__PURE__ */ jsxs(PricingModelCard, { children: [
16500
16863
  /* @__PURE__ */ jsxs(PricingModelHeader, { children: [
16501
16864
  /* @__PURE__ */ jsx(PricingModelTitle, { children: propertyTitle }),
16502
16865
  /* @__PURE__ */ jsxs("div", { style: { textAlign: "right" }, children: [
16503
16866
  /* @__PURE__ */ jsx("div", { style: { fontSize: "0.75rem", color: "rgba(255,255,255,0.7)" }, children: "Valuation as of" }),
16504
- /* @__PURE__ */ jsx("div", { style: { color: "#D4AF37", fontWeight: "600" }, children: (valSummary?.valuationAsOf ? new Date(valSummary.valuationAsOf) : /* @__PURE__ */ new Date()).toLocaleDateString("en-US", { day: "2-digit", month: "short", year: "numeric" }) }),
16867
+ /* @__PURE__ */ jsx("div", { style: { color: "#E6C87E", fontWeight: "600" }, children: (valSummary?.valuationAsOf ? new Date(valSummary.valuationAsOf) : /* @__PURE__ */ new Date()).toLocaleDateString("en-US", { day: "2-digit", month: "short", year: "numeric" }) }),
16505
16868
  /* @__PURE__ */ jsxs("div", { style: { fontSize: "0.75rem", color: "rgba(255,255,255,0.7)" }, children: [
16506
16869
  (valSummary?.valuationAsOf ? new Date(valSummary.valuationAsOf) : /* @__PURE__ */ new Date()).toLocaleTimeString("en-AU", { hour: "2-digit", minute: "2-digit", second: "2-digit", hour12: false, timeZone: "Australia/Sydney" }),
16507
16870
  " AEST"
@@ -16521,7 +16884,7 @@ function PropertyValuation({
16521
16884
  valSummary.confidence
16522
16885
  ] })
16523
16886
  ] }),
16524
- /* @__PURE__ */ jsx(PricingDetailValue, { style: { color: "#D4AF37", fontWeight: "bold" }, children: valSummary?.fairValue != null ? /* @__PURE__ */ jsxs(Fragment, { children: [
16887
+ /* @__PURE__ */ jsx(PricingDetailValue, { style: { color: "#E6C87E", fontWeight: "bold" }, children: valSummary?.fairValue != null ? /* @__PURE__ */ jsxs(Fragment, { children: [
16525
16888
  `$${valSummary.fairValue.toLocaleString(void 0, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}`,
16526
16889
  totalUnits > 0 && /* @__PURE__ */ jsxs("span", { style: { fontSize: "0.85em", fontWeight: "normal", opacity: 0.8 }, children: [
16527
16890
  " ($",
@@ -16541,9 +16904,9 @@ function PropertyValuation({
16541
16904
  padding: "10px 16px",
16542
16905
  border: "1px solid rgba(212, 175, 55, 0.2)"
16543
16906
  }, children: [
16544
- /* @__PURE__ */ jsx("span", { style: { color: "#D4AF37", fontWeight: "600" }, children: valSummary?.valuationStatus ?? "Fair Value" }),
16907
+ /* @__PURE__ */ jsx("span", { style: { color: "#E6C87E", fontWeight: "600" }, children: valSummary?.valuationStatus ?? "Fair Value" }),
16545
16908
  /* @__PURE__ */ jsx("div", { style: {
16546
- background: "linear-gradient(135deg, #D4AF37 0%, #B8960C 100%)",
16909
+ background: "linear-gradient(135deg, #E6C87E 0%, #B8960C 100%)",
16547
16910
  color: "white",
16548
16911
  padding: "5px 12px",
16549
16912
  borderRadius: "20px",
@@ -16600,7 +16963,7 @@ function PropertyValuation({
16600
16963
  /* @__PURE__ */ jsxs(ValuationIndicator, { children: [
16601
16964
  /* @__PURE__ */ jsxs(ValuationHeader, { children: [
16602
16965
  /* @__PURE__ */ jsx(ValuationTitle, { style: { color: "#4CAF50" }, children: "Undervalued" }),
16603
- /* @__PURE__ */ jsx(ValuationTitle, { style: { color: "#D4AF37" }, children: "Fair Value" }),
16966
+ /* @__PURE__ */ jsx(ValuationTitle, { style: { color: "#E6C87E" }, children: "Fair Value" }),
16604
16967
  /* @__PURE__ */ jsx(ValuationTitle, { style: { color: "#F44336" }, children: "Overvalued" })
16605
16968
  ] }),
16606
16969
  /* @__PURE__ */ jsxs(ValuationGauge, { children: [
@@ -16608,7 +16971,7 @@ function PropertyValuation({
16608
16971
  /* @__PURE__ */ jsx(GaugeIndicator, { $position: gaugePosition }),
16609
16972
  /* @__PURE__ */ jsxs(GaugePriceTag, { $position: gaugePosition, children: [
16610
16973
  /* @__PURE__ */ jsx("span", { children: "IPO Price" }),
16611
- /* @__PURE__ */ jsx("span", { style: { color: "#D4AF37" }, children: tokenPriceValue != null ? `$${tokenPriceValue.toLocaleString(void 0, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}` : /* @__PURE__ */ jsx(Skeleton, { width: 60, height: 12 }) })
16974
+ /* @__PURE__ */ jsx("span", { style: { color: "#E6C87E" }, children: tokenPriceValue != null ? `$${tokenPriceValue.toLocaleString(void 0, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}` : /* @__PURE__ */ jsx(Skeleton, { width: 60, height: 12 }) })
16612
16975
  ] })
16613
16976
  ] }),
16614
16977
  /* @__PURE__ */ jsxs(ValuationDetails, { children: [
@@ -16623,7 +16986,7 @@ function PropertyValuation({
16623
16986
  "m)"
16624
16987
  ] })
16625
16988
  ] }) : /* @__PURE__ */ jsx(Skeleton, { width: 90, height: 16 }) }) }),
16626
- /* @__PURE__ */ jsx(ValuationItem, { children: /* @__PURE__ */ jsx(ValuationValue, { style: { color: "#D4AF37" }, children: tokenPriceValue != null ? /* @__PURE__ */ jsxs(Fragment, { children: [
16989
+ /* @__PURE__ */ jsx(ValuationItem, { children: /* @__PURE__ */ jsx(ValuationValue, { style: { color: "#E6C87E" }, children: tokenPriceValue != null ? /* @__PURE__ */ jsxs(Fragment, { children: [
16627
16990
  /* @__PURE__ */ jsx("span", { children: `$${tokenPriceValue.toLocaleString(void 0, { minimumFractionDigits: 2, maximumFractionDigits: 2 })}` }),
16628
16991
  totalUnits > 0 && /* @__PURE__ */ jsxs("span", { style: { fontSize: "0.8rem", fontWeight: "normal", color: "rgba(255,255,255,0.6)" }, children: [
16629
16992
  "($",
@@ -16683,8 +17046,8 @@ function PropertyValuation({
16683
17046
  {
16684
17047
  $active: hoveredSaleYear === marker.year,
16685
17048
  style: {
16686
- backgroundColor: marker.year === "2006" ? "#4CAF50" : marker.year === "2021" ? "#FF5722" : "#D4AF37",
16687
- boxShadow: hoveredSaleYear === marker.year ? `0 0 12px ${marker.year === "2006" ? "#4CAF50" : marker.year === "2021" ? "#FF5722" : "#D4AF37"}` : "none"
17049
+ backgroundColor: marker.year === "2006" ? "#4CAF50" : marker.year === "2021" ? "#FF5722" : "#E6C87E",
17050
+ boxShadow: hoveredSaleYear === marker.year ? `0 0 12px ${marker.year === "2006" ? "#4CAF50" : marker.year === "2021" ? "#FF5722" : "#E6C87E"}` : "none"
16688
17051
  }
16689
17052
  }
16690
17053
  ),
@@ -16866,7 +17229,7 @@ var ValuationGauge = styled9.div`
16866
17229
  var GaugeBackground = styled9.div`
16867
17230
  height: 8px;
16868
17231
  border-radius: 4px;
16869
- background: linear-gradient(to right, #4CAF50 0%, #4CAF50 33%, #D4AF37 33%, #D4AF37 66%, #F44336 66%, #F44336 100%);
17232
+ background: linear-gradient(to right, #4CAF50 0%, #4CAF50 33%, #E6C87E 33%, #E6C87E 66%, #F44336 66%, #F44336 100%);
16870
17233
  `;
16871
17234
  var GaugeIndicator = styled9.div`
16872
17235
  position: absolute;
@@ -16875,7 +17238,7 @@ var GaugeIndicator = styled9.div`
16875
17238
  transform: translateX(-50%);
16876
17239
  width: 3px;
16877
17240
  height: 30px;
16878
- background: #D4AF37;
17241
+ background: #E6C87E;
16879
17242
  border-radius: 2px;
16880
17243
  `;
16881
17244
  var GaugePriceTag = styled9.div`
@@ -17080,7 +17443,7 @@ var FeatureTooltip = styled9.div`
17080
17443
  max-width: 220px;
17081
17444
  padding: 0.65rem 0.85rem;
17082
17445
  border-radius: 10px;
17083
- border: 1px solid var(--color-accent, #f0b90b);
17446
+ border: 1px solid var(--color-accent, #E6C87E);
17084
17447
  background: rgba(20, 23, 29, 0.95);
17085
17448
  color: white;
17086
17449
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.35);
@@ -17093,7 +17456,7 @@ var FeatureTooltip = styled9.div`
17093
17456
  h4 {
17094
17457
  margin: 0 0 0.2rem;
17095
17458
  font-size: 0.9rem;
17096
- color: var(--color-accent, #f0b90b);
17459
+ color: var(--color-accent, #E6C87E);
17097
17460
  font-weight: 600;
17098
17461
  }
17099
17462
 
@@ -17194,12 +17557,27 @@ var MainImage = styled9.img`
17194
17557
  opacity: ${(p) => p.$visible ? 1 : 0};
17195
17558
  pointer-events: ${(p) => p.$visible ? "auto" : "none"};
17196
17559
  transition: opacity 300ms ease;
17560
+ /* Inset box excludes the bottom thumbnail strip so margin:auto centres the image in the
17561
+ space ABOVE the thumbnails (absolute ignores the parent's padding). */
17197
17562
  position: absolute;
17198
- inset: 0;
17563
+ top: 24px;
17564
+ left: 24px;
17565
+ right: 24px;
17566
+ bottom: 120px;
17199
17567
  margin: auto;
17200
17568
 
17569
+ /* Desktop: keep the image from dominating the viewport (incl. 14"/16" MacBooks). */
17570
+ @media (min-width: 769px) {
17571
+ max-width: 72%;
17572
+ max-height: 84%;
17573
+ }
17574
+
17201
17575
  @media (max-width: 768px) {
17202
17576
  max-width: 100%;
17577
+ left: 0;
17578
+ right: 0;
17579
+ top: 12px;
17580
+ bottom: 64px;
17203
17581
  }
17204
17582
  `;
17205
17583
  var Hotspot = styled9.button`
@@ -17209,7 +17587,7 @@ var Hotspot = styled9.button`
17209
17587
  border-radius: 50%;
17210
17588
  border: none;
17211
17589
  cursor: pointer;
17212
- background: var(--color-accent, #f0b90b);
17590
+ background: var(--color-accent, #E6C87E);
17213
17591
  color: #0b0e13;
17214
17592
  transform: translate(-50%, -50%);
17215
17593
  opacity: ${(p) => p.$visible ? 1 : 0};
@@ -17232,6 +17610,10 @@ var ThumbnailStrip = styled9.div`
17232
17610
  overflow-x: auto;
17233
17611
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.9) 0%, transparent 100%);
17234
17612
 
17613
+ /* Hide the native scrollbar — still scrollable via drag/trackpad. */
17614
+ scrollbar-width: none;
17615
+ &::-webkit-scrollbar { display: none; }
17616
+
17235
17617
  @media (max-width: 768px) {
17236
17618
  display: none;
17237
17619
  }
@@ -17241,7 +17623,7 @@ var Thumbnail3 = styled9.button`
17241
17623
  height: 64px;
17242
17624
  border-radius: 6px;
17243
17625
  overflow: hidden;
17244
- border: 2px solid ${(p) => p.$active ? "var(--color-accent, #f0b90b)" : "transparent"};
17626
+ border: 2px solid ${(p) => p.$active ? "var(--color-accent, #E6C87E)" : "transparent"};
17245
17627
  opacity: ${(p) => p.$active ? 1 : 0.45};
17246
17628
  transition: all 0.2s ease;
17247
17629
  background: transparent;
@@ -17278,21 +17660,8 @@ var NavigationButton = styled9.button`
17278
17660
  }
17279
17661
  `;
17280
17662
  var SliderContainer = styled9.div`
17281
- position: absolute;
17282
- bottom: 110px;
17283
- left: 50%;
17284
- transform: translateX(-50%);
17285
- width: min(860px, 90%);
17286
- background: rgba(0, 0, 0, 0.8);
17287
- border-radius: 16px;
17288
- padding: 0.75rem 1.5rem;
17289
- backdrop-filter: blur(12px);
17290
- user-select: none;
17291
-
17292
- @media (max-width: 768px) {
17293
- bottom: 70px;
17294
- width: 85%;
17295
- }
17663
+ /* Slider/scrubber removed — navigate via thumbnails + arrows (desktop) or swipe (mobile). */
17664
+ display: none;
17296
17665
  `;
17297
17666
  var SliderTrack = styled9.div`
17298
17667
  position: relative;
@@ -17305,7 +17674,7 @@ var SliderProgress = styled9.div`
17305
17674
  position: absolute;
17306
17675
  inset: 0;
17307
17676
  width: ${(p) => p.$progress}%;
17308
- background: linear-gradient(90deg, var(--color-accent, #f0b90b), rgba(240, 185, 11, 0.5));
17677
+ background: linear-gradient(90deg, var(--color-accent, #E6C87E), rgba(240, 185, 11, 0.5));
17309
17678
  border-radius: inherit;
17310
17679
  `;
17311
17680
  var SliderThumb = styled9.div`
@@ -17316,24 +17685,13 @@ var SliderThumb = styled9.div`
17316
17685
  width: 18px;
17317
17686
  height: 18px;
17318
17687
  border-radius: 50%;
17319
- background: var(--color-accent, #f0b90b);
17688
+ background: var(--color-accent, #E6C87E);
17320
17689
  border: 3px solid white;
17321
17690
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.3);
17322
17691
  `;
17323
17692
  var SliderLabels = styled9.div`
17324
- display: flex;
17325
- justify-content: space-between;
17326
- margin-top: 0.75rem;
17327
- font-size: 0.75rem;
17328
- color: rgba(255, 255, 255, 0.7);
17329
-
17330
- span {
17331
- cursor: pointer;
17332
- }
17333
-
17334
- @media (max-width: 768px) {
17335
- display: none;
17336
- }
17693
+ /* Per-image category labels removed from the fullscreen carousel. */
17694
+ display: none;
17337
17695
  `;
17338
17696
  var MobileDots = styled9.div`
17339
17697
  position: absolute;
@@ -17352,7 +17710,7 @@ var MobileDot = styled9.button`
17352
17710
  height: 8px;
17353
17711
  border-radius: 50%;
17354
17712
  border: none;
17355
- background: ${(p) => p.$active ? "var(--color-accent, #f0b90b)" : "rgba(255,255,255,0.3)"};
17713
+ background: ${(p) => p.$active ? "var(--color-accent, #E6C87E)" : "rgba(255,255,255,0.3)"};
17356
17714
  ${(p) => p.$active && css`
17357
17715
  transform: scale(1.2);
17358
17716
  `}