1
+ * {
2
+ margin : 0 ;
3
+ padding : 0 ;
4
+ box-sizing : border-box;
5
+ }
6
+
7
+ body {
8
+ background : linear-gradient (135deg , # 0c0c2b 0% , # 1a1a3e 50% , # 0f0f2a 100% );
9
+ height : 100vh ;
10
+ overflow : hidden;
11
+ font-family : Arial, sans-serif;
12
+ }
13
+
14
+ .container {
15
+ display : flex;
16
+ justify-content : center;
17
+ align-items : center;
18
+ height : 100vh ;
19
+ position : relative;
20
+ }
21
+
22
+ .solar-system {
23
+ position : relative;
24
+ width : 600px ;
25
+ height : 600px ;
26
+ }
27
+
28
+ /* Sun */
29
+ .sun {
30
+ position : absolute;
31
+ top : 50% ;
32
+ left : 50% ;
33
+ transform : translate (-50% , -50% );
34
+ width : 80px ;
35
+ height : 80px ;
36
+ border-radius : 50% ;
37
+ background : radial-gradient (circle, # ffeb3b 20% , # ff9800 60% , # ff5722 100% );
38
+ box-shadow :
39
+ 0 0 50px # ffeb3b,
40
+ 0 0 100px # ff9800,
41
+ 0 0 150px # ff5722 ;
42
+ animation : sunPulse 4s ease-in-out infinite;
43
+ z-index : 10 ;
44
+ }
45
+
46
+ .sun-core {
47
+ position : absolute;
48
+ top : 15% ;
49
+ left : 15% ;
50
+ width : 70% ;
51
+ height : 70% ;
52
+ border-radius : 50% ;
53
+ background : radial-gradient (circle at 30% 30% , # fff 0% , # ffeb3b 50% );
54
+ animation : sunRotate 8s linear infinite;
55
+ }
56
+
57
+ .sun-flare {
58
+ position : absolute;
59
+ top : -20% ;
60
+ left : -20% ;
61
+ width : 140% ;
62
+ height : 140% ;
63
+ border-radius : 50% ;
64
+ background : radial-gradient (circle, transparent 60% , rgba (255 , 235 , 59 , 0.3 ) 70% , transparent 80% );
65
+ animation : sunFlare 6s ease-in-out infinite;
66
+ }
67
+
68
+ /* Orbits */
69
+ .orbit {
70
+ position : absolute;
71
+ top : 50% ;
72
+ left : 50% ;
73
+ border : 1px solid rgba (255 , 255 , 255 , 0.1 );
74
+ border-radius : 50% ;
75
+ transform : translate (-50% , -50% );
76
+ }
77
+
78
+ .orbit-1 {
79
+ width : 200px ;
80
+ height : 200px ;
81
+ animation : orbitRotate1 8s linear infinite;
82
+ }
83
+
84
+ .orbit-2 {
85
+ width : 320px ;
86
+ height : 320px ;
87
+ animation : orbitRotate2 15s linear infinite;
88
+ }
89
+
90
+ .orbit-3 {
91
+ width : 450px ;
92
+ height : 450px ;
93
+ animation : orbitRotate3 25s linear infinite;
94
+ }
95
+
96
+ /* Planets */
97
+ .planet {
98
+ position : absolute;
99
+ border-radius : 50% ;
100
+ top : 0 ;
101
+ left : 50% ;
102
+ transform : translateX (-50% );
103
+ }
104
+
105
+ .planet-1 {
106
+ width : 20px ;
107
+ height : 20px ;
108
+ background : linear-gradient (45deg , # e91e63 0% , # 9c27b0 100% );
109
+ box-shadow : 0 0 20px rgba (233 , 30 , 99 , 0.8 );
110
+ animation : planetSpin 3s linear infinite;
111
+ }
112
+
113
+ .planet-ring {
114
+ position : absolute;
115
+ top : -5px ;
116
+ left : -5px ;
117
+ width : 30px ;
118
+ height : 30px ;
119
+ border : 2px solid rgba (156 , 39 , 176 , 0.5 );
120
+ border-radius : 50% ;
121
+ animation : ringRotate 2s linear infinite;
122
+ }
123
+
124
+ .planet-2 {
125
+ width : 30px ;
126
+ height : 30px ;
127
+ background : linear-gradient (45deg , # 2196f3 0% , # 03a9f4 50% , # 00bcd4 100% );
128
+ box-shadow : 0 0 25px rgba (33 , 150 , 243 , 0.8 );
129
+ animation : planetSpin 4s linear infinite reverse;
130
+ }
131
+
132
+ .moon {
133
+ position : absolute;
134
+ top : -40px ;
135
+ left : 50% ;
136
+ transform : translateX (-50% );
137
+ width : 8px ;
138
+ height : 8px ;
139
+ background : # ffc107 ;
140
+ border-radius : 50% ;
141
+ box-shadow : 0 0 10px rgba (255 , 193 , 7 , 0.8 );
142
+ animation : moonOrbit 3s linear infinite;
143
+ }
144
+
145
+ .planet-3 {
146
+ width : 35px ;
147
+ height : 35px ;
148
+ background : linear-gradient (45deg , # 4caf50 0% , # 8bc34a 50% , # cddc39 100% );
149
+ box-shadow : 0 0 30px rgba (76 , 175 , 80 , 0.8 );
150
+ animation : planetSpin 5s linear infinite;
151
+ }
152
+
153
+ .atmosphere {
154
+ position : absolute;
155
+ top : -10px ;
156
+ left : -10px ;
157
+ width : 55px ;
158
+ height : 55px ;
159
+ border : 3px solid rgba (76 , 175 , 80 , 0.3 );
160
+ border-radius : 50% ;
161
+ animation : atmosphereGlow 3s ease-in-out infinite;
162
+ }
163
+
164
+ /* Stars */
165
+ .stars {
166
+ position : absolute;
167
+ top : 0 ;
168
+ left : 0 ;
169
+ width : 100% ;
170
+ height : 100% ;
171
+ }
172
+
173
+ .star {
174
+ position : absolute;
175
+ width : 3px ;
176
+ height : 3px ;
177
+ background : # fff ;
178
+ border-radius : 50% ;
179
+ animation : starTwinkle 2s ease-in-out infinite;
180
+ }
181
+
182
+ .star-1 { top : 20% ; left : 15% ; animation-delay : 0s ; }
183
+ .star-2 { top : 30% ; right : 20% ; animation-delay : 0.5s ; }
184
+ .star-3 { bottom : 25% ; left : 25% ; animation-delay : 1s ; }
185
+ .star-4 { top : 60% ; right : 15% ; animation-delay : 1.5s ; }
186
+ .star-5 { bottom : 40% ; right : 40% ; animation-delay : 2s ; }
187
+ .star-6 { top : 15% ; left : 60% ; animation-delay : 2.5s ; }
188
+
189
+ /* Animations */
190
+ @keyframes sunPulse {
191
+ 0% , 100% { transform : translate (-50% , -50% ) scale (1 ); }
192
+ 50% { transform : translate (-50% , -50% ) scale (1.1 ); }
193
+ }
194
+
195
+ @keyframes sunRotate {
196
+ 0% { transform : rotate (0deg ); }
197
+ 100% { transform : rotate (360deg ); }
198
+ }
199
+
200
+ @keyframes sunFlare {
201
+ 0% , 100% { opacity : 0.3 ; transform : rotate (0deg ) scale (1 ); }
202
+ 50% { opacity : 0.6 ; transform : rotate (180deg ) scale (1.2 ); }
203
+ }
204
+
205
+ @keyframes orbitRotate1 {
206
+ 0% { transform : translate (-50% , -50% ) rotate (0deg ); }
207
+ 100% { transform : translate (-50% , -50% ) rotate (360deg ); }
208
+ }
209
+
210
+ @keyframes orbitRotate2 {
211
+ 0% { transform : translate (-50% , -50% ) rotate (0deg ); }
212
+ 100% { transform : translate (-50% , -50% ) rotate (-360deg ); }
213
+ }
214
+
215
+ @keyframes orbitRotate3 {
216
+ 0% { transform : translate (-50% , -50% ) rotate (0deg ); }
217
+ 100% { transform : translate (-50% , -50% ) rotate (360deg ); }
218
+ }
219
+
220
+ @keyframes planetSpin {
221
+ 0% { transform : translateX (-50% ) rotate (0deg ); }
222
+ 100% { transform : translateX (-50% ) rotate (360deg ); }
223
+ }
224
+
225
+ @keyframes ringRotate {
226
+ 0% { transform : rotate (0deg ); }
227
+ 100% { transform : rotate (-360deg ); }
228
+ }
229
+
230
+ @keyframes moonOrbit {
231
+ 0% { transform : translateX (-50% ) rotate (0deg ) translateY (-40px ) rotate (0deg ); }
232
+ 100% { transform : translateX (-50% ) rotate (360deg ) translateY (-40px ) rotate (-360deg ); }
233
+ }
234
+
235
+ @keyframes atmosphereGlow {
236
+ 0% , 100% { opacity : 0.3 ; transform : scale (1 ); }
237
+ 50% { opacity : 0.8 ; transform : scale (1.1 ); }
238
+ }
239
+
240
+ @keyframes starTwinkle {
241
+ 0% , 100% { opacity : 0.3 ; transform : scale (1 ); }
242
+ 50% { opacity : 1 ; transform : scale (1.5 ); }
243
+ }
244
+
245
+ /* Responsive Design */
246
+ @media (max-width : 768px ) {
247
+ .solar-system {
248
+ width : 400px ;
249
+ height : 400px ;
250
+ }
251
+
252
+ .orbit-1 { width : 150px ; height : 150px ; }
253
+ .orbit-2 { width : 240px ; height : 240px ; }
254
+ .orbit-3 { width : 350px ; height : 350px ; }
255
+
256
+ .sun {
257
+ width : 60px ;
258
+ height : 60px ;
259
+ }
260
+ }
0 commit comments