.product-clone-page[data-tool="clone"] .product-clone-preview--video { display: block; width: 100%; height: 100%; min-height: 0; align-content: initial; justify-items: initial; gap: 0; overflow: hidden; background: #0e1014; scrollbar-color: #353b45 #0e1014; } .ecom-video-workspace { display: grid; grid-template-rows: auto minmax(0, 1fr); width: 100%; height: 100%; min-height: 0; overflow: hidden; background: #0e1014; color: #e5ebf4; } .ecom-video-flowbar { position: relative; z-index: 3; display: grid; grid-template-columns: auto minmax(96px, 1fr) auto; align-items: center; gap: 18px; min-height: 58px; border-bottom: 1px solid #242a33; background: #11151b; padding: 10px 16px; } .ecom-video-flowbar__title { display: inline-flex; align-items: center; gap: 12px; min-width: 0; } .ecom-video-flowbar__pulse { width: 10px; height: 10px; border-radius: 999px; background: #48505c; } .ecom-video-flowbar__pulse.is-active { background: #34d399; } .ecom-video-flowbar__wave { display: inline-flex; align-items: end; gap: 3px; width: 24px; height: 18px; } .ecom-video-flowbar__wave i { display: block; width: 4px; height: 8px; border-radius: 999px; background: #5b6675; animation: ecom-video-wave 1.1s ease-in-out infinite; } .ecom-video-flowbar__wave i:nth-child(2) { height: 15px; animation-delay: 120ms; } .ecom-video-flowbar__wave i:nth-child(3) { height: 11px; animation-delay: 240ms; } .ecom-video-step-dots { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: 0; } .ecom-video-step-dot { display: block; width: 7px; height: 7px; border-radius: 999px; background: #343b46; } .ecom-video-step-dot.is-done { background: #34d399; } .ecom-video-step-dot.is-active { background: #53e5ff; animation: ecom-video-node-breathe 1.2s ease-in-out infinite; } .ecom-video-flowbar__actions { display: inline-flex; align-items: center; justify-content: flex-end; gap: 8px; } .ecom-video-flowbar__error { max-width: min(260px, 28vw); overflow: hidden; color: #ff9f9f; font-size: 12px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; } .ecom-video-flow-action { display: inline-grid; width: 38px; height: 38px; place-items: center; border: 1px solid #1c4d3a; border-radius: 8px; background: #34d399; color: #06110e; padding: 0; font-size: 17px; cursor: pointer; transition: transform 150ms ease, border-color 150ms ease, background-color 150ms ease, color 150ms ease; } .ecom-video-flow-action:hover:not(:disabled) { transform: translateY(-1px); } .ecom-video-flow-action--ghost { background: #0e2b26; color: #baf6ff; border-color: #1a4d40; } .ecom-video-flow-action--danger { border-color: #4d1a1a; background: #2b1212; color: #ffb1b1; } .ecom-video-flow-action:disabled { border-color: #303743; background: #20252d; color: #697486; cursor: not-allowed; } .ecom-video-flow-canvas { position: relative; min-height: 0; overflow: auto; background: #101318; padding: 26px; } .ecom-video-flow-map { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; gap: clamp(24px, 3vw, 48px); min-width: 0; min-height: 100%; } .ecom-video-flow-lines { position: absolute; inset: 50% 0 auto; z-index: 0; width: 100%; height: min(72%, 420px); overflow: visible; pointer-events: none; transform: translateY(-50%); } .ecom-video-flow-lines path { fill: none; stroke: #485365; stroke-width: 3; stroke-linecap: round; stroke-dasharray: 12 14; } .ecom-video-flow-lines path.is-active { stroke: #34d399; animation: ecom-video-path-dash 1.8s linear infinite; } .ecom-video-flow-map > :not(.ecom-video-flow-lines) { position: relative; z-index: 1; } .ecom-video-scene-strip { display: flex; align-items: center; justify-content: center; gap: clamp(12px, 2vw, 24px); min-width: 0; overflow-x: auto; overflow-y: visible; padding: 28px 4px; scrollbar-width: thin; scrollbar-color: #414958 #101318; } .ecom-video-flow-node { position: relative; flex: 0 0 auto; overflow: hidden; border: 1px solid #333a45; border-radius: 8px; background: #172027; animation: ecom-video-node-in 360ms ease both; } .ecom-video-flow-node.is-ready, .ecom-video-flow-node.is-completed { border-color: #1c4d3a; background: #162820; } .ecom-video-flow-node.is-running, .ecom-video-flow-node.is-pending { border-color: #1a4d4d; animation: ecom-video-node-breathe 1.6s ease-in-out infinite; } .ecom-video-flow-node.is-failed { border-color: #4d1a1a; background: #2a1b1d; } .ecom-video-flow-node--source, .ecom-video-flow-node--final { width: min(100%, 142px); aspect-ratio: 9 / 13; } .ecom-video-flow-node--final { border-color: #3d3020; } .ecom-video-flow-node--final.is-completed { border-color: #4d3a1a; background: #2a2116; } .ecom-video-flow-node--scene { width: clamp(76px, 7vw, 104px); aspect-ratio: 9 / 16; } .ecom-video-flow-node__media, .ecom-video-flow-node__media img, .ecom-video-flow-node__media video { display: block; width: 100%; height: 100%; } .ecom-video-flow-node__media img, .ecom-video-flow-node__media video { object-fit: cover; } .ecom-video-flow-node__placeholder { display: grid; width: 100%; height: 100%; place-items: center; background: #18231f; color: #7eeecf; font-size: 30px; } .ecom-video-flow-node__status-orb { position: absolute; left: 9px; top: 9px; z-index: 4; width: 12px; height: 12px; border: 2px solid #0c1016; border-radius: 999px; background: #687386; } .ecom-video-flow-node.is-ready .ecom-video-flow-node__status-orb, .ecom-video-flow-node.is-completed .ecom-video-flow-node__status-orb { background: #34d399; } .ecom-video-flow-node.is-running .ecom-video-flow-node__status-orb, .ecom-video-flow-node.is-pending .ecom-video-flow-node__status-orb { background: #53e5ff; } .ecom-video-flow-node.is-failed .ecom-video-flow-node__status-orb { background: #ff5e5e; } .ecom-video-flow-node--final.is-completed .ecom-video-flow-node__status-orb { background: #ffb84d; } .ecom-video-flow-node__progress { position: absolute; left: 0; right: 0; bottom: 0; z-index: 4; height: 4px; overflow: hidden; background: #242830; } .ecom-video-flow-node__progress i { display: block; height: 100%; background: #53e5ff; transition: width 240ms ease; } .ecom-video-flow-node__retry { position: absolute; right: 9px; top: 9px; z-index: 5; display: grid; width: 32px; height: 32px; place-items: center; border: 1px solid #4d1a1a; border-radius: 999px; background: #241417; color: #ffb1b1; cursor: pointer; } .ecom-video-flow-connector, .ecom-video-scene-link { position: relative; height: 4px; border-radius: 999px; background: #303843; } .ecom-video-flow-connector { flex: 0 0 clamp(30px, 3vw, 56px); } .ecom-video-scene-link { flex: 0 0 clamp(26px, 3vw, 44px); } .ecom-video-flow-connector i, .ecom-video-scene-link i { position: absolute; inset: 0; transform: translateX(-100%); background: #34d399; } .ecom-video-flow-connector.is-active i, .ecom-video-scene-link.is-active i { animation: ecom-video-flow-line 1.55s linear infinite; } .ecom-video-flow-dock { position: sticky; z-index: 4; right: 0; bottom: 0; left: 0; display: flex; justify-content: center; gap: 8px; padding-top: 20px; } .ecom-video-flow-dock button { display: inline-grid; width: 38px; height: 38px; place-items: center; border: 1px solid #3d3020; border-radius: 8px; background: #15181f; color: #ffe1ad; font-size: 16px; cursor: pointer; transition: transform 150ms ease, border-color 150ms ease, background-color 150ms ease; } .ecom-video-flow-dock button:hover { border-color: #4d3a1a; background: #241c12; transform: translateY(-1px); } .ecom-video-flow-notice { position: absolute; right: 22px; bottom: 18px; z-index: 5; border: 1px solid #1c3d2a; border-radius: 999px; background: #08110f; color: #a8ffe3; padding: 7px 11px; font-size: 12px; font-weight: 900; } @keyframes ecom-video-flow-line { from { transform: translateX(-100%); } to { transform: translateX(100%); } } @keyframes ecom-video-path-dash { to { stroke-dashoffset: -52; } } @keyframes ecom-video-node-in { from { opacity: 0; transform: translateY(10px) scale(0.98); } to { opacity: 1; transform: translateY(0) scale(1); } } @keyframes ecom-video-node-breathe { 0%, 100% { border-color: #1a4d4d; } 50% { border-color: #53e5ff; } } @keyframes ecom-video-pulse { from { opacity: 0.8; transform: scale(0.7); } to { opacity: 0; transform: scale(1.45); } } @keyframes ecom-video-wave { 0%, 100% { opacity: 0.45; transform: scaleY(0.72); } 50% { opacity: 1; transform: scaleY(1); } } @media (max-width: 900px) { .ecom-video-flowbar { grid-template-columns: auto 1fr; gap: 12px; } .ecom-video-step-dots { justify-content: flex-start; order: 3; grid-column: 1 / -1; } .ecom-video-flowbar__actions { justify-content: flex-end; } .ecom-video-flow-canvas { padding: 20px; } .ecom-video-flow-node--scene { width: 118px; } }