From 692cfd6034c89622ccacbc047b81db42a5364488 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Mon, 12 Oct 2026 10:02:58 +0000 Subject: [PATCH] Stop dark-mode link-blue from painting project titles and team icons The vendored :root[data-theme="dark"] a:where(:not([class])) rule at (0,2,1) beat component colour rules at (0,1,1). Dark-scoped companions restore heading inherit on project titles and --fg-2 on icon rows, with the existing teal hover. tokens.css is unchanged. lint-staged prettier is skipped because it would rewrite unrelated one-line rules in these CSS files. --- assets/css/footer-v2.css | 19 +++++++++++++++++++ assets/css/home.css | 13 +++++++++++++ assets/css/projects-v2.css | 10 ++++++++++ assets/css/research-v2.css | 10 ++++++++++ assets/css/teaching.css | 11 +++++++++++ assets/css/team-v2.css | 15 +++++++++++++++ 6 files changed, 78 insertions(+) diff --git a/assets/css/footer-v2.css b/assets/css/footer-v2.css index 8b8ddc7b..5e590892 100644 --- a/assets/css/footer-v2.css +++ b/assets/css/footer-v2.css @@ -79,6 +79,15 @@ .c-footer__col a:hover { color: var(--c-accent-teal); } +/* Beat :root[data-theme="dark"] a:where(:not([class])) (0,2,1). */ +:root[data-theme="dark"] .c-footer__col a { + color: var(--fg-1); +} + +:root[data-theme="dark"] .c-footer__col a:hover { + color: var(--c-accent-teal); +} + /* --- Partner strip ----------------------------------------- */ .c-footer__partners { padding-top: var(--s-5); @@ -152,6 +161,16 @@ border-bottom-color: var(--c-accent-teal); } +:root[data-theme="dark"] .c-footer__legal a { + color: var(--fg-2); + border-bottom-color: var(--c-border-strong); +} + +:root[data-theme="dark"] .c-footer__legal a:hover { + color: var(--c-accent-teal); + border-bottom-color: var(--c-accent-teal); +} + /* --- Responsive -------------------------------------------- */ @media (max-width: 820px) { .c-footer__top { grid-template-columns: 1fr 1fr; } diff --git a/assets/css/home.css b/assets/css/home.css index 8ddbd578..49cd3594 100644 --- a/assets/css/home.css +++ b/assets/css/home.css @@ -1022,6 +1022,19 @@ body.home-v2 #featured-wrapper { font-size: 13px; } +/* Beat :root[data-theme="dark"] a:where(:not([class])) (0,2,1). */ +:root[data-theme="dark"] .member__links a { + color: var(--fg-2); +} + +:root[data-theme="dark"] .member__links a:hover { + color: var(--c-accent-teal); +} + +:root[data-theme="dark"] .member__links i { + color: inherit !important; +} + .member--pi .member__photo { background: color-mix(in srgb, var(--c-accent-teal) 12%, var(--c-paper-tint)); color: var(--c-accent-teal); diff --git a/assets/css/projects-v2.css b/assets/css/projects-v2.css index 78e1b104..f8fed4fc 100644 --- a/assets/css/projects-v2.css +++ b/assets/css/projects-v2.css @@ -103,6 +103,16 @@ color: var(--c-accent-teal); } +/* Beat :root[data-theme="dark"] a:where(:not([class])) (0,2,1). */ +:root[data-theme="dark"] .projects-list__title a { + color: inherit; +} + +:root[data-theme="dark"] .projects-list__title a:hover, +:root[data-theme="dark"] .projects-list__title a:focus-visible { + color: var(--c-accent-teal); +} + .projects-list__note { font-size: var(--t-small); color: var(--fg-2); diff --git a/assets/css/research-v2.css b/assets/css/research-v2.css index ed64b99b..f98d796a 100644 --- a/assets/css/research-v2.css +++ b/assets/css/research-v2.css @@ -400,6 +400,16 @@ background: color-mix(in srgb, var(--c-accent-teal) 8%, transparent); } +/* Beat :root[data-theme="dark"] a:where(:not([class])) (0,2,1). */ +:root[data-theme="dark"] .toc-list a { + color: var(--fg-2); +} + +:root[data-theme="dark"] .toc-list a:hover, +:root[data-theme="dark"] .toc-list a.active { + color: var(--c-accent-teal); +} + /* Drop the leftover styles.css glass box. The publication list already sits on --c-paper beside a TOC and year rules; a second surface (10px radius, legacy shadow, cool white / #1e1e1e fill) is a frame diff --git a/assets/css/teaching.css b/assets/css/teaching.css index f8512a19..098b5ffb 100644 --- a/assets/css/teaching.css +++ b/assets/css/teaching.css @@ -89,6 +89,17 @@ border-bottom-color: var(--c-accent-teal); } +/* Beat :root[data-theme="dark"] a:where(:not([class])) (0,2,1). */ +:root[data-theme="dark"] .teaching-breadcrumb a { + color: var(--fg-2); + border-bottom-color: transparent; +} + +:root[data-theme="dark"] .teaching-breadcrumb a:hover { + color: var(--c-accent-teal); + border-bottom-color: var(--c-accent-teal); +} + .teaching-content { max-width: var(--maxw-page); margin: 0 auto; diff --git a/assets/css/team-v2.css b/assets/css/team-v2.css index 6df4ec05..ae8663c4 100644 --- a/assets/css/team-v2.css +++ b/assets/css/team-v2.css @@ -208,6 +208,21 @@ .t-member__links i { font-size: 13px; } +/* Beat :root[data-theme="dark"] a:where(:not([class])) (0,2,1). */ +:root[data-theme="dark"] .t-member__links a { + color: var(--fg-2); +} + +:root[data-theme="dark"] .t-member__links a:hover { + color: var(--c-accent-teal); +} + +/* styles.css paints GitHub/Bluesky/LinkedIn white in dark with + !important; inherit so every icon in the row is --fg-2. */ +:root[data-theme="dark"] .t-member__links i { + color: inherit !important; +} + /* The PI tile gets teal framing to stand out */ .t-member--pi .t-member__photo { background: color-mix(in srgb, var(--c-accent-teal) 12%, var(--c-paper-tint));