akhaliq HF Staff commited on
Commit
dfdbe6b
·
verified ·
1 Parent(s): 88e9fcd

Upload style.css with huggingface_hub

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