yi-map-web 1.0.1 → 1.0.21

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,1240 @@
1
+ /**cesium 工具按钮栏*/
2
+ .cesium-viewer-toolbar {
3
+ top: auto !important;
4
+ bottom: 35px !important;
5
+ left: 12px !important;
6
+ right: auto !important;
7
+ }
8
+ .cesium-toolbar-button img {
9
+ width: 22px;
10
+ height: 100%;
11
+ }
12
+ .cesium-toolbar-button:hover img {
13
+ width: 28px;
14
+ }
15
+ .cesium-svgPath-svg {
16
+ scale: 0.8;
17
+ }
18
+ .cesium-svgPath-svg:hover {
19
+ scale: 1;
20
+ }
21
+ .cesium-button .cesium-baseLayerPicker-selected {
22
+ width: 100%;
23
+ }
24
+ .cesium-button:hover .cesium-baseLayerPicker-selected {
25
+ width: 100%;
26
+ }
27
+ .cesium-viewer-toolbar > .cesium-toolbar-button,
28
+ .cesium-navigationHelpButton-wrapper,
29
+ .cesium-viewer-geocoderContainer {
30
+ margin-bottom: 5px;
31
+ float: left;
32
+ clear: both;
33
+ text-align: center;
34
+ }
35
+ .cesium-viewer-geocoderContainer form .cesium-geocoder-input {
36
+ border-width: 1px;
37
+ border-image: url("//data.mars3d.cn/img/control/border.svg") 1 round stretch;
38
+ }
39
+ .cesium-button {
40
+ background-color: rgba(39, 44, 54, 0.8);
41
+ border-radius: 2px;
42
+ border-width: 1px;
43
+ border-image: url("//data.mars3d.cn/img/control/border.svg") 1 round stretch;
44
+ color: #ffffff;
45
+ fill: #e6e6e6;
46
+ line-height: 38px;
47
+ }
48
+ .cesium-button:hover {
49
+ background-color: #3385ff;
50
+ box-shadow: none;
51
+ border: none;
52
+ }
53
+ /**cesium 底图切换面板*/
54
+ .cesium-baseLayerPicker-dropDown {
55
+ bottom: 0;
56
+ left: 40px;
57
+ max-height: 700px;
58
+ margin-bottom: 5px;
59
+ background-color: rgba(23, 49, 71, 0.7);
60
+ }
61
+ /**cesium 帮助面板*/
62
+ .cesium-navigation-help {
63
+ top: auto;
64
+ bottom: 0;
65
+ left: 40px;
66
+ transform-origin: left bottom;
67
+ background: none;
68
+ background-color: rgba(23, 49, 71, 0.8);
69
+ }
70
+ .cesium-navigation-help .cesium-navigation-help-instructions,
71
+ .cesium-navigation-help .cesium-navigation-button {
72
+ background: none;
73
+ }
74
+ .cesium-navigation-help .cesium-navigation-button-selected,
75
+ .cesium-navigation-help .cesium-navigation-button-unselected:hover {
76
+ background-color: #012316;
77
+ }
78
+ /**cesium 二维三维切换*/
79
+ .cesium-sceneModePicker-wrapper {
80
+ width: auto;
81
+ }
82
+ .cesium-sceneModePicker-wrapper .cesium-sceneModePicker-dropDown-icon {
83
+ float: right;
84
+ margin: 0 3px;
85
+ }
86
+ /**cesium POI查询输入框*/
87
+ .cesium-viewer-geocoderContainer .search-results {
88
+ left: 0;
89
+ right: 40px;
90
+ width: auto;
91
+ z-index: 9999;
92
+ }
93
+ .cesium-geocoder-searchButton {
94
+ width: 38px;
95
+ height: 38px;
96
+ background-color: rgba(39, 44, 54, 0.8);
97
+ border-radius: 2px;
98
+ border-width: 1px;
99
+ border-image: url("//data.mars3d.cn/img/control/border.svg") 1 round stretch;
100
+ fill: #e6e6e6;
101
+ }
102
+ .cesium-viewer-geocoderContainer .cesium-geocoder-input {
103
+ height: 40px;
104
+ width: 40px;
105
+ background-color: rgba(63, 72, 84, 0.7);
106
+ }
107
+ .cesium-viewer-geocoderContainer .cesium-geocoder-input:focus {
108
+ background-color: var(--mars-base-bg, rgba(63, 72, 84, 0.9));
109
+ }
110
+ .cesium-viewer-geocoderContainer .search-results {
111
+ background-color: rgba(23, 49, 71, 0.8);
112
+ }
113
+ /**cesium info信息框*/
114
+ .cesium-infoBox {
115
+ top: 50px;
116
+ background: var(--mars-base-bg, rgba(63, 72, 84, 0.9));
117
+ }
118
+ .cesium-infoBox-title {
119
+ background-color: rgba(23, 49, 71, 0.8);
120
+ }
121
+ /**cesium 任务栏的FPS信息*/
122
+ .cesium-performanceDisplay-defaultContainer {
123
+ top: auto;
124
+ bottom: 35px;
125
+ right: 50px;
126
+ }
127
+ .cesium-performanceDisplay-ms,
128
+ .cesium-performanceDisplay-fps {
129
+ color: #fff;
130
+ }
131
+ /**cesium tileset调试信息面板*/
132
+ .cesium-viewer-cesiumInspectorContainer {
133
+ top: 10px;
134
+ left: 10px;
135
+ right: auto;
136
+ }
137
+ .cesium-cesiumInspector {
138
+ background-color: var(--mars-base-bg, rgba(63, 72, 84, 0.9));
139
+ }
140
+ /**覆盖mars3d内部控件的颜色等样式*/
141
+ .mars3d-compass .mars3d-compass-outer {
142
+ fill: rgba(39, 44, 54, 0.8);
143
+ }
144
+ .mars3d-compass .mars3d-compass-inner {
145
+ background: rgba(39, 44, 54, 0.8);
146
+ fill: #fff;
147
+ }
148
+ .mars3d-contextmenu-ul,
149
+ .mars3d-sub-menu {
150
+ background-color: var(--mars-base-bg, rgba(63, 72, 84, 0.9));
151
+ }
152
+ .mars3d-contextmenu-ul {
153
+ border-radius: 2px;
154
+ border-width: 1px;
155
+ border-image: url("//data.mars3d.cn/img/control/border.svg") 1 round stretch;
156
+ }
157
+ .mars3d-contextmenu-ul > li > a:hover,
158
+ .mars3d-sub-menu > li > a:hover,
159
+ .mars3d-contextmenu-ul > li > a:focus,
160
+ .mars3d-sub-menu > li > a:focus,
161
+ .mars3d-contextmenu-ul > li > .active,
162
+ .mars3d-sub-menu > li > .active {
163
+ background-color: var(--mars-hover-color, #3ea6ff);
164
+ }
165
+ .mars3d-contextmenu-ul > .active > a,
166
+ .mars3d-sub-menu > .active > a,
167
+ .mars3d-contextmenu-ul > .active > a:hover,
168
+ .mars3d-sub-menu > .active > a:hover,
169
+ .mars3d-contextmenu-ul > .active > a:focus,
170
+ .mars3d-sub-menu > .active > a:focus {
171
+ background-color: var(--mars-hover-color, #3ea6ff);
172
+ }
173
+ /* Popup样式*/
174
+ .mars3d-popup-color {
175
+ color: var(--mars-text-color, #ffffff);
176
+ }
177
+ .mars3d-popup-background {
178
+ background: var(--mars-base-bg, rgba(63, 72, 84, 0.9));
179
+ }
180
+ .mars3d-popup-content {
181
+ margin: 15px;
182
+ }
183
+ .mars3d-popup-btn-custom {
184
+ padding: 3px 10px;
185
+ border: 1px solid #209ffd;
186
+ background: #209ffd1c;
187
+ color: var(--mars-text-color);
188
+ }
189
+ .mars3d-tooltip {
190
+ color: var(--mars-text-color, #ffffff);
191
+ background: var(--mars-base-bg, rgba(63, 72, 84, 0.9));
192
+ border: 1px solid var(--mars-base-bg, rgba(63, 72, 84, 0.9));
193
+ }
194
+ .mars3d-tooltip-top:before {
195
+ border-top-color: var(--mars-bg-base, rgba(23, 49, 71, 0.8));
196
+ }
197
+ .mars3d-tooltip-bottom:before {
198
+ border-bottom-color: var(--mars-bg-base, rgba(23, 49, 71, 0.8));
199
+ }
200
+ .mars3d-tooltip-left:before {
201
+ border-left-color: var(--mars-bg-base, rgba(23, 49, 71, 0.8));
202
+ }
203
+ .mars3d-tooltip-right:before {
204
+ border-right-color: var(--mars-bg-base, rgba(23, 49, 71, 0.8));
205
+ }
206
+ .mars3d-template-content label {
207
+ padding-right: 6px;
208
+ }
209
+ /* all 中的html样式 */
210
+ .mars3d-template-titile {
211
+ height: 33px;
212
+ line-height: 33px;
213
+ padding-left: 10px;
214
+ border-radius: 4px 4px 0px 0px;
215
+ box-shadow: 0px 6px 12px -2px rgba(50, 50, 93, 0.15), 0px 3px 7px -3px rgba(0, 0, 0, 0.2);
216
+ color: var(--mars-control-text) !important;
217
+ background: var(--mars-msg-title-bg);
218
+ font-family: var(--mars-font-family);
219
+ }
220
+ .mars3d-template-titile a {
221
+ font-size: 16px;
222
+ color: var(--mars-msg-title-color, #479be0);
223
+ text-decoration: none;
224
+ }
225
+ .mars3d-template-content {
226
+ margin-top: 0 !important;
227
+ background-color: var(--mars-dropdown-bg);
228
+ padding: 10px;
229
+ color: #eaf2ff;
230
+ }
231
+ .mars3d-template-content label {
232
+ padding-right: 6px;
233
+ }
234
+ .mars3d-template-content input {
235
+ color: var(--mars-text-color);
236
+ background-color: transparent !important;
237
+ padding: 4px 5px;
238
+ }
239
+ .mars3d-template-content input::placeholder {
240
+ color: #cdcdcd !important;
241
+ }
242
+ .mars3d-template-content textarea {
243
+ color: var(--mars-base-color);
244
+ background-color: transparent !important;
245
+ padding: 4px 5px;
246
+ }
247
+ .mars3d-template-content textarea::placeholder {
248
+ color: #cdcdcd !important;
249
+ }
250
+ .mars3d-popup-btn-custom {
251
+ padding: 3px 10px;
252
+ border: 1px solid #209ffd;
253
+ background: #209ffd1c;
254
+ color: var(--mars-text-color, #ffffff);
255
+ }
256
+ .mars3d-popup-content {
257
+ margin: 15px;
258
+ }
259
+ .mars3d-divGraphic:hover {
260
+ z-index: 999 !important;
261
+ }
262
+ /* 隐藏Mars3D logo */
263
+ .mars3d-logo {
264
+ display: none !important;
265
+ visibility: hidden !important;
266
+ opacity: 0 !important;
267
+ pointer-events: none;
268
+ }
269
+ .toolbar-panel[data-v-f9e69b7a] {
270
+ position: absolute;
271
+ top: 10px;
272
+ right: 0;
273
+ width: 42px;
274
+ background: rgba(23, 35, 50, 0.92);
275
+ border: 1px solid rgba(62, 166, 255, 0.3);
276
+ border-radius: 6px 0 0 6px;
277
+ border-right: none;
278
+ z-index: 999;
279
+ transition: max-height 0.3s ease;
280
+ max-height: calc(100vh - 120px);
281
+ overflow-y: auto;
282
+ backdrop-filter: blur(4px);
283
+ }
284
+ .toolbar-panel.collapsed[data-v-f9e69b7a] {
285
+ max-height: 38px;
286
+ }
287
+ .toolbar-panel.collapsed .panel-content[data-v-f9e69b7a] {
288
+ display: none;
289
+ }
290
+ .toolbar-panel.collapsed .panel-header[data-v-f9e69b7a] {
291
+ padding: 8px;
292
+ justify-content: center;
293
+ border-radius: 6px 0 0 6px;
294
+ }
295
+ .toolbar-panel .panel-header[data-v-f9e69b7a] {
296
+ display: flex;
297
+ align-items: center;
298
+ justify-content: center;
299
+ padding: 8px;
300
+ background: rgba(15, 25, 40, 0.9);
301
+ border-radius: 6px 0 0 0;
302
+ cursor: pointer;
303
+ user-select: none;
304
+ }
305
+ .toolbar-panel .panel-header .toggle-icon[data-v-f9e69b7a] {
306
+ color: #7a9ec0;
307
+ font-size: 12px;
308
+ transition: all 0.3s ease;
309
+ }
310
+ .toolbar-panel .panel-header:hover .toggle-icon[data-v-f9e69b7a] {
311
+ color: #3ea6ff;
312
+ }
313
+ .toolbar-panel .panel-content[data-v-f9e69b7a] {
314
+ padding: 6px 0;
315
+ }
316
+ .toolbar-panel .menu-group[data-v-f9e69b7a] {
317
+ display: flex;
318
+ flex-direction: column;
319
+ gap: 2px;
320
+ }
321
+ .toolbar-panel .menu-item[data-v-f9e69b7a] {
322
+ display: flex;
323
+ align-items: center;
324
+ justify-content: center;
325
+ padding: 8px;
326
+ color: #e8f4ff;
327
+ cursor: pointer;
328
+ border-radius: 3px;
329
+ transition: all 0.2s ease;
330
+ }
331
+ .toolbar-panel .menu-item[data-v-f9e69b7a]:hover {
332
+ background: rgba(62, 166, 255, 0.25);
333
+ color: #fff;
334
+ }
335
+ .toolbar-panel .menu-item.active[data-v-f9e69b7a] {
336
+ background: rgba(62, 166, 255, 0.4);
337
+ color: #fff;
338
+ box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.2);
339
+ }
340
+ .toolbar-panel .menu-item i[data-v-f9e69b7a] {
341
+ font-size: 14px;
342
+ line-height: 1;
343
+ }
344
+ .toolbar-panel .divider[data-v-f9e69b7a] {
345
+ height: 1px;
346
+ background: rgba(255, 255, 255, 0.08);
347
+ margin: 6px 8px;
348
+ }
349
+ .toolbar-panel[data-v-f9e69b7a]::-webkit-scrollbar {
350
+ width: 3px;
351
+ }
352
+ .toolbar-panel[data-v-f9e69b7a]::-webkit-scrollbar-thumb {
353
+ background: rgba(62, 166, 255, 0.3);
354
+ border-radius: 2px;
355
+ }
356
+ .vision-button[data-v-4fc03fe1] {
357
+ position: absolute;
358
+ bottom: 80px;
359
+ right: 0;
360
+ width: 42px;
361
+ height: 42px;
362
+ background: rgba(23, 35, 50, 0.92);
363
+ border-radius: 6px 0 0 6px;
364
+ border: 1px solid rgba(62, 166, 255, 0.3);
365
+ border-right: none;
366
+ z-index: 999;
367
+ display: flex;
368
+ align-items: center;
369
+ justify-content: center;
370
+ color: #e8f4ff;
371
+ cursor: pointer;
372
+ backdrop-filter: blur(4px);
373
+ transition: all 0.2s ease;
374
+ }
375
+ .vision-button[data-v-4fc03fe1]:hover {
376
+ background: rgba(62, 166, 255, 0.25);
377
+ color: #fff;
378
+ }
379
+ .vision-button i[data-v-4fc03fe1] {
380
+ font-size: 14px;
381
+ }
382
+ .vision-popup[data-v-4fc03fe1] {
383
+ position: absolute;
384
+ bottom: 80px;
385
+ right: 48px;
386
+ width: 170px;
387
+ background: rgba(23, 35, 50, 0.92);
388
+ border-radius: 6px;
389
+ border: 1px solid rgba(62, 166, 255, 0.3);
390
+ backdrop-filter: blur(4px);
391
+ z-index: 998;
392
+ }
393
+ .vision-popup .popup-header[data-v-4fc03fe1] {
394
+ display: flex;
395
+ align-items: center;
396
+ justify-content: space-between;
397
+ padding: 8px 12px;
398
+ background: rgba(15, 25, 40, 0.9);
399
+ border-radius: 5px 5px 0 0;
400
+ }
401
+ .vision-popup .popup-header span[data-v-4fc03fe1] {
402
+ color: #e8f4ff;
403
+ font-size: 13px;
404
+ font-weight: 600;
405
+ }
406
+ .vision-popup .popup-header .close-icon[data-v-4fc03fe1] {
407
+ color: #7a9ec0;
408
+ font-size: 14px;
409
+ cursor: pointer;
410
+ transition: color 0.2s ease;
411
+ }
412
+ .vision-popup .popup-header .close-icon[data-v-4fc03fe1]:hover {
413
+ color: #3ea6ff;
414
+ }
415
+ .vision-popup .popup-content[data-v-4fc03fe1] {
416
+ padding: 6px 0;
417
+ }
418
+ .vision-popup .popup-item[data-v-4fc03fe1] {
419
+ display: flex;
420
+ align-items: center;
421
+ padding: 8px 12px;
422
+ color: #e8f4ff;
423
+ cursor: pointer;
424
+ transition: all 0.2s ease;
425
+ border-radius: 3px;
426
+ margin: 0 4px;
427
+ }
428
+ .vision-popup .popup-item[data-v-4fc03fe1]:hover {
429
+ background: rgba(62, 166, 255, 0.25);
430
+ color: #fff;
431
+ }
432
+ .vision-popup .popup-item.active[data-v-4fc03fe1] {
433
+ background: rgba(62, 166, 255, 0.4);
434
+ color: #fff;
435
+ box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.2);
436
+ }
437
+ .vision-popup .popup-item i[data-v-4fc03fe1] {
438
+ margin-right: 10px;
439
+ width: 16px;
440
+ text-align: center;
441
+ font-size: 14px;
442
+ }
443
+ .vision-popup .popup-item span[data-v-4fc03fe1] {
444
+ font-size: 12px;
445
+ }
446
+ .vision-fade-enter-active[data-v-4fc03fe1],
447
+ .vision-fade-leave-active[data-v-4fc03fe1] {
448
+ transition: opacity 0.25s ease, transform 0.25s ease;
449
+ }
450
+ .vision-fade-enter-from[data-v-4fc03fe1],
451
+ .vision-fade-leave-to[data-v-4fc03fe1] {
452
+ opacity: 0;
453
+ transform: translateX(15px);
454
+ }
455
+
456
+ .mars-map-container[data-v-9c769713] {
457
+ width: 100%;
458
+ height: 100%;
459
+ position: relative;
460
+ overflow: hidden;
461
+ }
462
+ .poi-panel[data-v-b2f25973] {
463
+ position: absolute;
464
+ width: 260px;
465
+ height: auto;
466
+ max-height: calc(100vh - 40px);
467
+ background: rgba(23, 35, 50, 0.92);
468
+ border: 1px solid rgba(62, 166, 255, 0.3);
469
+ border-radius: 6px;
470
+ z-index: 999;
471
+ display: flex;
472
+ flex-direction: column;
473
+ backdrop-filter: blur(4px);
474
+ transition: width 0.25s ease;
475
+ }
476
+ .poi-panel.collapsed[data-v-b2f25973] {
477
+ width: 46px;
478
+ max-height: none;
479
+ overflow: hidden;
480
+ }
481
+ .poi-panel.collapsed .poi-panel__title[data-v-b2f25973] {
482
+ display: none;
483
+ }
484
+ .poi-panel.collapsed .poi-panel__body[data-v-b2f25973] {
485
+ display: none;
486
+ }
487
+ .poi-panel.collapsed .collapse-icon[data-v-b2f25973] {
488
+ display: none;
489
+ }
490
+ .poi-panel__header[data-v-b2f25973] {
491
+ position: relative;
492
+ display: flex;
493
+ align-items: center;
494
+ justify-content: space-between;
495
+ padding: 12px 14px;
496
+ background: rgba(15, 25, 40, 0.9);
497
+ border-radius: 6px 6px 0 0;
498
+ cursor: grab;
499
+ user-select: none;
500
+ flex-shrink: 0;
501
+ }
502
+ .poi-panel__header.is-dragging[data-v-b2f25973] {
503
+ cursor: grabbing;
504
+ }
505
+ .poi-panel__header .collapsed-icon[data-v-b2f25973] {
506
+ display: none;
507
+ color: #3ea6ff;
508
+ font-size: 18px;
509
+ }
510
+ .poi-panel__header .poi-panel__title[data-v-b2f25973] {
511
+ display: flex;
512
+ align-items: center;
513
+ gap: 8px;
514
+ color: #e8f4ff;
515
+ font-size: 14px;
516
+ font-weight: 600;
517
+ }
518
+ .poi-panel__header .poi-panel__title .fa[data-v-b2f25973] {
519
+ color: #3ea6ff;
520
+ font-size: 15px;
521
+ }
522
+ .poi-panel__header .poi-count[data-v-b2f25973] {
523
+ background: #e74c3c;
524
+ color: #fff;
525
+ font-size: 11px;
526
+ padding: 1px 6px;
527
+ border-radius: 10px;
528
+ min-width: 18px;
529
+ text-align: center;
530
+ }
531
+ .poi-panel__header .collapse-icon[data-v-b2f25973] {
532
+ color: #7a9ec0;
533
+ font-size: 12px;
534
+ }
535
+ .poi-panel.collapsed .poi-panel__header[data-v-b2f25973] {
536
+ flex-direction: column;
537
+ align-items: flex-start;
538
+ padding: 8px 10px 10px;
539
+ gap: 0;
540
+ cursor: pointer;
541
+ }
542
+ .poi-panel.collapsed .poi-panel__header .collapsed-icon-wrap[data-v-b2f25973] {
543
+ position: relative;
544
+ display: inline-flex;
545
+ align-items: center;
546
+ justify-content: center;
547
+ margin-top: 12px;
548
+ margin-left: 2px;
549
+ }
550
+ .poi-panel.collapsed .poi-panel__header .collapsed-icon[data-v-b2f25973] {
551
+ display: block;
552
+ font-size: 20px;
553
+ color: #3ea6ff;
554
+ }
555
+ .poi-panel.collapsed .poi-panel__header .poi-count--collapsed[data-v-b2f25973] {
556
+ display: block;
557
+ position: absolute;
558
+ top: -10px;
559
+ right: -12px;
560
+ min-width: 16px;
561
+ height: 16px;
562
+ line-height: 16px;
563
+ font-size: 10px;
564
+ padding: 0 3px;
565
+ background: #3ea6ff;
566
+ color: #fff;
567
+ border-radius: 8px;
568
+ }
569
+ .poi-panel__body[data-v-b2f25973] {
570
+ display: flex;
571
+ flex-direction: column;
572
+ overflow: hidden;
573
+ }
574
+ .poi-panel__toolbar[data-v-b2f25973] {
575
+ display: flex;
576
+ gap: 8px;
577
+ padding: 10px 12px;
578
+ border-bottom: 1px solid rgba(255, 255, 255, 0.07);
579
+ }
580
+ .poi-panel__toolbar .btn[data-v-b2f25973] {
581
+ flex: 1;
582
+ padding: 6px 8px;
583
+ border: 1px solid rgba(62, 166, 255, 0.4);
584
+ background: rgba(62, 166, 255, 0.1);
585
+ color: #9dc8f0;
586
+ border-radius: 4px;
587
+ font-size: 12px;
588
+ cursor: pointer;
589
+ display: flex;
590
+ align-items: center;
591
+ justify-content: center;
592
+ gap: 5px;
593
+ transition: all 0.2s ease;
594
+ }
595
+ .poi-panel__toolbar .btn[data-v-b2f25973]:hover {
596
+ background: rgba(62, 166, 255, 0.25);
597
+ color: #fff;
598
+ }
599
+ .poi-panel__toolbar .btn--active[data-v-b2f25973] {
600
+ background: rgba(62, 166, 255, 0.35);
601
+ color: #fff;
602
+ border-color: #3ea6ff;
603
+ }
604
+ .poi-panel__toolbar .btn--danger[data-v-b2f25973] {
605
+ flex: 0 0 auto;
606
+ border-color: rgba(255, 100, 100, 0.4);
607
+ background: rgba(255, 100, 100, 0.1);
608
+ color: #ffaaaa;
609
+ }
610
+ .poi-panel__toolbar .btn--danger[data-v-b2f25973]:hover:not(:disabled) {
611
+ background: rgba(255, 100, 100, 0.25);
612
+ color: #fff;
613
+ }
614
+ .poi-panel__toolbar .btn--danger[data-v-b2f25973]:disabled {
615
+ opacity: 0.4;
616
+ cursor: not-allowed;
617
+ }
618
+ .poi-panel__filter[data-v-b2f25973] {
619
+ display: flex;
620
+ gap: 6px;
621
+ padding: 8px 12px;
622
+ flex-wrap: wrap;
623
+ border-bottom: 1px solid rgba(255, 255, 255, 0.07);
624
+ }
625
+ .poi-panel__filter .filter-tag[data-v-b2f25973] {
626
+ padding: 3px 8px;
627
+ border-radius: 12px;
628
+ font-size: 11px;
629
+ color: #7a9ec0;
630
+ background: rgba(255, 255, 255, 0.06);
631
+ cursor: pointer;
632
+ display: flex;
633
+ align-items: center;
634
+ gap: 4px;
635
+ transition: all 0.2s ease;
636
+ }
637
+ .poi-panel__filter .filter-tag[data-v-b2f25973]:hover {
638
+ background: rgba(255, 255, 255, 0.12);
639
+ color: #c8dff0;
640
+ }
641
+ .poi-panel__filter .filter-tag.active[data-v-b2f25973] {
642
+ background: rgba(62, 166, 255, 0.2);
643
+ color: #3ea6ff;
644
+ }
645
+ .poi-panel__list[data-v-b2f25973] {
646
+ overflow-y: auto;
647
+ max-height: calc(100vh - 220px);
648
+ padding: 6px 0;
649
+ }
650
+ .poi-panel__list[data-v-b2f25973]::-webkit-scrollbar {
651
+ width: 4px;
652
+ }
653
+ .poi-panel__list[data-v-b2f25973]::-webkit-scrollbar-thumb {
654
+ background: rgba(62, 166, 255, 0.3);
655
+ border-radius: 2px;
656
+ }
657
+ .poi-item[data-v-b2f25973] {
658
+ display: flex;
659
+ align-items: center;
660
+ gap: 10px;
661
+ padding: 8px 12px;
662
+ cursor: pointer;
663
+ transition: background 0.15s ease;
664
+ }
665
+ .poi-item[data-v-b2f25973]:hover {
666
+ background: rgba(62, 166, 255, 0.1);
667
+ }
668
+ .poi-item--active[data-v-b2f25973] {
669
+ background: rgba(62, 166, 255, 0.18);
670
+ }
671
+ .poi-item__dot[data-v-b2f25973] {
672
+ width: 8px;
673
+ height: 8px;
674
+ border-radius: 50%;
675
+ flex-shrink: 0;
676
+ }
677
+ .poi-item__info[data-v-b2f25973] {
678
+ flex: 1;
679
+ min-width: 0;
680
+ }
681
+ .poi-item__info-name[data-v-b2f25973] {
682
+ overflow: hidden;
683
+ }
684
+ .poi-item__name[data-v-b2f25973] {
685
+ font-size: 13px;
686
+ color: #d8ecff;
687
+ white-space: nowrap;
688
+ overflow: hidden;
689
+ text-overflow: ellipsis;
690
+ cursor: text;
691
+ }
692
+ .poi-item__name[data-v-b2f25973]:hover {
693
+ color: #a0d4ff;
694
+ }
695
+ .poi-item__name-input[data-v-b2f25973] {
696
+ width: 100%;
697
+ font-size: 13px;
698
+ color: #e8f4ff;
699
+ background: rgba(62, 166, 255, 0.15);
700
+ border: 1px solid rgba(62, 166, 255, 0.5);
701
+ border-radius: 3px;
702
+ padding: 1px 5px;
703
+ outline: none;
704
+ font-family: inherit;
705
+ }
706
+ .poi-item__name-input[data-v-b2f25973]:focus {
707
+ border-color: #3ea6ff;
708
+ background: rgba(62, 166, 255, 0.22);
709
+ }
710
+ .poi-item__coord[data-v-b2f25973] {
711
+ font-size: 11px;
712
+ color: #5a7a9a;
713
+ margin-top: 2px;
714
+ font-family: monospace;
715
+ }
716
+ .poi-item__actions[data-v-b2f25973] {
717
+ display: flex;
718
+ gap: 4px;
719
+ flex-shrink: 0;
720
+ opacity: 0;
721
+ transition: opacity 0.15s ease;
722
+ }
723
+ .poi-item:hover .poi-item__actions[data-v-b2f25973] {
724
+ opacity: 1;
725
+ }
726
+ .icon-btn[data-v-b2f25973] {
727
+ width: 22px;
728
+ height: 22px;
729
+ border: none;
730
+ background: rgba(255, 255, 255, 0.08);
731
+ color: #9dc8f0;
732
+ border-radius: 3px;
733
+ cursor: pointer;
734
+ display: flex;
735
+ align-items: center;
736
+ justify-content: center;
737
+ font-size: 11px;
738
+ transition: all 0.15s ease;
739
+ }
740
+ .icon-btn[data-v-b2f25973]:hover {
741
+ background: rgba(62, 166, 255, 0.3);
742
+ color: #fff;
743
+ }
744
+ .icon-btn--danger[data-v-b2f25973]:hover {
745
+ background: rgba(255, 80, 80, 0.35);
746
+ color: #fff;
747
+ }
748
+ .poi-panel__empty[data-v-b2f25973] {
749
+ text-align: center;
750
+ padding: 30px 20px;
751
+ color: #4a6a8a;
752
+ }
753
+ .poi-panel__empty .fa[data-v-b2f25973] {
754
+ font-size: 32px;
755
+ margin-bottom: 10px;
756
+ display: block;
757
+ }
758
+ .poi-panel__empty p[data-v-b2f25973] {
759
+ font-size: 12px;
760
+ margin: 0;
761
+ line-height: 1.6;
762
+ }
763
+ .poi-list-enter-active[data-v-b2f25973],
764
+ .poi-list-leave-active[data-v-b2f25973] {
765
+ transition: all 0.25s ease;
766
+ }
767
+ .poi-list-enter-from[data-v-b2f25973] {
768
+ opacity: 0;
769
+ transform: translateX(-12px);
770
+ }
771
+ .poi-list-leave-to[data-v-b2f25973] {
772
+ opacity: 0;
773
+ transform: translateX(12px);
774
+ }
775
+ .track-panel[data-v-3e019b92] {
776
+ position: absolute;
777
+ width: 280px;
778
+ height: auto;
779
+ max-height: calc(100vh - 40px);
780
+ background: rgba(23, 35, 50, 0.92);
781
+ border: 1px solid rgba(62, 166, 255, 0.3);
782
+ border-radius: 6px;
783
+ z-index: 998;
784
+ display: flex;
785
+ flex-direction: column;
786
+ backdrop-filter: blur(4px);
787
+ transition: width 0.25s ease;
788
+ }
789
+ .track-panel.collapsed[data-v-3e019b92] {
790
+ width: 46px;
791
+ max-height: none;
792
+ overflow: hidden;
793
+ }
794
+ .track-panel.collapsed .track-panel__title[data-v-3e019b92] {
795
+ display: none;
796
+ }
797
+ .track-panel.collapsed .track-panel__body[data-v-3e019b92] {
798
+ display: none;
799
+ }
800
+ .track-panel.collapsed .collapse-icon[data-v-3e019b92] {
801
+ display: none;
802
+ }
803
+ .track-panel__header[data-v-3e019b92] {
804
+ position: relative;
805
+ display: flex;
806
+ align-items: center;
807
+ justify-content: space-between;
808
+ padding: 12px 14px;
809
+ background: rgba(15, 25, 40, 0.9);
810
+ border-radius: 6px 6px 0 0;
811
+ cursor: grab;
812
+ user-select: none;
813
+ flex-shrink: 0;
814
+ }
815
+ .track-panel__header.is-dragging[data-v-3e019b92] {
816
+ cursor: grabbing;
817
+ }
818
+ .track-panel__header .collapsed-icon[data-v-3e019b92] {
819
+ display: none;
820
+ color: #ff6b35;
821
+ font-size: 18px;
822
+ }
823
+ .track-panel__header .track-panel__title[data-v-3e019b92] {
824
+ display: flex;
825
+ align-items: center;
826
+ gap: 8px;
827
+ color: #e8f4ff;
828
+ font-size: 14px;
829
+ font-weight: 600;
830
+ }
831
+ .track-panel__header .track-panel__title .fa[data-v-3e019b92] {
832
+ color: #ff6b35;
833
+ font-size: 15px;
834
+ }
835
+ .track-panel__header .track-count[data-v-3e019b92] {
836
+ background: #e74c3c;
837
+ color: #fff;
838
+ font-size: 11px;
839
+ padding: 1px 6px;
840
+ border-radius: 10px;
841
+ min-width: 18px;
842
+ text-align: center;
843
+ }
844
+ .track-panel__header .collapse-icon[data-v-3e019b92] {
845
+ color: #7a9ec0;
846
+ font-size: 12px;
847
+ }
848
+ .track-panel.collapsed .track-panel__header[data-v-3e019b92] {
849
+ flex-direction: column;
850
+ align-items: flex-start;
851
+ padding: 8px 10px 10px;
852
+ gap: 0;
853
+ cursor: pointer;
854
+ }
855
+ .track-panel.collapsed .track-panel__header .collapsed-icon-wrap[data-v-3e019b92] {
856
+ position: relative;
857
+ display: inline-flex;
858
+ align-items: center;
859
+ justify-content: center;
860
+ margin-top: 12px;
861
+ margin-left: 2px;
862
+ }
863
+ .track-panel.collapsed .track-panel__header .collapsed-icon[data-v-3e019b92] {
864
+ display: block;
865
+ color: #ff6b35;
866
+ font-size: 18px;
867
+ }
868
+ .track-panel.collapsed .track-panel__header .track-badge[data-v-3e019b92] {
869
+ position: absolute;
870
+ top: -12px;
871
+ right: -12px;
872
+ background: #e74c3c;
873
+ color: #fff;
874
+ font-size: 10px;
875
+ font-weight: 600;
876
+ min-width: 16px;
877
+ height: 16px;
878
+ line-height: 16px;
879
+ text-align: center;
880
+ border-radius: 8px;
881
+ padding: 0 3px;
882
+ }
883
+ .track-panel__body[data-v-3e019b92] {
884
+ display: flex;
885
+ flex-direction: column;
886
+ overflow: hidden;
887
+ }
888
+ .track-panel__toolbar[data-v-3e019b92] {
889
+ display: flex;
890
+ gap: 6px;
891
+ padding: 10px 12px;
892
+ border-bottom: 1px solid rgba(255, 255, 255, 0.07);
893
+ }
894
+ .track-panel__toolbar .btn[data-v-3e019b92] {
895
+ flex: 1;
896
+ padding: 5px 8px;
897
+ border: 1px solid rgba(62, 166, 255, 0.4);
898
+ background: rgba(62, 166, 255, 0.1);
899
+ color: #9dc8f0;
900
+ border-radius: 4px;
901
+ font-size: 12px;
902
+ cursor: pointer;
903
+ display: flex;
904
+ align-items: center;
905
+ justify-content: center;
906
+ gap: 5px;
907
+ transition: all 0.2s;
908
+ }
909
+ .track-panel__toolbar .btn[data-v-3e019b92]:hover {
910
+ background: rgba(62, 166, 255, 0.25);
911
+ color: #fff;
912
+ }
913
+ .track-panel__toolbar .btn--active[data-v-3e019b92] {
914
+ background: rgba(255, 100, 50, 0.35);
915
+ color: #ffaa88;
916
+ border-color: #ff6b35;
917
+ }
918
+ .track-panel__toolbar .btn--primary[data-v-3e019b92] {
919
+ background: rgba(62, 166, 255, 0.2);
920
+ color: #fff;
921
+ border-color: rgba(62, 166, 255, 0.6);
922
+ }
923
+ .track-panel__toolbar .btn--info[data-v-3e019b92] {
924
+ background: rgba(255, 107, 53, 0.2);
925
+ color: #ffaa88;
926
+ border-color: rgba(255, 107, 53, 0.5);
927
+ }
928
+ .track-panel__toolbar .btn--danger[data-v-3e019b92] {
929
+ flex: 0 0 auto;
930
+ width: 36px;
931
+ border-color: rgba(255, 80, 80, 0.4);
932
+ background: rgba(255, 80, 80, 0.1);
933
+ color: #ffaaaa;
934
+ }
935
+ .track-panel__toolbar .btn--danger[data-v-3e019b92]:hover:not(:disabled) {
936
+ background: rgba(255, 80, 80, 0.25);
937
+ color: #fff;
938
+ }
939
+ .track-panel__toolbar .btn--danger[data-v-3e019b92]:disabled {
940
+ opacity: 0.4;
941
+ cursor: not-allowed;
942
+ }
943
+ .track-panel__playback[data-v-3e019b92] {
944
+ padding: 10px 12px;
945
+ border-bottom: 1px solid rgba(255, 255, 255, 0.07);
946
+ }
947
+ .track-panel__playback .playback__track-name[data-v-3e019b92] {
948
+ display: flex;
949
+ align-items: center;
950
+ gap: 6px;
951
+ font-size: 12px;
952
+ color: #9dc8f0;
953
+ margin-bottom: 8px;
954
+ }
955
+ .track-panel__playback .playback__track-name .fa[data-v-3e019b92] {
956
+ color: #00ff88;
957
+ }
958
+ .track-panel__playback .playback__track-name .playback__mode-badge[data-v-3e019b92] {
959
+ background: rgba(0, 255, 136, 0.15);
960
+ color: #00ff88;
961
+ font-size: 10px;
962
+ padding: 1px 6px;
963
+ border-radius: 8px;
964
+ margin-left: 4px;
965
+ }
966
+ .track-panel__playback .playback__controls[data-v-3e019b92] {
967
+ display: flex;
968
+ align-items: center;
969
+ justify-content: center;
970
+ gap: 8px;
971
+ margin-bottom: 8px;
972
+ }
973
+ .track-panel__playback .ctrl-btn[data-v-3e019b92] {
974
+ width: 30px;
975
+ height: 30px;
976
+ border: 1px solid rgba(62, 166, 255, 0.4);
977
+ background: rgba(62, 166, 255, 0.1);
978
+ color: #9dc8f0;
979
+ border-radius: 50%;
980
+ cursor: pointer;
981
+ display: flex;
982
+ align-items: center;
983
+ justify-content: center;
984
+ font-size: 12px;
985
+ transition: all 0.2s;
986
+ }
987
+ .track-panel__playback .ctrl-btn[data-v-3e019b92]:hover {
988
+ background: rgba(62, 166, 255, 0.3);
989
+ color: #fff;
990
+ }
991
+ .track-panel__playback .ctrl-btn--play[data-v-3e019b92] {
992
+ width: 38px;
993
+ height: 38px;
994
+ background: rgba(0, 200, 100, 0.2);
995
+ border-color: rgba(0, 200, 100, 0.6);
996
+ color: #00ff88;
997
+ font-size: 15px;
998
+ }
999
+ .track-panel__playback .ctrl-btn--play[data-v-3e019b92]:hover {
1000
+ background: rgba(0, 200, 100, 0.35);
1001
+ }
1002
+ .track-panel__playback .playback__speed[data-v-3e019b92] {
1003
+ display: flex;
1004
+ align-items: center;
1005
+ gap: 6px;
1006
+ margin-bottom: 8px;
1007
+ }
1008
+ .track-panel__playback .playback__speed .speed-label[data-v-3e019b92] {
1009
+ font-size: 11px;
1010
+ color: #5a7a9a;
1011
+ }
1012
+ .track-panel__playback .playback__speed .speed-btns[data-v-3e019b92] {
1013
+ display: flex;
1014
+ gap: 4px;
1015
+ }
1016
+ .track-panel__playback .playback__speed .speed-btn[data-v-3e019b92] {
1017
+ padding: 2px 7px;
1018
+ border: 1px solid rgba(62, 166, 255, 0.3);
1019
+ background: rgba(255, 255, 255, 0.04);
1020
+ color: #7a9ec0;
1021
+ border-radius: 10px;
1022
+ font-size: 11px;
1023
+ cursor: pointer;
1024
+ transition: all 0.2s;
1025
+ }
1026
+ .track-panel__playback .playback__speed .speed-btn[data-v-3e019b92]:hover {
1027
+ background: rgba(62, 166, 255, 0.2);
1028
+ color: #fff;
1029
+ }
1030
+ .track-panel__playback .playback__speed .speed-btn.active[data-v-3e019b92] {
1031
+ background: rgba(62, 166, 255, 0.3);
1032
+ color: #3ea6ff;
1033
+ border-color: #3ea6ff;
1034
+ }
1035
+ .track-panel__playback .playback__timeline[data-v-3e019b92] {
1036
+ display: flex;
1037
+ align-items: center;
1038
+ gap: 6px;
1039
+ }
1040
+ .track-panel__playback .playback__timeline .time-label[data-v-3e019b92] {
1041
+ font-size: 10px;
1042
+ color: #5a7a9a;
1043
+ font-family: monospace;
1044
+ min-width: 36px;
1045
+ text-align: center;
1046
+ }
1047
+ .track-panel__playback .playback__timeline .progress-slider[data-v-3e019b92] {
1048
+ flex: 1;
1049
+ height: 4px;
1050
+ -webkit-appearance: none;
1051
+ appearance: none;
1052
+ background: rgba(62, 166, 255, 0.2);
1053
+ border-radius: 2px;
1054
+ outline: none;
1055
+ cursor: pointer;
1056
+ }
1057
+ .track-panel__playback .playback__timeline .progress-slider[data-v-3e019b92]::-webkit-slider-thumb {
1058
+ -webkit-appearance: none;
1059
+ width: 12px;
1060
+ height: 12px;
1061
+ border-radius: 50%;
1062
+ background: #3ea6ff;
1063
+ cursor: pointer;
1064
+ box-shadow: 0 0 6px rgba(62, 166, 255, 0.6);
1065
+ }
1066
+ .track-panel__playback .playback__timeline .progress-slider[data-v-3e019b92]::-moz-range-thumb {
1067
+ width: 12px;
1068
+ height: 12px;
1069
+ border-radius: 50%;
1070
+ background: #3ea6ff;
1071
+ border: none;
1072
+ cursor: pointer;
1073
+ }
1074
+ .track-panel__realtime-hint[data-v-3e019b92] {
1075
+ padding: 8px 12px;
1076
+ border-bottom: 1px solid rgba(255, 255, 255, 0.07);
1077
+ display: flex;
1078
+ flex-direction: column;
1079
+ gap: 4px;
1080
+ }
1081
+ .track-panel__realtime-hint .realtime-pulse[data-v-3e019b92] {
1082
+ display: flex;
1083
+ align-items: center;
1084
+ gap: 6px;
1085
+ font-size: 12px;
1086
+ color: #ff6b35;
1087
+ }
1088
+ .track-panel__realtime-hint .realtime-pulse .fa[data-v-3e019b92] {
1089
+ color: #ff6b35;
1090
+ }
1091
+ .track-panel__realtime-hint .blink-dot[data-v-3e019b92] {
1092
+ width: 6px;
1093
+ height: 6px;
1094
+ border-radius: 50%;
1095
+ background: #ff6b35;
1096
+ animation: blink-3e019b92 1s ease-in-out infinite;
1097
+ }
1098
+ .track-panel__realtime-hint .realtime-count[data-v-3e019b92] {
1099
+ font-size: 11px;
1100
+ color: #7a9ec0;
1101
+ }
1102
+ .track-panel__realtime-hint .realtime-count strong[data-v-3e019b92] {
1103
+ color: #ff6b35;
1104
+ }
1105
+ @keyframes blink-3e019b92 {
1106
+ 0%,
1107
+ 100% {
1108
+ opacity: 1;
1109
+ }
1110
+ 50% {
1111
+ opacity: 0.2;
1112
+ }
1113
+ }
1114
+ .track-panel__list[data-v-3e019b92] {
1115
+ overflow-y: auto;
1116
+ max-height: calc(100vh - 340px);
1117
+ padding: 6px 0;
1118
+ }
1119
+ .track-panel__list[data-v-3e019b92]::-webkit-scrollbar {
1120
+ width: 4px;
1121
+ }
1122
+ .track-panel__list[data-v-3e019b92]::-webkit-scrollbar-thumb {
1123
+ background: rgba(62, 166, 255, 0.3);
1124
+ border-radius: 2px;
1125
+ }
1126
+ .track-item[data-v-3e019b92] {
1127
+ display: flex;
1128
+ align-items: center;
1129
+ gap: 10px;
1130
+ padding: 8px 12px;
1131
+ cursor: pointer;
1132
+ transition: background 0.15s;
1133
+ }
1134
+ .track-item[data-v-3e019b92]:hover {
1135
+ background: rgba(62, 166, 255, 0.1);
1136
+ }
1137
+ .track-item--active[data-v-3e019b92] {
1138
+ background: rgba(62, 166, 255, 0.18);
1139
+ }
1140
+ .track-item--realtime .track-item__bar[data-v-3e019b92] {
1141
+ background: #ff6b35 !important;
1142
+ }
1143
+ .track-item__bar[data-v-3e019b92] {
1144
+ width: 3px;
1145
+ height: 30px;
1146
+ border-radius: 2px;
1147
+ background: #3ea6ff;
1148
+ flex-shrink: 0;
1149
+ }
1150
+ .track-item__info[data-v-3e019b92] {
1151
+ flex: 1;
1152
+ min-width: 0;
1153
+ }
1154
+ .track-item__name[data-v-3e019b92] {
1155
+ overflow: hidden;
1156
+ font-size: 13px;
1157
+ color: #ffffff;
1158
+ white-space: nowrap;
1159
+ text-overflow: ellipsis;
1160
+ display: flex;
1161
+ align-items: center;
1162
+ gap: 5px;
1163
+ }
1164
+ .track-item__name .fa[data-v-3e019b92] {
1165
+ color: #8ab4d4;
1166
+ font-size: 12px;
1167
+ }
1168
+ .track-item__meta[data-v-3e019b92] {
1169
+ font-size: 11px;
1170
+ color: #9dc8f0;
1171
+ margin-top: 2px;
1172
+ display: flex;
1173
+ align-items: center;
1174
+ gap: 6px;
1175
+ }
1176
+ .track-item .realtime-tag[data-v-3e019b92] {
1177
+ background: rgba(255, 107, 53, 0.2);
1178
+ color: #ff6b35;
1179
+ font-size: 10px;
1180
+ padding: 0 5px;
1181
+ border-radius: 6px;
1182
+ }
1183
+ .track-item__actions[data-v-3e019b92] {
1184
+ display: flex;
1185
+ gap: 4px;
1186
+ flex-shrink: 0;
1187
+ opacity: 0;
1188
+ transition: opacity 0.15s;
1189
+ }
1190
+ .track-item:hover .track-item__actions[data-v-3e019b92] {
1191
+ opacity: 1;
1192
+ }
1193
+ .icon-btn[data-v-3e019b92] {
1194
+ width: 22px;
1195
+ height: 22px;
1196
+ border: none;
1197
+ background: rgba(255, 255, 255, 0.08);
1198
+ color: #9dc8f0;
1199
+ border-radius: 3px;
1200
+ cursor: pointer;
1201
+ display: flex;
1202
+ align-items: center;
1203
+ justify-content: center;
1204
+ font-size: 11px;
1205
+ transition: all 0.15s;
1206
+ }
1207
+ .icon-btn[data-v-3e019b92]:hover {
1208
+ background: rgba(62, 166, 255, 0.3);
1209
+ color: #fff;
1210
+ }
1211
+ .icon-btn--danger[data-v-3e019b92]:hover {
1212
+ background: rgba(255, 80, 80, 0.35);
1213
+ color: #fff;
1214
+ }
1215
+ .track-panel__empty[data-v-3e019b92] {
1216
+ text-align: center;
1217
+ padding: 30px 20px;
1218
+ color: #4a6a8a;
1219
+ }
1220
+ .track-panel__empty .fa[data-v-3e019b92] {
1221
+ font-size: 32px;
1222
+ margin-bottom: 10px;
1223
+ display: block;
1224
+ }
1225
+ .track-panel__empty p[data-v-3e019b92] {
1226
+ font-size: 12px;
1227
+ margin: 0;
1228
+ }
1229
+ .track-list-enter-active[data-v-3e019b92],
1230
+ .track-list-leave-active[data-v-3e019b92] {
1231
+ transition: all 0.25s ease;
1232
+ }
1233
+ .track-list-enter-from[data-v-3e019b92] {
1234
+ opacity: 0;
1235
+ transform: translateX(-12px);
1236
+ }
1237
+ .track-list-leave-to[data-v-3e019b92] {
1238
+ opacity: 0;
1239
+ transform: translateX(12px);
1240
+ }