chenguittiMaroua commited on
Commit
a1c3918
·
verified ·
1 Parent(s): 5d39bbe

Update static/test.css

Browse files
Files changed (1) hide show
  1. static/test.css +243 -308
static/test.css CHANGED
@@ -131,445 +131,380 @@ body {
131
  */
132
 
133
 
134
- /* General Styles */
 
135
  body {
136
- font-family: 'Inter', sans-serif;
137
- margin: 0;
138
- background: url('https://images.pexels.com/photos/8294624/pexels-photo-8294624.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2') no-repeat center center fixed;
139
- background-size: cover;
140
- color: #f1f5f9;
141
- overflow-x: hidden;
142
- line-height: 1.6;
143
  }
144
 
145
- /* Header Styles */
146
  header {
147
- text-align: center;
148
- padding: 4rem 2rem 2rem;
149
- background: rgba(0, 0, 0, 0.7);
150
- color: white;
151
- border-bottom: 1px solid #ffffff33;
152
- animation: fadeIn 1s ease-in-out;
153
- box-shadow: 0px 10px 40px rgba(0, 0, 0, 0.3);
154
  }
155
 
156
  h1 {
157
- font-size: 3rem;
158
- font-weight: bold;
159
- margin-bottom: 0.5rem;
160
- letter-spacing: 1px;
161
- animation: typing 2.5s steps(20) 1s 1 normal both, glow 1.5s ease-in-out infinite alternate;
162
- }
163
-
164
- /* Animations */
165
- @keyframes typing {
166
- from { width: 0; }
167
- to { width: 100%; }
168
- }
169
-
170
- @keyframes glow {
171
- 0% { text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 15px #3b82f6; }
172
- 50% { text-shadow: 0 0 10px #fff, 0 0 20px #fff, 0 0 30px #3b82f6; }
173
- 100% { text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 15px #3b82f6; }
174
- }
175
-
176
- @keyframes fadeIn {
177
- from { opacity: 0; transform: translateY(-10px); }
178
- to { opacity: 1; transform: translateY(0); }
179
  }
180
 
181
- @keyframes fadeInUp {
182
- from { opacity: 0; transform: translateY(20px); }
183
- to { opacity: 1; transform: translateY(0); }
184
- }
185
-
186
- /* Main Content */
187
  main {
188
- padding: 2rem;
189
- display: flex;
190
- flex-direction: column;
191
- align-items: center;
192
  }
193
 
194
- /* Card Styles */
195
  .cards {
196
- display: flex;
197
- flex-wrap: wrap;
198
- justify-content: center;
199
- gap: 2rem;
200
- margin-bottom: 3rem;
201
- animation: fadeInUp 1s ease-in-out;
202
  }
203
 
204
  .card {
205
- background: #2c3e50;
206
- padding: 2rem;
207
- border-radius: 1.5rem;
208
- width: 280px;
209
- text-align: center;
210
- box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
211
- transition: transform 0.3s ease, box-shadow 0.3s ease;
212
- cursor: pointer;
213
- border: 1px solid #34495e;
214
  }
215
 
216
  .card:hover {
217
- transform: scale(1.05);
218
- box-shadow: 0 20px 30px rgba(0, 0, 0, 0.3);
219
- background: #34495e;
220
  }
221
 
222
  .icon {
223
- font-size: 3rem;
224
- margin-bottom: 1rem;
225
- color: #f39c12;
226
  }
227
 
228
- /* Tool Sections */
229
  .tool-section {
230
- display: none;
231
- width: 100%;
232
- max-width: 800px;
233
- background: #1e293b;
234
- padding: 2rem;
235
- border-radius: 1rem;
236
- box-shadow: 0 10px 20px rgba(0,0,0,0.2);
237
- margin-bottom: 2rem;
238
- animation: fadeIn 0.5s ease-in-out;
239
  }
240
 
241
  .tool-section h3 {
242
- color: #f39c12;
243
- margin-bottom: 1.5rem;
244
- font-size: 1.5rem;
245
  }
246
 
247
- /* Form Elements */
248
- .input-group {
249
- margin-bottom: 1.5rem;
250
  }
251
 
252
- .input-group label {
253
- display: block;
254
- margin-bottom: 0.5rem;
255
- font-weight: 500;
256
  }
257
 
258
- textarea, input[type="file"] {
259
- width: 100%;
260
- margin-top: 1rem;
261
- padding: 0.75rem;
262
- border: none;
263
- border-radius: 0.5rem;
264
- background: #34495e;
265
- color: #f1f5f9;
266
- font-size: 1rem;
267
- resize: vertical;
268
- min-height: 100px;
269
  }
270
 
271
- textarea:focus {
272
- outline: 2px solid #3b82f6;
 
273
  }
274
 
275
- .form-group {
276
- margin-bottom: 1.5rem;
277
- }
278
-
279
- .form-group label {
280
- display: block;
281
- margin-bottom: 0.5rem;
282
- font-weight: 500;
283
- }
284
-
285
- select {
286
- width: 100%;
287
- padding: 0.75rem;
288
- border: none;
289
- border-radius: 0.5rem;
290
- background: #34495e;
291
- color: #f1f5f9;
292
- font-size: 1rem;
293
- }
294
-
295
- /* Upload Areas */
296
  .upload-area {
297
- border: 2px dashed #64748b;
298
- border-radius: 0.5rem;
299
- padding: 2rem;
300
- text-align: center;
301
- margin-bottom: 1.5rem;
302
- cursor: pointer;
303
- transition: all 0.3s ease;
304
- position: relative;
305
- overflow: hidden;
306
  }
307
 
308
  .upload-area p {
309
- margin: 0;
310
- color: #94a3b8;
311
  }
312
 
313
- .upload-area input[type="file"] {
314
- position: absolute;
315
- width: 100%;
316
- height: 100%;
317
- top: 0;
318
- left: 0;
319
- opacity: 0;
320
- cursor: pointer;
321
  }
322
 
323
- .highlight {
324
- border: 2px dashed #3b82f6 !important;
325
- background: rgba(59, 130, 246, 0.1) !important;
326
  }
327
 
328
- /* File Preview */
329
  .file-preview-container {
330
- margin-top: 1rem;
331
  }
332
 
333
  .file-preview-card {
334
- display: flex;
335
- align-items: center;
336
- background: rgba(255, 255, 255, 0.1);
337
- border-radius: 8px;
338
- padding: 12px;
339
- margin-top: 10px;
340
- position: relative;
341
- animation: fadeIn 0.3s ease-out;
342
  }
343
 
344
  .file-icon {
345
- font-size: 1.5rem;
346
- margin-right: 12px;
347
  }
348
 
349
  .file-details {
350
- flex: 1;
351
  }
352
 
353
  .file-name {
354
- display: block;
355
- font-weight: 500;
356
- white-space: nowrap;
357
- overflow: hidden;
358
- text-overflow: ellipsis;
359
  }
360
 
361
  .file-size {
362
- font-size: 0.8rem;
363
- color: #94a3b8;
364
  }
365
 
366
  .upload-progress {
367
- height: 4px;
368
- background: rgba(255, 255, 255, 0.1);
369
- border-radius: 2px;
370
- margin-top: 8px;
371
- overflow: hidden;
372
  }
373
 
374
  .progress-bar {
375
- height: 100%;
376
- background: #3b82f6;
377
- transition: width 0.3s ease;
378
  }
379
 
380
  .upload-complete {
381
- color: #10b981;
382
- font-size: 0.8rem;
383
  }
384
 
385
  .remove-file {
386
- background: none;
387
- border: none;
388
- color: #94a3b8;
389
- font-size: 1.2rem;
390
- cursor: pointer;
391
- margin-left: 8px;
392
- padding: 0 5px;
393
  }
394
 
395
- /* Buttons */
396
  .button-group {
397
- display: flex;
398
- gap: 1rem;
399
- margin-top: 1.5rem;
400
  }
401
 
402
  button {
403
- margin-top: 1rem;
404
- padding: 0.75rem 2rem;
405
- font-size: 1rem;
406
- border: none;
407
- border-radius: 0.5rem;
408
- background: #3b82f6;
409
- color: white;
410
- cursor: pointer;
411
- transition: all 0.3s ease;
412
- display: flex;
413
- align-items: center;
414
- justify-content: center;
415
- gap: 0.5rem;
416
  }
417
 
418
- button:hover {
419
- background: #2563eb;
420
- transform: translateY(-2px);
421
  }
422
 
423
  button:disabled {
424
- background: #64748b;
425
- cursor: not-allowed;
426
- transform: none;
427
  }
428
 
429
  .secondary-btn {
430
- background: #64748b;
431
  }
432
 
433
- .secondary-btn:hover {
434
- background: #475569;
435
  }
436
 
437
- /* Spinner */
438
- .spinner {
439
- width: 16px;
440
- height: 16px;
441
- border: 3px solid rgba(255, 255, 255, 0.3);
442
- border-radius: 50%;
443
- border-top-color: white;
444
- animation: spin 1s ease-in-out infinite;
445
- }
446
-
447
- @keyframes spin {
448
- to { transform: rotate(360deg); }
449
- }
450
-
451
- .hidden {
452
- display: none;
453
- }
454
-
455
- /* Results Container */
456
  .result-container {
457
- margin-top: 2rem;
458
- padding: 1.5rem;
459
- background: rgba(0, 0, 0, 0.3);
460
- border-radius: 0.5rem;
461
- animation: fadeIn 0.5s ease-out;
462
  }
463
 
464
  .ai-response-container {
465
- line-height: 1.6;
466
- padding: 12px;
467
- background: rgba(255, 255, 255, 0.05);
468
- border-radius: 8px;
469
- border-left: 3px solid #3b82f6;
470
- margin-top: 1rem;
471
  }
472
 
473
  .ai-response-container pre {
474
- background: rgba(0, 0, 0, 0.3);
475
- padding: 12px;
476
- border-radius: 6px;
477
- overflow-x: auto;
478
- font-family: 'Courier New', monospace;
479
- font-size: 0.9rem;
480
  }
481
 
482
  .ai-response-container code {
483
- font-family: inherit;
 
484
  }
485
 
486
- /* Confidence Meter */
487
  .confidence-meter {
488
- margin-top: 15px;
489
- display: flex;
490
- align-items: center;
491
- gap: 10px;
492
- font-size: 0.9rem;
493
  }
494
 
495
  .meter-bar {
496
- flex: 1;
497
- height: 8px;
498
- background: rgba(255, 255, 255, 0.1);
499
- border-radius: 4px;
500
- overflow: hidden;
501
  }
502
 
503
  .meter-fill {
504
- height: 100%;
505
- background: linear-gradient(90deg, #ef4444, #f59e0b, #10b981);
506
- transition: width 0.5s ease;
507
  }
508
 
509
- /* Error Messages */
510
  .error-message {
511
- margin-top: 1.5rem;
512
- padding: 1rem;
513
- background: rgba(239, 68, 68, 0.2);
514
- border-left: 3px solid #ef4444;
515
- border-radius: 0 4px 4px 0;
516
- animation: fadeIn 0.3s ease-out;
517
  }
518
 
519
  .error-message-box {
520
- display: flex;
521
- align-items: center;
522
- gap: 0.5rem;
523
  }
524
 
525
  .error-icon {
526
- font-size: 1.2rem;
527
  }
528
 
529
- .error-text {
530
- flex: 1;
 
 
531
  }
532
 
533
- /* Footer */
534
- footer {
535
- text-align: center;
536
- padding: 2rem;
537
- color: #cbd5e1;
538
- font-size: 0.875rem;
539
- border-top: 1px solid #34495e;
540
- background: rgba(0, 0, 0, 0.8);
541
  }
542
 
543
- /* Responsive Design */
544
- @media (max-width: 768px) {
545
- .cards {
546
- flex-direction: column;
547
- align-items: center;
548
- }
549
-
550
- .card {
551
- width: 100%;
552
- max-width: 350px;
553
- }
554
-
555
- h1 {
556
- font-size: 2rem;
557
- }
558
  }
559
 
560
- @media (max-width: 480px) {
561
- main {
562
- padding: 1rem;
563
- }
564
-
565
- .tool-section {
566
- padding: 1rem;
567
- }
568
-
569
- .button-group {
570
- flex-direction: column;
571
- }
572
  }
573
 
 
 
 
574
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
575
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
131
  */
132
 
133
 
134
+
135
+ /* ===== BASE STYLES ===== */
136
  body {
137
+ font-family: 'Inter', sans-serif;
138
+ margin: 0;
139
+ background: url('https://images.pexels.com/photos/8294624/pexels-photo-8294624.jpeg') no-repeat center center fixed;
140
+ background-size: cover;
141
+ color: #f1f5f9;
142
+ line-height: 1.6;
 
143
  }
144
 
145
+ /* ===== HEADER ===== */
146
  header {
147
+ text-align: center;
148
+ padding: 4rem 2rem 2rem;
149
+ background: rgba(0, 0, 0, 0.7);
150
+ color: white;
151
+ border-bottom: 1px solid #ffffff33;
152
+ box-shadow: 0px 10px 40px rgba(0, 0, 0, 0.3);
 
153
  }
154
 
155
  h1 {
156
+ font-size: 3rem;
157
+ font-weight: bold;
158
+ margin-bottom: 0.5rem;
159
+ letter-spacing: 1px;
160
+ animation:
161
+ typing 2.5s steps(20) 1s 1 normal both,
162
+ glow 1.5s ease-in-out infinite alternate;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
163
  }
164
 
165
+ /* ===== MAIN CONTENT ===== */
 
 
 
 
 
166
  main {
167
+ padding: 2rem;
168
+ display: flex;
169
+ flex-direction: column;
170
+ align-items: center;
171
  }
172
 
 
173
  .cards {
174
+ display: flex;
175
+ flex-wrap: wrap;
176
+ justify-content: center;
177
+ gap: 2rem;
178
+ margin-bottom: 3rem;
 
179
  }
180
 
181
  .card {
182
+ background: #2c3e50;
183
+ padding: 2rem;
184
+ border-radius: 1.5rem;
185
+ width: 280px;
186
+ text-align: center;
187
+ box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
188
+ transition: all 0.3s ease;
189
+ cursor: pointer;
190
+ border: 1px solid #34495e;
191
  }
192
 
193
  .card:hover {
194
+ transform: scale(1.03);
195
+ box-shadow: 0 20px 30px rgba(0, 0, 0, 0.3);
196
+ background: #34495e;
197
  }
198
 
199
  .icon {
200
+ font-size: 3rem;
201
+ margin-bottom: 1rem;
202
+ color: #f39c12;
203
  }
204
 
205
+ /* ===== TOOL SECTIONS ===== */
206
  .tool-section {
207
+ width: 100%;
208
+ max-width: 800px;
209
+ background: #1e293b;
210
+ padding: 2rem;
211
+ border-radius: 1rem;
212
+ box-shadow: 0 10px 20px rgba(0,0,0,0.2);
213
+ margin-bottom: 2rem;
 
 
214
  }
215
 
216
  .tool-section h3 {
217
+ color: #f39c12;
218
+ margin-bottom: 1.5rem;
219
+ font-size: 1.5rem;
220
  }
221
 
222
+ /* ===== FORM ELEMENTS ===== */
223
+ .input-group, .form-group {
224
+ margin-bottom: 1.5rem;
225
  }
226
 
227
+ label {
228
+ display: block;
229
+ margin-bottom: 0.5rem;
230
+ font-weight: 500;
231
  }
232
 
233
+ textarea, select {
234
+ width: 100%;
235
+ padding: 0.75rem;
236
+ border: none;
237
+ border-radius: 0.5rem;
238
+ background: #34495e;
239
+ color: #f1f5f9;
240
+ font-size: 1rem;
 
 
 
241
  }
242
 
243
+ textarea {
244
+ min-height: 100px;
245
+ resize: vertical;
246
  }
247
 
248
+ /* ===== UPLOAD AREAS ===== */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
249
  .upload-area {
250
+ border: 2px dashed #64748b;
251
+ border-radius: 0.5rem;
252
+ padding: 2rem;
253
+ text-align: center;
254
+ margin-bottom: 1.5rem;
255
+ cursor: pointer;
256
+ transition: all 0.3s ease;
 
 
257
  }
258
 
259
  .upload-area p {
260
+ margin: 0;
261
+ color: #94a3b8;
262
  }
263
 
264
+ .upload-area.highlight {
265
+ border-color: #3b82f6;
266
+ background: rgba(59, 130, 246, 0.1);
 
 
 
 
 
267
  }
268
 
269
+ input[type="file"] {
270
+ display: none;
 
271
  }
272
 
 
273
  .file-preview-container {
274
+ margin-top: 1rem;
275
  }
276
 
277
  .file-preview-card {
278
+ display: flex;
279
+ align-items: center;
280
+ background: rgba(255, 255, 255, 0.1);
281
+ border-radius: 8px;
282
+ padding: 12px;
283
+ margin-top: 10px;
 
 
284
  }
285
 
286
  .file-icon {
287
+ font-size: 1.5rem;
288
+ margin-right: 12px;
289
  }
290
 
291
  .file-details {
292
+ flex: 1;
293
  }
294
 
295
  .file-name {
296
+ display: block;
297
+ font-weight: 500;
298
+ white-space: nowrap;
299
+ overflow: hidden;
300
+ text-overflow: ellipsis;
301
  }
302
 
303
  .file-size {
304
+ font-size: 0.8rem;
305
+ color: #94a3b8;
306
  }
307
 
308
  .upload-progress {
309
+ height: 4px;
310
+ background: rgba(255, 255, 255, 0.1);
311
+ border-radius: 2px;
312
+ margin-top: 8px;
313
+ overflow: hidden;
314
  }
315
 
316
  .progress-bar {
317
+ height: 100%;
318
+ background: #3b82f6;
319
+ transition: width 0.3s ease;
320
  }
321
 
322
  .upload-complete {
323
+ color: #10b981;
324
+ font-size: 0.8rem;
325
  }
326
 
327
  .remove-file {
328
+ background: none;
329
+ border: none;
330
+ color: #94a3b8;
331
+ font-size: 1.2rem;
332
+ cursor: pointer;
333
+ margin-left: 8px;
334
+ padding: 0 5px;
335
  }
336
 
337
+ /* ===== BUTTONS ===== */
338
  .button-group {
339
+ display: flex;
340
+ gap: 1rem;
341
+ margin-top: 1.5rem;
342
  }
343
 
344
  button {
345
+ padding: 0.75rem 2rem;
346
+ font-size: 1rem;
347
+ border: none;
348
+ border-radius: 0.5rem;
349
+ background: #3b82f6;
350
+ color: white;
351
+ cursor: pointer;
352
+ transition: all 0.3s ease;
353
+ display: flex;
354
+ align-items: center;
355
+ justify-content: center;
356
+ gap: 0.5rem;
 
357
  }
358
 
359
+ button:hover:not(:disabled) {
360
+ background: #2563eb;
361
+ transform: translateY(-2px);
362
  }
363
 
364
  button:disabled {
365
+ background: #64748b;
366
+ cursor: not-allowed;
367
+ opacity: 0.7;
368
  }
369
 
370
  .secondary-btn {
371
+ background: #64748b;
372
  }
373
 
374
+ .secondary-btn:hover:not(:disabled) {
375
+ background: #475569;
376
  }
377
 
378
+ /* ===== RESULTS DISPLAY ===== */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
379
  .result-container {
380
+ margin-top: 2rem;
381
+ padding: 1.5rem;
382
+ background: rgba(0, 0, 0, 0.3);
383
+ border-radius: 0.5rem;
 
384
  }
385
 
386
  .ai-response-container {
387
+ line-height: 1.6;
388
+ padding: 12px;
389
+ background: rgba(255, 255, 255, 0.05);
390
+ border-radius: 8px;
391
+ border-left: 3px solid #3b82f6;
 
392
  }
393
 
394
  .ai-response-container pre {
395
+ background: rgba(0, 0, 0, 0.3);
396
+ padding: 12px;
397
+ border-radius: 6px;
398
+ overflow-x: auto;
 
 
399
  }
400
 
401
  .ai-response-container code {
402
+ font-family: 'Courier New', monospace;
403
+ font-size: 0.9rem;
404
  }
405
 
406
+ /* ===== CONFIDENCE METER ===== */
407
  .confidence-meter {
408
+ margin-top: 15px;
409
+ display: flex;
410
+ align-items: center;
411
+ gap: 10px;
412
+ font-size: 0.9rem;
413
  }
414
 
415
  .meter-bar {
416
+ flex: 1;
417
+ height: 8px;
418
+ background: rgba(255, 255, 255, 0.1);
419
+ border-radius: 4px;
420
+ overflow: hidden;
421
  }
422
 
423
  .meter-fill {
424
+ height: 100%;
425
+ background: linear-gradient(90deg, #ef4444, #f59e0b, #10b981);
 
426
  }
427
 
428
+ /* ===== ERROR MESSAGES ===== */
429
  .error-message {
430
+ margin-top: 1.5rem;
431
+ padding: 1rem;
432
+ background: rgba(239, 68, 68, 0.2);
433
+ border-left: 3px solid #ef4444;
434
+ border-radius: 0 4px 4px 0;
 
435
  }
436
 
437
  .error-message-box {
438
+ display: flex;
439
+ align-items: center;
440
+ gap: 0.5rem;
441
  }
442
 
443
  .error-icon {
444
+ font-size: 1.2rem;
445
  }
446
 
447
+ /* ===== ANIMATIONS ===== */
448
+ @keyframes typing {
449
+ from { width: 0; }
450
+ to { width: 100%; }
451
  }
452
 
453
+ @keyframes glow {
454
+ 0% { text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 15px #3b82f6; }
455
+ 50% { text-shadow: 0 0 10px #fff, 0 0 20px #fff, 0 0 30px #3b82f6; }
456
+ 100% { text-shadow: 0 0 5px #fff, 0 0 10px #fff, 0 0 15px #3b82f6; }
 
 
 
 
457
  }
458
 
459
+ @keyframes fadeIn {
460
+ from { opacity: 0; transform: translateY(-10px); }
461
+ to { opacity: 1; transform: translateY(0); }
 
 
 
 
 
 
 
 
 
 
 
 
462
  }
463
 
464
+ .spinner {
465
+ width: 16px;
466
+ height: 16px;
467
+ border: 3px solid rgba(255, 255, 255, 0.3);
468
+ border-radius: 50%;
469
+ border-top-color: white;
470
+ animation: spin 1s linear infinite;
 
 
 
 
 
471
  }
472
 
473
+ @keyframes spin {
474
+ to { transform: rotate(360deg); }
475
+ }
476
 
477
+ .hidden {
478
+ display: none !important;
479
+ }
480
+
481
+ /* ===== RESPONSIVE DESIGN ===== */
482
+ @media (max-width: 768px) {
483
+ .cards {
484
+ flex-direction: column;
485
+ align-items: center;
486
+ }
487
+
488
+ .card {
489
+ width: 100%;
490
+ max-width: 350px;
491
+ }
492
+
493
+ h1 {
494
+ font-size: 2rem;
495
+ }
496
+ }
497
 
498
+ @media (max-width: 480px) {
499
+ main {
500
+ padding: 1rem;
501
+ }
502
+
503
+ .tool-section {
504
+ padding: 1rem;
505
+ }
506
+
507
+ .button-group {
508
+ flex-direction: column;
509
+ }
510
+ }