/* 승인 시안: 단어는 아래에서 위로, 마지막 MONEYING에서 정지한다. */
.moneying-logo-neon {
  display: inline-flex;
  align-items: flex-start;
}

.moneying-logo-neon > .moneying-logo-money {
  display: inline-block;
  position: relative;
  height: 1.1em;
  overflow: hidden;
  text-align: right;
  color: inherit;
}

/* 회원 헤더의 기존 span 라임색 !important 규칙보다 우선한다. */
#mainNav .logo-text > .moneying-logo-money,
#mainNav .logo-text .moneying-logo-word { color: inherit !important; }

.moneying-logo-neon .moneying-logo-word {
  position: absolute;
  right: 0;
  top: 0;
  height: 1.1em;
  line-height: 1.1;
  white-space: nowrap;
  color: inherit;
  transform: translateY(110%);
  opacity: 0;
}

/* MONEY의 실제 글자 폭을 남겨 JS·폰트 로드 전에도 폭을 확보한다. */
.moneying-logo-neon .moneying-logo-final {
  position: relative;
  display: block;
  width: max-content;
}

.moneying-logo-neon > .moneying-logo-ing {
  display: inline-block;
  height: 1.1em;
  line-height: 1.1;
}

.moneying-logo-neon .moneying-logo-word.is-current {
  transform: none;
  opacity: 1;
}

.moneying-logo-neon .moneying-logo-word.is-leaving {
  transform: translateY(-110%);
  opacity: 0;
  transition: transform .32s cubic-bezier(.7,0,.3,1), opacity .32s;
}

.moneying-logo-neon .moneying-logo-word.is-entering {
  transform: none;
  opacity: 1;
  transition: transform .36s cubic-bezier(.2,.9,.3,1.15), opacity .3s;
}

.moneying-logo-neon.is-flashing > .moneying-logo-ing {
  animation: moneying-logo-flash .6s ease-out;
}

@keyframes moneying-logo-flash {
  0%, 100% { text-shadow: 0 0 0 transparent; }
  40% { text-shadow: 0 0 14px rgba(196,255,0,.9); }
}

@media (prefers-reduced-motion: reduce) {
  .moneying-logo-neon .moneying-logo-word {
    transition: none;
    transform: none;
    opacity: 0;
  }
  .moneying-logo-neon .moneying-logo-final { opacity: 1; }
  .moneying-logo-neon.is-flashing > .moneying-logo-ing { animation: none; }
}
