.failure-clock {
  position: relative;
  z-index: 200;
  overflow: hidden;
  box-sizing: border-box;
  width: 100%;
  padding: 0.7rem 1rem 0.8rem;
  color: #fff;
  background: repeating-linear-gradient(-45deg, #cf102d 0 18px, #a80019 18px 36px);
  border-top: 7px solid #ffd400;
  border-bottom: 7px solid #ffd400;
  box-shadow: inset 0 0 0 3px #111, 0 6px 0 #111;
  text-align: center;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  text-transform: uppercase;
}

.failure-clock::before,
.failure-clock::after {
  position: absolute;
  top: 50%;
  color: #ffd400;
  font-size: clamp(1.5rem, 5vw, 4rem);
  content: "!";
  transform: translateY(-50%);
  animation: failure-alarm 0.65s steps(2, end) infinite;
}

.failure-clock::before { left: clamp(0.75rem, 4vw, 4rem); }
.failure-clock::after { right: clamp(0.75rem, 4vw, 4rem); }

.failure-clock__opponent {
  color: #ffd400;
  font-size: clamp(0.85rem, 2vw, 1.2rem);
  letter-spacing: 0.12em;
}

.failure-clock__time {
  margin: 0.08em auto;
  font-size: clamp(2.35rem, 9vw, 6.75rem);
  line-height: 0.95;
  letter-spacing: 0.035em;
  text-shadow: 4px 4px 0 #111;
  font-variant-numeric: tabular-nums;
}

.failure-clock__verdict {
  font-size: clamp(1rem, 3.1vw, 2rem);
  letter-spacing: 0.045em;
}

.failure-clock.is-live {
  background: repeating-linear-gradient(-45deg, #111 0 18px, #cf102d 18px 36px);
  animation: failure-live 0.8s steps(2, end) infinite;
}

@keyframes failure-alarm { 50% { opacity: 0.15; } }
@keyframes failure-live { 50% { background-position: 36px 0; } }

@media (max-width: 520px) {
  .failure-clock { padding-inline: 2.4rem; }
  .failure-clock__time { letter-spacing: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .failure-clock,
  .failure-clock::before,
  .failure-clock::after { animation: none; }
}
