@jjlmoya/utils-tools 1.9.0 → 1.11.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.
Files changed (34) hide show
  1. package/package.json +5 -3
  2. package/scripts/postinstall.mjs +27 -0
  3. package/src/tool/date-diff-calculator/component.astro +0 -200
  4. package/src/tool/date-diff-calculator/date-difference-calculator.css +198 -0
  5. package/src/tool/drive-direct-link/component.astro +0 -173
  6. package/src/tool/drive-direct-link/google-drive-direct-download-link.css +171 -0
  7. package/src/tool/email-list-cleaner/component.astro +0 -204
  8. package/src/tool/email-list-cleaner/email-list-cleaner.css +202 -0
  9. package/src/tool/env-badge-spain/component.astro +0 -156
  10. package/src/tool/env-badge-spain/components/BadgeForm.astro +0 -151
  11. package/src/tool/env-badge-spain/components/BadgeResult.astro +0 -101
  12. package/src/tool/env-badge-spain/environmental-badge-simulator-spain.css +405 -0
  13. package/src/tool/morse-beacon/component.astro +0 -298
  14. package/src/tool/morse-beacon/morse-beacon.css +296 -0
  15. package/src/tool/password-generator/component.astro +0 -88
  16. package/src/tool/password-generator/components/Config.astro +0 -170
  17. package/src/tool/password-generator/components/Display.astro +0 -117
  18. package/src/tool/password-generator/components/Strength.astro +0 -52
  19. package/src/tool/password-generator/password-generator.css +424 -0
  20. package/src/tool/routes/component.astro +0 -254
  21. package/src/tool/routes/optimal-routes.css +252 -0
  22. package/src/tool/rule-of-three/component.astro +0 -249
  23. package/src/tool/rule-of-three/rule-of-three.css +247 -0
  24. package/src/tool/seo-content-optimizer/component.astro +0 -278
  25. package/src/tool/seo-content-optimizer/seo-content-optimizer.css +276 -0
  26. package/src/tool/speed-reader/component.astro +0 -400
  27. package/src/tool/speed-reader/speed-reader.css +398 -0
  28. package/src/tool/text-pixel-calculator/component.astro +0 -96
  29. package/src/tool/text-pixel-calculator/components/Editor.astro +0 -145
  30. package/src/tool/text-pixel-calculator/components/Preview.astro +0 -115
  31. package/src/tool/text-pixel-calculator/components/Stats.astro +0 -62
  32. package/src/tool/text-pixel-calculator/text-pixel-width-calculator.css +407 -0
  33. package/src/tool/whatsapp-link/component.astro +0 -264
  34. package/src/tool/whatsapp-link/whatsapp-link-generator.css +262 -0
@@ -16,55 +16,3 @@ const { labelSecurity } = Astro.props;
16
16
  </div>
17
17
  </div>
18
18
 
