A browser drops a whole selector list when one selector in it uses a
pseudo-class or pseudo-element it does not know. Role stylesheets grouped
vendor variants such as ::-moz-placeholder, :-ms-input-placeholder and
::-webkit-input-placeholder into one rule, so Chromium never applied the
rule and Firefox dropped the ones that carried -webkit- selectors.
113 such rules in 20 stylesheets of 15 roles are split into one rule per
vendor group, with the same declarations at the same place in the cascade.
For Jellyfin, OpenBao and Taiga this commit carries only the split of the
committed stylesheet; their pending design passes keep their own changes.
tests/lint/repository/test_css_vendor_pseudo_lists.py scans every
roles/**/*.css and *.css.j2, masks Jinja and comments, and rejects a
selector list whose selectors carry different vendor pseudo groups. A
self-test covers a mixed list and its split form.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
files/php/design.php, run through wp eval-file from tasks/08_design.yml,
sets the title, site icon and site logo as options and writes a
wp_global_styles post for Twenty Twenty-Five whose presets point at the
design tokens, so the site follows the palette in light and dark
without a role stylesheet.
The new mu-plugin infinito-design registers an admin color scheme
infinito, gives it to new accounts and moves accounts still on the
default scheme once; a scheme a user picked is kept. It also styles the
sign-in page and hands the token sheet to the block editor canvas. The
five sheets under files/css map WordPress's compiled admin colors onto
the tokens, since the color scheme API only repaints the chrome.
The spec signs in through the WordPress form when SSO is off, because
the local administrator does not share the platform password, and
asserts tokens, admin chrome, editor, media grid, sign-in page, focus
rings, logo and title before capturing a gallery of site and wp-admin.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>