rdune71 commited on
Commit
bb8594e
·
1 Parent(s): 3ff2322
Files changed (1) hide show
  1. app.py +73 -111
app.py CHANGED
@@ -237,8 +237,8 @@ custom_css = """
237
  html, body {
238
  height: 100%;
239
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
240
- background-color: #f5f7fa;
241
- color: #333333;
242
  line-height: 1.6;
243
  }
244
 
@@ -254,10 +254,10 @@ html, body {
254
  text-align: center;
255
  margin-bottom: 30px;
256
  padding: 25px;
257
- background: linear-gradient(135deg, #1a6dcc, #0096c7);
258
  color: white;
259
  border-radius: 12px;
260
- box-shadow: 0 6px 15px rgba(0, 0, 0, 0.1);
261
  }
262
 
263
  .title {
@@ -283,44 +283,45 @@ html, body {
283
 
284
  /* Card styles */
285
  .card {
286
- background: #ffffff;
287
  border-radius: 12px;
288
- box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
289
  padding: 25px;
290
  margin-bottom: 25px;
291
  transition: all 0.3s ease;
292
- border: 1px solid #eaeaea;
 
293
  }
294
 
295
  .card:hover {
296
  transform: translateY(-3px);
297
- box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
298
  }
299
 
300
  .input-section {
301
- background: linear-gradient(to bottom right, #e3f2fd, #bbdefb);
302
- border: 1px solid #90caf9;
303
  }
304
 
305
  .output-section {
306
- background: #ffffff;
307
- border: 1px solid #e0e0e0;
308
  }
309
 
310
  /* Section headings */
311
  .card h3 {
312
- color: #1a6dcc;
313
  margin-bottom: 20px;
314
  font-size: 1.4rem;
315
  font-weight: 600;
316
- border-bottom: 2px solid #e3f2fd;
317
  padding-bottom: 10px;
318
  }
319
 
320
  /* Button styles */
321
  .btn-primary {
322
- background: linear-gradient(135deg, #1a6dcc, #0077b6);
323
- color: white;
324
  border: none;
325
  padding: 14px 28px;
326
  font-size: 17px;
@@ -328,7 +329,7 @@ html, body {
328
  cursor: pointer;
329
  transition: all 0.3s ease;
330
  font-weight: 600;
331
- box-shadow: 0 4px 10px rgba(26, 109, 204, 0.3);
332
  display: inline-block;
333
  width: 100%;
334
  text-align: center;
@@ -336,20 +337,20 @@ html, body {
336
 
337
  .btn-primary:hover {
338
  transform: translateY(-3px);
339
- box-shadow: 0 6px 15px rgba(26, 109, 204, 0.4);
340
- background: linear-gradient(135deg, #0077b6, #023e8a);
341
  }
342
 
343
  .btn-primary:active {
344
  transform: translateY(1px);
345
- box-shadow: 0 2px 5px rgba(26, 109, 204, 0.3);
346
  }
347
 
348
  /* Input fields */
349
  .gr-textbox, .gr-textbox input, .gr-textbox textarea {
350
- color: #333333 !important;
351
- background-color: #ffffff !important;
352
- border: 2px solid #cbd5e0 !important;
353
  border-radius: 8px !important;
354
  padding: 12px 15px !important;
355
  font-size: 16px !important;
@@ -358,21 +359,22 @@ html, body {
358
  }
359
 
360
  .gr-textbox:focus, .gr-textbox input:focus, .gr-textbox textarea:focus {
361
- border-color: #1a6dcc !important;
362
- box-shadow: 0 0 0 3px rgba(26, 109, 204, 0.2) !important;
363
  }
364
 
365
  /* File upload */
366
  .gr-file {
367
- border: 2px dashed #cbd5e0 !important;
368
  border-radius: 8px !important;
369
  padding: 15px !important;
370
- background-color: #f8fafc !important;
 
371
  }
372
 
373
  .gr-file:hover {
374
- border-color: #1a6dcc !important;
375
- background-color: #f0f7ff !important;
376
  }
377
 
378
  /* Checkbox */
@@ -382,73 +384,39 @@ html, body {
382
 
383
  .gr-checkbox label {
384
  font-size: 16px;
385
- color: #333333;
386
  display: flex;
387
  align-items: center;
388
  }
389
 
390
- /* Examples section */
391
- .examples {
392
- background: #f0f9ff;
393
- border-left: 4px solid #0096c7;
394
- padding: 15px;
395
- border-radius: 0 8px 8px 0;
396
- margin-top: 20px;
397
- }
398
-
399
- .examples h4 {
400
- color: #1a6dcc;
401
- margin-bottom: 10px;
402
- }
403
-
404
- .examples .gr-examples {
405
- display: grid;
406
- grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
407
- gap: 10px;
408
- margin-top: 10px;
409
- }
410
-
411
- .examples .gr-example-item {
412
- background: #e3f2fd;
413
- padding: 12px;
414
- border-radius: 8px;
415
- cursor: pointer;
416
- transition: all 0.2s ease;
417
- border: 1px solid #bbdefb;
418
- }
419
-
420
- .examples .gr-example-item:hover {
421
- background: #bbdefb;
422
- transform: translateX(5px);
423
- }
424
-
425
  /* Streaming content area */
426
  .streaming-content {
427
  white-space: pre-wrap;
428
  font-family: 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
429
- background-color: #f8fafc;
430
  padding: 20px;
431
  border-radius: 10px;
432
  margin: 15px 0;
433
- border-left: 5px solid #1a6dcc;
434
- box-shadow: inset 0 0 8px rgba(0, 0, 0, 0.05);
435
  min-height: 150px;
436
  max-height: 700px;
437
  overflow-y: auto;
438
- color: #333333;
439
  font-size: 16px;
440
  line-height: 1.7;
 
441
  }
442
 
443
  .streaming-content h2 {
444
- color: #1a6dcc;
445
- border-bottom: 2px solid #e3f2fd;
446
  padding-bottom: 10px;
447
  margin-top: 0;
448
  }
449
 
450
  .streaming-content h3 {
451
- color: #0077b6;
452
  margin-top: 20px;
453
  }
454
 
@@ -467,17 +435,17 @@ html, body {
467
  align-items: center;
468
  justify-content: center;
469
  padding: 12px;
470
- background: #e3f2fd;
471
  border-radius: 8px;
472
  margin: 15px 0;
473
- color: #1a6dcc;
474
  font-weight: 500;
475
- border: 1px solid #bbdefb;
476
  }
477
 
478
  .spinner {
479
- border: 4px solid #f3f3f3;
480
- border-top: 4px solid #1a6dcc;
481
  border-radius: 50%;
482
  width: 24px;
483
  height: 24px;
@@ -489,6 +457,7 @@ html, body {
489
  .progress-text {
490
  margin-left: 10px;
491
  font-weight: 500;
 
492
  }
493
 
494
  /* Footer */
@@ -496,67 +465,69 @@ html, body {
496
  text-align: center;
497
  margin-top: 30px;
498
  padding: 25px;
499
- color: #666666;
500
  font-size: 0.95rem;
501
- background: #f8fafc;
502
  border-radius: 10px;
503
- border-top: 1px solid #eaeaea;
504
  }
505
 
506
  .footer p {
507
  margin: 8px 0;
 
508
  }
509
 
510
  .highlight {
511
- background: linear-gradient(120deg, #e3f2fd, #bbdefb);
512
  padding: 3px 8px;
513
  border-radius: 5px;
514
  font-weight: 600;
515
- color: #1a6dcc;
516
  }
517
 
518
  /* Markdown content */
519
  .gr-markdown {
520
- color: #333333 !important;
521
  line-height: 1.7;
 
522
  }
523
 
524
  .gr-markdown h1, .gr-markdown h2, .gr-markdown h3,
525
  .gr-markdown h4, .gr-markdown h5, .gr-markdown h6 {
526
- color: #1a6dcc !important;
527
  margin-top: 1.5rem;
528
  margin-bottom: 1rem;
529
  }
530
 
531
  .gr-markdown p {
532
- color: #333333 !important;
533
  margin-bottom: 1rem;
534
  }
535
 
536
  .gr-markdown a {
537
- color: #1a6dcc !important;
538
  text-decoration: underline;
539
  }
540
 
541
  .gr-markdown a:hover {
542
- color: #0077b6 !important;
543
  }
544
 
545
  .gr-markdown code {
546
- background-color: #f1f5f9 !important;
547
  padding: 2px 6px !important;
548
  border-radius: 4px !important;
549
- color: #d63384 !important;
550
  font-size: 0.95em !important;
551
  }
552
 
553
  .gr-markdown pre {
554
- background-color: #f1f5f9 !important;
555
  padding: 15px !important;
556
  border-radius: 8px !important;
557
  overflow-x: auto !important;
558
- color: #333333 !important;
559
- border: 1px solid #e2e8f0 !important;
560
  }
561
 
562
  .gr-markdown pre code {
@@ -566,11 +537,12 @@ html, body {
566
  }
567
 
568
  .gr-markdown blockquote {
569
- border-left: 4px solid #1a6dcc !important;
570
  padding: 10px 20px !important;
571
- background-color: #f0f9ff !important;
572
  margin: 20px 0 !important;
573
  border-radius: 0 8px 8px 0 !important;
 
574
  }
575
 
576
  .gr-markdown table {
@@ -580,14 +552,15 @@ html, body {
580
  }
581
 
582
  .gr-markdown table th, .gr-markdown table td {
583
- border: 1px solid #cbd5e0 !important;
584
  padding: 10px !important;
585
  text-align: left !important;
 
586
  }
587
 
588
  .gr-markdown table th {
589
- background-color: #e3f2fd !important;
590
- color: #1a6dcc !important;
591
  }
592
 
593
  /* Animations */
@@ -632,12 +605,12 @@ html, body {
632
  /* High contrast mode support */
633
  @media (prefers-contrast: high) {
634
  body {
635
- background-color: #ffffff;
636
- color: #000000;
637
  }
638
 
639
  .card {
640
- border: 2px solid #000000;
641
  }
642
  }
643
  """
