diff --git a/frontend/src/components/RuntimePresentation.tsx b/frontend/src/components/RuntimePresentation.tsx index 32014bd..66f8540 100644 --- a/frontend/src/components/RuntimePresentation.tsx +++ b/frontend/src/components/RuntimePresentation.tsx @@ -238,10 +238,12 @@ export default function RuntimePresentation({ // NOTE: fadeOut config is NOT used for video transitions. // Video transitions end instantly (last frame = new page, then overlay removed). // fadeIn is used for non-video navigation (crossfade 500ms). + // hasActiveTransition includes pendingTransitionComplete to prevent crossfade + // during the video-to-background handoff phase. const { isFadingIn, resetFadeIn } = useBackgroundTransition({ pageSwitch, fadeIn: { - hasActiveTransition: Boolean(transitionPreview), + hasActiveTransition: Boolean(transitionPreview) || pendingTransitionComplete, }, });