/* Defeat countdown and the original revive buttons, above the bottom-right of the classic HUD bar.
   Digit and button pixels are original (ui/revive/manifest.json); the blue tint, glow and
   expanding previous second follow the user's reference screenshot. */
.revive-panel { position:absolute; z-index:7; right:max(12px,env(safe-area-inset-right)); bottom:calc(146px + env(safe-area-inset-bottom)); width:104px; pointer-events:none; }
.revive-countdown { position:relative; height:44px; margin-bottom:4px; }
.revive-countdown[hidden] { display:block; visibility:hidden; }
/* The reference centers the number about 33px left of the button pair. */
.revive-digits { position:absolute; left:calc(50% - 33px); bottom:6px; display:flex; align-items:flex-end; gap:1px; transform:translateX(-50%); }
.revive-digits i { display:block; background:#b8beff; -webkit-mask:var(--glyph) no-repeat 0 0/100% 100%; mask:var(--glyph) no-repeat 0 0/100% 100%; }
.revive-current { filter:drop-shadow(0 0 2px #4253ff) drop-shadow(0 0 5px #2a37c8); }
.revive-echo { opacity:0; transform-origin:50% 70%; }
.revive-echo i { background:#59608f; }
.revive-echo.expanding { animation:revive-echo 1s ease-out forwards; }
@keyframes revive-echo {
  from { opacity:.6; transform:translateX(-50%) scale(1); filter:blur(0); }
  to { opacity:0; transform:translateX(-50%) scale(3.4); filter:blur(1.5px); }
}
.revive-actions { display:flex; gap:4px; pointer-events:auto; }
.revive-button { display:block; width:50px; height:50px; padding:0; border:0; background:transparent no-repeat 0 0/50px 50px; }
.revive-town { background-image:url('/ui/revive/revive.png?v=fe47ea74a881e2af'); }
.revive-here { background-image:url('/ui/revive/revive-here.png?v=176d201fa22bc909'); }
.revive-button[hidden] { display:none; }
.revive-here:active,.revive-here.pressed { background-image:url('/ui/revive/revive-here-pressed.png?v=4217010296fe78a4'); }
/* Revive has no original pressed frame; it nudges and dims while held. */
.revive-town:active { transform:translate(1px,1px); filter:brightness(.85); }
.revive-button:hover,.revive-button:focus-visible { filter:brightness(1.15); outline:none; }
.revive-button:focus-visible { box-shadow:0 0 0 1px #ffef9a; }
.revive-button[aria-disabled='true'] { cursor:not-allowed; }
@media (prefers-reduced-motion:reduce) { .revive-echo.expanding { animation:none; } }
