b107b01a00
- app.html: inline blocking script resolves the theme from localStorage (or prefers-color-scheme) and sets data-theme on <html> before first paint, eliminating the dark→light transition users saw when the light theme was selected. - +layout.svelte: hydrate sidebar collapsed state and expanded nav groups synchronously in their $state initializers instead of inside onMount, so the sidebar no longer snaps from expanded→collapsed and groups no longer slide open after mount. - +layout.svelte: keep the global provider-filter row rendered while providersCache.fetchedAt === 0, so the row doesn't pop in mid-paint and push the nav down once the cache resolves.