akhaliq HF Staff commited on
Commit
ee657e0
·
verified ·
1 Parent(s): 878e46a

Upload style.css with huggingface_hub

Browse files
Files changed (1) hide show
  1. style.css +498 -43
style.css CHANGED
@@ -1,76 +1,531 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
+ /* Apple-inspired Design System */
2
+ :root {
3
+ --primary-color: #007AFF;
4
+ --secondary-color: #5856D6;
5
+ --background-color: #F2F2F7;
6
+ --surface-color: #FFFFFF;
7
+ --text-primary: #000000;
8
+ --text-secondary: #8E8E93;
9
+ --border-color: #C6C6C8;
10
+ --shadow-light: 0 1px 3px rgba(0, 0, 0, 0.1);
11
+ --shadow-medium: 0 4px 12px rgba(0, 0, 0, 0.1);
12
+ --shadow-heavy: 0 8px 24px rgba(0, 0, 0, 0.12);
13
+ --radius-small: 8px;
14
+ --radius-medium: 12px;
15
+ --radius-large: 20px;
16
+ --transition-fast: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
17
+ --transition-smooth: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18
+ }
19
+
20
  * {
 
 
21
  margin: 0;
22
+ padding: 0;
23
+ box-sizing: border-box;
24
  }
25
 
 
26
  body {
27
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
28
+ background-color: var(--background-color);
29
+ color: var(--text-primary);
30
+ height: 100vh;
31
+ overflow: hidden;
32
  }
33
 
34
+ .app-container {
35
+ display: flex;
36
+ flex-direction: column;
37
+ height: 100vh;
38
+ max-width: 900px;
39
+ margin: 0 auto;
40
+ background-color: var(--surface-color);
41
+ box-shadow: var(--shadow-heavy);
42
  }
43
 
44
+ /* Header */
45
+ .header {
46
+ background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
47
+ color: white;
48
+ padding: 1rem 1.5rem;
49
+ box-shadow: var(--shadow-medium);
50
+ z-index: 100;
51
+ }
52
+
53
+ .header-content {
54
+ display: flex;
55
+ justify-content: space-between;
56
+ align-items: center;
57
+ }
58
+
59
+ .header-left {
60
+ display: flex;
61
+ align-items: center;
62
+ gap: 0.75rem;
63
+ }
64
+
65
+ .header-left i {
66
+ font-size: 1.5rem;
67
+ }
68
+
69
+ .header h1 {
70
+ font-size: 1.25rem;
71
+ font-weight: 600;
72
+ }
73
+
74
+ .header-right {
75
+ display: flex;
76
+ align-items: center;
77
+ gap: 1rem;
78
+ }
79
+
80
+ .anycoder-link {
81
+ color: white;
82
+ text-decoration: none;
83
+ font-size: 0.875rem;
84
+ opacity: 0.9;
85
+ transition: opacity var(--transition-fast);
86
+ }
87
+
88
+ .anycoder-link:hover {
89
+ opacity: 1;
90
+ text-decoration: underline;
91
+ }
92
+
93
+ .model-status {
94
  display: flex;
 
 
95
  align-items: center;
96
+ gap: 0.5rem;
97
+ padding: 0.25rem 0.75rem;
98
+ background: rgba(255, 255, 255, 0.2);
99
+ border-radius: 20px;
100
+ font-size: 0.875rem;
101
+ }
102
+
103
+ .status-dot {
104
+ width: 8px;
105
+ height: 8px;
106
+ border-radius: 50%;
107
+ background: #FF3B30;
108
+ }
109
+
110
+ .status-dot.loading {
111
+ background: #FF9500;
112
+ animation: pulse 1.5s infinite;
113
+ }
114
+
115
+ .status-dot.ready {
116
+ background: #34C759;
117
  }
118
 
