akhaliq HF Staff commited on
Commit
753bad6
·
verified ·
1 Parent(s): bfeeac0

Update style.css

Browse files
Files changed (1) hide show
  1. style.css +314 -294
style.css CHANGED
@@ -1,4 +1,4 @@
1
- /* style.css content here */
2
  * {
3
  margin: 0;
4
  padding: 0;
@@ -6,10 +6,10 @@
6
  }
7
 
8
  body {
9
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
10
- background: linear-gradient(135deg, #f5f7fa 0%, #e4e7f1 100%);
11
- color: #1a1a1a;
12
- line-height: 1.5;
13
  overflow-x: hidden;
14
  -webkit-font-smoothing: antialiased;
15
  -moz-osx-font-smoothing: grayscale;
@@ -21,36 +21,33 @@ body {
21
  flex-direction: column;
22
  max-width: 900px;
23
  margin: 0 auto;
24
- background: rgba(255, 255, 255, 0.95);
25
- backdrop-filter: blur(20px);
26
  position: relative;
27
- box-shadow: 0 20px 60px rgba(0, 0, 0, 0.08);
28
  }
29
 
30
  .header {
31
- background: rgba(255, 255, 255, 0.9);
32
- backdrop-filter: blur(20px);
33
- border-bottom: 1px solid rgba(0, 0, 0, 0.05);
34
  padding: 0;
35
  position: sticky;
36
  top: 0;
37
  z-index: 100;
38
- box-shadow: 0 2px 20px rgba(0, 0, 0, 0.05);
39
  }
40
 
41
  .header-content {
42
  display: flex;
43
  justify-content: space-between;
44
  align-items: center;
45
- padding: 1rem 1.5rem;
46
- max-width: 800px;
47
  margin: 0 auto;
48
  }
49
 
50
  .header-left {
51
  display: flex;
52
  align-items: center;
53
- gap: 0.75rem;
54
  }
55
 
56
  .avatar-wrapper {
@@ -58,95 +55,89 @@ body {
58
  }
59
 
60
  .avatar {
61
- width: 44px;
62
- height: 44px;
63
  border-radius: 50%;
64
- background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
65
  display: flex;
66
  align-items: center;
67
  justify-content: center;
68
  color: white;
69
- font-size: 1.3rem;
70
- box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
71
  }
72
 
73
  .status-indicator {
74
  position: absolute;
75
- bottom: 0;
76
- right: 0;
77
- width: 12px;
78
- height: 12px;
79
  border-radius: 50%;
80
  border: 2px solid #ffffff;
 
81
  }
82
 
83
  .status-indicator.online {
84
- background: #10b981;
85
- box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.2);
86
  }
87
 
88
  .header-info h1 {
89
- font-size: 1.2rem;
90
- font-weight: 700;
91
- color: #1a1a1a;
92
  margin: 0;
93
- letter-spacing: -0.5px;
94
  }
95
 
96
  .status-text {
97
- font-size: 0.85rem;
98
- color: #6b7280;
99
- font-weight: 500;
100
  }
101
 
102
  .device-selector {
103
  display: flex;
104
  align-items: center;
105
- gap: 0.5rem;
106
  }
107
 
108
  .device-selector label {
109
- font-size: 0.8rem;
110
  color: #65676b;
111
  }
112
 
113
  .device-selector select {
114
- background: rgba(240, 242, 245, 0.8);
115
- border: 1px solid rgba(0, 0, 0, 0.05);
116
- padding: 0.6rem 0.8rem;
117
- border-radius: 8px;
118
- font-size: 0.85rem;
119
- color: #1a1a1a;
120
  cursor: pointer;
121
- transition: all 0.2s ease;
122
  font-weight: 500;
123
  }
124
 
125
  .device-selector select:hover {
126
- background: rgba(240, 242, 245, 1);
127
- border-color: rgba(0, 0, 0, 0.1);
128
  }
129
 
130
  .btn-secondary {
131
- background: rgba(240, 242, 245, 0.8);
132
- border: 1px solid rgba(0, 0, 0, 0.05);
133
- color: #1a1a1a;
134
- padding: 0.6rem;
135
- border-radius: 8px;
136
  cursor: pointer;
137
  display: flex;
138
  align-items: center;
139
  justify-content: center;
140
  width: 36px;
141
  height: 36px;
142
- transition: all 0.2s ease;
143
- font-weight: 500;
144
  }
145
 
146
  .btn-secondary:hover {
147
- background: rgba(240, 242, 245, 1);
148
- border-color: rgba(0, 0, 0, 0.1);
149
- transform: translateY(-1px);
150
  }
151
 
152
  .chat-container {
@@ -160,23 +151,20 @@ body {
160
  .messages-container {
161
  flex: 1;
162
  overflow-y: auto;
163
- padding: 1rem 1.5rem;
164
  scroll-behavior: smooth;
165
  background: #ffffff;
166
  }
167
 
168
  .message {
169
- margin-bottom: 0.5rem;
170
  display: flex;
171
- align-items: flex-end;
172
- gap: 0.5rem;
173
- animation: fadeIn 0.15s ease-out;
174
- opacity: 0;
175
- animation-fill-mode: forwards;
176
  }
177
 
178
  @keyframes fadeIn {
179
- from { opacity: 0; transform: translateY(10px); }
180
  to { opacity: 1; transform: translateY(0); }
181
  }
182
 
@@ -188,58 +176,52 @@ body {
188
  justify-content: flex-end;
189
  }
190
 
191
- .message-avatar {
192
- width: 28px;
193
- height: 28px;
194
- border-radius: 50%;
195
  display: flex;
196
  align-items: center;
197
- justify-content: center;
198
- font-size: 0.9rem;
199
- flex-shrink: 0;
 
200
  }
201
 
202
- .assistant-message .message-avatar {
203
- background: linear-gradient(135deg, #0084ff 0%, #00c6ff 100%);
204
- color: white;
205
  }
206
 
207
- .user-message .message-avatar {
208
- background: #f0f2f5;
209
- color: #65676b;
210
- }
211
-
212
- .message-bubble {
213
- max-width: 70%;
214
- position: relative;
215
  }
216
 
217
  .message-content {
218
- padding: 0.75rem 1rem;
219
- border-radius: 20px;
220
- line-height: 1.5;
221
  word-wrap: break-word;
222
- font-size: 0.95rem;
223
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
224
  }
225
 
226
  .assistant-message .message-content {
227
- background: rgba(240, 242, 245, 0.9);
228
- color: #1a1a1a;
229
- border-radius: 20px 20px 20px 6px;
230
- border: 1px solid rgba(0, 0, 0, 0.03);
231
  }
232
 
233
  .user-message .message-content {
234
- background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
235
  color: #ffffff;
236
- border-radius: 20px 20px 6px 20px;
237
- box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
 
 
 
238
  }
239
 
240
  strong {
241
- color: #1c1e21;
242
- font-weight: 700;
243
  }
244
 
245
  em {
@@ -247,61 +229,99 @@ em {
247
  }
248
 
249
  code {
250
- background: rgba(245, 246, 245, 0.9);
251
- padding: 0.3rem 0.6rem;
252
- border-radius: 8px;
253
- font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace;
254
- font-size: 0.9em;
255
- color: #1a1a1a;
256
- border: 1px solid rgba(0, 0, 0, 0.05);
257
- font-weight: 500;
258
  }
259
 
260
  .math-equation {
261
- background: rgba(245, 246, 245, 0.9);
262
- padding: 0.3rem 0.6rem;
263
- border-radius: 8px;
264
- font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace;
265
- color: #667eea;
266
- font-size: 0.95em;
267
- border: 1px solid rgba(0, 0, 0, 0.05);
268
- font-weight: 500;
269
  }
270
 
271
- .math-equation sup,
272
- .math-equation sub {
273
- font-size: 0.8em;
274
- vertical-align: baseline;
275
- position: relative;
276
- top: -0.3em;
277
  }
278
 
279
- .math-equation sub {
280
- top: 0.2em;
 
 
 
 
 
 
281
  }
282
 
283
- 1e21;
284
- font-weight: 400;
285
  }
286
 
287
- #message-input:focus {
288
- background: #ffffff;
289
- box-shadow: 0 0 0 3px rgba(24, 119, 242, 0.1);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
290
  }
291
 
292
  .send-button {
293
- background: linear-gradient(
 
 
 
 
 
 
 
 
 
 
 
 
 
294
 
295
- .input-footer {
296
- text-align: center;
297
- margin-top: 0.5rem;
298
- padding: 0 1rem;
299
  }
300
 
301
- .input-footer small {
302
- color: #65676b;
303
- font-size: 0.8rem;
304
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
305
  }
306
 
307
  .loading-overlay {
@@ -310,132 +330,119 @@ code {
310
  left: 0;
311
  width: 100%;
312
  height: 100%;
313
- background: rgba(0, 0, 0, 0.4);
314
- display: flex;
 
315
  align-items: center;
316
  justify-content: center;
317
  z-index: 1000;
318
  }
319
 
320
  .loading-spinner {
321
- background: rgba(255, 255, 255, 0.95);
322
- backdrop-filter: blur(20px);
323
- padding: 2rem;
324
- border-radius: 16px;
325
  text-align: center;
326
- box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1);
327
  min-width: 200px;
328
- border: 1px solid rgba(0, 0, 0, 0.05);
329
  }
330
 
331
  .loading-spinner i {
332
- font-size: 2rem;
333
- color: #667eea;
334
- margin-bottom: 1rem;
335
  display: block;
336
  }
337
 
338
  .loading-spinner p {
339
- color: #6b7280;
340
- font-size: 1rem;
341
- font-weight: 500;
342
  }
343
 
344
-
345
- background: #f8f9fa;
346
- padding: 0.75rem 2rem;
347
- border-top: 1px solid #e1e8ed;
348
  display: flex;
349
  justify-content: space-between;
350
  align-items: center;
351
- font-size: 0.85rem;
352
- color: #666;
353
  }
354
 
355
  .status-bar #status-text {
356
- font-weight: 500;
357
  }
358
 
359
  #model-status {
360
- background: #e3f2fd;
361
- color: #1976d2;
362
- padding: 0.25rem 0.75rem;
363
- border-radius: 15px;
364
- font-size: 0.8rem;
365
- }
366
-
367
- .error-message {
368
- background: rgba(254, 242, 242, 0.9);
369
- border: 1px solid rgba(252, 165, 165, 0.3);
370
  border-radius: 12px;
371
- padding: 1rem;
372
- margin: 1rem 0;
373
  }
374
 
375
- .system-message {
376
- background: none !important;
377
- border: none !important;
378
  }
379
 
380
  .system-message .message-content {
381
- background: rgba(254, 242, 242, 0.9) !important;
382
- border: 1px solid rgba(252, 165, 165, 0.3) !important;
383
- color: #dc2626 !important;
384
- padding: 1rem !important;
385
- border-radius: 12px !important;
386
- margin: 0 2rem !important;
387
  }
388
 
389
  .system-message i {
390
- color: #dc2626 !important;
 
391
  }
392
 
393
- /* Responsive Design */
394
- @media (max-width: 768px) {
395
- .header {
396
- padding: 1rem;
397
- flex-direction: column;
398
- gap: 1rem;
399
- text-align: center;
400
- }
401
 
402
- .header h1 {
403
- font-size: 1.3rem;
404
- }
405
 
406
- .device-selector {
407
- width: 100%;
408
- justify-content: center;
409
- }
410
 
411
- .chat-container {
412
- padding: 1rem;
413
- max-width: 100%;
 
 
 
 
 
414
  }
415
 
416
  .messages-container {
417
- max-height: calc(100vh - 180px);
418
  }
419
 
420
- .user-message .message-content {
421
- max-width: 90%;
422
- margin-left: 1rem;
423
  }
424
 
425
- .assistant-message .message-content {
426
- margin-left: 1rem;
427
- margin-right: 1rem;
428
  }
429
 
430
  .status-bar {
431
- padding: 0.75rem 1rem;
432
  flex-direction: column;
433
- gap: 0.5rem;
434
  text-align: center;
435
- }
436
-
437
- .input-wrapper {
438
- padding: 0 1rem;
439
  }
440
 
441
  #message-input {
@@ -444,128 +451,141 @@ code {
444
  }
445
 
446
  @media (max-width: 480px) {
447
- .message-content {
448
- padding: 0.75rem 1rem;
449
  }
450
 
451
- .input-container {
452
- padding: 0.5rem 0;
453
- }
454
-
455
- .loading-spinner {
456
- padding: 1.5rem;
457
- min-width: 150px;
458
- }
459
-
460
- .app-container {
461
- margin: 0;
462
- box-shadow: none;
463
- border-radius: 0;
464
  }
465
- }
466
-
467
- /* Scrollbar Styling */
468
- .messages-container::-webkit-scrollbar {
469
- width: 6px;
470
- }
471
-
472
- .messages-container::-webkit-scrollbar-track {
473
- background: #f1f1f1;
474
- border-radius: 10px;
475
- }
476
-
477
- .messages-container::-webkit-scrollbar-thumb {
478
- background: #c1c1c1;
479
- border-radius: 10px;
480
- }
481
 
482
- .messages-container::-webkit-scrollbar-thumb:hover {
483
- background: #a8a8a8;
484
- }
485
-
486
- /* Focus management for accessibility */
487
- .message:focus {
488
- outline: 2px solid #4facfe;
489
- outline-offset: 2px;
490
- }
491
-
492
- #message-input:focus {
493
- outline: none;
494
- }
495
-
496
- /* High contrast mode support */
497
- @media (prefers-contrast: high) {
498
  .message-content {
499
- border: 2px solid #000;
500
- }
501
-
502
- #message-input {
503
- border: 2px solid #000;
504
  }
505
- }
506
 
507
- /* Reduced motion support */
508
- @media (prefers-reduced-motion: reduce) {
509
- * {
510
- animation-duration: 0.01ms !important;
511
- animation-iteration-count: 1 !important;
512
- transition-duration: 0.01ms !important;
513
- }
514
-
515
- .send-button:hover {
516
- transform: none;
517
  }
518
  }
519
 
520
- heme: dark) {
 
521
  body {
522
- background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
523
- color: #e0e0e0;
524
  }
525
 
526
  .app-container {
527
- background: rgba(26, 26, 46, 0.95);
528
- color: #e0e0e0;
529
  }
530
 
531
  .header {
532
- background: linear-gradient(135deg, #0f3460 0%, #1a1a2e 100%);
 
 
 
 
 
 
 
 
 
 
533
  }
534
 
535
  .assistant-message .message-content {
536
- background: linear-gradient(135deg, #2a2a3e 0%, #3a3a4e 100%);
537
- border-color: #4a4a5e;
538
- color: #e0e0e0;
539
  }
540
 
541
  .user-message .message-content {
542
- background: linear-gradient(135deg, #00b894 0%, #00d4aa 100%);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
543
  }
544
 
545
  #message-input {
546
- background: #2a2a3e;
547
- border-color: #4a4a5e;
548
- color: #e0e0e0;
549
  }
550
 
551
- #message-input:focus {
552
- background: #3a3a4e;
553
- border-color: #4facfe;
554
  }
555
 
556
- .input-container {
557
- background: #1a1a2e;
558
- border-color: #4a4a5e;
 
 
 
 
 
 
 
 
 
 
 
 
559
  }
560
 
 
 
 
 
 
 
 
 
 
561
 
562
- background: #2a2a3e;
563
- border-color: #4a4a5e;
564
- color: #b0b0b0;
565
  }
566
 
567
- .device-selector select {
568
- background: #3a3a4e;
569
- color: #e0e0e0;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
570
  }
571
  }
 
1
+ /* Meta-Style CSS for AI Chat Interface */
2
  * {
3
  margin: 0;
4
  padding: 0;
 
6
  }
7
 
8
  body {
9
+ font-family: Segoe UI Historic, Segoe UI, Helvetica, Arial, sans-serif;
10
+ background: #ffffff;
11
+ color: #050505;
12
+ line-height: 1.34;
13
  overflow-x: hidden;
14
  -webkit-font-smoothing: antialiased;
15
  -moz-osx-font-smoothing: grayscale;
 
21
  flex-direction: column;
22
  max-width: 900px;
23
  margin: 0 auto;
24
+ background: #ffffff;
 
25
  position: relative;
 
26
  }
27
 
28
  .header {
29
+ background: #ffffff;
30
+ border-bottom: 1px solid #e4e6eb;
 
31
  padding: 0;
32
  position: sticky;
33
  top: 0;
34
  z-index: 100;
35
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
36
  }
37
 
38
  .header-content {
39
  display: flex;
40
  justify-content: space-between;
41
  align-items: center;
42
+ padding: 12px 16px;
43
+ max-width: 900px;
44
  margin: 0 auto;
45
  }
46
 
47
  .header-left {
48
  display: flex;
49
  align-items: center;
50
+ gap: 12px;
51
  }
52
 
53
  .avatar-wrapper {
 
55
  }
56
 
57
  .avatar {
58
+ width: 40px;
59
+ height: 40px;
60
  border-radius: 50%;
61
+ background: linear-gradient(135deg, #0084ff 0%, #44bff5 100%);
62
  display: flex;
63
  align-items: center;
64
  justify-content: center;
65
  color: white;
66
+ font-size: 20px;
 
67
  }
68
 
69
  .status-indicator {
70
  position: absolute;
71
+ bottom: -2px;
72
+ right: -2px;
73
+ width: 14px;
74
+ height: 14px;
75
  border-radius: 50%;
76
  border: 2px solid #ffffff;
77
+ box-shadow: 0 1px 1px rgba(0, 0, 0, 0.2);
78
  }
79
 
80
  .status-indicator.online {
81
+ background: #31a24c;
 
82
  }
83
 
84
  .header-info h1 {
85
+ font-size: 17px;
86
+ font-weight: 600;
87
+ color: #050505;
88
  margin: 0;
 
89
  }
90
 
91
  .status-text {
92
+ font-size: 13px;
93
+ color: #65676b;
94
+ font-weight: 400;
95
  }
96
 
97
  .device-selector {
98
  display: flex;
99
  align-items: center;
100
+ gap: 8px;
101
  }
102
 
103
  .device-selector label {
104
+ font-size: 13px;
105
  color: #65676b;
106
  }
107
 
108
  .device-selector select {
109
+ background: #f0f2f5;
110
+ border: none;
111
+ padding: 6px 12px;
112
+ border-radius: 20px;
113
+ font-size: 13px;
114
+ color: #050505;
115
  cursor: pointer;
116
+ transition: background 0.2s ease;
117
  font-weight: 500;
118
  }
119
 
120
  .device-selector select:hover {
121
+ background: #e4e6eb;
 
122
  }
123
 
124
  .btn-secondary {
125
+ background: #f0f2f5;
126
+ border: none;
127
+ color: #050505;
128
+ padding: 8px;
129
+ border-radius: 50%;
130
  cursor: pointer;
131
  display: flex;
132
  align-items: center;
133
  justify-content: center;
134
  width: 36px;
135
  height: 36px;
136
+ transition: background 0.2s ease;
 
137
  }
138
 
139
  .btn-secondary:hover {
140
+ background: #e4e6eb;
 
 
141
  }
142
 
143
  .chat-container {
 
151
  .messages-container {
152
  flex: 1;
153
  overflow-y: auto;
154
+ padding: 16px;
155
  scroll-behavior: smooth;
156
  background: #ffffff;
157
  }
158
 
159
  .message {
160
+ margin-bottom: 4px;
161
  display: flex;
162
+ gap: 8px;
163
+ animation: fadeIn 0.2s ease-out;
 
 
 
164
  }
165
 
166
  @keyframes fadeIn {
167
+ from { opacity: 0; transform: translateY(5px); }
168
  to { opacity: 1; transform: translateY(0); }
169
  }
170
 
 
176
  justify-content: flex-end;
177
  }
178
 
179
+ .message-header {
 
 
 
180
  display: flex;
181
  align-items: center;
182
+ gap: 8px;
183
+ margin-bottom: 4px;
184
+ font-size: 13px;
185
+ color: #65676b;
186
  }
187
 
188
+ .message-author {
189
+ font-weight: 600;
190
+ color: #050505;
191
  }
192
 
193
+ .message-time {
194
+ font-size: 12px;
195
+ color: #8a8d91;
 
 
 
 
 
196
  }
197
 
198
  .message-content {
199
+ padding: 8px 12px;
200
+ border-radius: 18px;
201
+ line-height: 1.4;
202
  word-wrap: break-word;
203
+ font-size: 15px;
204
+ max-width: 70%;
205
  }
206
 
207
  .assistant-message .message-content {
208
+ background: #f0f2f5;
209
+ color: #050505;
210
+ border-radius: 18px 18px 18px 4px;
 
211
  }
212
 
213
  .user-message .message-content {
214
+ background: #0084ff;
215
  color: #ffffff;
216
+ border-radius: 18px 18px 4px 18px;
217
+ }
218
+
219
+ .welcome-message {
220
+ padding: 20px 0;
221
  }
222
 
223
  strong {
224
+ font-weight: 600;
 
225
  }
226
 
227
  em {
 
229
  }
230
 
231
  code {
232
+ background: #f0f2f5;
233
+ padding: 2px 6px;
234
+ border-radius: 6px;
235
+ font-family: SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace;
236
+ font-size: 13px;
237
+ color: #050505;
 
 
238
  }
239
 
240
  .math-equation {
241
+ background: #f0f2f5;
242
+ padding: 2px 6px;
243
+ border-radius: 6px;
244
+ font-family: SFMono-Regular, Consolas, Liberation Mono, Menlo, monospace;
245
+ color: #0084ff;
246
+ font-size: 14px;
 
 
247
  }
248
 
249
+ .input-container {
250
+ background: #ffffff;
251
+ border-top: 1px solid #e4e6eb;
252
+ padding: 8px 16px;
 
 
253
  }
254
 
255
+ .input-wrapper {
256
+ display: flex;
257
+ align-items: flex-end;
258
+ gap: 8px;
259
+ background: #f0f2f5;
260
+ border-radius: 20px;
261
+ padding: 8px 8px 8px 16px;
262
+ transition: background 0.2s ease;
263
  }
264
 
265
+ .input-wrapper:focus-within {
266
+ background: #e4e6eb;
267
  }
268
 
269
+ .input-avatar {
270
+ width: 32px;
271
+ height: 32px;
272
+ border-radius: 50%;
273
+ background: #e4e6eb;
274
+ display: flex;
275
+ align-items: center;
276
+ justify-content: center;
277
+ color: #65676b;
278
+ font-size: 16px;
279
+ flex-shrink: 0;
280
+ margin-bottom: 2px;
281
+ }
282
+
283
+ #message-input {
284
+ flex: 1;
285
+ background: transparent;
286
+ border: none;
287
+ outline: none;
288
+ font-size: 15px;
289
+ color: #050505;
290
+ resize: none;
291
+ font-family: inherit;
292
+ line-height: 1.34;
293
+ padding: 6px 0;
294
+ max-height: 120px;
295
+ overflow-y: auto;
296
+ }
297
+
298
+ #message-input::placeholder {
299
+ color: #8a8d91;
300
  }
