.game-header { text-align: center; padding: 24px 20px; }
.game-header h1 { font-size: 24px; margin-bottom: 8px; }
#gh-date { font-size: 12px; color: var(--text3); margin-bottom: 16px; }
.progress-bar { position: relative; height: 6px; background: var(--border); border-radius: 3px; max-width: 400px; margin: 0 auto; overflow: hidden; }
.progress-fill { height: 100%; background: var(--green); transition: width .3s; }
.progress-label { position: absolute; top: -22px; right: 0; font-size: 11px; color: var(--text3); }
.question-card { max-width: 500px; margin: 0 auto; padding: 20px; }
.qc-vs { display: flex; align-items: center; gap: 20px; margin-bottom: 24px; }
.player-side { flex: 1; text-align: center; background: var(--bg2); border: 1px solid var(--border); border-radius: var(--radius); padding: 20px 16px; }
.player-flag { font-size: 48px; margin-bottom: 8px; }
.player-name { font-size: 16px; font-weight: 600; }
.vs-divider { font-family: 'Bebas Neue', sans-serif; font-size: 28px; color: var(--text3); }
.qc-question { text-align: center; font-size: 18px; font-weight: 600; margin-bottom: 24px; }
.answer-buttons { display: flex; gap: 12px; }
.ans-btn { flex: 1; padding: 16px; border-radius: var(--radius); border: 2px solid var(--border); background: var(--bg2); color: var(--text); font-size: 16px; font-weight: 600; cursor: pointer; transition: all .15s; display: flex; align-items: center; justify-content: center; gap: 8px; }
.ans-btn:hover { border-color: var(--border2); background: var(--bg3); transform: translateY(-2px); }
.ans-btn:disabled { opacity: .5; cursor: not-allowed; }
.ans-emoji { font-size: 24px; }
.ans-yes { border-color: rgba(0,214,127,.3); }
.ans-yes:hover { border-color: var(--green); background: rgba(0,214,127,.1); }
.ans-no { border-color: rgba(255,77,109,.3); }
.ans-no:hover { border-color: var(--red); background: rgba(255,77,109,.1); }
.ans-btn.correct { border-color: var(--green); background: rgba(0,214,127,.15); animation: pulse-correct .5s; }
.ans-btn.wrong { border-color: var(--red); background: rgba(255,77,109,.15); animation: shake .4s; }
@keyframes pulse-correct { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.05); } }
@keyframes shake { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(-8px); } 75% { transform: translateX(8px); } }
.feedback { margin-top: 16px; padding: 12px; border-radius: var(--radius-sm); font-size: 13px; text-align: center; min-height: 48px; }
.feedback.correct { background: rgba(0,214,127,.1); border: 1px solid rgba(0,214,127,.3); color: var(--green); }
.feedback.wrong { background: rgba(255,77,109,.1); border: 1px solid rgba(255,77,109,.3); color: var(--red); }
#end-screen { padding: 40px 20px; text-align: center; }
.end-emoji { font-size: 64px; margin-bottom: 16px; }
.end-title { font-size: 24px; font-weight: 600; margin-bottom: 8px; }
.end-score { font-size: 18px; color: var(--text2); margin-bottom: 24px; }
.end-grid { display: flex; gap: 6px; justify-content: center; flex-wrap: wrap; max-width: 300px; margin: 24px auto; font-size: 24px; }
