/* [project]/src/app/faction/faction.module.css [app-client] (css) */
.faction-module__pa1rfG__page {
  --bg: #050507;
  --ink: #f5f7fb;
  --muted: #a9afbb;
  background: var(--bg);
  min-height: 100vh;
  color: var(--ink);
  font-family: Inter, Arial, Helvetica, sans-serif;
}

.faction-module__pa1rfG__factions {
  isolation: isolate;
  background: #040405;
  height: calc(100vh - 78px);
  display: flex;
  position: relative;
  overflow: hidden;
}

.faction-module__pa1rfG__faction {
  --accent: #fff;
  --accent-rgb: 255, 255, 255;
  cursor: pointer;
  filter: saturate(.86) brightness(.76);
  border-right: 4px solid #ffffff38;
  flex: 20%;
  min-width: 0;
  transition: flex .55s cubic-bezier(.2, .75, .2, 1), filter .35s;
  display: block;
  position: relative;
  overflow: hidden;
}

.faction-module__pa1rfG__faction:last-child {
  border-right: 0;
}

.faction-module__pa1rfG__faction:hover, .faction-module__pa1rfG__faction:focus-visible, .faction-module__pa1rfG__faction.faction-module__pa1rfG__selecting {
  filter: saturate(1.08) brightness();
  outline: none;
  flex: 1.6 32%;
}

.faction-module__pa1rfG__faction:not(:last-child) {
  box-shadow: inset -2px 0 0 rgba(var(--accent-rgb), .62),
    3px 0 0 #000000c7,
    6px 0 18px #000000a8;
}

@media (hover: hover) {
  .faction-module__pa1rfG__factions:hover .faction-module__pa1rfG__faction:not(:hover) {
    filter: saturate(.68) brightness(.5);
  }
}