19
- <style>
20
- .pg-strength-container {
21
- width: 100%;
22
- margin-bottom: 2rem;
23
- }
24
-
25
- .pg-strength-header {
26
- display: flex;
27
- justify-content: space-between;
28
- align-items: flex-end;
29
- margin-bottom: 0.75rem;
30
- }
31
-
32
- .pg-strength-label {
33
- font-size: 0.875rem;
34
- font-weight: 600;
35
- text-transform: uppercase;
36
- letter-spacing: 0.05em;
37
- color: #94a3b8;
38
- }
39
-
40
- .pg-strength-status {
41
- font-size: 1rem;
42
- font-weight: 700;
43
- transition: color 0.3s ease;
44
- }
45
-
46
- .pg-strength-track {
47
- position: relative;
48
- height: 0.5rem;
49
- width: 100%;
50
- background: rgba(0, 0, 0, 0.05);
51
- border-radius: 1rem;
52
- overflow: hidden;
53
- }
54
-
55
- :global(.theme-dark) .pg-strength-track {
56
- background: rgba(255, 255, 255, 0.05);
57
- }
58
-
59
- .pg-strength-bar {
60
- position: absolute;
61
- left: 0;
62
- top: 0;
63
- height: 100%;
64
- width: 0;
65
- border-radius: 1rem;
66
- background: #ef4444;
67
- transition: width 0.6s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.3s ease;
68
- box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
69
- }
70
- </style>
@@ -0,0 +1,424 @@
1
+ .pg-app-container {
2
+ width: 100%;
3
+ max-width: 640px;
4
+ margin: 0 auto;
5
+ padding: 1rem;
6
+ perspective: 1000px;
7
+ }
8
+
9
+ .pg-card {
10
+ position: relative;
11
+ border-radius: 2rem;
12
+ padding: 2px;
13
+ background: linear-gradient(
14
+ 135deg,
15
+ rgba(255, 255, 255, 0.1),
16
+ rgba(255, 255, 255, 0.05)
17
+ );
18
+ box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15);
19
+ transition: transform 0.3s ease;
20
+ }
21
+
22
+ :global(.theme-dark) .pg-card {
23
+ background: linear-gradient(
24
+ 135deg,
25
+ rgba(255, 255, 255, 0.05),
26
+ rgba(0, 0, 0, 0.2)
27
+ );
28
+ }
29
+
30
+ .pg-card-glow {
31
+ position: absolute;
32
+ inset: 0;
33
+ border-radius: 2rem;
34
+ background: linear-gradient(135deg, #10b981 0%, #3b82f6 100%);
35
+ opacity: 0.1;
36
+ filter: blur(20px);
37
+ z-index: -1;
38
+ }
39
+
40
+ .pg-card-content {
41
+ background: #fff;
42
+ border-radius: calc(2rem - 2px);
43
+ padding: 1.5rem;
44
+ display: flex;
45
+ flex-direction: column;
46
+ }
47
+
48
+ :global(.theme-dark) .pg-card-content {
49
+ background: #0f172a;
50
+ }
51
+
52
+ .pg-divider {
53
+ height: 1px;
54
+ background: linear-gradient(
55
+ to right,
56
+ transparent,
57
+ rgba(0, 0, 0, 0.05),
58
+ transparent
59
+ );
60
+ margin: 1.5rem 0;
61
+ }
62
+
63
+ :global(.theme-dark) .pg-divider {
64
+ background: linear-gradient(
65
+ to right,
66
+ transparent,
67
+ rgba(255, 255, 255, 0.05),
68
+ transparent
69
+ );
70
+ }
71
+
72
+ @keyframes pulse-success {
73
+ 0% {
74
+ transform: scale(1);
75
+ }
76
+ 50% {
77
+ transform: scale(1.05);
78
+ }
79
+ 100% {
80
+ transform: scale(1);
81
+ }
82
+ }
83
+
84
+ :global(.pg-copied-anim) {
85
+ animation: pulse-success 0.3s ease-out;
86
+ }
87
+ /* Config.astro */
88
+ .pg-config-card {
89
+ background: rgba(255, 255, 255, 0.4);
90
+ border: 1px solid rgba(0, 0, 0, 0.05);
91
+ border-radius: 1.5rem;
92
+ padding: 1.5rem;
93
+ display: flex;
94
+ flex-direction: column;
95
+ gap: 2rem;
96
+ }
97
+
98
+ .theme-dark .pg-config-card {
99
+ background: rgba(0, 0, 0, 0.2);
100
+ border-color: rgba(255, 255, 255, 0.05);
101
+ }
102
+
103
+ .pg-config-header {
104
+ display: flex;
105
+ justify-content: space-between;
106
+ align-items: center;
107
+ margin-bottom: 1rem;
108
+ }
109
+
110
+ .pg-config-label {
111
+ font-size: 1rem;
112
+ font-weight: 600;
113
+ color: #475569;
114
+ }
115
+
116
+ .theme-dark .pg-config-label {
117
+ color: #94a3b8;
118
+ }
119
+
120
+ .pg-config-value {
121
+ font-size: 1.5rem;
122
+ font-weight: 800;
123
+ color: #3b82f6;
124
+ }
125
+
126
+ .pg-range-input {
127
+ width: 100%;
128
+ margin-bottom: 0.5rem;
129
+ cursor: pointer;
130
+ accent-color: #3b82f6;
131
+ }
132
+
133
+ .pg-range-markers {
134
+ display: flex;
135
+ justify-content: space-between;
136
+ padding: 0 4px;
137
+ font-size: 0.75rem;
138
+ color: #94a3b8;
139
+ font-weight: 500;
140
+ }
141
+
142
+ .pg-options-grid {
143
+ display: grid;
144
+ grid-template-columns: repeat(2, 1fr);
145
+ gap: 0.75rem;
146
+ }
147
+
148
+ @media (max-width: 480px) {
149
+ .pg-options-grid {
150
+ grid-template-columns: 1fr;
151
+ }
152
+ }
153
+
154
+ .pg-option-item {
155
+ cursor: pointer;
156
+ position: relative;
157
+ }
158
+
159
+ .pg-option-checkbox {
160
+ position: absolute;
161
+ opacity: 0;
162
+ width: 0;
163
+ height: 0;
164
+ }
165
+
166
+ .pg-option-content {
167
+ display: flex;
168
+ align-items: center;
169
+ gap: 0.75rem;
170
+ padding: 0.75rem;
171
+ background: rgba(255, 255, 255, 0.6);
172
+ border: 1px solid rgba(0, 0, 0, 0.05);
173
+ border-radius: 1rem;
174
+ transition: all 0.2s ease;
175
+ }
176
+
177
+ .theme-dark .pg-option-content {
178
+ background: rgba(30, 41, 59, 0.4);
179
+ border-color: rgba(255, 255, 255, 0.05);
180
+ }
181
+
182
+ .pg-option-item:hover .pg-option-content {
183
+ background: rgba(255, 255, 255, 0.8);
184
+ transform: translateY(-1px);
185
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
186
+ }
187
+
188
+ .theme-dark .pg-option-item:hover .pg-option-content {
189
+ background: rgba(30, 41, 59, 0.6);
190
+ }
191
+
192
+ .pg-option-checkbox:checked + .pg-option-content {
193
+ border-color: #10b981;
194
+ background: rgba(16, 185, 129, 0.05);
195
+ }
196
+
197
+ .theme-dark .pg-option-checkbox:checked + .pg-option-content {
198
+ background: rgba(16, 185, 129, 0.1);
199
+ }
200
+
201
+ .pg-option-indicator {
202
+ width: 1.5rem;
203
+ height: 1.5rem;
204
+ border-radius: 0.5rem;
205
+ border: 2px solid #cbd5e1;
206
+ display: flex;
207
+ align-items: center;
208
+ justify-content: center;
209
+ transition: all 0.2s ease;
210
+ color: white;
211
+ }
212
+
213
+ .theme-dark .pg-option-indicator {
214
+ border-color: #475569;
215
+ }
216
+
217
+ .pg-option-checkbox:checked + .pg-option-content .pg-option-indicator {
218
+ background: #10b981;
219
+ border-color: #10b981;
220
+ box-shadow: 0 0 8px rgba(16, 185, 129, 0.3);
221
+ }
222
+
223
+ .pg-option-indicator svg {
224
+ width: 0.875rem;
225
+ height: 0.875rem;
226
+ opacity: 0;
227
+ transform: scale(0.5);
228
+ transition: all 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);
229
+ }
230
+
231
+ .pg-option-checkbox:checked + .pg-option-content .pg-option-indicator svg {
232
+ opacity: 1;
233
+ transform: scale(1);
234
+ }
235
+
236
+ .pg-option-info {
237
+ display: flex;
238
+ flex-direction: column;
239
+ }
240
+
241
+ .pg-option-label {
242
+ font-size: 0.9375rem;
243
+ font-weight: 600;
244
+ color: #1e293b;
245
+ }
246
+
247
+ .theme-dark .pg-option-label {
248
+ color: #e2e8f0;
249
+ }
250
+
251
+ .pg-option-hint {
252
+ font-size: 0.75rem;
253
+ color: #94a3b8;
254
+ font-weight: 500;
255
+ }
256
+
257
+ /* Display.astro */
258
+ .pg-display {
259
+ position: relative;
260
+ width: 100%;
261
+ margin-bottom: 1.5rem;
262
+ }
263
+
264
+ .pg-display-glass {
265
+ position: absolute;
266
+ inset: -2px;
267
+ background: linear-gradient(135deg, #10b981 0%, #3b82f6 100%);
268
+ border-radius: 1.25rem;
269
+ opacity: 0.15;
270
+ filter: blur(8px);
271
+ transition: opacity 0.3s ease;
272
+ }
273
+
274
+ .pg-display:hover .pg-display-glass {
275
+ opacity: 0.25;
276
+ }
277
+
278
+ .pg-display-content {
279
+ position: relative;
280
+ display: flex;
281
+ align-items: center;
282
+ background: rgba(255, 255, 255, 0.8);
283
+ backdrop-filter: blur(12px);
284
+ -webkit-backdrop-filter: blur(12px);
285
+ border: 1px solid rgba(255, 255, 255, 0.5);
286
+ border-radius: 1.25rem;
287
+ padding: 0.75rem;
288
+ min-height: 5rem;
289
+ box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05);
290
+ }
291
+
292
+ .theme-dark .pg-display-content {
293
+ background: rgba(15, 23, 42, 0.8);
294
+ border-color: rgba(255, 255, 255, 0.1);
295
+ box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.3);
296
+ }
297
+
298
+ .pg-output-text {
299
+ flex: 1;
300
+ font-size: 1.75rem;
301
+ font-weight: 700;
302
+ text-align: center;
303
+ letter-spacing: 0.05em;
304
+ color: #1e293b;
305
+ word-break: break-all;
306
+ padding: 0.5rem 1rem;
307
+ transition: transform 0.2s ease;
308
+ }
309
+
310
+ .theme-dark .pg-output-text {
311
+ color: #f8fafc;
312
+ }
313
+
314
+ .pg-display-divider {
315
+ width: 1px;
316
+ height: 3rem;
317
+ background: rgba(0, 0, 0, 0.1);
318
+ margin: 0 0.5rem;
319
+ }
320
+
321
+ .theme-dark .pg-display-divider {
322
+ background: rgba(255, 255, 255, 0.1);
323
+ }
324
+
325
+ .pg-display-controls {
326
+ display: flex;
327
+ gap: 0.5rem;
328
+ padding-right: 0.25rem;
329
+ }
330
+
331
+ .pg-control-btn {
332
+ display: flex;
333
+ align-items: center;
334
+ justify-content: center;
335
+ width: 3rem;
336
+ height: 3rem;
337
+ border-radius: 0.75rem;
338
+ border: none;
339
+ background: transparent;
340
+ color: #64748b;
341
+ cursor: pointer;
342
+ transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
343
+ }
344
+
345
+ .pg-control-btn svg {
346
+ width: 1.5rem;
347
+ height: 1.5rem;
348
+ }
349
+
350
+ .pg-control-btn:hover {
351
+ background: rgba(0, 0, 0, 0.05);
352
+ color: #10b981;
353
+ transform: translateY(-2px);
354
+ }
355
+
356
+ .theme-dark .pg-control-btn:hover {
357
+ background: rgba(255, 255, 255, 0.05);
358
+ }
359
+
360
+ .pg-control-btn-accent:hover {
361
+ color: #3b82f6;
362
+ }
363
+
364
+ .pg-control-btn:active {
365
+ transform: translateY(0);
366
+ }
367
+
368
+ @media (max-width: 480px) {
369
+ .pg-output-text {
370
+ font-size: 1.25rem;
371
+ }
372
+ }
373
+
374
+ /* Strength.astro */
375
+ .pg-strength-container {
376
+ width: 100%;
377
+ margin-bottom: 2rem;
378
+ }
379
+
380
+ .pg-strength-header {
381
+ display: flex;
382
+ justify-content: space-between;
383
+ align-items: flex-end;
384
+ margin-bottom: 0.75rem;
385
+ }
386
+
387
+ .pg-strength-label {
388
+ font-size: 0.875rem;
389
+ font-weight: 600;
390
+ text-transform: uppercase;
391
+ letter-spacing: 0.05em;
392
+ color: #94a3b8;
393
+ }
394
+
395
+ .pg-strength-status {
396
+ font-size: 1rem;
397
+ font-weight: 700;
398
+ transition: color 0.3s ease;
399
+ }
400
+
401
+ .pg-strength-track {
402
+ position: relative;
403
+ height: 0.5rem;
404
+ width: 100%;
405
+ background: rgba(0, 0, 0, 0.05);
406
+ border-radius: 1rem;
407
+ overflow: hidden;
408
+ }
409
+
410
+ .theme-dark .pg-strength-track {
411
+ background: rgba(255, 255, 255, 0.05);
412
+ }
413
+
414
+ .pg-strength-bar {
415
+ position: absolute;
416
+ left: 0;
417
+ top: 0;
418
+ height: 100%;
419
+ width: 0;
420
+ border-radius: 1rem;
421
+ background: #ef4444;
422
+ transition: width 0.6s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.3s ease;
423
+ box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
424
+ }
@@ -60,260 +60,6 @@ const t = (ui ?? {}) as RoutesUI;
60
60
  </div>
