diff --git a/app/globals.css b/app/globals.css index af3eee1..ca56ace 100644 --- a/app/globals.css +++ b/app/globals.css @@ -82,10 +82,16 @@ @theme inline { /* Fonts: chrome = JetBrains Mono, prose = Source Sans 3, titles = CMU - Serif bold. The JetBrains/SourceSans variables attach in app/layout.tsx. */ + Serif bold. The JetBrains/SourceSans variables attach in app/layout.tsx. + (owner, typography round) The Tailwind defaults are ALIASED to the app + fonts: `font-mono`/`font-sans` utilities would otherwise fall to the + SYSTEM stacks — a fourth font the app never chose — and streamdown's + code-block chrome + mermaid-error + demo-card all use them. */ --font-ui: var(--font-jetbrains), ui-monospace, SFMono-Regular, monospace; --font-prose: var(--font-sans3), ui-sans-serif, system-ui, sans-serif; --font-title: "lh-cmu", serif; + --font-mono: var(--font-jetbrains), ui-monospace, SFMono-Regular, monospace; + --font-sans: var(--font-sans3), ui-sans-serif, system-ui, sans-serif; /* The modular type ladder — each size carries its own line-height. Component sizes must pull from this ladder. */ --text-xxs: 10px; diff --git a/components/sidebar.tsx b/components/sidebar.tsx index 4324d0b..b046ed2 100644 --- a/components/sidebar.tsx +++ b/components/sidebar.tsx @@ -133,7 +133,12 @@ export function SessionRow({ > - {chat.title} + {/* Titles are the learner's/teacher's WORDS — Source Sans 3, the + same voice the words were typed in (every input is lh-prose); + the meta line below stays JetBrains Mono (machine data). One + rule, finally applied to the picker too (owner, typography + round): mono = chrome, Source Sans = human words. */} + {chat.title} {sessionMeta(chat)}