File size: 1,235 Bytes
f0953a4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
// 颜色系统
:root {
  // 主题色
  --theme-primary: #0066cc;
  --theme-primary-hover: #0256ac;
  --theme-success: #28cd41;
  --theme-warning: #ff9f0a;
  --theme-error: #ff3b30;

  // 中性色
  --theme-bg: #f5f7fa;
  --theme-card-bg: rgba(255, 255, 255, 0.8);
  --theme-text-primary: #000000;
  --theme-text-regular: #424242;
  --theme-text-secondary: #6e6e6e;

  // 特效
  --theme-shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.08);
  --theme-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  --theme-shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.12);

  // 圆角
  --theme-radius-sm: 8px;
  --theme-radius: 12px;
  --theme-radius-lg: 16px;

  // 模糊效果
  --theme-blur: blur(12px);

  // 动画
  --theme-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

// Mixins
@mixin glass-effect {
  background: var(--theme-card-bg);
  backdrop-filter: var(--theme-blur);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

@mixin flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

@mixin text-overflow {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

// 通用动画
.fade-enter-active,
.fade-leave-active {
  transition: opacity 0.3s ease;
}

.fade-enter-from,
.fade-leave-to {
  opacity: 0;
}