/* ---------- Fairy dust pickup toast ---------- */
.dust-toast {
  position: fixed;
  top: 30%;
  left: 50%;
  transform: translateX(-50%);
  padding: 12px 24px;
  background: linear-gradient(135deg, #ffe6f2 0%, #ffd86b 100%);
  border: 3px solid #ff8ac0;
  border-radius: 999px;
  color: #b03579;
  font-family: "Georgia", serif;
  font-size: 18px;
  font-weight: 700;
  box-shadow: 0 8px 24px rgba(255, 138, 192, 0.5);
  z-index: 710;
  pointer-events: none;
  animation: dust-toast 1.6s cubic-bezier(0.16, 0.84, 0.24, 1) forwards;
}
.dust-toast.key-toast {
  max-width: min(86vw, 560px);
  white-space: normal;
  text-align: center;
  background: linear-gradient(135deg, #f1edff 0%, #fff2a8 55%, #ddf8ff 100%);
  border-color: #8b68ff;
  color: #4f2c7a;
}
.dust-toast.reward-toast {
  border-color: #ffd86b;
  color: #7a3f00;
}
.dust-toast.clue-toast {
  max-width: min(86vw, 560px);
  white-space: normal;
  text-align: center;
  background: linear-gradient(135deg, #e8fff7 0%, #fff7c8 100%);
  border-color: #7be0c8;
  color: #235c51;
}
.dust-toast.helper-toast {
  max-width: min(88vw, 620px);
  white-space: normal;
  text-align: center;
  background: linear-gradient(135deg, #fff7c8 0%, #e2fff5 52%, #ffe1f0 100%);
  border-color: #ffd86b;
  color: #6b2247;
}
.dust-toast.pass-toast {
  max-width: min(88vw, 620px);
  white-space: normal;
  text-align: center;
  background: linear-gradient(135deg, #fff7c8 0%, #ffe6f2 48%, #e8fff7 100%);
  border-color: #ffd86b;
  color: #6b2247;
}
.dust-toast.mini-toast {
  max-width: min(88vw, 560px);
  white-space: normal;
  text-align: center;
  background: linear-gradient(135deg, #e8fff7 0%, #f4f0ff 52%, #fff7c8 100%);
  border-color: #7be0c8;
  color: #235c51;
}
.dust-toast.word-toast {
  max-width: min(82vw, 420px);
  white-space: normal;
  text-align: center;
  background: linear-gradient(135deg, #f4f0ff 0%, #fff7c8 100%);
  border-color: #c89bff;
  color: #4f2c7a;
}
@keyframes dust-toast {
  0% {
    opacity: 0;
    transform: translate(-50%, 20px) scale(0.8);
  }
  20% {
    opacity: 1;
    transform: translate(-50%, 0) scale(1.1);
  }
  80% {
    opacity: 1;
    transform: translate(-50%, -10px) scale(1);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -40px) scale(0.95);
  }
}