119
+ @keyframes pulse {
120
+ 0%, 100% { opacity: 1; }
121
+ 50% { opacity: 0.5; }
122
+ }
123
+
124
+ /* Chat Container */
125
+ .chat-container {
126
+ flex: 1;
127
+ overflow: hidden;
128
+ display: flex;
129
+ flex-direction: column;
130
  position: relative;
131
+ }
132
+
133
+ .chat-messages {
134
+ flex: 1;
135
+ overflow-y: auto;
136
+ padding: 1.5rem;
137
+ scroll-behavior: smooth;
138
+ }
139
+
140
+ .chat-messages::-webkit-scrollbar {
141
+ width: 4px;
142
+ }
143
+
144
+ .chat-messages::-webkit-scrollbar-track {
145
+ background: transparent;
146
+ }
147
+
148
+ .chat-messages::-webkit-scrollbar-thumb {
149
+ background: var(--border-color);
150
+ border-radius: 2px;
151
+ }
152
+
153
+ /* Messages */
154
+ .message {
155
+ margin-bottom: 1.5rem;
156
+ opacity: 0;
157
+ transform: translateY(10px);
158
+ transition: all var(--transition-smooth);
159
+ }
160
+
161
+ .message.system {
162
+ text-align: center;
163
+ }
164
+
165
+ .message.system .message-content {
166
+ display: inline-block;
167
+ padding: 0.75rem 1.5rem;
168
+ background: var(--background-color);
169
+ border-radius: var(--radius-large);
170
+ color: var(--text-secondary);
171
+ font-size: 0.875rem;
172
+ }
173
+
174
+ .message.system i {
175
+ margin-right: 0.5rem;
176
+ color: var(--primary-color);
177
+ }
178
+
179
+ .message.user .message-content {
180
+ display: flex;
181
+ justify-content: flex-end;
182
+ gap: 0.75rem;
183
+ }
184
+
185
+ .message.assistant .message-content {
186
+ display: flex;
187
+ gap: 0.75rem;
188
+ }
189
+
190
+ .avatar {
191
+ width: 36px;
192
+ height: 36px;
193
+ border-radius: 50%;
194
+ display: flex;
195
+ align-items: center;
196
+ justify-content: center;
197
+ flex-shrink: 0;
198
+ font-size: 1rem;
199
+ }
200
+
201
+ .avatar.user {
202
+ background: var(--primary-color);
203
+ color: white;
204
+ }
205
+
206
+ .avatar:not(.user) {
207
+ background: var(--background-color);
208
+ color: var(--text-secondary);
209
+ }
210
+
211
+ .message-content-inner {
212
+ max-width: 70%;
213
+ }
214
+
215
+ .message-role {
216
+ font-size: 0.75rem;
217
+ color: var(--text-secondary);
218
+ margin-bottom: 0.25rem;
219
+ font-weight: 500;
220
+ }
221
+
222
+ .message-text {
223
+ padding: 0.75rem 1rem;
224
+ background: var(--background-color);
225
+ border-radius: var(--radius-medium);
226
+ line-height: 1.5;
227
+ word-wrap: break-word;
228
+ }
229
+
230
+ .message.user .message-text {
231
+ background: var(--primary-color);
232
+ color: white;
233
+ }
234
+
235
+ .message.error .message-text {
236
+ background: #FF3B30;
237
+ color: white;
238
+ }
239
+
240
+ /* Typing Indicator */
241
+ .typing-indicator {
242
+ padding: 0 1.5rem 1.5rem;
243
+ }
244
+
245
+ .typing-dots {
246
+ display: flex;
247
+ gap: 0.25rem;
248
+ padding: 0.75rem 1rem;
249
+ }
250
+
251
+ .typing-dots span {
252
+ width: 8px;
253
+ height: 8px;
254
+ border-radius: 50%;
255
+ background: var(--text-secondary);
256
+ animation: typing 1.4s infinite;
257
+ }
258
+
259
+ .typing-dots span:nth-child(2) {
260
+ animation-delay: 0.2s;
261
+ }
262
+
263
+ .typing-dots span:nth-child(3) {
264
+ animation-delay: 0.4s;
265
+ }
266
+
267
+ @keyframes typing {
268
+ 0%, 60%, 100% {
269
+ transform: translateY(0);
270
+ opacity: 0.5;
271
+ }
272
+ 30% {
273
+ transform: translateY(-10px);
274
+ opacity: 1;
275
+ }
276
+ }
277
+
278
+ /* Input Container */
279
+ .input-container {
280
+ background: var(--surface-color);
281
+ border-top: 1px solid var(--border-color);
282
+ padding: 1rem 1.5rem;
283
+ }
284
 
