diff --git a/src/features/ecommerce/EcommercePage.tsx b/src/features/ecommerce/EcommercePage.tsx index 522d327..68e2404 100644 --- a/src/features/ecommerce/EcommercePage.tsx +++ b/src/features/ecommerce/EcommercePage.tsx @@ -42,6 +42,7 @@ import EcommerceClonePanel from "./panels/EcommerceClonePanel"; import EcommerceCopywritingPanel from "./panels/EcommerceCopywritingPanel"; import { ecommerceOssScopes, saveUnifiedEcommerceGenerationRecord, deleteEcommerceGenerationRecord } from "./ecommerceGenerationPersistence"; import { downloadResultAsset } from "../workbench/workbenchDownload"; +import type { CloneOutputKey, ProductSetOutputKey } from "./utils/platformRules"; const smartCutoutColorPresets = [ "#ffffff", @@ -271,8 +272,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 eace416..bbdf2cc 100644 --- a/src/styles/ecommerce-standalone.css +++ b/src/styles/ecommerce-standalone.css @@ -1613,13 +1613,6 @@ box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04) !important; } -.ecommerce-standalone .ecommerce-standalone__logo img { - display: block !important; - width: 100% !important; - height: 100% !important; - object-fit: contain !important; -} - .ecommerce-standalone .ecommerce-standalone__logo i { position: absolute !important; width: 25px !important; @@ -3475,11 +3468,6 @@ background: rgba(30, 189, 219, 0.12) !important; } -.ecommerce-standalone .product-clone-page[data-tool="clone"] .ecom-command-quick-board .ecom-command-quick-card--more:disabled { - opacity: 1 !important; - cursor: not-allowed !important; -} - .ecommerce-standalone .product-clone-page[data-tool="clone"] .ecom-command-quick-board button:hover { color: #1073cc !important; background: rgba(30, 189, 219, 0.09) !important; @@ -4717,121 +4705,11 @@ background: rgba(220, 53, 69, 0.85) !important; } -html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"] .ecom-quick-hot-page .clone-ai-count-stepper, -html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"].is-quick-set-page .clone-ai-count-stepper { - background: #fff !important; - border-color: rgba(30, 189, 219, 0.2) !important; - color: #1a2b3c !important; -} - -html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"] .ecom-quick-hot-page .clone-ai-count-stepper button, -html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"].is-quick-set-page .clone-ai-count-stepper button { - background: transparent !important; - color: #1073cc !important; -} - -html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"] .ecom-quick-hot-page .clone-ai-count-stepper button:hover:not(:disabled), -html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"].is-quick-set-page .clone-ai-count-stepper button:hover:not(:disabled) { - background: rgba(30, 189, 219, 0.12) !important; - color: #0a5a9e !important; -} - -html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"] .ecom-quick-hot-page .clone-ai-count-stepper b, -html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"].is-quick-set-page .clone-ai-count-stepper b { - color: #1a2b3c !important; -} - /* Hide old CSS zoom in material section (portal replaces it) */ .ecommerce-standalone .ecom-quick-hot-page .ecom-quick-hot-material.has-images .ecom-command-asset-zoom { display: none !important; } -/* ── Quick Set: count section in left panel ── */ -.ecommerce-standalone .ecom-quick-hot-page .ecom-quick-set-count-section { - display: flex !important; - flex-direction: column !important; - gap: 8px !important; - margin-top: 2px !important; -} - -.ecommerce-standalone .ecom-quick-hot-page .ecom-quick-set-hint { - font-size: 12px !important; - color: #8a9baa !important; - margin: 0 !important; -} - -.ecommerce-standalone .ecom-quick-hot-page .ecom-quick-set-counts { - display: flex !important; - flex-direction: column !important; - gap: 6px !important; -} - -.ecommerce-standalone .ecom-quick-hot-page .ecom-quick-set-count-row { - display: flex !important; - align-items: center !important; - justify-content: space-between !important; - gap: 8px !important; - padding: 10px 12px !important; - border-radius: 8px !important; - background: linear-gradient(180deg, rgba(237, 248, 255, 0.72), rgba(255, 255, 255, 0.94)) !important; - border: 1px solid rgba(30, 189, 219, 0.14) !important; -} - -.ecommerce-standalone .ecom-quick-hot-page .ecom-quick-set-count-info { - display: flex !important; - flex-direction: column !important; - gap: 2px !important; - flex: 1 !important; - min-width: 0 !important; -} - -.ecommerce-standalone .ecom-quick-hot-page .ecom-quick-set-count-info strong { - font-size: 13px !important; - font-weight: 800 !important; - color: #1a2b3c !important; -} - -.ecommerce-standalone .ecom-quick-hot-page .ecom-quick-set-count-info span { - font-size: 11px !important; - color: #8a9baa !important; -} - -/* ── Quick Set: result grid in preview ── */ -.ecommerce-standalone .ecom-quick-hot-page .ecom-quick-set-result-grid { - display: grid !important; - grid-template-columns: repeat(2, 1fr) !important; - gap: 12px !important; - padding: 12px !important; -} - -.ecommerce-standalone .ecom-quick-hot-page .ecom-quick-set-result-grid figure { - position: relative !important; - border-radius: 10px !important; - overflow: hidden !important; - background: #f5f6f8 !important; - aspect-ratio: 1 / 1 !important; -} - -.ecommerce-standalone .ecom-quick-hot-page .ecom-quick-set-result-grid figure img { - display: block !important; - width: 100% !important; - height: 100% !important; - object-fit: cover !important; -} - -.ecommerce-standalone .ecom-quick-hot-page .ecom-quick-set-result-grid figure span { - position: absolute !important; - bottom: 0 !important; - left: 0 !important; - right: 0 !important; - padding: 6px 10px !important; - background: rgba(0, 0, 0, 0.55) !important; - color: #fff !important; - font-size: 12px !important; - font-weight: 700 !important; - text-align: center !important; -} - .ecommerce-standalone .ecom-quick-hot-page .ecom-quick-hot-add-btn { display: inline-flex !important; align-items: center !important; @@ -12281,12 +12159,6 @@ html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[d --quick-text: #164e63; } -html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"] .ecom-command-quick-board .ecom-command-quick-card--product { - --quick-accent: #0891b2; - --quick-bg: #ecfeff; - --quick-text: #164e63; -} - html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"] .ecom-command-quick-board .ecom-command-quick-card--hot { --quick-accent: #e8590c; --quick-bg: #fff4e6; @@ -13698,10 +13570,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"] .ecom-command-quick-board .ecom-command-quick-card--hot, html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"] .ecom-command-quick-board .ecom-command-quick-card--edit, html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"] .ecom-command-quick-board .ecom-command-quick-card--cutout, -html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"] .ecom-command-quick-board .ecom-command-quick-card--watermark, -html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"] .ecom-command-quick-board .ecom-command-quick-card--product, -html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"] .ecom-command-quick-board .ecom-command-quick-card--more, -html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"] .ecom-command-quick-board .ecom-command-quick-card--copywriting { +html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"] .ecom-command-quick-board .ecom-command-quick-card--watermark { --quick-accent: #1073cc !important; --quick-accent-soft: rgba(30, 189, 219, 0.16) !important; --quick-bg: rgba(245, 252, 254, 0.82) !important; @@ -13964,36 +13833,6 @@ html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[d --quick-shadow: rgba(192, 68, 104, 0.1) !important; } -html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"] .ecom-command-quick-board .ecom-command-quick-card--product { - --quick-accent: #0891b2 !important; - --quick-bg: #ecfeff !important; - --quick-text: #164e63 !important; - --quick-icon: #0891b2 !important; - --quick-icon-bg: rgba(8, 145, 178, 0.13) !important; - --quick-border: rgba(8, 145, 178, 0.12) !important; - --quick-shadow: rgba(8, 145, 178, 0.1) !important; -} - -html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"] .ecom-command-quick-board .ecom-command-quick-card--more { - --quick-accent: #1073cc !important; - --quick-bg: rgba(245, 252, 254, 0.82) !important; - --quick-text: #163447 !important; - --quick-icon: #1073cc !important; - --quick-icon-bg: rgba(16, 115, 204, 0.13) !important; - --quick-border: rgba(16, 115, 204, 0.12) !important; - --quick-shadow: rgba(16, 115, 204, 0.1) !important; -} - -html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"] .ecom-command-quick-board .ecom-command-quick-card--copywriting { - --quick-accent: #7a5af8 !important; - --quick-bg: #f1edff !important; - --quick-text: #2f245d !important; - --quick-icon: #5f46d9 !important; - --quick-icon-bg: rgba(122, 90, 248, 0.13) !important; - --quick-border: rgba(122, 90, 248, 0.12) !important; - --quick-shadow: rgba(122, 90, 248, 0.1) !important; -} - html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"] .ecom-command-composer-wrap.ecom-command-composer-wrap:has(.ecom-inspiration-lab) .ecom-command-quick-board button { border-color: var(--quick-border) !important; background: @@ -17595,6 +17434,893 @@ 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: 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: 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 { + display: none !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 { + --mode-accent: #1073cc; + position: relative !important; + display: grid !important; + grid-template-columns: 22px max-content !important; + grid-template-rows: auto !important; + align-items: center !important; + justify-items: start !important; + gap: 7px !important; + flex: 0 0 auto !important; + width: max-content !important; + min-width: max-content !important; + min-height: 40px !important; + padding: 7px 14px 7px 10px !important; + scroll-snap-align: start !important; + border: 1px solid rgba(16, 32, 44, 0.07) !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), + inset 0 1px 0 rgba(255, 255, 255, 0.92) !important; + text-align: left !important; + cursor: pointer !important; + transition: + background 180ms ease, + border-color 180ms ease, + color 180ms ease, + box-shadow 180ms ease, + 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; + color: rgba(16, 32, 44, 0.86) !important; + box-shadow: + 0 8px 18px color-mix(in srgb, var(--mode-accent) 10%, transparent), + inset 0 1px 0 rgba(255, 255, 255, 0.95) !important; + transform: translateY(-1px) !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-active { + background: + radial-gradient(circle at 24% 16%, color-mix(in srgb, var(--mode-accent) 14%, transparent), transparent 54%), + rgba(255, 255, 255, 0.98) !important; + border-color: color-mix(in srgb, var(--mode-accent) 35%, transparent) !important; + color: rgba(16, 32, 44, 0.96) !important; + box-shadow: + 0 10px 24px color-mix(in srgb, var(--mode-accent) 14%, transparent), + inset 0 1px 0 rgba(255, 255, 255, 0.98) !important; + transform: translateY(-1px) !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 { + background: + radial-gradient(circle at 24% 16%, color-mix(in srgb, var(--mode-accent) 18%, transparent), transparent 50%), + rgba(255, 255, 255, 1) !important; + border-color: color-mix(in srgb, var(--mode-accent) 45%, transparent) !important; + box-shadow: + 0 12px 28px color-mix(in srgb, var(--mode-accent) 16%, transparent), + inset 0 1px 0 rgba(255, 255, 255, 1) !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:focus-visible { + outline: 2px solid color-mix(in srgb, var(--mode-accent) 45%, transparent) !important; + outline-offset: 2px !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 { + grid-row: auto !important; + display: inline-grid !important; + width: 22px !important; + min-width: 22px !important; + height: 22px !important; + place-items: center !important; + border: 0 !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; + font-size: 13px !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 button.is-active .ecom-command-mode-icon, +html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"]:not(.is-history-detail) .ecom-command-scenario-tabs button.is-open .ecom-command-mode-icon { + background: color-mix(in srgb, var(--mode-accent) 16%, rgba(255, 255, 255, 0.95)) !important; + box-shadow: + inset 0 1px 0 rgba(255, 255, 255, 0.9), + 0 2px 6px color-mix(in srgb, var(--mode-accent) 12%, transparent) !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 strong { + min-width: 0 !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 !important; + line-height: 1.1 !important; + text-overflow: clip !important; + white-space: nowrap !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 button.is-active strong, +html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"]:not(.is-history-detail) .ecom-command-scenario-tabs button.is-open strong { + color: rgba(16, 32, 44, 0.95) !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-scenario-close { + position: absolute !important; + top: 50% !important; + right: 7px !important; + display: inline-flex !important; + align-items: center !important; + justify-content: center !important; + width: 15px !important; + height: 15px !important; + border-radius: 50% !important; + 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, + transform 160ms 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-scenario-close:hover { + background: rgba(16, 32, 44, 0.1) !important; + color: rgba(16, 32, 44, 0.7) !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 { + display: none !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-scenario-close .anticon { + display: inline-flex !important; + align-items: center !important; + justify-content: center !important; + line-height: 1 !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 button:has(.ecom-command-mode-icon--popular) { + --mode-accent: #c04468; +} + +html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"]:not(.is-history-detail) .ecom-command-scenario-tabs button:has(.ecom-command-mode-icon--poster), +html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"]:not(.is-history-detail) .ecom-command-scenario-tabs button:has(.ecom-command-mode-icon--festival) { + --mode-accent: #cc6b14; +} + +html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"]:not(.is-history-detail) .ecom-command-scenario-tabs button:has(.ecom-command-mode-icon--mainImage), +html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"]:not(.is-history-detail) .ecom-command-scenario-tabs button:has(.ecom-command-mode-icon--scene), +html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"]:not(.is-history-detail) .ecom-command-scenario-tabs button:has(.ecom-command-mode-icon--background) { + --mode-accent: #0f8f72; +} + +html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"]:not(.is-history-detail) .ecom-command-scenario-tabs button:has(.ecom-command-mode-icon--model), +html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"]:not(.is-history-detail) .ecom-command-scenario-tabs button:has(.ecom-command-mode-icon--retouch), +html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"]:not(.is-history-detail) .ecom-command-scenario-tabs button:has(.ecom-command-mode-icon--salesVideo) { + --mode-accent: #1073cc; +} + +html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"]:not(.is-history-detail) .ecom-command-template-strip { + grid-template-columns: repeat(4, minmax(0, 1fr)) !important; + gap: 12px !important; + width: min(100%, 1180px) !important; + margin: 16px auto 10px !important; +} + +html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"]:not(.is-history-detail) .ecom-command-template-card { + display: grid !important; + grid-template-columns: 94px minmax(0, 1fr) !important; + align-items: stretch !important; + gap: 12px !important; + aspect-ratio: auto !important; + min-height: 132px !important; + padding: 10px !important; + border-radius: 18px !important; + text-align: left !important; + background: + radial-gradient(circle at 20% 0%, rgba(30, 189, 219, 0.08), transparent 46%), + linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 252, 254, 0.94)) !important; +} + +html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"]:not(.is-history-detail) .ecom-command-template-card__media { + position: relative !important; + display: block !important; + width: 94px !important; + min-width: 94px !important; + height: 112px !important; + overflow: hidden !important; + border: 1px solid rgba(30, 189, 219, 0.14) !important; + border-radius: 14px !important; + background: rgba(232, 249, 253, 0.6) !important; +} + +html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"]:not(.is-history-detail) .ecom-command-template-card__media img { + display: block !important; + width: 100% !important; + height: 100% !important; + object-fit: cover !important; + transition: transform 220ms ease !important; +} + +html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"]:not(.is-history-detail) .ecom-command-template-card:hover .ecom-command-template-card__media img { + transform: scale(1.035) !important; +} + +html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"]:not(.is-history-detail) .ecom-command-template-card__body { + display: grid !important; + align-content: center !important; + gap: 7px !important; + min-width: 0 !important; +} + +html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"]:not(.is-history-detail) .ecom-command-template-card__badge { + justify-self: start !important; + max-width: 100% !important; + padding: 4px 8px !important; + overflow: hidden !important; + border-radius: 999px !important; + background: rgba(232, 249, 253, 0.9) !important; + color: #0f829b !important; + font-size: 10px !important; + font-weight: 760 !important; + line-height: 1 !important; + text-overflow: ellipsis !important; + white-space: nowrap !important; +} + +html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"]:not(.is-history-detail) .ecom-command-template-card__body strong { + min-width: 0 !important; + overflow: hidden !important; + color: #10202c !important; + font-size: 15px !important; + font-weight: 820 !important; + line-height: 1.25 !important; + text-overflow: ellipsis !important; + white-space: nowrap !important; +} + +html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"]:not(.is-history-detail) .ecom-command-template-card__body em { + display: -webkit-box !important; + min-width: 0 !important; + overflow: hidden !important; + color: rgba(85, 111, 126, 0.78) !important; + font-size: 12px !important; + font-style: normal !important; + font-weight: 620 !important; + line-height: 1.45 !important; + -webkit-line-clamp: 2 !important; + -webkit-box-orient: vertical !important; +} + +@media (max-width: 1024px) { + html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"]:not(.is-history-detail) .ecom-command-template-strip { + grid-template-columns: repeat(2, minmax(0, 1fr)) !important; + } +} + +@media (max-width: 900px) { + 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 { + justify-content: flex-start !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 { + display: block !important; + width: min(100%, 1180px) !important; + margin: -4px auto 6px !important; + text-align: center !important; + font-size: 11px !important; + font-weight: 480 !important; + line-height: 1 !important; + color: rgba(16, 32, 44, 0.36) !important; + } +} + +@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: max-content !important; + min-height: 44px !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 { + width: 24px !important; + min-width: 24px !important; + height: 24px !important; + font-size: 13px !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 strong { + font-size: 12px !important; + } + + html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"]:not(.is-history-detail) .ecom-command-template-strip { + display: flex !important; + gap: 10px !important; + width: 100% !important; + margin-top: 12px !important; + overflow-x: auto !important; + scrollbar-width: none !important; + scroll-snap-type: x mandatory !important; + } + + html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"]:not(.is-history-detail) .ecom-command-template-strip::-webkit-scrollbar { + display: none !important; + } + + html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"]:not(.is-history-detail) .ecom-command-template-card { + grid-template-columns: 84px minmax(0, 1fr) !important; + flex: 0 0 min(86vw, 360px) !important; + min-height: 118px !important; + scroll-snap-align: start !important; + } + + html body #root .ecommerce-standalone.ecommerce-standalone .product-clone-page[data-tool="clone"][data-tool="clone"]:not(.is-history-detail) .ecom-command-template-card__media { + width: 84px !important; + min-width: 84px !important; + 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; +} + /* ── One-click copywriting page ── */ .ecommerce-standalone .ecom-copywriting-page { position: relative !important; @@ -18001,408 +18727,3 @@ html body #root .ecommerce-standalone.ecommerce-standalone .ecommerce-standalone height: 100% !important; object-fit: contain !important; } -.ecommerce-standalone .ecom-copywriting-page { - position: relative !important; - display: grid !important; - grid-template-rows: minmax(0, 1fr) !important; - width: 100% !important; - height: 100% !important; - min-height: 720px !important; - color: #111827 !important; - background: #f3f5f8 !important; -} - -.ecommerce-standalone .ecom-copywriting-body { - display: grid !important; - grid-template-columns: 360px minmax(0, 1fr) !important; - min-height: 0 !important; -} - -.ecommerce-standalone .ecom-copywriting-panel { - position: relative !important; - display: grid !important; - grid-template-rows: auto auto auto auto minmax(0, 1fr) auto !important; - gap: 16px !important; - padding: 18px 16px 18px !important; - border-right: 1px solid rgba(15, 23, 42, 0.06) !important; - background: #ffffff !important; - overflow-y: auto !important; -} - -.ecommerce-standalone .ecom-copywriting-panel-head { - display: flex !important; - align-items: center !important; - gap: 10px !important; - min-height: 34px !important; -} - -.ecommerce-standalone .ecom-copywriting-page-title { - margin-right: auto !important; - color: #10202c !important; - font-size: 17px !important; - font-weight: 950 !important; - letter-spacing: 0.02em !important; -} - -.ecommerce-standalone .ecom-copywriting-back { - display: inline-flex !important; - align-items: center !important; - justify-content: center !important; - min-width: 70px !important; - min-height: 30px !important; - padding: 0 10px !important; - border: 1px solid rgba(16, 115, 204, 0.12) !important; - border-radius: 8px !important; - color: #526474 !important; - background: #f7fafc !important; - box-shadow: none !important; - font-size: 13px !important; - font-weight: 700 !important; - white-space: nowrap !important; - cursor: pointer !important; - transition: color 180ms ease, background 180ms ease, border-color 180ms ease !important; -} - -.ecommerce-standalone .ecom-copywriting-back:hover { - border-color: rgba(30, 189, 219, 0.32) !important; - color: #1073cc !important; - background: #f0f9ff !important; -} - -.ecommerce-standalone .ecom-copywriting-section { - display: grid !important; - gap: 10px !important; -} - -.ecommerce-standalone .ecom-copywriting-section-title { - display: inline-flex !important; - align-items: center !important; - gap: 5px !important; - color: #132435 !important; - font-size: 14px !important; - font-weight: 800 !important; -} - -.ecommerce-standalone .ecom-copywriting-type-grid { - display: grid !important; - grid-template-columns: repeat(2, minmax(0, 1fr)) !important; - gap: 10px !important; -} - -.ecommerce-standalone .ecom-copywriting-type-card { - display: grid !important; - grid-template-columns: auto 1fr !important; - grid-template-rows: auto auto !important; - gap: 2px 8px !important; - align-items: center !important; - min-height: 56px !important; - padding: 10px 12px !important; - border: 1px solid rgba(15, 23, 42, 0.06) !important; - border-radius: 10px !important; - color: #111827 !important; - background: #fbfdff !important; - text-align: left !important; - cursor: pointer !important; - transition: border-color 180ms ease, background 180ms ease, box-shadow 180ms ease !important; -} - -.ecommerce-standalone .ecom-copywriting-type-card:hover { - border-color: rgba(16, 115, 204, 0.22) !important; - background: #f7fbff !important; -} - -.ecommerce-standalone .ecom-copywriting-type-card.is-active { - border-color: #1073cc !important; - background: #eef8ff !important; - box-shadow: 0 0 0 1px #1073cc, 0 6px 16px rgba(16, 115, 204, 0.1) !important; -} - -.ecommerce-standalone .ecom-copywriting-type-icon { - grid-row: 1 / 3 !important; - display: inline-flex !important; - align-items: center !important; - justify-content: center !important; - width: 32px !important; - height: 32px !important; - border-radius: 8px !important; - color: #1073cc !important; - background: rgba(16, 115, 204, 0.08) !important; - font-size: 16px !important; -} - -.ecommerce-standalone .ecom-copywriting-type-card.is-active .ecom-copywriting-type-icon { - color: #ffffff !important; - background: #1073cc !important; -} - -.ecommerce-standalone .ecom-copywriting-type-label { - font-size: 13px !important; - font-weight: 900 !important; -} - -.ecommerce-standalone .ecom-copywriting-type-desc { - font-size: 11px !important; - color: #6b7c88 !important; -} - -.ecommerce-standalone .ecom-copywriting-textarea { - width: 100% !important; - min-height: 96px !important; - padding: 12px !important; - border: 1px solid rgba(15, 23, 42, 0.08) !important; - border-radius: 10px !important; - color: #111827 !important; - background: #fbfdff !important; - font-size: 13px !important; - line-height: 1.6 !important; - resize: none !important; - outline: none !important; -} - -.ecommerce-standalone .ecom-copywriting-textarea::placeholder { - color: #9aa6b0 !important; -} - -.ecommerce-standalone .ecom-copywriting-textarea:focus { - border-color: #1073cc !important; - box-shadow: 0 0 0 3px rgba(16, 115, 204, 0.08) !important; -} - -.ecommerce-standalone .ecom-copywriting-wordcount { - display: flex !important; - flex-wrap: wrap !important; - gap: 8px !important; -} - -.ecommerce-standalone .ecom-copywriting-wordcount button { - min-height: 32px !important; - padding: 0 14px !important; - border: 1px solid rgba(15, 23, 42, 0.08) !important; - border-radius: 8px !important; - color: #344250 !important; - background: #ffffff !important; - font-size: 12px !important; - font-weight: 800 !important; - cursor: pointer !important; -} - -.ecommerce-standalone .ecom-copywriting-wordcount button:hover { - border-color: rgba(16, 115, 204, 0.22) !important; - color: #1073cc !important; - background: #f7fbff !important; -} - -.ecommerce-standalone .ecom-copywriting-wordcount button.is-active { - border-color: #1073cc !important; - color: #ffffff !important; - background: #1073cc !important; -} - -.ecommerce-standalone .ecom-copywriting-generate { - display: inline-flex !important; - align-items: center !important; - justify-content: center !important; - gap: 8px !important; - width: 100% !important; - min-height: 42px !important; - margin-top: auto !important; - border: 0 !important; - border-radius: 10px !important; - color: #ffffff !important; - background: linear-gradient(135deg, #1073cc, #1ebddb) !important; - font-size: 14px !important; - font-weight: 900 !important; - cursor: pointer !important; - box-shadow: 0 8px 20px rgba(16, 115, 204, 0.22) !important; - transition: transform 180ms ease, box-shadow 180ms ease !important; -} - -.ecommerce-standalone .ecom-copywriting-generate:hover:not(:disabled) { - transform: translateY(-1px) !important; - box-shadow: 0 12px 26px rgba(16, 115, 204, 0.28) !important; -} - -.ecommerce-standalone .ecom-copywriting-generate:disabled { - opacity: 0.65 !important; - cursor: not-allowed !important; -} - -.ecommerce-standalone .ecom-copywriting-stage { - display: grid !important; - grid-template-rows: auto minmax(0, 1fr) !important; - min-height: 0 !important; - padding: 20px 24px 24px !important; - overflow-y: auto !important; -} - -.ecommerce-standalone .ecom-copywriting-preview-head { - display: grid !important; - gap: 6px !important; - margin-bottom: 16px !important; -} - -.ecommerce-standalone .ecom-copywriting-preview-head h1 { - margin: 0 !important; - color: #172636 !important; - font-size: 21px !important; - font-weight: 950 !important; -} - -.ecommerce-standalone .ecom-copywriting-preview-head p { - margin: 0 !important; - color: #657686 !important; - font-size: 13px !important; - font-weight: 750 !important; -} - -.ecommerce-standalone .ecom-copywriting-preview-head p span { - color: #1073cc !important; - font-weight: 800 !important; -} - -.ecommerce-standalone .ecom-copywriting-results { - display: grid !important; - align-content: start !important; - gap: 16px !important; - min-height: 0 !important; -} - -.ecommerce-standalone .ecom-copywriting-empty, -.ecommerce-standalone .ecom-copywriting-loading { - display: flex !important; - flex-direction: column !important; - align-items: center !important; - justify-content: center !important; - gap: 10px !important; - min-height: 320px !important; - border-radius: 12px !important; - color: #6b7c88 !important; - background: #ffffff !important; - box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04) !important; -} - -.ecommerce-standalone .ecom-copywriting-empty .anticon { - font-size: 36px !important; - color: rgba(16, 115, 204, 0.18) !important; -} - -.ecommerce-standalone .ecom-copywriting-empty strong, -.ecommerce-standalone .ecom-copywriting-loading span:last-child { - font-size: 14px !important; - font-weight: 800 !important; - color: #344250 !important; -} - -.ecommerce-standalone .ecom-copywriting-empty em { - font-size: 12px !important; - color: #8a9baa !important; - font-style: normal !important; -} - -.ecommerce-standalone .ecom-copywriting-result-card { - padding: 18px 20px !important; - border-radius: 12px !important; - background: #ffffff !important; - box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04) !important; -} - -.ecommerce-standalone .ecom-copywriting-result-card header { - display: grid !important; - gap: 6px !important; - margin-bottom: 12px !important; - padding-bottom: 12px !important; - border-bottom: 1px solid rgba(15, 23, 42, 0.06) !important; -} - -.ecommerce-standalone .ecom-copywriting-result-card header span { - font-size: 12px !important; - font-weight: 800 !important; - color: #1073cc !important; -} - -.ecommerce-standalone .ecom-copywriting-result-card header strong { - font-size: 15px !important; - font-weight: 900 !important; - color: #111827 !important; -} - -.ecommerce-standalone .ecom-copywriting-result-body { - margin: 0 0 14px !important; - font-size: 13px !important; - line-height: 1.7 !important; - color: #344250 !important; -} - -.ecommerce-standalone .ecom-copywriting-result-points { - display: grid !important; - gap: 8px !important; - margin: 0 !important; - padding: 0 !important; - list-style: none !important; -} - -.ecommerce-standalone .ecom-copywriting-result-points li { - display: flex !important; - align-items: flex-start !important; - gap: 8px !important; - font-size: 13px !important; - line-height: 1.6 !important; - color: #344250 !important; -} - -.ecommerce-standalone .ecom-copywriting-result-points li span { - display: inline-flex !important; - align-items: center !important; - justify-content: center !important; - flex: 0 0 auto !important; - width: 18px !important; - height: 18px !important; - border-radius: 5px !important; - color: #ffffff !important; - background: #1073cc !important; - font-size: 11px !important; - font-weight: 900 !important; -} - -.ecommerce-standalone .ecom-copywriting-spinner { - display: inline-block !important; - width: 16px !important; - height: 16px !important; - border: 2px solid rgba(255, 255, 255, 0.35) !important; - border-top-color: #ffffff !important; - border-radius: 50% !important; - animation: ecom-copywriting-spin 0.8s linear infinite !important; -} - -@keyframes ecom-copywriting-spin { - to { - transform: rotate(360deg); - } -} - -@media (max-width: 960px) { - .ecommerce-standalone .ecom-copywriting-body { - grid-template-columns: 1fr !important; - grid-template-rows: auto minmax(0, 1fr) !important; - } - - .ecommerce-standalone .ecom-copywriting-panel { - border-right: 0 !important; - border-bottom: 1px solid rgba(15, 23, 42, 0.06) !important; - max-height: 45vh !important; - } -} - -/* ── Logo containment override: ensure brand logo never overflows its box ── */ -html body #root .ecommerce-standalone.ecommerce-standalone .ecommerce-standalone__logo { - width: 40px !important; - height: 40px !important; - overflow: hidden !important; -} - -html body #root .ecommerce-standalone.ecommerce-standalone .ecommerce-standalone__logo img { - display: block !important; - width: 100% !important; - height: 100% !important; - object-fit: contain !important; -}