@media (max-width: 720px) {
    html[data-keyboard-open] { scroll-padding-block: 20px; }
    html[data-keyboard-open] body::after { content: ''; display: block; height: var(--keyboard-inset, 0px); }
    html[data-keyboard-open] .home-bottom-nav { visibility: hidden; pointer-events: none; }
    html[data-keyboard-open] dialog:modal {
        box-sizing: border-box;
        position: fixed;
        top: calc(var(--visible-top, 0px) + 8px);
        bottom: auto;
        max-height: calc(var(--visible-height, 100dvh) - 16px);
        margin-block: 0;
        overflow-y: auto;
        scroll-padding-block: 16px;
    }
    html[data-keyboard-open] :is(textarea, input) { scroll-margin-block: 24px; }
    html[data-keyboard-open] .composer-dialog .feed-composer__top textarea { max-height: min(240px, calc(var(--visible-height) - 140px)); min-height: 64px; }
    html[data-keyboard-open] .photo-viewer .photo-stage__image { height: min(40dvh, 160px); }
}
