.cosy-activity-feedback {
  position: fixed;
  z-index: 2147483000;
  left: 50%;
  bottom: 2rem;
  display: flex;
  align-items: center;
  gap: .25rem;
  min-width: 8.5rem;
  justify-content: center;
  padding: .78rem 1.15rem;
  border: 1px solid rgba(213, 158, 83, .7);
  border-radius: 999px;
  color: #fff3d5;
  background: rgba(39, 23, 13, .94);
  box-shadow: 0 12px 32px rgba(18, 9, 3, .34);
  font: 700 .95rem/1.1 Georgia, serif;
  opacity: 0;
  transform: translate(-50%, 1rem);
  pointer-events: none;
  transition: opacity .15s ease, transform .15s ease;
}

.cosy-activity-feedback.is-visible {
  opacity: 1;
  transform: translate(-50%, 0);
}

[data-theme="light"] ~ .cosy-activity-feedback,
body:has([data-theme="light"]) .cosy-activity-feedback {
  color: #4a2a15;
  background: rgba(255, 247, 229, .97);
  border-color: rgba(191, 128, 52, .72);
  box-shadow: 0 12px 32px rgba(92, 53, 20, .2);
}

.cosy-activity-dots {
  display: inline-flex;
  gap: .18rem;
  padding-left: .08rem;
}

.cosy-activity-dots i {
  width: .28rem;
  height: .28rem;
  border-radius: 50%;
  background: #e1ad60;
  animation: cosy-activity-blink 1s infinite ease-in-out;
}

.cosy-activity-dots i:nth-child(2) { animation-delay: .16s; }
.cosy-activity-dots i:nth-child(3) { animation-delay: .32s; }

@keyframes cosy-activity-blink {
  0%, 70%, 100% { opacity: .25; transform: translateY(0); }
  35% { opacity: 1; transform: translateY(-.16rem); }
}

@media (max-width: 640px) {
  .cosy-activity-feedback { bottom: 1rem; max-width: calc(100vw - 2rem); }
}

@media (prefers-reduced-motion: reduce) {
  .cosy-activity-dots i { animation: none; opacity: .8; }
}
