/* =============================================================================
   build.css -- STAGING LAYER for new-feature styling (guts <-> design handoff)
   =============================================================================

   PURPOSE
     When the guts chat builds a feature that needs styling, it writes FUNCTIONAL
     class rules here -- using real, semantic class names -- instead of inline
     style="..." placeholders. The markup is then final on the first pass. The
     design chat's job is to MOVE each rule into theme.css (making it correct and
     on-doctrine) and DELETE it from here.

   THE CONTRACT
     - Loads FIRST, before theme.css (see shell_head()). Deliberate: a staged rule
       sits at the BOTTOM of the cascade, so it can never mask or override a real
       theme.css component. And when a rule is later moved into theme.css it must
       win on its own specificity there -- the same reality it faced here -- so
       there's no "worked in build.css, broke when moved" surprise. No :where().
     - APP / SHELL ONLY. Not linked into the admin pages: admin renders its own
       page_css() which does NOT include tokens.css, so a staged rule using
       var(--token) there would silently do nothing. Admin-rendered features keep
       using the existing approach until the admin system gets tokens (design
       backlog item 1).
     - Tokens ARE available here (theme.css @imports tokens.css into the same
       document), so var(--accent) / var(--danger) / etc. resolve normally.
     - EVERY rule carries a one-line comment: what it's for + any open question,
       so the design chat inherits the intent, not just the declaration.

   LIFECYCLE
     - A feature is not "done" until its rules have LEFT this file.
     - EMPTY is the healthy steady state. If rules are sitting here, they're a
       pending design-chat queue (the Cascade Check surfaces stragglers).

   ---------------------------------------------------------------------------
   Staged rules go below this line. Keep the file empty when nothing is pending.
   --------------------------------------------------------------------------- */
