* { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); min-height: 100vh; padding: 20px; } .container { max-width: 800px; margin: 0 auto; background: white; padding: 40px; border-radius: 20px; box-shadow: 0 20px 60px rgba(0,0,0,0.3); } h1 { text-align: center; color: #333; margin-bottom: 30px; } .role-selection { margin: 30px 0; } .role-btn { display: block; padding: 20px; margin: 15px 0; background: #f8f9fa; border: 3px solid #dee2e6; border-radius: 10px; text-decoration: none; color: #333; transition: all 0.3s; } .role-btn:hover { transform: translateY(-5px); box-shadow: 0 10px 25px rgba(0,0,0,0.15); } .moderator-btn { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; border: none; } .player-buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; margin-top: 20px; } .player-1 { border-color: #ff4444; } .player-2 { border-color: #4444ff; } .player-3 { border-color: #44ff44; } .player-4 { border-color: #ffff44; } /* Player Screen */ .player-body { background: var(--player-color, #667eea); } .player-container { max-width: 600px; margin: 0 auto; text-align: center; } .player-header { background: white; padding: 20px; border-radius: 15px; margin-bottom: 30px; box-shadow: 0 10px 30px rgba(0,0,0,0.2); } .score-display { font-size: 2em; font-weight: bold; color: var(--player-color); margin-top: 10px; } .status-message { background: white; padding: 15px; border-radius: 10px; font-size: 1.2em; margin-bottom: 30px; box-shadow: 0 5px 15px rgba(0,0,0,0.1); } .buzzer-container { margin: 50px 0; } .buzzer-btn { width: 300px; height: 300px; border-radius: 50%; border: 10px solid white; background: linear-gradient(135deg, #ff6b6b, #ee5a6f); color: white; font-size: 3em; font-weight: bold; cursor: pointer; transition: all 0.2s; box-shadow: 0 20px 40px rgba(0,0,0,0.3); display: flex; flex-direction: column; align-items: center; justify-content: center; } .buzzer-btn:hover:not(:disabled) { transform: scale(1.05); box-shadow: 0 25px 50px rgba(0,0,0,0.4); } .buzzer-btn:active:not(:disabled) { transform: scale(0.95); } .buzzer-btn.buzzed { animation: buzz 0.3s; } @keyframes buzz { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.1); } } .buzzer-btn.locked { background: #ccc; cursor: not-allowed; opacity: 0.5; } .buzzer-hint { display: block; font-size: 0.3em; margin-top: 10px; opacity: 0.8; } .answer-container { background: white; padding: 30px; border-radius: 15px; box-shadow: 0 10px 30px rgba(0,0,0,0.2); } #answerInput { width: 100%; padding: 15px; font-size: 1.2em; border: 3px solid var(--player-color); border-radius: 10px; margin-bottom: 15px; } .submit-btn { padding: 15px 40px; font-size: 1.2em; background: var(--player-color); color: white; border: none; border-radius: 10px; cursor: pointer; transition: all 0.3s; } .submit-btn:hover { transform: translateY(-2px); box-shadow: 0 5px 15px rgba(0,0,0,0.3); } .question-display { background: white; padding: 20px; border-radius: 10px; margin-top: 30px; font-size: 1.1em; box-shadow: 0 5px 15px rgba(0,0,0,0.1); } /* Display Screen */ .display-body { background: #1a1a2e; color: white; } .display-container { max-width: 1400px; margin: 0 auto; } .scoreboard { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-bottom: 30px; } .player-score { background: rgba(255,255,255,0.1); padding: 20px; border-radius: 15px; text-align: center; border: 3px solid; } .player-score.player-1 { border-color: #ff4444; } .player-score.player-2 { border-color: #4444ff; } .player-score.player-3 { border-color: #44ff44; } .player-score.player-4 { border-color: #ffff44; } .score { font-size: 3em; font-weight: bold; margin-top: 10px; } .buzzer-indicator { background: rgba(255,255,255,0.1); padding: 30px; border-radius: 15px; margin-bottom: 30px; text-align: center; } .buzzer-lights { display: flex; justify-content: center; gap: 30px; margin-bottom: 20px; } .light { width: 80px; height: 80px; border-radius: 50%; background: rgba(255,255,255,0.2); transition: all 0.3s; } .light.player-1 { border: 5px solid #ff4444; } .light.player-2 { border: 5px solid #4444ff; } .light.player-3 { border: 5px solid #44ff44; } .light.player-4 { border: 5px solid #ffff44; } .light.active { animation: pulse 1s infinite; box-shadow: 0 0 30px currentColor; } .light.player-1.active { background: #ff4444; } .light.player-2.active { background: #4444ff; } .light.player-3.active { background: #44ff44; } .light.player-4.active { background: #ffff44; } @keyframes pulse { 0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.1); opacity: 0.8; } } .buzzed-player { font-size: 2em; font-weight: bold; color: #ffff44; } .question-section { background: white; color: #333; padding: 40px; border-radius: 15px; margin-bottom: 30px; box-shadow: 0 10px 30px rgba(0,0,0,0.3); } .question-header { display: flex; justify-content: space-between; margin-bottom: 20px; font-weight: bold; color: #667eea; } .question-text { font-size: 1.5em; line-height: 1.6; } .answer-section { background: rgba(255,255,255,0.1); padding: 30px; border-radius: 15px; margin-bottom: 30px; } .player-answer, .correct-answer { background: rgba(255,255,255,0.2); padding: 20px; border-radius: 10px; font-size: 1.3em; margin-top: 10px; } .controls { display: flex; gap: 15px; flex-wrap: wrap; margin-bottom: 30px; } .control-btn { padding: 15px 30px; font-size: 1.1em; border: none; border-radius: 10px; cursor: pointer; transition: all 0.3s; font-weight: bold; } .control-btn:hover:not(:disabled) { transform: translateY(-2px); box-shadow: 0 5px 15px rgba(0,0,0,0.3); } .control-btn:disabled { opacity: 0.5; cursor: not-allowed; } .primary { background: #667eea; color: white; } .success { background: #44ff44; color: #333; } .danger { background: #ff4444; color: white; } .warning { background: #ffaa00; color: #333; } .category-filter { background: rgba(255,255,255,0.1); padding: 20px; border-radius: 10px; display: flex; gap: 20px; flex-wrap: wrap; } .category-filter label { display: flex; align-items: center; gap: 8px; cursor: pointer; } .instructions { margin-top: 40px; padding: 20px; background: #f8f9fa; border-radius: 10px; } .instructions ol { margin-left: 20px; margin-top: 15px; } .instructions li { margin: 10px 0; } .timer-display { font-size: 3em; font-weight: bold; color: #ffaa00; text-align: center; margin: 20px 0; animation: pulse 1s infinite; } .settings-section { background: rgba(255,255,255,0.1); padding: 20px; border-radius: 15px; margin-bottom: 20px; } .setting-group { margin-bottom: 20px; } .setting-group:last-child { margin-bottom: 0; } .setting-group h3 { margin-bottom: 15px; color: #ffff44; } .source-select { width: 100%; padding: 12px; font-size: 1.1em; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3); background: rgba(255,255,255,0.1); color: white; margin-bottom: 10px; cursor: pointer; } .source-select option { background: #1a1a2e; color: white; } .round-input { width: 100%; padding: 12px; font-size: 1.1em; border-radius: 8px; border: 2px solid rgba(255,255,255,0.3); background: rgba(255,255,255,0.1); color: white; } .round-input::placeholder { color: rgba(255,255,255,0.5); } .category-filter { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; }