From acd5a9dedcd18c9f8e13335d49230e497b7cc27f Mon Sep 17 00:00:00 2001 From: zzq0826 <12936800+zzq0826@users.noreply.github.com> Date: Sat, 12 Sep 2026 09:51:20 +0800 Subject: [PATCH] feat(landing): heavier product titles in the rail and panel heads MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Zhengqi 2026-09-12: "Compass API" and "AI Hardware" in bold — beside the active, ink-coloured "Compass" the two faint serif names read thin. Instrument Serif has no bold cut and the browser's synthetic bold smears it, so the build script gives .rail__name and .panel__name a 0.7px text stroke in the text colour, the technique his file already uses on .display and .section-title (0.5 barely showed, 0.9 went clumsy). All three names take it so the rail stays one voice; the phone's panel heads likewise. design/landing.html is untouched. (cherry picked from commit de290c78e6fd9b3e4507761bb06496be47cc61e8) --- scripts/build-landing.mjs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/scripts/build-landing.mjs b/scripts/build-landing.mjs index 95dd31877..6ced4fdd0 100644 --- a/scripts/build-landing.mjs +++ b/scripts/build-landing.mjs @@ -58,6 +58,24 @@ once( "body {\n margin: 0; min-height: 100vh; box-sizing: border-box; display: grid; place-items: center; padding: 24px;\n background: transparent; /* the component paints no background of its own */\n font-family: ui-sans-serif, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;\n }", ) +// ---- the product titles in the rail and the panel heads: Zhengqi 2026-09-12 asked for +// "Compass API" and "AI Hardware" in bold — next to the active, ink-coloured "Compass" the +// two faint serif names read thin. Instrument Serif has no bold cut, and the browser's +// synthetic bold smears it, so this thickens the letters the way his own file does for +// .display and .section-title: a hairline stroke in the text colour. 0.7px at 22–24px is +// the semibold weight (0.5 barely showed, 0.9 went clumsy); all three names get it so the +// rail stays one voice, the panel heads on phones likewise. ---- +once( + "rail names heavier", + ".rail__name{\n font-family:var(--serif);font-size:1.375rem;font-weight:400;", + ".rail__name{\n font-family:var(--serif);font-size:1.375rem;font-weight:400;-webkit-text-stroke:.7px currentColor;", +) +once( + "panel names heavier", + ".panel__name{font-family:var(--serif);font-size:1.5rem;font-weight:400}", + ".panel__name{font-family:var(--serif);font-size:1.5rem;font-weight:400;-webkit-text-stroke:.7px currentColor}", +) + // ---- the waitlist form: his submitEmail only pretends; this posts to Loops ------------ const formId = constant("LOOPS_FORM_ID") const listId = constant("LOOPS_MAILING_LIST_ID")