@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&family=Ubuntu:wght@700&display=swap'); :root { --primary-color: #8A2BE2; --primary-hover: #9b4dff; --primary-trasparente: #ffffff00; --bg-dark: #12121a; --bg-darker: #0d0d12; --text-light: #e0e0ff; --text-lighter: #ffffff; --transition-speed: 0.3s; } * { box-sizing: border-box; margin: 0; padding: 0; } ::-webkit-scrollbar { display: none; width: 0; height: 0; } * { -ms-overflow-style: none; scrollbar-width: none; } @keyframes fadeIn { from { opacity: 0; transform: translateY(20px) translateY(-50%); } to { opacity: 1; transform: translateY(0) translateY(-50%); } } @keyframes fadeOut { from { opacity: 1; transform: translateY(0) translateY(-50%); } to { opacity: 0; transform: translateY(20px) translateY(-50%); } } .menu { font-family: 'Poppins', sans-serif; min-width: 320px; color: var(--text-light); position: absolute; left: 2%; top: 50%; transform: translateY(-50%); z-index: 9999; overflow: visible; background: transparent; box-shadow: none !important; transition: all 0.3s ease; animation: fadeIn 0.3s ease-out forwards; padding: 0 24px; width: 300px; } .menu::before { content: ''; position: absolute; left: 0; top: 0; width: 4px; background: linear-gradient(2deg, var(--primary-color), transparent); z-index: 1; pointer-events: none; border-radius: 8px 0 0 0; height: calc(100% - 16px); } .menu::after { content: ''; position: absolute; left: 0; top: 0; width: 50%; height: 4px; background: linear-gradient(15deg, transparent, var(--primary-color)); z-index: 1; pointer-events: none; border-radius: 8px 0 0 0; } .menu.closing { animation: fadeOut 0.3s ease-out forwards; } .menu:hover { box-shadow: 0 15px 40px rgba(138, 43, 226, 0.3); } .menu .head { display: flex; align-items: center; justify-content: center; padding: 6px 15px; background: rgba(18, 18, 26, 0.7); border: 1px solid rgba(138, 43, 226, 0.3); border-radius: 8px; position: relative; overflow: hidden; text-align: center; font-family: 'Ubuntu', sans-serif; font-size: 16px; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: #fff; margin: 6px 0 4px 0; width: calc(100% - 20px); margin-left: 4px; margin-right: 0; box-sizing: border-box; z-index: 2; transition: all 0.3s ease; } .menu .head:hover { background: rgba(138, 43, 226, 0.15); transform: translateY(-1px); box-shadow: 0 3px 12px rgba(0, 0, 0, 0.4); } .menu .head::after { content: 'REBORN CITY'; display: block; position: relative; z-index: 1; font-size: 20px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: white; text-shadow: 0 0 10px rgba(255, 255, 255, 0.5); } .menu .head:hover { background: linear-gradient(90deg, rgba(138, 43, 226, 0.25), rgba(147, 112, 219, 0.15)); transform: translateY(-1px); box-shadow: 0 3px 12px rgba(0, 0, 0, 0.4); } @keyframes rainbow { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } } .menu .menu-items { max-height: 500px; overflow-y: scroll; -webkit-overflow-scrolling: touch; padding: 3px 10px 8px 0; background: transparent; scrollbar-width: none; margin-left: -4px; position: relative; z-index: 2; } .menu .menu-items .menu-item { display: flex; align-items: center; padding: 10px 20px; margin: 5px 0 5px 4px; background: rgba(18, 18, 26, 0.7); border: 1px solid rgba(138, 43, 226, 0.3); border-radius: 8px; color: var(--text-light); font-size: 14px; font-weight: 400; cursor: pointer; transition: all var(--transition-speed) ease; position: relative; overflow: hidden; box-shadow: none; } .menu .menu-items .menu-item::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(138, 43, 226, 0.1), transparent); transition: 0.5s; } .menu .menu-items .menu-item:hover::before { left: 100%; } .menu .menu-items .menu-item:hover { transform: translateX(5px); background: rgba(138, 43, 226, 0.15); border-color: var(--primary-color); box-shadow: none; color: var(--text-lighter); } .menu .menu-items .menu-item .fas { margin-right: 12px; width: 20px; text-align: center; color: var(--primary-color); font-size: 14px; transition: all var(--transition-speed) ease; } .menu .menu-items .menu-item:hover .fas { transform: scale(1.2); color: var(--text-lighter); text-shadow: 0 0 10px var(--primary-color); } .menu .menu-items .menu-item.selected { color: white; letter-spacing: 0.2px; font-weight: 400; font-size: 14.5px; animation: pulse 750ms; background: linear-gradient(90deg, rgba(50, 30, 80, 0.95) 0%, rgba(138, 43, 226, 0.3) 85%); text-shadow: 0px 0px 8px rgba(138, 43, 226, 0.8); border-color: #9370DB; animation: animazione1 0.3s ease forwards; transition-duration: 0.3s; transition-timing-function: ease-in-out; } .menu .menu-items .menu-item.selezionato { color: white; letter-spacing: 0.2px; font-weight: 400; font-size: 14.5px; animation: pulse 750ms; background: linear-gradient(90deg, rgba(50, 30, 80, 0.95) 0%, rgba(138, 43, 226, 0.3) 85%); text-shadow: 0px 0px 8px rgba(138, 43, 226, 0.8); border-color: #9370DB; animation: animazione1 0.3s ease forwards; transition-duration: 0.3s; transition-timing-function: ease-in-out; } @keyframes animazione1 { from { transform: translate(0px, 20px); } to { opacity: 100; } } @keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(138, 43, 226, 0.7); } 70% { box-shadow: 0 0 0 10px rgba(138, 43, 226, 0); } 100% { box-shadow: 0 0 0 0 rgba(138, 43, 226, 0); } }