/* toast notification for double-click actions */ .toast-msg position: fixed; bottom: 30px; left: 50%; transform: translateX(-50%); background: #11161ed9; backdrop-filter: blur(16px); color: #f0ffe0; padding: 10px 24px; border-radius: 60px; font-size: 14px; font-weight: 500; border: 1px solid #ffdfa0; box-shadow: 0 8px 20px black; z-index: 1200; pointer-events: none; white-space: nowrap; font-family: monospace; letter-spacing: 0.5px; transition: opacity 0.2s;
// show temporary toast message function showToast(message, duration = 1800) const existingToast = document.querySelector('.toast-msg'); if(existingToast) existingToast.remove(); const toast = document.createElement('div'); toast.className = 'toast-msg'; toast.textContent = message; document.body.appendChild(toast); setTimeout(() => if(toast.parentNode) toast.remove(); , duration); small icons on desktop
// save icons positions to localStorage function persistPositions() const positions = iconsState.map(icon => ( id: icon.id, x: icon.x, y: icon.y )); localStorage.setItem('desktopIconsLayout', JSON.stringify(positions)); /* toast notification for double-click actions */
/* context menu simulation (right-click) */ .context-menu position: fixed; background: #1e1f2cdf; backdrop-filter: blur(20px); border-radius: 12px; padding: 6px 0; min-width: 160px; box-shadow: 0 12px 28px rgba(0,0,0,0.5); border: 1px solid rgba(255,255,210,0.3); z-index: 1000; font-size: 13px; font-weight: 500; color: #eaeef5; animation: menuFade 0.12s ease; padding: 10px 24px
/* DESKTOP CONTAINER — absolute positioning for icons */ .desktop position: relative; width: 100%; height: 100%; overflow: hidden; background: transparent; cursor: default;