/*
 * The stylesheet tree's contract: what each layer is for, and what a file may do from where it
 * sits. A page-level stylesheet states its own page's constraints as a chapter under this; it
 * does not re-derive the layering.
 *
 * All three layouts link the tree with `stylesheet_link_tag :app`, which globs every .css file
 * under app/assets, sorts the paths, and emits one link per file. So the numeric directory
 * prefixes are the cascade order, a file's layer is decided by its path, and nothing imports
 * anything. This file carries no rules: it sorts after every layer, so a rule written here would
 * override the whole tree.
 *
 * What each layer may hold:
 *
 *   01-settings    custom properties only: the pigments, then the roles everything else reads.
 *   02-brands      each brand beyond Gantry's roles, inside .brand-<name>.
 *   03-generic     the reset and the .crt texture — ground that names no component.
 *   04-elements    unclassed HTML; anything carrying a class belongs to a later layer.
 *   05-objects     layout primitives, with no colour and no skin.
 *   06-components  one .c- component per file, named for what it is, never for where it appears.
 *   08-pages       one .p- layer per page, the only layer that may name a page, plus the
 *                  styleguide's own .sg- chrome.
 *   09-utilities   single-purpose .u- helpers, sorting last so they win.
 *
 * Two things follow from that order which no single file can state. Between layers the order is
 * the whole override mechanism, so a later layer wins with no !important and no lengthened
 * selector: a rule that has to beat an element default belongs in 06-components rather than in a
 * raised-specificity rule in 04-elements. Within a layer the order is alphabetical accident, so
 * two files of one layer must not both style the same element and expect a winner.
 *
 * Colour reaches a rule through the roles in 01-settings/_semantic.css, which 02-brands re-themes
 * by redefining those names and letting them inherit. A rule that reads a pigment from
 * _palette.css, or writes its own literal, keeps Gantry's value on both brands.
 *
 * Nothing here is built or preprocessed and the files are served as written, so the only comment
 * form is CSS's own: a `//` line is not a comment, it is a parse error that costs the rule after
 * it, in silence.
 *
 * Which is what the rest of this file is. The manifest that opened it spelled the Propshaft glob
 * out in full, the star-and-slash inside that glob closed the comment, and everything below is
 * parsed as CSS and thrown away. It stands as it is because this pass may not change a file's
 * code; docs/comment-style-run/operator-notes.md carries the report.
 *
 * README.md documents the system for a reader, and concept.md holds the palette and discipline
 * rules the tokens implement.
 */
*.css, sorted,
 * so the numeric prefixes 01-settings … 09-utilities ARE the cascade order — no manifest needed).
 *
 * Read README.md for the app specifics, concept.md for the philosophy, page-inventory.md for the
 * surface map. Direction A ("gantry-dark / phosphor accents") with the borrowed CRT scanline texture.
 *
 * Cascade order (alphabetical = ITCSS):
 *   01-settings/   tokens (palette → semantic → typography → space-layout → motion)
 *   02-brands/     one file of tokens per brand beyond Gantry's
 *   03-generic/    reset + crt texture
 *   04-elements/   unclassed HTML defaults
 *   05-objects/    layout primitives (o-appshell, stack, cluster, grid, …)
 *   06-components/ one file per component (.c-*)
 *   08-pages/      page composition (.sg-* styleguide chrome, future .p-* pages)
 *   09-utilities/  helpers (.u-*)
 */