301
 
302
  .send-button {
303
+ background: transparent;
304
+ border: none;
305
+ color: #0084ff;
306
+ padding: 6px;
307
+ border-radius: 50%;
308
+ cursor: pointer;
309
+ display: flex;
310
+ align-items: center;
311
+ justify-content: center;
312
+ width: 32px;
313
+ height: 32px;
314
+ transition: opacity 0.2s ease;
315
+ margin-bottom: 2px;
316
+ }
317
 
318
+ .send-button:hover:not(:disabled) {
319
+ background: rgba(0, 132, 255, 0.1);
 
 
320
  }
321
 
322
+ .send-button:disabled {
323
+ opacity: 0.4;
324
+ cursor: not-allowed;
 
325
  }
326
 
327
  .loading-overlay {
 
330
  left: 0;
331
  width: 100%;
332
  height: 100%;
333
+ background: rgba(255, 255, 255, 0.9);
334
+ backdrop-filter: blur(4px);
335
+ display: none;
336
  align-items: center;
337
  justify-content: center;
338
  z-index: 1000;
339
  }
340
 
341
  .loading-spinner {
342
+ background: #ffffff;
343
+ padding: 24px;
344
+ border-radius: 12px;
 
345
  text-align: center;
346
+ box-shadow: 0 2px 12px rgba(0, 0, 0, 0.15);
347
  min-width: 200px;
 
348
  }
