dev-yuje commited on
Commit
8c8e9d7
ยท
1 Parent(s): a766c96

fix: align submit button height, center input text, simplify titles, and clarify stats dashboard briefing

Browse files
Files changed (1) hide show
  1. app.py +65 -49
app.py CHANGED
@@ -326,16 +326,22 @@ def build_stats_html(stats: Dict[str, Any]) -> str:
326
  </div>
327
 
328
  <!-- ์ˆ˜์ง‘๋œ ๋ฐ์ดํ„ฐ ๊ทœ๋ชจ -->
329
- <div class="stats-grid" style="margin-top: 10px; margin-bottom: 15px;">
330
  <div class="stat-card" style="padding: 8px 10px;">
331
- <div class="stat-lbl">๐Ÿ“ฐ ์‹ค์‹œ๊ฐ„ ์ˆ˜์ง‘ ๋‰ด์Šค</div>
332
- <div class="stat-val" style="color: #334155;">{stats['articles']}๊ฐœ</div>
333
  </div>
334
  <div class="stat-card" style="padding: 8px 10px;">
335
- <div class="stat-lbl">๐Ÿงฌ ์ธ๊ณต์ง€๋Šฅ ์ง€์‹๋ง</div>
336
  <div class="stat-val" style="color: #334155;">{node_count}๊ฐœ</div>
337
  </div>
338
  </div>
 
 
 
 
 
 
339
 
340
  <div class="section-subtitle" style="color: #334155;">๐Ÿ’ก ์ตœ์‹  ๋‰ด์Šค ํ‚ค์›Œ๋“œ</div>
341
  <div class="keyword-container">
