/* Interface deterrence only: no geometry, visibility, pointer or theme changes. */
[data-asem-content-active="all"] [data-asem-protect-text] {
  -webkit-user-select: none;
  user-select: none;
}

/* Explicit exceptions and interactive/technical content outrank protected ancestry. */
[data-asem-content-active="all"] :is(a,button,input,textarea,select,option,form,nav,[contenteditable]:not([contenteditable="false"]),[role="textbox"],[data-asem-allow-copy],table,dl,time,address,code,pre,kbd,cite,figcaption) [data-asem-protect-text],
[data-asem-content-active="all"] [data-asem-protect-text] :is(a,button,input,textarea,select,option,form,nav,[contenteditable]:not([contenteditable="false"]),[role="textbox"],[data-asem-allow-copy],table,dl,time,address,code,pre,kbd,cite,figcaption),
[data-asem-content-active="all"] [data-asem-protect-text] :is(a,button,input,textarea,select,option,form,nav,[contenteditable]:not([contenteditable="false"]),[role="textbox"],[data-asem-allow-copy],table,dl,time,address,code,pre,kbd,cite,figcaption) *,
[data-asem-content-active="all"] [data-asem-allow-copy] [data-asem-protect-text] *,
[data-asem-content-active="all"] [data-asem-protect-text][data-asem-allow-copy] {
  -webkit-user-select: text;
  user-select: text;
}

/* The surface is protected; its text/controls keep their own existing policy. */
[data-asem-content-active] [data-asem-background-ready] {
  -webkit-touch-callout: none;
}
[data-asem-content-active] [data-asem-background-ready] > * {
  -webkit-touch-callout: default;
}

[data-asem-content-active] img[data-asem-image-ready] {
  -webkit-user-drag: none;
  -webkit-touch-callout: none;
}

[data-asem-content-active] :is([data-asem-allow-media],a[download],form,[contenteditable]:not([contenteditable="false"])) img[data-asem-image-ready],
[data-asem-content-active] img[data-asem-image-ready][data-asem-allow-media] {
  -webkit-user-drag: auto;
  -webkit-touch-callout: default;
}
