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; }