#jogo-balanca { width: 100%; max-width: 800px; }
#balanca-start-screen .difficulty-options { display: flex; flex-direction: column; gap: 10px; }
.recorde { margin-bottom: 20px; font-weight: 600; background-color: var(--cor-painel); padding: 8px 15px; border-radius: 20px; border: 1px solid var(--cor-borda); color: var(--cor-texto); }
.recorde span { color: var(--cor-sucesso); font-weight: bold; }
.balancas-container { display: flex; justify-content: center; align-items: flex-end; gap: 2rem; margin-bottom: 2rem; flex-wrap: wrap; min-height: 150px; }
.balanca { display: flex; flex-direction: column; align-items: center; }
.pratos { display: flex; align-items: flex-end; width: 220px; border-bottom: 5px solid var(--cor-titulo); transition: transform 0.5s cubic-bezier(0.68, -0.55, 0.27, 1.55); position: relative; }
.prato { width: 50%; display: flex; justify-content: center; align-items: center; flex-wrap: wrap; padding: 10px; min-height: 60px; }
.balanca.esquerda-pesada .pratos { transform: rotate(-8deg); }
.balanca.direita-pesada .pratos { transform: rotate(8deg); }
.base-balanca { width: 10px; height: 50px; background-color: var(--cor-titulo); position: relative; top: -5px; }
.operador-balanca { position: absolute; left: 50%; top: -40px; transform: translateX(-50%); font-size: 2rem; font-weight: 700; color: var(--cor-destaque); }
.objeto { font-size: 2.2rem; margin: 2px; transition: transform 0.2s, filter 0.2s; }
/* NOVO: Estilo para destacar o objeto */
.objeto.highlight { transform: scale(1.2); filter: drop-shadow(0 0 8px var(--cor-principal-acao)); }
#pergunta-balanca { margin: 2rem 0; color: var(--cor-principal-acao); font-size: 1.5rem; font-weight: 600; }
.opcoes-balanca { display: flex; gap: 1rem; justify-content: center; margin-bottom: 1rem; }
.opcao-btn { padding: 1rem; font-size: 2rem; width: 80px; height: 80px; border-radius: 12px; border: 2px solid var(--cor-borda); background-color: var(--cor-painel); cursor: pointer; transition: all 0.2s; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 10px var(--cor-sombra); }
.opcao-btn:hover:not(:disabled) { border-color: var(--cor-principal-acao); transform: translateY(-5px); }
.opcao-btn:disabled { cursor: not-allowed; opacity: 0.6; }
/* NOVO: Animação de acerto no botão */
.opcao-btn.correct-answer { animation: pulse-success 1s ease-in-out; }
@keyframes pulse-success { 0% { transform: scale(1); box-shadow: 0 4px 10px var(--cor-sombra); } 50% { transform: scale(1.1); box-shadow: 0 0 25px var(--cor-sucesso); } 100% { transform: scale(1); box-shadow: 0 4px 10px var(--cor-sombra); } }
.feedback-balanca { min-height: 40px; font-size: 1.5rem; font-weight: 600; margin-top: 1rem; }
.feedback-balanca.correto { color: var(--cor-sucesso); }
.feedback-balanca.incorreto { color: var(--cor-erro); }
#proximo-puzzle-btn { margin-top: 1rem; }
.balanca-info-bar { display: flex; justify-content: space-around; width: 100%; max-width: 500px; margin-bottom: 1.5rem; font-size: 1.2rem; font-weight: 600; }

/* REGRAS PARA AS IMAGENS */
.objeto img {
    width: 100%;
    height: 100%;
    max-width: 50px;
    max-height: 50px;
    object-fit: contain;
}

.opcao-btn img {
    width: 60px;
    height: 60px;
    object-fit: contain;
}
/* balanca.css */

/* ... (demais estilos) ... */

.popup-container { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0,0,0,0.6); display: none; justify-content: center; align-items: center; z-index: 100; }
.popup-container.show { display: flex; }
.popup { background: var(--cor-fundo); padding: 30px; border-radius: 20px; text-align: center; }

/* ... (demais estilos) ... */