@@ -69,12 +69,14 @@ export default function OrbitSystem() {
6969 }
7070 ` } </ style >
7171
72- < div style = { { position : 'relative' , width : '100%' , maxWidth : '800px' , height : '600px' , display : 'flex' , alignItems : 'center' , justifyContent : 'center' , overflow : 'hidden ' } } >
72+ < div style = { { position : 'relative' , width : '100%' , flex : 1 , display : 'flex' , alignItems : 'center' , justifyContent : 'center' } } >
7373
7474 { /* User Center */ }
7575 < div style = { {
76- width : '80px' ,
77- height : '80px' ,
76+ width : '12vmin' ,
77+ height : '12vmin' ,
78+ minWidth : '60px' ,
79+ minHeight : '60px' ,
7880 borderRadius : '50%' ,
7981 background : 'linear-gradient(135deg, var(--color-primary), var(--color-secondary))' ,
8082 boxShadow : '0 0 30px var(--color-secondary)' ,
@@ -83,34 +85,34 @@ export default function OrbitSystem() {
8385 justifyContent : 'center' ,
8486 fontWeight : 'bold' ,
8587 zIndex : 10 ,
86- fontSize : '1.2rem ' ,
88+ fontSize : 'clamp(1rem, 2.5vmin, 1.5rem) ' ,
8789 color : 'white'
8890 } } >
8991 { preferences . name . substring ( 0 , 2 ) . toUpperCase ( ) || 'YOU' }
9092 </ div >
9193
9294 { /* Orbit Rings and Aliens */ }
9395 { visibleAliens . map ( ( alien , i ) => {
94- // Calculate radius based on distance (min 80px, max 280px)
96+ // Calculate radius based on distance
9597 const radiusRatio = preferences . maxDistanceAU > 0 ? alien . distanceAU / preferences . maxDistanceAU : 1 ;
96- const radius = 80 + ( radiusRatio * 200 ) ;
97- const duration = 15 + ( radius / 10 ) ; // Slower orbit for further objects
98+ const radius = 12 + ( radiusRatio * 25 ) ; // Responsive radius using vmin
99+ const duration = 15 + radius / 2 ; // Slower orbit for further objects
98100 const startAngle = ( i * ( 360 / visibleAliens . length ) ) ;
99101
100102 return (
101103 < div key = { alien . id } >
102104 { /* Ring */ }
103- < div className = "orbit-ring" style = { { width : `${ radius * 2 } px ` , height : `${ radius * 2 } px ` } } />
105+ < div className = "orbit-ring" style = { { width : `${ radius * 2 } vmin ` , height : `${ radius * 2 } vmin ` } } />
104106
105107 { /* Profile */ }
106108 < div
107109 className = "orbit-item"
108110 onClick = { ( ) => setSelectedAlien ( alien ) }
109111 style = { {
110112 // @ts -ignore
111- '--radius' : `${ radius } px ` ,
113+ '--radius' : `${ radius } vmin ` ,
112114 '--duration' : `${ duration } s` ,
113- animationDelay : `-${ startAngle } s` // Stagger start positions
115+ animationDelay : `-${ startAngle } s`
114116 } }
115117 title = { `${ alien . name } (${ alien . distanceAU } AU)` }
116118 >
0 commit comments