@ciderpress/ui 1.0.0-rc.1 → 1.0.0-rc.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (162) hide show
  1. package/dist/head/css/loader-apple.css +1 -1
  2. package/dist/head/css/loader-dots.css +1 -1
  3. package/dist/head/css/themes/amber.css +1 -1
  4. package/dist/head/css/themes/arcade.css +1 -1
  5. package/dist/head/css/themes/grannysmith.css +1 -1
  6. package/dist/head/css/themes/honeycrisp.css +1 -1
  7. package/dist/head/css/themes/midnight.css +1 -1
  8. package/dist/head/css/themes/mulled.css +1 -1
  9. package/dist/index.d.ts +1 -1
  10. package/dist/index.mjs +4 -3
  11. package/dist/node.d.ts +1 -1
  12. package/dist/node.mjs +732 -55
  13. package/dist/plugins/mermaid/MermaidRenderer.tsx +49 -6
  14. package/dist/theme/components/footer/site-footer.tsx +68 -9
  15. package/dist/theme/components/home/cta.css +15 -0
  16. package/dist/theme/components/home/cta.tsx +10 -2
  17. package/dist/theme/components/home/feature-card.css +1 -1
  18. package/dist/theme/components/home/feature-card.tsx +8 -10
  19. package/dist/theme/components/home/feature.tsx +54 -31
  20. package/dist/theme/components/home/hero-demo.css +38 -0
  21. package/dist/theme/components/home/home-visual.tsx +226 -0
  22. package/dist/theme/components/home/layout.tsx +410 -108
  23. package/dist/theme/components/home/split.css +46 -19
  24. package/dist/theme/components/home/split.tsx +28 -8
  25. package/dist/theme/components/home/tabs.css +299 -0
  26. package/dist/theme/components/home/tabs.tsx +351 -0
  27. package/dist/theme/components/home/trust-strip.css +41 -0
  28. package/dist/theme/components/home/trust-strip.tsx +168 -11
  29. package/dist/theme/components/home/workspaces.tsx +176 -38
  30. package/dist/theme/components/nav/branch-tag.tsx +7 -7
  31. package/dist/theme/components/nav/ciderpress-docs-bar.css +13 -1
  32. package/dist/theme/components/nav/ciderpress-docs-bar.tsx +33 -2
  33. package/dist/theme/components/nav/ciderpress-header.css +2 -1
  34. package/dist/theme/components/nav/ciderpress-header.tsx +26 -3
  35. package/dist/theme/components/nav/ciderpress-nav-hamburger.css +50 -0
  36. package/dist/theme/components/nav/ciderpress-nav-hamburger.tsx +95 -9
  37. package/dist/theme/components/nav/ciderpress-nav-menu.css +88 -0
  38. package/dist/theme/components/nav/ciderpress-nav-menu.tsx +397 -38
  39. package/dist/theme/components/nav/ciderpress-nav-social-links.tsx +27 -22
  40. package/dist/theme/components/nav/floating-branch-indicator.tsx +7 -7
  41. package/dist/theme/components/nav/header-icon.css +24 -0
  42. package/dist/theme/components/nav/header-icon.tsx +119 -0
  43. package/dist/theme/components/nav/header-logo.css +16 -0
  44. package/dist/theme/components/nav/header-logo.tsx +200 -0
  45. package/dist/theme/components/nav/layout.tsx +117 -16
  46. package/dist/theme/components/nav/nav-logo.tsx +16 -19
  47. package/dist/theme/components/openapi/index.ts +0 -2
  48. package/dist/theme/components/openapi/openapi.css +0 -14
  49. package/dist/theme/components/shared/card-icon.tsx +37 -0
  50. package/dist/theme/components/shared/ciderpress-logo.tsx +5 -1
  51. package/dist/theme/components/shared/icon.tsx +120 -35
  52. package/dist/theme/components/shared/resolve-card-icon.ts +53 -12
  53. package/dist/theme/components/shared/section-card.tsx +37 -6
  54. package/dist/theme/components/sidebar/sidebar-badge.css +50 -0
  55. package/dist/theme/components/sidebar/sidebar-badge.tsx +153 -0
  56. package/dist/theme/components/sidebar/sidebar-links.tsx +6 -2
  57. package/dist/theme/components/sidebar/sidebar-scope.tsx +24 -1
  58. package/dist/theme/components/theme-provider.tsx +27 -11
  59. package/dist/theme/components/workspaces/card.css +4 -0
  60. package/dist/theme/components/workspaces/card.tsx +10 -12
  61. package/dist/theme/components/workspaces/grid.tsx +18 -6
  62. package/dist/theme/hooks/use-ciderpress.ts +65 -5
  63. package/dist/theme/hooks/use-nav-items.ts +82 -11
  64. package/dist/theme/index.tsx +10 -3
  65. package/dist/theme/lib/read-social-links.ts +4 -3
  66. package/dist/theme/lib/rich-text-parse.ts +740 -0
  67. package/dist/theme/lib/rich-text.test.tsx +342 -0
  68. package/dist/theme/lib/rich-text.tsx +86 -0
  69. package/dist/theme/lib/theme-favicon.ts +1 -1
  70. package/dist/theme/lib/with-mount-base.ts +31 -0
  71. package/dist/theme/styles/overrides/fonts.css +7 -4
  72. package/dist/theme/styles/overrides/footnotes.css +54 -0
  73. package/dist/theme/styles/overrides/home.css +11 -2
  74. package/dist/theme/styles/overrides/lists.css +83 -0
  75. package/dist/theme/styles/overrides/rail.css +27 -10
  76. package/dist/theme/styles/overrides/rspress.css +10 -5
  77. package/dist/theme/styles/overrides/section-card.css +9 -0
  78. package/dist/theme/styles/overrides/sidebar.css +22 -0
  79. package/dist/theme/styles/overrides/tokens.css +41 -23
  80. package/dist/theme/styles/rich-text.css +106 -0
  81. package/dist/theme/styles/themes/amber.css +32 -2
  82. package/dist/theme/styles/themes/arcade.css +16 -1
  83. package/dist/theme/styles/themes/grannysmith.css +32 -2
  84. package/dist/theme/styles/themes/honeycrisp.css +37 -7
  85. package/dist/theme/styles/themes/midnight.css +16 -1
  86. package/dist/theme/styles/themes/mulled.css +54 -9
  87. package/package.json +18 -16
  88. package/src/theme/components/footer/site-footer.tsx +68 -9
  89. package/src/theme/components/home/cta.css +15 -0
  90. package/src/theme/components/home/cta.tsx +10 -2
  91. package/src/theme/components/home/feature-card.css +1 -1
  92. package/src/theme/components/home/feature-card.tsx +8 -10
  93. package/src/theme/components/home/feature.tsx +54 -31
  94. package/src/theme/components/home/hero-demo.css +38 -0
  95. package/src/theme/components/home/home-visual.tsx +226 -0
  96. package/src/theme/components/home/layout.tsx +410 -108
  97. package/src/theme/components/home/split.css +46 -19
  98. package/src/theme/components/home/split.tsx +28 -8
  99. package/src/theme/components/home/tabs.css +299 -0
  100. package/src/theme/components/home/tabs.tsx +351 -0
  101. package/src/theme/components/home/trust-strip.css +41 -0
  102. package/src/theme/components/home/trust-strip.tsx +168 -11
  103. package/src/theme/components/home/workspaces.tsx +176 -38
  104. package/src/theme/components/nav/branch-tag.tsx +7 -7
  105. package/src/theme/components/nav/ciderpress-docs-bar.css +13 -1
  106. package/src/theme/components/nav/ciderpress-docs-bar.tsx +33 -2
  107. package/src/theme/components/nav/ciderpress-header.css +2 -1
  108. package/src/theme/components/nav/ciderpress-header.tsx +26 -3
  109. package/src/theme/components/nav/ciderpress-nav-hamburger.css +50 -0
  110. package/src/theme/components/nav/ciderpress-nav-hamburger.tsx +95 -9
  111. package/src/theme/components/nav/ciderpress-nav-menu.css +88 -0
  112. package/src/theme/components/nav/ciderpress-nav-menu.tsx +397 -38
  113. package/src/theme/components/nav/ciderpress-nav-social-links.tsx +27 -22
  114. package/src/theme/components/nav/floating-branch-indicator.tsx +7 -7
  115. package/src/theme/components/nav/header-icon.css +24 -0
  116. package/src/theme/components/nav/header-icon.tsx +119 -0
  117. package/src/theme/components/nav/header-logo.css +16 -0
  118. package/src/theme/components/nav/header-logo.tsx +200 -0
  119. package/src/theme/components/nav/layout.tsx +117 -16
  120. package/src/theme/components/nav/nav-logo.tsx +16 -19
  121. package/src/theme/components/openapi/index.ts +0 -2
  122. package/src/theme/components/openapi/openapi.css +0 -14
  123. package/src/theme/components/shared/card-icon.tsx +37 -0
  124. package/src/theme/components/shared/ciderpress-logo.tsx +5 -1
  125. package/src/theme/components/shared/icon.tsx +120 -35
  126. package/src/theme/components/shared/resolve-card-icon.ts +53 -12
  127. package/src/theme/components/shared/section-card.tsx +37 -6
  128. package/src/theme/components/sidebar/sidebar-badge.css +50 -0
  129. package/src/theme/components/sidebar/sidebar-badge.tsx +153 -0
  130. package/src/theme/components/sidebar/sidebar-links.tsx +6 -2
  131. package/src/theme/components/sidebar/sidebar-scope.tsx +24 -1
  132. package/src/theme/components/theme-provider.tsx +27 -11
  133. package/src/theme/components/workspaces/card.css +4 -0
  134. package/src/theme/components/workspaces/card.tsx +10 -12
  135. package/src/theme/components/workspaces/grid.tsx +18 -6
  136. package/src/theme/hooks/use-ciderpress.ts +65 -5
  137. package/src/theme/hooks/use-nav-items.ts +82 -11
  138. package/src/theme/index.tsx +10 -3
  139. package/src/theme/lib/read-social-links.ts +4 -3
  140. package/src/theme/lib/rich-text-parse.ts +740 -0
  141. package/src/theme/lib/rich-text.test.tsx +342 -0
  142. package/src/theme/lib/rich-text.tsx +86 -0
  143. package/src/theme/lib/theme-favicon.ts +1 -1
  144. package/src/theme/lib/with-mount-base.ts +31 -0
  145. package/src/theme/styles/overrides/fonts.css +7 -4
  146. package/src/theme/styles/overrides/footnotes.css +54 -0
  147. package/src/theme/styles/overrides/home.css +11 -2
  148. package/src/theme/styles/overrides/lists.css +83 -0
  149. package/src/theme/styles/overrides/rail.css +27 -10
  150. package/src/theme/styles/overrides/rspress.css +10 -5
  151. package/src/theme/styles/overrides/section-card.css +9 -0
  152. package/src/theme/styles/overrides/sidebar.css +22 -0
  153. package/src/theme/styles/overrides/tokens.css +41 -23
  154. package/src/theme/styles/rich-text.css +106 -0
  155. package/src/theme/styles/themes/amber.css +32 -2
  156. package/src/theme/styles/themes/arcade.css +16 -1
  157. package/src/theme/styles/themes/grannysmith.css +32 -2
  158. package/src/theme/styles/themes/honeycrisp.css +37 -7
  159. package/src/theme/styles/themes/midnight.css +16 -1
  160. package/src/theme/styles/themes/mulled.css +54 -9
  161. package/dist/theme/components/openapi/copy-markdown-button.tsx +0 -41
  162. package/src/theme/components/openapi/copy-markdown-button.tsx +0 -41
