.tilde-menu-item {
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: inherit;

  background-image: linear-gradient(#ee7b2b, #ee7b2b);
  background-repeat: no-repeat;
  background-size: 0% 2px;       
  background-position: 0% 100%;  /* старт слева снизу */

  transition: background-size 0.35s ease;
}

.tilde-menu-item:hover {
  background-size: 100% 2px;
}

.tg-btn {
    position: relative;
    overflow: hidden;
    border-radius: 886px;
    animation: tgPulse 2.2s infinite;
    transition: transform 0.2s ease, box-shadow 0.3s ease;
}

/* Мягкая пульсация */
@keyframes tgPulse {
    0% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(0, 136, 204, 0.45);
    }

    70% {
        transform: scale(1.04);
        box-shadow: 0 0 0 16px rgba(0, 136, 204, 0);
    }

    100% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(0, 136, 204, 0);
    }
}

/* Эффект нажатия */
.tg-btn:active {
    transform: scale(0.96);
}

/* Блик */
.tg-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -120%;
    width: 70%;
    height: 100%;
    background: linear-gradient(
        120deg,
        transparent,
        rgba(255,255,255,0.45),
        transparent
    );
    transform: skewX(-25deg);
    animation: shine 3s infinite;
}

@keyframes shine {
    0% {
        left: -120%;
    }

    60% {
        left: 140%;
    }

    100% {
        left: 140%;
    }
}