I want you to act as a senior front-end developer specializing in pure HTML, CSS, and JS. Generate a Notification/Toast component supporting light/dark themes, auto-dismiss, and a single source of truth for styling.
Requirements:
HTML structure for notification container and message elements.
CSS with variables for background, text, borders, shadows, and themes.
JS for adding, removing, timing, and theming notifications.
Include JSDoc comments for all methods and state objects.
Unit-testable functions for showing, dismissing, and updating notifications.
Accessibility: ARIA-live regions, focus handling, keyboard dismiss support.