diff --git a/public/index.html b/public/index.html index f11678da..d7b5710f 100644 --- a/public/index.html +++ b/public/index.html @@ -20,9 +20,9 @@ - + - + @@ -84,7 +84,7 @@ - + diff --git a/public/live.css b/public/live.css index ca6fe027..7f45ff2f 100644 --- a/public/live.css +++ b/public/live.css @@ -4,12 +4,14 @@ position: relative; width: 100%; height: 100vh; + height: 100dvh; overflow: hidden; background: var(--surface-0); } /* Override #app height constraint on live page */ #app:has(.live-page) { height: 100vh; + height: 100dvh; overflow: visible; } @@ -265,7 +267,7 @@ position: fixed !important; right: 0 !important; left: 0 !important; - bottom: 72px !important; + bottom: 58px !important; top: auto !important; transform: none !important; width: 100% !important; @@ -606,11 +608,10 @@ /* Mobile VCR */ @media (max-width: 600px) { - .vcr-bar { padding: 4px 8px; flex-wrap: wrap; } - .vcr-controls { gap: 4px; flex-wrap: wrap; width: 100%; justify-content: center; } - .vcr-timeline-wrap { width: 100%; } - .vcr-btn { padding: 10px 14px; font-size: 0.8rem; min-height: 44px; min-width: 44px; } - .vcr-scope-btn { font-size: 0.75rem; padding: 10px 12px; min-height: 44px; min-width: 44px; } + .vcr-bar { padding: 4px 6px; overflow-x: auto; flex-wrap: nowrap; } + .vcr-btn { padding: 6px 10px; font-size: 0.8rem; min-height: 36px; min-width: 36px; } + .vcr-scope-btn { font-size: 0.7rem; padding: 4px 8px; min-height: 36px; } + .vcr-lcd { display: none; } } /* Timeline time tooltip */ diff --git a/public/live.js b/public/live.js index 5762c053..c14eb3cb 100644 --- a/public/live.js +++ b/public/live.js @@ -67,7 +67,11 @@ resizeTimer = setTimeout(() => { if (map) map.invalidateSize({ animate: false }); }, 150); }; window.addEventListener('resize', _onResize); - window.addEventListener('orientationchange', () => setTimeout(_onResize, 200)); + window.addEventListener('orientationchange', () => { + setTimeout(_onResize, 200); + setTimeout(_onResize, 600); + setTimeout(_onResize, 1200); + }); } // === VCR Controls === diff --git a/public/style.css b/public/style.css index 7cd7f91b..93f486e5 100644 --- a/public/style.css +++ b/public/style.css @@ -150,7 +150,7 @@ a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible .nav-stats .stat-val.updated { color: var(--accent); } /* === Layout === */ -#app { height: calc(100vh - 52px); overflow: hidden; } +#app { height: calc(100vh - 52px); height: calc(100dvh - 52px); overflow: hidden; } .split-layout { display: flex; height: 100%; overflow: hidden;