285
+ .input-wrapper {
 
286
  max-width: 100%;
287
+ }
288
 
289
+ .input-group {
290
+ display: flex;
291
+ gap: 0.75rem;
292
+ align-items: flex-end;
293
+ }
294
+
295
+ #messageInput {
296
+ flex: 1;
297
+ padding: 0.75rem 1rem;
298
+ border: 1px solid var(--border-color);
299
+ border-radius: var(--radius-medium);
300
+ font-size: 1rem;
301
+ font-family: inherit;
302
+ resize: none;
303
+ outline: none;
304
+ transition: all var(--transition-fast);
305
+ background: var(--background-color);
306
+ min-height: 44px;
307
+ max-height: 120px;
308
+ }
309
+
310
+ #messageInput:focus {
311
+ border-color: var(--primary-color);
312
+ background: var(--surface-color);
313
+ box-shadow: 0 0 0 3px rgba(0, 122, 255, 0.1);
314
+ }
315
+
316
+ .send-button {
317
+ width: 44px;
318
+ height: 44px;
319
+ border-radius: 50%;
320
+ border: none;
321
+ background: var(--primary-color);
322
+ color: white;
323
  cursor: pointer;
324
+ display: flex;
325
+ align-items: center;
326
+ justify-content: center;
327
+ transition: all var(--transition-fast);
328
+ font-size: 1rem;
329
+ }
330
 
331
+ .send-button:hover:not(:disabled) {
332
+ background: #0056CC;
333
+ transform: scale(1.05);
 
334
  }
335
 
336
+ .send-button:active:not(:disabled) {
337
+ transform: scale(0.95);
338
  }
339
 
340
+ .send-button:disabled {
341
+ background: var(--border-color);
342
+ cursor: not-allowed;
343
+ opacity: 0.6;
344
  }
345
 
346
+ .input-info {
347
+ margin-top: 0.5rem;
348
+ text-align: right;
 
349
  }
350
 
351
+ #charCount {
352
+ font-size: 0.75rem;
353
+ color: var(--text-secondary);
354
  }
355
 
356
+ /* Loading Overlay */
357
+ .loading-overlay {
358
+ position: fixed;
359
+ top: 0;
360
+ left: 0;
361
+ right: 0;
362
+ bottom: 0;
363
+ background: rgba(0, 0, 0, 0.8);
364
+ display: flex;
365
+ align-items: center;
366
+ justify-content: center;
367
+ z-index: 1000;
368
+ transition: opacity var(--transition-smooth);
369
+ }
370
+
371
+ .loading-content {
372
+ background: var(--surface-color);
373
+ padding: 2.5rem;
374
+ border-radius: var(--radius-large);
375
+ text-align: center;
376
+ max-width: 400px;
377
+ box-shadow: var(--shadow-heavy);
378
  }
379
 