.faction-module__pa1rfG__faction:before {
  content: "";
  background: linear-gradient(180deg, #00000014, #00000052 52%, #000000e0),
    radial-gradient(circle at 50% 28%, rgba(var(--accent-rgb), .26), transparent 40%),
    linear-gradient(145deg, rgba(var(--accent-rgb), .22), transparent 36%, #00000094 78%);
  z-index: 0;
  position: absolute;
  inset: 0;
}

.faction-module__pa1rfG__faction:after {
  content: "";
  z-index: 1;
  opacity: .28;
  background: repeating-linear-gradient(0deg, #ffffff04 0 1px, transparent 1px 4px),
    linear-gradient(90deg, transparent, rgba(var(--accent-rgb), .1), transparent);
  transition: opacity .3s;
  position: absolute;
  inset: 0;
}

.faction-module__pa1rfG__faction:hover:after, .faction-module__pa1rfG__faction.faction-module__pa1rfG__selecting:after {
  opacity: .5;
}

.faction-module__pa1rfG__scene {
  z-index: 0;
  opacity: .88;
  transition: transform .7s cubic-bezier(.2, .75, .2, 1), opacity .4s;
  position: absolute;
  inset: 0;
  transform: scale(1.04);
}

.faction-module__pa1rfG__faction:hover .faction-module__pa1rfG__scene, .faction-module__pa1rfG__faction.faction-module__pa1rfG__selecting .faction-module__pa1rfG__scene {
  opacity: 1;
  transform: scale(1.11);
}

.faction-module__pa1rfG__angel {
  --accent: #f1d778;
  --accent-rgb: 241, 215, 120;
}

.faction-module__pa1rfG__demon {
  --accent: #ff4c53;
  --accent-rgb: 255, 76, 83;
}

.faction-module__pa1rfG__mortal {
  --accent: #6fe38d;
  --accent-rgb: 111, 227, 141;
}

.faction-module__pa1rfG__security {
  --accent: #b37cff;
  --accent-rgb: 179, 124, 255;
}

.faction-module__pa1rfG__ronin {
  --accent: #ff4e57;
  --accent-rgb: 255, 78, 87;
}

.faction-module__pa1rfG__angel:hover .faction-module__pa1rfG__scene {
  transform: scale(1.12)translateY(-3px);
}

.faction-module__pa1rfG__demon:hover .faction-module__pa1rfG__scene {
  transform: scale(1.13)translateY(2px);
}

.faction-module__pa1rfG__mortal:hover .faction-module__pa1rfG__scene {
  transform: scale(1.1);
}

.faction-module__pa1rfG__security:hover .faction-module__pa1rfG__scene {
  transform: scale(1.08);
}

.faction-module__pa1rfG__ronin:hover .faction-module__pa1rfG__scene {
  transform: scale(1.115)translateX(-2px);
}

.faction-module__pa1rfG__angel .faction-module__pa1rfG__scene {
  background: radial-gradient(at 50% 20%, #fff8c566, #0000 22%), radial-gradient(at 50% 44%, #91d5ff38, #0000 38%), linear-gradient(#213347 0%, #122232 35%, #10141b 68%, #07080b 100%);
}

.faction-module__pa1rfG__angel .faction-module__pa1rfG__scene:before {
  content: "";
  border: 3px solid #ffe696bf;
  border-radius: 50%;
  width: 190px;
  height: 55px;
  animation: 4.2s ease-in-out infinite faction-module__pa1rfG__angelHaloPulse;
  position: absolute;
  top: 16%;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 0 0 24px #ffe5918c, 0 0 70px #8ecdff3d;
}

.faction-module__pa1rfG__angel .faction-module__pa1rfG__scene:after {
  content: "";
  clip-path: polygon(15% 100%, 23% 38%, 37% 38%, 42% 100%, 58% 100%, 63% 28%, 78% 28%, 86% 100%);
  opacity: .7;
  background: linear-gradient(90deg, #0000, #dcefff14, #0000), linear-gradient(#ffffff0d, #0000);
  position: absolute;
  inset: 42% 10% 0;
}

.faction-module__pa1rfG__demon .faction-module__pa1rfG__scene {
  background: radial-gradient(circle at 35% 88%, #ff581ea3, #0000 28%), radial-gradient(circle at 72% 72%, #b8151e73, #0000 30%), linear-gradient(#221013 0%, #13090c 44%, #0b0708 100%);
}

.faction-module__pa1rfG__demon .faction-module__pa1rfG__scene:before, .faction-module__pa1rfG__demon .faction-module__pa1rfG__scene:after {
  content: "";
  filter: blur(1px);
  background: radial-gradient(at 50% 85%, #fff0bcf2 0 9%, #ff931fc7 14% 28%, #ee2e198a 35% 56%, #0000 72%);
  width: 38%;
  height: 58%;
  position: absolute;
  bottom: -7%;
}

.faction-module__pa1rfG__demon .faction-module__pa1rfG__scene:before {
  left: 8%;
  transform: rotate(-6deg);
}

.faction-module__pa1rfG__demon .faction-module__pa1rfG__scene:after {
  right: 5%;
  transform: rotate(8deg)scale(1.18);
}

.faction-module__pa1rfG__mortal .faction-module__pa1rfG__scene {
  background: radial-gradient(circle at 50% 78%, #4bdb7145, #0000 28%), radial-gradient(circle at 50% 46%, #7affa414, #0000 34%), linear-gradient(#0c2116 0%, #0b1b13 43%, #09110d 100%);
}

.faction-module__pa1rfG__mortal .faction-module__pa1rfG__scene:before {
  content: "";
  filter: drop-shadow(0 0 18px #51d6772e);
  background: linear-gradient(#0000 0 13%, #60e18366 13% 19%, #0000 19%), linear-gradient(90deg, #0000 0 22%, #4eb86b61 22% 28%, #0000 28% 72%, #4eb86b61 72% 78%, #0000 78%);
  width: 220px;
  height: 260px;
  position: absolute;
  bottom: 15%;
  left: 50%;
  transform: translateX(-50%);
}

.faction-module__pa1rfG__mortal .faction-module__pa1rfG__scene:after {
  content: "";
  border: 1px solid #60e08033;
  border-radius: 50%;
  width: 360px;
  height: 150px;
  position: absolute;
  bottom: 18%;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 0 0 45px #3fa7f01f;
}

.faction-module__pa1rfG__security .faction-module__pa1rfG__scene {
  background: radial-gradient(circle at 50% 42%, #9f62ff42, #0000 27%), linear-gradient(#171426 0%, #0b0a13 48%, #050507 100%);
}

.faction-module__pa1rfG__security .faction-module__pa1rfG__scene:before {
  content: "";
  border: 2px solid #b17fff6b;
  width: 180px;
  height: 210px;
  position: absolute;
  top: 26%;
  left: 50%;
  transform: translateX(-50%)rotate(45deg);
  box-shadow: inset 0 0 35px #9759ff2e, 0 0 35px #9759ff29;
}

.faction-module__pa1rfG__security .faction-module__pa1rfG__scene:after {
  content: "";
  background: repeating-linear-gradient(90deg, #0000 0 60px, #b27dff08 60px 61px), repeating-linear-gradient(0deg, #0000 0 60px, #b27dff06 60px 61px);
  position: absolute;
  inset: 0;
}

.faction-module__pa1rfG__ronin .faction-module__pa1rfG__scene {
  background: radial-gradient(circle at 50% 80%, #ff414b52, #0000 30%), linear-gradient(#251013 0%, #10080a 48%, #050506 100%);
}

.faction-module__pa1rfG__ronin .faction-module__pa1rfG__scene:before {
  content: "";
  border: 2px solid #ff485259;
  border-radius: 50%;
  width: 240px;
  height: 240px;
  position: absolute;
  top: 22%;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 0 0 50px #ff3b4621;
}

.faction-module__pa1rfG__ronin .faction-module__pa1rfG__scene:after {
  content: "";
  background: linear-gradient(160deg, #0000 43%, #ff48524d 43.3% 44%, #0000 44.3%), linear-gradient(22deg, #0000 57%, #ff66532e 57.2% 57.8%, #0000 58%);
  width: 130%;
  height: 64%;
  position: absolute;
  top: 18%;
  left: -15%;
}

@keyframes faction-module__pa1rfG__angelHaloPulse {
  0%, 100% {
    transform: translateX(-50%)scale(1);
    box-shadow: 0 0 24px #ffe5918c, 0 0 70px #8ecdff3d;
  }

  50% {
    transform: translateX(-50%)scale(1.045);
    box-shadow: 0 0 38px #ffeca5db, 0 0 105px #8ecdff66;
  }
}

.faction-module__pa1rfG__separatorLine {
  z-index: 12;
  pointer-events: none;
  background: linear-gradient(180deg,
    transparent 0%,
    #ffffff38 8%,
    rgba(var(--accent-rgb), .78) 22%,
    #ffffff85 50%,
    rgba(var(--accent-rgb), .78) 78%,
    #ffffff38 92%,
    transparent 100%);
  width: 4px;
  box-shadow: 0 0 10px rgba(var(--accent-rgb), .46),
    0 0 22px rgba(var(--accent-rgb), .18);
  opacity: .78;
  transition: opacity .3s, box-shadow .3s;
  position: absolute;
  top: 6%;
  bottom: 6%;
  right: -2px;
}

.faction-module__pa1rfG__faction:hover .faction-module__pa1rfG__separatorLine, .faction-module__pa1rfG__faction.faction-module__pa1rfG__selecting .faction-module__pa1rfG__separatorLine {
  opacity: 1;
  box-shadow: 0 0 14px rgba(var(--accent-rgb), .66),
    0 0 28px rgba(var(--accent-rgb), .26);
}

.faction-module__pa1rfG__content {
  z-index: 3;
  background: linear-gradient(#0000 0%, #0000000f 18%, #00000042 34%, #0000007a 100%);
  border-radius: 20px 20px 0 0;
  padding: 22px 14px 0 0;
  transition: transform .45s cubic-bezier(.2, .75, .2, 1);
  position: absolute;
  inset: auto 20px 34px;
}

.faction-module__pa1rfG__faction:hover .faction-module__pa1rfG__content, .faction-module__pa1rfG__faction.faction-module__pa1rfG__selecting .faction-module__pa1rfG__content {
  transform: translateY(-10px);
}

.faction-module__pa1rfG__angel:hover .faction-module__pa1rfG__content {
  transform: translateY(-14px);
}

.faction-module__pa1rfG__demon:hover .faction-module__pa1rfG__content {
  transform: translateY(-8px)translateX(3px);
}

.faction-module__pa1rfG__mortal:hover .faction-module__pa1rfG__content {
  transform: translateY(-12px)scale(1.01);
}

.faction-module__pa1rfG__security:hover .faction-module__pa1rfG__content {
  transform: translateY(-9px);
}

.faction-module__pa1rfG__ronin:hover .faction-module__pa1rfG__content {
  transform: translateY(-10px)translateX(-2px);
}

.faction-module__pa1rfG__symbol {
  border: 1px solid rgba(var(--accent-rgb), .5);
  width: 50px;
  height: 50px;
  color: var(--accent);
  box-shadow: 0 0 22px rgba(var(--accent-rgb), .14);
  background: #030407a3;
  place-items: center;
  margin-bottom: 18px;
  font-size: 26px;
  font-weight: 900;
  transition: transform .35s cubic-bezier(.2, .8, .2, 1), box-shadow .35s, filter .35s;
  display: grid;
  overflow: hidden;
}

.faction-module__pa1rfG__faction:hover .faction-module__pa1rfG__symbol, .faction-module__pa1rfG__faction.faction-module__pa1rfG__selecting .faction-module__pa1rfG__symbol {
  box-shadow: 0 0 0 1px rgba(var(--accent-rgb), .3) inset,
    0 0 26px rgba(var(--accent-rgb), .24);
  filter: drop-shadow(0 0 8px rgba(var(--accent-rgb), .55));
  transform: translateY(-5px)scale(1.08);
}

.faction-module__pa1rfG__symbol img {
  object-fit: contain;
  filter: drop-shadow(0 0 6px #00000038);
  width: 78%;
  height: 78%;
  display: block;
}

.faction-module__pa1rfG__angel .faction-module__pa1rfG__symbol img {
  width: 94%;
  height: 94%;
}

.faction-module__pa1rfG__mortal .faction-module__pa1rfG__symbol img, .faction-module__pa1rfG__security .faction-module__pa1rfG__symbol img, .faction-module__pa1rfG__ronin .faction-module__pa1rfG__symbol img {
  width: 82%;
  height: 82%;
}

.faction-module__pa1rfG__kicker {
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 8px;
  font-size: 9px;
  font-weight: 900;
}

.faction-module__pa1rfG__heading {
  letter-spacing: .01em;
  text-transform: uppercase;
  text-shadow: 0 4px 18px #000000b8;
  margin: 0;
  font-family: Impact, Haettenschweiler, Arial Narrow Bold, sans-serif;
  font-size: clamp(34px, 3.15vw, 66px);
  font-style: italic;
  line-height: .88;
}

.faction-module__pa1rfG__enter {
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #fffc;
  white-space: nowrap;
  align-items: center;
  gap: 9px;
  margin-top: 15px;
  font-size: 10px;
  font-weight: 1000;
  display: flex;
}

.faction-module__pa1rfG__enter:before {
  content: "";
  background: var(--accent);
  width: 34px;
  height: 2px;
  box-shadow: 0 0 12px rgba(var(--accent-rgb), .65);
}

.faction-module__pa1rfG__desc {
  color: #c8ccd4;
  opacity: 0;
  max-width: 360px;
  max-height: 0;
  margin-top: 12px;
  font-size: 12px;
  line-height: 1.55;
  transition: opacity .3s, max-height .45s;
  overflow: hidden;
}

.faction-module__pa1rfG__faction:hover .faction-module__pa1rfG__desc, .faction-module__pa1rfG__faction.faction-module__pa1rfG__selecting .faction-module__pa1rfG__desc {
  opacity: .82;
  max-height: 80px;
}

.faction-module__pa1rfG__heroArt {
  object-fit: contain;
  object-position: center center;
  z-index: 3;
  pointer-events: none;
  width: auto;
  max-width: none;
  height: 74%;
  transition: transform .55s cubic-bezier(.2, .75, .2, 1), filter .4s, opacity .35s;
  position: absolute;
  top: 6%;
  left: 50%;
  transform: translateX(-50%);
}

.faction-module__pa1rfG__faction:hover .faction-module__pa1rfG__heroArt, .faction-module__pa1rfG__faction.faction-module__pa1rfG__selecting .faction-module__pa1rfG__heroArt {
  transform: translateX(-50%)translateY(-10px)scale(1.045);
}

.faction-module__pa1rfG__angel .faction-module__pa1rfG__heroArt {
  filter: drop-shadow(0 24px 30px #00000070) drop-shadow(0 0 30px #ffeca257);
  animation: 5.6s ease-in-out infinite faction-module__pa1rfG__angelHeroFloat;
}

.faction-module__pa1rfG__demon .faction-module__pa1rfG__heroArt {
  filter: drop-shadow(0 24px 30px #0000007a) drop-shadow(0 0 28px #ff4f9147);
  animation: 4.8s ease-in-out infinite faction-module__pa1rfG__demonHeroPower;
}

.faction-module__pa1rfG__mortal .faction-module__pa1rfG__heroArt {
  filter: drop-shadow(0 24px 30px #00000075) drop-shadow(0 0 28px #74ff9852);
  animation: 4.9s ease-in-out infinite faction-module__pa1rfG__mortalHeroCharge;
}

.faction-module__pa1rfG__security .faction-module__pa1rfG__heroArt {
  filter: drop-shadow(0 24px 30px #0000007a) drop-shadow(0 0 28px #b37cff47);
  animation: 5.2s ease-in-out infinite faction-module__pa1rfG__securityHeroFloat;
}

.faction-module__pa1rfG__ronin .faction-module__pa1rfG__heroArt {
  filter: drop-shadow(0 26px 32px #00000080) drop-shadow(0 0 28px #ff525a47);
  animation: 5.3s ease-in-out infinite faction-module__pa1rfG__roninHeroFloat;
}

.faction-module__pa1rfG__angel:hover .faction-module__pa1rfG__heroArt {
  filter: drop-shadow(0 26px 32px #00000075) drop-shadow(0 0 38px #ffeca280);
}

.faction-module__pa1rfG__demon:hover .faction-module__pa1rfG__heroArt {
  filter: drop-shadow(0 26px 32px #00000080) drop-shadow(0 0 38px #ff4f9170);
}

.faction-module__pa1rfG__mortal:hover .faction-module__pa1rfG__heroArt {
  filter: drop-shadow(0 26px 32px #0000007a) drop-shadow(0 0 38px #74ff9875);
}

.faction-module__pa1rfG__security:hover .faction-module__pa1rfG__heroArt {
  filter: drop-shadow(0 26px 34px #0000008a) drop-shadow(0 0 38px #b37cff6b);
}

.faction-module__pa1rfG__ronin:hover .faction-module__pa1rfG__heroArt {
  filter: drop-shadow(0 28px 34px #00000085) drop-shadow(0 0 38px #ff525a6b);
}

@keyframes faction-module__pa1rfG__angelHeroFloat {
  0%, 100% {
    transform: translateX(-50%)translateY(0);
  }

  50% {
    transform: translateX(-50%)translateY(-8px);
  }
}

@keyframes faction-module__pa1rfG__demonHeroPower {
  0%, 100% {
    transform: translateX(-50%)translateY(0)scale(1);
  }

  50% {
    transform: translateX(-50%)translateY(-4px)scale(1.015);
  }
}

@keyframes faction-module__pa1rfG__mortalHeroCharge {
  0%, 100% {
    transform: translateX(-50%)translateY(0);
  }

  50% {
    transform: translateX(-50%)translateY(-6px);
  }
}

@keyframes faction-module__pa1rfG__securityHeroFloat {
  0%, 100% {
    transform: translateX(-50%)translateY(0);
  }

  50% {
    transform: translateX(-50%)translateY(-7px);
  }
}

@keyframes faction-module__pa1rfG__roninHeroFloat {
  0%, 100% {
    transform: translateX(-50%)translateY(0);
  }

  50% {
    transform: translateX(-50%)translateY(-8px);
  }
}

.faction-module__pa1rfG__fxLayer {
  z-index: 2;
  pointer-events: none;
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.faction-module__pa1rfG__identityVignette {
  z-index: 2;
  pointer-events: none;
  opacity: .35;
  transition: opacity .35s, transform .65s cubic-bezier(.2, .75, .2, 1);
  position: absolute;
  inset: 0;
}

.faction-module__pa1rfG__faction:hover .faction-module__pa1rfG__identityVignette, .faction-module__pa1rfG__faction.faction-module__pa1rfG__selecting .faction-module__pa1rfG__identityVignette {
  opacity: .7;
  transform: scale(1.03);
}

.faction-module__pa1rfG__angelRays {
  transform-origin: 50% 0;
  opacity: .2;
  filter: blur(3px);
  will-change: transform;
  background: repeating-conic-gradient(from -24deg at 50% 0, #fff7cd8c 0deg 4deg, #0000 4deg 16deg);
  width: 175%;
  height: 78%;
  animation: 17s ease-in-out infinite alternate faction-module__pa1rfG__angelRaySweep;
  position: absolute;
  top: -12%;
  left: 50%;
  transform: translateX(-50%);
}

.faction-module__pa1rfG__angel:hover .faction-module__pa1rfG__angelRays {
  opacity: .34;
}

@keyframes faction-module__pa1rfG__angelRaySweep {
  from {
    transform: translateX(-50%)rotate(-3deg)scaleX(.96);
  }

  to {
    transform: translateX(-50%)rotate(4deg)scaleX(1.05);
  }
}

.faction-module__pa1rfG__feather {
  left: var(--x);
  width: var(--size);
  height: calc(var(--size) * .42);
  opacity: 0;
  animation: faction-module__pa1rfG__featherFall var(--dur) linear var(--delay) infinite;
  will-change: transform, opacity;
  background: linear-gradient(135deg, #fffffff2, #ffefb066);
  border-radius: 100% 0;
  position: absolute;
  top: -12%;
  transform: rotate(28deg);
  box-shadow: 0 0 8px #fff6d047;
}

@keyframes faction-module__pa1rfG__featherFall {
  0% {
    opacity: 0;
    transform: translate3d(0, -25px, 0)rotate(5deg);
  }

  12% {
    opacity: .7;
  }

  50% {
    transform: translate3d(var(--drift), 52vh, 0) rotate(160deg);
  }

  100% {
    opacity: 0;
    transform: translate3d(calc(var(--drift) * -.35), 108vh, 0) rotate(350deg);
  }
}

.faction-module__pa1rfG__angelSigil {
  will-change: transform;
  border: 1px solid #ffeb9b57;
  border-radius: 50%;
  width: 172px;
  height: 172px;
  animation: 22s linear infinite faction-module__pa1rfG__angelSigilRotate;
  position: absolute;
  top: 28%;
  left: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 24px #ffe5911f, inset 0 0 24px #afdeff14;
}

.faction-module__pa1rfG__angelSigil:before, .faction-module__pa1rfG__angelSigil:after {
  content: "";
  border: 1px solid #dcefff47;
  position: absolute;
  inset: 22px;
  transform: rotate(45deg);
}

.faction-module__pa1rfG__angelSigil:after {
  border-color: #ffefb04d;
  inset: 44px;
  transform: rotate(0);
}

@keyframes faction-module__pa1rfG__angelSigilRotate {
  from {
    transform: translate(-50%, -50%)rotate(0);
  }

  to {
    transform: translate(-50%, -50%)rotate(360deg);
  }
}

.faction-module__pa1rfG__angelStar {
  left: var(--x);
  opacity: 0;
  width: 3px;
  height: 3px;
  animation: faction-module__pa1rfG__angelAscend 6s ease-in var(--delay) infinite;
  will-change: transform, opacity;
  background: #fff8cf;
  border-radius: 50%;
  position: absolute;
  bottom: 14%;
  box-shadow: 0 0 8px #fff1a8;
}

@keyframes faction-module__pa1rfG__angelAscend {
  0% {
    opacity: 0;
    transform: translateY(30px)scale(.7);
  }

  15% {
    opacity: .8;
  }

  100% {
    opacity: 0;
    transform: translateY(-52vh)scale(.1);
  }
}

.faction-module__pa1rfG__demonHeat {
  opacity: .34;
  filter: blur(13px);
  will-change: transform;
  background: radial-gradient(at 25% 100%, #ff8e1eb3, #0000 35%), radial-gradient(at 70% 100%, #ff37239e, #0000 38%);
  height: 58%;
  animation: 3.8s ease-in-out infinite alternate faction-module__pa1rfG__demonHeat;
  position: absolute;
  bottom: -8%;
  left: -15%;
  right: -15%;
}

.faction-module__pa1rfG__demon:hover .faction-module__pa1rfG__demonHeat {
  opacity: .56;
}

@keyframes faction-module__pa1rfG__demonHeat {
  from {
    transform: scaleY(.95)translateY(8px);
  }

  to {
    transform: scaleY(1.08)translateY(-5px);
  }
}

.faction-module__pa1rfG__ember {
  left: var(--x);
  width: var(--size);
  height: var(--size);
  opacity: 0;
  animation: faction-module__pa1rfG__emberRise var(--dur) ease-out var(--delay) infinite;
  will-change: transform, opacity;
  background: #ffd27d;
  border-radius: 50%;
  position: absolute;
  bottom: -4%;
  box-shadow: 0 0 9px #ff5d32, 0 0 15px #ff461da6;
}

@keyframes faction-module__pa1rfG__emberRise {
  0% {
    opacity: 0;
    transform: translate3d(0, 15px, 0)scale(.65);
  }

  15% {
    opacity: .9;
  }

  70% {
    opacity: .58;
  }

  100% {
    opacity: 0;
    transform: translate3d(var(--drift), -78vh, 0) scale(.1);
  }
}

.faction-module__pa1rfG__demonSmoke {
  filter: blur(14px);
  will-change: transform;
  background: radial-gradient(at 30% 70%, #54141661, #0000 52%), radial-gradient(at 70% 62%, #781a1842, #0000 52%);
  height: 30%;
  animation: 11s ease-in-out infinite alternate faction-module__pa1rfG__demonSmoke;
  position: absolute;
  bottom: 15%;
  left: -20%;
  right: -20%;
}

@keyframes faction-module__pa1rfG__demonSmoke {
  from {
    transform: translateX(-5%)scaleY(.92);
  }

  to {
    transform: translateX(5%)scaleY(1.08);
  }
}

.faction-module__pa1rfG__demonCracks {
  opacity: .28;
  filter: drop-shadow(0 0 5px #ff471a66);
  background: linear-gradient(118deg, #0000 0 30%, #ff672bb3 30.3% 30.8%, #0000 31% 100%), linear-gradient(67deg, #0000 0 53%, #ff4b218c 53.2% 53.7%, #0000 54% 100%), linear-gradient(132deg, #0000 0 66%, #ffa43173 66.2% 66.6%, #0000 67% 100%);
  height: 42%;
  animation: 4.2s ease-in-out infinite faction-module__pa1rfG__demonCrackPulse;
  position: absolute;
  bottom: 0;
  left: 4%;
  right: 4%;
}

@keyframes faction-module__pa1rfG__demonCrackPulse {
  0%, 100% {
    opacity: .18;
    filter: drop-shadow(0 0 3px #ff471a40);
  }

  50% {
    opacity: .46;
    filter: drop-shadow(0 0 9px #ff5b1dad);
  }
}

.faction-module__pa1rfG__demonScratch {
  opacity: .12;
  filter: blur(.3px);
  background: linear-gradient(90deg, #0000 0 15%, #ff7747b8 15% 18%, #0000 18% 34%, #ff4a3394 34% 37%, #0000 37% 52%, #ff8c5080 52% 55%, #0000 55%);
  width: 44%;
  height: 28%;
  transition: opacity .25s, transform .4s;
  position: absolute;
  top: 25%;
  right: 8%;
  transform: skewX(-14deg)rotate(-12deg);
}

.faction-module__pa1rfG__demon:hover .faction-module__pa1rfG__demonScratch {
  opacity: .5;
  transform: skewX(-14deg)rotate(-12deg)translateX(-6px);
}

.faction-module__pa1rfG__mortalRing {
  border: 1px solid #73ec916b;
  border-radius: 50%;
  width: 230px;
  height: 92px;
  animation: 4s ease-out infinite faction-module__pa1rfG__mortalRing;
  position: absolute;
  bottom: 12%;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 0 0 14px #5fdd8147, 0 0 42px #4ac26c26;
}

.faction-module__pa1rfG__mortal:hover .faction-module__pa1rfG__mortalRing {
  border-color: #96ffb1b8;
}

@keyframes faction-module__pa1rfG__mortalRing {
  0% {
    opacity: .65;
    transform: translateX(-50%)scale(.72);
  }

  75%, 100% {
    opacity: 0;
    transform: translateX(-50%)scale(1.35);
  }
}

.faction-module__pa1rfG__petal {
  left: var(--x);
  top: var(--y);
  width: var(--size);
  height: calc(var(--size) * .62);
  opacity: 0;
  animation: faction-module__pa1rfG__petalWind var(--dur) linear var(--delay) infinite;
  will-change: transform, opacity;
  background: linear-gradient(135deg, #d6ffdeeb, #67dc8475);
  border-radius: 100% 0;
  position: absolute;
}

@keyframes faction-module__pa1rfG__petalWind {
  0% {
    opacity: 0;
    transform: translate3d(-35px, -20px, 0)rotate(0);
  }

  12% {
    opacity: .65;
  }

  55% {
    opacity: .7;
  }

  100% {
    opacity: 0;
    transform: translate3d(var(--drift), 68vh, 0) rotate(420deg);
  }
}

.faction-module__pa1rfG__mortalChi {
  will-change: transform;
  border: 1px solid #71ee934d;
  border-radius: 50%;
  width: 190px;
  height: 190px;
  animation: 14s linear infinite faction-module__pa1rfG__mortalChiSpin;
  position: absolute;
  top: 43%;
  left: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 30px #4ecd711f, inset 0 0 28px #8affa80f;
}

.faction-module__pa1rfG__mortalChi:before, .faction-module__pa1rfG__mortalChi:after {
  content: "";
  border: 1px dashed #8effad3b;
  border-radius: 50%;
  position: absolute;
  inset: 18px;
}

.faction-module__pa1rfG__mortalChi:after {
  border-style: solid;
  border-color: #5bdb7e3d;
  inset: 48px;
}

@keyframes faction-module__pa1rfG__mortalChiSpin {
  from {
    transform: translate(-50%, -50%)rotate(0);
  }

  to {
    transform: translate(-50%, -50%)rotate(360deg);
  }
}

.faction-module__pa1rfG__mortalWave {
  opacity: .18;
  filter: blur(9px);
  will-change: transform;
  background: radial-gradient(at 50% 100%, #5cdd7e80, #0000 58%);
  height: 20%;
  animation: 4.8s ease-in-out infinite alternate faction-module__pa1rfG__mortalWave;
  position: absolute;
  bottom: 21%;
  left: -18%;
  right: -18%;
}

@keyframes faction-module__pa1rfG__mortalWave {
  from {
    opacity: .13;
    transform: scaleX(.9)translateY(4px);
  }

  to {
    opacity: .28;
    transform: scaleX(1.08)translateY(-5px);
  }
}

.faction-module__pa1rfG__leaf {
  left: var(--x);
  width: var(--size);
  height: calc(var(--size) * .5);
  opacity: 0;
  animation: faction-module__pa1rfG__leafFall var(--dur) linear var(--delay) infinite;
  will-change: transform, opacity;
  background: linear-gradient(135deg, #b9ffc7e6, #49ac649e);
  border-radius: 100% 0;
  position: absolute;
  top: -8%;
}

@keyframes faction-module__pa1rfG__leafFall {
  0% {
    opacity: 0;
    transform: translate3d(0, -20px, 0)rotate(0);
  }

  14% {
    opacity: .75;
  }

  100% {
    opacity: 0;
    transform: translate3d(var(--drift), 105vh, 0) rotate(480deg);
  }
}

.faction-module__pa1rfG__securityRing {
  will-change: transform;
  border: 1px solid #be95ff61;
  border-radius: 50%;
  position: absolute;
  top: 28%;
  left: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 28px #a768ff1c;
}

.faction-module__pa1rfG__securityRingR1 {
  border-style: dashed;
  width: 190px;
  height: 190px;
  animation: 11s linear infinite faction-module__pa1rfG__securitySpin;
}

.faction-module__pa1rfG__securityRingR2 {
  border-width: 2px;
  width: 132px;
  height: 132px;
  animation: 7s linear infinite faction-module__pa1rfG__securitySpinReverse;
}

@keyframes faction-module__pa1rfG__securitySpin {
  from {
    transform: translate(-50%, -50%)rotate(0);
  }

  to {
    transform: translate(-50%, -50%)rotate(360deg);
  }
}

@keyframes faction-module__pa1rfG__securitySpinReverse {
  from {
    transform: translate(-50%, -50%)rotate(360deg);
  }

  to {
    transform: translate(-50%, -50%)rotate(0);
  }
}

.faction-module__pa1rfG__securityScan {
  opacity: .18;
  background: linear-gradient(90deg, #0000, #c59efff2, #0000);
  height: 2px;
  animation: 6s ease-in-out infinite faction-module__pa1rfG__securityScan;
  position: absolute;
  top: 8%;
  left: 0;
  right: 0;
  box-shadow: 0 0 15px #b37cffb3;
}

@keyframes faction-module__pa1rfG__securityScan {
  0%, 100% {
    opacity: 0;
    top: 10%;
  }

  12% {
    opacity: .55;
  }

  52% {
    opacity: .25;
  }

  88% {
    opacity: .55;
    top: 90%;
  }
}

.faction-module__pa1rfG__securityGlitch {
  opacity: 0;
  background: linear-gradient(90deg, #0000 0 10%, #be8fff1c 10% 12%, #0000 12% 58%, #6ce1ff14 58% 61%, #0000 61%), repeating-linear-gradient(0deg, #0000 0 18px, #ffffff0b 18px 19px);
  animation: 8s step-end infinite faction-module__pa1rfG__securityGlitch;
  position: absolute;
  inset: 0;
}

.faction-module__pa1rfG__security:hover .faction-module__pa1rfG__securityGlitch {
  animation-duration: 5.5s;
}

@keyframes faction-module__pa1rfG__securityGlitch {
  0%, 72%, 100% {
    opacity: 0;
    transform: none;
  }

  73% {
    opacity: .75;
    transform: translateX(4px);
  }

  74% {
    opacity: .18;
    transform: translateX(-5px);
  }

  75% {
    opacity: .5;
    transform: translateX(2px);
  }

  77% {
    opacity: 0;
    transform: none;
  }
}

.faction-module__pa1rfG__securityData {
  opacity: .16;
  background: repeating-linear-gradient(90deg, #0000 0 24px, #b682ff17 24px 25px, #0000 25px 49px);
  animation: 9s linear infinite faction-module__pa1rfG__securityDataShift;
  position: absolute;
  inset: 0;
  -webkit-mask-image: linear-gradient(#0000 0 12%, #000 24% 76%, #0000 92%);
  mask-image: linear-gradient(#0000 0 12%, #000 24% 76%, #0000 92%);
}

@keyframes faction-module__pa1rfG__securityDataShift {
  from {
    transform: translateX(-24px);
  }

  to {
    transform: translateX(24px);
  }
}

.faction-module__pa1rfG__dataBit {
  left: var(--x);
  color: #c8a4ffb8;
  text-shadow: 0 0 8px #b37cff80;
  opacity: 0;
  animation: faction-module__pa1rfG__dataRain 7s linear var(--delay) infinite;
  will-change: transform, opacity;
  font: 700 10px / 1 ui-monospace, SFMono-Regular, Consolas, monospace;
  position: absolute;
  top: -10%;
}

@keyframes faction-module__pa1rfG__dataRain {
  0% {
    opacity: 0;
    transform: translateY(-15px);
  }

  12% {
    opacity: .5;
  }

  88% {
    opacity: .35;
  }

  100% {
    opacity: 0;
    transform: translateY(106vh);
  }
}

.faction-module__pa1rfG__securityShard {
  background: linear-gradient(#c299ff24, #0000);
  border: 1px solid #d3baff59;
  width: 14px;
  height: 28px;
  animation: 8s ease-in-out infinite alternate faction-module__pa1rfG__shardFloat;
  position: absolute;
  transform: rotate(34deg);
}

@keyframes faction-module__pa1rfG__shardFloat {
  from {
    translate: 0 -5px;
  }

  to {
    translate: 5px 9px;
  }
}

.faction-module__pa1rfG__roninMist, .faction-module__pa1rfG__roninMist:before, .faction-module__pa1rfG__roninMist:after {
  content: "";
  filter: blur(15px);
  will-change: transform;
  background: radial-gradient(#b41b2533, #0000 68%);
  border-radius: 50%;
  width: 170%;
  height: 32%;
  position: absolute;
  left: -35%;
}

.faction-module__pa1rfG__roninMist {
  animation: 14s ease-in-out infinite alternate faction-module__pa1rfG__roninMist;
  bottom: 5%;
}

.faction-module__pa1rfG__roninMist:before {
  opacity: .7;
  animation: 10s ease-in-out infinite alternate faction-module__pa1rfG__roninMist2;
  bottom: 75%;
}

.faction-module__pa1rfG__roninMist:after {
  opacity: .42;
  animation: 18s ease-in-out infinite alternate-reverse faction-module__pa1rfG__roninMist;
  bottom: 150%;
}

@keyframes faction-module__pa1rfG__roninMist {
  from {
    transform: translateX(-4%)scaleY(.92);
  }

  to {
    transform: translateX(5%)scaleY(1.08);
  }
}

@keyframes faction-module__pa1rfG__roninMist2 {
  from {
    transform: translateX(6%)scale(.9);
  }

  to {
    transform: translateX(-6%)scale(1.04);
  }
}

.faction-module__pa1rfG__roninSlash {
  left: -15%;
  top: var(--top);
  width: 130%;
  height: 2px;
  transform: rotate(var(--rot)) scaleX(.15);
  transform-origin: center;
  opacity: 0;
  animation: faction-module__pa1rfG__roninSlash 6.4s ease-in-out var(--delay) infinite;
  background: linear-gradient(90deg, #0000 0 12%, #ff646c40, #fff 49%, #ff4852c7 52%, #0000 88%);
  position: absolute;
  box-shadow: 0 0 10px #ff434e8c;
}

@keyframes faction-module__pa1rfG__roninSlash {
  0%, 70%, 100% {
    opacity: 0;
    transform: rotate(var(--rot)) scaleX(.15);
  }

  72% {
    opacity: .95;
    transform: rotate(var(--rot)) scaleX(.35);
  }

  75% {
    opacity: 1;
    transform: rotate(var(--rot)) scaleX(1);
  }

  79% {
    opacity: 0;
    transform: rotate(var(--rot)) scaleX(1.08);
  }
}

.faction-module__pa1rfG__roninMoonBloom {
  background: radial-gradient(circle, #ff505821 0 44%, #0000 45%), radial-gradient(circle, #0000 0 57%, #ff525a2e 58% 59%, #0000 60%);
  border-radius: 50%;
  width: 185px;
  height: 185px;
  animation: 7s ease-in-out infinite faction-module__pa1rfG__roninMoonPulse;
  position: absolute;
  top: 26%;
  left: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 48px #ff3c471a;
}

@keyframes faction-module__pa1rfG__roninMoonPulse {
  0%, 100% {
    opacity: .7;
    transform: translate(-50%, -50%)scale(.96);
  }

  50% {
    opacity: 1;
    transform: translate(-50%, -50%)scale(1.04);
  }
}

.faction-module__pa1rfG__ash {
  left: var(--x);
  width: var(--size);
  height: var(--size);
  opacity: 0;
  animation: faction-module__pa1rfG__ashRise var(--dur) ease-out var(--delay) infinite;
  will-change: transform, opacity;
  background: #dfd2d28c;
  border-radius: 50%;
  position: absolute;
  bottom: -4%;
}

@keyframes faction-module__pa1rfG__ashRise {
  0% {
    opacity: 0;
    transform: translateY(15px)translateX(0);
  }

  15% {
    opacity: .5;
  }

  100% {
    opacity: 0;
    transform: translateY(-76vh)translateX(24px);
  }
}

.faction-module__pa1rfG__roninIai {
  opacity: 0;
  transform-origin: center;
  background: linear-gradient(90deg, #0000 0 18%, #ff586159, #fff 48%, #ff4a54db 52%, #0000 82%);
  width: 130%;
  height: 3px;
  animation: 7.4s ease-in-out infinite faction-module__pa1rfG__roninIai;
  position: absolute;
  top: 43%;
  left: -15%;
  transform: rotate(-11deg)scaleX(.05);
  box-shadow: 0 0 14px #ff444eb8;
}

@keyframes faction-module__pa1rfG__roninIai {
  0%, 72%, 100% {
    opacity: 0;
    transform: rotate(-11deg)scaleX(.05);
  }

  74% {
    opacity: .9;
    transform: rotate(-11deg)scaleX(.25);
  }

  76% {
    opacity: 1;
    transform: rotate(-11deg)scaleX(1);
  }

  80% {
    opacity: 0;
    transform: rotate(-11deg)scaleX(1.08);
  }
}

@media (prefers-reduced-motion: reduce) {
  .faction-module__pa1rfG__fxLayer, .faction-module__pa1rfG__angel .faction-module__pa1rfG__scene:before, .faction-module__pa1rfG__mortalRing, .faction-module__pa1rfG__securityRing, .faction-module__pa1rfG__securityScan, .faction-module__pa1rfG__securityGlitch, .faction-module__pa1rfG__roninMist, .faction-module__pa1rfG__roninSlash, .faction-module__pa1rfG__angelSigil, .faction-module__pa1rfG__demonCracks, .faction-module__pa1rfG__mortalChi, .faction-module__pa1rfG__securityData, .faction-module__pa1rfG__roninMoonBloom, .faction-module__pa1rfG__roninIai, .faction-module__pa1rfG__heroArt {
    animation: none !important;
  }

  .faction-module__pa1rfG__feather, .faction-module__pa1rfG__ember, .faction-module__pa1rfG__petal, .faction-module__pa1rfG__leaf, .faction-module__pa1rfG__ash, .faction-module__pa1rfG__angelStar, .faction-module__pa1rfG__dataBit {
    display: none !important;
  }
}

@media (max-width: 900px) {
  .faction-module__pa1rfG__page {
    overflow: auto;
  }

  .faction-module__pa1rfG__factions {
    grid-template-columns: 1fr;
    height: auto;
    min-height: calc(100vh - 78px);
    display: grid;
    overflow: visible;
  }

  .faction-module__pa1rfG__faction {
    border-bottom: 4px solid #ffffff38;
    border-right: 0;
    min-height: 340px;
  }

  .faction-module__pa1rfG__faction:hover {
    flex: initial;
  }

  .faction-module__pa1rfG__desc {
    opacity: .72;
    max-height: 80px;
  }

  .faction-module__pa1rfG__fxLayer {
    opacity: .72;
  }

  .faction-module__pa1rfG__angelRays {
    height: 46%;
  }

  .faction-module__pa1rfG__securityRingR1 {
    width: 150px;
    height: 150px;
  }

  .faction-module__pa1rfG__securityRingR2 {
    width: 105px;
    height: 105px;
  }

  .faction-module__pa1rfG__heroArt {
    height: 68%;
    top: 5%;
  }

  .faction-module__pa1rfG__separatorLine {
    background: linear-gradient(90deg,
      transparent 0%,
      #ffffff38 8%,
      rgba(var(--accent-rgb), .78) 22%,
      #ffffff85 50%,
      rgba(var(--accent-rgb), .78) 78%,
      #ffffff38 92%,
      transparent 100%);
    width: auto;
    height: 4px;
    inset: auto 7% -2px;
  }
}

.faction-module__pa1rfG__factions:has(.faction-module__pa1rfG__selecting) .faction-module__pa1rfG__faction:not(.faction-module__pa1rfG__selecting) {
  filter: brightness(.55) saturate(.7);
}

.faction-module__pa1rfG__faction.faction-module__pa1rfG__selecting {
  animation: .9s ease-in-out infinite faction-module__pa1rfG__selectPulse;
}

@keyframes faction-module__pa1rfG__selectPulse {
  50% {
    filter: saturate(1.2) brightness(1.08);
  }
}

@media (prefers-reduced-motion: reduce) {
  .faction-module__pa1rfG__faction.faction-module__pa1rfG__selecting {
    animation: none;
  }
}

.faction-module__pa1rfG__deckDots {
  display: none;
}

.faction-module__pa1rfG__page {
  --hdr: 78px;
}

@media (max-width: 700px) {
  .faction-module__pa1rfG__page {
    --hdr: 68px;
  }
}

@media (max-width: 900px), (max-height: 500px) {
  .faction-module__pa1rfG__faction.faction-module__pa1rfG__lit:after {
    opacity: .5;
  }

  .faction-module__pa1rfG__faction.faction-module__pa1rfG__lit .faction-module__pa1rfG__scene {
    opacity: 1;
    transform: scale(1.11);
  }

  .faction-module__pa1rfG__angel.faction-module__pa1rfG__lit .faction-module__pa1rfG__scene {
    transform: scale(1.12)translateY(-3px);
  }

  .faction-module__pa1rfG__demon.faction-module__pa1rfG__lit .faction-module__pa1rfG__scene {
    transform: scale(1.13)translateY(2px);
  }

  .faction-module__pa1rfG__mortal.faction-module__pa1rfG__lit .faction-module__pa1rfG__scene {
    transform: scale(1.1);
  }

  .faction-module__pa1rfG__security.faction-module__pa1rfG__lit .faction-module__pa1rfG__scene {
    transform: scale(1.08);
  }

  .faction-module__pa1rfG__ronin.faction-module__pa1rfG__lit .faction-module__pa1rfG__scene {
    transform: scale(1.115)translateX(-2px);
  }

  .faction-module__pa1rfG__faction.faction-module__pa1rfG__lit .faction-module__pa1rfG__separatorLine {
    opacity: 1;
    box-shadow: 0 0 14px rgba(var(--accent-rgb), .66), 0 0 28px rgba(var(--accent-rgb), .26);
  }

  .faction-module__pa1rfG__faction.faction-module__pa1rfG__lit .faction-module__pa1rfG__content {
    transform: translateY(-10px);
  }

  .faction-module__pa1rfG__angel.faction-module__pa1rfG__lit .faction-module__pa1rfG__content {
    transform: translateY(-14px);
  }

  .faction-module__pa1rfG__demon.faction-module__pa1rfG__lit .faction-module__pa1rfG__content {
    transform: translateY(-8px)translateX(3px);
  }

  .faction-module__pa1rfG__mortal.faction-module__pa1rfG__lit .faction-module__pa1rfG__content {
    transform: translateY(-12px)scale(1.01);
  }

  .faction-module__pa1rfG__security.faction-module__pa1rfG__lit .faction-module__pa1rfG__content {
    transform: translateY(-9px);
  }

  .faction-module__pa1rfG__ronin.faction-module__pa1rfG__lit .faction-module__pa1rfG__content {
    transform: translateY(-10px)translateX(-2px);
  }

  .faction-module__pa1rfG__faction.faction-module__pa1rfG__lit .faction-module__pa1rfG__symbol {
    box-shadow: 0 0 0 1px rgba(var(--accent-rgb), .3) inset, 0 0 26px rgba(var(--accent-rgb), .24);
    filter: drop-shadow(0 0 8px rgba(var(--accent-rgb), .55));
    transform: translateY(-5px)scale(1.08);
  }

  .faction-module__pa1rfG__faction.faction-module__pa1rfG__lit .faction-module__pa1rfG__heroArt {
    transform: translateX(-50%)translateY(-10px)scale(1.045);
  }

  .faction-module__pa1rfG__angel.faction-module__pa1rfG__lit .faction-module__pa1rfG__heroArt {
    filter: drop-shadow(0 26px 32px #00000075) drop-shadow(0 0 38px #ffeca280);
  }

  .faction-module__pa1rfG__demon.faction-module__pa1rfG__lit .faction-module__pa1rfG__heroArt {
    filter: drop-shadow(0 26px 32px #00000080) drop-shadow(0 0 38px #ff4f9170);
  }

  .faction-module__pa1rfG__mortal.faction-module__pa1rfG__lit .faction-module__pa1rfG__heroArt {
    filter: drop-shadow(0 26px 32px #0000007a) drop-shadow(0 0 38px #74ff9875);
  }

  .faction-module__pa1rfG__security.faction-module__pa1rfG__lit .faction-module__pa1rfG__heroArt {
    filter: drop-shadow(0 26px 34px #0000008a) drop-shadow(0 0 38px #b37cff6b);
  }

  .faction-module__pa1rfG__ronin.faction-module__pa1rfG__lit .faction-module__pa1rfG__heroArt {
    filter: drop-shadow(0 28px 34px #00000085) drop-shadow(0 0 38px #ff525a6b);
  }

  .faction-module__pa1rfG__faction.faction-module__pa1rfG__lit .faction-module__pa1rfG__identityVignette {
    opacity: .7;
    transform: scale(1.03);
  }

  .faction-module__pa1rfG__angel.faction-module__pa1rfG__lit .faction-module__pa1rfG__angelRays {
    opacity: .34;
  }

  .faction-module__pa1rfG__demon.faction-module__pa1rfG__lit .faction-module__pa1rfG__demonHeat {
    opacity: .56;
  }

  .faction-module__pa1rfG__demon.faction-module__pa1rfG__lit .faction-module__pa1rfG__demonScratch {
    opacity: .5;
    transform: skewX(-14deg)rotate(-12deg)translateX(-6px);
  }

  .faction-module__pa1rfG__mortal.faction-module__pa1rfG__lit .faction-module__pa1rfG__mortalRing {
    border-color: #96ffb1b8;
  }

  .faction-module__pa1rfG__security.faction-module__pa1rfG__lit .faction-module__pa1rfG__securityGlitch {
    animation-duration: 5.5s;
  }

  .faction-module__pa1rfG__faction.faction-module__pa1rfG__lit {
    filter: saturate(1.08) brightness();
  }

  .faction-module__pa1rfG__hasLit .faction-module__pa1rfG__faction:not(.faction-module__pa1rfG__lit):not(.faction-module__pa1rfG__selecting) {
    filter: saturate(.68) brightness(.5);
  }

  .faction-module__pa1rfG__faction.faction-module__pa1rfG__lit .faction-module__pa1rfG__desc {
    opacity: .82;
    max-height: 120px;
  }

  .faction-module__pa1rfG__faction.faction-module__pa1rfG__selecting .faction-module__pa1rfG__separatorLine {
    transform-origin: 0;
    opacity: 1;
    animation: 3.4s linear forwards faction-module__pa1rfG__enterSweep;
  }

  @keyframes faction-module__pa1rfG__enterSweep {
    from {
      transform: scaleX(0);
    }

    to {
      transform: scaleX(1);
    }
  }

  .faction-module__pa1rfG__page {
    height: calc(100dvh - var(--hdr));
    flex-direction: column;
    min-height: 0;
    display: flex;
    overflow: hidden;
  }

  .faction-module__pa1rfG__factions {
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    flex-direction: row;
    flex: auto;
    height: auto;
    min-height: 0;
    display: flex;
    overflow: auto hidden;
  }

  .faction-module__pa1rfG__factions::-webkit-scrollbar {
    display: none;
  }

  .faction-module__pa1rfG__faction, .faction-module__pa1rfG__faction:hover, .faction-module__pa1rfG__faction.faction-module__pa1rfG__lit, .faction-module__pa1rfG__faction.faction-module__pa1rfG__selecting {
    scroll-snap-align: center;
    border: 0;
    flex: 0 0 100%;
    width: 100%;
    min-height: 0;
  }

  .faction-module__pa1rfG__heroArt {
    height: 60%;
    top: 3%;
  }

  .faction-module__pa1rfG__content {
    inset: auto 18px 24px;
  }

  .faction-module__pa1rfG__heading {
    font-size: clamp(38px, 11vw, 56px);
  }

  .faction-module__pa1rfG__desc {
    max-width: none;
  }

  .faction-module__pa1rfG__deckDots {
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px));
    background: #040405;
    border-top: 1px solid #ffffff1a;
    flex: none;
    justify-content: center;
    gap: 10px;
    display: flex;
  }

  .faction-module__pa1rfG__deckDot {
    opacity: .55;
    cursor: pointer;
    background: #ffffff0a;
    border: 1px solid #ffffff24;
    place-items: center;
    width: 54px;
    height: 48px;
    padding: 0;
    transition: opacity .25s, border-color .25s, box-shadow .25s, background .25s;
    display: grid;
  }

  .faction-module__pa1rfG__deckDot img {
    object-fit: contain;
    width: 28px;
    height: 28px;
  }

  .faction-module__pa1rfG__deckDotOn {
    opacity: 1;
    background: rgba(var(--accent-rgb), .16);
    border-color: var(--accent);
    box-shadow: 0 0 18px rgba(var(--accent-rgb), .35);
  }
}

/*# sourceMappingURL=src_app_faction_faction_module_0hna8dh.css.map*/