akhaliq HF Staff commited on
Commit
ccb71d0
·
verified ·
1 Parent(s): 2855846

Upload style.css with huggingface_hub

Browse files
Files changed (1) hide show
  1. style.css +346 -40
style.css CHANGED
@@ -1,76 +1,382 @@
 
1
  * {
2
- box-sizing: border-box;
3
- padding: 0;
4
  margin: 0;
5
- font-family: sans-serif;
 
6
  }
7
 
8
- html,
9
  body {
10
- height: 100%;
 
 
 
 
11
  }
12
 
13
- body {
14
- padding: 32px;
 
 
 
 
 
 
 
 
 
 
 
15
  }
16
 
17
- body,
18
- #container {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
  display: flex;
20
  flex-direction: column;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21
  justify-content: center;
 
 
 
 
22
  align-items: center;
 
 
 
 
 
23
  }
24
 
25
- #container {
26
  position: relative;
27
- gap: 0.4rem;
 
 
 
 
 
 
28
 
29
- width: 640px;
30
- height: 640px;
31
- max-width: 100%;
32
- max-height: 100%;
33
 
34
- border: 2px dashed #D1D5DB;
35
- border-radius: 0.75rem;
36
- overflow: hidden;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37
  cursor: pointer;
38
- margin: 1rem;
 
 
 
 
 
 
39
 
40
- background-size: 100% 100%;
41
- background-position: center;
42
- background-repeat: no-repeat;
43
- font-size: 18px;
44
  }
45
 
46
- #upload {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
47
  display: none;
48
  }
49
 
50
- svg {
51
- pointer-events: none;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
52
  }
53
 
54
- #example {
55
- font-size: 14px;
56
- text-decoration: underline;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
57
  cursor: pointer;
 
 
 
 
 
58
  }
59
 
60
- #example:hover {
61
- color: #2563EB;
 
 
62
  }
63
 
64
- .bounding-box {
65
- position: absolute;
66
- box-sizing: border-box;
67
- border: solid 2px;
68
  }
69
 
70
- .bounding-box-label {
71
- color: white;
 
 
 
 
 
 
 
 
72
  position: absolute;
73
- font-size: 12px;
74
- margin: -16px 0 0 -2px;
75
- padding: 1px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
76
  }
 
1
+ /* style.css */
2
  * {
 
 
3
  margin: 0;
4
+ padding: 0;
5
+ box-sizing: border-box;
6
  }
7
 
 
8
  body {
9
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
10
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
11
+ min-height: 100vh;
12
+ color: #333;
13
+ line-height: 1.6;
14
  }
15
 
16
+ .container {
17
+ max-width: 800px;
18
+ margin: 0 auto;
19
+ padding: 20px;
20
+ min-height: 100vh;
21
+ display: flex;
22
+ flex-direction: column;
23
+ }
24
+
25
+ header {
26
+ text-align: center;
27
+ margin-bottom: 2rem;
28
+ padding: 2rem 0;
29
  }
30
 
