
        /* 独享CSS部分 - 404页面专用 */
        /* 动态背景 */
        .dynamic-bg {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: -1;
            overflow: hidden;
        }

        .bg-element {
            position: absolute;
            border-radius: 50%;
            background: rgba(0, 102, 255, 0.05);
            animation: float 15s infinite linear;
        }

        .bg-element:nth-child(1) {
            width: 300px;
            height: 300px;
            top: -150px;
            right: -100px;
            animation-duration: 25s;
        }

        .bg-element:nth-child(2) {
            width: 200px;
            height: 200px;
            bottom: -50px;
            left: -50px;
            animation-duration: 20s;
            animation-direction: reverse;
        }

        .bg-element:nth-child(3) {
            width: 150px;
            height: 150px;
            top: 50%;
            right: 10%;
            animation-duration: 30s;
        }

        /* 404内容区域 */
        .error-section {
            padding: 150px 0;
            display: flex;
            align-items: center;
            justify-content: center;
            min-height: 80vh;
        }

        .error-container {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            text-align: center;
            max-width: 800px;
            margin: 0 auto;
            padding: 60px 40px;
            background: white;
            border-radius: 30px;
            box-shadow: var(--shadow);
            position: relative;
            transform: translateY(50px);
            opacity: 0;
            transition: transform 1s ease, opacity 1s ease;
        }

        .error-container.animated {
            transform: translateY(0);
            opacity: 1;
        }

        .error-container::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 5px;
            background: var(--gradient);
            border-radius: 30px 30px 0 0;
        }

        .error-number {
            font-size: 180px;
            font-weight: 800;
            background: var(--gradient);
            -webkit-background-clip: text;
            background-clip: text;
            color: transparent;
            line-height: 1;
            margin-bottom: 20px;
            text-shadow: 0 10px 30px rgba(0, 102, 255, 0.2);
            position: relative;
            animation: pulse 2s infinite;
        }

        @keyframes pulse {
            0% { transform: scale(1); }
            50% { transform: scale(1.05); }
            100% { transform: scale(1); }
        }

        .error-title {
            font-size: 36px;
            font-weight: 700;
            margin-bottom: 20px;
            color: var(--dark);
        }

        .error-description {
            font-size: 18px;
            color: var(--gray);
            margin-bottom: 40px;
            max-width: 600px;
            line-height: 1.6;
        }

        .error-actions {
            display: flex;
            gap: 20px;
            flex-wrap: wrap;
            justify-content: center;
            margin-bottom: 40px;
        }

        .error-search {
            position: relative;
            max-width: 400px;
            width: 100%;
            margin-bottom: 30px;
        }

        .error-search input {
            width: 100%;
            padding: 15px 20px;
            border: 2px solid #E0E6ED;
            border-radius: 50px;
            font-size: 16px;
            transition: var(--transition);
        }

        .error-search input:focus {
            border-color: var(--primary);
            outline: none;
            box-shadow: 0 0 0 3px rgba(0, 102, 255, 0.1);
        }

        .error-search button {
            position: absolute;
            right: 10px;
            top: 50%;
            transform: translateY(-50%);
            background: var(--gradient);
            color: white;
            border: none;
            border-radius: 50%;
            width: 40px;
            height: 40px;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            transition: var(--transition);
        }

        .error-search button:hover {
            transform: translateY(-50%) scale(1.1);
        }

        /* 推荐链接 */
        .suggested-links {
            margin-top: 40px;
            width: 100%;
        }

        .suggested-links h3 {
            font-size: 20px;
            margin-bottom: 20px;
            color: var(--dark);
        }

        .suggested-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 15px;
        }

        .suggested-link {
            display: block;
            padding: 15px;
            background: var(--light);
            border-radius: 10px;
            text-decoration: none;
            color: var(--dark);
            transition: var(--transition);
            text-align: center;
            font-weight: 500;
        }

        .suggested-link:hover {
            background: var(--primary);
            color: white;
            transform: translateY(-3px);
        }

        /* 错误图标动画 */
        .error-icon {
            font-size: 80px;
            color: var(--secondary);
            margin-bottom: 30px;
            animation: bounce 2s infinite;
        }

        @keyframes bounce {
            0%, 20%, 50%, 80%, 100% { transform: translateY(0); }
            40% { transform: translateY(-20px); }
            60% { transform: translateY(-10px); }
        }

        /* 移动端优化 */
        @media (max-width: 768px) {
            .error-number {
                font-size: 120px;
            }
            
            .error-title {
                font-size: 28px;
            }
            
            .error-description {
                font-size: 16px;
            }
            
            .error-actions {
                flex-direction: column;
                align-items: center;
            }
            
            .suggested-grid {
                grid-template-columns: 1fr;
            }
        }

        @media (max-width: 480px) {
            .error-number {
                font-size: 100px;
            }
            
            .error-title {
                font-size: 24px;
            }
            
            .error-container {
                padding: 40px 20px;
            }
        }