349
 
350
  .loading-spinner i {
351
+ font-size: 32px;
352
+ color: #0084ff;
353
+ margin-bottom: 12px;
354
  display: block;
355
  }
356
 
357
  .loading-spinner p {
358
+ color: #65676b;
359
+ font-size: 15px;
360
+ font-weight: 400;
361
  }
362
 
363
+ .status-bar {
364
+ background: #f0f2f5;
365
+ padding: 8px 16px;
366
+ border-top: 1px solid #e4e6eb;
367
  display: flex;
368
  justify-content: space-between;
369
  align-items: center;
370
+ font-size: 13px;
371
+ color: #65676b;
372
  }
373
 
374
  .status-bar #status-text {
375
+ font-weight: 400;
376
  }
377
 
378
  #model-status {
379
+ background: #e7f3ff;
380
+ color: #0064d2;
381
+ padding: 4px 12px;
 
 
 
 
 
 
 
382
  border-radius: 12px;
383
+ font-size: 12px;
384
+ font-weight: 500;
385
  }
386
 
387
+ .error-message {
388
+ margin: 16px;
 
389
  }
390
 
391
  .system-message .message-content {
392
+ background: #fff5f5;
393
+ border: 1px solid #ffdddd;
394
+ color: #d8000c;
395
+ padding: 12px;
396
+ border-radius: 8px;
397
+ max-width: 100%;
398
  }
