const ICON_MAP = { success: { glyph: '✓', color: 'var(--color-success, #10B981)' }, error: { glyph: '✗', color: 'var(--color-error, #EF4444)' }, info: { glyph: 'ℹ', color: 'var(--color-info, #3B82F6)' }, }; /** * Floating toast overlay for the camera viewport. * * Always rendered in the DOM so CSS transitions work on enter and exit. * The parent controls visibility via the `visible` prop and handles the * auto-dismiss timer. */ export default function ScannerToast({ message, visible, type = 'success' }) { const { glyph, color } = ICON_MAP[type] || ICON_MAP.success; return (