/* Faceted transparent shell: clear rim, curved cells and a brief impact ripple. */
.fighter-barrier{left:calc(var(--cx,.5)*100%);top:calc(var(--barrier-y,.5)*100%);width:calc(var(--h)*var(--barrier-ratio,1)*1.16);height:calc(var(--h)*var(--barrier-span,1)*1.17);aspect-ratio:auto;border-radius:0;background:none;mask-image:none;-webkit-mask-image:none;box-shadow:none;animation:none;filter:none;transition:opacity .22s,scale .22s}
.fighter.shielded .fighter-barrier{opacity:calc(.62 + var(--left,1)*.38);scale:1}
.fighter.warded:not(.shielded) .fighter-barrier{opacity:.55;scale:.98;filter:none}
.barrier-shell{display:block;width:100%;height:100%;overflow:visible;fill:none;stroke:#92e4ff;stroke-linejoin:round;filter:drop-shadow(0 0 3px #6dceff55)}
.barrier-graphic{position:absolute;inset:0;display:block}
.barrier-surface{fill:#53bded08;stroke:none}
.barrier-grid{stroke-width:.8;stroke-opacity:.6}
.barrier-latitude{stroke-width:1;stroke-opacity:.65}
.barrier-rim{stroke-width:2.6;stroke:#d8f7ff;stroke-opacity:.92}
.barrier-inner{stroke-width:1.1;stroke:#6ad9ff;stroke-opacity:.8}
.barrier-base{stroke-width:1.5;stroke-opacity:.7}
.barrier-impact{stroke:#f0fcff;stroke-width:2;opacity:0;transform-origin:173px 129px}
.fighter-barrier.hit{animation:barrier-facet-hit .32s ease-out}
.fighter-barrier.forming{animation:barrier-facet-form .32s ease-out}
.fighter-barrier.hit .barrier-impact{animation:barrier-facet-wave .32s ease-out both}
.fighter-barrier b{z-index:1;bottom:0}
.fighter-barrier b i{background:#a6ebff;box-shadow:0 0 .45cqw #73d7ff}
@keyframes barrier-facet-hit{0%{filter:brightness(1.7)}30%{scale:1.035}100%{filter:none;scale:1}}
@keyframes barrier-facet-form{0%{opacity:0;scale:.8}65%{opacity:1;scale:1.04}100%{scale:1}}
@keyframes barrier-facet-wave{0%{opacity:1;scale:.2}100%{opacity:0;scale:1.3}}
@media(prefers-reduced-motion:reduce){.fighter-barrier,.fighter-barrier.hit,.fighter-barrier.forming,.fighter-barrier.hit .barrier-impact{animation:none;transition:none}.fighter-barrier.hit .barrier-impact{opacity:.5}}
