From 9a7cc55cb2fa98677ca75a10f2b12eb39a16f84b Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 29 Sep 2026 07:14:00 +0000 Subject: [PATCH 1/2] Use the solid blue for fills and light-mode blue text White on #3c7dff is 3.77:1 and fails WCAG AA, so filled controls and blue text on white now use --ds-primary-solid (#3366fc, 4.72:1). #3c7dff stays the brand and signal blue on dark. Follows NextCommerceCo/design-system#2. Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01DfUoyGsC1hrfa8v6VHhD3h --- app/globals.css | 6 ++++-- app/layout.tsx | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/app/globals.css b/app/globals.css index ab5df10..e57b163 100644 --- a/app/globals.css +++ b/app/globals.css @@ -7,11 +7,13 @@ /* Canonical token source: design-system/tokens/ + fumadocs-bridge.css */ +/* Light: the solid blue (#3366fc, --ds-primary-solid) because fd-primary is + also link text on white, where #3c7dff is 3.77:1. Dark keeps #3c7dff. */ :root { - --color-fd-primary: #3c7dff; + --color-fd-primary: #3366fc; --color-fd-primary-foreground: #ffffff; --color-fd-idea: oklch(65% 0.2 145); - --font-sans: var(--font-sans); + --font-sans: var(--font-inter); } @theme inline { diff --git a/app/layout.tsx b/app/layout.tsx index 9012eee..7a940b2 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -6,7 +6,7 @@ import type { Metadata } from 'next'; import type { ReactNode } from 'react'; import './globals.css'; -const inter = Inter({ subsets: ['latin'], variable: '--font-sans' }); +const inter = Inter({ subsets: ['latin'], variable: '--font-inter' }); const jetbrainsMono = JetBrains_Mono({ subsets: ['latin'], variable: '--font-mono' }); // Set only in the production build env, so local dev and previews send nothing. From c2dce0e8cda9d404c50f8fbf2246c4b2b67b6b6d Mon Sep 17 00:00:00 2001 From: Claude Date: Tue, 29 Sep 2026 08:09:57 +0000 Subject: [PATCH 2/2] Fill primary buttons with the solid blue in both modes White on #3c7dff (dark fd-primary) is 3.77:1. Co-Authored-By: Claude Opus 5.5 (1M context) Claude-Session: https://claude.ai/code/session_01DfUoyGsC1hrfa8v6VHhD3h --- app/globals.css | 7 +++++-- app/page.tsx | 6 +++--- components/ui/button.tsx | 2 +- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/app/globals.css b/app/globals.css index e57b163..01a95b9 100644 --- a/app/globals.css +++ b/app/globals.css @@ -7,11 +7,14 @@ /* Canonical token source: design-system/tokens/ + fumadocs-bridge.css */ -/* Light: the solid blue (#3366fc, --ds-primary-solid) because fd-primary is - also link text on white, where #3c7dff is 3.77:1. Dark keeps #3c7dff. */ +/* fd-primary is blue text: the solid blue (#3366fc, --ds-primary-solid) on + white, where #3c7dff is 3.77:1; dark keeps #3c7dff. Filled controls use + --color-fd-primary-solid in both modes (white on #3c7dff is 3.77:1). */ :root { --color-fd-primary: #3366fc; --color-fd-primary-foreground: #ffffff; + --color-fd-primary-solid: #3366fc; + --color-fd-primary-solid-hover: #2a5bd7; --color-fd-idea: oklch(65% 0.2 145); --font-sans: var(--font-inter); } diff --git a/app/page.tsx b/app/page.tsx index 4c213a9..16b8909 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -262,7 +262,7 @@ export default function HomePage() {
Start Building