diff --git a/frontend/src/components/EarthTwin.tsx b/frontend/src/components/EarthTwin.tsx
index 11cb869..bba3a7f 100644
--- a/frontend/src/components/EarthTwin.tsx
+++ b/frontend/src/components/EarthTwin.tsx
@@ -1,4 +1,5 @@
-import React, { useEffect, useRef, useState, useCallback } from 'react';
+import React, { useEffect, useRef, useState, useCallback, useImperativeHandle, forwardRef } from 'react';
+import { prefersReducedMotion } from './SatelliteSpotlight/GlowEffect';
import { useUIStore } from '@/store/uiStore';
import { MaterialIcon } from './MaterialIcon';
import { SpotlightManager } from './SatelliteSpotlight/SpotlightManager';
@@ -110,7 +111,12 @@ const LegendCardSkeleton = () => (
);
-export const EarthTwin: React.FC = () => {
+export interface EarthTwinHandle {
+ /** Flies the camera to the given NORAD catalog number and opens its info panel. */
+ flyToSatellite: (catalogNumber: string) => void;
+}
+
+export const EarthTwin = forwardRef((_props, ref) => {
const containerRef = useRef(null);
const viewerRef = useRef(null);
const entitiesRef = useRef