31
+ .header-content h1 {
32
+ font-size: clamp(2rem, 5vw, 3.5rem);
33
+ font-weight: 800;
34
+ background: linear-gradient(135deg, #fff 0%, #f0f0f0 100%);
35
+ -webkit-background-clip: text;
36
+ -webkit-text-fill-color: transparent;
37
+ background-clip: text;
38
+ margin-bottom: 0.5rem;
39
+ }
40
+
41
+ .header-content p {
42
+ font-size: 1.2rem;
43
+ color: rgba(255, 255, 255, 0.9);
44
+ margin-bottom: 1rem;
45
+ }
46
+
47
+ .anycoder-badge {
48
+ display: inline-block;
49
+ background: rgba(255, 255, 255, 0.2);
50
+ color: white;
51
+ padding: 0.5rem 1rem;
52
+ border-radius: 50px;
53
+ text-decoration: none;
54
+ font-size: 0.9rem;
55
+ font-weight: 500;
56
+ backdrop-filter: blur(10px);
57
+ border: 1px solid rgba(255, 255, 255, 0.2);
58
+ transition: all 0.3s ease;
59
+ }
60
+
61
+ .anycoder-badge:hover {
62
+ background: rgba(255, 255, 255, 0.3);
63
+ transform: translateY(-2px);
64
+ }
65
+
66
+ .main-content {
67
+ background: rgba(255, 255, 255, 0.95);
68
+ backdrop-filter: blur(20px);
69
+ border-radius: 24px;
70
+ padding: 2.5rem;
71
+ box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
72
+ flex: 1;
73
+ }
74
+
75
+ .controls {
76
  display: flex;
77
  flex-direction: column;
78
+ gap: 1.5rem;
79
+ }
80
+
81
+ .input-section {
82
+ position: relative;
83
+ }
84
+
85
+ #textInput {
86
+ width: 100%;
87
+ min-height: 120px;
88
+ padding: 1.25rem;
89
+ border: 2px solid #e5e7eb;
90
+ border-radius: 16px;
91
+ font-size: 1.1rem;
92
+ font-family: inherit;
93
+ resize: vertical;
94
+ transition: all 0.3s ease;
95
+ background: #fafafa;
96
+ }
97
+
98
+ #textInput:focus {
99
+ outline: none;
100
+ border-color: #667eea;
101
+ box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
102
+ background: white;
103
+ }
104
+
105
+ .input-info {
106
+ display: flex;
107
+ justify-content: flex-end;
108
+ margin-top: 0.5rem;
109
+ }
110
+
111
+ #charCount {
112
+ font-size: 0.875rem;
113
+ color: #6b7280;
114
+ font-weight: 500;
115
+ }
116
+
117
+ .device-section {
118
+ display: flex;
119
  justify-content: center;
120
+ }
121
+
122
+ .device-toggle-label {
123
+ display: flex;
124
  align-items: center;
125
+ gap: 0.75rem;
126
+ cursor: pointer;
127
+ font-weight: 500;
128
+ color: #374151;
129
+ font-size: 0.95rem;
130
  }
131
 
132
+ .toggle-switch {
133
  position: relative;
134
+ width: 48px;
135
+ height: 28px;
136
+ background: #e5e7eb;
137
+ border-radius: 14px;
138
+ transition: all 0.3s ease;
139
+ cursor: pointer;
140
+ }
141
 
142
+ .toggle-switch:hover {
143
+ background: #d1d5db;
144
+ }
 
145
 
146
+ #deviceToggle:checked + .toggle-switch {
147
+ background: #10b981;
148
+ }
149
+
150
+ .toggle-knob {
151
+ position: absolute;
152
+ top: 2px;
153
+ left: 2px;
154
+ width: 24px;
155
+ height: 24px;
156
+ background: white;
157
+ border-radius: 50%;
158
+ transition: transform 0.3s ease;
159
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
160
+ }
161
+
162
+ #deviceToggle:checked + .toggle-switch .toggle-knob {
163
+ transform: translateX(20px);
164
+ }
165
+
166
+ .generate-btn {
167
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
168
+ color: white;
169
+ border: none;
170
+ padding: 1.25rem 2rem;
171
+ border-radius: 16px;
172
+ font-size: 1.1rem;
173
+ font-weight: 600;
174
  cursor: pointer;
175
+ transition: all 0.3s ease;
176
+ display: flex;
177
+ align-items: center;
178
+ justify-content: center;
179
+ gap: 0.75rem;
180
+ min-height: 56px;
181
+ }
182
 
183
+ .generate-btn:hover:not(:disabled) {
184
+ transform: translateY(-2px);
185
+ box-shadow: 0 20px 40px -10px rgba(102, 126, 234, 0.4);
 
186
  }
187
 
188
+ .generate-btn:disabled {
189
+ opacity: 0.6;
190
+ cursor: not-allowed;
191
+ transform: none;
192
+ }
193
+
194
+ .spinner {
195
+ width: 20px;
196
+ height: 20px;
197
+ border: 2px solid rgba(255, 255, 255, 0.3);
198
+ border-top: 2px solid white;
199
+ border-radius: 50%;
200
+ animation: spin 1s linear infinite;
201
+ }
202
+
203
+ @keyframes spin {
204
+ 0% { transform: rotate(0deg); }
205
+ 100% { transform: rotate(360deg); }
206
+ }
207
+
208
+ .status {
209
+ padding: 1rem 1.5rem;
210
+ border-radius: 12px;
211
+ font-weight: 500;
212
+ text-align: center;
213
+ margin: 1rem 0;
214
+ transition: all 0.3s ease;
215
+ }
216
+
217
+ .status.hidden {
218
  display: none;
219
  }
220
 
