@media (max-width: 800px) {
  .pagina-subtracao { width: 100%; padding: 10px; } .cartao-tela { height: auto; min-height: calc(100svh - 20px); }
  .escolha-objeto { padding: 68px 16px 18px; } .opcoes-objetos { grid-template-columns: repeat(3, minmax(100px, 1fr)); grid-template-rows: none; max-height: none; } .opcao-objeto { min-height: 132px; }
  .atividade { min-height: calc(100svh - 20px); padding: 68px 14px 14px; }
  .area-concreta { grid-template-columns: minmax(115px, .22fr) minmax(0, 1fr); }
  .objeto-disponivel { min-height: 125px; }
  .operacao-concreta { min-height: 300px; grid-template-rows: minmax(170px, 1fr) minmax(105px, .58fr); }
  .operacao-superior { grid-template-columns: minmax(0, 1fr) auto minmax(145px, .75fr); }
  .grupo-objetos { grid-template-columns: repeat(var(--object-columns, 1), minmax(35px, 58px)); grid-auto-rows: minmax(54px, 1fr); }
}
@media (max-width: 520px) {
  .opcoes-objetos { grid-template-columns: repeat(2, minmax(0, 1fr)); } .opcao-objeto { min-height: 128px; }
  .area-concreta { grid-template-columns: 1fr; grid-template-rows: auto auto minmax(0, 1fr); }
  .controles-mesa { grid-column: 1; flex-wrap: wrap; justify-content: center; min-height: 0; }
  .botao-controle-mesa { min-height: 44px; padding-inline: 9px; font-size: .8rem; } .botao-trocar-objeto { grid-template-columns: 2.05rem 1.4rem auto; } .botao-trocar-objeto img { width: 2.05rem; height: 2.05rem; }
  .area-disponivel { min-height: 108px; } .objeto-disponivel { width: min(76%, 230px); min-height: 92px; grid-template-columns: 68px auto; } .objeto-disponivel img { width: 68px; height: 68px; }
  .operacao-concreta { min-height: 545px; grid-template-rows: minmax(390px, 1fr) minmax(135px, auto); gap: 6px; }
  .operacao-superior { grid-template-columns: 1fr; grid-template-rows: minmax(175px, 1fr) auto minmax(170px, 1fr); gap: 3px; }
  .sinal-menos { justify-self: center; font-size: 2.8rem; } .mesa { border-width: 5px; }
  .grupo-objetos { grid-template-columns: repeat(var(--object-columns, 1), minmax(40px, 57px)); grid-auto-rows: minmax(50px, 1fr); }
  .objeto-na-mesa img, .objeto-retirado img { height: min(7vh, 56px); min-height: 40px; }
  .alternativas { grid-template-columns: repeat(3, minmax(72px, 1fr)); gap: 9px; } .alternativa { min-height: 64px; }
}