399
 
400
  .system-message i {
401
+ color: #d8000c;
402
+ margin-right: 8px;
403
  }
404
 
405
+ /* Scrollbar Styling */
406
+ .messages-container::-webkit-scrollbar {
407
+ width: 8px;
408
+ }
 
 
 
 
409
 
410
+ .messages-container::-webkit-scrollbar-track {
411
+ background: transparent;
412
+ }
413
 
414
+ .messages-container::-webkit-scrollbar-thumb {
415
+ background: #bcc0c4;
416
+ border-radius: 4px;
417
+ }
418
 
419
+ .messages-container::-webkit-scrollbar-thumb:hover {
420
+ background: #8a8d91;
421
+ }
422
+
423
+ /* Responsive Design */
424
+ @media (max-width: 768px) {
425
+ .header-content {
426
+ padding: 12px;
427
  }
428
 
429
  .messages-container {
430
+ padding: 12px;
431
  }
432
 
433
+ .message-content {
434
+ max-width: 85%;
 
435
  }
436
 
437
+ .input-container {
438
+ padding: 8px 12px;
 
439
  }
440
 
441
  .status-bar {
 
442
  flex-direction: column;
443
+ gap: 4px;
444
  text-align: center;
445
+ padding: 8px;
 
 
 
446
  }
447
 
448
  #message-input {
 
451
  }
