feat(design): Matrix toned down to moss, text on an accent fill held to --accent-fg

The lime accent was the loudest of the four (OKLCH L 0.85, C 0.21) and read as neon; the owner chose the
moss variant at Midnight's lightness with near-neutral greys, and the Matrix backdrops follow it. Fixed
white/black parts on a solid accent fill (two switch knobs, three play buttons, the Up next pill) now use
--accent-fg, and theme.contract.test.ts refuses a fixed white or black next to a solid bg-accent.
This commit is contained in:
2026-09-24 04:49:07 +02:00
parent ad136c3fe8
commit 7d480e2ad0
14 changed files with 59 additions and 39 deletions
+2 -2
View File
@@ -104,7 +104,7 @@ function TouchRow() {
<div className="flex min-h-11 items-center justify-between rounded-lg bg-card/60 px-3">
<span className="text-sm">Dark mode</span>
<span className="relative h-5 w-9 rounded-full bg-accent">
<span className="absolute right-0.5 top-0.5 h-4 w-4 rounded-full bg-white" />
<span className="absolute right-0.5 top-0.5 h-4 w-4 rounded-full bg-accent-fg" />
</span>
</div>
</div>
@@ -136,7 +136,7 @@ function NativeSet() {
<label className={clsx(row, "justify-between")}>
Hide Shorts
<span className="relative h-5 w-9 rounded-full bg-accent">
<span className="absolute right-0.5 top-0.5 h-4 w-4 rounded-full bg-white" />
<span className="absolute right-0.5 top-0.5 h-4 w-4 rounded-full bg-accent-fg" />
</span>
</label>
<label className="flex flex-col gap-1 px-2 text-sm">
+4 -4
View File
@@ -81,9 +81,9 @@ const SCHEMES: SchemeDef[] = [
light: pal("#f6f7f9", "#ffffff", "#e3e6eb", "#1c1f26", "#5d636e", "#a21caf", "#ffffff"),
},
{
name: "Matrix · lime",
dark: pal("#030a06", "#08130d", "#163d27", "#cfe8d6", "#6fae86", "#a3e635", "#04170c"),
light: pal("#f0f7f1", "#ffffff", "#cfe6d6", "#08130b", "#4c6b56", "#4d7c0f", "#ffffff"),
name: "Matrix · moss",
dark: pal("#0b0e0b", "#111510", "#2a3226", "#d9ded6", "#8f9a8a", "#86a05a", "#0c1208"),
light: pal("#f4f5f0", "#ffffff", "#dfe3d8", "#161a14", "#5a6352", "#556b2f", "#ffffff"),
},
];
@@ -472,7 +472,7 @@ export function BatchB() {
id="b2"
code="B2"
title="The scheme set"
rule="Four schemes, four hue families: Midnight blue, Forest cyan, Slate fuchsia, Matrix lime. YouTube and Starship are gone (a user on them lands on Midnight). Rule: an accent is ≥ 30° of OKLCH hue from danger, warn and success, and ≥ 4.5:1 as text and under its button text, dark and light."
rule="Four schemes, four hue families: Midnight blue, Forest cyan, Slate fuchsia, Matrix moss. YouTube and Starship are gone (a user on them lands on Midnight). Rule: an accent is ≥ 30° of OKLCH hue from danger, warn and success, and ≥ 4.5:1 as text and under its button text, dark and light."
>
<div className="grid gap-2 grid-cols-[repeat(auto-fill,minmax(9.5rem,1fr))]">
{SCHEMES.flatMap((s) =>