.engineer-fx{--engineer-duration:.52s}.engineer-shell{animation:engineer-slam var(--engineer-duration) ease-out both;transform-box:fill-box;transform-origin:50%}.engineer-outline{animation:engineer-outline var(--engineer-duration) ease-out both}.engineer-sparks{animation:engineer-sparks var(--engineer-duration) ease-out both;transform-box:fill-box;transform-origin:50%}.engineer-bot{animation:engineer-bot var(--engineer-duration) linear both}.engineer-puck{animation:.35s ease-out both engineer-drop;animation-delay:var(--engineer-delay,0s);transform-box:fill-box;transform-origin:50%}.engineer-arc{animation:.35s ease-out both engineer-outline}.engineer-blast{animation:.48s ease-out both engineer-blast;animation-delay:var(--engineer-delay,0s);transform-box:fill-box;transform-origin:50%}.engineer-arm{animation:.6s ease-out both engineer-arm;animation-delay:var(--engineer-delay,0s)}.engineer-label{paint-order:stroke;stroke:#0f172a;stroke-width:.035px;stroke-linejoin:round}@keyframes engineer-slam{0%{opacity:0;transform:translateY(-.35px)scaleX(.4)}30%{opacity:1;transform:translateY(.025px)scaleX(1.05)}45%,80%{opacity:1;transform:none}to{opacity:0}}@keyframes engineer-outline{0%,10%{opacity:1}to{opacity:0}}@keyframes engineer-sparks{0%,24%{opacity:0;transform:scale(.3)}35%{opacity:1}to{opacity:0;transform:scale(1.7)}}@keyframes engineer-bot{0%{opacity:0;transform:translate(-.4px)}20%{opacity:1}80%{opacity:1;transform:translate(.4px)}to{opacity:0;transform:translate(.4px)}}@keyframes engineer-drop{0%{opacity:0;transform:translateY(-.6px)scale(.6)}65%{opacity:1;transform:translateY(.035px)}85%{opacity:1;transform:none}to{opacity:0}}@keyframes engineer-arm{0%,35%{opacity:0}50%{opacity:.9}to{opacity:0}}@keyframes engineer-blast{0%{opacity:.8;transform:scale(.15)}18%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.5)}}.engineer-reduced *{animation:none!important}.engineer-reduced .engineer-sparks,.engineer-reduced .engineer-bot,.engineer-reduced .engineer-arc{display:none}@media (prefers-reduced-motion:reduce){.engineer-fx *{animation:none!important}.engineer-sparks,.engineer-bot,.engineer-arc{display:none}}.engineer-dust{animation:engineer-sparks var(--engineer-duration) ease-out both;opacity:.3;transform-box:fill-box;transform-origin:50%}.engineer-reduced .engineer-dust{display:none}@media (prefers-reduced-motion:reduce){.engineer-dust{display:none}}.hacker-effects{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;overflow:hidden}.hacker-effects text{fill:#9affb0;stroke:#001407;stroke-width:.035px;paint-order:stroke;font-weight:800}.hacker-signal{animation:.6s linear infinite hacker-flow}.hacker-pulse,.hacker-stamp{animation:.3s ease-out hacker-reveal}.hacker-code{animation:.7s steps(2,end) infinite hacker-terminal}@keyframes hacker-flow{to{stroke-dashoffset:-.72px}}@keyframes hacker-reveal{0%{opacity:.3;stroke-width:.02px}to{opacity:1}}@keyframes hacker-terminal{50%{opacity:.55}}.hacker-reduced *{animation:none!important}@media (prefers-reduced-motion:reduce){.hacker-effects *{animation:none!important}}.wall-hit-shell{animation:wall-jolt var(--wall-time) ease-out both}.wall-lost-shell{animation:wall-collapse var(--wall-time) ease-in both;transform-box:fill-box;transform-origin:50%}.wall-fragment{animation:wall-fragment var(--wall-time) ease-out both;transform-box:fill-box;transform-origin:50%}.wall-dust{animation:wall-dust var(--wall-time) ease-out both}.wall-remnant,.wall-gap{animation:wall-mark var(--wall-time) ease-out both}@keyframes wall-jolt{0%{opacity:1;transform:translateY(0)}15%{transform:translateY(-.035px)}30%{transform:translateY(.025px)}45%{opacity:.6;transform:translateY(0)}to{opacity:0}}@keyframes wall-collapse{0%,10%{opacity:.9;transform:scaleY(1)}45%{opacity:.3;transform:scaleY(.35)}70%,to{opacity:0;transform:scaleY(0)}}@keyframes wall-fragment{0%,8%{opacity:0;transform:translate(0)}18%{opacity:1}70%{opacity:.7}to{opacity:0;transform:translate(var(--wall-dx),var(--wall-dy))}}@keyframes wall-dust{0%{opacity:0}25%{opacity:.22}to{opacity:0}}@keyframes wall-mark{0%{opacity:0}30%{opacity:.85}to{opacity:0}}.wall-reduced .wall-fragment,.wall-reduced .wall-dust{display:none}.wall-reduced .wall-hit-shell,.wall-reduced .wall-lost-shell{animation:wall-mark var(--wall-time) both}@media (prefers-reduced-motion:reduce){.wall-fragment,.wall-dust{display:none}.wall-hit-shell,.wall-lost-shell{animation:wall-mark var(--wall-time) both}}.meld-weapon,.meld-contact{animation:rifle-fade var(--meld-life) both}.meld-seam{stroke-dasharray:.12 .5;animation:meld-flow var(--meld-life) both}.meld-segment{animation:meld-shape var(--meld-life) both}.meld-compress{animation:meld-compress var(--meld-brace) both}.meld-projectile{animation:rifle-travel var(--meld-flight) linear var(--meld-brace) both}.meld-recover{animation:meld-return var(--meld-life) both}.meld-crown{animation:meld-crown var(--meld-life) both;transform-origin:0 0}.meld-pin{animation:meld-pin var(--meld-life) both}.meld-ring,.meld-flakes{animation:meld-spread var(--meld-life) both;transform-origin:0 0}@keyframes meld-flow{0%{stroke-dashoffset:.5px}to{stroke-dashoffset:-.5px;opacity:0}}@keyframes meld-shape{0%{transform:translate(0)}10%,35%{transform:translate(.06px,var(--segment-y))}65%,to{transform:translate(0)}}@keyframes meld-compress{0%{opacity:0;transform:scale(.7)}80%{opacity:1;transform:scale(1)}to{opacity:0}}@keyframes meld-return{0%,30%{opacity:0}45%{opacity:.8}to{opacity:0;transform:translate(-.2px)}}@keyframes meld-crown{0%{transform:scale(.25)}25%{transform:scale(1.1)}65%,to{opacity:0;transform:scale(.05)}}@keyframes meld-pin{0%,40%{opacity:0}65%{opacity:1}to{opacity:0}}@keyframes meld-spread{0%{opacity:.8;transform:scale(.6)}to{opacity:0;transform:scale(1.3)}}.meld-reduced .meld-projectile,.meld-reduced .meld-compress,.meld-reduced .meld-recover{display:none}.meld-reduced .meld-crown,.meld-reduced .meld-ring,.meld-reduced .meld-flakes,.meld-reduced .meld-segment,.meld-reduced .meld-seam{animation:rifle-fade var(--meld-life) both}@media (prefers-reduced-motion:reduce){.meld-projectile,.meld-compress,.meld-recover{display:none}.meld-crown,.meld-ring,.meld-flakes,.meld-segment,.meld-seam{animation:rifle-fade var(--meld-life) both}}.rifle-fx{opacity:var(--rifle-opacity)}.rifle-pose{animation:rifle-fade var(--rifle-residue) both}.rifle-muzzle{animation:rifle-flash var(--rifle-travel) both}.rifle-round{animation:rifle-travel var(--rifle-travel) linear both}.rifle-laser{animation:rifle-flash calc(var(--rifle-travel)*2) both}.rifle-case{transform-box:fill-box;transform-origin:50%;animation:rifle-case var(--rifle-residue) ease-out both}.rifle-impact{animation:rifle-fade var(--rifle-residue) ease-out both}.rifle-contact{animation:rifle-flash calc(var(--rifle-residue)*.4) both}.rifle-turbulence{animation:rifle-turbulence calc(var(--rifle-travel)*.5) linear 2}.rifle-splash,.rifle-fragments,.rifle-shield{transform-box:fill-box;transform-origin:50%;animation:rifle-expand calc(var(--rifle-residue)*.55) ease-out both}.rifle-nano{transform-box:fill-box;transform-origin:50%;animation:rifle-converge var(--rifle-residue) ease-out both}.rifle-vent{animation:rifle-vent var(--rifle-residue) ease-out both}@keyframes rifle-fade{0%,20%{opacity:1}to{opacity:0}}@keyframes rifle-flash{0%{opacity:0}12%,40%{opacity:1}to{opacity:0}}@keyframes rifle-travel{0%{opacity:0;transform:translate(.6px)}10%{opacity:1}95%{opacity:1}to{transform:translateX(var(--rifle-distance));opacity:0}}@keyframes rifle-case{0%{opacity:0}10%{opacity:1}to{opacity:0;transform:translate(-.2px,.4px)rotate(160deg)}}@keyframes rifle-expand{0%{transform:scale(.5)}to{transform:scale(1.25)}}@keyframes rifle-turbulence{50%{transform:scaleY(1.4)}}@keyframes rifle-converge{0%{transform:scale(1.4)rotate(-15deg)}45%{transform:scale(.7)rotate(15deg)}to{opacity:0;transform:scale(1.2)}}@keyframes rifle-vent{0%,25%{opacity:0}40%{opacity:.3}to{opacity:0;transform:translateY(-.2px)}}.rifle-reduced .rifle-round,.rifle-reduced .rifle-case,.rifle-reduced .rifle-muzzle{display:none}.rifle-reduced .rifle-splash,.rifle-reduced .rifle-nano,.rifle-reduced .rifle-fragments,.rifle-reduced .rifle-shield,.rifle-reduced .rifle-vent{animation:rifle-fade var(--rifle-residue) both}@media (prefers-reduced-motion:reduce){.rifle-round,.rifle-case,.rifle-muzzle{display:none}.rifle-splash,.rifle-nano,.rifle-fragments,.rifle-shield,.rifle-vent{animation:rifle-fade var(--rifle-residue) both}}.rifle-laser path{stroke-dasharray:1;stroke-dashoffset:1px;animation:laser-arrival var(--rifle-travel) linear both;animation-delay:var(--sniper-brace,0s)}@keyframes laser-arrival{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.rifle-reduced .rifle-laser path{stroke-dashoffset:0;animation:none}@media (prefers-reduced-motion:reduce){.rifle-laser path{stroke-dashoffset:0;animation:none}}.lmg-frame{animation:rifle-fade var(--rifle-residue) both}.lmg-round .rifle-pose,.lmg-round .meld-weapon{display:none}.lmg-round .rifle-fx *,.lmg-round .meld-fx *{animation-delay:var(--lmg-delay)}.lmg-reduced .rifle-round,.lmg-reduced .meld-projectile{display:none}.shot-weapon,.shot-finish{animation:rifle-fade var(--shot-life) both}.shot-flash,.shot-beam,.shot-pressure{animation:shot-flash var(--shot-flight) var(--shot-brace) both}.shot-pellet{animation:shot-travel var(--shot-flight) linear var(--shot-brace) both}.shot-shell{animation:shot-shell var(--shot-life) both}.shot-smoke{animation:shot-smoke var(--shot-life) both}.shot-cycle{animation:shot-cycle var(--shot-life) both}.shot-iris{animation:shot-iris var(--shot-life) both}.shot-contact{animation:rifle-fade var(--shot-life) both}@keyframes shot-flash{0%{opacity:0}15%,50%{opacity:1}to{opacity:0}}@keyframes shot-travel{0%{opacity:0;transform:translate(.6px)}8%{opacity:1}95%{opacity:1}to{transform:translate(var(--pellet-x),var(--pellet-y));opacity:0}}@keyframes shot-shell{0%,15%{opacity:0}20%{opacity:1}to{opacity:0;transform:translate(-.3px,.5px)rotate(100deg)}}@keyframes shot-smoke{0%,15%{opacity:0}30%{opacity:.25}to{opacity:0;transform:translate(.2px,-.15px)}}@keyframes shot-cycle{0%,35%{transform:translate(0)}55%{transform:translate(-.12px)}75%,to{transform:translate(0)}}@keyframes shot-iris{0%{transform:translateY(0)}10%,40%{transform:translateY(var(--iris-y))}70%,to{transform:translateY(0)}}.shot-reduced .shot-pellet,.shot-reduced .shot-shell,.shot-reduced .shot-smoke,.shot-reduced .shot-pressure{display:none}.shot-reduced .shot-cycle,.shot-reduced .shot-iris{animation:none}@media (prefers-reduced-motion:reduce){.shot-pellet,.shot-shell,.shot-smoke,.shot-pressure{display:none}.shot-cycle,.shot-iris{animation:none}}.shot-beam{stroke-dasharray:1;stroke-dashoffset:1px;animation:laser-arrival var(--shot-flight) linear var(--shot-brace) both}.shot-reduced .shot-beam{stroke-dashoffset:0;animation:none}@media (prefers-reduced-motion:reduce){.shot-beam{stroke-dashoffset:0;animation:none}}.sniper-fx .rifle-round,.sniper-fx .rifle-laser,.sniper-fx .rifle-muzzle,.sniper-fx .rifle-case{animation-delay:var(--sniper-brace)}.sniper-aim{animation:sniper-aim calc(var(--sniper-brace) + var(--rifle-travel)) ease-in both}.sniper-pressure{animation:sniper-pressure calc(var(--rifle-travel)*1.5) var(--sniper-brace) both;transform-origin:.8px 0}.sniper-smoke{animation:sniper-smoke var(--rifle-residue) var(--sniper-brace) both}.sniper-finish{animation:rifle-fade var(--rifle-residue) both}.sniper-fx .rifle-fragments{animation-duration:var(--rifle-residue)}@keyframes sniper-aim{0%{opacity:.15}35%{opacity:.8}to{opacity:0}}@keyframes sniper-pressure{0%{opacity:.65;transform:scale(.7)}to{opacity:0;transform:scale(1.5)}}@keyframes sniper-smoke{0%,15%{opacity:0}35%{opacity:.25}to{opacity:0;transform:translateY(-.3px)}}.sniper-fx.rifle-reduced .sniper-smoke{animation-name:rifle-fade}@media (prefers-reduced-motion:reduce){.sniper-pressure{display:none}.sniper-smoke{animation-name:rifle-fade}}.sniper-lock{animation:rifle-fade var(--rifle-residue) both}.heavy-effects{contain:paint;overflow:hidden}.heavy-fade{animation:heavy-fade calc(var(--heavy-speed)*.65) ease-out both;opacity:var(--heavy-opacity)}.heavy-weapon{animation:heavy-fade calc(var(--heavy-speed)*.9) both}.heavy-flash,.heavy-tracer{opacity:0;animation:heavy-pulse calc(var(--heavy-speed)*.07) var(--delay) linear both}.heavy-tracer{animation-name:heavy-tracer}.heavy-brass{transform-box:fill-box;transform-origin:50%;opacity:0;animation:heavy-brass calc(var(--heavy-speed)*.65) var(--delay) ease-out both}.heavy-smoke{opacity:0;animation:heavy-smoke calc(var(--heavy-speed)*1.05) ease-out both}.heavy-ripple,.heavy-chip{transform-box:fill-box;transform-origin:50%;animation:heavy-expand calc(var(--heavy-speed)*.35) ease-out both}@keyframes heavy-fade{0%,35%{opacity:var(--heavy-opacity)}to{opacity:0}}@keyframes heavy-pulse{0%,to{opacity:0}20%,65%{opacity:var(--heavy-opacity)}}@keyframes heavy-tracer{0%{opacity:0;stroke-dashoffset:1px}25%{opacity:var(--heavy-opacity)}to{opacity:0;stroke-dashoffset:-1px}}@keyframes heavy-brass{5%{opacity:.9}to{opacity:0;transform:translate(var(--brass-x),var(--brass-y)) rotate(180deg)}}@keyframes heavy-smoke{15%{opacity:0}35%{opacity:.24}to{opacity:0;transform:translateY(-.4px)scale(1.2)}}@keyframes heavy-expand{0%{transform:scale(.7)}to{transform:scale(1.2)}}.heavy-reduced .heavy-smoke{animation-name:heavy-fade}@media (prefers-reduced-motion:reduce){.heavy-chip,.heavy-ripple{animation:none}.heavy-smoke{animation-name:heavy-fade}}.melee-contact,.melee-beam-cell{opacity:0;animation:melee-contact var(--time,.35s) ease-out var(--delay,0s) both;transform-box:fill-box;transform-origin:50%}.melee-trail{animation:melee-trail var(--time,.65s) ease-out both}.melee-ready,.melee-charge-burst{animation:melee-ready var(--time,.65s) ease-out both;transform-box:fill-box;transform-origin:50%}.melee-charge-burst[data-backfire=true]{animation-name:melee-backfire}.monk-charge-aura{transform-box:fill-box;transform-origin:50%;animation:1.3s ease-in-out infinite monk-charge}[data-charge="3"]{animation-duration:.7s}.monk-kick-ready{animation:.65s ease-out monk-button}@keyframes melee-contact{0%{opacity:0;scale:.75}18%,36%{opacity:1;scale:1}to{opacity:0;scale:1.18}}@keyframes melee-trail{0%,25%{opacity:.8}to{opacity:0}}@keyframes melee-ready{0%{opacity:0;scale:.7}20%{opacity:1;scale:1}to{opacity:0;scale:1.25}}@keyframes melee-backfire{0%{opacity:1;scale:1.2}25%{opacity:1;scale:.3}50%{opacity:1;scale:1.1}to{opacity:0;scale:1.4}}@keyframes monk-charge{0%,to{opacity:.65;scale:.96}50%{opacity:1;scale:1.04}}@keyframes monk-button{0%,60%{box-shadow:0 0 0 2px #fbbf24,0 0 12px #fbbf2480}to{box-shadow:none}}@media (prefers-reduced-motion:reduce){.melee-contact,.melee-beam-cell,.melee-ready,.melee-charge-burst{animation-name:melee-fade}.melee-trail{display:none}.monk-charge-aura,.monk-kick-ready{animation:none}}@keyframes melee-fade{0%{opacity:0}20%,65%{opacity:1}to{opacity:0}}.grenade-wave,.grenade-dust,.grenade-fire,.grenade-hot,.grenade-flash,.grenade-smoke{transform-box:fill-box;transform-origin:50%}.grenade-wave{animation:.36s 45ms both grenade-wave}.grenade-dust{animation:.65s 70ms both grenade-dust}.grenade-fire{animation:.43s both grenade-fire}.grenade-hot{animation:.23s both grenade-hot}.grenade-flash{animation:75ms both grenade-flash}.grenade-spark{animation:.56s both grenade-spark}.grenade-smoke{animation:1.05s both grenade-smoke}.grenade-debris{animation:.8s 80ms both grenade-spark}.grenade-hit{animation:.23s 65ms both grenade-flash}.grenade-footprint{animation:.4s both grenade-outline}.grenade-scorch{animation:1.5s both grenade-scorch}@keyframes grenade-wave{0%{opacity:.8;transform:scale(.08)}to{opacity:0;transform:scale(1)}}@keyframes grenade-dust{0%{opacity:0;transform:scale(.25)}25%{opacity:.2}to{opacity:0;transform:scale(1.05)}}@keyframes grenade-fire{0%{opacity:0;transform:scale(.08)}22%{opacity:.92}60%{opacity:.65}to{opacity:0;transform:scale(1.2)}}@keyframes grenade-hot{0%{opacity:0;transform:scale(.1)}25%{opacity:.95}to{opacity:0;transform:scale(1.1)}}@keyframes grenade-flash{0%{opacity:.9}to{opacity:0}}@keyframes grenade-spark{0%{opacity:1;transform:translate(0)}to{transform:translate(var(--dx),var(--dy));opacity:0}}@keyframes grenade-smoke{0%{opacity:0;transform:translateY(0)scale(.6)}20%{opacity:.16}to{opacity:0;transform:translateY(-.35px)scale(1.4)}}@keyframes grenade-outline{0%{opacity:.8}to{opacity:0}}@keyframes grenade-scorch{0%{opacity:.3}65%{opacity:.22}to{opacity:0}}@media (prefers-reduced-motion:reduce){.grenade-spark,.grenade-debris{display:none}.grenade-wave,.grenade-dust,.grenade-fire,.grenade-hot,.grenade-smoke{animation-name:grenade-outline;animation-duration:.4s}}.rocket-trail{transform-box:fill-box;transform-origin:50%;animation:.4s both rocket-trail}.rocket-backblast{transform-box:fill-box;transform-origin:50%;animation:.3s both grenade-smoke}.rocket-muzzle{animation:.12s both grenade-flash}@keyframes rocket-trail{0%{opacity:0;transform:scale(.6)}20%{opacity:.25}to{opacity:0;transform:scale(1.8)}}@media (prefers-reduced-motion:reduce){.rocket-trail,.rocket-backblast{display:none}}
