diff --git a/apps/readest-app/src/components/settings/CustomFonts.tsx b/apps/readest-app/src/components/settings/CustomFonts.tsx index dfe94ca2..ea7549ca 100644 --- a/apps/readest-app/src/components/settings/CustomFonts.tsx +++ b/apps/readest-app/src/components/settings/CustomFonts.tsx @@ -198,6 +198,8 @@ const CustomFonts: React.FC = ({ bookKey, onBack }) => { > = ({ bookKey, onBack }) => { className={clsx( 'card h-12 border shadow-sm', currentFontFamily === family.name - ? 'border-primary/50 bg-primary/50' + ? // eink-bordered: bg-primary/50 dodges the eink normalizer, so + // without it the selected card is black-on-black (#4454). + 'border-primary/50 bg-primary/50 eink-bordered' : `border-base-200 bg-base-100 ${isDeleteMode ? '' : 'cursor-pointer'}`, )} onClick={!isDeleteMode ? () => handleSelectFamily(family) : undefined} diff --git a/apps/readest-app/src/styles/globals.css b/apps/readest-app/src/styles/globals.css index 06fc0fe3..6ef6d017 100644 --- a/apps/readest-app/src/styles/globals.css +++ b/apps/readest-app/src/styles/globals.css @@ -530,6 +530,13 @@ input[type='range'].slider-input { background-color: theme('colors.base-content') !important; } +/* Inverted chip for e-ink: base-content fill, base-100 content. Declared after + the substring matchers above so the content color wins the cascade. */ +[data-eink='true'] .eink-inverted { + background-color: theme('colors.base-content') !important; + color: theme('colors.base-100') !important; +} + [data-eink='true'] [class*='font-light'] { font-weight: normal !important; }