@@ -588,39 +594,39 @@ body {
588
  [class*="examples"] button {
589
  text-align: left !important;
590
  padding: 14px 18px !important;
591
- background: #f0fdf4 !important; /* ์‹ฑ๊ทธ๋Ÿฌ์šด ๋ฏผํŠธ/์—ฐ๊ทธ๋ฆฐ ๋ฐฐ๊ฒฝ */
592
- border: 1px solid #86efac !important; /* ๋ผ์ดํŠธ ์—๋ฉ”๋ž„๋“œ ํ…Œ๋‘๋ฆฌ */
593
  border-radius: 10px !important;
594
- font-size: 12px !important;
595
- font-weight: 750 !important;
596
- color: #0f766e !important; /* ๊นŠ์ด ์žˆ๋Š” ํ…Œ์ผ ๊ทธ๋ฆฐ ๊ธ€์”จ */
597
  line-height: 1.4 !important;
598
- box-shadow: 0 3px 6px rgba(20, 184, 166, 0.05) !important;
599
- transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
600
  white-space: normal !important;
601
  height: auto !important;
602
  min-height: 54px !important;
603
  cursor: pointer !important;
604
  }
605
  .dark [class*="examples"] button {
606
- background: rgba(20, 184, 166, 0.1) !important;
607
- border-color: rgba(45, 212, 191, 0.3) !important;
608
- color: #99f6e4 !important;
609
  }
610
  [class*="examples"] button:hover {
611
- transform: translateY(-2px) !important;
612
- background: #dcfce7 !important; /* ํ˜ธ๋ฒ„ ์‹œ ์•ฝ๊ฐ„ ๋” ์ง™์€ ๋ฏผํŠธ */
613
- border-color: #4ade80 !important;
614
- color: #15803d !important;
615
- box-shadow: 0 6px 12px rgba(20, 184, 166, 0.12) !important;
616
  }
617
  .dark [class*="examples"] button:hover {
618
- background: rgba(20, 184, 166, 0.25) !important;
619
- border-color: #2dd4bf !important;
620
  color: #ffffff !important;
621
  }
622
 
623
- /* ์ฑ—๋ด‡ ๋ฒ„ํŠผ ํ™•์‹คํ•œ ๋ธ”๋ฃจ ํฌ์ธํŠธ ์Šคํƒ€์ผ (์ „์†ก ๋ฒ„ํŠผ ๋ถ„๋ฆฌ ๋ฐ ์ด๋ฏธ์ง€ ์† ํŒŒ๋ž€ ์„œํด ์ปฌ๋Ÿฌ 100% ๋™๊ธฐํ™”) */
624
  button.primary,
625
  .primary-btn,
626
  button.lg.primary,
@@ -628,12 +634,12 @@ button.sm.primary,
628
  button.variant-primary,
629
  button[class*="submit-btn"],
630
  [data-testid="submit-button"] {
631
- background: linear-gradient(135deg, #0ea5e9 0%, #2563eb 100%) !important; /* ์„ ๋ช…ํ•œ ์˜ค์…˜ ๋ธ”๋ฃจ ๊ทธ๋ผ๋ฐ์ด์…˜ */
632
  color: white !important;
633
- font-weight: 850 !important;
634
- border: none !important;
635
  border-radius: 8px !important;
636
- box-shadow: 0 4px 6px rgba(37, 99, 235, 0.2) !important;
637
  transition: all 0.2s ease-in-out !important;
638
  cursor: pointer !important;
639
  }
@@ -642,8 +648,8 @@ button.primary:hover,
642
  button.variant-primary:hover,
643
  button[class*="submit-btn"]:hover,
644
  [data-testid="submit-button"]:hover {
645
- background: linear-gradient(135deg, #0284c7 0%, #1d4ed8 100%) !important;
646
- box-shadow: 0 6px 12px rgba(37, 99, 235, 0.35) !important;
647
  transform: translateY(-1px) !important;
648
  }
649
 
@@ -717,7 +723,7 @@ button.variant-secondary:hover,
717
  color: #f1f5f9 !important;
718
  }
719
 
720
- /* Chatbot ๋ผ๋ฒจ/ํƒญ์˜ ๋ณด๋ผ์ƒ‰ ์ƒ‰๊ฐ ์™„์ „ ์ œ๊ฑฐ ๋ฐ ์„ธ๋กœํ˜• ์˜คํ”„ํ™”์ดํŠธ ํ†ค ์ „ํ™˜ */
721
  .chatbot > div:first-child,
722
  [class*="chatbot"] > div:first-child,
723
  .chatbot-label,
@@ -727,11 +733,7 @@ div[class*="chatbot"] .label,
727
  div[class*="chatbot"] > div:first-child span,
728
  .gr-panel-title,
729
  .gr-chatbot-label {
730
- background-color: #f1f5f9 !important; /* ์ฐจ๋ถ„ํ•˜๊ณ  ์‹œ์›ํ•œ ๊ทธ๋ ˆ์ด/์Šฌ๋ ˆ์ดํŠธ */
731
- color: #0f172a !important; /* ๊ฒ€์ •์ƒ‰ ๊ธ€์”จ */
732
- border: 1px solid #cbd5e1 !important;
733
- font-weight: 800 !important;
734
- border-radius: 6px !important;
735
  }
736
 
737
  /* ์ฑ—๋ด‡ ๋ฉ”์ธ ์ปจํ…Œ์ด๋„ˆ ํˆฌ๋ช…ํ™” ๋ฐ ํ…Œ๋‘๋ฆฌ ๊น”๋”ํ™” */
@@ -745,18 +747,23 @@ div[class*="chatbot"] > div:first-child span,
745
  border-color: rgba(14, 165, 233, 0.15) !important;
746
  }
747
 
748
- /* ์ž…๋ ฅ์ฐฝ(ํ…์ŠคํŠธ์—์–ด๋ฆฌ์–ด) ์„ธ๋กœ ๋†’์ด ๋ฐ ํŒจ๋”ฉ ํ™•์žฅ */
749
  textarea,
750
  [class*="input-container"] textarea,
751
  [data-testid="textbox"] textarea {
 
752
  min-height: 58px !important;
 
753
  font-size: 13px !important;
754
- padding: 12px 16px !important;
755
  line-height: 1.5 !important;
756
  border-radius: 8px !important;
757
  border: 1px solid #cbd5e1 !important;
758
  background: rgba(255, 255, 255, 0.8) !important;
759
  color: #0f172a !important; /* ์ž…๋ ฅ ํ…์ŠคํŠธ ๊ฒ€์ •์ƒ‰ */
 
 
 
760
  }
761
  textarea:focus {
762
  border-color: #0ea5e9 !important; /* ํฌ์ปค์Šค ์‹œ ์Šค์นด์ด ๋ธ”๋ฃจ */
@@ -768,26 +775,45 @@ textarea:focus {
768
  color: white !important;
769
  }
770
 
771
- /* ์ฑ—๋ด‡ ์ž…๋ ฅ์ฐฝ๊ณผ ์ „์†ก ๋ฒ„ํŠผ ์—ฌ๋ฐฑ ๋ถ„๋ฆฌ */
772
  button[class*="submit-btn"],
773
  [data-testid="submit-button"],
774
  #submit-btn {
775
  margin-left: 12px !important;
776
  border-radius: 8px !important;
777
  min-width: 95px !important;
 
 
 
 
 
 
778
  }
779
  div:has(> button[class*="submit-btn"]),
780
  div:has(> [data-testid="submit-button"]),
781
  .input-container,
782
  [class*="input-container"] {
783
  gap: 12px !important;
 
784
  }
785
 
786
- /* ์ฑ—๋ด‡ ๋‹ต๋ณ€ ๋งˆํฌ๋‹ค์šด ๊ฐ€๋…์„ฑ ๋ฐ ์ž๊ฐ„/์ค„๊ฐ„๊ฒฉ ์ตœ์ ํ™” */
787
  .message p, .message li, [class*="message"] p, [class*="message"] li {
788
  line-height: 1.68 !important;
789
  margin-bottom: 14px !important;
790
  letter-spacing: -0.01em !important;
 
 
 
 
 
 
 
 
 
 
 
 
791
  }
792
  .message h3, [class*="message"] h3 {
793
  margin-top: 24px !important;
@@ -803,10 +829,8 @@ interface_kwargs = {
803
  placeholder="๋ถ„์„ํ•˜๊ณ  ์‹ถ์€ ๋‚ด์šฉ์„ ์ž์—ฐ์–ด๋กœ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”...",
804
  container=False,
805
  scale=7,
806
- submit_btn="์ „์†ก ๐Ÿ“ค",
807
  ),
808
- "title": "FinGraph โ€” GraphRAG AI Terminal",
809
- "description": "> ์ตœ์‹  AI ๋‰ด์Šค๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ์ถ•๋œ ์ง€์‹ ๊ทธ๋ž˜ํ”„(GraphRAG)์—์„œ ๋‹ต๋ณ€ํ•ฉ๋‹ˆ๋‹ค.",
810
  "examples": [
811
  "์‚ผ์„ฑ์ „์ž์˜ ์ตœ๊ทผ AI ๊ธฐ์ˆ  ํŠธ๋ Œ๋“œ๋Š”?",
812
  "์นด์นด์˜ค๊ฐ€ ๊ฐœ๋ฐœ ์ค‘์ธ AI ์„œ๏ฟฝ๏ฟฝ์Šค ๋ชฉ๋ก์„ ์•Œ๋ ค์ค˜",
@@ -856,14 +880,6 @@ with gr.Blocks(**blocks_kwargs) as demo:
856
 
857
  # 3. ์˜ค๋ฅธ์ชฝ ์ปฌ๋Ÿผ: ๋ฉ”์ธ ์ฑ—๋ด‡ ์—์–ด๋ฆฌ์–ด - 3:7 split์„ ์œ„ํ•ด scale=7 ์„ค์ •
858
  with gr.Column(scale=7, min_width=500):
859
- # ๋ฉ”์ธ ํƒ€์ดํ‹€ (์ฑ—๋ด‡ ์˜์—ญ ์ƒ๋‹จ ์ค‘์•™)
860
- gr.HTML("""
861
- <div style="text-align: center; padding: 10px 0 20px 0;">
862
- <h2 style="font-size: 18px; font-weight: 900; color: #0f172a; margin-bottom: 5px; display: flex; align-items: center; justify-content: center; gap: 8px;">๐Ÿงฌ FinGraph โ€” GraphRAG AI Terminal</h2>
863
- <p style="color: #475569; font-size: 13px; font-weight: 500;">์ตœ์‹  AI ๋‰ด์Šค๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ์ถ•๋œ ์ง€์‹ ๊ทธ๋ž˜ํ”„(GraphRAG)์—์„œ ๋‹ต๋ณ€ํ•ฉ๋‹ˆ๋‹ค.</p>
864
- </div>
865
- """)
866
-
867
  # ChatInterface without redundant titles/descriptions
868
  chatbot_interface_kwargs = interface_kwargs.copy()
869
  chatbot_interface_kwargs.pop("title", None)
 
326
  </div>
327
 
328
  <!-- ์ˆ˜์ง‘๋œ ๋ฐ์ดํ„ฐ ๊ทœ๋ชจ -->
329
+ <div class="stats-grid" style="margin-top: 10px; margin-bottom: 8px;">
330
  <div class="stat-card" style="padding: 8px 10px;">
331
+ <div class="stat-lbl">๐Ÿ“ฐ ๋ถ„์„์šฉ ๋‰ด์Šค ๊ธฐ์‚ฌ</div>
332
+ <div class="stat-val" style="color: #334155;">{stats['articles']}๊ฑด</div>
333
  </div>
334
  <div class="stat-card" style="padding: 8px 10px;">
335
+ <div class="stat-lbl">๐Ÿงฌ ์ถ”์ถœ๋œ ์ง€์‹ ์—ฐ๊ฒฐ๋ง</div>
336
  <div class="stat-val" style="color: #334155;">{node_count}๊ฐœ</div>
337
  </div>
338
  </div>
339
+
340
+ <!-- ๋ฐ์ดํ„ฐ ๋ฐฐ๊ฒฝ ์ •๋ณด ์„ค๋ช… ํŒจ๋„ (์‚ฌ์šฉ์ž ์ดํ•ด๋ฅผ ๋•๋Š” ๋ฐฐ๊ฒฝ ์ •๋ณด ์นœ์ ˆ ์„œ์ˆ ) -->
341
+ <div style="font-size: 11px; color: #475569; line-height: 1.5; margin-top: 8px; margin-bottom: 15px; padding: 10px; background: rgba(241, 245, 249, 0.7); border: 1px solid #cbd5e1; border-radius: 8px;">
342
+ โ„น๏ธ <b>๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ๋ฐฐ๊ฒฝ ์ •๋ณด</b><br>
343
+ ์‹ค์‹œ๊ฐ„ ๋‰ด์Šค ์›น ํฌ๋กค๋Ÿฌ๊ฐ€ ๊ตญ๋‚ด IT/๊ธˆ์œต ๊ธฐ์‚ฌ <b>{stats['articles']}๊ฑด</b>์„ ์ •๋ฐ€ ์ˆ˜์ง‘ํ•˜์˜€์œผ๋ฉฐ, ๋‰ด์Šค ๋ณธ๋ฌธ์„ ๋ถ„์„ํ•˜์—ฌ ๊ธฐ์‚ฌ ์† ์ฃผ์š” ๊ธฐ์—…ยทํ•ต์‹ฌ ๊ธฐ์ˆ ยท์„œ๋น„์Šค ๊ฐ„์˜ ์ž…์ฒด์  ์—ฐ๊ด€ ๊ด€๊ณ„ <b>{node_count}๊ฐœ</b>๋ฅผ ์—ฐ๊ฒฐ๋ง(์ง€์‹ ๊ทธ๋ž˜ํ”„)์œผ๋กœ ์™„๋ฒฝํ•˜๊ฒŒ ์—ฐ๋™ํ•˜์˜€์Šต๋‹ˆ๋‹ค.
344
+ </div>
345
 
346
  <div class="section-subtitle" style="color: #334155;">๐Ÿ’ก ์ตœ์‹  ๋‰ด์Šค ํ‚ค์›Œ๋“œ</div>
347
  <div class="keyword-container">
 
594
  [class*="examples"] button {
595
  text-align: left !important;
596
  padding: 14px 18px !important;
597
+ background: #ffffff !important; /* ๊นจ๋—ํ•˜๊ณ  ๋‹จ์ •ํ•œ ํ™”์ดํŠธ */
598
+ border: 1px solid #cbd5e1 !important; /* ์†Œํ”„ํŠธํ•œ ์Šฌ๋ ˆ์ดํŠธ ํ…Œ๋‘๋ฆฌ */
599
  border-radius: 10px !important;
600
+ font-size: 13px !important;
601
+ font-weight: 600 !important;
602
+ color: #0f172a !important; /* ๋‹จ์ •ํ•œ ๊ฒ€์ •์ƒ‰ */
603
  line-height: 1.4 !important;
604
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02) !important;
605
+ transition: all 0.2s ease-in-out !important;
606
  white-space: normal !important;
607
  height: auto !important;
608
  min-height: 54px !important;
609
  cursor: pointer !important;
610
  }
611
  .dark [class*="examples"] button {
612
+ background: rgba(30, 41, 59, 0.5) !important;
613
+ border-color: rgba(148, 163, 184, 0.2) !important;
614
+ color: #e2e8f0 !important;
615
  }
616
  [class*="examples"] button:hover {
617
+ transform: translateY(-1px) !important;
618
+ background: #f8fafc !important; /* ์•„์ฃผ ์˜…์€ ์˜คํ”„ํ™”์ดํŠธ ํ˜ธ๋ฒ„ */
619
+ border-color: #94a3b8 !important;
620
+ color: #0f172a !important;
621
+ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.06) !important;
622
  }
623
  .dark [class*="examples"] button:hover {
624
+ background: rgba(30, 41, 59, 0.85) !important;
625
+ border-color: rgba(148, 163, 184, 0.4) !important;
626
  color: #ffffff !important;
627
  }
628
 
629
+ /* ์ฑ—๋ด‡ ์ „์†ก ๋ฒ„ํŠผ ํ”„๋ฆฌ๋ฏธ์—„ ๋‹คํฌ ์Šฌ๋ ˆ์ดํŠธ ์Šคํƒ€์ผ (์ด์ƒํ•œ ๊ทธ๋ผ๋ฐ์ด์…˜ ์ œ๊ฑฐ, ๋‹จ์ •ํ•˜๊ณ  ์ผ๊ด€์„ฑ ์žˆ๋Š” ์ƒ‰๊ฐ) */
630
  button.primary,
631
  .primary-btn,
632
  button.lg.primary,
 
634
  button.variant-primary,
635
  button[class*="submit-btn"],
636
  [data-testid="submit-button"] {
637
+ background: #1e293b !important; /* ํ”„๋ฆฌ๋ฏธ์—„ ๋‹คํฌ ์Šฌ๋ ˆ์ดํŠธ ์ฐจ์ฝœ */
638
  color: white !important;
639
+ font-weight: 700 !important;
640
+ border: 1px solid #0f172a !important;
641
  border-radius: 8px !important;
642
+ box-shadow: 0 2px 4px rgba(15, 23, 42, 0.08) !important;
643
  transition: all 0.2s ease-in-out !important;
644
  cursor: pointer !important;
645
  }
 
648
  button.variant-primary:hover,
649
  button[class*="submit-btn"]:hover,
650
  [data-testid="submit-button"]:hover {
651
+ background: #0f172a !important; /* ํ˜ธ๋ฒ„ ์‹œ ๋”ฅ ๋ธ”๋ž™ */
652
+ box-shadow: 0 4px 8px rgba(15, 23, 42, 0.15) !important;
653
  transform: translateY(-1px) !important;
654
  }
655
 
 
723
  color: #f1f5f9 !important;
724
  }
