diff --git a/manifest.yaml b/manifest.yaml index c4f9d67..2afd3df 100644 --- a/manifest.yaml +++ b/manifest.yaml @@ -113,7 +113,18 @@ css: /* Earthen — theme utilities injected via CSSManifest.InputCSSAppend. */ /* All colour values reference the 19-token HSL custom properties so they */ /* shift with the active preset (mossbed, clay-field, wet-loam). */ - + + /* Bundled faces. The host does not yet emit @font-face for fonts.json + * (LoadedPlugin.BundledFonts is inert), so the theme declares them itself + * against the served /templates/earthen/fonts/... paths. Presets set + * typography.fontHeading/body to template:earthen: so + * --font-heading/--font-body resolve to these families. Families/weights + * match fonts.json exactly. */ + @font-face { font-family: 'Fraunces'; src: url('/templates/earthen/fonts/fraunces-latin-400.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; } + @font-face { font-family: 'Fraunces'; src: url('/templates/earthen/fonts/fraunces-latin-600.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; } + @font-face { font-family: 'Work Sans'; src: url('/templates/earthen/fonts/worksans-latin-400.woff2') format('woff2'); font-weight: 400; font-style: normal; font-display: swap; } + @font-face { font-family: 'Work Sans'; src: url('/templates/earthen/fonts/worksans-latin-600.woff2') format('woff2'); font-weight: 600; font-style: normal; font-display: swap; } + /* Paper grain backdrop — a single inline SVG noise pattern keeps page weight inside the marketplace gate (≤ 81920 bytes). */ .bg-paper-grain { diff --git a/presets.json b/presets.json index 3bfd2d5..e5212f0 100644 --- a/presets.json +++ b/presets.json @@ -5,6 +5,10 @@ "description": "Cream paper, deep moss primary, terracotta accent — the canonical Earthen look.", "theme": { "mode": "both", + "typography": { + "fontHeading": "template:earthen:Fraunces", + "fontBody": "template:earthen:Work Sans" + }, "lightColors": { "background": "40 30% 96%", "foreground": "120 25% 14%", @@ -55,6 +59,10 @@ "description": "Warm terracotta-led palette tuned for farm-stand and outdoor-brand sites.", "theme": { "mode": "light", + "typography": { + "fontHeading": "template:earthen:Fraunces", + "fontBody": "template:earthen:Work Sans" + }, "lightColors": { "background": "30 35% 95%", "foreground": "20 35% 16%", @@ -84,6 +92,10 @@ "description": "Deep night-soil tones for conservation orgs that need quiet authority.", "theme": { "mode": "dark", + "typography": { + "fontHeading": "template:earthen:Fraunces", + "fontBody": "template:earthen:Work Sans" + }, "darkColors": { "background": "90 20% 6%", "foreground": "60 20% 90%", @@ -113,6 +125,10 @@ "description": "Pale sage paper and honey light, misty forest dark — a softer, hopeful reading of the palette.", "theme": { "mode": "both", + "typography": { + "fontHeading": "template:earthen:Fraunces", + "fontBody": "template:earthen:Work Sans" + }, "lightColors": { "background": "70 25% 95%", "foreground": "130 20% 16%", @@ -163,6 +179,10 @@ "description": "Terracotta-led warm clay in light, firelight ember over deep loam in dark — moss becomes the accent.", "theme": { "mode": "both", + "typography": { + "fontHeading": "template:earthen:Fraunces", + "fontBody": "template:earthen:Work Sans" + }, "lightColors": { "background": "28 38% 95%", "foreground": "18 40% 15%",