diff --git a/src/features/ecommerce/EcommercePage.tsx b/src/features/ecommerce/EcommercePage.tsx index aaf32f7..25de322 100644 --- a/src/features/ecommerce/EcommercePage.tsx +++ b/src/features/ecommerce/EcommercePage.tsx @@ -41,6 +41,7 @@ import EcommerceTryOnPanel from "./panels/EcommerceTryOnPanel"; import EcommerceClonePanel from "./panels/EcommerceClonePanel"; import { ecommerceOssScopes, saveUnifiedEcommerceGenerationRecord, deleteEcommerceGenerationRecord } from "./ecommerceGenerationPersistence"; import { downloadResultAsset } from "../workbench/workbenchDownload"; +import type { CloneOutputKey, ProductSetOutputKey } from "./utils/platformRules"; const smartCutoutColorPresets = [ "#ffffff", @@ -270,8 +271,6 @@ interface ProductClonePageProps { } type ProductCloneStatus = "idle" | "ready" | "generating" | "done" | "failed"; -type ProductSetOutputKey = "set" | "detail" | "model" | "video"; -type CloneOutputKey = ProductSetOutputKey | "hot"; type CommerceScenarioKey = "popular" | "poster" | "mainImage" | "scene" | "festival" | "model" | "background" | "retouch" | "salesVideo"; type CloneSetCountKey = "selling" | "white" | "scene"; type CloneModelPanelTab = "scene" | "model"; diff --git a/src/styles/ecommerce-standalone.css b/src/styles/ecommerce-standalone.css index b7a9817..be7ae0b 100644 --- a/src/styles/ecommerce-standalone.css +++ b/src/styles/ecommerce-standalone.css @@ -17437,19 +17437,27 @@ html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[d /* Ecommerce home scenario templates */ html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"]:not(.is-history-detail) .ecom-command-scenario-tabs.ecom-command-mode-tabs { display: flex !important; - align-items: stretch !important; - justify-content: center !important; - gap: 9px !important; - width: min(100%, 1180px) !important; - margin: 0 auto 10px !important; - padding: 5px 0 !important; + align-items: center !important; + justify-content: flex-start !important; + gap: 8px !important; + width: fit-content !important; + max-width: min(100%, 1120px) !important; + margin: 0 auto 12px !important; + padding: 6px !important; + box-sizing: border-box !important; overflow-x: auto !important; + overflow-y: hidden !important; + overscroll-behavior-x: contain !important; scrollbar-width: none !important; scroll-snap-type: x proximity !important; - border: 0 !important; - border-radius: 0 !important; - background: transparent !important; - box-shadow: none !important; + border: 1px solid rgba(30, 189, 219, 0.12) !important; + border-radius: 24px !important; + background: rgba(255, 255, 255, 0.42) !important; + box-shadow: + inset 0 1px 0 rgba(255, 255, 255, 0.68), + 0 10px 28px rgba(16, 115, 204, 0.05) !important; + backdrop-filter: blur(16px) saturate(1.05) !important; + -webkit-backdrop-filter: blur(16px) saturate(1.05) !important; } html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"]:not(.is-history-detail) .ecom-command-scenario-tabs.ecom-command-mode-tabs::-webkit-scrollbar { @@ -17460,20 +17468,20 @@ html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[d --mode-accent: #1073cc; position: relative !important; display: grid !important; - grid-template-columns: 24px minmax(0, 1fr) !important; + grid-template-columns: 22px max-content !important; grid-template-rows: auto !important; align-items: center !important; justify-items: start !important; - gap: 8px !important; + gap: 7px !important; flex: 0 0 auto !important; - width: auto !important; - min-width: 104px !important; + width: max-content !important; + min-width: max-content !important; min-height: 40px !important; - padding: 7px 12px !important; + padding: 7px 14px 7px 10px !important; scroll-snap-align: start !important; border: 1px solid rgba(16, 32, 44, 0.07) !important; - border-radius: 20px !important; - background: rgba(255, 255, 255, 0.6) !important; + border-radius: 18px !important; + background: rgba(255, 255, 255, 0.68) !important; color: rgba(16, 32, 44, 0.68) !important; box-shadow: 0 2px 6px rgba(16, 32, 44, 0.03), @@ -17488,6 +17496,10 @@ html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[d transform 180ms ease !important; } +html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"]:not(.is-history-detail) .ecom-command-scenario-tabs.ecom-command-mode-tabs button.is-open { + padding-right: 28px !important; +} + html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"]:not(.is-history-detail) .ecom-command-scenario-tabs.ecom-command-mode-tabs button:hover { background: rgba(255, 255, 255, 0.86) !important; border-color: color-mix(in srgb, var(--mode-accent) 22%, transparent) !important; @@ -17528,12 +17540,12 @@ html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[d html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"]:not(.is-history-detail) .ecom-command-scenario-tabs .ecom-command-mode-icon { grid-row: auto !important; display: inline-grid !important; - width: 24px !important; - min-width: 24px !important; - height: 24px !important; + width: 22px !important; + min-width: 22px !important; + height: 22px !important; place-items: center !important; border: 0 !important; - border-radius: 8px !important; + border-radius: 7px !important; background: color-mix(in srgb, var(--mode-accent) 10%, rgba(255, 255, 255, 0.9)) !important; color: var(--mode-accent) !important; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8) !important; @@ -17550,14 +17562,14 @@ html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[d html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"]:not(.is-history-detail) .ecom-command-scenario-tabs strong { min-width: 0 !important; - max-width: 88px !important; - overflow: hidden !important; + max-width: none !important; + overflow: visible !important; color: rgba(16, 32, 44, 0.82) !important; font-size: 12.5px !important; font-weight: 760 !important; - letter-spacing: -0.01em !important; - line-height: 1 !important; - text-overflow: ellipsis !important; + letter-spacing: 0 !important; + line-height: 1.1 !important; + text-overflow: clip !important; white-space: nowrap !important; } @@ -17568,8 +17580,8 @@ html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[d html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"]:not(.is-history-detail) .ecom-command-scenario-tabs .ecom-command-scenario-close { position: absolute !important; - top: 4px !important; - right: 4px !important; + top: 50% !important; + right: 7px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; @@ -17579,6 +17591,7 @@ html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[d background: rgba(16, 32, 44, 0.05) !important; color: rgba(16, 32, 44, 0.42) !important; font-size: 9px !important; + transform: translateY(-50%) !important; transition: background 160ms ease, color 160ms ease, @@ -17588,7 +17601,7 @@ html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[d html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"]:not(.is-history-detail) .ecom-command-scenario-tabs .ecom-command-scenario-close:hover { background: rgba(16, 32, 44, 0.1) !important; color: rgba(16, 32, 44, 0.7) !important; - transform: scale(1.08) !important; + transform: translateY(-50%) scale(1.08) !important; } html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"]:not(.is-history-detail) .ecom-command-scenario-scroll-hint { @@ -17741,13 +17754,14 @@ html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[d @media (max-width: 640px) { html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"]:not(.is-history-detail) .ecom-command-scenario-tabs.ecom-command-mode-tabs { width: 100% !important; + padding: 5px !important; margin-bottom: 8px !important; } html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"]:not(.is-history-detail) .ecom-command-scenario-tabs.ecom-command-mode-tabs button { - min-width: 112px !important; + min-width: max-content !important; min-height: 44px !important; - padding: 7px 10px !important; + padding: 7px 12px 7px 9px !important; } html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"]:not(.is-history-detail) .ecom-command-scenario-tabs .ecom-command-mode-icon { @@ -17788,3 +17802,521 @@ html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[d height: 98px !important; } } + +/* Hide the topbar banner background while keeping brand and account in place. */ +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__topbar { + border-bottom: none !important; + background: transparent !important; + background-color: transparent !important; + background-image: none !important; + box-shadow: none !important; + backdrop-filter: none !important; + -webkit-backdrop-filter: none !important; +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__topbar::before, +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__topbar::after { + content: none !important; + display: none !important; +} + +/* Keep topbar transparent and remove any background/border from inner controls. */ +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__brand, +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__brand strong, +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__credits, +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__account button:not(.ecommerce-standalone__login-button):not(.ecommerce-profile-menu__trigger) { + color: #10202c !important; + background: transparent !important; + background-color: transparent !important; + background-image: none !important; + border: none !important; + border-color: transparent !important; + box-shadow: none !important; + backdrop-filter: none !important; + -webkit-backdrop-filter: none !important; +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__brand:hover, +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__account button:not(.ecommerce-standalone__login-button):not(.ecommerce-profile-menu__trigger):hover { + background: transparent !important; + background-color: transparent !important; + background-image: none !important; + box-shadow: none !important; +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__credits { + color: #3a5a6a !important; +} + +/* Topbar composition: quiet brand chip + single account capsule. */ +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__topbar { + padding: 14px clamp(18px, 2.5vw, 30px) !important; +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] { + --ecommerce-workspace-top-offset: 50px; +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__brand { + gap: 10px !important; + min-height: 42px !important; + padding: 5px 12px 5px 6px !important; + border: 1px solid rgba(30, 189, 219, 0.16) !important; + border-radius: 999px !important; + background: rgba(255, 255, 255, 0.62) !important; + box-shadow: 0 12px 34px rgba(16, 115, 204, 0.07) !important; + backdrop-filter: blur(18px) saturate(1.08) !important; + -webkit-backdrop-filter: blur(18px) saturate(1.08) !important; + transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease, background 180ms ease !important; + will-change: opacity, transform, filter !important; +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__brand:hover { + border-color: rgba(30, 189, 219, 0.28) !important; + background: rgba(255, 255, 255, 0.78) !important; + box-shadow: 0 16px 42px rgba(16, 115, 204, 0.1) !important; + transform: translateY(-1px); +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__logo { + width: 34px !important; + height: 34px !important; + border-radius: 12px !important; + box-shadow: 0 8px 18px rgba(16, 115, 204, 0.16) !important; +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__brand strong { + max-width: 168px !important; + overflow: hidden !important; + color: #10202c !important; + font-size: 13px !important; + font-weight: 800 !important; + line-height: 1 !important; + text-overflow: ellipsis !important; + white-space: nowrap !important; +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-profile-menu { + position: relative !important; + gap: 0 !important; +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-profile-menu__trigger { + gap: 10px !important; + min-height: 46px !important; + padding: 4px 6px 4px 14px !important; + border: 1px solid rgba(30, 189, 219, 0.16) !important; + border-radius: 999px !important; + background: rgba(255, 255, 255, 0.66) !important; + box-shadow: 0 12px 34px rgba(16, 115, 204, 0.08) !important; + backdrop-filter: blur(18px) saturate(1.08) !important; + -webkit-backdrop-filter: blur(18px) saturate(1.08) !important; + transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease, background 180ms ease !important; + will-change: opacity, transform, filter !important; +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__topbar[data-scroll-hidden="true"] .ecommerce-standalone__brand, +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__topbar[data-scroll-hidden="true"] .ecommerce-profile-menu__trigger, +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__topbar[data-scroll-hidden="true"] .ecommerce-standalone__login-button { + opacity: 0 !important; + pointer-events: none !important; + filter: blur(4px) saturate(0.96) !important; + transform: translateY(-14px) scale(0.96) !important; + transition: + opacity 160ms ease, + transform 190ms cubic-bezier(0.4, 0, 1, 1), + filter 160ms ease !important; +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__topbar[data-scroll-hidden="false"] .ecommerce-standalone__brand, +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__topbar[data-scroll-hidden="false"] .ecommerce-profile-menu__trigger, +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__topbar[data-scroll-hidden="false"] .ecommerce-standalone__login-button { + opacity: 1 !important; + filter: blur(0) saturate(1) !important; + transform: translateY(0) scale(1) !important; + transition: + opacity 260ms ease 40ms, + transform 360ms cubic-bezier(0.16, 1, 0.3, 1) 40ms, + filter 260ms ease 40ms, + border-color 180ms ease, + box-shadow 180ms ease, + background 180ms ease !important; +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-profile-menu__trigger:hover, +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-profile-menu__trigger[aria-expanded="true"] { + border-color: rgba(30, 189, 219, 0.3) !important; + background: rgba(255, 255, 255, 0.82) !important; + box-shadow: 0 16px 42px rgba(16, 115, 204, 0.12) !important; + transform: translateY(-1px); +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-profile-menu__trigger .ecommerce-standalone__credits { + min-height: auto !important; + padding: 0 !important; + border: 0 !important; + border-radius: 0 !important; + color: #3a5a6a !important; + background: transparent !important; + box-shadow: none !important; + font-size: 12px !important; + font-weight: 800 !important; + letter-spacing: 0 !important; +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-profile-menu__name { + max-width: 82px !important; + overflow: hidden !important; + color: #10202c !important; + font-size: 13px !important; + font-weight: 800 !important; + text-overflow: ellipsis !important; + white-space: nowrap !important; +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-profile-menu__trigger .local-user-avatar--sm { + width: 34px !important; + height: 34px !important; + border: 2px solid rgba(255, 255, 255, 0.86) !important; + border-radius: 999px !important; + box-shadow: + 0 0 0 1px rgba(30, 189, 219, 0.22), + 0 8px 18px rgba(16, 115, 204, 0.16) !important; +} + +@media (max-width: 720px) { + html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__brand strong, + html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-profile-menu__name { + display: none !important; + } + + html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-profile-menu__trigger { + padding-left: 12px !important; + } +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__account button.ecommerce-standalone__login-button { + pointer-events: auto !important; + min-height: 40px !important; + padding: 0 16px !important; + border: 1px solid rgba(30, 189, 219, 0.22) !important; + border-radius: 999px !important; + color: #10202c !important; + background: + linear-gradient(180deg, rgba(255, 255, 255, 0.88), rgba(241, 250, 252, 0.82)) !important; + box-shadow: + 0 10px 26px rgba(16, 115, 204, 0.08), + inset 0 1px 0 rgba(255, 255, 255, 0.92) !important; + font-weight: 700 !important; +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__account button.ecommerce-standalone__login-button:hover { + border-color: rgba(30, 189, 219, 0.38) !important; + background: + linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(232, 250, 253, 0.9)) !important; + box-shadow: + 0 14px 32px rgba(30, 189, 219, 0.14), + inset 0 1px 0 rgba(255, 255, 255, 0.96) !important; + transform: translateY(-1px); +} + +/* Let the workspace surface paint behind the transparent fixed topbar. */ +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__content { + box-sizing: border-box !important; + height: 100dvh !important; + padding-top: 0 !important; +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__page--profile { + box-sizing: border-box !important; + height: 100dvh !important; + padding-top: var(--ecommerce-topbar-height) !important; +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__page--workspace, +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__page--workspace .product-clone-page, +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__page--workspace .product-clone-shell, +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__page--workspace .product-clone-preview.clone-ai-preview { + height: 100% !important; +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__page--workspace .product-clone-page[data-tool="clone"][data-tool="clone"] .clone-ai-preview.clone-ai-preview:has(.ecom-inspiration-lab) { + padding-top: calc(var(--ecommerce-topbar-height) + var(--ecommerce-workspace-top-offset, 50px) + clamp(18px, 2.5vh, 30px)) !important; +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__page--workspace .product-clone-page[data-tool="clone"][data-tool="clone"].is-history-collapsed .ecom-command-history__toggle.ecom-command-history__toggle { + top: calc(var(--ecommerce-topbar-height) + 12px) !important; +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__page--workspace .product-clone-page[data-tool="clone"][data-tool="clone"].is-history-collapsed .ecom-command-history__toggle.ecom-command-history__toggle:hover { + transform: translateY(-2px) scale(1.035) !important; +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__page--workspace .product-clone-page[data-tool="clone"][data-tool="clone"] .ecom-command-history.ecom-command-history { + top: calc(var(--ecommerce-topbar-height) + 18px) !important; + right: 18px !important; + bottom: auto !important; + height: calc(100dvh - var(--ecommerce-topbar-height) - 42px) !important; + width: min(316px, calc(100vw - 72px)) !important; + overflow: hidden !important; + border: 1px solid rgba(30, 189, 219, 0.2) !important; + border-radius: 24px !important; + background: + linear-gradient(180deg, rgba(255, 255, 255, 0.88), rgba(238, 250, 253, 0.82)) !important; + box-shadow: + 0 24px 68px rgba(16, 115, 204, 0.16), + inset 0 1px 0 rgba(255, 255, 255, 0.9) !important; + backdrop-filter: blur(22px) saturate(1.12) !important; + -webkit-backdrop-filter: blur(22px) saturate(1.12) !important; +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__page--workspace .product-clone-page[data-tool="clone"][data-tool="clone"].is-history-collapsed .ecom-command-history.ecom-command-history { + top: calc(var(--ecommerce-topbar-height) + 12px) !important; + right: 18px !important; + bottom: auto !important; + width: 42px !important; + height: 42px !important; + overflow: visible !important; + border: 0 !important; + border-radius: 15px !important; + background: transparent !important; + box-shadow: none !important; + transform: none !important; + backdrop-filter: none !important; + -webkit-backdrop-filter: none !important; +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__page--workspace .product-clone-page[data-tool="clone"][data-tool="clone"] .ecom-command-history__tools { + padding: 14px 14px 10px !important; +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__page--workspace .product-clone-page[data-tool="clone"][data-tool="clone"] .ecom-command-history__heading { + padding-inline: 16px !important; +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__page--workspace .product-clone-page[data-tool="clone"][data-tool="clone"] .ecom-command-history__list { + padding: 10px 12px 16px !important; + overflow: hidden auto !important; +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__page--workspace .product-clone-page[data-tool="clone"][data-tool="clone"].is-history-collapsed .ecom-command-history__toggle.ecom-command-history__toggle { + position: relative !important; + top: auto !important; + right: auto !important; + left: auto !important; + z-index: 130 !important; + width: 42px !important; + height: 42px !important; + min-height: 42px !important; + transform: none !important; +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__page--workspace .product-clone-page[data-tool="clone"][data-tool="clone"].is-history-collapsed .ecom-command-history__tools { + display: block !important; + width: 42px !important; + height: 42px !important; + padding: 0 !important; +} + +/* History overlay final behavior: panel floats above the workspace and never reserves layout space. */ +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__page--workspace .product-clone-page[data-tool="clone"][data-tool="clone"] { + --ecom-history-offset: 0px !important; + --ecom-history-panel-width: 0px !important; + --history-detail-workspace-width: 100vw !important; + padding-right: 0 !important; +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__page--workspace .product-clone-page[data-tool="clone"][data-tool="clone"] > .product-clone-shell.product-clone-shell { + width: 100% !important; + max-width: none !important; + padding-right: 0 !important; + filter: none !important; + opacity: 1 !important; + transform: none !important; + pointer-events: auto !important; + user-select: auto !important; +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__page--workspace .product-clone-page[data-tool="clone"][data-tool="clone"] .product-clone-preview.clone-ai-preview { + width: 100% !important; + max-width: none !important; +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__page--workspace .product-clone-page[data-tool="clone"][data-tool="clone"].is-history-detail .ecom-command-composer-wrap.has-generated.is-compact { + left: 50vw !important; + width: min(760px, calc(100vw - clamp(48px, 8vw, 96px))) !important; +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__page--workspace .product-clone-page[data-tool="clone"][data-tool="clone"].is-history-detail .clone-ai-canvas-node:not(.is-generating) { + max-width: min(860px, calc(100vw - 80px)) !important; +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__page--workspace .product-clone-page[data-tool="clone"][data-tool="clone"] .ecom-command-history__backdrop { + background: rgba(16, 38, 56, 0.08) !important; + backdrop-filter: none !important; + -webkit-backdrop-filter: none !important; + animation: ecommerce-soft-scrim-in 180ms ease-out both !important; +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__page--workspace .product-clone-page[data-tool="clone"][data-tool="clone"] .ecom-command-history.ecom-command-history { + position: fixed !important; + z-index: 130 !important; + opacity: 1 !important; + transform: translateX(0) scale(1) !important; + transform-origin: top right !important; + transition: + opacity 240ms ease, + top 360ms cubic-bezier(0.22, 0.61, 0.36, 1), + width 360ms cubic-bezier(0.22, 0.61, 0.36, 1), + height 360ms cubic-bezier(0.22, 0.61, 0.36, 1), + border-radius 360ms cubic-bezier(0.22, 0.61, 0.36, 1), + border-color 220ms ease, + background 220ms ease, + transform 360ms cubic-bezier(0.22, 0.61, 0.36, 1), + box-shadow 260ms ease !important; + will-change: opacity, transform !important; + animation: none !important; +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__page--workspace .product-clone-page[data-tool="clone"][data-tool="clone"].is-history-collapsed .ecom-command-history.ecom-command-history { + opacity: 1 !important; + transform: translateX(0) scale(1) !important; + animation: none !important; +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__page--workspace .product-clone-page[data-tool="clone"][data-tool="clone"] .ecom-command-history__tools, +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__page--workspace .product-clone-page[data-tool="clone"][data-tool="clone"] .ecom-command-history__new, +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__page--workspace .product-clone-page[data-tool="clone"][data-tool="clone"] .ecom-command-history__refresh, +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__page--workspace .product-clone-page[data-tool="clone"][data-tool="clone"] .ecom-command-history__heading, +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__page--workspace .product-clone-page[data-tool="clone"][data-tool="clone"] .ecom-command-history__refresh-note, +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__page--workspace .product-clone-page[data-tool="clone"][data-tool="clone"] .ecom-command-history__list { + transition: + opacity 220ms ease, + transform 360ms cubic-bezier(0.34, 0, 0.22, 1), + visibility 0s linear 220ms !important; +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__page--workspace .product-clone-page[data-tool="clone"][data-tool="clone"]:not(.is-history-collapsed) .ecom-command-history__tools, +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__page--workspace .product-clone-page[data-tool="clone"][data-tool="clone"]:not(.is-history-collapsed) .ecom-command-history__new, +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__page--workspace .product-clone-page[data-tool="clone"][data-tool="clone"]:not(.is-history-collapsed) .ecom-command-history__refresh, +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__page--workspace .product-clone-page[data-tool="clone"][data-tool="clone"]:not(.is-history-collapsed) .ecom-command-history__heading, +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__page--workspace .product-clone-page[data-tool="clone"][data-tool="clone"]:not(.is-history-collapsed) .ecom-command-history__refresh-note, +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__page--workspace .product-clone-page[data-tool="clone"][data-tool="clone"]:not(.is-history-collapsed) .ecom-command-history__list { + opacity: 1 !important; + visibility: visible !important; + transform: translateY(0) !important; + transition: + opacity 180ms ease 90ms, + transform 280ms cubic-bezier(0.22, 0.61, 0.36, 1) 70ms, + visibility 0s linear 0s !important; +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__page--workspace .product-clone-page[data-tool="clone"][data-tool="clone"].is-history-collapsed .ecom-command-history__new, +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__page--workspace .product-clone-page[data-tool="clone"][data-tool="clone"].is-history-collapsed .ecom-command-history__refresh, +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__page--workspace .product-clone-page[data-tool="clone"][data-tool="clone"].is-history-collapsed .ecom-command-history__heading, +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__page--workspace .product-clone-page[data-tool="clone"][data-tool="clone"].is-history-collapsed .ecom-command-history__refresh-note, +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"] .ecommerce-standalone__page--workspace .product-clone-page[data-tool="clone"][data-tool="clone"].is-history-collapsed .ecom-command-history__list { + opacity: 0 !important; + visibility: hidden !important; + transform: translateY(6px) !important; + transition: + opacity 160ms ease, + transform 220ms ease, + visibility 0s linear 160ms !important; +} + +@keyframes ecom-history-panel-enter { + from { + opacity: 0; + transform: translateX(26px) scale(0.975); + } + + to { + opacity: 1; + transform: translateX(0) scale(1); + } +} + +/* Focused tool page sample: the inner tool header owns navigation, so the global brand steps away. */ +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"][data-workspace-tool-page="true"] .ecommerce-standalone__brand { + opacity: 0 !important; + pointer-events: none !important; + filter: blur(4px) saturate(0.96) !important; + transform: translateY(-10px) scale(0.96) !important; +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"][data-workspace-tool-page="true"] .ecommerce-standalone__topbar[data-scroll-hidden] .ecommerce-standalone__brand { + opacity: 0 !important; + pointer-events: none !important; + filter: blur(4px) saturate(0.96) !important; + transform: translateY(-10px) scale(0.96) !important; +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"][data-workspace-tool-page="true"] .ecommerce-standalone__topbar { + padding-inline: clamp(16px, 2vw, 24px) !important; +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"][data-workspace-tool-page="true"] .ecommerce-standalone__page--workspace .product-clone-page[data-tool="clone"].is-quick-set-page .ecom-quick-set-page, +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"][data-workspace-tool-page="true"] .ecommerce-standalone__page--workspace .product-clone-page[data-tool="clone"].is-hot-clone-page .ecom-quick-set-page, +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"][data-workspace-tool-page="true"] .ecommerce-standalone__page--workspace .product-clone-page[data-tool="clone"].is-image-workbench-page .ecom-image-workbench-page, +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"][data-workspace-tool-page="true"] .ecommerce-standalone__page--workspace .product-clone-page[data-tool="clone"].is-watermark-page .ecom-watermark-page, +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"][data-workspace-tool-page="true"] .ecommerce-standalone__page--workspace .product-clone-page[data-tool="clone"].is-translate-page .ecom-translate-page { + padding-top: 14px !important; +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"][data-workspace-tool-page="true"] .ecommerce-standalone__page--workspace .ecom-quick-set-panel, +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"][data-workspace-tool-page="true"] .ecommerce-standalone__page--workspace .ecom-image-workbench-side, +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"][data-workspace-tool-page="true"] .ecommerce-standalone__page--workspace .ecom-watermark-side, +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"][data-workspace-tool-page="true"] .ecommerce-standalone__page--workspace .ecom-translate-side { + border-radius: 18px !important; +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"][data-workspace-tool-page="true"] .ecommerce-standalone__page--workspace .ecom-quick-set-panel-head, +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"][data-workspace-tool-page="true"] .ecommerce-standalone__page--workspace .ecom-image-workbench-panel-head { + display: grid !important; + grid-template-columns: minmax(0, 1fr) auto auto !important; + align-items: center !important; + gap: 8px !important; + min-height: 48px !important; + margin: -18px -16px 10px !important; + padding: 12px 12px 10px 16px !important; + border-bottom: 1px solid rgba(16, 115, 204, 0.08) !important; + background: + linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 252, 254, 0.9)) !important; + box-shadow: 0 10px 28px rgba(16, 115, 204, 0.05) !important; + backdrop-filter: blur(18px) saturate(1.08) !important; + -webkit-backdrop-filter: blur(18px) saturate(1.08) !important; +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"][data-workspace-tool-page="true"] .ecommerce-standalone__page--workspace .ecom-quick-set-page-title { + min-width: 0 !important; + margin: 0 !important; + overflow: hidden !important; + color: #10202c !important; + font-size: 18px !important; + font-weight: 950 !important; + line-height: 1.1 !important; + text-overflow: ellipsis !important; + white-space: nowrap !important; +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"][data-workspace-tool-page="true"] .ecommerce-standalone__page--workspace .ecom-quick-set-back { + min-width: 58px !important; + min-height: 32px !important; + padding: 0 12px !important; + border: 1px solid rgba(16, 115, 204, 0.12) !important; + border-radius: 999px !important; + color: #526474 !important; + background: rgba(255, 255, 255, 0.78) !important; + box-shadow: none !important; + font-size: 13px !important; + font-weight: 850 !important; + letter-spacing: 0 !important; +} + +html body #root div.ecommerce-standalone.web-shell[data-view="ecommerce"][data-workspace-tool-page="true"] .ecommerce-standalone__page--workspace .ecom-quick-set-back:hover { + border-color: rgba(30, 189, 219, 0.34) !important; + color: #1073cc !important; + background: rgba(232, 249, 253, 0.92) !important; + transform: translateY(-1px) !important; +}