725
 
726
+ /* Chatbot ๋ผ๋ฒจ/ํƒญ ์™„์ „ ์ˆจ๊น€ (๋ถˆํ•„์š”ํ•œ ๋ณด๋ผ์ƒ‰/ํ•˜๋Š˜์ƒ‰ ์ƒ‰์ƒ ๋ฐ ํ…Œ๋‘๋ฆฌ ์›์ฒœ ์ฐจ๋‹จ) */
727
  .chatbot > div:first-child,
728
  [class*="chatbot"] > div:first-child,
729
  .chatbot-label,
 
733
  div[class*="chatbot"] > div:first-child span,
734
  .gr-panel-title,
735
  .gr-chatbot-label {
736
+ display: none !important;
 
 
 
 
737
  }
738
 
739
  /* ์ฑ—๋ด‡ ๋ฉ”์ธ ์ปจํ…Œ์ด๋„ˆ ํˆฌ๋ช…ํ™” ๋ฐ ํ…Œ๋‘๋ฆฌ ๊น”๋”ํ™” */
 
747
  border-color: rgba(14, 165, 233, 0.15) !important;
748
  }
749
 
750
+ /* ์ž…๋ ฅ์ฐฝ(ํ…์ŠคํŠธ์—์–ด๋ฆฌ์–ด) ์„ธ๋กœ ๋†’์ด ๋ฐ ๋‹จ์ผ ํ–‰ ์ˆ˜์ง ์ค‘์•™ ์ •๋ ฌ ์ตœ์ ํ™” */
751
  textarea,
