/* A single axe strike lives on the felt area, below the TV and above controls. */
.rush-effect {
  position:absolute;z-index:9;isolation:isolate;
  inset:max(27%,calc(var(--tv-height,76px) + var(--tv-gap,8px) + 12px)) 17% 64px;
  display:grid;place-items:center;overflow:hidden;pointer-events:none;
  user-select:none;-webkit-user-select:none;
  contain:layout paint;
}
.rush-effect-art {
  position:absolute;inset:0;margin:auto;width:min(100%,260px);height:100%;max-height:240px;
  overflow:visible;pointer-events:none;
}
.rush-effect-axe {
  transform-box:view-box;transform-origin:50% 82%;
  filter:drop-shadow(0 3px 2px #02071199) drop-shadow(0 0 3px #b389f155);
  animation:rush-axe-strike 780ms linear both;
}
.rush-effect-impact {opacity:0;animation:rush-impact-show 530ms 250ms ease-out both}
.rush-effect-ring {fill:none;stroke:#b899ff;stroke-width:3;opacity:.65;transform-origin:112px 151px;animation:rush-impact-ring 480ms 250ms ease-out both}
.rush-effect-cut-shadow {fill:none;stroke:#d98eff;stroke-width:11;stroke-linecap:round;opacity:.48}
.rush-effect-cut {fill:none;stroke:#bcfbff;stroke-width:4;stroke-linecap:round;filter:drop-shadow(0 0 3px #53dcea)}
.rush-effect-sparks {fill:none;stroke:#ebc2ff;stroke-width:3;stroke-linecap:round}
.rush-effect-label {
  position:absolute;left:0;right:0;top:52%;display:grid;grid-template-columns:auto auto;
  align-items:baseline;justify-content:center;column-gap:5px;line-height:1;
  color:#f7f5ff;text-shadow:0 2px 0 #341d58,0 0 13px #dd5dda80;
  opacity:0;animation:rush-label-show 530ms 250ms ease-out both;
}
.rush-effect-label strong {font-family:inherit;font-size:clamp(34px,8cqw,60px);font-weight:950;line-height:1;transform:skew(-8deg);color:#f4e7ff}
.rush-effect-label b {font-size:clamp(18px,4cqw,28px);font-weight:850;color:#9af5ff}
.rush-effect-label span {
  grid-column:1/-1;justify-self:center;max-width:100%;margin-top:6px;padding:4px 9px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(10px,2.6cqw,13px);
  font-weight:650;letter-spacing:.02em;color:#f4ecff;border-radius:20px;
  background:#221934e8;border:1px solid #d399ef55;text-shadow:none;
}
@keyframes rush-axe-strike {
  0% {opacity:0;transform:translate(35px,-55px) rotate(65deg) scale(.93)}
  10% {opacity:1;transform:translate(24px,-37px) rotate(54deg) scale(.98)}
  20% {opacity:1;transform:translate(15px,-22px) rotate(48deg) scale(1)}
  32% {opacity:1;transform:translate(-1px,30px) rotate(-29deg) scale(1)}
  37% {opacity:1;transform:translate(1px,25px) rotate(-25deg) scale(1)}
  64% {opacity:1;transform:translate(0,28px) rotate(-28deg) scale(1)}
  100% {opacity:0;transform:translate(-5px,33px) rotate(-31deg) scale(.98)}
}
@keyframes rush-impact-show {0% {opacity:1} 68% {opacity:.75} 100% {opacity:0}}
@keyframes rush-impact-ring {0% {transform:scale(.4);opacity:.9} 100% {transform:scale(1.35);opacity:0}}
@keyframes rush-label-show {0% {opacity:0;transform:scale(1.16)} 18% {opacity:1;transform:scale(1)} 77% {opacity:1;transform:scale(1)} 100% {opacity:0;transform:scale(.98)}}
.rush-effect-still .rush-effect-art {display:none}
.rush-effect-still .rush-effect-label {top:42%;animation:none;opacity:1;transform:none}
@media (prefers-reduced-motion:reduce) {
  .rush-effect .rush-effect-art {display:none}
  .rush-effect .rush-effect-label {top:42%;animation:none;opacity:1;transform:none}
}
@container (max-height:360px) {
  .rush-effect {inset:max(25%,calc(var(--tv-height,76px) + 8px)) 17% 48px}
  .rush-effect-label strong {font-size:34px}
  .rush-effect-label b {font-size:19px}
}
@container (max-height:310px) {
  .rush-effect {top:58px;bottom:44px}
  .rush-effect-label strong {font-size:29px}
  .rush-effect-label span {font-size:9px;margin-top:4px;padding:3px 7px}
}
@container (min-width:600px) and (min-height:500px) {
  .rush-effect {bottom:96px}
}
