Spaces:
Sleeping
Sleeping
| # Custom CSS for styling the leaderboard | |
| CUSTOM_CSS = """ | |
| /* Main container styling */ | |
| .gradio-container { | |
| font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; | |
| max-width: 1400px !important; | |
| margin: auto !important; | |
| } | |
| /* Header styling */ | |
| .header-text { | |
| text-align: center; | |
| padding: 20px; | |
| background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); | |
| color: white; | |
| border-radius: 10px; | |
| margin-bottom: 20px; | |
| } | |
| /* Tab styling */ | |
| .tabs { | |
| border-radius: 8px; | |
| overflow: hidden; | |
| } | |
| /* Leaderboard tab container */ | |
| .leaderboard-tab-container { | |
| max-height: calc(100vh - 250px); | |
| overflow-y: auto; | |
| overflow-x: hidden; | |
| padding-right: 10px; | |
| } | |
| /* Dataframe container */ | |
| .dataframe-container { | |
| max-height: 650px; | |
| overflow-y: auto; | |
| overflow-x: auto; | |
| margin: 10px 0; | |
| border: 1px solid #e0e0e0; | |
| border-radius: 8px; | |
| padding: 5px; | |
| } | |
| /* Table styling */ | |
| .dataframe { | |
| border-collapse: collapse !important; | |
| width: 100% !important; | |
| font-size: 14px !important; | |
| } | |
| .dataframe thead { | |
| background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important; | |
| color: white !important; | |
| position: sticky; | |
| top: 0; | |
| z-index: 10; | |
| } | |
| .dataframe thead th { | |
| padding: 12px 8px !important; | |
| font-weight: 600 !important; | |
| text-align: left !important; | |
| border-bottom: 2px solid #ddd !important; | |
| } | |
| .dataframe tbody tr { | |
| transition: background-color 0.2s ease; | |
| } | |
| .dataframe tbody tr:nth-child(odd) { | |
| background-color: #f9f9f9 !important; | |
| } | |
| .dataframe tbody tr:hover { | |
| background-color: #e8eaf6 !important; | |
| cursor: pointer; | |
| } | |
| .dataframe tbody td { | |
| padding: 10px 8px !important; | |
| border-bottom: 1px solid #ddd !important; | |
| } | |
| /* Rank column styling */ | |
| .dataframe tbody td:first-child { | |
| font-weight: bold; | |
| color: #667eea; | |
| } | |
| /* Top 3 rows highlighting */ | |
| .dataframe tbody tr:nth-child(1) td:first-child { | |
| color: #FFD700; | |
| font-size: 16px; | |
| } | |
| .dataframe tbody tr:nth-child(2) td:first-child { | |
| color: #C0C0C0; | |
| font-size: 16px; | |
| } | |
| .dataframe tbody tr:nth-child(3) td:first-child { | |
| color: #CD7F32; | |
| font-size: 16px; | |
| } | |
| /* Pagination controls */ | |
| .pagination-container { | |
| display: flex; | |
| justify-content: center; | |
| align-items: center; | |
| gap: 10px; | |
| margin-top: 15px; | |
| padding: 15px; | |
| } | |
| /* Button styling */ | |
| .pagination-btn { | |
| min-width: 100px; | |
| } | |
| /* Page info styling */ | |
| .page-info { | |
| font-size: 14px; | |
| font-weight: 600; | |
| color: #667eea; | |
| } | |
| /* Footer styling */ | |
| .footer-text { | |
| text-align: center; | |
| padding: 15px; | |
| color: #666; | |
| font-size: 12px; | |
| margin-top: 20px; | |
| } | |
| /* Dropdown styling */ | |
| .dropdown-container { | |
| margin: 10px 0; | |
| } | |
| """ | |