/* Motion affects icon artwork only. Focus indicators and button layout stay intact. */
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  :is(button:not(:disabled):not([aria-disabled="true"]), a[href]:not([aria-disabled="true"])):is(:hover, :focus-visible) > svg,
  :is(button:not(:disabled):not([aria-disabled="true"]), a[href]:not([aria-disabled="true"])):is(:hover, :focus-visible) > .mark > svg {
    transform-box: fill-box;
    transform-origin: center;
    animation: meet-icon-lift 450ms ease-out 1 both;
  }
  :is(button:not(:disabled):not([aria-disabled="true"]), a[href]:not([aria-disabled="true"])):is(:hover, :focus-visible) > svg:is([data-icon="mic"], [data-icon="sound"]) { animation-name: meet-icon-pulse; }
  :is(button:not(:disabled):not([aria-disabled="true"]), a[href]:not([aria-disabled="true"])):is(:hover, :focus-visible) > svg:is([data-icon="video"], [data-icon="screen"], [data-icon="board"]) { animation-name: meet-icon-rise; }
  :is(button:not(:disabled):not([aria-disabled="true"]), a[href]:not([aria-disabled="true"])):is(:hover, :focus-visible) > svg[data-icon="hand"] { animation-name: meet-icon-wave; transform-origin: 50% 90%; animation-duration: 620ms; }
  :is(button:not(:disabled):not([aria-disabled="true"]), a[href]:not([aria-disabled="true"])):is(:hover, :focus-visible) > svg[data-icon="smile"] { animation-name: meet-icon-wiggle; animation-duration: 560ms; }
  :is(button:not(:disabled):not([aria-disabled="true"]), a[href]:not([aria-disabled="true"])):is(:hover, :focus-visible) > svg:is([data-icon="gear"], [data-icon="settings"]) { animation-name: meet-icon-turn; animation-duration: 620ms; }
  :is(button:not(:disabled):not([aria-disabled="true"]), a[href]:not([aria-disabled="true"])):is(:hover, :focus-visible) > svg:is([data-icon="copy"], [data-icon="link"]) { animation-name: meet-icon-nudge; }
  :is(button:not(:disabled):not([aria-disabled="true"]), a[href]:not([aria-disabled="true"])):is(:hover, :focus-visible) > svg:is([data-icon="hangup"], [data-icon="exit"]) { animation-name: meet-icon-slide; }
}
@keyframes meet-icon-lift { 0%, 100% { transform: translateY(0) scale(1); } 45% { transform: translateY(-2px) scale(1.07); } }
@keyframes meet-icon-pulse { 0%, 100% { transform: scale(1); } 35% { transform: scale(1.13); } 65% { transform: scale(.97); } }
@keyframes meet-icon-rise { 0%, 100% { transform: translateY(0); } 40% { transform: translateY(-3px); } 70% { transform: translateY(1px); } }
@keyframes meet-icon-wave { 0%, 100% { transform: rotate(0); } 25% { transform: rotate(12deg); } 50% { transform: rotate(-10deg); } 75% { transform: rotate(6deg); } }
@keyframes meet-icon-wiggle { 0%, 100% { transform: rotate(0) scale(1); } 30% { transform: rotate(-8deg) scale(1.07); } 65% { transform: rotate(8deg) scale(1.07); } }
@keyframes meet-icon-turn { 0% { transform: rotate(0); } 60% { transform: rotate(32deg); } 100% { transform: rotate(0); } }
@keyframes meet-icon-nudge { 0%, 100% { transform: translate(0, 0); } 45% { transform: translate(2px, -2px); } }
@keyframes meet-icon-slide { 0%, 100% { transform: translateX(0); } 45% { transform: translateX(3px); } }
