/* PWA interaction policy: native scrolling and editing, no page zoom or text selection. */
body[data-embed="true"],body[data-embed="true"] *{
 touch-action:pan-x pan-y!important;
 -webkit-user-select:none;user-select:none;-webkit-touch-callout:none;
}
body[data-embed="true"] :is(input,textarea,[contenteditable]:not([contenteditable="false"])),
body[data-embed="true"] [contenteditable]:not([contenteditable="false"]) *{
 -webkit-user-select:text;user-select:text;-webkit-touch-callout:default;
}
/* A 16px floor avoids Safari focus-zoom without shrinking larger field text. */
body[data-embed="true"] :is(input,textarea,select){font-size:max(16px,1em)!important}
/* iOS fallback: mask landscape, never rotate the layout or reset its state. */
#mpPortraitOnly{position:fixed;inset:0;z-index:2147483647;display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:24px calc(24px + env(safe-area-inset-right,0px)) 24px calc(24px + env(safe-area-inset-left,0px));background:var(--cream);color:var(--mp-ui-ink);font:600 18px var(--mp-ui-font-body);text-align:center}
#mpPortraitOnly[hidden]{display:none}
html[data-mp-landscape="true"] body[data-embed="true"] > :not(#mpPortraitOnly),
html[data-mp-landscape="true"] body[data-embed="true"] > :not(#mpPortraitOnly) *{visibility:hidden!important}
html[data-mp-landscape="true"] dialog::backdrop{background:transparent!important}
/* Match the native chrome and any area outside the existing modal overlay.
 * The overlay still paints the application exactly once; no duplicate scrim. */
html[data-mp-modal-surface="true"],
html[data-mp-modal-surface="true"] body[data-embed="true"]{
 background-color:var(--mp-modal-surface)!important;
}
