.grid-card {
    position: relative;
    overflow: hidden;
    cursor: pointer;
}
.mask-circle {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    object-fit: cover;
    pointer-events: none;
}
.main-img {
    position: absolute;
    z-index: 2;
    left: 10px;
    top: 10px;
    right: 10px;
    bottom: 10px;
    width: calc(100% - 20px);
    height: calc(100% - 20px);
    object-fit: contain;
    pointer-events: none;
    transition: filter 0.2s ease;
}
.main-img.img-circle {
    border-radius: 50%;
    object-fit: cover;
}
.grid-card:hover .main-img {
    filter: drop-shadow(0 0 8px #4096ff);
}
.corner-icon {
    position: absolute;
    right: 6px;
    bottom: 6px;
    width: 45px;
    height: 45px;
    z-index: 9;
    object-fit: contain;
}