/* Shared readability and interaction rules; individual worlds retain their art. */
#zmp-game button { touch-action: manipulation; }
#zmp-game [data-speaking="true"] { outline: 3px solid #977245; outline-offset: 3px; }
@media (hover: hover) and (pointer: fine) {
  #zmp-game button:not(:disabled):hover { filter: brightness(1.025); }
}
@media (prefers-reduced-motion: reduce) {
  #zmp-game *, #zmp-game *::before, #zmp-game *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  #zmp-game button:active, #zmp-game button:hover { transform: none !important; }
}
@media (forced-colors: active) {
  #zmp-game button { border: 2px solid ButtonText !important; }
  #zmp-game button:focus-visible { outline: 3px solid Highlight !important; }
  #zmp-game [aria-pressed="true"] { outline: 2px solid Highlight; }
}
