.notification-container { position: fixed; top: 20px; right: 20px; z-index: 9999; display: flex; flex-direction: column; gap: 6px; pointer-events: none; /* Allow clicking through container */ } .notification-toast { background-color: rgba(0, 0, 0, 0.85); color: #fff; padding: 12px 20px; border-radius: 4px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5); min-width: 250px; max-width: 400px; animation: slideIn 0.3s ease-out; border-left: 4px solid #fff; pointer-events: auto; /* Allow clicking toast to dismiss */ cursor: pointer; font-size: 0.95rem; line-height: 1.4; display: flex; align-items: center; } /* Types */ /* Types */ .notification-toast.success { border-left-color: #4caf50; background: rgba(20, 30, 20, 0.95); } .notification-toast.error { border-left-color: #f44336; background: rgba(40, 20, 20, 0.95); } .notification-toast.warning { border-left-color: #ff9800; background: rgba(40, 30, 20, 0.95); } .notification-toast.info { border-left-color: #2196f3; background: rgba(20, 30, 40, 0.95); } .notification-toast.quest { border-left-color: #ffd700; /* Gold */ background: rgba(40, 35, 10, 0.95); box-shadow: 0 0 10px rgba(255, 215, 0, 0.3); } @keyframes slideIn { from { transform: translateX(100%); opacity: 0; } to { transform: translateX(0); opacity: 1; } } .notification-toast.exiting { animation: slideOut 0.4s ease-in forwards; } @keyframes slideOut { from { transform: translateX(0); opacity: 1; } to { transform: translateX(100%); opacity: 0; } }