/* <style> */
        /*
         * QA Note: 
         * This CSS block is designed to create a non-interactive,
         * full-screen background from a single image. It ensures
         * the visual context for the chatbot widget is as realistic
         * as possible, without the complexity of a live website.
         */
        body {
            /* 1. Set the background image */
            background-image: url('background.jpg');

            /* 2. Ensure it covers the entire screen */
            background-size: cover;

            /* 3. Center the image */
            background-position: center center;

            /* 4. Prevent the image from repeating */
            background-repeat: no-repeat;

            /* 5. Make the body fill the viewport height */
            height: 100vh;

            /* 6. Remove default margin and prevent scrolling */
            /* margin: 0; */
            /* overflow: hidden; */

            /* 7. Set font family for notification */
            font-family: 'Microsoft YaHei', 'PingFang TC', 'Helvetica Neue', Arial, sans-serif;
        }

        /*
         * ========================================
         * 3D 翻轉卡片通知樣式 (Style 3: 3D Card Flip)
         * ========================================
         */
        .card-notification-container {
            position: fixed;
            bottom: 30px;
            right: 30px;
            z-index: 9998; /* 確保在聊天機器人下方但在背景上方 */
            pointer-events: none; /* 允許點擊穿透到下層元素 */
            perspective: 1200px; /* 3D 透視效果 */
        }

        .card-notification {
            position: relative;
            width: 280px;
            height: 140px;
            transform-style: preserve-3d;
            animation: cardFlipIn 1.5s ease-in-out 2s forwards;
            transform: rotateY(-180deg) scale(0.3);
            opacity: 0;
            cursor: pointer;
            pointer-events: auto; /* 重新啟用卡片本身的點擊 */
            transition: transform 0.3s ease;
        }

        /* 卡片面板基本樣式 */
        .card-face {
            position: absolute;
            width: 100%;
            height: 100%;
            backface-visibility: hidden;
            border-radius: 16px;
            padding: 20px;
            box-sizing: border-box;
            display: flex;
            align-items: center;
            justify-content: center;
            text-align: center;
            font-size: 14px;
            line-height: 1.4;
            box-shadow: 
                0 12px 40px rgba(0, 0, 0, 0.3),
                0 8px 20px rgba(0, 0, 0, 0.2);
            overflow: hidden;
        }

        /* 正面設計 */
        .card-front {
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            color: white;
            transform: rotateY(0deg);
            position: relative;
        }

        .card-front::before {
            content: '';
            position: absolute;
            top: -50%;
            left: -50%;
            width: 200%;
            height: 200%;
            background: linear-gradient(45deg, 
                transparent 30%, 
                rgba(255, 255, 255, 0.1) 50%, 
                transparent 70%);
            animation: shimmer 3s ease-in-out infinite 3s;
            transform: rotate(45deg);
        }

        /* 背面設計 */
        .card-back {
            background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
            color: white;
            transform: rotateY(180deg);
            position: relative;
        }

        .card-back::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: radial-gradient(
                circle at 30% 30%, 
                rgba(255, 255, 255, 0.2) 0%, 
                transparent 50%
            );
        }

        /* 卡片內容 */
        .card-content {
            position: relative;
            z-index: 10;
            width: 100%;
        }

        .card-title {
            font-size: 18px;
            font-weight: bold;
            margin-bottom: 8px;
            text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
        }

        .card-subtitle {
            font-size: 13px;
            opacity: 0.9;
            margin-bottom: 6px;
        }

        .card-description {
            font-size: 12px;
            opacity: 0.8;
        }

        .card-cta {
            font-size: 14px;
            font-weight: bold;
            margin-top: 8px;
            padding: 6px 12px;
            background: rgba(255, 255, 255, 0.2);
            border-radius: 20px;
            display: inline-block;
            animation: ctaPulse 2s ease-in-out infinite 4s;
        }

        /* 翻轉入場動畫 */
        @keyframes cardFlipIn {
            0% {
                transform: rotateY(-180deg) scale(0.3) rotateX(20deg);
                opacity: 0;
            }
            50% {
                transform: rotateY(-90deg) scale(1.1) rotateX(0deg);
                opacity: 0.8;
            }
            100% {
                transform: rotateY(0deg) scale(1) rotateX(0deg);
                opacity: 1;
            }
        }

        /* 光澤效果 */
        @keyframes shimmer {
            0% {
                transform: translateX(-100%) translateY(-100%) rotate(45deg);
            }
            100% {
                transform: translateX(100%) translateY(100%) rotate(45deg);
            }
        }

        /* CTA 脈衝效果 */
        @keyframes ctaPulse {
            0%, 100% {
                transform: scale(1);
                box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.4);
            }
            50% {
                transform: scale(1.05);
                box-shadow: 0 0 0 10px rgba(255, 255, 255, 0);
            }
        }

        /* 懸停效果 */
        .card-notification:hover {
            transform: rotateY(5deg) rotateX(-5deg) translateY(-10px);
        }

        .card-notification:hover .card-face {
            box-shadow: 
                0 20px 60px rgba(0, 0, 0, 0.4),
                0 12px 30px rgba(0, 0, 0, 0.3);
        }

        /* 點擊效果 */
        .card-notification:active {
            transform: rotateY(0deg) rotateX(0deg) translateY(-5px) scale(0.98);
        }

        /* 自動翻轉效果 */
        .card-notification.auto-flip {
            animation: autoFlip 4s ease-in-out infinite;
        }

        @keyframes autoFlip {
            0%, 40%, 100% {
                transform: rotateY(0deg);
            }
            20%, 60% {
                transform: rotateY(180deg);
            }
        }

        /* 關閉按鈕 */
        .card-close {
            position: absolute;
            top: -10px;
            right: -10px;
            background: linear-gradient(135deg, #ff6b6b, #ff5722);
            color: white;
            border: none;
            border-radius: 50%;
            width: 28px;
            height: 28px;
            font-size: 14px;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            line-height: 1;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
            transition: all 0.3s ease;
            z-index: 20;
            opacity: 0;
            transform: scale(0);
            animation: closeButtonIn 0.5s ease-out 3s forwards;
        }

        @keyframes closeButtonIn {
            0% {
                opacity: 0;
                transform: scale(0) rotate(-180deg);
            }
            100% {
                opacity: 1;
                transform: scale(1) rotate(0deg);
            }
        }

        .card-close:hover {
            transform: scale(1.1) rotate(90deg);
            box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4);
        }

        /* 浮動動畫 */
        .card-notification.floating {
            animation: floating 3s ease-in-out infinite 5s;
        }

        @keyframes floating {
            0%, 100% {
                transform: translateY(0px) rotateY(0deg);
            }
            33% {
                transform: translateY(-8px) rotateY(2deg);
            }
            66% {
                transform: translateY(-4px) rotateY(-1deg);
            }
        }

        /* 響應式設計 */
        @media (max-width: 768px) {
            .card-notification-container {
                bottom: 20px;
                right: 20px;
                left: 20px;
                perspective: 800px;
            }
            
            .card-notification {
                width: 100%;
                max-width: 300px;
                height: 120px;
                margin: 0 auto;
            }

            .card-face {
                padding: 16px;
            }

            .card-title {
                font-size: 16px;
            }

            .card-subtitle {
                font-size: 12px;
            }

            .card-description {
                font-size: 11px;
            }
        }

        @media (max-width: 480px) {
            .card-notification {
                width: 100%;
                height: 100px;
            }

            .card-face {
                padding: 14px;
                border-radius: 12px;
            }

            .card-title {
                font-size: 15px;
            }

            .card-subtitle {
                font-size: 11px;
            }

            .card-description {
                font-size: 10px;
            }

            .card-cta {
                font-size: 12px;
                padding: 4px 8px;
            }
        }

        /* 退場動畫 */
        .card-notification.flip-out {
            animation: cardFlipOut 1s ease-in forwards;
        }

        @keyframes cardFlipOut {
            0% {
                transform: rotateY(0deg) scale(1);
                opacity: 1;
            }
            50% {
                transform: rotateY(90deg) scale(1.1);
                opacity: 0.5;
            }
            100% {
                transform: rotateY(180deg) scale(0.3);
                opacity: 0;
            }
        }

        /* 隱藏狀態 */
        .card-notification.hidden {
            display: none;
        }

        /* 特殊效果：粒子背景 */
        .card-particles {
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            pointer-events: none;
            overflow: hidden;
            border-radius: 16px;
        }

        .particle {
            position: absolute;
            background: rgba(255, 255, 255, 0.6);
            border-radius: 50%;
            animation: particleFloat 4s ease-in-out infinite;
        }

        @keyframes particleFloat {
            0%, 100% {
                transform: translateY(0px) scale(0);
                opacity: 0;
            }
            50% {
                transform: translateY(-20px) scale(1);
                opacity: 1;
            }
        }

.video-wrapper {
  width: 100vw;
  height: 700px;
}
/* </style> */