* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    background-color: #16161e;
    /* Extracted from user image */
    color: #ffffff;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
}

.grid-container {
    position: relative;
    width: 360px;
    /* 9*20 + 8*20 + 20 = 360 approx, user asked for 20px wider than bounds. 
                     Bounds were 340px. So 360px. */
    height: 360px;
    background-color: #16161e;
    /* Match page background */
    margin: 0 auto;
}

.square {
    position: absolute;
    width: 20px;
    height: 20px;
    background-color: #bfcaf4;
    /* Extracted light color */
    border-radius: 2px;
    /* Slight rounding */
    will-change: transform;
    transition: background-color 0.8s ease-out;
    /* Smooth color fade */
}