From 1af719f83832f58b09d55389d2ccf3f942db2223 Mon Sep 17 00:00:00 2001 From: khannurien Date: Sat, 19 Sep 2026 20:57:43 +0000 Subject: [PATCH] =?UTF-8?q?v3:=20times=20theme=20stops=20faking=20what=20I?= =?UTF-8?q?nstrument=20Serif=20lacks=20=E2=80=94=20no=20synthetic=20bold?= =?UTF-8?q?=20or=20small=20caps,=20italic=20datelines,=20spaced-capital=20?= =?UTF-8?q?kickers=20and=20tabs,=20hairline=20borders,=20a=20lifted=20smal?= =?UTF-8?q?l-type=20scale?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5 --- src/themes/nyt.css | 48 +++++++++++++++++++++++++++++++--------------- 1 file changed, 33 insertions(+), 15 deletions(-) diff --git a/src/themes/nyt.css b/src/themes/nyt.css index 47be1055..a9677edf 100644 --- a/src/themes/nyt.css +++ b/src/themes/nyt.css @@ -17,6 +17,18 @@ --radius-xl: 0; --radius-full: 0; + /* Hairlines, not strokes — controls match the rules between stories. */ + --border-width: 1px; + + /* Instrument Serif is a condensed display face: at the shared scale its + small sizes read a step smaller than other themes', so lift the low end. */ + --text-2xs: 0.78rem; + --text-xs: 0.86rem; + --text-sm: 0.94rem; + --text-md: 1rem; + --text-base: 1.06rem; + --text-lg: 1.2rem; + --color-text: light-dark(#121212, #e6e6e6); --color-text-secondary: light-dark(#5a5a5a, #ababab); --color-text-muted: light-dark(#767676, #8a8a8a); @@ -53,6 +65,10 @@ font-family: var(--font-body); font-weight: 400; line-height: 1.5; + /* Single weight, no small caps: never let the browser fake either — a + smeared faux bold or spindly faux small caps give the typeface away. + Hierarchy comes from size, italics and capitals instead. */ + font-synthesis: none; } /* This theme squares everything off — opt the FAB into a square too (it keeps @@ -114,28 +130,27 @@ text-underline-offset: 2px; } -/* ── Section labels — sentence case, no shouty caps ──────────────── */ +/* ── Kickers — section labels & badges in spaced capitals ───────── */ [data-style="nyt"] .comment-section-title, [data-style="nyt"] .related-section-title, [data-style="nyt"] .form-page-eyebrow, -[data-style="nyt"] .feed-sort-btn, -[data-style="nyt"] .category-switcher-option, -[data-style="nyt"] .follow-btn, [data-style="nyt"] .playlist-badge, [data-style="nyt"] .dump-card-private-badge, [data-style="nyt"] .notif-group-label, -[data-style="nyt"] .dump-card-date, -[data-style="nyt"] .journal-card-meta { - text-transform: none; - font-variant-caps: small-caps; - font-size: 90%; - letter-spacing: 0; +[data-style="nyt"] .follow-btn { + text-transform: uppercase; + letter-spacing: 0.08em; } -[data-style="nyt"] .comment-section-title, -[data-style="nyt"] .related-section-title, -[data-style="nyt"] .form-page-eyebrow { - font-weight: 700; +/* ── Datelines — the serif's real italic, in muted ink ────────────── */ +[data-style="nyt"] .dump-card-date, +[data-style="nyt"] .journal-card-meta, +[data-style="nyt"] .comment-time, +[data-style="nyt"] .notification-time, +[data-style="nyt"] .dump-edited-label { + text-transform: none; + letter-spacing: 0; + font-style: italic; } /* ── Lead note — a standfirst with an editorial drop cap ─────────── */ @@ -369,7 +384,10 @@ border-bottom: 2px solid transparent; background: none; color: var(--color-text-muted); - padding: 0.2rem 0.15rem; + padding: 0.2rem 0.1rem; + margin: 0 0.3rem; + font-weight: 400; + letter-spacing: 0.1em; /* condensed caps need more air than the default */ } [data-style="nyt"] .feed-sort-btn:hover { background: none;