@jjlmoya/utils-science 1.4.0 → 1.6.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.
@@ -1,825 +0,0 @@
1
- /* Simulador de Impacto de Asteroides - Variables CSS */
2
- :root,
3
- .theme-light {
4
- --asteroid-primary: #f97316;
5
- --asteroid-secondary: #ef4444;
6
- --asteroid-accent: #64748b;
7
- --asteroid-success: #10b981;
8
- --asteroid-warning: #f59e0b;
9
- --asteroid-danger: #dc2626;
10
- --asteroid-bg-light: #f8fafc;
11
- --asteroid-bg-dark: #0f172a;
12
- --asteroid-bg-card: #fff;
13
- --asteroid-bg-modal: rgba(255, 255, 255, 0.9);
14
- --asteroid-border-light: #e2e8f0;
15
- --asteroid-border-dark: #1e293b;
16
- --asteroid-text-primary: #1e293b;
17
- --asteroid-text-secondary: #64748b;
18
- --asteroid-text-light: #f1f5f9;
19
- --asteroid-shadow-sm: 0 2px 5px rgba(0, 0, 0, 0.02);
20
- --asteroid-shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
21
- --asteroid-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
22
- --asteroid-shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
23
- --asteroid-radius-sm: 0.75rem;
24
- --asteroid-radius-md: 1.5rem;
25
- --asteroid-radius-lg: 2rem;
26
- --asteroid-radius-full: 9999px;
27
- --asteroid-transition: all 0.2s ease;
28
- --asteroid-transition-slow: all 0.3s ease;
29
- }
30
-
31
- .theme-dark {
32
- --asteroid-primary: #ff9f43;
33
- --asteroid-secondary: #ff6b5b;
34
- --asteroid-accent: #94a3b8;
35
- --asteroid-success: #2ecc71;
36
- --asteroid-warning: #ffa502;
37
- --asteroid-danger: #ff4757;
38
- --asteroid-bg-light: #0f172a;
39
- --asteroid-bg-card: #1a2332;
40
- --asteroid-bg-modal: rgba(26, 35, 50, 0.95);
41
- --asteroid-border-light: #2d3748;
42
- --asteroid-border-dark: #0f172a;
43
- --asteroid-text-primary: #f8f9fa;
44
- --asteroid-text-secondary: #cbd5e1;
45
- }
46
-
47
- /* Contenedor Principal */
48
- .asteroid-app {
49
- position: relative;
50
- width: 100%;
51
- height: 85vh;
52
- min-height: 600px;
53
- border-radius: var(--asteroid-radius-md);
54
- overflow: hidden;
55
- background: var(--asteroid-bg-dark);
56
- box-shadow: var(--asteroid-shadow-xl);
57
- border: 1px solid var(--asteroid-border-dark);
58
- user-select: none;
59
- touch-action: none;
60
- }
61
-
62
- /* Mapa */
63
- .asteroid-game-map {
64
- position: absolute;
65
- inset: 0;
66
- z-index: 0;
67
- background: var(--asteroid-bg-light);
68
- touch-action: none;
69
- }
70
-
71
- /* Overlay de Objetivo */
72
- .asteroid-map-target-overlay {
73
- position: absolute;
74
- inset: 0;
75
- z-index: 10;
76
- pointer-events: none;
77
- opacity: 0;
78
- transition: opacity var(--asteroid-transition-slow);
79
- background: rgba(16, 185, 129, 0.05);
80
- display: flex;
81
- align-items: center;
82
- justify-content: center;
83
- }
84
-
85
- .asteroid-map-target-overlay.active {
86
- opacity: 1;
87
- }
88
-
89
- .asteroid-target-crosshair {
90
- position: absolute;
91
- width: 100%;
92
- height: 1px;
93
- background: rgba(16, 185, 129, 0.2);
94
- }
95
-
96
- .asteroid-target-crosshair.vertical {
97
- width: 1px;
98
- height: 100%;
99
- }
100
-
101
- .asteroid-target-box {
102
- position: absolute;
103
- border: 2px solid rgba(16, 185, 129, 0.3);
104
- border-radius: var(--asteroid-radius-md);
105
- width: 80%;
106
- height: 80%;
107
- }
108
-
109
- /* Barra Superior */
110
- .asteroid-top-bar {
111
- position: absolute;
112
- top: 1rem;
113
- left: 0;
114
- right: 0;
115
- z-index: 30;
116
- display: flex;
117
- flex-direction: column;
118
- align-items: center;
119
- pointer-events: none;
120
- padding: 0 1rem;
121
- }
122
-
123
- /* Botón GPS */
124
- .asteroid-gps-btn {
125
- pointer-events: auto;
126
- margin-bottom: 0.5rem;
127
- background: rgba(255, 255, 255, 0.9);
128
- backdrop-filter: blur(12px);
129
- color: var(--asteroid-text-primary);
130
- padding: 0.5rem 1rem;
131
- border-radius: var(--asteroid-radius-full);
132
- font-size: 0.75rem;
133
- font-weight: 700;
134
- border: 1px solid rgba(255, 255, 255, 0.4);
135
- box-shadow: var(--asteroid-shadow-md);
136
- display: flex;
137
- align-items: center;
138
- gap: 0.5rem;
139
- cursor: pointer;
140
- transition: var(--asteroid-transition);
141
- }
142
-
143
- .theme-dark .asteroid-gps-btn {
144
- background: rgba(30, 41, 59, 0.95);
145
- border: 1px solid rgba(100, 116, 139, 0.4);
146
- }
147
-
148
- .asteroid-gps-btn:hover {
149
- transform: scale(1.05);
150
- }
151
-
152
- .asteroid-gps-dot {
153
- width: 0.5rem;
154
- height: 0.5rem;
155
- border-radius: 50%;
156
- background: var(--asteroid-accent);
157
- transition: var(--asteroid-transition);
158
- }
159
-
160
- .asteroid-gps-dot.active {
161
- background: var(--asteroid-success);
162
- animation: pulse 2s infinite;
163
- }
164
-
165
- @keyframes pulse {
166
-
167
- 0%,
168
- 100% {
169
- opacity: 1;
170
- }
171
-
172
- 50% {
173
- opacity: 0.5;
174
- }
175
- }
176
-
177
- /* Píldora de Veredicto */
178
- .asteroid-verdict-pill {
179
- max-width: 100%;
180
- transform: translateY(-20px);
181
- opacity: 0;
182
- transition: all var(--asteroid-transition-slow);
183
- pointer-events: none;
184
- }
185
-
186
- .asteroid-verdict-pill.active {
187
- transform: translateY(0);
188
- opacity: 1;
189
- pointer-events: auto;
190
- }
191
-
192
- .asteroid-verdict-container {
193
- background: var(--asteroid-bg-dark);
194
- color: var(--asteroid-text-primary);
195
- padding: 0.75rem 1.25rem;
196
- border-radius: var(--asteroid-radius-lg);
197
- box-shadow: var(--asteroid-shadow-xl);
198
- display: flex;
199
- align-items: center;
200
- gap: 0.75rem;
201
- backdrop-filter: blur(8px);
202
- border: 1px solid rgba(255, 255, 255, 0.1);
203
- }
204
-
205
- .asteroid-verdict-icon {
206
- width: 1.5rem;
207
- height: 1.5rem;
208
- flex-shrink: 0;
209
- display: flex;
210
- align-items: center;
211
- justify-content: center;
212
- }
213
-
214
- .asteroid-verdict-text {
215
- text-align: left;
216
- line-height: 1;
217
- }
218
-
219
- .asteroid-verdict-label {
220
- font-weight: 700;
221
- font-size: 0.5625rem;
222
- text-transform: uppercase;
223
- letter-spacing: 0.125em;
224
- opacity: 0.6;
225
- margin-bottom: 0.125rem;
226
- }
227
-
228
- .asteroid-verdict-value {
229
- font-weight: 900;
230
- font-size: 1.125rem;
231
- text-transform: uppercase;
232
- white-space: nowrap;
233
- font-style: italic;
234
- text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
235
- }
236
-
237
- .asteroid-verdict-safe .asteroid-verdict-value {
238
- color: #34d399;
239
- }
240
-
241
- .asteroid-verdict-shock .asteroid-verdict-value {
242
- color: #60a5fa;
243
- }
244
-
245
- .asteroid-verdict-burned .asteroid-verdict-value {
246
- color: #fb923c;
247
- }
248
-
249
- .asteroid-verdict-vaporized .asteroid-verdict-value {
250
- color: #f87171;
251
- }
252
-
253
- /* Panel de Control Escritorio */
254
- .asteroid-desktop-lab {
255
- display: none;
256
- }
257
-
258
- @media (min-width: 768px) {
259
- .asteroid-desktop-lab {
260
- display: flex;
261
- position: absolute;
262
- top: 1.5rem;
263
- left: 1.5rem;
264
- bottom: 1.5rem;
265
- width: 20rem;
266
- z-index: 30;
267
- flex-direction: column;
268
- pointer-events: none;
269
- }
270
- }
271
-
272
- .asteroid-lab-panel {
273
- background: var(--asteroid-bg-modal);
274
- backdrop-filter: blur(32px);
275
- border: 1px solid var(--asteroid-border-light);
276
- box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
277
- border-radius: var(--asteroid-radius-lg);
278
- padding: 1.25rem;
279
- display: flex;
280
- flex-direction: column;
281
- gap: 1rem;
282
- pointer-events: auto;
283
- height: 100%;
284
- overflow: hidden;
285
- color: var(--asteroid-text-primary);
286
- }
287
-
288
- .asteroid-lab-header {
289
- display: flex;
290
- align-items: center;
291
- justify-content: space-between;
292
- padding-bottom: 0.5rem;
293
- border-bottom: 1px solid var(--asteroid-border-light);
294
- flex-shrink: 0;
295
- }
296
-
297
- .asteroid-lab-title {
298
- display: flex;
299
- align-items: center;
300
- gap: 0.5rem;
301
- }
302
-
303
- .asteroid-lab-icon {
304
- width: 2rem;
305
- height: 2rem;
306
- border-radius: var(--asteroid-radius-sm);
307
- background: linear-gradient(135deg, var(--asteroid-primary) 0%, var(--asteroid-secondary) 100%);
308
- display: flex;
309
- align-items: center;
310
- justify-content: center;
311
- color: var(--asteroid-text-primary);
312
- box-shadow: 0 4px 8px rgba(var(--asteroid-primary-rgb), 0.3);
313
- }
314
-
315
- .asteroid-lab-name {
316
- font-weight: 900;
317
- color: var(--asteroid-text-primary);
318
- font-size: 1rem;
319
- line-height: 1;
320
- }
321
-
322
- .asteroid-lab-subtitle {
323
- font-size: 0.5625rem;
324
- font-weight: 700;
325
- color: var(--asteroid-text-secondary);
326
- text-transform: uppercase;
327
- letter-spacing: 0.125em;
328
- }
329
-
330
- .asteroid-lab-content {
331
- flex: 1;
332
- overflow-y: auto;
333
- padding-right: 0.25rem;
334
- display: flex;
335
- flex-direction: column;
336
- gap: 1.5rem;
337
- }
338
-
339
- .asteroid-lab-content::-webkit-scrollbar {
340
- width: 6px;
341
- }
342
-
343
- .asteroid-lab-content::-webkit-scrollbar-track {
344
- background: transparent;
345
- }
346
-
347
- .asteroid-lab-content::-webkit-scrollbar-thumb {
348
- background: rgba(100, 116, 139, 0.3);
349
- border-radius: 3px;
350
- }
351
-
352
- /* Sección de Arrastre del Asteroide */
353
- .asteroid-drag-source {
354
- position: relative;
355
- cursor: grab;
356
- transform-origin: center;
357
- transition: var(--asteroid-transition);
358
- }
359
-
360
- .asteroid-drag-source:active {
361
- cursor: grabbing;
362
- transform: scale(0.98);
363
- }
364
-
365
- .asteroid-drag-source:hover {
366
- transform: scale(1.02);
367
- }
368
-
369
- .asteroid-drag-bg {
370
- position: absolute;
371
- inset: 0;
372
- background: linear-gradient(135deg, #f3f4f6 0%, #fff 100%);
373
- border-radius: var(--asteroid-radius-lg);
374
- border: 1px solid var(--asteroid-border-light);
375
- box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.05);
376
- }
377
-
378
- .asteroid-drag-tooltip {
379
- position: absolute;
380
- top: -2.5rem;
381
- left: 50%;
382
- transform: translateX(-50%);
383
- opacity: 0;
384
- display: flex;
385
- align-items: center;
386
- justify-content: center;
387
- z-index: 10;
388
- pointer-events: none;
389
- transition: opacity var(--asteroid-transition);
390
- }
391
-
392
- .asteroid-drag-source:hover .asteroid-drag-tooltip {
393
- opacity: 1;
394
- }
395
-
396
- .asteroid-drag-tooltip-text {
397
- background: rgba(0, 0, 0, 0.85);
398
- color: var(--asteroid-text-primary);
399
- font-size: 0.65rem;
400
- font-weight: 700;
401
- padding: 0.4rem 0.75rem;
402
- border-radius: var(--asteroid-radius-sm);
403
- border: 1px solid rgba(255, 255, 255, 0.1);
404
- backdrop-filter: blur(8px);
405
- box-shadow: var(--asteroid-shadow-lg);
406
- }
407
-
408
- .asteroid-drag-visual {
409
- position: relative;
410
- height: 12rem;
411
- display: flex;
412
- align-items: center;
413
- justify-content: center;
414
- overflow: visible;
415
- border-radius: var(--asteroid-radius-lg);
416
- }
417
-
418
- .asteroid-drag-grid {
419
- position: absolute;
420
- inset: 0;
421
- background-image: radial-gradient(#cbd5e1 1px, transparent 1px);
422
- background-size: 20px 20px;
423
- opacity: 0.5;
424
- }
425
-
426
- .asteroid-visual {
427
- width: 5rem;
428
- height: 5rem;
429
- border-radius: 50%;
430
- box-shadow: 10px 10px 30px rgba(0, 0, 0, 0.2), -5px -5px 15px rgba(255, 255, 255, 0.8);
431
- position: relative;
432
- transition: var(--asteroid-transition);
433
- z-index: 10;
434
- }
435
-
436
- .asteroid-visual.ice-type {
437
- box-shadow:
438
- 0 0 20px rgba(103, 232, 249, 0.6),
439
- 10px 10px 30px rgba(0, 0, 0, 0.2),
440
- -5px -5px 15px rgba(255, 255, 255, 0.8);
441
- }
442
-
443
- .asteroid-drag-icon-parent {
444
- position: absolute;
445
- bottom: 0.5rem;
446
- right: 0.5rem;
447
- width: 2rem;
448
- height: 2rem;
449
- background: rgba(0, 0, 0, 0.85);
450
- border: 1px solid rgba(255, 255, 255, 0.1);
451
- border-radius: var(--asteroid-radius-sm);
452
- display: flex;
453
- align-items: center;
454
- justify-content: center;
455
- color: var(--asteroid-text-primary);
456
- z-index: 20;
457
- opacity: 1;
458
- transition: var(--asteroid-transition);
459
- }
460
-
461
- .asteroid-drag-source:hover .asteroid-drag-icon-parent {
462
- background: rgba(0, 0, 0, 0.95);
463
- }
464
-
465
- .asteroid-surface {
466
- position: absolute;
467
- inset: 0;
468
- border-radius: 50%;
469
- background: var(--asteroid-accent);
470
- overflow: hidden;
471
- border: 2px solid rgba(255, 255, 255, 0.2);
472
- }
473
-
474
- .asteroid-surface-gradient {
475
- position: absolute;
476
- top: 0;
477
- right: 0;
478
- width: 100%;
479
- height: 100%;
480
- background: linear-gradient(135deg, rgba(255, 255, 255, 0.2) 0%, rgba(0, 0, 0, 0.3) 100%);
481
- animation: asteroid-spin 8s linear infinite;
482
- }
483
-
484
- @keyframes asteroid-spin {
485
- from {
486
- transform: rotate(0deg);
487
- }
488
-
489
- to {
490
- transform: rotate(360deg);
491
- }
492
- }
493
-
494
- .asteroid-params-badge {
495
- position: absolute;
496
- top: 0.5rem;
497
- left: 0.5rem;
498
- background: rgba(0, 0, 0, 0.85);
499
- border: 1px solid rgba(255, 255, 255, 0.1);
500
- border-radius: var(--asteroid-radius-sm);
501
- padding: 0.5rem 0.75rem;
502
- display: flex;
503
- flex-direction: column;
504
- gap: 0.25rem;
505
- z-index: 20;
506
- font-size: 0.7rem;
507
- font-weight: 700;
508
- color: var(--asteroid-text-primary);
509
- white-space: nowrap;
510
- opacity: 1;
511
- transition: opacity var(--asteroid-transition-slow);
512
- }
513
-
514
- .asteroid-param-item {
515
- display: flex;
516
- align-items: center;
517
- gap: 0.25rem;
518
- }
519
-
520
- .asteroid-param-item:nth-child(1) {
521
- color: var(--asteroid-primary);
522
- }
523
-
524
- .asteroid-param-item:nth-child(2) {
525
- color: var(--asteroid-success);
526
- }
527
-
528
- .asteroid-param-item:nth-child(3) {
529
- color: var(--asteroid-accent);
530
- }
531
-
532
- /* Presets */
533
- .asteroid-presets {
534
- display: grid;
535
- grid-template-columns: repeat(2, 1fr);
536
- gap: 0.75rem;
537
- }
538
-
539
- .asteroid-preset-btn {
540
- position: relative;
541
- overflow: hidden;
542
- background: var(--asteroid-bg-card);
543
- border: 1px solid var(--asteroid-border-light);
544
- border-radius: var(--asteroid-radius-md);
545
- padding: 0.75rem;
546
- text-align: left;
547
- transition: var(--asteroid-transition-slow);
548
- cursor: pointer;
549
- flex-shrink: 0;
550
- }
551
-
552
- .asteroid-preset-btn:hover {
553
- box-shadow: var(--asteroid-shadow-lg);
554
- transform: translateY(-2px);
555
- border-color: var(--asteroid-primary);
556
- }
557
-
558
- .asteroid-preset-title {
559
- font-size: 0.6875rem;
560
- font-weight: 900;
561
- color: var(--asteroid-text-primary);
562
- margin-bottom: 0.125rem;
563
- position: relative;
564
- z-index: 10;
565
- transition: var(--asteroid-transition);
566
- }
567
-
568
- .asteroid-preset-btn:hover .asteroid-preset-title {
569
- color: var(--asteroid-primary);
570
- }
571
-
572
- .asteroid-preset-subtitle {
573
- font-size: 0.5625rem;
574
- font-weight: 500;
575
- color: var(--asteroid-text-secondary);
576
- position: relative;
577
- z-index: 10;
578
- }
579
-
580
- /* Controles */
581
- .asteroid-control-group {
582
- background: var(--asteroid-bg-light);
583
- border-radius: var(--asteroid-radius-md);
584
- padding: 0.75rem;
585
- border: 1px solid var(--asteroid-border-light);
586
- }
587
-
588
- .asteroid-control-label {
589
- display: flex;
590
- justify-content: space-between;
591
- align-items: flex-end;
592
- margin-bottom: 0.5rem;
593
- }
594
-
595
- .asteroid-control-text {
596
- font-size: 0.625rem;
597
- font-weight: 700;
598
- color: var(--asteroid-text-secondary);
599
- text-transform: uppercase;
600
- letter-spacing: 0.05em;
601
- }
602
-
603
- .asteroid-control-value {
604
- font-size: 0.875rem;
605
- font-weight: 900;
606
- color: var(--asteroid-text-primary);
607
- }
608
-
609
- .asteroid-slider {
610
- width: 100%;
611
- height: 0.375rem;
612
- background: var(--asteroid-border-light);
613
- border-radius: 0.5rem;
614
- appearance: none;
615
- cursor: pointer;
616
- accent-color: var(--asteroid-primary);
617
- }
618
-
619
- .asteroid-slider::-webkit-slider-thumb {
620
- appearance: none;
621
- width: 1.25rem;
622
- height: 1.25rem;
623
- background: var(--asteroid-primary);
624
- border-radius: 50%;
625
- cursor: pointer;
626
- box-shadow: var(--asteroid-shadow-md);
627
- transition: var(--asteroid-transition);
628
- }
629
-
630
- .asteroid-slider::-webkit-slider-thumb:hover {
631
- transform: scale(1.2);
632
- box-shadow: var(--asteroid-shadow-lg);
633
- }
634
-
635
- .asteroid-slider::-moz-range-thumb {
636
- width: 1.25rem;
637
- height: 1.25rem;
638
- background: var(--asteroid-primary);
639
- border: none;
640
- border-radius: 50%;
641
- cursor: pointer;
642
- box-shadow: var(--asteroid-shadow-md);
643
- transition: var(--asteroid-transition);
644
- }
645
-
646
- .asteroid-slider::-moz-range-thumb:hover {
647
- transform: scale(1.2);
648
- box-shadow: var(--asteroid-shadow-lg);
649
- }
650
-
651
- /* Selectores de Composición */
652
- .asteroid-material-buttons {
653
- display: grid;
654
- grid-template-columns: repeat(3, 1fr);
655
- gap: 0.5rem;
656
- }
657
-
658
- .asteroid-material-btn {
659
- padding: 0.5rem;
660
- border-radius: var(--asteroid-radius-md);
661
- border: 1px solid var(--asteroid-border-light);
662
- background: var(--asteroid-bg-light);
663
- cursor: pointer;
664
- transition: var(--asteroid-transition);
665
- display: flex;
666
- flex-direction: column;
667
- align-items: center;
668
- gap: 0.25rem;
669
- }
670
-
671
- .asteroid-material-btn:hover {
672
- background: white;
673
- }
674
-
675
- .asteroid-material-btn.active {
676
- border-color: var(--asteroid-primary);
677
- background: rgba(249, 115, 22, 0.1);
678
- }
679
-
680
- .asteroid-material-dot {
681
- width: 1rem;
682
- height: 1rem;
683
- border-radius: 50%;
684
- box-shadow: var(--asteroid-shadow-sm);
685
- transition: var(--asteroid-transition);
686
- }
687
-
688
- .asteroid-material-btn:hover .asteroid-material-dot {
689
- transform: scale(1.1);
690
- }
691
-
692
- .asteroid-material-name {
693
- font-size: 0.5625rem;
694
- font-weight: 700;
695
- color: var(--asteroid-text-secondary);
696
- text-transform: uppercase;
697
- }
698
-
699
- /* Botón Limpiar */
700
- .asteroid-clear-btn {
701
- padding: 0.25rem 0.35rem;
702
- border-radius: 0.35rem;
703
- background: var(--asteroid-bg-light);
704
- color: var(--asteroid-text-secondary);
705
- font-weight: 600;
706
- font-size: 0.5rem;
707
- text-transform: uppercase;
708
- letter-spacing: 0.04em;
709
- border: none;
710
- cursor: pointer;
711
- transition: var(--asteroid-transition);
712
- display: flex;
713
- align-items: center;
714
- justify-content: center;
715
- gap: 0.2rem;
716
- height: auto;
717
- min-height: 1.5rem;
718
- flex-shrink: 0;
719
- }
720
-
721
- .asteroid-clear-btn:hover {
722
- background: rgba(220, 38, 38, 0.1);
723
- color: var(--asteroid-danger);
724
- }
725
-
726
- /* Panel de Control Móvil */
727
- .asteroid-mobile-control {
728
- display: flex;
729
- align-items: center;
730
- justify-content: center;
731
- }
732
-
733
- @media (min-width: 768px) {
734
- .asteroid-mobile-control {
735
- display: none;
736
- }
737
- }
738
-
739
- .asteroid-mobile-bar {
740
- position: absolute;
741
- bottom: 1.5rem;
742
- left: 1rem;
743
- right: 1rem;
744
- z-index: 40;
745
- background: rgba(255, 255, 255, 0.9);
746
- backdrop-filter: blur(12px);
747
- border-radius: var(--asteroid-radius-lg);
748
- box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
749
- border: 1px solid rgba(255, 255, 255, 0.6);
750
- padding: 0.5rem;
751
- display: flex;
752
- align-items: center;
753
- justify-content: space-between;
754
- pointer-events: auto;
755
- }
756
-
757
- .asteroid-mobile-asteroid {
758
- width: 4rem;
759
- height: 4rem;
760
- background: var(--asteroid-bg-light);
761
- border-radius: 50%;
762
- box-shadow: var(--asteroid-shadow-lg);
763
- border: 1px solid white;
764
- display: flex;
765
- align-items: center;
766
- justify-content: center;
767
- cursor: grab;
768
- position: relative;
769
- overflow: hidden;
770
- transition: var(--asteroid-transition);
771
- }
772
-
773
- .asteroid-mobile-asteroid:active {
774
- cursor: grabbing;
775
- transform: scale(0.95);
776
- }
777
-
778
- .asteroid-mobile-asteroid-label {
779
- position: absolute;
780
- top: -0.75rem;
781
- background: var(--asteroid-bg-dark);
782
- color: var(--asteroid-text-primary);
783
- font-size: 0.5625rem;
784
- font-weight: 900;
785
- letter-spacing: 0.125em;
786
- padding: 0 0.5rem;
787
- border-radius: var(--asteroid-radius-full);
788
- box-shadow: var(--asteroid-shadow-lg);
789
- transform: scale(0.9);
790
- }
791
-
792
- .asteroid-mobile-person {
793
- width: 4rem;
794
- height: 4rem;
795
- background: rgba(59, 130, 246, 0.05);
796
- border-radius: 50%;
797
- box-shadow: var(--asteroid-shadow-lg);
798
- border: 1px solid white;
799
- display: flex;
800
- align-items: center;
801
- justify-content: center;
802
- cursor: grab;
803
- position: relative;
804
- overflow: hidden;
805
- transition: var(--asteroid-transition);
806
- }
807
-
808
- .asteroid-mobile-person:active {
809
- cursor: grabbing;
810
- transform: scale(0.95);
811
- }
812
-
813
- .asteroid-person-icon {
814
- width: 2rem;
815
- height: 2rem;
816
- color: #3b82f6;
817
- text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
818
- }
819
-
820
- .asteroid-divider {
821
- height: 2rem;
822
- width: 1px;
823
- background: var(--asteroid-border-light);
824
- margin: 0 0.5rem;
825
- }