/* UI 017.4.11 SAFE CANARY — visible Cinematic Finish beat.
   Presentation only: A6 remains the sole terminal lifecycle owner.
   The first ~0.4s of A6 verdict time is deliberately used as a cinematic hold,
   then the existing verdict appears; no combat/result timers are rescheduled. */

html.arena-result0174-canary body.arena-battle014-active #battle014-root .b173a6-terminal-stage{
  --b174-cine-accent:rgba(245,199,91,.96);
  --b174-cine-accent-soft:rgba(229,166,54,.30);
  --b174-cine-dark:rgba(2,2,5,.88);
}
html.arena-result0174-canary body.arena-battle014-active #battle014-root .b173a6-terminal-stage.is-loss{
  --b174-cine-accent:rgba(190,94,111,.90);
  --b174-cine-accent-soft:rgba(145,45,65,.30);
  --b174-cine-dark:rgba(8,2,5,.90);
}

/* Strong but short matte/vignette. It starts only once HP drain is finished and
   A6 enters its existing verdict state. The finishing hit itself stays untouched. */
html.arena-result0174-canary body.arena-battle014-active #battle014-root .b173a6-terminal-stage::before{
  content:"";
  position:absolute;
  z-index:68;
  inset:0;
  pointer-events:none;
  opacity:0;
  background:
    linear-gradient(180deg,rgba(1,1,3,.96) 0,rgba(2,2,5,.74) 8%,transparent 19%,transparent 80%,rgba(2,2,5,.76) 92%,rgba(1,1,3,.97) 100%),
    radial-gradient(ellipse at 50% 43%,transparent 0 19%,rgba(3,2,6,.22) 43%,var(--b174-cine-dark) 100%);
  will-change:opacity;
}
html.arena-result0174-canary body.arena-battle014-active #battle014-root .b173a6-terminal-stage.is-verdict::before{
  animation:b174CineMatteIn .34s cubic-bezier(.2,.72,.18,1) both!important;
}

/* A visible light strike happens after the short hold, just before title reveal. */
html.arena-result0174-canary body.arena-battle014-active #battle014-root .b173a6-terminal-stage::after{
  content:"";
  position:absolute;
  z-index:78;
  left:50%;
  top:44%;
  width:min(96vw,620px);
  height:3px;
  translate:-50% -50%;
  scale:.03 1;
  pointer-events:none;
  opacity:0;
  background:linear-gradient(90deg,transparent 0,var(--b174-cine-accent-soft) 21%,var(--b174-cine-accent) 50%,var(--b174-cine-accent-soft) 79%,transparent 100%);
  box-shadow:0 0 12px var(--b174-cine-accent),0 0 42px var(--b174-cine-accent-soft);
  transform-origin:center;
  will-change:opacity,scale;
}
html.arena-result0174-canary body.arena-battle014-active #battle014-root .b173a6-terminal-stage.is-verdict::after{
  animation:b174CineFlare .72s .28s cubic-bezier(.13,.78,.17,1) both!important;
}

/* The stage is a cloned snapshot, therefore this camera push never competes with
   accepted 016.1 fighter transforms. It is intentionally much more noticeable
   than 017.4.10, while still staying below a game-camera shake. */
html.arena-result0174-canary body.arena-battle014-active #battle014-root .b173a6-terminal-stage.is-verdict > .battle014{
  transform-origin:50% 43%!important;
  animation:b174CineCameraHold 1.48s cubic-bezier(.14,.62,.2,1) both!important;
}
html.arena-result0174-canary body.arena-battle014-active #battle014-root .b173a6-terminal-stage.is-hp-drained:not(.is-verdict) > .battle014{
  animation:b174CineZeroHold .16s ease-out both!important;
}

/* Explicit cinematic beat: A6 still starts verdict at the same moment, but its
   visible title/halo are held for ~0.4s. This creates HP=0 -> freeze -> verdict. */
html.arena-result0174-canary body.arena-battle014-active #battle014-root .b173a6-terminal-stage.is-verdict .b173a6-verdict-copy{
  opacity:0;
  animation:b174CineVerdictReveal .92s .40s cubic-bezier(.12,.76,.18,1) both!important;
}
html.arena-result0174-canary body.arena-battle014-active #battle014-root .b173a6-terminal-stage.is-verdict .b173a6-verdict-halo{
  opacity:0;
  animation:b174CineHaloReveal .90s .34s cubic-bezier(.12,.75,.18,1) both!important;
}

