/*
 * AIOS cascade contract.
 *
 * This file MUST be the first stylesheet loaded in index.html. It declares the
 * layer order once; every other stylesheet only ever *fills* these layers.
 * Layer order replaces specificity as the conflict-resolution mechanism, which
 * is what lets us retire the `!important` debt instead of adding to it.
 *
 * Order (weakest to strongest, for normal declarations):
 *
 *   aios.tactile     three priority declarations that retire legacy button chrome
 *   reset            browser normalisation, box-sizing, prefers-* defaults
 *   tokens           the single source of truth for design tokens
 *   legacy           the 2024-2026 stylesheet pile, frozen, shrinking
 *   aios.base        typography, links, focus, bare form controls
 *   aios.layout      shell, grids, sidebar, scroll containers, responsive
 *   aios.components  chat, cards, reports, rules, resources, onboarding
 *   aios.material    Liquid Glass, and nothing else
 *   aios.state       loading / empty / error / disabled / focus
 *   aios.utilities   single-purpose escape hatches, last resort
 *
 * `legacy` sits early on purpose: anything written in the new layers wins over
 * the old pile without needing `!important`. The remaining hazard is that a
 * `!important` inside `legacy` still beats a normal declaration in a later
 * layer, because important declarations invert the layer order. That is exactly
 * the debt scripts/test-css-architecture.mjs measures and ratchets down. The
 * small `aios.tactile` layer precedes it so its three priority declarations can
 * replace that legacy button chrome without spreading per-component overrides.
 *
 * Migrating a stylesheet out of `legacy` means: move its rules into the right
 * layer, and delete the `!important`s that were only there to win a specificity
 * fight. Never move a file without doing both.
 *
 * Runtime-injected <style> elements are wrapped in `legacy` by their own
 * injector. Unlayered author CSS beats every layer, so nothing may be injected
 * without a layer wrapper.
 */
@layer aios.tactile, reset, tokens, legacy, aios.base, aios.layout, aios.components, aios.material, aios.state, aios.utilities;
