.cyber-scroll-badge {
  position: absolute;
  bottom: 50vh;
  right: 1vw;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 99;
  display: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  background-color: rgba(26, 26, 26, 0.75);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  padding: 10px 16px;
  border: 1px solid rgba(57, 255, 20, 0.4);
  border-radius: 4px;
  -webkit-box-shadow: 0 0 15px rgba(57, 255, 20, 0.15), inset 0 0 10px rgba(57, 255, 20, 0.1);
          box-shadow: 0 0 15px rgba(57, 255, 20, 0.15), inset 0 0 10px rgba(57, 255, 20, 0.1);
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.cyber-scroll-badge__text {
  font-family: "Space Mono", monospace;
  font-size: 11px;
  letter-spacing: 2px;
  color: #39FF14;
  font-weight: 600;
  text-shadow: 0 0 8px rgba(57, 255, 20, 0.6);
  -webkit-animation: cyberPulseText 2s ease infinite;
          animation: cyberPulseText 2s ease infinite;
}
.cyber-scroll-badge__mouse {
  width: 20px;
  height: 32px;
  border: 2px solid #39FF14;
  border-radius: 12px;
  position: relative;
  -webkit-box-shadow: 0 0 8px rgba(57, 255, 20, 0.3);
          box-shadow: 0 0 8px rgba(57, 255, 20, 0.3);
}
.cyber-scroll-badge__wheel {
  width: 2px;
  height: 6px;
  background-color: #FF00FF;
  position: absolute;
  top: 6px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  border-radius: 1px;
  -webkit-box-shadow: 0 0 6px #FF00FF;
          box-shadow: 0 0 6px #FF00FF;
  -webkit-animation: cyberScrollAction 1.8s cubic-bezier(0.42, 0, 0.58, 1) infinite;
          animation: cyberScrollAction 1.8s cubic-bezier(0.42, 0, 0.58, 1) infinite;
}
.cyber-scroll-badge:hover {
  border-color: #FF00FF;
  -webkit-box-shadow: 0 0 20px rgba(255, 0, 255, 0.4), inset 0 0 10px rgba(255, 0, 255, 0.2);
          box-shadow: 0 0 20px rgba(255, 0, 255, 0.4), inset 0 0 10px rgba(255, 0, 255, 0.2);
}
.cyber-scroll-badge:hover .cyber-scroll-badge__text {
  color: #FFFFFF;
  text-shadow: 0 0 8px #FFFFFF;
}
.cyber-scroll-badge:hover .cyber-scroll-badge__mouse {
  border-color: #FF00FF;
  -webkit-box-shadow: 0 0 8px rgba(255, 0, 255, 0.4);
          box-shadow: 0 0 8px rgba(255, 0, 255, 0.4);
}

/* --- Animaciones Cyber --- */
@-webkit-keyframes cyberScrollAction {
  0% {
    top: 6px;
    opacity: 1;
    height: 6px;
  }
  50% {
    top: 14px;
    opacity: 0.6;
    height: 8px;
  }
  100% {
    top: 20px;
    opacity: 0;
    height: 4px;
  }
}
@keyframes cyberScrollAction {
  0% {
    top: 6px;
    opacity: 1;
    height: 6px;
  }
  50% {
    top: 14px;
    opacity: 0.6;
    height: 8px;
  }
  100% {
    top: 20px;
    opacity: 0;
    height: 4px;
  }
}
@-webkit-keyframes cyberPulseText {
  0%, 100% {
    opacity: 0.8;
  }
  50% {
    opacity: 1;
    -webkit-filter: brightness(1.2);
            filter: brightness(1.2);
  }
}
@keyframes cyberPulseText {
  0%, 100% {
    opacity: 0.8;
  }
  50% {
    opacity: 1;
    -webkit-filter: brightness(1.2);
            filter: brightness(1.2);
  }
}
@media (min-width: 1200px) {
  .cyber-scroll-badge {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}