/* [project]/public/css/home.css [app-client] (css) */
.home-onboarding-layout {
  min-width: 0;
}

.home-journey-intro {
  z-index: 2;
  color: #f6ecdb;
  text-align: center;
  background: linear-gradient(#171216, #281d1c);
  padding: 116px 28px 34px;
  font-family: Arial, Helvetica, sans-serif;
  position: relative;
}

.home-journey-eyebrow {
  color: #dcbf8f;
  letter-spacing: .16em;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 700;
}

.home-journey-intro h1 {
  text-wrap: balance;
  margin: 14px 0;
  font-family: Metal Mania, Georgia, serif;
  font-size: clamp(36px, 4.2vw, 58px);
  font-weight: 400;
  line-height: 1.12;
}

.home-journey-description {
  color: #ded0c2;
  text-wrap: pretty;
  max-width: 620px;
  margin: 0 auto;
  font-size: 16px;
  line-height: 1.65;
}

.home-journey-actions {
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin: 22px 0 14px;
  display: flex;
}

.home-journey-actions a {
  box-sizing: border-box;
  border: 1px solid #b58d57;
  border-radius: 5px;
  justify-content: center;
  align-items: center;
  gap: 18px;
  min-height: 48px;
  padding: 12px 22px;
  font-size: 15px;
  font-weight: 700;
  transition: background-color .16s;
  display: inline-flex;
}

.home-journey-primary {
  color: #23180f;
  background: #e7c48a;
}

.home-journey-primary:hover {
  background: #f5dba9;
}

.home-journey-secondary {
  color: #f4e2c8;
  background: #ffffff05;
}

.home-journey-secondary:hover {
  background: #ffffff12;
}

.home-journey-actions a:focus-visible, .home-onboarding-layout .menuCard a:focus-visible {
  outline-offset: 5px;
  outline: 3px solid #f7db98;
}

.home-journey-invitation {
  box-sizing: border-box;
  isolation: isolate;
  width: min(100%, 760px);
  margin: 26px auto 0;
  padding: 0 20px;
  position: relative;
}

.home-journey-invitation:before {
  content: "";
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(at 50% 15%, #d4a2570d, #0000 65%);
  position: absolute;
  inset: 15px 0 0;
}

.home-journey-ornament {
  color: #c49c64;
  justify-content: center;
  align-items: center;
  gap: 16px;
  margin-bottom: 12px;
  display: flex;
}

.home-journey-ornament span {
  background: linear-gradient(90deg, #0000, #b88c5080);
  width: min(28%, 160px);
  height: 1px;
}

.home-journey-ornament span:last-child {
  transform: rotate(180deg);
}

.home-journey-ornament svg {
  stroke: currentColor;
  stroke-width: 1px;
  filter: drop-shadow(0 0 6px #e8be6b40);
  width: 20px;
  height: 20px;
}

.home-journey-invitation-title {
  color: #f7dba9;
  text-wrap: balance;
  text-shadow: 0 2px 16px #db9f4320;
  margin: 0;
  font: 400 clamp(28px, 2.8vw, 36px) / 1.2 Metal Mania, Georgia, serif;
}

.home-journey-note {
  color: #dfcdb8;
  text-wrap: balance;
  margin: 10px 0 0;
  font-size: 15px;
  line-height: 1.65;
}

.home-journey-note strong {
  color: #f7e5ca;
  white-space: nowrap;
  font-weight: 600;
}

.home-journey-stages {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  max-width: 660px;
  margin: 24px auto 22px;
  padding: 0;
  list-style: none;
  display: grid;
  position: relative;
}

.home-journey-stages:before {
  content: "";
  pointer-events: none;
  background: linear-gradient(90deg, #ad82443b, #d5ad6d80, #ad82443b);
  height: 1px;
  position: absolute;
  top: 26px;
  left: 12.5%;
  right: 12.5%;
}

.home-journey-stages li {
  flex-direction: column;
  align-items: center;
  gap: 8px;
  min-width: 0;
  display: flex;
  position: relative;
}

.home-journey-stage-icon {
  z-index: 1;
  color: #e4bb7f;
  background: radial-gradient(circle, #362820 20%, #281d1c 60%, #281d1c00 75%);
  place-items: center;
  width: 52px;
  height: 52px;
  display: grid;
  position: relative;
}

.home-journey-stage-icon svg {
  stroke: currentColor;
  stroke-width: 1.25px;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 0 7px #e8be6b26);
  width: 31px;
  height: 31px;
}

.home-journey-stage-name {
  color: #f0dfc4;
  text-wrap: balance;
  font: 400 23px / 1.25 Metal Mania, Georgia, serif;
}

.home-journey-upcoming {
  text-align: left;
  border-top: 1px solid #c49c643b;
  justify-content: center;
  align-items: center;
  gap: 16px;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto;
  padding-top: 20px;
  display: flex;
}

.home-journey-gateway {
  color: #b49a78;
  stroke: currentColor;
  stroke-width: 1px;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex-shrink: 0;
  width: 30px;
  height: 36px;
}

.home-journey-upcoming-eyebrow {
  color: #c0ae98;
  font: italic 400 14px / 1.6 Georgia, serif;
}

.home-journey-upcoming-title {
  color: #deccb4;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px 14px;
  font: 400 22px / 1.4 Metal Mania, Georgia, serif;
  display: flex;
}

.home-journey-upcoming-title span {
  color: #c6a97c;
  font: 400 14px / 1.5 Arial, Helvetica, sans-serif;
}

@media (max-width: 600px) {
  .home-journey-intro {
    padding: 96px 22px 30px;
  }

  .home-journey-actions a {
    flex: 220px;
  }

  .home-journey-invitation {
    margin-top: 28px;
    padding: 0;
  }

  .home-journey-note {
    font-size: 14px;
  }

  .home-journey-stages {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 18px;
    max-width: 360px;
    margin-top: 20px;
  }

  .home-journey-stages:before {
    display: none;
  }

  .home-journey-stages li:nth-child(odd):after {
    content: "";
    pointer-events: none;
    background: linear-gradient(90deg, #ad82443b, #d5ad6d80, #ad82443b);
    width: calc(100% - 34px);
    height: 1px;
    position: absolute;
    top: 26px;
    left: calc(50% + 26px);
  }

  .home-journey-stage-name {
    font-size: 22px;
  }

  .home-journey-upcoming {
    gap: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-journey-actions a {
    transition: none;
  }
}

.guilds-bg-carousel {
  z-index: 0;
  position: absolute;
  inset: 0;
}

.guilds-bg-slide {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  inset: 0;
}

.tavern-atmosphere {
  z-index: 1;
  pointer-events: none;
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.tavern-firelight {
  mix-blend-mode: screen;
  background: radial-gradient(90% 70% at 30% 60%, #ff821480 0%, #0000 60%), radial-gradient(65% 55% at 75% 45%, #ff5a0a66 0%, #0000 55%), radial-gradient(50% 40% at 50% 75%, #ffaa3259 0%, #0000 50%), radial-gradient(35% 30% at 20% 35%, #ffc85040 0%, #0000 50%);
  animation: 2.5s ease-in-out infinite tavern-flicker;
  position: absolute;
  inset: 0;
}

.tavern-haze {
  background: radial-gradient(120% 90% at 40% 55%, #a064284d 0%, #0000 55%), radial-gradient(80% 60% at 70%, #c88c3c40 0%, #0000 50%);
  animation: 7s ease-in-out infinite tavern-haze-drift;
  position: absolute;
  inset: 0;
}

.tavern-particles {
  position: absolute;
  inset: 0;
}

.tavern-ember {
  background: radial-gradient(circle, #ffd264 0%, #ff9628b3 45%, #0000 100%);
  border-radius: 50%;
  animation: linear infinite tavern-float;
  position: absolute;
  box-shadow: 0 0 6px 2px #ffa03299;
}

@keyframes tavern-flicker {
  0%, 100% {
    opacity: 1;
  }

  12% {
    opacity: .55;
  }

  25% {
    opacity: .9;
  }

  38% {
    opacity: .5;
  }

  50% {
    opacity: .85;
  }

  62% {
    opacity: .45;
  }

  75% {
    opacity: .95;
  }

  88% {
    opacity: .6;
  }
}

@keyframes tavern-haze-drift {
  0%, 100% {
    opacity: .7;
    transform: translateX(0)scale(1);
  }

  33% {
    opacity: 1;
    transform: translateX(3%)scale(1.06);
  }

  66% {
    opacity: .6;
    transform: translateX(-2%)scale(.97);
  }
}

@keyframes tavern-float {
  0% {
    opacity: 0;
    transform: translateY(0)translateX(0)scale(1);
  }

  8% {
    opacity: .8;
  }

  50% {
    transform: translateY(-45vh) translateX(var(--drift, 15px)) scale(.7);
    opacity: .5;
  }

  100% {
    transform: translateY(-95vh) translateX(calc(var(--drift, 15px) * 1.8)) scale(.2);
    opacity: 0;
  }
}

.AppBanner {
  display: none;
}

.AppBanner img {
  width: 100%;
}

.static-home-banner {
  width: 100%;
  height: auto;
}

.static-home-hero {
  z-index: 1;
  background: #271d2a;
  width: 100%;
  position: relative;
  overflow: hidden;
}

.static-home-hero-image {
  width: 100%;
  height: auto;
}

.static-home-hero-vignette {
  pointer-events: none;
  background: linear-gradient(#0f0a1214, #0000 30%, #0f0a123d), linear-gradient(90deg, #0f0a122e, #0000 18% 82%, #0f0a122e);
  position: absolute;
  inset: 0;
}

.static-home-glow-coord {
  z-index: 2;
  pointer-events: none;
  position: absolute;
  inset: 0;
}

.scene.screen01 {
  z-index: 1;
  width: 100%;
  height: calc(100vh - 320px);
  margin: 0 auto;
  position: relative;
  overflow: hidden;
}

.scene.screen01 ul {
  z-index: 2;
  width: 100%;
  height: calc(100% + 40px);
  position: relative;
  overflow: hidden;
}

.scene.screen01 .layer {
  position: absolute;
  bottom: -40px;
  left: 0;
  right: 0;
}

.scene.screen01 ul > li > img {
  width: 100%;
}

.scene.screen01 ul > li > div {
  background-position: 50% 100%;
  background-repeat: no-repeat;
  background-size: 80%;
  width: 100%;
  max-width: 1900px;
  height: 100%;
  margin: 0 auto;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}

.scene.screen01 .backdrop {
  height: 100%;
}

.scene.screen01 .layer.s01_0 {
  z-index: 9;
}

.scene.screen01 .layer.s01_1 {
  z-index: 8;
}

.scene.screen01 .layer.s01_2 {
  z-index: 7;
}

.scene.screen01 .layer.s01_3 {
  z-index: 6;
}

.scene.screen01 .layer.s01_4 {
  z-index: 4;
}

.scene.screen01 .layer.s01_shadow {
  z-index: 0;
}

.scene.screen01 .layer.s01_5, .scene.screen01 .layer.s01_6 {
  z-index: 99;
  bottom: 0;
}

.scene.screen01 .layer.s01_5 > div {
  right: initial;
  background-position: 0 100%;
  margin: 0;
}

.scene.screen01 .layer.s01_shadow0 > div, .scene.screen01 .layer.s01_6 > div {
  left: initial;
  background-position: 100% 100%;
  margin: 0;
}

.scene.screen01 .layer.s01_shadow0 > div {
  background-size: 100%;
}

.scene.screen01 .layer.s01_shadow1 > div {
  background-position: 100% 0;
}

.Team_1 {
  background: var(--a_1);
}

.Team_2 {
  background: var(--b_1);
}

.Team_2.scene.screen01 .layer.s01_5, .Team_2.scene.screen01 .layer.s01_6 {
  z-index: 0;
}

.menuCard {
  background-color: var(--bw1);
  z-index: 9;
  width: 100%;
  height: 260px;
  position: relative;
}

.menuCard .topside {
  width: 100%;
  height: 30px;
  position: absolute;
  top: -25px;
  left: 0;
  right: 0;
}

.menuCard .cardSlot {
  background-color: var(--bw1);
  grid-template-columns: repeat(7, minmax(0, 1fr));
  min-height: 65%;
  padding: 10px 0 0;
  display: grid;
}

.menuCard .card {
  border-color: var(--a_1);
  box-sizing: border-box;
  background-image: url("../media/menu_GB0.15jfegeljwkf5.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  border-style: solid;
  border-width: 0;
  min-width: 0;
  min-height: 140px;
  margin: 0 10px;
  position: relative;
}

.menuCard .marketplace-home-card, .menuCard .home-long-title-card {
  padding-inline: 8px;
}

.menuCard .marketplace-home-card {
  container: marketplace-card / inline-size;
}

.menuCard .marketplace-home-content {
  box-sizing: border-box;
  grid-template-rows: auto auto;
  align-content: center;
  place-items: center;
  gap: 8px;
  width: 100%;
  min-width: 0;
  height: 140px;
  padding-block: 12px;
  display: grid;
}

.menuCard .marketplace-home-heading {
  min-width: 0;
}

.menuCard .title h4.marketplace-home-title {
  letter-spacing: -.04em;
  white-space: nowrap;
  text-align: center;
  font-size: clamp(16px, 15.5cqw, 34px);
}

.menuCard .marketplace-home-logo {
  object-fit: contain;
  z-index: 1;
  flex-shrink: 0;
  width: 72px;
  max-width: 100%;
  height: 72px;
  display: block;
  position: relative;
}

.menuCard .marketplace-home-card .frame .f_w {
  width: min(80%, 180px);
}

.menuCard .home-long-title-card > .c {
  width: 100%;
  min-width: 0;
}

.menuCard .home-long-title-card .theme {
  min-width: 0;
  position: absolute;
  inset: 0;
  width: auto !important;
}

.menuCard .home-long-title-card .title {
  min-width: 0;
}

.menuCard .home-long-title {
  letter-spacing: -.04em;
  white-space: nowrap;
  font-size: clamp(13px, 1.4vw, 28px);
}

.menuCard .comic-home-cover {
  object-fit: cover;
  object-position: center top;
  border: 2px solid #ffffffb8;
  border-radius: 3px;
  transform: rotate(-4deg);
  box-shadow: 0 5px 12px #00000057;
  width: 72px !important;
  height: 96px !important;
  top: 20px !important;
  left: 18px !important;
}

.menuCard .card.c1 .theme {
  width: 150px;
}

.menuCard .card.c1 .theme img {
  position: absolute;
  top: 0;
  left: 0;
}

.menuCard .card.c2 .theme img {
  width: initial;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.menuCard .card.c2, .menuCard .card.c3 {
  background-image: url("../media/menu_GB1.0ctaww~rz2zf9.webp");
}

.menuCard .owl-carousel .card.c1 {
  min-width: 300px;
}

.menuCard .owl-carousel .card.c2 {
  min-width: 380px;
}

.menuCard .owl-carousel .card.c3 {
  min-width: 450px;
}

.menuCard .owl-carousel .card.c4 {
  min-width: 320px;
}

.menuCard .owl-carousel .card.c5 {
  min-width: 360px;
}

.menuCard .title h4 {
  text-align: right;
  color: var(--bw1);
  font-size: clamp(22px, 2vw, 42px);
  line-height: 1;
}

.menuCard .title h4.legendary-home-title {
  font-size: clamp(15px, 1.45vw, 30px);
  line-height: 1.1;
}

.menuCard .frame > div {
  position: absolute;
}

.menuCard .frame .f_h img {
  height: 100%;
}

.menuCard .frame .f_w {
  width: 80%;
}

.menuCard .f_TL {
  top: 5px;
  bottom: 5px;
  left: 5px;
}

.menuCard .f_BR {
  bottom: 5px;
  right: 5px;
}

.menuCard .f_TL img {
  border-radius: 15px 0 0;
}

.menuCard .f_BR img {
  border-radius: 0 0 15px;
}

@keyframes glow-soft {
  0%, 100% {
    opacity: var(--glow-intensity, .8);
    transform: translate(-50%, -50%) rotate(var(--glow-rotate, 0deg)) scale(1);
  }

  50% {
    opacity: 1;
    transform: translate(-50%, -50%) rotate(var(--glow-rotate, 0deg)) scale(1.3);
  }
}

@keyframes glow-flame {
  0%, 100% {
    opacity: var(--glow-intensity, .8);
    transform: translate(-50%, -50%) rotate(var(--glow-rotate, 0deg)) scale(1) scaleY(1);
  }

  25% {
    opacity: 1;
    transform: translate(-50%, -50%) rotate(var(--glow-rotate, 0deg)) scale(1.1) scaleY(1.15);
  }

  50% {
    opacity: var(--glow-intensity, .8);
    transform: translate(-50%, -50%) rotate(var(--glow-rotate, 0deg)) scale(.95) scaleY(1.05);
  }

  75% {
    opacity: 1;
    transform: translate(-50%, -50%) rotate(var(--glow-rotate, 0deg)) scale(1.05) scaleY(1.2);
  }
}

@keyframes glow-blaze {
  0% {
    transform: translate(-50%, -50%) rotate(calc(var(--glow-rotate, 0deg) - .5deg)) scale(1) scaleY(1);
  }

  15% {
    transform: translate(-50%, -50%) rotate(calc(var(--glow-rotate, 0deg) + .5deg)) scale(1.02) scaleY(1.06);
  }

  30% {
    transform: translate(-50%, -50%) rotate(calc(var(--glow-rotate, 0deg) - .3deg)) scale(.98) scaleY(.97);
  }

  50% {
    transform: translate(-50%, -50%) rotate(calc(var(--glow-rotate, 0deg) + .8deg)) scale(1.03) scaleY(1.08);
  }

  65% {
    transform: translate(-50%, -50%) rotate(calc(var(--glow-rotate, 0deg) - .5deg)) scale(.99) scaleY(1.02);
  }

  80% {
    transform: translate(-50%, -50%) rotate(calc(var(--glow-rotate, 0deg) + .3deg)) scale(1.02) scaleY(1.05);
  }

  100% {
    transform: translate(-50%, -50%) rotate(calc(var(--glow-rotate, 0deg) - .5deg)) scale(1) scaleY(1);
  }
}

@keyframes glow-blaze-tremor {
  0% {
    filter: blur(3px) brightness();
    opacity: var(--glow-intensity, .8);
  }

  25% {
    filter: blur(2.5px) brightness(1.08);
    opacity: calc(var(--glow-intensity, .8) * 1.05);
  }

  50% {
    filter: blur(3.2px) brightness(.95);
    opacity: var(--glow-intensity, .8);
  }

  75% {
    filter: blur(2.8px) brightness(1.06);
    opacity: calc(var(--glow-intensity, .8) * 1.03);
  }

  100% {
    filter: blur(3px) brightness();
    opacity: var(--glow-intensity, .8);
  }
}

@keyframes glow-torch {
  0% {
    opacity: var(--glow-intensity, .8);
    transform: translate(-50%, -50%) rotate(calc(var(--glow-rotate, 0deg) - 1deg)) scaleX(1) scaleY(1);
  }

  20% {
    opacity: 1;
    transform: translate(-50%, -50%) rotate(calc(var(--glow-rotate, 0deg) + 1.5deg)) scaleX(.85) scaleY(1.12);
  }

  40% {
    opacity: var(--glow-intensity, .8);
    transform: translate(-50%, -50%) rotate(calc(var(--glow-rotate, 0deg) - .5deg)) scaleX(1.1) scaleY(.92);
  }

  60% {
    opacity: 1;
    transform: translate(-50%, -50%) rotate(calc(var(--glow-rotate, 0deg) + 2deg)) scaleX(.9) scaleY(1.15);
  }

  80% {
    opacity: var(--glow-intensity, .8);
    transform: translate(-50%, -50%) rotate(calc(var(--glow-rotate, 0deg) - 1.5deg)) scaleX(1.05) scaleY(.95);
  }

  100% {
    opacity: var(--glow-intensity, .8);
    transform: translate(-50%, -50%) rotate(calc(var(--glow-rotate, 0deg) - 1deg)) scaleX(1) scaleY(1);
  }
}

@keyframes glow-magic {
  0% {
    opacity: var(--glow-intensity, .7);
    transform: translate(-50%, -50%) rotate(calc(var(--glow-rotate, 0deg) - .5deg)) scaleX(1) scaleY(1) translateY(0);
  }

  8% {
    opacity: calc(var(--glow-intensity, .7) * 1.15);
    transform: translate(-50%, -50%) rotate(calc(var(--glow-rotate, 0deg) + 1deg)) scaleX(.95) scaleY(1.1) translateY(-3%);
  }

  18% {
    opacity: var(--glow-intensity, .7);
    transform: translate(-50%, -50%) rotate(calc(var(--glow-rotate, 0deg) - 1deg)) scaleX(1.02) scaleY(.98) translateY(-0.5%);
  }

  22% {
    opacity: var(--glow-intensity, .7);
    transform: translate(-50%, -50%) rotate(calc(var(--glow-rotate, 0deg) - .5deg)) scaleX(1.01) scaleY(1) translateY(0);
  }

  28% {
    opacity: calc(var(--glow-intensity, .7) * 1.2);
    transform: translate(-50%, -50%) rotate(calc(var(--glow-rotate, 0deg) + 1.5deg)) scaleX(.93) scaleY(1.14) translateY(-4%);
  }

  40% {
    opacity: var(--glow-intensity, .7);
    transform: translate(-50%, -50%) rotate(calc(var(--glow-rotate, 0deg) - 1.2deg)) scaleX(1.03) scaleY(.97) translateY(-1%);
  }

  46% {
    opacity: var(--glow-intensity, .7);
    transform: translate(-50%, -50%) rotate(calc(var(--glow-rotate, 0deg) + .3deg)) scaleX(1) scaleY(1.01) translateY(0);
  }

  52% {
    opacity: calc(var(--glow-intensity, .7) * 1.08);
    transform: translate(-50%, -50%) rotate(calc(var(--glow-rotate, 0deg) + 1deg)) scaleX(.97) scaleY(1.06) translateY(-2%);
  }

  58% {
    opacity: var(--glow-intensity, .7);
    transform: translate(-50%, -50%) rotate(calc(var(--glow-rotate, 0deg) - .5deg)) scaleX(1.01) scaleY(.99) translateY(-0.5%);
  }

  65% {
    opacity: calc(var(--glow-intensity, .7) * 1.18);
    transform: translate(-50%, -50%) rotate(calc(var(--glow-rotate, 0deg) + 1.2deg)) scaleX(.94) scaleY(1.12) translateY(-3.5%);
  }

  78% {
    opacity: var(--glow-intensity, .7);
    transform: translate(-50%, -50%) rotate(calc(var(--glow-rotate, 0deg) - 1deg)) scaleX(1.02) scaleY(.98) translateY(-1%);
  }

  85% {
    opacity: var(--glow-intensity, .7);
    transform: translate(-50%, -50%) rotate(calc(var(--glow-rotate, 0deg) + .3deg)) scaleX(1) scaleY(1.01) translateY(0);
  }

  92% {
    opacity: calc(var(--glow-intensity, .7) * 1.08);
    transform: translate(-50%, -50%) rotate(calc(var(--glow-rotate, 0deg) - .8deg)) scaleX(.98) scaleY(1.05) translateY(-1.5%);
  }

  100% {
    opacity: var(--glow-intensity, .7);
    transform: translate(-50%, -50%) rotate(calc(var(--glow-rotate, 0deg) - .5deg)) scaleX(1) scaleY(1) translateY(0);
  }
}

@keyframes glow-magic-tremor {
  0% {
    filter: blur(3px) brightness();
  }

  20% {
    filter: blur(2.5px) brightness(1.15);
  }

  40% {
    filter: blur(3.5px) brightness(.95);
  }

  60% {
    filter: blur(2px) brightness(1.2);
  }

  80% {
    filter: blur(3px) brightness();
  }

  100% {
    filter: blur(3px) brightness();
  }
}

@keyframes glow-aura {
  0%, 100% {
    opacity: var(--glow-intensity, .6);
    transform: translate(-50%, -50%) rotate(var(--glow-rotate, 0deg)) scale(1);
  }

  50% {
    opacity: calc(var(--glow-intensity, .6) * 1.3);
    transform: translate(-50%, -50%) rotate(var(--glow-rotate, 0deg)) scale(1.15);
  }
}

@keyframes glow-spark {
  0%, 100% {
    opacity: var(--glow-intensity, .8);
    transform: translate(-50%, -50%) rotate(var(--glow-rotate, 0deg)) scale(1);
  }

  20% {
    opacity: 1;
    transform: translate(-50%, -50%) rotate(var(--glow-rotate, 0deg)) scale(1.6);
  }

  40% {
    opacity: .3;
    transform: translate(-50%, -50%) rotate(var(--glow-rotate, 0deg)) scale(.8);
  }

  60% {
    opacity: 1;
    transform: translate(-50%, -50%) rotate(var(--glow-rotate, 0deg)) scale(1.4);
  }

  80% {
    opacity: .5;
    transform: translate(-50%, -50%) rotate(var(--glow-rotate, 0deg)) scale(.9);
  }
}

.home-glow-coord .glow-point {
  pointer-events: none;
  z-index: 10;
  transform: translate(-50%, -50%) rotate(var(--glow-rotate, 0deg));
  transform-origin: center;
  border-radius: 50%;
  position: absolute;
}

.home-glow-coord .glow-soft {
  filter: blur(3px);
  animation: 2.5s ease-in-out infinite glow-soft;
}

.home-glow-coord .glow-flame {
  filter: blur(2px);
  animation: 1.5s ease-in-out infinite glow-flame;
}

.home-glow-coord .glow-blaze {
  animation: 1.2s ease-in-out infinite glow-blaze, .6s linear infinite glow-blaze-tremor;
}

.home-glow-coord .glow-torch {
  filter: blur(2px);
  animation: 1.3s ease-in-out infinite glow-torch;
}

.home-glow-coord .glow-magic {
  transform-origin: bottom;
  animation: 4s ease-in-out infinite glow-magic, .8s linear infinite glow-magic-tremor;
}

.home-glow-coord .glow-aura {
  filter: blur(6px);
  animation: 3.5s ease-in-out infinite glow-aura;
}

.home-glow-coord .glow-spark {
  filter: blur(1px);
  animation: 1.8s ease-in-out infinite glow-spark;
}

.scene.screen01 .layer.glow-layer {
  pointer-events: none;
  z-index: 100;
  width: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
}

.scene.screen01 .glow-coord {
  aspect-ratio: 3000 / 1158;
  pointer-events: none;
  width: 80%;
  max-width: 1520px;
  position: absolute;
  bottom: -80px;
  left: 50%;
  transform: translateX(-50%);
  container-type: inline-size;
}

.scene.screen01.glow-edit-mode {
  cursor: crosshair;
}

.scene.screen01.glow-edit-mode .glow-layer {
  pointer-events: none;
}

.scene.screen01.glow-edit-mode .glow-point {
  pointer-events: auto;
  cursor: pointer;
  filter: none;
  animation: none;
}

.glow-point-selected {
  outline-offset: 3px;
  outline: 2px solid #fff;
  filter: none !important;
  animation: none !important;
}

.glow-toolbar {
  z-index: 10000;
  color: #e0e0e0;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: #0f0f1ef2;
  border-bottom: 1px solid #f0d13d66;
  font-family: sans-serif;
  font-size: 12px;
  position: fixed;
  top: 0;
  left: 260px;
  right: 0;
}

.glow-toolbar-header {
  cursor: pointer;
  color: #f0d13d;
  justify-content: space-between;
  align-items: center;
  padding: 6px 16px;
  font-size: 13px;
  font-weight: 700;
  display: flex;
}

.glow-toolbar-header:hover {
  background: #f0d13d0d;
}

.glow-toolbar-body {
  border-top: 1px solid #ffffff0f;
  flex-direction: column;
  gap: 6px;
  padding: 6px 16px 10px;
  display: flex;
}

.glow-toolbar-row {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  display: flex;
}

.glow-toolbar-section {
  background: #ffffff0a;
  border-radius: 6px;
  align-items: center;
  gap: 8px;
  padding: 4px 10px;
  display: flex;
}

.glow-toolbar-section.glow-toolbar-selected {
  border: 1px solid #f0d13d4d;
}

.glow-toolbar-label {
  color: #f0d13d;
  white-space: nowrap;
  font-size: 11px;
  font-weight: 700;
}

.glow-toolbar-section label {
  color: #aaa;
  white-space: nowrap;
  align-items: center;
  gap: 4px;
  font-size: 11px;
  display: flex;
}

.glow-toolbar-section input[type="color"] {
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 3px;
  width: 24px;
  height: 20px;
  padding: 0;
}

.glow-toolbar-section input[type="range"] {
  width: 80px;
}

.glow-toolbar-section select {
  color: #e0e0e0;
  background: #0006;
  border: 1px solid #fff3;
  border-radius: 4px;
  padding: 2px 4px;
  font-size: 11px;
}

.glow-edit-delete {
  appearance: none;
  color: #f87171;
  cursor: pointer;
  background: #dc26264d;
  border: 1px solid #dc262680;
  border-radius: 4px;
  padding: 3px 8px;
  font-size: 11px;
}

.glow-edit-delete:hover {
  background: #dc262680;
}

.glow-toolbar-pw {
  color: #e0e0e0;
  background: #0000004d;
  border: 1px solid #fff3;
  border-radius: 4px;
  width: 100px;
  padding: 3px 6px;
  font-size: 11px;
}

.glow-toolbar-save {
  appearance: none;
  color: #1a1a2e;
  cursor: pointer;
  background: #f0d13d;
  border: none;
  border-radius: 4px;
  padding: 3px 12px;
  font-size: 12px;
  font-weight: 700;
}

.glow-toolbar-save:hover {
  background: #f5e06b;
}

.glow-toolbar-msg {
  color: #4ade80;
  font-size: 11px;
}

.glow-points-list {
  padding: 2px 0;
  gap: 4px !important;
}

.glow-list-item {
  cursor: pointer;
  color: #aaa;
  background: #ffffff0a;
  border: 1px solid #0000;
  border-radius: 4px;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  font-size: 11px;
  transition: all .15s;
  display: flex;
}

.glow-list-item:hover {
  color: #e0e0e0;
  background: #ffffff14;
}

.glow-list-item.active {
  color: #f0d13d;
  background: #f0d13d1f;
  border-color: #f0d13d66;
}

.glow-list-dot {
  border-radius: 50%;
  flex-shrink: 0;
  width: 8px;
  height: 8px;
}

.glow-list-type {
  color: #666;
  font-size: 10px;
}

.glow-list-del {
  appearance: none;
  color: #f87171;
  cursor: pointer;
  background: none;
  border: none;
  margin-left: 2px;
  padding: 0 2px;
  font-size: 14px;
  line-height: 1;
}

.glow-list-del:hover {
  color: #ef4444;
}

.glow-list-hint {
  color: #555;
  font-size: 11px;
  font-style: italic;
}

@media (max-width: 950px) {
  .AppBanner {
    display: block;
  }

  .scene, .static-home-hero {
    display: none;
  }

  .scene.screen01 {
    height: initial;
    min-height: 450px;
  }

  .scene.screen01 .layer.covering {
    position: relative;
  }

  .scene.screen01 .layer.covering img {
    width: 100%;
  }

  .menuCard {
    position: relative;
  }

  .menuCard .cardSlot {
    display: block;
    overflow: hidden;
  }

  .menuCard .card {
    margin: 20px;
  }

  .menuCard .marketplace-home-card, .menuCard .home-long-title-card {
    padding-inline: 20px;
  }

  .menuCard .title h4 {
    font-size: 42px;
  }

  .menuCard .title h4.legendary-home-title {
    font-size: 34px;
  }

  .menuCard .home-long-title {
    letter-spacing: normal;
    font-size: 34px;
  }

  .menuCard .comic-home-cover {
    width: 64px !important;
    height: 86px !important;
  }

  .person, .weapon {
    background-position: 50% 100% !important;
  }
}

@container marketplace-card (min-width: 300px) {
  .menuCard .marketplace-home-content {
    flex-direction: row-reverse;
    justify-content: center;
    gap: clamp(12px, 4cqw, 24px);
    padding-block: 12px;
    display: flex;
  }

  .menuCard .title h4.marketplace-home-title {
    text-align: left;
    font-size: clamp(32px, 11.6cqw, 48px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .tavern-firelight, .tavern-haze {
    animation: none;
  }

  .tavern-ember {
    animation: none;
    display: none;
  }

  .scene.screen01 .glow-soft, .scene.screen01 .glow-flame, .scene.screen01 .glow-blaze, .scene.screen01 .glow-torch, .scene.screen01 .glow-magic, .scene.screen01 .glow-aura, .scene.screen01 .glow-spark {
    animation: none;
  }
}

