/* Touch navigation stays at page scale; browsers retain accessibility zoom. */
@media (pointer: coarse) {
    html, body {
        touch-action: pan-x pan-y;
        overscroll-behavior-x: none;
    }

    body, body * {
        -webkit-user-select: none !important;
        user-select: none !important;
    }

    body input, body textarea, body select,
    body [contenteditable]:not([contenteditable="false"]),
    body [contenteditable]:not([contenteditable="false"]) * {
        -webkit-user-select: text !important;
        user-select: text !important;
        -webkit-touch-callout: default;
    }

    /* iOS otherwise zooms the page when focusing small-font fields. */
    body input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]):not([type="submit"]):not([type="button"]):not([type="hidden"]),
    body textarea, body select, body [contenteditable]:not([contenteditable="false"]) {
        font-size: max(16px, 1em) !important;
    }
}
