TomLii commited on
Commit
625bf6c
·
1 Parent(s): b361d04

Match two logo sizes with rounded frame; drop OSU caption; flatten Settings inner form

Browse files
Files changed (1) hide show
  1. app.py +73 -114
app.py CHANGED
@@ -275,7 +275,7 @@ gradio-app > div {
275
  /* --- TOP BANNER --- */
276
  .top-banner {
277
  align-items: center !important;
278
- padding: 28px 0 12px 0;
279
  margin-bottom: 8px;
280
  gap: 0 !important;
281
  }
@@ -284,35 +284,7 @@ gradio-app > div {
284
  display: flex !important;
285
  flex-direction: column !important;
286
  align-items: center !important;
287
- gap: 8px !important;
288
- }
289
- .banner-quest-logo img {
290
- width: auto !important;
291
- max-width: 520px !important;
292
- max-height: 160px !important;
293
- height: auto !important;
294
- object-fit: contain !important;
295
- border-radius: 0 !important;
296
- background: transparent !important;
297
- border: none !important;
298
- box-shadow: none !important;
299
- margin: 0 auto !important;
300
- display: block !important;
301
- }
302
- .banner-quest-logo,
303
- .banner-quest-logo .image-container,
304
- .banner-quest-logo .image-frame,
305
- .banner-quest-logo > div,
306
- .banner-quest-logo button {
307
- background: transparent !important;
308
- border: none !important;
309
- box-shadow: none !important;
310
- }
311
- .banner-quest-logo .icon-button-wrapper,
312
- .banner-quest-logo [aria-label*="hare" i],
313
- .banner-quest-logo [aria-label*="ownload" i],
314
- .banner-quest-logo [aria-label*="ullscreen" i] {
315
- display: none !important;
316
  }
317
  .banner-subtitle {
318
  color: #4a6a8c;
@@ -323,17 +295,13 @@ gradio-app > div {
323
  margin: 0;
324
  }
325
 
326
- .banner-right { justify-content: flex-end; display: flex; }
327
- .osu-nlp-mark {
328
- display: flex !important;
329
- flex-wrap: nowrap !important;
330
- align-items: center !important;
331
- justify-content: flex-end !important;
332
- gap: 12px !important;
333
- padding: 4px 4px 4px 12px;
334
- width: auto !important;
335
- background: transparent !important;
336
- }
337
  .osu-nlp-logo,
338
  .osu-nlp-logo .image-container,
339
  .osu-nlp-logo .image-frame,
@@ -342,35 +310,53 @@ gradio-app > div {
342
  background: transparent !important;
343
  border: none !important;
344
  box-shadow: none !important;
345
- width: auto !important;
346
- max-width: 52px !important;
347
- }
348
- .osu-nlp-logo img {
349
- width: 52px !important;
350
- height: 52px !important;
351
- object-fit: contain !important;
352
- background: transparent !important;
353
- border: none !important;
354
- box-shadow: none !important;
355
- border-radius: 0 !important;
356
  }
 
 
 
 
357
  .osu-nlp-logo .icon-button-wrapper,
358
  .osu-nlp-logo [aria-label*="hare" i],
359
  .osu-nlp-logo [aria-label*="ownload" i],
360
  .osu-nlp-logo [aria-label*="ullscreen" i] {
361
  display: none !important;
362
  }
363
- .osu-nlp-caption {
364
- font-size: 12px !important;
365
- line-height: 1.25 !important;
366
- font-weight: 600 !important;
367
- color: #1d4ed8 !important;
368
- text-decoration: none !important;
369
- white-space: nowrap !important;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
370
  }
371
- .osu-nlp-caption:hover {
372
- color: #1e3a8a !important;
 
373
  }
 
374
 
375
  /* --- LEFT/RIGHT layout --- */
376
  .layout-gap { gap: 24px !important; align-items: flex-start; }
@@ -387,44 +373,6 @@ gradio-app > div {
387
  margin-bottom: 14px !important;
388
  }
389
 
390
- /* --- LOGO --- */
391
- .banner-logo-image,
392
- .banner-logo-image .image-container,
393
- .banner-logo-image .image-frame,
394
- .banner-logo-image > div,
395
- .banner-logo-image button {
396
- background: transparent !important;
397
- border: none !important;
398
- box-shadow: none !important;
399
- border-radius: 18px !important;
400
- overflow: hidden !important;
401
- }
402
- .banner-logo-image img {
403
- width: 100%;
404
- max-width: 360px;
405
- height: auto;
406
- object-fit: contain;
407
- border-radius: 18px !important;
408
- background: transparent !important;
409
- border: none !important;
410
- box-shadow: none !important;
411
- }
412
- /* Strip ONLY the overlay icon buttons (share / download / fullscreen). Do NOT touch
413
- the wrapper <button> that Gradio uses to render the image itself, otherwise the
414
- logo disappears. */
415
- .banner-logo-image .icon-button-wrapper,
416
- .banner-logo-image .source-selection,
417
- .banner-logo-image .icon-buttons,
418
- .banner-logo-image .icon-button,
419
- .banner-logo-image [aria-label*="hare" i],
420
- .banner-logo-image [aria-label*="ownload" i],
421
- .banner-logo-image [aria-label*="ullscreen" i],
422
- .banner-logo-image button[title*="hare" i],
423
- .banner-logo-image button[title*="ownload" i],
424
- .banner-logo-image button[title*="ullscreen" i] {
425
- display: none !important;
426
- }
427
-
428
  /* --- SECTION CARDS --- */
429
  /* `section-card` becomes a real white rounded card with soft blue shadow, no grey. */
430
  .section-card {
@@ -537,9 +485,25 @@ gradio-app > div {
537
  --panel-background-fill: transparent;
538
  --panel-border-width: 0px;
539
  --background-fill-secondary: transparent;
 
 
 
 
 
540
  /* Allow dropdown popups / overflowing content to escape the card. */
541
  overflow: visible !important;
542
  }
 
 
 
 
 
 
 
 
 
 
 
543
  .section-card .block,
544
  .section-card .form,
545
  .section-card .gr-form,
@@ -1249,21 +1213,16 @@ with gr.Blocks(
1249
  '<div class="banner-subtitle">A deep research agent for multi-source investigation</div>'
1250
  )
1251
  with gr.Column(scale=1, elem_classes="banner-side banner-right"):
1252
- with gr.Row(elem_classes="osu-nlp-mark"):
1253
- gr.Image(
1254
- value=OSU_NLP_LOGO_PATH,
1255
- show_label=False,
1256
- container=False,
1257
- interactive=False,
1258
- show_download_button=False,
1259
- show_fullscreen_button=False,
1260
- show_share_button=False,
1261
- elem_classes="osu-nlp-logo",
1262
- )
1263
- gr.HTML(
1264
- f'<a class="osu-nlp-caption" href="{OSU_NLP_URL}" target="_blank" rel="noopener noreferrer">'
1265
- 'The Ohio State University<br/>NLP Group</a>'
1266
- )
1267
 
1268
  # --- Main two-column layout ---
1269
  with gr.Row(elem_classes="layout-gap"):
 
275
  /* --- TOP BANNER --- */
276
  .top-banner {
277
  align-items: center !important;
278
+ padding: 28px 0 16px 0;
279
  margin-bottom: 8px;
280
  gap: 0 !important;
281
  }
 
284
  display: flex !important;
285
  flex-direction: column !important;
286
  align-items: center !important;
287
+ gap: 10px !important;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
288
  }
289
  .banner-subtitle {
290
  color: #4a6a8c;
 
295
  margin: 0;
296
  }
297
 
298
+ /* Shared logo chrome: both Quest and OSU NLP get the same rounded frame so they
299
+ look like a pair. Height is fixed so their visual weight matches. */
300
+ .banner-quest-logo,
301
+ .banner-quest-logo .image-container,
302
+ .banner-quest-logo .image-frame,
303
+ .banner-quest-logo > div,
304
+ .banner-quest-logo button,
 
 
 
 
305
  .osu-nlp-logo,
306
  .osu-nlp-logo .image-container,
307
  .osu-nlp-logo .image-frame,
 
310
  background: transparent !important;
311
  border: none !important;
312
  box-shadow: none !important;
 
 
 
 
 
 
 
 
 
 
 
313
  }
314
+ .banner-quest-logo .icon-button-wrapper,
315
+ .banner-quest-logo [aria-label*="hare" i],
316
+ .banner-quest-logo [aria-label*="ownload" i],
317
+ .banner-quest-logo [aria-label*="ullscreen" i],
318
  .osu-nlp-logo .icon-button-wrapper,
319
  .osu-nlp-logo [aria-label*="hare" i],
320
  .osu-nlp-logo [aria-label*="ownload" i],
321
  .osu-nlp-logo [aria-label*="ullscreen" i] {
322
  display: none !important;
323
  }
324
+ .banner-quest-logo img {
325
+ height: 96px !important;
326
+ width: auto !important;
327
+ max-width: 100% !important;
328
+ object-fit: contain !important;
329
+ border-radius: 18px !important;
330
+ background: transparent !important;
331
+ border: none !important;
332
+ box-shadow: 0 8px 22px rgba(37,99,235,0.08) !important;
333
+ margin: 0 auto !important;
334
+ display: block !important;
335
+ padding: 6px 12px !important;
336
+ }
337
+ .banner-right {
338
+ display: flex !important;
339
+ justify-content: flex-end !important;
340
+ align-items: center !important;
341
+ }
342
+ .osu-nlp-logo img {
343
+ height: 96px !important;
344
+ width: auto !important;
345
+ max-width: 100% !important;
346
+ object-fit: contain !important;
347
+ border-radius: 18px !important;
348
+ background: transparent !important;
349
+ border: none !important;
350
+ box-shadow: 0 8px 22px rgba(37,99,235,0.08) !important;
351
+ padding: 6px 12px !important;
352
+ margin-left: auto !important;
353
+ display: block !important;
354
  }
355
+ .osu-nlp-logo {
356
+ cursor: pointer;
357
+ transition: transform .15s ease;
358
  }
359
+ .osu-nlp-logo:hover img { transform: translateY(-1px); }
360
 
361
  /* --- LEFT/RIGHT layout --- */
362
  .layout-gap { gap: 24px !important; align-items: flex-start; }
 
373
  margin-bottom: 14px !important;
374
  }
