| body { | |
| font-family: 'Segoe UI', sans-serif; | |
| background-color: #f0f2f5; | |
| color: #333; | |
| margin: 0; | |
| padding: 20px; | |
| } | |
| .container { | |
| max-width: 800px; | |
| margin: 0 auto; | |
| padding: 30px; | |
| background-color: #fff; | |
| box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); | |
| border-radius: 12px; | |
| } | |
| h1 { | |
| text-align: center; | |
| color: #1a73e8; | |
| margin-bottom: 30px; | |
| } | |
| .input-section { | |
| display: flex; | |
| align-items: center; | |
| gap: 20px; | |
| margin-bottom: 30px; | |
| } | |
| .input-group { | |
| flex: 1; | |
| } | |
| .input-group label { | |
| display: block; | |
| margin-bottom: 8px; | |
| font-weight: 500; | |
| } | |
| .separator { | |
| font-weight: 500; | |
| color: #666; | |
| } | |
| input[type="file"], | |
| input[type="text"] { | |
| width: 100%; | |
| padding: 12px; | |
| border: 2px solid #e0e0e0; | |
| border-radius: 8px; | |
| transition: border-color 0.3s; | |
| } | |
| input[type="text"]:focus { | |
| border-color: #1a73e8; | |
| outline: none; | |
| } | |
| .label-section { | |
| margin-bottom: 30px; | |
| } | |
| .label-grid { | |
| display: grid; | |
| grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); | |
| gap: 15px; | |
| margin-top: 10px; | |
| } | |
| .label-option { | |
| display: flex; | |
| align-items: center; | |
| padding: 10px; | |
| border: 2px solid #e0e0e0; | |
| border-radius: 8px; | |
| cursor: pointer; | |
| transition: all 0.3s; | |
| } | |
| .label-option:hover { | |
| border-color: #1a73e8; | |
| } | |
| .label-option input[type="checkbox"] { | |
| margin-right: 10px; | |
| } | |
| .preview-section { | |
| position: relative; | |
| text-align: center; | |
| margin: 30px 0; | |
| min-height: 200px; | |
| border: 2px dashed #e0e0e0; | |
| border-radius: 12px; | |
| padding: 20px; | |
| } | |
| #imagePreview { | |
| max-width: 100%; | |
| max-height: 400px; | |
| border-radius: 8px; | |
| } | |
| button { | |
| width: 100%; | |
| padding: 15px; | |
| background-color: #1a73e8; | |
| color: #fff; | |
| border: none; | |
| border-radius: 8px; | |
| font-size: 16px; | |
| font-weight: 500; | |
| cursor: pointer; | |
| transition: background-color 0.3s; | |
| } | |
| button:hover { | |
| background-color: #1565c0; | |
| } | |
| .results-section { | |
| margin-top: 20px; | |
| padding: 10px; | |
| background-color: #e9ecef; | |
| border-radius: 4px; | |
| } | |
| .prediction-result { | |
| margin: 10px 0; | |
| padding: 10px; | |
| background: #f8f9fa; | |
| border-radius: 4px; | |
| } | |
| .progress-bar { | |
| width: 100%; | |
| height: 20px; | |
| background: #e9ecef; | |
| border-radius: 10px; | |
| margin: 5px 0; | |
| overflow: hidden; | |
| } | |
| .progress { | |
| height: 100%; | |
| background: #007bff; | |
| transition: width 0.3s ease; | |
| } | |
| .error-message { | |
| color: #dc3545; | |
| background-color: #f8d7da; | |
| border: 1px solid #f5c6cb; | |
| padding: 10px; | |
| border-radius: 4px; | |
| margin: 10px 0; | |
| } | |
| .input-method-selection { | |
| margin-bottom: 20px; | |
| display: flex; | |
| gap: 20px; | |
| } | |
| .radio-label { | |
| display: flex; | |
| align-items: center; | |
| gap: 8px; | |
| cursor: pointer; | |
| padding: 8px 16px; | |
| border: 2px solid #e0e0e0; | |
| border-radius: 8px; | |
| transition: all 0.3s; | |
| } | |
| .radio-label:hover { | |
| border-color: #1a73e8; | |
| } | |
| .radio-label input[type="radio"] { | |
| margin: 0; | |
| } | |
| .radio-label input[type="radio"]:checked + .radio-label { | |
| border-color: #1a73e8; | |
| background-color: #f0f7ff; | |
| } |