What problem does it solve? Sonner toasts often fail in confusing ways: they never appear, render twice, ignore Tailwind classes, hide behind modals, or ignore dark mode. This Skill provides authoritative setup patterns, the full toast() API, and a symptom-to-fix troubleshooting table so you resolve Sonner issues without digging through source code. ## Core Features & Use Cases - Setup and call selection: Mount one <Toaster /> at the root and pick the right call — toast(), typed variants, toast.loading, toast.promise, or headless toast.custom. - Styling escalation ladder: Progress from richColors and inline styles through classNames with !important to fully headless custom toasts, plus icon and theme configuration. - Troubleshooting reference: Diagnose duplicate toasts, lost styles, stacking-context clipping, Shadow DOM issues, stuck toast.promise calls, and dark-mode mismatches. - Use Case: Your toast renders behind a modal in a Next.js app. Consult the troubleshooting table, learn the cause is an ancestor stacking context, and move <Toaster /> to the document root. ## Quick Start Ask how to fix a Sonner toast that appears twice in my Next.js app and show the correct Toaster setup.