















.v4-annpin {
  position: relative;
  width: 34px; height: 34px;
  border-radius: 50%;
  background: var(--annc, #0b6ea8);
  display: flex; align-items: center; justify-content: center;
  color: #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,.35);
  cursor: pointer;
}
.v4-annpin .g { font-size: 17px; line-height: 1; }



.v4-annpin::before {
  content: '';
  position: absolute; inset: -6px;
  border-radius: 50%;
  border: 2px solid var(--annc, #0b6ea8);
  opacity: 0;
}


.v4-annpin.m-none::before  { opacity: 0; }
.v4-annpin.m-slow::before  { animation: v4annpulse 2s    ease-out infinite; }
.v4-annpin.m-fast::before  { animation: v4annpulse 1.15s ease-out infinite; }
.v4-annpin.m-alarm::before { inset: -10px; border-width: 3px;
                             animation: v4annpulse .85s  ease-out infinite; }

@keyframes v4annpulse {
  0%   { transform: scale(.72); opacity: .85; }
  100% { transform: scale(1.35); opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .v4-annpin::before { animation: none !important; opacity: .5; }
  .v4-annpin.m-none::before { opacity: 0; }
}


.v4-annpin-wrap { background: none !important; border: 0 !important; }
