body {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    background-color: #242424;
    margin: 0;
}

.canvas {
    display: grid;
    grid-template-columns: repeat(40, 32px);
    grid-template-rows: repeat(22, 32px);
    gap: 0; 
}

.cell {
    width: 32px;
    height: 32px;
    border: 1px solid #999;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden; 
    transition: border-width 0.3s;
}

.cell img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.placeholder {
    width: 32px;
    height: 32px;
}

.borderless {
    border-width: 0 !important; 
}

button {
    margin-top: 20px;
    padding: 10px 20px;
    font-size: 16px;
    cursor: pointer;
}


button {
    padding: 0.1em 0.25em;
    width: 13em;
    height: 4.2em;
    background-color: #212121;
    border: 0.08em solid #fff;
    border-radius: 0.3em;
    font-size: 12px;
    cursor: pointer;
  }
  
  button span {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    bottom: 0.4em;
    width: 4.25em;
    height: 2.5em;
    background-color: #212121;
    border-radius: 0.2em;
    font-size: 1.5em;
    color: #fff;
    border: 0.08em solid #fff;
    box-shadow: 0 0.4em 0.1em 0.019em #fff;
  }
  
  button span:hover {
    transition: all 0.5s;
    transform: translate(0, 0.4em);
    box-shadow: 0 0 0 0 #fff;
  }
  
  button span:not(hover) {
    transition: all 1s;
  }
  
