Hadiil commited on
Commit
76c9a94
·
verified ·
1 Parent(s): 5e09cb9

Update static/styles.css

Browse files
Files changed (1) hide show
  1. static/styles.css +147 -99
static/styles.css CHANGED
@@ -9,22 +9,26 @@
9
 
10
  :root {
11
  --bg-color: #0A0A14;
12
- --panel-color: #1A1A2E;
13
- --text-color: #E6E6FA;
14
  --accent-color: #00D4FF;
15
- --secondary-color: #4B5EAA;
16
- --hover-color: #16213E;
17
- --shadow-color: rgba(0, 212, 255, 0.2);
 
 
18
  }
19
 
20
  .light-mode {
21
- --bg-color: #F0F4F8;
22
- --panel-color: #FFFFFF;
23
  --text-color: #1A1A2E;
24
  --accent-color: #007BFF;
25
  --secondary-color: #6B7280;
26
- --hover-color: #E5E7EB;
27
- --shadow-color: rgba(0, 123, 255, 0.1);
 
 
28
  }
29
 
30
  body {
@@ -52,49 +56,64 @@ body {
52
  width: 100%;
53
  height: 100%;
54
  background: url('https://www.transparenttextures.com/patterns/stardust.png');
55
- opacity: 0.8;
56
  }
57
 
58
- .layer-1 { animation: drift 120s linear infinite; }
59
- .layer-2 { animation: drift 180s linear infinite; opacity: 0.5; }
60
- .layer-3 { animation: drift 240s linear infinite; opacity: 0.3; }
 
 
 
 
 
 
 
 
61
 
62
  @keyframes drift {
63
  from { transform: translate(0, 0); }
64
  to { transform: translate(-2000px, -2000px); }
65
  }
66
 
 
 
 
 
 
67
  /* Sidebar */
68
  .sidebar {
69
  width: 70px;
70
  height: 100vh;
71
- background: var(--panel-color);
72
  position: fixed;
73
  left: 0;
74
  top: 0;
75
  display: flex;
76
  flex-direction: column;
77
  align-items: center;
78
- padding: 1rem 0;
79
  transition: width 0.3s ease;
80
- box-shadow: 2px 0 10px var(--shadow-color);
 
81
  z-index: 10;
82
  }
83
 
84
- .sidebar:hover { width: 220px; }
85
 
86
  .sidebar__logo {
87
  display: flex;
88
  align-items: center;
89
- gap: 0.5rem;
90
  padding: 1rem;
91
  color: var(--accent-color);
92
  font-family: 'Orbitron', sans-serif;
93
- font-size: 1.2rem;
94
  font-weight: 700;
 
95
  }
96
 
97
- .sidebar__logo i { font-size: 1.5rem; }
98
 
99
  .sidebar__logo span { display: none; }
100
 
@@ -102,7 +121,7 @@ body {
102
 
103
  .sidebar__item {
104
  width: 100%;
105
- padding: 1rem;
106
  color: var(--text-color);
107
  text-decoration: none;
108
  display: flex;
@@ -114,12 +133,13 @@ body {
114
  .sidebar__item:hover {
115
  background: var(--hover-color);
116
  color: var(--accent-color);
117
- transform: translateX(5px);
 
118
  }
119
 
120
- .sidebar__item i { font-size: 1.5rem; }
121
 
122
- .sidebar__item span { display: none; font-size: 1rem; }
123
 
124
  .sidebar:hover .sidebar__item span { display: inline; }
125
 
@@ -127,28 +147,29 @@ body {
127
  .main-content {
128
  flex: 1;
129
  margin-left: 70px;
130
- padding: 2rem;
131
  overflow-y: auto;
132
  height: 100vh;
133
  }
134
 
135
  .header {
136
  text-align: center;
137
- margin-bottom: 2rem;
138
  }
139
 
140
  .header h1 {
141
  font-family: 'Orbitron', sans-serif;
142
- font-size: 3rem;
143
  color: var(--accent-color);
144
- text-shadow: 0 0 15px var(--shadow-color);
 
145
  }
146
 
147
  .header p {
148
- font-size: 1.1rem;
149
  color: var(--secondary-color);
150
- max-width: 600px;
151
- margin: 0 auto;
152
  transition: opacity 0.3s ease;
153
  }
154
 
@@ -157,74 +178,83 @@ body {
157
  /* Suggestions */
158
  .suggestions {
159
  display: grid;
160
- grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
161
- gap: 1rem;
162
- max-width: 1000px;
163
- margin: 0 auto 2rem;
164
  transition: opacity 0.3s ease;
165
  }
166
 
167
  .suggestions.hidden { opacity: 0; height: 0; margin: 0; }
168
 
169
  .suggestion-card {
170
- background: var(--panel-color);
171
- padding: 1rem;
172
- border-radius: 8px;
173
  display: flex;
174
  flex-direction: column;
175
  align-items: center;
176
  text-align: center;
177
  cursor: pointer;
178
  transition: all 0.3s ease;
179
- box-shadow: 0 4px 10px var(--shadow-color);
 
 
180
  }
181
 
182
  .suggestion-card:hover {
183
- transform: translateY(-5px);
184
- box-shadow: 0 6px 15px var(--shadow-color);
185
  background: var(--hover-color);
186
  }
187
 
188
  .suggestion-card i {
189
- font-size: 1.5rem;
190
  color: var(--accent-color);
191
- margin-bottom: 0.5rem;
 
192
  }
193
 
194
  .suggestion-card span {
195
- font-size: 0.9rem;
196
  color: var(--text-color);
197
  }
198
 
199
  /* Chat Container */
200
  .chat-container {
201
- max-width: 1000px;
202
  margin: 0 auto;
203
- padding-bottom: 100px;
204
  }
205
 
206
  .chat-message {
207
- padding: 1rem;
208
- margin-bottom: 1rem;
209
- border-radius: 8px;
210
- background: var(--panel-color);
211
  color: var(--text-color);
212
- box-shadow: 0 2px 5px var(--shadow-color);
213
- transition: transform 0.2s ease;
 
 
214
  }
215
 
216
  .chat-message.user {
217
  background: linear-gradient(135deg, var(--accent-color), var(--secondary-color));
218
  color: #fff;
219
- margin-left: 20%;
 
220
  }
221
 
222
  .chat-message.bot {
223
- background: var(--panel-color);
224
- margin-right: 20%;
225
  }
226
 
227
- .chat-message:hover { transform: scale(1.02); }
 
 
 
228
 
229
  /* Input Panel */
230
  .input-panel {
@@ -232,21 +262,23 @@ body {
232
  bottom: 0;
233
  left: 70px;
234
  width: calc(100% - 70px);
235
- background: var(--panel-color);
236
- padding: 1rem;
237
- box-shadow: 0 -2px 10px var(--shadow-color);
 
238
  z-index: 5;
239
  }
240
 
241
  .input-wrapper {
242
- max-width: 1000px;
243
  margin: 0 auto;
244
  display: flex;
245
  align-items: center;
246
- background: var(--bg-color);
247
- border-radius: 25px;
248
- padding: 0.5rem;
249
- box-shadow: inset 0 2px 5px var(--shadow-color);
 
250
  }
251
 
252
  .input-field {
@@ -254,41 +286,44 @@ body {
254
  border: none;
255
  background: transparent;
256
  color: var(--text-color);
257
- font-size: 1rem;
258
- padding: 0.5rem 1rem;
259
  outline: none;
260
  }
261
 
262
- .input-field::placeholder { color: var(--secondary-color); }
263
 
264
  .action-buttons {
265
  display: flex;
266
  align-items: center;
267
- gap: 0.5rem;
268
  }
269
 
270
  .action-btn {
271
- background: none;
272
  border: none;
273
  color: var(--text-color);
274
- font-size: 1.2rem;
275
  cursor: pointer;
276
  padding: 0.5rem;
277
- transition: color 0.3s ease, transform 0.2s ease;
 
 
278
  }
279
 
280
  .action-btn:hover {
281
  color: var(--accent-color);
282
- transform: scale(1.1);
 
283
  }
284
 
285
  .loader {
286
- width: 20px;
287
- height: 20px;
288
- border: 3px solid var(--accent-color);
289
- border-top: 3px solid transparent;
290
  border-radius: 50%;
291
- animation: spin 1s linear infinite;
292
  display: none;
293
  }
294
 
@@ -301,27 +336,30 @@ body {
301
 
302
  .disclaimer {
303
  text-align: center;
304
- font-size: 0.8rem;
305
  color: var(--secondary-color);
306
- margin-top: 0.5rem;
 
307
  }
308
 
309
  /* File Preview */
310
  .file-preview {
311
  display: flex;
312
  align-items: center;
313
- gap: 0.5rem;
314
- padding: 0.5rem;
315
- background: var(--hover-color);
316
- border-radius: 8px;
317
- margin-bottom: 0.5rem;
 
 
318
  }
319
 
320
- .file-preview-icon { font-size: 1.2rem; color: var(--accent-color); }
321
 
322
  .file-preview-name {
323
  flex: 1;
324
- font-size: 0.9rem;
325
  color: var(--text-color);
326
  }
327
 
@@ -330,7 +368,7 @@ body {
330
  border: none;
331
  color: var(--text-color);
332
  cursor: pointer;
333
- font-size: 1rem;
334
  transition: color 0.3s ease;
335
  }
336
 
@@ -338,36 +376,46 @@ body {
338
 
339
  /* Image and VQA */
340
  .image-result, .vqa-response {
341
- margin: 1rem 0;
342
- padding: 1rem;
343
- background: var(--panel-color);
344
- border-radius: 8px;
345
- box-shadow: 0 2px 5px var(--shadow-color);
 
 
346
  }
347
 
348
  .uploaded-image {
349
  max-width: 100%;
350
- max-height: 300px;
351
- border-radius: 8px;
352
- margin-bottom: 0.5rem;
 
353
  }
354
 
355
  .image-caption {
356
  font-style: italic;
357
  color: var(--secondary-color);
 
358
  }
359
 
360
  .vqa-response {
361
  display: flex;
362
  flex-direction: column;
363
- gap: 1rem;
364
  }
365
 
366
- .vqa-text p { margin: 0.5rem 0; }
 
 
 
367
 
368
- .vqa-text strong { color: var(--accent-color); }
 
 
 
369
 
370
  @media (min-width: 768px) {
371
  .vqa-response { flex-direction: row; align-items: flex-start; }
372
- .vqa-response .uploaded-image { max-width: 200px; }
373
  }
 
9
 
10
  :root {
11
  --bg-color: #0A0A14;
12
+ --panel-color: rgba(26, 26, 46, 0.85);
13
+ --text-color: #F0F0FF;
14
  --accent-color: #00D4FF;
15
+ --secondary-color: #A0A5FF;
16
+ --hover-color: rgba(22, 33, 62, 0.9);
17
+ --shadow-color: rgba(0, 212, 255, 0.3);
18
+ --glass-bg: rgba(20, 20, 40, 0.5);
19
+ --metallic-gradient: linear-gradient(135deg, #1A1A2E, #2A2A4E);
20
  }
21
 
22
  .light-mode {
23
+ --bg-color: #E6E8FF;
24
+ --panel-color: rgba(255, 255, 255, 0.9);
25
  --text-color: #1A1A2E;
26
  --accent-color: #007BFF;
27
  --secondary-color: #6B7280;
28
+ --hover-color: rgba(229, 231, 235, 0.9);
29
+ --shadow-color: rgba(0, 123, 255, 0.2);
30
+ --glass-bg: rgba(240, 240, 255, 0.5);
31
+ --metallic-gradient: linear-gradient(135deg, #D0D4E0, #E0E4F0);
32
  }
33
 
34
  body {
 
56
  width: 100%;
57
  height: 100%;
58
  background: url('https://www.transparenttextures.com/patterns/stardust.png');
59
+ mix-blend-mode: screen;
60
  }
61
 
62
+ .layer-1 { animation: drift 120s linear infinite; opacity: 0.9; }
63
+ .layer-2 { animation: drift 180s linear infinite; opacity: 0.6; }
64
+ .layer-3 { animation: drift 240s linear infinite; opacity: 0.4; }
65
+
66
+ .nebula-overlay {
67
+ position: absolute;
68
+ width: 100%;
69
+ height: 100%;
70
+ background: radial-gradient(circle, rgba(0, 212, 255, 0.1) 0%, rgba(10, 10, 20, 0.8) 80%);
71
+ animation: pulse 20s ease-in-out infinite;
72
+ }
73
 
74
  @keyframes drift {
75
  from { transform: translate(0, 0); }
76
  to { transform: translate(-2000px, -2000px); }
77
  }
78
 
79
+ @keyframes pulse {
80
+ 0%, 100% { opacity: 0.8; }
81
+ 50% { opacity: 1; }
82
+ }
83
+
84
  /* Sidebar */
85
  .sidebar {
86
  width: 70px;
87
  height: 100vh;
88
+ background: var(--metallic-gradient);
89
  position: fixed;
90
  left: 0;
91
  top: 0;
92
  display: flex;
93
  flex-direction: column;
94
  align-items: center;
95
+ padding: 1.5rem 0;
96
  transition: width 0.3s ease;
97
+ box-shadow: 2px 0 15px var(--shadow-color);
98
+ backdrop-filter: blur(5px);
99
  z-index: 10;
100
  }
101
 
102
+ .sidebar:hover { width: 240px; }
103
 
104
  .sidebar__logo {
105
  display: flex;
106
  align-items: center;
107
+ gap: 0.75rem;
108
  padding: 1rem;
109
  color: var(--accent-color);
110
  font-family: 'Orbitron', sans-serif;
111
+ font-size: 1.4rem;
112
  font-weight: 700;
113
+ text-shadow: 0 0 5px var(--shadow-color);
114
  }
115
 
116
+ .sidebar__logo i { font-size: 1.8rem; }
117
 
118
  .sidebar__logo span { display: none; }
119
 
 
121
 
122
  .sidebar__item {
123
  width: 100%;
124
+ padding: 1.2rem;
125
  color: var(--text-color);
126
  text-decoration: none;
127
  display: flex;
 
133
  .sidebar__item:hover {
134
  background: var(--hover-color);
135
  color: var(--accent-color);
136
+ transform: translateX(10px);
137
+ box-shadow: inset 0 0 10px var(--shadow-color);
138
  }
139
 
140
+ .sidebar__item i { font-size: 1.6rem; }
141
 
142
+ .sidebar__item span { display: none; font-size: 1.1rem; }
143
 
144
  .sidebar:hover .sidebar__item span { display: inline; }
145
 
 
147
  .main-content {
148
  flex: 1;
149
  margin-left: 70px;
150
+ padding: 2.5rem;
151
  overflow-y: auto;
152
  height: 100vh;
153
  }
154
 
155
  .header {
156
  text-align: center;
157
+ margin-bottom: 3rem;
158
  }
159
 
160
  .header h1 {
161
  font-family: 'Orbitron', sans-serif;
162
+ font-size: 3.5rem;
163
  color: var(--accent-color);
164
+ text-shadow: 0 0 20px var(--shadow-color);
165
+ letter-spacing: 2px;
166
  }
167
 
168
  .header p {
169
+ font-size: 1.2rem;
170
  color: var(--secondary-color);
171
+ max-width: 700px;
172
+ margin: 0.5rem auto;
173
  transition: opacity 0.3s ease;
174
  }
175
 
 
178
  /* Suggestions */
179
  .suggestions {
180
  display: grid;
181
+ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
182
+ gap: 1.5rem;
183
+ max-width: 1200px;
184
+ margin: 0 auto 3rem;
185
  transition: opacity 0.3s ease;
186
  }
187
 
188
  .suggestions.hidden { opacity: 0; height: 0; margin: 0; }
189
 
190
  .suggestion-card {
191
+ background: var(--glass-bg);
192
+ padding: 1.5rem;
193
+ border-radius: 12px;
194
  display: flex;
195
  flex-direction: column;
196
  align-items: center;
197
  text-align: center;
198
  cursor: pointer;
199
  transition: all 0.3s ease;
200
+ box-shadow: 0 5px 15px var(--shadow-color);
201
+ backdrop-filter: blur(10px);
202
+ border: 1px solid rgba(255, 255, 255, 0.1);
203
  }
204
 
205
  .suggestion-card:hover {
206
+ transform: translateY(-8px) scale(1.05);
207
+ box-shadow: 0 10px 25px var(--shadow-color);
208
  background: var(--hover-color);
209
  }
210
 
211
  .suggestion-card i {
212
+ font-size: 1.8rem;
213
  color: var(--accent-color);
214
+ margin-bottom: 0.75rem;
215
+ text-shadow: 0 0 5px var(--shadow-color);
216
  }
217
 
218
  .suggestion-card span {
219
+ font-size: 1rem;
220
  color: var(--text-color);
221
  }
222
 
223
  /* Chat Container */
224
  .chat-container {
225
+ max-width: 1200px;
226
  margin: 0 auto;
227
+ padding-bottom: 120px;
228
  }
229
 
230
  .chat-message {
231
+ padding: 1.2rem;
232
+ margin-bottom: 1.5rem;
233
+ border-radius: 12px;
234
+ background: var(--glass-bg);
235
  color: var(--text-color);
236
+ box-shadow: 0 3px 10px var(--shadow-color);
237
+ transition: transform 0.3s ease, box-shadow 0.3s ease;
238
+ backdrop-filter: blur(8px);
239
+ border: 1px solid rgba(255, 255, 255, 0.1);
240
  }
241
 
242
  .chat-message.user {
243
  background: linear-gradient(135deg, var(--accent-color), var(--secondary-color));
244
  color: #fff;
245
+ margin-left: 25%;
246
+ border: none;
247
  }
248
 
249
  .chat-message.bot {
250
+ background: var(--glass-bg);
251
+ margin-right: 25%;
252
  }
253
 
254
+ .chat-message:hover {
255
+ transform: translateY(-3px);
256
+ box-shadow: 0 5px 15px var(--shadow-color);
257
+ }
258
 
259
  /* Input Panel */
260
  .input-panel {
 
262
  bottom: 0;
263
  left: 70px;
264
  width: calc(100% - 70px);
265
+ background: var(--metallic-gradient);
266
+ padding: 1.5rem;
267
+ box-shadow: 0 -5px 20px var(--shadow-color);
268
+ backdrop-filter: blur(5px);
269
  z-index: 5;
270
  }
271
 
272
  .input-wrapper {
273
+ max-width: 1200px;
274
  margin: 0 auto;
275
  display: flex;
276
  align-items: center;
277
+ background: var(--glass-bg);
278
+ border-radius: 30px;
279
+ padding: 0.75rem;
280
+ box-shadow: inset 0 3px 10px var(--shadow-color);
281
+ border: 1px solid rgba(255, 255, 255, 0.2);
282
  }
283
 
284
  .input-field {
 
286
  border: none;
287
  background: transparent;
288
  color: var(--text-color);
289
+ font-size: 1.1rem;
290
+ padding: 0.75rem 1.5rem;
291
  outline: none;
292
  }
293
 
294
+ .input-field::placeholder { color: var(--secondary-color); opacity: 0.8; }
295
 
296
  .action-buttons {
297
  display: flex;
298
  align-items: center;
299
+ gap: 0.75rem;
300
  }
301
 
302
  .action-btn {
303
+ background: var(--metallic-gradient);
304
  border: none;
305
  color: var(--text-color);
306
+ font-size: 1.3rem;
307
  cursor: pointer;
308
  padding: 0.5rem;
309
+ border-radius: 50%;
310
+ transition: all 0.3s ease;
311
+ box-shadow: 0 2px 5px var(--shadow-color);
312
  }
313
 
314
  .action-btn:hover {
315
  color: var(--accent-color);
316
+ transform: scale(1.15);
317
+ box-shadow: 0 4px 10px var(--shadow-color);
318
  }
319
 
320
  .loader {
321
+ width: 24px;
322
+ height: 24px;
323
+ border: 4px solid var(--accent-color);
324
+ border-top: 4px solid transparent;
325
  border-radius: 50%;
326
+ animation: spin 1s ease-in-out infinite;
327
  display: none;
328
  }
329
 
 
336
 
337
  .disclaimer {
338
  text-align: center;
339
+ font-size: 0.9rem;
340
  color: var(--secondary-color);
341
+ margin-top: 0.75rem;
342
+ text-shadow: 0 0 5px var(--shadow-color);
343
  }
344
 
345
  /* File Preview */
346
  .file-preview {
347
  display: flex;
348
  align-items: center;
349
+ gap: 0.75rem;
350
+ padding: 0.75rem;
351
+ background: var(--glass-bg);
352
+ border-radius: 10px;
353
+ margin-bottom: 1rem;
354
+ box-shadow: 0 2px 5px var(--shadow-color);
355
+ backdrop-filter: blur(5px);
356
  }
357
 
358
+ .file-preview-icon { font-size: 1.4rem; color: var(--accent-color); }
359
 
360
  .file-preview-name {
361
  flex: 1;
362
+ font-size: 1rem;
363
  color: var(--text-color);
364
  }
365
 
 
368
  border: none;
369
  color: var(--text-color);
370
  cursor: pointer;
371
+ font-size: 1.2rem;
372
  transition: color 0.3s ease;
373
  }
374
 
 
376
 
377
  /* Image and VQA */
378
  .image-result, .vqa-response {
379
+ margin: 1.5rem 0;
380
+ padding: 1.5rem;
381
+ background: var(--glass-bg);
382
+ border-radius: 12px;
383
+ box-shadow: 0 5px 15px var(--shadow-color);
384
+ backdrop-filter: blur(8px);
385
+ border: 1px solid rgba(255, 255, 255, 0.1);
386
  }
387
 
388
  .uploaded-image {
389
  max-width: 100%;
390
+ max-height: 350px;
391
+ border-radius: 10px;
392
+ margin-bottom: 1rem;
393
+ box-shadow: 0 3px 10px var(--shadow-color);
394
  }
395
 
396
  .image-caption {
397
  font-style: italic;
398
  color: var(--secondary-color);
399
+ font-size: 1rem;
400
  }
401
 
402
  .vqa-response {
403
  display: flex;
404
  flex-direction: column;
405
+ gap: 1.5rem;
406
  }
407
 
408
+ .vqa-text p {
409
+ margin: 0.75rem 0;
410
+ font-size: 1rem;
411
+ }
412
 
413
+ .vqa-text strong {
414
+ color: var(--accent-color);
415
+ text-shadow: 0 0 3px var(--shadow-color);
416
+ }
417
 
418
  @media (min-width: 768px) {
419
  .vqa-response { flex-direction: row; align-items: flex-start; }
420
+ .vqa-response .uploaded-image { max-width: 250px; }
421
  }