body {
    margin: 0;
    overflow: hidden;
    background-color: #000;
    font-family: 'Consolas', 'Courier New', monospace;
    color: white;
}
canvas { display: block; }

/* In-Game UI */
#ui-container {
    position: absolute;
    top: 15px;
    left: 50%;
    transform: translateX(-50%);
    width: 60vw;
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}
#score-container {
    background-color: rgba(0, 0, 0, 0.4);
    padding: 5px 15px;
    border-radius: 10px;
    font-size: 1.5em;
    text-align: center;
}
#multiplier-status {
    color: #ffc400;
    font-weight: bold;
}
#energy-bar-container {
    width: 100%;
    height: 15px;
    background-color: rgba(0, 0, 0, 0.4);
    border: 2px solid rgba(255, 255, 255, 0.5);
    border-radius: 10px;
    overflow: hidden;
}
#energy-bar {
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, #ffc400, #ff8c00);
    transition: width 0.2s ease-out;
}

#controls-guide {
    position: absolute; bottom: 10px; left: 50%; z-index: 10;
    transform: translateX(-50%);
    background-color: rgba(0, 0, 0, 0.5); padding: 5px 15px; border-radius: 5px;
}
#controls-guide p { margin: 5px 0; font-size: 0.9em; }

/* Overlays (largely the same) */
.hidden { display: none !important; }
#ui-overlay, #loading-screen, #pause-screen, #game-over-screen {
    position: absolute; top: 0; left: 0; width: 100vw; height: 100vh;
    display: flex; flex-direction: column; justify-content: center; align-items: center; z-index: 20;
    pointer-events: none;
}
#loading-screen, #pause-screen, #game-over-screen {
    background-color: rgba(0, 0, 0, 0.7); width: 100%; height: 100%;
    font-size: 3em; text-align: center; backdrop-filter: blur(5px);
}
#game-over-screen { pointer-events: all; }
#game-over-screen h2 { color: #ff8c00; font-size: 2em; margin-bottom: 20px; }
#restart-button {
    pointer-events: all; padding: 15px 30px; font-size: 1em; background-color: #ff8c00;
    color: white; border: 2px solid #fff; border-radius: 5px; cursor: pointer; margin-top: 20px;
}