@keyframes pfm-fade-slide-in {
  from {
    opacity: 0;
    transform: translateX(20px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.pfm-floating-dock {
  position: fixed !important;
  top: 50% !important;
  right: 20px !important;
  transform: translateY(-50%) !important;
  z-index: 99999 !important;
}

.pfm-animate-fade-slide-in {
  animation: pfm-fade-slide-in 0.4s ease-out !important;
}

.pfm-dock-panel {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  padding: 10px !important;
  border-radius: 20px !important;
  -webkit-backdrop-filter: blur(10px) !important;
  backdrop-filter: blur(10px) !important;
  background: rgba(20, 26, 37, 0.6) !important;
  border: 1px solid rgba(255, 255, 255, 0.05) !important;
}

.pfm-dock-item {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
}

.pfm-tooltip {
  position: absolute !important;
  right: 100% !important;
  margin-right: 12px !important;
  padding: 6px 10px !important;
  border-radius: 6px !important;
  background: #111111 !important;
  color: #ffffff !important;
  font-size: 12px !important;
  line-height: 16px !important;
  white-space: nowrap !important;
  pointer-events: none !important;
  opacity: 0 !important;
  transform: translateX(8px) !important;
  transition: all 0.2s !important;
}

.pfm-dock-button {
  width: 52px !important;
  height: 52px !important;
  border-radius: 9999px !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  background: #1a1f2b !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  transition: all 0.2s ease-out !important;
  cursor: pointer !important;
}

.pfm-dock-button i,
.pfm-dock-button .lucide {
  width: 24px !important;
  height: 24px !important;
  stroke-width: 2 !important;
}

.pfm-dock-button-highlighted {
  width: 60px !important;
  height: 60px !important;
  border: none !important;
  background: #1ed760 !important;
  color: #ffffff !important;
  box-shadow: 0 8px 25px rgba(30, 215, 96, 0.4) !important;
}

.pfm-dock-item.pfm-active .pfm-tooltip,
.pfm-dock-item:hover .pfm-tooltip,
.pfm-dock-item:focus-within .pfm-tooltip {
  opacity: 1 !important;
  transform: translateX(0) !important;
}

.pfm-dock-item.pfm-active .pfm-dock-button,
.pfm-dock-item:hover .pfm-dock-button,
.pfm-dock-item:focus-within .pfm-dock-button {
  transform: scale(1.08) !important;
}

.pfm-dock-button-highlighted:hover,
.pfm-dock-button-highlighted:focus-visible {
  background: #1fef6a !important;
  color: #ffffff !important;
}

.pfm-dock-button:not(.pfm-dock-button-highlighted):hover,
.pfm-dock-button:not(.pfm-dock-button-highlighted):focus-visible {
  background: #222733 !important;
  color: #1ed760 !important;
}

.pfm-dock-button:focus,
.pfm-dock-button:focus-visible {
  outline: none !important;
}

.pfm-dock-button:active {
  transform: scale(0.95) !important;
}

@media (max-width: 768px) {
  .pfm-floating-dock {
    top: auto !important;
    bottom: 20px !important;
    transform: translateY(0) !important;
  }

  .pfm-dock-button {
    width: 48px !important;
    height: 48px !important;
  }

  .pfm-dock-button-highlighted {
    width: 56px !important;
    height: 56px !important;
  }
}
