/* Basic Reset & Body Style */
body { margin: 0; padding: 0; font-family: Arial, sans-serif; background-color: #111; color: #00ff00; overflow: hidden; }
#game-container { width: 1920px; height: 1080px; position: relative; margin: auto; overflow: hidden; background-color: black; }
.screen { width: 100%; height: 100%; position: absolute; top: 0; left: 0; display: none; background-size: cover; background-position: center; background-repeat: no-repeat; }
.screen.active { display: block !important; }
#main-menu { background-image: url('mainmenu.png'); }
#game-lobby { background-image: url('lobby.png'); }
#input-screen, #win-screen, #loss-screen { background-color: #0a0a0a; }
.content { padding: 50px; }
.centered-content { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100%; text-align: center; }
.centered-content div { margin: 10px 0; }
.centered-content label { margin-right: 10px; color: white; min-width: 100px; text-align: right; display: inline-block;} /* Align labels */
.centered-content input[type="text"], .centered-content select { padding: 8px; min-width: 300px; background-color: #222; border: 1px solid #00ff00; color: #00ff00; font-size: 1.1em; }
.centered-content button { padding: 10px 20px; font-size: 1.2em; background-color: #333; border: 2px solid #00ff00; color: #00ff00; cursor: pointer; margin-top: 20px; }
.centered-content button:hover { background-color: #444; color: white; }
.instructions { color: #aaa; margin-top: 20px; font-size: 0.9em; }
#main-menu h1 { font-size: 2.5em; text-align: center; margin-top: 50px; color: #00ff00; }
#high-score-display { color: yellow; font-size: 1.5em; margin-top: 30px; text-align: center; }
#start-button-area { position: absolute; left: 650px; top: 700px; width: 300px; height: 100px; cursor: pointer; border: 2px solid rgba(0, 200, 0, 0.5); background-color: rgba(0, 50, 0, 0.2); display: flex; flex-direction: column; align-items: center; justify-content: center; transition: background-color 0.2s, border-color 0.2s; text-align: center; }
#start-button-area .start-text { font-size: 2.5em; font-weight: bold; color: #00ff00; text-shadow: 1px 1px 2px black; }
#start-button-area .hover-text { display: none; color: white; background-color: rgba(0, 200, 0, 0.7); padding: 5px 10px; border-radius: 5px; font-size: 1.1em; margin-top: 5px; }
#start-button-area:hover { border: 3px solid rgba(0, 255, 0, 0.9); background-color: rgba(0, 100, 0, 0.4); }
#start-button-area:hover .hover-text { display: block; }

/* Game Lobby Specifics */
#timer-display { position: absolute; top: 30px; right: 50px; font-size: 1.5em; color: yellow; }
#lobby-name-display { position: absolute; top: 330px; right: 50px; width: 450px; font-size: 1.2em; color: #ccc; text-align: right; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; border: 1px solid rgba(100, 100, 100, 0.5); padding: 5px; background-color: rgba(0, 0, 0, 0.3); }
#player-slots-container { position: absolute; top: 130px; left: 320px; width: 750px; }
.player-slot { position: relative; height: 35px; margin-bottom: 2px; font-size: 1.2em; }
.away-team-slot-gap { margin-top: 30px !important; } /* Gap applied ONLY to slot 3 by JS */
.player-slot span { position: absolute; top: 5px; white-space: nowrap; }
.player-name { left: 10px; min-width: 200px; cursor: default; color: #00ff00; font-style: normal; }
.player-name.bannable:hover { outline: 1px solid red; cursor: pointer; }
.player-race { left: 360px; }
.player-color { left: 510px; }
.player-slot .open-text { color: #888; left: 10px; }

#chat-container { position: absolute; bottom: 50px; left: 300px; width: 650px; }
#chat-log { height: 260px; background-color: rgba(0, 0, 0, 0.6); border: 1px solid #008800; overflow-y: auto; margin-bottom: 5px; padding: 5px; }
#chat-log p { margin: 1px 0; font-size: 0.9em; line-height: 1.2; word-wrap: break-word; color: #00ff00; }
#chat-input { width: calc(100% - 12px); padding: 5px; background-color: #111; border: 1px solid #00ff00; color: #00ff00; font-size: 1em; }
#ok-button, #cancel-button { position: absolute; right: 270px; width: 200px; height: 80px; background-color: #222; border: 2px solid #00ff00; color: #00ff00; font-size: 2em; cursor: pointer; display: flex; align-items: center; justify-content: center; }
#ok-button { bottom: 120px; }
#cancel-button { bottom: 30px; }
#ok-button:hover, #cancel-button:hover { background-color: #333; color: white; }
#ok-button.disabled { color: #888; border-color: #888; cursor: not-allowed; background-color: #222; }
#ok-button.disabled:hover { color: #888; background-color: #222; }
#countdown-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.7); display: none; align-items: center; justify-content: center; z-index: 10; }
#countdown-overlay.active { display: flex !important; }
#countdown-text { font-size: 5em; color: yellow; }
#win-screen h1 { color: #00ff00; }
#loss-screen h1 { color: red; }
#win-screen p, #loss-screen p { color: white; font-size: 1.5em; }
#win-final-time, #win-high-score { font-size: 1.8em; margin: 20px 0; }
#loss-reason { font-size: 1.3em; margin: 20px 0; max-width: 80%; }
#win-high-score { color: yellow; }