752
  [class*="input-container"] textarea,
753
  [data-testid="textbox"] textarea {
754
+ height: 58px !important;
755
  min-height: 58px !important;
756
+ max-height: 58px !important;
757
  font-size: 13px !important;
758
+ padding: 18px 16px !important; /* ์œ„์•„๋ž˜ ํŒจ๋”ฉ์„ 18px๋กœ ๋Œ€์นญ ์กฐ์ ˆํ•˜์—ฌ ํ…์ŠคํŠธ๊ฐ€ ์ˆ˜์ง ์ •์ค‘์•™์— ์™„๋ฒฝํ•˜๊ฒŒ ๋ฐฐ์น˜ */
759
  line-height: 1.5 !important;
760
  border-radius: 8px !important;
761
  border: 1px solid #cbd5e1 !important;
762
  background: rgba(255, 255, 255, 0.8) !important;
763
  color: #0f172a !important; /* ์ž…๋ ฅ ํ…์ŠคํŠธ ๊ฒ€์ •์ƒ‰ */
764
+ resize: none !important; /* ์„ธ๋กœ ํฌ๊ธฐ ์กฐ์ ˆ ๋ฐฉ์ง€ */
765
+ overflow-y: hidden !important; /* ์Šคํฌ๋กค๋ฐ” ๊ฐ์ถค */
766
+ box-sizing: border-box !important;
767
  }
