···303303}
304304305305initWebview();
306306+webview.classList.add('loading');
307307+show({ source: 'loading' });
306308307309// --- Custom drag ---
308310// Two modes:
···771773function scheduleHide() {
772774 if (hideTimer) clearTimeout(hideTimer);
773775 hideTimer = setTimeout(() => {
774774- if (showSource !== 'hover') return;
776776+ if (showSource !== 'hover' && showSource !== 'loading') return;
775777 // If cursor is still in the navbar+trigger area, don't hide.
776778 // This prevents the hide→contract→re-trigger→show bounce when cursor
777779 // crosses the boundary between navbar and webview.
···1007100910081010 // Fade in the webview now that background is matched
10091011 webview.classList.add('ready');
10121012+ webview.classList.remove('loading');
10131013+ if (showSource === 'loading') {
10141014+ scheduleHide();
10151015+ }
10101016});
1011101710121018// Note: we do NOT remove .ready on did-start-loading — keeping the webview