diff --git a/portprotonqt/input_manager.py b/portprotonqt/input_manager.py
index daaafbc..6a97dc8 100644
--- a/portprotonqt/input_manager.py
+++ b/portprotonqt/input_manager.py
@@ -390,6 +390,23 @@ class InputManager(QObject):
                 focused._show_context_menu(pos)
                 return True
 
+        # Handle Up/Down keys for non-GameCard tabs
+        if key in (Qt.Key.Key_Up, Qt.Key.Key_Down) and not isinstance(focused, GameCard):
+            page = self._parent.stackedWidget.currentWidget()
+            if key == Qt.Key.Key_Down:
+                if isinstance(focused, NavLabel):
+                    focusables = page.findChildren(QWidget, options=Qt.FindChildOption.FindChildrenRecursively)
+                    focusables = [w for w in focusables if w.focusPolicy() & Qt.FocusPolicy.StrongFocus]
+                    if focusables:
+                        focusables[0].setFocus()
+                        return True
+                elif focused:
+                    focused.focusNextChild()
+                    return True
+            elif key == Qt.Key.Key_Up and focused:
+                focused.focusPreviousChild()
+                return True
+
         # Tab switching with Left/Right keys (non-GameCard focus or no focus)
         idx = self._parent.stackedWidget.currentIndex()
         total = len(self._parent.tabButtons)