custom_css = """ .logo { width: 300px; height: auto; margin: 0 auto; max-width: 100% object-fit: contain; } .text { font-size: 16px !important; } .tabs button { font-size: 20px; } .subtabs button { font-size: 20px; } .descriptive-text span { font-size: 16px !important; } #control-panel span { font-size: 20px !important; } #search-bar span { font-size: 16px !important; } #threshold-slider span { font-size: 16px !important; } #memory-slider span { font-size: 16px !important; } #columns-checkboxes span { font-size: 16px !important; } #backend-checkboxes span { font-size: 16px !important; } #dtype-checkboxes span { font-size: 16px !important; } #optimization-checkboxes span { font-size: 16px !important; } #quantization-checkboxes span { font-size: 16px !important; } #kernel-checkboxes span { font-size: 16px !important; } /* Hide Gradio's built-in sorting dropdown */ .gradio-container .dataframe .sort-dropdown, .gradio-container .dataframe .sort-button, .gradio-container .dataframe .sort-icon, .gradio-container .dataframe [data-testid="sort-dropdown"], .gradio-container .dataframe button[aria-label*="sort"], .gradio-container .dataframe .dropdown-menu, .gradio-container .dataframe .dropdown, .gradio-container .dataframe select, .gradio-container .dataframe .sort-menu, .gradio-container .dataframe .header-menu, .gradio-container .dataframe .column-menu, .gradio-dataframe .sort-dropdown, .gradio-dataframe .sort-button, .gradio-dataframe .sort-icon, .gradio-dataframe [data-testid="sort-dropdown"], .gradio-dataframe button[aria-label*="sort"], .gradio-dataframe .dropdown-menu, .gradio-dataframe .dropdown, .gradio-dataframe select, .gradio-dataframe .sort-menu, .gradio-dataframe .header-menu, .gradio-dataframe .column-menu { display: none !important; visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; } /* Leaderboard table container */ #leaderboard-table, .gradio-container .gradio-dataframe { max-height: 650px !important; overflow: auto !important; width: 100% !important; border: 1px solid #ddd !important; border-radius: 8px !important; box-sizing: border-box !important; background: white !important; } /* Table structure */ .gradio-container .gradio-dataframe table, #leaderboard-table table { width: 100% !important; table-layout: auto !important; border-collapse: collapse !important; display: table !important; margin: 0 !important; background: white !important; } /* Table headers */ .gradio-container .gradio-dataframe th, .sortable-table th { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important; color: white !important; font-weight: 600 !important; font-size: 16px !important; padding: 16px 12px !important; border: 1px solid rgba(255,255,255,0.2) !important; cursor: pointer !important; text-align: center !important; position: sticky !important; top: 0 !important; z-index: 10 !important; white-space: nowrap !important; user-select: none !important; transition: all 0.2s ease !important; line-height: 1.4 !important; } /* Sort arrow styling */ .gradio-container .gradio-dataframe th:contains("🔺") { background: linear-gradient(135deg, #4CAF50 0%, #45a049 100%) !important; box-shadow: 0 2px 4px rgba(76, 175, 80, 0.3) !important; } .gradio-container .gradio-dataframe th:contains("🔻") { background: linear-gradient(135deg, #2196F3 0%, #1976D2 100%) !important; box-shadow: 0 2px 4px rgba(33, 150, 243, 0.3) !important; } .gradio-container .gradio-dataframe th:contains("⬆️⬇️") { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important; box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important; } /* Header hover effects */ .gradio-container .gradio-dataframe th:hover { background: linear-gradient(135deg, #5a6fd8 0%, #6b4190 100%) !important; transform: translateY(-1px) !important; box-shadow: 0 3px 6px rgba(0,0,0,0.15) !important; } .gradio-container .gradio-dataframe th:active { transform: translateY(0) !important; background: linear-gradient(135deg, #4e5bc6 0%, #5e397e 100%) !important; } /* Table cells */ .gradio-container .gradio-dataframe td { padding: 14px 12px !important; border: 1px solid #ddd !important; text-align: center !important; vertical-align: middle !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; line-height: 1.5 !important; font-size: 14px !important; } /* Table rows */ .gradio-container .gradio-dataframe tr:nth-child(even) { background-color: #f8f9fa !important; } .gradio-container .gradio-dataframe tbody tr:hover { background-color: #e3f2fd !important; transition: background-color 0.2s ease !important; } /* Ensure table body structure */ .gradio-container .gradio-dataframe tbody { display: table-row-group !important; } .gradio-container .gradio-dataframe tr { height: auto !important; min-height: 48px !important; } .gradio-container .gradio-dataframe td, .gradio-container .gradio-dataframe th { display: table-cell !important; } /* Scrollbar styling */ .gradio-container .gradio-dataframe::-webkit-scrollbar { width: 12px !important; height: 12px !important; } .gradio-container .gradio-dataframe::-webkit-scrollbar-track { background: #f1f1f1 !important; border-radius: 6px !important; } .gradio-container .gradio-dataframe::-webkit-scrollbar-thumb { background: #888 !important; border-radius: 6px !important; border: 2px solid #f1f1f1 !important; } .gradio-container .gradio-dataframe::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Disable cell selection highlighting */ .gradio-container .gradio-dataframe td { user-select: none !important; -webkit-user-select: none !important; -moz-user-select: none !important; -ms-user-select: none !important; } /* Remove hover effects on data cells */ .gradio-container .gradio-dataframe tbody td:hover { background-color: inherit !important; cursor: default !important; } /* JavaScript for enhanced sorting visual feedback */ /* Responsive design */ @media (max-width: 768px) { .gradio-container .gradio-dataframe th, .gradio-container .gradio-dataframe td { font-size: 12px !important; padding: 6px 4px !important; } } """