/* Short feedback: no layout changes, no continuous motion. */
:where(.button,.add-button,.filter,.theme-toggle,.login-button,.favorite-toggle,.detail-link,.text-button,.cart-toggle,.detail-size-list button,.size-filter-options button){transition:background-color 160ms ease,border-color 160ms ease,color 160ms ease,box-shadow 160ms ease,transform 140ms ease}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 :is(.button,.add-button,.theme-toggle,.login-button):not(:disabled):hover{transform:translateY(-2px);box-shadow:0 5px 12px #28372916}
 .filter:not(:disabled):hover{transform:translateY(-1px)}
 :is(.favorite-toggle,.detail-link,.cart-toggle):not(:disabled):hover{transform:scale(1.04)}
 html[data-theme=dark] :is(.button,.add-button,.theme-toggle,.login-button):not(:disabled):hover{box-shadow:0 5px 14px #0005}
}
@media(prefers-reduced-motion:no-preference){
 :is(.button,.add-button,.filter,.theme-toggle,.login-button,.favorite-toggle,.detail-link,.cart-toggle,.size-filter-options button,.detail-size-list button):not(:disabled):active{transform:translateY(1px) scale(.985);box-shadow:none}
}
.filter.active{box-shadow:0 0 0 2px var(--paper),0 0 0 3px var(--line)}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
