/* Calory — Toast Notifications */

.toast {
  position: fixed;
  bottom: calc(64px + 8px + env(safe-area-inset-bottom, 0));
  left: 50%;
  transform: translateX(-50%) translateY(0);
  background: var(--surface);
  border: 1px solid var(--border);
  color: var(--text-sub);
  padding: 10px 18px;
  border-radius: var(--radius-md);
  font-size: 0.8125rem;
  font-family: 'Ubuntu Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  z-index: var(--z-toast);
  white-space: nowrap;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
  animation: toastIn 200ms var(--ease-out) 200ms both;
  max-width: 90vw;
  overflow: hidden;
  text-overflow: ellipsis;
}

.toast.success {
  border-color: var(--border-green);
  color: var(--green);
}

.toast.error {
  border-color: var(--border-red);
  color: var(--red);
}

@keyframes toastIn {
  from {
    opacity: 0;
    transform: translateX(-50%) translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
}

@keyframes toastOut {
  from {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
  to {
    opacity: 0;
    transform: translateX(-50%) translateY(-8px);
  }
}

.toast.removing {
  animation: toastOut 150ms var(--ease-in) forwards;
}
