The course cover Upload tab stored the raw file and relied on CSS object-cover to fake the 280x200 frame at display time. Route uploads through the existing ImageCropper at a 280/200 aspect ratio so the saved asset matches the frame. Also teach the cropper UploadTrigger to accept drag-and-drop so the prior drop-to-upload UX is preserved.