        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            -webkit-tap-highlight-color: transparent;
        }

        body {
            background: linear-gradient(145deg, #f6f9fc 0%, #eef2f7 100%);
            font-family: 'Segoe UI', 'Poppins', system-ui, -apple-system, 'SF Pro Text', 'Helvetica Neue', Helvetica, 'Roboto', sans-serif;
            min-height: 100vh;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 1rem;
            position: relative;
            overflow: hidden;
            height: 100vh;
        }

        /* 动态背景装饰 */
        body::before {
            content: '';
            position: absolute;
            width: 200%;
            height: 200%;
            top: -50%;
            left: -50%;
            background: radial-gradient(circle at 20% 40%, rgba(99, 102, 241, 0.08) 0%, rgba(168, 85, 247, 0.05) 50%, transparent 80%);
            animation: drift 28s infinite alternate ease-in-out;
            z-index: 0;
            pointer-events: none;
        }

        body::after {
            content: '';
            position: absolute;
            width: 150%;
            height: 150%;
            bottom: -30%;
            right: -40%;
            background: radial-gradient(ellipse at 70% 85%, rgba(6, 182, 212, 0.07), transparent 70%);
            animation: floatGlow 20s infinite alternate;
            pointer-events: none;
            z-index: 0;
        }

        @keyframes drift {
            0% {
                transform: rotate(0deg) translate(0%, 0%);
            }
            100% {
                transform: rotate(6deg) translate(3%, 2%);
            }
        }

        @keyframes floatGlow {
            0% {
                transform: scale(1) translate(0, 0);
                opacity: 0.4;
            }
            100% {
                transform: scale(1.2) translate(-5%, -3%);
                opacity: 0.8;
            }
        }

        /* 主卡片 */
        .card {
            max-width: 320px;
            width: 100%;
            background: rgba(255, 255, 255, 0.96);
            backdrop-filter: blur(2px);
            border-radius: 16px;
            box-shadow: 0 18px 30px -12px rgba(0, 0, 0, 0.2), 0 4px 10px rgba(0, 0, 0, 0.05), inset 0 1px 0 rgba(255,255,255,0.6);
            padding: 1rem 1rem 1.3rem;
            transition: all 0.3s cubic-bezier(0.2, 0.9, 0.4, 1.1);
            z-index: 2;
            border: 1px solid rgba(255,255,240,0.5);
            transform: translateY(0px);
            animation: cardEntrance 0.65s ease-out;
        }

        @keyframes cardEntrance {
            0% {
                opacity: 0;
                transform: translateY(40px) scale(0.96);
            }
            100% {
                opacity: 1;
                transform: translateY(0px) scale(1);
            }
        }

        /* 图片容器 */
        .image-wrapper {
            background: #fff;
            border-radius: 12px;
            padding: 5px;
            box-shadow: 0 10px 20px -8px rgba(0, 0, 0, 0.12), inset 0 1px 0 rgba(255,255,255,0.8);
            transition: all 0.3s ease;
            margin-bottom: 0.8rem;
        }

        .hero-img {
            width: 100%;
            display: block;
            border-radius: 10px;
            background: #f2f4f8;
            transition: transform 0.3s cubic-bezier(0.2, 0.9, 0.4, 1.1);
            box-shadow: 0 3px 8px rgba(0,0,0,0.05);
            aspect-ratio: 1 / 1;
            object-fit: cover;
        }

        .image-wrapper:hover .hero-img {
            transform: scale(1.01);
        }

        /* 扫码预览文字区域 */
        .scan-text {
            text-align: center;
            margin: 0.35rem 0 0.8rem 0;
            font-size: 1rem;
            font-weight: 600;
            letter-spacing: 0.6px;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            width: 100%;
            position: relative;
        }
        
        .icon-group {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            flex-shrink: 0;
        }
        
        .social-icon {
            width: 22px;
            height: 22px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            transition: transform 0.2s ease;
        }
        
        .social-icon img {
            width: 100%;
            height: 100%;
            display: block;
            object-fit: contain;
        }
        
        .social-icon:hover {
            transform: scale(1.1);
        }
        
        .scan-text .text-content {
            background: linear-gradient(135deg, #1E2A5E, #ed0707, #1E2A5E);
            background-size: 200% auto;
            -webkit-background-clip: text;
            background-clip: text;
            color: transparent;
            animation: shimmer 4s linear infinite;
        }
        
        @keyframes shimmer {
            0% {
                background-position: 0% 50%;
            }
            50% {
                background-position: 100% 50%;
            }
            100% {
                background-position: 0% 50%;
            }
        }
        
        .scan-text-wrapper {
            position: relative;
            width: 100%;
            margin-bottom: 0.2rem;
        }
        
        .underline-effect {
            position: relative;
            display: flex;
            justify-content: center;
        }
        
        .underline-effect::after {
            content: '';
            position: absolute;
            bottom: -8px;
            left: 20%;
            width: 60%;
            height: 2px;
            background: linear-gradient(90deg, transparent, #3b82f6, #a855f7, transparent);
            border-radius: 4px;
            animation: linePulse 1.8s infinite ease-in-out;
        }
        
        @keyframes linePulse {
            0% {
                width: 20%;
                left: 40%;
                opacity: 0.4;
            }
            50% {
                width: 70%;
                left: 15%;
                opacity: 1;
            }
            100% {
                width: 20%;
                left: 40%;
                opacity: 0.4;
            }
        }

        /* 按钮组 */
        .button-group {
            display: flex;
            flex-direction: column;
            justify-content: center;
            gap: 0.7rem;
            margin-top: 1rem;
            width: 100%;
        }

        .btn {
            width: 100%;
            text-align: center;
            padding: 0.65rem 0.5rem;
            font-size: 0.92rem;
            font-weight: 600;
            border: none;
            border-radius: 40px;
            background: white;
            cursor: pointer;
            transition: all 0.25s ease;
            text-decoration: none;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            backdrop-filter: blur(4px);
            box-shadow: 0 5px 12px -5px rgba(0, 0, 0, 0.1);
            letter-spacing: 0.3px;
            position: relative;
            overflow: hidden;
            z-index: 1;
        }

        .btn::before {
            content: '';
            position: absolute;
            top: 0;
            left: -100%;
            width: 100%;
            height: 100%;
            background: linear-gradient(90deg, rgba(255,255,255,0.2), rgba(255,255,255,0.5), rgba(255,255,255,0.2));
            transition: left 0.5s ease;
            z-index: -1;
        }

        .btn:hover::before {
            left: 100%;
        }

        .btn:active {
            transform: scale(0.96);
            transition: 0.05s;
        }

        .btn-primary {
            background: linear-gradient(105deg, #2563eb, #3b82f6);
            color: white;
            border: 1px solid rgba(255,255,255,0.3);
            box-shadow: 0 6px 14px -8px #2563eb70;
        }

        .btn-primary:hover {
            transform: translateY(-2px);
            box-shadow: 0 12px 20px -10px #1e40af;
            background: linear-gradient(105deg, #1d4ed8, #3b82f6);
        }

        .btn-secondary {
            background: rgba(255, 255, 255, 0.92);
            backdrop-filter: blur(8px);
            color: #1e293b;
            border: 1px solid rgba(100, 116, 139, 0.25);
            box-shadow: 0 5px 12px -5px rgba(0,0,0,0.06);
        }

        .btn-secondary:hover {
            transform: translateY(-2px);
            background: white;
            border-color: #3b82f6;
            color: #2563eb;
            box-shadow: 0 12px 20px -10px rgba(37,99,235,0.2);
        }

        /* 底部版权容器 */
        .copyright {
            text-align: center;
            font-size: 0.6rem;
            margin-top: 1rem;
            opacity: 0.6;
            color: #4b5563;
            letter-spacing: 0.2px;
            line-height: 1.4;
        }
        
        .copyright a {
            color: #4b5563;
            text-decoration: none;
            transition: all 0.2s ease;
            font-weight: 500;
        }
        
        .copyright a:hover {
            color: #2563eb;
            text-decoration: underline;
            opacity: 1;
        }

        /* 通用模态框样式 */
        .modal {
            display: none;
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0, 0, 0, 0.85);
            backdrop-filter: blur(8px);
            z-index: 9999;
            justify-content: center;
            align-items: center;
            animation: modalFadeIn 0.3s ease-out;
        }

        @keyframes modalFadeIn {
            from {
                opacity: 0;
            }
            to {
                opacity: 1;
            }
        }

        /* 图片模态框内容 */
        .image-modal-content {
            position: relative;
            max-width: 98%;
            max-height: 95%;
            width: auto;
            height: auto;
            background: transparent;
            border-radius: 8px;
            animation: modalZoomIn 0.3s cubic-bezier(0.34, 1.2, 0.64, 1);
        }

        /* 视频模态框内容 - 完全自适应，关闭按钮完全显示在外部 */
        .video-modal-content {
            position: relative;
            width: 90%;
            max-width: 900px;
            background: #000;
            border-radius: 12px;
            overflow: visible;
            animation: modalZoomIn 0.3s cubic-bezier(0.34, 1.2, 0.64, 1);
            box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
        }

        .video-container {
            position: relative;
            width: 100%;
            padding-bottom: 56.25%;
            height: 0;
            overflow: hidden;
            background: #000;
            border-radius: 12px;
        }

        .video-container video {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: contain;
            background: #000;
            outline: none;
        }

        @keyframes modalZoomIn {
            from {
                transform: scale(0.9);
                opacity: 0;
            }
            to {
                transform: scale(1);
                opacity: 1;
            }
        }

        .image-modal-content img {
            width: 100%;
            height: auto;
            max-height: 95vh;
            object-fit: contain;
            border-radius: 8px;
            box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
            display: block;
        }

        /* 关闭按钮 - 完全显示在外部右上角，旋转速度更慢更舒缓 */
        .close-modal {
            position: absolute;
            top: -16px;
            right: -16px;
            width: 36px;
            height: 36px;
            background: #1a1a1a;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: all 2.2s cubic-bezier(0.2, 0.8, 0.4, 1);
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
            z-index: 10000;
            border: 1px solid rgba(255, 255, 255, 0.3);
        }

        .close-modal:hover {
            transform: scale(1.1) rotate(360deg);
            background: #333;
            box-shadow: 0 6px 16px rgba(0, 0, 0, 0.4);
        }

        .close-modal:active {
            transform: scale(0.95) rotate(360deg);
        }

        .close-modal svg {
            width: 18px;
            height: 18px;
            stroke: white;
            stroke-width: 2;
            fill: none;
        }

        .image-modal-content .close-modal {
            top: -16px;
            right: -16px;
        }

        /* 移动端适配 */
        @media (min-width: 481px) and (max-width: 768px) {
            .card {
                max-width: 360px;
                padding: 1.1rem 1.1rem 1.4rem;
            }
            .image-wrapper {
                margin-bottom: 0.9rem;
            }
            .scan-text {
                font-size: 1.05rem;
                gap: 9px;
                margin: 0.4rem 0 0.85rem;
            }
            .social-icon {
                width: 24px;
                height: 24px;
            }
            .icon-group {
                gap: 7px;
            }
            .btn {
                padding: 0.7rem 0.5rem;
                font-size: 0.96rem;
            }
            .button-group {
                gap: 0.75rem;
                margin-top: 1.1rem;
            }
            .close-modal {
                width: 34px;
                height: 34px;
                top: -15px;
                right: -15px;
            }
            .close-modal svg {
                width: 17px;
                height: 17px;
            }
            .video-modal-content {
                width: 85%;
                max-width: 700px;
            }
            .copyright {
                font-size: 0.55rem;
                margin-top: 1.1rem;
            }
        }
        
        @media (max-width: 480px) {
            .card {
                max-width: 340px;
                padding: 1rem 1rem 1.3rem;
                border-radius: 16px;
            }
            .image-wrapper {
                margin-bottom: 0.85rem;
                padding: 5px;
            }
            .scan-text {
                font-size: 1.02rem;
                gap: 8px;
                margin: 0.38rem 0 0.82rem;
            }
            .social-icon {
                width: 23px;
                height: 23px;
            }
            .icon-group {
                gap: 6px;
            }
            .btn {
                padding: 0.68rem 0.5rem;
                font-size: 0.94rem;
            }
            .button-group {
                gap: 0.72rem;
                margin-top: 1.05rem;
            }
            .close-modal {
                width: 32px;
                height: 32px;
                top: -14px;
                right: -14px;
            }
            .close-modal svg {
                width: 16px;
                height: 16px;
            }
            .video-modal-content {
                width: 92%;
            }
            .copyright {
                font-size: 0.52rem;
                margin-top: 1rem;
            }
        }
        
        @media (max-width: 380px) {
            .card {
                max-width: 320px;
                padding: 0.95rem 0.95rem 1.2rem;
            }
            .scan-text {
                font-size: 0.98rem;
                gap: 7px;
            }
            .social-icon {
                width: 21px;
                height: 21px;
            }
            .btn {
                padding: 0.62rem 0.45rem;
                font-size: 0.9rem;
            }
            .close-modal {
                width: 30px;
                height: 30px;
                top: -12px;
                right: -12px;
            }
            .close-modal svg {
                width: 15px;
                height: 15px;
            }
            .copyright {
                font-size: 0.5rem;
                margin-top: 0.9rem;
            }
        }

        @keyframes imgFadeIn {
            0% { opacity: 0; transform: scale(0.98); }
            100% { opacity: 1; transform: scale(1); }
        }
        .hero-img {
            animation: imgFadeIn 0.45s cubic-bezier(0.2, 0.9, 0.4, 1.1);
        }
        
        .hero-img.error-load {
            opacity: 0.6;
            background: #e5e7eb;
        }
        
        .social-icon img.error-load {
            opacity: 0.5;
            background: #f0f0f0;
            border-radius: 4px;
        }
        
        html {
            overflow: hidden;
            height: 100%;
        }