* { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%); color: #e0e0e0; min-height: 100vh; display: flex; justify-content: center; align-items: center; padding: 20px; } .container { width: 100%; max-width: 1400px; } header { text-align: center; margin-bottom: 30px; } header h1 { font-size: 2.5rem; color: #00ff88; text-shadow: 0 0 10px rgba(0, 255, 136, 0.5); } .panel { background: rgba(255, 255, 255, 0.05); border-radius: 15px; padding: 30px; backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.1); } #connection-panel { max-width: 500px; margin: 0 auto; } .form-group { margin-bottom: 20px; } .form-group label { display: block; margin-bottom: 8px; color: #00ff88; font-weight: 500; } .form-group input { width: 100%; padding: 12px; background: rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 8px; color: #fff; font-size: 1rem; } .form-group input:focus { outline: none; border-color: #00ff88; box-shadow: 0 0 10px rgba(0, 255, 136, 0.3); } .btn { padding: 12px 30px; border: none; border-radius: 8px; font-size: 1rem; font-weight: 600; cursor: pointer; transition: all 0.3s; width: 100%; } .btn-primary { background: linear-gradient(135deg, #00ff88 0%, #00cc6f 100%); color: #1a1a2e; } .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 5px 20px rgba(0, 255, 136, 0.4); } .btn-secondary { background: rgba(255, 255, 255, 0.1); color: #e0e0e0; border: 1px solid rgba(255, 255, 255, 0.2); } .btn-secondary:hover { background: rgba(255, 255, 255, 0.15); } .status { margin-top: 15px; padding: 10px; border-radius: 6px; text-align: center; font-size: 0.9rem; } .status.success { background: rgba(0, 255, 136, 0.2); color: #00ff88; } .status.error { background: rgba(255, 0, 0, 0.2); color: #ff6b6b; } .status.info { background: rgba(0, 136, 255, 0.2); color: #00aaff; } #game-panel { display: flex; gap: 30px; } .game-area { flex: 1; position: relative; } #game-canvas { display: block; background: #0a0a0a; border: 2px solid #00ff88; border-radius: 10px; box-shadow: 0 0 30px rgba(0, 255, 136, 0.3); width: 100%; height: auto; } .overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.8); display: flex; justify-content: center; align-items: center; border-radius: 10px; } .overlay.hidden { display: none; } .overlay-content { text-align: center; padding: 30px; } .overlay-content h2 { color: #00ff88; margin-bottom: 20px; } .overlay-content p { margin: 10px 0; font-size: 1.1rem; } kbd { background: rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.3); border-radius: 4px; padding: 3px 8px; font-family: monospace; font-size: 0.9rem; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3); } .sidebar { width: 280px; display: flex; flex-direction: column; gap: 20px; } .score-panel, .controls-panel { background: rgba(255, 255, 255, 0.05); padding: 20px; border-radius: 10px; border: 1px solid rgba(255, 255, 255, 0.1); } .score-panel h3, .controls-panel h3 { color: #00ff88; margin-bottom: 15px; font-size: 1.2rem; } #players-list { display: flex; flex-direction: column; gap: 10px; } .player-item { padding: 10px; background: rgba(255, 255, 255, 0.05); border-radius: 6px; border-left: 3px solid; display: flex; justify-content: space-between; } .player-item.alive { opacity: 1; } .player-item.dead { opacity: 0.5; text-decoration: line-through; } .player-name { font-weight: 500; } .player-score { color: #00ff88; font-weight: 600; } .control-info p { margin: 8px 0; font-size: 0.9rem; } /* Responsive design */ @media (max-width: 1024px) { #game-panel { flex-direction: column; } .sidebar { width: 100%; flex-direction: row; } .score-panel, .controls-panel { flex: 1; } } @media (max-width: 768px) { header h1 { font-size: 2rem; } .sidebar { flex-direction: column; } }