/* ===== Gemini Hover START ===== */
        .gemini-animation-popup {
            width: 500px;
            height: 350px;
            background: rgba(255, 255, 255, 0.95);
            border-radius: 24px;
            overflow: hidden;
            font-family: 'Google Sans', 'Roboto', Arial, sans-serif;
            font-size: 14px;
            backdrop-filter: blur(20px);
            border: 1px solid rgba(255, 255, 255, 0.3);
            animation: gn-windowFloat 3s ease-out;
            /* 針對最下方的 Gemini 使用 bottom 定位 */
            z-index: 100 !important;
            bottom: 100% !important;
            top: auto !important;
            transform: translateY(0%) translateX(10px) scale(0.9) !important;
        }
        
        /* 當滑鼠懸停時也要調整位置 */
        .timeline-bar:hover + .gemini-animation-popup {
            transform: translateY(0%) translateX(0) scale(1) !important;
        }
        @keyframes gn-windowFloat {
            0% { opacity: 0; transform: scale(0.8) translateY(20px) rotateX(5deg); }
            100% { opacity: 1; transform: scale(1) translateY(0) rotateX(0deg); }
        }
        .gemini-animation-popup .header {
            background: linear-gradient(90deg, #4285f4 0%, #ea4335 25%, #fbbc04 50%, #34a853 75%, #9aa0a6 100%);
            padding: 15px 20px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            animation: gn-headerFlow 8s ease-in-out infinite;
        }
        @keyframes gn-headerFlow {
            0%, 100% { background: linear-gradient(90deg, #4285f4 0%, #ea4335 25%, #fbbc04 50%, #34a853 75%, #9aa0a6 100%); }
            25% { background: linear-gradient(90deg, #ea4335 0%, #fbbc04 25%, #34a853 50%, #9aa0a6 75%, #4285f4 100%); }
            50% { background: linear-gradient(90deg, #fbbc04 0%, #34a853 25%, #9aa0a6 50%, #4285f4 75%, #ea4335 100%); }
            75% { background: linear-gradient(90deg, #34a853 0%, #9aa0a6 25%, #4285f4 50%, #ea4335 75%, #fbbc04 100%); }
        }
        .gemini-animation-popup .logo-section {
            display: flex;
            align-items: center;
            gap: 12px;
        }
        .gemini-animation-popup .gemini-logo {
            width: 32px;
            height: 32px;
            background: linear-gradient(45deg, #4285f4 0%, #ea4335 25%, #fbbc04 50%, #34a853 75%, #9aa0a6 100%);
            border-radius: 10px;
            position: relative;
            animation: gn-logoRotate 4s ease-in-out infinite;
        }
        @keyframes gn-logoRotate {
            0%, 100% { transform: rotate(0deg) scale(1); background: linear-gradient(45deg, #4285f4 0%, #ea4335 25%, #fbbc04 50%, #34a853 75%, #9aa0a6 100%); }
            50% { transform: rotate(180deg) scale(1.1); background: linear-gradient(45deg, #9aa0a6 0%, #4285f4 25%, #ea4335 50%, #fbbc04 75%, #34a853 100%); }
        }
        .gemini-animation-popup .gemini-logo::before {
            content: '';
            position: absolute;
            top: 6px;
            left: 6px;
            right: 6px;
            bottom: 6px;
            background: white;
            border-radius: 5px;
            animation: gn-logoInner 3s ease-in-out infinite;
        }
        @keyframes gn-logoInner { 0%, 100% { opacity: 0.9; } 50% { opacity: 0.7; } }
        .gemini-animation-popup .gemini-logo::after {
            content: '✨';
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            font-size: 14px;
            animation: gn-sparkle 2s ease-in-out infinite;
        }
        @keyframes gn-sparkle {
            0%, 100% { transform: translate(-50%, -50%) rotate(0deg) scale(1); }
            50% { transform: translate(-50%, -50%) rotate(180deg) scale(1.2); }
        }
        .gemini-animation-popup .title {
            color: white;
            font-size: 20px;
            font-weight: 500;
            animation: gn-titleGlow 4s ease-in-out infinite;
        }
        @keyframes gn-titleGlow {
            0%, 100% { text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3); transform: translateY(0px); }
            50% { text-shadow: 0 4px 16px rgba(0, 0, 0, 0.4); transform: translateY(-1px); }
        }
        .gemini-animation-popup .model-badge {
            background: rgba(255, 255, 255, 0.2);
            padding: 6px 12px;
            border-radius: 15px;
            font-size: 11px;
            color: white;
            font-weight: 500;
            animation: gn-badgePulse 5s ease-in-out infinite;
            backdrop-filter: blur(10px);
        }
        @keyframes gn-badgePulse {
            0%, 90%, 100% { opacity: 0.9; transform: scale(1); }
            5%, 85% { opacity: 1; transform: scale(1.05); }
        }
        .gemini-animation-popup .chat-area {
            height: 220px;
            overflow-y: auto;
            padding: 15px;
            background: linear-gradient(180deg, rgba(255, 255, 255, 0.9) 0%, rgba(248, 249, 250, 0.9) 100%);
        }
        .gemini-animation-popup .message {
            margin-bottom: 15px;
            display: flex;
            gap: 10px;
            animation: gn-messageAppear 1s ease-out;
            animation-fill-mode: both;
        }
        .gemini-animation-popup .message:nth-child(1) { animation-delay: 0.5s; }
        .gemini-animation-popup .message:nth-child(2) { animation-delay: 0.8s; }
        @keyframes gn-messageAppear {
            0% { opacity: 0; transform: translateY(20px) scale(0.95); }
            100% { opacity: 1; transform: translateY(0) scale(1); }
        }
        .gemini-animation-popup .avatar {
            width: 24px;
            height: 24px;
            border-radius: 8px;
            flex-shrink: 0;
            animation: gn-avatarBreathe 4s ease-in-out infinite;
        }
        @keyframes gn-avatarBreathe {
            0%, 100% { transform: scale(1); box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1); }
            50% { transform: scale(1.05); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); }
        }
        .gemini-animation-popup .ai-avatar {
            background: linear-gradient(135deg, #4285f4 0%, #ea4335 25%, #fbbc04 50%, #34a853 75%, #9aa0a6 100%);
            position: relative;
            animation: gn-aiAvatarShift 6s ease-in-out infinite;
        }
        @keyframes gn-aiAvatarShift {
            0%, 100% { background: linear-gradient(135deg, #4285f4 0%, #ea4335 25%, #fbbc04 50%, #34a853 75%, #9aa0a6 100%); }
            33% { background: linear-gradient(135deg, #ea4335 0%, #fbbc04 25%, #34a853 50%, #9aa0a6 75%, #4285f4 100%); }
            66% { background: linear-gradient(135deg, #fbbc04 0%, #34a853 25%, #9aa0a6 50%, #4285f4 75%, #ea4335 100%); }
        }
        .gemini-animation-popup .ai-avatar::after {
            content: '🌟';
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            font-size: 12px;
            animation: gn-starTwinkle 3s ease-in-out infinite;
        }
        @keyframes gn-starTwinkle {
            0%, 100% { transform: translate(-50%, -50%) rotate(0deg) scale(1); }
            50% { transform: translate(-50%, -50%) rotate(180deg) scale(1.2); }
        }
        .gemini-animation-popup .message-content {
            max-width: 400px;
            padding: 8px 12px;
            border-radius: 12px;
            line-height: 1.4;
            font-size: 12px;
            background: linear-gradient(135deg, rgba(255, 255, 255, 0.9) 0%, rgba(248, 249, 250, 0.9) 100%);
            color: #202124;
            border: 1px solid rgba(0, 0, 0, 0.05);
            animation: gn-contentShimmer 5s ease-in-out infinite;
        }
        @keyframes gn-contentShimmer {
            0%, 100% { box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); }
            50% { box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12); }
        }
        .gemini-animation-popup .typing-indicator {
            display: flex;
            align-items: center;
            gap: 10px;
            margin-top: 10px;
        }
        .gemini-animation-popup .typing-bubble {
            display: flex;
            gap: 4px;
            padding: 8px 12px;
            background: rgba(255, 255, 255, 0.9);
            border-radius: 12px;
            border: 1px solid rgba(0, 0, 0, 0.05);
        }
        .gemini-animation-popup .typing-dot {
            width: 6px;
            height: 6px;
            background: linear-gradient(45deg, #4285f4, #ea4335, #fbbc04, #34a853);
            border-radius: 50%;
            animation: gn-typingBounce 1.6s ease-in-out infinite;
        }
        .gemini-animation-popup .typing-dot:nth-child(1) { animation-delay: 0s; }
        .gemini-animation-popup .typing-dot:nth-child(2) { animation-delay: 0.2s; }
        .gemini-animation-popup .typing-dot:nth-child(3) { animation-delay: 0.4s; }
        @keyframes gn-typingBounce {
            0%, 60%, 100% { transform: translateY(0) scale(1); opacity: 0.5; }
            30% { transform: translateY(-8px) scale(1.2); opacity: 1; }
        }
        /* ===== Gemini Hover END ===== */
