diff --git a/lib/builtin-themes.ts b/lib/builtin-themes.ts index d2511313..3730a047 100644 --- a/lib/builtin-themes.ts +++ b/lib/builtin-themes.ts @@ -1014,11 +1014,16 @@ body[data-theme-skin="builtin-vnclagoon"] .rounded-2xl.border.bg-background\\/80 // near-black stone-grey neutral. Dark variant brightens the red (#EF4444) on a // warm near-black. Info stays blue so it never collides with the red accent. const srcCSS = ` -@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url('/fonts/dmsans-400.woff2') format('woff2'); } -@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 500; font-display: swap; src: url('/fonts/dmsans-500.woff2') format('woff2'); } -@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 700; font-display: swap; src: url('/fonts/dmsans-700.woff2') format('woff2'); } -@font-face { font-family: 'Syne'; font-style: normal; font-weight: 700; font-display: swap; src: url('/fonts/syne-700.woff2') format('woff2'); } -@font-face { font-family: 'Syne'; font-style: normal; font-weight: 800; font-display: swap; src: url('/fonts/syne-800.woff2') format('woff2'); } +@font-face { font-family: 'Inter'; font-style: normal; font-weight: 100 900; font-display: swap; src: url('/fonts/inter-var-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } +@font-face { font-family: 'Inter'; font-style: normal; font-weight: 100 900; font-display: swap; src: url('/fonts/inter-var-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; } +@font-face { font-family: 'Spectral'; font-style: normal; font-weight: 400; font-display: swap; src: url('/fonts/spectral-400-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } +@font-face { font-family: 'Spectral'; font-style: normal; font-weight: 400; font-display: swap; src: url('/fonts/spectral-400-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; } +@font-face { font-family: 'Spectral'; font-style: normal; font-weight: 600; font-display: swap; src: url('/fonts/spectral-600-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } +@font-face { font-family: 'Spectral'; font-style: normal; font-weight: 600; font-display: swap; src: url('/fonts/spectral-600-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; } +@font-face { font-family: 'Spectral'; font-style: normal; font-weight: 700; font-display: swap; src: url('/fonts/spectral-700-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } +@font-face { font-family: 'Spectral'; font-style: normal; font-weight: 700; font-display: swap; src: url('/fonts/spectral-700-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; } +@font-face { font-family: 'Spectral'; font-style: normal; font-weight: 800; font-display: swap; src: url('/fonts/spectral-800-latin.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } +@font-face { font-family: 'Spectral'; font-style: normal; font-weight: 800; font-display: swap; src: url('/fonts/spectral-800-latin-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; } :root { --color-border: #e7e5e4; --color-input: #e7e5e4; @@ -1105,12 +1110,12 @@ const srcCSS = ` // All scoped under the skin body attribute so they detach cleanly on switch-off. const srcSkin = ` body[data-theme-skin="builtin-src"] { - font-family: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif; + font-family: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif; } body[data-theme-skin="builtin-src"] h1, body[data-theme-skin="builtin-src"] h2, body[data-theme-skin="builtin-src"] h3 { - font-family: "Syne", "DM Sans", sans-serif; + font-family: "Spectral", "Inter", Georgia, serif; font-weight: 700; letter-spacing: -0.01em; } @@ -1346,7 +1351,7 @@ export const BUILTIN_THEMES: InstalledTheme[] = [ logoLightUrl: '/branding/SRC_Symbol.png', logoDarkUrl: '/branding/SRC_Symbol.png', variants: ['light', 'dark'], - typography: { fontSans: '"DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif' }, + typography: { fontSans: '"Inter", system-ui, -apple-system, "Segoe UI", sans-serif' }, enabled: true, builtIn: true, }, diff --git a/public/fonts/inter-var-latin-ext.woff2 b/public/fonts/inter-var-latin-ext.woff2 new file mode 100644 index 00000000..479d010d Binary files /dev/null and b/public/fonts/inter-var-latin-ext.woff2 differ diff --git a/public/fonts/inter-var-latin.woff2 b/public/fonts/inter-var-latin.woff2 new file mode 100644 index 00000000..d15208de Binary files /dev/null and b/public/fonts/inter-var-latin.woff2 differ diff --git a/public/fonts/spectral-400-latin-ext.woff2 b/public/fonts/spectral-400-latin-ext.woff2 new file mode 100644 index 00000000..78c4c009 Binary files /dev/null and b/public/fonts/spectral-400-latin-ext.woff2 differ diff --git a/public/fonts/spectral-400-latin.woff2 b/public/fonts/spectral-400-latin.woff2 new file mode 100644 index 00000000..71700f80 Binary files /dev/null and b/public/fonts/spectral-400-latin.woff2 differ diff --git a/public/fonts/spectral-600-latin-ext.woff2 b/public/fonts/spectral-600-latin-ext.woff2 new file mode 100644 index 00000000..16fb98f5 Binary files /dev/null and b/public/fonts/spectral-600-latin-ext.woff2 differ diff --git a/public/fonts/spectral-600-latin.woff2 b/public/fonts/spectral-600-latin.woff2 new file mode 100644 index 00000000..3f56161f Binary files /dev/null and b/public/fonts/spectral-600-latin.woff2 differ diff --git a/public/fonts/spectral-700-latin-ext.woff2 b/public/fonts/spectral-700-latin-ext.woff2 new file mode 100644 index 00000000..25a42b75 Binary files /dev/null and b/public/fonts/spectral-700-latin-ext.woff2 differ diff --git a/public/fonts/spectral-700-latin.woff2 b/public/fonts/spectral-700-latin.woff2 new file mode 100644 index 00000000..615536f5 Binary files /dev/null and b/public/fonts/spectral-700-latin.woff2 differ diff --git a/public/fonts/spectral-800-latin-ext.woff2 b/public/fonts/spectral-800-latin-ext.woff2 new file mode 100644 index 00000000..d4766fc8 Binary files /dev/null and b/public/fonts/spectral-800-latin-ext.woff2 differ diff --git a/public/fonts/spectral-800-latin.woff2 b/public/fonts/spectral-800-latin.woff2 new file mode 100644 index 00000000..62dbd7c0 Binary files /dev/null and b/public/fonts/spectral-800-latin.woff2 differ