/* Solo la vista con un campo activo se adapta al área visible del teclado. */
:is(.game-selection-overlay, .pgn-library-overlay)[data-keyboard-viewport] {
    top: var(--dialog-visible-top) !important;
    bottom: auto !important;
    height: var(--dialog-visible-height) !important;
    box-sizing: border-box;
    padding: 8px max(8px, env(safe-area-inset-right)) 8px max(8px, env(safe-area-inset-left)) !important;
    align-items: center;
}
#gameSelectionModal[data-keyboard-viewport] .game-selection-container,
#pgnLibraryOverlay[data-keyboard-viewport] .pgn-library-dialog {
    max-height: calc(var(--dialog-visible-height) - 16px) !important;
    min-height: 0 !important;
    /* La transición global de tema no debe retrasar el ajuste al teclado. */
    transition: none !important;
    animation: none !important;
}
[data-keyboard-viewport] .pgn-library-prompt {
    padding: 8px;
}
[data-keyboard-viewport] .pgn-library-prompt__card {
    box-sizing: border-box;
    max-height: calc(var(--dialog-visible-height) - 34px);
    overscroll-behavior: contain;
    scroll-padding-block: 12px;
    transition: none !important;
    animation: none !important;
}
/* 16px evita el zoom automático de Safari al editar campos. */
@media (hover: none), (pointer: coarse) {
    :is(.game-selection-overlay, .pgn-library-overlay) :is(input:not([type="checkbox"]):not([type="radio"]), textarea) {
        font-size: 16px;
    }
}
