.container { display: flex; flex-direction: column; height: 100%; gap: 0; } .toolbar { display: flex; align-items: center; gap: 8px; padding: 6px 10px; border-bottom: 1px solid #2a2a2a; background: #141414; flex-shrink: 0; overflow: hidden; } .modeTabs { display: flex; gap: 4px; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; flex-shrink: 0; } .modeTabs::-webkit-scrollbar { display: none; } .modeTab { background: #1e1e1e; color: #aaa; border: 1px solid #333; border-radius: 4px; padding: 4px 12px; font-size: 12px; cursor: pointer; transition: all 0.1s; flex-shrink: 0; white-space: nowrap; } .modeTab:hover { background: #2a2a2a; color: #ddd; } .modeTab.active { background: #1a3a5c; border-color: #2d6aa0; color: #8ec8ff; } .hint { font-size: 12px; color: #555; flex-shrink: 0; } /* Channels toggle — hidden on desktop */ .channelsToggle { display: none; } .body { display: flex; flex: 1; min-height: 0; gap: 0; } .viewerWrap { flex: 1; min-width: 0; min-height: 0; padding: 8px; } .sidebar { width: 210px; flex-shrink: 0; border-left: 1px solid #2a2a2a; overflow-y: auto; display: flex; flex-direction: column; gap: 0; } .tip { margin-top: auto; padding: 8px; font-size: 10px; color: #444; border-top: 1px solid #222; line-height: 1.5; } /* ── Mobile layout (≤ 768 px) ──────────────────────────────── */ @media (max-width: 768px) { .toolbar { gap: 6px; padding: 0 8px; height: 44px; min-height: 44px; } .modeTab { padding: 8px 10px; font-size: 11px; } .hint { display: none; } .channelsToggle { display: flex; align-items: center; gap: 4px; margin-left: auto; flex-shrink: 0; background: #1e1e1e; color: #aaa; border: 1px solid #333; border-radius: 4px; padding: 6px 10px; font-size: 11px; cursor: pointer; white-space: nowrap; } .channelsToggle.channelsToggleActive { background: #1a3a5c; border-color: #2d6aa0; color: #8ec8ff; } .body { flex-direction: column; } .viewerWrap { flex: 1; min-height: 200px; padding: 4px; } .sidebar { width: 100%; border-left: none; border-top: 1px solid #2a2a2a; max-height: 0; overflow: hidden; transition: max-height 0.2s ease; flex-shrink: 0; } .sidebar.channelSidebarOpen { max-height: 220px; overflow-y: auto; } .tip { font-size: 9px; padding: 6px 8px; } }