/* Smoothness pass, 8 Nov 2026 (Emil Kowalski's rules): press feedback on every control, interactions under 300ms with a strong ease-out, hovers only on real pointers, gentle form feedback. Press uses the individual scale property so it composes with transform (including the magnetic --mx/--my translate). */
:root{--sm-out:cubic-bezier(.23,1,.32,1)}
/* Menu chevrons: .4s spring felt laggy on every open */
html body .hdr .dd_btn:after{transition:transform .2s var(--sm-out)!important}
/* Text-style buttons: quick dim on press (iOS-style) */
.dd_btn:active,.nf_ck:active,.ftr_ck:active,.gl[role=button]:active{opacity:.6;transition-duration:.05s!important}
/* Step and wheel controls */
.dsa_b{-webkit-tap-highlight-color:transparent}
@media(prefers-reduced-motion:no-preference){
 .dsa_b{transition:color .2s var(--sm-out),scale .15s var(--sm-out)}
 .rc_w{transition:transform var(--t),scale .15s var(--sm-out)}
 .dsa_b:active{scale:.97}
 .rc_w:active{scale:.985}
 .fstatus:not([hidden]){animation:sm-in .2s var(--sm-out)}
}
@keyframes sm-in{from{opacity:0;transform:translateY(4px)}}
/* Touch screens wider than the mobile breakpoint: no sticky hover colour on the login link */
@media(hover:none){html body .hdr .hdr_login:hover{color:var(--ink2)}}
