. A hardcoded title renders first and, since the HTML spec uses the first , would override every page's title in the initial SSR HTML. --> <script> // Desktop-only gate — runs before SvelteKit hydrates. // Spec: BROWSER_SUPPORT_POLICY.md §6 (function () { try { var path = window.location.pathname; // Only the interactive document tools are desktop-only; the marketing // landing, pricing, license, and legal pages are viewable on any device. var isToolRoute = path === '/app' || path.indexOf('/app/') === 0 || path === '/merge' || path.indexOf('/merge/') === 0; if (!isToolRoute) return; if (window.location.search.indexOf('force-desktop=true') !== -1) { try { sessionStorage.setItem('aegis-force-desktop', '1'); } catch (_) {} return; } if (sessionStorage.getItem('aegis-force-desktop') === '1') return; var ua = navigator.userAgent; var isMobileOrTablet = /Mobi|Android|iPhone|iPad|iPod/i.test(ua) || (window.matchMedia('(pointer: coarse)').matches && window.innerWidth < 1024) || (navigator.maxTouchPoints > 1 && window.innerWidth < 1280); if (isMobileOrTablet) { window.location.replace('/desktop-required'); } } catch (_) { // If detection throws, fail open — let the app load. } })(); </script> <script> // Theme (no-flash). Tool + activation pages are always light; elsewhere // honor the saved choice, falling back to the OS preference. (function () { try { var path = window.location.pathname; var isLightOnly = path === '/app' || path.indexOf('/app/') === 0 || path === '/merge' || path.indexOf('/merge/') === 0 || path === '/license' || path.indexOf('/license/') === 0; var el = document.documentElement; if (isLightOnly) { el.classList.add('light'); return; } var saved = localStorage.getItem('aegis-theme'); var prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches; if (saved === 'dark' || (!saved && prefersDark)) el.classList.add('dark'); else if (saved === 'light') el.classList.add('light'); } catch (e) {} })(); </script> %sveltekit.head% </head> <body data-sveltekit-preload-data="hover"> <div style="display: contents"><!--[--><!--[0--><!--[--><!--[-1--><div class="flex min-h-screen flex-col"><nav class="sticky top-0 z-40 border-b backdrop-blur" style="background-color: color-mix(in srgb, var(--color-bg) 82%, transparent); border-color: var(--color-border)"><div class="mx-auto max-w-6xl px-4 sm:px-6"><div class="flex h-16 items-center justify-between gap-4"><a href="/" class="flex items-center gap-2.5 no-underline" style="color: var(--color-text)"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="30" height="30" role="img" aria-label="AegisPDF"><title>AegisPDF AegisPDF