body { margin: 0; font-family: "Rockwell", "Roboto Slab", serif; background: #1a1a2e; color: #f8fafc; }
body.game-menu-active {
    --menu-bg-image: url('poster.jpg');
    --menu-overlay-1: rgba(201, 12, 15, 0.22);
    --menu-overlay-2: rgba(41, 128, 185, 0.16);
}
.multiplayer-setup-screen, .join-game-screen, .waiting-room-screen { background: #111827; }
.game-menu-container, .multiplayer-setup-container, .join-game-container, .waiting-room-container { color: #1a1a1a; }
.btn { padding: 0.6rem 1rem; border-radius: 8px; border: 0; cursor: pointer; font: inherit; }
.btn-primary { background: #e74c3c; color: #fff; }
.btn-secondary { background: #e5e7eb; color: #111; }
.btn-block { width: 100%; }
.error-message { color: #c90c0f; min-height: 1.2rem; }
.uno-party-game { max-width: 1100px; margin: 0 auto; padding: 1rem; }
.uno-party-header { text-align: center; }
.opponents-row { display: flex; gap: 1rem; flex-wrap: wrap; justify-content: center; margin: 1rem 0; }
.opponent-seat { background: #16213e; border-radius: 12px; padding: 0.75rem 1rem; min-width: 140px; text-align: center; }
.opponent-seat.their-turn { outline: 2px solid #f1c40f; }
.table-area { display: flex; gap: 1rem; align-items: center; justify-content: center; margin: 1.5rem 0; flex-wrap: wrap; }
.draw-pile, .discard-pile { min-width: 80px; min-height: 110px; border-radius: 10px; }
.draw-pile { background: #0f172a; color: #fff; border: 2px dashed #64748b; }
.hand { display: flex; flex-wrap: wrap; gap: 0.4rem; justify-content: center; }
.log-content { max-height: 140px; overflow: auto; background: #0f172a; padding: 0.75rem; border-radius: 8px; font-size: 0.9rem; }
.modal { position: fixed; inset: 0; background: rgba(0,0,0,0.55); display: flex; align-items: center; justify-content: center; }
.modal-content { background: #fff; color: #111; padding: 1.5rem; border-radius: 12px; }
.colour-picks { display: flex; gap: 0.5rem; }
.colour-badge { display: inline-block; padding: 0.2rem 0.7rem; border-radius: 999px; font-weight: 700; }
.colour-badge.red { background: #e74c3c; }
.colour-badge.yellow { background: #f1c40f; color: #111; }
.colour-badge.green { background: #27ae60; }
.colour-badge.blue { background: #2980b9; }
.form-group { margin-bottom: 1rem; }
.form-group input { width: 100%; padding: 0.7rem; border-radius: 8px; border: 2px solid #ddd; box-sizing: border-box; }
