/* Let native scrolling keep its momentum; contain nested panes without
   disabling their edge bounce. Card sorting owns its own touch physics. */
html{overscroll-behavior-y:contain}
body,dialog,.wheel,.coin-guide-body,.bug-ranking-scroll,.prank-picker .plan-add{
 -webkit-overflow-scrolling:touch;
}
dialog,.wheel,.coin-guide-body,.bug-ranking-scroll{overscroll-behavior-y:contain}
body.camera-open{overscroll-behavior:none}
dialog[open]::backdrop{animation:ui-backdrop-in 180ms ease-out}
.ui-popup-preparing{opacity:0}
@keyframes ui-backdrop-in{from{opacity:0}to{opacity:1}}
/* Switches and expanding rows use the same compact spring as the buttons. */
.replay-switch span,.pk-toggle-track::after{transition:transform 280ms cubic-bezier(.2,1.5,.45,1)}
.settings-bindings-toggle svg{transition:transform 260ms cubic-bezier(.2,1.4,.45,1)}
#pk-settings[open] .pk-controls{animation:none}
@media(prefers-reduced-motion:reduce){
 dialog[open]::backdrop{animation:none}
 .replay-switch span,.pk-toggle-track::after,.settings-bindings-toggle svg{transition:none}
}
