fix(theme): readable on-accent text color and unified accent aliases

Solid-accent buttons used the page text color (--lora-text) or white,
which falls below WCAG AA on the mid-bright accent (L 52-72%) in every
theme/preset — e.g. ~1.7:1 in dark+solarized, making primary buttons
hard to read. Add --color-accent-contrast (dark, low-chroma, same hue,
derived per preset) aliased as --text-on-accent, and switch ~90
accent-background selectors (primary/confirm buttons, nav items, chips,
badges, checkmarks) to it.

Also define the previously dangling --lora-accent-l/c/h, --lora-accent-hover
and --lora-accent-light aliases (fixing ~40 dead declarations), replace the
hardcoded rgba(--lora-accent-rgb, 79 70 229) fallbacks with oklch channel
syntax, and add the missing margin above .template-custom-input in
settings.
This commit is contained in:
Will Miao
2026-10-10 20:41:10 +08:00
parent 3d165f92e0
commit c0165919b3
34 changed files with 129 additions and 103 deletions
+16
View File
@@ -64,6 +64,14 @@ body {
--border-color: var(--border-base);
--lora-accent: var(--color-accent);
/* Channel aliases: referenced across components (oklch tints, focus
rings); previously undeclared, so those declarations silently dropped. */
--lora-accent-l: var(--color-accent-l);
--lora-accent-c: var(--color-accent-c);
--lora-accent-h: var(--color-accent-h);
--lora-accent-hover: var(--color-accent-hover);
--lora-accent-light: var(--color-accent-subtle);
--text-on-accent: var(--color-accent-contrast);
--lora-surface: var(--bg-elevated);
--lora-surface-solid: var(--bg-elevated-solid);
--lora-border: var(--border-subtle);
@@ -93,6 +101,14 @@ body {
--border-color: var(--border-base);
--lora-accent: var(--color-accent);
/* Channel aliases: referenced across components (oklch tints, focus
rings); previously undeclared, so those declarations silently dropped. */
--lora-accent-l: var(--color-accent-l);
--lora-accent-c: var(--color-accent-c);
--lora-accent-h: var(--color-accent-h);
--lora-accent-hover: var(--color-accent-hover);
--lora-accent-light: var(--color-accent-subtle);
--text-on-accent: var(--color-accent-contrast);
--lora-surface: var(--bg-elevated);
--lora-surface-solid: var(--bg-elevated-solid);
--lora-border: var(--border-subtle);