@charset "utf-8";

@keyframes mcw-bounce-in { 
  0% { transform: scale(0) rotate(-15deg); opacity: 0; }
  60% { transform: scale(1.15) rotate(4deg); opacity: 1; }
  80% { transform: scale(0.95) rotate(-2deg); }
  100% { transform: scale(1) rotate(0deg); opacity: 1; }
}

@keyframes mcw-pulse-ring { 
  0% { transform: scale(1); opacity: 0.7; }
  70% { transform: scale(1.55); opacity: 0; }
  100% { transform: scale(1.55); opacity: 0; }
}

@keyframes mcw-float { 
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-5px); }
}

.mcw-widget { position: fixed; bottom: calc(5.125rem + 20px + env(safe-area-inset-bottom, 0px)); right: 20px; z-index: 1000; display: flex; flex-direction: column; align-items: flex-end; gap: 10px; pointer-events: none; transition: opacity 0.5s ease 0s, transform 0.5s ease 0s; }

@media (min-width: 1024px) {
  .mcw-widget { bottom: 20px; }
}

.mcw-widget.visible { pointer-events: auto; opacity: 1; transform: none; }

.mcw-widget:not(.visible) { opacity: 0; transform: translateY(16px); }

.mcw-btn-wrap { position: relative; display: flex; align-items: center; justify-content: center; }

.mcw-pulse-ring { position: absolute; inset: 0px; border-radius: 50%; background: rgb(0, 132, 255); animation: 1.2s cubic-bezier(0.215, 0.61, 0.355, 1) 0s 1 normal forwards running mcw-pulse-ring; }

.mcw-btn { position: relative; width: 58px; height: 58px; border-radius: 50%; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, rgb(0, 198, 255) 0%, rgb(0, 114, 255) 50%, rgb(123, 47, 247) 100%); box-shadow: rgba(0, 130, 255, 0.55) 0px 4px 20px, rgba(0, 130, 255, 0.4) 0px 0px 0px 0px; transition: transform 0.2s cubic-bezier(0.36, 0.07, 0.19, 0.97) 0s, box-shadow 0.2s ease 0s; animation: 3s ease-in-out 0s infinite normal none running mcw-float; text-decoration: none; }

.mcw-btn:hover { transform: scale(1.1) translateY(-2px); box-shadow: rgba(0, 130, 255, 0.7) 0px 8px 32px, rgba(0, 130, 255, 0.4) 0px 0px 0px 0px; animation: auto ease 0s 1 normal none running none; }

.mcw-btn:active { transform: scale(0.95) translateY(0px); }

.mcw-icon { width: 32px; height: 32px; fill: rgb(255, 255, 255); filter: drop-shadow(rgba(0, 0, 0, 0.3) 0px 2px 4px); pointer-events: none; }

.mcw-badge { position: absolute; top: -2px; right: -2px; background: rgb(240, 80, 39); color: rgb(255, 255, 255); font-size: 10px; font-weight: 700; width: 18px; height: 18px; border-radius: 50%; display: flex; align-items: center; justify-content: center; border: 2px solid rgb(16, 23, 48); box-shadow: rgba(240, 80, 39, 0.6) 0px 2px 8px; }