diff --git a/frontend/css/style.css b/frontend/css/style.css index ff2cb5f..3d954d5 100644 --- a/frontend/css/style.css +++ b/frontend/css/style.css @@ -41,6 +41,13 @@ body { line-height: 1.5; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; + /* No accidental zoom: `manipulation` drops double-tap-to-zoom (the app's own + taps are handled in JS anyway) while leaving panning and deliberate + pinch-zoom alone, and text-size-adjust stops Safari inflating text of its + own accord after a rotation. */ + touch-action: manipulation; + -webkit-text-size-adjust: 100%; + text-size-adjust: 100%; } body.drawer-open { @@ -932,6 +939,26 @@ body.theme-light .setting-item select option { .input-row input { padding: 10px 14px; } + + /* iOS zooms the whole page when you focus a control whose text is under + 16px, and it ignores user-scalable=no -- so the font size is the only + lever that actually stops it. Every text control gets 16px on touch + devices; the padding above keeps them looking the same size. */ + .search-container input, + .input-row input, + .setting-item select, + .cmdk-input, + input[type="text"], + input[type="search"], + input[type="number"], + input[type="url"], + input[type="email"], + input[type="password"], + input:not([type]), + textarea, + select { + font-size: 16px; + } } @media (prefers-reduced-motion: reduce) {