{
  "stylesheetInfrastructure": {
    "description": "Infrastructure stylesheets sit outside the PascalCase architecture-key and class-contract ownership system.",
    "files": {
      "base.css": {
        "description": "Global document and browser foundations: reset and box sizing, html/body baselines, global typography and link mechanics, responsive media defaults, document background and color, and theme font-face declarations or exceptional document-global styling.",
        "mustNotOwn": "QP primitive or component class hooks, component-specific styling, or behavior already owned by an architecture primitive.",
        "themeUse": "Themes normally express shared foundation behavior through semantic variables. A theme base.css may remain for font-face resource declarations and exceptional document-global styling.",
        "architectureKey": null,
        "classContractKey": null
      },
      "variables.css": {
        "description": "Shared and theme-specific semantic CSS custom properties consumed by infrastructure and architecture-owner stylesheets.",
        "architectureKey": null,
        "classContractKey": null
      },
      "style.css": {
        "description": "Theme stylesheet entry point that orders infrastructure and architecture-owner imports.",
        "architectureKey": null,
        "classContractKey": null
      }
    }
  },
  "responsive": {
    "basis": "viewport-inline-size",
    "referencePixelsPerRem": 16,
    "description": "Canonical Quail Pages presentation-width vocabulary. These ranges describe available viewport inline size, not device detection. Rem boundaries are canonical; at the 16px reference size, 48rem corresponds to 768px and 64rem corresponds to 1024px. Component-owned container queries and content-fit breakpoints may use independent thresholds.",
    "presentations": {
      "mobile": {
        "maximumInclusiveRem": 48,
        "description": "Viewport inline sizes up to and including 48rem."
      },
      "tablet": {
        "minimumExclusiveRem": 48,
        "maximumInclusiveRem": 64,
        "description": "Viewport inline sizes greater than 48rem and up to and including 64rem."
      },
      "desktop": {
        "minimumExclusiveRem": 64,
        "description": "Viewport inline sizes greater than 64rem."
      }
    }
  },
  "layers": {
    "description": "Canonical Quail Pages global layer vocabulary. Its system values are semantic floors that divide global z-index into architectural airspace, not general-purpose tokens for CSS behaviors that sound similar. Content remains in normal document flow and does not receive a global z-index by default; when explicit theme/content ordering is necessary, it normally stays below the first system floor (currently 0–99). Crossing a floor assigns interface to that QP-managed stratum. Components may establish local stacking contexts and use small local increments within their assigned airspace without crossing into another global layer.",
    "incrementGuidance": {
      "floorSpacing": 100,
      "description": "Declared global semantic floors are separated by 100 points to leave working room for small local ordering adjustments within each assigned stratum. Authors should still prefer normal painting order and local stacking contexts, and should not fill the ranges with arbitrary global values or cross another floor merely to win a stacking conflict."
    },
    "levels": {
      "content": {
        "description": "Ordinary document content and theme-owned composition participating in normal document flow and natural painting order. Content has no declared global layer floor, CSS variable, or default z-index. When explicit ordering is necessary, themes normally remain below the persistent floor (currently 0–99); CSS behavior such as position: sticky does not by itself move an element into a managed system stratum."
      },
      "persistent": {
        "floor": 100,
        "cssVariable": "--qp-system-layer-persistent",
        "description": "QP-managed viewport-persistent interface that remains available while document content moves, demonstrated by StickyTray. Persistent is an architectural role, while sticky is only a CSS behavior; theme-authored sticky content normally remains in content airspace unless it deliberately participates in this managed interface stratum."
      },
      "overlay": {
        "floor": 200,
        "cssVariable": "--qp-system-layer-overlay",
        "description": "QP-managed temporary interface that must appear above persistent surfaces without taking over the page interaction context, such as popovers, disclosures, backdrops, and similar overlays. The floor reserves this semantic stratum even when no current Base component consumes it directly."
      },
      "modal": {
        "floor": 300,
        "cssVariable": "--qp-system-layer-modal",
        "description": "QP-managed interface that takes over or dominates page interaction while active, demonstrated by Modal and Lightbox and also appropriate to takeover navigation."
      },
      "system": {
        "floor": 400,
        "cssVariable": "--qp-system-layer-system",
        "description": "Highest QP-managed transient application/system interface, demonstrated by Toast and intended for feedback that must remain visible above ordinary interactive layers."
      }
    }
  },
  "kinds": {
    "Site": {
      "description": "Root authored concept that defines a Quail Pages site and coordinates its site-wide configuration."
    },
    "Page": {
      "description": "Root authored concept that defines an individual Quail Pages page and coordinates its layout and content."
    },
    "Layout": {
      "description": "Structural authored concepts that organize pages and rendered content."
    },
    "Rendered Content": {
      "description": "Authored content rendered directly through a stable Quail Pages surface."
    },
    "Built Content": {
      "description": "Authored content that derives or adapts other data into rendered Quail Pages structures."
    },
    "Custom Content": {
      "description": "Authored extension points resolved through reusable components or registered plugins."
    },
    "Supporting Object": {
      "description": "Authored structured data consumed by another object without an independent rendering role."
    },
    "Site Configuration": {
      "description": "Authored site-level structures that configure behavior, mappings, defaults, registries, and identity."
    },
    "Core System": {
      "description": "Internal renderer and runtime concepts that support stable Quail Pages behavior."
    }
  },
  "objects": {
    "PageDocument": {
      "kind": "Page"
    },
    "PageHeader": {
      "kind": "Layout",
      "category": "Framing"
    },
    "SiteHeader": {
      "kind": "Layout",
      "category": "Framing"
    },
    "SiteFooter": {
      "kind": "Layout",
      "category": "Framing"
    },
    "PageSection": {
      "kind": "Layout",
      "category": "Section"
    },
    "StandardSection": {
      "kind": "Layout",
      "category": "Section"
    },
    "RegionSection": {
      "kind": "Layout",
      "category": "Section"
    },
    "Region": {
      "kind": "Layout"
    },
    "StickyTray": {
      "kind": "Layout"
    },
    "StickyTrayTriggerGroup": {
      "kind": "Supporting Object"
    },
    "Card": {
      "kind": "Supporting Object"
    },
    "CardList": {
      "kind": "Rendered Content"
    },
    "Cta": {
      "kind": "Rendered Content"
    },
    "Divider": {
      "kind": "Rendered Content"
    },
    "Gallery": {
      "kind": "Rendered Content"
    },
    "Image": {
      "kind": "Rendered Content"
    },
    "Icon": {
      "kind": "Supporting Object"
    },
    "List": {
      "kind": "Rendered Content"
    },
    "Menu": {
      "kind": "Rendered Content"
    },
    "Paragraph": {
      "kind": "Rendered Content"
    },
    "Socials": {
      "kind": "Built Content"
    },
    "Video": {
      "kind": "Rendered Content"
    },
    "PageList": {
      "kind": "Built Content"
    },
    "ProductList": {
      "kind": "Built Content"
    },
    "Toc": {
      "kind": "Built Content"
    },
    "Component": {
      "kind": "Custom Content",
      "category": "Component"
    },
    "ComponentRef": {
      "kind": "Custom Content",
      "category": "Component"
    },
    "PluginRef": {
      "kind": "Custom Content"
    },
    "Link": {
      "kind": "Supporting Object"
    },
    "MenuItem": {
      "kind": "Supporting Object"
    },
    "PageCard": {
      "kind": "Supporting Object",
      "category": "Page List"
    },
    "PageListItemSettings": {
      "kind": "Supporting Object",
      "category": "Page List"
    },
    "ProductCard": {
      "kind": "Supporting Object"
    },
    "SiteDocument": {
      "kind": "Site"
    },
    "PageRoute": {
      "kind": "Site Configuration"
    },
    "SiteAuthor": {
      "kind": "Site Configuration",
      "category": "Authors"
    },
    "SiteAuthors": {
      "kind": "Site Configuration",
      "category": "Authors"
    },
    "SiteBranding": {
      "kind": "Site Configuration"
    },
    "SiteIdentity": {
      "kind": "Site Configuration",
      "category": "Identity"
    },
    "SiteBrandIdentity": {
      "kind": "Site Configuration",
      "category": "Identity"
    },
    "SiteIdentityIdentifier": {
      "kind": "Supporting Object",
      "category": "Identity"
    },
    "SiteImageDefaults": {
      "kind": "Site Configuration"
    },
    "PluginConfig": {
      "kind": "Site Configuration",
      "category": "Plugins"
    },
    "SitePlugins": {
      "kind": "Site Configuration",
      "category": "Plugins"
    },
    "SiteSocial": {
      "kind": "Site Configuration",
      "category": "Socials"
    },
    "SiteSocials": {
      "kind": "Site Configuration",
      "category": "Socials"
    },
    "SiteVariables": {
      "kind": "Site Configuration"
    },
    "Accessibility": {
      "kind": "Core System"
    },
    "Lightbox": {
      "kind": "Core System"
    },
    "Modal": {
      "kind": "Rendered Content"
    },
    "ModalDefinition": {
      "kind": "Supporting Object"
    },
    "RuntimeStates": {
      "kind": "Core System"
    },
    "Toast": {
      "kind": "Core System"
    }
  }
}
