Spaces:
Running
Running
| import gradio as gr | |
| import os | |
| # CSS to change orange UI elements to blue | |
| blue_ui_css = """ | |
| /* Change orange checkboxes and radio buttons to blue */ | |
| .gradio-container input[type="checkbox"]:checked, | |
| .gradio-container .gr-checkbox input:checked + .checkmark, | |
| .gradio-container .gr-checkboxgroup input:checked + .checkmark { | |
| background-color: #667eea !important; | |
| border-color: #667eea !important; | |
| } | |
| .gradio-container input[type="radio"]:checked, | |
| .gradio-container .gr-radio input:checked + .checkmark, | |
| .gradio-container .gr-radio input:checked::before { | |
| background-color: #667eea !important; | |
| border-color: #667eea !important; | |
| } | |
| /* Override any orange accent colors */ | |
| .gradio-container .gr-checkbox input:checked, | |
| .gradio-container .gr-checkboxgroup input:checked, | |
| .gradio-container .gr-radio input:checked { | |
| accent-color: #667eea !important; | |
| } | |
| /* Target specific Gradio checkbox styling */ | |
| .gradio-container label input[type="checkbox"]:checked::before, | |
| .gradio-container label input[type="radio"]:checked::before { | |
| background-color: #667eea !important; | |
| } | |
| /* Tab styling - blue underline for active tabs, no background fill */ | |
| .gradio-container .tab-nav button[aria-selected="true"], | |
| .gradio-container .tab-nav button.selected, | |
| .gradio-container button[role="tab"][aria-selected="true"], | |
| .gradio-container button[role="tab"].selected { | |
| background-color: transparent !important; | |
| background: transparent !important; | |
| color: #667eea !important; | |
| border-bottom: 2px solid #667eea !important; | |
| border-top: none !important; | |
| border-left: none !important; | |
| border-right: none !important; | |
| } | |
| .gradio-container .tabs button[aria-selected="true"], | |
| .gradio-container .tabs button.selected { | |
| background-color: transparent !important; | |
| background: transparent !important; | |
| color: #667eea !important; | |
| border-bottom: 2px solid #667eea !important; | |
| border-top: none !important; | |
| border-left: none !important; | |
| border-right: none !important; | |
| } | |
| /* Hover state for tabs - subtle blue text */ | |
| .gradio-container .tab-nav button:hover, | |
| .gradio-container button[role="tab"]:hover, | |
| .gradio-container .tabs button:hover { | |
| background-color: transparent !important; | |
| background: transparent !important; | |
| color: #5a6fd8 !important; | |
| } | |
| /* Ensure inactive tabs have no special styling */ | |
| .gradio-container .tab-nav button, | |
| .gradio-container button[role="tab"], | |
| .gradio-container .tabs button { | |
| background-color: transparent !important; | |
| background: transparent !important; | |
| border-bottom: 2px solid transparent !important; | |
| transition: all 0.3s ease !important; | |
| } | |
| /* Specific targeting for tab icons and active states */ | |
| .gradio-container [data-testid="tab"] button[aria-selected="true"], | |
| .gradio-container .tab button[aria-selected="true"], | |
| .gradio-container [role="tablist"] button[aria-selected="true"] { | |
| background-color: transparent !important; | |
| background: transparent !important; | |
| color: #667eea !important; | |
| border-bottom: 2px solid #667eea !important; | |
| } | |
| /* Override orange primary colors globally */ | |
| .gradio-container * { | |
| --primary-color: #667eea !important; | |
| --primary-600: #667eea !important; | |
| --primary-500: #667eea !important; | |
| --primary-400: #667eea !important; | |
| --orange-500: #667eea !important; | |
| --orange-600: #667eea !important; | |
| --color-accent: #667eea !important; | |
| --color-accent-soft: #667eea !important; | |
| } | |
| /* Button styling - comprehensive coverage */ | |
| .gradio-container button, | |
| .gradio-container .gr-button, | |
| .gradio-container input[type="button"], | |
| .gradio-container input[type="submit"], | |
| .gradio-container .btn, | |
| .gradio-container [role="button"] { | |
| background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important; | |
| background-color: #667eea !important; | |
| border-color: #667eea !important; | |
| color: white !important; | |
| border: 1px solid #667eea !important; | |
| } | |
| .gradio-container button:hover, | |
| .gradio-container .gr-button:hover, | |
| .gradio-container input[type="button"]:hover, | |
| .gradio-container input[type="submit"]:hover, | |
| .gradio-container .btn:hover, | |
| .gradio-container [role="button"]:hover { | |
| background: linear-gradient(135deg, #5a6fd8 0%, #6b4190 100%) !important; | |
| background-color: #5a6fd8 !important; | |
| border-color: #5a6fd8 !important; | |
| transform: translateY(-1px) !important; | |
| box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important; | |
| } | |
| /* Force override for any remaining orange elements */ | |
| .gradio-container button[style*="background"], | |
| .gradio-container .gr-button[style*="background"], | |
| .gradio-container [style*="orange"], | |
| .gradio-container [class*="orange"] { | |
| background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important; | |
| background-color: #667eea !important; | |
| color: white !important; | |
| } | |
| """ | |
| SPACE_REPO_ID = "IneqMath/IneqMath_Judge_Private" | |
| hf_token = os.environ.get("HF_TOKEN") | |
| if not hf_token: | |
| try: | |
| import getpass | |
| hf_token = getpass.getpass("Enter your Hugging Face token (input hidden): ") | |
| except Exception: | |
| hf_token = input("Enter your Hugging Face token: ") | |
| if not hf_token: | |
| print("[ERROR] Hugging Face token is required. Set HF_TOKEN env variable or enter it when prompted.") | |
| exit(1) | |
| remote_space = None | |
| load_error = None | |
| try: | |
| remote_space = gr.load(f"spaces/{SPACE_REPO_ID}", hf_token=hf_token) | |
| except Exception as e: | |
| load_error = str(e) | |
| print(f"[ERROR] Failed to load remote Space: {load_error}") | |
| with gr.Blocks(css=blue_ui_css) as demo: | |
| if remote_space is not None: | |
| remote_space.render() | |
| else: | |
| gr.Markdown(f"**Failed to load remote Space.**\n\nError: {load_error}") | |
| if __name__ == "__main__": | |
| demo.launch() |