/* One bounded impact: burning fissures, a screen-wide pressure wave, heavy stone. */
.elimination-overlay{position:fixed;inset:0;z-index:35;overflow:hidden;isolation:isolate;pointer-events:none;perspective:1000px}
.elimination-overlay *{pointer-events:none!important}
.elimination-screen-fire{position:absolute;inset:0;z-index:0;background:radial-gradient(ellipse at var(--origin-x) var(--origin-y),#ff657599 0%,#bd1534a8 19%,#590b2066 57%,#230e1644 100%);opacity:0;animation:elimination-screen 1450ms ease-out both}
.elimination-fireball,.elimination-shockwave{position:absolute;left:var(--origin-x);top:var(--origin-y);width:var(--blast-size);height:var(--blast-size);border-radius:50%;transform:translate(-50%,-50%) scale(.015);opacity:0;will-change:transform,opacity}
.elimination-fireball{z-index:1;background:radial-gradient(circle,#ffe0e6dd 0%,#ff82929c 5%,#e52b4b99 14%,#9c132e80 29%,#46122166 43%,#130e1700 65%);animation:elimination-fire 1250ms 120ms cubic-bezier(.14,.63,.25,1) both}
.elimination-shockwave{z-index:3;border:7px solid #ffb4c29c;box-shadow:inset 0 0 26px #ff3659a6,0 0 24px #c9214566;background:radial-gradient(circle,transparent 65%,#ff567840 71%,transparent 73%);animation:elimination-wave 1050ms 180ms cubic-bezier(.08,.48,.22,1) both}
.elimination-dust{position:absolute;left:var(--origin-x);top:var(--origin-y);width:var(--dust-size);height:var(--dust-size);z-index:4;border-radius:45% 55% 39% 61%;background:radial-gradient(ellipse at 39% 42%,#85515daa,#4b303bb5 31%,#352a2b88 55%,#211b2300 72%);filter:blur(5px);opacity:0;animation:elimination-dust 1250ms var(--dust-delay) ease-out both;will-change:transform,opacity}
.elimination-tile{position:absolute;z-index:5;perspective:850px;pointer-events:none;overflow:visible}
.elimination-rock{position:absolute;inset:0;opacity:1;animation:elimination-rock 1450ms var(--rock-delay) cubic-bezier(.3,.02,.68,1) both;will-change:transform,opacity;filter:drop-shadow(3px 8px 5px #0009)}
.elimination-rock-depth,.elimination-rock-edge{position:absolute;inset:0}
.elimination-rock-depth{background:linear-gradient(135deg,#30282d,#0b0a0d 63%);transform:translate(5px,7px)}
.elimination-rock-edge{background:linear-gradient(135deg,#e6788d 0%,#e82c4f 24%,#501727 52%,#151216 88%);animation:elimination-cool 1250ms ease-out both}
.elimination-overlay .elimination-face{position:absolute;inset:0;margin:0;border:0;border-radius:0;box-shadow:none;container-type:size;overflow:hidden;isolation:isolate;pointer-events:none;animation:none!important;transition:none!important}
.elimination-face .backdrop{opacity:1!important;transition:none!important}
.elimination-face .life{opacity:1!important;transform:none!important;transition:none!important;animation:none!important}
.elimination-face .life-area{padding:0}
.elimination-face::after{inset:0;border:0;border-radius:0;z-index:4;background:repeating-linear-gradient(118deg,#24131b2b 0 2px,transparent 2px 8px),repeating-linear-gradient(27deg,#d68da012 0 1px,transparent 1px 6px),linear-gradient(142deg,#a9687d17,#120e1322 35%,#05050975);opacity:.85}
.elimination-cracks{position:absolute;inset:0;width:100%;height:100%;z-index:6;overflow:visible;opacity:0;filter:drop-shadow(0 0 5px #ed2348);animation:elimination-crack 600ms ease-out both}
.elimination-cracks path{fill:none;stroke:#ff8ca2;stroke-width:2;stroke-linejoin:bevel;vector-effect:non-scaling-stroke}
.elimination-chip{position:absolute;left:var(--origin-x);top:var(--origin-y);width:var(--chip-size);height:calc(var(--chip-size)*1.35);z-index:7;clip-path:polygon(9% 18%,61% 0,100% 38%,77% 90%,21% 100%,0 63%);background:linear-gradient(130deg,#a64c63,#3d2932 35%,#211b1d 75%);opacity:0;animation:elimination-chip 1150ms 230ms cubic-bezier(.22,.13,.69,1) both;will-change:transform,opacity}
.player.dead.elimination-active .death{animation:elimination-skull 1450ms ease-out both;transition:none}
@keyframes elimination-screen{0%,7%{opacity:0}19%{opacity:.75}38%{opacity:.42}100%{opacity:0}}
@keyframes elimination-fire{0%{transform:translate(-50%,-50%) scale(.015);opacity:0}14%{opacity:.88}49%{opacity:.55}100%{transform:translate(-50%,-50%) scale(1.28);opacity:0}}
@keyframes elimination-wave{0%{transform:translate(-50%,-50%) scale(.025);opacity:0}9%{opacity:.9}65%{opacity:.42}100%{transform:translate(-50%,-50%) scale(1);opacity:0}}
@keyframes elimination-dust{0%{transform:translate(-50%,-50%) scale(.08);opacity:0}13%{opacity:.73}68%{opacity:.42}100%{transform:translate(calc(-50% + var(--dust-x)),calc(-50% + var(--dust-y))) scale(1.8);opacity:0}}
@keyframes elimination-rock{0%,13%{transform:translate3d(0,0,0) rotateX(0) rotateY(0) rotateZ(0);opacity:1}48%{transform:translate3d(var(--kick-x),var(--kick-y),45px) rotateX(calc(var(--tilt-x)*.5)) rotateY(calc(var(--tilt-y)*.5)) rotateZ(calc(var(--spin)*.4));opacity:1}76%{opacity:.88}100%{transform:translate3d(var(--rock-x),var(--rock-y),-100px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) rotateZ(var(--spin));opacity:0}}
@keyframes elimination-cool{0%,12%{filter:brightness(1.7)}48%{filter:brightness(.7)}100%{filter:brightness(.4)}}
@keyframes elimination-crack{0%{opacity:0}14%{opacity:.5}34%{opacity:1}50%{opacity:.85}100%{opacity:0}}
@keyframes elimination-chip{0%{transform:translate(-50%,-50%) rotate(0);opacity:0}9%{opacity:1}68%{opacity:.75}100%{transform:translate(calc(-50% + var(--chip-x)),calc(-50% + var(--chip-y))) rotate(var(--chip-turn));opacity:0}}
@keyframes elimination-skull{0%,18%{opacity:0}52%,100%{opacity:1}}
/* Also safe if a preference changes while an impact is already in flight. */
.energy-saving .elimination-overlay{display:none}
.energy-saving .player.dead.elimination-active .death{animation:none!important;opacity:1}
@media(prefers-reduced-motion:reduce){.elimination-overlay{display:none}.player.dead.elimination-active .death{animation:none!important;opacity:1}}
