/* keyframe 애니메이션 정의만 (레이아웃·컴포넌트 스타일 금지) */

/* =========================================================
   결과 섹션 진입 — 섹션 전체 페이드+슬라이드
   ========================================================= */
@keyframes result-enter {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* =========================================================
   결과 숫자 강조 진입 — 스케일+페이드
   ========================================================= */
@keyframes number-reveal {
  from {
    opacity: 0;
    transform: scale(0.96) translateY(8px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

/* =========================================================
   카드 진입 — 가벼운 슬라이드업
   ========================================================= */
@keyframes card-enter {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* =========================================================
   입력 오류 — 수평 흔들기
   ========================================================= */
@keyframes input-shake {
  0%   { transform: translateX(0); }
  15%  { transform: translateX(-5px); }
  30%  { transform: translateX(5px); }
  45%  { transform: translateX(-4px); }
  60%  { transform: translateX(4px); }
  75%  { transform: translateX(-2px); }
  90%  { transform: translateX(2px); }
  100% { transform: translateX(0); }
}

/* =========================================================
   버튼 로딩 스피너 — 360° 회전
   ========================================================= */
@keyframes btn-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

/* =========================================================
   페이지 진입 — 전체 화면 페이드인
   ========================================================= */
@keyframes page-enter {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* =========================================================
   결과 섹션 is-visible 활성화 시 stagger 딜레이 적용
   ========================================================= */

/* 섹션 전체 */
.result-section.is-visible {
  animation: result-enter 0.35s var(--transition-slow) both;
}

/* 결과 히어로 금액 */
.result-section.is-visible .result-hero__amount {
  animation: number-reveal 0.4s 0.1s var(--transition-slow) both;
}

/* 요약 항목 — 순서별 stagger */
.result-section.is-visible .result-summary__item:nth-child(1) {
  animation: card-enter 0.3s 0.15s var(--transition-slow) both;
}

.result-section.is-visible .result-summary__item:nth-child(2) {
  animation: card-enter 0.3s 0.22s var(--transition-slow) both;
}

/* 공제 상세 테이블 */
.result-section.is-visible .deduction-table-wrapper {
  animation: card-enter 0.35s 0.3s var(--transition-slow) both;
}
