{{-- Self-contained update-progress page. NO Livewire, NO Alpine, NO external JS. Loaded into the browser BEFORE the container teardown triggered by the update request. While the backend is down the page is already client-side; its inline JS polling loop tolerates 502s and detects recovery when /up returns 200. Modelled on errors/layout.blade.php (same token-only CSS, same wordmark). --}}
{{ __('update.subtitle') }}
{{ __('update.timeout_hint') }}
{{ __('update.elapsed') }}: 0s