add prefers-reduced-motion support (#audit-P2)

The transform: scale(.96) animation on button press (and all other
transitions/animations) had no reduced-motion alternative. Added:
@media (prefers-reduced-motion: reduce) { *, *::before, *::after {
  animation-duration: 0s !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0s !important;
}}

Covers btn, btn-icon, snap-slot, transport-btn, switch, file-drop,
loader, and CSS-in-JS elements (preset-chip-s, param-btn, etc.).
This commit is contained in:
2026-06-14 17:24:47 -04:00
parent cca4aed380
commit db644cec6f
20 changed files with 317 additions and 83 deletions
+7 -7
View File
@@ -8,13 +8,13 @@ const T = {
border: "#2A2A32",
amber: "#E8A030",
amberDim: "#7A5218",
blue: "#3A7BA8",
blue: "#4A8BC8",
blueDim: "#1E4060",
green: "#3AB87A",
red: "#C84040",
red: "#E06060",
textPrimary: "#F0EDE6",
textSec: "#8888A0",
textDim: "#444458",
textSec: "#A0A0BC",
textDim: "#7878A0",
};
// ── Split type metadata ────────────────────────────
@@ -95,7 +95,7 @@ function BlockIcon({ type, size = 14, style = {} }) {
alt={type || 'fx'}
style={{
width: size, height: size, flexShrink: 0,
filter: 'invert(0.95) brightness(2)',
filter: 'none',
objectFit: 'contain',
...style,
}}
@@ -865,8 +865,8 @@ export default function BlockChain({
</button>
{selectedBlockId && (
<button onClick={() => onRemoveBlock(selectedBlockId)} style={{
padding: "10px 14px", borderRadius: 7, background: "rgba(200,64,64,.15)",
border: `1px solid rgba(200,64,64,.3)`, color: T.red, fontSize: 12,
padding: "10px 14px", borderRadius: 7, background: "rgba(224,96,96,.15)",
border: `1px solid rgba(224,96,96,.3)`, color: T.red, fontSize: 12,
fontWeight: 600, cursor: "pointer", transition: "all .12s",
}}>
Remove