452
 
453
  @media (max-width: 480px) {
454
+ .header-info h1 {
455
+ font-size: 16px;
456
  }
457
 
458
+ .device-selector {
459
+ display: none;
 
 
 
 
 
 
 
 
 
 
 
460
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
461
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
462
  .message-content {
463
+ font-size: 14px;
464
+ padding: 8px 10px;
 
 
 
465
  }
 
466
 
467
+ .input-wrapper {
468
+ padding: 6px 6px 6px 12px;
 
 
 
 
 
 
 
 
469
  }
470
  }
471
 
472
+ /* Dark Mode Support */
473
+ @media (prefers-color-scheme: dark) {
474
  body {
475
+ background: #18191a;
476
+ color: #e4e6eb;
477
  }
478
 
479
  .app-container {
480
+ background: #18191a;
 
481
  }
482
 
483
  .header {
484
+ background: #242526;
485
+ border-bottom-color: #3a3b3c;
486
+ }
487
+
488
+ .header-info h1 {
489
+ color: #e4e6eb;
490
+ }
491
+
492
+ .chat-container,
493
+ .messages-container {
494
+ background: #18191a;
495
  }
496
 
497
  .assistant-message .message-content {
498
+ background: #3a3b3c;
499
+ color: #e4e6eb;
 
500
  }
501
 
502
  .user-message .message-content {
503
+ background: #0084ff;
504
+ color: #ffffff;
505
+ }
506
+
507
+ .input-container {
508
+ background: #242526;
509
+ border-top-color: #3a3b3c;
510
+ }
511
+
512
+ .input-wrapper {
513
+ background: #3a3b3c;
514
+ }
515
+
516
+ .input-wrapper:focus-within {
517
+ background: #4a4b4c;
518
+ }
519
+
520
+ .input-avatar {
521
+ background: #4a4b4c;
522
  }
523
 
524
  #message-input {
525
+ color: #e4e6eb;
 
 
526
  }
527
 
528
+ #message-input::placeholder {
529
+ color: #8a8d91;
 
530
  }
