/*
 * Visibility utilities for the phone gate. assets/phone-gate.js sets
 * html.is-phone / html.is-not-phone before first paint, so the swap never
 * flashes the wrong copy.
 *
 * Only ever HIDES — an element that should appear keeps whatever display
 * its own class gives it (several of these are inline-flex buttons, which
 * a `display: block` override would wreck).
 *
 * Note the :not() rather than .is-not-phone: it also matches the moment
 * before the script has run, and matches when JavaScript is off. That
 * defaults everyone to the desktop copy, which is the safe direction —
 * the app's own big-screen notice catches anything that slips through.
 */
html:not(.is-phone) .phone-only { display: none !important; }
html.is-phone .no-phone { display: none !important; }
