* { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Poppins', sans-serif; height: 100vh; width: 100vw; overflow: hidden; background: transparent; display: flex; justify-content: center; align-items: flex-end; padding-bottom: 150px; } .textui-container { position: fixed; bottom: 150px; left: 50%; transform: translateX(-50%); width: auto; min-width: 300px; max-width: 400px; opacity: 0; visibility: hidden; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); z-index: 1000; } .textui-container.show { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); } .textui-container.hide { opacity: 0; visibility: hidden; transform: translateX(-50%) translateY(20px); } .textui-content { background: rgba(10, 10, 10, 0.8); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 12px; padding: 16px 20px; box-shadow: 0 8px 32px rgba(127, 0, 255, 0.2), 0 4px 16px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.2); display: flex; align-items: center; gap: 12px; position: relative; overflow: hidden; } .textui-content::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(135deg, rgba(127, 0, 255, 0.05) 0%, rgba(186, 85, 211, 0.05) 100%); border-radius: 12px; z-index: -1; } .textui-content::after { content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: radial-gradient(circle, rgba(127, 0, 255, 0.15) 0%, rgba(127, 0, 255, 0) 70%); animation: glow 5s linear infinite; z-index: -1; } .textui-icon { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; background: linear-gradient(135deg, #7F00FF 0%, #BA55D3 100%); border-radius: 8px; color: white; box-shadow: 0 4px 12px rgba(127, 0, 255, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.2); flex-shrink: 0; } .textui-icon svg { width: 18px; height: 18px; filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.2)); } .textui-text { color: #ffffff; font-size: 14px; font-weight: 500; line-height: 1.4; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); letter-spacing: 0.3px; flex: 1; } /* Highlighted key/button styling */ .textui-text .key-highlight { background: linear-gradient(135deg, #7F00FF 0%, #BA55D3 100%); color: #ffffff; padding: 2px 6px; border-radius: 4px; font-weight: 600; font-size: 13px; margin: 0 2px; display: inline-block; box-shadow: 0 2px 8px rgba(127, 0, 255, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.3); text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5); animation: keyPulse 2s ease-in-out infinite; } @keyframes keyPulse { 0%, 100% { transform: scale(1); box-shadow: 0 2px 8px rgba(127, 0, 255, 0.4); } 50% { transform: scale(1.05); box-shadow: 0 4px 12px rgba(127, 0, 255, 0.6); } } /* Responsive Design */ @media (max-width: 768px) { .textui-container { min-width: 280px; max-width: 350px; bottom: 100px; } .textui-content { padding: 14px 18px; } .textui-text { font-size: 13px; } } @media (max-width: 480px) { .textui-container { min-width: 250px; max-width: 300px; bottom: 80px; } .textui-content { padding: 12px 16px; gap: 10px; } .textui-icon { width: 28px; height: 28px; } .textui-icon svg { width: 16px; height: 16px; } .textui-text { font-size: 12px; } } /* Animation for smooth entrance */ @keyframes fadeInUp { from { opacity: 0; transform: translateX(-50%) translateY(20px); } to { opacity: 1; transform: translateX(-50%) translateY(0); } } @keyframes fadeOutDown { from { opacity: 1; transform: translateX(-50%) translateY(0); } to { opacity: 0; transform: translateX(-50%) translateY(20px); } } .textui-container.animate-in { animation: fadeInUp 0.3s cubic-bezier(0.4, 0, 0.2, 1) forwards; } .textui-container.animate-out { animation: fadeOutDown 0.3s cubic-bezier(0.4, 0, 0.2, 1) forwards; } /* Glow effect on hover (optional) */ .textui-content:hover { box-shadow: 0 12px 40px rgba(127, 0, 255, 0.25), 0 6px 20px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.25); transform: translateY(-1px); transition: all 0.2s ease; } @keyframes glow { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }