.card-protocol-victory-impact {
  position: absolute;
  z-index: 0;
  inset: -20%;
  overflow: hidden;
  pointer-events: none;
  opacity: 0;
  animation: card-protocol-victory-ignite 920ms cubic-bezier(0.12, 0.74, 0.18, 1) 80ms both;
}

.card-protocol-victory-impact::before,
.card-protocol-victory-impact::after,
.card-protocol-victory-impact > i {
  position: absolute;
  display: block;
  pointer-events: none;
}

.card-protocol-victory-impact::before {
  content: "";
  inset: 5%;
  background: repeating-conic-gradient(
    from 3deg at 50% 50%,
    rgba(115, 255, 237, 0) 0deg 7deg,
    rgba(115, 255, 237, 0.3) 7.5deg 8deg,
    rgba(244, 202, 94, 0) 8.5deg 15deg
  );
  mask-image: radial-gradient(circle, transparent 0 17%, #000 35%, transparent 74%);
  animation: card-protocol-victory-rays 7s linear 820ms infinite;
}

.card-protocol-victory-impact::after {
  content: "";
  inset: 22%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 239, 165, 0.42), rgba(59, 224, 215, 0.13) 24%, transparent 63%);
  filter: blur(2px);
  animation: card-protocol-victory-flare 1.1s ease-out 100ms both;
}

.card-protocol-victory-impact__burst {
  inset: 26%;
  border: 2px solid rgba(255, 224, 124, 0.64);
  border-radius: 50%;
  box-shadow:
    0 0 0 12px rgba(69, 229, 216, 0.08),
    0 0 44px rgba(255, 220, 105, 0.28),
    inset 0 0 38px rgba(86, 247, 228, 0.24);
  animation: card-protocol-victory-burst 1.05s cubic-bezier(0.12, 0.72, 0.18, 1) 80ms both;
}

.card-protocol-victory-impact__orbit {
  inset: 17%;
  border: 1px solid rgba(98, 236, 217, 0.32);
  border-block-width: 3px;
  border-radius: 50%;
  transform: rotate(-18deg);
  animation: card-protocol-victory-orbit 1.4s cubic-bezier(0.16, 0.78, 0.2, 1) 120ms both;
}

.card-protocol-victory-impact__sweep {
  top: -25%;
  bottom: -25%;
  left: 44%;
  width: 14%;
  background: linear-gradient(90deg, transparent, rgba(255, 246, 196, 0.42), transparent);
  filter: blur(8px);
  transform: skewX(-18deg) translateX(-520%);
  animation: card-protocol-victory-sweep 1.08s cubic-bezier(0.12, 0.72, 0.18, 1) 210ms both;
}

.card-protocol-victory-impact__crest {
  z-index: 2;
  top: 50%;
  left: 50%;
  color: rgba(255, 227, 130, 0.22);
  font-family: var(--font-display);
  font-size: clamp(120px, 25vw, 360px);
  font-style: normal;
  line-height: 1;
  text-shadow: 0 0 40px rgba(65, 237, 218, 0.4);
  transform: translate(-50%, -50%);
  animation: card-protocol-victory-crest 1.1s cubic-bezier(0.12, 0.72, 0.18, 1) 100ms both;
}

.card-protocol-victory-impact.is-total {
  inset: -35%;
  filter: saturate(1.22) brightness(1.12);
  animation-duration: 1.25s;
}

.card-protocol-victory-impact.is-total::before {
  background: repeating-conic-gradient(
    from -4deg at 50% 50%,
    rgba(255, 222, 111, 0) 0deg 4deg,
    rgba(255, 222, 111, 0.5) 4.4deg 5deg,
    rgba(87, 249, 228, 0) 5.4deg 10deg
  );
}

.card-protocol-comparison-ceremony.is-victory > .card-protocol-comparison-ceremony__seal {
  opacity: 0.42;
}

.card-protocol-comparison-ceremony.is-victory > .card-protocol-result-banner {
  isolation: isolate;
  padding: 18px clamp(34px, 7vw, 104px) 20px;
  clip-path: polygon(4% 0, 96% 0, 100% 50%, 96% 100%, 4% 100%, 0 50%);
  background:
    linear-gradient(90deg, transparent, rgba(14, 74, 82, 0.92) 14%, rgba(5, 29, 39, 0.98) 50%, rgba(14, 74, 82, 0.92) 86%, transparent),
    linear-gradient(180deg, rgba(255, 225, 131, 0.34), transparent 3px calc(100% - 3px), rgba(255, 225, 131, 0.34));
  filter: drop-shadow(0 18px 28px rgba(0, 0, 0, 0.58));
  animation: card-protocol-victory-banner 720ms cubic-bezier(0.08, 0.78, 0.16, 1) 160ms both;
}

.card-protocol-comparison-ceremony.is-total {
  background:
    radial-gradient(circle at 50% 32%, rgba(238, 192, 74, 0.22), transparent 38%),
    radial-gradient(circle at 50% 18%, rgba(50, 209, 197, 0.2), transparent 58%),
    linear-gradient(180deg, rgba(4, 31, 42, 0.99), rgba(1, 8, 15, 0.998)),
    var(--card-protocol-frame-art) center / 100% 100% no-repeat;
  box-shadow:
    0 38px 120px rgba(0, 0, 0, 0.9),
    inset 0 0 150px rgba(255, 207, 84, 0.13),
    0 0 56px rgba(81, 239, 219, 0.2);
}

.card-protocol-comparison-ceremony.is-total h3 {
  color: #fff1b0;
  font-size: clamp(42px, 6vw, 82px);
  text-shadow: 0 0 22px rgba(255, 218, 102, 0.38), 0 14px 38px rgba(0, 0, 0, 0.78);
  animation: card-protocol-total-victory-title 920ms cubic-bezier(0.08, 0.8, 0.16, 1) 240ms both;
}

.is-victory.is-settled,
.is-victory.is-settled > strong,
.is-victory.is-settled .card-protocol-hosted-result__banner,
.is-victory.is-settled .card-protocol-hosted-result__banner > strong,
.is-victory.is-settled .card-protocol-victory-impact,
.is-victory.is-settled .card-protocol-victory-impact::before,
.is-victory.is-settled .card-protocol-victory-impact::after,
.is-victory.is-settled .card-protocol-victory-impact > i {
  animation: none;
}

.is-victory.is-settled .card-protocol-victory-impact {
  opacity: 0.7;
  transform: scale(1);
}

.is-victory.is-settled .card-protocol-victory-impact::after {
  opacity: 0.44;
  transform: scale(1.38);
}

.is-victory.is-settled .card-protocol-victory-impact__burst {
  opacity: 0.2;
  transform: scale(1.75);
}

.is-victory.is-settled .card-protocol-victory-impact__orbit {
  opacity: 0.38;
  transform: rotate(16deg) scale(1.16);
}

.is-victory.is-settled .card-protocol-victory-impact__sweep {
  display: none;
}

.is-victory.is-settled .card-protocol-victory-impact__crest {
  opacity: 0.14;
  transform: translate(-50%, -50%) rotate(0) scale(1);
}

@keyframes card-protocol-victory-ignite {
  0% { opacity: 0; transform: scale(0.62); }
  28% { opacity: 1; }
  72% { opacity: 0.92; transform: scale(1.06); }
  100% { opacity: 0.7; transform: scale(1); }
}

@keyframes card-protocol-victory-rays {
  to { transform: rotate(360deg); }
}

@keyframes card-protocol-victory-flare {
  0% { opacity: 0; transform: scale(0.2); }
  42% { opacity: 1; }
  100% { opacity: 0.44; transform: scale(1.38); }
}

@keyframes card-protocol-victory-burst {
  0% { opacity: 0; transform: scale(0.12); }
  56% { opacity: 1; }
  100% { opacity: 0.2; transform: scale(1.75); }
}

@keyframes card-protocol-victory-orbit {
  0% { opacity: 0; transform: rotate(-90deg) scale(0.28); }
  45% { opacity: 0.9; }
  100% { opacity: 0.38; transform: rotate(16deg) scale(1.16); }
}

@keyframes card-protocol-victory-sweep {
  0% { opacity: 0; transform: skewX(-18deg) translateX(-520%); }
  26% { opacity: 1; }
  100% { opacity: 0; transform: skewX(-18deg) translateX(520%); }
}

@keyframes card-protocol-victory-crest {
  0% { opacity: 0; transform: translate(-50%, -50%) rotate(-28deg) scale(0.22); }
  52% { opacity: 0.64; }
  100% { opacity: 0.14; transform: translate(-50%, -50%) rotate(0) scale(1); }
}

@keyframes card-protocol-victory-banner {
  0% { opacity: 0; transform: perspective(700px) rotateX(28deg) scaleX(0.2) scaleY(1.18); }
  62% { opacity: 1; transform: perspective(700px) rotateX(-2deg) scaleX(1.04) scaleY(0.98); }
  100% { opacity: 1; transform: perspective(700px) rotateX(0) scale(1); }
}

@keyframes card-protocol-total-victory-title {
  0% { opacity: 0; letter-spacing: 0.3em; transform: scale(1.58); filter: blur(10px); }
  58% { opacity: 1; filter: blur(0); }
  100% { opacity: 1; letter-spacing: 0.045em; transform: scale(1); filter: blur(0); }
}

@media (max-width: 760px) and (orientation: portrait) {
  .card-protocol .card-protocol-comparison-ceremony.is-victory > .card-protocol-result-banner {
    padding: 13px 44px 15px;
  }

  .card-protocol .card-protocol-comparison-ceremony.is-total h3 {
    font-size: clamp(36px, 11vw, 48px);
    line-height: 0.9;
  }
}

@media (prefers-reduced-motion: reduce) {
  .card-protocol-victory-impact,
  .card-protocol-victory-impact::before,
  .card-protocol-victory-impact::after,
  .card-protocol-victory-impact > i,
  .card-protocol-comparison-ceremony,
  .card-protocol-comparison-ceremony h3,
  .card-protocol-comparison-ceremony.is-victory > .card-protocol-result-banner,
  .card-protocol-hosted-result.is-victory .card-protocol-hosted-result__banner,
  .card-protocol-hosted-result.is-victory .card-protocol-hosted-result__banner > strong,
  .multiplayer-card-table__centre.is-victory,
  .multiplayer-card-table__centre.is-victory > strong {
    animation-duration: 1ms !important;
    animation-delay: 0ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 1ms !important;
  }
}