380
+ .loading-spinner {
381
+ margin-bottom: 1.5rem;
382
+ }
383
+
384
+ .spinner {
385
+ width: 50px;
386
+ height: 50px;
387
+ border: 3px solid var(--border-color);
388
+ border-top-color: var(--primary-color);
389
+ border-radius: 50%;
390
+ animation: spin 1s linear infinite;
391
+ margin: 0 auto;
392
+ }
393
+
394
+ @keyframes spin {
395
+ to { transform: rotate(360deg); }
396
+ }
397
+
398
+ .loading-content h2 {
399
+ font-size: 1.5rem;
400
+ margin-bottom: 0.75rem;
401
+ color: var(--text-primary);
402
+ }
403
+
404
+ .loading-content p {
405
+ color: var(--text-secondary);
406
+ margin-bottom: 1.5rem;
407
+ line-height: 1.5;
408
+ }
409
+
410
+ .progress-bar {
411
+ width: 100%;
412
+ height: 6px;
413
+ background: var(--background-color);
414
+ border-radius: 3px;
415
+ overflow: hidden;
416
+ margin-bottom: 0.75rem;
417
+ }
418
+
419
+ .progress-fill {
420
+ height: 100%;
421
+ background: linear-gradient(90deg, var(--primary-color), var(--secondary-color));
422
+ border-radius: 3px;
423
+ transition: width 0.3s ease;
424
+ width: 0%;
425
+ }
426
+
427
+ .progress-text {
428
+ font-size: 0.875rem;
429
+ color: var(--text-secondary);
430
+ font-weight: 500;
431
+ }
432
+
433
+ .error-content {
434
+ padding: 1rem;
435
+ }
436
+
437
+ .error-content i {
438
+ font-size: 3rem;
439
+ color: #FF3B30;
440
+ margin-bottom: 1rem;
441
+ }
442
+
443
+ .error-content h2 {
444
+ color: #FF3B30;
445
+ }
446
+
447
+ .retry-button {
448
+ margin-top: 1rem;
449
+ padding: 0.75rem 1.5rem;
450
+ background: var(--primary-color);
451
  color: white;
452
+ border: none;
453
+ border-radius: var(--radius-medium);
454
+ cursor: pointer;
455
+ font-size: 1rem;
456
+ transition: all var(--transition-fast);
457
+ display: inline-flex;
458
+ align-items: center;
459
+ gap: 0.5rem;
460
+ }
461
+
462
+ .retry-button:hover {
463
+ background: #0056CC;
464
+ }
465
+
466
+ /* Responsive Design */
467
+ @media (max-width: 768px) {
468
+ .app-container {
469
+ height: 100vh;
470
+ max-width: 100%;
471
+ box-shadow: none;
472
+ }
473
+
474
+ .header {
475
+ padding: 1rem;
476
+ }
477
+
478
+ .header-content {
479
+ flex-direction: column;
480
+ gap: 0.75rem;
481
+ text-align: center;
482
+ }
483
+
484
+ .model-status {
485
+ display: none;
486
+ }
487
+
488
+ .message-content-inner {
489
+ max-width: 85%;
490
+ }
491
+
492
+ .chat-messages {
493
+ padding: 1rem;
494
+ }
495
+
496
+ .input-container {
497
+ padding: 0.75rem 1rem;
498
+ }
499
+ }
500
+
501
+ /* Dark mode support */
502
+ @media (prefers-color-scheme: dark) {
503
+ :root {
504
+ --background-color: #000000;
505
+ --surface-color: #1C1C1E;
506
+ --text-primary: #FFFFFF;
507
+ --text-secondary: #8E8E93;
508
+ --border-color: #38383A;
509
+ }
510
+
511
+ .header {
512
+ background: linear-gradient(135deg, #0056CC, #4444AA);
513
+ }
514
+
515
+ #messageInput {
516
+ background: #2C2C2E;
517
+ color: var(--text-primary);
518
+ }
519
+
520
+ #messageInput:focus {
521
+ background: var(--surface-color);
522
+ }
523
+
524
+ .message-text {
525
+ background: #2C2C2E;
526
+ }
527
+
528
+ .message.system .message-content {
529
+ background: #2C2C2E;
530
+ }
531
  }