Two more ways an archived stylesheet could point at nothing, both for resources whose URL carries no file extension.
A stylesheet imported without url() was downloaded and then ignored
@import may name its stylesheet directly:
@import "theme.css";That form was already being followed and fetched, but every rewrite pattern required url(, so the reference was never localised. The imported stylesheet sat in the archive unreferenced while the archived CSS still called the live site — worse than not following it at all, because it looks handled.
before: '@import "http://example.com/bare.css";' bare.css fetched, unused
after: '@import "bare.css";'
Wayback was asked for the wrong flavour of the file
The replay prefix is picked from the URL's extension, so a resource without one got no prefix — and Wayback answers that with its wrapped replay page rather than the raw file. The stylesheet arrived as HTML no matter what happened afterwards.
before: /css/main -> ...20250417203037/...
after: /css/main -> ...20250417203037cs_/...
/js/bundle -> ...20250417203037js_/...
/image/12345 -> ...20250417203037im_/...
URLs that carry an extension keep the existing behaviour untouched.
Both fixes record what a resource is where it is discovered, so MAKE_INTERNAL_LINKS_RELATIVE still decides only how links read — never what a file is.
Verification
485 tests. The link/file sweep and the whole-archive integration test from 1.4.3 and 1.4.4 both still pass.