.rankListPage {
  background: linear-gradient(270deg, #FBE3F6 0%, #FFDFD0 100%);
  min-height: 100vh;

  :global {
    .van-tabs__nav {
      background-color: transparent !important;
      justify-content: center;
    }

    .van-tab {
      font-size: 16px;
      font-weight: bold;
      color: rgba(0, 0, 0, 0.5);
      line-height: 22px;
    }

    .van-tab--active {
      color: rgba(19, 20, 21, 1);
    }

    .van-tabs__line {
      background: #2B2A2F;
      border-radius: 2px !important;
      bottom: 20px;
      width: 22px;
    }

    .van-tab--shrink {
      padding: 0 25px;
    }

    .van-calendar__day--end,
    .van-calendar__day--start,
    .van-calendar__day--start-end,
    .van-calendar__day--multiple-middle,
    .van-calendar__day--multiple-selected {
      background: #FF5074;
    }

    .van-overlay,
    .van-popup {
      z-index: 99999999 !important;
    }
  }

  .timeRange {
    display: flex;
    align-items: center;
    font-size: 14px;
    color: rgba(19, 20, 21, 0.6);

    .iconArrow {
      display: inline-block;
      width: 9px;
      height: 5px;
      margin-left: 3px;
      background: url('./images/icon-arrow.png') no-repeat center;
      background-size: contain;
    }
  }
}

.bgImg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 397px;
  // object-fit: cover;
  z-index: 0;
}

.sticky {
  :global {
    .van-sticky {
      transition: none;
      background: url('./images/time-bg.png') no-repeat top center;
      background-size: 100% 397px;
    }
  }

  .backArrow {
    position: absolute;
    z-index: 10;
    left: 13px;
    bottom: 8px;
    display: inline-block;
    font: 0.37333rem/1 vant-icon;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    margin-right: var(--van-padding-base);
    font-size: var(--van-nav-bar-arrow-size);
  }
}

.rankContainer {
  position: relative;
}

.rankLevel {
  padding-top: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 13px;

  .levelItem {
    width: 112px;
    text-align: center;

    &::after {
      content: ' ';
      display: block;
      width: 112px;
      height: 124px;
    }

    .levelUserImg {
      position: relative;
      width: 86px;
      height: 77px;
      margin: 0 auto;
      display: flex;
      align-items: center;
      justify-content: center;

      &::after {
        content: '';
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        z-index: 1;
      }

      .img {
        width: 50px;
        height: 50px;
        border-radius: 50%;
        overflow: hidden;
      }
    }

    h2 {
      padding-top: 5px;
      font-size: 16px;
      font-weight: 600;
      color: #131415;
      line-height: 22px;
    }

    .levelTime {
      font-size: 12px;
      line-height: 17px;
      padding: 2px 0 8px;
      color: rgba(0, 0, 0, 0.6);
    }
  }

  .level1 {
    &::after {
      height: 142px;
      background: url('./images/level-1-bg.png') no-repeat center;
      background-size: contain;
    }

    .levelUserImg {
      width: 92px !important;
      height: 88px !important;

      &::after {
        background: url('./images/level-1-header.png') no-repeat center;
        background-size: contain;
      }
    }

    .img {
      width: 58px !important;
      height: 58px !important;
    }
  }

  .level2 {
    margin-top: 33px;

    &::after {
      background: url('./images/level-2-bg.png') no-repeat center;
      background-size: contain;
    }

    .levelUserImg {
      &::after {
        background: url('./images/level-2-header.png') no-repeat center;
        background-size: contain;
      }
    }
  }

  .level3 {
    margin-top: 30px;

    &::after {
      height: 118px;
      background: url('./images/level-3-bg.png') no-repeat center;
      background-size: contain;
    }

    .levelUserImg {
      &::after {
        background: url('./images/level-3-header.png') no-repeat center;
        background-size: contain;
      }
    }
  }
}

.rankList {
  background: rgba(255, 255, 255, 0.7);
  border-radius: 20px 20px 0px 0px;
  border: 2px solid #FFFFFF;
  backdrop-filter: blur(6px);
  min-height: calc(100vh - 220px - var(--header-height) - var(--bottom-height));
  margin: -62px 13px 0;

  .rankTitle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 19px 12px 4px 0;

    .titleName {
      display: flex;
      align-items: center;

      &::before {
        content: '';
        display: flex;
        width: 4px;
        height: 14px;
        background-color: #FFA2A0;
        border-radius: 0px 3px 3px 0px;
        margin-right: 8px;
      }

      img {
        width: 80px;
        height: 16px;
      }
    }
  }
}

.rankContainer {

  .rankItem,
  .selfInfo {
    position: relative;
    background-color: transparent;
    padding: 6px 10px 6px 30px;
    border-radius: 12px;
    margin: 0 6px 4px;
    width: auto;



    &.active {
      background-color: #FFE5EA;
    }


    .num {
      position: absolute;
      left: 8px;
      top: 20px;
      font-size: 20px;
      font-family: DINAlternate-Bold, DINAlternate;
      font-weight: bold;
      color: #AAAAAA;
      line-height: 24px;
    }

    .userImg {
      width: 48px;
      height: 48px;
      border-radius: 50%;
      overflow: hidden;
      margin-right: 12px;
      flex-shrink: 0;
    }

    .userName {
      font-size: 16px;
      font-weight: 600;
      color: #131415;
      line-height: 22px;
    }

    .subjectName {
      font-size: 12px;
      color: #777777;
      line-height: 17px;
    }

    .times {
      font-size: 14px;
      color: #777777;
      line-height: 20px;

      span {
        font-size: 18px;
        font-family: DINAlternate-Bold, DINAlternate;
        font-weight: bold;
        color: #333333;
        line-height: 21px;
        padding-right: 4px;
      }
    }
  }

  .selfInfo {
    background: #FFFFFF;
    box-shadow: 0px 1px 12px 0px rgba(240, 192, 221, 0.43);
    border-radius: 20px 20px 0px 0px;
    margin: 0;
    padding: 14px 25px calc(14px + env(safe-area-inset-bottom)) 56px;

    .num {
      position: absolute;
      left: 30px;
      top: 26px;
    }
  }
}

.rankListDay {
  background: linear-gradient(180deg, #C1F2F9 0%, #D3FFFF 29%, #FFEBCE 100%);


  .sticky {
    :global {
      .van-sticky {
        background: url('./images/day-bg.png') no-repeat top center #C1F2F9;
        background-size: 100% 397px;
      }
    }
  }

  .rankItem,
  .selfInfo {
    &.active {
      background-color: rgba(228, 247, 247, 1);
    }
  }

  .selfInfo {
    box-shadow: 0px 1px 12px 0px rgba(236, 219, 196, 0.34);

    .num {
      position: absolute;
      left: 30px;
      top: 26px;
    }
  }
}

.emptyResult {
  position: absolute;
  width: 100%;
  height: calc(100vh - var(--header-height));
  display: flex;
  align-items: center;
}