/**
 * The stroke contract for every icon inc/icons.php registers.
 *
 * WHY THE PRESENTATION IS HERE AND NOT IN THE SVG
 * -----------------------------------------------
 * Not a preference - a constraint. WP_Icons_Registry::sanitize_icon_content()
 * runs wp_kses() with an allowlist of `svg`, `path` and `polygon` and, on them,
 * fill-side attributes only. `stroke`, `stroke-width`, `stroke-linecap` and
 * `stroke-linejoin` are not in it and are dropped on registration. A registered
 * icon therefore arrives as bare geometry, and an SVG with no author styling is
 * `fill: black; stroke: none` - a solid blob the size of its viewBox.
 *
 * So this sheet is the only thing standing between these seventeen files and
 * seventeen black shapes. assets/css/order-receipt.css has carried the same note
 * since the receipt's own icons were written that way by hand.
 *
 * WHY IT IS UNCONDITIONAL, LIKE assets/css/surface.css
 * ----------------------------------------------------
 * Icons are drawn by a pattern on the docs hub, by a renderer on the checkout, by
 * a filter on the downloads archive, by the mobile bar on every page and now by
 * the editor's Icon block wherever somebody puts one. No page predicate answers
 * "is an icon on this page", and an icon whose stylesheet did not arrive is not a
 * degraded icon, it is a black square. Under 400 bytes is the wrong place to save
 * a request.
 *
 * WHY `:where()` AND NOT A PLAIN CLASS
 * -------------------------------------
 * :where() carries ZERO specificity, so every context sheet outweighs this one
 * without having to think about source order or enqueue priority. That matters
 * because the weights genuinely differ by context and always did: 1.6 on the
 * empty cart's 40px mark, 3 on the saved-money check at 12px, 2.2 on the
 * receipt's file rows. Those overrides live in the sheet that owns the element
 * they dress, which is where somebody changing that element will look. A plain
 * `.f32-icon` would tie with `.f32-cart-saved__icon` at 0,1,0 and the winner
 * would be whichever file happened to print second.
 *
 * 2 IS THE DEFAULT because it is what most of the set already used. An icon with
 * no override in its own sheet is meant to be at 2.
 */

:where(.f32-icon) {
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}
