From 91e6da4a60f8c764c723a68ead0f67da4f5de8ea Mon Sep 17 00:00:00 2001 From: Benoit TRAVERS Date: Sun, 28 Jun 2026 01:27:56 +0200 Subject: [PATCH 1/2] Implement the btravstack Design System token model MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Align packages/theme + the landing with the canonical design system (claude.ai/design btravstack Design System), which formalizes the tokens: - tokens.css: split brand FILL (--accent) from accent-as-TEXT (--text-accent / --text-green); add --glass, accent washes, --code-bg, --green-rgb, and a full type scale (--fs-*/--tracking-*/--lh-*). Move the light scheme into the tokens (:root:not(.dark) + .light/[data-theme]) so surfaces/text/accent flip globally — warm near-whites with the brand darkened to deep beetroot (#A52260 ~5.6:1) for WCAG-AA links on white. - style.css: collapse the VitePress mapping to one scheme-aware :root:root block (brand-1 = --text-accent), add tip/warning admonition tints. - Landing.vue: use --text-accent for colored text, --accent for fills, --glass header, accent washes; drop the now-redundant ad-hoc light block. Bump @btravstack/theme 1.0.0 -> 1.1.0 (also carries the earlier flourishes). Verified light + dark on the landing and on VitePress chrome: fills stay pink, text/links darken to #A52260, no console errors. Co-Authored-By: Claude Opus 4.8 (1M context) --- apps/website/.vitepress/theme/Landing.vue | 34 ++-- packages/theme/package.json | 10 +- packages/theme/src/style.css | 111 ++++++------- packages/theme/src/tokens.css | 181 ++++++++++++++++------ 4 files changed, 199 insertions(+), 137 deletions(-) diff --git a/apps/website/.vitepress/theme/Landing.vue b/apps/website/.vitepress/theme/Landing.vue index 97f1885..7c115a3 100644 --- a/apps/website/.vitepress/theme/Landing.vue +++ b/apps/website/.vitepress/theme/Landing.vue @@ -232,7 +232,6 @@ onMounted(() => {