768
  textarea:focus {
769
  border-color: #0ea5e9 !important; /* ํฌ์ปค์Šค ์‹œ ์Šค์นด์ด ๋ธ”๋ฃจ */
 
775
  color: white !important;
776
  }
777
 
778
+ /* ์ฑ—๋ด‡ ์ž…๋ ฅ์ฐฝ๊ณผ ์ „์†ก ๋ฒ„ํŠผ ์„ธ๋กœ ๋†’์ด ์™„๋ฒฝ ๋™๊ธฐํ™” ๋ฐ ์—ฌ๋ฐฑ ๋ถ„๋ฆฌ */
779
  button[class*="submit-btn"],
780
  [data-testid="submit-button"],
781
  #submit-btn {
782
  margin-left: 12px !important;
783
  border-radius: 8px !important;
784
  min-width: 95px !important;
785
+ height: 58px !important; /* ์ž…๋ ฅ์ฐฝ์˜ height(58px)์™€ 100% ๋™์ผํ•˜๊ฒŒ ์ผ์น˜์‹œ์ผœ ์™„๋ฒฝํ•œ ๋Œ€์นญ ๊ตฌ์กฐ ๋‹ฌ์„ฑ */
786
+ padding: 0 16px !important;
787
+ display: flex !important;
788
+ align-items: center !important;
789
+ justify-content: center !important;
790
+ box-sizing: border-box !important;
791
  }
