body { display: flex; flex-direction: column; justify-content: center; align-items: center; height: 100vh; margin: 0; background-color: #121212; overflow: hidden; /* Hide the hand when it's off-screen. */ } #main-container { display: flex; align-items: flex-start; } #slap-container { position: relative; margin-right: 20px; } #slap-image { width: 400px; height: auto; border: 2px solid #f0f0f0; border-radius: 10px; cursor: pointer; } #hand { position: absolute; right: 20px; top: 50%; font-size: 150px; transform: translateY(-50%); transition: all 0.2s ease-in-out; } #fist { position: absolute; right: 20px; top: calc(50% + 150px); /* Position below the hand. */ font-size: 150px; transform: translateY(-50%); transition: all 0.2s ease-in-out; } #score-container { color: #FFD700; /* Gold. */ font-size: 36px; text-shadow: 2px 2px 4px #000000; text-align: center; margin-bottom: 20px; } #save-score { display: block; margin: 10px auto 0; padding: 10px 20px; border: 2px solid #FFD700; border-radius: 5px; background-color: #121212; color: #FFD700; font-size: 18px; cursor: pointer; transition: all 0.2s ease-in-out; } #save-score:hover { background-color: #FFD700; color: #121212; } #leaderboard-container { color: #FFFFFF; background-color: rgba(0, 0, 0, 0.5); padding: 10px; border-radius: 10px; } #modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.7); display: none; justify-content: center; align-items: center; } #modal { background-color: #121212; padding: 20px; border-radius: 10px; text-align: center; } #modal h2 { color: #FFD700; margin-bottom: 20px; } #name-input { width: 100%; padding: 10px; margin-bottom: 20px; border: 2px solid #FFD700; border-radius: 5px; background-color: #121212; color: #FFFFFF; } #submit-score { padding: 10px 20px; border: 2px solid #FFD700; border-radius: 5px; background-color: #121212; color: #FFD700; font-size: 18px; cursor: pointer; transition: all 0.2s ease-in-out; } #submit-score:hover { background-color: #FFD700; color: #121212; } #cancel-score { padding: 10px 20px; border: 2px solid #CCCCCC; border-radius: 5px; background-color: #121212; color: #CCCCCC; font-size: 18px; cursor: pointer; transition: all 0.2s ease-in-out; margin-left: 10px; } #cancel-score:hover { background-color: #CCCCCC; color: #121212; } @media (max-width: 768px) { #main-container { flex-direction: column; align-items: center; } #slap-image { width: 80vw; /* 80% of the viewport width. */ } #leaderboard-container { margin-top: 20px; max-height: 200px; overflow-y: auto; } #save-score { padding: 15px 30px; font-size: 24px; } #score-container { font-size: 24px; } }