Reality123b commited on
Commit
3dd016b
·
verified ·
1 Parent(s): e370985

Update application/static/css/style.css

Browse files
Files changed (1) hide show
  1. application/static/css/style.css +344 -390
application/static/css/style.css CHANGED
@@ -1,35 +1,39 @@
1
- /* Enhanced Base Styles & Variables */
2
  :root {
3
  --primary-color: #7710ee;
4
- --primary-gradient: linear-gradient(45deg, #7710ee, #b44dff);
5
- --primary-light: rgba(119, 16, 238, 0.15);
6
- --background-dark: #0a0a16;
7
- --background-light: #12121f;
8
  --text-primary: #e1e1e1;
9
- --text-secondary: #9ca3af;
10
  --surface-1: rgba(40, 40, 60, 0.6);
11
  --surface-2: rgba(50, 50, 70, 0.4);
12
  --surface-3: rgba(60, 60, 80, 0.4);
13
  --border-color: rgba(255, 255, 255, 0.07);
14
  --shadow-color: rgba(0, 0, 0, 0.2);
15
- --blur-strength: 20px;
16
- --transition-fast: 0.15s cubic-bezier(0.4, 0, 0.2, 1);
17
- --transition-standard: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
18
- --font-family: 'Plus Jakarta Sans', sans-serif;
19
  }
20
 
21
- /* Enhanced Scrollbar */
 
 
 
 
 
 
22
  ::-webkit-scrollbar {
23
- width: 6px;
24
  }
25
 
26
  ::-webkit-scrollbar-track {
27
- background: transparent;
 
28
  }
29
 
30
  ::-webkit-scrollbar-thumb {
31
  background: rgba(255, 255, 255, 0.1);
32
- border-radius: 3px;
 
33
  }
34
 
35
  ::-webkit-scrollbar-thumb:hover {
@@ -37,33 +41,29 @@
37
  }
38
 
39
  /* Base Layout */
40
- body {
41
- font-family: var(--font-family);
42
- background: radial-gradient(circle at top right, var(--background-light), var(--background-dark));
 
 
 
43
  color: var(--text-primary);
44
  line-height: 1.6;
45
- overflow: hidden;
46
  }
47
 
48
- /* Enhanced Navigation */
49
  .nav-container {
50
  position: fixed;
51
  top: 0;
52
  width: 100%;
53
  height: 60px;
54
- z-index: 1000;
55
- }
56
-
57
- .nav-blur {
58
- position: absolute;
59
- inset: 0;
60
  background: rgba(10, 10, 20, 0.7);
61
- backdrop-filter: blur(var(--blur-strength));
62
  border-bottom: 1px solid var(--border-color);
 
63
  }
64
 
65
  .nav-content {
66
- position: relative;
67
  max-width: 1400px;
68
  margin: 0 auto;
69
  height: 100%;
@@ -73,144 +73,191 @@ body {
73
  padding: 0 20px;
74
  }
75
 
76
- /* Enhanced Brand */
77
- .brand {
78
  display: flex;
79
  align-items: center;
80
- gap: 12px;
81
  }
82
 
83
- .brand-icon {
84
- position: relative;
85
- width: 32px;
86
- height: 32px;
87
- border-radius: 8px;
88
- background: var(--primary-gradient);
89
- overflow: hidden;
90
  }
91
 
92
- .brand-animate {
93
- position: absolute;
94
- inset: 0;
95
- background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.2), transparent);
96
- animation: shine 3s infinite;
 
 
97
  }
98
 
99
- /* Enhanced Message Bubbles */
100
- .message-group {
 
 
 
 
 
101
  display: flex;
102
- gap: 16px;
103
- margin-bottom: 24px;
104
- opacity: 0;
105
- transform: translateY(20px);
106
- animation: messageAppear 0.5s forwards;
107
  }
108
 
109
- .avatar {
110
- position: relative;
111
- width: 40px;
112
- height: 40px;
113
- flex-shrink: 0;
114
  }
115
 
116
- .avatar-img {
117
- width: 100%;
118
- height: 100%;
119
- border-radius: 12px;
120
- background: var(--primary-gradient);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
121
  display: flex;
122
- align-items: center;
123
- justify-content: center;
124
- font-weight: 600;
125
- font-size: 14px;
126
- color: white;
127
  }
