diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts index 936b5b8d..5fb05f6c 100644 --- a/docs/.vitepress/config.mts +++ b/docs/.vitepress/config.mts @@ -93,6 +93,38 @@ export default withMermaid( head: [ ["link", { rel: "icon", href: "/logo/favicon-32x32.png" }], + // Font preloads for critical rendering + [ + "link", + { + rel: "preload", + href: "/fonts/Inter/Inter-roman.var.woff2", + as: "font", + type: "font/woff2", + crossorigin: "", + }, + ], + [ + "link", + { + rel: "preload", + href: "/fonts/Satoshi/Satoshi-Medium.woff2", + as: "font", + type: "font/woff2", + crossorigin: "", + }, + ], + [ + "link", + { + rel: "preload", + href: "/fonts/Satoshi/Satoshi-Bold.woff2", + as: "font", + type: "font/woff2", + crossorigin: "", + }, + ], + // Google Analytics with Consent Mode v2 ["script", { async: "", src: "https://www.googletagmanager.com/gtag/js?id=G-JF828SKW90" }], [ diff --git a/docs/.vitepress/theme/components/ApiParam.vue b/docs/.vitepress/theme/components/ApiParam.vue index 35cf2075..aa2fcc5b 100644 --- a/docs/.vitepress/theme/components/ApiParam.vue +++ b/docs/.vitepress/theme/components/ApiParam.vue @@ -56,7 +56,7 @@ const isExpanded = ref(true); align-items: center; gap: 6px; cursor: pointer; - font-family: ui-monospace, SFMono-Regular, monospace; + font-family: var(--vp-font-family-mono); font-size: 14px; } diff --git a/docs/.vitepress/theme/components/CodePanel.vue b/docs/.vitepress/theme/components/CodePanel.vue index 71159890..9dc7d0a8 100644 --- a/docs/.vitepress/theme/components/CodePanel.vue +++ b/docs/.vitepress/theme/components/CodePanel.vue @@ -103,7 +103,7 @@ const copyCode = async () => { } .panel-title { - font-size: 13px; + font-size: 14px; font-weight: 500; color: #374151; } diff --git a/docs/.vitepress/theme/components/CookieConsent.vue b/docs/.vitepress/theme/components/CookieConsent.vue index 34f95979..a28534c7 100644 --- a/docs/.vitepress/theme/components/CookieConsent.vue +++ b/docs/.vitepress/theme/components/CookieConsent.vue @@ -102,7 +102,7 @@ onMounted(() => { .consent-text { margin: 0; - font-size: 13px; + font-size: 14px; line-height: 1.5; color: var(--vp-c-text-2); flex: 1; @@ -117,7 +117,7 @@ onMounted(() => { .consent-btn { padding: 6px 16px; border-radius: 6px; - font-size: 13px; + font-size: 14px; font-weight: 500; cursor: pointer; border: none; diff --git a/docs/.vitepress/theme/components/ResponsePanel.vue b/docs/.vitepress/theme/components/ResponsePanel.vue index d5d71974..3bc7eb0c 100644 --- a/docs/.vitepress/theme/components/ResponsePanel.vue +++ b/docs/.vitepress/theme/components/ResponsePanel.vue @@ -95,7 +95,7 @@ const statusClass = () => { } .response-label { - font-size: 13px; + font-size: 14px; font-weight: 500; color: #374151; } @@ -105,8 +105,8 @@ const statusClass = () => { } .status-code { - font-family: ui-monospace, SFMono-Regular, monospace; - font-size: 13px; + font-family: var(--vp-font-family-mono); + font-size: 14px; font-weight: 600; } diff --git a/docs/.vitepress/theme/style.css b/docs/.vitepress/theme/style.css index df1dc05e..0bd62504 100644 --- a/docs/.vitepress/theme/style.css +++ b/docs/.vitepress/theme/style.css @@ -96,16 +96,6 @@ SATOSHI FONT ================================================ */ -@font-face { - font-family: "Satoshi"; - src: - url("/fonts/Satoshi/Satoshi-Light.woff2") format("woff2"), - url("/fonts/Satoshi/Satoshi-Light.woff") format("woff"); - font-weight: 300; - font-style: normal; - font-display: swap; -} - @font-face { font-family: "Satoshi"; src: @@ -136,13 +126,27 @@ font-display: swap; } +/* ================================================ + INTER VARIABLE FONT (FOR BODY TEXT) + ================================================ */ + +@font-face { + font-family: "Inter"; + src: url("/fonts/Inter/Inter-roman.var.woff2") format("woff2-variations"); + font-weight: 100 900; + font-style: normal; + font-display: swap; +} + /* ================================================ IBM PLEX MONO FONT (FOR CODE BLOCKS) ================================================ */ @font-face { font-family: "IBM Plex Mono"; - src: url("/fonts/IBMPlexMono/IBMPlexMono-Regular.ttf") format("truetype"); + src: + url("/fonts/IBMPlexMono/IBMPlexMono-Regular.woff2") format("woff2"), + url("/fonts/IBMPlexMono/IBMPlexMono-Regular.ttf") format("truetype"); font-weight: 400; font-style: normal; font-display: swap; @@ -150,7 +154,9 @@ @font-face { font-family: "IBM Plex Mono"; - src: url("/fonts/IBMPlexMono/IBMPlexMono-Medium.ttf") format("truetype"); + src: + url("/fonts/IBMPlexMono/IBMPlexMono-Medium.woff2") format("woff2"), + url("/fonts/IBMPlexMono/IBMPlexMono-Medium.ttf") format("truetype"); font-weight: 500; font-style: normal; font-display: swap; @@ -158,7 +164,9 @@ @font-face { font-family: "IBM Plex Mono"; - src: url("/fonts/IBMPlexMono/IBMPlexMono-SemiBold.ttf") format("truetype"); + src: + url("/fonts/IBMPlexMono/IBMPlexMono-SemiBold.woff2") format("woff2"), + url("/fonts/IBMPlexMono/IBMPlexMono-SemiBold.ttf") format("truetype"); font-weight: 600; font-style: normal; font-display: swap; @@ -166,7 +174,9 @@ @font-face { font-family: "IBM Plex Mono"; - src: url("/fonts/IBMPlexMono/IBMPlexMono-Bold.ttf") format("truetype"); + src: + url("/fonts/IBMPlexMono/IBMPlexMono-Bold.woff2") format("woff2"), + url("/fonts/IBMPlexMono/IBMPlexMono-Bold.ttf") format("truetype"); font-weight: 700; font-style: normal; font-display: swap; @@ -187,12 +197,33 @@ /* Fonts */ --vp-font-family-base: + "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif; + --vp-font-family-heading: "Satoshi", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif; --vp-font-family-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; } +/* Headings use Satoshi (display/geometric sans) */ +.vp-doc h1, +.vp-doc h2, +.vp-doc h3, +.vp-doc h4, +.vp-doc h5, +.vp-doc h6, +.VPNavBar .title, +.VPHero .name, +.VPHero .tagline { + font-family: var(--vp-font-family-heading); +} + +/* Improved body text line-height for readability */ +.vp-doc p, +.vp-doc li { + line-height: 1.75; +} + /* Dark mode */ .dark { --vp-c-bg: #0a0a0a; @@ -299,7 +330,7 @@ font-weight: 700; padding: 5px 12px; border-radius: 6px; - font-family: ui-monospace, SFMono-Regular, monospace; + font-family: var(--vp-font-family-mono); text-transform: uppercase; } @@ -346,7 +377,7 @@ } .api-endpoint-badge .path { - font-family: ui-monospace, SFMono-Regular, monospace; + font-family: var(--vp-font-family-mono); font-size: 14px; color: #6b7280; } diff --git a/docs/public/fonts/IBMPlexMono/IBMPlexMono-Bold.woff2 b/docs/public/fonts/IBMPlexMono/IBMPlexMono-Bold.woff2 new file mode 100644 index 00000000..b4419a3c Binary files /dev/null and b/docs/public/fonts/IBMPlexMono/IBMPlexMono-Bold.woff2 differ diff --git a/docs/public/fonts/IBMPlexMono/IBMPlexMono-BoldItalic.ttf b/docs/public/fonts/IBMPlexMono/IBMPlexMono-BoldItalic.ttf deleted file mode 100644 index f2695fce..00000000 Binary files a/docs/public/fonts/IBMPlexMono/IBMPlexMono-BoldItalic.ttf and /dev/null differ diff --git a/docs/public/fonts/IBMPlexMono/IBMPlexMono-ExtraLight.ttf b/docs/public/fonts/IBMPlexMono/IBMPlexMono-ExtraLight.ttf deleted file mode 100644 index 573ef764..00000000 Binary files a/docs/public/fonts/IBMPlexMono/IBMPlexMono-ExtraLight.ttf and /dev/null differ diff --git a/docs/public/fonts/IBMPlexMono/IBMPlexMono-ExtraLightItalic.ttf b/docs/public/fonts/IBMPlexMono/IBMPlexMono-ExtraLightItalic.ttf deleted file mode 100644 index ea13f86d..00000000 Binary files a/docs/public/fonts/IBMPlexMono/IBMPlexMono-ExtraLightItalic.ttf and /dev/null differ diff --git a/docs/public/fonts/IBMPlexMono/IBMPlexMono-Italic.ttf b/docs/public/fonts/IBMPlexMono/IBMPlexMono-Italic.ttf deleted file mode 100644 index 3cb28a39..00000000 Binary files a/docs/public/fonts/IBMPlexMono/IBMPlexMono-Italic.ttf and /dev/null differ diff --git a/docs/public/fonts/IBMPlexMono/IBMPlexMono-Light.ttf b/docs/public/fonts/IBMPlexMono/IBMPlexMono-Light.ttf deleted file mode 100644 index df167f09..00000000 Binary files a/docs/public/fonts/IBMPlexMono/IBMPlexMono-Light.ttf and /dev/null differ diff --git a/docs/public/fonts/IBMPlexMono/IBMPlexMono-LightItalic.ttf b/docs/public/fonts/IBMPlexMono/IBMPlexMono-LightItalic.ttf deleted file mode 100644 index c9072e96..00000000 Binary files a/docs/public/fonts/IBMPlexMono/IBMPlexMono-LightItalic.ttf and /dev/null differ diff --git a/docs/public/fonts/IBMPlexMono/IBMPlexMono-Medium.woff2 b/docs/public/fonts/IBMPlexMono/IBMPlexMono-Medium.woff2 new file mode 100644 index 00000000..8c45b07e Binary files /dev/null and b/docs/public/fonts/IBMPlexMono/IBMPlexMono-Medium.woff2 differ diff --git a/docs/public/fonts/IBMPlexMono/IBMPlexMono-MediumItalic.ttf b/docs/public/fonts/IBMPlexMono/IBMPlexMono-MediumItalic.ttf deleted file mode 100644 index 0d887f76..00000000 Binary files a/docs/public/fonts/IBMPlexMono/IBMPlexMono-MediumItalic.ttf and /dev/null differ diff --git a/docs/public/fonts/IBMPlexMono/IBMPlexMono-Regular.woff2 b/docs/public/fonts/IBMPlexMono/IBMPlexMono-Regular.woff2 new file mode 100644 index 00000000..e9e4a41b Binary files /dev/null and b/docs/public/fonts/IBMPlexMono/IBMPlexMono-Regular.woff2 differ diff --git a/docs/public/fonts/IBMPlexMono/IBMPlexMono-SemiBold.woff2 b/docs/public/fonts/IBMPlexMono/IBMPlexMono-SemiBold.woff2 new file mode 100644 index 00000000..1e346ff1 Binary files /dev/null and b/docs/public/fonts/IBMPlexMono/IBMPlexMono-SemiBold.woff2 differ diff --git a/docs/public/fonts/IBMPlexMono/IBMPlexMono-SemiBoldItalic.ttf b/docs/public/fonts/IBMPlexMono/IBMPlexMono-SemiBoldItalic.ttf deleted file mode 100644 index a41b0d3d..00000000 Binary files a/docs/public/fonts/IBMPlexMono/IBMPlexMono-SemiBoldItalic.ttf and /dev/null differ diff --git a/docs/public/fonts/IBMPlexMono/IBMPlexMono-Thin.ttf b/docs/public/fonts/IBMPlexMono/IBMPlexMono-Thin.ttf deleted file mode 100644 index e173f5a1..00000000 Binary files a/docs/public/fonts/IBMPlexMono/IBMPlexMono-Thin.ttf and /dev/null differ diff --git a/docs/public/fonts/IBMPlexMono/IBMPlexMono-ThinItalic.ttf b/docs/public/fonts/IBMPlexMono/IBMPlexMono-ThinItalic.ttf deleted file mode 100644 index 85292757..00000000 Binary files a/docs/public/fonts/IBMPlexMono/IBMPlexMono-ThinItalic.ttf and /dev/null differ diff --git a/docs/public/fonts/Inter/Inter-roman.var.woff2 b/docs/public/fonts/Inter/Inter-roman.var.woff2 new file mode 100644 index 00000000..5a8d3e72 Binary files /dev/null and b/docs/public/fonts/Inter/Inter-roman.var.woff2 differ diff --git a/docs/public/fonts/Satoshi/Satoshi-Light.woff b/docs/public/fonts/Satoshi/Satoshi-Light.woff deleted file mode 100644 index 8f05e4e9..00000000 Binary files a/docs/public/fonts/Satoshi/Satoshi-Light.woff and /dev/null differ diff --git a/docs/public/fonts/Satoshi/Satoshi-Light.woff2 b/docs/public/fonts/Satoshi/Satoshi-Light.woff2 deleted file mode 100644 index cf18cd4c..00000000 Binary files a/docs/public/fonts/Satoshi/Satoshi-Light.woff2 and /dev/null differ