/* interaction_feedback.css — 클릭 즉시 시각 반응(누르는 느낌). 전 화면 공통, 은은하게.
   press: 누르는 순간 살짝 축소 + 어두워짐(홀드 시 유지) → "눌렸다"를 즉시 인지.
   loading: 네비(검색·필터·이동) 시작 즉시 상단 진행바(Turbo).
   2026-07-13 — "눌러도 반응이 없어 동작을 모른다" 교정. 명확한 클릭 대상에만 한정. */

/* 전이(공통) — 기존 hover 전이가 끊기지 않게 흔한 애니 속성 포함 */
button,
.tabulator .tabulator-page,
[role="button"] {
  transition:
    transform .06s ease, filter .10s ease,
    background-color .15s ease, color .15s ease,
    box-shadow .15s ease, border-color .15s ease, opacity .15s ease;
}

/* 눌림(press) — 누르는 순간 즉각 피드백. 홀드 중 유지 */
button:not(:disabled):active,
.tabulator .tabulator-page:not(.disabled):active,
[role="button"]:active {
  transform: scale(.97);
  filter: brightness(.93);
}

/* 드롭다운 메뉴(shared/_dropdown_menu) 항목은 press 축소 제외.
   풀폭 항목이 scale(.97) 되면 메뉴 가장자리에 여백이 생김("누를때 여백"). 특이도 0,3,1 로 위 규칙(0,2,1)을 이김. */
[data-dropdown-menu-target="menu"] button:not(:disabled):active,
[data-dropdown-menu-target="menu"] a:active {
  transform: none;
  filter: none;
}

/* 모션 최소화 선호 존중 */
@media (prefers-reduced-motion: reduce) {
  button,
  .tabulator .tabulator-page, [role="button"] { transition: none; }
  button:active,
  .tabulator .tabulator-page:active,
  [role="button"]:active { transform: none; filter: none; }
}

/* Turbo 상단 진행바 — 검색·필터·이동 시작 즉시 보이게.
   application.js에서 setProgressBarDelay(0) → 네비 시작 즉시 노출.
   Turbo가 런타임에 주입하는 기본 스타일(.turbo-progress-bar)보다 뒤에 오므로
   `html` 접두로 우선순위를 높여 색·두께·글로우를 확실히 덮어쓴다. */
html .turbo-progress-bar {
  height: 3px;
  background: var(--md-sys-color-primary, #2563eb);
  box-shadow: 0 0 6px rgba(37, 99, 235, .55);
  opacity: 1;
}
