solar-background 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,438 @@
1
+ (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports):typeof define==`function`&&define.amd?define([`exports`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.SolarBackground={}))})(this,function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var t=`
2
+ .solar-background-root {
3
+ position: absolute;
4
+ inset: 0;
5
+ width: 100%;
6
+ height: 100%;
7
+ overflow: hidden;
8
+ pointer-events: none;
9
+ z-index: -1;
10
+ background: radial-gradient(circle at top, #07142b 0%, #02040e 42%, #000000 100%);
11
+ font-family: Inter, system-ui, sans-serif;
12
+ }
13
+
14
+ .solar-background-root::before {
15
+ content: '';
16
+ position: absolute;
17
+ inset: 0;
18
+ background: radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.08), transparent 22%),
19
+ radial-gradient(circle at 80% 15%, rgba(82, 180, 255, 0.06), transparent 18%),
20
+ radial-gradient(circle at 60% 85%, rgba(249, 237, 173, 0.05), transparent 16%);
21
+ pointer-events: none;
22
+ }
23
+
24
+ .solar-background-root .scene {
25
+ position: absolute;
26
+ inset: 0;
27
+ width: min(90vmin, 760px);
28
+ height: min(90vmin, 760px);
29
+ margin: auto;
30
+ z-index: 3;
31
+ transform-origin: center;
32
+ animation: scene-zoom 20s ease-in-out infinite alternate;
33
+ }
34
+
35
+ .solar-background-root .sun {
36
+ position: absolute;
37
+ inset: 50%;
38
+ transform: translate(-50%, -50%);
39
+ width: 120px;
40
+ height: 120px;
41
+ border-radius: 50%;
42
+ background:
43
+ radial-gradient(circle at 38% 32%, #fff9d4 0%, #ffe57d 16%, #ffba3f 34%, #ff8d1d 58%, #e85a0f 80%, #b83006 96%),
44
+ radial-gradient(circle at 62% 55%, rgba(255, 220, 120, 0.94) 0%, rgba(255, 150, 40, 0.78) 28%, rgba(230, 100, 24, 0.5) 62%, transparent 100%);
45
+ box-shadow:
46
+ 0 0 120px rgba(255, 175, 55, 0.96),
47
+ 0 0 240px rgba(255, 135, 20, 0.3),
48
+ inset 0 0 32px rgba(255, 250, 210, 0.92);
49
+ overflow: hidden;
50
+ animation: sun-pulse 4.2s ease-in-out infinite alternate;
51
+ z-index: 6;
52
+ }
53
+
54
+ .solar-background-root .sun::before {
55
+ content: '';
56
+ position: absolute;
57
+ inset: 10%;
58
+ border-radius: 50%;
59
+ background:
60
+ radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.75) 0%, transparent 40%),
61
+ radial-gradient(circle at 50% 55%, rgba(255, 210, 90, 0.45) 0%, transparent 38%),
62
+ radial-gradient(circle at 65% 60%, rgba(255, 160, 45, 0.28) 0%, transparent 45%);
63
+ background-size: 160% 160%;
64
+ filter: blur(3px);
65
+ mix-blend-mode: screen;
66
+ animation: sun-surface 4.6s ease-in-out infinite alternate;
67
+ }
68
+
69
+ .solar-background-root .sun::after {
70
+ content: '';
71
+ position: absolute;
72
+ inset: -22%;
73
+ border-radius: 50%;
74
+ background: conic-gradient(from 0deg, transparent 0deg 10deg, rgba(255, 224, 140, 0.18) 10deg 16deg, transparent 16deg 24deg, rgba(255, 180, 75, 0.13) 24deg 32deg, transparent 32deg 360deg);
75
+ opacity: 0.8;
76
+ filter: blur(14px);
77
+ animation: sun-flares 6.4s linear infinite;
78
+ }
79
+
80
+ .solar-background-root .orbit {
81
+ position: absolute;
82
+ inset: 50%;
83
+ transform: translate(-50%, -50%);
84
+ border: 1px solid rgba(255, 255, 255, 0.12);
85
+ border-radius: 50%;
86
+ z-index: 4;
87
+ }
88
+
89
+ .solar-background-root .orbit-mercury {
90
+ width: 130px;
91
+ height: 130px;
92
+ animation: orbit 4s linear infinite;
93
+ }
94
+
95
+ .solar-background-root .orbit-venus {
96
+ width: 180px;
97
+ height: 180px;
98
+ animation: orbit 7s linear infinite reverse;
99
+ }
100
+
101
+ .solar-background-root .orbit-earth {
102
+ width: 240px;
103
+ height: 240px;
104
+ animation: orbit 10s linear infinite;
105
+ }
106
+
107
+ .solar-background-root .orbit-mars {
108
+ width: 300px;
109
+ height: 300px;
110
+ animation: orbit 16s linear infinite;
111
+ }
112
+
113
+ .solar-background-root .orbit-jupiter {
114
+ width: 380px;
115
+ height: 380px;
116
+ animation: orbit 24s linear infinite;
117
+ }
118
+
119
+ .solar-background-root .orbit-saturn {
120
+ width: 460px;
121
+ height: 460px;
122
+ animation: orbit 32s linear infinite;
123
+ }
124
+
125
+ .solar-background-root .orbit-uranus {
126
+ width: 540px;
127
+ height: 540px;
128
+ animation: orbit 46s linear infinite reverse;
129
+ }
130
+
131
+ .solar-background-root .orbit-neptune {
132
+ width: 620px;
133
+ height: 620px;
134
+ animation: orbit 56s linear infinite;
135
+ }
136
+
137
+ .solar-background-root .orbit-pluto {
138
+ width: 700px;
139
+ height: 700px;
140
+ animation: orbit 68s linear infinite;
141
+ }
142
+
143
+ @keyframes orbit {
144
+ to {
145
+ transform: translate(-50%, -50%) rotate(360deg);
146
+ }
147
+ }
148
+
149
+ .solar-background-root .planet,
150
+ .solar-background-root .moon {
151
+ position: absolute;
152
+ top: 50%;
153
+ right: 0;
154
+ transform: translate(50%, -50%);
155
+ border-radius: 50%;
156
+ background-size: cover;
157
+ background-position: center;
158
+ box-shadow: 0 0 12px rgba(255, 255, 255, 0.08);
159
+ z-index: 5;
160
+ }
161
+
162
+ .solar-background-root .mercury,
163
+ .solar-background-root .venus,
164
+ .solar-background-root .earth,
165
+ .solar-background-root .mars,
166
+ .solar-background-root .jupiter,
167
+ .solar-background-root .saturn,
168
+ .solar-background-root .uranus,
169
+ .solar-background-root .neptune,
170
+ .solar-background-root .pluto {
171
+ width: 16px;
172
+ height: 16px;
173
+ }
174
+
175
+ .solar-background-root .moon {
176
+ width: 8px;
177
+ height: 8px;
178
+ background-color: #ccc;
179
+ }
180
+
181
+ .solar-background-root .mercury {
182
+ width: 14px;
183
+ height: 14px;
184
+ background-image: url('/images/mercury.png');
185
+ }
186
+
187
+ .solar-background-root .venus {
188
+ width: 16px;
189
+ height: 16px;
190
+ background-image: url('/images/venus.png');
191
+ }
192
+
193
+ .solar-background-root .earth {
194
+ width: 22px;
195
+ height: 22px;
196
+ background-image: url('/images/earth.png');
197
+ }
198
+
199
+ .solar-background-root .mars {
200
+ width: 18px;
201
+ height: 18px;
202
+ background-image: url('/images/mars.png');
203
+ }
204
+
205
+ .solar-background-root .jupiter {
206
+ width: 28px;
207
+ height: 28px;
208
+ background-image: url('/images/jupiter.png');
209
+ }
210
+
211
+ .solar-background-root .saturn {
212
+ width: 26px;
213
+ height: 26px;
214
+ background-image: url('/images/saturn.png');
215
+ }
216
+
217
+ .solar-background-root .uranus {
218
+ width: 22px;
219
+ height: 22px;
220
+ background-image: url('/images/uranus.png');
221
+ }
222
+
223
+ .solar-background-root .neptune {
224
+ width: 20px;
225
+ height: 20px;
226
+ background-image: url('/images/neptune.png');
227
+ }
228
+
229
+ .solar-background-root .pluto {
230
+ width: 14px;
231
+ height: 14px;
232
+ background-image: url('/images/pluto.png');
233
+ }
234
+
235
+ .solar-background-root .earth .moon-orbit {
236
+ position: absolute;
237
+ inset: 50%;
238
+ width: 48px;
239
+ height: 48px;
240
+ transform: translate(-50%, -50%);
241
+ border: 1px dashed rgba(255, 255, 255, 0.18);
242
+ border-radius: 50%;
243
+ animation: orbit 3s linear infinite;
244
+ }
245
+
246
+ .solar-background-root .earth .moon {
247
+ right: -6px;
248
+ top: 50%;
249
+ transform: translate(50%, -50%);
250
+ }
251
+
252
+ .solar-background-root .star {
253
+ position: absolute;
254
+ background: rgba(255, 255, 255, 0.85);
255
+ border-radius: 50%;
256
+ pointer-events: none;
257
+ }
258
+
259
+ .solar-background-root .zodiac-layer {
260
+ position: absolute;
261
+ inset: 0;
262
+ pointer-events: none;
263
+ z-index: 1;
264
+ }
265
+
266
+ .solar-background-root .zodiac-sign {
267
+ position: absolute;
268
+ width: min(34vmin, 360px);
269
+ height: min(34vmin, 360px);
270
+ padding: 1rem;
271
+ opacity: 0;
272
+ pointer-events: none;
273
+ animation: constellation-appear 3.4s ease-in-out forwards;
274
+ transform-origin: center;
275
+ border-radius: 24px;
276
+ background: rgba(7, 14, 43, 0.85);
277
+ border: 1px solid rgba(255, 255, 255, 0.12);
278
+ box-shadow: inset 0 0 50px rgba(255, 255, 255, 0.08), 0 18px 80px rgba(0, 0, 0, 0.35);
279
+ backdrop-filter: blur(12px);
280
+ }
281
+
282
+ .solar-background-root .left-sign {
283
+ left: 2%;
284
+ }
285
+
286
+ .solar-background-root .right-sign {
287
+ right: 2%;
288
+ }
289
+
290
+ .solar-background-root .pattern-star {
291
+ position: absolute;
292
+ width: 8px;
293
+ height: 8px;
294
+ border-radius: 50%;
295
+ background: radial-gradient(circle, #ffffff 0%, rgba(255,255,255,0.1) 100%);
296
+ box-shadow: 0 0 16px rgba(255, 255, 255, 0.6);
297
+ }
298
+
299
+ .solar-background-root .pattern-line {
300
+ position: absolute;
301
+ height: 2px;
302
+ background: rgba(255, 255, 255, 0.45);
303
+ box-shadow: 0 0 12px rgba(255, 255, 255, 0.18);
304
+ transform-origin: left center;
305
+ }
306
+
307
+ .solar-background-root .pattern-title {
308
+ position: absolute;
309
+ left: 1rem;
310
+ top: 1rem;
311
+ font-size: 1rem;
312
+ text-transform: uppercase;
313
+ letter-spacing: 0.18em;
314
+ color: rgba(255, 255, 255, 0.92);
315
+ font-weight: 700;
316
+ text-shadow: 0 0 18px rgba(255, 255, 255, 0.15);
317
+ }
318
+
319
+ .solar-background-root .pattern-subtitle {
320
+ position: absolute;
321
+ left: 1rem;
322
+ bottom: 1rem;
323
+ font-size: 0.92rem;
324
+ color: rgba(255, 255, 255, 0.76);
325
+ }
326
+
327
+ .solar-background-root .pattern-glyph {
328
+ position: absolute;
329
+ right: 1rem;
330
+ top: 1rem;
331
+ font-size: 2.2rem;
332
+ line-height: 1;
333
+ }
334
+
335
+ .solar-background-root .pattern-pair {
336
+ position: absolute;
337
+ right: 1rem;
338
+ bottom: 1rem;
339
+ font-size: 1.1rem;
340
+ color: rgba(255, 255, 255, 0.9);
341
+ letter-spacing: 0.08em;
342
+ }
343
+
344
+ @keyframes constellation-appear {
345
+ 0% {
346
+ opacity: 0;
347
+ transform: translateY(15px) scale(0.96);
348
+ }
349
+ 15% {
350
+ opacity: 1;
351
+ transform: translateY(0) scale(1);
352
+ }
353
+ 85% {
354
+ opacity: 1;
355
+ }
356
+ 100% {
357
+ opacity: 0;
358
+ transform: translateY(-10px) scale(0.96);
359
+ }
360
+ }
361
+
362
+ @keyframes sun-pulse {
363
+ 0% {
364
+ transform: translate(-50%, -50%) scale(1);
365
+ box-shadow:
366
+ 0 0 110px rgba(255, 175, 55, 0.96),
367
+ 0 0 230px rgba(255, 135, 20, 0.3),
368
+ inset 0 0 30px rgba(255, 250, 210, 0.92);
369
+ }
370
+ 50% {
371
+ transform: translate(-50%, -50%) scale(1.02);
372
+ box-shadow:
373
+ 0 0 120px rgba(255, 190, 65, 0.96),
374
+ 0 0 250px rgba(255, 140, 25, 0.32),
375
+ inset 0 0 34px rgba(255, 255, 220, 0.94);
376
+ }
377
+ 100% {
378
+ transform: translate(-50%, -50%) scale(1);
379
+ box-shadow:
380
+ 0 0 110px rgba(255, 175, 55, 0.96),
381
+ 0 0 230px rgba(255, 135, 20, 0.3),
382
+ inset 0 0 30px rgba(255, 250, 210, 0.92);
383
+ }
384
+ }
385
+
386
+ @keyframes sun-surface {
387
+ 0% {
388
+ background-position: 0% 0%;
389
+ opacity: 1;
390
+ }
391
+ 50% {
392
+ background-position: 40% 45%;
393
+ opacity: 0.92;
394
+ }
395
+ 100% {
396
+ background-position: 0% 15%;
397
+ opacity: 1;
398
+ }
399
+ }
400
+
401
+ @keyframes sun-flares {
402
+ from {
403
+ transform: rotate(0deg);
404
+ opacity: 0.82;
405
+ }
406
+ to {
407
+ transform: rotate(360deg);
408
+ opacity: 0.68;
409
+ }
410
+ }
411
+
412
+ @keyframes scene-zoom {
413
+ 0% {
414
+ transform: scale(1) translateZ(0);
415
+ }
416
+ 100% {
417
+ transform: scale(1.08) translateZ(0);
418
+ }
419
+ }
420
+ `,n=[{zodiac:`Sagittarius`,animal:`Rat`,traits:[`Deeply curious`,`Highly sociable`,`Quick-witted`,`Freedom-loving`],zodiacStars:[{id:`S1`,x:40,y:30},{id:`S2`,x:45,y:45},{id:`S3`,x:55,y:50},{id:`S4`,x:60,y:35},{id:`S5`,x:50,y:25},{id:`S6`,x:30,y:25}],zodiacLines:[[`S1`,`S2`],[`S2`,`S3`],[`S3`,`S4`],[`S4`,`S5`],[`S5`,`S1`],[`S1`,`S6`],[`S2`,`S5`]],animalStars:[{id:`R1`,x:20,y:70},{id:`R2`,x:35,y:60},{id:`R3`,x:30,y:45},{id:`R4`,x:55,y:65},{id:`R5`,x:75,y:75},{id:`R6`,x:90,y:60}],animalLines:[[`R1`,`R2`],[`R2`,`R3`],[`R3`,`R2`],[`R2`,`R4`],[`R4`,`R5`],[`R5`,`R6`]]},{zodiac:`Capricorn`,animal:`Ox`,traits:[`Hardworking`,`Methodical`,`Disciplined`,`Stable`],zodiacStars:[{id:`C1`,x:20,y:30},{id:`C2`,x:25,y:35},{id:`C3`,x:45,y:60},{id:`C4`,x:70,y:50},{id:`C5`,x:75,y:45}],zodiacLines:[[`C1`,`C2`],[`C2`,`C3`],[`C3`,`C4`],[`C4`,`C5`],[`C5`,`C1`]],animalStars:[{id:`O1`,x:25,y:35},{id:`O2`,x:40,y:45},{id:`O3`,x:55,y:35},{id:`O4`,x:40,y:65},{id:`O5`,x:70,y:60},{id:`O6`,x:75,y:75}],animalLines:[[`O1`,`O2`],[`O3`,`O2`],[`O2`,`O4`],[`O2`,`O5`],[`O5`,`O6`]]},{zodiac:`Aquarius`,animal:`Tiger`,traits:[`Fiercely independent`,`Natural leader`,`Unpredictable`],zodiacStars:[{id:`AQ1`,x:30,y:20},{id:`AQ2`,x:45,y:30},{id:`AQ3`,x:40,y:50},{id:`AQ4`,x:60,y:65}],zodiacLines:[[`AQ1`,`AQ2`],[`AQ2`,`AQ3`],[`AQ3`,`AQ4`]],animalStars:[{id:`T1`,x:20,y:40},{id:`T2`,x:35,y:30},{id:`T3`,x:50,y:45},{id:`T4`,x:45,y:70},{id:`T5`,x:70,y:50},{id:`T6`,x:85,y:35}],animalLines:[[`T1`,`T2`],[`T2`,`T3`],[`T3`,`T4`],[`T3`,`T5`],[`T5`,`T6`]]},{zodiac:`Pisces`,animal:`Rabbit`,traits:[`Gentle`,`Highly sensitive`,`Artistic`,`Peace-loving`],zodiacStars:[{id:`P1`,x:20,y:20},{id:`P2`,x:40,y:40},{id:`P3`,x:60,y:60},{id:`P4`,x:75,y:45}],zodiacLines:[[`P1`,`P2`],[`P2`,`P3`],[`P3`,`P4`]],animalStars:[{id:`RB1`,x:30,y:25},{id:`RB2`,x:35,y:25},{id:`RB3`,x:33,y:40},{id:`RB4`,x:20,y:45},{id:`RB5`,x:55,y:50},{id:`RB6`,x:70,y:60}],animalLines:[[`RB1`,`RB3`],[`RB2`,`RB3`],[`RB4`,`RB3`],[`RB3`,`RB5`],[`RB5`,`RB6`]]}],r={Aries:`♈`,Taurus:`♉`,Gemini:`♊`,Cancer:`♋`,Leo:`♌`,Virgo:`♍`,Libra:`♎`,Scorpio:`♏`,Sagittarius:`♐`,Capricorn:`♑`,Aquarius:`♒`,Pisces:`♓`},i={Rat:`🐀`,Ox:`🐂`,Tiger:`🐅`,Rabbit:`🐇`,Dragon:`🐉`,Snake:`🐍`,Horse:`🐎`,Goat:`🐐`,Monkey:`🐒`,Rooster:`🐓`,Dog:`🐕`,Pig:`🐖`},a=new WeakMap;function o(){if(document.getElementById(`solar-background-style`))return;let e=document.createElement(`style`);e.id=`solar-background-style`,e.textContent=t,document.head.appendChild(e)}function s(){return`
421
+ <div class="scene">
422
+ <div class="sun"></div>
423
+ <div class="orbit orbit-mercury"><div class="planet mercury"></div></div>
424
+ <div class="orbit orbit-venus"><div class="planet venus"></div></div>
425
+ <div class="orbit orbit-earth">
426
+ <div class="planet earth">
427
+ <div class="moon-orbit"><div class="moon"></div></div>
428
+ </div>
429
+ </div>
430
+ <div class="orbit orbit-mars"><div class="planet mars"></div></div>
431
+ <div class="orbit orbit-jupiter"><div class="planet jupiter"></div></div>
432
+ <div class="orbit orbit-saturn"><div class="planet saturn"></div></div>
433
+ <div class="orbit orbit-uranus"><div class="planet uranus"></div></div>
434
+ <div class="orbit orbit-neptune"><div class="planet neptune"></div></div>
435
+ <div class="orbit orbit-pluto"><div class="planet pluto"></div></div>
436
+ </div>
437
+ <div class="zodiac-layer"></div>
438
+ `}function c(e,t=1260){for(let n=0;n<t;n++){let t=document.createElement(`span`);t.className=`star`;let n=Math.random()*2+.8;t.style.width=`${n}px`,t.style.height=`${n}px`,t.style.top=`${Math.random()*100}%`,t.style.left=`${Math.random()*100}%`,t.style.opacity=`${Math.random()*.6+.2}`,t.style.transform=`translate(-50%, -50%)`,e.appendChild(t)}}function l(e,t,n,a,o){let s=e.querySelector(`.zodiac-layer`);if(!s)return;let c=n===`zodiac`?t.zodiacStars:t.animalStars,l=n===`zodiac`?t.zodiacLines:t.animalLines,u=document.createElement(`div`);u.className=`zodiac-sign ${n}-sign ${a}-sign`,u.style.top=`${Math.random()*34+10}%`;let d=document.createElement(`div`);d.className=`pattern-title`,d.textContent=n===`zodiac`?`${t.zodiac} Constellation`:`${t.animal} Pattern`,u.appendChild(d);let f=document.createElement(`div`);f.className=`pattern-subtitle`,f.textContent=n===`zodiac`?t.traits.join(` • `):`Animal: ${t.animal}`,u.appendChild(f);let p=document.createElement(`div`);p.className=`pattern-glyph`,p.textContent=n===`zodiac`?r[t.zodiac]:i[t.animal]||t.animal,u.appendChild(p);let m=document.createElement(`div`);m.className=`pattern-pair`,m.textContent=n===`zodiac`?t.animal:t.zodiac,u.appendChild(m),s.appendChild(u);let h=u.getBoundingClientRect(),g=h.width,_=h.height,v=new Map(c.map(e=>[e.id,e]));c.forEach(e=>{let t=document.createElement(`span`);t.className=`pattern-star`,t.style.left=`${e.x}%`,t.style.top=`${e.y}%`,u.appendChild(t)}),l.forEach(([e,t])=>{let n=v.get(e),r=v.get(t);if(!n||!r)return;let i=n.x/100*g,a=n.y/100*_,o=r.x/100*g,s=r.y/100*_,c=o-i,l=s-a,d=document.createElement(`span`);d.className=`pattern-line`,d.style.width=`${Math.sqrt(c*c+l*l)}px`,d.style.left=`${i}px`,d.style.top=`${a}px`,d.style.transform=`rotate(${Math.atan2(l,c)}rad)`,u.appendChild(d)}),setTimeout(()=>{s.contains(u)&&s.removeChild(u)},o-300)}function u(e,t=4200,r=1400){let i=n[Math.floor(Math.random()*n.length)];l(e,i,`zodiac`,`left`,t),setTimeout(()=>l(e,i,`animal`,`right`,t),r)}function d(e=document.body,t={}){o();let n=typeof e==`string`?document.querySelector(e):e;if(!n)throw Error(`SolarBackground: mount target not found`);n!==document.body&&getComputedStyle(n).position===`static`&&(n.style.position=`relative`);let r=document.createElement(`div`);r.className=`solar-background-root`,r.style.position=`absolute`,r.style.inset=`0`,r.style.width=`100%`,r.style.height=`100%`,r.style.zIndex=`-1`,r.innerHTML=s(),n.appendChild(r),c(r,t.starCount??260);let i=t.cycleDuration??4200,l=t.animalDelay??1400;u(r,i,l);let d=setInterval(()=>u(r,i,l),i);return a.set(r,{interval:d}),r}function f(e){let t=a.get(e);t&&clearInterval(t.interval),e&&e.parentNode&&e.parentNode.removeChild(e),a.delete(e)}function p(e){o(),e.classList.add(`solar-background-root`),e.style.display=`block`,e.style.position=`absolute`,e.style.inset=`0`,e.style.width=`100%`,e.style.height=`100%`,e.style.pointerEvents=`none`,e.style.zIndex=`-1`,e.innerHTML=s(),c(e,260);let t=setInterval(()=>u(e),4200);a.set(e,{interval:t})}var m=class extends HTMLElement{connectedCallback(){this.__solarBackgroundInitialized||=(p(this),!0)}disconnectedCallback(){let e=a.get(this);e&&(clearInterval(e.interval),a.delete(this))}};customElements.get(`solar-background`)||customElements.define(`solar-background`,m),e.createSolarBackground=d,e.destroySolarBackground=f});
package/index.html ADDED
@@ -0,0 +1,58 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+ <title>Solar System Background</title>
8
+ </head>
9
+ <body>
10
+ <div class="scene">
11
+ <div class="sun"></div>
12
+
13
+ <div class="orbit orbit-mercury">
14
+ <div class="planet mercury"></div>
15
+ </div>
16
+
17
+ <div class="orbit orbit-venus">
18
+ <div class="planet venus"></div>
19
+ </div>
20
+
21
+ <div class="orbit orbit-earth">
22
+ <div class="planet earth">
23
+ <div class="moon-orbit">
24
+ <div class="moon"></div>
25
+ </div>
26
+ </div>
27
+ </div>
28
+
29
+ <div class="orbit orbit-mars">
30
+ <div class="planet mars"></div>
31
+ </div>
32
+
33
+ <div class="orbit orbit-jupiter">
34
+ <div class="planet jupiter"></div>
35
+ </div>
36
+
37
+ <div class="orbit orbit-saturn">
38
+ <div class="planet saturn"></div>
39
+ </div>
40
+
41
+ <div class="orbit orbit-uranus">
42
+ <div class="planet uranus"></div>
43
+ </div>
44
+
45
+ <div class="orbit orbit-neptune">
46
+ <div class="planet neptune"></div>
47
+ </div>
48
+
49
+ <div class="orbit orbit-pluto">
50
+ <div class="planet pluto"></div>
51
+ </div>
52
+ </div>
53
+
54
+ <solar-background></solar-background>
55
+
56
+ <script type="module" src="/src/main.js"></script>
57
+ </body>
58
+ </html>
package/package.json ADDED
@@ -0,0 +1,24 @@
1
+ {
2
+ "name": "solar-background",
3
+ "version": "0.1.0",
4
+ "private": false,
5
+ "type": "module",
6
+ "main": "dist/solar-background.umd.js",
7
+ "module": "dist/solar-background.esm.js",
8
+ "browser": "dist/solar-background.umd.js",
9
+ "unpkg": "dist/solar-background.umd.js",
10
+ "exports": {
11
+ ".": {
12
+ "import": "./dist/solar-background.esm.js",
13
+ "require": "./dist/solar-background.umd.js"
14
+ }
15
+ },
16
+ "scripts": {
17
+ "dev": "vite",
18
+ "build": "vite build",
19
+ "preview": "vite preview"
20
+ },
21
+ "devDependencies": {
22
+ "vite": "^8.0.12"
23
+ }
24
+ }
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="48" height="46" fill="none" viewBox="0 0 48 46"><path fill="#863bff" d="M25.946 44.938c-.664.845-2.021.375-2.021-.698V33.937a2.26 2.26 0 0 0-2.262-2.262H10.287c-.92 0-1.456-1.04-.92-1.788l7.48-10.471c1.07-1.497 0-3.578-1.842-3.578H1.237c-.92 0-1.456-1.04-.92-1.788L10.013.474c.214-.297.556-.474.92-.474h28.894c.92 0 1.456 1.04.92 1.788l-7.48 10.471c-1.07 1.498 0 3.579 1.842 3.579h11.377c.943 0 1.473 1.088.89 1.83L25.947 44.94z" style="fill:#863bff;fill:color(display-p3 .5252 .23 1);fill-opacity:1"/><mask id="a" width="48" height="46" x="0" y="0" maskUnits="userSpaceOnUse" style="mask-type:alpha"><path fill="#000" d="M25.842 44.938c-.664.844-2.021.375-2.021-.698V33.937a2.26 2.26 0 0 0-2.262-2.262H10.183c-.92 0-1.456-1.04-.92-1.788l7.48-10.471c1.07-1.498 0-3.579-1.842-3.579H1.133c-.92 0-1.456-1.04-.92-1.787L9.91.473c.214-.297.556-.474.92-.474h28.894c.92 0 1.456 1.04.92 1.788l-7.48 10.471c-1.07 1.498 0 3.578 1.842 3.578h11.377c.943 0 1.473 1.088.89 1.832L25.843 44.94z" style="fill:#000;fill-opacity:1"/></mask><g mask="url(#a)"><g filter="url(#b)"><ellipse cx="5.508" cy="14.704" fill="#ede6ff" rx="5.508" ry="14.704" style="fill:#ede6ff;fill:color(display-p3 .9275 .9033 1);fill-opacity:1" transform="matrix(.00324 1 1 -.00324 -4.47 31.516)"/></g><g filter="url(#c)"><ellipse cx="10.399" cy="29.851" fill="#ede6ff" rx="10.399" ry="29.851" style="fill:#ede6ff;fill:color(display-p3 .9275 .9033 1);fill-opacity:1" transform="matrix(.00324 1 1 -.00324 -39.328 7.883)"/></g><g filter="url(#d)"><ellipse cx="5.508" cy="30.487" fill="#7e14ff" rx="5.508" ry="30.487" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(89.814 -25.913 -14.639)scale(1 -1)"/></g><g filter="url(#e)"><ellipse cx="5.508" cy="30.599" fill="#7e14ff" rx="5.508" ry="30.599" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(89.814 -32.644 -3.334)scale(1 -1)"/></g><g filter="url(#f)"><ellipse cx="5.508" cy="30.599" fill="#7e14ff" rx="5.508" ry="30.599" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="matrix(.00324 1 1 -.00324 -34.34 30.47)"/></g><g filter="url(#g)"><ellipse cx="14.072" cy="22.078" fill="#ede6ff" rx="14.072" ry="22.078" style="fill:#ede6ff;fill:color(display-p3 .9275 .9033 1);fill-opacity:1" transform="rotate(93.35 24.506 48.493)scale(-1 1)"/></g><g filter="url(#h)"><ellipse cx="3.47" cy="21.501" fill="#7e14ff" rx="3.47" ry="21.501" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(89.009 28.708 47.59)scale(-1 1)"/></g><g filter="url(#i)"><ellipse cx="3.47" cy="21.501" fill="#7e14ff" rx="3.47" ry="21.501" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(89.009 28.708 47.59)scale(-1 1)"/></g><g filter="url(#j)"><ellipse cx=".387" cy="8.972" fill="#7e14ff" rx="4.407" ry="29.108" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(39.51 .387 8.972)"/></g><g filter="url(#k)"><ellipse cx="47.523" cy="-6.092" fill="#7e14ff" rx="4.407" ry="29.108" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(37.892 47.523 -6.092)"/></g><g filter="url(#l)"><ellipse cx="41.412" cy="6.333" fill="#47bfff" rx="5.971" ry="9.665" style="fill:#47bfff;fill:color(display-p3 .2799 .748 1);fill-opacity:1" transform="rotate(37.892 41.412 6.333)"/></g><g filter="url(#m)"><ellipse cx="-1.879" cy="38.332" fill="#7e14ff" rx="4.407" ry="29.108" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(37.892 -1.88 38.332)"/></g><g filter="url(#n)"><ellipse cx="-1.879" cy="38.332" fill="#7e14ff" rx="4.407" ry="29.108" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(37.892 -1.88 38.332)"/></g><g filter="url(#o)"><ellipse cx="35.651" cy="29.907" fill="#7e14ff" rx="4.407" ry="29.108" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(37.892 35.651 29.907)"/></g><g filter="url(#p)"><ellipse cx="38.418" cy="32.4" fill="#47bfff" rx="5.971" ry="15.297" style="fill:#47bfff;fill:color(display-p3 .2799 .748 1);fill-opacity:1" transform="rotate(37.892 38.418 32.4)"/></g></g><defs><filter id="b" width="60.045" height="41.654" x="-19.77" y="16.149" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="7.659"/></filter><filter id="c" width="90.34" height="51.437" x="-54.613" y="-7.533" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="7.659"/></filter><filter id="d" width="79.355" height="29.4" x="-49.64" y="2.03" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="e" width="79.579" height="29.4" x="-45.045" y="20.029" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="f" width="79.579" height="29.4" x="-43.513" y="21.178" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="g" width="74.749" height="58.852" x="15.756" y="-17.901" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="7.659"/></filter><filter id="h" width="61.377" height="25.362" x="23.548" y="2.284" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="i" width="61.377" height="25.362" x="23.548" y="2.284" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="j" width="56.045" height="63.649" x="-27.636" y="-22.853" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="k" width="54.814" height="64.646" x="20.116" y="-38.415" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="l" width="33.541" height="35.313" x="24.641" y="-11.323" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="m" width="54.814" height="64.646" x="-29.286" y="6.009" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="n" width="54.814" height="64.646" x="-29.286" y="6.009" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="o" width="54.814" height="64.646" x="8.244" y="-2.416" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="p" width="39.409" height="43.623" x="18.713" y="10.588" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter></defs></svg>
@@ -0,0 +1,24 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg">
2
+ <symbol id="bluesky-icon" viewBox="0 0 16 17">
3
+ <g clip-path="url(#bluesky-clip)"><path fill="#08060d" d="M7.75 7.735c-.693-1.348-2.58-3.86-4.334-5.097-1.68-1.187-2.32-.981-2.74-.79C.188 2.065.1 2.812.1 3.251s.241 3.602.398 4.13c.52 1.744 2.367 2.333 4.07 2.145-2.495.37-4.71 1.278-1.805 4.512 3.196 3.309 4.38-.71 4.987-2.746.608 2.036 1.307 5.91 4.93 2.746 2.72-2.746.747-4.143-1.747-4.512 1.702.189 3.55-.4 4.07-2.145.156-.528.397-3.691.397-4.13s-.088-1.186-.575-1.406c-.42-.19-1.06-.395-2.741.79-1.755 1.24-3.64 3.752-4.334 5.099"/></g>
4
+ <defs><clipPath id="bluesky-clip"><path fill="#fff" d="M.1.85h15.3v15.3H.1z"/></clipPath></defs>
5
+ </symbol>
6
+ <symbol id="discord-icon" viewBox="0 0 20 19">
7
+ <path fill="#08060d" d="M16.224 3.768a14.5 14.5 0 0 0-3.67-1.153c-.158.286-.343.67-.47.976a13.5 13.5 0 0 0-4.067 0c-.128-.306-.317-.69-.476-.976A14.4 14.4 0 0 0 3.868 3.77C1.546 7.28.916 10.703 1.231 14.077a14.7 14.7 0 0 0 4.5 2.306q.545-.748.965-1.587a9.5 9.5 0 0 1-1.518-.74q.191-.14.372-.293c2.927 1.369 6.107 1.369 8.999 0q.183.152.372.294-.723.437-1.52.74.418.838.963 1.588a14.6 14.6 0 0 0 4.504-2.308c.37-3.911-.63-7.302-2.644-10.309m-9.13 8.234c-.878 0-1.599-.82-1.599-1.82 0-.998.705-1.82 1.6-1.82.894 0 1.614.82 1.599 1.82.001 1-.705 1.82-1.6 1.82m5.91 0c-.878 0-1.599-.82-1.599-1.82 0-.998.705-1.82 1.6-1.82.893 0 1.614.82 1.599 1.82 0 1-.706 1.82-1.6 1.82"/>
8
+ </symbol>
9
+ <symbol id="documentation-icon" viewBox="0 0 21 20">
10
+ <path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="m15.5 13.333 1.533 1.322c.645.555.967.833.967 1.178s-.322.623-.967 1.179L15.5 18.333m-3.333-5-1.534 1.322c-.644.555-.966.833-.966 1.178s.322.623.966 1.179l1.534 1.321"/>
11
+ <path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M17.167 10.836v-4.32c0-1.41 0-2.117-.224-2.68-.359-.906-1.118-1.621-2.08-1.96-.599-.21-1.349-.21-2.848-.21-2.623 0-3.935 0-4.983.369-1.684.591-3.013 1.842-3.641 3.428C3 6.449 3 7.684 3 10.154v2.122c0 2.558 0 3.838.706 4.726q.306.383.713.671c.76.536 1.79.64 3.581.66"/>
12
+ <path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M3 10a2.78 2.78 0 0 1 2.778-2.778c.555 0 1.209.097 1.748-.047.48-.129.854-.503.982-.982.145-.54.048-1.194.048-1.749a2.78 2.78 0 0 1 2.777-2.777"/>
13
+ </symbol>
14
+ <symbol id="github-icon" viewBox="0 0 19 19">
15
+ <path fill="#08060d" fill-rule="evenodd" d="M9.356 1.85C5.05 1.85 1.57 5.356 1.57 9.694a7.84 7.84 0 0 0 5.324 7.44c.387.079.528-.168.528-.376 0-.182-.013-.805-.013-1.454-2.165.467-2.616-.935-2.616-.935-.349-.91-.864-1.143-.864-1.143-.71-.48.051-.48.051-.48.787.051 1.2.805 1.2.805.695 1.194 1.817.857 2.268.649.064-.507.27-.857.49-1.052-1.728-.182-3.545-.857-3.545-3.87 0-.857.31-1.558.8-2.104-.078-.195-.349-1 .077-2.078 0 0 .657-.208 2.14.805a7.5 7.5 0 0 1 1.946-.26c.657 0 1.328.092 1.946.26 1.483-1.013 2.14-.805 2.14-.805.426 1.078.155 1.883.078 2.078.502.546.799 1.247.799 2.104 0 3.013-1.818 3.675-3.558 3.87.284.247.528.714.528 1.454 0 1.052-.012 1.896-.012 2.156 0 .208.142.455.528.377a7.84 7.84 0 0 0 5.324-7.441c.013-4.338-3.48-7.844-7.773-7.844" clip-rule="evenodd"/>
16
+ </symbol>
17
+ <symbol id="social-icon" viewBox="0 0 20 20">
18
+ <path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M12.5 6.667a4.167 4.167 0 1 0-8.334 0 4.167 4.167 0 0 0 8.334 0"/>
19
+ <path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M2.5 16.667a5.833 5.833 0 0 1 8.75-5.053m3.837.474.513 1.035c.07.144.257.282.414.309l.93.155c.596.1.736.536.307.965l-.723.73a.64.64 0 0 0-.152.531l.207.903c.164.715-.213.991-.84.618l-.872-.52a.63.63 0 0 0-.577 0l-.872.52c-.624.373-1.003.094-.84-.618l.207-.903a.64.64 0 0 0-.152-.532l-.723-.729c-.426-.43-.289-.864.306-.964l.93-.156a.64.64 0 0 0 .412-.31l.513-1.034c.28-.562.735-.562 1.012 0"/>
20
+ </symbol>
21
+ <symbol id="x-icon" viewBox="0 0 19 19">
22
+ <path fill="#08060d" fill-rule="evenodd" d="M1.893 1.98c.052.072 1.245 1.769 2.653 3.77l2.892 4.114c.183.261.333.48.333.486s-.068.089-.152.183l-.522.593-.765.867-3.597 4.087c-.375.426-.734.834-.798.905a1 1 0 0 0-.118.148c0 .01.236.017.664.017h.663l.729-.83c.4-.457.796-.906.879-.999a692 692 0 0 0 1.794-2.038c.034-.037.301-.34.594-.675l.551-.624.345-.392a7 7 0 0 1 .34-.374c.006 0 .93 1.306 2.052 2.903l2.084 2.965.045.063h2.275c1.87 0 2.273-.003 2.266-.021-.008-.02-1.098-1.572-3.894-5.547-2.013-2.862-2.28-3.246-2.273-3.266.008-.019.282-.332 2.085-2.38l2-2.274 1.567-1.782c.022-.028-.016-.03-.65-.03h-.674l-.3.342a871 871 0 0 1-1.782 2.025c-.067.075-.405.458-.75.852a100 100 0 0 1-.803.91c-.148.172-.299.344-.99 1.127-.304.343-.32.358-.345.327-.015-.019-.904-1.282-1.976-2.808L6.365 1.85H1.8zm1.782.91 8.078 11.294c.772 1.08 1.413 1.973 1.425 1.984.016.017.241.02 1.05.017l1.03-.004-2.694-3.766L7.796 5.75 5.722 2.852l-1.039-.004-1.039-.004z" clip-rule="evenodd"/>
23
+ </symbol>
24
+ </svg>
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" width="32" height="32" viewBox="0 0 256 256"><path fill="#F7DF1E" d="M0 0h256v256H0V0Z"/><path d="m67.312 213.932l19.59-11.856c3.78 6.701 7.218 12.371 15.465 12.371c7.905 0 12.89-3.092 12.89-15.12v-81.798h24.057v82.138c0 24.917-14.606 36.259-35.916 36.259c-19.245 0-30.416-9.967-36.087-21.996m85.07-2.576l19.588-11.341c5.157 8.421 11.859 14.607 23.715 14.607c9.969 0 16.325-4.984 16.325-11.858c0-8.248-6.53-11.17-17.528-15.98l-6.013-2.58c-17.357-7.387-28.87-16.667-28.87-36.257c0-18.044 13.747-31.792 35.228-31.792c15.294 0 26.292 5.328 34.196 19.247l-18.732 12.03c-4.125-7.389-8.591-10.31-15.465-10.31c-7.046 0-11.514 4.468-11.514 10.31c0 7.217 4.468 10.14 14.778 14.608l6.014 2.577c20.45 8.765 31.963 17.7 31.963 37.804c0 21.654-17.012 33.51-39.867 33.51c-22.339 0-36.774-10.654-43.819-24.574"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="77" height="47" fill="none" aria-labelledby="vite-logo-title" viewBox="0 0 77 47"><title id="vite-logo-title">Vite</title><style>.parenthesis{fill:#000}@media (prefers-color-scheme:dark){.parenthesis{fill:#fff}}</style><path fill="#9135ff" d="M40.151 45.71c-.663.844-2.02.374-2.02-.699V34.708a2.26 2.26 0 0 0-2.262-2.262H24.493c-.92 0-1.457-1.04-.92-1.788l7.479-10.471c1.07-1.498 0-3.578-1.842-3.578H15.443c-.92 0-1.456-1.04-.92-1.788l9.696-13.576c.213-.297.556-.474.92-.474h28.894c.92 0 1.456 1.04.92 1.788l-7.48 10.472c-1.07 1.497 0 3.578 1.842 3.578h11.376c.944 0 1.474 1.087.89 1.83L40.153 45.712z"/><mask id="a" width="48" height="47" x="14" y="0" maskUnits="userSpaceOnUse" style="mask-type:alpha"><path fill="#000" d="M40.047 45.71c-.663.843-2.02.374-2.02-.699V34.708a2.26 2.26 0 0 0-2.262-2.262H24.389c-.92 0-1.457-1.04-.92-1.788l7.479-10.472c1.07-1.497 0-3.578-1.842-3.578H15.34c-.92 0-1.456-1.04-.92-1.788l9.696-13.575c.213-.297.556-.474.92-.474H53.93c.92 0 1.456 1.04.92 1.788L47.37 13.03c-1.07 1.498 0 3.578 1.842 3.578h11.376c.944 0 1.474 1.088.89 1.831L40.049 45.712z"/></mask><g mask="url(#a)"><g filter="url(#b)"><ellipse cx="5.508" cy="14.704" fill="#eee6ff" rx="5.508" ry="14.704" transform="rotate(269.814 20.96 11.29)scale(-1 1)"/></g><g filter="url(#c)"><ellipse cx="10.399" cy="29.851" fill="#eee6ff" rx="10.399" ry="29.851" transform="rotate(89.814 -16.902 -8.275)scale(1 -1)"/></g><g filter="url(#d)"><ellipse cx="5.508" cy="30.487" fill="#8900ff" rx="5.508" ry="30.487" transform="rotate(89.814 -19.197 -7.127)scale(1 -1)"/></g><g filter="url(#e)"><ellipse cx="5.508" cy="30.599" fill="#8900ff" rx="5.508" ry="30.599" transform="rotate(89.814 -25.928 4.177)scale(1 -1)"/></g><g filter="url(#f)"><ellipse cx="5.508" cy="30.599" fill="#8900ff" rx="5.508" ry="30.599" transform="rotate(89.814 -25.738 5.52)scale(1 -1)"/></g><g filter="url(#g)"><ellipse cx="14.072" cy="22.078" fill="#eee6ff" rx="14.072" ry="22.078" transform="rotate(93.35 31.245 55.578)scale(-1 1)"/></g><g filter="url(#h)"><ellipse cx="3.47" cy="21.501" fill="#8900ff" rx="3.47" ry="21.501" transform="rotate(89.009 35.419 55.202)scale(-1 1)"/></g><g filter="url(#i)"><ellipse cx="3.47" cy="21.501" fill="#8900ff" rx="3.47" ry="21.501" transform="rotate(89.009 35.419 55.202)scale(-1 1)"/></g><g filter="url(#j)"><ellipse cx="14.592" cy="9.743" fill="#8900ff" rx="4.407" ry="29.108" transform="rotate(39.51 14.592 9.743)"/></g><g filter="url(#k)"><ellipse cx="61.728" cy="-5.321" fill="#8900ff" rx="4.407" ry="29.108" transform="rotate(37.892 61.728 -5.32)"/></g><g filter="url(#l)"><ellipse cx="55.618" cy="7.104" fill="#00c2ff" rx="5.971" ry="9.665" transform="rotate(37.892 55.618 7.104)"/></g><g filter="url(#m)"><ellipse cx="12.326" cy="39.103" fill="#8900ff" rx="4.407" ry="29.108" transform="rotate(37.892 12.326 39.103)"/></g><g filter="url(#n)"><ellipse cx="12.326" cy="39.103" fill="#8900ff" rx="4.407" ry="29.108" transform="rotate(37.892 12.326 39.103)"/></g><g filter="url(#o)"><ellipse cx="49.857" cy="30.678" fill="#8900ff" rx="4.407" ry="29.108" transform="rotate(37.892 49.857 30.678)"/></g><g filter="url(#p)"><ellipse cx="52.623" cy="33.171" fill="#00c2ff" rx="5.971" ry="15.297" transform="rotate(37.892 52.623 33.17)"/></g></g><path d="M6.919 0c-9.198 13.166-9.252 33.575 0 46.789h6.215c-9.25-13.214-9.196-33.623 0-46.789zm62.424 0h-6.215c9.198 13.166 9.252 33.575 0 46.789h6.215c9.25-13.214 9.196-33.623 0-46.789" class="parenthesis"/><defs><filter id="b" width="60.045" height="41.654" x="-5.564" y="16.92" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17286" stdDeviation="7.659"/></filter><filter id="c" width="90.34" height="51.437" x="-40.407" y="-6.762" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17286" stdDeviation="7.659"/></filter><filter id="d" width="79.355" height="29.4" x="-35.435" y="2.801" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17286" stdDeviation="4.596"/></filter><filter id="e" width="79.579" height="29.4" x="-30.84" y="20.8" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17286" stdDeviation="4.596"/></filter><filter id="f" width="79.579" height="29.4" x="-29.307" y="21.949" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17286" stdDeviation="4.596"/></filter><filter id="g" width="74.749" height="58.852" x="29.961" y="-17.13" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17286" stdDeviation="7.659"/></filter><filter id="h" width="61.377" height="25.362" x="37.754" y="3.055" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17286" stdDeviation="4.596"/></filter><filter id="i" width="61.377" height="25.362" x="37.754" y="3.055" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17286" stdDeviation="4.596"/></filter><filter id="j" width="56.045" height="63.649" x="-13.43" y="-22.082" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17286" stdDeviation="4.596"/></filter><filter id="k" width="54.814" height="64.646" x="34.321" y="-37.644" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17286" stdDeviation="4.596"/></filter><filter id="l" width="33.541" height="35.313" x="38.847" y="-10.552" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17286" stdDeviation="4.596"/></filter><filter id="m" width="54.814" height="64.646" x="-15.081" y="6.78" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17286" stdDeviation="4.596"/></filter><filter id="n" width="54.814" height="64.646" x="-15.081" y="6.78" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17286" stdDeviation="4.596"/></filter><filter id="o" width="54.814" height="64.646" x="22.45" y="-1.645" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17286" stdDeviation="4.596"/></filter><filter id="p" width="39.409" height="43.623" x="32.919" y="11.36" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17286" stdDeviation="4.596"/></filter></defs></svg>