792
  div:has(> button[class*="submit-btn"]),
793
  div:has(> [data-testid="submit-button"]),
794
  .input-container,
795
  [class*="input-container"] {
796
  gap: 12px !important;
797
+ align-items: center !important; /* ์ˆ˜์ง์ถ• ๊ธฐ์ค€์œผ๋กœ ์ค‘์•™ ์ •๋ ฌ */
798
  }
799
 
800
+ /* ์ฑ—๋ด‡ ๋‹ต๋ณ€ ๋งˆํฌ๋‹ค์šด ๊ฐ€๋…์„ฑ ๋ฐ ์ž๊ฐ„/์ค„๊ฐ„๊ฒฉ ์ตœ์ ํ™” (์ธ๋ผ์ธ ์š”์–‘์˜ ์ˆ˜์ง ์„ /๋ณด๋” ์›์ฒœ ์ฐจ๋‹จ) */
801
  .message p, .message li, [class*="message"] p, [class*="message"] li {
802
  line-height: 1.68 !important;
803
  margin-bottom: 14px !important;
804
  letter-spacing: -0.01em !important;
805
+ border: none !important;
806
+ border-left: none !important;
807
+ border-right: none !important;
808
+ box-shadow: none !important;
809
+ }
810
+ .message blockquote, [class*="message"] blockquote {
811
+ border: none !important;
812
+ border-left: none !important;
813
+ border-right: none !important;
814
+ padding: 0 !important;
815
+ margin: 0 !important;
816
+ box-shadow: none !important;
817
  }
