akhaliq HF Staff commited on
Commit
5b64630
·
verified ·
1 Parent(s): c4d95e0

Upload style.css with huggingface_hub

Browse files
Files changed (1) hide show
  1. style.css +366 -41
style.css CHANGED
@@ -1,76 +1,401 @@
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
  * {
 
 
2
  margin: 0;
3
+ padding: 0;
4
+ box-sizing: border-box;
5
  }
6
 
 
7
  body {
8
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
9
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
10
+ min-height: 100vh;
11
+ padding: 20px;
12
  }
13
 
14
+ .container {
15
+ max-width: 900px;
16
+ margin: 0 auto;
17
+ }
18
+
19
+ header {
20
+ text-align: center;
21
+ color: white;
22
+ margin-bottom: 30px;
23
+ }
24
+
25
+ header h1 {
26
+ font-size: 2.5rem;
27
+ margin-bottom: 10px;
28
+ text-shadow: 2px 2px 4px rgba(0,0,0,0.2);
29
+ }
30
+
31
+ header p {
32
+ font-size: 1.1rem;
33
+ opacity: 0.95;
34
+ }
35
+
36
+ main {
37
+ background: white;
38
+ border-radius: 20px;
39
+ box-shadow: 0 20px 60px rgba(0,0,0,0.3);
40
+ padding: 30px;
41
+ }
42
+
43
+ .tabs {
44
+ display: flex;
45
+ gap: 10px;
46
+ margin-bottom: 20px;
47
+ }
48
+
49
+ .tab-btn {
50
+ flex: 1;
51
+ padding: 12px;
52
+ border: none;
53
+ background: #f0f0f0;
54
+ border-radius: 10px;
55
+ cursor: pointer;
56
+ font-size: 1rem;
57
+ transition: all 0.3s;
58
+ }
59
+
60
+ .tab-btn.active {
61
+ background: linear-gradient(135deg, #667eea, #764ba2);
62
+ color: white;
63
+ }
64
+
65
+ .tab-content {
66
+ display: none;
67
+ }
68
+
69
+ .tab-content.active {
70
+ display: block;
71
+ }
72
+
73
+ #url-tab {
74
+ display: flex;
75
+ gap: 10px;
76
+ }
77
+
78
+ #image-url {
79
+ flex: 1;
80
+ padding: 12px;
81
+ border: 2px solid #e0e0e0;
82
+ border-radius: 10px;
83
+ font-size: 1rem;
84
+ transition: border-color 0.3s;
85
+ }
86
+
87
+ #image-url:focus {
88
+ outline: none;
89
+ border-color: #667eea;
90
  }
91
 
92
+ .file-label {
 
93
  display: flex;
94
  flex-direction: column;
 
95
  align-items: center;
96
+ justify-content: center;
97
+ padding: 40px;
98
+ border: 2px dashed #d0d0d0;
99
+ border-radius: 10px;
100
+ cursor: pointer;
101
+ transition: all 0.3s;
102
+ background: #fafafa;
103
  }
104
 
105
+ .file-label:hover {
106
+ border-color: #667eea;
107
+ background: #f5f5ff;
108
+ }
109
+
110
+ .file-label.drag-over {
111
+ border-color: #667eea;
112
+ background: #f0f0ff;
113
+ }
114
+
115
+ .file-label svg {
116
+ stroke: #667eea;
117
+ margin-bottom: 10px;
118
+ }
119
+
120
+ .file-label span {
121
+ color: #666;
122
+ }
123
+
124
+ .file-hint {
125
+ font-size: 0.9rem;
126
+ margin-top: 5px;
127
+ color: #999;
128
+ }
129
 
130
+ .preview-section {
131
+ display: grid;
132
+ grid-template-columns: 1fr 1fr;
133
+ gap: 30px;
134
+ margin-top: 30px;
135
+ }
136
 
