/* Artwork only: no pointer-events overlay, touch-action override, or body-wide
   selection lock. Browser delivery and screen capture remain possible. */
:where(img,picture,canvas,svg,svg image) {
  -webkit-user-drag: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
}
:where([data-artwork-surface],.scene-backdrop,.start-backdrop,.lobby-backdrop,.title-scene,.lobby-scene,.character-stage,.arena-wrapper,.shop-v17-banner,.shop17-banner,.relic-art,.gear-art) {
  -webkit-user-drag: none;
  -webkit-touch-callout: none;
}
:where([data-artwork-surface="art"],[data-title-cast],.ui19-visual-heading,.relic-art,.gear-art) {
  -webkit-user-select: none;
  user-select: none;
}
/* User data/editor artwork has an explicit escape. The guard also uses the
   browser's effective isContentEditable so contenteditable=false islands keep
   their own native artwork protection. */
:where([data-artwork-copy-allow],[data-artwork-copy-allow] *) {
  -webkit-user-drag: auto;
  -webkit-touch-callout: default;
  -webkit-user-select: auto;
  user-select: auto;
}
:where(img,picture,canvas,svg)[contenteditable]:not([contenteditable="false"]),
:where([contenteditable]:not([contenteditable="false"])) :where(img,picture,canvas,svg):not([contenteditable="false"] *) {
  -webkit-user-drag: auto;
  -webkit-touch-callout: default;
  -webkit-user-select: auto;
  user-select: auto;
}
/* Labels and controls over painted stages keep native text/editor affordances. */
:where([data-artwork-surface],.title-scene,.lobby-scene,.character-stage,.arena-wrapper,.shop-v17-banner,.shop17-banner)
  :where(button,a,input,textarea,select,label,summary,p,span,strong,small,h1,h2,h3,[contenteditable],[data-artwork-copy-allow]) {
  -webkit-touch-callout: default;
}
