/* The cascade contract. This file links first (Propshaft serves app/assets/stylesheets
   in sorted filename order) and declares every layer's precedence in one line — later
   layers beat earlier ones regardless of selector specificity.

   - tokens:    the :root design tokens (010).
   - base:      resets, element defaults, app chrome shells (020).
   - surfaces:  every per-surface file (030-160). Within this layer the numeric filename
     prefixes still decide order — file order IS the intra-layer cascade, exactly as it
     was in the monolith. New surface files pick a prefix for what they may override.
   - overrides: terminal utilities that must beat any surface rule (170). Keep it tiny.

   Rules for new CSS:
   - Every stylesheet file wraps its whole content in `@layer <name> { ... }` starting at
     line 1 — scripts/check_css_layers.mjs (run by `npm run lint:css`) fails CI otherwise.
     An unlayered rule would silently beat ALL layered rules; the fence exists so that
     can never happen by accident.
   - `!important` stays reserved for the reduced-motion accessibility block in 080, which
     must win unconditionally, everywhere, forever. Utilities that merely need to beat
     surface styles belong in `overrides` instead — that is what the layer is for. */

@layer tokens, base, surfaces, overrides;
