/* 누르는 느낌 1단계 (대표 2026-11-13 "1단계 만들어줘"): 회원 화면(body.refined-member)에서 누른 순간의 반응.
   - 색을 쓰지 않는다(크기·투명도·currentColor·기존 변수) → 어둡게·밝게 공통. member-light.css를 다시 만들지 않는다.
   - scale·translate 개별 속성만 쓴다 → 기존 transform(예: .booking-fab 가운데 정렬)을 덮지 않는다.
   - 누를 때는 0.05초로 바로, 뗄 때는 0.18초로 부드럽게. 동작 줄이기 설정이면 움직임 없이 투명도만.
   동작(저장 중·전환·확인창)은 public/member-feel.js. */

/* 1) 눌림 표시: 기본 회색 깜빡임을 끄고, 누르는 순간 살짝 작아지고 어두워진다. */
body.refined-member :is(button,a,summary,label,[role=button]){-webkit-tap-highlight-color:transparent}
body.refined-member :is(button,[role=button],summary){touch-action:manipulation}
body.refined-member :where(button,[role=button],a.primary,a.subtle,a.dark,a.button){transition:scale .18s cubic-bezier(.2,.8,.2,1),opacity .18s ease,background .16s,border-color .16s,transform .16s}
body.refined-member :is(button,[role=button],a.primary,a.subtle,a.dark,a.button):not(:disabled,[aria-disabled=true]):active{scale:.97;opacity:.8;transition-duration:.05s}
body.refined-member :is(.member-tabs,.date-strip,.my-sections) button:not(:disabled,[aria-disabled=true]):active{scale:.93;opacity:.8;transition-duration:.05s}
body.refined-member summary:active{opacity:.7}

/* 2) 저장 중: 누른 버튼이 바로 '예약 중…'으로 바뀌고 천천히 깜빡인다. 다시 눌리지 않는다.
   돌아가는 표시를 붙이지 않는다: 버튼이 넓어져 옆 글자가 밀린다(390px 미리보기에서 확인). */
body.refined-member .feel-busy{pointer-events:none;animation:feel-wait .8s ease-in-out infinite alternate}
@keyframes feel-wait{from{opacity:.85}to{opacity:.5}}

/* 3) 화면 전환: 탭·상세가 바뀔 때 본문만 0.2초 안에 아래에서 살짝 올라오며 나타난다(위 머리와 아래 탭은 그대로). */
body.refined-member .member-main.feel-enter{animation:feel-enter .2s cubic-bezier(.2,.8,.2,1) both}
@keyframes feel-enter{from{opacity:.2;translate:0 10px}to{opacity:1;translate:0 0}}

/* 4) 바뀐 자리: 예약·취소가 끝난 수업 카드가 한 번 살짝 움직인다. */
body.refined-member .feel-done{animation:feel-done .45s cubic-bezier(.2,.8,.2,1)}
@keyframes feel-done{0%{scale:.975}55%{scale:1.01}100%{scale:1}}

/* 5) 앱 모양 확인창: 댓글 시트(dialog.comment-sheet)의 바탕·색·올라오는 움직임을 그대로 쓰고 배치만 정한다. */
body.refined-member dialog.feel-sheet{padding:26px 20px calc(18px + env(safe-area-inset-bottom));max-height:min(82vh,560px);overflow-y:auto}
body.refined-member dialog.feel-sheet h2{margin:4px 0 0;font-size:18px;line-height:1.4;word-break:keep-all}
body.refined-member dialog.feel-sheet p{margin:8px 0 0;font-size:14px;line-height:1.55;color:var(--tx2);word-break:keep-all}
body.refined-member .feel-sheet-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:22px}
body.refined-member .feel-sheet-actions button{min-height:52px;margin:0;border-radius:14px;font-size:16px;font-weight:700;white-space:nowrap}

@media (prefers-reduced-motion:reduce){
 body.refined-member :is(button,[role=button],a.primary,a.subtle,a.dark,a.button):active,body.refined-member :is(.member-tabs,.date-strip,.my-sections) button:active{scale:none}
 body.refined-member .member-main.feel-enter,body.refined-member .feel-done{animation:none}
 body.refined-member .feel-busy{animation:none;opacity:.6}
}
