.app { display: flex; height: 100vh; width: 100vw; overflow: hidden; background: #0e0e0e; color: #ddd; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; } .sidebar { width: 260px; flex-shrink: 0; border-right: 1px solid #2a2a2a; display: flex; flex-direction: column; overflow: hidden; } .sidebarContent { display: flex; flex-direction: column; flex: 1; min-height: 0; overflow: hidden; } .browserSection { flex: 1; min-height: 0; overflow: hidden; display: flex; flex-direction: column; border-bottom: 1px solid #2a2a2a; } .infoSection { flex-shrink: 0; max-height: 45vh; overflow-y: auto; } .version { flex-shrink: 0; padding: 6px 12px; font-size: 10px; color: #555; border-top: 1px solid #1e1e1e; font-family: monospace; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .main { flex: 1; min-width: 0; display: flex; flex-direction: column; overflow: hidden; } /* Mobile toggle button — hidden on desktop */ .mobileToggle { display: none; } /* ── Mobile layout (≤ 768 px) ──────────────────────────────── */ @media (max-width: 768px) { .app { flex-direction: column; } .sidebar { width: 100%; border-right: none; border-bottom: 1px solid #2a2a2a; /* collapsed: just the toggle strip */ max-height: 48px; transition: max-height 0.25s ease; overflow: hidden; flex-shrink: 0; } .sidebar.sidebarOpen { max-height: 60vh; } .sidebarContent { overflow: hidden; } .sidebar.sidebarOpen .sidebarContent { overflow-y: auto; flex: 1; max-height: calc(60vh - 48px); } .mobileToggle { display: flex; align-items: center; gap: 10px; width: 100%; height: 48px; min-height: 48px; padding: 0 16px; background: #141414; color: #ddd; border: none; border-bottom: 1px solid #222; font-size: 14px; cursor: pointer; flex-shrink: 0; text-align: left; } .mobileToggle:active { background: #1e1e1e; } .main { flex: 1; min-height: 0; } .infoSection { max-height: none; } }