61
61
  </div>
62
62
 
63
- <style>
64
- .rut-root {
65
- --rut-accent: #06b6d4;
66
- --rut-accent-hover: #0891b2;
67
- --rut-sidebar-bg: #f8fafc;
68
- --rut-sidebar-border: #e2e8f0;
69
- --rut-map-bg: #f1f5f9;
70
- --rut-text-main: #1e293b;
71
- --rut-text-muted: #64748b;
72
- --rut-item-bg: #fff;
73
- --rut-item-border: #f1f5f9;
74
- --rut-item-hover-border: rgba(6, 182, 212, 0.5);
75
- --rut-badge-bg: rgba(207, 250, 254, 1);
76
- --rut-badge-border: #a5f3fc;
77
- --rut-badge-text: #0e7490;
78
- --rut-stats-bg: rgba(236, 254, 255, 1);
79
- --rut-stats-border: #a5f3fc;
80
- --rut-stats-label: #164e63;
81
- --rut-stats-value: #0891b2;
82
- --rut-btn-clear-bg: #fff;
83
- --rut-btn-clear-text: #334155;
84
- --rut-btn-clear-border: #e2e8f0;
85
- --rut-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
86
- }
87
-
88
- :global(.theme-dark) .rut-root {
89
- --rut-sidebar-bg: rgba(15, 23, 42, 0.5);
90
- --rut-sidebar-border: #1e293b;
91
- --rut-map-bg: #1e293b;
92
- --rut-text-main: #f1f5f9;
93
- --rut-text-muted: #94a3b8;
94
- --rut-item-bg: #1e293b;
95
- --rut-item-border: #334155;
96
- --rut-badge-bg: rgba(8, 145, 178, 0.3);
97
- --rut-badge-border: #164e63;
98
- --rut-badge-text: #67e8f9;
99
- --rut-stats-bg: rgba(8, 145, 178, 0.2);
100
- --rut-stats-border: rgba(8, 145, 178, 0.3);
101
- --rut-stats-label: #a5f3fc;
102
- --rut-stats-value: #22d3ee;
103
- --rut-btn-clear-bg: #1e293b;
104
- --rut-btn-clear-text: #cbd5e1;
105
- --rut-btn-clear-border: #334155;
106
- --rut-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
107
- }
108
-
109
- .rut-layout {
110
- display: flex;
111
- flex-direction: column;
112
- height: calc(100vh - 100px);
113
- min-height: 500px;
114
- max-height: 800px;
115
- }
116
-
117
- @media (min-width: 1024px) {
118
- .rut-layout {
119
- display: grid;
120
- grid-template-columns: 320px 1fr;
121
- flex-direction: unset;
122
- }
123
- }
124
-
125
- .rut-sidebar {
126
- display: flex;
127
- flex-direction: column;
128
- padding: 1.5rem;
129
- background: var(--rut-sidebar-bg);
130
- border-bottom: 1px solid var(--rut-sidebar-border);
131
- overflow: hidden;
132
- height: 50%;
133
- }
134
-
135
- @media (min-width: 1024px) {
136
- .rut-sidebar {
137
- height: 100%;
138
- border-bottom: none;
139
- border-right: 1px solid var(--rut-sidebar-border);
140
- order: 1;
141
- }
142
- }
143
-
144
- .rut-sidebar-header {
145
- margin-bottom: 1.25rem;
146
- }
147
-
148
- .rut-sidebar-title {
149
- font-size: 1.2rem;
150
- font-weight: 700;
151
- color: var(--rut-text-main);
152
- margin: 0 0 0.375rem;
153
- }
154
-
155
- .rut-sidebar-desc {
156
- font-size: 0.875rem;
157
- color: var(--rut-text-muted);
158
- margin: 0;
159
- }
160
-
161
- .rut-list-wrapper {
162
- flex: 1;
163
- overflow-y: auto;
164
- min-height: 0;
165
- margin-bottom: 1rem;
166
- padding-right: 0.25rem;
167
- }
168
-
169
- .rut-list-wrapper::-webkit-scrollbar {
170
- width: 6px;
171
- }
172
-
173
- .rut-list-wrapper::-webkit-scrollbar-track {
174
- background: transparent;
175
- }
176
-
177
- .rut-list-wrapper::-webkit-scrollbar-thumb {
178
- background-color: rgba(156, 163, 175, 0.5);
179
- border-radius: 20px;
180
- }
181
-
182
- .rut-points-list {
183
- list-style: none;
184
- margin: 0;
185
- padding: 0;
186
- display: flex;
187
- flex-direction: column;
188
- gap: 0.5rem;
189
- }
190
-
191
- .rut-empty-state {
192
- text-align: center;
193
- padding: 2rem 1rem;
194
- color: var(--rut-text-muted);
195
- border: 2px dashed var(--rut-sidebar-border);
196
- border-radius: 0.5rem;
197
- font-size: 0.875rem;
198
- }
199
-
200
- .rut-actions {
201
- margin-top: auto;
202
- padding-top: 1rem;
203
- border-top: 1px solid var(--rut-sidebar-border);
204
- display: flex;
205
- flex-direction: column;
206
- gap: 0.75rem;
207
- }
208
-
209
- .rut-btn-primary {
210
- width: 100%;
211
- padding: 0.75rem 1rem;
212
- background: var(--rut-accent-hover);
213
- color: #fff;
214
- border: none;
215
- border-radius: 0.5rem;
216
- font-size: 0.9rem;
217
- font-weight: 600;
218
- cursor: pointer;
219
- display: flex;
220
- align-items: center;
221
- justify-content: center;
222
- gap: 0.5rem;
223
- transition: background 0.15s;
224
- box-shadow: 0 4px 6px -1px rgba(8, 145, 178, 0.2);
225
- }
226
-
227
- .rut-btn-primary:hover:not(:disabled) {
228
- background: var(--rut-accent);
229
- }
230
-
231
- .rut-btn-primary:disabled {
232
- opacity: 0.5;
233
- cursor: not-allowed;
234
- }
235
-
236
- .rut-btn-secondary {
237
- width: 100%;
238
- padding: 0.5rem 1rem;
239
- background: var(--rut-btn-clear-bg);
240
- color: var(--rut-btn-clear-text);
241
- border: 1px solid var(--rut-btn-clear-border);
242
- border-radius: 0.5rem;
243
- font-size: 0.875rem;
244
- font-weight: 500;
245
- cursor: pointer;
246
- transition: opacity 0.15s;
247
- }
248
-
249
- .rut-btn-secondary:hover {
250
- opacity: 0.8;
251
- }
252
-
253
- .rut-btn-icon {
254
- flex-shrink: 0;
255
- }
256
-
257
- .rut-icon-spin {
258
- display: none;
259
- animation: rut-spin 1s linear infinite;
260
- }
261
-
262
- @keyframes rut-spin {
263
- to { transform: rotate(360deg); }
264
- }
265
-
266
- .rut-btn-primary[data-loading] .rut-icon-chart {
267
- display: none;
268
- }
269
-
270
- .rut-btn-primary[data-loading] .rut-icon-spin {
271
- display: block;
272
- }
273
-
274
- .rut-stats-panel {
275
- margin-top: 1rem;
276
- padding: 1rem;
277
- background: var(--rut-stats-bg);
278
- border: 1px solid var(--rut-stats-border);
279
- border-radius: 0.5rem;
280
- }
281
-
282
- .rut-stats-label {
283
- font-size: 0.875rem;
284
- font-weight: 500;
285
- color: var(--rut-stats-label);
286
- }
287
-
288
- .rut-stats-value {
289
- font-size: 1.5rem;
290
- font-weight: 700;
291
- color: var(--rut-stats-value);
292
- }
293
-
294
- .rut-map-area {
295
- position: relative;
296
- height: 50%;
297
- order: 0;
298
- }
299
-
300
- @media (min-width: 1024px) {
301
- .rut-map-area {
302
- height: 100%;
303
- order: 2;
304
- }
305
- }
306
-
307
- .rut-map {
308
- width: 100%;
309
- height: 100%;
310
- background: var(--rut-map-bg);
311
- }
312
-
313
- :global(.rut-hidden) {
314
- display: none;
315
- }
316
- </style>
317
63
 
318
64
  <style is:global>
319
65
  .rut-icon-container {