body {
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    background-color: #f0f0f0;
    font-family: Arial, sans-serif;
    overflow: hidden;
}

#game-container {
    width: 100vw;
    height: 100vh;
    background-color: #fff; /* Fallback, game.js sets a gradient */
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

#game-name {
    position: absolute;
    top: 10px;
    text-align: center;
    width: 100%;
    z-index: 10;
    /* Text styles for game-name will be applied via JS using applyTextStyles */
}

#score {
    position: absolute;
    bottom: 10px;
    left: 10px;
    font-size: 20px; /* Base size, JS might adjust with applyTextStyles */
    z-index: 10;
    /* Text styles for score will be applied via JS using applyTextStyles */
}

button { /* Generic button styling for restart and ad buttons */
    padding: 10px 15px;
    font-size: 16px;
    cursor: pointer;
    z-index: 10; /* Ensure buttons are above some elements */
    background-color: #4CAF50;
    color: white;
    border: none;
    border-radius: 5px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
    transition: background-color 0.3s ease;
}

button:hover {
    background-color: #45a049;
}

#shooter {
    width: 100px;
    height: 20px;
    background-color: #3498db; /* Blue color as a fallback */
    background-image: linear-gradient(to top, #2980b9, #3498db 60%); /* Gradient for a nicer look */
    position: absolute; /* Essential for JavaScript positioning */
    border-radius: 5px;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.5), /* Outer glow */
                inset 0px 2px 3px rgba(255, 255, 255, 0.3), /* Inner top highlight */
                inset 0px -2px 3px rgba(0, 0, 0, 0.2); /* Inner bottom shadow */
    z-index: 20; /* Above falling elements but below UI like game over screen */
    border: 1px solid #2573a0; /* Slightly darker border for definition */
    /* 'bottom' and 'left' properties will be controlled by game.js */
}

.falling-element {
    /* Base styles, specific appearance (color, size) set by JS or more specific classes */
    /* SVG within will define shape and color mostly */
}
highlight.setAttribute('fill', highlightFillColor);  
highlight.setAttribute('fill-opacity', highlightOpacity);
#game-over-screen button {
    margin-top: 20px; /* Spacing from the game over text */
}

#rewarded-ad-button {
    position: absolute; /* Will be set by JS */
    z-index: 1000; /* High z-index to be on top */
}