body {
    background-color: #111;
    transition: all 0.5s;
}

#moon {
    width: 100%;
    height: 100%;
    margin: 0 auto;
    border-radius: 100%;
    text-align: center;
    font-size: min(60vw, 60vh);
    display: flex;
    justify-content: center;
    align-items: center;
    user-select: none;
    filter: drop-shadow(0 0 10vw #000);
    transition: all 0.5s;
}

#moon-box {
    width: min(80vh, 80vw);
    aspect-ratio: 1;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

#rabbit {
    width: 100%;
    height: 100%;
    margin: 0 auto;
    border-radius: 100%;
    text-align: center;
    font-size: min(6vw, 6vh);
    transform: translateY(max(-30vw, -30vh));
    display: flex;
    justify-content: center;
    align-items: center;
    user-select: none;
    filter: drop-shadow(0 0 10vw #000);
    transition: all 0.5s;
    animation: rabbit-hop 3s infinite ease-in-out;
}

#rabbit-box {
    width: 100%;
    height: 100%;
    animation: spin 30s infinite linear reverse;
}


@keyframes spin {
    from {
        transform:rotate(0deg);
    }
    to {
        transform:rotate(360deg);
    }
}

@keyframes rabbit-hop {
    0% {
        transform: translateY(max(-30vw, -30vh));
    }
    50% {
        transform: translateY(max(-40vw, -40vh));
    }
    100% {
        transform: translateY(max(-30vw, -30vh));
    }
}