221
+ .status.loading {
222
+ background: #fef3c7;
223
+ color: #d97706;
224
+ border: 1px solid #f59e0b;
225
+ }
226
+
227
+ .status.success {
228
+ background: #d1fae5;
229
+ color: #059669;
230
+ border: 1px solid #10b981;
231
+ }
232
+
233
+ .status.error {
234
+ background: #fee2e2;
235
+ color: #dc2626;
236
+ border: 1px solid #ef4444;
237
+ }
238
+
239
+ .status.info {
240
+ background: #dbeafe;
241
+ color: #1e40af;
242
+ border: 1px solid #3b82f6;
243
  }
244
 
245
+ .audio-section {
246
+ margin-top: 2rem;
247
+ padding: 2rem;
248
+ background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
249
+ border-radius: 20px;
250
+ border: 2px solid #e2e8f0;
251
+ }
252
+
253
+ .audio-controls {
254
+ display: flex;
255
+ align-items: center;
256
+ gap: 1rem;
257
+ justify-content: center;
258
+ margin-bottom: 1rem;
259
+ }
260
+
261
+ .play-btn, .download-btn, .regenerate-btn {
262
+ width: 56px;
263
+ height: 56px;
264
+ border: none;
265
+ border-radius: 50%;
266
+ display: flex;
267
+ align-items: center;
268
+ justify-content: center;
269
  cursor: pointer;
270
+ transition: all 0.3s ease;
271
+ font-size: 1.25rem;
272
+ color: #374151;
273
+ background: white;
274
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
275
  }
276
 
277
+ .play-btn:hover, .download-btn:hover:not(:disabled), .regenerate-btn:hover {
278
+ transform: translateY(-2px);
279
+ box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
280
+ color: #1f2937;
281
  }
282
 
283
+ .download-btn:disabled {
284
+ opacity: 0.5;
285
+ cursor: not-allowed;
286
+ transform: none;
287
  }
288
 
289
+ .regenerate-btn {
290
+ width: auto;
291
+ padding: 0 1.5rem;
292
+ border-radius: 12px;
293
+ font-size: 0.9rem;
294
+ font-weight: 500;
295
+ background: #f8fafc;
296
+ }
297
+
298
+ .sr-only {
299
  position: absolute;
300
+ width: 1px;
301
+ height: 1px;
302
+ padding: 0;
303
+ margin: -1px;
304
+ overflow: hidden;
305
+ clip: rect(0, 0, 0, 0);
306
+ white-space: nowrap;
307
+ border: 0;
308
+ }
309
+
310
+ /* Responsive Design */
311
+ @media (max-width: 768px) {
312
+ .container {
313
+ padding: 15px;
314
+ }
315
+
316
+ .main-content {
317
+ padding: 2rem 1.5rem;
318
+ margin: 1rem;
319
+ }
320
+
321
+ .header-content h1 {
322
+ font-size: 2.5rem;
323
+ }
324
+
325
+ .audio-controls {
326
+ flex-wrap: wrap;
327
+ }
328
+
329
+ .play-btn, .download-btn, .regenerate-btn {
330
+ width: 48px;
331
+ height: 48px;
332
+ font-size: 1rem;
333
+ }
334
+
335
+ .regenerate-btn {
336
+ width: 100%;
337
+ padding: 1rem;
338
+ margin-top: 1rem;
339
+ }
340
+ }
341
+
342
+ @media (max-width: 480px) {
343
+ .input-section {
344
+ margin-bottom: 1rem;
345
+ }
346
+
347
+ #textInput {
348
+ min-height: 100px;
349
+ padding: 1rem;
350
+ }
351
+
352
+ .device-section {
353
+ margin: 1rem 0;
354
+ }
355
+ }
356
+
357
+ /* Dark mode support */
358
+ @media (prefers-color-scheme: dark) {
359
+ body {
360
+ background: linear-gradient(135deg, #1e1b4b 0%, #2a1d5e 100%);
361
+ }
362
+
363
+ .main-content {
364
+ background: rgba(30, 27, 75, 0.95);
365
+ color: #f1f5f9;
366
+ }
367
+
368
+ #textInput {
369
+ background: #2a273f;
370
+ border-color: #4b46ea;
371
+ color: #f1f5f9;
372
+ }
373
+
374
+ #textInput:focus {
375
+ background: #312e5b;
376
+ border-color: #667eea;
377
+ }
378
+
379
+ .input-info #charCount {
380
+ color: #94a3b8;
381
+ }
382
  }