/* ===== 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 !important; padding-bottom: 0 !important; } /* File upload component spacing */ #geom_file { margin-top: 0 !important; padding-top: 0 !important; } #geom_file .wrap, #geom_file .border, #geom_file .upload-box { margin-top: 0 !important; padding-top: 0 !important; } #geom_file label, #geom_file input[type="file"] { margin: 0 !important; } /* ===== Fixed Height for Upload Panel ===== */ /* Maintain fixed height for the Input Geometry panel */ .gradio-container .panel:has(#geom_file) { min-height: 500px !important; height: 500px !important; } /* Ensure the file upload area maintains height during upload */ #geom_file { height: 500px !important; min-height: 500px !important; } /* Keep the Model3D viewer container at fixed height even when hidden */ .gradio-container .model3d-container { height: 500px !important; min-height: 500px !important; } /* Ensure the panel doesn't shrink during upload */ .gradio-container .panel .gr-block { min-height: 500px !important; } /* ===== Example Geometry Buttons ===== */ /* Style the example geometry buttons */ .gradio-container .panel button[data-testid*="example"] { background: #F3F4F6 !important; border: 1px solid #E5E7EB !important; color: #374151 !important; border-radius: 8px !important; padding: 8px 16px !important; font-weight: 500 !important; transition: all 0.2s ease !important; } .gradio-container .panel button[data-testid*="example"]:hover { background: #8B5CF6 !important; border-color: #8B5CF6 !important; color: white !important; transform: translateY(-1px) !important; } /* Example geometry section styling */ .gradio-container .panel h3:contains("Examples") { margin-bottom: 16px !important; } /* Example card styling */ .example-card { background: white !important; border: 1px solid #E5E7EB !important; border-radius: 12px !important; padding: 16px !important; margin: 8px !important; transition: all 0.2s ease !important; text-align: center !important; } .example-card:hover { border-color: #8B5CF6 !important; box-shadow: 0 4px 12px rgba(139, 92, 246, 0.1) !important; } .example-card .card-label { background: #8B5CF6 !important; color: white !important; padding: 4px 8px !important; border-radius: 12px !important; font-size: 12px !important; font-weight: 500 !important; display: inline-block !important; margin-bottom: 12px !important; } /* Example card buttons */ .example-card button { width: 100% !important; background: #F3F4F6 !important; border: 1px solid #E5E7EB !important; color: #374151 !important; border-radius: 8px !important; padding: 8px 16px !important; font-weight: 500 !important; transition: all 0.2s ease !important; } .example-card button:hover { background: #8B5CF6 !important; border-color: #8B5CF6 !important; color: white !important; transform: translateY(-1px) !important; } /* Example card Model3D preview styling */ .example-card .model3d-container { border-radius: 8px !important; margin: 8px !important; overflow: hidden !important; } .example-card .model3d-container canvas { border-radius: 8px !important; } .colorbar-no-controls img { height: 100% !important; width: auto !important; object-fit: contain !important; } .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 !important; border: none !important; border-radius: 0 !important; padding: 0 !important; margin: 8px 0 !important; } /* Style the boundary conditions title to match sub application purple theme */ .gradio-container .gr-group h3 { color: #8B5CF6 !important; font-weight: 600 !important; margin-bottom: 12px !important; } /* More specific selector for boundary conditions title */ .gradio-container .gr-group .gr-markdown h3 { color: #8B5CF6 !important; font-weight: 600 !important; } /* Even more specific for markdown content */ .gradio-container .gr-group .gr-markdown { color: #8B5CF6 !important; } .gradio-container .gr-group .gr-markdown h3, .gradio-container .gr-group .gr-markdown h3 * { color: #8B5CF6 !important; } /* Specific styling for boundary conditions title */ .boundary-conditions-title h3 { color: #8B5CF6 !important; font-weight: 600 !important; } .boundary-conditions-title { color: #8B5CF6 !important; } /* 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 !important; } /* Target the markdown content directly */ .gradio-container .gr-group .boundary-conditions-title .gr-markdown h3 { color: #8B5CF6 !important; font-weight: 600 !important; } /* Style the boundary conditions markdown content */ .boundary-conditions { background: transparent !important; border: none !important; border-radius: 0 !important; padding: 0 !important; margin-top: 8px !important; font-size: 14px !important; line-height: 1.6 !important; } /* Style the velocity slider container */ .slider-container { margin-bottom: 12px !important; } /* Ensure consistent spacing in boundary conditions */ .boundary-conditions ul { margin: 0 !important; padding-left: 16px !important; } .boundary-conditions li { margin: 8px 0 !important; padding: 4px 0 !important; line-height: 1.8 !important; } /* More aggressive spacing for boundary conditions */ .boundary-conditions p { margin: 8px 0 !important; line-height: 1.8 !important; } .boundary-conditions { line-height: 1.8 !important; } /* Target the markdown content more specifically */ .gradio-container .boundary-conditions * { margin: 6px 0 !important; line-height: 1.8 !important; } /* Add gap between boundary conditions title and content */ .gradio-container .gr-group .dropdown { margin-bottom: 20px !important; } /* Add gap after the boundary conditions title */ .gradio-container .gr-group .dropdown h3 { margin-bottom: 20px !important; } /* 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 !important; background-color: transparent !important; } /* 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 !important; border-color: transparent !important; box-shadow: none !important; } #bc_box { background-color: transparent !important; box-shadow: none !important; border: none !important; } #bc_group { background-color: #8B5CF6 !important; box-shadow: none !important; border: none !important; }