nbugs commited on
Commit
8756a89
·
verified ·
1 Parent(s): 8db32ec

Create static/styles.css

Browse files
Files changed (1) hide show
  1. static/styles.css +369 -0
static/styles.css ADDED
@@ -0,0 +1,369 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ :root {
2
+ --primary-color: #8a2be2;
3
+ --secondary-color: #4b0082;
4
+ --accent-color: #9370db;
5
+ --text-color: #f8f9fa;
6
+ --card-bg: rgba(25, 25, 35, 0.8);
7
+ --input-bg: rgba(30, 30, 40, 0.6);
8
+ --success-color: #6ab04c;
9
+ --error-color: #eb4d4b;
10
+ }
11
+
12
+ * {
13
+ margin: 0;
14
+ padding: 0;
15
+ box-sizing: border-box;
16
+ }
17
+
18
+ body {
19
+ font-family: 'Quicksand', sans-serif;
20
+ color: var(--text-color);
21
+ background-color: #121212;
22
+ min-height: 100vh;
23
+ position: relative;
24
+ overflow-x: hidden;
25
+ }
26
+
27
+ /* 星空背景 */
28
+ .stars, .twinkling {
29
+ position: fixed;
30
+ top: 0;
31
+ left: 0;
32
+ width: 100%;
33
+ height: 100%;
34
+ }
35
+
36
+ .stars {
37
+ background: #000 url('https://i.imgur.com/YKY28eT.png') repeat top center;
38
+ z-index: -2;
39
+ }
40
+
41
+ .twinkling {
42
+ background: transparent url('https://i.imgur.com/XYMF4ca.png') repeat top center;
43
+ z-index: -1;
44
+ animation: move-twink-back 200s linear infinite;
45
+ }
46
+
47
+ @keyframes move-twink-back {
48
+ from {background-position: 0 0;}
49
+ to {background-position: -10000px 5000px;}
50
+ }
51
+
52
+ /* 容器样式 */
53
+ .container {
54
+ max-width: 1000px;
55
+ margin: 0 auto;
56
+ padding: 2rem 1rem;
57
+ }
58
+
59
+ /* 头部 */
60
+ header {
61
+ display: flex;
62
+ justify-content: space-between;
63
+ align-items: center;
64
+ margin-bottom: 2rem;
65
+ padding-bottom: 1rem;
66
+ border-bottom: 1px solid rgba(255, 255, 255, 0.1);
67
+ }
68
+
69
+ .title-container h1 {
70
+ font-size: 2.2rem;
71
+ background: linear-gradient(45deg, #ff9a9e, #fad0c4, #a18cd1, #fbc2eb);
72
+ -webkit-background-clip: text;
73
+ background-clip: text;
74
+ color: transparent;
75
+ margin-bottom: 0.5rem;
76
+ }
77
+
78
+ .title-container p {
79
+ font-size: 1.1rem;
80
+ color: var(--accent-color);
81
+ }
82
+
83
+ .user-actions {
84
+ display: flex;
85
+ align-items: center;
86
+ gap: 1rem;
87
+ }
88
+
89
+ .btn-logout {
90
+ background-color: rgba(255, 255, 255, 0.1);
91
+ color: var(--text-color);
92
+ border: none;
93
+ padding: 0.5rem 1rem;
94
+ border-radius: 50px;
95
+ cursor: pointer;
96
+ transition: all 0.3s;
97
+ text-decoration: none;
98
+ display: flex;
99
+ align-items: center;
100
+ gap: 0.5rem;
101
+ }
102
+
103
+ .btn-logout:hover {
104
+ background-color: rgba(255, 255, 255, 0.2);
105
+ }
106
+
107
+ /* 卡片 */
108
+ .card {
109
+ background-color: var(--card-bg);
110
+ border-radius: 16px;
111
+ padding: 2rem;
112
+ box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3);
113
+ backdrop-filter: blur(10px);
114
+ margin-bottom: 2rem;
115
+ border: 1px solid rgba(255, 255, 255, 0.1);
116
+ transition: transform 0.3s, box-shadow 0.3s;
117
+ }
118
+
119
+ .card:hover {
120
+ transform: translateY(-5px);
121
+ box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4);
122
+ }
123
+
124
+ /* 表单样式 */
125
+ .form-group {
126
+ margin-bottom: 1.5rem;
127
+ }
128
+
129
+ .form-group label {
130
+ display: block;
131
+ margin-bottom: 0.5rem;
132
+ font-weight: 500;
133
+ display: flex;
134
+ align-items: center;
135
+ gap: 0.5rem;
136
+ }
137
+
138
+ .form-group label i {
139
+ color: var(--accent-color);
140
+ }
141
+
142
+ input, textarea, select {
143
+ width: 100%;
144
+ padding: 1rem;
145
+ background-color: var(--input-bg);
146
+ border: 1px solid rgba(255, 255, 255, 0.1);
147
+ border-radius: 8px;
148
+ color: var(--text-color);
149
+ font-family: 'Quicksand', sans-serif;
150
+ font-size: 1rem;
151
+ transition: all 0.3s;
152
+ }
153
+
154
+ input:focus, textarea:focus, select:focus {
155
+ outline: none;
156
+ border-color: var(--accent-color);
157
+ box-shadow: 0 0 0 2px rgba(147, 112, 219, 0.2);
158
+ }
159
+
160
+ textarea {
161
+ min-height: 120px;
162
+ resize: vertical;
163
+ }
164
+
165
+ select {
166
+ appearance: none;
167
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%239370db' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");
168
+ background-repeat: no-repeat;
169
+ background-position: calc(100% - 1rem) center;
170
+ padding-right: 2.5rem;
171
+ }
172
+
173
+ /* 按钮 */
174
+ .btn-convert, .btn-copy {
175
+ display: flex;
176
+ align-items: center;
177
+ justify-content: center;
178
+ gap: 0.5rem;
179
+ padding: 1rem 2rem;
180
+ background: linear-gradient(45deg, var(--primary-color), var(--secondary-color));
181
+ color: white;
182
+ border: none;
183
+ border-radius: 50px;
184
+ font-family: 'Quicksand', sans-serif;
185
+ font-size: 1.1rem;
186
+ font-weight: 600;
187
+ cursor: pointer;
188
+ transition: all 0.3s;
189
+ box-shadow: 0 4px 15px rgba(138, 43, 226, 0.3);
190
+ }
191
+
192
+ .btn-convert {
193
+ width: 100%;
194
+ }
195
+
196
+ .btn-convert:hover, .btn-copy:hover {
197
+ transform: translateY(-2px);
198
+ box-shadow: 0 8px 20px rgba(138, 43, 226, 0.4);
199
+ }
200
+
201
+ .btn-convert:active, .btn-copy:active {
202
+ transform: translateY(1px);
203
+ }
204
+
205
+ /* 结果卡片 */
206
+ .result-card h2 {
207
+ margin-bottom: 1.5rem;
208
+ display: flex;
209
+ align-items: center;
210
+ gap: 0.5rem;
211
+ }
212
+
213
+ .result-card h2 i {
214
+ color: var(--success-color);
215
+ }
216
+
217
+ .result-container {
218
+ position: relative;
219
+ margin-bottom: 1.5rem;
220
+ }
221
+
222
+ #convertResult {
223
+ padding-right: 4rem;
224
+ }
225
+
226
+ .btn-copy {
227
+ position: absolute;
228
+ right: 0.5rem;
229
+ top: 0.5rem;
230
+ padding: 0.5rem;
231
+ font-size: 0.9rem;
232
+ min-width: auto;
233
+ }
234
+
235
+ .tip {
236
+ text-align: center;
237
+ margin-top: 1rem;
238
+ }
239
+
240
+ .tip p {
241
+ color: var(--accent-color);
242
+ font-size: 1.1rem;
243
+ }
244
+
245
+ /* 页脚 */
246
+ footer {
247
+ text-align: center;
248
+ margin-top: 4rem;
249
+ padding: 1.5rem 0;
250
+ color: rgba(255, 255, 255, 0.6);
251
+ font-size: 0.9rem;
252
+ }
253
+
254
+ /* 提示框 */
255
+ .toast {
256
+ position: fixed;
257
+ bottom: 2rem;
258
+ left: 50%;
259
+ transform: translateX(-50%);
260
+ padding: 0.75rem 1.5rem;
261
+ background-color: rgba(0, 0, 0, 0.8);
262
+ color: white;
263
+ border-radius: 50px;
264
+ font-size: 0.9rem;
265
+ opacity: 0;
266
+ transition: opacity 0.3s;
267
+ z-index: 1000;
268
+ }
269
+
270
+ .toast.show {
271
+ opacity: 1;
272
+ }
273
+
274
+ /* 登录页面样式 */
275
+ .login-container {
276
+ display: flex;
277
+ justify-content: center;
278
+ align-items: center;
279
+ min-height: 100vh;
280
+ padding: 1rem;
281
+ }
282
+
283
+ .login-card {
284
+ background-color: var(--card-bg);
285
+ border-radius: 16px;
286
+ padding: 2.5rem;
287
+ width: 100%;
288
+ max-width: 400px;
289
+ box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3);
290
+ backdrop-filter: blur(10px);
291
+ border: 1px solid rgba(255, 255, 255, 0.1);
292
+ text-align: center;
293
+ }
294
+
295
+ .login-card h1 {
296
+ font-size: 1.8rem;
297
+ margin-bottom: 0.5rem;
298
+ background: linear-gradient(45deg, #ff9a9e, #fad0c4, #a18cd1, #fbc2eb);
299
+ -webkit-background-clip: text;
300
+ background-clip: text;
301
+ color: transparent;
302
+ }
303
+
304
+ .login-card h3 {
305
+ color: var(--accent-color);
306
+ margin-bottom: 2rem;
307
+ font-weight: 500;
308
+ }
309
+
310
+ .alert {
311
+ padding: 0.75rem;
312
+ margin-bottom: 1.5rem;
313
+ border-radius: 8px;
314
+ font-size: 0.9rem;
315
+ }
316
+
317
+ .alert-error {
318
+ background-color: rgba(235, 77, 75, 0.2);
319
+ color: #ff6b6b;
320
+ border: 1px solid rgba(235, 77, 75, 0.3);
321
+ }
322
+
323
+ .btn-login {
324
+ width: 100%;
325
+ padding: 0.75rem;
326
+ background: linear-gradient(45deg, var(--primary-color), var(--secondary-color));
327
+ color: white;
328
+ border: none;
329
+ border-radius: 8px;
330
+ font-family: 'Quicksand', sans-serif;
331
+ font-size: 1rem;
332
+ font-weight: 600;
333
+ cursor: pointer;
334
+ transition: all 0.3s;
335
+ box-shadow: 0 4px 15px rgba(138, 43, 226, 0.3);
336
+ }
337
+
338
+ .btn-login:hover {
339
+ transform: translateY(-2px);
340
+ box-shadow: 0 8px 20px rgba(138, 43, 226, 0.4);
341
+ }
342
+
343
+ /* 响应式设计 */
344
+ @media (max-width: 768px) {
345
+ header {
346
+ flex-direction: column;
347
+ align-items: flex-start;
348
+ }
349
+
350
+ .user-actions {
351
+ margin-top: 1rem;
352
+ width: 100%;
353
+ justify-content: space-between;
354
+ }
355
+
356
+ .title-container h1 {
357
+ font-size: 1.8rem;
358
+ }
359
+ }
360
+
361
+ @media (max-width: 480px) {
362
+ .card {
363
+ padding: 1.5rem;
364
+ }
365
+
366
+ .btn-convert {
367
+ padding: 0.75rem 1.5rem;
368
+ }
369
+ }