.overlay .dialog:has(.war-result){width:min(560px,94vw);max-width:94vw}
.war-result{position:relative;isolation:isolate}
.war-result-kicker{display:block;text-align:center;font-size:12px;letter-spacing:.2em}
.war-result-emblem{position:relative;isolation:isolate;width:190px;height:148px;display:grid;place-items:center;margin:4px auto 0;pointer-events:none}
.war-result .war-result-icon{position:relative;z-index:1;display:block;width:148px;height:148px;max-width:none;object-fit:contain;margin:0;border:0;box-shadow:none}
.war-result>h2{font-size:38px;line-height:1.3;letter-spacing:.18em;text-indent:.18em;margin:5px 0 8px}
.overlay .dialog .war-result.is-victory>h2{color:#765723}
.overlay .dialog .war-result.is-defeat>h2{color:#8c4232}
.war-result .war-result-summary{font-size:15px;line-height:1.6;margin:0 0 18px}
.war-result .war-result-sides{grid-template-columns:minmax(0,1fr);gap:0}
.war-result .war-result-country{padding:12px 16px}
.war-result .war-result-heading{justify-content:center;gap:10px;margin-bottom:6px}
.war-result .war-result-heading .faction-flag{width:26px;height:39px}
.war-result .war-result-heading h3{font-size:22px}
.war-result table{font-size:14px}.war-result th,.war-result td{padding:9px 6px}
.war-result-fx{position:absolute;z-index:0;inset:-12px;overflow:visible;pointer-events:none}
.war-result-fx:before,.war-result-fx:after{content:'';position:absolute;inset:14%;border-radius:50%;opacity:0;pointer-events:none}
.victory-fx:before{background:radial-gradient(ellipse,#eac46a99 0,#c79b4b44 40%,transparent 72%);animation:war-victory-halo 1.8s ease-out both}
.victory-fx:after{border:1px solid #bd8c43;animation:war-victory-ring 1.6s .1s ease-out both}
.war-result-fx i{position:absolute;display:block;left:var(--x);top:65%;width:4px;height:8px;opacity:0;background:#c69c4e;border-radius:1px;transform:rotate(var(--turn))}
.victory-fx i{animation:war-victory-particle 1.6s var(--delay) ease-out both}
.is-victory .war-result-icon{animation:war-victory-arrival .6s cubic-bezier(.2,.65,.3,1) both}
.defeat-fx:before{background:radial-gradient(ellipse,#7e38296b 0,#59413635 44%,transparent 72%);animation:war-defeat-ink 1.9s ease-out both}
.defeat-fx:after{inset:25% 8%;background:radial-gradient(ellipse,#4b413d3b,transparent 70%);animation:war-defeat-ink 2.1s .1s ease-out both}
.defeat-fx i{top:35%;width:3px;height:3px;background:#8b5543;animation:war-defeat-ember 1.8s var(--delay) ease-out both}
.is-defeat .war-result-icon{animation:war-defeat-arrival .8s ease-out both}
@keyframes war-victory-arrival{0%{opacity:0;transform:translateY(10px) scale(.82)}65%{opacity:1;transform:translateY(-2px) scale(1.04)}100%{opacity:1;transform:none}}
@keyframes war-victory-halo{0%{opacity:0;transform:scale(.45)}30%{opacity:1}100%{opacity:0;transform:scale(1.55)}}
@keyframes war-victory-ring{0%{opacity:0;transform:scale(.5)}25%{opacity:.65}100%{opacity:0;transform:scale(1.65)}}
@keyframes war-victory-particle{0%{opacity:0;transform:translate(0,10px) rotate(var(--turn))}20%{opacity:.85}100%{opacity:0;transform:translate(var(--drift),-80px) rotate(calc(var(--turn) + 100deg))}}
@keyframes war-defeat-arrival{0%{opacity:0;transform:translateY(-7px) rotate(-4deg)}35%{opacity:1;transform:translateX(-2px) rotate(1deg)}55%{transform:translateX(2px) rotate(-1deg)}100%{opacity:1;transform:none}}
@keyframes war-defeat-ink{0%{opacity:0;transform:scale(.55)}35%{opacity:1}100%{opacity:0;transform:translateY(14px) scale(1.6)}}
@keyframes war-defeat-ember{0%{opacity:0;transform:translate(0,-8px)}25%{opacity:.6}100%{opacity:0;transform:translate(var(--drift),72px)}}
.war-result.is-quiet .war-result-icon{animation:none}
.war-result.is-quiet .war-result-fx{display:none}
@media(prefers-reduced-motion:reduce){.war-result .war-result-icon{animation:none}.war-result .war-result-fx{display:none}}
@media(max-width:650px){
  .war-result-emblem{width:148px;height:108px;margin-top:0}
  .war-result .war-result-icon{width:108px;height:108px}
  .war-result>h2{font-size:30px;margin:4px 0 6px}
  .war-result .war-result-summary{font-size:13px;margin-bottom:12px}
  .war-result .war-result-country{padding:8px 10px}
  .war-result .war-result-heading h3{font-size:20px}
  .war-result th,.war-result td{padding:7px 4px}
}