375
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
376
  /* --- SECTION CARDS --- */
377
  /* `section-card` becomes a real white rounded card with soft blue shadow, no grey. */
378
  .section-card {
 
485
  --panel-background-fill: transparent;
486
  --panel-border-width: 0px;
487
  --background-fill-secondary: transparent;
488
+ /* Gradio 5's auto-form uses `background: var(--border-color-primary)`; making
489
+ that transparent inside a section-card eliminates the inner blue rectangle
490
+ around Dropdown + Slider groups. Inputs use --input-border-color instead,
491
+ so they keep their blue border. */
492
+ --border-color-primary: transparent;
493
  /* Allow dropdown popups / overflowing content to escape the card. */
494
  overflow: visible !important;
495
  }
496
+ /* Catch the auto-form and its immediate wrappers regardless of svelte hash:
497
+ they are direct descendant divs of a section-card that have `display:flex`
498
+ from Gradio defaults. Strip all visual chrome, but keep spacing. */
499
+ .section-card > div,
500
+ .section-card > div > div,
501
+ .section-card > div > div > div {
502
+ background: transparent !important;
503
+ border: none !important;
504
+ box-shadow: none !important;
505
+ overflow: visible !important;
506
+ }
507
  .section-card .block,
508
  .section-card .form,
509
  .section-card .gr-form,
 
1213
  '<div class="banner-subtitle">A deep research agent for multi-source investigation</div>'
1214
  )
1215
  with gr.Column(scale=1, elem_classes="banner-side banner-right"):
1216
+ gr.Image(
1217
+ value=OSU_NLP_LOGO_PATH,
1218
+ show_label=False,
1219
+ container=False,
1220
+ interactive=False,
1221
+ show_download_button=False,
1222
+ show_fullscreen_button=False,
1223
+ show_share_button=False,
1224
+ elem_classes="osu-nlp-logo",
1225
+ )
 
 
 
 
 
1226
 
1227
  # --- Main two-column layout ---
1228
  with gr.Row(elem_classes="layout-gap"):