818
  .message h3, [class*="message"] h3 {
819
  margin-top: 24px !important;
 
829
  placeholder="๋ถ„์„ํ•˜๊ณ  ์‹ถ์€ ๋‚ด์šฉ์„ ์ž์—ฐ์–ด๋กœ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”...",
830
  container=False,
831
  scale=7,
832
+ submit_btn="์ „์†ก",
833
  ),
 
 
834
  "examples": [
835
  "์‚ผ์„ฑ์ „์ž์˜ ์ตœ๊ทผ AI ๊ธฐ์ˆ  ํŠธ๋ Œ๋“œ๋Š”?",
836
  "์นด์นด์˜ค๊ฐ€ ๊ฐœ๋ฐœ ์ค‘์ธ AI ์„œ๏ฟฝ๏ฟฝ์Šค ๋ชฉ๋ก์„ ์•Œ๋ ค์ค˜",
 
880
 
881
  # 3. ์˜ค๋ฅธ์ชฝ ์ปฌ๋Ÿผ: ๋ฉ”์ธ ์ฑ—๋ด‡ ์—์–ด๋ฆฌ์–ด - 3:7 split์„ ์œ„ํ•ด scale=7 ์„ค์ •
882
  with gr.Column(scale=7, min_width=500):
 
 
 
 
 
 
 
 
883
  # ChatInterface without redundant titles/descriptions
884
  chatbot_interface_kwargs = interface_kwargs.copy()
885
  chatbot_interface_kwargs.pop("title", None)