Index a site's CSS and parse its page once

FeatureSecurityService
Shipped
August 25, 2026 at 4:31 PM UTC
Author
Kamo
Commit
e04d2c9

A declaration scanner rather than a CSS grammar: the scan has three questions (custom properties, background images, colours) and none needs the cascade resolved -- it is looking for evidence of intent, not the computed value of any element. Three things it would be easy to get wrong and that the tests pin: @media/@supports/@layer are FLATTENED, not treated as declaration blocks, because responsive sites put most real styling including hero backgrounds behind a media query; declarations split on semicolons outside parens, so a url() data payload does not tear a value in half; and var() resolves exactly one hop, because --a:var(--b);--b:var(--a) is a real thing people write and chasing the chain needs a cycle guard. style="" attributes are collected too. Elementor, Webflow and Squarespace put the hero background on the element rather than in a stylesheet, so reading only <style> and <link> finds no hero on most small-business sites.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing