likhonsheikh commited on
Commit
24c4a1c
·
verified ·
1 Parent(s): 5a4d69e

Create css/styles.css

Browse files
Files changed (1) hide show
  1. css/styles.css +332 -0
css/styles.css ADDED
@@ -0,0 +1,332 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ :root {
2
+ /* Light theme */
3
+ --background: #ffffff;
4
+ --foreground: #11181C;
5
+ --muted: #687076;
6
+ --accent: #0070f3;
7
+ --border: #E6E8EB;
8
+ --ring: #22222210;
9
+ --surface: #fff;
10
+ --surface-hover: #f3f4f6;
11
+ --message-user: #ecfdf5;
12
+ --message-bot: #f5f5f5;
13
+ --shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
14
+ }
15
+
16
+ .dark {
17
+ /* Dark theme */
18
+ --background: #000000;
19
+ --foreground: #FFFFFF;
20
+ --muted: #A1A1AA;
21
+ --accent: #3b82f6;
22
+ --border: #27272A;
23
+ --ring: #ffffff10;
24
+ --surface: #18181B;
25
+ --surface-hover: #27272A;
26
+ --message-user: #064e3b;
27
+ --message-bot: #18181B;
28
+ --shadow: 0 1px 2px 0 rgb(0 0 0 / 0.1);
29
+ }
30
+
31
+ * {
32
+ margin: 0;
33
+ padding: 0;
34
+ box-sizing: border-box;
35
+ }
36
+
37
+ html {
38
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
39
+ }
40
+
41
+ body {
42
+ background-color: var(--background);
43
+ color: var(--foreground);
44
+ line-height: 1.5;
45
+ transition: background-color 0.3s ease;
46
+ }
47
+
48
+ .app-container {
49
+ min-height: 100vh;
50
+ display: flex;
51
+ flex-direction: column;
52
+ }
53
+
54
+ .app-header {
55
+ position: fixed;
56
+ top: 0;
57
+ left: 0;
58
+ right: 0;
59
+ z-index: 50;
60
+ backdrop-filter: blur(12px);
61
+ border-bottom: 1px solid var(--border);
62
+ background-color: rgba(var(--background), 0.8);
63
+ }
64
+
65
+ .header-content {
66
+ max-width: 1200px;
67
+ margin: 0 auto;
68
+ padding: 1rem;
69
+ display: flex;
70
+ justify-content: space-between;
71
+ align-items: center;
72
+ }
73
+
74
+ .header-content h1 {
75
+ font-size: 1.5rem;
76
+ font-weight: 600;
77
+ display: flex;
78
+ align-items: center;
79
+ gap: 0.5rem;
80
+ }
81
+
82
+ .header-actions {
83
+ display: flex;
84
+ gap: 0.5rem;
85
+ }
86
+
87
+ .icon-button {
88
+ background: none;
89
+ border: none;
90
+ color: var(--foreground);
91
+ padding: 0.5rem;
92
+ border-radius: 0.5rem;
93
+ cursor: pointer;
94
+ transition: background-color 0.2s ease;
95
+ }
96
+
97
+ .icon-button:hover {
98
+ background-color: var(--surface-hover);
99
+ }
100
+
101
+ .chat-container {
102
+ flex: 1;
103
+ max-width: 1200px;
104
+ margin: 0 auto;
105
+ width: 100%;
106
+ padding: 5rem 1rem 1rem;
107
+ display: flex;
108
+ flex-direction: column;
109
+ }
110
+
111
+ .messages-container {
112
+ flex: 1;
113
+ overflow-y: auto;
114
+ padding: 1rem;
115
+ display: flex;
116
+ flex-direction: column;
117
+ gap: 1rem;
118
+ }
119
+
120
+ .welcome-message {
121
+ text-align: center;
122
+ padding: 2rem;
123
+ }
124
+
125
+ .welcome-message h2 {
126
+ font-size: 2rem;
127
+ font-weight: 600;
128
+ margin-bottom: 1rem;
129
+ }
130
+
131
+ .welcome-message p {
132
+ color: var(--muted);
133
+ }
134
+
135
+ .message {
136
+ max-width: 80%;
137
+ padding: 1rem;
138
+ border-radius: 0.75rem;
139
+ animation: message-slide 0.3s ease;
140
+ }
141
+
142
+ @keyframes message-slide {
143
+ from {
144
+ opacity: 0;
145
+ transform: translateY(20px);
146
+ }
147
+ to {
148
+ opacity: 1;
149
+ transform: translateY(0);
150
+ }
151
+ }
152
+
153
+ .user-message {
154
+ background-color: var(--message-user);
155
+ align-self: flex-end;
156
+ border-bottom-right-radius: 0.25rem;
157
+ }
158
+
159
+ .bot-message {
160
+ background-color: var(--message-bot);
161
+ align-self: flex-start;
162
+ border-bottom-left-radius: 0.25rem;
163
+ }
164
+
165
+ .typing-indicator {
166
+ padding: 1rem;
167
+ }
168
+
169
+ .typing-bubble {
170
+ background-color: var(--message-bot);
171
+ padding: 1rem;
172
+ border-radius: 0.75rem;
173
+ border-bottom-left-radius: 0.25rem;
174
+ width: fit-content;
175
+ }
176
+
177
+ .dots {
178
+ display: flex;
179
+ gap: 0.25rem;
180
+ }
181
+
182
+ .dots span {
183
+ width: 0.5rem;
184
+ height: 0.5rem;
185
+ border-radius: 50%;
186
+ background-color: var(--muted);
187
+ animation: bounce 1.4s infinite ease-in-out;
188
+ }
189
+
190
+ .dots span:nth-child(1) { animation-delay: -0.32s; }
191
+ .dots span:nth-child(2) { animation-delay: -0.16s; }
192
+
193
+ @keyframes bounce {
194
+ 0%, 80%, 100% { transform: scale(0); }
195
+ 40% { transform: scale(1); }
196
+ }
197
+
198
+ .chat-input-container {
199
+ position: sticky;
200
+ bottom: 0;
201
+ padding: 1rem;
202
+ background-color: var(--background);
203
+ border-top: 1px solid var(--border);
204
+ }
205
+
206
+ .input-wrapper {
207
+ position: relative;
208
+ background-color: var(--surface);
209
+ border: 1px solid var(--border);
210
+ border-radius: 0.75rem;
211
+ padding: 0.75rem;
212
+ display: flex;
213
+ flex-direction: column;
214
+ gap: 0.5rem;
215
+ transition: border-color 0.2s ease, box-shadow 0.2s ease;
216
+ }
217
+
218
+ .input-wrapper:focus-within {
219
+ border-color: var(--accent);
220
+ box-shadow: 0 0 0 2px var(--ring);
221
+ }
222
+
223
+ #user-input {
224
+ background: none;
225
+ border: none;
226
+ color: var(--foreground);
227
+ font-size: 1rem;
228
+ resize: none;
229
+ max-height: 200px;
230
+ width: 100%;
231
+ }
232
+
233
+ #user-input:focus {
234
+ outline: none;
235
+ }
236
+
237
+ .input-actions {
238
+ display: flex;
239
+ justify-content: space-between;
240
+ align-items: center;
241
+ }
242
+
243
+ .char-counter {
244
+ font-size: 0.875rem;
245
+ color: var(--muted);
246
+ }
247
+
248
+ .send-button {
249
+ background-color: var(--accent);
250
+ color: white;
251
+ border: none;
252
+ border-radius: 0.5rem;
253
+ padding: 0.5rem 1rem;
254
+ cursor: pointer;
255
+ transition: opacity 0.2s ease;
256
+ }
257
+
258
+ .send-button:disabled {
259
+ opacity: 0.5;
260
+ cursor: not-allowed;
261
+ }
262
+
263
+ .toast-container {
264
+ position: fixed;
265
+ bottom: 1rem;
266
+ right: 1rem;
267
+ display: flex;
268
+ flex-direction: column;
269
+ gap: 1rem;
270
+ z-index: 100;
271
+ }
272
+
273
+ .toast {
274
+ background-color: var(--surface);
275
+ border: 1px solid var(--border);
276
+ border-radius: 0.5rem;
277
+ padding: 1rem;
278
+ box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.1);
279
+ animation: toast-slide 0.3s ease;
280
+ }
281
+
282
+ @keyframes toast-slide {
283
+ from {
284
+ opacity: 0;
285
+ transform: translateX(100%);
286
+ }
287
+ to {
288
+ opacity: 1;
289
+ transform: translateX(0);
290
+ }
291
+ }
292
+
293
+ .toast.error {
294
+ border-left: 4px solid #ef4444;
295
+ }
296
+
297
+ .toast.success {
298
+ border-left: 4px solid #10b981;
299
+ }
300
+
301
+ .hidden {
302
+ display: none;
303
+ }
304
+
305
+ /* Media Queries for Responsiveness */
306
+ @media (max-width: 768px) {
307
+ .header-content h1 {
308
+ font-size: 1.25rem;
309
+ }
310
+
311
+ .welcome-message h2 {
312
+ font-size: 1.5rem;
313
+ }
314
+
315
+ .message {
316
+ max-width: 90%;
317
+ }
318
+ }
319
+
320
+ @media (max-width: 480px) {
321
+ .chat-container {
322
+ padding-top: 4rem;
323
+ }
324
+
325
+ .input-wrapper {
326
+ padding: 0.5rem;
327
+ }
328
+
329
+ .send-button {
330
+ padding: 0.5rem;
331
+ }
332
+ }