128
 
129
- .avatar-status {
130
- position: absolute;
131
- bottom: -2px;
132
- right: -2px;
133
- width: 12px;
134
- height: 12px;
135
- border-radius: 50%;
136
- background: #10b981;
137
- border: 2px solid var(--background-dark);
138
  }
139
 
140
- .message {
141
- position: relative;
142
- max-width: 70%;
143
- padding: 16px;
144
- border-radius: 16px;
 
 
 
 
 
145
  background: var(--surface-1);
146
  border: 1px solid var(--border-color);
147
- backdrop-filter: blur(var(--blur-strength));
 
 
 
148
  }
149
 
150
- .ai-message {
151
- border-top-left-radius: 4px;
 
152
  }
153
 
154
- .user-message {
155
- border-top-right-radius: 4px;
156
- background: var(--surface-2);
 
157
  }
158
 
159
- .message-content {
160
- color: var(--text-primary);
161
- font-size: 15px;
162
- line-height: 1.6;
 
163
  }
164
 
165
- .message-actions {
166
- position: absolute;
167
- right: -60px;
168
- top: 50%;
169
- transform: translateY(-50%);
 
 
 
170
  display: flex;
171
  flex-direction: column;
172
  gap: 8px;
173
- opacity: 0;
 
 
 
 
 
 
 
 
174
  transition: var(--transition-standard);
175
  }
176
 
177
- .message:hover .message-actions {
178
- opacity: 1;
179
  }
180
 
181
- .action-btn {
182
- width: 32px;
183
- height: 32px;
184
- border-radius: 8px;
185
- background: var(--surface-2);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
186
  border: 1px solid var(--border-color);
187
- color: var(--text-secondary);
188
- cursor: pointer;
189
- transition: var(--transition-standard);
190
  }
191
 
192
- .action-btn:hover {
193
- background: var(--surface-3);
194
- color: var(--text-primary);
195
- transform: translateY(-2px);
 
 
 
 
196
  }
197
 
198
- /* Enhanced Input Area */
199
  .input-container {
200
- position: relative;
201
  margin-top: auto;
202
  padding: 20px;
203
  }
204
 