137
+ .image-preview {
138
+ aspect-ratio: 4/3;
139
+ background: #f8f8f8;
140
+ border-radius: 10px;
141
+ display: flex;
142
+ align-items: center;
143
+ justify-content: center;
144
  overflow: hidden;
145
+ border: 2px solid #e0e0e0;
146
+ }
147
+
148
+ .placeholder {
149
+ text-align: center;
150
+ color: #999;
151
+ }
152
+
153
+ .placeholder svg {
154
+ stroke: #d0d0d0;
155
+ margin-bottom: 10px;
156
+ }
157
+
158
+ .controls {
159
+ display: flex;
160
+ flex-direction: column;
161
+ gap: 15px;
162
+ }
163
+
164
+ .prompt-section label {
165
+ display: block;
166
+ margin-bottom: 5px;
167
+ color: #666;
168
+ font-size: 0.9rem;
169
+ }
170
+
171
+ #custom-prompt {
172
+ width: 100%;
173
+ padding: 10px;
174
+ border: 2px solid #e0e0e0;
175
+ border-radius: 8px;
176
+ resize: vertical;
177
+ min-height: 60px;
178
+ font-family: inherit;
179
+ }
180
+
181
+ .settings {
182
+ display: grid;
183
+ grid-template-columns: 1fr 1fr;
184
+ gap: 15px;
185
+ }
186
+
187
+ .setting-item label {
188
+ display: block;
189
+ margin-bottom: 5px;
190
+ color: #666;
191
+ font-size: 0.9rem;
192
+ }
193
+
194
+ .setting-item input,
195
+ .setting-item select {
196
+ width: 100%;
197
+ padding: 8px;
198
+ border: 2px solid #e0e0e0;
199
+ border-radius: 8px;
200
+ }
201
+
202
+ .primary-btn {
203
+ padding: 14px 24px;
204
+ background: linear-gradient(135deg, #667eea, #764ba2);
205
+ color: white;
206
+ border: none;
207
+ border-radius: 10px;
208
+ font-size: 1rem;
209
  cursor: pointer;
210
+ transition: transform 0.2s, box-shadow 0.2s;
211
+ }
212
+
213
+ .primary-btn:hover:not(:disabled) {
214
+ transform: translateY(-2px);
215
+ box-shadow: 0 10px 20px rgba(102, 126, 234, 0.3);
216
+ }
217
+
218
+ .primary-btn:disabled {
219
+ opacity: 0.5;
220
+ cursor: not-allowed;
221
+ }
222
+
223
+ .generate-btn {
224
+ position: relative;
225
+ }
226
+
227
+ .generate-btn.loading .btn-text {
228
+ opacity: 0;
229
+ }
230
 
231
+ .generate-btn.loading .spinner {
232
+ display: block;
 
 
233
  }
234
 
235
+ .spinner {
236
  display: none;
237
+ position: absolute;
238
+ top: 50%;
239
+ left: 50%;
240
+ transform: translate(-50%, -50%);
241
+ width: 20px;
242
+ height: 20px;
243
+ border: 2px solid white;
244
+ border-top-color: transparent;
245
+ border-radius: 50%;
246
+ animation: spin 0.8s linear infinite;
247
  }
248
 
249
+ .output-section {
250
+ margin-top: 30px;
251
+ padding-top: 30px;
252
+ border-top: 2px solid #f0f0f0;
253
+ }
254
+
255
+ .output-section h2 {
256
+ color: #333;
257
+ margin-bottom: 15px;
258
+ }
259
+
260
+ .output-container {
261
+ background: #f8f8f8;
262
+ border-radius: 10px;
263
+ padding: 20px;
264
+ min-height: 100px;
265
+ max-height: 300px;
266
+ overflow-y: auto;
267
+ margin-bottom: 15px;
268
+ line-height: 1.6;
269
+ }
270
+
271
+ .output-placeholder {
272
+ color: #999;
273
+ }
274
+
275
+ .typing-indicator {
276
+ color: #667eea;
277
+ font-style: italic;
278
+ }
279
+
280
+ .typing-indicator::after {
281
+ content: '...';
282
+ animation: dots 1.5s infinite;
283
  }
284
 
285
+ .secondary-btn {
286
+ padding: 10px 20px;
287
+ background: white;
288
+ color: #667eea;
289
+ border: 2px solid #667eea;
290
+ border-radius: 8px;
291
  cursor: pointer;
292
+ display: inline-flex;
293
+ align-items: center;
294
+ gap: 8px;
295
+ transition: all 0.3s;
296
  }
297
 
298
+ .secondary-btn:hover {
299
+ background: #667eea;
300
+ color: white;
301
  }
302
 
303
+ .loading-overlay {
304
+ position: fixed;
305
+ top: 0;
306
+ left: 0;
307
+ right: 0;
308
+ bottom: 0;
309
+ background: rgba(0,0,0,0.8);
310
+ display: flex;
311
+ align-items: center;
312
+ justify-content: center;
313
+ z-index: 1000;
314
+ opacity: 0;
315
+ pointer-events: none;
316
+ transition: opacity 0.3s;
317
+ }
318
+
319
+ .loading-overlay.active {
320
+ opacity: 1;
321
+ pointer-events: all;
322
  }
323
 
324
+ .loading-content {
325
+ text-align: center;
326
  color: white;
327
+ }
328
+
329
+ .loading-spinner {
330
+ width: 50px;
331
+ height: 50px;
332
+ border: 3px solid rgba(255,255,255,0.3);
333
+ border-top-color: white;
334
+ border-radius: 50%;
335
+ margin: 0 auto 20px;
336
+ animation: spin 0.8s linear infinite;
337
+ }
338
+
339
+ .notification {
340
+ position: fixed;
341
+ top: 20px;
342
+ right: 20px;
343
+ padding: 15px 20px;
344
+ border-radius: 10px;
345
+ color: white;
346
+ font-size: 0.95rem;
347
+ transform: translateX(400px);
348
+ transition: transform 0.3s;
349
+ z-index: 2000;
350
+ }
351
+
352
+ .notification.show {
353
+ transform: translateX(0);
354
+ }
355
+
356
+ .notification.success {
357
+ background: #4caf50;
358
+ }
359
+
360
+ .notification.error {
361
+ background: #f44336;
362
+ }
363
+
364
+ .notification.info {
365
+ background: #2196f3;
366
+ }
367
+
368
+ .error {
369
+ color: #f44336;
370
+ padding: 10px;
371
+ background: #ffebee;
372
+ border-radius: 5px;
373
+ }
374
+
375
+ @keyframes spin {
376
+ to { transform: rotate(360deg); }
377
+ }
378
+
379
+ @keyframes dots {
380
+ 0%, 20% { content: '.'; }
381
+ 40% { content: '..'; }
382
+ 60%, 100% { content: '...'; }
383
+ }
384
+
385
+ @media (max-width: 768px) {
386
+ header h1 {
387
+ font-size: 2rem;
388
+ }
389
+
390
+ .preview-section {
391
+ grid-template-columns: 1fr;
392
+ }
393
+
394
+ .settings {
395
+ grid-template-columns: 1fr;
396
+ }
397
+
398
+ main {
399
+ padding: 20px;
400
+ }
401
  }