.lock-screen {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: var(--bg-primary);
    z-index: 9999;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    user-select: none;
    -webkit-app-region: drag;
    transition: all 0.5s cubic-bezier(0.22, 1, 0.36, 1);
    backdrop-filter: blur(25px) saturate(180%);
    background-color: var(--bg-primary);
    // 让背景带一点透明度以增强毛玻璃效果
    opacity: 1;

    &.unlocked {
        opacity: 0;
        pointer-events: none;
        backdrop-filter: blur(0) saturate(100%);
        transform: scale(1.02);

        .lock-content {
            transform: translateY(-20px) scale(0.95);
            filter: blur(10px);
            opacity: 0;
        }
    }

    .lock-content {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 320px;
        -webkit-app-region: no-drag;
        animation: fadeIn 0.5s cubic-bezier(0.4, 0, 0.2, 1);
        transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);

        .lock-avatar {
            width: 100px;
            height: 100px;
            border-radius: 50%;
            margin-bottom: 24px;
            box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
            border: 4px solid var(--bg-total);
            background-color: var(--bg-secondary);
            display: flex;
            align-items: center;
            justify-content: center;
            color: var(--text-secondary);
        }

        .lock-title {
            font-size: 24px;
            font-weight: 600;
            color: var(--text-primary);
            margin-bottom: 32px;
        }

        .lock-form {
            width: 100%;
            display: flex;
            flex-direction: column;
            gap: 16px;

            .input-group {
                position: relative;
                width: 100%;

                input {
                    width: 100%;
                    height: 48px;
                    padding: 0 16px;
                    padding-right: 48px;
                    border-radius: 12px;
                    border: 1px solid var(--border-color);
                    background-color: var(--bg-input);
                    color: var(--text-primary);
                    font-size: 16px;
                    outline: none;
                    transition: all 0.2s;

                    &:focus {
                        border-color: var(--primary-color);
                        box-shadow: 0 0 0 2px var(--primary-color-alpha);
                    }
                }

                .submit-btn {
                    position: absolute;
                    right: 8px;
                    top: 8px;
                    width: 32px;
                    height: 32px;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    border-radius: 8px;
                    border: none;
                    background: var(--primary-color);
                    color: white;
                    cursor: pointer;
                    transition: opacity 0.2s;

                    &:hover {
                        opacity: 0.9;
                    }
                }
            }

            .hello-btn {
                width: 100%;
                height: 48px;
                display: flex;
                align-items: center;
                justify-content: center;
                gap: 8px;
                border-radius: 12px;
                border: 1px solid var(--border-color);
                background-color: var(--bg-secondary);
                color: var(--text-primary);
                font-size: 15px;
                font-weight: 500;
                cursor: pointer;
                transition: all 0.2s;

                &:hover {
                    background-color: var(--bg-hover);
                    transform: translateY(-1px);
                }

                &.loading {
                    opacity: 0.7;
                    pointer-events: none;
                }
            }
        }

        .lock-error {
            margin-top: 16px;
            color: #ff4d4f;
            font-size: 14px;
            animation: shake 0.5s ease-in-out;
        }
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes shake {

    0%,
    100% {
        transform: translateX(0);
    }

    10%,
    30%,
    50%,
    70%,
    90% {
        transform: translateX(-4px);
    }

    20%,
    40%,
    60%,
    80% {
        transform: translateX(4px);
    }
}