Spaces:
Sleeping
Sleeping
| /* ===== Base Styles ===== */ | |
| body { | |
| padding: 2rem; | |
| font-family: -apple-system, BlinkMacSystemFont, "Arial", sans-serif; | |
| } | |
| h1 { | |
| font-size: 16px; | |
| margin-top: 0; | |
| } | |
| p { | |
| color: rgb(107, 114, 128); | |
| font-size: 15px; | |
| margin: 0; | |
| } | |
| .card { | |
| max-width: 620px; | |
| margin: 0 auto; | |
| padding: 0; | |
| border: 1px solid lightgray; | |
| border-radius: 16px; | |
| } | |
| /* ===== Gradio UI Spacing Fixes ===== */ | |
| /* Remove spacing between Input Geometry title and upload button */ | |
| .gradio-container .panel h3 { | |
| margin-bottom: 0 ; | |
| padding-bottom: 0 ; | |
| } | |
| /* File upload component spacing */ | |
| #geom_file { | |
| margin-top: 0 ; | |
| padding-top: 0 ; | |
| } | |
| #geom_file .wrap, | |
| #geom_file .border, | |
| #geom_file .upload-box { | |
| margin-top: 0 ; | |
| padding-top: 0 ; | |
| } | |
| #geom_file label, | |
| #geom_file input[type="file"] { | |
| margin: 0 ; | |
| } | |
| /* ===== Fixed Height for Upload Panel ===== */ | |
| /* Maintain fixed height for the Input Geometry panel */ | |
| .gradio-container .panel:has(#geom_file) { | |
| min-height: 500px ; | |
| height: 500px ; | |
| } | |
| /* Ensure the file upload area maintains height during upload */ | |
| #geom_file { | |
| height: 500px ; | |
| min-height: 500px ; | |
| } | |
| /* Keep the Model3D viewer container at fixed height even when hidden */ | |
| .gradio-container .model3d-container { | |
| height: 500px ; | |
| min-height: 500px ; | |
| } | |
| /* Ensure the panel doesn't shrink during upload */ | |
| .gradio-container .panel .gr-block { | |
| min-height: 500px ; | |
| } | |
| /* ===== Example Geometry Buttons ===== */ | |
| /* Style the example geometry buttons */ | |
| .gradio-container .panel button[data-testid*="example"] { | |
| background: #F3F4F6 ; | |
| border: 1px solid #E5E7EB ; | |
| color: #374151 ; | |
| border-radius: 8px ; | |
| padding: 8px 16px ; | |
| font-weight: 500 ; | |
| transition: all 0.2s ease ; | |
| } | |
| .gradio-container .panel button[data-testid*="example"]:hover { | |
| background: #8B5CF6 ; | |
| border-color: #8B5CF6 ; | |
| color: white ; | |
| transform: translateY(-1px) ; | |
| } | |
| /* Example geometry section styling */ | |
| .gradio-container .panel h3:contains("Examples") { | |
| margin-bottom: 16px ; | |
| } | |
| /* Example card styling */ | |
| .example-card { | |
| background: white ; | |
| border: 1px solid #E5E7EB ; | |
| border-radius: 12px ; | |
| padding: 16px ; | |
| margin: 8px ; | |
| transition: all 0.2s ease ; | |
| text-align: center ; | |
| } | |
| .example-card:hover { | |
| border-color: #8B5CF6 ; | |
| box-shadow: 0 4px 12px rgba(139, 92, 246, 0.1) ; | |
| } | |
| .example-card .card-label { | |
| background: #8B5CF6 ; | |
| color: white ; | |
| padding: 4px 8px ; | |
| border-radius: 12px ; | |
| font-size: 12px ; | |
| font-weight: 500 ; | |
| display: inline-block ; | |
| margin-bottom: 12px ; | |
| } | |
| /* Example card buttons */ | |
| .example-card button { | |
| width: 100% ; | |
| background: #F3F4F6 ; | |
| border: 1px solid #E5E7EB ; | |
| color: #374151 ; | |
| border-radius: 8px ; | |
| padding: 8px 16px ; | |
| font-weight: 500 ; | |
| transition: all 0.2s ease ; | |
| } | |
| .example-card button:hover { | |
| background: #8B5CF6 ; | |
| border-color: #8B5CF6 ; | |
| color: white ; | |
| transform: translateY(-1px) ; | |
| } | |
| /* Example card Model3D preview styling */ | |
| .example-card .model3d-container { | |
| border-radius: 8px ; | |
| margin: 8px ; | |
| overflow: hidden ; | |
| } | |
| .example-card .model3d-container canvas { | |
| border-radius: 8px ; | |
| } | |
| .colorbar-no-controls img { | |
| height: 100% ; | |
| width: auto ; | |
| object-fit: contain ; | |
| } | |
| .prediction-stats { | |
| margin-top: 10px; | |
| padding: 10px; | |
| background-color: rgba(0, 0, 0, 0.05); | |
| border-radius: 5px; | |
| border-left: 3px solid #007acc; | |
| } | |
| .prediction-stats h3, .prediction-stats h4 { | |
| margin: 5px 0; | |
| } | |
| .prediction-stats ul { | |
| margin: 5px 0; | |
| padding-left: 20px; | |
| } | |
| .prediction-stats li { | |
| margin: 2px 0; | |
| font-size: 14px; | |
| } | |
| /* ===== Boundary Conditions Styling ===== */ | |
| /* Style the boundary conditions group to match dropdown theme */ | |
| .gradio-container .gr-group { | |
| background: transparent ; | |
| border: none ; | |
| border-radius: 0 ; | |
| padding: 0 ; | |
| margin: 8px 0 ; | |
| } | |
| /* Style the boundary conditions title to match sub application purple theme */ | |
| .gradio-container .gr-group h3 { | |
| color: #8B5CF6 ; | |
| font-weight: 600 ; | |
| margin-bottom: 12px ; | |
| } | |
| /* More specific selector for boundary conditions title */ | |
| .gradio-container .gr-group .gr-markdown h3 { | |
| color: #8B5CF6 ; | |
| font-weight: 600 ; | |
| } | |
| /* Even more specific for markdown content */ | |
| .gradio-container .gr-group .gr-markdown { | |
| color: #8B5CF6 ; | |
| } | |
| .gradio-container .gr-group .gr-markdown h3, | |
| .gradio-container .gr-group .gr-markdown h3 * { | |
| color: #8B5CF6 ; | |
| } | |
| /* Specific styling for boundary conditions title */ | |
| .boundary-conditions-title h3 { | |
| color: #8B5CF6 ; | |
| font-weight: 600 ; | |
| } | |
| .boundary-conditions-title { | |
| color: #8B5CF6 ; | |
| } | |
| /* More aggressive targeting for boundary conditions title */ | |
| .gradio-container .boundary-conditions-title, | |
| .gradio-container .boundary-conditions-title *, | |
| .gradio-container .boundary-conditions-title h3, | |
| .gradio-container .boundary-conditions-title h3 *, | |
| .gradio-container .boundary-conditions-title .gr-markdown, | |
| .gradio-container .boundary-conditions-title .gr-markdown * { | |
| color: #8B5CF6 ; | |
| } | |
| /* Target the markdown content directly */ | |
| .gradio-container .gr-group .boundary-conditions-title .gr-markdown h3 { | |
| color: #8B5CF6 ; | |
| font-weight: 600 ; | |
| } | |
| /* Style the boundary conditions markdown content */ | |
| .boundary-conditions { | |
| background: transparent ; | |
| border: none ; | |
| border-radius: 0 ; | |
| padding: 0 ; | |
| margin-top: 8px ; | |
| font-size: 14px ; | |
| line-height: 1.6 ; | |
| } | |
| /* Style the velocity slider container */ | |
| .slider-container { | |
| margin-bottom: 12px ; | |
| } | |
| /* Ensure consistent spacing in boundary conditions */ | |
| .boundary-conditions ul { | |
| margin: 0 ; | |
| padding-left: 16px ; | |
| } | |
| .boundary-conditions li { | |
| margin: 8px 0 ; | |
| padding: 4px 0 ; | |
| line-height: 1.8 ; | |
| } | |
| /* More aggressive spacing for boundary conditions */ | |
| .boundary-conditions p { | |
| margin: 8px 0 ; | |
| line-height: 1.8 ; | |
| } | |
| .boundary-conditions { | |
| line-height: 1.8 ; | |
| } | |
| /* Target the markdown content more specifically */ | |
| .gradio-container .boundary-conditions * { | |
| margin: 6px 0 ; | |
| line-height: 1.8 ; | |
| } | |
| /* Add gap between boundary conditions title and content */ | |
| .gradio-container .gr-group .dropdown { | |
| margin-bottom: 20px ; | |
| } | |
| /* Add gap after the boundary conditions title */ | |
| .gradio-container .gr-group .dropdown h3 { | |
| margin-bottom: 20px ; | |
| } | |
| /* Force transparent background for all boundary conditions elements */ | |
| .gradio-container .gr-group, | |
| .gradio-container .gr-group *, | |
| .gradio-container .gr-group .gr-markdown, | |
| .gradio-container .gr-group .gr-markdown *, | |
| .gradio-container .gr-group .dropdown, | |
| .gradio-container .gr-group .dropdown *, | |
| .gradio-container .gr-group .boundary-conditions, | |
| .gradio-container .gr-group .boundary-conditions * { | |
| background: transparent ; | |
| background-color: transparent ; | |
| } | |
| /* Remove any borders from boundary conditions */ | |
| .gradio-container .gr-group, | |
| .gradio-container .gr-group .gr-markdown, | |
| .gradio-container .gr-group .dropdown, | |
| .gradio-container .gr-group .boundary-conditions { | |
| border: none ; | |
| border-color: transparent ; | |
| box-shadow: none ; | |
| } | |
| #bc_box { | |
| background-color: transparent ; | |
| box-shadow: none ; | |
| border: none ; | |
| } | |
| #bc_group { | |
| background-color: #8B5CF6 ; | |
| box-shadow: none ; | |
| border: none ; | |
| } |