.selection-ai-panel { position: fixed; z-index: 9999; width: 550px; max-width: 90vw; animation: fadeInScale 0.2s ease-out; pointer-events: auto; } @keyframes fadeInScale { from { opacity: 0; transform: translate(-50%, -90%) scale(0.95); } to { opacity: 1; transform: translate(-50%, -100%) scale(1); } } .ai-bubble { position: relative; display: flex; flex-direction: row; gap: 1.5rem; padding: 1.5rem; background: rgba(18, 18, 18, 0.95); backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 16px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3); color: #fff; } .ai-avatar { display: flex; flex-direction: column; align-items: center; gap: 0.5rem; min-width: 100px; } .avatar-label { display: flex; flex-direction: column; align-items: center; text-align: center; } .avatar-label .name { font-size: 0.8rem; font-weight: 600; color: #fff; } .avatar-label .role { font-size: 0.7rem; opacity: 0.6; } .neon-pulse { color: #00ff99; filter: drop-shadow(0 0 8px #00ff99); animation: pulse 2s infinite ease-in-out; } @keyframes pulse { 0% { transform: scale(1); filter: drop-shadow(0 0 8px #00ff99); } 50% { transform: scale(1.05); filter: drop-shadow(0 0 15px #00ff99); } 100% { transform: scale(1); filter: drop-shadow(0 0 8px #00ff99); } } .ai-content { display: flex; flex-direction: column; gap: 1rem; justify-content: center; } .summary-box { font-size: 0.95rem; line-height: 1.5; color: #e0e0e0; max-height: 40vh; overflow-y: auto; padding-right: 8px; } .summary-box::-webkit-scrollbar { width: 4px; } .summary-box::-webkit-scrollbar-thumb { background: rgba(0, 255, 153, 0.3); border-radius: 2px; } .ai-actions { display: flex; gap: 1rem; } .action-btn { padding: 0.5rem 1.2rem; border-radius: 20px; font-size: 0.85rem; cursor: pointer; transition: all 0.2s ease; font-family: inherit; } .action-btn.ghost { background: transparent; border: 1px solid rgba(255, 255, 255, 0.2); color: #aaa; } .action-btn.neon-border { background: rgba(0, 255, 153, 0.1); border: 1px solid #00ff99; color: #00ff99; } .action-btn:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0, 255, 153, 0.2); } .bubble-pointer { position: absolute; left: 50%; transform: translateX(-50%); width: 0; height: 0; border-left: 10px solid transparent; border-right: 10px solid transparent; } .selection-ai-panel:not(.below) .bubble-pointer { bottom: -10px; border-top: 10px solid rgba(18, 18, 18, 0.95); } .selection-ai-panel.below .bubble-pointer { top: -10px; border-bottom: 10px solid rgba(18, 18, 18, 0.95); } .loading-state { padding: 1rem; } .shimmer { background: linear-gradient(90deg, transparent, rgba(0, 255, 153, 0.2), transparent); background-size: 200% 100%; animation: shimmer 1.5s infinite; padding: 0.5rem; border-radius: 4px; } @keyframes shimmer { from { background-position: 200% 0; } to { background-position: -200% 0; } }