205
- .input-blur {
206
- position: absolute;
207
- inset: 0;
208
- background: rgba(10, 10, 20, 0.7);
209
- backdrop-filter: blur(var(--blur-strength));
210
- }
211
-
212
  .inputs {
213
- position: relative;
214
  display: flex;
215
  align-items: center;
216
  gap: 12px;
@@ -218,387 +265,294 @@ body {
218
  background: var(--surface-2);
219
  border: 1px solid var(--border-color);
220
  border-radius: 16px;
221
- }
222
-
223
- .text-box-container {
224
- position: relative;
225
- flex: 1;
226
- display: flex;
227
- align-items: center;
228
- }
229
-
230
  .text-box {
231
- width: 100%;
232
  background: none;
233
  border: none;
234
  outline: none;
235
  color: var(--text-primary);
236
- font-family: var(--font-family);
237
- font-size: 15px;
238
  line-height: 1.5;
239
  max-height: 200px;
240
  resize: none;
241
  padding: 8px;
242
  }
243
 
244
- .text-box-actions {
245
- display: flex;
246
- gap: 8px;
247
- padding-right: 8px;
248
- }
249
-
250
- /* Enhanced Animations */
251
- @keyframes messageAppear {
252
- to {
253
- opacity: 1;
254
- transform: translateY(0);
255
- }
256
- }
257
-
258
- @keyframes shine {
259
- from {
260
- transform: translateX(-100%);
261
- }
262
- to {
263
- transform: translateX(100%);
264
- }
265
  }
266
 
267
- @keyframes pulse {
268
- 0% {
269
- transform: scale(1);
270
- }
271
- 50% {
272
- transform: scale(1.05);
273
- }
274
- 100% {
275
- transform: scale(1);
276
- }
277
- }
278
- /* Enhanced Button Styles */
279
  .web-search,
280
  .send-btn {
281
- position: relative;
282
- width: 40px;
283
- height: 40px;
284
- border-radius: 12px;
285
- background: var(--surface-1);
286
- border: 1px solid var(--border-color);
287
  color: var(--text-secondary);
 
288
  cursor: pointer;
 
 
289
  transition: var(--transition-standard);
290
- overflow: hidden;
291
  }
292
 
293
  .web-search:hover,
294
  .send-btn:hover {
295
  color: var(--text-primary);
296
- transform: translateY(-2px);
297
  }
298
 
299
- .button-ripple {
300
- position: absolute;
301
- inset: 0;
302
- background: radial-gradient(circle, var(--primary-light) 0%, transparent 70%);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
303
  opacity: 0;
304
- transform: scale(0);
305
  transition: var(--transition-standard);
306
  }
307
 
308
- .web-search:hover .button-ripple,
309
- .send-btn:hover .button-ripple {
310
  opacity: 1;
311
- transform: scale(2);
312
  }
313
 
314
- /* Enhanced Typing Indicator */
315
- .typing-indicator {
316
- display: none;
317
- gap: 4px;
318
- padding: 8px 16px;
319
  background: var(--surface-1);
320
  border: 1px solid var(--border-color);
321
- border-radius: 20px;
322
- position: absolute;
323
- bottom: 100%;
324
- left: 76px;
325
- margin-bottom: 8px;
326
- }
327
-
328
- .typing-indicator.active {
329
- display: flex;
330
  }
331
 
332
- .typing-indicator span {
333
- width: 8px;
334
- height: 8px;
335
- background: var(--text-secondary);
336
- border-radius: 50%;
337
- animation: typing 1s infinite;
338
  }
339
 
340
- .typing-indicator span:nth-child(2) {
341
- animation-delay: 0.2s;
 
 
 
 
342
  }
343
 
344
- .typing-indicator span:nth-child(3) {
345
- animation-delay: 0.4s;
 
 
 
346
  }
347
 
348
- @keyframes typing {
349
- 0%, 100% {
350
- transform: translateY(0);
351
- }
352
- 50% {
353
- transform: translateY(-4px);
354
- }
 
 
 
355
  }
356
 
357
- /* Enhanced Model Selector */
358
- .model-selector {
359
- position: relative;
360
- width: 200px;
361
  }
362
 
363
- .models {
364
- width: 100%;
365
- padding: 10px 16px;
366
- background: var(--surface-1);
367
- border: 1px solid var(--border-color);
368
- border-radius: 12px;
369
- color: var(--text-primary);
370
- font-family: var(--font-family);
371
- font-size: 14px;
372
- cursor: pointer;
373
- transition: var(--transition-standard);
374
- appearance: none;
375
  }
376
 
377
- .model-indicator {
378
- position: absolute;
379
- right: 12px;
380
- top: 50%;
381
- transform: translateY(-50%);
382
- width: 8px;
383
- height: 8px;
384
- border-radius: 50%;
385
- background: #10b981;
386
- animation: pulse 2s infinite;
387
  }
388
 
389
- /* Enhanced Menu Items */
390
- .chat-item {
391
  display: flex;
 
392
  align-items: center;
393
- gap: 12px;
394
- padding: 12px;
 
 
395
  border-radius: 12px;
396
- cursor: pointer;
397
- transition: var(--transition-standard);
398
- border: 1px solid transparent;
399
  }
400
 
401
- .chat-item:hover {
402
- background: var(--surface-1);
403
- border-color: var(--border-color);
404
- transform: translateX(4px);
405
  }
406
 
407
- .chat-icon {
408
- width: 32px;
409
- height: 32px;
410
- border-radius: 8px;
411
- background: var(--surface-2);
412
- display: flex;
413
- align-items: center;
414
- justify-content: center;
415
- color: var(--text-secondary);
416
  }
417
 
418
- /* Code Block Styling */
419
- .code-block {
420
- position: relative;
421
- margin: 16px 0;
422
- background: var(--surface-1);
423
- border-radius: 12px;
424
- border: 1px solid var(--border-color);
425
- overflow: hidden;
426
  }
427
 
428
- .code-header {
429
  display: flex;
430
  justify-content: space-between;
431
  align-items: center;
432
- padding: 8px 16px;
433
- background: var(--surface-2);
434
  border-bottom: 1px solid var(--border-color);
435
  }
436
 
437
- .code-language {
438
- font-size: 13px;
439
- color: var(--text-secondary);
440
- }
441
-
442
- .code-copy {
443
- padding: 4px 8px;
444
- border-radius: 6px;
445
- background: var(--surface-3);
446
- border: none;
447
- color: var(--text-secondary);
448
  cursor: pointer;
449
  transition: var(--transition-standard);
450
  }
451
 
452
- .code-copy:hover {
453
- color: var(--text-primary);
454
- background: var(--surface-1);
455
- }
456
-
457
- .code-content {
458
- padding: 16px;
459
- overflow-x: auto;
460
  }
461
 
462
- /* Enhanced Modal Animations */
463
- .modal,
464
- .settings-modal {
465
- animation: modalFadeIn 0.3s forwards;
 
 
 
 
 
 
 
 
466
  }
467
 
468
- .modal-content,
469
- .settings-content {
470
- animation: modalSlideUp 0.3s forwards;
 
471
  }
472
 
473
- @keyframes modalFadeIn {
474
- from {
475
- opacity: 0;
476
- }
477
- to {
478
- opacity: 1;
479
  }
480
- }
481
 
482
- @keyframes modalSlideUp {
483
- from {
484
- opacity: 0;
485
- transform: translateY(20px);
486
  }
487
- to {
488
- opacity: 1;
489
- transform: translateY(0);
490
- }
491
- }
492
-
493
- /* Message Markdown Styling */
494
- .message-content pre {
495
- margin: 16px 0;
496
- white-space: pre-wrap;
497
- }
498
-
499
- .message-content p {
500
- margin-bottom: 12px;
501
- }
502
-
503
- .message-content a {
504
- color: var(--primary-color);
505
- text-decoration: none;
506
- border-bottom: 1px dashed currentColor;
507
- }
508
 
509
- .message-content img {
510
- max-width: 100%;
511
- border-radius: 8px;
512
- margin: 16px 0;
513
- }
514
 
515
- /* Responsive Enhancements */
516
- @media screen and (max-width: 768px) {
517
  .message {
518
- max-width: 85%;
519
  }
520
 
521
- .message-actions {
522
- position: relative;
523
- right: 0;
524
- top: 0;
525
- transform: none;
526
- flex-direction: row;
527
- justify-content: flex-end;
528
- margin-top: 8px;
529
  }
530
 
531
- .model-selector {
532
- width: 150px;
533
  }
534
 
535
- .brand-text {
536
- display: none;
537
  }
538
  }
539
 
540
- /* Dark Mode Transitions */
541
  .theme-transition {
542
- transition: background-color 0.5s ease,
543
- color 0.5s ease,
544
- border-color 0.5s ease;
 
545
  }
546
 
547
- /* Loading States */
548
- .loading {
549
- position: relative;
550
- overflow: hidden;
551
  }
552
 
553
- .loading::after {
554
- content: '';
555
- position: absolute;
556
- inset: 0;
557
- background: linear-gradient(90deg,
558
- transparent,
559
- rgba(255, 255, 255, 0.05),
560
- transparent
561
- );
562
- animation: loading 1.5s infinite;
563
  }
564
 
565
- @keyframes loading {
566
  from {
567
- transform: translateX(-100%);
568
  }
569
  to {
570
- transform: translateX(100%);
571
  }
572
  }
573
 
574
- /* Message Grouping */
575
- .message-group + .message-group {
576
- margin-top: 24px;
577
- }
578
-
579
- .message + .message {
580
- margin-top: 8px;
581
- }
582
-
583
- /* System Message Styling */
584
- .system-message {
585
- text-align: center;
586
- padding: 8px 16px;
587
- background: var(--surface-1);
588
- border-radius: 20px;
589
- font-size: 13px;
590
- color: var(--text-secondary);
591
- margin: 16px 0;
592
- animation: systemMessage 0.3s forwards;
593
- }
594
-
595
- @keyframes systemMessage {
596
  from {
 
597
  opacity: 0;
598
- transform: translateY(-10px);
599
  }
600
  to {
601
- opacity: 1;
602
  transform: translateY(0);
 
603
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
604
  }
 
1
+ /* Base Styles & Reset */
2
  :root {
3
  --primary-color: #7710ee;
4
+ --primary-light: rgba(119, 16, 238, 0.55);
5
+ --background-dark: rgb(2,2,8);
6
+ --background-light: rgb(5,5,20);
 
7
  --text-primary: #e1e1e1;
8
+ --text-secondary: #b4b4b4;
9
  --surface-1: rgba(40, 40, 60, 0.6);
10
  --surface-2: rgba(50, 50, 70, 0.4);
11
  --surface-3: rgba(60, 60, 80, 0.4);
12
  --border-color: rgba(255, 255, 255, 0.07);
13
  --shadow-color: rgba(0, 0, 0, 0.2);
14
+ --transition-standard: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
 
 
 
15
  }
16
 
17
+ * {
18
+ margin: 0;
19
+ padding: 0;
20
+ box-sizing: border-box;
21
+ }
22
+
23
+ /* Scrollbar Styling */
24
  ::-webkit-scrollbar {
25
+ width: 8px;
26
  }
27
 
28
  ::-webkit-scrollbar-track {
29
+ background: rgba(0, 0, 0, 0.2);
30
+ border-radius: 10px;
31
  }
32
 
33
  ::-webkit-scrollbar-thumb {
34
  background: rgba(255, 255, 255, 0.1);
35
+ border-radius: 10px;
36
+ border: 2px solid rgba(255, 255, 255, 0.05);
37
  }
38
 
39
  ::-webkit-scrollbar-thumb:hover {
 
41
  }
42
 
43
  /* Base Layout */
44
+ html, body {
45
+ height: 100vh;
46
+ width: 100vw;
47
+ overflow: hidden;
48
+ font-family: 'Inter', sans-serif;
49
+ background: linear-gradient(135deg, var(--background-dark) 0%, var(--background-light) 100%);
50
  color: var(--text-primary);
51
  line-height: 1.6;
 
52
  }
53
 
54
+ /* Navigation Styles */
55
  .nav-container {
56
  position: fixed;
57
  top: 0;
58
  width: 100%;
59
  height: 60px;
 
 
 
 
 
 
60
  background: rgba(10, 10, 20, 0.7);
61
+ backdrop-filter: blur(10px);
62
  border-bottom: 1px solid var(--border-color);
63
+ z-index: 1000;
64
  }
65
 
66
  .nav-content {
 
67
  max-width: 1400px;
68
  margin: 0 auto;
69
  height: 100%;
 
73
  padding: 0 20px;
74
  }
75
 
76
+ .nav-left, .nav-right {
 
77
  display: flex;
78
  align-items: center;
79
+ gap: 20px;
80
  }
81
 
82
+ .brand {
83
+ display: flex;
84
+ align-items: baseline;
85
+ gap: 8px;
 
 
 
86
  }
87
 
88
+ .brand-text {
89
+ font-family: 'Poppins', sans-serif;
90
+ font-weight: 600;
91
+ font-size: 1.25rem;
92
+ background: linear-gradient(45deg, #7710ee, #b44dff);
93
+ -webkit-background-clip: text;
94
+ -webkit-text-fill-color: transparent;
95
  }
96
 
97
+ .brand-version {
98
+ font-size: 0.75rem;
99
+ color: var(--text-secondary);
100
+ }
101
+
102
+ /* Hamburger Menu */
103
+ .hamburger {
104
  display: flex;
105
+ flex-direction: column;
106
+ gap: 6px;
107
+ cursor: pointer;
108
+ padding: 8px;
 
109
  }
110
 
111
+ .line1, .line2 {
112
+ height: 2px;
113
+ transition: var(--transition-standard);
 
 
114
  }
115
 
116
+ .line1 {
117
+ width: 24px;
118
+ background: linear-gradient(90deg, #7710ee, #b44dff);
119
+ }
120
+
121
+ .line2 {
122
+ width: 16px;
123
+ background: linear-gradient(90deg, #7710ee, #b44dff);
124
+ }
125
+
126
+ .hamburger:hover .line1 {
127
+ transform: translateX(-4px);
128
+ }
129
+
130
+ .hamburger:hover .line2 {
131
+ transform: translateX(4px);
132
+ }
133
+
134
+ /* Sidebar Menu */
135
+ .menu {
136
+ position: fixed;
137
+ top: 0;
138
+ left: 0;
139
+ height: 100vh;
140
+ width: 0;
141
+ background: rgba(20, 20, 30, 0.95);
142
+ backdrop-filter: blur(15px);
143
+ border-right: 1px solid var(--border-color);
144
+ transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
145
+ z-index: 900;
146
  display: flex;
147
+ flex-direction: column;
 
 
 
 
148
  }
149
 
150
+ .menu.open {
151
+ width: 300px;
 
 
 
 
 
 
 
152
  }
153
 
154
+ .menu-header {
155
+ padding: 80px 20px 20px;
156
+ border-bottom: 1px solid var(--border-color);
157
+ }
158
+
159
+ .new-chat {
160
+ display: flex;
161
+ align-items: center;
162
+ gap: 12px;
163
+ padding: 12px 16px;
164
  background: var(--surface-1);
165
  border: 1px solid var(--border-color);
166
+ border-radius: 8px;
167
+ color: var(--text-primary);
168
+ cursor: pointer;
169
+ transition: var(--transition-standard);
170
  }
171
 
172
+ .new-chat:hover {
173
+ background: var(--surface-2);
174
+ transform: translateY(-2px);
175
  }
176
 
177
+ .menu-content {
178
+ flex: 1;
179
+ overflow-y: auto;
180
+ padding: 20px;
181
  }
182
 
183
+ .chats-header {
184
+ display: flex;
185
+ justify-content: space-between;
186
+ align-items: center;
187
+ margin-bottom: 16px;
188
  }
189
 
190
+ .chats-title {
191
+ font-size: 0.875rem;
192
+ text-transform: uppercase;
193
+ letter-spacing: 0.05em;
194
+ color: var(--text-secondary);
195
+ }
196
+
197
+ .prev-chats-cont {
198
  display: flex;
199
  flex-direction: column;
200
  gap: 8px;
201
+ }
202
+
203
+ .chat-item {
204
+ display: flex;
205
+ align-items: center;
206
+ gap: 12px;
207
+ padding: 12px;
208
+ border-radius: 8px;
209
+ cursor: pointer;
210
  transition: var(--transition-standard);
211
  }
212
 
213
+ .chat-item:hover {
214
+ background: var(--surface-1);
215
  }
216
 
217
+ /* Main Container */
218
+ .container {
219
+ margin-top: 60px;
220
+ height: calc(100vh - 60px);
221
+ display: flex;
222
+ flex-direction: column;
223
+ padding: 20px;
224
+ }
225
+
226
+ .messages {
227
+ flex: 1;
228
+ overflow-y: auto;
229
+ padding: 20px;
230
+ display: flex;
231
+ flex-direction: column;
232
+ gap: 24px;
233
+ }
234
+
235
+ /* Message Styles */
236
+ .message {
237
+ max-width: 80%;
238
+ padding: 16px;
239
+ border-radius: 12px;
240
  border: 1px solid var(--border-color);
241
+ backdrop-filter: blur(10px);
 
 
242
  }
243
 
244
+ .user-message {
245
+ margin-left: auto;
246
+ background: var(--surface-2);
247
+ }
248
+
249
+ .ai-message {
250
+ margin-right: auto;
251
+ background: var(--surface-1);
252
  }
253
 
254
+ /* Input Area */
255
  .input-container {
 
256
  margin-top: auto;
257
  padding: 20px;
258
  }
259
 
 
 
 
 
 
 
 
260
  .inputs {
 
261
  display: flex;
262
  align-items: center;
263
  gap: 12px;
 
265
  background: var(--surface-2);
266
  border: 1px solid var(--border-color);
267
  border-radius: 16px;
268
+ backdrop-filter: blur(10px);
269
+ /* Input Area (continued) */
 
 
 
 
 
 
 
270
  .text-box {
271
+ flex: 1;
272
  background: none;
273
  border: none;
274
  outline: none;
275
  color: var(--text-primary);
276
+ font-family: 'Inter', sans-serif;
277
+ font-size: 1rem;
278
  line-height: 1.5;
279
  max-height: 200px;
280
  resize: none;
281
  padding: 8px;
282
  }
283
 
284
+ .text-box::placeholder {
285
+ color: var(--text-secondary);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
286
  }
287
 
 
 
 
 
 
 
 
 
 
 
 
 
288
  .web-search,
289
  .send-btn {
290
+ background: none;
291
+ border: none;
 
 
 
 
292
  color: var(--text-secondary);
293
+ font-size: 1.2rem;
294
  cursor: pointer;
295
+ padding: 8px;
296
+ border-radius: 8px;
297
  transition: var(--transition-standard);
 
298
  }
299
 
300
  .web-search:hover,
301
  .send-btn:hover {
302
  color: var(--text-primary);
303
+ background: var(--surface-1);
304
  }
305
 
306
+ .input-footer {
307
+ text-align: center;
308
+ margin-top: 8px;
309
+ }
310
+
311
+ .input-info {
312
+ font-size: 0.75rem;
313
+ color: var(--text-secondary);
314
+ }
315
+
316
+ /* Modal Styles */
317
+ .modal,
318
+ .settings-modal {
319
+ position: fixed;
320
+ top: 0;
321
+ left: 0;
322
+ width: 100vw;
323
+ height: 100vh;
324
+ background: rgba(0, 0, 0, 0.5);
325
+ backdrop-filter: blur(5px);
326
+ display: flex;
327
+ justify-content: center;
328
+ align-items: center;
329
+ z-index: 1100;
330
  opacity: 0;
331
+ visibility: hidden;
332
  transition: var(--transition-standard);
333
  }
334
 
335
+ .modal.show,
336
+ .settings-modal.show {
337
  opacity: 1;
338
+ visibility: visible;
339
  }
340
 
341
+ .modal-content,
342
+ .settings-content {
 
 
 
343
  background: var(--surface-1);
344
  border: 1px solid var(--border-color);
345
+ border-radius: 16px;
346
+ width: 90%;
347
+ max-width: 500px;
348
+ padding: 24px;
349
+ position: relative;
350
+ transform: translateY(20px);
351
+ transition: var(--transition-standard);
 
 
352
  }
353
 
354
+ .modal.show .modal-content,
355
+ .settings-modal.show .settings-content {
356
+ transform: translateY(0);
 
 
 
357
  }
358
 
359
+ .modal-header,
360
+ .settings-header {
361
+ display: flex;
362
+ justify-content: space-between;
363
+ align-items: center;
364
+ margin-bottom: 20px;
365
  }
366
 
367
+ .modal-header h2,
368
+ .settings-header h2 {
369
+ font-size: 1.5rem;
370
+ font-weight: 600;
371
+ color: var(--text-primary);
372
  }
373
 
374
+ .close-modal,
375
+ .close-settings {
376
+ background: none;
377
+ border: none;
378
+ color: var(--text-secondary);
379
+ font-size: 1.2rem;
380
+ cursor: pointer;
381
+ padding: 8px;
382
+ border-radius: 8px;
383
+ transition: var(--transition-standard);
384
  }
385
 
386
+ .close-modal:hover,
387
+ .close-settings:hover {
388
+ color: var(--text-primary);
389
+ background: var(--surface-2);
390
  }
391
 
392
+ .modal-body {
393
+ margin-bottom: 24px;
 
 
 
 
 
 
 
 
 
 
394
  }
395
 
396
+ .feature-list {
397
+ display: grid;
398
+ grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
399
+ gap: 16px;
400
+ margin-top: 20px;
 
 
 
 
 
401
  }
402
 
403
+ .feature-item {
 
404
  display: flex;
405
+ flex-direction: column;
406
  align-items: center;
407
+ gap: 8px;
408
+ padding: 16px;
409
+ background: var(--surface-2);
410
+ border: 1px solid var(--border-color);
411
  border-radius: 12px;
412
+ text-align: center;
 
 
413
  }
414
 
415
+ .feature-item i {
416
+ font-size: 1.5rem;
417
+ color: var(--primary-color);
 
418
  }
419
 
420
+ /* Settings Styles */
421
+ .settings-section {
422
+ margin-bottom: 24px;
 
 
 
 
 
 
423
  }
424
 
425
+ .settings-section h3 {
426
+ font-size: 1rem;
427
+ font-weight: 500;
428
+ color: var(--text-secondary);
429
+ margin-bottom: 16px;
 
 
 
430
  }
431
 
432
+ .setting-item {
433
  display: flex;
434
  justify-content: space-between;
435
  align-items: center;
436
+ padding: 12px 0;
 
437
  border-bottom: 1px solid var(--border-color);
438
  }
439
 
440
+ .theme-select,
441
+ .font-select {
442
+ background: var(--surface-2);
443
+ border: 1px solid var(--border-color);
444
+ border-radius: 8px;
445
+ color: var(--text-primary);
446
+ padding: 8px 12px;
 
 
 
 
447
  cursor: pointer;
448
  transition: var(--transition-standard);
449
  }
450
 
451
+ .theme-select:hover,
452
+ .font-select:hover {
453
+ background: var(--surface-3);
 
 
 
 
 
454
  }
455
 
456
+ /* Button Styles */
457
+ .start-btn,
458
+ .discord-btn {
459
+ width: 100%;
460
+ padding: 12px 24px;
461
+ background: linear-gradient(45deg, var(--primary-color), #b44dff);
462
+ border: none;
463
+ border-radius: 8px;
464
+ color: white;
465
+ font-weight: 500;
466
+ cursor: pointer;
467
+ transition: var(--transition-standard);
468
  }
469
 
470
+ .start-btn:hover,
471
+ .discord-btn:hover {
472
+ transform: translateY(-2px);
473
+ box-shadow: 0 4px 12px rgba(119, 16, 238, 0.3);
474
  }
475
 
476
+ /* Responsive Design */
477
+ @media screen and (max-width: 768px) {
478
+ .menu.open {
479
+ width: 100%;
 
 
480
  }
 
481
 
482
+ .container {
483
+ padding: 10px;
 
 
484
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
485
 
486
+ .messages {
487
+ padding: 10px;
488
+ }
 
 
489
 
 
 
490
  .message {
491
+ max-width: 90%;
492
  }
493
 
494
+ .input-container {
495
+ padding: 10px;
 
 
 
 
 
 
496
  }
497
 
498
+ .inputs {
499
+ padding: 8px 16px;
500
  }
501
 
502
+ .feature-list {
503
+ grid-template-columns: 1fr;
504
  }
505
  }
506
 
507
+ /* Dark/Light Theme Transitions */
508
  .theme-transition {
509
+ transition: background-color 0.3s ease,
510
+ color 0.3s ease,
511
+ border-color 0.3s ease,
512
+ box-shadow 0.3s ease;
513
  }
514
 
515
+ /* Animation Classes */
516
+ .fade-in {
517
+ animation: fadeIn 0.3s ease forwards;
 
518
  }
519
 
520
+ .slide-up {
521
+ animation: slideUp 0.3s ease forwards;
 
 
 
 
 
 
 
 
522
  }
523
 
524
+ @keyframes fadeIn {
525
  from {
526
+ opacity: 0;
527
  }
528
  to {
529
+ opacity: 1;
530
  }
531
  }
532
 
533
+ @keyframes slideUp {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
534
  from {
535
+ transform: translateY(20px);
536
  opacity: 0;
 
537
  }
538
  to {
 
539
  transform: translateY(0);
540
+ opacity: 1;
541
  }
542
+ }
543
+
544
+ /* Utility Classes */
545
+ .hidden {
546
+ display: none !important;
547
+ }
548
+
549
+ .disabled {
550
+ opacity: 0.5;
551
+ pointer-events: none;
552
+ }
553
+
554
+ .truncate {
555
+ white-space: nowrap;
556
+ overflow: hidden;
557
+ text-overflow: ellipsis;
558
  }