>>> ax-custom-title {
  z-index: 9999 !important;
}
.page-background {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.body {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
}
/* 退出中 */
.exiting {
  content: "正在结束";
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  font-size: 14px;
  overflow: hidden;
  z-index: 999999;
}
.exiting.lock {
  color: #3eb6f8;
}
.exiting .icon {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14vw;
  margin-bottom: 10px;
  color: inherit;
}
@keyframes show-long-press {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.exiting > .mask {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(10px);
  transform-origin: top;
  animation: show-long-press 300ms ease;
}
.exiting > .contet {
  position: relative;
  z-index: 1;
}
.exiting .exiting-title {
  font-weight: bold;
  font-size: 18px;
  transform: translateY(-100%);
}
.exiting .close {
  transform: translateY(150%);
  border: 1px solid #fff;
  border-radius: 100px;
  padding: 5px 15px;
}

/* 计时器 */
.timer {
  text-align: center;
}
.timer .value {
  color: #3eb6f8;
  font-size: 30px;
  font-weight: bold;
}
.timer .name {
  font-weight: bold;
  margin-top: 5px;
}
/* 主图 */
.host-graph {
  margin-top: 20px;
  height: 800rpx;
}
.host-graph .image {
  margin-left: -180rpx;
  width: 80vw;
}

/* 主参数 */
.parameter-info-box {
  background: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.72) 43%,
    #ffffff 100%
  );
  border-radius: 32rpx;
  margin: 20rpx;
}
.parameter {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 10px;
  margin: 0 20px;
  margin-top: 10px;
}
.parameter .param {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.parameter .param .value {
  margin-top: 24rpx;
  font-size: 20px;
  /* font-weight: bold; */
}
.parameter .param .name {
  font-size: 14px;
  color: #aaa;
  margin-top: 7px;
}
.end-charge-box {
}
.end-charge {
  margin: auto;
  margin-top: 32rpx;
  margin-bottom: 36rpx;
  width: 192rpx;
  height: 76rpx;
  background: linear-gradient(99deg, #8ff8fb 0%, #47aeff 100%);
  border-radius: 16rpx;
  font-weight: 800;
  font-size: 28rpx;
  color: #2b303a;
  text-align: center;
  line-height: 76rpx;
}
.end-charge::after {
  display: none;
}

/* 统计栏 */
.statbar {
  display: flex;
  align-items: center;
  justify-content: space-around;
  height: 80px;
  padding: 0 10px;
  border-radius: 8px;
  margin: 15px 20px;
  background-color: #f2f8ff;
  box-shadow: 0 3px 6px rgba(122, 168, 222, 0.3);
  /* overflow: hidden; */
  position: relative;
}
.statbar::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  box-shadow: 0 8px 8px #fff inset;
}
.statbar .sta {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.statbar .sta .value {
  color: #3eb6f8;
  font-size: 24px;
  font-weight: bold;
}
.statbar .sta .name {
  font-size: 14px;
  font-weight: bold;
}
.split {
  display: block;
  height: 60rpx;
  border-left: 1px solid #e5f1ff;
}

/* 主信息 */
.info {
  flex: 1;
  display: flex;
  flex-direction: column;
  background-color: #fff;
  border-radius: 16px 16px 0 0;
  padding: 10px;
  box-sizing: border-box;
}
.info .cell {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 14px;
  height: 32px;
  padding: 0 10px;
}
.info .cell .contet {
  color: #aaa;
}
.info .tips {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  color: #aaa;
}
.info .end {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  border-radius: 8px;
  height: 50px;
  background: linear-gradient(to right, #8ff8fb, #47aeff);
}
.info .end::after {
  display: none;
}
.info .end[disabled] {
  background: #ddd;
  color: #aaa;
}

.countdown-ring {
  --countdown-ring-size: 150px;
  --countdown-ring-color: var(--color-red);
  --countdown-ring-duration: 2s;

  display: flex;
  width: var(--countdown-ring-size);
  height: var(--countdown-ring-size);
  border-radius: 100%;
  position: relative;
}
.countdown-ring > ._button {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  flex-wrap: wrap;
  width: calc(var(--countdown-ring-size) - 35px);
  height: calc(var(--countdown-ring-size) - 35px);
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  background-color: var(--countdown-ring-color);
  border-radius: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.countdown-ring > ._half {
  flex: 1;
  height: var(--countdown-ring-size);
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.countdown-ring > ._half::after {
  content: "";
  display: block;
  width: var(--countdown-ring-size);
  height: var(--countdown-ring-size);
  border: 8px solid transparent;
  border-radius: 100%;
  box-sizing: border-box;
  position: absolute;
  top: 0;
  transform: rotate(-135deg);
}
.countdown-ring > ._half.left::after {
  left: 0;
  border-bottom-color: var(--countdown-ring-color);
  border-left-color: var(--countdown-ring-color);
}
.countdown-ring > ._half.right::after {
  right: 0;
  border-top-color: var(--countdown-ring-color);
  border-right-color: var(--countdown-ring-color);
}
.countdown-ring.active > ._half.left::after {
  animation: show calc(var(--countdown-ring-duration) / 2) linear 1;
  animation-delay: calc(var(--countdown-ring-duration) / 2);
  animation-fill-mode: forwards;
}
.countdown-ring.active > ._half.right::after {
  transform: rotate(45deg);
  animation: show calc(var(--countdown-ring-duration) / 2) linear 1;
}

@keyframes show {
  0% {
    transform: rotate(-135deg);
  }
  100% {
    transform: rotate(45deg);
  }
}
