ParthSadaria commited on
Commit
5522363
·
verified ·
1 Parent(s): 50858ad

Create style.css

Browse files
Files changed (1) hide show
  1. style.css +724 -0
style.css ADDED
@@ -0,0 +1,724 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ :root {
2
+ /* True Black Theme */
3
+ --bg-color: #000000; /* Pure Black */
4
+ --container-bg: #0a0a0a; /* Extremely dark grey */
5
+ --input-bg: #000000; /* Pure Black */
6
+ --user-msg-bg: #1a1a1a; /* Very dark grey for user */
7
+ --assistant-msg-bg: #101010; /* Even darker grey for AI */
8
+ --text-color: #ffffff; /* Slightly lighter grey/off-white text */
9
+ --text-color-darker: #ffffff; /* For less important text */
10
+ --placeholder-color: #404040; /* Darker placeholder text */
11
+ --border-color: #202020; /* Even darker grey border */
12
+ --accent-color-hover: #282828; /* Darker hover for buttons */
13
+ --focus-ring-color: rgba(150, 150, 150, 0.2); /* Even more subtle white focus */
14
+ --error-bg: #1a1a1a; /* Darker grey error background */
15
+ --success-feedback-color: #ffffff; /* White feedback for copy */
16
+ --code-bg: #050505; /* Near black background for code blocks */
17
+ --code-text-color: #c0c0c0; /* Lighter text for code */
18
+
19
+ --border-radius-smooth: 8px; /* Slightly reduced radius */
20
+ --border-radius-slight: 4px;
21
+ --font-family: 'DM Sans', sans-serif;
22
+ --transition-speed: 0.15s; /* Slightly faster transitions */
23
+ }
24
+
25
+
26
+ @import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap');
27
+
28
+ * { box-sizing: border-box; margin: 0; padding: 0; font-family: 'DM Sans', sans-serif; }
29
+ html, body { height: 100%; overflow: hidden; background-color: var(--bg-color); }
30
+
31
+ /* Blob styling */
32
+ .blob {
33
+ position: absolute;
34
+ width: 40vw;
35
+ height: 40vw;
36
+ z-index: 0;
37
+ pointer-events: none;
38
+ }
39
+
40
+ /* Main Container */
41
+ body {
42
+ display: flex;
43
+ justify-content: center;
44
+ align-items: center;
45
+ color: var(--text-color);
46
+ position: relative;
47
+ }
48
+
49
+ /* Intro Screen Animation */#intro-screen {
50
+ position: fixed;
51
+ top: 0;
52
+ left: 0;
53
+ width: 100%;
54
+ height: 100vh;
55
+ background: radial-gradient(ellipse at center, #1a1a1a 0%, #080808 100%); /* Subtler gradient */
56
+ color: #e0e0e0; /* Softer white */
57
+ display: flex;
58
+ justify-content: center;
59
+ align-items: center;
60
+ font-size: 3.2rem; /* Tiny bit bigger */
61
+ z-index: 9999;
62
+ text-shadow: 0 0 10px rgba(255, 255, 255, 0.8), 0 0 25px rgba(255, 255, 255, 0.4); /* Refined glow */
63
+ letter-spacing: 3px; /* More dramatic */
64
+ transition: opacity 0.6s ease-out, filter 1.2s cubic-bezier(0.175, 0.885, 0.32, 1.275), transform 1.2s cubic-bezier(0.175, 0.885, 0.32, 1.275); /* Smoother, snappier */
65
+ overflow: hidden; /* To contain the pseudo-element animation */
66
+ }
67
+
68
+ #intro-screen h1 {
69
+ position: relative;
70
+ margin: 0;
71
+ padding-bottom: 15px; /* Space for the fancy underline */
72
+ }
73
+
74
+ #intro-screen h1::after {
75
+ content: "";
76
+ position: absolute;
77
+ bottom: 0; /* Moved down */
78
+ left: 15%; /* Starts a bit in */
79
+ width: 70%; /* Wider, more prominent */
80
+ height: 2px; /* Thicker line */
81
+ background: linear-gradient(90deg, rgba(255, 255, 255, 0.1), #ffffff 30%, rgba(255, 255, 255, 0.1)); /* More defined gradient */
82
+ opacity: 0; /* Initially hidden */
83
+ transform: scaleX(0); /* Starts scaled down */
84
+ transition: opacity 0.4s ease-in-out 0.4s, transform 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55) 0.4s; /* Fancy reveal */
85
+ }
86
+
87
+ /* Chat Container */
88
+ .chat-container {
89
+ background-color: var(--container-bg);
90
+ width: 90%;
91
+ height: 90%;
92
+ display: flex;
93
+ flex-direction: column;
94
+ overflow: hidden;
95
+ border-radius: 16px;
96
+ transition: all var(--transition-speed) ease;
97
+ box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25);
98
+ box-shadow: 0px 0px 100px rgba(255, 255, 255,0.1);
99
+ position: relative;
100
+ z-index: 10;
101
+ border: 1px solid var(--border-color);
102
+ }
103
+
104
+ /* Header Styling */
105
+ .chat-header {
106
+ background-color: var(--input-bg);
107
+ padding: 10px 25px;
108
+ border-bottom: 1px solid var(--border-color);
109
+ flex-shrink: 0;
110
+ transition: background-color var(--transition-speed) ease, border-color var(--transition-speed) ease;
111
+ z-index: 10;
112
+ }
113
+
114
+ .header-top-row {
115
+ display: flex;
116
+ justify-content: space-between;
117
+ align-items: center;
118
+ margin-bottom: 8px;
119
+ }
120
+
121
+ .chat-header h1 {
122
+ font-size: 1.1em;
123
+ font-weight: 500;
124
+ margin: 0;
125
+ }
126
+
127
+ .header-button {
128
+ background: none;
129
+ border: none;
130
+ color: var(--text-color-darker);
131
+ cursor: pointer;
132
+ padding: 5px;
133
+ border-radius: var(--border-radius-slight);
134
+ transition: color var(--transition-speed) ease, background-color var(--transition-speed) ease;
135
+ }
136
+
137
+ .header-button:hover {
138
+ color: var(--text-color);
139
+ background-color: var(--accent-color-hover);
140
+ }
141
+
142
+ .header-bottom-row {
143
+ display: flex;
144
+ align-items: center;
145
+ gap: 8px;
146
+ }
147
+
148
+ .header-bottom-row label {
149
+ font-size: 0.85em;
150
+ color: var(--text-color-darker);
151
+ }
152
+
153
+ .model-select {
154
+ flex-grow: 1;
155
+ background-color: var(--container-bg);
156
+ color: var(--text-color);
157
+ border: 1px solid var(--border-color);
158
+ border-radius: var(--border-radius-slight);
159
+ padding: 5px 8px;
160
+ font-size: 0.85em;
161
+ cursor: pointer;
162
+ transition: border-color var(--transition-speed) ease, background-color var(--transition-speed) ease;
163
+ }
164
+
165
+ .model-select:focus {
166
+ outline: none;
167
+ border-color: var(--text-color-darker);
168
+ background-color: var(--bg-color);
169
+ }
170
+
171
+ /* Chat Box */
172
+ .chat-box {
173
+ flex-grow: 1;
174
+ overflow-y: auto;
175
+ padding: 25px;
176
+ display: flex;
177
+ flex-direction: column;
178
+ gap: 20px;
179
+ }
180
+
181
+ /* Custom Scrollbar */
182
+ .chat-box::-webkit-scrollbar { width: 8px; }
183
+ .chat-box::-webkit-scrollbar-track { background: var(--container-bg); }
184
+ .chat-box::-webkit-scrollbar-thumb {
185
+ background-color: var(--input-bg);
186
+ border-radius: 4px;
187
+ border: 2px solid var(--container-bg);
188
+ }
189
+ .chat-box::-webkit-scrollbar-thumb:hover {
190
+ background-color: var(--accent-color-hover);
191
+ }
192
+
193
+ /* Message Styling */
194
+ .message {
195
+ padding: 14px 20px;
196
+ border-radius: var(--border-radius-smooth);
197
+ max-width: 85%;
198
+ word-wrap: break-word;
199
+ line-height: 1.6;
200
+ position: relative;
201
+ transition: background-color var(--transition-speed) ease;
202
+ }
203
+
204
+ .message-content { padding-right: 30px; }
205
+
206
+ .user-message {
207
+ background-color: var(--user-msg-bg);
208
+ color: var(--text-color);
209
+ align-self: flex-end;
210
+ border-bottom-right-radius: var(--border-radius-slight);
211
+ }
212
+
213
+ .assistant-message {
214
+ background-color: var(--assistant-msg-bg);
215
+ color: var(--text-color);
216
+ align-self: flex-start;
217
+ border-bottom-left-radius: var(--border-radius-slight);
218
+ }
219
+
220
+ /* Copy Button */
221
+ .copy-button {
222
+ position: absolute;
223
+ top: 8px;
224
+ right: 8px;
225
+ background-color: rgba(255, 255, 255, 0.05);
226
+ color: var(--text-color-darker);
227
+ border: none;
228
+ border-radius: 4px;
229
+ padding: 3px 5px;
230
+ cursor: pointer;
231
+ opacity: 0;
232
+ transition: opacity var(--transition-speed) ease, background-color var(--transition-speed) ease, color var(--transition-speed) ease;
233
+ display: flex;
234
+ align-items: center;
235
+ justify-content: center;
236
+ z-index: 2;
237
+ }
238
+
239
+ .message:hover .copy-button { opacity: 1; }
240
+ .copy-button:hover {
241
+ background-color: rgba(255, 255, 255, 0.1);
242
+ color: var(--text-color);
243
+ }
244
+ .copy-button.copied svg path { fill: var(--success-feedback-color); }
245
+ .copy-button.copied { background-color: rgba(255, 255, 255, 0.08); }
246
+
247
+ /* Animation for text appearing */
248
+ .unblur-token {
249
+ display: inline;
250
+ opacity: 0;
251
+ filter: blur(5px);
252
+ transform: translateY(5px);
253
+ animation: unblurFadeSlide 0.3s ease forwards;
254
+ }
255
+
256
+ /* Keep block elements as block */
257
+ p.unblur-token, h1.unblur-token, h2.unblur-token, h3.unblur-token,
258
+ div.unblur-token, pre.unblur-token, blockquote.unblur-token,
259
+ ul.unblur-token, ol.unblur-token, li.unblur-token {
260
+ display: block;
261
+ }
262
+
263
+ /* Ensure code elements don't break the flow */
264
+ code.unblur-token:not(pre code) {
265
+ display: inline;
266
+ }
267
+
268
+ @keyframes unblurFadeSlide {
269
+ 0% {
270
+ opacity: 0;
271
+ filter: blur(5px);
272
+ transform: translateY(5px);
273
+ }
274
+ 100% {
275
+ opacity: 1;
276
+ filter: blur(0);
277
+ transform: translateY(0);
278
+ }
279
+ }
280
+
281
+ /* Markdown Content Styling */
282
+ .message p { margin-bottom: 0.8em; }
283
+ .message p:last-child { margin-bottom: 0; }
284
+ .message a { color: var(--text-color); text-decoration: underline; }
285
+ .message a:hover { color: var(--text-color-darker); }
286
+ .message ul, .message ol { margin-left: 1.5em; margin-bottom: 0.8em; }
287
+ .message li { margin-bottom: 0.3em; }
288
+ .message h1, .message h2, .message h3, .message h4, .message h5, .message h6 {
289
+ margin-top: 1em;
290
+ margin-bottom: 0.5em;
291
+ font-weight: 600;
292
+ line-height: 1.3;
293
+ border-bottom: 1px solid var(--border-color);
294
+ padding-bottom: 0.2em;
295
+ }
296
+ .message h1 { font-size: 1.4em; }
297
+ .message h2 { font-size: 1.3em; }
298
+ .message h3 { font-size: 1.2em; }
299
+ .message strong { font-weight: 600; }
300
+ .message blockquote {
301
+ border-left: 3px solid var(--border-color);
302
+ margin-left: 0;
303
+ padding-left: 1em;
304
+ color: var(--text-color-darker);
305
+ font-style: italic;
306
+ margin-bottom: 0.8em;
307
+ }
308
+ .message hr {
309
+ border: none;
310
+ border-top: 1px solid var(--border-color);
311
+ margin: 1.5em 0;
312
+ }
313
+
314
+ /* Code Styling */
315
+ .message code:not(pre code) {
316
+ background-color: var(--input-bg);
317
+ color: var(--code-text-color);
318
+ padding: 0.2em 0.4em;
319
+ border-radius: var(--border-radius-slight);
320
+ font-size: 0.9em;
321
+ font-family: monospace;
322
+ }
323
+
324
+ .message pre {
325
+ background-color: var(--code-bg);
326
+ padding: 1em;
327
+ border-radius: var(--border-radius-slight);
328
+ overflow-x: auto;
329
+ margin: 0.5em 0 1em 0;
330
+ font-family: monospace;
331
+ font-size: 0.9em;
332
+ line-height: 1.5;
333
+ position: relative;
334
+ border: 1px solid var(--border-color);
335
+ }
336
+
337
+ .message pre code.hljs {
338
+ display: block;
339
+ overflow-x: auto;
340
+ padding: 0;
341
+ background: transparent;
342
+ color: inherit;
343
+ font-size: inherit;
344
+ }
345
+
346
+ /* Copy Code Button */
347
+ .copy-code-button {
348
+ position: absolute;
349
+ top: 8px;
350
+ right: 8px;
351
+ background-color: var(--input-bg);
352
+ color: var(--text-color-darker);
353
+ border: 1px solid var(--border-color);
354
+ border-radius: var(--border-radius-slight);
355
+ padding: 4px 8px;
356
+ cursor: pointer;
357
+ font-size: 0.8em;
358
+ opacity: 0.3;
359
+ transition: opacity var(--transition-speed) ease, background-color var(--transition-speed) ease, color var(--transition-speed) ease;
360
+ display: flex;
361
+ align-items: center;
362
+ gap: 4px;
363
+ z-index: 5;
364
+ }
365
+
366
+ .message pre:hover .copy-code-button { opacity: 1; }
367
+ .copy-code-button:hover {
368
+ background-color: var(--accent-color-hover);
369
+ color: var(--text-color);
370
+ }
371
+ .copy-code-button svg { width: 12px; height: 12px; }
372
+ .copy-code-button.copied span { display: none; }
373
+ .copy-code-button.copied::after { content: 'Copied!'; font-weight: 500; }
374
+ .copy-code-button.copied {
375
+ color: var(--success-feedback-color);
376
+ background-color: var(--accent-color-hover);
377
+ }
378
+
379
+ /* Input Area */
380
+ .input-area {
381
+ display: flex;
382
+ padding: 15px 25px;
383
+ border-top: 1px solid var(--border-color);
384
+ background-color: var(--input-bg);
385
+ flex-shrink: 0;
386
+ gap: 10px;
387
+ align-items: flex-end;
388
+ transition: background-color var(--transition-speed) ease, border-color var(--transition-speed) ease;
389
+ }
390
+
391
+ #user-input {
392
+ flex-grow: 1;
393
+ background-color: var(--container-bg);
394
+ color: var(--text-color);
395
+ border: 1px solid var(--border-color);
396
+ border-radius: var(--border-radius-slight);
397
+ padding: 12px 15px;
398
+ font-family: var(--font-family);
399
+ font-size: 1em;
400
+ resize: none;
401
+ overflow-y: auto;
402
+ max-height: 120px;
403
+ line-height: 1.4;
404
+ transition: border-color var(--transition-speed) ease, box-shadow var(--transition-speed) ease, background-color var(--transition-speed) ease;
405
+ }
406
+
407
+ #user-input:focus {
408
+ outline: none;
409
+ border-color: var(--text-color-darker);
410
+ box-shadow: 0 0 0 2px var(--focus-ring-color);
411
+ }
412
+
413
+ #user-input::placeholder { color: var(--placeholder-color); }
414
+
415
+ /* Control Buttons */
416
+ .control-button {
417
+ background-color: var(--input-bg);
418
+ color: var(--text-color-darker);
419
+ border: 1px solid var(--border-color);
420
+ border-radius: var(--border-radius-slight);
421
+ padding: 10px;
422
+ cursor: pointer;
423
+ display: flex;
424
+ justify-content: center;
425
+ align-items: center;
426
+ transition: background-color var(--transition-speed) ease, transform 0.1s ease, border-color var(--transition-speed) ease, color var(--transition-speed) ease;
427
+ height: 46px;
428
+ width: 46px;
429
+ flex-shrink: 0;
430
+ position: relative;
431
+ overflow: hidden;
432
+ }
433
+
434
+ .control-button:hover:not(:disabled) {
435
+ background-color: var(--accent-color-hover);
436
+ border-color: var(--accent-color-hover);
437
+ color: var(--text-color);
438
+ }
439
+
440
+ .control-button:active:not(:disabled) { transform: scale(0.95); }
441
+ .control-button:disabled {
442
+ background-color: var(--container-bg);
443
+ color: #555;
444
+ border-color: var(--border-color);
445
+ cursor: not-allowed;
446
+ }
447
+
448
+ .send-button .send-icon { transition: opacity var(--transition-speed) ease; }
449
+ .send-button .button-spinner {
450
+ position: absolute;
451
+ top: 50%;
452
+ left: 50%;
453
+ transform: translate(-50%, -50%);
454
+ width: 20px;
455
+ height: 20px;
456
+ }
457
+
458
+ .stop-button { color: var(--error-bg); }
459
+ .stop-button:hover:not(:disabled) {
460
+ background-color: #dc3545;
461
+ color: white;
462
+ border-color: #dc3545;
463
+ }
464
+
465
+ /* Spinner */
466
+ .spinner {
467
+ display: inline-block;
468
+ width: 1em;
469
+ height: 1em;
470
+ border: 2px solid currentColor;
471
+ border-right-color: transparent;
472
+ border-radius: 50%;
473
+ animation: spinner-border .75s linear infinite;
474
+ vertical-align: middle;
475
+ }
476
+
477
+ .button-spinner {
478
+ width: 20px;
479
+ height: 20px;
480
+ border-width: 3px;
481
+ color: var(--text-color);
482
+ }
483
+
484
+ @keyframes spinner-border { to { transform: rotate(360deg); } }
485
+
486
+ /* Error Message */
487
+ .error-message {
488
+ background-color: var(--error-bg);
489
+ color: #ffcccc;
490
+ border: 1px solid #600;
491
+ }
492
+
493
+ .error-message .copy-button {
494
+ background-color: rgba(255, 100, 100, 0.1);
495
+ color: #ffcccc;
496
+ }
497
+
498
+ .error-message .copy-button:hover {
499
+ background-color: rgba(255, 100, 100, 0.2);
500
+ color: #ffe0e0;
501
+ }
502
+
503
+ /* Modal Styling */
504
+ .modal-overlay {
505
+ position: fixed;
506
+ inset: 0;
507
+ background-color: rgba(0, 0, 0, 0.8);
508
+ display: flex;
509
+ justify-content: center;
510
+ align-items: center;
511
+ z-index: 1000;
512
+ opacity: 0;
513
+ transition: opacity var(--transition-speed) ease;
514
+ }
515
+
516
+ .modal-overlay.visible { opacity: 1; }
517
+
518
+ .modal-content {
519
+ background-color: var(--input-bg);
520
+ padding: 25px 30px;
521
+ border-radius: var(--border-radius-smooth);
522
+ box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
523
+ width: 90%;
524
+ max-width: 400px;
525
+ text-align: center;
526
+ transform: scale(0.95);
527
+ transition: transform var(--transition-speed) ease;
528
+ border: 1px solid var(--border-color);
529
+ }
530
+
531
+ .modal-overlay.visible .modal-content { transform: scale(1); }
532
+
533
+ .modal-content h4 {
534
+ margin-bottom: 10px;
535
+ font-size: 1.2em;
536
+ font-weight: 500;
537
+ }
538
+
539
+ .modal-content p {
540
+ margin-bottom: 20px;
541
+ color: var(--text-color-darker);
542
+ font-size: 0.95em;
543
+ line-height: 1.5;
544
+ }
545
+
546
+ .modal-buttons {
547
+ display: flex;
548
+ justify-content: center;
549
+ gap: 15px;
550
+ }
551
+
552
+ .modal-button {
553
+ padding: 10px 20px;
554
+ border-radius: var(--border-radius-slight);
555
+ border: 1px solid var(--border-color);
556
+ cursor: pointer;
557
+ font-weight: 500;
558
+ transition: background-color var(--transition-speed) ease, transform 0.1s ease;
559
+ }
560
+
561
+ .modal-button.confirm {
562
+ background-color: #b00;
563
+ color: white;
564
+ border-color: #800;
565
+ }
566
+
567
+ .modal-button.confirm:hover { background-color: #d00; }
568
+
569
+ .modal-button.cancel {
570
+ background-color: var(--assistant-msg-bg);
571
+ color: var(--text-color);
572
+ }
573
+
574
+ .modal-button.cancel:hover { background-color: var(--accent-color-hover); }
575
+ .modal-button:active { transform: scale(0.97); }
576
+
577
+ /* Glow Effects */
578
+ .text-gradient {
579
+ background: linear-gradient(90deg, #fff, #aaa);
580
+ -webkit-background-clip: text;
581
+ background-clip: text;
582
+ -webkit-text-fill-color: transparent;
583
+ }
584
+
585
+ .hero-title-glow {
586
+ text-shadow: 0 0 10px rgba(255, 255, 255, 0.3);
587
+ }
588
+
589
+ .hero-subtitle-glow {
590
+ text-shadow: 0 0 5px rgba(255, 255, 255, 0.2);
591
+ }
592
+
593
+ .button-glow {
594
+ box-shadow: 0 0 15px rgba(255, 255, 255, 0.1);
595
+ }
596
+
597
+ .hero-card-glow {
598
+ box-shadow: 0 5px 20px rgba(255, 255, 255, 0.05);
599
+ }
600
+
601
+ .card-item-glow {
602
+ box-shadow: 0 2px 8px rgba(255, 255, 255, 0.03);
603
+ }
604
+
605
+ /* Animations */
606
+ @keyframes float {
607
+ 0% { transform: translateY(0); }
608
+ 50% { transform: translateY(-10px); }
609
+ 100% { transform: translateY(0); }
610
+ }
611
+
612
+ .animate-float {
613
+ animation: float 6s ease-in-out infinite;
614
+ }
615
+
616
+ @keyframes scale-in {
617
+ from { transform: scale(0.9); opacity: 0; }
618
+ to { transform: scale(1); opacity: 1; }
619
+ }
620
+
621
+ .animate-scale-in {
622
+ animation: scale-in 0.5s ease-out forwards;
623
+ }
624
+
625
+ @keyframes fade-in-up {
626
+ from { transform: translateY(20px); opacity: 0; }
627
+ to { transform: translateY(0); opacity: 1; }
628
+ }
629
+
630
+ .animate-fade-in-up {
631
+ animation: fade-in-up 0.5s ease-out forwards;
632
+ }
633
+
634
+ /* Responsive adjustments */
635
+ @media (max-width: 768px) {
636
+ .chat-container {
637
+ width: 100%;
638
+ height: 100%;
639
+ border-radius: 0;
640
+ }
641
+
642
+ .message {
643
+ max-width: 90%;
644
+ }
645
+
646
+ .chat-header, .input-area {
647
+ padding: 10px 15px;
648
+ }
649
+
650
+ .chat-box {
651
+ padding: 15px;
652
+ }
653
+ }
654
+ .inverted {
655
+ filter: invert(1);
656
+ }
657
+
658
+ #invert-btn {
659
+ position: fixed;
660
+ bottom: 20px;
661
+ right: 20px;
662
+ padding: 10px; /* Removed text, increased padding */
663
+ background: transparent; /* Make background transparent */
664
+ border: none; /* Remove border */
665
+ cursor: pointer;
666
+ z-index: 9999;
667
+ width: 40px; /* Increased size for icons */
668
+ height: 40px;
669
+ display: flex; /* Use flexbox for centering */
670
+ align-items: center;
671
+ justify-content: center;
672
+ }
673
+
674
+ #invert-btn svg {
675
+ width: 80%; /* Increased size of SVG inside the button */
676
+ height: 80%;
677
+ }
678
+
679
+ .sun {
680
+ color: #FFD700; /* Gold for sun */
681
+ }
682
+
683
+ .moon {
684
+ color: #C0C0C0; /* Silver for moon */
685
+ }
686
+
687
+ /* User information styles */
688
+ .user-info {
689
+ position: absolute;
690
+ top: 10px;
691
+ right: 20px;
692
+ display: flex;
693
+ align-items: center;
694
+ gap: 10px;
695
+ color: #fff;
696
+ font-size: 14px;
697
+ }
698
+
699
+ .user-avatar {
700
+ width: 30px;
701
+ height: 30px;
702
+ border-radius: 50%;
703
+ background: #333;
704
+ display: flex;
705
+ align-items: center;
706
+ justify-content: center;
707
+ border: 1px solid #fff;
708
+ }
709
+
710
+ .logout-btn {
711
+ background: transparent;
712
+ color: #fff;
713
+ border: 1px solid #fff;
714
+ border-radius: 4px;
715
+ padding: 2px 8px;
716
+ font-size: 12px;
717
+ cursor: pointer;
718
+ transition: all 0.3s ease;
719
+ }
720
+
721
+ .logout-btn:hover {
722
+ background: rgba(255, 255, 255, 0.1);
723
+ box-shadow: 0 0 8px rgba(255, 255, 255, 0.5);
724
+ }