During the element-token audit (branch element-interface-tokens), every themable value in elements.*.css moved behind interface tokens in settings.ui.css. The items below were deliberately left hardcoded, mostly because they are decorative one-offs, structural plumbing, or typographic fine detail a theme is unlikely to tune. Listing them here for review: some need a redesign before it's worth deciding, and any of them can graduate to tokens later.
Decorative treatments (redesign candidates)
Typographic fine detail (em-relative, scales with context)
Structural plumbing (probably never tokens)
Sizing and small type defaults
Related open question
--heading-spacing-condensed keeping its larger-than-default 20px value is now tracked separately in #64.
During the element-token audit (branch
element-interface-tokens), every themable value inelements.*.cssmoved behind interface tokens insettings.ui.css. The items below were deliberately left hardcoded, mostly because they are decorative one-offs, structural plumbing, or typographic fine detail a theme is unlikely to tune. Listing them here for review: some need a redesign before it's worth deciding, and any of them can graduate to tokens later.Decorative treatments (redesign candidates)
addressstripe treatment (elements.text.css): padding,light-dark()background, and the repeating stripedborder-imagebuilt from--no-500and--primary-500are all inline. The whole treatment is one deliberate design; tokenizing its parts individually seemed pointless. If it survives a redesign, it could get an--address-*family.abbrtooltip and help icon (elements.text.css): the::beforebubble hardcodes--base-0on--base-900, a 400px max-width, and--o-4opacity; the::afterhelp icon is an SVG inbackground, so it always renders black (SVG-as-image cannot resolvecurrentColor). Same bug thedetailsmarker had before it switched to a mask painted withcurrentColor; ifabbrkeeps the icon, it should get the same mask treatment and an--abbr-icontoken.markshape (elements.text.css):padding: 0.15em 0.5emand the highlighter-styleborder-radius: 1em 0. The color already comes from--marker-color; the shape felt like part of the design, not a knob.Typographic fine detail (em-relative, scales with context)
text-underline-offset: 2pxona, u, ins, abbr(elements.text.css)code/var/kbdat0.9em(elements.text.css): relative so inline code tracks the surrounding text size (pregot--pre-font-sizesince it sets its own size)dd + dtat0.5em(elements.text.css)insprefix markercontent: "+ "(elements.text.css): could be--ins-contentif anyone would change ithrlabel internals (elements.text.css): the::afterpadding,line-height: 1, and--tracking-smaround--hr-contentStructural plumbing (probably never tokens)
legendvisually-hidden pattern (elements.form.css): replaced by thefieldset > [aria-hidden]headingfieldsetlegend-replacement internals (elements.form.css):margin-bottom: var(--sm3)andfont-size: var(--text-lg)on the[aria-hidden]headingselectmask plumbing (elements.form.css): the derived--splitcalc, the gradient layers that carve the icon zone, and thehsl(from ...)disabled colors (the chevron URL itself is now--select-icon)input[type="number"]padding-inline-end: var(--xs1)(elements.form.css)textareafallbackmin-height: 6emwhen norowsattribute (elements.form.css)dialogclose-button positioning (elements.interactive.css): the--xs3offsets pinning[aria-label="close pop-up"]to the cornerelements.text.quotes.css: spec-mandated per-language quote pairs, nothing themableSizing and small type defaults
audiomax-widthvar(--tera1)(elements.media.css)figcaptionfont-size: var(--text-sm)andfont-style: italic(elements.media.css): the gap became--figcaption-spacing, the type did notcaptionfont-size: var(--text-sm)(elements.table.css): the gap became--table-caption-spacingRelated open question
--heading-spacing-condensedkeeping its larger-than-default 20px value is now tracked separately in #64.