@@ -145,18 +145,22 @@ html .rp-doc-layout__sidebar > :first-child:not(.cp-sidebar-top) {
145
145
  }
146
146
 
147
147
  html .cp-sidebar-bottom {
148
- /* Grow to fill the remaining sidebar space so the nav tree stacks
149
- from the top and this band occupies everything below it. When the
150
- nav tree is short, the band is tall and its content (promo +
151
- below-links) sits at its bottom via `justify-content: flex-end`. */
152
- flex: 1 0 auto;
148
+ /* Size to content and sit directly under the nav tree. `flex: 0 0 auto`
149
+ (no grow) is deliberate: growing to fill (`1 0 auto`) stretched the
150
+ band across all leftover sidebar height, and a short nav tree left a
151
+ tall empty band with its content (promo + below-links) stranded at the
152
+ bottom. With no grow the band is exactly as tall as its content and
153
+ the promo/links hug the last nav item. */
154
+ flex: 0 0 auto;
153
155
  display: flex;
154
156
  flex-direction: column;
155
- justify-content: flex-end;
156
- /* When the sidebar scrolls (nav tree taller than viewport), this band
157
- stays glued to the viewport bottom so the promo is always visible.
158
- `z-index: 3` so the band paints above the thin overlay scrollbar
159
- thumb so it doesn't appear to "go through" the band region. */
157
+ /* When the nav tree overflows the viewport the sidebar scrolls; this
158
+ band stays glued to the viewport bottom (`sticky bottom: 0`) so the
159
+ promo/links remain visible while the tree scrolls behind them. With a
160
+ short (non-scrolling) nav tree the sticky offset is never engaged, so
161
+ the band simply flows under the last nav item. `z-index: 3` paints it
162
+ above the thin overlay scrollbar thumb so it doesn't appear to "go
163
+ through" the band region. */
160
164
  position: sticky;
161
165
  bottom: 0;
162
166
  z-index: 3;
@@ -189,6 +193,19 @@ html .rp-outline__title {
189
193
  display: none;
190
194
  }
191
195
 
196
+ /* "On this page" outline — truncate long headings to a single line with
197
+ an ellipsis instead of wrapping. Rspress already sets a native `title`
198
+ on each `.rp-toc-item` anchor, so hovering a truncated heading reveals
199
+ the full text. Targets `.rp-toc-item__text`, shared by the desktop
200
+ rail and the mobile outline dropdown. */
201
+ html .rp-toc-item__text {
202
+ display: block;
203
+ min-width: 0;
204
+ overflow: hidden;
205
+ text-overflow: ellipsis;
206
+ white-space: nowrap;
207
+ }
208
+
192
209
  html .rp-doc-layout__doc {
193
210
  background: var(--cp-c-bg);
194
211
  }
@@ -16,11 +16,16 @@
16
16
  */
17
17
 
18
18
  @layer ciderpress.overrides {
19
- html:root {
20
- /* Fonts — map Geist into Rspress's font stack */
21
- --rp-font-family-base: 'Geist', ui-sans-serif, system-ui, sans-serif;
22
- --rp-font-family-mono: 'Geist Mono', ui-monospace, 'SFMono-Regular', monospace;
23
- }
19
+ /* ── Fonts — deliberately NOT set here.
20
+
21
+ Rspress declares `--rp-font-family-base` / `--rp-font-family-mono` on
22
+ `:root` *unlayered*, and unlayered declarations beat every cascade
23
+ layer regardless of selector specificity — so a `html:root` rule in
24
+ this layer silently lost and Rspress's Inter/Menlo defaults stayed in
25
+ force. Both vars are now emitted from the active theme's own unlayered
26
+ block (`COMPAT_VAR_MAP` in `@ciderpress/theme`), which wins on
27
+ specificity, with a fallback declaration in
28
+ `styles/overrides/tokens.css`. ─────────────────────────────────── */
24
29
 
25
30
  /* ── LLMs UI — Ciderpress mounts its own `<LlmsContainer />` inside
26
31
  `<CiderpressDocsBar />`. The H1 placement is suppressed natively
@@ -31,6 +31,15 @@
31
31
  gap: 10px;
32
32
  }
33
33
 
34
+ /* Page badges pinned to the right of the card title row. */
35
+ .cp-section-card__badges {
36
+ margin-left: auto;
37
+ display: inline-flex;
38
+ align-items: center;
39
+ gap: 4px;
40
+ flex: 0 0 auto;
41
+ }
42
+
34
43
  .cp-section-card:hover {
35
44
  border-color: var(--cp-c-brand-1);
36
45
  background: var(--cp-c-bg-elv);
@@ -24,6 +24,28 @@
24
24
  }
25
25
  }
26
26
 
27
+ /* ── Long titles — single-line ellipsis, badge stays pinned ──── */
28
+ /* The item's left slot holds the label; constrain it so the label
29
+ truncates instead of pushing the badge (right slot) out of view.
30
+ A `title` attribute is added by the Sidebar effect on overflow. */
31
+ html .rp-sidebar-item__left {
32
+ min-width: 0;
33
+ flex: 1 1 auto;
34
+ overflow: hidden;
35
+ }
36
+
37
+ html .rp-sidebar-item__left > .rp-doc {
38
+ min-width: 0;
39
+ overflow: hidden;
40
+ text-overflow: ellipsis;
41
+ white-space: nowrap;
42
+ }
43
+
44
+ html .rp-sidebar-item__right {
45
+ flex: 0 0 auto;
46
+ margin-left: 6px;
47
+ }
48
+
27
49
  /* ── Group section headers — mono ALL CAPS (mockup pattern) ──── */
28
50
  html .rp-sidebar-section-header {
29
51
  font-family: var(--cp-font-family-mono);
@@ -35,30 +35,43 @@
35
35
  :root {
36
36
  /* ── Font families ──────────────────────────────────────── */
37
37
  /**
38
- * Default body / UI font — Geist Mono. Whole site reads as a
39
- * terminal-style mono surface.
38
+ * The active theme owns every font on the page. `--cp-ff-sans`,
39
+ * `--cp-ff-mono`, and `--cp-ff-display` are the canonical tokens
40
+ * (`fonts.family.{sans,mono,display}` in `@ciderpress/theme`); each theme
41
+ * emits all three from its own unlayered block, so the values below only
42
+ * apply when no theme CSS is present at all.
43
+ *
44
+ * Semantics:
45
+ * sans base UI + prose font — body, nav, sidebar, hero, cards, docs
46
+ * mono code, terminal chrome, eyebrow labels
47
+ * display decorative headline / brand-mark face (falls back to sans)
48
+ *
49
+ * These values mirror `SHARED_FONTS.family` in `@ciderpress/theme`, so a
50
+ * themeless page degrades to the house default rather than to a different
51
+ * design: `sans` is proportional (Inter), `mono` is Geist Mono, `display`
52
+ * is Geist Pixel Square. Putting the mono stack in `sans` turns every
53
+ * proportional surface — hero, body, nav, sidebar — monospace; the
54
+ * regression guard in `packages/theme/src/fonts.test.ts` exists for that.
40
55
  */
41
- --cp-font-family-base: 'Geist Mono', ui-monospace, 'SFMono-Regular', monospace;
42
- /**
43
- * Optional sans fallback — exposed for cases that explicitly want
44
- * proportional Geist (e.g. very long prose passages).
45
- */
46
- --cp-font-family-sans: 'Geist', ui-sans-serif, system-ui, sans-serif;
47
- /**
48
- * Decorative pixel-art font — opt-in for brand marks, headlines, etc.
49
- * Apply with `font-family: var(--cp-font-family-pixel)` on the target.
50
- */
51
- --cp-font-family-pixel: 'Geist Pixel Square', ui-sans-serif, system-ui, sans-serif;
56
+ --cp-ff-sans:
57
+ 'Inter var experimental', 'Inter var', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
58
+ Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
59
+ --cp-ff-mono: 'Geist Mono', ui-monospace, 'SFMono-Regular', monospace;
60
+ --cp-ff-display: 'Geist Pixel Square', ui-sans-serif, system-ui, sans-serif;
61
+
52
62
  /**
53
- * Monospace alias — same as base. Kept for callsites that explicitly
54
- * tag "this should be monospace" (code, shortcuts, eyebrow labels) so
55
- * the intent stays readable in the stylesheet.
63
+ * Compatibility aliases. Every one of these resolves through a canonical
64
+ * token above, so a rule written against the older name still follows the
65
+ * active theme. Themes re-declare them in their own block (see
66
+ * `COMPAT_VAR_MAP` in `@ciderpress/theme`) — the declarations here are the
67
+ * no-theme-CSS fallback.
56
68
  */
57
- --cp-font-family-mono: 'Geist Mono', ui-monospace, 'SFMono-Regular', monospace;
58
-
59
- /* Canonical aliases matching TOKEN_TO_CSS_VAR (fonts.family.sans/mono). */
60
- --cp-ff-sans: var(--cp-font-family-sans);
61
- --cp-ff-mono: var(--cp-font-family-mono);
69
+ --cp-font-family-base: var(--cp-ff-sans);
70
+ --cp-font-family-sans: var(--cp-ff-sans);
71
+ --cp-font-family-mono: var(--cp-ff-mono);
72
+ --cp-font-family-pixel: var(--cp-ff-display);
73
+ --rp-font-family-base: var(--cp-ff-sans);
74
+ --rp-font-family-mono: var(--cp-ff-mono);
62
75
 
63
76
  /* ── Font weights ───────────────────────────────────────── */
64
77
  --cp-fw-regular: 400;
@@ -272,13 +285,18 @@
272
285
  --cp-announce-h: 36px;
273
286
  }
274
287
 
275
- /* ── Typography defaults — match the mockup (14px / 1.5 / Geist) ── */
288
+ /* ── Typography defaults — match the mockup (14px / 1.5) ──────────
289
+ `body` is listed for completeness only: Rspress's own unlayered
290
+ `body { font-family: var(--rp-font-family-base) }` outranks anything
291
+ in a layer, so the document font is really carried by the theme's
292
+ `--rp-font-family-base` declaration. Both sides resolve to
293
+ `fonts.family.sans`, so the two agree. ──────────────────────────── */
276
294
  html body,
277
295
  html .rp-doc,
278
296
  html .rspress-doc,
279
297
  html .rp-home-hero,
280
298
  html .rp-nav {
281
- font-family: var(--cp-font-family-base);
299
+ font-family: var(--cp-ff-sans);
282
300
  }
283
301
 
284
302
  html body {
@@ -0,0 +1,106 @@
1
+ /**
2
+ * Rich text — inline markup rendered from config copy.
3
+ *
4
+ * Config strings run through the inline renderer, so any display copy
5
+ * can carry `**emphasis**` (bold + brand colour), `==highlight==`,
6
+ * `*italic*`, `` `code` ``, links, and a whitelist of inline HTML. These rules keep that markup legible
7
+ * inside headings and body copy alike, where the document-level
8
+ * typography does not reach.
9
+ */
10
+
11
+ /* Accent — what `**emphasis**` renders as, and the explicit form of
12
+ the hero title's auto-accent.
13
+
14
+ `--cp-c-brand-1` is a FILL colour: it is tuned to sit behind
15
+ `--cp-c-brand-fg`, not to be read as text on the page background. Used
16
+ directly here it failed WCAG AA in four theme/variant combinations, and
17
+ on mulled/dark it measured 2.38:1 — under even the 3:1 large-text floor,
18
+ so it failed at any size including the hero headline.
19
+
20
+ Accent copy lands in 16px/400 body text (`.cp-tabs__body`,
21
+ `.cp-split__body`), so the 4.5:1 bar applies. Every dark variant clears
22
+ it with `--cp-c-brand-light` (5.26:1 on honeycrisp and mulled, up to
23
+ 15.22:1 on arcade) and every light variant with `--cp-c-brand-2`
24
+ (4.83:1 on amber, up to 9.35:1 on mulled). The variant-less fallback
25
+ matches the light rule because the unthemed page background is light.
26
+
27
+ `--cp-c-brand-lighter` is deliberately NOT used here. It is the palest
28
+ rung of the ramp, so it clears contrast by a wide margin (10.43:1 on
29
+ honeycrisp) but washes the hue out — a light red reads as pink, not as
30
+ the brand. `light` is the most saturated rung that still clears 4.5:1.
31
+
32
+ The same pair is used for the home eyebrows (`.cp-hero__eyebrow` aside,
33
+ which is a text-2 pill): see home.css, cta.css and split.css. Keep them
34
+ in step — they are the only other places brand colour carries text. */
35
+ .cp-accent {
36
+ color: var(--cp-c-brand-2, var(--cp-c-brand-1));
37
+ }
38
+
39
+ html[data-cp-variant='dark'] .cp-accent {
40
+ color: var(--cp-c-brand-light, var(--cp-c-brand-1));
41
+ }
42
+
43
+ /* Inline code in display copy: the document code style is tuned for
44
+ prose, so scale it to the surrounding text instead. */
45
+ .cp-hero__title code,
46
+ .cp-hero__tagline code,
47
+ .cp-split__title code,
48
+ .cp-split__body code,
49
+ .cp-tabs__title code,
50
+ .cp-tabs__body code,
51
+ .cp-cta__title code,
52
+ .cp-cta__sub code,
53
+ .cp-feature-section-head__title code,
54
+ .cp-feature-section-head__sub code {
55
+ font-family: var(--cp-font-family-mono);
56
+ font-size: 0.9em;
57
+ padding: 0.1em 0.35em;
58
+ border-radius: var(--cp-radius-xs);
59
+ background: var(--cp-c-bg-soft);
60
+ border: 1px solid var(--cp-c-border);
61
+ }
62
+
63
+ /* Links inside display copy inherit their surroundings and pick up the
64
+ brand colour, rather than the document link treatment. */
65
+ .cp-hero__tagline a,
66
+ .cp-split__body a,
67
+ .cp-tabs__body a,
68
+ .cp-cta__sub a,
69
+ .cp-feature-section-head__sub a {
70
+ color: var(--cp-c-brand-1);
71
+ text-decoration: underline;
72
+ text-underline-offset: 2px;
73
+ }
74
+
75
+ /* A heading link should not shout — keep the heading colour, mark it
76
+ with an underline only. */
77
+ .cp-hero__title a,
78
+ .cp-split__title a,
79
+ .cp-tabs__title a,
80
+ .cp-cta__title a,
81
+ .cp-feature-section-head__title a {
82
+ color: inherit;
83
+ text-decoration: underline;
84
+ text-underline-offset: 3px;
85
+ }
86
+
87
+ /* Highlight — what `==text==` renders as. `<mark>` defaults to a yellow
88
+ browser highlight, so retint it to the brand. The bare-element
89
+ selectors cover `<mark>` written as HTML in config copy, which carries
90
+ no class of its own. */
91
+ .cp-mark,
92
+ .cp-hero__title mark,
93
+ .cp-hero__tagline mark,
94
+ .cp-split__title mark,
95
+ .cp-split__body mark,
96
+ .cp-tabs__title mark,
97
+ .cp-tabs__body mark,
98
+ .cp-cta__title mark,
99
+ .cp-cta__sub mark,
100
+ .cp-feature-section-head__title mark,
101
+ .cp-feature-section-head__sub mark {
102
+ background: var(--cp-c-brand-soft);
103
+ color: var(--cp-c-text-1);
104
+ padding: 0.05em 0.25em;
105
+ border-radius: var(--cp-radius-xs);
106
+ }
@@ -130,8 +130,11 @@ html[data-cp-theme='amber'][data-cp-variant='dark'] {
130
130
  --cp-radius-lg: 10px;
131
131
  --cp-radius-md-lg: 12px;
132
132
  --cp-radius-pill: 9999px;
133
- --cp-ff-sans: 'Geist', ui-sans-serif, system-ui, sans-serif;
133
+ --cp-ff-sans:
134
+ 'Inter var experimental', 'Inter var', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
135
+ Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
134
136
  --cp-ff-mono: 'Geist Mono', ui-monospace, 'SFMono-Regular', monospace;
137
+ --cp-ff-display: 'Geist Pixel Square', ui-sans-serif, system-ui, sans-serif;
135
138
  --cp-fw-regular: 400;
136
139
  --cp-fw-medium: 500;
137
140
  --cp-fw-semibold: 600;
@@ -270,6 +273,18 @@ html[data-cp-theme='amber'][data-cp-variant='dark'] {
270
273
  --rp-home-feature-bg: #1c1c1c;
271
274
  --rp-home-hero-secondary-color: rgba(245, 245, 245, 0.72);
272
275
  --rp-home-hero-title-color: #f5f5f5;
276
+ --rp-font-family-base:
277
+ 'Inter var experimental', 'Inter var', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
278
+ Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
279
+ --rp-font-family-mono: 'Geist Mono', ui-monospace, 'SFMono-Regular', monospace;
280
+ --cp-font-family-base:
281
+ 'Inter var experimental', 'Inter var', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
282
+ Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
283
+ --cp-font-family-sans:
284
+ 'Inter var experimental', 'Inter var', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
285
+ Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
286
+ --cp-font-family-mono: 'Geist Mono', ui-monospace, 'SFMono-Regular', monospace;
287
+ --cp-font-family-pixel: 'Geist Pixel Square', ui-sans-serif, system-ui, sans-serif;
273
288
  }
274
289
 
275
290
  html[data-cp-theme='amber'][data-cp-variant='light'] {
@@ -402,8 +417,11 @@ html[data-cp-theme='amber'][data-cp-variant='light'] {
402
417
  --cp-radius-lg: 10px;
403
418
  --cp-radius-md-lg: 12px;
404
419
  --cp-radius-pill: 9999px;
405
- --cp-ff-sans: 'Geist', ui-sans-serif, system-ui, sans-serif;
420
+ --cp-ff-sans:
421
+ 'Inter var experimental', 'Inter var', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
422
+ Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
406
423
  --cp-ff-mono: 'Geist Mono', ui-monospace, 'SFMono-Regular', monospace;
424
+ --cp-ff-display: 'Geist Pixel Square', ui-sans-serif, system-ui, sans-serif;
407
425
  --cp-fw-regular: 400;
408
426
  --cp-fw-medium: 500;
409
427
  --cp-fw-semibold: 600;
@@ -542,4 +560,16 @@ html[data-cp-theme='amber'][data-cp-variant='light'] {
542
560
  --rp-home-feature-bg: #f0dfb8;
543
561
  --rp-home-hero-secondary-color: rgba(58, 31, 4, 0.72);
544
562
  --rp-home-hero-title-color: #3a1f04;
563
+ --rp-font-family-base:
564
+ 'Inter var experimental', 'Inter var', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
565
+ Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
566
+ --rp-font-family-mono: 'Geist Mono', ui-monospace, 'SFMono-Regular', monospace;
567
+ --cp-font-family-base:
568
+ 'Inter var experimental', 'Inter var', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
569
+ Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
570
+ --cp-font-family-sans:
571
+ 'Inter var experimental', 'Inter var', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
572
+ Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
573
+ --cp-font-family-mono: 'Geist Mono', ui-monospace, 'SFMono-Regular', monospace;
574
+ --cp-font-family-pixel: 'Geist Pixel Square', ui-sans-serif, system-ui, sans-serif;
545
575
  }
@@ -130,8 +130,11 @@ html[data-cp-theme='arcade'][data-cp-variant='dark'] {
130
130
  --cp-radius-lg: 10px;
131
131
  --cp-radius-md-lg: 12px;
132
132
  --cp-radius-pill: 9999px;
133
- --cp-ff-sans: 'Geist', ui-sans-serif, system-ui, sans-serif;
133
+ --cp-ff-sans:
134
+ 'Inter var experimental', 'Inter var', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
135
+ Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
134
136
  --cp-ff-mono: 'Geist Mono', ui-monospace, 'SFMono-Regular', monospace;
137
+ --cp-ff-display: 'Geist Pixel Square', ui-sans-serif, system-ui, sans-serif;
135
138
  --cp-fw-regular: 400;
136
139
  --cp-fw-medium: 500;
137
140
  --cp-fw-semibold: 600;
@@ -270,4 +273,16 @@ html[data-cp-theme='arcade'][data-cp-variant='dark'] {
270
273
  --rp-home-feature-bg: #18183d;
271
274
  --rp-home-hero-secondary-color: rgba(224, 255, 224, 0.72);
272
275
  --rp-home-hero-title-color: #e0ffe0;
276
+ --rp-font-family-base:
277
+ 'Inter var experimental', 'Inter var', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
278
+ Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
279
+ --rp-font-family-mono: 'Geist Mono', ui-monospace, 'SFMono-Regular', monospace;
280
+ --cp-font-family-base:
281
+ 'Inter var experimental', 'Inter var', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
282
+ Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
283
+ --cp-font-family-sans:
284
+ 'Inter var experimental', 'Inter var', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
285
+ Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
286
+ --cp-font-family-mono: 'Geist Mono', ui-monospace, 'SFMono-Regular', monospace;
287
+ --cp-font-family-pixel: 'Geist Pixel Square', ui-sans-serif, system-ui, sans-serif;
273
288
  }
@@ -130,8 +130,11 @@ html[data-cp-theme='grannysmith'][data-cp-variant='dark'] {
130
130
  --cp-radius-lg: 10px;
131
131
  --cp-radius-md-lg: 12px;
132
132
  --cp-radius-pill: 9999px;
133
- --cp-ff-sans: 'Geist', ui-sans-serif, system-ui, sans-serif;
133
+ --cp-ff-sans:
134
+ 'Inter var experimental', 'Inter var', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
135
+ Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
134
136
  --cp-ff-mono: 'Geist Mono', ui-monospace, 'SFMono-Regular', monospace;
137
+ --cp-ff-display: 'Geist Pixel Square', ui-sans-serif, system-ui, sans-serif;
135
138
  --cp-fw-regular: 400;
136
139
  --cp-fw-medium: 500;
137
140
  --cp-fw-semibold: 600;
@@ -270,6 +273,18 @@ html[data-cp-theme='grannysmith'][data-cp-variant='dark'] {
270
273
  --rp-home-feature-bg: #1c1c1c;
271
274
  --rp-home-hero-secondary-color: rgba(245, 245, 245, 0.72);
272
275
  --rp-home-hero-title-color: #f5f5f5;
276
+ --rp-font-family-base:
277
+ 'Inter var experimental', 'Inter var', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
278
+ Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
279
+ --rp-font-family-mono: 'Geist Mono', ui-monospace, 'SFMono-Regular', monospace;
280
+ --cp-font-family-base:
281
+ 'Inter var experimental', 'Inter var', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
282
+ Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
283
+ --cp-font-family-sans:
284
+ 'Inter var experimental', 'Inter var', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
285
+ Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
286
+ --cp-font-family-mono: 'Geist Mono', ui-monospace, 'SFMono-Regular', monospace;
287
+ --cp-font-family-pixel: 'Geist Pixel Square', ui-sans-serif, system-ui, sans-serif;
273
288
  }
274
289
 
275
290
  html[data-cp-theme='grannysmith'][data-cp-variant='light'] {
@@ -402,8 +417,11 @@ html[data-cp-theme='grannysmith'][data-cp-variant='light'] {
402
417
  --cp-radius-lg: 10px;
403
418
  --cp-radius-md-lg: 12px;
404
419
  --cp-radius-pill: 9999px;
405
- --cp-ff-sans: 'Geist', ui-sans-serif, system-ui, sans-serif;
420
+ --cp-ff-sans:
421
+ 'Inter var experimental', 'Inter var', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
422
+ Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
406
423
  --cp-ff-mono: 'Geist Mono', ui-monospace, 'SFMono-Regular', monospace;
424
+ --cp-ff-display: 'Geist Pixel Square', ui-sans-serif, system-ui, sans-serif;
407
425
  --cp-fw-regular: 400;
408
426
  --cp-fw-medium: 500;
409
427
  --cp-fw-semibold: 600;
@@ -542,4 +560,16 @@ html[data-cp-theme='grannysmith'][data-cp-variant='light'] {
542
560
  --rp-home-feature-bg: #f0f0f0;
543
561
  --rp-home-hero-secondary-color: rgba(26, 26, 26, 0.72);
544
562
  --rp-home-hero-title-color: #1a1a1a;
563
+ --rp-font-family-base:
564
+ 'Inter var experimental', 'Inter var', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
565
+ Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
566
+ --rp-font-family-mono: 'Geist Mono', ui-monospace, 'SFMono-Regular', monospace;
567
+ --cp-font-family-base:
568
+ 'Inter var experimental', 'Inter var', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
569
+ Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
570
+ --cp-font-family-sans:
571
+ 'Inter var experimental', 'Inter var', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
572
+ Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
573
+ --cp-font-family-mono: 'Geist Mono', ui-monospace, 'SFMono-Regular', monospace;
574
+ --cp-font-family-pixel: 'Geist Pixel Square', ui-sans-serif, system-ui, sans-serif;
545
575
  }
@@ -7,7 +7,7 @@ html[data-cp-theme='honeycrisp'][data-cp-variant='dark'] {
7
7
  --cp-c-brand-fg: #ffffff;
8
8
  --cp-c-brand-soft: rgba(220, 38, 38, 0.14);
9
9
  --cp-c-on-brand: #ffffff;
10
- --cp-c-brand-light: #f87171;
10
+ --cp-c-brand-light: #ef4444;
11
11
  --cp-c-brand-lighter: #fca5a5;
12
12
  --cp-c-success: #16a34a;
13
13
  --cp-c-error: #dc2626;
@@ -97,7 +97,7 @@ html[data-cp-theme='honeycrisp'][data-cp-variant='dark'] {
97
97
  --cp-oas-deprecated: var(--cp-c-text-3);
98
98
  --cp-oas-required: #dc2626;
99
99
  --cp-button-brand-bg: #dc2626;
100
- --cp-button-brand-hover-bg: #f87171;
100
+ --cp-button-brand-hover-bg: #ef4444;
101
101
  --cp-button-brand-active-bg: #b91c1c;
102
102
  --cp-button-brand-text: #ffffff;
103
103
  --cp-s-1: 1px;
@@ -130,8 +130,11 @@ html[data-cp-theme='honeycrisp'][data-cp-variant='dark'] {
130
130
  --cp-radius-lg: 10px;
131
131
  --cp-radius-md-lg: 12px;
132
132
  --cp-radius-pill: 9999px;
133
- --cp-ff-sans: 'Geist', ui-sans-serif, system-ui, sans-serif;
133
+ --cp-ff-sans:
134
+ 'Inter var experimental', 'Inter var', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
135
+ Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
134
136
  --cp-ff-mono: 'Geist Mono', ui-monospace, 'SFMono-Regular', monospace;
137
+ --cp-ff-display: 'Geist Pixel Square', ui-sans-serif, system-ui, sans-serif;
135
138
  --cp-fw-regular: 400;
136
139
  --cp-fw-medium: 500;
137
140
  --cp-fw-semibold: 600;
@@ -251,7 +254,7 @@ html[data-cp-theme='honeycrisp'][data-cp-variant='dark'] {
251
254
  --rp-c-bg-mute: #0a0a0a;
252
255
  --rp-c-bg-soft: #1c1c1c;
253
256
  --rp-c-brand: #dc2626;
254
- --rp-c-brand-light: #f87171;
257
+ --rp-c-brand-light: #ef4444;
255
258
  --rp-c-brand-lighter: #fca5a5;
256
259
  --rp-c-brand-dark: #b91c1c;
257
260
  --rp-c-brand-darker: #7f1d1d;
@@ -270,6 +273,18 @@ html[data-cp-theme='honeycrisp'][data-cp-variant='dark'] {
270
273
  --rp-home-feature-bg: #1c1c1c;
271
274
  --rp-home-hero-secondary-color: rgba(245, 245, 245, 0.72);
272
275
  --rp-home-hero-title-color: #f5f5f5;
276
+ --rp-font-family-base:
277
+ 'Inter var experimental', 'Inter var', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
278
+ Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
279
+ --rp-font-family-mono: 'Geist Mono', ui-monospace, 'SFMono-Regular', monospace;
280
+ --cp-font-family-base:
281
+ 'Inter var experimental', 'Inter var', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
282
+ Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
283
+ --cp-font-family-sans:
284
+ 'Inter var experimental', 'Inter var', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
285
+ Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
286
+ --cp-font-family-mono: 'Geist Mono', ui-monospace, 'SFMono-Regular', monospace;
287
+ --cp-font-family-pixel: 'Geist Pixel Square', ui-sans-serif, system-ui, sans-serif;
273
288
  }
274
289
 
275
290
  html[data-cp-theme='honeycrisp'][data-cp-variant='light'] {
@@ -279,7 +294,7 @@ html[data-cp-theme='honeycrisp'][data-cp-variant='light'] {
279
294
  --cp-c-brand-fg: #ffffff;
280
295
  --cp-c-brand-soft: rgba(220, 38, 38, 0.14);
281
296
  --cp-c-on-brand: #ffffff;
282
- --cp-c-brand-light: #f87171;
297
+ --cp-c-brand-light: #ef4444;
283
298
  --cp-c-brand-lighter: #fca5a5;
284
299
  --cp-c-success: #16a34a;
285
300
  --cp-c-error: #dc2626;
@@ -402,8 +417,11 @@ html[data-cp-theme='honeycrisp'][data-cp-variant='light'] {
402
417
  --cp-radius-lg: 10px;
403
418
  --cp-radius-md-lg: 12px;
404
419
  --cp-radius-pill: 9999px;
405
- --cp-ff-sans: 'Geist', ui-sans-serif, system-ui, sans-serif;
420
+ --cp-ff-sans:
421
+ 'Inter var experimental', 'Inter var', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
422
+ Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
406
423
  --cp-ff-mono: 'Geist Mono', ui-monospace, 'SFMono-Regular', monospace;
424
+ --cp-ff-display: 'Geist Pixel Square', ui-sans-serif, system-ui, sans-serif;
407
425
  --cp-fw-regular: 400;
408
426
  --cp-fw-medium: 500;
409
427
  --cp-fw-semibold: 600;
@@ -523,7 +541,7 @@ html[data-cp-theme='honeycrisp'][data-cp-variant='light'] {
523
541
  --rp-c-bg-mute: #ffffff;
524
542
  --rp-c-bg-soft: #f0f0f0;
525
543
  --rp-c-brand: #dc2626;
526
- --rp-c-brand-light: #f87171;
544
+ --rp-c-brand-light: #ef4444;
527
545
  --rp-c-brand-lighter: #fca5a5;
528
546
  --rp-c-brand-dark: #b91c1c;
529
547
  --rp-c-brand-darker: #7f1d1d;
@@ -542,4 +560,16 @@ html[data-cp-theme='honeycrisp'][data-cp-variant='light'] {
542
560
  --rp-home-feature-bg: #f0f0f0;
543
561
  --rp-home-hero-secondary-color: rgba(26, 26, 26, 0.72);
544
562
  --rp-home-hero-title-color: #1a1a1a;
563
+ --rp-font-family-base:
564
+ 'Inter var experimental', 'Inter var', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
565
+ Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
566
+ --rp-font-family-mono: 'Geist Mono', ui-monospace, 'SFMono-Regular', monospace;
567
+ --cp-font-family-base:
568
+ 'Inter var experimental', 'Inter var', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
569
+ Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
570
+ --cp-font-family-sans:
571
+ 'Inter var experimental', 'Inter var', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
572
+ Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
573
+ --cp-font-family-mono: 'Geist Mono', ui-monospace, 'SFMono-Regular', monospace;
574
+ --cp-font-family-pixel: 'Geist Pixel Square', ui-sans-serif, system-ui, sans-serif;
545
575
  }
@@ -130,8 +130,11 @@ html[data-cp-theme='midnight'][data-cp-variant='dark'] {
130
130
  --cp-radius-lg: 10px;
131
131
  --cp-radius-md-lg: 12px;
132
132
  --cp-radius-pill: 9999px;
133
- --cp-ff-sans: 'Geist', ui-sans-serif, system-ui, sans-serif;
133
+ --cp-ff-sans:
134
+ 'Inter var experimental', 'Inter var', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
135
+ Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
134
136
  --cp-ff-mono: 'Geist Mono', ui-monospace, 'SFMono-Regular', monospace;
137
+ --cp-ff-display: 'Geist Pixel Square', ui-sans-serif, system-ui, sans-serif;
135
138
  --cp-fw-regular: 400;
136
139
  --cp-fw-medium: 500;
137
140
  --cp-fw-semibold: 600;
@@ -270,4 +273,16 @@ html[data-cp-theme='midnight'][data-cp-variant='dark'] {
270
273
  --rp-home-feature-bg: #111111;
271
274
  --rp-home-hero-secondary-color: rgba(240, 240, 240, 0.72);
272
275
  --rp-home-hero-title-color: #f0f0f0;
276
+ --rp-font-family-base:
277
+ 'Inter var experimental', 'Inter var', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
278
+ Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
279
+ --rp-font-family-mono: 'Geist Mono', ui-monospace, 'SFMono-Regular', monospace;
280
+ --cp-font-family-base:
281
+ 'Inter var experimental', 'Inter var', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
282
+ Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
283
+ --cp-font-family-sans:
284
+ 'Inter var experimental', 'Inter var', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
285
+ Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
286
+ --cp-font-family-mono: 'Geist Mono', ui-monospace, 'SFMono-Regular', monospace;
287
+ --cp-font-family-pixel: 'Geist Pixel Square', ui-sans-serif, system-ui, sans-serif;
273
288
  }