/* ============================================================================
   ⚡ perf.css - 휴대폰 발열 · 배터리 줄이기 (모든 CSS 다음에 불러와서 덮어씀)
   상자를 여는 동안처럼 화면을 보고 있을 때 그래픽 칩을 가장 많이 쓰던 것들:
   1) 배경 흐림(backdrop-filter): 창(모달)이 뜰 때마다 화면 전체를 8px 흐림 → 뒤에서 전투가 움직이니 매 프레임 다시 흐림
      펫 스킬 쿨타임 막 · 상자 위 장비 카드 · 상단 바 등도 같은 방식 → 흐림 없이 조금 더 진한 반투명 배경으로
   2) 영웅 · 몬스터 그림의 흐린 그림자(drop-shadow 8px): 그림이 초당 5번 바뀔 때마다 9마리 모두 다시 계산
      → 발밑 그림자(.unit-shadow)가 이미 있어서 필터 그림자는 뺌
   3) 계속 도는 애니메이션(걷기 흔들림 · 배지 깜빡임)이 화면 주사율(60~120Hz)마다 다시 그려짐
      → 도트 그림답게 몇 단계로 끊어서 움직이게 (steps) 하면 그사이 프레임은 다시 그리지 않음
   ============================================================================ */

/* 1) 배경 흐림 제거 */
.modal-overlay,
.chat-slideup-backdrop,
.update-overlay,
.header-status-bar,
.stage-info-pill,
.chest-title-row,
.drop-item-card,
.hero-skills-panel,
.skill-cd-mask,
.avatar-dashboard {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
.modal-overlay { background: rgba(2, 6, 15, 0.86); }
.chat-slideup-backdrop { background-color: rgba(2, 6, 15, 0.7); }

/* 2) 전투 그림의 흐린 그림자 제거 (돌진 등 잠깐 쓰는 효과는 그대로) */
.hero-sprite-box, .monster-sprite-box { filter: none; }

/* 3) 계속 도는 애니메이션은 단계로 끊어서 */
.hero-sprite-box.walking-bob, .monster-sprite-box.walking-bob,
.hero-combat-unit .walking-bob, .monsters-squad .monster-sprite-box.walking-bob { animation-timing-function: steps(3, jump-none) !important; }
.pass-badge-count, .dungeon-badge-count { animation-timing-function: steps(4, jump-none) !important; }
.btn-auto-skill.active .auto-skill-pulse { animation-timing-function: steps(6, jump-none) !important; }
