:80 {
	root * /srv

	# /wails/runtime.js is injected by the Wails desktop wrapper, which serves
	# the same dist/ from its own asset handler. In a browser it does not
	# exist, and the SPA fallback below answered it with index.html — so the
	# browser parsed "<!doctype html>" as JavaScript and threw
	# "SyntaxError: expected expression, got '<'" on every page load.
	# Return a real 404 instead: the tag fails quietly, and the desktop app is
	# unaffected because it never reaches this server.
	handle /wails/* {
		error 404
	}

	# Same reasoning for any other asset: a missing .js/.css/.map answered with
	# HTML is always a confusing parse error rather than an honest 404. Only
	# real routes should fall through to the SPA.
	@asset path_regexp \.(js|mjs|css|map|json|png|jpg|svg|ico|woff2?)$
	handle @asset {
		file_server
	}

	handle {
		file_server
		try_files {path} /index.html
	}
}
