     /* 滚动淡入动画 */
        .fade-on-scroll {
            opacity: 0;
            transform: translateY(35px);
            transition: opacity 0.9s cubic-bezier(0.23, 1, 0.32, 1), transform 0.9s cubic-bezier(0.23, 1, 0.32, 1);
        }
        .fade-on-scroll.visible {
            opacity: 1;
            transform: translateY(0);
        }
        /* 404 主容器：水平垂直居中 */
        .error-wrapper {
            min-height: calc(100vh - 80px - 300px); /* 减去导航和页脚大概高度，确保居中 */
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 80px 0 40px;
        }
        .error-card {
            background: var(--warm-surface);
            border-radius: 80px;
            padding: 60px 50px;
            box-shadow: var(--shadow-intense);
            border: 1px solid rgba(179,139,74,0.2);
            text-align: center;
            max-width: 700px;
            width: 100%;
            margin: 0 20px;
        }
        .error-code {
            font-size: 8rem;
            font-weight: 800;
            line-height: 1;
            background: linear-gradient(145deg, var(--gold), #8b6f40);
            -webkit-background-clip: text;
            background-clip: text;
            color: transparent;
            margin-bottom: 20px;
            text-shadow: 0 10px 20px rgba(179,139,74,0.2);
        }
        .error-message {
            font-size: 2rem;
            font-weight: 600;
            color: #6b4f2e;
            margin-bottom: 20px;
        }
        .error-description {
            font-size: 1.2rem;
            color: var(--text-muted);
            max-width: 500px;
            margin: 0 auto 30px;
            line-height: 1.6;
        }
        .error-actions {
            display: flex;
            gap: 20px;
            justify-content: center;
            flex-wrap: wrap;
        }
        .error-btn {
            padding: 14px 36px;
            border-radius: 60px;
            font-weight: 600;
            font-size: 1.1rem;
            transition: var(--transition-smooth);
            display: inline-flex;
            align-items: center;
            gap: 10px;
            border: 2px solid transparent;
        }
        .error-btn-primary {
            background: var(--gold);
            color: white;
            box-shadow: 0 15px 25px -8px rgba(179,139,74,0.5);
        }
        .error-btn-primary:hover {
            background: #9f7a42;
            transform: translateY(-5px);
            box-shadow: 0 25px 35px -12px rgba(179,139,74,0.7);
        }
        .error-btn-secondary {
            background: transparent;
            color: var(--gold);
            border-color: var(--gold);
        }
        .error-btn-secondary:hover {
            background: var(--gold);
            color: white;
            transform: translateY(-5px);
        }
        .error-btn i {
            font-size: 1rem;
        }
        @media (max-width: 640px) {
            .error-card { padding: 40px 25px; }
            .error-code { font-size: 6rem; }
            .error-message { font-size: 1.6rem; }
        }