Accessibility
Skeleton from @prepared911/ui/skeleton reserves space for content that hasn't loaded yet. The component surfaces a loading label by default; your job is to keep the announcement sensible, swap skeletons for real content promptly, and honor reduced motion.
aria-label="Loading content" (localized) so screen readers announce the state.label ("Loading incident list", "Loading profile") so the rotor knows what will appear.aria-busy container with a single label.aria-label and are non-focusable.aria-busy="true" during loading and remove it once content replaces the skeleton.prefers-reduced-motion: reduce is set; the static outline still conveys "loading".LoadingIndicator for brief operations and reserve skeletons for content-heavy loads.