cyb/src/pages/robot/Layout/LayoutRoot/RootMenu/RootMenu.module.scss

$activeLineWidth: 2px;

.wrapper {
  @media (max-width: 540px) {
    background: #000;
    height: 100%;
  }
}

.links {
  a {
    position: relative;
    display: flex;
    justify-content: space-between;
    padding: 0 20px;
    color: var(--grayscale-secondary);
    min-height: 50px;

    > div {
      display: flex;
      align-items: center;
      gap: 10px;

      &:first-child {
        gap: 20px;
      }
    }

    .icon {
      font-size: 30px;
    }

    .count {
      display: inline-flex;
      color: var(--grayscale-primary);
    }

    .description {
      color: var(--grayscale-dark);
    }

    &::after {
      content: '';
      opacity: 0;
      display: block;
      right: -$activeLineWidth;
      height: 100%;
      position: absolute;
      transition: opacity 0.3s;
    }

    &:hover,
    &.active {
      .text {
        color: var(--grayscale-primary);
        font-size: 16px;
      }
    }

    &.active {
      &::after,
      &::before {
        opacity: 1;
      }

      &::after {
        background: linear-gradient(
          90deg,
          rgb(0 0 0 / 0%) 0%,
          rgb(255 255 255 / 8%) 100%
        );
        width: 50%;
      }

      .icon {
        background: var(--primary-color);
        border-radius: 50%;
        width: 32px;
        height: 32px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 18px;
      }
    }
  }

  @media (max-width: 540px) {
    a {
      padding: 0;
      justify-content: center;
      min-height: 40px;

      > div:first-child {
        gap: 0;
      }

      .text,
      .count,
      .description {
        display: none;
      }

      .icon {
        font-size: 22px;
      }

      &::after {
        display: none;
      }
    }
  }
}

Neighbours