html.arena-result0174-canary body.arena-battle014-active #battle014-root .b173a6-verdict-shade::after{
  content:"";
  position:absolute;
  inset:-16% -40%;
  pointer-events:none;
  opacity:0;
  background:linear-gradient(106deg,transparent 38%,rgba(255,235,177,.07) 47%,rgba(255,242,198,.22) 50%,rgba(255,235,177,.06) 53%,transparent 62%);
  translate:-28% 0;
  rotate:-2deg;
}
html.arena-result0174-canary body.arena-battle014-active #battle014-root .b173a6-verdict.is-loss .b173a6-verdict-shade::after{
  background:linear-gradient(106deg,transparent 38%,rgba(211,143,155,.055) 47%,rgba(210,151,162,.17) 50%,rgba(180,90,106,.045) 53%,transparent 62%);
}
html.arena-result0174-canary body.arena-battle014-active #battle014-root .b173a6-verdict.is-live .b173a6-verdict-shade::after{
  animation:b174CineShadeSweep .94s .31s cubic-bezier(.16,.72,.2,1) both!important;
}

/* Result arrival. A short dark curtain makes the transition from verdict to the
   persistent reward card read as a scene change rather than an instant DOM swap. */
html.arena-result0174-canary.arena-result0174-cine-arrival body.arena-battle014-active #battle014-root > .battle014-finished.b174-ready{
  position:relative;
  isolation:isolate;
}
html.arena-result0174-canary.arena-result0174-cine-arrival body.arena-battle014-active #battle014-root > .battle014-finished.b174-ready::before{
  content:"";
  position:absolute;
  z-index:40;
  inset:0;
  pointer-events:none;
  background:radial-gradient(ellipse at 50% 22%,rgba(24,14,29,.86),rgba(2,2,5,.97) 72%);
  animation:b174CineCurtainOut .58s ease-out both;
}
html.arena-result0174-canary.arena-result0174-cine-arrival body.arena-battle014-active #battle014-root > .battle014-finished.b174-ready .b14-finished-card.b174-premium-victory{
  position:relative;
  z-index:2;
  animation:b174CineResultCardIn .68s .05s cubic-bezier(.14,.78,.18,1) both!important;
  transform-origin:50% 18%;
}
html.arena-result0174-canary.arena-result0174-cine-arrival body.arena-battle014-active #battle014-root > .battle014-finished.b174-ready .b14-finished-card.b174-premium-victory::before{
  animation:b174CineBorderPulse .92s .13s ease-out both!important;
}
html.arena-result0174-canary.arena-result0174-cine-arrival body.arena-battle014-active #battle014-root > .battle014-finished.b174-ready .b14-finished-card.b174-premium-victory::after{
  animation:b174CineAuraIn .96s .08s ease-out both!important;
}

html.arena-result0174-canary.arena-result0174-cine-arrival body.arena-battle014-active #battle014-root > .battle014-finished.b174-ready .b14-result-mark,
html.arena-result0174-canary.arena-result0174-cine-arrival body.arena-battle014-active #battle014-root > .battle014-finished.b174-ready h1,
html.arena-result0174-canary.arena-result0174-cine-arrival body.arena-battle014-active #battle014-root > .battle014-finished.b174-ready .b174-subtitle,
html.arena-result0174-canary.arena-result0174-cine-arrival body.arena-battle014-active #battle014-root > .battle014-finished.b174-ready .b174-rewards-title,
html.arena-result0174-canary.arena-result0174-cine-arrival body.arena-battle014-active #battle014-root > .battle014-finished.b174-ready .b174-rewards,
html.arena-result0174-canary.arena-result0174-cine-arrival body.arena-battle014-active #battle014-root > .battle014-finished.b174-ready .b174-heat,
html.arena-result0174-canary.arena-result0174-cine-arrival body.arena-battle014-active #battle014-root > .battle014-finished.b174-ready .b174-premium-victory > p:not(.b174-source-hidden),
html.arena-result0174-canary.arena-result0174-cine-arrival body.arena-battle014-active #battle014-root > .battle014-finished.b174-ready .b14-primary{
  opacity:0;
  animation:b174CineElementIn .46s cubic-bezier(.18,.74,.2,1) both!important;
}
html.arena-result0174-canary.arena-result0174-cine-arrival body.arena-battle014-active #battle014-root > .battle014-finished.b174-ready .b14-result-mark{animation-delay:.16s!important}
html.arena-result0174-canary.arena-result0174-cine-arrival body.arena-battle014-active #battle014-root > .battle014-finished.b174-ready h1{animation-delay:.22s!important}
html.arena-result0174-canary.arena-result0174-cine-arrival body.arena-battle014-active #battle014-root > .battle014-finished.b174-ready .b174-subtitle{animation-delay:.28s!important}
html.arena-result0174-canary.arena-result0174-cine-arrival body.arena-battle014-active #battle014-root > .battle014-finished.b174-ready .b174-rewards-title{animation-delay:.34s!important}
html.arena-result0174-canary.arena-result0174-cine-arrival body.arena-battle014-active #battle014-root > .battle014-finished.b174-ready .b174-rewards{animation-delay:.40s!important}
html.arena-result0174-canary.arena-result0174-cine-arrival body.arena-battle014-active #battle014-root > .battle014-finished.b174-ready .b174-heat{animation-delay:.45s!important}
html.arena-result0174-canary.arena-result0174-cine-arrival body.arena-battle014-active #battle014-root > .battle014-finished.b174-ready .b174-premium-victory > p:not(.b174-source-hidden){animation-delay:.49s!important}
html.arena-result0174-canary.arena-result0174-cine-arrival body.arena-battle014-active #battle014-root > .battle014-finished.b174-ready .b14-primary{animation-delay:.54s!important}

