|
3 | 3 | /* ---------------------------------- */ |
4 | 4 |
|
5 | 5 | :root { |
6 | | - --page-bg: #eef0f4; |
| 6 | + --page-bg: linear-gradient( |
| 7 | + 135deg, |
| 8 | + #f8fafc 0%, |
| 9 | + #e2e8f0 25%, |
| 10 | + #cbd5e1 50%, |
| 11 | + #94a3b8 75%, |
| 12 | + #64748b 100% |
| 13 | + ); |
7 | 14 | --card-bg: #eef0f4; |
8 | 15 | --text-color: #3b4353; |
9 | 16 | --text-color-light: #6e7a91; |
|
16 | 23 | ); |
17 | 24 |
|
18 | 25 | --border-color: #d1d9e6; |
19 | | - --shadow-light: -8px -8px 16px #ffffff; |
20 | | - --shadow-dark: 8px 8px 16px #d1d9e6; |
21 | | - --inset-shadow-light: inset 6px 6px 12px #d1d9e6; |
22 | | - --inset-shadow-dark: inset -6px -6px 12px #ffffff; |
| 26 | + --shadow-light-color: #ffffff; |
| 27 | + --shadow-dark-color: #d1d9e6; |
| 28 | + --shadow-light: -8px -8px 12px var(--shadow-light-color); |
| 29 | + --shadow-dark: 8px 8px 12px var(--shadow-dark-color); |
| 30 | + --inset-shadow-light: inset 6px 6px 10px var(--shadow-dark-color); |
| 31 | + --inset-shadow-dark: inset -6px -6px 10px var(--shadow-light-color); |
23 | 32 | } |
24 | 33 |
|
25 | 34 |
|
26 | 35 | [data-theme="dark"] { |
27 | | - --page-bg: #1a1a2e; |
| 36 | + --page-bg: linear-gradient( |
| 37 | + 135deg, |
| 38 | + #0f0f23 0%, |
| 39 | + #1a1a2e 25%, |
| 40 | + #16213e 50%, |
| 41 | + #0f3460 75%, |
| 42 | + #533483 100% |
| 43 | + ); |
28 | 44 | --card-bg: #1a1a2e; |
29 | 45 | --text-color: #ffffff; |
30 | 46 | --text-color-light: #94a3b8; |
|
37 | 53 | ); |
38 | 54 |
|
39 | 55 | --border-color: rgba(255, 255, 255, 0.1); |
40 | | - --shadow-light: -8px -8px 16px #232342; |
41 | | - --shadow-dark: 8px 8px 16px #12121e; |
42 | | - --inset-shadow-light: inset 6px 6px 12px #12121e; |
43 | | - --inset-shadow-dark: inset -6px -6px 12px #232342; |
| 56 | + --shadow-light-color: #232342; |
| 57 | + --shadow-dark-color: #12121e; |
| 58 | + --shadow-light: -8px -8px 12px var(--shadow-light-color); |
| 59 | + --shadow-dark: 8px 8px 12px var(--shadow-dark-color); |
| 60 | + --inset-shadow-light: inset 6px 6px 10px var(--shadow-dark-color); |
| 61 | + --inset-shadow-dark: inset -6px -6px 10px var(--shadow-light-color); |
44 | 62 | } |
45 | 63 |
|
46 | 64 | /* ---------------------------------- */ |
47 | 65 | /* 2. Main Page Layout */ |
48 | 66 | /* ---------------------------------- */ |
| 67 | + |
| 68 | +@keyframes backgroundShift { |
| 69 | + 0%, |
| 70 | + 100% { |
| 71 | + transform: translateX(0px) translateY(0px) scale(1); |
| 72 | + } |
| 73 | + 25% { |
| 74 | + transform: translateX(30px) translateY(-20px) scale(1.02); |
| 75 | + } |
| 76 | + 50% { |
| 77 | + transform: translateX(-10px) translateY(30px) scale(0.98); |
| 78 | + } |
| 79 | + 75% { |
| 80 | + transform: translateX(-25px) translateY(-15px) scale(1.01); |
| 81 | + } |
| 82 | +} |
| 83 | + |
49 | 84 | .pageWrapper { |
50 | | - background-color: var(--page-bg); |
51 | | - transition: background-color 0.3s ease; |
| 85 | + background: var(--page-bg); |
| 86 | + transition: background 0.3s ease; |
| 87 | + position: relative; |
| 88 | + overflow: hidden; |
| 89 | +} |
| 90 | + |
| 91 | +.pageWrapper::before { |
| 92 | + content: ""; |
| 93 | + position: absolute; |
| 94 | + top: 0; |
| 95 | + left: 0; |
| 96 | + right: 0; |
| 97 | + bottom: 0; |
| 98 | + background: |
| 99 | + radial-gradient( |
| 100 | + circle at 20% 80%, |
| 101 | + rgba(120, 119, 198, 0.08) 0%, |
| 102 | + transparent 60% |
| 103 | + ), |
| 104 | + radial-gradient( |
| 105 | + circle at 80% 20%, |
| 106 | + rgba(255, 119, 198, 0.06) 0%, |
| 107 | + transparent 60% |
| 108 | + ), |
| 109 | + radial-gradient( |
| 110 | + circle at 40% 40%, |
| 111 | + rgba(120, 219, 255, 0.04) 0%, |
| 112 | + transparent 60% |
| 113 | + ); |
| 114 | + animation: backgroundShift 25s ease-in-out infinite; |
| 115 | + pointer-events: none; |
| 116 | + z-index: 1; |
| 117 | +} |
| 118 | + |
| 119 | +[data-theme="light"] .pageWrapper::before { |
| 120 | + background: |
| 121 | + radial-gradient( |
| 122 | + circle at 20% 80%, |
| 123 | + rgba(79, 70, 229, 0.05) 0%, |
| 124 | + transparent 60% |
| 125 | + ), |
| 126 | + radial-gradient( |
| 127 | + circle at 80% 20%, |
| 128 | + rgba(124, 58, 237, 0.04) 0%, |
| 129 | + transparent 60% |
| 130 | + ), |
| 131 | + radial-gradient( |
| 132 | + circle at 40% 40%, |
| 133 | + rgba(236, 72, 153, 0.03) 0%, |
| 134 | + transparent 60% |
| 135 | + ); |
52 | 136 | } |
53 | 137 | .pageContainer { |
54 | 138 | font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, |
|
60 | 144 | margin: 2rem auto; |
61 | 145 | padding: 2.5rem 3rem; |
62 | 146 | border-radius: 20px; |
63 | | - box-shadow: var(--shadow-dark), var(--shadow-light); |
| 147 | + border: 1px solid var(--border-color); |
64 | 148 | transition: all 0.3s ease; |
| 149 | + position: relative; |
| 150 | + z-index: 2; |
65 | 151 | } |
66 | 152 |
|
67 | 153 | /* ---------------------------------- */ |
|
124 | 210 | } |
125 | 211 | .sectionButton:hover { |
126 | 212 | transform: translateY(-2px); |
127 | | - box-shadow: 10px 10px 20px var(--shadow-dark), -10px -10px 20px var(--shadow-light); |
| 213 | + box-shadow: 10px 10px 15px var(--shadow-dark-color), |
| 214 | + -10px -10px 15px var(--shadow-light-color); |
128 | 215 | } |
129 | 216 | .sectionButton.open { |
130 | 217 | box-shadow: var(--inset-shadow-light), var(--inset-shadow-dark); |
|
0 commit comments