body {
    background-color: rgb(175, 204, 205);
    margin: 0;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

h1 {
    color: #2e5c5c;
    text-align: center;
    font-family: sans-serif;
    margin-top: 20px;
}

#animation-viewport {
    position: relative;
    width: 100vw;
    height: 80vh;
}

/* GUMBALL STYLING & ANIMATION */
#gumball {
    width: 250px;
    position: absolute;
    top: 10%;
    left: 0;
    animation: moveRight 8s infinite linear;
}

@keyframes moveRight {
    0% { transform: translateX(-300px) scaleX(1); }
    49% { transform: translateX(110vw) scaleX(1); }
    50% { transform: translateX(110vw) scaleX(-1); } /* Face left */
    99% { transform: translateX(-300px) scaleX(-1); }
    100% { transform: translateX(-300px) scaleX(1); }
}

/* DARWIN STYLING & ANIMATION */
#darwin {
    width: 250px;
    position: absolute;
    bottom: 10%;
    right: 0;
    animation: moveLeft 10s infinite linear;
}

@keyframes moveLeft {
    0% { transform: translateX(300px) scaleX(-1); }
    49% { transform: translateX(-110vw) scaleX(-1); }
    50% { transform: translateX(-110vw) scaleX(1); } /* Face right */
    99% { transform: translateX(300px) scaleX(1); }
    100% { transform: translateX(300px) scaleX(-1); }
}

/* Detail Animations */
.peace-arm {
    transform-origin: center;
    animation: wave 1s infinite alternate ease-in-out;
}

@keyframes wave {
    from { transform: rotate(-10deg); }
    to { transform: rotate(10deg); }
}

.eyes circle[fill="white"] {
    animation: blink 4s infinite;
}

@keyframes blink {
    0%, 90%, 100% { transform: scaleY(1); }
    95% { transform: scaleY(0.1); }
}