fdb2 1.0.34 → 1.0.36

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,88 +1,207 @@
1
1
 
2
- .language-switcher[data-v-f7e165cd] {
2
+ .language-switcher[data-v-972f3b8f] {
3
3
  display: flex;
4
4
  align-items: center;
5
- gap: 0.35rem;
6
- padding: 0.4rem 0.75rem;
7
- border-radius: 8px;
5
+ gap: 0.25rem;
6
+ padding: 0.2rem 0.5rem;
7
+ border-radius: 4px;
8
8
  cursor: pointer;
9
- color: #64748b;
10
- font-size: 0.85rem;
11
- font-weight: 600;
12
- transition: all 0.3s ease;
9
+ color: var(--db-text-muted, #64748b);
10
+ font-size: 0.75rem;
11
+ font-weight: 500;
12
+ transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease;
13
13
  user-select: none;
14
- border: 1px solid #cbd5e1;
15
- background: rgba(255, 255, 255, 0.8);
14
+ border: 1px solid var(--db-border, #cbd5e1);
15
+ background: transparent;
16
16
  }
17
- .language-switcher[data-v-f7e165cd]:hover {
18
- background: rgba(102, 126, 234, 0.1);
19
- color: #667eea;
20
- border-color: #667eea;
21
- transform: translateY(-1px);
17
+ .language-switcher[data-v-972f3b8f]:hover {
18
+ background: var(--db-bg-soft, rgba(102, 126, 234, 0.1));
19
+ color: var(--db-dark-color, #667eea);
20
+ border-color: var(--db-border-light, #667eea);
22
21
  }
23
- .lang-label[data-v-f7e165cd] {
22
+ .lang-label[data-v-972f3b8f] {
24
23
  letter-spacing: 0.05em;
25
24
  }
26
25
 
26
+ .about-page[data-v-1f58249c] {
27
+ padding: 1.5rem;
28
+ max-width: 800px;
29
+ margin: 0 auto;
30
+ }
31
+ .about-header[data-v-1f58249c] {
32
+ display: flex;
33
+ align-items: center;
34
+ gap: 1rem;
35
+ margin-bottom: 2rem;
36
+ padding-bottom: 1rem;
37
+ border-bottom: 1px solid var(--db-border);
38
+ }
39
+ .about-logo[data-v-1f58249c] {
40
+ width: 60px;
41
+ height: 60px;
42
+ border-radius: 12px;
43
+ background: var(--db-primary-color);
44
+ display: flex;
45
+ align-items: center;
46
+ justify-content: center;
47
+ color: var(--db-on-accent);
48
+ font-size: 2rem;
49
+ }
50
+ .about-title h2[data-v-1f58249c] {
51
+ margin: 0;
52
+ font-size: 2rem;
53
+ font-weight: 700;
54
+ color: var(--db-dark-color);
55
+ }
56
+ .about-title p[data-v-1f58249c] {
57
+ margin: 0.25rem 0 0 0;
58
+ color: var(--db-text-muted);
59
+ font-size: 1.125rem;
60
+ }
61
+ .about-content[data-v-1f58249c] {
62
+ display: flex;
63
+ flex-direction: column;
64
+ gap: 2rem;
65
+ }
66
+ .about-section[data-v-1f58249c] {
67
+ background: var(--db-surface);
68
+ padding: 1.25rem;
69
+ border-radius: 8px;
70
+ box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
71
+ }
72
+ .about-section h3[data-v-1f58249c] {
73
+ margin: 0 0 1rem 0;
74
+ font-size: 1.25rem;
75
+ font-weight: 600;
76
+ color: var(--db-dark-color);
77
+ }
78
+ .about-section p[data-v-1f58249c] {
79
+ margin: 0 0 1rem 0;
80
+ color: var(--db-text-muted);
81
+ line-height: 1.6;
82
+ }
83
+ .feature-list[data-v-1f58249c] {
84
+ list-style: none;
85
+ padding: 0;
86
+ margin: 0;
87
+ }
88
+ .feature-list li[data-v-1f58249c] {
89
+ display: flex;
90
+ align-items: flex-start;
91
+ gap: 0.75rem;
92
+ margin-bottom: 0.75rem;
93
+ color: var(--db-text-muted);
94
+ }
95
+ .feature-list li i[data-v-1f58249c] {
96
+ color: #10b981;
97
+ margin-top: 0.25rem;
98
+ flex-shrink: 0;
99
+ }
100
+ .database-types[data-v-1f58249c] {
101
+ display: grid;
102
+ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
103
+ gap: 0.5rem;
104
+ }
105
+ .db-type[data-v-1f58249c] {
106
+ display: flex;
107
+ justify-content: space-between;
108
+ align-items: center;
109
+ padding: 0.5rem;
110
+ background: var(--db-light-color);
111
+ border-radius: 6px;
112
+ }
113
+ .db-name[data-v-1f58249c] {
114
+ font-weight: 500;
115
+ color: var(--db-text-body);
116
+ }
117
+ .db-port[data-v-1f58249c] {
118
+ color: var(--db-text-muted);
119
+ font-size: 0.875rem;
120
+ }
121
+ .about-links[data-v-1f58249c] {
122
+ display: flex;
123
+ flex-direction: column;
124
+ gap: 0.75rem;
125
+ }
126
+ .about-link[data-v-1f58249c] {
127
+ display: flex;
128
+ align-items: center;
129
+ gap: 0.75rem;
130
+ padding: 0.75rem;
131
+ background: var(--db-light-color);
132
+ border-radius: 8px;
133
+ color: #667eea;
134
+ text-decoration: none;
135
+ font-weight: 500;
136
+ transition: all 0.3s ease;
137
+ }
138
+ .about-link[data-v-1f58249c]:hover {
139
+ background: var(--db-primary-bg);
140
+ transform: translateX(4px);
141
+ }
142
+ .about-link i[data-v-1f58249c] {
143
+ flex-shrink: 0;
144
+ }
145
+
27
146
  /* 顶部工具栏 */
28
- .top-toolbar[data-v-1b6d65cc] {
147
+ .top-toolbar[data-v-eefd0a6a] {
29
148
  display: flex;
30
149
  align-items: center;
31
150
  justify-content: space-between;
32
- padding: 0.5rem 1.25rem;
33
- background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
34
- border-bottom: 1px solid #cbd5e1;
35
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
151
+ padding: 0.375rem 0.75rem;
152
+ background: var(--db-gray-light);
153
+ border-bottom: 1px solid var(--db-border);
154
+ box-shadow: none;
36
155
  position: sticky;
37
156
  top: 0;
38
157
  z-index: 1030;
39
158
  }
40
- .toolbar-left[data-v-1b6d65cc] {
159
+ .toolbar-left[data-v-eefd0a6a] {
41
160
  display: flex;
42
161
  align-items: center;
43
162
  }
44
- .brand-link[data-v-1b6d65cc] {
163
+ .brand-link[data-v-eefd0a6a] {
45
164
  display: flex;
46
165
  align-items: center;
47
- gap: 0.75rem;
166
+ gap: 0.5rem;
48
167
  text-decoration: none;
49
- color: #1e293b;
50
- transition: all 0.3s ease;
168
+ color: var(--db-dark-color);
169
+ transition: color 0.15s ease;
51
170
  }
52
- .brand-link[data-v-1b6d65cc]:hover {
53
- color: #667eea;
171
+ .brand-link[data-v-eefd0a6a]:hover {
172
+ color: var(--db-primary-color);
54
173
  }
55
- .brand-icon[data-v-1b6d65cc] {
56
- width: 36px;
57
- height: 36px;
58
- background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
59
- border-radius: 10px;
174
+ .brand-icon[data-v-eefd0a6a] {
175
+ width: 24px;
176
+ height: 24px;
177
+ background: var(--db-primary-color);
178
+ border-radius: 6px;
60
179
  display: flex;
61
180
  align-items: center;
62
181
  justify-content: center;
63
- color: white;
64
- font-size: 1.2rem;
182
+ color: var(--db-on-accent);
183
+ font-size: 0.8125rem;
65
184
  }
66
- .brand-name[data-v-1b6d65cc] {
67
- font-size: 1.15rem;
68
- font-weight: 700;
69
- letter-spacing: -0.025em;
185
+ .brand-name[data-v-eefd0a6a] {
186
+ font-size: 0.9375rem;
187
+ font-weight: 600;
188
+ letter-spacing: 0;
70
189
  }
71
- .toolbar-right[data-v-1b6d65cc] {
190
+ .toolbar-right[data-v-eefd0a6a] {
72
191
  display: flex;
73
192
  align-items: center;
74
- gap: 0.5rem;
193
+ gap: 0.375rem;
75
194
  }
76
195
 
77
196
  /* 版本号徽标 */
78
- .app-version[data-v-1b6d65cc] {
79
- font-size: 0.78rem;
197
+ .app-version[data-v-eefd0a6a] {
198
+ font-size: 0.6875rem;
80
199
  font-weight: 600;
81
200
  line-height: 1;
82
- color: #64748b;
83
- background: #f1f5f9;
84
- border: 1px solid #e2e8f0;
85
- padding: 0.28rem 0.6rem;
201
+ color: var(--db-text-muted);
202
+ background: var(--db-bg-soft);
203
+ border: 1px solid var(--db-border);
204
+ padding: 0.2rem 0.45rem;
86
205
  border-radius: 999px;
87
206
  letter-spacing: 0.02em;
88
207
  cursor: default;
@@ -90,17 +209,17 @@
90
209
  }
91
210
 
92
211
  /* 主布局样式 */
93
- .database-layout[data-v-1b6d65cc] {
212
+ .database-layout[data-v-eefd0a6a] {
94
213
  height: 100vh;
95
214
  display: flex;
96
215
  flex-direction: column;
97
- background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
216
+ background: var(--db-surface);
98
217
  }
99
218
 
100
219
  /* 现代导航栏样式 */
101
- .navbar-modern[data-v-1b6d65cc] {
102
- background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
103
- border-bottom: 1px solid #cbd5e1;
220
+ .navbar-modern[data-v-eefd0a6a] {
221
+ background: linear-gradient(135deg, var(--db-surface) 0%, var(--db-light-color) 100%);
222
+ border-bottom: 1px solid var(--db-gray-medium);
104
223
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
105
224
  padding: 0.75rem 0;
106
225
  position: sticky;
@@ -110,59 +229,61 @@
110
229
  }
111
230
 
112
231
  /* 品牌区域 */
113
- .navbar-brand-wrapper[data-v-1b6d65cc] {
232
+ .navbar-brand-wrapper[data-v-eefd0a6a] {
114
233
  margin-right: 2rem;
115
234
  }
116
- .navbar-brand-modern[data-v-1b6d65cc] {
235
+ .navbar-brand-modern[data-v-eefd0a6a] {
117
236
  display: flex;
118
237
  align-items: center;
119
238
  gap: 1rem;
120
239
  text-decoration: none;
121
- color: #1e293b;
240
+ color: var(--db-dark-color);
122
241
  transition: all 0.3s ease;
123
242
  }
124
- .navbar-brand-modern[data-v-1b6d65cc]:hover {
243
+ .navbar-brand-modern[data-v-eefd0a6a]:hover {
125
244
  color: #667eea;
126
245
  transform: translateX(2px);
127
246
  }
128
- .brand-icon[data-v-1b6d65cc] {
247
+
248
+ /* 旧 navbar 组的品牌图标(当前模板未使用,限定作用域避免覆盖顶部工具栏的 .brand-icon) */
249
+ .navbar-brand-modern .brand-icon[data-v-eefd0a6a] {
129
250
  width: 45px;
130
251
  height: 45px;
131
- background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
252
+ background: var(--db-primary-color);
132
253
  border-radius: 12px;
133
254
  display: flex;
134
255
  align-items: center;
135
256
  justify-content: center;
136
- color: white;
257
+ color: var(--db-on-accent);
137
258
  font-size: 1.5rem;
138
259
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
139
260
  transition: all 0.3s ease;
140
261
  }
141
- .brand-icon[data-v-1b6d65cc]:hover {
262
+ .navbar-brand-modern .brand-icon[data-v-eefd0a6a]:hover {
142
263
  transform: rotate(5deg) scale(1.05);
143
264
  box-shadow: 0 6px 16px rgba(102, 126, 234, 0.4);
144
265
  }
145
- .brand-text[data-v-1b6d65cc] {
266
+ .brand-text[data-v-eefd0a6a] {
146
267
  display: flex;
147
268
  flex-direction: column;
148
269
  gap: 2px;
149
270
  }
150
- .brand-name[data-v-1b6d65cc] {
271
+ .brand-name[data-v-eefd0a6a] {
151
272
  font-size: 1.25rem;
152
273
  font-weight: 700;
153
- color: #1e293b;
274
+ color: var(--db-dark-color);
154
275
  letter-spacing: -0.025em;
155
276
  }
156
- .brand-subtitle[data-v-1b6d65cc] {
277
+ .brand-subtitle[data-v-eefd0a6a] {
157
278
  font-size: 0.75rem;
158
- color: #334155;
279
+ color: var(--db-darker-color);
159
280
  font-weight: 500;
160
281
  letter-spacing: 0.05em;
161
282
  text-transform: uppercase;
162
283
  }
163
284
 
164
285
  /* 移动端切换按钮 */
165
- .navbar-toggler-modern[data-v-1b6d65cc] {
286
+ .navbar-toggler-modern[data-v-eefd0a6a] {
166
287
  background: none;
167
288
  border: none;
168
289
  padding: 0.5rem;
@@ -171,96 +292,96 @@
171
292
  flex-direction: column;
172
293
  gap: 4px;
173
294
  }
174
- .navbar-toggler-line[data-v-1b6d65cc] {
295
+ .navbar-toggler-line[data-v-eefd0a6a] {
175
296
  width: 25px;
176
297
  height: 3px;
177
- background: linear-gradient(90deg, #667eea, #764ba2);
298
+ background: var(--db-primary-color);
178
299
  border-radius: 2px;
179
300
  transition: all 0.3s ease;
180
301
  }
181
302
 
182
303
  /* 导航折叠区域 */
183
- .navbar-collapse-modern[data-v-1b6d65cc] {
304
+ .navbar-collapse-modern[data-v-eefd0a6a] {
184
305
  background: transparent;
185
306
  }
186
307
 
187
308
  /* 主导航样式 */
188
- .navbar-nav-modern[data-v-1b6d65cc] {
309
+ .navbar-nav-modern[data-v-eefd0a6a] {
189
310
  display: flex;
190
311
  align-items: center;
191
312
  gap: 0.5rem;
192
313
  }
193
- .nav-item-modern[data-v-1b6d65cc] {
314
+ .nav-item-modern[data-v-eefd0a6a] {
194
315
  position: relative;
195
316
  }
196
- .nav-link-modern[data-v-1b6d65cc] {
317
+ .nav-link-modern[data-v-eefd0a6a] {
197
318
  display: flex;
198
319
  align-items: center;
199
320
  gap: 0.75rem;
200
321
  padding: 0.75rem 1.25rem;
201
322
  border-radius: 12px;
202
- color: #334155;
323
+ color: var(--db-darker-color);
203
324
  text-decoration: none;
204
325
  font-weight: 500;
205
326
  transition: all 0.3s ease;
206
327
  position: relative;
207
328
  overflow: hidden;
208
329
  }
209
- .nav-link-modern[data-v-1b6d65cc]:hover {
330
+ .nav-link-modern[data-v-eefd0a6a]:hover {
210
331
  background: rgba(102, 126, 234, 0.1);
211
332
  color: #667eea;
212
333
  transform: translateY(-1px);
213
334
  }
214
- .nav-link-modern.active[data-v-1b6d65cc] {
215
- background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
216
- color: white;
335
+ .nav-link-modern.active[data-v-eefd0a6a] {
336
+ background: var(--db-primary-color);
337
+ color: var(--db-on-accent);
217
338
  box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
218
339
  }
219
- .nav-icon[data-v-1b6d65cc] {
340
+ .nav-icon[data-v-eefd0a6a] {
220
341
  font-size: 1.25rem;
221
342
  display: flex;
222
343
  align-items: center;
223
344
  justify-content: center;
224
345
  min-width: 24px;
225
346
  }
226
- .nav-text[data-v-1b6d65cc] {
347
+ .nav-text[data-v-eefd0a6a] {
227
348
  font-size: 0.95rem;
228
349
  font-weight: 600;
229
350
  letter-spacing: 0.025em;
230
351
  }
231
- .nav-indicator[data-v-1b6d65cc] {
352
+ .nav-indicator[data-v-eefd0a6a] {
232
353
  position: absolute;
233
354
  bottom: 0;
234
355
  left: 50%;
235
356
  transform: translateX(-50%);
236
357
  width: 4px;
237
358
  height: 4px;
238
- background: white;
359
+ background: var(--db-surface);
239
360
  border-radius: 50%;
240
361
  opacity: 0;
241
362
  transition: all 0.3s ease;
242
363
  }
243
- .nav-link-modern.active .nav-indicator[data-v-1b6d65cc] {
364
+ .nav-link-modern.active .nav-indicator[data-v-eefd0a6a] {
244
365
  opacity: 1;
245
366
  }
246
367
 
247
368
  /* 用户菜单样式 */
248
- .nav-icon-only[data-v-1b6d65cc] {
369
+ .nav-icon-only[data-v-eefd0a6a] {
249
370
  padding: 0.75rem;
250
371
  min-width: auto;
251
372
  }
252
- .notification-dot[data-v-1b6d65cc] {
373
+ .notification-dot[data-v-eefd0a6a] {
253
374
  position: absolute;
254
375
  top: 8px;
255
376
  right: 8px;
256
377
  width: 8px;
257
378
  height: 8px;
258
- background: #ef4444;
379
+ background: var(--db-danger-color);
259
380
  border-radius: 50%;
260
- border: 2px solid white;
261
- animation: pulse-1b6d65cc 2s ease-in-out infinite;
381
+ border: 2px solid var(--db-surface);
382
+ animation: pulse-eefd0a6a 2s ease-in-out infinite;
262
383
  }
263
- .user-menu-toggle[data-v-1b6d65cc] {
384
+ .user-menu-toggle[data-v-eefd0a6a] {
264
385
  display: flex;
265
386
  align-items: center;
266
387
  gap: 0.75rem;
@@ -268,50 +389,50 @@
268
389
  border-radius: 12px;
269
390
  transition: all 0.3s ease;
270
391
  }
271
- .user-menu-toggle[data-v-1b6d65cc]:hover {
392
+ .user-menu-toggle[data-v-eefd0a6a]:hover {
272
393
  background: rgba(102, 126, 234, 0.1);
273
394
  }
274
- .user-avatar[data-v-1b6d65cc] {
395
+ .user-avatar[data-v-eefd0a6a] {
275
396
  width: 40px;
276
397
  height: 40px;
277
- background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
398
+ background: var(--db-primary-color);
278
399
  border-radius: 50%;
279
400
  display: flex;
280
401
  align-items: center;
281
402
  justify-content: center;
282
- color: white;
403
+ color: var(--db-on-accent);
283
404
  font-size: 1.25rem;
284
405
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3);
285
406
  }
286
- .user-info[data-v-1b6d65cc] {
407
+ .user-info[data-v-eefd0a6a] {
287
408
  display: flex;
288
409
  flex-direction: column;
289
410
  gap: 2px;
290
411
  }
291
- .user-name[data-v-1b6d65cc] {
412
+ .user-name[data-v-eefd0a6a] {
292
413
  font-size: 0.9rem;
293
414
  font-weight: 600;
294
- color: #1e293b;
415
+ color: var(--db-dark-color);
295
416
  }
296
- .user-role[data-v-1b6d65cc] {
417
+ .user-role[data-v-eefd0a6a] {
297
418
  font-size: 0.75rem;
298
- color: #334155;
419
+ color: var(--db-darker-color);
299
420
  font-weight: 500;
300
421
  }
301
- .dropdown-arrow[data-v-1b6d65cc] {
302
- color: #475569;
422
+ .dropdown-arrow[data-v-eefd0a6a] {
423
+ color: var(--db-gray-dark);
303
424
  font-size: 0.75rem;
304
425
  transition: all 0.3s ease;
305
426
  }
306
- .user-menu-toggle:hover .dropdown-arrow[data-v-1b6d65cc] {
427
+ .user-menu-toggle:hover .dropdown-arrow[data-v-eefd0a6a] {
307
428
  color: #667eea;
308
429
  transform: translateY(1px);
309
430
  }
310
431
 
311
432
  /* 现代下拉菜单样式 */
312
- .dropdown-menu-modern[data-v-1b6d65cc] {
313
- background: white;
314
- border: 1px solid #cbd5e1;
433
+ .dropdown-menu-modern[data-v-eefd0a6a] {
434
+ background: var(--db-surface);
435
+ border: 1px solid var(--db-gray-medium);
315
436
  border-radius: 16px;
316
437
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1), 0 4px 10px rgba(0, 0, 0, 0.05);
317
438
  padding: 0.75rem;
@@ -319,68 +440,67 @@
319
440
  backdrop-filter: blur(10px);
320
441
  margin-top: 0.75rem;
321
442
  }
322
- .dropdown-header[data-v-1b6d65cc] {
443
+ .dropdown-header[data-v-eefd0a6a] {
323
444
  padding: 0.5rem 0.75rem;
324
445
  font-size: 0.75rem;
325
446
  font-weight: 700;
326
- color: #475569;
447
+ color: var(--db-gray-dark);
327
448
  text-transform: uppercase;
328
449
  letter-spacing: 0.05em;
329
- border-bottom: 1px solid #f1f5f9;
450
+ border-bottom: 1px solid var(--db-gray-light);
330
451
  margin-bottom: 0.5rem;
331
452
  }
332
- .dropdown-item-modern[data-v-1b6d65cc] {
453
+ .dropdown-item-modern[data-v-eefd0a6a] {
333
454
  display: flex;
334
455
  align-items: center;
335
456
  gap: 0.75rem;
336
457
  padding: 0.75rem;
337
458
  border-radius: 8px;
338
- color: #374151;
459
+ color: var(--db-text-body);
339
460
  text-decoration: none;
340
461
  transition: all 0.2s ease;
341
462
  margin-bottom: 2px;
342
463
  }
343
- .dropdown-item-modern[data-v-1b6d65cc]:hover {
344
- background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
464
+ .dropdown-item-modern[data-v-eefd0a6a]:hover {
465
+ background: linear-gradient(135deg, var(--db-light-color) 0%, var(--db-gray-light) 100%);
345
466
  color: #667eea;
346
467
  transform: translateX(4px);
347
468
  }
348
- .dropdown-item-modern.text-danger[data-v-1b6d65cc]:hover {
349
- background: linear-gradient(135deg, #fef2f2 0%, #fee2e2 100%);
469
+ .dropdown-item-modern.text-danger[data-v-eefd0a6a]:hover {
470
+ background: linear-gradient(135deg, var(--db-danger-bg) 0%, var(--db-danger-bg) 100%);
350
471
  color: #dc2626;
351
472
  }
352
- .dropdown-item-content[data-v-1b6d65cc] {
473
+ .dropdown-item-content[data-v-eefd0a6a] {
353
474
  display: flex;
354
475
  flex-direction: column;
355
476
  gap: 2px;
356
477
  }
357
- .dropdown-item-title[data-v-1b6d65cc] {
478
+ .dropdown-item-title[data-v-eefd0a6a] {
358
479
  font-size: 0.9rem;
359
480
  font-weight: 600;
360
481
  color: inherit;
361
482
  }
362
- .dropdown-item-desc[data-v-1b6d65cc] {
483
+ .dropdown-item-desc[data-v-eefd0a6a] {
363
484
  font-size: 0.75rem;
364
- color: #475569;
485
+ color: var(--db-gray-dark);
365
486
  }
366
- .dropdown-divider-modern[data-v-1b6d65cc] {
487
+ .dropdown-divider-modern[data-v-eefd0a6a] {
367
488
  margin: 0.75rem -0.75rem;
368
489
  border: none;
369
- border-top: 1px solid #e2e8f0;
490
+ border-top: 1px solid var(--db-border);
370
491
  }
371
492
 
372
493
  /* 主要内容区域 */
373
- .main-content-modern[data-v-1b6d65cc] {
494
+ .main-content-modern[data-v-eefd0a6a] {
374
495
  flex: 1;
375
496
  display: flex;
376
497
  flex-direction: column;
377
498
  background: transparent;
378
499
  overflow: hidden;
379
500
  }
380
- .content-wrapper[data-v-1b6d65cc] {
501
+ .content-wrapper[data-v-eefd0a6a] {
381
502
  flex: 1;
382
- background: rgba(255, 255, 255, 0.3);
383
- backdrop-filter: blur(8px);
503
+ background: var(--db-surface);
384
504
  overflow-y: auto;
385
505
  height: 100%;
386
506
  }
@@ -388,7 +508,7 @@
388
508
 
389
509
 
390
510
  /* 动画效果 */
391
- @keyframes pulse-1b6d65cc {
511
+ @keyframes pulse-eefd0a6a {
392
512
  0%, 100% { opacity: 1; transform: scale(1);
393
513
  }
394
514
  50% { opacity: 0.6; transform: scale(1.2);
@@ -397,12 +517,87 @@
397
517
 
398
518
  /* 响应式设计 */
399
519
  @media (max-width: 768px) {
400
- .content-wrapper[data-v-1b6d65cc] {
520
+ .content-wrapper[data-v-eefd0a6a] {
401
521
  padding: 0.5rem;
402
522
  }
403
523
  }
404
524
  @media (max-width: 480px) {
405
- .content-wrapper[data-v-1b6d65cc] {
525
+ .content-wrapper[data-v-eefd0a6a] {
406
526
  padding: 0.25rem;
407
527
  }
408
528
  }
529
+
530
+ /* 关于工具触发按钮 */
531
+ .about-trigger[data-v-eefd0a6a] {
532
+ display: flex;
533
+ align-items: center;
534
+ gap: 0.3rem;
535
+ padding: 0.2rem 0.5rem;
536
+ border-radius: 4px;
537
+ cursor: pointer;
538
+ color: var(--db-text-muted);
539
+ font-size: 0.75rem;
540
+ font-weight: 500;
541
+ transition: color 0.15s ease, border-color 0.15s ease, background-color 0.15s ease;
542
+ user-select: none;
543
+ border: 1px solid var(--db-border);
544
+ background: transparent;
545
+ }
546
+ .about-trigger[data-v-eefd0a6a]:hover {
547
+ background: var(--db-bg-soft);
548
+ color: var(--db-dark-color);
549
+ border-color: var(--db-border-light);
550
+ }
551
+
552
+ /* 关于工具弹窗 */
553
+ .about-modal-overlay[data-v-eefd0a6a] {
554
+ position: fixed;
555
+ inset: 0;
556
+ background: rgba(0, 0, 0, 0.55);
557
+ display: flex;
558
+ align-items: center;
559
+ justify-content: center;
560
+ z-index: 2000;
561
+ padding: 1.5rem;
562
+ }
563
+ .about-modal[data-v-eefd0a6a] {
564
+ position: relative;
565
+ width: 100%;
566
+ max-width: 860px;
567
+ max-height: 90vh;
568
+ overflow-y: auto;
569
+ background: var(--db-bg-soft2);
570
+ border: 1px solid var(--db-border-light);
571
+ border-radius: 8px;
572
+ box-shadow: var(--db-shadow-2xl);
573
+ }
574
+ .about-modal-close[data-v-eefd0a6a] {
575
+ position: absolute;
576
+ top: 0.75rem;
577
+ right: 0.75rem;
578
+ z-index: 2;
579
+ width: 26px;
580
+ height: 26px;
581
+ display: flex;
582
+ align-items: center;
583
+ justify-content: center;
584
+ border: 1px solid var(--db-border);
585
+ border-radius: 4px;
586
+ background: transparent;
587
+ color: var(--db-text-muted);
588
+ cursor: pointer;
589
+ transition: all 0.15s ease;
590
+ }
591
+ .about-modal-close[data-v-eefd0a6a]:hover {
592
+ background: var(--db-bg-soft);
593
+ color: var(--db-dark-color);
594
+ border-color: var(--db-border-light);
595
+ }
596
+ .about-fade-enter-active[data-v-eefd0a6a],
597
+ .about-fade-leave-active[data-v-eefd0a6a] {
598
+ transition: opacity 0.25s ease;
599
+ }
600
+ .about-fade-enter-from[data-v-eefd0a6a],
601
+ .about-fade-leave-to[data-v-eefd0a6a] {
602
+ opacity: 0;
603
+ }