/* 단계별 공개 — 아직 공개되지 않은 요소.
   display 나 visibility 가 아니라 opacity 로 숨긴다. 자리는 그대로 잡아 두어야
   단계가 하나씩 켜질 때 나머지 줄이 아래로 밀리지 않는다.

   deck.css 의 등장 애니메이션(.slide.on > *)이 opacity 를 다시 1 로 올리므로
   여기서 !important 로 끈다. 공개될 때는 자기 애니메이션을 새로 돌린다. */
.deck-step-hidden {
  opacity:0 !important;
  animation:none !important;
}

/* deck.css 의 `.slide.on > *` 는 특이도가 (0,2,0) 이라 직계 자식 단계에서는 그쪽이 이긴다.
   그대로 두면 공개 순간에 deck-item-in 이 새로 시작하고, 거기 걸린 nth-child 지연(최대 .36s)
   까지 따라와 한 박자 늦게 뜬다. 리스트 항목(li)은 `>` 에 안 걸려 멀쩡하므로 증상이 일부
   요소에만 나타난다. 그래서 로드 순서가 아니라 특이도로 이긴다. */
@media (prefers-reduced-motion: no-preference) {
  .deck-step-shown,
  .slide.on > .deck-step-shown { animation:deck-step-in .3s cubic-bezier(.22,.7,.3,1) both; }
}

@keyframes deck-step-in {
  from { opacity:0; transform:translateY(1.2vh); }
  to   { opacity:1; transform:none; }
}
