diff --git a/components/BuilderClientPage.tsx b/components/BuilderClientPage.tsx
index c9eec70..192f586 100644
--- a/components/BuilderClientPage.tsx
+++ b/components/BuilderClientPage.tsx
@@ -223,7 +223,13 @@ export default function BuilderClientPage() {
if (manifestShortName && manifestShortName.trim().length > 0) manifestOverrideBase.short_name = manifestShortName.trim()
if (manifestStartUrl && manifestStartUrl.trim().length > 0) manifestOverrideBase.start_url = manifestStartUrl.trim()
if (manifestDisplay && manifestDisplay.trim().length > 0) manifestOverrideBase.display = manifestDisplay.trim()
- if (manifestThemeColor && manifestThemeColor.trim().length > 0) manifestOverrideBase.theme_color = manifestThemeColor.trim()
+ if (manifestThemeColor && manifestThemeColor.trim().length > 0) {
+ const v = manifestThemeColor.trim()
+ const hexOk = /^#([0-9a-fA-F]{3}){1,2}$/.test(v)
+ if (hexOk) {
+ manifestOverrideBase.theme_color = v
+ }
+ }
const manifestOverride = Object.keys(manifestOverrideBase).length > 0 ? (manifestOverrideBase as { name?: string; short_name?: string; start_url?: string; display?: string; theme_color?: string }) : undefined
const robotsTextOverride = (() => {
const lines = (robotsDisallow || '').split(/\n+/).map((s) => s.trim()).filter((s) => s.length > 0)
@@ -334,14 +340,18 @@ export default function BuilderClientPage() {