jawakja commited on
Commit
aca088e
·
verified ·
1 Parent(s): cf314af

Update style.css

Browse files
Files changed (1) hide show
  1. style.css +627 -18
style.css CHANGED
@@ -1,28 +1,637 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  body {
2
- padding: 2rem;
3
- font-family: -apple-system, BlinkMacSystemFont, "Arial", sans-serif;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  }
5
 
6
- h1 {
7
- font-size: 16px;
8
- margin-top: 0;
 
9
  }
10
 
11
- p {
12
- color: rgb(107, 114, 128);
13
- font-size: 15px;
14
- margin-bottom: 10px;
15
- margin-top: 5px;
16
  }
17
 
18
- .card {
19
- max-width: 620px;
20
- margin: 0 auto;
21
- padding: 16px;
22
- border: 1px solid lightgray;
23
- border-radius: 16px;
24
  }
25
 
26
- .card p:last-child {
27
- margin-bottom: 0;
 
 
 
 
28
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ :root {
2
+ --primary-color: #1a237e;
3
+ --primary-light: #534bae;
4
+ --primary-dark: #000051;
5
+ --secondary-color: #2962ff;
6
+ --accent-color: #00b0ff;
7
+ --background-color: #f5f5f5;
8
+ --chat-bg: #ffffff;
9
+ --text-color: #263238;
10
+ --text-light: #ffffff;
11
+ --message-user-bg: #2962ff;
12
+ --message-bot-bg: #f5f5f5;
13
+ --error-color: #ff1744;
14
+ --success-color: #00c853;
15
+ }
16
+
17
+ * {
18
+ margin: 0;
19
+ padding: 0;
20
+ box-sizing: border-box;
21
+ font-family: 'Poppins', sans-serif;
22
+ }
23
+
24
  body {
25
+ background-color: var(--background-color);
26
+ color: var(--text-color);
27
+ }
28
+
29
+ .container {
30
+ display: flex;
31
+ height: 100vh;
32
+ position: relative;
33
+ }
34
+
35
+ /* Sidebar Styles */
36
+ .sidebar {
37
+ width: 340px;
38
+ background: linear-gradient(135deg, var(--primary-color), var(--primary-dark));
39
+ color: var(--text-light);
40
+ padding: 24px;
41
+ display: flex;
42
+ flex-direction: column;
43
+ box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1);
44
+ height: 100vh;
45
+ position: fixed;
46
+ left: 0;
47
+ top: 0;
48
+ }
49
+
50
+ .sidebar-header {
51
+ text-align: center;
52
+ margin-bottom: 30px;
53
+ padding-bottom: 20px;
54
+ border-bottom: 1px solid rgba(255, 255, 255, 0.1);
55
+ }
56
+
57
+ .logo {
58
+ display: flex;
59
+ align-items: center;
60
+ justify-content: center;
61
+ gap: 10px;
62
+ margin-bottom: 8px;
63
+ }
64
+
65
+ .logo i {
66
+ font-size: 28px;
67
+ color: var(--accent-color);
68
+ }
69
+
70
+ .subtitle {
71
+ font-size: 14px;
72
+ opacity: 0.8;
73
+ }
74
+
75
+ .upload-section {
76
+ flex-grow: 1;
77
+ display: flex;
78
+ flex-direction: column;
79
+ gap: 24px;
80
+ }
81
+
82
+ .upload-section h3 {
83
+ display: flex;
84
+ align-items: center;
85
+ gap: 10px;
86
+ font-size: 18px;
87
+ margin-bottom: 15px;
88
+ }
89
+
90
+ .upload-box {
91
+ border: 2px dashed rgba(255, 255, 255, 0.3);
92
+ padding: 30px;
93
+ text-align: center;
94
+ border-radius: 12px;
95
+ cursor: pointer;
96
+ transition: all 0.3s ease;
97
+ background: rgba(255, 255, 255, 0.05);
98
+ }
99
+
100
+ .upload-box:hover {
101
+ border-color: var(--accent-color);
102
+ background: rgba(255, 255, 255, 0.1);
103
+ }
104
+
105
+ .upload-icon {
106
+ position: relative;
107
+ display: inline-block;
108
+ margin-bottom: 15px;
109
+ }
110
+
111
+ .upload-icon i {
112
+ font-size: 48px;
113
+ color: var(--accent-color);
114
+ z-index: 2;
115
+ position: relative;
116
+ }
117
+
118
+ .upload-pulse {
119
+ position: absolute;
120
+ top: 50%;
121
+ left: 50%;
122
+ transform: translate(-50%, -50%);
123
+ width: 70px;
124
+ height: 70px;
125
+ background: rgba(0, 176, 255, 0.2);
126
+ border-radius: 50%;
127
+ animation: pulse 2s infinite;
128
+ }
129
+
130
+ @keyframes pulse {
131
+ 0% {
132
+ transform: translate(-50%, -50%) scale(0.8);
133
+ opacity: 0.5;
134
+ }
135
+ 70% {
136
+ transform: translate(-50%, -50%) scale(1.1);
137
+ opacity: 0.2;
138
+ }
139
+ 100% {
140
+ transform: translate(-50%, -50%) scale(0.8);
141
+ opacity: 0.5;
142
+ }
143
+ }
144
+
145
+ .upload-text {
146
+ font-size: 16px;
147
+ margin-bottom: 8px;
148
+ }
149
+
150
+ .upload-divider {
151
+ font-size: 14px;
152
+ opacity: 0.7;
153
+ margin: 10px 0;
154
+ }
155
+
156
+ .upload-btn {
157
+ display: inline-flex;
158
+ align-items: center;
159
+ gap: 8px;
160
+ padding: 10px 20px;
161
+ background-color: var(--accent-color);
162
+ border-radius: 25px;
163
+ cursor: pointer;
164
+ transition: all 0.3s ease;
165
+ font-weight: 500;
166
+ }
167
+
168
+ .upload-btn:hover {
169
+ background-color: var(--secondary-color);
170
+ transform: translateY(-2px);
171
+ }
172
+
173
+ .file-list-container {
174
+ max-height: 200px;
175
+ overflow-y: auto;
176
+ background: rgba(255, 255, 255, 0.05);
177
+ border-radius: 8px;
178
+ padding: 10px;
179
+ }
180
+
181
+ .uploaded-files ul {
182
+ list-style: none;
183
+ }
184
+
185
+ .uploaded-files li {
186
+ display: flex;
187
+ align-items: center;
188
+ gap: 10px;
189
+ padding: 10px;
190
+ background: rgba(255, 255, 255, 0.1);
191
+ margin-bottom: 8px;
192
+ border-radius: 8px;
193
+ transition: all 0.3s ease;
194
+ }
195
+
196
+ .uploaded-files li:hover {
197
+ background: rgba(255, 255, 255, 0.15);
198
+ }
199
+
200
+ .uploaded-files li i.fa-times {
201
+ margin-left: auto;
202
+ cursor: pointer;
203
+ opacity: 0.7;
204
+ transition: all 0.3s ease;
205
+ }
206
+
207
+ .uploaded-files li i.fa-times:hover {
208
+ opacity: 1;
209
+ color: var(--error-color);
210
+ }
211
+
212
+ .sidebar-footer {
213
+ margin-top: 30px;
214
+ text-align: center;
215
+ padding-top: 20px;
216
+ border-top: 1px solid rgba(255, 255, 255, 0.1);
217
+ }
218
+
219
+ .tech-stack {
220
+ display: flex;
221
+ justify-content: center;
222
+ gap: 15px;
223
+ margin-top: 10px;
224
+ }
225
+
226
+ .tech-stack i {
227
+ font-size: 20px;
228
+ opacity: 0.7;
229
+ transition: all 0.3s ease;
230
+ }
231
+
232
+ .tech-stack i:hover {
233
+ opacity: 1;
234
+ color: var(--accent-color);
235
+ }
236
+
237
+ /* Main Content Styles */
238
+ .main-content {
239
+ margin-left: 340px;
240
+ width: calc(100% - 340px);
241
+ height: 100vh;
242
+ background-color: var(--chat-bg);
243
+ position: relative;
244
+ }
245
+
246
+ .chat-header {
247
+ padding: 20px 30px;
248
+ background: white;
249
+ box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
250
+ }
251
+
252
+ .header-content {
253
+ text-align: center;
254
+ }
255
+
256
+ .header-content h1 {
257
+ color: var(--primary-color);
258
+ display: flex;
259
+ align-items: center;
260
+ justify-content: center;
261
+ gap: 10px;
262
+ margin-bottom: 5px;
263
+ }
264
+
265
+ .header-content p {
266
+ color: var(--text-color);
267
+ opacity: 0.7;
268
+ }
269
+
270
+ .chat-container {
271
+ flex-grow: 1;
272
+ padding: 30px;
273
+ overflow-y: auto;
274
+ background: linear-gradient(135deg, #f5f5f5 0%, #ffffff 100%);
275
+ }
276
+
277
+ .welcome-message {
278
+ text-align: center;
279
+ margin: 20px auto;
280
+ max-width: 900px;
281
+ padding: 40px;
282
+ background: white;
283
+ border-radius: 20px;
284
+ box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
285
+ }
286
+
287
+ .welcome-header {
288
+ margin-bottom: 30px;
289
+ }
290
+
291
+ .welcome-header h1 {
292
+ font-size: 36px;
293
+ font-weight: 700;
294
+ color: var(--primary-color);
295
+ margin-bottom: 10px;
296
+ background: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
297
+ -webkit-background-clip: text;
298
+ -webkit-text-fill-color: transparent;
299
  }
300
 
301
+ .welcome-header p {
302
+ font-size: 18px;
303
+ color: var(--text-color);
304
+ opacity: 0.8;
305
  }
306
 
307
+ .welcome-icon {
308
+ font-size: 48px;
309
+ color: var(--accent-color);
310
+ margin: 30px 0;
 
311
  }
312
 
313
+ .feature-list {
314
+ display: grid;
315
+ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
316
+ gap: 25px;
317
+ margin-top: 30px;
 
318
  }
319
 
320
+ .feature {
321
+ background: linear-gradient(135deg, #f8f9fa, #ffffff);
322
+ padding: 25px;
323
+ border-radius: 15px;
324
+ transition: all 0.3s ease;
325
+ border: 1px solid rgba(0, 0, 0, 0.05);
326
  }
327
+
328
+ .feature:hover {
329
+ transform: translateY(-5px);
330
+ box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
331
+ border-color: var(--accent-color);
332
+ }
333
+
334
+ .feature i {
335
+ font-size: 28px;
336
+ color: var(--secondary-color);
337
+ margin-bottom: 15px;
338
+ }
339
+
340
+ .feature span {
341
+ display: block;
342
+ font-size: 18px;
343
+ font-weight: 600;
344
+ color: var(--primary-color);
345
+ margin-bottom: 10px;
346
+ }
347
+
348
+ .feature p {
349
+ font-size: 14px;
350
+ color: var(--text-color);
351
+ opacity: 0.7;
352
+ line-height: 1.4;
353
+ }
354
+
355
+ .chat-messages {
356
+ display: flex;
357
+ flex-grow: 1;
358
+ overflow-y: auto;
359
+ flex-direction: column;
360
+ gap: 20px;
361
+ }
362
+
363
+ .message {
364
+ max-width: 70%;
365
+ padding: 15px 20px;
366
+ border-radius: 15px;
367
+ position: relative;
368
+ animation: messageAppear 0.3s ease;
369
+ }
370
+
371
+ /* Message Animation */
372
+ @keyframes messageAppear {
373
+ from {
374
+ opacity: 0;
375
+ transform: translateY(10px);
376
+ }
377
+ to {
378
+ opacity: 1;
379
+ transform: translateY(0);
380
+ }
381
+ }
382
+
383
+ /* User and Bot Messages */
384
+ .message.user {
385
+ background-color: var(--message-user-bg);
386
+ color: white;
387
+ align-self: flex-end;
388
+ border-bottom-right-radius: 10px;
389
+ border-top-left-radius: 10px;
390
+ padding: 10px 15px;
391
+ max-width: 75%;
392
+ word-wrap: break-word;
393
+ white-space: pre-wrap; /* Ensures messages break into the next line */
394
+ animation: messageAppear 0.3s ease-out;
395
+ }
396
+
397
+ .message.bot {
398
+ background-color: var(--message-bot-bg);
399
+ color: var(--text-color);
400
+ align-self: flex-start;
401
+ border-bottom-left-radius: 10px;
402
+ border-top-right-radius: 10px;
403
+ padding: 10px 15px;
404
+ max-width: 75%;
405
+ word-wrap: break-word;
406
+ white-space: pre-wrap; /* Ensures messages break into the next line */
407
+ animation: messageAppear 0.3s ease-out;
408
+ }
409
+
410
+ /* Chat Input Container - Full Width */
411
+ .chat-input-container {
412
+ position: fixed;
413
+ bottom: 0; /* Extends fully to the left */
414
+ width: 80%; /* Full width till end of the page */
415
+ background: #fff;
416
+ padding: 12px 15px;
417
+ box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
418
+ display: flex;
419
+ align-items: center;
420
+ justify-content: center;
421
+ }
422
+
423
+ /* Input Box - Full Width */
424
+ .input-wrapper {
425
+ display: flex;
426
+ align-items: center;
427
+ width: 100%;
428
+ max-width: 1200px;
429
+ border: 1px solid #ccc;
430
+ border-radius: 25px;
431
+ background: var(--background-color);
432
+ padding: 5px;
433
+ box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
434
+ }
435
+
436
+ /* Input Field - Full Width, Text Align Left */
437
+ #userInput {
438
+ flex-grow: 1;
439
+ padding: 12px 15px;
440
+ border: none;
441
+ background: transparent;
442
+ outline: none;
443
+ font-size: 16px;
444
+ text-align: left;
445
+ resize: none; /* Prevents manual resizing by user */
446
+ overflow-y: auto; /* Enables vertical scrolling */
447
+ min-height: 20px; /* Minimum height */
448
+ max-height: 150px; /* Limits expansion */
449
+ line-height: 1.5; /* Better readability */
450
+ }
451
+
452
+
453
+ /* Send Button - Aligned to the Right */
454
+ #sendButton {
455
+ background: #007bff;
456
+ color: white;
457
+ border: none;
458
+ padding: 12px 15px;
459
+ cursor: pointer;
460
+ border-radius: 50%;
461
+ transition: 0.3s ease-in-out;
462
+ display: flex;
463
+ align-items: center;
464
+ justify-content: center;
465
+ }
466
+
467
+ #sendButton:hover {
468
+ background-color: var(--primary-light);
469
+ transform: scale(1.1);
470
+ }
471
+
472
+
473
+ /* Loading Animation */
474
+ .loading {
475
+ display: flex;
476
+ gap: 8px;
477
+ padding: 15px 20px;
478
+ background: var(--message-bot-bg);
479
+ border-radius: 15px;
480
+ align-self: flex-start;
481
+ }
482
+
483
+ .loading span {
484
+ width: 10px;
485
+ height: 10px;
486
+ background-color: var(--secondary-color);
487
+ border-radius: 50%;
488
+ animation: bounce 0.5s alternate infinite;
489
+ }
490
+
491
+ .loading span:nth-child(2) { animation-delay: 0.16s; }
492
+ .loading span:nth-child(3) { animation-delay: 0.32s; }
493
+
494
+ @keyframes bounce {
495
+ from { transform: translateY(0); }
496
+ to { transform: translateY(-10px); }
497
+ }
498
+
499
+ /* Scrollbar Styling */
500
+ ::-webkit-scrollbar {
501
+ width: 8px;
502
+ }
503
+
504
+ ::-webkit-scrollbar-track {
505
+ background: rgba(0, 0, 0, 0.05);
506
+ border-radius: 4px;
507
+ }
508
+
509
+ ::-webkit-scrollbar-thumb {
510
+ background: rgba(0, 0, 0, 0.2);
511
+ border-radius: 4px;
512
+ }
513
+
514
+ ::-webkit-scrollbar-thumb:hover {
515
+ background: rgba(0, 0, 0, 0.3);
516
+ }
517
+
518
+ /* Main Header Styles */
519
+ .main-header {
520
+ position: fixed;
521
+ top: 0;
522
+ left: 0;
523
+ right: 0;
524
+ height: 80px;
525
+ background: linear-gradient(135deg, var(--primary-color), var(--primary-dark));
526
+ color: var(--text-light);
527
+ display: flex;
528
+ align-items: center;
529
+ justify-content: space-between;
530
+ padding: 0 40px;
531
+ box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
532
+ z-index: 1000;
533
+ }
534
+
535
+ .header-left, .header-right {
536
+ flex: 1;
537
+ }
538
+
539
+ .header-left .logo {
540
+ display: flex;
541
+ align-items: center;
542
+ gap: 10px;
543
+ }
544
+
545
+ .header-left .logo i {
546
+ font-size: 24px;
547
+ color: var(--accent-color);
548
+ }
549
+
550
+ .header-left .logo span {
551
+ font-size: 20px;
552
+ font-weight: 600;
553
+ }
554
+
555
+ .header-center {
556
+ text-align: center;
557
+ }
558
+
559
+ .header-center h1 {
560
+ font-size: 32px;
561
+ font-weight: 600;
562
+ margin-bottom: 6px;
563
+ background: linear-gradient(to right, #ffffff, #e3f2fd);
564
+ -webkit-background-clip: text;
565
+ -webkit-text-fill-color: transparent;
566
+ text-shadow: 0 2px 4px rgba(0,0,0,0.1);
567
+ }
568
+
569
+ .header-center p {
570
+ font-size: 16px;
571
+ opacity: 0.9;
572
+ }
573
+
574
+ .header-right {
575
+ display: flex;
576
+ justify-content: flex-end;
577
+ }
578
+
579
+ .header-actions {
580
+ display: flex;
581
+ justify-content: center;
582
+ gap: 15px;
583
+ margin-top: 15px;
584
+ }
585
+
586
+ .theme-toggle, .help-button {
587
+ background: rgba(255, 255, 255, 0.1);
588
+ border: none;
589
+ color: var(--text-light);
590
+ font-size: 18px;
591
+ cursor: pointer;
592
+ padding: 8px;
593
+ border-radius: 50%;
594
+ transition: all 0.3s ease;
595
+ width: 35px;
596
+ height: 35px;
597
+ display: flex;
598
+ align-items: center;
599
+ justify-content: center;
600
+ }
601
+
602
+ .theme-toggle:hover, .help-button:hover {
603
+ background: rgba(255, 255, 255, 0.2);
604
+ transform: translateY(-2px);
605
+ }
606
+
607
+ /* Add responsive styles */
608
+ @media (max-width: 1024px) {
609
+ .feature-list {
610
+ grid-template-columns: repeat(2, 1fr);
611
+ }
612
+ }
613
+
614
+ @media (max-width: 768px) {
615
+ .sidebar {
616
+ width: 280px;
617
+ }
618
+
619
+ .main-content {
620
+ margin-left: 280px;
621
+ width: calc(100% - 280px);
622
+ }
623
+
624
+ .welcome-header h1 {
625
+ font-size: 28px;
626
+ }
627
+
628
+ .feature-list {
629
+ grid-template-columns: 1fr;
630
+ }
631
+ }
632
+
633
+ @media (max-width: 480px) {
634
+ .header-center h1 {
635
+ font-size: 20px;
636
+ }
637
+ }