/* O aviso de progresso da criança (class-create-dialog.js): fixo no rodapé, visível sem rolar, texto de 16px ou mais.
   O #app ganha espaço embaixo enquanto o aviso aparece, para ele nunca tapar os alvos de toque de 56px. */
.student-workspace #cloud-save-status {
  position: fixed;
  left: 50%;
  bottom: 12px;
  z-index: 20;
  max-width: min(640px, calc(100vw - 32px));
  transform: translateX(-50%);
  margin: 0;
  padding: 10px 20px;
  border: 2px solid var(--kid-success);
  border-radius: 999px;
  background: var(--kid-success-bg);
  color: var(--app-ink);
  font-size: 17px;
  line-height: 1.4;
  text-align: center;
  box-shadow: 0 4px 14px rgb(33 60 52 / 18%);
}
.student-workspace #cloud-save-status[data-kind='pending'] {
  border-color: var(--kid-pick);
  background: var(--kid-pick-bg);
}
.student-workspace #cloud-save-status:is(:empty, :not([data-role='student'])) {
  display: none;
}
.student-workspace:has(#cloud-save-status[data-role='student']:not(:empty)) #app {
  padding-bottom: 88px;
}
@media (prefers-reduced-motion: no-preference) {
  .student-workspace #cloud-save-status {
    animation: student-status-in 0.25s ease-out;
  }
}
@keyframes student-status-in {
  from {
    opacity: 0;
    transform: translate(-50%, 8px);
  }
}