531
 
532
+ .device-selector select,
533
+ .btn-secondary {
534
+ background: #3a3b3c;
535
+ color: #e4e6eb;
536
+ }
537
+
538
+ .device-selector select:hover,
539
+ .btn-secondary:hover {
540
+ background: #4a4b4c;
541
+ }
542
+
543
+ code,
544
+ .math-equation {
545
+ background: #3a3b3c;
546
+ color: #e4e6eb;
547
  }
548
 
549
+ .math-equation {
550
+ color: #2d88ff;
551
+ }
552
+
553
+ .status-bar {
554
+ background: #242526;
555
+ border-top-color: #3a3b3c;
556
+ color: #b0b3b8;
557
+ }
558
 
559
+ #model-status {
560
+ background: #263951;
561
+ color: #2d88ff;
562
  }
563
 
564
+ .loading-overlay {
565
+ background: rgba(24, 25, 26, 0.9);
566
+ }
567
+
568
+ .loading-spinner {
569
+ background: #242526;
570
+ }
571
+ }
572
+
573
+ /* High contrast mode support */
574
+ @media (prefers-contrast: high) {
575
+ .message-content {
576
+ border: 1px solid currentColor;
577
+ }
578
+
579
+ .input-wrapper {
580
+ border: 1px solid currentColor;
581
+ }
582
+ }
583
+
584
+ /* Reduced motion support */
585
+ @media (prefers-reduced-motion: reduce) {
586
+ * {
587
+ animation-duration: 0.01ms !important;
588
+ animation-iteration-count: 1 !important;
589
+ transition-duration: 0.01ms !important;
590
  }
591
  }