@@ -676,17 +649,6 @@ with gr.Blocks(css=custom_css, title="Research Assistant") as demo:
676
  value=False
677
  )
678
  submit_btn = gr.Button("Research", elem_classes=["btn-primary"])
679
-
680
- with gr.Group(elem_classes=["examples"]):
681
- gr.Markdown("### 💡 Example Queries")
682
- examples = gr.Examples(
683
- examples=[
684
- "Latest advancements in quantum computing",
685
- "Impact of climate change on global agriculture",
686
- "Recent developments in Alzheimer's treatment research"
687
- ],
688
- inputs=query_input
689
- )
690
 
691
  with gr.Column(scale=2):
692
  with gr.Group(elem_classes=["card", "output-section"]):
 
237
  html, body {
238
  height: 100%;
239
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
240
+ background-color: #2c3e50 !important;
241
+ color: #ecf0f1 !important;
242
  line-height: 1.6;
243
  }
244
 
 
254
  text-align: center;
255
  margin-bottom: 30px;
256
  padding: 25px;
257
+ background: linear-gradient(135deg, #3498db, #2980b9);
258
  color: white;
259
  border-radius: 12px;
260
+ box-shadow: 0 6px 15px rgba(0, 0, 0, 0.3);
261
  }
262
 
263
  .title {
 
283
 
284
  /* Card styles */
285
  .card {
286
+ background: #34495e !important;
287
  border-radius: 12px;
288
+ box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
289
  padding: 25px;
290
  margin-bottom: 25px;
291
  transition: all 0.3s ease;
292
+ border: 1px solid #2c3e50;
293
+ color: #ecf0f1 !important;
294
  }
295
 
296
  .card:hover {
297
  transform: translateY(-3px);
298
+ box-shadow: 0 8px 20px rgba(0, 0, 0, 0.4);
299
  }
300
 
301
  .input-section {
302
+ background: linear-gradient(to bottom right, #2c3e50, #34495e);
303
+ border: 1px solid #3498db;
304
  }
305
 
306
  .output-section {
307
+ background: #2c3e50 !important;
308
+ border: 1px solid #3498db;
309
  }
310
 
311
  /* Section headings */
312
  .card h3 {
313
+ color: #3498db !important;
314
  margin-bottom: 20px;
315
  font-size: 1.4rem;
316
  font-weight: 600;
317
+ border-bottom: 2px solid #3498db;
318
  padding-bottom: 10px;
319
  }
320
 
321
  /* Button styles */
322
  .btn-primary {
323
+ background: linear-gradient(135deg, #3498db, #2980b9);
324
+ color: white !important;
325
  border: none;
326
  padding: 14px 28px;
327
  font-size: 17px;
 
329
  cursor: pointer;
330
  transition: all 0.3s ease;
331
  font-weight: 600;
332
+ box-shadow: 0 4px 10px rgba(52, 152, 219, 0.4);
333
  display: inline-block;
334
  width: 100%;
335
  text-align: center;
 
337
 
338
  .btn-primary:hover {
339
  transform: translateY(-3px);
340
+ box-shadow: 0 6px 15px rgba(52, 152, 219, 0.6);
341
+ background: linear-gradient(135deg, #2980b9, #1c6ea4);
342
  }
343
 
344
  .btn-primary:active {
345
  transform: translateY(1px);
346
+ box-shadow: 0 2px 5px rgba(52, 152, 219, 0.4);
347
  }
348
 
349
  /* Input fields */
350
  .gr-textbox, .gr-textbox input, .gr-textbox textarea {
351
+ color: #ecf0f1 !important;
352
+ background-color: #34495e !important;
353
+ border: 2px solid #3498db !important;
354
  border-radius: 8px !important;
355
  padding: 12px 15px !important;
356
  font-size: 16px !important;
 
359
  }
360
 
361
  .gr-textbox:focus, .gr-textbox input:focus, .gr-textbox textarea:focus {
362
+ border-color: #1abc9c !important;
363
+ box-shadow: 0 0 0 3px rgba(26, 188, 156, 0.3) !important;
364
  }
365
 
366
  /* File upload */
367
  .gr-file {
368
+ border: 2px dashed #3498db !important;
369
  border-radius: 8px !important;
370
  padding: 15px !important;
371
+ background-color: #34495e !important;
372
+ color: #ecf0f1 !important;
373
  }
374
 
375
  .gr-file:hover {
376
+ border-color: #1abc9c !important;
377
+ background-color: #2c3e50 !important;
378
  }
379
 
380
  /* Checkbox */
 
384
 
385
  .gr-checkbox label {
386
  font-size: 16px;
387
+ color: #ecf0f1 !important;
388
  display: flex;
389
  align-items: center;
390
  }
391
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
392
  /* Streaming content area */
393
  .streaming-content {
394
  white-space: pre-wrap;
395
  font-family: 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
396
+ background-color: #34495e !important;
397
  padding: 20px;
398
  border-radius: 10px;
399
  margin: 15px 0;
400
+ border-left: 5px solid #3498db;
401
+ box-shadow: inset 0 0 8px rgba(0, 0, 0, 0.3);
402
  min-height: 150px;
403
  max-height: 700px;
404
  overflow-y: auto;
405
+ color: #ecf0f1 !important;
406
  font-size: 16px;
407
  line-height: 1.7;
408
+ border: 1px solid #2c3e50;
409
  }
410
 
411
  .streaming-content h2 {
412
+ color: #3498db !important;
413
+ border-bottom: 2px solid #3498db;
414
  padding-bottom: 10px;
415
  margin-top: 0;
416
  }
417
 
418
  .streaming-content h3 {
419
+ color: #1abc9c !important;
420
  margin-top: 20px;
421
  }
422
 
 
435
  align-items: center;
436
  justify-content: center;
437
  padding: 12px;
438
+ background: #34495e;
439
  border-radius: 8px;
440
  margin: 15px 0;
441
+ color: #3498db;
442
  font-weight: 500;
443
+ border: 1px solid #3498db;
444
  }
445
 
446
  .spinner {
447
+ border: 4px solid #2c3e50;
448
+ border-top: 4px solid #3498db;
449
  border-radius: 50%;
450
  width: 24px;
451
  height: 24px;
 
457
  .progress-text {
458
  margin-left: 10px;
459
  font-weight: 500;
460
+ color: #ecf0f1 !important;
461
  }
462
 
463
  /* Footer */
 
465
  text-align: center;
466
  margin-top: 30px;
467
  padding: 25px;
468
+ color: #bdc3c7 !important;
469
  font-size: 0.95rem;
470
+ background: #34495e;
471
  border-radius: 10px;
472
+ border-top: 1px solid #3498db;
473
  }
474
 
475
  .footer p {
476
  margin: 8px 0;
477
+ color: #ecf0f1 !important;
478
  }
479
 
480
  .highlight {
481
+ background: linear-gradient(120deg, #3498db, #2980b9);
482
  padding: 3px 8px;
483
  border-radius: 5px;
484
  font-weight: 600;
485
+ color: #ffffff;
486
  }
487
 
488
  /* Markdown content */
489
  .gr-markdown {
490
+ color: #ecf0f1 !important;
491
  line-height: 1.7;
492
+ background-color: #34495e !important;
493
  }
494
 
495
  .gr-markdown h1, .gr-markdown h2, .gr-markdown h3,
496
  .gr-markdown h4, .gr-markdown h5, .gr-markdown h6 {
497
+ color: #3498db !important;
498
  margin-top: 1.5rem;
499
  margin-bottom: 1rem;
500
  }
501
 
502
  .gr-markdown p {
503
+ color: #ecf0f1 !important;
504
  margin-bottom: 1rem;
505
  }
506
 
507
  .gr-markdown a {
508
+ color: #1abc9c !important;
509
  text-decoration: underline;
510
  }
511
 
512
  .gr-markdown a:hover {
513
+ color: #16a085 !important;
514
  }
515
 
516
  .gr-markdown code {
517
+ background-color: #2c3e50 !important;
518
  padding: 2px 6px !important;
519
  border-radius: 4px !important;
520
+ color: #f39c12 !important;
521
  font-size: 0.95em !important;
522
  }
523
 
524
  .gr-markdown pre {
525
+ background-color: #2c3e50 !important;
526
  padding: 15px !important;
527
  border-radius: 8px !important;
528
  overflow-x: auto !important;
529
+ color: #ecf0f1 !important;
530
+ border: 1px solid #3498db !important;
531
  }
532
 
533
  .gr-markdown pre code {
 
537
  }
538
 
539
  .gr-markdown blockquote {
540
+ border-left: 4px solid #3498db !important;
541
  padding: 10px 20px !important;
542
+ background-color: #2c3e50 !important;
543
  margin: 20px 0 !important;
544
  border-radius: 0 8px 8px 0 !important;
545
+ color: #ecf0f1 !important;
546
  }
547
 
548
  .gr-markdown table {
 
552
  }
553
 
554
  .gr-markdown table th, .gr-markdown table td {
555
+ border: 1px solid #3498db !important;
556
  padding: 10px !important;
557
  text-align: left !important;
558
+ color: #ecf0f1 !important;
559
  }
560
 
561
  .gr-markdown table th {
562
+ background-color: #2980b9 !important;
563
+ color: #ffffff !important;
564
  }
565
 
566
  /* Animations */
 
605
  /* High contrast mode support */
606
  @media (prefers-contrast: high) {
607
  body {
608
+ background-color: #1a1a1a !important;
609
+ color: #ffffff !important;
610
  }
611
 
612
  .card {
613
+ border: 2px solid #ffffff;
614
  }
615
  }
616
  """
 
649
  value=False
650
  )
651
  submit_btn = gr.Button("Research", elem_classes=["btn-primary"])
 
 
 
 
 
 
 
 
 
 
 
652
 
653
  with gr.Column(scale=2):
654
  with gr.Group(elem_classes=["card", "output-section"]):