@keyframes b174CineMatteIn{
  from{opacity:0}
  to{opacity:1}
}
@keyframes b174CineFlare{
  0%{opacity:0;scale:.03 1}
  20%{opacity:1;scale:.50 1}
  48%{opacity:.82;scale:1.02 1}
  100%{opacity:0;scale:1.10 1}
}
@keyframes b174CineCameraHold{
  0%{transform:scale(1);filter:brightness(1) saturate(1)}
  24%{transform:scale(1.017);filter:brightness(.83) saturate(.82)}
  56%{transform:scale(1.028);filter:brightness(.70) saturate(.68)}
  100%{transform:scale(1.034);filter:brightness(.60) saturate(.58)}
}
@keyframes b174CineZeroHold{
  from{filter:brightness(1)}
  to{filter:brightness(.92)}
}
@keyframes b174CineVerdictReveal{
  0%{opacity:0;scale:.72;filter:blur(8px) brightness(1.65)}
  18%{opacity:1;scale:1.10;filter:blur(0) brightness(1.30)}
  42%{opacity:1;scale:.99;filter:blur(0) brightness(1.08)}
  100%{opacity:1;scale:1.015;filter:blur(0) brightness(1.03)}
}
@keyframes b174CineHaloReveal{
  0%{opacity:0;scale:.24;rotate:-12deg}
  22%{opacity:1;scale:.82;rotate:-4deg}
  56%{opacity:.72;scale:1.10;rotate:2deg}
  100%{opacity:0;scale:1.70;rotate:9deg}
}
@keyframes b174CineShadeSweep{
  0%{opacity:0;translate:-28% 0}
  24%{opacity:.76}
  66%{opacity:.30}
  100%{opacity:0;translate:28% 0}
}
@keyframes b174CineCurtainOut{
  0%{opacity:.96}
  24%{opacity:.82}
  100%{opacity:0}
}
@keyframes b174CineResultCardIn{
  0%{opacity:0;transform:translateY(20px) scale(.952);filter:blur(4px) brightness(.70)}
  48%{opacity:1;transform:translateY(-3px) scale(1.008);filter:blur(0) brightness(1.08)}
  100%{opacity:1;transform:translateY(0) scale(1);filter:blur(0) brightness(1)}
}
@keyframes b174CineElementIn{
  0%{opacity:0;transform:translateY(9px);filter:blur(2.5px)}
  100%{opacity:1;transform:translateY(0);filter:blur(0)}
}
@keyframes b174CineBorderPulse{
  0%{opacity:.20;filter:brightness(.62)}
  42%{opacity:1;filter:brightness(1.34)}
  100%{opacity:1;filter:brightness(1)}
}
@keyframes b174CineAuraIn{
  0%{opacity:0;transform:scale(.76)}
  48%{opacity:1;transform:scale(1.07)}
  100%{opacity:1;transform:scale(1)}
}

@media(prefers-reduced-motion:reduce){
  /* Preserve the cinematic beat as opacity/light timing even with Reduce Motion;
     remove camera scaling, not the result hierarchy itself. */
  html.arena-result0174-canary body.arena-battle014-active #battle014-root .b173a6-terminal-stage.is-verdict > .battle014{
    animation:b174CineReducedHold 1.35s ease-out both!important;
  }
  html.arena-result0174-canary body.arena-battle014-active #battle014-root .b173a6-terminal-stage.is-verdict .b173a6-verdict-copy{
    animation:b174CineReducedVerdict .68s .28s ease-out both!important;
  }
  html.arena-result0174-canary body.arena-battle014-active #battle014-root .b173a6-terminal-stage.is-verdict::after{
    animation-duration:.56s!important;
  }
}
@keyframes b174CineReducedHold{
  from{filter:brightness(1) saturate(1)}
  to{filter:brightness(.68) saturate(.70)}
}
@keyframes b174CineReducedVerdict{
  from{opacity:0;filter:brightness(1.3)}
  to{opacity:1;filter:brightness(1)}
}
