.foreground-catchup-confirmation {
  position: absolute;
  z-index: 72;
  top: clamp(72px, 10dvh, 108px);
  left: 50%;
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 34px;
  padding: 6px 13px 7px 8px;
  border: 1px solid rgba(154, 255, 196, .44);
  border-radius: 999px;
  background:
    linear-gradient(110deg, rgba(10, 31, 24, .96), rgba(7, 17, 22, .92)),
    rgba(6, 17, 16, .94);
  box-shadow:
    0 12px 30px rgba(0, 0, 0, .32),
    0 0 22px rgba(72, 245, 157, .12),
    inset 0 1px 0 rgba(255, 255, 255, .08);
  color: #dfffee;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .08em;
  line-height: 1;
  pointer-events: none;
  opacity: 0;
  transform: translate(-50%, -8px) scale(.96);
  transition: opacity 180ms ease, transform 240ms cubic-bezier(.2, .78, .2, 1);
}

.foreground-catchup-confirmation::before {
  content: "";
  width: 7px;
  height: 7px;
  margin-left: 3px;
  border-radius: 50%;
  background: #6dffad;
  box-shadow: 0 0 0 4px rgba(83, 255, 164, .1), 0 0 13px rgba(83, 255, 164, .72);
  animation: foreground-live-pulse 920ms ease-in-out 1;
}

.foreground-catchup-confirmation strong {
  color: #83ffb8;
  font-size: 10px;
  letter-spacing: .14em;
}

.foreground-catchup-confirmation span {
  color: rgba(235, 255, 245, .94);
  text-shadow: 0 1px 5px rgba(0, 0, 0, .65);
}

.foreground-catchup-confirmation.is-visible {
  opacity: 1;
  transform: translate(-50%, 0) scale(1);
}

.foreground-catchup-confirmation.is-leaving {
  opacity: 0;
  transform: translate(-50%, -5px) scale(.985);
}

@keyframes foreground-live-pulse {
  0%, 100% { opacity: .78; transform: scale(.84); }
  48% { opacity: 1; transform: scale(1.2); }
}

@media (max-width: 720px) {
  .foreground-catchup-confirmation {
    top: max(58px, calc(env(safe-area-inset-top, 0px) + 48px));
    min-height: 30px;
    padding: 5px 10px 6px 7px;
    font-size: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .foreground-catchup-confirmation,
  .foreground-catchup-confirmation.is-visible,
  .foreground-catchup-confirmation.is-leaving {
    transform: translate(-50%, 0);
    transition-duration: 1ms;
  }

  .foreground-catchup-confirmation::before {
    animation: none;
  }
}
