/* Shared page motion: subtle, fast, and safe for forms/claim flows. */
@keyframes punie-page-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes punie-rise-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes punie-soft-pulse{0%,100%{box-shadow:var(--shadow)}50%{box-shadow:var(--shadow),0 0 0 5px rgba(17,212,233,.08)}}
body.page-motion{animation:punie-page-in .42s cubic-bezier(.22,.8,.22,1) both}
body.page-motion main{animation:punie-rise-in .48s .04s cubic-bezier(.22,.8,.22,1) both}
body.page-motion .site-header{transition:background-color .2s ease,box-shadow .2s ease}
body.page-motion .site-header:hover{box-shadow:0 4px 0 rgba(9,20,45,.08)}
body.page-motion a,body.page-motion button,body.page-motion select,body.page-motion input,body.page-motion textarea{transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}
body.page-motion .category-card,body.page-motion .product-detail-card,body.page-motion .claim-box,body.page-motion .report-form,body.page-motion .admin-panel,body.page-motion .full-rank-table{animation:punie-rise-in .42s .1s cubic-bezier(.22,.8,.22,1) both}
body.page-motion .claim-box-success{animation:punie-soft-pulse 2.6s .2s ease-in-out 1 both}
body.page-motion .claim-copy-button:hover,body.page-motion .button:hover,body.page-motion .claim-button:hover{transform:translateY(-2px)}
body.page-motion .claim-copy-button:active,body.page-motion .button:active,body.page-motion .claim-button:active{transform:translate(1px,1px)}
@media(prefers-reduced-motion:reduce){body.page-motion,body.page-motion main,body.page-motion .category-card,body.page-motion .product-detail-card,body.page-motion .claim-box,body.page-motion .report-form,body.page-motion .admin-panel,body.page-motion .full-rank-table{animation:none}body.page-motion a,body.page-motion button,body.page-motion select,body.page-motion input,body.page-motion textarea{transition:none}}
